Supplying enhanced computer user's context data
First Claim
1. 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 state server modules, sending to the intermediary module a registration message indicating a current availability of the state server module to supply values for an indicated one of the state attributes;
under control of the intermediary module, receiving the sent registration messages; and
for each of multiple state client modules, receiving from the state client module a request for a current value of a specified state attribute;
requesting a value for the specified state attribute from at least one state server module that is determined to be currently available to supply values for the specified state attribute, the determining based on the received registration messages;
receiving from at least one of the determined state server modules the requested value and additional descriptive information related to usage of the requested value, the additional information indicating an accuracy of the requested value and a time at which the requested value has the indicated accuracy; and
sending to the state client module one of the received values and the received additional descriptive information related to the one value; and
under control of each of the multiple state client modules, receiving from the intermediary module a requested value and additional descriptive information; and
processing the received requested value based on the received additional descriptive information.
3 Assignments
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 of information includes receiving from first and second sources indications of ability to supply values for, respectively, an indicated one of the state attributes and another of the state attributes. In such situations, after receiving an indication of the indicated attribute from a first client, the providing of information further includes determining that the first source is available to supply a value for the indicated attribute, obtaining from the first source an indication of the value and information describing the indicated value, determining based at least in part on the descriptive information whether the indicated value is appropriate to be supplied to the client, and supplying the indicated value to the client when it is determined that the indicated value is appropriate.
484 Citations
80 Claims
-
1. 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 state server modules, sending to the intermediary module a registration message indicating a current availability of the state server module to supply values for an indicated one of the state attributes;
under control of the intermediary module, receiving the sent registration messages; and
for each of multiple state client modules, receiving from the state client module a request for a current value of a specified state attribute;
requesting a value for the specified state attribute from at least one state server module that is determined to be currently available to supply values for the specified state attribute, the determining based on the received registration messages;
receiving from at least one of the determined state server modules the requested value and additional descriptive information related to usage of the requested value, the additional information indicating an accuracy of the requested value and a time at which the requested value has the indicated accuracy; and
sending to the state client module one of the received values and the received additional descriptive information related to the one value; and
under control of each of the multiple state client modules, receiving from the intermediary module a requested value and additional descriptive information; and
processing the received requested value based on the received additional descriptive information. - View Dependent Claims (2, 3, 4, 5, 6)
receiving the request from the intermediary module to supply the requested value;
determining at least one input sensor able to supply input information related to the requested value; and
in response to the receiving of the request, obtaining the related input information from the determined input sensors;
generating the requested value based on the obtained information;
determining additional descriptive information related to the generated value; and
sending to the intermediary module the generated value and the determined additional descriptive information.
-
-
4. The method of claim 1 wherein the received request from the state client module for the current value of the specified state attribute includes an indication of an accuracy threshold for the current value, and including:
after the receiving of the requested values and the additional descriptive information from the determined state server modules, selecting one of the received values to be sent to the client module based on the accuracy of the selected value being above the indicated accuracy threshold, the accuracy of the selected value being indicated by the received additional descriptive information related to the selected value.
-
5. The method of claim 1 wherein the processing of the received requested value includes presenting information to a user of the state client module based on the received requested value.
-
6. The method of claim 1 wherein at least some of the state client modules send requests to the intermediary module for values of additional state attributes of a current state other than for the user, and wherein the intermediary module sends values for the additional state attributes to those state client modules, the values for the additional state attributes received from state server modules in response to requests from the intermediary module for the values.
-
7. A method in a computer for providing information about a current state that is modeled with multiple state attributes, comprising:
-
receiving from a first source an indication of an ability to supply values for an indicated one of the state attributes of the modeled current state;
receiving from a second source an indication of an ability to supply values for another of the state attributes of the modeled current state;
after receiving an indication of the indicated attribute from a first client, determining that the first source is available to supply a value for the indicated attribute;
obtaining from the first source an indication of the value and information describing the indicated value, the descriptive information indicating a time at which the indicated value was generated;
storing the indicated value;
determining based at least in part on the descriptive information whether the indicated value is appropriate to be supplied to the client; and
when it is determined that the indicated value is appropriate, supplying the indicated value to the client; and
in response to receiving requests from clients for a value of the indicated state attribute, supplying the stored value to the clients while a difference from a current time to the time at which the stored value was generated is less than a threshold. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
storing the obtained constant value; and
supplying the stored constant value to clients in response to future requests for a value of the indicated state attribute.
-
-
10. The method of claim 7 wherein the descriptive information indicates a name of the indicated attribute.
-
11. The method of claim 10 wherein the indicated attribute is part of a predefined taxonomy of attributes such that each of the attributes in the predefined taxonomy has a predefined name.
-
12. The method of claim 10 wherein the indicated attribute is dynamically defined by the first source, and wherein the descriptive information provides an indication of an applicability of the indicated value so as to assist clients in determining whether to use the indicated value.
-
13. The method of claim 7 wherein the obtaining of the value includes requesting the first source to supply a value, the requesting including an indication of a time period, and wherein the indicated value is determined to be appropriate if the time period includes the time at which the indicated value was generated.
-
14. The method of claim 7 wherein the descriptive information indicates a time at which the indicated value is most accurate.
-
15. The method of claim 14 wherein the obtaining of the value includes requesting the first source to supply a value, the requesting including an indication of a time period, and wherein the indicated value is determined to be appropriate if the time period includes the time at which the indicated value is most accurate.
-
16. The method of claim 7 wherein the descriptive information includes a likelihood of accuracy of the indicated value.
-
17. The method of claim 16 wherein the obtaining of the value includes requesting the first source to supply a value, the requesting including an indication of a minimum accuracy, and wherein the indicated value is determined to be appropriate if the likelihood of accuracy is at least the minimum accuracy.
-
18. The method of claim 7 wherein the descriptive information indicates a precision of the indicated value.
-
19. The method of claim 7 wherein the descriptive information indicates properties of the indicated value.
-
20. The method of claim 7 wherein the descriptive information indicates a group of at least one authorized client, and wherein the indicated value is determined to be appropriate for the client if the client is one of the authorized clients.
-
21. The method of claim 7 wherein the descriptive information indicates a version of the first source.
-
22. The method of claim 7 wherein the descriptive information indicates how the indicated value was generated.
-
23. The method of claim 7 wherein the descriptive information indicates how the indicated value is to be interpreted.
-
24. The method of claim 7 wherein the received indication from the first client is a request for a value of the indicated attribute, and wherein the obtaining of the value from the first source includes requesting the first source to supply the value, the requesting in response to the receiving of the request from the first client.
-
25. The method of claim 7 wherein the determining of whether the indicated value is appropriate includes determining whether the obtained descriptive information satisfies a specified criteria.
-
26. The method of claim 7 wherein the indicated attribute represents information about a user of the computer.
-
27. The method of claim 26 wherein the represented information reflects a modeled mental state of the user.
-
28. The method of claim 7 wherein the indicated attribute represents information about the computer.
-
29. The method of claim 7 wherein the indicated attribute represents information about a physical environment.
-
30. The method of claim 7 wherein the indicated attribute represents information about a cyber-environment of a user of the computer.
-
31. The method of claim 7 wherein the indicated attribute represents a current prediction about a future state.
-
32. The method of claim 7 wherein multiple sources have an ability to supply values for the indicated attribute, and including requesting each of the multiple sources to supply a value of the indicated attribute after the receiving of the indication from the first client.
-
33. The method of claim 32 including receiving multiple values for the indicated attribute and receiving descriptive information for each of the multiple values, and wherein the obtaining of the value includes selecting one of the multiple values based on the received descriptive information for the one value.
-
34. The method of claim 7 including, after receiving an indication from the first client for a value of a second indicated attribute and after receiving from a source a value for the second attribute, supplying to the first client the received value for the second attribute.
-
35. The method of claim 34 wherein the received value for the second attribute is from the first source.
-
36. The method of claim 7 including, after obtaining from a source a second value for the indicated attribute and descriptive information for the second value, supplying the second value to the first client.
-
37. The method of claim 7 including supplying to the first client a mediated value for the indicated attribute that is based on multiple received values for the indicated attribute, the mediating based on descriptive information received for each of the multiple received values.
-
38. The method of claim 7 wherein receiving of the supplied value by the first client prompts the first client to present information to a user of the first client.
-
39. A method in a computer for providing information about a current state that is modeled with multiple state attributes, comprising:
-
receiving from a first source an indication of an ability to supply values for an indicated one of the state attributes of the modeled current state;
receiving from a second source an indication of an ability to supply values for another of the state attributes of the modeled current state;
after receiving an indication of the indicated attribute from a first client, determining that the first source is available to supply a value for the indicated attribute;
obtaining from the first source an indication of the value and information describing the indicated value, the descriptive information indicating a time at which the indicated value is most accurate;
storing the indicated value;
determining based at least in part on the descriptive information whether the indicated value is appropriate to be supplied to the client; and
when it is determined that the indicated value is appropriate, supplying the indicated value to the client; and
in response to receiving requests from clients for a value of the indicated state attribute, supplying the stored value to the clients while a difference from a current time to the time at which the stored value is most accurate is less than a threshold.
-
-
40. A method in a computer for providing information about a current state that is modeled with multiple state attributes, comprising:
-
receiving from a first source an indication of an ability to supply values for an indicated one of the state attributes of the modeled current state;
receiving from a second source an indication of an ability to supply values for another of the state attributes of the modeled current state;
after receiving an indication of the indicated attribute from a first client, determining that the first source is available to supply a value for the indicated attribute;
obtaining from the first source an indication of the value and information describing the indicated value, the descriptive information including a likelihood of accuracy of the indicated value that decays over time;
storing the indicated value;
determining based at least in part on the descriptive information whether the indicated value is appropriate to be supplied to the client; and
when it is determined that the indicated value is appropriate, supplying the indicated value to the client; and
in response to receiving requests from clients for a value of the indicated state attribute, supplying the stored value to the clients if a current decayed likelihood of accuracy of the stored value satisfies an accuracy threshold.
-
-
41. A method in a computer for providing information about a current state that is modeled with multiple state attributes, comprising:
-
receiving from a first source an indication of an ability to supply values for an indicated one of the state attributes of the modeled current state;
receiving from a second source an indication of an ability to supply values for another of the state attributes of the modeled current state; and
after receiving an indication of the indicated attribute from a first client, determining that the first source is available to supply a value for the indicated attribute;
obtaining from the first source an indication of the value and information describing the indicated value, the descriptive information indicating an uncertainty of the indicated value;
determining based at least in part on the descriptive information whether the indicated value is appropriate to be supplied to the client; and
when it is determined that the indicated value is appropriate, supplying the indicated value to the client. - View Dependent Claims (42)
-
-
43. A method in a computer for providing information about a current state that is modeled with multiple state attributes, comprising:
-
receiving from a first source an indication of an ability to supply values for an indicated one of the state attributes of the modeled current state;
receiving from a second source an indication of an ability to supply values for another of the state attributes of the modeled current state;
after receiving an indication of the indicated attribute from a first client, determining that the first source is available to supply a value for the indicated attribute;
obtaining from the first source an indication of the value and information describing the indicated value;
determining based at least in part on the descriptive information whether the indicated value is appropriate to be supplied to the client; and
when it is determined that the indicated value is appropriate, supplying the indicated value to the client;
receiving from a source without request a current value of a specified state attribute and descriptive information for the current value; and
in response to the receiving of the current value, determining at least one client having an interest in receiving the received current value for the specified state attribute, the determining based at least in part of the received descriptive information; and
sending the received current value to each of the determined clients.
-
-
44. A method in a computer for providing information about a current state that is modeled with multiple state attributes, comprising:
-
receiving from a first source an indication of an ability to supply values for an indicated one of the state attributes of the modeled current state;
receiving from a second source an indication of an ability to supply values for another of the state attributes of the modeled current state;
after receiving an indication of the indicated attribute from a first client, determining that the first source is available to supply a value for the indicated attribute;
obtaining from the first source an indication of the value and information describing the indicated value;
determining based at least in part on the descriptive information whether the indicated value is appropriate to be supplied to the client; and
when it is determined that the indicated value is appropriate, supplying the indicated value to the client; and
after obtaining from a source a second value for the indicated attribute and descriptive information for the second value, supplying the second value to the first client, the second value distinct from the indicated value, and the descriptive information for the second value the same as the descriptive information for the indicated value.
-
-
45. A method in a computer for providing information about a current state that is modeled with multiple state attributes, comprising:
-
receiving from a first source an indication of an ability to supply values for an indicated one of the state attributes of the modeled current state;
receiving from a second source an indication of an ability to supply values for another of the state attributes of the modeled current state; and
after receiving an indication of the indicated attribute from a first client, determining that the first source is available to supply a value for the indicated attribute;
obtaining from the first source an indication of the value and information describing the indicated value;
determining based at least in part on the descriptive information whether the indicated value is appropriate to be supplied to the client; and
when it is determined that the indicated value is appropriate, supplying the indicated value to the client; and
after obtaining from a source a second value for the indicated attribute and descriptive information for the second value, supplying the second value to the first client, the second value the same as the indicated value, and the descriptive information for the second value distinct from the descriptive information for the indicated value.
-
-
46. A computer-readable medium whose contents 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 first source an indication of an ability to supply values for an indicated one of the state attributes of the modeled current state;
after receiving an indication of the indicated attribute from a first client, determining that the first source is available to supply a value for the indicated attribute;
obtaining from the first source an indication of the value and information describing the indicated value, the descriptive information indicating a generation time for the indicated value;
determining based at least in part on the descriptive information whether the indicated value is appropriate to be supplied to the client; and
when it is determined that the indicated value is appropriate, supplying the indicated value to the clients;
storing the indicated value; and
in response to receiving requests from clients for a value of the indicated state attribute, supplying the stored value to the clients while a difference from a current time to the generation time for the stored value is less than a threshold. - View Dependent Claims (47)
-
-
48. A computer-readable generated data signal transmitted via a transmission medium, the generated data signal having encoded contents that cause a computer system to provide information about a current state that is modeled with multiple state attributes by performing a method comprising:
-
receiving from a first source an indication of an ability to supply values for an indicated one of the state attributes of the modeled current state;
receiving from a second source an indication of an ability to supply values for another of the state attributes of the modeled current state;
after receiving an indication of the indicated attribute from a first client, determining that the first source is available to supply a value for the indicated attribute;
obtaining from the first source an indication of the value and information describing the indicated value, the descriptive information indicating a time at which the indicated value was generated;
storing the indicated value;
determining based at least in part on the descriptive information whether the indicated value is appropriate to be supplied to the client; and
when it is determined that the indicated value is appropriate, supplying the indicated value to the client; and
in response to receiving requests from clients for a value of the indicated state attribute, supplying the stored value to the clients while a difference from a current time to the time at which the stored value was generated is less than a threshold.
-
-
49. A computing device for providing information about a current state that is represented with multiple attributes, comprising:
-
an attribute mapping module that is capable of receiving from a first source an indication of an ability to supply values for an indicated one of the attributes of the current state and of receiving from a second source an indication of an ability to supply values for another of the attributes of the current state;
an attribute value request module that is capable of receiving an indication from a first client of the indicated attribute; and
an attribute value supplier module that is capable of, after the receiving of the indication from the first client, requesting the first source to supply a value of the indicated attribute, receiving from the first source an indication of the requested value and descriptive information for the received value that indicates a time at which the received value was generated, determining based on the received descriptive information whether the received requested value is appropriate to be supplied to the client, supplying the received value to the client when it is determined that the received requested value is appropriate, and supplying to other clients in response to received requests the received value while a difference from a current time to the time at which the received value was generated is less than a threshold. - View Dependent Claims (50, 51)
-
-
52. A computing device for providing information about a current state that is represented with multiple modeled attributes, comprising:
-
means for receiving from a first source an indication of an ability to supply values for an indicated one of the modeled attributes of the current state and for receiving from a second source an indication of an ability to supply values for another of the modeled attributes of the current state; and
means for, after receiving an indication from a first client of the indicated attribute, determining that the first source is available to supply a value for the indicated attribute, obtaining from the first source an indication of the value and information describing the indicated value that indicates a time at which the indicated value was generated, determining based on the obtained descriptive information whether the indicated value is appropriate to be supplied to the client, and supplying the indicated value to the client when it is determined that the indicated value is appropriate, and for supplying to other clients in response to received requests the indicated value while a difference from a current time to the time at which the indicated value was generated is less than a threshold.
-
-
53. A method in a portable computer for providing information about a context that is modeled with multiple context attributes, comprising:
-
receiving from each of multiple sources an indication of an ability to supply values for at least one of the context attributes of the modeled context;
receiving from each of multiple clients an indication of a desire to receive multiple values for one of the context attributes of the modeled context;
for each of the multiple clients, receiving multiple requests from the client for a value for the one context attribute for which the client has indicated the desire to receive values; and
after the receiving of each of the multiple requests, retrieving the requested value by, determining multiple sources currently having an ability to supply values for the one context attribute for which the client has indicated the desire to receive values;
requesting each of the determined sources to supply a value for the one context attribute;
receiving from each of multiple determined sources a value for the one context attribute and information characterizing the value based at least in part on an indicated generation time for the value;
determining at least one of the received values to send to the client based on the received information characterizing the received values; and
sending the determined received values to the client; and
after a received request from a client for a value of an indicated context attribute, supplying to the client a previously received value for that indicated context attribute if received information for that value indicates a generation time whose difference from a current time is less than a threshold. - View Dependent Claims (54, 55, 56, 57, 58)
-
-
59. 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 each of multiple sources an indication of an ability to supply values for at least one of the context attributes of the modeled context;
receiving from each of multiple clients an indication of a desire to receive multiple values for one of the context attributes of the modeled context;
for each of the multiple clients, receiving multiple requests from the client for a value for the one context attribute for which the client has indicated the desire to receive values; and
after the receiving of each of the multiple requests, retrieving the requested value by, determining multiple sources currently having an ability to supply values for the one context attribute for which the client has indicated the desire to receive values;
requesting each of the determined sources to supply a value for the one context attribute;
receiving from each of multiple determined sources a value for the one context attribute and information characterizing the value by indicating a generation time for the value;
determining at least one of the received values to send to the client based on the received information characterizing the received values; and
sending the determined received values to the client; and
after a received request from a client, supplying to the client a previously received value for an indicated context attribute if received information for that value indicates a generation time whose difference from a current time is less than a threshold.
-
-
60. A portable computer for providing information about a context that is represented with multiple attributes, comprising:
-
an attribute mapping module that is capable of receiving from each of multiple sources an indication of an ability to supply values for at least one of the attributes of the context and of receiving from each of multiple clients an indication of a desire to receive multiple values for one of the attributes of the context; and
an attribute value supplier module that is capable of receiving from each of the multiple clients multiple requests for a value for the one attribute for which the client has indicated the desire to receive values, of determining after the receiving of each of the multiple requests whether any of the multiple sources currently have an ability to supply values for the one attribute, of requesting after the determining that each determined source supply a value for the one attribute, of receiving from each of multiple determined sources a value for the one attribute and information characterizing the value based at least in part on an indicated generation time for the value, of determining at least one of the received values to send to the client based on the received information characterizing the received values, of sending the determined received values to the requesting client, and of supplying to a client a received value for an indicated context attribute if received information for that value indicates a generation time whose difference from a current time is less than a threshold.
-
-
61. A computer-implemented method for providing information about a current state that is modeled with multiple state attributes, each of the state attributes having multiple sources available to supply values for the attribute, comprising:
-
sending to an intermediary module a first request for a value of a first of the state attributes;
receiving from the intermediary module a first value for the first state attribute and first information describing the first value, the first value and the first descriptive information supplied to the intermediary module from a first source, the received first descriptive information indicating that the first value was generated at an indicated time;
sending to the intermediary module a second request for a value of the first state attribute based on a current time differing from the time at which the first value was generated by more than a recency threshold;
receiving from the intermediary module a second value for the first state attribute and second information describing the second value, the second value and the second descriptive information supplied to the intermediary module from a second source;
sending to the intermediary module a third request for a value of a second of the state attributes;
receiving from the intermediary module a third value for the second state attribute and third information describing the third value, the third value and the third descriptive information supplied to the intermediary module from a third source; and
using at least one of the received values and the received descriptive information for the at least one received value to perform processing based on the modeled current state. - View Dependent Claims (62, 63, 64, 65)
-
-
66. A computer-implemented method for providing information about a current state that is modeled with multiple state attributes, each of the state attributes having multiple sources available to supply values for the attribute, comprising:
-
sending to an intermediary module a first request for a value of a first of the state attributes;
receiving from the intermediary module a first value for the first state attribute and first information describing the first value, the first value and the first descriptive information supplied to the intermediary module from a first source;
sending to the intermediary module a second request for a value of the first state attribute;
receiving from the intermediary module a second value for the first state attribute and second information describing the second value, the second value and the second descriptive information supplied to the intermediary module from a second source;
sending to the intermediary module a third request for a value of a second of the state attributes;
receiving from the intermediary module a third value for the second state attribute and third information describing the third value, the third value and the third descriptive information supplied to the intermediary module from a third source, the received third descriptive information indicating that the third value is most accurate at an indicated time; and
using at least one of the received values and the received descriptive information for the at least one received value to perform processing based on the modeled current state, the using including suspending use of the third value after a current time differs from the time at which the third value is most accurate by more than a recency threshold.
-
-
67. A computer-implemented method for providing information about a current state that is modeled with multiple state attributes, each of the state attributes having multiple sources available to supply values for the attribute, comprising:
-
sending to an intermediary module a first request for a value of a first of the state attributes;
receiving from the intermediary module a first value for the first state attribute and first information describing the first value, the first value and the first descriptive information supplied to the intermediary module from a first source, the received first descriptive information indicating an accuracy estimate for the first value;
sending to the intermediary module a second request for a value of the first state attribute, the sending based on the accuracy estimate of the first value being less than an accuracy limit;
receiving from the intermediary module a second value for the first state attribute and second information describing the second value, the second value and the second descriptive information supplied to the intermediary module from a second source;
sending to the intermediary module a third request for a value of a second of the state attributes;
receiving from the intermediary module a third value for the second state attribute and third information describing the third value, the third value and the third descriptive information supplied to the intermediary module from a third source; and
using at least one of the received values and the received descriptive information for the at least one received value to perform processing based on the modeled current state.
-
-
68. A computer-implemented method for providing information about a current state that is modeled with multiple state attributes, each of the state attributes having multiple sources available to supply values for the attribute, comprising:
-
sending to an intermediary module a first request for a value of a first of the state attributes;
receiving from the intermediary module a first value for the first state attribute and first information describing the first value, the first value and the first descriptive information supplied to the intermediary module from a first source;
sending to the intermediary module a second request for a value of the first state attribute;
receiving from the intermediary module a second value for the first state attribute and second information describing the second value, the second value and the second descriptive information supplied to the intermediary module from a second source;
sending to the intermediary module a third request for a value of a second of the state attributes;
receiving from the intermediary module a third value for the second state attribute and third information describing the third value, the third value and the third descriptive information supplied to the intermediary module from a third source, the received third descriptive information indicating an uncertainty of the third values; and
using at least one of the received values and the received descriptive information for the at least one received value to perform processing based on the modeled current state, including declining to use the third value when the uncertainty of the third value is more than an uncertainty threshold.
-
-
69. A computer-implemented method for providing information about a current state that is modeled with multiple state attributes, each of the state attributes having multiple sources available to supply values for the attribute, comprising:
-
sending to an intermediary module a first request for a value of a first of the state attributes;
receiving from the intermediary module a first value for the first state attribute and first information describing the first value, the first value and the first descriptive information supplied to the intermediary module from a first source;
sending to the intermediary module a second request for a value of the first state attribute;
receiving from the intermediary module a second value for the first state attribute and second information describing the second value, the second value and the second descriptive information supplied to the intermediary module from a second source;
sending to the intermediary module a third request for a value of a second of the state attributes;
receiving from the intermediary module a third value for the second state attribute and third information describing the third value, the third value and the third descriptive information supplied to the intermediary module from a third source, the received third descriptive information indicating that the third value is a constant value for the second state attribute, and using at least one of the received values and the received descriptive information for the at least one received value to perform processing based on the modeled current state, including halting additional requests for the value of the second state attribute based on the indication that the third value is a constant value.
-
-
70. A computer-readable medium whose contents cause a computing device to provide information about a current state that is modeled with multiple state attributes, each of the state attributes having multiple sources available to supply values for the attribute, by performing a method comprising:
-
sending to an intermediary module a first request for a value of a first of the state attributes;
receiving from the intermediary module a first value for the first state attribute and first information describing the first value, the first value and the first descriptive information supplied to the intermediary module from a first source, the received first descriptive information indicating a generation time for the first value;
sending to the intermediary module a second request for a value of the first state attribute based on a current time differing from the generation time for the first value by more than a recency threshold;
receiving from the intermediary module a second value for the first state attribute and second information describing the second value, the second value and the second descriptive information supplied to the intermediary module from a second source;
sending to the intermediary module a third request for a value of a second of the state attributes;
receiving from the intermediary module a third value for the second state attribute and third information describing the third value, the third value and the third descriptive information supplied to the intermediary module from a third source; and
using at least one of the received values and the received descriptive information for the at least one received value to perform processing based on the modeled current state.
-
-
71. A computing device for providing information about a current state that is modeled with multiple state attributes, each of the state attributes having multiple sources available to supply values for the attribute, comprising:
-
a first module capable of sending to an intermediary module a first request for a value of a first of the state attributes, of sending to the intermediary module a second request for a value of the first state attribute based on a current time differing by more than a recency threshold from a time at which an earlier value for the first state attribute was generated, and of sending to the intermediary module a third request for a value of a second of the state attributes;
a second module capable of receiving from the intermediary module a first value for the first state attribute and first information describing the first value that indicates a time of generation for the first value, the first value and the first descriptive information supplied to the intermediary module from a first source, of receiving from the intermediary module a second value for the first state attribute and second information describing the second value, the second value and the second descriptive information supplied to the intermediary module from a second source, and of receiving from the intermediary module a third value for the second state attribute and third information describing the third value, the third value and the third descriptive information supplied to the intermediary module from a third source; and
a third module capable of using at least one of the received values and the received descriptive information for the at least one received value to perform processing based on the modeled current state.
-
-
72. A computer-implemented method for providing information about a current state that is modeled with multiple state attributes, each of the state attributes having multiple sources available to supply values for the attribute, comprising:
-
sending to an intermediary module a registration message indicating an ability to supply values for an indicated one of the state attributes of the modeled current state; and
for each of multiple requests for a value of the one state attribute, receiving the request from the intermediary module, the sending of the request by the intermediary module based on an request received by the intermediary module from a client; and
in response to the receiving of the request, retrieving multiple pieces of input information about the modeled current state, generating a value for the one state attribute based at least in part on the retrieved input information;
determining information that describes that generated value, the determined descriptive information including an uncertainty value associated with generation of the generated value; and
sending to the intermediary module an indication of the generated value and of the determined descriptive information so that the intermediary module can use the descriptive information to determine whether to supply the generated value to a client and so that the client can determine how to use the generated value. - View Dependent Claims (73, 74, 75, 76, 77, 78)
sending to the intermediary module a registration message indicating an ability to supply values for another one of the state attributes;
generating a value for the another state attribute based at least in part on received input information about the modeled current state, determining information that describes that generated value for the another state attribute; and
sending to the intermediary module an indication of the generated value for the another state attribute and of the determined descriptive information for the generated value.
-
-
74. The method of claim 72 wherein the state attributes represent information about a user of the computer.
-
75. The method of claim 72 wherein each of the received requests additionally indicate at least one type of descriptive information, and wherein the determined descriptive information for the generated value that is sent in response includes information for the indicated type of descriptive information.
-
76. The method of claim 75 wherein the indication of the type of descriptive information includes an indication of a constraint for a value for the descriptive information type, and wherein the determined descriptive information for the generated value that is sent in response includes a value for the indicated type of descriptive information that satisfies the constraint.
-
77. The method of claim 72 wherein the determined descriptive information includes an effective time at which the generated value is most accurate.
-
78. The method of claim 72 wherein the descriptive information indicates an accuracy of the generated value.
-
79. A computer-readable medium whose contents cause a computing device to provide information about a current state that is modeled with multiple state attributes, each of the state attributes having multiple sources available to supply values for the attribute, by performing a method comprising:
-
sending to an intermediary module a registration message indicating an ability to supply values for an indicated one of the state attributes of the modeled current state, and for each of multiple requests for a value of the one state attribute, receiving the request from the intermediary module, the sending of the request by the intermediary module based on an request received by the intermediary module from a client; and
in response to the receiving of the request, retrieving multiple pieces of input information about the modeled current state, generating a value for the one state attribute based at least in part on the retrieved input information;
determining information that describes that generated value, the determined descriptive information including an uncertainty value associated with generation of the generated value; and
sending to the intermediary module an indication of the generated value and of the determined descriptive information so that the intermediary module can use the descriptive information to determine whether to supply the generated value to a client and so that the client can determine how to use the generated value.
-
-
80. A computer system for providing information about a current state that is modeled with multiple state attributes, each of the state attributes having multiple sources available to supply values for the attribute, comprising:
-
a first module capable of sending to an intermediary module a registration message indicating an ability to supply values for an indicated one of the state attributes of the modeled current state; and
a second module capable of, for each of multiple requests for a value of the one state attribute, receiving the request from the intermediary module, the sending of the request by the intermediary module based on an request received by the intermediary module from a client; and
in response to the receiving of the request, retrieving multiple pieces of input information about the modeled current state, generating a value for the one state attribute based at least in part on the retrieved input information;
determining information that describes that generated value, the determined descriptive information including an uncertainty value associated with generation of the generated value; and
sending to the intermediary module an indication of the generated value and of the determined descriptive information so that the intermediary module can use the descriptive information to determine whether to supply the generated value to a client and so that the client can determine how to use the generated value.
-
Specification