System and method for public consumption of communication events between arbitrary processes
First Claim
1. A method for registering a process in a system where communication events occur that are related to notifications, the method comprising:
- providing a user context including a user context state, the user context defining a communication event to be performed in response to a notification for at least one value of the user context state;
providing a rule that specifies at least one condition for modifying the defined communication event;
receiving a message to register a process for communication events;
registering the process in response to the received message, the registered process being a program that includes data regarding the user context state that is outside data maintained by other components of the system;
receiving an indication that the user context state has changed value; and
evaluating a sender, in response to the occurrence of the defined communication event or the modified defined communication event, to determine whether the registered process will send a customized message to the sender,wherein the evaluation of the sender comprises determining whether the sender has been placed on a list of persons entitled to receive the customized message.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for public consumption of communication events between arbitrary processes. In one embodiment, mechanisms are provided by which the system can effectively act to broker a user'"'"'s communications and thus act as a type of automated assistant. The invention is provided in a notification user context system which determines when it is appropriate or not appropriate to interrupt a user with a notification based on the user'"'"'s context (i.e., availability to interruption). The system provides for processes to be informed when these notification events are occurring, thus allowing the processes to act on these types of events on the user'"'"'s behalf. In one example embodiment, a calendaring program may be a type of process that is registered to be informed when communication events occur. When the calendaring program is informed that a notification from another program (e.g., e-mail, instant messaging, etc.) has been refused due to the user being busy, the calendaring program may evaluate the sender, and if appropriate respond with a customized busy announcement that indicates a time when the user may next be available.
331 Citations
31 Claims
-
1. A method for registering a process in a system where communication events occur that are related to notifications, the method comprising:
-
providing a user context including a user context state, the user context defining a communication event to be performed in response to a notification for at least one value of the user context state; providing a rule that specifies at least one condition for modifying the defined communication event; receiving a message to register a process for communication events; registering the process in response to the received message, the registered process being a program that includes data regarding the user context state that is outside data maintained by other components of the system; receiving an indication that the user context state has changed value; and evaluating a sender, in response to the occurrence of the defined communication event or the modified defined communication event, to determine whether the registered process will send a customized message to the sender, wherein the evaluation of the sender comprises determining whether the sender has been placed on a list of persons entitled to receive the customized message. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for registering a process in a user context system, the user context system including a user context state and a rule, wherein a communication event to be performed in response to a notification is defined for at least one value of the user context state, and the rule includes at least one condition for modifying the defined communication event, the method comprising:
-
sending a message for registering a process, the registered process being a program that has data regarding the user context state that is outside data maintained by other components of the user context system; evaluating a sender, in response the occurrence of the defined communication event or the modified defined communication event, to determine whether the registered process will send a customized message to the sender, wherein the evaluation of the sender comprises determining whether the sender has been placed on a list of persons entitled to receive the customized message, and providing the registered process with information regarding the communication event. - View Dependent Claims (7, 8, 9, 10, 11)
-
-
12. One or more computer-readable storage media having stored thereon computer-executable instructions including instructions for implementing a notification system comprising:
-
a user context process for setting a user context including a user context state and at least one user rule, the user context and the at least one user rule being made available to a user for modification in accordance with a preference of the user, wherein a communication event to be performed in response to a notification is defined for at least one value of the user context state, and the at least one rule includes at least one condition for modifying the communication event; a receiving component which receives notifications from a sending component and under specified conditions delivers the notifications to the user; and a registered process, the registered process being a program that has data regarding the user context state that is outside data maintained by other components of the notification system; wherein when the sending component sends a notification to the receiving component, if the notification is not delivered to the user then a message is sent to the registered process regarding the non-delivery of the notification and wherein a sender who is associated with the sending component is evaluated to determine whether the registered process will send a customized message to the sender, the evaluation of the sender comprising determination of whether the sender has been placed on a list of persons entitled to receive the customized message. - View Dependent Claims (13, 14, 15, 16)
-
-
17. One or more computer-readable storage media having stored thereon computer-executable instructions including instructions for implementing a user context system, comprising:
-
a first process for setting a user context including a user context state and at least one user rule, the user context and the at least one user rule being made available to a user for modification in accordance with at least one preference of the user, wherein a communication event to be performed in response to a notification is defined for at least one value of the user context state , and the at least one rule includes at least one condition for modifying the communication event; a second process for generating a notification; and a third process that is registered; wherein the registered third process receives an event message in response to the notification not being delivered to the user, and wherein a sender of the notification who is associated with the second process is evaluated to determine whether the registered third process will send a customized message to the sender when the notification does not reach the user, the evaluation of the sender comprising a determination of whether the sender has been placed on a list of persons entitled to receive the customized message. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. One or more computer-storage media storing computer-useable instructions that, when executed by a computing device, perform a method for providing information regarding communication events, at least one communication event occurring when a notification is not delivered to a user, comprising:
-
providing a user context including a user context state, the user context defining a communication event to be performed in response to a notification for at least one value of the user context state; providing a rule that specifies at least one condition for modifying the defined communication event; receiving a message to register a process for communication events; registering the process in response to the received message, the registered process being a program that includes data regarding the user context state that is outside data maintained by other components of the system; receiving an indication that the user context state has changed value; and evaluating a sender, in response to the occurrence of the defined communication event or the modified defined communication event, to determine whether the registered process will send a customized message to the sender, wherein the evaluation of the sender comprises determining whether the sender has been placed on a list of persons entitled to receive the customized message. - View Dependent Claims (28, 29, 30, 31)
-
Specification