Supplying notifications related to supply and consumption of user context data
DCFirst Claim
1. A method in a portable computer for providing information about a context that is modeled with multiple context attributes, comprising:
- receiving from a first client an indication of an interest in receiving notification when a specified event that is related to at least one of the context attributes occurs, the specified event based at least in part on values of one or more of the at least one context attributes;
monitoring information related to the at least one context attributes for an indication of an occurrence of the specified event, the monitoring including obtaining multiple values for one of the at least one context attributes and mediating the obtained multiple values to determine a mediated value for that one context attribute; and
when the monitoring detects an indication of the occurrence of the specified event based at least in part on the mediated value, notifying the first client of the occurrence.
2 Assignments
Litigations
0 Petitions
Accused Products
Abstract
Techniques are described for providing information about a current state that is modeled with multiple state attributes. In some situations, the providing includes receiving from a module a request related to the modeling of the current state with the multiple state attributes. In such situations, the providing further includes, without further intervention related to the request by the module, determining that the request cannot currently be satisfied, and indicating to the module that the request cannot currently be satisfied, monitoring at later times after the indicating to determine whether the request can be satisfied, and indicating to the module that the request can be satisfied if it is determined at one of the later times that the request can currently be satisfied.
100 Citations
170 Claims
-
1. A method in a portable computer for providing information about a context that is modeled with multiple context attributes, comprising:
-
receiving from a first client an indication of an interest in receiving notification when a specified event that is related to at least one of the context attributes occurs, the specified event based at least in part on values of one or more of the at least one context attributes; monitoring information related to the at least one context attributes for an indication of an occurrence of the specified event, the monitoring including obtaining multiple values for one of the at least one context attributes and mediating the obtained multiple values to determine a mediated value for that one context attribute; and when the monitoring detects an indication of the occurrence of the specified event based at least in part on the mediated value, notifying the first client of the occurrence. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-readable medium containing instructions that when executed cause a computing device to provide information about a context that is modeled with multiple context attributes, by performing a method comprising:
-
receiving from a first client an indication of an interest in receiving notification when a specified event that is related to at least one of the context attributes occurs; monitoring information related to the at least one context attributes for an indication of an occurrence of the specified event, the monitoring including obtaining multiple values for one of the at least one context attributes and mediating the obtained multiple values to determine a mediated value for that one context attribute; and when the monitoring detects an indication of the occurrence of the specified event based at least in part on the mediated value, notifying the first client of the occurrence. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A portable computer for providing information about a context that is represented with multiple attributes, comprising:
-
a memory; a notification input module that when executed in the memory is capable of receiving from a first client an indication of an interest in receiving notification when a specified event that is related to at least one of the context attributes occurs, the specified event based at least in part on values of one or more of the at least one context attributes; and a notifier module that when executed in the memory is capable of monitoring information related to the at least one context attributes for an indication of an occurrence of the specified event, and of notifying the first client of the occurrence after the monitoring detects an indication of the occurrence of the specified event, the monitoring including obtaining multiple values for one of the at least one context attributes and mediating the obtained multiple values to determine a mediated value for that one context attribute. - View Dependent Claims (19, 20, 21, 22)
-
-
23. A method in a wearable computer for providing information about a current state of a user of the wearable computer, the current state modeled with multiple state attributes, the wearable computer executing a plurality of state server modules to supply values for the state attributes, executing a plurality of state client modules to receive and process values for the state attributes, and executing an intermediary module to facilitate exchange of state attribute values, the method comprising:
-
under control of each of the executing state server modules, sending to the intermediary module values for at least one of the state attributes; under control of multiple of the executing state client modules, sending to the intermediary module a notification request for a specified type of event such that the state client module that sent the notification request requests to be notified when the specified type of event occurs; and under control of the intermediary module, receiving the sent state attribute values and the sent notification requests; sending at least some of the received state attribute values to at least some of the state client modules; and for each of the received notification requests, in response to the receiving of the notification request, monitoring occurrences of events in order to detect an occurrence of the type of event specified for that notification request; and when an occurrence of the type of event specified for that notification request is detected, notifying the state client module that sent the notification request of the occurrence, so that the state client modules can automatically be notified of occurrences of events of interest. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74)
-
-
75. A method in a computer for providing information about a current state that is modeled with multiple state attributes, the method comprising:
-
receiving from a module an indication of a condition related to values of one or more specified state attributes, the indicated condition such that the module desires to be notified when the condition has been satisfied; receiving one or more values of the specified state attributes from one or more modules; generating one or more modeled values for one or more state attributes at a higher level of abstraction than the specified state attributes, the generated modeled values based at least in part on the received values of the specified state attributes; after the receiving of the indication of the condition, detecting satisfaction of the indicated condition based at least in part on the generated modeled values of the state attributes at the higher level of abstraction; and notifying the module of the detected satisfaction. - View Dependent Claims (76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105)
-
-
106. A computer-readable medium whose contents cause a computing device to provide information about a current state modeled with multiple state attributes, the providing of the information based on a plurality of executing state server modules that supply values for the state attributes, on a plurality of executing state client modules that receive and process values for the state attributes, and on an executing intermediary module that facilitates exchange of state attribute values, by performing a method comprising:
-
for each of the executing state server modules, sending values for at least one of the state attributes; for each of multiple of the executing state client modules, sending a notification request for a specified type of event such that the state client module requests to be notified when the specified type of event occurs; and under control of the intermediary module, receiving the sent state attribute values and the sent notification requests; sending at least some of the received state attribute values to at least some of the state client modules; and for each of the received notification requests, monitoring occurrences of events in order to detect an occurrence of the type of event specified for that notification request; and when an occurrence of the type of event specified for that notification request is detected, notifying the state client module for which the notification request was sent of the occurrence.
-
-
107. A portable computing device for providing information about a state of a user, the state modeled with multiple state attributes, the providing of the information based on a plurality of executing state server modules to supply values for the state attributes, on a plurality of executing state client modules to receive and process values for the state attributes, and on an executing intermediary module to facilitate exchange of state attribute values, comprising:
-
a memory; a first module configured to, when executed in memory, for each of the executing state server modules, receive values sent from the state server module for at least one of the state attributes, and configured to send at least some of the received state attribute values to at least some of the state client modules; a second module configured to, when executed in memory, for each of multiple of the executing state client modules, receive a notification request from the state client module for a specified type of event such that the state client module requests to be notified when the specified type of event occurs; and an intermediary module configured to, when executed in memory, for each of the notification requests, monitor occurrences of events in order to detect an occurrence of the type of event specified for that notification request; and when an occurrence of the type of event specified for that notification request is detected, notify the state client module for the notification request of the occurrence.
-
-
108. A method in a computing device for providing information about a state that is modeled with multiple state attributes, comprising:
-
receiving from a first client an indication of an interest in receiving notification when a specified event that is related to one or more values of at least one of the state attributes occurs; retrieving indications of cached values for one or more of the at least one state attributes; when it is determined from the retrieved indications that the cached values do not reflect an occurrence of the specified event, obtaining additional values for one or more of the at least one state attributes from one or more servers; and when it is determined that the obtained additional values do reflect an occurrence of the specified event, notifying the first client of the occurrence. - View Dependent Claims (109, 110, 111, 112, 113, 114, 115)
-
-
116. A method in a computing device for providing information about a state that is modeled with multiple state attributes, comprising:
-
receiving from a first client an indication of an interest in receiving notification when a first specified event that is related to at least one of the state attributes occurs; after the receiving of the indication of the interest in receiving notification when the first specified event occurs, receiving one or more indications from one or more servers that reflect an ability of each of those servers to supply values for one or more additional state attributes whose values were not previously available; after the receiving of an indication from one of the servers that reflects the ability of that one server to supply values for one of the additional state attributes, receiving from a second client an indication of an interest in receiving notification when a second specified event occurs that is related at least in part to that one additional state attribute; and when an occurrence of the second specified event is detected based at least in part on a value of the one additional state attribute, notifying the second client of the occurrence. - View Dependent Claims (117, 118, 119, 120, 121, 122, 123)
-
-
124. A computer-readable medium containing contents that cause a computing device to provide information about a current state that is modeled with multiple state attributes, by performing a method comprising:
-
receiving from a module an indication of a condition related to values of one or more specified state attributes; receiving one or more values of the specified state attributes from one or more sources; generating one or more modeled values for one or more state attributes at a higher level of abstraction than the specified state attributes, the generated modeled values based at least in part on the received values of the specified state attributes; after the receiving of the indication of the condition, detecting satisfaction of the indicated condition based at least in part on the generated modeled values of the state attributes at the higher level of abstraction; and notifying an indicated recipient of the detected satisfaction. - View Dependent Claims (125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137)
-
-
138. A computing device for providing information about a state that is modeled with multiple state attributes, comprising:
-
a memory; a first module that when executed in the memory is capable of receiving from a client an indication of a condition related to values of one or more specified state attributes and of receiving one or more values of the specified state attributes; a second module that when executed in the memory is capable of generating one or more modeled values for one or more state attributes at a higher level of abstraction than the specified state attributes based at least in part on the received values of the specified state attributes; and a third module that when executed in the memory is capable of detecting satisfaction of the indicated condition based at least in part on the generated modeled values of the state attributes and notifying the client of the detected satisfaction. - View Dependent Claims (139, 140, 141, 142, 143, 144, 145)
-
-
146. A computer-readable medium containing contents that cause a computing device to provide information about a state that is modeled with multiple state attributes, by performing a method comprising:
-
receiving from a first client an indication of an interest in receiving notification when a specified event occurs that is related to one or more values of at least one of the state attributes; retrieving indications of cached values for one or more of the at least one state attributes; when it is determined that the cached values do not reflect an occurrence of the specified event, obtaining additional values for one or more of the at least one state attributes from one or more sources; and when it is determined that the obtained additional values do reflect an occurrence of the specified event, notifying the first client of the occurrence. - View Dependent Claims (147, 148, 149, 150, 151, 152, 153, 154)
-
-
155. A computing device for providing information about a state that is modeled with multiple state attributes, comprising:
-
a memory; a first module that when executed in the memory is capable of receiving from a client an indication of an interest in receiving notification when a specified event that is related to one or more values of at least one of the state attributes occurs; and a second module that when executed in the memory is capable of retrieving indications of cached values for one or more of the at least one state attributes, of obtaining additional values for one or more of the at least one state attributes if it is determined that the cached values do not reflect an occurrence of the specified event, and of notifying the client of the occurrence if it is determined that the obtained additional values reflect an occurrence of the specified event. - View Dependent Claims (156, 157, 158)
-
-
159. A computer-readable medium containing contents that cause a computing device to provide information about a state that is modeled with multiple state attributes, by performing a method comprising:
-
receiving from a client an indication of an interest in receiving notification when a first specified event that is related to at least one of the state attributes occurs; after the receiving of the indication of the interest in receiving notification when the first specified event occurs, receiving one or more indications from one or more sources that reflect an ability of each of those sources to supply values for one or more additional state attributes whose values were not previously available; after the receiving of an indication from one of the sources that reflects the ability of that one source to supply values for one of the additional state attributes, receiving from a client an indication of an interest in receiving notification when a second specified event occurs that is related at least in part to that one additional state attribute; and when an occurrence of the second specified event is detected based at least in part on a value of the one additional state attribute, notifying the client that indicated the interest for the second specified event of the occurrence. - View Dependent Claims (160, 161, 162, 163, 164)
-
-
165. A computing device for providing information about a state that is modeled with multiple state attributes, comprising:
-
a memory; a first module that when executed in the memory is capable of receiving from a first client an indication of an interest in receiving notification when a first specified event that is related to at least one of the state attributes occurs, and of, after receiving an indication from a source that reflects the ability of that source to supply values for an additional state attribute whose values were not previously available, receiving from a second client an indication of an interest in receiving notification when a second specified event occurs that is related at least in part to that additional state attribute; and a second module that when executed in the memory is capable of, after the receiving of the indications of the interest in receiving notifications when the first and second specified events occur, notifying the second client when an occurrence of the second specified event is detected based at least in part on a value of the additional state attribute. - View Dependent Claims (166, 167, 168, 169, 170)
-
Specification