HK1069236A - Method and apparatus for message escalation by digital assistants - Google Patents

Method and apparatus for message escalation by digital assistants Download PDF

Info

Publication number
HK1069236A
HK1069236A HK05102463.9A HK05102463A HK1069236A HK 1069236 A HK1069236 A HK 1069236A HK 05102463 A HK05102463 A HK 05102463A HK 1069236 A HK1069236 A HK 1069236A
Authority
HK
Hong Kong
Prior art keywords
person
event
user
contact
information
Prior art date
Application number
HK05102463.9A
Other languages
Chinese (zh)
Inventor
保罗.皮尔斯
施里肯特.萨克尔
安德鲁.安德森
乌塔姆.森古普塔
基特.坦
史蒂文.贝内特
特雷沃尔.佩林
斯科特.罗宾逊
尼古拉斯.韦德
Original Assignee
英特尔公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 英特尔公司 filed Critical 英特尔公司
Publication of HK1069236A publication Critical patent/HK1069236A/en

Links

Description

Method and apparatus for message upgrade via digital assistant
Technical Field
The present invention relates to an apparatus and method for upgrading messages sent to individuals by digital assistants such as pagers, telephones and electronic organizers (organizers).
Background
Electronic devices and services for retrieving information and providing appointment reminders are well known.
PDAs ("personal digital assistants") and other devices in common use, which allow users to store and organize information about people, places, and events, are now in widespread use. Many such devices maintain a user's schedule and provide automatic reminder functionality to remind the user of upcoming events, such as meetings. However, these devices require that all such information be provided directly by their users. Essentially, these devices do nothing beyond what the user instructs them to do.
There are also commercial services that provide meeting reminders and event notifications that are tailored to the individual interests of the subscribers. Many such services provide various ways by which subscribers can provide a list of categories of information that the subscriber wants to know. However, these services require the subscriber to specify categories or other criteria regarding the information that the subscriber is interested in. In essence, these services do nothing more than the user indicates that they are doing.
There are commercial paging services by which subscribers can arrange to send a pager a notification of the result of a sporting event, a weather report or the favorable conditions of surfing. In addition, there are commercial services where subscribers may arrange to receive a "wake up" call through their home phone (or through some other phone number) at some specified time in a given morning. However, these services are limited to contacting subscribers through a single method specified by the user and for a single purpose.
Furthermore, there is a feature in various software by which a user can be notified of a change to something in a database or program code for which the user is responsible under the control of the user through an electronic mail. However, this results in the user being contacted with only a very limited number of options for a number of very limited reasons.
Drawings
The objects, features and advantages of the present invention will become apparent to those skilled in the art from the following detailed description, in which:
FIG. 1 is a block diagram of one embodiment of the present invention.
Fig. 2 is a flow chart followed by one embodiment of the present invention.
Fig. 3 is a flow chart followed by another embodiment of the present invention.
Fig. 4 is a flow chart followed by another embodiment of the present invention.
Detailed Description
In the following description, for purposes of explanation, numerous details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced without these specific details.
The invention relates to upgrading of selected information sent to a user of an automated assistant. Upgrades to the information sent to the user's selection may be accomplished through a portable or handheld device such as a pager, PDA, mobile phone, or laptop computer to allow the user to have up-to-date information about their personal schedule. However, as will be appreciated by those skilled in the art, the invention is also applicable to use with non-portable devices such as fixed computer systems or wired telephones, and the invention may be used to provide information about something other than a personal schedule, such as current news or a transaction involving others of some importance to or relationship with the user.
FIG. 1 is a block diagram of one embodiment of the present invention. The automated assistant 100 includes a context interpreter 110, an event detector 112, an agent selector 114, and an upgrade controller 116. The automated assistant 100 relies on various information about the user including, but not limited to, PIM information (personal information management information) 130, personal profile information 132, contact information 134, and rules 136. The user interface 140 allows the user to customize the automated assistant 100. The automated assistant 100 receives information that may be important to the user from at least one information provider 160, and the automated assistant 100 may interact with at least one e-commerce provider 170 to execute instructions from the user. The automated assistant 100 uses at least one communication provider 190 to provide remote communication with the user. In one embodiment, such communication may include accessing the user interface 140.
In one embodiment, the user interface 140 is an application program run by a user on a computer system, cellular telephone, portable PDA, or other device for accessing the automated assistant 100 and/or modifying information used by the automated assistant 100. In another embodiment, the user interface 140 may represent a manner of a web page that allows a user to modify information used by the automated assistant 100, and the web page may be viewed using conventional web browser hardware and/or software. In another embodiment, the user interface 140 is only accessible by a service provider that provides some or all of the services of the automated assistant 100 to the user. In various embodiments, the interaction of the user with the automated assistant 100 may be conducted through the communication provider 190.
The PIM information 130 is maintained by the automated assistant 100 and contains daily information about the user. In one embodiment, this information includes, but is not limited to, various types of information that are often maintained in currently available PDA devices, such as calendars of scheduled events and appointments, address lists, phone books, and user notes such as "to-do" lists. In one embodiment, this information is repeatedly updated from a PDA device carried by the user. In another embodiment, this information is provided by the user through the use of the user interface 140. In another embodiment, the user provides this information to the automated assistant 100 directly through a device such as a pager or mobile phone. In another embodiment, PIM information 130 also includes information about another person who the user may have authorized to respond to one or more types of events. In another embodiment, the PIM information 130 may be compiled from personal information maintained by other external sources, such as a personal, work and/or home calendar maintained outside of the automated assistant 100, but which the automated assistant 100 may access in any of a variety of ways. For example, the PIM information 130 may contain some information about the other person's schedule to determine whether the other person is available to replace the user at a given time.
Personal profile information 132 is maintained by automated assistant 100 and contains information about the user's preferences. Such information may include, but is not limited to, e-commerce providers preferred for use by users for particular products and services, whether users prefer window or aisle seating in airplanes, tastes by users on food, membership by users in frequent flyer mileage plans or business rental plans, whether users prefer to make all itineraries or be willing to be allowed to be performed by others, preferred communication means by users, preferred routes to and from work by users, and which stocks and travel locations are of most interest to users. Such information may also include preferred conditions or event types, and when such preferred conditions and events occur, the user prefers to contact another person, such as a secretary, friend, or family member of the user, in place of the user.
In one embodiment, the personal profile information 132 may be provided by the user directly to the automated assistant 100 through the user interface 140. In another embodiment, the automated assistant 100 may obtain this information by observing user behavior over a period of time. In another embodiment, the user may provide this information directly, but over time the automated assistant 100 will record the degree to which the user is or is not in compliance with the provided information. In another embodiment, at least a portion of such information is provided by an organization or institution, such as an employer, hospital, bank or financial institution, or school, having a relationship with the user.
The contact information 134 is maintained by the automated assistant 100 and contains information about the manner in which the user can be contacted. In one embodiment, this information may include the telephone number of the user's pager, mobile telephone, home telephone, and/or work telephone, as well as data regarding whether a text message may be received on the pager or mobile telephone. In another embodiment, this information may include an email address where the user may be contacted. In another embodiment, this information may include a telephone number where the user's place of work or location outside of the home may be found. In another embodiment, the contact information 134 may also include contact information of other people, such as a secretary, friend, or family member of the user, who the user has authorized to handle one or more events in lieu of the user.
The rules 136 are maintained by the automated assistant 100 and comprise a set of rules that must be followed in accomplishing various functions. In various embodiments, this information may be provided by the user and/or others who the user has authorized to add or edit rules, including but not limited to the person assembling and maintaining the automated assistant 100, the user's employer, the user's family members, and the like. Further, in various embodiments, rules may include, but are not limited to: a limit on how much money can be spent implementing certain functions without first being approved by the user; the steps that must be followed in a travel or accommodation reservation; limitations on the manner in which certain devices may be used to contact a user; a limit on the period of time during the day that the user does not want to be disturbed; conditions under which one or more determined events are handled not by the user but by another person who has been authorized by the user; and exceptions to one or more of this rule. There may also be rules regarding what events or topics to which events belong are too sensitive to allow contact with certain people and/or to allow attempts to contact in some way considered somewhat insecure. If the user does not specify other persons who have been authorized to handle one or more events, there may be rules and/or heuristics that are limited to viewing "buddy" lists, contact information, calendar information, and/or other information in order to determine possible persons to whom such rights may be granted. The rules 136 may be provided by various persons and/or entities such as the user, a designer or maintainer of the automated assistant 100, an entity associated with the user (e.g., the user's employer), or others who have been authorized by the user to formulate or modify the rules 136.
The context interpreter 110 tracks information and makes predictions about the user's current situation, i.e., the user's context. The context interpreter 110 utilizes calendar, preferences, personal profiles, location, and historical information from various sources including, but not limited to, PIM information 130, personal profile information 132, and/or rules 136 to determine where a user may be, what a user may be doing, whether a user may receive a call for various different people, and/or what approaches may be used to communicate with a user. Predictions may be made when there is insufficient information available to determine exactly several aspects of the user's context, and such predictions may be accompanied by a confidence value to indicate the exact degree. In one embodiment, context interpreter 110 is an expert system that applies rules (which may or may not be part of rules 136) to make predictions about the user's context. In such embodiments, the calculations required by the context interpreter 110 may be limited by limiting the domain of information used in this calculation to only those information required by the other components of the automated assistant 100.
In particular, part of the information tracked by the context interpreter is the user's activities and/or the user's current whereabouts. In one embodiment, the context interpreter utilizes a calendar that is maintained as part of the PIM information 130 to track users, assuming that the users will typically follow a schedule in the calendar. In another embodiment, the context interpreter 110 utilizes information received through the communications provider 190 (discussed in more detail below) to track the actual actions of the user and/or the whereabouts of the user. This information may be provided by one or more devices carried by the user, such as GPS data from a GPS receiver integrated in the user's cell phone or PDA. This information may also be derived from a wireless or wired voice or data network, such as the transmitting or receiving network of a cellular communication system, or a network address where the user is currently connecting a device, such as a portable computer. Further, if information associating a network address with a particular physical location has been entered or is known, such information may also be derived from the network address of a device or computer system connected to the wired network that the user is accessing at a given time.
When information about the actual whereabouts of a user or other person can be provided, it is desirable for that person to be able to limit the location and/or time at which such information is provided, as such information may be considered sensitive or private for various reasons. In one embodiment, the person may instruct the provider of the cellular telephone, pager or other communication service to refuse to communicate his/her actual whereabouts. In another embodiment, one or more computer systems maintaining a wired network to which the person has connected a portable or desktop computer may be set to not pass information required to associate a network address with a physical location, or may be set to hide or restrict access to the actual network address. In these embodiments, the automated assistant 100 will be denied access to the person's whereabouts, and thus no such information will be available in determining the best way to contact the person, or in determining whether to attempt to contact the person or not attempt to contact the person at all. In another embodiment, the user may set or command the automated assistant 100 not to communicate the user's present whereabouts even though the automated assistant 100 may have access to or be provided with this information.
It may be the case that in various embodiments where information is somehow provided that the whereabouts of a person will not be conveyed, the choice of whether to convey the information is determined based on the identity of the potential recipient. In particular, by way of a list or degree of association, a person may indicate one or more individuals who will be permitted to receive information about the person's whereabouts, while others will not. In another embodiment, a person may indicate various degrees of dissemination of this information, such that, for example, family members or spouses of the person will have unlimited access to information about the person's whereabouts, while close friends or important colleagues may have access to less detailed versions of this information (e.g., just whether the person is currently absent), while this information is not provided to others at all. Individuals selected to receive more of this information than others may be designated as being selected by the person as part of individuals who have been authorized by the person to handle certain types of events. In another embodiment, a person may specify particular situations or events in which more information about his/her whereabouts will be available to others.
The event detector 112 receives information about events from the information provider 160 and input from the context interpreter 110 about the user's current location or what the user is doing now and will do later, and uses this information, along with the profile information 132 and/or rules 136, to determine what corresponding actions, if any, should be taken. In other words, the event detector 112 determines the importance of the event to determine whether any corresponding things should be done. In determining the importance of an event to a user, the event finder 112 examines the information received from the information provider 160 for any indications of things that may affect the activity in which the user is or will be attending, such as attending a meeting or making an investment. The event detector 112 also examines the received information to determine whether an event has occurred or is about to occur that may cause the user to want an increased activity, such as attending a meeting involving a topic of interest to the user. In addition, the event detector 112 also determines the urgency of the action to be taken when determining the importance of the event to the user, possibly to avoid losing action and/or to allow an action with a greater chance of beneficial effect.
The information provider 160 collects and orchestrates information for use by the automated assistant 100. In various embodiments, the information received from the information provider 160 may include the latest knowledge of weather, traffic reports, and news of events such as sales or particular local events that may be of interest to users participating in local events. In another embodiment, the received information may include flight to and from schedules, flight conditions, weather conditions outside and along the trip, and major events occurring outside that are of interest to or have a significant impact on the user's travel schedule while traveling. In another embodiment, the received information may include stock quotes, income reports for the company, and announcements from government agencies or other institutions interested in the user engaged in the investment. The information provider 160 may be the original source of information about the event and/or the collector and scheduler of information about the event received from other entities, such as government agencies (e.g., NOAA) or commercial entities (e.g., CNN or MapQuest), from which the information provider 160 extracts, summarizes, or encodes information as needed.
In one embodiment, the event detector 112 may utilize information about the user's context from the context interpreter 110 to classify an event as a scheduled event or an unscheduled event. Part of this classification will depend on a determination of whether the event exhibits a deviation from specification, which may be represented by a threshold beyond which the event is considered out of specification. Alternatively, information regarding whether an event is out of specification (that is, whether an event is "exceptional" in some respect) may be provided as part of other information regarding the event from an external source, such as information provider 160. An example of a scheduled event may be to view periodically supplied weather information. This periodic review of information may be an example of a time-triggered event, that is, triggering the event detector 112 to respond is not based on information received about an external event, but merely the passage of time causes the event detector 112 to actively look for events that may be of interest to the user. Another example may be the passage of time triggering a reminder for an event scheduled earlier in the calendar. Examples of events that are not scheduled may be the receipt of a new email or a warning from the airline regarding the cancellation of a flight.
If the event detector 112 determines that an event has occurred that requires action to be taken, the agent selector 114 receives an indication from the event detector 112 that an event of interest to the user has occurred and an indication from the event detector 112 that indicates the degree of importance of the event to the user. Considering the nature of the event and the degree of interest to the user, the agent selector 114 determines whether the user should be contacted, whether another person who has been authorized by the user to handle certain events on behalf of the user should be contacted, whether multiple persons should be contacted simultaneously, or whether the automated assistant 100 can take sufficient action independently without disturbing the user. In determining which to contact, agent selector 114 can reference profile information 132 and/or rules 136 for restrictions provided by the user and/or others as to who should be contacted for particular events and under what circumstances, and any applicable exceptions.
If it is determined that the user and/or other persons must be contacted, the agent selector 114 utilizes the contact information 134 and the degree of user interest indicated by the event detector 112 to select the manner in which the user and/or other persons must be notified. If the event is important enough that immediate action is required, but the user has indicated that someone other than the automated assistant 100 must take this action, the agent selector 114 can determine that the user or the person specified by the user should be contacted in multiple ways simultaneously. For such important events, agent selector 114 may determine that multiple people should be contacted simultaneously, and that these people may or may not include users.
In selecting the manner in which the user must be notified, agent selector 114 may take into account different restrictions imposed by the different manners in which the user may be contacted. For example, a user may have a pager that may or may not display text information to the user, and if the pager has text capabilities, there may be a limit on the number of characters that may be sent. If the message that must be communicated is long and the text-enabled cell phone is able to receive and/or display a larger message, such a limitation on pagers may make it more desirable to contact the user through the available text-enabled cell phone. The nature of the message and the expected response from the user may also be taken into account. For example, if the message is a list of alternative flights to the cancelled flight, any device capable of displaying the alternative flight and facilitating easy selection may be used. However, if the event will require a freeform response (e.g., continuous email communication with an important contact object), a device with this interactive capability is preferred.
In another embodiment, agent selector 114 may consider information about the user's current location, including information provided by context interpreter 110, in selecting a way to contact the user. The geographic coverage limitations may prevent the use of a user's pager, cellular telephone, or other wireless device, which the agent selector 114 may take into account when selecting another way to contact the user. There may be compatibility, security, or protocol limitations that prevent the user from being contacted using the data network by a portable computer or other device even if the device is now connected to the network and therefore otherwise accessible. This restriction may be caused by a "firewall" that restricts access to the private network to which the user connects the device, which may occur if the user is a visitor to a location where his device is connected to the private network. Another such limitation may be caused by limitations in the wireless coverage available at a given geographic location, which prevents a user with a text-enabled cell phone from receiving text messages on his cell phone, since the wireless network at the user's current location does not support such a feature.
By way of example, if in one embodiment the user is invited to a meeting, but the user chooses not to attend, then if the meeting is later cancelled, there is no need to contact the user, since this event is not important to the user, and thus the agent selector 114 may simply send a notification to the sender of the notification that the meeting was cancelled. However, if the user has selected to attend the meeting and the meeting is later cancelled, the agent selector 114 will consult the contact information 134 to notify the user of the cancellation of the meeting in a manner that selects to contact the user. If the meeting is otherwise scheduled to be held in the near future and thus the meeting is cancelled at the very last moment, the agent selector 114 may use a means of contacting the user that is more appropriate for providing the user with a quick notification of the cancellation of the meeting, such as the user's pager or mobile phone. If, however, the cancelled conference is to be held after a significant period of time, then the agent selector 114 may choose to send the user an email that the user can receive and read at his or her leisure, since this information is not so urgent, or the agent selector 114 may choose to contact a person designated by the user to handle this on behalf of the user, such as a secretary.
In another embodiment, when agent selector 114 is selecting a way to contact a user, agent selector 114 consults rules 136 and contact information 134 when making the selection. While it may be desirable to urgently contact the user for an event, the rules 136 may indicate that it is now night and that the user has specified that contact is only made at night under certain circumstances, so the agent selector 114 may wait until the morning if the event does not meet those certain circumstances. In essence, the agent selector 114 balances the importance of contacting the user with making such interruptions to the user and selects the appropriate time and manner of contacting the user.
In another embodiment, the agent selector 114 contains a small number of templates in which events of a given type or severity are mapped to specific, explicit actions to be taken. Some of this explicit action may be to contact one or more specific persons or contacts other than the user. These specific persons may be secretaries or administrative assistants of emergency personnel or users. For example, in one implementation, the template may specify that cancellation of flights is only handled by the user and not others and the automated assistant 100. Alternatively, in another embodiment, if more time than specified is available before the planned departure time, the template may specify that the cancellation of the flight is to be forwarded to an administrative secretary.
An event may occur that does not have a template corresponding to it, but for which event someone other than the user must be selected and contacted. This may be the case due to limitations in rules 136 for the contacting user or other factors such as limitations on the manner of communication in which the user may be contacted. In one embodiment, a person selected due to some relationship with the user and the event to be resolved will be contacted. This person may be the person with whom the user has recently met, or the person with whom the user regularly negotiates about such events that have occurred, and thus is related to the subject matter of the event, such as a financial consultant or broker in the case of an important event involving the user's financial services. If the event is an emergency with respect to a user's family member or friend, a person from the user's address book or buddy list may be selected. The selected person may be a person who appears to have a relationship with a family member or friend who is a party to the event from the perspective of the scheduled event, such as a baby caregiver in the case of an emergency involving one of the user's children. It is also desirable to have an emergency contact selected that may be a family member or other person that the user commits to address an emergency situation in the event that the judgment, template, and/or preference of the rules do not show an explicit selection of people to contact. This emergency contact may be designated as the default person or persons, which are contacted if efforts to contact one or more persons determined by the template, rules, and/or preferences fail. The automated assistant 100 may also communicate to the emergency contact what effort has been made to contact others and the nature of the emergency itself when attempting to contact the emergency contact because contacting others was unsuccessful.
If it is determined that an event requires contact with the user and the agent selector 114 attempts contact but the contact with the user has failed, the escalation controller 116 determines when and how to escalate the effort of contacting the user. In one embodiment, the upgrade controller 116 monitors the preliminary effort made by the agent selector 114 to contact the user through the initial selection of devices, and if the attempt is not successful after a determined period of time, the upgrade controller 116 prompts the agent selector 114 to attempt further by making another attempt, and possibly by using a different device. In another embodiment, the upgrade controller 116 may be combined with the agent selector 114, and since more time has passed and the need to contact the user has become more urgent, the combined agent selector and upgrade controller may simply re-determine the initial weights of importance of contacting the user as compared to the disturbance to the user that would have resulted from doing so.
There are many ways in which the effort of contacting the user or others may end up failing and, in one embodiment, the reason for the unsuccessful is considered in determining what to do. The way in which an attempt to contact the user or other person proves unsuccessful can be quite simple, as the person being contacted simply does not answer or respond. There may be no indication of why this is the case, and the agent selector 114 may choose to attempt to contact another person and/or choose to attempt to contact the same person by another means due to the actuation of the upgrade controller 116. Alternatively, the manner in which the proof is a failure may give an indication as to the nature of the failure, such as a record that a number from a telephone company is no longer being used, or a busy signal, or that the person owning the telephone number is not in a service area where the telephone or cellular telephone can be used. The indication may be in the form of an email reply indicating that the person is not in a city, or that their email mailbox is full and cannot accept any more messages, or that the email address is invalid.
Upon receiving an indication that the attempt to communicate failed for some reason that could not be corrected for a period of time, or could not be corrected at all, the upgrade controller 116 may prompt the agent selector 114 to select a more aggressive and possibly more intrusive way of contacting the person, since the choice of way of contacting the person has been significantly reduced. Alternatively, this indication of failure to expect rapid correction may result in the upgrade controller 116 actuating the agent selector 114 to choose to attempt to contact another person more rapidly, rather than continuing further efforts to contact the same person. Finally, this indication of failure to be corrected within a period of time may cause the automated assistant 100 to choose to resolve the event to be resolved itself, as no other suitable person may be contacted for this event.
Additionally, upon receiving an indication that the attempt to communicate has failed due to a cause that can be quickly corrected, such as a busy signal on a telephone line, the upgrade controller 116 may prompt the agent selector 114 to reattempt the same way to communicate after waiting a period of time that is shorter than what might be used if the cause of the failure had been indicated to be uncorrectable for a longer period of time or not corrected at all.
As an example, the user may have planned to take a flight later on a day, but the flight has now been cancelled, requiring the user to be notified. From the information found in the calendar maintained as part of PIM information 130, it may be determined that the user is now in a meeting, and from the information found in rules 136, the user does not like to be interrupted during such a meeting. However, because the cancelled flight will take off at a later time on the same day, perhaps even immediately after the meeting in which the user is attending, it is necessary to contact the user during the meeting, although doing so can cause annoyance. Accordingly, the agent selector 114 references the contact information 134 to find that the user has a pager that can receive the text message, and sends the user the text message on the user's pager. However, for whatever reason, and in any case after a reasonably long period of time has elapsed, the user has not contacted the automated assistant 100 to book a new flight or abandon the trip, the upgrade controller 116 prompts the agent selector 114 for further attempts. The agent selector 114 again examines the contact information 134 and rules 136, determines that the effort of contacting the user by way of a voice-synthesized call to the user's mobile phone is now appropriate, and does so. However, for whatever reason the user does not answer, the agent selector 114 now refers to the PIM information 130 to obtain the telephone number of the conference room of the conference that the user is planning to attend (if there is such information), and places the call to the conference room. Many other scenarios are possible and, as will be appreciated by those skilled in the art, the foregoing is merely one example of how embodiments of the present invention may handle events.
Alternatively, in the case of certain events, the automated assistant 100 may simply handle the event itself after one or more attempts to contact the user and/or another person have failed. It may be that the user has provided a preference as to who to handle a given event, either by the user or by a designated person, but then the automated assistant 100 will subsequently handle the given event if the attempt to contact the user and/or the designated person has proven to be unsuccessful. In this embodiment, when the automated assistant 100 has itself processed the event, the automated assistant 100 may then later attempt to contact the same person that the automated assistant 100 had earlier attempted to contact to inform them that the event has been processed and/or to provide details of the results of processing the event. For example, the event may be that the user's flight has been delayed and the attempt to contact the user and/or the user's secretary has proven to be unsuccessful, whereupon the automated assistant schedules the prepayment of the fee necessary to ensure that the user is used to defer booking of hotel rooms for check-in.
An event may occur in such a way that the conditions change to such an extent that the automated assistant 100 repeatedly decides what action is to be taken, or re-decides on this question whether action should be taken at all. One situation is that over time, the user's unresponsiveness causes the event to become more urgent and therefore more important. However, other situations, such as receiving additional information to update or revise information received earlier about an event, may be another frequently occurring situation. The automated assistant 100 can change the earlier decisions as to who to contact or where to attempt to contact someone, as well as the decisions as to what manner to take in making such contacts. The automated assistant 100 may initially determine that voluntary action on behalf of the user is the best action, and then later determine that someone must be contacted due to a change in conditions, or vice versa. In another possible scenario, repeated efforts to contact one or more people and/or efforts to take voluntary action may have been ineffective at handling the event, and sufficient time may have passed during all of these efforts so that further efforts would be useless. In such a case, the upgrade controller 116 may stop the attempt to motivate the agent selector 114 to take any further action, but may simply send a notification to the user of the attempted action.
In each of the foregoing embodiments, which support multiple attempts being made as necessary before successfully contacting the person selected by the automated assistant 100 to handle a given event, the person who has been successfully contacted can be provided with information about what attempts have been made to contact others, and/or information about the results of previous attempts to contact others, as well as information about the event itself. This may be useful to a person who has been successfully contacted in deciding how to react to a given event, particularly if the event is an emergency in some sense. Alternatively, there may be privacy and security reasons that limit how much information is provided to a person who is successfully contacted about failed attempts to contact others. It may be that the user may choose to set the automated assistant 100 to never provide information about attempts to contact a particular person. Alternatively, it may be that the user has the option of specifying a particular person who will not receive any such information, or will only receive a limited version of this information that does not provide the identity of the person the automated assistant 100 is attempting to contact, or does not provide address or other information on how to contact another person, and/or does not provide the nature of the failure encountered in a previously conducted attempt to contact another person.
The user interface 140 provides a way for the user to provide the information needed to prepare the automated assistant 100 for normal operation. In one embodiment, the business provider of the automated assistant 100 maintains the automated assistant 100 as a service in the central computer system that can be subscribed to by the user, and one embodiment of the user interface 140 can be a web page accessible to the user through the internet. In another implementation, the automated assistant 100 is maintained on a computer system owned by the user (or more readily accessible locally by the user in other ways), and the user interface 140 may be an application that the user runs on the computer system.
The communication provider 190 allows the automated assistant 100 to communicate with the outside world. The communication provider 190 may be a business entity that provides services utilized by the automated assistant 100 in an attempt by the automated assistant 100 to contact a user, and may include a mobile phone service provider, a paging service provider, an internet service provider, and the like. As previously discussed, in one embodiment, information regarding the telephone number or email mailbox at which the user may be contacted is maintained as part of the contact information 134. Contact information 134 may also contain service charge and billing prices for each service provider 190, such information may be one of the factors that agent selector 114 or upgrade controller 116 weighs in determining when or how to contact the user. For example, a user may have a satellite phone through which the user may be contacted in certain areas or at certain times when more conventional paging or mobile telephone services are not available, but the need to contact the user in a particular situation may not be so urgent as to withstand the high costs associated with using such advanced ways of contacting the user.
Alternatively, the communication provider 190 may include hardware and/or software that is used to make the automated assistant 100 accessible to devices such as fax machines, printers, mailboxes, scanners and other ways of interfacing with a hard copy communication channel. As another possibility, the communication provider 190 may include hardware and/or software that provides an interface for email, text-to-speech (text-to-speech) output, speech recognition input, or text messaging on a device such as a pager or other portable radio device.
The automated assistant 100 may also rely on the communication provider 190 to provide information indicating the user's current whereabouts for updating the user's schedule or as part of the information used in determining whether the user should be contacted for a given event. When communication provider 190 provides wireless service, communication provider 190 may determine the geographic location of the user through the wireless network operated by communication provider 190. This may be accomplished by analyzing the relative signal strengths at different geographic locations, or by identification of the geographic cell in which the user is using the mobile phone, or by other means. Or where the user is carrying a cellular telephone, pager, or other device capable of providing information regarding the user's geographic location as determined by a GPS receiver or other technology contained in the device using the communication system provided by the communication provider 190 as a medium for transmitting the information.
In another embodiment, the communications provider 190 can also determine the speed at which the user or other person is traveling, whether by GPS, triangulation, or other methods. The automated assistant 10 may use this information as a factor in deciding the best way to contact the user or others. For example, the fact that a particular person is traveling in a given direction at a given speed causes the automated assistant 100 to estimate that the person is returning home and arriving home a given time ago, thereby allowing the automated assistant 100 to contact the person by calling their home phone or emailing their personal email account. In another example, the fact that the person to be contacted appears to be standing still causes the automated assistant 100 to estimate that the person will be able to read a text message sent to a text-enabled cell phone or pager. In this example, it is preferable to be able to send a text message, but if the person to be contacted appears to be moving beyond a certain speed, such as 20mph, the automated assistant 100 may estimate that the person is likely driving a car now, so it is preferable to use speech synthesis to make a voice call to a cell phone to convey the message to the person.
However, as discussed previously, it is also possible that the user or other person with whom the automated assistant 100 is attempting to contact may have elected to arrange to decline to provide the automated assistant 100 with information indicating their present whereabouts. This may be accomplished by instructing the communication provider 190 not to communicate such information. It may also be that the user instructs the automated assistant 100 not to communicate such information even though the automated assistant 100 has been provided with this information. In another embodiment, the communication provider 190 or the automated assistant 100 may be instructed or set to provide such information only to specific persons or only under specific conditions in an effort to protect privacy.
The e-commerce provider 170 may be a provider of services such as online shopping (that is, purchasing goods or services over the internet or other electronic means), remote booking of travel services, calling for orders, and the like. The e-commerce provider 170 may be a way by which the automated assistant 100 autonomously takes action in response to events in addition to or instead of the automated assistant 100 interacting with business or government entities on behalf of the user without the assistance of the e-commerce provider 170. For example, if the e-commerce provider 170 provides the ability to book flights or modify flight bookings, in the example above regarding cancelled flights, the automated assistant 100 may have simply made a new flight arrangement on behalf of the user, possibly also changing the booking of rental transports and/or hotel rooms. In one embodiment, whether the automated assistant 100 will make such a schedule on behalf of the user will depend on whether the information in the rules 136 indicates that the user is willing to allow the automated assistant 100 to do so. It may be that the user wishes to make all of the arrangements and simply wants the automated assistant 100 to provide a warning that these need to be done. Alternatively, the user may be willing to have the automated assistant 100 make such a schedule and then notify the user of the changes that have been made, but there is a limit to the maximum price the user would like to allow the automated assistant 100 to agree on behalf of the user. The e-commerce provider 170 includes, but is not limited to, entities with which the automated assistant 100 can interact by way of electronic messaging, such as email, packetized electronic transmissions, and the like. The e-commerce provider 170 may even be a person who is contacted by the automated assistant 100 via an analog wired telephone and then has a conversation with the person by the automated assistant 100 using text-to-speech technology.
FIG. 1 depicts one embodiment of an automated assistant in which various internal functions are divided and distributed in a particular manner among the various components depicted. However, as later claimed, it will be clear to those skilled in the art that the various internal functions may be divided differently in any of the multiple components within the automated assistant. In particular, information about the user and/or others may be compiled in a manner other than the aforementioned partitioning among PIM information 130, personal profile information 132, contact information 134, and rules 136. Further, as later claimed, the automated assistant may exist in a distributed fashion (not shown) where various internal functions are performed by multiple components that are maintained in different locations or in different software and/or hardware formats, and possibly distributed among different business and/or government entities.
Fig. 2 is a flow chart followed in one embodiment of the invention. At 200, the user's automated assistant waits for information about the event. After receiving the event information at 202, the context interpreter of the automated assistant provides information about what the user is doing or what the user will be doing at 210. In one embodiment, the context interpreter retrieves this information from the user's calendar of scheduled events. In another embodiment, context interpreter 110 retrieves this information from other sources that can provide an indication of what the user is now doing or where the user is now located.
At 220, the event detector of the automated assistant determines whether the event information is important to the user based on what the user is now doing or what the user will be doing, and based on what the user's interests are known from the user's personal profile information. If the event information is not important to the user, the automated assistant takes no further action and returns to waiting for the event information at 200.
However, if the event information is important to the user, the agent selector of the automated assistant determines whether the automated assistant can take appropriate action by itself without having to contact the user. If the event involves a re-subscription or a change of subscription, for which the user does not want to be interrupted, it may be appropriate for the automated assistant to act itself. In one embodiment, the agent selector of the automated assistant will reference the user's personal profile information to determine the user's preference for whether the user would like to participate in processing the event. In another embodiment, the agent selector will consult the rule information provided by the user to see if there is a limit on the price or if there is a particular set of conditions met by the event under which the user has specified another person who must contact or act on behalf of the user. If the agent selector of the automated assistant determines that the event is one that the automated assistant can respond without contacting the user, then the agent selector will take such action at 232.
However, if the agent selector of the automated assistant determines that the user must be contacted, the agent selector consults the user's contact information to determine the appropriate way to contact the user. In one embodiment, the agent selector will also reference any user's preferences that specify a preferred manner in which the user wishes to be contacted. In another embodiment, the agent selector will also consult the user's rules to determine if there are user-provided requirements or restrictions regarding when or how to contact the user. For example, the user may have indicated a preference that the automated assistant contact the user through the user's text-enabled cell phone, but the user may also have provided a rule stating that the user does not want to call his cell phone after a certain hour of the night, and will always use the user's text-enabled pager after that hour. After selecting the appropriate way to contact the user at 234, the agent selector makes contact with the user at 236.
If the user has not responded at 238, the upgrade controller of the automated assistant takes into account the impact of the passage of time on the urgency of the user to be contacted and then determines the appropriate manner of contacting the user at 240. It may be the case that the event is one that does not require a very urgent response, and thus the selection may be to attempt to contact the user again in the same manner as the one used initially to attempt to contact the user. However, it may also be the case that the event is an event that has become more urgent due to the passage of time, such as a change to a scheduled event that is approaching in the user's calendar, and thus the upgrade controller may choose to use another way of contacting the user, which may not be preferred by the user but may now be the one that is necessary. In making this re-determination, the upgrade controller may reference the user-provided rules and/or the user's preferences in a different manner, similar to the agent selector. Another attempt will be made to contact the user at 236 and, again, the automated assistant waits for a reasonable amount of time for the user's response before making further attempts at 238.
However, if the user has responded to the initial attempt to contact the user at 238, the automated assistant returns to waiting for new event information at 200.
Fig. 3 is a flow chart of another embodiment of the present invention. In a manner corresponding to FIG. 2, at 300, the user's automated assistant waits for information about the event. After the event information is received at 302, the context interpreter of the automated assistant provides information about what the user is now doing or what the user will be doing at 310. In one embodiment, the context interpreter retrieves this information from the user's calendar of scheduled events. In another embodiment, the context interpreter retrieves this information from other sources that can provide an indication of what the user is now doing or where the user is now located.
At 320, the event detector of the automated assistant determines whether the event information is important to the user based on what the user is now doing or what the user will be doing, and based on what the user's interests are known from the user's personal profile information. If the event information is not important to the user, the automated assistant takes no further action and returns to waiting for the event information at 300.
However, if the event information is sufficiently important to the user, then at 330, the agent selector of the automated assistant determines whether the automated assistant should take appropriate action by itself without contacting anyone. If the event relates to a trivial matter that the user does not want anyone to be disturbed for this purpose, or if it is not possible to successfully contact anyone who is suitable for contact at all or for a sufficiently short useful period of time, then the automated assistant may act on its own. In various embodiments, the agent selector may use one or more pieces of information in determining whether and/or who to contact a person, including the user's profile information, rules set by the user, technical or geographic obstacles that may exist in attempting to contact a person, and/or whether a contact attempt has been made before but not successfully for the current event or a previous event. If the agent selector determines that the event is one that the automated assistant 100 can respond to without contacting the user, the agent selector takes appropriate action at 332.
However, if at 330 the agent selector of the automated assistant determines that one or more people must be contacted, then at 340 the agent selector determines what manner to use to contact and whether contact is indeed possible. In making these determinations, the automated assistant may use a variety of information, including but not limited to: a preference of a user; preferences for others if they are to be contacted instead of or in addition to the user; a schedule of the user and/or others; information about various ways available to contact the user and/or others; information about the user and/or other persons present whereabouts; technical or geographic barriers to contact users and/or others; and whether previous attempts to contact the user and/or others related to the event or a previous event were successful. For example, limitations in the wireless communication coverage of a person's present location, or the fact that a person is moving and thus the person's location is changing, may place limitations on the manner in which the person may be contacted. If it can be determined that the person to be contacted is now stationary in an area within the wireless communication coverage, it is desirable to send a text message to the person's pager or cellular telephone. Alternatively, if the person to be contacted is in motion, communication by text messaging may be unreliable throughout the person's travel route, and it may be desirable to contact the person and send a voice message via their cell phone.
If the agent selector determines at 340 that the user and/or another person or persons related to the event can be contacted, the agent selector attempts to do so at 350. Depending on the importance of the event or other information, the agent selector may attempt to contact multiple ones of the selected people simultaneously. Further, in attempting, the agent selector may determine that it is now appropriate to contact one or more of the selected persons using more than one communication means.
If none of the contacted people responded within a reasonable amount of time at 360, the upgrade controller of the automated assistant prompts the agent selector to again determine what action is to be taken next at 330. It may be that this condition has changed over time as it occurs while waiting for someone to respond. It may no longer be necessary to contact anyone and the agent selector will take appropriate action at 332. However, it may be that information such as the user's preferences indicates that the automated assistant is not appropriate to act on its own, so the agent selector makes a re-determination at 340 as to whether someone can still try to contact again, and this may result in an attempt at 350 to contact a different person and/or one or more of the same persons as the one who had tried to contact previously, but in a different way. However, if at 340 it is determined that all paths have been attempted to contact all suitable persons, then at 342 the agent selector itself takes any appropriate action. It should also be noted that depending on the time, conditions, and other information, the appropriate action taken by the automated assistant at 332 or 342 may be to take no action at all. This may be because the user has indicated in the preferences or template that no action is the correct choice, or the conditions may have changed because a previous attempt to contact someone has progressed to the point where the appropriate action has now become non-acting.
Fig. 4 is a flow chart of another embodiment of the present invention. Beginning at 400, the user's automated assistant then waits 402 for information about an event from information sources such as weather, traffic, flight conditions, email, calendar reminders, and the like. After receiving the event information, action items (tasks that need to be performed) that respond to the event are confirmed at 404. If at 410 it is determined that an action item needs to be processed, then at 412 the importance of the action item is determined. A single event may be translated into multiple action items that may need to be performed, such as an action item that results in a notification to the user of a flight cancellation, an action item that collects information on flights to choose from for the user, and an action item that may be performed autonomously to the user to reserve an alternate flight. In some embodiments, the validation of action items may be performed initially in detail, while in other embodiments, only higher level or more general tasks may be validated, with finer details left to be later determined by more specialized hardware and/or software, either internal or external to the automated assistant. In some implementations, this may mean that action items will not be confirmed only if their relevance has been met, while in other systems actions will be confirmed earlier, but will not act on them until a previous action item is completed or additional information is obtained that is needed to act on them.
At 420, an action item is determined to determine that it is not important enough to take action. If not important enough, the action item may not be processed and another determination is made at 410 as to whether there are more action items to process. Various factors are weighed in determining the importance of an action item. The current activities and circumstances of the user are taken into account, along with the use of personal profile information, rules, the past of time, and urgency of the action item and/or event. For example, received emails relating to meetings that require the user to travel to attend are more urgent to take action than emails relating to meetings in the user's office, as changes that result in meeting cancellation or rescheduling may result in cancellation or rescheduling of flights and/or hotel accommodations, thus requiring some preparation time to be effectively implemented. Another example of urgency that may play a role in determining importance is the difference between an event that is notified of a flight cancellation six days in advance compared to an event that is notified of a flight cancellation six hours in advance. The latter clearly requires action to be taken more urgently and is therefore considered more important. Conversely, as an event becomes "stale," the passage of time may cause some other events to be less important than more important, such as a reduction in interest rates by the federal reserve commission, which may be an event that brings an opportunity that may be important to the user, but only for a limited time, and may no longer be of value if the user and/or another person assigned by the user does not react in time.
If at 420, the action item is determined to be important enough that action needs to be taken, then at 422 a decision can be made as to whether the user, the person delegated by the user, the automated assistant, or some combination of these is acting on the action item. In determining whether a user can take action on an action item, various factors may be considered, including but not limited to whether the current information about the user's current location and activity (that is, the user's context) indicates that he can be contacted through one of the user's communication devices. Similar decisions may be made for one or more other persons designated as persons delegated to action items. In one embodiment, various metrics may be calculated that relate to the ability of the handler to take action on the action item, including authorization to do so, likelihood of finding the person, cost of time or money required and/or user preferences based on preferences provided explicitly by the user or derived from feedback regarding past actions of the handler, such as how reliable a particular handler was when performing previous action items.
Then at 424, a determination is made as to the cost of each handler taking an action with the action item, and at 430, a determination is made as to whether there is a handler whose cost of processing the action item is not too high or whose likelihood of success is not too low to justify performing the action item.
If at 430, it is determined that there is one or more handlers who may act on the action item without the cost exceeding a range deemed appropriate, then at 432 one or more handlers are selected. Some situations, such as where only a handler shown to have a low level of reliability may be used to take action on an action item, in which case it would be prudent to rely on only one handler, instigate the selection of more than one handler. If the system has enough information to act on an action item and the user's personal profile and/or rules indicate that the system is the handler that the user prefers to handle the action item, the system can choose to act on the action item and do so.
Each selected handler is assigned an action item through 440, 450, 460, and 470. If at 450, an automated assistant (that is, a system) has been selected as a handler, then at 452, action items are assigned to the system. If the user or person delegated by the user is selected as a handler at 460 or at 470, a device for contacting the user or user-delegated person is selected at 462 and the message is sent using this device. Depending on the handler selected at 432 above, actions may be taken by more than one handler at the same time and/or messages may be sent to more than one handler at the same time. In the case where, for example, a flight is cancelled, the system may have selected itself as one of the handlers at 432, and while attempting to contact another handler, an initial step may be taken, such as tentatively booking another flight in a manner that another handler may cancel the system's action if another handler responds early.
The current location and activity (i.e. context) of the user and/or the person being delegated may be taken into account when selecting a device for contacting the user or the person being delegated by the user. Devices that may be used include, but are not limited to, pagers, cellular phones, facsimile transmissions, voice synthesis techniques, and the like. Once a device is selected, a countdown may be initiated that marks the time elapsed since the contact attempt was made, and if the user or delegated person responds before the countdown is complete, the system receives their instructions on how to take action on the action item under their direction, or an indication that they have processed the action item and no further action is required. However, if the countdown is done and no response has been received to the attempt to contact, this fact can be used to make a new decision on the importance of the event, and may also take into account the passage of time when the urgency or staleness of the event may be a factor.
If at 472 all efforts to take action and/or send messages to handlers other than the system have not resulted in a decision corresponding to an action item, the action item that was not resolved is written to the log. Subsequently, if there are no more selected handlers to whom the action item may be delegated at 440, and there are no more action items that have not been processed at 410, the automated assistant waits for another event at 402.
The invention has been described in connection with the preferred embodiments. It is evident that many alternatives, modifications, variations and uses will be apparent to those skilled in the art in light of the foregoing description.
Exemplary embodiments of the present invention are described in the context of automated assistants, where the components of the automated assistant are organized in a particular structure and intended to run in a computer system that supports a single user. However, as will be appreciated by those skilled in the art, the various information for a given user may be organized differently than as detailed herein to practice the present invention. In particular, the user's preferences may be combined with rules and/or the user's contact information may be combined with the user's PIM information, and so on. Further, a single automated assistant or an instance of an automated assistant software program may be used to provide automated assistant services to multiple users. The plurality of users may be family members, company employees, or may be individuals who do not have any relationship to each other than the same business provider using the service. Further, the user may be a person for whom the user has delegated responsibility for handling a particular event, such as a secretary or administrative assistant, or others who use automated assistants on behalf of another user. Furthermore, rather than implementing the present invention by automated assistant software designed to run on any of a number of common existing computer systems, the present invention can be implemented using dedicated automated assistant devices that contain dedicated hardware.

Claims (103)

1. A method, comprising:
receiving information of an event;
determining whether an event is important enough for a user that a first person related to the event needs to be contacted; and
if the event is significant enough for the user, selecting a first person to contact, selecting a first manner of contacting the first person, attempting to contact the first person using the first manner, and waiting a period of time for the first person to respond.
2. The method of claim 1, further comprising:
selecting a second way to contact said first person and attempting to contact said first person if said event is significant enough to said user that said first person has not responded within said period of time and there is an acceptable second way to contact said first person; and
selecting a means of contacting said second person and said second person if said event is significant enough for said user, said first person has not responded within said period of time, there is no acceptable second means of contacting said first person, and there is an acceptable means of contacting said second person.
3. The method of claim 1, wherein determining whether the event is important enough for the user comprises comparing a topic of the event to a list of topics of interest to the user.
4. The method of claim 1, wherein determining whether the event is sufficiently important for the user comprises comparing a time of the event to an activity attended or to be attended by the user listed in a calendar.
5. The method of claim 1, wherein determining whether the event is sufficiently important for the user comprises referencing information about preferences of the user to determine whether the user has preferences to take action on behalf of the user without contacting anyone in response to the event.
6. The method of claim 1, wherein determining whether the event is sufficiently important for the user comprises referencing information about a rule specified by the user, the rule relating to a plurality of conditions under which the user will not be allowed to take action without contacting the first person.
7. The method of claim 2, wherein selecting the first person and the second person comprises referencing information about preferences of the user relating to which persons will be contacted for a particular event.
8. The method of claim 2 wherein selecting the first way to contact the first person and determining whether there is an acceptable second way to contact the first person comprises referencing information about preferences of the first person to find when or how the first person prefers to be contacted.
9. The method of claim 2 wherein selecting the first way to contact the first person and determining whether there is an acceptable second way to contact the first person comprises consulting information regarding limitations on each available way to contact the first person.
10. The method of claim 2 wherein selecting the first manner of contacting the first person and determining whether there is an acceptable second manner of contacting the first person comprises consulting a rule specified by the first person, the rule relating to a plurality of conditions under which the first person requires no attempt to contact the first person.
11. The method of claim 10, wherein referencing rules specified by the first person further comprises referencing information for exceptions to those rules.
12. The method of claim 1, wherein the first person is selected from the group consisting of the user, a family member of the user, a friend of the user, an employee of the user, and a co-worker of the user.
13. The method of claim 1 wherein the first way to contact the first person is selected from the group consisting of a wired telephone, a mobile telephone, a text-enabled mobile telephone, a pager, a text-enabled pager, a computer system capable of transmitting text messages, a computer system capable of transmitting audio messages, and a computer system capable of transmitting video messages.
14. A computer readable medium containing instructions that, when executed by a processor, cause the processor to:
receiving information of an event;
determining whether an event is important enough for a user that a first person related to the event needs to be contacted; and
if the event is significant enough for the user, selecting a first person to contact, selecting a first manner of contacting the first person, attempting to contact the first person using the first manner, and waiting a period of time for the first person to respond.
15. The computer-readable medium of claim 14, wherein the processor is further caused to:
if said event is significant enough for said user, said first person has not responded within said period of time, and there is an acceptable second way, selecting a second way to contact said first person and attempting to contact said first person using said second way; and
selecting a means of contacting said second person and a means of contacting said second person if said event is important enough for said user, said first person has not responded within said period of time, there is no acceptable second means, and there is an acceptable means of contacting said second person.
16. The computer readable medium of claim 14, wherein the processor is caused to determine whether the event is important enough for the user by comparing a series of topics of the event with topics of interest to the user.
17. The computer-readable medium of claim 14, wherein the processor is caused to determine whether the event is significant enough for the user by comparing the time of the event to an activity listed in a calendar in which the user attended or will attend.
18. The computer-readable medium of claim 14, wherein the processor is caused to determine whether the event is sufficiently important to the user by referencing information about the user's preferences to determine whether the user has a preference to take action on behalf of the user in response to the event without contacting anyone.
19. The computer readable medium of claim 14, wherein the processor is caused to determine whether the event is sufficiently important for the user by reference to information about a rule specified by the user, wherein the rule relates to a plurality of conditions under which the user will not be allowed to take action without contacting the first person.
20. The computer readable medium of claim 15, wherein the processor is caused to select the first person and the second person by referencing information about preferences of the user relating to which persons will be contacted for a particular event.
21. The computer readable medium of claim 15 wherein the processor is caused to select the first way to contact the first person and to determine whether there is an acceptable second way to contact the first person by referencing information about preferences of the first person to find when or how the first person prefers to be contacted.
22. The computer readable medium of claim 15 wherein the processor is caused to select the first way of contacting the first person and determine whether there is an acceptable second way of contacting the first person by reference to information regarding limitations of each available way of contacting the first person.
23. The computer readable medium of claim 15 wherein the processor is caused to select the first manner of contacting the first person and determine whether there is an acceptable second manner of contacting the first person by reference to rules specified by the first person, the rules relating to conditions under which the first person requires no attempt to contact the first person.
24. The computer readable medium of claim 14, wherein the first person is selected from the group consisting of the user, a family member of the user, a friend of the user, an employee of the user, and a co-worker of the user.
25. The computer readable medium of claim 14, wherein the first way to contact the first person is selected from the group consisting of a wired telephone, a mobile telephone, a text-enabled mobile telephone, a pager, a text-enabled computer system, an audio-message-enabled computer system, and a video-message-enabled computer system.
26. A method, comprising:
receiving information relating to: at least one activity in a user's schedule, at least one topic of interest to the user, a first manner of contacting a first person selected by the user, at least one preference for how to contact the first person of the first person, and at least one requirement that the first person limit when the first person may be contacted;
receiving information about an event;
referencing information about said at least one activity and said at least one topic of interest to determine if said event is of sufficient importance to said user that said first person needs to be contacted; and
determining how to contact the first person with reference to information about the first way of contacting the first person, the at least one preference, and the at least one requirement.
27. The method of claim 26, wherein the first person is selected from the group consisting of the user, a family member of the user, a friend of the user, an employee of the user, and a co-worker of the user.
28. The method of claim 26 wherein the information regarding the first manner of contacting the first person comprises information regarding limitations of equipment used in at least one manner of contacting the first person.
29. The method of claim 26 wherein the first way to contact the first person is selected from the group consisting of a wired telephone, a mobile telephone, a text-enabled mobile telephone, a pager, a text-enabled pager, a computer system capable of transmitting text messages, a computer system capable of transmitting audio messages, and a computer system capable of transmitting video messages.
30. The method of claim 26 wherein the information regarding the at least one preference includes a preference to consider the first manner of contacting the first person to be preferred over the second manner of contacting the first person.
31. A method, comprising:
receiving information of an event;
determining a level of importance of the event relative to a first person; and
if the event has an importance level greater than or equal to a first predetermined threshold and has an importance level less than or equal to a second predetermined threshold, then action is taken in response to the event without contacting anyone.
32. The method of claim 31 wherein determining the importance rating of the event to the first person comprises comparing the subject matter of the event to a list of subjects of interest to the first person.
33. The method of claim 31 wherein determining the importance level of the event to the first person comprises referencing information about the time of an activity provided by a calendar in which at least one person attended or will attend the activity.
34. The method of claim 31 wherein determining the importance level of the event to the first person comprises referencing information about the location of an activity provided by a calendar in which at least one person attended or will attend the activity.
35. The method of claim 31, wherein determining the importance rating of the event to the first person comprises referencing information about a location of an activity in which at least one person is or will be engaged, the location of the activity being provided by a device carried by the at least one person providing information about the whereabouts of the at least one person.
36. The method of claim 31 wherein determining the importance level of the event to the first person comprises considering limitations on the manner in which at least one person is associated due to the present location of the at least one person.
37. The method of claim 31 wherein determining the importance rating of the event to the first person comprises consulting information about preferences of the first person to determine whether the first person has a preference to take action on behalf of the first person without contacting anyone in response to the event.
38. The method of claim 31 wherein determining the importance level of the event to the first person comprises considering whether a previous attempt to contact at least one person was made.
39. The method of claim 31 wherein determining the importance level of the event to the first person comprises referencing information about a rule specified by the first person, the rule relating to a plurality of conditions under which the first person will not be allowed to take action without contacting at least one person.
40. The method of claim 39 wherein referencing rules specified by the first person further comprises referencing information about exceptions to those rules.
41. A computer readable medium containing instructions that, when executed by a processor, cause the processor to:
receiving information of an event;
determining a level of importance of the event to a first person; and
if the event has an importance level greater than or equal to a first predetermined threshold and has an importance level less than or equal to a second predetermined threshold, then action is taken in response to the event without contacting anyone.
42. The computer readable medium of claim 41 wherein determining the importance rating of the event to the first person comprises comparing the topic of the event to a list of topics of interest to the first person.
43. The computer readable medium of claim 41 wherein determining the importance rating of the event to the first person comprises referencing information about the scheduling of an activity provided by a calendar in which at least one person attended or will attend the activity.
44. The computer readable medium of claim 41 wherein determining the importance rating of the event to the first person comprises referencing information about the location of an activity provided by a calendar in which at least one person attended or will attend the activity.
45. The computer readable medium of claim 41 wherein determining the importance rating of the event to the first person comprises referencing information about a location of an activity in which at least one person is or will be engaged, the location of the activity being provided by a device carried by the at least one person providing information about the whereabouts of the at least one person.
46. The computer-readable medium of claim 41 wherein determining the importance level of the event to the first person comprises considering limitations on the manner in which the at least one person is associated due to the present location of the at least one person.
47. The computer readable medium of claim 41 wherein determining the importance rating of the event to the first person comprises referencing information about preferences of the first person to determine whether the first person has a preference to take action on behalf of the first person without contacting anyone in response to the event.
48. The computer readable medium of claim 41 wherein determining the importance level of the event to the first person comprises considering whether a previous attempt to contact at least one person was made.
49. The computer readable medium of claim 41 wherein determining the importance rating of the event to the first person comprises referencing information about a rule specified by the first person, the rule relating to a plurality of conditions under which the first person will not be allowed to take action without contacting at least one person.
50. The computer readable medium of claim 49 wherein referencing rules specified by the first person further comprises referencing information about exceptions to those rules.
51. A method, comprising:
receiving information regarding a previous attempt to contact at least one person related to the event;
determining a level of importance of the event to a first person; and
if the event has an importance level greater than or equal to a first predetermined threshold and has an importance level less than or equal to a second predetermined threshold, then action is taken in response to the event without subsequent attempts to contact anyone.
52. The method of claim 51 wherein determining the importance rating of the event to the first person comprises determining an impact on the rating of importance of the event in the past of time since a previous attempt to contact at least one person.
53. The method of claim 51 wherein determining the importance level of the event to the first person comprises referencing information about the time of an activity provided by a calendar in which at least one person attended or will attend the activity.
54. The method of claim 51 wherein determining the importance level of the event to the first person comprises referencing information about the location of an activity provided by a calendar in which at least one person attended or will attend the activity.
55. The method of claim 51 wherein determining the importance rating of the event to the first person comprises referencing information about the location of an activity in which at least one person is or will be engaged, the location of the activity being provided by a device carried by the at least one person providing information about the whereabouts of the at least one person.
56. The method of claim 51 wherein determining the importance rating of the event to the first person comprises consulting information about preferences of the first person to determine whether the first person has a preference to take action on behalf of the first person without contacting at least one person in response to the event.
57. A computer readable medium containing instructions that, when executed by a processor, cause the processor to:
receiving information regarding a previous attempt to contact at least one person related to the event;
determining a level of importance of the event to a first person; and
if the event has an importance level greater than or equal to a first predetermined threshold and has an importance level less than or equal to a second predetermined threshold, then action is taken in response to the event without subsequent attempts to contact anyone.
58. The computer readable medium of claim 57 wherein determining a level of importance of the event to the first person comprises determining an impact of a past time since a previous attempt to contact at least one person on the level of importance of the event.
59. The computer readable medium of claim 57 wherein determining the importance rating of the event to the first person comprises referencing information about an activity in which at least one person attended or will attend the activity.
60. The computer readable medium of claim 57 wherein determining the importance rating of the event to the first person comprises consulting information about preferences of the first person to determine whether the first person would prefer to take action on behalf of the first person in response to the event without contacting at least one person.
61. An apparatus programmed by a first person with information about an activity of the first person and set by the first person to:
information is received about the event or events and,
determining a level of importance of the event to the first person; and
if the event has an importance level greater than or equal to a first predetermined threshold and has an importance level less than or equal to a second predetermined threshold, then taking action in response to the event without an attempt to contact at least one person.
62. The apparatus of claim 61, further programming said apparatus with said first and second thresholds by said first person.
63. The device of claim 61, further programmed by said first person with rules indicating when action should always be taken without an attempt to contact at least one person.
64. An apparatus carried by a first person and configured to communicate with a service provider receiving information about an event, allow the service provider to provide information about the event to the first person if the level of importance of the event to the first person is greater than or equal to a first predetermined threshold, and allow the first person to respond to information about the event received from the service provider.
65. The apparatus of claim 64 including means for determining the whereabouts of the first person and forwarding information regarding the whereabouts of the first person to the service provider.
66. A method, comprising:
receiving information of an event;
determining a level of importance of the event relative to a first person;
attempting to contact at least one person if said event has an importance level greater than or equal to a first predetermined threshold and has an importance level less than or equal to a second predetermined threshold; and
attempting to contact a plurality of persons if said event has an importance level greater than or equal to said second predetermined threshold.
67. The method of claim 66 wherein determining the importance rating of the event to the first person comprises comparing the subject matter of the event to a list of subjects of interest to the first person.
68. The method of claim 66 wherein determining the importance level of the event to the first person comprises referencing information about the time of an activity provided by a calendar in which at least one person attended or will attend the activity.
69. The method of claim 66 wherein determining the importance level of the event to the first person comprises referencing information about the present location of the at least one person.
70. A method as defined in claim 69, wherein determining the importance level of the event to the first person comprises considering limitations on a manner of contacting the at least one person caused by the present location of the at least one person.
71. The method of claim 69, wherein the information regarding the present location of the at least one person is provided by a device carried by the at least one person.
72. A method as recited in claim 71, wherein a GPS receiver within said device carried by at least one person is used to provide said information regarding the present location of said at least one person.
73. The method of claim 71, wherein said information about the present location of said at least one person is derived based on information about the location of the network connection to which said device is attached.
74. The method of claim 71, wherein said information about the present location of said at least one person is derived based on information about the location from which signals transmitted by said device are received.
75. The method of claim 71, wherein at least one person has the option of prohibiting information about the at least one person's present location from being provided by the device.
76. A computer readable medium containing instructions that, when executed by a processor, cause the processor to:
receiving information of an event;
determining a level of importance of the event to a first person;
attempting to contact the first person if the event has an importance rating greater than or equal to a first predetermined threshold and has an importance rating less than or equal to a second predetermined threshold; and
attempting to contact a plurality of persons if said event has an importance level greater than or equal to said second predetermined threshold.
77. The computer readable medium of claim 76 wherein determining the importance rating of the event to the first person comprises comparing the topic of the event to a list of topics of interest to the first person.
78. The computer readable medium of claim 76 wherein determining the importance rating of the event to the first person comprises referencing information about the time of an activity provided by a calendar in which at least one person attended or will attend the activity.
79. A computer readable medium as defined in claim 76, wherein determining the importance rating of the event to the first person comprises referencing information about a present location of the at least one person.
80. The computer readable medium of claim 79 wherein determining the importance level of the event to the first person comprises considering limitations on the manner in which the at least one person is contacted caused by the present location of the at least one person.
81. A computer readable medium as recited in claim 79, wherein information regarding the present location of said at least one person is provided by a device carried by said at least one person.
82. The computer readable medium of claim 81, wherein at least one person has the option of prohibiting information about the at least one person's present location from being provided by the device.
83. A method, comprising:
receiving information of an event;
determining a level of importance of the event relative to a first person;
selecting a first device to contact at least one person and attempting to contact the same at least one person if the event has an importance rating greater than or equal to a first predetermined threshold;
receiving an indication of the nature of the failure to attempt to contact the same at least one contact; and
depending on the nature of the failure, an action is determined.
84. The method of claim 83 wherein determining the importance rating of the event to the first person comprises comparing a topic of the event to a list of topics of interest to the first person.
85. The method of claim 83 wherein determining the importance level of the event to the first person comprises referencing information about the time of an activity provided by a calendar in which at least one person attended or will attend the activity.
86. The method of claim 83 wherein determining the importance level of the event to the first person comprises referencing information about a present location of the at least one person.
87. The method of claim 86, wherein information about the location of said at least one person is used to derive the nature of said failure.
88. The method of claim 83, wherein determining an action depending on the nature of the failure comprises:
if the nature of the failure suggests that a later attempt to contact the same at least one person using the first device will be successful, re-using the first device to re-attempt to contact the same at least one person; and
if the nature of the failure suggests that a later attempt to contact the same at least one person using the first device will not be successful, then a second device is used to again attempt to contact the same at least one person.
89. The method of claim 83, wherein determining an action depending on the nature of the failure comprises:
if the nature of the failure suggests that the attempt to contact the same at least one person again will be successful, then attempting to contact the same at least one person again; and
attempting to contact at least one additional optional person if the nature of the failure suggests that attempting to contact the same at least one person again will not be successful.
90. The method of claim 83, wherein determining an action depending on the nature of the failure comprises:
if the nature of the failure suggests that the attempt to contact the same at least one person again will be successful, then attempting to contact the same at least one person again; and
if the nature of the failure suggests that an attempt to contact the same at least one person again will not be successful, then action is taken in response to the event without contacting anyone.
91. The method of claim 83 wherein the indication of failure indicates that the first device is busy, prompting that a later attempt to re-use the first device to re-contact the same at least one person will be successful.
92. The method of claim 83, wherein the indication of failure indicates that the first device failed, prompting that a later attempt to re-use the first device to re-contact the same at least one person will not be successful.
93. The method of claim 83 wherein the indication of failure indicates that the same at least one person elects not to respond to an attempt to contact the same at least one person, prompting that a later attempt to re-use the first device to contact the same at least one person again will not succeed.
94. A computer readable medium containing instructions that, when executed by a processor, cause the processor to:
receiving information of an event;
determining a level of importance of the event relative to a first person;
selecting a first device to contact at least one person and attempting to contact the same at least one person if the event has an importance rating greater than or equal to a first predetermined threshold;
receiving an indication of the nature of the failure to attempt to contact the same at least one contact; and
depending on the nature of the failure, an action is determined.
95. The computer readable medium of claim 94 wherein determining the importance rating of the event to the first person comprises comparing the topic of the event to a list of topics of interest to the first person.
96. The computer readable medium of claim 94 wherein determining the importance rating of the event to the first person comprises referencing information about the time of an activity provided by a calendar in which at least one person attended or will attend the activity.
97. The computer readable medium of claim 94 wherein determining the importance rating of the event to the first person comprises referencing information about a present location of the at least one person.
98. The computer readable medium of claim 94, wherein information about the location of said at least one person is used to derive the nature of said failure.
99. An apparatus programmed by a first person with information about an activity of the first person and set by the first person to:
receiving information of an event;
determining a level of importance of the event to the first person;
attempting to contact the first person if the event has an importance rating greater than or equal to a first predetermined threshold and has an importance rating less than or equal to a second predetermined threshold; and
attempting to contact a plurality of persons if said event has an importance level greater than or equal to said second predetermined threshold.
100. The apparatus of claim 99, further programmed by said first person with said first and second thresholds.
101. An apparatus programmed by a first person with information about an activity of the first person and set by the first person to:
receiving information of an event;
determining a level of importance of the event to the first person;
selecting a first device to contact at least one person and attempting to contact the same at least one person if the event has an importance rating greater than or equal to a first predetermined threshold;
receiving an indication of the nature of the failure to attempt to contact the same at least one contact; and
depending on the nature of the failure, an action is determined.
102. The apparatus of claim 101, further programmed with the first threshold by the first person.
103. The apparatus of claim 101, further programmed by said first person with rules indicating when action should always be taken without contacting anyone.
HK05102463.9A 2001-05-24 2002-05-16 Method and apparatus for message escalation by digital assistants HK1069236A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/865,919 2001-05-24
US09/895,557 2001-06-29
US10/039,960 2001-12-31

Publications (1)

Publication Number Publication Date
HK1069236A true HK1069236A (en) 2005-05-13

Family

ID=

Similar Documents

Publication Publication Date Title
US20020178022A1 (en) Method and apparatus for message escalation by digital assistants
US7747459B2 (en) Intelligent free-time search
US6640230B1 (en) Calendar-driven application technique for preparing responses to incoming events
US20080255919A1 (en) System and method for schedule notification
EP1363221B1 (en) Increasing the level of automation when scheduling and managing meetings
US7490122B2 (en) Methods for and applications of learning and inferring the periods of time until people are available or unavailable for different forms of communication, collaboration, and information access
US6781920B2 (en) Method for resolving meeting conflicts within an electronic calendar application
US7113797B2 (en) System, method and program product for scheduling meetings
US7305441B2 (en) Time-sensitive messages and events
US9672270B2 (en) Systems and methods for aggregation, correlation, display and analysis of personal communication messaging and event-based planning
US8769032B2 (en) Method and system for suggesting an optimal communication mode
US20090030769A1 (en) System and Method for Latency Management Assistant
US20070203741A1 (en) Method and Apparatus for Automatic Notification and Response
US20090210262A1 (en) Methods and apparatus for automated travel
EP1915711A2 (en) Virtual assistant
US9531652B2 (en) Communications routing and contact updates
US20180176383A1 (en) Automating Notifications for Modification of Events Based on Geographic Positioning
US9697501B2 (en) Interruptibility management via scheduling application
US20130227040A1 (en) Method and system for sending messages
CN1578951A (en) Method and apparatus for message escalation by digital assistants
JP2005515519A (en) Method and apparatus for automatic notification and response
US9325718B2 (en) System and method for communications routing
HK1069236A (en) Method and apparatus for message escalation by digital assistants
US20120078654A1 (en) Computerized method to alert and remind patients or clients of their appointments