Methods and apparatus for operating on non-text messages

Abstract
Methods and apparatus for operating on a non-text (voice or fax) message include for each of a number of voice messages, searching each voice message for signal samples having one of a plurality of sets of pre-defined characteristics (such as any seven or ten digit number which is then assumed to be a telephone number). For each signal sample found to have one of the sets of pre-defined characteristics, the found signal sample is associated with an equivalent text string and this text string is stored in an envelope for the message. Based on a user input, the messages may be searched for a given text string and on finding a message envelope containing the given text string, such message may be operated upon.
Description




BACKGROUND OF THE INVENTION




The present invention relates to methods and apparatus for operating on messages, and more particularly for operating on non-text messages, such as voice and facsimile messages, including, for example, searching such messages.




Modern communications technology has produced voice mail, faxes, e-mail, video conferencing and many other ways to send messages.




The growth in voice mail systems has been explosive. In 1996, telephone company revenues generated by providing Voice Mail service exceeded one billion dollars. While business users typically buy voice mail systems, residential customers buy this service from telephone companies. The residential market accounts for 82% of telephone company voice mail subscribers and 69% of revenues generated. Thus, voice mail and faxes are fully part of the daily communications fabric.




In the last twenty years the use of facsimile messaging (fax) has also exploded. The cost of fax machines has decreased steadily, and with the advent of computer telephony (CT), faxes can be received and sent via local area networks (LANs) directly to computers on the user's desktop, eliminating the need to even walk down the hall to the fax machine.




Known systems will collect all digital communications, display the time of receipt, the source of the message, and indicate whether it is voice mail, a fax, or e-mail.




With known systems, a user with a telephone system and a computer can quickly become inundated with information. As such, it is important to be able to separate important messages, or messages which contain key information, from routine messages or electronic junk mail. With known systems this is difficult. In addition, finding key elements of messages can be time consuming and difficult, if not impossible. Known systems provide functions for finding, filtering, filing and re-directing textual messages (e.g., e-mail) but do not do so for voice or facsimile messages.




SUMMARY OF THE INVENTION




The present invention solves these problems by providing a way for searching for, or through, non-text messages to find certain information, or to determine if certain information is included therein, and/or for performing other operations thereon. In conjunction with the present invention, a search is undertaken for one or more signal samples having pre-defined characteristics by comparing one or more signal samples of non-text messages with these pre-defined characteristics. For example, the predefined characteristics may comprise one or more templates for voice samples which make up a specific word (e.g., “urgent”). In that case, these voice templates may be compared with signal samples of a voice message in a search for signal samples which match these voice templates. In addition, and in accordance with the present invention, a non-text message having pre-defined characteristics may be operated upon to provide a desired result (e.g., forwarded).




Therefore, in accordance with the present invention, there is provided a method for operating on a non-text message including searching the message for one or more signal samples having pre-defined characteristics by comparing one or more signal samples with the pre-defined characteristics.




In accordance with a further aspect of the invention, there is provided a method for operating on a non-text message, including searching the message for one or more signal samples having pre-defined characteristics and upon finding one or more signal samples having the pre-defined characteristics, operating on the message.




In accordance with another aspect of the invention, there is provided an apparatus for operating on a non-text message, including a non-text search engine for searching the message for one or more signal samples having predefined characteristics by comparing one or more signal samples with the pre-defined characteristics.




In accordance with another aspect of the invention, there is provided apparatus for operating on a non-text message, including: a unit for searching the message for one or more signal samples having pre-defined characteristics; and a unit for, upon finding one or more signal samples having the pre-defined characteristics, operating on the message.











BRIEF DESCRIPTION OF THE DRAWINGS




In the figures, which illustrate example embodiments of the invention,





FIG. 1

is a block diagram of an apparatus in accordance with this invention connected to a network,





FIG. 2

is a block diagram of a processor which is part of the apparatus of

FIG. 1

,





FIG. 3

is a schematic diagram of a message structure created by the apparatus of

FIG. 1

, and





FIGS. 4



a,




4




b,


and


4




c


are flow diagrams of methods in accordance with the invention.











DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS





FIG. 1

shows an apparatus


10


in accordance with the invention which can search for information in one or more non-text messages and perform other operations thereon. Apparatus


10


is connected via its processor


12


for two-way communication with a digital network


14


. Network


14


has non-text based message traffic and may also have text-based message traffic. The network


14


may comprise any communications network, including, for example, an internet, intranet, or telephone network.




The non-text messages may be voice messages, video messages with a voice component, or facsimile messages (which, as will be understood by those skilled in the art, are graphics messages which typically include text in graphical form). As will be appreciated by those skilled in the art, the messages with a voice component comprise quantised analog voice signals. The text-based messages are digital messages according to the text standard of the network, which is typically the ASCII standard such that the text-based messages comprise ASCII characters.




The processor


12


is also connected for two-way communication with a user interface


20


and with a memory


26


. Memory


26


may comprise any appropriate kind of volatile and/or non-volatile memory.




As seen in

FIG. 2

, the processor


12


includes an enveloped message creator


28


which receives inputs from the network and outputs to a non-text search engine


30


and a memory interface


36


. The non-text search engine


30


is connected for two-way communication with the memory interface


36


. The memory interface interfaces with the memory


26


(

FIG. 1

) and is also connected for two-way communication with an interpreter


37


and a text-based message operations engine


38


. The interpreter


37


interfaces with the user interface. The text-based message operations engine


38


also interfaces with the user interface and is connected for two-way communication with a text-based envelope search engine


40


.




The memory


26


(

FIG. 1

) stores an envelope shell. Briefly referencing

FIG. 3

, the format of this shell (which will be detailed hereinafter) is illustrated at


52


. Memory


26


also stores sets of predefined characteristics. Each set of pre-defined characteristics comprises voice templates or facsimile graphics templates along with an arrangement for the templates. Text-based equivalents are associated with each template (for example, the text-based equivalent associated with a template may be a letter, a collection of letters, a number, or a collection of numbers). Thus, where a set of pre-defined characteristics comprises voice templates, an equivalent text-based letter, collection of letters, words, number, or numbers to which such voice templates map is stored in association therewith. Alternatively, where the set of pre-defined characteristics comprises facsimile graphics templates, equivalent text-based words, numbers, etc. to which the graphics templates map are stored therewith.





FIG. 4



a


provides a flow chart of a method in accordance with this invention for handling new messages; the operation of this method may be carried out by processor


12


in the system of

FIGS. 1 and 2

. In conjunction with the invention, multi-media messages may be received by the enveloped message creator


28


of processor


12


(S


110


) from network


14


. Typically, a header for these messages indicates their type—i.e., voice, fax, e-mail. (In this regard, it will be appreciated that a message may be of multiple types with a multipart header to indicate each type.) In other instances, the type may be implicit based on the source (e.g., messages arriving from a fax application will be fax messages). In this regard, a simple look-up table may be employed to associate message sources with default types. The message type determines whether the message is natively text-based or natively non-text based (or partly natively text and partly natively non-text).




If a new message is natively text-based (S ill), the enveloped message creator


28


associates an envelope shell with the message which merely indicates in message type area


60


(

FIG. 3

) of the shell


52


(

FIG. 3

) it has a text-based native form (S


112


). Then, the processor passes the message directly to memory


26


for storage (S


114


) as well as updating a message log and prompting the user that a new message has arrived (S


116


) in accordance with a manner known to persons skilled in the art.




If the message is a natively non-text message (or has a non-text component) (S


111


), the enveloped message creator associates an envelope shell with the message, and indicates in area


60


(

FIG. 3

) the message contains voice or facsimile graphics. The message creator then passes the enveloped message to non-text search engine


30


(S


118


). The non-text search engine


30


accesses a set of pre-defined characteristics found in memory


26


. If the incoming message is a voice message, the accessed set of pre-defined characteristics comprises voice templates; if the incoming message is a facsimile message, the accessed set of pre-defined characteristics comprises facsimile templates (S


120


). For example, if the incoming message is a voice message, the set of pre-defined characteristics may comprise voice templates for the digits 0 to 9, arranged so that all digit strings of seven and ten digits in length (i.e., a phone number) match the set. The search engine then searches through the message for one or more (sequential) voice samples matching one of the digit templates. If a match is found, the engine looks to the next sample(s). If the next sample(s) also match a digit template, the search looks to the following samples and so on until either sequential voice samples are found to match seven or ten digit templates or this number of matches is not found, in which case searching continues for the next place in the message to have one or more voice samples matching one of the digit templates. By way of a further example, the incoming message may be a fax message, the set of pre-defined characteristics may comprise facsimile templates aranged to make up the word “urgent” and each facsimile template may comprise one letter. The search engine then searches through the fax message for one or more (sequential) fax samples matching the facsimile template for the letter “u”. If this is found, the engine looks to the next one or more samples for a facsimile sample matching the letter “r”, and so on. Techniques for speech and facsimile graphics recognition are well known in the art.




If the new message is found to contain one or more signal samples falling within a set of pre-defined characteristics (S


122


), then the text-based equivalent of the corresponding template(s) is added to slot


62


(

FIG. 3

) of a field


56


(

FIG. 3

) in the envelope of the message (S


123


). In addition, for found signal sample(s), one or more signal sample pointers are stored in a slot


64


(

FIG. 3

) in the field which points to the location in the non-text message of the found signal samples (S


124


).




If the new message does not contain one or more signal samples falling within a given set of pre-defined characteristics, then the slots for the text based equivalent


62


and signal sample pointer


64


of the field


56


for the relevant search are set to null. This process is repeated for each of the sets of pre-defined characteristics in memory (S


125


). Thereafter, the non-text search engine


30


passes the enveloped message to the memory interface


36


for storage in memory


26


(S


126


) and the message log is updated and the user is prompted (S


116


).




Sets of pre-determined characteristics may be accessed sequentially from the memory


26


. The results of sequential searches following from sequentially accessed sets of pre-defined characteristics may be stored in sequential fields of the envelope so that each field ID


58


is an ordinal representing a search number. Alternatively, each field ID may be populated by the non-text search engine with a description of the search and a pointer to the memory area in which the set of pre-defined characteristics is found.




The sets of pre -defined characteristics are handled as standing search requests which are applied to each new message which is received. When a new set of pre-defined characteristics is added, optionally, a search of all existing messages may be undertaken based on the new set.




A new set of pre-defined characteristics may be specified by a user as follows. Referencing

FIG. 4



b


along with

FIGS. 1 and 2

, a user may enter information in order to specify a set of characteristics through user interface


20


—which may comprise a keyboard, mouse, microphone, or other input device along with a display and a speaker (S


100


). Interpreter


37


interprets the information input by the user to facilitate the creation of a set of pre-defined characteristics (S


102


). For example, the interpreter


37


may present a graphical user interface (GUI) to the user. The user could then use the GUI to indicate, for example, that a specific word (e.g., “urgent”) is to form the basis of a set of pre-defined characterics whereupon the GUI would allow entry of the word. The user could also specify whether the set is to apply to voice messages, facsimile message, or both voice and facsimile messages. The interpreter then obtains the necessary templates and arranges these appropriately to create the new set of pre-defined characteristics (S


104


). In the case of an entered word to be applied to both voice and facsimile messages, the resulting set of characteristics constitutes voice templates and facsimile templates arranged to make the specific word. Preferably, the search interpreter


37


obtains the necessary templates from memory


26


which may store templates for voice and facsimile graphics. The search interpreter also associates each template with a text-based equivalent (S


105


). Memory


26


also preferably stores the text-based equivalent to which each template maps to facilitate an association of any given set of templates with text-based equivalents. The new set of characteristics is then stored in memory


26


along with an association to the text-based equivalents (S


106


), and a field is added to the envelope shell for this set which has a field ID pointing to the set in memory (S


108


).





FIG. 4



c


provides a flow chart of a method in accordance with this invention for the handling of user message operations requests. Referencing

FIG. 4



c,


along with

FIGS. 1 and 2

, through user interface


20


, a user may input a message operation request to processor


12


(S


130


). For example, the user may ask that any telephone number which might be part of a specified message be dialled or placed in a directory (i.e., stored separately from the message), that any URL found in a message from a certain sender be added to a bookmark file or sent to a browser program to allow access to an internet resource (e.g., web page), or that all messages containing certain keywords (e.g., messages containing the words “low priority”) be deleted or played back. The message operation request is input to the text-based message operations engine


38


. If the request involves a search for a text-based string (e.g., the word “urgent”) (S


132


), the search parameters (e.g., message number of a specified message or an indication all messages are to be searched, along with an indication of the text-based string or strings which will satisfy the search) are passed to the text-based envelope search engine


40


. The search engine searches the envelopes of all or specified messages for any text-based strings falling within the search parameters (S


133


). On finding such a string (or strings) (S


134


), the engine identifies the message number and string(s) to the text-based operations engine


38


. The operations engine then operates on the message in accordance with the user's request (S


136


). This could involve, for example, automatically dialling a telephone number found in the envelope for a specified message or deleting, filing, or playing specified messages or messages from a specified sender. Also, the message, or a copy thereof, could be forwarded. In addition, where the message has a voice component, the system may be configured so that the operations engine


38


utilises the signal sample pointers


64


(

FIG. 3

) in the envelope field for a found string to call up the voice signal sample(s) represented by the string and play this on a speaker which is part of the user interface (S


138


, S


140


). Similarly, a fax message may have a sample called up and displayed. This would be useful where, for example, the search was for digit strings representing telephone numbers.




Optionally, the signal sample pointers


64


may be omitted and, where a message comprises a voice component, the message operations engine may pass the text-based equivalent to a voice synthesizer (which may be part of the user interface) to play a voice equivalent.




As will be appreciated by those skilled in the art, the automatic dialling may be effected by sending a message on network


14


(or other communication path) to an automatic dialler or computer telephony interface.




If no matches are found, the processor simply reports this to the user (S


135


). If the message operations request does not have search parameters, but instead identifies a specific message or messages, program control passes from S


132


to S


136


.




As should be apparent from

FIG. 3

, the envelope


52


may be added as a header to the non-text message


54


. Thus, the enveloped message


50


comprises a text-based envelope


52


and a non-text (or text-based) message


54


. Many existing messaging systems, such as MICROSOFT EXCHANGE™, include an expandable envelope structure for messages. In such a case, the existing envelope structure may be used and the enveloped message creator


28


may be unnecessary. Additional fields may then be associated with the existing envelope structure.




In an alternate and simplified embodiment, only the signal sample pointers


64


may be stored in a message envelope field on finding one or more signal samples falling with a set of pre-defined characteristics (and not the text-based equivalent). In this case, a user could request the system to play/display the signal samples pointed to by the sample pointers. For example, a set of pre-defined characteristics may identify messages from one of several specified company departments. The user could then, on request, hear/see these departments and then decide upon further action based on this information.




In another embodiment, messages may be enveloped and searches for sets of pre-defined characteristics conducted and ensuing operations undertaken as aforedescribed in conjunction with

FIGS. 1

to


4


. However, additionally, a user may define a set of pre-defined characteristics which, instead of being stored in memory for use in conjunction with new messages, is searched for immediately in an existing message or group of messages specified by the user. Any message containing this set of pre-defined characteristics may then be further operated upon based on an operation entered by the user or recalled from memory.




In a further embodiment, it is not necessary to envelope new messages. In this embodiment, non-text messages are searched for sets of pre-defined characteristics, and after finding one or more signal samples falling within a set of pre-defined characteristics, the apparatus immediately performs an operation on the message (e.g., the message is deleted). This operation could be one entered by the user or recalled from memory. In another aspect of this embodiment, after finding one or more signal samples falling within a set of pre-defined characteristics, the one or more signal samples are mapped to a text-based equivalent and the apparatus then takes action based on the text-based equivalent (e.g., dial a telephone number) rather than storing the text-based equivalent and/or pointer thereto in an envelope for the message.




Other modifications in accordance with the spirit of the invention will be apparent to those skilled in the art.



Claims
  • 1. A method for operating on a non-text message, comprising:receiving said non-text message from a network; determining a message type for said received message; searching said received message for one or more signal samples having pre-defined characteristics by comparing one or more signal samples with said pre-defined characteristics, wherein said pre-defined characteristics correspond to said message type, and wherein said predetermined characteristics comprise a computer network address; and storing said address in a bookmark file.
  • 2. A method for operating on a non-text message, comprising:receiving said non-text message from a network; determining a message type for said received message; searching said received message for one or more signal samples having pre-defined characteristics by comparing one or more signal samples with said pre-defined characteristics, wherein said pre-defined characteristics correspond to said message type, and wherein said predetermined characteristics comprise a computer network address; and sending said address to a browser for accessing a network resource at said address.
CROSS-REFERENCE TO RELATED APPLICATION

This application claims benefit of U.S. provisional application No. 60/108,448, filed Nov. 13, 1998. This application is related to application Ser. No. 09/220,865 filed Dec. 28, 1998, the contents of which are incorporated herein by reference.

US Referenced Citations (51)
Number Name Date Kind
4931950 Isle et al. Jun 1990 A
5051924 Bergeron et al. Sep 1991 A
5125022 Hunt et al. Jun 1992 A
5173853 Kelly et al. Dec 1992 A
5187735 Garcia et al. Feb 1993 A
5228110 Steinbiss Jul 1993 A
5333266 Boaz et al. Jul 1994 A
5384892 Strong Jan 1995 A
5390279 Strong Feb 1995 A
5425128 Morrison Jun 1995 A
5434907 Hurst et al. Jul 1995 A
5459482 Orlen Oct 1995 A
5479411 Klein Dec 1995 A
5528739 Lucas et al. Jun 1996 A
5530740 Irribarren et al. Jun 1996 A
5566229 Hou et al. Oct 1996 A
5588009 Will Dec 1996 A
5640590 Luther Jun 1997 A
5647002 Brunson Jul 1997 A
5649060 Ellozy et al. Jul 1997 A
5668928 Groner Sep 1997 A
5717743 McMahan et al. Feb 1998 A
5719921 Vysotsky et al. Feb 1998 A
5796394 Wicks et al. Aug 1998 A
5796806 Birckbichler Aug 1998 A
5813009 Johnson et al. Sep 1998 A
5870549 Bobo, II Feb 1999 A
5881233 Toyoda et al. Mar 1999 A
5991365 Pizano et al. Nov 1999 A
6014427 Hanson et al. Jan 2000 A
6014436 Florence et al. Jan 2000 A
6018710 Wynblatt et al. Jan 2000 A
6020980 Freeman Feb 2000 A
6023675 Bennett et al. Feb 2000 A
6023700 Owens et al. Feb 2000 A
6025931 Bloomfield Feb 2000 A
6034970 Levac et al. Mar 2000 A
6058435 Sassin et al. May 2000 A
6061506 Wollaston et al. May 2000 A
6069940 Carleton et al. May 2000 A
6073165 Narasimhan et al. Jun 2000 A
6104500 Alam et al. Aug 2000 A
6125341 Raud et al. Sep 2000 A
6134313 Dorfman et al. Oct 2000 A
6148063 Brennan et al. Nov 2000 A
6148329 Meyer Nov 2000 A
6157706 Rachelson Dec 2000 A
6278772 Bowater et al. Aug 2001 B1
6298372 Yoshikawa Oct 2001 B1
6301619 Segman Oct 2001 B1
20020116377 Adelman et al. Aug 2002 A1
Foreign Referenced Citations (2)
Number Date Country
0 780 777 Jun 1997 EP
0 856 979 Aug 1998 EP
Non-Patent Literature Citations (5)
Entry
11 information sheets on the Octel Unified Messenger™ with a 1996-1997 copyright notice.
Brennan et al., “Should We or Shouldn't We Use Spoken Commands in Voice Interfaces,” Human Factors in Computing Systems Conf. on Reaching Through Techology, p. 369-372, Apr. 27, 1991.*
Alwang, Greg, “Webley,” PC Magazine, Jul. 20, 1999.*
M.G. Brown, et al: “Open-Vocabulary Speech Indexing for Voice and Video Mail Retrieval,” Proc of ACM Multimedia 96. Boston, Nov. 18-22, 1996, New York, ACM, U.S., pp. 307-316, No. XP000.
“Method for Enhances Messaging Service,” IBM Technical Disclosure Bulletin, IBM Corp., New York vol. 36, No. 8, Aug. 1, 1993, pp. 405-407, No. XP000390273.
Provisional Applications (1)
Number Date Country
60/108448 Nov 1998 US