WO2002096126A2 - 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
WO2002096126A2
WO2002096126A2 PCT/US2002/015805 US0215805W WO02096126A2 WO 2002096126 A2 WO2002096126 A2 WO 2002096126A2 US 0215805 W US0215805 W US 0215805W WO 02096126 A2 WO02096126 A2 WO 02096126A2
Authority
WO
WIPO (PCT)
Prior art keywords
person
event
contact
user
importance
Prior art date
Application number
PCT/US2002/015805
Other languages
French (fr)
Other versions
WO2002096126A3 (en
Inventor
Paul Pierce
Shreekant Thakkar
Andrew Anderson
Uttam Sengupta
Kit Tham
Steven Bennett
Trevor Pering
Scott Robinson
Nicholas Wade
Original Assignee
Intel Corporation
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
Priority claimed from US09/865,919 external-priority patent/US20020178226A1/en
Application filed by Intel Corporation filed Critical Intel Corporation
Priority to DE10296892T priority Critical patent/DE10296892T5/en
Priority to AU2002303800A priority patent/AU2002303800A1/en
Publication of WO2002096126A2 publication Critical patent/WO2002096126A2/en
Publication of WO2002096126A3 publication Critical patent/WO2002096126A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/487Arrangements for providing information services, e.g. recorded voice services or time announcements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/224Monitoring or handling of messages providing notification on incoming messages, e.g. pushed notifications of received messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58Message adaptation for wireless communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information

Definitions

  • the present invention is related to an apparatus and method for escalating messages to individuals by way of digital assistants, such as pagers, telephones and organizers.
  • PDAs personal data assistants
  • Other devices allow users to store and organize information concerning people, places and events are currently in wide use. Many such devices maintain a user's schedule and provide automated reminder functions to remind the user of an upcoming event, such as a meeting. However, these devices require that all such information be directly supplied by their users. In essence, these devices do nothing beyond what their users instruct them to do.
  • Figure 1 is a block diagram of one embodiment of the present invention.
  • Figure 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.
  • Figure 4 is a flow chart followed by another embodiment of the present invention.
  • the present invention concerns the escalating of selected information to the user of an automated assistant. Such escalation of selected information to a user could be done through portable or hand-held devices such as pagers, PDAs, mobile telephones or portable computers to keep the user up to date concerning his personal schedule.
  • portable or hand-held devices such as pagers, PDAs, mobile telephones or portable computers to keep the user up to date concerning his personal schedule.
  • the present invention is also applicable to the use of non-portable devices such as stationary computer systems or landline telephones, and may be used to provide information concerning issues other than personal schedule, such as current events, or affairs involving other people with some importance or connection to a user.
  • FIG. 1 is a block diagram of one embodiment of the present invention.
  • Automated assistant 100 is comprised of context interpreter 110, event detector 112, agent selector 114 and escalation controller 116.
  • Automated assistant 100 relies on various pieces of information concerning a user including, but not limited to, PIM information 130, profile information 132, contact information 134 and rules 136.
  • User interface 140 allows a user to customize automated assistant 100.
  • Automated assistant 100 receives information that may be of importance to a user from at least one information provider 160, and automated assistant 100 may interact with at least one e-commerce provider 170 in order to carry out instructions from a user.
  • At least one communication provider 190 is used by automated assistant 100 to provide remote communication with a user.
  • such communication may include access to user interface 140.
  • user interface 140 is an application run by a user on a computer system, cell phone, portable PDA or other device used to gain access to automated assistant 100 and/ or to modify information used by automated assistant 100.
  • user interface 140 may be presented by way of web pages allowing a user to modify information used by automated assistant 100, and viewable using commonly available web browser hardware and/ or software.
  • user interface 140 is accessible only to a service provider that provides either part or all of the services of automated assistant 100 to a user.
  • a user's interaction with automated assistant 100 may be through communication provider 190.
  • PIM information 130 is maintained by automated assistant 100 and is comprised of daily information concerning a user.
  • this information includes, but is not limited to, the kinds of information often maintained on currently available PDA devices, such as a calendar of scheduled events and appointments, an address list, a phone list and memos by the user such as a "to-do" list.
  • this information is updated on a recurring basis from a PDA device carried by a user.
  • this information is provided by the user through use of user interface 140.
  • the user provides this information to automated assistant 100, directly through such devices as a pager or mobile phone.
  • PIM information 130 additionally includes information concerning another person to whom a user may have delegated the authority to respond to one more types of events.
  • PIM information 130 may be compiled from personal information maintained by other external sources, such as personal, work and/ or family calendars maintained externally from automated assistant 100, but to which automated assistant 100 has access by any of a number of means.
  • PIM information 130 may contain some information concerning the schedule of that other person for use in deterrnining whether or not that other person is available in lieu of the user at a given time.
  • Profile information 132 is maintained by automated assistant 100 and is comprised of information concerning a user's preferences.
  • Such information could include, but is not limited to, e-commerce providers that a user prefers to use for particular products or services, whether the user prefers a window or aisle seat on an airplane, a user's tastes in food, a user's membership in frequent flier mileage programs or business rate rental car programs, whether a user prefers to make all travel arrangements or is willing allow that to be done by others, a user's preference for primary means of communication, a user's preferred commute routes, as well as which stocks or travel locations are of greatest interest to a user.
  • Such information might also include, preferences about circumstances or types of events where a user prefers that another person be contacted in lieu of the user, such as a secretary, friend or family member of the user.
  • profile information 132 would be provided by the user to automated assistant 100, directly, possibly via user interface 140.
  • automated assistant 100 would derive such information by observing a user's behavior over time.
  • a user would directly supply such information, but over time, automated assistant 100 would record the degree to which the user did or did not adhere to that supplied information.
  • at least part of such information would be supplied by an organization or institution with which the user is connected, such as an employer, medical facility, bank or financial institution, or school.
  • Contact information 134 is maintained by automated assistant 100 and is comprised of information concerning what means are available to contact a user.
  • such information would comprise phone numbers for a user's pager, mobile phone, home telephone and/ or business telephone, along with data concerning whether text messages can be received on a user's pager or mobile phone.
  • such information would comprise email addresses by which a user could be contacted.
  • such information would comprise phone numbers of places outside of work or home where a user could be found.
  • contact information 134 may further comprise contact information on other individuals to which a user has given authority to handle one or more events in lieu of the user, such as secretaries, friends or family members of the user.
  • Rules 136 is maintained by automated assistant 100 and is comprised of a set of rules that must be followed in carrying out various functions. In various embodiments, such information would be supplied by the user and/ or others to whom the user has given authority to add or edit rules, including but not limited to, those who are setting up or mamtaining automated assistant 100, the user's employer, members of the user's family, etc.
  • the rules would comprise, but not be Umited to, limits on how much money may be spent on carrying out certain functions without first obtaining the user's approval, steps that must be followed in making reservations for travel or lodging, limits on the manner in which certain devices may be used in efforts to reach the user, limits concerning times during the day when the user does not want to be bothered, circumstances in which not the user, but another person to whom the user may have given authority to deal with one or more certain events, as well as exceptions to one or more of such rules.
  • There may also be rules concerning which kinds of events or which subjects to which an event may pertain are too sensitive to permit contacting certain persons and/ or to permit attempting to make contact by certain means that are somehow not deemed to be secure enough.
  • Rules 136 may be provided by various persons and/ or entities such as a user, the designers or maintainers of automated assistant 100, an entity associated with a user (such as a user's employer), or others to whom a user has delegated authority to make or alter rules 136.
  • Context interpreter 110 tracks information and makes predictions concerning the current circumstances of a user, i.e., a user's context.
  • Context interpreter 110 uses calendar, preference, profile, location and history information from various sources including, but not limited to, PIM information 130, profile information 132 and/ or rules 136 to determine where a user is likely to be, what the user is likely to be doing, how available the user is likely to be to various persons and/ or what resources are available for communication with the user. Where insufficient information is available to determine aspects of a user's context with certainty, predictions may be made, and such predictions may be accompanied by a confidence value to indicate the degree of certainty.
  • context interpreter 110 is an expert system which applies rules (which may or may not be part of rules 136) to make predictions concerning a user's context. In such an embodiment, a limit may be placed on the computations required to be performed by context interpreter 110 by limiting fields of information used in such computations to only those requested by other components of automated assistant 100.
  • context interpreter uses the calendar being maintained as part of PIM information 130 to track the user, relying on the assumption that the user will generally follow what is scheduled on that calendar.
  • context interpreter 110 uses information received through a communications provider 190 (discussed in greater detail, below) to track the actual activities and/ or whereabouts of a user.
  • information may be supplied by one or more devices being carried by a user, such as GPS data from a GPS receiver integrated into a user's cell phone or PDA.
  • Such information may also be derived from wireless or landline-based voice or data networks, such as the broadcasting and receiving network of a cellular communications system, or a network address of where a user has currently attached a device such as a portable computer. Furthermore, such information may also be derived from the network address of a computer system or device attached to a landline network that is being accessed by a user at a given time, provided that information correlating a network address to a specific physical location has been supplied or is available. [0019] Where information concerning the actual whereabouts of a user or other person is able to be provided, it may be desirable for that person to be able to limit where and/or when such information is provided, since such information may be deemed to be sensitive or private for various reasons.
  • such a person may instruct the provider of a cellular phone, pager or other communication service to refuse to pass on information on his/her actual whereabouts.
  • one or more computer systems that maintain a landline based network to which such a person has connected a portable or desktop computer, or other device may be configured to not pass on information needed to correlate a network address with a physical location, or may be configured to hide or limit access to the actual network address.
  • automated assistant 100 would be denied access to such a person's whereabouts, and would therefore, not have that information available in making determinations as to the best way to reach that person or in making determinations as to whether or not to attempt to reach that person, at all.
  • a user may configure or instruct automated assistant 100 to not pass on the user's current whereabouts, even if automated assistant 100 has access to or is being supplied with that information.
  • the choice of whether or not the information is transmitted is determined based on the identity of the would-be recipient. Specifically, a person could specify via a list, or degree of association, one or more individuals who would be permitted to receive information on the person's whereabouts, while others would not.
  • a person could specify varying degrees dissemination of such information such that the person's family members or spouse, for instance, would have unrestrained access to information concerning the person's whereabouts, while close friends or important coworkers might have access to a less detailed version of such information (such as, simply whether or not the person is "away" for the time being), and while still others are provided with no such information, at all.
  • Which individuals are chosen to be able to receive more of such information than others may be specified as part of being chosen by the person as being individuals to whom the person has delegated authority to handle particular types of events.
  • a person might specify particular situations or events in which more information concerning his/her whereabouts would be made available versus others.
  • Event detector 112 receives both information from information provider 160 concerning events and input from context interpreter 110 as to where a user is currently located or what a user is currently doing and will be doing in the future, and uses that information, along with profile information 132 and/or rules 136, to make a determination as to what action, if any, should be taken in response. In other words, event detector 112 evaluates the importance of an event to determine if anything should be done in response. In determining the importance of an event to a user, event detector 112 examines the information received from information provider 160 to see if there are any indications of anything that might effect the activities that a user is currently engaged in, or will be engaged in, such as attending a meeting or making investments.
  • Event detector 112 also examines the information received to determine if there is something that has happened or will be happening that may cause the user to want to add an activity, such as attending a convention concerning a subject of interest to the user. Furthermore, in determining the importance of an event to a user, event detector 112 also evaluates the urgency with which action is to be taken, possibly to avoid the loss of an opportunity to act and /or to enable an action to have greater beneficial effect.
  • Information provider 160 gathers and formats information for use by automated assistant 100.
  • the information received from information provider 160 could comprise weather updates, traffic reports, and news of such events as sales or special local events that may be of interest to a user engaged in local activities.
  • the information received could comprise flight arrival and departure schedules, flight status, weather conditions at distant locations and along routes of travel, and the occurrence of major events at distant locations that may be of interest or have an impact on the travel plans of a traveling user.
  • the information received could comprise stock quotes, earnings reports by corporations, and announcements by government agencies or other institutions of interest to a user engaged in making investments.
  • Information provider 160 may be an original source for information about events and/ or a gatherer and formatter of information about events received from other entities such as government agencies (e.g., NOAA) or commercial entities (e.g., CNN or MapQuest) where information provider 160 extracts, summarizes or transcodes information as necessary.
  • entities such as government agencies (e.g., NOAA) or commercial entities (e.g., CNN or MapQuest) where information provider 160 extracts, summarizes or transcodes information as necessary.
  • event detector 112 would use information from context interpreter 110 concerning a user's context to classify events as either scheduled and unscheduled. Part of this classification would rely on making a determination as to whether or not an event represents a deviation from a norm, which may be represented as a threshold value beyond which an event is considered to be outside the norm. Alternatively, information concerning whether an event is outside the norm (i.e., whether an event is in some way an "exception") may be provided as part of other information concerning the event from an external source, such as information provider 160.
  • An example of a scheduled event may be the checking of a weather information feed on a periodic basis.
  • Such periodic checking of information would be an example of a time- triggered event, i.e., a trigger for event detector 112 to respond to based not on information received concerning external events, but merely the passage of time causing event detector 112 to actively look for events that may be of interest to the user.
  • Another example would be the passage of time triggering a reminder of an event that was earlier scheduled on a calendar.
  • Examples of unscheduled events may be the receipt of a new email or an alert from an airline about a flight cancellation.
  • agent selector 114 receives indications from event detector 112 that an event of interest to a user has occurred, along with an indication from event detector 112 of the degree to which the event is of importance to the user. Taking into account the nature of the event and the degree of interest to the user, agent selector 114 determines whether the user should be contacted, whether another person that the user has given authority to handle certain events on the user's behalf should be contacted, whether multiple persons should be simultaneously contacted, or whether automated assistant 100 could independently take action that would be sufficient without disturbing the user.
  • agent selector may refer to profile information 132 and/ or rules 136 for restrictions supplied by the user and/ or others concerning who should be contacted for particular events and under what circumstances, as well as any applicable exceptions. [0025] If it is determined that the user and/ or others must be contacted, then agent selector 114 uses contact information 134 and the degree of interest to the user indicated by event detector 112 to select the means by which the user and/ or others must be informed. If the event is of sufficient importance that immediate action is required, but the user has indicated that a person and not automated assistant 100 must take that action, then agent selector 114 may determine that the user or a person specified by the user should be contacted via multiple means, simultaneously. For such an important event, agent selector 114 may determine that multiple persons should be contacted simultaneously, and those persons may or may not include the user.
  • agent selector 114 may take into account the different limits imposed by the different means by which the user may be informed. For example, the user may have a pager that may or may not be able to display text information to the user, and if the pager has text capability, then there may be limits on the number of characters that can be sent. Such limits on the pager may make it more desirable to contact the user by way of an available text-enabled cell phone, if the message that must be communicated is lengthy, and the text-enabled cell phone is able to accept and/ or display a larger message. The nature of the message and the expected response from the user may also be taken into account.
  • the message is a list of possible alternate flights to replace a cancelled flight
  • any device which can display the alternatives and allow for simple selection may be used.
  • the event is one which will require a freeform response (e.g. a continuing e-mail exchange with an important contact)
  • devices capable of such interaction would be preferred.
  • agent selector 114 may take into account information concerning a user's current location in selecting a means to contact a user, including information provided by context interpreter 110. Limits in geographic coverage may preclude the use of a user's pager, cell phone or other wireless device, and agent selector 114 may take this into account in choosing another means of contacting a user. There may be compatibility, security or protocol limits precluding the use of a data network to reach a user by way of a portable computer or other device, even if that device is currently attached to a network and is, therefore, otherwise accessible.
  • Such limits may be the result of a "firewall" limiting access to a private network to which a user has attached the device, which may happen in situations where a user is a guest visiting the place at which his device is attached to the private network.
  • Another such limit may be imposed by limits in the wireless coverage available in a given geographical location, such that a user with a text-enabled cell phone nonetheless cannot receive text messages on his cell phone, because the wireless network in the user's current location does not support such a feature.
  • agent selector 114 may simply send an acknowledgement to the sender of a note that the meeting was cancelled.
  • agent selector 114 would refer to contact information 134 to select a means of reaching the user to inform the user of the cancellation.
  • agent selector 114 might use a means of reaching the user that would be more appropriate for providing the user with a swift notification of the cancellation, such as the user's pager or mobile phone. However, if the cancelled meeting was to occur quite some time later, then agent selector 114 may choose to send the user an email which the user can receive and read at leisure, or agent selector may choose to contact a person that the user has specified as someone to deal with such a situation on the user's behalf, such as a secretary, since this information is not so urgent.
  • agent selector 114 refers to rules 136, as well as contact information 134, in making that selection.
  • rules 136 may indicate that it is currently night time, and the user has specified that contact is to take place at night only under specific circumstances, and so agent selector 114 may wait until morning if the event does not fit those specific circumstances.
  • agent selector 114 weighs the importance of contacting the user against the intrusion to the user of doing so, and chooses the appropriate time and means of contacting the user.
  • the agent selector 114 contains a small number of templates in which events of a given type or severity are mapped to a specific defined action to be taken. Part of that defined action may be to contact one or more specific persons or contacts other than the user. Such specific persons might be emergency personnel or a user's secretary or administrative assistant.
  • a template might specify that flight cancellations are to be handled only by the user — no other person, and not automated assistant 100. Or, in another example, a template might specify that flight cancellations will be assigned to an administrative assistant if more than a specified amount of time exists before the scheduled departure time.
  • An event may arise for which there is no template, but for which a person other than a user must be chosen and contacted.
  • a person chosen due to some connection with the user and the event in question would be contacted.
  • a person may be someone that the user has met with, recently, or a person with whom the user regularly consults concerning events of the kind that has arisen, and who is therefore a person associated with the subject of the event, such as a financial advisor or broker in the case of an important event concerning the user's financial portfolio. If the event is an emergency concerning a family member or friend of the user, a person from the user's address book or buddy list may be selected.
  • the selected person maybe someone that from scheduled events, seems to have a connection to the family member or friend who is the subject of the emergency, such as a baby sitter in the case of an emergency concerning one of the user's children.
  • a chosen emergency contact may be a family member or other person trusted by the user to handle emergencies in cases where an evaluation of rules, templates and /or preferences reveals no clear choice of person to contact.
  • Such an emergency contact may be specified as being a default person or persons to contact if efforts to contact one or more persons who could be identified through templates, rules and/ or preferences prove unsuccessful.
  • automated assistant 100 may also communicate to the emergency contact what efforts have been made to reach other persons, as well as the nature of the emergency, itself.
  • escalation controller 116 determines when and how to escalate the effort to contact the user. In one embodiment, escalation controller 116 monitors the initial effort made by agent selector 114 to contact the user via an initial choice of device, and if the attempt is unsuccessful after a certain period of time, escalation controller 116 prods agent selector 114 to try harder by making another attempt, and perhaps by using a different device.
  • escalation controller 116 may be combined with agent selector 114, and the combined agent selector and escalation controller may simply reevaluate the initial weighing of the importance of contracting the user against the intrusion of doing so, now that more time has passed, and the need to contact the user may have become more urgent.
  • agent selector 114 the combined agent selector and escalation controller may simply reevaluate the initial weighing of the importance of contracting the user against the intrusion of doing so, now that more time has passed, and the need to contact the user may have become more urgent.
  • the cause for a lack of success may be taken into account in determining what to do, next.
  • the manner in which there proves to be a lack of success in attempting to reach a user or other person may be as simple as the person being contacted just doesn't answer or just doesn't respond.
  • agent selector 114 may choose to attempt to reach another person and/ or choose to attempt to reach the same person in some other way.
  • the manner in which there proves to be a lack of failure may give an indication as to the nature of the failure, such as a recording from a phone company that a number is no longer in service, or a busy signal, or that the person to whom the telephone number belongs is outside the service area where a telephone or cell phone can be used.
  • the indication may come in the form of a return email that the person is out of town, or that their email mailbox is full and cannot accept more messages, or that the email address is not valid.
  • escalation controller 116 may prod agent selector 114 into choosing a more aggressive and potentially intrusive way of reaching that individual, since the choice of ways to reach that individual has been effectively diminished.
  • escalation controller 116 prodding agent selector 114 may result in automated assistant 100 choosing to address the event in question on its own, because there was no one else who was appropriate for being contacted about the event.
  • escalation controller 116 may prod agent selector 114 into retrying the same way to make contact after waiting a period of time that would be shorter than might have been used had the reason for failure been shown to be something that may not be corrected for a longer period of time, or at all.
  • agent selector 114 refers to contact information 134, discovers that the user has a pager capable of receiving text messages, and sends the user a text message on the user's pager.
  • agent selector 114 again reviews contact information 134 and rules 136 and determines that making an effort to reach the user by way of a speech-synthesized voice to the user's mobile phone is now appropriate, and does so. However, for whatever reason, the user does not answer, and so now agent selector 114 refers to PIM information 130 to obtain the telephone number of the conference room in which the user is scheduled to have a meeting (if that information is there), and places a call to that conference room.
  • automated assistant 100 may simply handle the event, itself. It may be that the user has supplied a preference for having either the user or a specified person be the one to handle a given event, but then, if attempts at reaching the user and/or a specified person have proven unsuccessful, automated assistant 100 is to then handle the given event.
  • automated assistant 100 may then later attempt to contact the same persons that automated assistant 100 had attempted to reach, earlier, to inform them that the event has been handled and/ or to supply details of what the outcome of handling the event was.
  • the event may be that a user's flight has been delayed, and attempts at reaching the user and/ or the user's secretary have proven unsuccessful, and so automated assistant arranges for the prepaying of a fee necessary to guarantee a hotel room reservation for late check-in by the user.
  • An event may be ongoing in such a way that circumstances change to an extent that causes automated assistant 100 to repeatedly evaluate what course of action is to be taken or to reevaluate the question of whether action should be taken at all.
  • Automated assistant 100 may change an earlier determination of who to contact or where to attempt contacting a person, in addition to determining what means to use in making such contact. Automated assistant 100 may initially determine that acting autonomously on behalf of a user is the best course of action and then later determine due to changing circumstances that a person must be contacted, or vice versa.
  • escalation controllerll ⁇ may cease attempting to prod agent selector 114 into taking any further action, and instead, may simply send a notice to the user of the actions attempted.
  • the person who has been successfully reached may be provided with information concerning what attempts have been made to contact others and/ or information concerning the results of previous attempts to contact others, in addition to information concerning the event, itself. This may prove useful to the person who has been successfully contacted in making a decision as to how they will respond to the given event, especially if the event is in some way an emergency. Alternatively, there may be reasons stemming out of privacy or security to limit how much information concerning unsuccessful attempts to contact others is provided to the person who is successfully contacted. It may be that a user may choose to configure automated assistant 100 to never provide information concerning attempts to contact particular individuals.
  • User interface 140 provides a user with a way to supply information needed to prepare automated assistant 100 for normal operation.
  • automated assistant 100 is maintained on centralized computer systems by a commercial provider of automated assistant 100 as a service to users to subscribe to, and an embodiment of user interface 140 could be a web page accessible to a user via the internet.
  • automated assistant 100 is maintained on a computer system owned by a user (or otherwise more locally accessible to a user), and user interface 140 could be an application that a user would run on that computer system.
  • Communication provider 190 allows automated assistant 100 to communicate with the external world.
  • Communication provider 190 may be a commercial entity providing services used by automated assistant 100 in attempts that it may make to contact the user, and may be comprised of mobile phone service providers, paging service providers, internet service providers, etc.
  • information concerning phone numbers or email addresses by which a user may be reached are maintained as part of contact information 134.
  • Contact information 134 may also contain information about service charges and billing rates for each service provider 190, and such information may be among the factors weighed by either agent selector 114 or escalation controller 116 in determining when or how to contact a user. For instance, a user may have a satellite telephone by which the user could be reached in areas or at times when more conventional paging or mobile phone services are unavailable, but the need to reach the user in a particular instance may not be so pressing as to warrant incurring the high costs that might be associated with using such a recently developed means of contacting the user.
  • communication provider 190 may be comprised of hardware and/ or software used to provide automated assistant 100 with access to devices such as facsimile machines, printers, mailers, scanners and other ways to interface with hardcopy communication channels.
  • communication provider 190 may be comprised of hardware and/ or software to provide an interface to email, text-to-speech output, speech recognition input, or text messaging on such devices as pagers or other portable radio devices, etc.
  • Automated assistant 100 may also rely on communications provider 190 to supply information indicating a user's current whereabouts, either for use in updating a user's schedule, or as part of the information used in making a determination as to whether or not a user should be contacted concerning a given event.
  • communications provider 190 provides wireless services
  • communications provider 190 may be possible for communications provider 190 to determine where a user is located, geographically, through the wireless network operated by communication provider 190. This might be done by analyzing relative signal strengths at different geographic points, or by identification of the geographic cell in which a user is operating a mobile phone, or by other means. It may also be the case that a user is carrying a cell phone, pager or other device able to provide information about the user's geographic location as determined by a GPS receiver or similar technology incorporated into the device, using the communications system provided by communications provider 190 as the vehicle to transmit that information.
  • communications provider 190 may also be able to determine the speed at which a user or other person is currently traveling, again through GPS, triangulation or other methods. This information may be used as a factor by automated assistant 100 in deciding the best way in which to reach the user or other person. For example, the fact that a particular person is traveling in a given direction at a given speed may allow automated assistant 100 to surmise that the particular person is heading for home, and will be there by a given time, allowing automated assistant 100 to reach that person by way of a call to their home phone or an email to their personal email account.
  • the fact that a person to be contacted seems to be stationary allow automated assistant 100 to surmise that the person will be able to read a text message sent to either a text-enabled cell phone or pager.
  • the ability to send a text message may be preferable, but if the person to be contact seems to be in motion beyond a certain rate of speed, such as 20mph, automated assistant 100 may surmise that the person is possible driving a car, at present, and so a voice call to a cell phone using voice synthesis to convey a message to that person may then be preferable.
  • E-commerce provider 170 may be the provider of such services as online shopping (i.e., shopping for goods or services over the internet or other electronic means), remote booking of travel services, calling in of food orders, etc.
  • E-commerce provider 170 may be one avenue by which automated assistant 100 takes action autonomously in response to an event in addition to or in lieu of automated assistant 100 interacting with commercial or government entities on behalf of a user without the assistance of e-commerce provider 170. For example, if e-commerce provider 170 provides the ability to make or change flight reservations, then in the above example concerning a cancelled flight, automated assistant 100 could have simply made new flight arrangements on behalf of the user, perhaps also altering reservations for rental transportation and/ or hotel accommodations.
  • whether or not automated assistant 100 would engage in making such arrangements on behalf of a user would depend on whether or not information within rules 136 indicates that the user is willing to allow automated assistant 100 to do so. It may be that the user wishes to make all arrangements and only wants automated assistant 100 to provide a warning of the need to do so. Alternatively, the user may be willing to let automated assistant 100 make such arrangements and then inform the user of the changes already made, but with a limitation on the highest price that the user is willing to allow automated assistant 100 to agree to on behalf of the user.
  • E-commerce provider 170 includes, but is not limited to, entities with which automated assistant 100 could interact with by way of electronic messaging, e.g., emails, packetized electronic transfers, etc.
  • FIG. 1 depicts an embodiment of an automated assistant in which various internal functions are partitioned and distributed in specific ways among the various components depicted. However, as will be apparent to one of ordinary skill in the art, the various internal functions may be partitioned differently among any of a number of components internal to automated assistant, as hereinafter claimed. Specifically, information concerning a user and/ or other persons may be organized in a manner that varies from the aforedescribed divisions into PIM information 130, profile information 132, contact information 134 and rules 136.
  • FIG. 2 is a flow chart followed by one embodiment of the present invention.
  • a user's automated assistant waits for information concerning an event at 200.
  • event information is received at 202
  • the context interpreter of the automated assistant supplies information concerning what the user is doing now or what the user will be doing at 210.
  • the context interpreter retrieves this information from the user's calendar of scheduled events.
  • the context interpreter retrieves this information from other sources that are able to supply an indication of what the user is currently doing or where the user is currently located.
  • the event detector of the automated assistant determines whether or not the event information is of importance to the user based on what the user is doing now or what the user will be doing, as well as based on what the user's interests are known to be from the user's profile information. If the event information is not of importance to the user, then the automated assistant takes no further action, and returns to waiting for event information at 200. [0050] However, if the event information is of importance to the user, then the agent selector of the automated assistant determines whether or not the automated assistant can take appropriate action on its own, without having to contact the user.
  • the agent selector of the automated assistant would refer to the user's profile information to determine the user's preferences for whether or not the user would prefer to be involved in handling the event.
  • the agent selector would refer to the rules information supplied by the user to see if there is a constraint on price amounts or a specific set of circumstances under which the user has specified that the user or another person acting on the user's behalf must be contacted which the event might meet.
  • the agent selector of the automated assistant determines that the event is one that the automated assistant can respond to without contacting the user, then the agent selector undertakes such action at 232.
  • the agent selector of the automated assistant determines that the user must be contacted, then the agent selector refers to the user's contact information to determine the appropriate means for contacting the user.
  • the agent selector would also refer to the user's preferences for any indications of a preferred way in which the user would want to be contacted.
  • the agent selector would also refer to the user's rules to determine if there are any requirements or limits supplied by the user concerning when or how the user may be contacted.
  • the user may have indicated a preference that the automated assistant contact the user on the user's text-enabled cell phone, but the user may have also supplied a rule that the user does not want to be called on his cell phone after a certain hour of the night, and that the user's text-enabled pager is always to be used after that hour.
  • the agent selector After selecting an appropriate way to contact the user at 234, the agent selector carries out contacting the user at 236. [0052] If, at 238, the user has not responded, then at 240, the escalation controller of the automated assistant reevaluates the appropriate way to contact the user, taking into account any effect that the passage of time may have on how urgently the user needs to be contacted.
  • the escalation controller may choose to use another means of contacting the user, one that may not have been what the user would have preferred, but which may now be necessary.
  • the escalation controller like the agent selector, may refer variously to the user's preferences and/ or the rules supplied by the user. At 236, another attempt would be made to contact the user, and again, the automated assistant would wait at 238 for an appropriate time for the user to respond before making further attempts.
  • Figure 3 is a flow chart of another embodiment of the present invention.
  • a user's automated assistant waits for information concerning an event at 300.
  • event information is received at 302
  • the context interpreter of the automated assistant supplies information concerning what the user is doing now or what the user will be doing at 310.
  • the context interpreter retrieves this information from the user's calendar of scheduled events.
  • the context interpreter retrieves this information from other sources that are able to supply an indication of what the user is currently doing or where the user is currently located.
  • the event detector of the automated assistant determines whether or not the event information is of importance to the user based on what the user is doing now or what the user will be doing, as well as based on what the user's interests are known to be from the user's profile information. If the event information is not of importance to the user, then the automated assistant takes no further action, and returns to waiting for event information at 300.
  • the agent selector of the automate assistant determines whether or not the automated assistant should take appropriate action on its own without contacting anyone. It might be appropriate for the automated assistant to act on its own if the event concerns something minor that the user would not have wanted anyone to be bothered with, or if it is not possible to successfully contact anyone that would be appropriate to contact, at all, or within a period of time short enough to be useful.
  • the agent selector may use one or more pieces of information in making the determination of whether or not to contact someone and/ or who, including the user's profile information, rules set by the user, various technological or geographical obstacles that may exist in trying to reach someone, and/ or whether or not contact had been previously attempted, but was unsuccessful for either the current event or a previous event. If the agent selector determines that the event is one that the automated assistant can respond to without contacting the user, then the agent selector takes appropriate action at 332. [0057] However, if at 330, the agent selector of the automated assistant determines that a person or persons must be contacted, then at 340, the agent selector determines what means to use in making contact, as well as whether or not it is actually possible to make contact.
  • various pieces of information may be used by the automated assistant, including, but not limited to the user's preferences, preferences of others if others are to be contacted in lieu of or in addition to the user, the schedules of the user and/ or others, information concerning the various means available for reaching the user and/ or others, information concerning the current whereabouts of the user and/ or others, technological or geographic obstacles to reaching the user and/ or others, and whether or not previous attempts to contact the user and/ or others regarding this event or a previous event were successful. For instance, limits in wireless coverage at the current location of a person or the fact that the person is in transit, and therefore the person's location is constantly changing may impose limitations on the ways in which that person may be contacted.
  • a person to be contacted is currently stationary in an area with wireless coverage, then it may be desirable to send a text message to that person's pager or cell phone.
  • a person to be contacted is in motion, then communication by way of text messages may not be reliably available throughout that person's line of travel, and so it may be desirable to contact that person by their cell phone and place a voice message.
  • the agent selector at 340 determines that it is possible to contact the user and/ or another person or persons concerning the event, then the agent selector makes the attempt to do so at 350. Depending on the importance of the event or other information, the agent selector may attempt to reach multiple ones of the selected, concurrently. Also, in making the attempt, the agent selector may determine it is appropriate to contact one or more of the selected persons using more than one means of communication, concurrently. [0059] At 360, if none of the persons contacted have responded within a reasonable period of time, then the escalation controller of the automated assistant prompts the agent selector to reevaluate what action is to be taken next, at 330. It may be that circumstances have changed with the passage of time incurred while waiting for someone to respond.
  • the agent selector would take action as appropriate at 332. However, it may be that information such as the user's preferences indicates that it is not appropriate for the automated assistant to act on its own, and so at 340, a reevaluation is made by the agent selector as to whether or not it is still possible to try again to reach someone, and this may result in an attempt to make contact with a different person and/or with one or more of the same people previously tried, but with different means at 350. However, if at 340, it is determined that all avenues have been tried for reaching all of the appropriate people, then at 342, the agent selector takes whatever action is appropriate on its own.
  • FIG. 4 is a flow chart of still another embodiment of the present invention.
  • a user's automated assistant waits for information concerning an event from information sources such as weather, traffic, flight status, emails, calendar reminders, etc., at 402.
  • event information is received, action items (tasks that need to be performed) in response to the event are identified at 404.
  • a single event may translate into a plurality of action items that may need to be carried out, such as a flight cancellation leading to an action item to notify the user, an action item to gather information on alternative flights for the user, and possibly an action item to proceed autonomously with booking an alternative flight for the user.
  • the identification of action items may be carried out in great detail, initially, while in other embodiments, only higher- level and more generalized tasks may be identified with the finer details being left to be determined at a later time by more specialized hardware and/ or software either within or external to the automated assistant.
  • this may mean that action items will only be identified when their dependencies have been met, while in other systems, action items will be identified sooner, but will not be acted upon until previous action items are completed or additional information needed to act on those action items becomes available.
  • an action item is evaluated to determine if it is of enough importance to take action. If not of enough importance, then the action item may not be processed, further, and another determination is made at 410 as to whether there are any more action items to be processed. In evaluating the degree of importance of an action item, various factors are weighed. The current activities and environment of the user are taken into account along with profile information, rules, passage of time and urgency of the action item and/ or event are used.
  • an email received concerning a meeting requiring travel by a user to attend would have greater urgency for being acted on than an email concerning a meeting in the user's office, because changes resulting in the cancellation or rescheduling of a meeting may well entail canceling or rescheduling flights and/ or hotel accommodations, and therefore, require some lead time to carry out, effectively.
  • Another example of urgency playing a factor in determining importance is the difference between an event where notice is received of a flight cancellation 6 days in advance as opposed to 6 hours in advance. The latter case clearly requires action more urgently, and therefore is deemed more important.
  • the passage of time may make other events less important, rather than more important as the event becomes "stale," such as an interest rate cut by the Federal Reserve Board, which may be an event creating an opportunity that may be of importance to a user, but only for a limited time, and may cease to be of value if the user and/ or another person designated by the user does not respond in timely fashion.
  • an interest rate cut by the Federal Reserve Board which may be an event creating an opportunity that may be of importance to a user, but only for a limited time, and may cease to be of value if the user and/ or another person designated by the user does not respond in timely fashion.
  • an action item is determined to be of enough importance to take action, then at 422, a determination is made to as to whether the user, a person delegated by the user, the automated assistant, or some combination of these are capable of handling the action item.
  • various factors may be considered including, but not limited to, whether or not current information about the user's current location and activities (i.e., the user's context) indicates that the user can be reached via one of his communication devices.
  • a similar determination may be made of one or more other persons specified to be persons to whom the action item could be delegated.
  • various metrics could be calculated that relate to the capability of a handler to handle the action item, including authorization to do so, availability, cost in time or money required and/ or user preferences based either on preferences explicitly provided by the user or preferences derived from feedback relating to past performance of a handler, such as how reliable a particular handler was in taking action on an earlier action item.
  • a determination is made as to the costs incurred for each handler to handle the action item, and at 430, a determination is made as to whether there is a handler that can take action on the action item without the cost being too high or the probability of success too low to justify proceeding.
  • one or more handlers are selected at 432.
  • the selection of more than one handler may be prompted by situations such as there being only handlers with a demonstrated low rate of reliability available to handle the action item, in which case, it would not be prudent to rely on just one handler. If the system has sufficient information to handle the action item and the user's profile and/ or the rules indicate that the system is the handler that the user would prefer to have handling the action item, then the system can select itself to handle the action item and do so.
  • each handler that has been selected is assigned the action item. If at 450, the automated assistant (i.e., the system) has been selected as a handler, then the action item is assigned to the system at 452. If at 460 or at 470, either the user or a person delegated by the user is a selected handler, then a device for contacting the user or the delegated person is selected and used to send a message at 462. Depending on the handlers selected at 432, above, action may be taken by more than one handler, simultaneously, and/ or messages may be sent to more than one handler, simultaneously.
  • the system may have selected itself as one of the handlers at 432, and may take an initial step in parallel with attempting to contact another handler, such as tentatively booking another flight in such a way that another handler could undo the system's actions if another handler responds sufficiently early.
  • the current location and activities (i.e., the context) of the user and/or the delegated person may be taken into account.
  • Devices that could be used include, but are not limited to, pagers, cell phones, facsimile transmissions, speech synthesis technology, etc.
  • this fact may be used in making a new determination of the importance of the event, possibly along with the passage of time where urgency or staleness of the event may be a factor.
  • the example embodiments of the present invention are described in the context of an automated assistant with its components organized in a specific configuration, and intended to run on a computer system in support of a single user.
  • the present invention may be practiced with the various pieces of information on a given user being organized differently than has been described in detail, herein.
  • a user's preferences may be combined with the rules, and/ or a user's contact information may be combined with a user's PIM information, and so on.
  • a single automated assistant or instance of a piece of automated assistant software may be used to provide automated assistant services to a plurality of users.
  • This plurality of users may be members of a family, employees of a business, or may be individuals with no other connection with each other beyond making use of the same commercial provider of such services. Furthermore, users may also be individuals to whom a user has delegated responsibility for handling particular events, such as a secretary or administrative assistant, or others who use an automated assistant on behalf of another user. Furthermore, the present invention may be practiced using a dedicated automated assistant device that comprises dedicated hardware, as opposed to being practice as automated assistant software designed to be run on any of a number of commonly available computer systems.

Abstract

A method and apparatus for evaluating the importance of an event to a person and taking action if the level of importance meets or exceeds one threshold (310), but is below or only meeting another; attempting to contact at least one person if the level of importance meets or exceeds a threshold (330); or attempting to contact at least one person using a first way to do so if the level of importance meets or exceeds a threshold (350), and selecting and using a second way to contact the at least one person if the at least one person has not responded within a period of time after using the first way (360).

Description

METHOD AND APPARATUS FOR MESSAGE ESCALATION BY DIGITAL ASSISTANTS
FIELD OF THE INVENTION
[0001] The present invention is related to an apparatus and method for escalating messages to individuals by way of digital assistants, such as pagers, telephones and organizers.
ART BACKGROUND
[0002] Electronic devices and services used to retrieve information and provide reminders of appointments are widely known.
[0003] Commonly available PDAs ("personal data assistants") and other devices allow users to store and organize information concerning people, places and events are currently in wide use. Many such devices maintain a user's schedule and provide automated reminder functions to remind the user of an upcoming event, such as a meeting. However, these devices require that all such information be directly supplied by their users. In essence, these devices do nothing beyond what their users instruct them to do.
[0004] Commercial services to provide meeting reminders and notices of events tailored to the individual interests of subscribers are also available. Many such services provide various ways in which a subscriber can provide a list of categories of information that the subscriber wants to be informed about. However, these services require the subscriber to specify the categories or other criteria concerning the information the subscriber is interested in. In essence, these services also do nothing beyond what their users instruct them to do. [0005] There exist commercial paging services by which a subscriber may arrange to have results of sporting events, weather reports, or notices of favorable conditions for surfing sent to a pager. Additionally, there are commercial services whereby a subscriber may arrange to receive a "wake up" call on their home telephone (or at some other telephone number) at a specified time on a given morning. However, these services are limited to contacting a subscriber by a single method prescribed by a user and for a single purpose. [0006] Furthermore, there exists a feature in various pieces of software by which a user may be informed by email of a change made to an item under the user's control in a database or in a piece of programming code for which the user is responsible. However, this entails the use of a very limited option for contacting a user for very limited reasons. BRIEF DESCRIPTION OF THE DRAWINGS [0007] The objects, features, and advantages of the present invention will be apparent to one skilled in the art in view of the following detailed description in which:
Figure 1 is a block diagram of one embodiment of the present invention.
Figure 2 is a flow chart followed by one embodiment of the present invention.
Figure 3 is a flow chart followed by another embodiment of the present invention.
Figure 4 is a flow chart followed by another embodiment of the present invention.
DETAILED DESCRIPTION
[0008] 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 these specific details are not required in order to practice the present invention.
[0009] The present invention concerns the escalating of selected information to the user of an automated assistant. Such escalation of selected information to a user could be done through portable or hand-held devices such as pagers, PDAs, mobile telephones or portable computers to keep the user up to date concerning his personal schedule. However, as those skilled in the art will appreciate, the present invention is also applicable to the use of non-portable devices such as stationary computer systems or landline telephones, and may be used to provide information concerning issues other than personal schedule, such as current events, or affairs involving other people with some importance or connection to a user.
[0010] Figure 1 is a block diagram of one embodiment of the present invention. Automated assistant 100 is comprised of context interpreter 110, event detector 112, agent selector 114 and escalation controller 116. Automated assistant 100 relies on various pieces of information concerning a user including, but not limited to, PIM information 130, profile information 132, contact information 134 and rules 136. User interface 140 allows a user to customize automated assistant 100. Automated assistant 100 receives information that may be of importance to a user from at least one information provider 160, and automated assistant 100 may interact with at least one e-commerce provider 170 in order to carry out instructions from a user. At least one communication provider 190 is used by automated assistant 100 to provide remote communication with a user. In one embodiment, such communication may include access to user interface 140. [0011] In one embodiment, user interface 140 is an application run by a user on a computer system, cell phone, portable PDA or other device used to gain access to automated assistant 100 and/ or to modify information used by automated assistant 100. In another embodiment, user interface 140 may be presented by way of web pages allowing a user to modify information used by automated assistant 100, and viewable using commonly available web browser hardware and/ or software. In yet another embodiment, user interface 140 is accessible only to a service provider that provides either part or all of the services of automated assistant 100 to a user. In various embodiments, a user's interaction with automated assistant 100 may be through communication provider 190. [0012] PIM information 130 is maintained by automated assistant 100 and is comprised of daily information concerning a user. In one embodiment, this information includes, but is not limited to, the kinds of information often maintained on currently available PDA devices, such as a calendar of scheduled events and appointments, an address list, a phone list and memos by the user such as a "to-do" list. In one embodiment, this information is updated on a recurring basis from a PDA device carried by a user. In another embodiment, this information is provided by the user through use of user interface 140. In yet another embodiment, the user provides this information to automated assistant 100, directly through such devices as a pager or mobile phone. In still another embodiment, PIM information 130 additionally includes information concerning another person to whom a user may have delegated the authority to respond to one more types of events. In a further embodiment, PIM information 130 may be compiled from personal information maintained by other external sources, such as personal, work and/ or family calendars maintained externally from automated assistant 100, but to which automated assistant 100 has access by any of a number of means. For example, PIM information 130 may contain some information concerning the schedule of that other person for use in deterrnining whether or not that other person is available in lieu of the user at a given time. [0013] Profile information 132 is maintained by automated assistant 100 and is comprised of information concerning a user's preferences. Such information could include, but is not limited to, e-commerce providers that a user prefers to use for particular products or services, whether the user prefers a window or aisle seat on an airplane, a user's tastes in food, a user's membership in frequent flier mileage programs or business rate rental car programs, whether a user prefers to make all travel arrangements or is willing allow that to be done by others, a user's preference for primary means of communication, a user's preferred commute routes, as well as which stocks or travel locations are of greatest interest to a user. Such information might also include, preferences about circumstances or types of events where a user prefers that another person be contacted in lieu of the user, such as a secretary, friend or family member of the user.
[0014] In one embodiment, profile information 132 would be provided by the user to automated assistant 100, directly, possibly via user interface 140. In another embodiment, automated assistant 100 would derive such information by observing a user's behavior over time. In yet another embodiment, a user would directly supply such information, but over time, automated assistant 100 would record the degree to which the user did or did not adhere to that supplied information. In still other embodiments, at least part of such information would be supplied by an organization or institution with which the user is connected, such as an employer, medical facility, bank or financial institution, or school. [0015] Contact information 134 is maintained by automated assistant 100 and is comprised of information concerning what means are available to contact a user. In one embodiment, such information would comprise phone numbers for a user's pager, mobile phone, home telephone and/ or business telephone, along with data concerning whether text messages can be received on a user's pager or mobile phone. In another embodiment, such information would comprise email addresses by which a user could be contacted. In yet another embodiment, such information would comprise phone numbers of places outside of work or home where a user could be found. In still other embodiments, contact information 134 may further comprise contact information on other individuals to which a user has given authority to handle one or more events in lieu of the user, such as secretaries, friends or family members of the user.
[0016] Rules 136 is maintained by automated assistant 100 and is comprised of a set of rules that must be followed in carrying out various functions. In various embodiments, such information would be supplied by the user and/ or others to whom the user has given authority to add or edit rules, including but not limited to, those who are setting up or mamtaining automated assistant 100, the user's employer, members of the user's family, etc. Also, in various embodiments, the rules would comprise, but not be Umited to, limits on how much money may be spent on carrying out certain functions without first obtaining the user's approval, steps that must be followed in making reservations for travel or lodging, limits on the manner in which certain devices may be used in efforts to reach the user, limits concerning times during the day when the user does not want to be bothered, circumstances in which not the user, but another person to whom the user may have given authority to deal with one or more certain events, as well as exceptions to one or more of such rules. There may also be rules concerning which kinds of events or which subjects to which an event may pertain are too sensitive to permit contacting certain persons and/ or to permit attempting to make contact by certain means that are somehow not deemed to be secure enough. If the user does not specify others to whom authority to deal with one or more events has been delegated, there may be rules and/ or heuristic algorithms defined to look at "buddy" lists, contact information, calendar information and/ or other information to identify potential persons to whom such authority could be delegated. Rules 136 may be provided by various persons and/ or entities such as a user, the designers or maintainers of automated assistant 100, an entity associated with a user (such as a user's employer), or others to whom a user has delegated authority to make or alter rules 136. [0017] Context interpreter 110 tracks information and makes predictions concerning the current circumstances of a user, i.e., a user's context. Context interpreter 110 uses calendar, preference, profile, location and history information from various sources including, but not limited to, PIM information 130, profile information 132 and/ or rules 136 to determine where a user is likely to be, what the user is likely to be doing, how available the user is likely to be to various persons and/ or what resources are available for communication with the user. Where insufficient information is available to determine aspects of a user's context with certainty, predictions may be made, and such predictions may be accompanied by a confidence value to indicate the degree of certainty. In one embodiment, context interpreter 110 is an expert system which applies rules (which may or may not be part of rules 136) to make predictions concerning a user's context. In such an embodiment, a limit may be placed on the computations required to be performed by context interpreter 110 by limiting fields of information used in such computations to only those requested by other components of automated assistant 100.
[0018] Specifically, part of the information tracked by context interpreter are the activities and/ or current whereabouts of a user. In one embodiment, context interpreter uses the calendar being maintained as part of PIM information 130 to track the user, relying on the assumption that the user will generally follow what is scheduled on that calendar. In another embodiment, context interpreter 110 uses information received through a communications provider 190 (discussed in greater detail, below) to track the actual activities and/ or whereabouts of a user. Such information may be supplied by one or more devices being carried by a user, such as GPS data from a GPS receiver integrated into a user's cell phone or PDA. Such information may also be derived from wireless or landline-based voice or data networks, such as the broadcasting and receiving network of a cellular communications system, or a network address of where a user has currently attached a device such as a portable computer. Furthermore, such information may also be derived from the network address of a computer system or device attached to a landline network that is being accessed by a user at a given time, provided that information correlating a network address to a specific physical location has been supplied or is available. [0019] Where information concerning the actual whereabouts of a user or other person is able to be provided, it may be desirable for that person to be able to limit where and/or when such information is provided, since such information may be deemed to be sensitive or private for various reasons. In one embodiment, such a person may instruct the provider of a cellular phone, pager or other communication service to refuse to pass on information on his/her actual whereabouts. In another embodiment, one or more computer systems that maintain a landline based network to which such a person has connected a portable or desktop computer, or other device, may be configured to not pass on information needed to correlate a network address with a physical location, or may be configured to hide or limit access to the actual network address. In these embodiments, automated assistant 100 would be denied access to such a person's whereabouts, and would therefore, not have that information available in making determinations as to the best way to reach that person or in making determinations as to whether or not to attempt to reach that person, at all. In yet another embodiment, a user may configure or instruct automated assistant 100 to not pass on the user's current whereabouts, even if automated assistant 100 has access to or is being supplied with that information. [0020] It may be that in the various embodiments where it is somehow arranged that information on a person's whereabouts will not be transmitted, that the choice of whether or not the information is transmitted is determined based on the identity of the would-be recipient. Specifically, a person could specify via a list, or degree of association, one or more individuals who would be permitted to receive information on the person's whereabouts, while others would not. In a further embodiment, a person could specify varying degrees dissemination of such information such that the person's family members or spouse, for instance, would have unrestrained access to information concerning the person's whereabouts, while close friends or important coworkers might have access to a less detailed version of such information (such as, simply whether or not the person is "away" for the time being), and while still others are provided with no such information, at all. Which individuals are chosen to be able to receive more of such information than others may be specified as part of being chosen by the person as being individuals to whom the person has delegated authority to handle particular types of events. In still another embodiment, a person might specify particular situations or events in which more information concerning his/her whereabouts would be made available versus others. [0021] Event detector 112 receives both information from information provider 160 concerning events and input from context interpreter 110 as to where a user is currently located or what a user is currently doing and will be doing in the future, and uses that information, along with profile information 132 and/or rules 136, to make a determination as to what action, if any, should be taken in response. In other words, event detector 112 evaluates the importance of an event to determine if anything should be done in response. In determining the importance of an event to a user, event detector 112 examines the information received from information provider 160 to see if there are any indications of anything that might effect the activities that a user is currently engaged in, or will be engaged in, such as attending a meeting or making investments. Event detector 112 also examines the information received to determine if there is something that has happened or will be happening that may cause the user to want to add an activity, such as attending a convention concerning a subject of interest to the user. Furthermore, in determining the importance of an event to a user, event detector 112 also evaluates the urgency with which action is to be taken, possibly to avoid the loss of an opportunity to act and /or to enable an action to have greater beneficial effect.
[0022] Information provider 160 gathers and formats information for use by automated assistant 100. In various embodiments, the information received from information provider 160 could comprise weather updates, traffic reports, and news of such events as sales or special local events that may be of interest to a user engaged in local activities. In other embodiments, the information received could comprise flight arrival and departure schedules, flight status, weather conditions at distant locations and along routes of travel, and the occurrence of major events at distant locations that may be of interest or have an impact on the travel plans of a traveling user. In still other embodiments, the information received could comprise stock quotes, earnings reports by corporations, and announcements by government agencies or other institutions of interest to a user engaged in making investments. Information provider 160 may be an original source for information about events and/ or a gatherer and formatter of information about events received from other entities such as government agencies (e.g., NOAA) or commercial entities (e.g., CNN or MapQuest) where information provider 160 extracts, summarizes or transcodes information as necessary.
[0023] In one embodiment, event detector 112 would use information from context interpreter 110 concerning a user's context to classify events as either scheduled and unscheduled. Part of this classification would rely on making a determination as to whether or not an event represents a deviation from a norm, which may be represented as a threshold value beyond which an event is considered to be outside the norm. Alternatively, information concerning whether an event is outside the norm (i.e., whether an event is in some way an "exception") may be provided as part of other information concerning the event from an external source, such as information provider 160. An example of a scheduled event may be the checking of a weather information feed on a periodic basis. Such periodic checking of information would be an example of a time- triggered event, i.e., a trigger for event detector 112 to respond to based not on information received concerning external events, but merely the passage of time causing event detector 112 to actively look for events that may be of interest to the user. Another example would be the passage of time triggering a reminder of an event that was earlier scheduled on a calendar. Examples of unscheduled events may be the receipt of a new email or an alert from an airline about a flight cancellation.
[0024] If event detector 112 determines that an event has occurred that requires an action to be taken, then agent selector 114 receives indications from event detector 112 that an event of interest to a user has occurred, along with an indication from event detector 112 of the degree to which the event is of importance to the user. Taking into account the nature of the event and the degree of interest to the user, agent selector 114 determines whether the user should be contacted, whether another person that the user has given authority to handle certain events on the user's behalf should be contacted, whether multiple persons should be simultaneously contacted, or whether automated assistant 100 could independently take action that would be sufficient without disturbing the user. In making this determination of which persons to contact, agent selector may refer to profile information 132 and/ or rules 136 for restrictions supplied by the user and/ or others concerning who should be contacted for particular events and under what circumstances, as well as any applicable exceptions. [0025] If it is determined that the user and/ or others must be contacted, then agent selector 114 uses contact information 134 and the degree of interest to the user indicated by event detector 112 to select the means by which the user and/ or others must be informed. If the event is of sufficient importance that immediate action is required, but the user has indicated that a person and not automated assistant 100 must take that action, then agent selector 114 may determine that the user or a person specified by the user should be contacted via multiple means, simultaneously. For such an important event, agent selector 114 may determine that multiple persons should be contacted simultaneously, and those persons may or may not include the user.
[0026] In selecting a means by which the user must be informed, agent selector 114 may take into account the different limits imposed by the different means by which the user may be informed. For example, the user may have a pager that may or may not be able to display text information to the user, and if the pager has text capability, then there may be limits on the number of characters that can be sent. Such limits on the pager may make it more desirable to contact the user by way of an available text-enabled cell phone, if the message that must be communicated is lengthy, and the text-enabled cell phone is able to accept and/ or display a larger message. The nature of the message and the expected response from the user may also be taken into account. For instance if the message is a list of possible alternate flights to replace a cancelled flight, then any device which can display the alternatives and allow for simple selection may be used. If however, the event is one which will require a freeform response (e.g. a continuing e-mail exchange with an important contact), devices capable of such interaction would be preferred.
[0027] In still another embodiment, agent selector 114 may take into account information concerning a user's current location in selecting a means to contact a user, including information provided by context interpreter 110. Limits in geographic coverage may preclude the use of a user's pager, cell phone or other wireless device, and agent selector 114 may take this into account in choosing another means of contacting a user. There may be compatibility, security or protocol limits precluding the use of a data network to reach a user by way of a portable computer or other device, even if that device is currently attached to a network and is, therefore, otherwise accessible. Such limits may be the result of a "firewall" limiting access to a private network to which a user has attached the device, which may happen in situations where a user is a guest visiting the place at which his device is attached to the private network. Another such limit may be imposed by limits in the wireless coverage available in a given geographical location, such that a user with a text-enabled cell phone nonetheless cannot receive text messages on his cell phone, because the wireless network in the user's current location does not support such a feature.
[0028] By way of example, if in one embodiment, a user was invited to attend a meeting, but opted not to do so, then there is no need for the user to be contacted if the meeting is later cancelled, because this event is of no importance to the user, and so agent selector 114 may simply send an acknowledgement to the sender of a note that the meeting was cancelled. However, if the user had chosen to attend the meeting, and it is later cancelled, then agent selector 114 would refer to contact information 134 to select a means of reaching the user to inform the user of the cancellation. If the meeting was scheduled to occur in the very near future, and so the cancellation is very much at the last minute, then agent selector 114 might use a means of reaching the user that would be more appropriate for providing the user with a swift notification of the cancellation, such as the user's pager or mobile phone. However, if the cancelled meeting was to occur quite some time later, then agent selector 114 may choose to send the user an email which the user can receive and read at leisure, or agent selector may choose to contact a person that the user has specified as someone to deal with such a situation on the user's behalf, such as a secretary, since this information is not so urgent.
[0029] In another embodiment, where agent selector 114 is selecting a means by which to contact a user, agent selector 114 refers to rules 136, as well as contact information 134, in making that selection. Although the user may need to be urgently contacted concerning an event, rules 136 may indicate that it is currently night time, and the user has specified that contact is to take place at night only under specific circumstances, and so agent selector 114 may wait until morning if the event does not fit those specific circumstances. In essence, agent selector 114 weighs the importance of contacting the user against the intrusion to the user of doing so, and chooses the appropriate time and means of contacting the user. [0030] In still another embodiment the agent selector 114 contains a small number of templates in which events of a given type or severity are mapped to a specific defined action to be taken. Part of that defined action may be to contact one or more specific persons or contacts other than the user. Such specific persons might be emergency personnel or a user's secretary or administrative assistant. For example, in one embodiment, a template might specify that flight cancellations are to be handled only by the user — no other person, and not automated assistant 100. Or, in another example, a template might specify that flight cancellations will be assigned to an administrative assistant if more than a specified amount of time exists before the scheduled departure time. [0031] An event may arise for which there is no template, but for which a person other than a user must be chosen and contacted. This may be the case either due to limitations imposed on contacting the user within rules 136 or other factors such as limits in means of communication by which a user may be reached. In one embodiment, a person chosen due to some connection with the user and the event in question would be contacted. Such a person may be someone that the user has met with, recently, or a person with whom the user regularly consults concerning events of the kind that has arisen, and who is therefore a person associated with the subject of the event, such as a financial advisor or broker in the case of an important event concerning the user's financial portfolio. If the event is an emergency concerning a family member or friend of the user, a person from the user's address book or buddy list may be selected. The selected person maybe someone that from scheduled events, seems to have a connection to the family member or friend who is the subject of the emergency, such as a baby sitter in the case of an emergency concerning one of the user's children. It may also be desirable to have a chosen emergency contact that may be a family member or other person trusted by the user to handle emergencies in cases where an evaluation of rules, templates and /or preferences reveals no clear choice of person to contact. Such an emergency contact may be specified as being a default person or persons to contact if efforts to contact one or more persons who could be identified through templates, rules and/ or preferences prove unsuccessful. Where an attempt is being made to reach an emergency contact because of lack of success in reaching others, automated assistant 100 may also communicate to the emergency contact what efforts have been made to reach other persons, as well as the nature of the emergency, itself.
[0032] If it was determined that an event required that a user be contacted, and contact was attempted by agent selector 114, but has been unsuccessful in reaching the user, then escalation controller 116 determines when and how to escalate the effort to contact the user. In one embodiment, escalation controller 116 monitors the initial effort made by agent selector 114 to contact the user via an initial choice of device, and if the attempt is unsuccessful after a certain period of time, escalation controller 116 prods agent selector 114 to try harder by making another attempt, and perhaps by using a different device. In another embodiment, escalation controller 116 may be combined with agent selector 114, and the combined agent selector and escalation controller may simply reevaluate the initial weighing of the importance of contracting the user against the intrusion of doing so, now that more time has passed, and the need to contact the user may have become more urgent. [0033] There are a number of ways in which an effort to reach the user or other individual could end unsuccessfully, and in one embodiment, the cause for a lack of success may be taken into account in determining what to do, next. The manner in which there proves to be a lack of success in attempting to reach a user or other person may be as simple as the person being contacted just doesn't answer or just doesn't respond. There may be no hint as to why this is the case, and as a result of prodding by escalation controller 116, agent selector 114 may choose to attempt to reach another person and/ or choose to attempt to reach the same person in some other way. Alternatively, the manner in which there proves to be a lack of failure may give an indication as to the nature of the failure, such as a recording from a phone company that a number is no longer in service, or a busy signal, or that the person to whom the telephone number belongs is outside the service area where a telephone or cell phone can be used. The indication may come in the form of a return email that the person is out of town, or that their email mailbox is full and cannot accept more messages, or that the email address is not valid.
[0034] Where an indication is received that the attempted communication failed for a reason that may not be corrected for some time, or may not be correctable, at all, escalation controller 116 may prod agent selector 114 into choosing a more aggressive and potentially intrusive way of reaching that individual, since the choice of ways to reach that individual has been effectively diminished. Alternatively, such an indication of failure that cannot be counted on to be corrected quickly may result in escalation controller 116 prodding agent selector 114 to choose to attempt to contact another individual more quickly, rather than stay with making further efforts to reach the same individual. Finally, such an indication of failure that may not be corrected for some time may result in automated assistant 100 choosing to address the event in question on its own, because there was no one else who was appropriate for being contacted about the event. [0035] Otherwise, where an indication is received that the attempted communication failed for a reason that may be corrected soon, such as a busy signal on a telephone line, escalation controller 116 may prod agent selector 114 into retrying the same way to make contact after waiting a period of time that would be shorter than might have been used had the reason for failure been shown to be something that may not be corrected for a longer period of time, or at all.
[0036] By way of example, the user may have been scheduled to take a flight later in the day, but the flight has now been cancelled, and the user needs to be informed. From information found in the calendar maintained as part of PIM information 130, it may be determined that user is currently in a meeting, and from information found in rules 136, the user does not like to be disturbed during such a meeting. However, because the cancelled flight was to depart later that same day, perhaps even shortly after the meeting the user is currently attending, there is a need to contact the user during the meeting, in spite of the intrusiveness of doing so. In response, agent selector 114 refers to contact information 134, discovers that the user has a pager capable of receiving text messages, and sends the user a text message on the user's pager. However, for whatever reason, a reasonable period of time passes without the user having contacted automated assistant 100 to schedule a new flight or to abandon making the trip, altogether, and so escalation controller 116 prods agent selector 114 into trying harder. Agent selector 114 again reviews contact information 134 and rules 136 and determines that making an effort to reach the user by way of a speech-synthesized voice to the user's mobile phone is now appropriate, and does so. However, for whatever reason, the user does not answer, and so now agent selector 114 refers to PIM information 130 to obtain the telephone number of the conference room in which the user is scheduled to have a meeting (if that information is there), and places a call to that conference room. Many other scenarios are possible, and as those skilled in the art will understand, the above is but one example of how an event might be handled by an embodiment of the present invention. [0037] Alternatively, in the case of some events, after one or more unsuccessful attempts to reach a user and/ or another person, automated assistant 100 may simply handle the event, itself. It may be that the user has supplied a preference for having either the user or a specified person be the one to handle a given event, but then, if attempts at reaching the user and/or a specified person have proven unsuccessful, automated assistant 100 is to then handle the given event. In such an embodiment, where automated assistant 100 has handled an event, itself, automated assistant 100 may then later attempt to contact the same persons that automated assistant 100 had attempted to reach, earlier, to inform them that the event has been handled and/ or to supply details of what the outcome of handling the event was. For instance, the event may be that a user's flight has been delayed, and attempts at reaching the user and/ or the user's secretary have proven unsuccessful, and so automated assistant arranges for the prepaying of a fee necessary to guarantee a hotel room reservation for late check-in by the user. [0038] An event may be ongoing in such a way that circumstances change to an extent that causes automated assistant 100 to repeatedly evaluate what course of action is to be taken or to reevaluate the question of whether action should be taken at all. The lack of response of a user as time passes, causing an event to become more urgent, and therefore more important, is one scenario. However, other scenarios such the receipt of additional information updating or correcting information received earlier about an event could be another frequently occurring scenario. Automated assistant 100 may change an earlier determination of who to contact or where to attempt contacting a person, in addition to determining what means to use in making such contact. Automated assistant 100 may initially determine that acting autonomously on behalf of a user is the best course of action and then later determine due to changing circumstances that a person must be contacted, or vice versa. In still another possible scenario, repeated efforts to contact one or more persons and/ or efforts to take autonomous action may have failed to effectively deal with an event, and enough time may have passed during all of such efforts that any further effort would be futile. In such a scenario, escalation controllerllό may cease attempting to prod agent selector 114 into taking any further action, and instead, may simply send a notice to the user of the actions attempted.
[0039] In the various aforedescribed embodiments that support making multiple attempts are required before successfully contacting a person selected by automated assistant 100 to handle a given event, the person who has been successfully reached may be provided with information concerning what attempts have been made to contact others and/ or information concerning the results of previous attempts to contact others, in addition to information concerning the event, itself. This may prove useful to the person who has been successfully contacted in making a decision as to how they will respond to the given event, especially if the event is in some way an emergency. Alternatively, there may be reasons stemming out of privacy or security to limit how much information concerning unsuccessful attempts to contact others is provided to the person who is successfully contacted. It may be that a user may choose to configure automated assistant 100 to never provide information concerning attempts to contact particular individuals. Or, it may be that a user may choose to specify particular individuals that are not to receive any such information, or that are to receive only a restrained version of such information, withholding identities of those that automated assistant 100 attempted to contact, or withholding addresses or other information concerning how to contact others, and/ or withholding the nature of the failures encountered in making previous attempts to reach others. [0040] User interface 140 provides a user with a way to supply information needed to prepare automated assistant 100 for normal operation. In one embodiment, automated assistant 100 is maintained on centralized computer systems by a commercial provider of automated assistant 100 as a service to users to subscribe to, and an embodiment of user interface 140 could be a web page accessible to a user via the internet. In another embodiment, automated assistant 100 is maintained on a computer system owned by a user (or otherwise more locally accessible to a user), and user interface 140 could be an application that a user would run on that computer system. [0041] Communication provider 190 allows automated assistant 100 to communicate with the external world. Communication provider 190 may be a commercial entity providing services used by automated assistant 100 in attempts that it may make to contact the user, and may be comprised of mobile phone service providers, paging service providers, internet service providers, etc. As discussed, earlier, in one embodiment, information concerning phone numbers or email addresses by which a user may be reached are maintained as part of contact information 134. Contact information 134 may also contain information about service charges and billing rates for each service provider 190, and such information may be among the factors weighed by either agent selector 114 or escalation controller 116 in determining when or how to contact a user. For instance, a user may have a satellite telephone by which the user could be reached in areas or at times when more conventional paging or mobile phone services are unavailable, but the need to reach the user in a particular instance may not be so pressing as to warrant incurring the high costs that might be associated with using such a recently developed means of contacting the user.
[0042] Alternatively, communication provider 190 may be comprised of hardware and/ or software used to provide automated assistant 100 with access to devices such as facsimile machines, printers, mailers, scanners and other ways to interface with hardcopy communication channels. As still another possibility, communication provider 190 may be comprised of hardware and/ or software to provide an interface to email, text-to-speech output, speech recognition input, or text messaging on such devices as pagers or other portable radio devices, etc. [0043] Automated assistant 100 may also rely on communications provider 190 to supply information indicating a user's current whereabouts, either for use in updating a user's schedule, or as part of the information used in making a determination as to whether or not a user should be contacted concerning a given event. Where communications provider 190 provides wireless services, it may be possible for communications provider 190 to determine where a user is located, geographically, through the wireless network operated by communication provider 190. This might be done by analyzing relative signal strengths at different geographic points, or by identification of the geographic cell in which a user is operating a mobile phone, or by other means. It may also be the case that a user is carrying a cell phone, pager or other device able to provide information about the user's geographic location as determined by a GPS receiver or similar technology incorporated into the device, using the communications system provided by communications provider 190 as the vehicle to transmit that information.
[0044] In another embodiment, communications provider 190 may also be able to determine the speed at which a user or other person is currently traveling, again through GPS, triangulation or other methods. This information may be used as a factor by automated assistant 100 in deciding the best way in which to reach the user or other person. For example, the fact that a particular person is traveling in a given direction at a given speed may allow automated assistant 100 to surmise that the particular person is heading for home, and will be there by a given time, allowing automated assistant 100 to reach that person by way of a call to their home phone or an email to their personal email account. In another example, the fact that a person to be contacted seems to be stationary allow automated assistant 100 to surmise that the person will be able to read a text message sent to either a text-enabled cell phone or pager. In this example, the ability to send a text message may be preferable, but if the person to be contact seems to be in motion beyond a certain rate of speed, such as 20mph, automated assistant 100 may surmise that the person is possible driving a car, at present, and so a voice call to a cell phone using voice synthesis to convey a message to that person may then be preferable. [0045] However, as discussed earlier, it is also possible that a user or other person that automated assistant 100 is attempting to reach may have chosen to arrange for automated assistant 100 to be denied information indicating their current whereabouts. This may have been done by instructing communications provider 190 to not pass on such information. It may also be that a user instructs automated assistant 100 to not pass on such information, even if automated assistant 100 has been provided such information. In other embodiments, either communications provider 190 or automated assistant 100 may be instructed or configured to provide such information only to particular individuals or only under particular circumstances in an effort to preserve privacy. [0046] E-commerce provider 170 may be the provider of such services as online shopping (i.e., shopping for goods or services over the internet or other electronic means), remote booking of travel services, calling in of food orders, etc. E-commerce provider 170 may be one avenue by which automated assistant 100 takes action autonomously in response to an event in addition to or in lieu of automated assistant 100 interacting with commercial or government entities on behalf of a user without the assistance of e-commerce provider 170. For example, if e-commerce provider 170 provides the ability to make or change flight reservations, then in the above example concerning a cancelled flight, automated assistant 100 could have simply made new flight arrangements on behalf of the user, perhaps also altering reservations for rental transportation and/ or hotel accommodations. In one embodiment, whether or not automated assistant 100 would engage in making such arrangements on behalf of a user would depend on whether or not information within rules 136 indicates that the user is willing to allow automated assistant 100 to do so. It may be that the user wishes to make all arrangements and only wants automated assistant 100 to provide a warning of the need to do so. Alternatively, the user may be willing to let automated assistant 100 make such arrangements and then inform the user of the changes already made, but with a limitation on the highest price that the user is willing to allow automated assistant 100 to agree to on behalf of the user. E-commerce provider 170 includes, but is not limited to, entities with which automated assistant 100 could interact with by way of electronic messaging, e.g., emails, packetized electronic transfers, etc. E-commerce providers may even be individuals contacted by automated assistant 100 by analog land-line telephone and then spoken to by automated assistant 100 using text-to-speech technology. [0047] Figure 1, depicts an embodiment of an automated assistant in which various internal functions are partitioned and distributed in specific ways among the various components depicted. However, as will be apparent to one of ordinary skill in the art, the various internal functions may be partitioned differently among any of a number of components internal to automated assistant, as hereinafter claimed. Specifically, information concerning a user and/ or other persons may be organized in a manner that varies from the aforedescribed divisions into PIM information 130, profile information 132, contact information 134 and rules 136. Furthermore, it may be that an automated assistant as hereinafter claimed may exist in a distributed form (not shown) with various internal functions performed by components maintained in different places or in different forms of software and/ or hardware, and perhaps distributed among different commercial and/or governmental entities. [0048] Figure 2 is a flow chart followed by one embodiment of the present invention. A user's automated assistant waits for information concerning an event at 200. After event information is received at 202, the context interpreter of the automated assistant supplies information concerning what the user is doing now 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 an alternate embodiment, the context interpreter retrieves this information from other sources that are able to supply an indication of what the user is currently doing or where the user is currently located.
[0049] At 220, the event detector of the automated assistant determines whether or not the event information is of importance to the user based on what the user is doing now or what the user will be doing, as well as based on what the user's interests are known to be from the user's profile information. If the event information is not of importance to the user, then the automated assistant takes no further action, and returns to waiting for event information at 200. [0050] However, if the event information is of importance to the user, then the agent selector of the automated assistant determines whether or not the automated assistant can take appropriate action on its own, without having to contact the user. It might be appropriate for the automated assistant to act on its own, if the event concerns renewing a subscription or making an alteration in a reservation that the user would not have wanted to be bothered with. In one embodiment, the agent selector of the automated assistant would refer to the user's profile information to determine the user's preferences for whether or not the user would prefer to be involved in handling the event. In an alternate embodiment, the agent selector would refer to the rules information supplied by the user to see if there is a constraint on price amounts or a specific set of circumstances under which the user has specified that the user or another person acting on the user's behalf must be contacted which the event might meet. If the agent selector of the automated assistant determines that the event is one that the automated assistant can respond to without contacting the user, then the agent selector undertakes such action at 232. [0051] However, if the agent selector of the automated assistant determines that the user must be contacted, then the agent selector refers to the user's contact information to determine the appropriate means for contacting the user. In one embodiment, the agent selector would also refer to the user's preferences for any indications of a preferred way in which the user would want to be contacted. In an alternate embodiment, the agent selector would also refer to the user's rules to determine if there are any requirements or limits supplied by the user concerning when or how the user may be contacted. For example, the user may have indicated a preference that the automated assistant contact the user on the user's text-enabled cell phone, but the user may have also supplied a rule that the user does not want to be called on his cell phone after a certain hour of the night, and that the user's text-enabled pager is always to be used after that hour. After selecting an appropriate way to contact the user at 234, the agent selector carries out contacting the user at 236. [0052] If, at 238, the user has not responded, then at 240, the escalation controller of the automated assistant reevaluates the appropriate way to contact the user, taking into account any effect that the passage of time may have on how urgently the user needs to be contacted. It may be the case that the event is not something that needs to be responded to very urgently, and so the choice may be to try to contact the user, again, by the same means that were used to try and contact the user, originally. However, it may also be the case that the event is something that has become more urgent as a result of the passage of time, such as a change to a fast approaching, scheduled event in the user's calendar, and so the escalation controller may choose to use another means of contacting the user, one that may not have been what the user would have preferred, but which may now be necessary. In making this reevaluation, the escalation controller, like the agent selector, may refer variously to the user's preferences and/ or the rules supplied by the user. At 236, another attempt would be made to contact the user, and again, the automated assistant would wait at 238 for an appropriate time for the user to respond before making further attempts.
[0053] However, if at 238, the user has responded to the initial attempt to contact the user, then the automated assistant returns to waiting for new event information at 200.
[0054] Figure 3 is a flow chart of another embodiment of the present invention. In a manner corresponding to Figure 2, a user's automated assistant waits for information concerning an event at 300. After event information is received at 302, the context interpreter of the automated assistant supplies information concerning what the user is doing now 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 an alternate embodiment, the context interpreter retrieves this information from other sources that are able to supply an indication of what the user is currently doing or where the user is currently located. [0055] At 320, the event detector of the automated assistant determines whether or not the event information is of importance to the user based on what the user is doing now or what the user will be doing, as well as based on what the user's interests are known to be from the user's profile information. If the event information is not of importance to the user, then the automated assistant takes no further action, and returns to waiting for event information at 300.
[0056] However, if the event information is of sufficient importance to the user, then at 330, the agent selector of the automate assistant determines whether or not the automated assistant should take appropriate action on its own without contacting anyone. It might be appropriate for the automated assistant to act on its own if the event concerns something minor that the user would not have wanted anyone to be bothered with, or if it is not possible to successfully contact anyone that would be appropriate to contact, at all, or within a period of time short enough to be useful. In various embodiments, the agent selector may use one or more pieces of information in making the determination of whether or not to contact someone and/ or who, including the user's profile information, rules set by the user, various technological or geographical obstacles that may exist in trying to reach someone, and/ or whether or not contact had been previously attempted, but was unsuccessful for either the current event or a previous event. If the agent selector determines that the event is one that the automated assistant can respond to without contacting the user, then the agent selector takes appropriate action at 332. [0057] However, if at 330, the agent selector of the automated assistant determines that a person or persons must be contacted, then at 340, the agent selector determines what means to use in making contact, as well as whether or not it is actually possible to make contact. In making these determinations, various pieces of information may be used by the automated assistant, including, but not limited to the user's preferences, preferences of others if others are to be contacted in lieu of or in addition to the user, the schedules of the user and/ or others, information concerning the various means available for reaching the user and/ or others, information concerning the current whereabouts of the user and/ or others, technological or geographic obstacles to reaching the user and/ or others, and whether or not previous attempts to contact the user and/ or others regarding this event or a previous event were successful. For instance, limits in wireless coverage at the current location of a person or the fact that the person is in transit, and therefore the person's location is constantly changing may impose limitations on the ways in which that person may be contacted. If it can be determined that a person to be contacted is currently stationary in an area with wireless coverage, then it may be desirable to send a text message to that person's pager or cell phone. Alternatively, if a person to be contacted is in motion, then communication by way of text messages may not be reliably available throughout that person's line of travel, and so it may be desirable to contact that person by their cell phone and place a voice message.
[0058] If the agent selector at 340 determines that it is possible to contact the user and/ or another person or persons concerning the event, then the agent selector makes the attempt to do so at 350. Depending on the importance of the event or other information, the agent selector may attempt to reach multiple ones of the selected, concurrently. Also, in making the attempt, the agent selector may determine it is appropriate to contact one or more of the selected persons using more than one means of communication, concurrently. [0059] At 360, if none of the persons contacted have responded within a reasonable period of time, then the escalation controller of the automated assistant prompts the agent selector to reevaluate what action is to be taken next, at 330. It may be that circumstances have changed with the passage of time incurred while waiting for someone to respond. It may no longer be necessary for anyone to be contacted, and therefore, the agent selector would take action as appropriate at 332. However, it may be that information such as the user's preferences indicates that it is not appropriate for the automated assistant to act on its own, and so at 340, a reevaluation is made by the agent selector as to whether or not it is still possible to try again to reach someone, and this may result in an attempt to make contact with a different person and/or with one or more of the same people previously tried, but with different means at 350. However, if at 340, it is determined that all avenues have been tried for reaching all of the appropriate people, then at 342, the agent selector takes whatever action is appropriate on its own. It should also be noted that depending on the time, circumstances 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 preferences or in a template that no action is the correct choice, or circumstances may have changed since earlier attempts at contacting someone were made to such an extent that the appropriate action has now become no action. [0060] Figure 4 is a flow chart of still another embodiment of the present invention. Starting at 400, a user's automated assistant waits for information concerning an event from information sources such as weather, traffic, flight status, emails, calendar reminders, etc., at 402. After event information is received, action items (tasks that need to be performed) in response to the event are identified at 404. If, at 410, it is determined that there is an action item that requires processing, then the importance of the action item is evaluated at 412. A single event may translate into a plurality of action items that may need to be carried out, such as a flight cancellation leading to an action item to notify the user, an action item to gather information on alternative flights for the user, and possibly an action item to proceed autonomously with booking an alternative flight for the user. In some embodiments, the identification of action items may be carried out in great detail, initially, while in other embodiments, only higher- level and more generalized tasks may be identified with the finer details being left to be determined at a later time by more specialized hardware and/ or software either within or external to the automated assistant. In some implementations, this may mean that action items will only be identified when their dependencies have been met, while in other systems, action items will be identified sooner, but will not be acted upon until previous action items are completed or additional information needed to act on those action items becomes available. [0061] At 420, an action item is evaluated to determine if it is of enough importance to take action. If not of enough importance, then the action item may not be processed, further, and another determination is made at 410 as to whether there are any more action items to be processed. In evaluating the degree of importance of an action item, various factors are weighed. The current activities and environment of the user are taken into account along with profile information, rules, passage of time and urgency of the action item and/ or event are used. For example, an email received concerning a meeting requiring travel by a user to attend would have greater urgency for being acted on than an email concerning a meeting in the user's office, because changes resulting in the cancellation or rescheduling of a meeting may well entail canceling or rescheduling flights and/ or hotel accommodations, and therefore, require some lead time to carry out, effectively. Another example of urgency playing a factor in determining importance is the difference between an event where notice is received of a flight cancellation 6 days in advance as opposed to 6 hours in advance. The latter case clearly requires action more urgently, and therefore is deemed more important. In contrast, the passage of time may make other events less important, rather than more important as the event becomes "stale," such as an interest rate cut by the Federal Reserve Board, which may be an event creating an opportunity that may be of importance to a user, but only for a limited time, and may cease to be of value if the user and/ or another person designated by the user does not respond in timely fashion.
[0062] If at 420, an action item is determined to be of enough importance to take action, then at 422, a determination is made to as to whether the user, a person delegated by the user, the automated assistant, or some combination of these are capable of handling the action item. In determining if the user is capable of handling the action item, various factors may be considered including, but not limited to, whether or not current information about the user's current location and activities (i.e., the user's context) indicates that the user can be reached via one of his communication devices. A similar determination may be made of one or more other persons specified to be persons to whom the action item could be delegated. In one embodiment, various metrics could be calculated that relate to the capability of a handler to handle the action item, including authorization to do so, availability, cost in time or money required and/ or user preferences based either on preferences explicitly provided by the user or preferences derived from feedback relating to past performance of a handler, such as how reliable a particular handler was in taking action on an earlier action item. [0063] Then, at 424, a determination is made as to the costs incurred for each handler to handle the action item, and at 430, a determination is made as to whether there is a handler that can take action on the action item without the cost being too high or the probability of success too low to justify proceeding. [0064] If, at 430, it is determined that there is a handler or handlers that can take action on the action item without the cost being beyond what is deemed justifiable, then one or more handlers are selected at 432. The selection of more than one handler may be prompted by situations such as there being only handlers with a demonstrated low rate of reliability available to handle the action item, in which case, it would not be prudent to rely on just one handler. If the system has sufficient information to handle the action item and the user's profile and/ or the rules indicate that the system is the handler that the user would prefer to have handling the action item, then the system can select itself to handle the action item and do so.
[0065] Proceeding through 440, 450, 460 and 470, each handler that has been selected is assigned the action item. If at 450, the automated assistant (i.e., the system) has been selected as a handler, then the action item is assigned to the system at 452. If at 460 or at 470, either the user or a person delegated by the user is a selected handler, then a device for contacting the user or the delegated person is selected and used to send a message at 462. Depending on the handlers selected at 432, above, action may be taken by more than one handler, simultaneously, and/ or messages may be sent to more than one handler, simultaneously. In a situation such as a cancelled flight, the system may have selected itself as one of the handlers at 432, and may take an initial step in parallel with attempting to contact another handler, such as tentatively booking another flight in such a way that another handler could undo the system's actions if another handler responds sufficiently early.
[0066] In selecting a device for use in contacting the user or a person delegated by the user, the current location and activities (i.e., the context) of the user and/or the delegated person may be taken into account. Devices that could be used include, but are not limited to, pagers, cell phones, facsimile transmissions, speech synthesis technology, etc. Once a device has been selected, a countdown marking the passage of time since the attempt at making contact was made may be started, and if the user or delegated person responds before the countdown runs out, then the system either receives their instructions regarding how to handle the action item under their direction or receives and indication that they have handled the action item and that no further action is required. However, if the countdown runs out without a response being received to the attempt at making contact, then this fact may be used in making a new determination of the importance of the event, possibly along with the passage of time where urgency or staleness of the event may be a factor.
[0067] If, at 472, all efforts to take action and/ or to send messages to handlers other than the system have not resulted in a resolution in response to the action item, then unresolved action item is logged. Subsequently, if there are no more selected handlers to which the action item could be assigned at 440, and there are no more unprocessed action items at 410, then the automated assistant waits at 402 for another event.
[0068] The invention has been described in conjunction with the preferred embodiment. It is evident that numerous alternatives, modifications, variations and uses will be apparent to those skilled in the art in light of the foregoing description.
[0069] The example embodiments of the present invention are described in the context of an automated assistant with its components organized in a specific configuration, and intended to run on a computer system in support of a single user. However, as those skilled in the art will appreciate, the present invention may be practiced with the various pieces of information on a given user being organized differently than has been described in detail, herein. Specifically, a user's preferences may be combined with the rules, and/ or a user's contact information may be combined with a user's PIM information, and so on. Also, a single automated assistant or instance of a piece of automated assistant software may be used to provide automated assistant services to a plurality of users. This plurality of users may be members of a family, employees of a business, or may be individuals with no other connection with each other beyond making use of the same commercial provider of such services. Furthermore, users may also be individuals to whom a user has delegated responsibility for handling particular events, such as a secretary or administrative assistant, or others who use an automated assistant on behalf of another user. Furthermore, the present invention may be practiced using a dedicated automated assistant device that comprises dedicated hardware, as opposed to being practice as automated assistant software designed to be run on any of a number of commonly available computer systems.

Claims

CLAIMSWhat is claimed is:
1. A method, comprising: receiving information of an event; determining whether or not the event is of enough importance to the user to contact a first person concerning the event; and if the event is of enough importance to the user, then selecting a first person to contact, selecting a first way to contact the first person, attempting to contact the first person using the first way, and waiting for a period of time for the first person to respond.
2. The method of claim 1, further comprising: selecting a second way to contact the first person and attempting to contact the first person if the event is of enough importance to the user, the first person has not responded within the period of time, and there is a second way to contact the first person that is acceptable; and selecting a second person to contact and a way to contact the second person if the event is of enough importance to the user, the first person has not responded within the period of time, there is not a second way to contact the first person that is acceptable, and there is a way to contact the second person that is acceptable.
3. The method of claim 1, wherein determining whether or not the event is of enough importance to the user comprises comparing the subject of the event to a list of subjects of interest to the user.
4. The method of claim 1, wherein determining whether or not the event is of enough importance to the user comprises comparing the timing of the event to activities in which the user is engaged or will be engaged listed in a calendar.
5. The method of claim 1, wherein deterrrtining whether or not the event is of enough importance to the user comprises referring to information concerning the user's preferences to determine if the user would prefer that action be taken on behalf of the user to respond to the event without contacting any person.
6. The method of claim 1, wherein determining whether or not the event is of enough importance to the user comprises referring to information concerning rules specified by the user concerning circumstances in which the user will not permit action to be taken without the first person being contacted.
7. The method of claim 2, wherein selecting the first person and the second person comprises referring to information concerning the user's preferences concerning which persons are to be contacted for particular events.
8. The method of claim 2, wherein selecting the first way to contact the first person and determining whether or not there is a second way to contact the first person that is acceptable comprises referring to information concerning the first person's preferences for when and how the first person would prefer to be contacted.
9. The method of claim 2, wherein selecting the first way to contact the first person and determining whether or not there is a second way to contact the first person that is acceptable comprises referring to information concerning the limitations of each of the available ways to contact the first person.
10. The method of claim 2, wherein selecting the first way to contact the first person and determining whether or not there is a second way to contact the first person that is acceptable comprises referring to rules specified by the first person concerning circumstances under which the first person requires that no attempt be made to contact the first person.
11. The method of claim 10, wherein referring to rules specified by the first person further comprises referring to information 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 coworker 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 landline telephone, a mobile telephone, a text-enabled mobile phone, a pager, a text-enabled pager, a computer system capable of conveying text messages, a computer system capable of conveying audio messages, and a computer system capable of conveying video messages.
14. A computer readable medium comprising instructions, which when executed by a processor, causes the processor to: receive information of an event; determine whether or not the event is important enough to the user to contact a first person concerning the event; and select a first person to contact, select a first way to contact the first person, attempt to contact the first person using the first way, and wait for a period of time for the first person to respond, if the event is of enough importance to the user.
15. The computer readable medium of claim 14, wherein the processor is further caused to: select a second way to contact the first person and attempt to contact the first person using the second way if the event is important enough to the user, and the first person has not responded within the period of time, and there is a second way that is acceptable; and select a second person to contact and a way to contact the second person if the event is important enough to the user, the first person has not responded within the period of time, there is not a second way that is acceptable, and there is a way to contact the second person that is acceptable.
16. The computer readable medium of claim 14, wherein the processor is caused to determine if the event is important enough to the user by comparing the subject of the event to a list of subjects of interest to the user.
17. The computer readable medium of claim 14, wherein the processor is caused to determine if the event is important enough to the user by comparing the timing of the event to activities in which the user is engaged or will be engaged listed in a calendar.
18. The computer readable medium of claim 14, wherein the processor is caused to determine whether or not the event is important enough to the user by referring to information concerning the user's preferences to determine if the user would prefer that action be taken on behalf of the user to respond to the event without contacting any person.
19. The computer readable medium of claim 14, wherein the processor is caused to determine whether or not the event is important enough to the user by referring to information concerning rules specified by the user concerning circumstances in which the user will not permit action to be taken without the first person being contacted.
20. The computer readable medium of claim 15, wherein the processor is caused to select the first person and the second person by referring to information concerning the user's preferences concerning which persons are to be contacted for particular events.
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 or not there is a second way to contact the first person that is acceptable by referring to information concerning the first person's preferences for when and how the first person would prefer to be contacted.
22. 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 or not there is a second way to contact the first person that is acceptable by referring to information concerning the limitations of each of the available ways to contact the first person.
23. 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 or not there is a second way to contact the first person that is acceptable by referring to rules specified by the first person concerning circumstances under which the first person requires that no attempt be made 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 coworker 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 landline telephone, a mobile telephone, a text-enabled mobile phone, a pager, a text- enabled pager, a computer system capable of conveying text messages, a computer system capable of conveying audio messages, and a computer system capable of conveying video messages.
26. A method, comprising: receiving information concerning at least one activity in a user's schedule, at least one subject of interest to the user, a first way to contact a first person selected by the user, at least one preference of the first person for how the first person is to be contacted, and at least one requirement of the first person restricting when the first person may be contacted; receiving information concerning an event; referring to the information concerning the at least one activity and the at least one subject of interest to determine if the event is of importance enough to the user to contact the first person; and referring to the information concerning the first way to contact the first person, the at least one preference and the at least one requirement to determine how to contact the first person.
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 coworker of the user.
28. The method of claim 26, wherein the information concerning the first way to contact the first person comprises information concerning limitations of a device used in the at least one way to contact 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 landline telephone, a mobile telephone, a text-enabled mobile phone, a pager, a text-enabled pager, a computer system capable of conveying text messages, a computer system capable of conveying audio messages, and a computer system capable of conveying video messages.
30. The method of claim 26, wherein the information concerning the at least one preference comprises a preference in favor of the first way to contact the first person over a second way to contact the first person.
31. A method, comprising: receiving information of an event; determining the level of importance of the event relative to a first person; and if the event has a level of importance greater than or equal to a first predetermined threshold, and a level of importance that is below or equal to a second predetermined threshold, then taking action in response to the event without contacting any person.
32. The method of claim 31, wherein determining the level of importance of the event to the first person comprises comparing the subject of the event to a list of subjects of interest to the first person.
33. The method of claim 31, wherein determining the level of importance of the event to the first person comprises referring to information concerning the timing of activities in which at least one person is engaged or will be engaged provided by a calendar.
34. The method of claim 31, wherein determining the level of importance of the event to the first person comprises referring to information concerning the location of activities in which at least one person is engaged or will be engaged provided by a calendar.
35. The method of claim 31, wherein determining the level of importance of the event to the first person comprises referring to information concerning the location of activities in which at least one person is engaged or will be engaged provided by a device carried by said at least one person supplying information concerning said at least one person's current whereabouts.
36. The method of claim 31, wherein determining the level of importance of the event to the first person comprises taking into account a limitation on a way of contacting at least one person arising from where said at least one person is currently located.
37. The method of claim 31, wherein determining the level of importance of the event to the first person comprises referring to information concerning the first person's preferences to determine if the first person would prefer that action be taken on behalf of the first person to respond to the event without contacting any person.
38. The method of claim 31, wherein determining the level of importance of the event to the first person comprises taking into account whether or not an earlier attempt was made to contact at least one person.
39. The method of claim 31, wherein determining the level of importance of the event to the first person comprises referring to information concerning rules specified by the first person concerning circumstances in which the first person will not permit action to be taken without at least one person being contacted.
40. The method of claim 39, wherein referring to rules specified by the first person further comprises referring to information concerning exceptions to those rules.
41. A computer readable medium comprising instructions, which when executed by a processor, causes the processor to: receive information of an event; determine the level of importance of the event to a first person; and if the event has a level of importance greater than or equal to a first predetermined threshold, and a level of importance that is below or equal to a second predetermined threshold, then taking action in response to the event without contacting any person.
42. The computer readable medium of claim 41, wherein determining the level of importance of the event to the first person comprises comparing the subject of the event to a list of subjects of interest to the first person.
43. The computer readable medium of claim 41, wherein determining the level of importance of the event to the first person comprises referring to information concerning the timing of activities in which at least one person is engaged or will be engaged provided by a calendar.
44. The computer readable medium of claim 41, wherein determining the level of importance of the event to the first person comprises referring to information concerning the location of activities in which at least one person is engaged or will be engaged provided by a calendar.
45. The computer readable medium of claim 41, wherein determining the level of importance of the event to the first person comprises referring to information concerning the location of activities in which at least one person is engaged or will be engaged provided by a device carried by said at least one person supplying information concerning said at least one person's current whereabouts.
46. The computer readable medium of claim 41, wherein determining the level of importance of the event to the first person comprises taking into account a limitation on a way of contacting at least one person arising from where said at least one person is currently located.
47. The computer readable medium of claim 41, wherein determining the level of importance of the event to the first person comprises referring to information concerning the first person's preferences to determine if the first person would prefer that action be taken on behalf of the first person to respond to the event without contacting at least one person.
48. The computer readable medium of claim 41, wherein determining the level of importance of the event to the first person comprises taking into account whether or not an earlier attempt was made to contact at least one person.
49. The computer readable medium of claim 41, wherein determining the level of importance of the event to the first person comprises referring to information concerning rules specified by the first person concerning circumstances in which the first person will not permit action to be taken without at least one person being contacted.
50. The computer readable medium of claim 49, wherein referring to rules specified by the first person further comprises referring to information concerning exceptions to those rules.
51. A method, comprising: receiving information concerning a previous attempt to contact at least one person concerning an event; determining the level of importance of the event to a first person; and if the event has a level of importance greater or equal to a first predetermined threshold, and a level of importance below or equal to a second predetermined threshold, then take action in response to the event without making a subsequent attempt to contact any person.
52. The method of claim 51, wherein deterrrtining the level of importance of the event to the first person comprises evaluating the effect of the passage of time since a previous attempt to contact at least one person was made on the level of importance of the event.
53. The method of claim 51, wherein determining the level of importance of the event to the first person comprises referring to information concerning the timing of activities in which at least one person is engaged or will be engaged provided by a calendar.
54. The method of claim 51, wherein determining the level of importance of the event to the first person comprises referring to information concerning the location of activities in which at least one person is engaged or will be engaged provided by a calendar.
55. The method of claim 51, wherein determining the level of importance of the event to the first person comprises referring to information concerning the location of activities in which at least one person is engaged or will be engaged provided by a device carried by said at least one person supplying information concerning said at least one person's current whereabouts.
56. The method of claim 51, wherein determining the level of importance of the event to the first person comprises referring to information concerning the first person's preferences to determine if the first person would prefer that action be taken on behalf of the first person to respond to the event without contacting at least one person.
57. A computer readable medium comprising instructions, which when executed by a processor, causes the processor to: receive information concerning a previous attempt to contact at least one person concerning an event; determine the level of importance of the event to a first person; and if the event has a level of importance greater or equal to a first predetermined threshold, and a level of importance below or equal to a second predetermined threshold, then take action in response to the event without making a subsequent attempt to contact any person.
58. The computer readable medium of claim 57, wherein determining the level of importance of the event to the first person comprises evaluating the effect of the passage of time since a previous attempt to contact at least one person was made on the level of importance of the event.
59. The computer readable medium of claim 57, wherein determining the level of importance of the event to the first person comprises referring to information concerning activities in which at least one person is engaged or will be engaged.
60. The computer readable medium of claim 57, wherein determining the level of importance of the event to the first person comprises referring to information concerning the first person's preferences to determine if the first person would prefer that action be taken on behalf of the first person to respond to the event without contacting at least one person.
61. An apparatus programmed by a first person with information concerning the first person's activities, and configured by a first person to: receive information concerning an event, determine the level of importance of the event to the first person, and ii the event has a level of importance greater than or equal to a first predetermined threshold, and a level of importance below or equal to a second predetermined threshold, then take action in response to the event without making an attempt to contact at least one person.
62. The apparatus of claim 61 further programmed by the first person with the first and second thresholds.
63. The apparatus of claim 61 further programmed by the first person with rules indicating when action should always be taken without making an attempt to contact at least one person.
64. An apparatus carried by a first person, configured to communicate with a service provider receiving information concerning an event, allowing the service provider to provide the first person with information concerning the event if the level of importance of the event to the first person is greater than or equal to a first predetermined threshold, and allowing the first person to respond to the information received from the service provider concerning the event.
65. The apparatus of claim 64 comprising means to determine the current whereabouts of the first person and to relay information concerning the whereabouts of the first person to the service provider.
66. A method, comprising: receiving information of an event; deteriruning the level of importance of the event relative to a first person; if the event has a level of importance greater than or equal to a first predetermined threshold, and a level of importance that is below or equal to a second predetermined threshold, then attempting to contact at least one person; and if the event has a level of importance greater than or equal to the second predetermined threshold, then attempting to contact a plurality of persons.
67. The method of claim 66, wherein determining the level of importance of the event to the first person comprises comparing the subject of the event to a list of subjects of interest to the first person.
68. The method of claim 66, wherein determining the level of importance of the event to the first person comprises referring to information concerning the timing of activities in which at least one person is engaged or will be engaged provided by a calendar.
69. The method of claim 66, wherein determining the level of importance of the event to the first person comprises referring to information concerning the current location of at least one person.
70. The method of claim 69, wherein determining the level of importance of the event to the first person comprises taking into account a limitation on a way of contacting at least one person arising from the current location of the at least one person.
71. The method of claim 69, wherein information concerning the current location of at least one person is provided by a device carried by the at least one person.
72. The method of claim 71, wherein a GPS receiver within the device carried by at least one person is used to provide the information concerning the current location of the at least one person.
73. The method of claim 71, wherein the information concerning the current location of at least one person is derived based on information concerning the location of a network connection to which the device is attached.
74. The method of claim 71, wherein the information concerning the current location of at least one person is derived based on information concerning the location from which a signal transmitted by the device is received.
75. The method of claim 71, wherein at least on person has the option to disable the providing of the information concerning the current location of the at least one person by the device.
76. A computer readable medium comprising instructions, which when executed by a processor, causes the processor to: receive information of an event; determine the level of importance of the event to a first person; attempt to contact a first person if the event has a level of importance greater than or equal to a first predetermined threshold, and a level of importance that is below or equal to a second predetermined threshold; and attempt to contact a plurality of persons if the event has a level of importance greater than or equal to the second predetermined threshold.
77. The computer readable medium of claim 76, wherein determining the level of importance of the event to the first person comprises comparing the subject of the event to a list of subjects of interest to the first person.
78. The computer readable medium of claim 76, wherein determining the level of importance of the event to the first person comprises referring to information concerning the timing of activities in which at least one person is engaged or will be engaged provided by a calendar.
79. The computer readable medium of claim 76, wherein determining the level of importance of the event to the first person comprises referring to information concerning the current location of at least one person.
80. The computer readable medium of claim 79, wherein determining the level of importance of the event to the first person comprises taking into account a limitation on a way of contacting at least one person arising from the current location of the at least one person.
81. The computer readable of claim 79, wherein information concerning the current location of at least one person is provided by a device carried by the at least one person.
82. The computer readable medium of claim 81, wherein at least on person has the option to disable the providing of the information concerning the current location of the at least one person by the device.
83. A method, comprising: receiving information of an event; deterrnining the level of importance of the event relative to a first person; if the event has a level of importance greater than or equal to a first predetermined threshold, then selecting a first device to contact at least one person and attempting to contact the same at least one person; receiving an indication of the nature of a failure in attempting to contact the same at least one contact person; and deterrnining a course of action depending on the nature of the failure.
84. The method of claim 83, wherein deterrnining the level of importance of the event to the first person comprises comparing the subject of the event to a list of subjects of interest to the first person.
85. The method of claim 83, wherein determining the level of importance of the event to the first person comprises referring to information concerning the timing of activities in which at least one person is engaged or will be engaged provided by a calendar.
86. The method of claim 83, wherein determining the level of importance of the event to the first person comprises referring to information concerning the current location of at least one person.
87. The method of claim 86, wherein the information concerning the location of at least one person is used to derive the nature of a failure.
88. The method of claim 83, wherein determining a course of action depending on the nature of the failure further comprises: attempting to contact the same at least one person, again, using the first device, again, if the nature of the failure suggests that a later attempt to contact the same at least one person using the first device will result in success; and attempting to contact the same at least one person, again, using a second device 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 result in success.
89. The method of claim 83, wherein determining a course of action depending on the nature of the failure further comprises: attempting to contact the same at least one person, again, if the nature of the failure suggests that attempting to contact the same at least one person, again, will result in success; and attempting to contact an alternate at least one person if the nature of the failure suggests that attempting to contact the same at least one person, again, will not result in success.
90. The method of claim 83, wherein determining a course of action depending on the nature of the failure further comprises: attempting to contact the same at least one person, again, if the nature of the failure suggests that attempting to contact the same at least one person, again, will result in success; and taking action in response to the event without contacting any person if the nature of the failure suggests that attempting to contact the same at least one person, again, will not result in success.
91. The method of claim 83, wherein the indication of failure indicates that the first device was busy, suggesting that a later attempt to contact the same at least one person, again, using the first device, again, would result in success.
92. The method of claim 83, wherein the indication of failure indicates that the first device was malfunctioning, suggesting that a later attempt to contact the same at least one person, again, using the first device, again, would not result in success.
93. The method of claim 83, wherein the indication of failure indicates that the same at least one person is choosing not to respond to the attempt to contact the same at least one person, suggesting that a later attempt to contact the same at least one person, again, using the first device, again, would not result in success.
94. A computer readable medium comprising instructions, which when executed by a processor, causes the processor to: receive information of an event; determine the level of importance of the event relative to a first person; select a first device to contact at least one person and attempt to contact the same at least one person if the event has a level of importance greater than or equal to a first predetermined threshold, then; receive an indication of the nature of a failure in attempting to contact the same at least one contact person; and determine a course of action depending on the nature of the failure.
95. The computer readable medium of claim 94, wherein determining the level of importance of the event to the first person comprises comparing the subject of the event to a list of subjects of interest to the first person.
96. The computer readable medium of claim 94, wherein determining the level of importance of the event to the first person comprises referring to information concerning the timing of activities in which at least one person is engaged or will be engaged provided by a calendar.
97. The computer readable medium of claim 94, wherein determining the level of importance of the event to the first person comprises referring to information concerning the current location of at least one person.
98. The computer readable medium of claim 94, wherein the information concerning the location of at least one person is used to derive the nature of a failure.
99. An apparatus programmed by a first person with information concerning the first person's activities, and configured by a first person to: receive information of an event; determine the level of importance of the event to a first person; attempt to contact a first person if the event has a level of importance greater than or equal to a first predetermined threshold, and a level of importance that is below or equal to a second predetermined threshold; and attempt to contact a plurality of persons if the event has a level of importance greater than or equal to the second predetermined threshold.
100. The apparatus of claim 99 further programmed by the first person with the first and second thresholds.
101. An apparatus programmed by a first person with information concerning the first person's activities, and configured by a first person to: receive information of an event; determine the level of importance of the event relative to a first person; select a first device to contact at least one person and attempt to contact the same at least one person if the event has a level of importance greater than or equal to a first predetermined threshold, then; receive an indication of the nature of a failure in attempting to contact the same at least one contact person; and determine a course of action depending on the nature of the failure.
102. The apparatus of claim 101 further programmed by the first person with the first threshold.
103. The apparatus of claim 101 further programmed by the first person with rules indicating when action should always be taken without attempting to contact any person.
PCT/US2002/015805 2001-05-24 2002-05-16 Method and apparatus for message escalation by digital assistants WO2002096126A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10296892T DE10296892T5 (en) 2001-05-24 2002-05-16 Process and device for message escalation by digital assistants
AU2002303800A AU2002303800A1 (en) 2001-05-24 2002-05-16 Method and apparatus for message escalation by digital assistants

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US09/865,919 US20020178226A1 (en) 2001-05-24 2001-05-24 Method and apparatus for message escalation by digital assistants
US09/865,919 2001-05-24
US09/895,557 US20020178019A1 (en) 2001-05-24 2001-06-29 Method and apparatus for message escalation by digital assistants
US09/895,557 2001-06-29
US10/039,960 2001-12-31
US10/039,960 US20020178022A1 (en) 2001-05-24 2001-12-31 Method and apparatus for message escalation by digital assistants

Publications (2)

Publication Number Publication Date
WO2002096126A2 true WO2002096126A2 (en) 2002-11-28
WO2002096126A3 WO2002096126A3 (en) 2003-09-04

Family

ID=27365638

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2002/015805 WO2002096126A2 (en) 2001-05-24 2002-05-16 Method and apparatus for message escalation by digital assistants

Country Status (3)

Country Link
CN (1) CN1578951A (en)
DE (1) DE10296892T5 (en)
WO (1) WO2002096126A2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011014551A1 (en) * 2009-07-28 2011-02-03 Vocollect Healthcare Systems, Inc. Method and system for sending messages
US8255225B2 (en) 2008-08-07 2012-08-28 Vocollect Healthcare Systems, Inc. Voice assistant system
US8451101B2 (en) 2008-08-28 2013-05-28 Vocollect, Inc. Speech-driven patient care system with wearable devices
US11823068B2 (en) 2016-10-14 2023-11-21 Google Llc Proactive virtual assistant

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105577510A (en) * 2015-12-08 2016-05-11 宁波优而雅电器有限公司 Terminal information sending device based on information priority
CN105490921A (en) * 2015-12-08 2016-04-13 宁波优而雅电器有限公司 Information transmission system based on message grades
CN105450509A (en) * 2015-12-08 2016-03-30 宁波优而雅电器有限公司 Information transmission method based on message level
CN107404395A (en) * 2016-05-20 2017-11-28 北京京东尚科信息技术有限公司 Event is defined the level/adjusted a wage scale method and device automatically
US11170285B2 (en) * 2017-05-05 2021-11-09 Google Llc Virtual assistant configured to recommended actions in furtherance of an existing conversation
US10198877B1 (en) 2018-05-23 2019-02-05 Google Llc Providing a communications channel between instances of automated assistants

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870549A (en) * 1995-04-28 1999-02-09 Bobo, Ii; Charles R. Systems and methods for storing, delivering, and managing messages
US6147977A (en) * 1997-12-12 2000-11-14 Motorola, Inc. Method and apparatus for processing messages based on originator and recipient priorities
US6430604B1 (en) * 1999-08-03 2002-08-06 International Business Machines Corporation Technique for enabling messaging systems to use alternative message delivery mechanisms
US20020135462A1 (en) * 2001-03-26 2002-09-26 Nels Michael J. Method for proactive personalization and alerts to mobile devices
US20020160757A1 (en) * 2001-04-26 2002-10-31 Moshe Shavit Selecting the delivery mechanism of an urgent message
US20030046421A1 (en) * 2000-12-12 2003-03-06 Horvitz Eric J. Controls and displays for acquiring preferences, inspecting behavior, and guiding the learning and decision policies of an adaptive communications prioritization and routing system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870549A (en) * 1995-04-28 1999-02-09 Bobo, Ii; Charles R. Systems and methods for storing, delivering, and managing messages
US6147977A (en) * 1997-12-12 2000-11-14 Motorola, Inc. Method and apparatus for processing messages based on originator and recipient priorities
US6430604B1 (en) * 1999-08-03 2002-08-06 International Business Machines Corporation Technique for enabling messaging systems to use alternative message delivery mechanisms
US20030046421A1 (en) * 2000-12-12 2003-03-06 Horvitz Eric J. Controls and displays for acquiring preferences, inspecting behavior, and guiding the learning and decision policies of an adaptive communications prioritization and routing system
US20020135462A1 (en) * 2001-03-26 2002-09-26 Nels Michael J. Method for proactive personalization and alerts to mobile devices
US20020160757A1 (en) * 2001-04-26 2002-10-31 Moshe Shavit Selecting the delivery mechanism of an urgent message

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8255225B2 (en) 2008-08-07 2012-08-28 Vocollect Healthcare Systems, Inc. Voice assistant system
US8521538B2 (en) 2008-08-07 2013-08-27 Vocollect Healthcare Systems, Inc. Voice assistant system for determining activity information
US9171543B2 (en) 2008-08-07 2015-10-27 Vocollect Healthcare Systems, Inc. Voice assistant system
US10431220B2 (en) 2008-08-07 2019-10-01 Vocollect, Inc. Voice assistant system
US8451101B2 (en) 2008-08-28 2013-05-28 Vocollect, Inc. Speech-driven patient care system with wearable devices
WO2011014551A1 (en) * 2009-07-28 2011-02-03 Vocollect Healthcare Systems, Inc. Method and system for sending messages
US11823068B2 (en) 2016-10-14 2023-11-21 Google Llc Proactive virtual assistant

Also Published As

Publication number Publication date
DE10296892T5 (en) 2004-07-01
CN1578951A (en) 2005-02-09
WO2002096126A3 (en) 2003-09-04

Similar Documents

Publication Publication Date Title
US20020178022A1 (en) Method and apparatus for message escalation by digital assistants
US6640230B1 (en) Calendar-driven application technique for preparing responses to incoming events
US6988128B1 (en) Calendar events and calendar-driven application technique
US6898569B1 (en) Method and apparatus for advanced scheduling and messaging system
US20080255919A1 (en) System and method for schedule notification
US7305437B2 (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
US9686367B2 (en) Methods, systems, and computer program products for providing predicted likelihood of communication between users
US9280605B2 (en) Systems and methods for itinerary messaging service
RU2523164C2 (en) When-free messaging
US7644144B1 (en) Methods, tools, and interfaces for the dynamic assignment of people to groups to enable enhanced communication and collaboration
US8769032B2 (en) Method and system for suggesting an optimal communication mode
US20080063154A1 (en) System and method of customized event notification
US8694517B2 (en) Context aware phonebook
US7224966B2 (en) System and method for web-based presence perimeter rule monitoring
US20050101335A1 (en) System, method and program product for scheduling meetings
US20040111478A1 (en) Communications system
US20090030769A1 (en) System and Method for Latency Management Assistant
US20050079873A1 (en) System and method for centrally-hosted presence reporting
US20140067455A1 (en) Method and apparatus for automatically managing user activities using contextual information
US20020115430A1 (en) Motion dispatch system
JP2004266815A (en) Bounded-deferral policy for guiding timing of alerting, interaction and communications using local sensory information
US20150046553A1 (en) Communications Routing and Contact Updates
WO2002096126A2 (en) Method and apparatus for message escalation by digital assistants
US20100262452A1 (en) Tracking and filling staffing needs
US9325718B2 (en) System and method for communications routing

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 02809669X

Country of ref document: CN

RET De translation (de og part 6b)

Ref document number: 10296892

Country of ref document: DE

Date of ref document: 20040701

Kind code of ref document: P

WWE Wipo information: entry into national phase

Ref document number: 10296892

Country of ref document: DE

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Ref document number: JP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8607