WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Electronic voice mail message handling system    
United States Patent6021181   
Link to this pagehttp://www.wikipatents.com/6021181.html
Inventor(s)Miner; Richard A. (Cambridge, MA), Pelland; David M. (Boston, MA), Warner; William J. (Cambridge, MA), Benovich Gilby; Nancy (Concord, MA)
AbstractA virtual intercom method implemented by a computer-based electronic assistant and including the steps of receiving a voice command from a first party, wherein the voice command identifies a user selectable one of a plurality of subscriber parties; responding to the voice command by generating a greeting to the first party, wherein the greeting is an audio recording in the voice of the identified subscriber; receiving a message generated by the first party for the identified subscriber; and storing the received message for later playback to the identified subscriber.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Inventor     Miner; Richard A. (Cambridge, MA) , Pelland; David M. (Boston, MA) , Warner; William J. (Cambridge, MA) , Benovich Gilby; Nancy (Concord, MA)
Owner/Assignee     Wildfire Communications, Inc. (Lexington, MA)
Patent assignment
All assignments
Publication Date     February 1, 2000
Application Number     08/804,548
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     February 24, 1997
US Classification     379/88.23 379/88.02 379/88.04
Int'l Classification    
Examiner     Hunter; Daniel S.
Assistant Examiner    
Attorney/Law Firm     Fish & Richardson P.C.
Address
Parent Case    
Priority Data    
USPTO Field of Search     704/275 379/67 379/88 379/89 379/210 379/211 379/212 379/201 379/88.23 379/67.1 379/88.02 379/88.01 379/88.04 379/88.24 379/88.22
Patent Tags     electronic voice mail message handling
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5761637
Chino
704/231
Jun,1998

[0 after 0 votes]
5655006
Cox, Jr.
379/67.1
Aug,1997

[0 after 0 votes]
5528670
Elliot
379/88.25
Jun,1996

[0 after 0 votes]
5506890
Gupta
379/88.25
Apr,1996

[0 after 0 votes]
5436963
Fitzpatrick
379/218.01
Jul,1995

[0 after 0 votes]
5408526
McFarland
379/202.01
Apr,1995

[0 after 0 votes]
5384771
Isidoro
370/254
Jan,1995

[0 after 0 votes]
5357596
Takebayashi
704/275
Oct,1994

[0 after 0 votes]
5355403
Richardson, Jr.
379/88.26
Oct,1994

[0 after 0 votes]
5333266
Boaz
709/206
Jul,1994

[0 after 0 votes]
5329578
Brennan

Jul,1994

[0 after 0 votes]
5263084
Chaput
379/215.01
Nov,1993

[0 after 0 votes]
5260986
Pershan
455/413
Nov,1993

[0 after 0 votes]
5243645
Bissell
379/211.02
Sep,1993

[0 after 0 votes]
5195086
Baumgartner
370/264
Mar,1993

[0 after 0 votes]
5131024
Pugh
379/88.24
Jul,1992

[0 after 0 votes]
4972462
Shibata
379/88.13
Nov,1990

[0 after 0 votes]
4953204
Cuschleg, Jr.
379/266.05
Aug,1990

[0 after 0 votes]
4933966
Hird
379/132
Jun,1990

[0 after 0 votes]
4873719
Reese
379/215.01
Oct,1989

[0 after 0 votes]
4827500
Binkerd
379/88.01
May,1989

[0 after 0 votes]
4761807
Matthews
379/88.26
Aug,1988

[0 after 0 votes]
4585906
Matthews
379/88.26
Apr,1986

[0 after 0 votes]
4313035
Jordan
379/211.02
Jan,1982

[0 after 0 votes]
5414754
Pugh
379/88.23
Dec,1969

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. A message handling method implemented by a computer-based electronic assistant, said method comprising:

storing a voice message that includes a recorded message and stored information describing said voice message, and wherein said voice message is a reply to a first message;

receiving a command of a first command type from a caller;

in response to receiving said command of said first command type, playing said recorded message to said caller;

after playing said recorded contents, receiving a command of a second command type from said caller;

in response to receiving the command of said second command type, reporting to said caller said stored information describing said voice message; and

after reporting said stored information, receiving a further command of said second type; and

in response to receiving the further command of said second command type, playing said first message to which the voice message was a reply.

2. A call handling method implemented by a computer-based electronic assistant, said method comprising:

using the computer-based electronic assistant to monitor a telephone call between a first person and a second person;

in response to a first command issued by either the first or second person, causing the electronic assistant to intervene and participate in the telephone call; and

in response to a further command issued by either the first or second person, causing the electronic assistant to provide voice mail services to the party issuing the further command, thereby permitting the other party to terminate its participation in the telephone call.
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

The invention relates generally to computer-implemented, voice messaging systems.

Today there are many different commercially available electronic devices which assist people in communicating which each other. In addition to the ubiquitous telephone that has been around for decades, there are also cordless phones for the home, mobile phones for the car, handheld wireless phones which fit into the user's pocket, pagers, local and wide area computer networks, and facsimile machines just to name a few. The number and variety of such devices continues to grow. Thus, there is also an growing need to find effective ways to coordinate and handle the electronic communications that such devices make possible.

One system which addresses this growing need is described in U.S. patent application Ser. No. 08/316,635, entitled, "A Network Based Knowledgeable Assistant", filed Sep. 30, 1994, now U.S. Pat. No. 5,652,789, and incorporated herein by reference. The system described therein is referred to as an electronic assistant. It is a computer-implemented entity that assists a user (referred to as a subscriber) with his or her communications by carrying out certain tasks that are delegated to it. This electronic assistant, modeled to have human-like qualities, recognizes speech and performs functions within the familiar model of an office.

Each subscriber who has an account is assigned at least one electronic assistant which may be dedicated or shared. The electronic assistant offers services to both the subscriber and to any contacts or other callers trying to reach the subscriber. A contact is a person, place, or group that the subscriber has described for the electronic assistant. A contact can be another subscriber or an outside caller. Electronic assistants treat both subscribers and contacts as users of the system.

The electronic assistant offers a wide range of services to its subscribers, among which are the following. The electronic assistant can handle incoming calls from several of the subscriber's personal contacts while at the same time it is doing any of its tasks, including reviewing messages with the subscriber, managing information, etc. It can make logical decisions about how to manage, whether to forward, and where to forward the incoming calls from the subscriber's contacts. The electronic assistant can also communicate with the subscriber and the subscriber's contacts using a wide variety of different communication devices, such as telephones, fax machines, pagers, computer terminals, and communications enabled handheld devices (e.g. Personal Digital Assistants otherwise referred to as PDA's). When the subscriber tries to reach a contact or a contact tries to reach the subscriber, the electronic assistant mediates the connection and then remains available to add value to the session. The electronic assistant can schedule and manage reminders for its subscriber. When reminders come due, the electronic assistant notifies the subscriber.

Though such systems represent a significant advance in the field and provide great convenience and benefit to the users, there is still substantial room for improvement. The invention described herein represents a further extension of the technology represented in part by the above-described electronic assistant.

SUMMARY OF THE INVENTION

The invention relates to a virtual intercom method implemented by a computer-based electronic system. The method features the steps of receiving a voice command from a first party, the voice command identifying a user selectable one of a plurality of subscriber parties, and responding to the voice command by generating a greeting to the first party wherein the greeting is an audio recording in the voice of the identified subscriber. The invention further features receiving a message generated by the first party for the identified subscriber and storing that received message for later playback to the identified subscriber.

In another aspect, the invention relates to a message handling method implemented by a computer-based electronic assistant. The method features the steps of receiving a voice command from a first party, the voice command identifying a group of recipients, and responding to the voice command by generating an audio greeting acknowledging the voice command. In this aspect, the method further features receiving a message generated by the first party for the identified group of recipients and storing the received message for later playback by each member of the group of recipients.

In yet another aspect, the message handling method features the steps of storing a general voice mail message intended for a plurality of recipients, receiving a call from a caller, the caller being one of the plurality of recipients, notifying the caller that the general voice mail message is available for the caller, and in response to receiving a first command from the caller playing the general voice mail message to the caller. The method further features steps of, in response to receiving a second command from the caller, recording a reply message from the caller, and appending the reply message to the general voice mail message to generate a modified message. The method then features the step of storing the modified message for later playback by any of the plurality of recipients.

In another aspect of the invention, the message handling method is implemented by a computer-based electronic assistant and features the steps of storing a voice message that includes a recorded message and stored information describing the voice message, and wherein the voice message is a reply to a first message; receiving a command of a first command type from a caller; in response to receiving the command of the first command type, playing the recorded message to the caller; and after playing the recorded contents, receiving a command of a second command type from the caller. The method further features the steps of reporting to the caller the stored information describing the voice message in response to receiving the command of the second command type; and after reporting the stored information, receiving a further command of the second type and then, in response thereto, playing the first message to which the voice message was a reply.

In yet another aspect, the invention relates to a call handling method implemented by a computer-based electronic assistant. The method features the steps of using the computer-based electronic assistant to monitor a telephone call between a first person and a second person; and in response to a first command issued by either the first or the second person, causing the electronic assistant to intervene and participate in the telephone call. In this aspect, the method further, in response to a further command issued by either person, features the step of causing electronic assistant to provide voice mail services to the party issuing the further command, thereby permitting the other party to terminate its participation in the telephone call.

Other advantages and features will become apparent from the following description of the preferred embodiment and from the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an overall block diagram of a system which embodies the invention;

FIG. 2 is a block diagram of the software architecture of the system which embodies the invention;

FIG. 3 is a block diagram showing the basic architecture of a system which embodies the invention;

FIGS. 4a-4c is a dialog which illustrates the relevant functionality that is supported and implemented by the system shown in FIG. 1;

FIG. 5 shows a data structure that is used to store the messages.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

As background we refer the reader to related technology described in U.S. patent application Ser. No. 08/316,635, filed Sep. 30, 1994, and incorporated herein by reference. The functionality described below can be implemented using the technology and systems described in the above-referenced patent application or in other ways that would be readily known to person of ordinary skill in the art.

Overall Hardware Configuration

FIG. 1 shows the block diagram of a system, including main system components and phone connections, which manages communications to and/or from a user over multiple media. The system consists of a personal computer CPU 100 (e.g. an Intel 486 or Intel Pentium.TM. processor) and associated therewith, either as a separate add-in board or as capabilities of the CPU board itself, phone line interfaces 102, which handle a number of phone lines 104 and provide for answering of incoming calls, placing of outgoing calls, signaling through touch tones, detection of voice or data signals on the lines, and transfer of these signals to CPU 100 for further processing by an application program 110 (i.e., a personal assistant), which is running on the computer and which includes a speech recognition capability. There are also station set interfaces 112 which contain one or more ports for station sets 114. A number of station sets 114 can be connected in parallel to any port. Station set interface 112 provides voice signals to station sets 114 and allows the application program 110 to determine when the phone is placed off or on hook.

There is commercially available hardware which can be used to implement the hardware components that are shown in FIG. 1. For example, one could use a simple cost-effective single-line system that is built around advanced voice, data, and fax modems (referred to in the industry as "AT+V Modems) provided by a range of vendors, such as for example a Rockwell xxx--xxx modem controller. These configurations provide for one incoming line, and provide the ability to drive one station set. However, a system that provides two incoming lines has significant advantages though it does add to the cost of the system. A two line system would be important for small businesses as well as for families with high phone traffic.

The described embodiment is a system with at least two independent phone line interfaces, as well as at least one, and preferably two, station set ports. If there are multiple ports, a switching capability will also be required that allows any station set port to be connected to any line, or just to the speech recognizer and application. Also, the described embodiment has the ability to generate a ring signal on any station set port, which will ring the phone.

Other configurations are envisioned where there are more incoming lines, and more station set ports. This, combined with the switching capability will allow the software application to create a small PBX for an office, thereby handling all phone tasks in a low cost computer.

Also envisioned are configurations where the hardware capability is external to the computer, and is connected to the computer via a high-speed data connection. This could be a parallel port, a serial port, or the recently announced Serial Bus architecture from Intel's Architecture labs as defined in Intel's document number xxx-xxxx. These external approaches let users add the hardware capabilities to their system without the need to open the box and install new hardware cards.

Further, we envision that the personal assistant could run from a telephony-enabled set-top box such as those being provided by the cable TV companies. In this case, speech recognition would be performed on the CPU in the set top box, and phone interfacing would be done through an interface in the box.

Software Configuration

Referring to FIG. 2, the software architecture lets users manage messages 142, lists 144, schedules 146, and contacts 148 through a variety of interfaces. Users can employ a screen interface 150 to access the computer's screen, or users can talk to the electronic assistant application through a voice interface 158 and a speech recognizer 156. Additionally, they can signal the assistant through a touch tone interface 158. Through voice/data modems (typically, but not limited to these modems) users can also cause data to be sent over a data interface 154.

Architecture

The basic architecture for the personal assistant is shown in FIG. 3. The architecture includes a data access layer 200 which communicates with data storage 204 and with an engine 206 and one or more assistants 202. The assistants 202 and the engine 206 communicate with each other through an assistant interface 208. The data access layer 200 and the assistants 202 are implemented as DLLs. The data storage 204 for personal assistant is a file system. The main event loops of the entire system reside in the engine 206. Through the assistant interface 208, which is simply a defined API for use by the assistant DLLs, the engine 206 coordinates incalls, assistants, and interassistant communications.

In addition to the system shown in FIG. 3, there are two other pieces which are not shown. The first is a recognizer which is implemented as a recognition DLL that is used by the assistants to perform their tasks. The other piece is a desktop. There are also several GUI tools which integrate into the system.

Data Storage

The fundamental class in the data storage system is the Store Class. Every object which can possibly be stored in the database is derived from the Store class. It is derived from the Object class of the Microsoft Foundation Classes (MFC), which allows the use of Serialize routines to read and write data to disk. In addition to the Serialize routines, objects derived from the Store class also contain a BrowseData method which allows for browsing of the data store. This routine returns lists of the data and pointers of the object, along with their values, in string form. The Store object is also where the object ID of every storable object resides. This is simply the pathname from the personal assistant root where the file that is used to store this object resides.

In order to store pointers to other objects, the store supports fat pointers. Each fat pointer, which itself is derived from the Store class, contains the object ID of the object it is "pointing" to. The Ptr class overloads the necessary operations to make programmers use of the store as invisible as possible.

In addition to providing storage functionality, this layer also provides a simple locking mechanism. This is a single lock, allowing one process access to the storage layer at a time.

The Engine

The Engine is where the main TAPI (TAPI is Microsoft's and Intel's Telephony API for Windows) and Windows event loops reside. As different assistants activate and deactivate, the engine sends those assistants the events necessary to do their work. Having the engine drive everything allows assistants to only write handlers for those events which are used by them. For example, if a game assistant is not programmed to handle an incall coming in on the phone line, the engine gets that message and passes it off to the main assistant which wakes up and handles the call appropriately.

The engine also has some functions which can be called by the assistants. These calls typically return status information (who's on, etc.), but also include calls to transfer control from one assistant to another. For example, if a user wants to play a game, the base assistant transfers control to the game (and gets it back later).

Assistants

The assistants are where the work really gets done. In this architecture, any "worker" is considered an assistant. The incaller interface, for example, is a separate DLL and therefore an assistan