EP1334445A2

Exchanging information between sources and consumers of a computer user's context

Abstract

This record has no abstract on file.

EP1334445A2, drawing sheet 1
Sheet 1 of 3

Term

Term ended

Projected expiry passed 2 April 2021, 5.5 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

148 claims: 11 independent, 137 dependent

  1. 1
    Claims of equivalent WO 0175592 A2 CLAIMS We claim:1. A computer-implemented method for providing mediated information about a cuπent state that is modeled with multiple state attributes, comprising: receiving from a first source an indication of a first value for an indicated one of the state attributes of the modeled cuπent state;receiving from a second source an indication of a second value for the indicated state attribute;and after an indication from a client for a value for the indicated state attribute, sending to the client a mediated value for the indicated state attribute that is produced by mediating between available values for the indicated state attribute including at least the first and second values.
  2. 66
    A computer-readable medium whose contents cause a computing device to provide mediated information about a cuπent state that is modeled with multiple state attributes, by:receiving from a first source an indication of a first value for an indicated one of the state attributes of the modeled cuπent state;receiving from a second source an indication of a second value for the indicated state attribute;and after an indication for a value for the indicated state attribute, producing a mediated value for the indicated state attribute by mediating between available values for the indicated state attribute including at least the first and second values.
  3. 67
    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 mediated information about a cuπent state that is modeled with multiple state attributes, by:receiving from a first source an indication of a first value for an indicated one of the state attributes of the modeled cuπent state;receiving from a second source an indication of a second value for the indicated state attribute;and after an indication from a client for a value for the indicated state attribute, sending to the client a mediated value for the indicated state attribute that is produced by mediating between available values for the indicated state attribute including at least the first and second values. 71
  4. 68
    A computer system for providing mediated information about a cuπent state that is modeled with multiple state attributes, comprising:a first module capable of receiving from a first source an indication of a first value for an indicated one of the state attributes of the modeled cuπent state, and of receiving from a second source an indication of a second value for the indicated state attribute;and a second module capable of, after an indication from a client for a value for the indicated state attribute, sending to the client a mediated value for the indicated state attribute that is produced by mediating between available values for the indicated state attribute including at least the first and second values.
  5. 69
    A method in a computer for providing information about a cuπent state that is modeled with multiple attributes, the 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 cuπent state;after receiving an indication from a client for a value of the one attribute, supplying to the client a value for the one attribute received from the first source;after the supplying of the value received from the first source, receiving from a second source an indication of an ability to supply values for the one attribute;after receiving an indication from the client for a value of the one attribute, supplying to the client a value for the one attribute based on values received for the one attribute from the first and second sources;after the supplying of the value based on the values received for the one attribute from the first and second sources, receiving from the 72 first source an indication of an inability to supply values for the one attribute;and after receiving an indication from the client for a value of the one attribute, supplying to the client a value for the one attribute received from the second source.
  6. 79
    79 in response to the received indication from the second intermediary module, permitting the second intermediary module to perform future providing of the information about the modeled cuπent state. 99. The method of claim 98 wherein the permitting includes supplying to the second intermediary module an indication of each source which is cuπently indicated to have an ability to supply values for at least one of the state attributes, so that the second intermediary module can receive future indications of abilities and inabilities to supply values for state attributes from sources. 100. The method of claim 99 including:before the receiving of the indication from the second intermediary module, receiving from each of multiple clients an indication of a desire to receive at least one value for a specified state attribute;and in response to the received indication from the second intermediary module, supplying to the second intermediary module an indication of each client from whom an indication of a desire to receive at least one value for a specified state attribute has been received, so that the second intermediary module can receive future indications of desires to receive values for state attributes from clients, 101. The method of claim 99 including, under control of the second intermediary module, receiving the supplied indications of the sources which are cuπently indicated to have an ability to supply values for at least one of the state attributes and notifying the indicated sources to supply the future indications to the second intermediary module.
  7. 83
    83 source as for the supplied value for the one attribute, and selecting a value to be sent to the client for the another state attribute that is received from the same source. 119. The method of claim 69 including receiving from the first source an indication of a group of at least one authorized client, and wherein a value received from the first source is supplied to the client only if the client is one of the authorized clients. 120. The method of claim 69 wherein the first source includes a group of instructions to be executed to produce a value for the one attribute, and including loading and executing the group of instructions in response to the receiving of the indication from the client for a value of the one attribute, the loading and executing so that the first source can produce the first value. 121. The method of claim 69 wherein receiving of the supplied value by the client prompts the client to present information to a user of the client. 122. A computer-readable medium whose contents cause a computing device to provide information about a cuπent state that is modeled with multiple attributes, by:receiving from a first source an indication of an ability to supply values for an indicated one of the state attributes of the modeled cuπent state;after receiving an indication from a client for a value of the one attribute, supplying to the client a value for the one attribute received from the first source;
  8. 84
    84 receiving from a second source an indication of an ability to supply values for the one attribute; after receiving an indication from the client for a value of the one attribute, supplying to the client a value for the one attribute based on values received for the one attribute from the first and second sources; receiving from the first source an indication of an inability to supply values for the one attribute; and after receiving an indication from the client for a value of the one attribute, supplying to the client a value for the one attribute received from the second source. 123. The computer-readable medium of claim 122 wherein the computer-readable medium is a memory of the computing device. 124. 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 cuπent state that is modeled with multiple attributes, by:receiving from a first source an indication of an ability to supply values for an indicated one of the state attributes of the modeled cuπent state;after receiving an indication from a client for a value of the one attribute, supplying to the client a value for the one attribute received from the first source;receiving from a second source an indication of an ability to supply values for the one attribute;after receiving an indication from the client for a value of the one attribute, supplying to the client a value for the one attribute based on values received for the one attribute from the first and second sources;
  9. 85
    85 receiving from the first source an indication of an inability to supply values for the one attribute; and after receiving an indication from the client for a value of the one attribute, supplying to the client a value for the one attribute received from the second source. 125. A computing device for providing information about a cuπent state that is represented with multiple attributes, comprising:an attribute mapping module that is capable of receiving from each of a first source and a second source an indication of an ability to supply values for an indicated one of the attributes of the cuπent state, and that is capable of later receiving from the first source an indication of an inability to supply values for the one attribute;an attribute value receiver module that is capable of receiving values for the one attribute from the first and second sources;and an attribute value supplier module that is capable of, after the indication is received from the first source of the ability to supply values for the one attribute and before the indication is received from the second source, supplying to a client a value for the one attribute received from the first source, after the indications are received from the first and second sources, supplying to the client a value for the one attribute based on values received for the one attribute from the first and second source;and after the indication is received from the second source and after the indication is received from the first source of the inability to supply values for the one attribute, supplying to a client a value for the one attribute received from the second source.
  10. 88
    88 so that the state client modules receive values for the state attributes they have indicated when the values become available. 129. The method of claim 128 including, under the control of the intermediary module:receiving from a first of the state client modules a request for a cuπent value of an indicated state attribute;and in response, supplying the requested value to the first state client module by, requesting at least one of the state server modules to supply a value for the indicated state attribute;and sending to the first state client module a value for the indicated state attribute received in response to the requesting. 130. The method of claim 129 wherein the intermediary module stores values for the state attributes that are received from the state server modules, and wherein the requesting of the state server modules to supply the value to be sent to the first state client module occurs only if an appropriate value for the indicated state attribute is not stored by the intermediary module. 131. The method of claim 129 wherein at least some of the state server modules send registration messages to the intermediary module, each registration message indicating a cuπent availability to supply values for an indicated one of the state attributes, and including determining the at least one state server modules that are to be requested to supply the value for the indicated state attribute based on the registration messages from the state server modules.
  11. 92
    92 one attribute, the registration message indicating an ability to supply values for the one attribute. 151. The method of claim 127 wherein the received indications from the first and second clients are registration messages. 152. The method of claim 127 including, after receiving an indication from the first client for a value of a second indicated attribute and receiving a value from a source for the second attribute, supplying to the first client the received value for the second attribute. 153. The method of claim 152 wherein the received value for the second attribute is from the first source. 154. The method of claim 127 including, after receiving a value for the one attribute from a second source, supplying the received value to the first client. 155. The method of claim 127 including, after receiving a value for the another attribute from a source, supplying the received value to the second client. 156. The method of claim 127 wherein the received value is supplied by the first source in response to receiving by the first source of input information related to the one attribute. 157. The method of claim 127 including:receiving from the first client an indication of a condition;and
  12. 93
    93 when it is determined that the condition is satisfied, notifying the first client. 158. The method of claim 157 including determining after the receiving of the value for the one attribute whether the received value satisfies the condition. 159. The method of claim 157 wherein the condition relates to a specified one of the state attributes having a specified value. 160. The method of claim 157 including monitoring the condition to deteπnine when it is satisfied. 161. The method of claim 127 including:receiving from a client a request for a cuπent value of a specified state attribute;and in response, supplying the requested value to the client by, requesting at least one source to supply a value for the indicated state attribute;and sending to the client a value for the indicated state attribute received in response to the requesting. 162. The method of claim 127 wherein the first source includes a group of instructions to be executed to produce a value for the one attribute, and including loading and executing the group of instructions in response to the receiving of the indication from the first client for a value of the one attribute, the loading and executing so that the first source can produce the first value.
  13. 96
    96 176. A computer-readable medium whose contents cause a computing device to provide information about a cuπent state that is modeled with multiple state attributes, by:receiving from a first client an indication of an interest in receiving values for an indicated one of the state attributes of the modeled cuπent state;receivmg from a second client an indication of an interest in receiving values for another of the state attributes of the modeled cuπent state;and in response to receiving a value for the indicated one attribute from a first source, determining that the first client has an interest in receiving the received value;and supplying the received value to the first client. 177. The computer-readable medium of claim 176 wherein the computer-readable medium is a memory of the computing device. 178. A computer-readable generated data signal transmitted via a transmission medium, the generated data signal having encoded contents that cause a computer to provide information about a cuπent state that is modeled with multiple state attributes, by: receiving from a first client an indication of an interest in receiving values for an indicated one of the state attributes of the modeled cuπent state;receiving from a second client an indication of an interest in receiving values for another of the state attributes of the modeled cuπent state;and
  14. 97
    97 in response to receiving a value for the indicated one attribute from a first source, determining that the first client has an interest in receiving the received value; and supplying the received value to the first client. 179. The computer-readable generated data signal of claim 178 wherein the contents are encoded using a caπier wave. 180. A computing device for providing information about a cuπent state that is represented with multiple attributes, comprising:an attribute mapping module that is capable of receiving from a first client an indication of an interest in receiving values for an indicated one of the attributes of the cuπent state and of receivmg from a second client an indication of an interest in receiving values for another of the attributes of the cuπent state;an attribute value receiver module that is capable of receiving a value for the one attribute from a first source;and an attiibute value supplier module that is capable of, in response to the receiving of the value for the one attribute, determining that the first client has an interest in receiving the received value and supplying the received value to the first client. 181. The computing device of claim 180 wherein the attribute mapping module, the attribute value receiver module, and the attribute value supplier module are components of an intermediary module executmg in memory.
  15. 99
    99 client modules to receive and process values for the state attributes, and wherein the wearable computer executes an intermediary module to facilitate exchange of state attribute values, and wherein the method further comprises:under control of each of the state server modules, sending to the intermediary module a registration message indicating a cuπent 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 cuπent 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.
  16. 102
    102 supplying the stored constant value to clients in response to future requests for a value of the indicated state attribute. 192. The method of claim 183 wherein the descriptive information indicates a name of the indicated attribute. 193. The method of claim 192 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. 194. The method of claim 192 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. 195. The method of claim 182 wherein the descriptive information indicates a time at which the indicated value was generated. 196. The method of claim 195 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. 197. The method of claim 195 including: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
  17. 103
    103 a difference from a current time to the time at which the stored value was generated is less than a threshold. 198. The method of claim 183 wherein the descriptive information indicates a time at which the indicated value is most accurate. 199. The method of claim 198 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 deteimined to be appropriate if the time period includes the time at which the indicated value is most accurate. 200. The method of claim 198 including: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 cuπent time to the time at which the stored value is most accurate is less than a threshold. 201. The method of claim 183 wherein the descriptive information includes a likelihood of accuracy of the indicated value. 202. The method of claim 201 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. 107
    107 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. 224. The method of claim 223 wherein the received value for the second attribute is from the first source. 225. The method of claim 183 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. 226. The method of claim 225 wherein the second value is distinct from the indicated value, and wherein the descriptive information for the second value is the same as the descriptive information for the indicated value. 227. The method of claim 225 wherein the second value is the same as the indicated value, and wherein the descriptive information for the second value is distinct from the descriptive information for the indicated value. 228. The method of claim 183 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. 229. The method of claim 183 wherein receiving of the supplied value by the first client prompts the first client to present information to a user of the first client.
  19. 108
    108 230. A computer-readable medium whose contents cause a computing device to provide information about a cuπent state that is modeled with multiple state attributes, by:receiving from a first source an indication of an ability to supply values for an indicated one of the state attributes of the modeled cuπent 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. 231. The computer-readable medium of claim 230 wherein the computer-readable medium is a memory of the computing device. 232. 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: receiving from a first source an indication of an ability to supply values for an indicated one of the state attributes of the modeled cuπent state;
  20. 109
    109 receiving from a second source an indication of an ability to supply values for another of the state attributes of the modeled cuπent 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. 233. A computing device for providing information about a cuπent state that is represented with multiple attributes, comprising:an attribute mapping module that is capable of receivmg from a first source an indication of an ability to supply values for an indicated one of the attributes of the cuπent state and of receiving from a second source an indication of an ability to supply values for another of the attributes of the cuπent state;an attribute value request module that is capable of receivmg 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 information describing the received value, deterrnining based on the received descriptive information whether the received requested value is appropriate to be supplied to the 110 client, and supplying the received value to the client when it is determined that the received requested value is appropriate. 234. The computing device of claim 233 wherein the attribute mapping module, the attribute value request module, and the attribute value supplier module are components of an intermediary module executing in memory. 235. The computing device of claim 233 further comprising multiple sources and multiple clients executing in the memory. 236. A method in a computer for providing information about a cuπent 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 cuπent 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 in response to receiving a request from a first client for a value of the indicated one attribute, determining that the first source is available to supply the value;obtaining the value from the first source;and supplying a value obtained from the first source to the first client. Ill 237. The method of claim 236 wherein the computer is a wearable computer, and wherein the cuπent state is a cuπent state of a user of the wearable computer, and wherein the wearable computer executes a plurality of state server modules (SSMs) to supply values for the state attributes, and wherein the wearable computer executes a plurality of state client modules (SCMs) to receive and process values for the state attributes, and wherein the wearable computer executes an intermediary module to facilitate exchange of state attiibute values, and wherein the method further comprises: under control of each of the executing SSMs, sending to the intermediary module a registration message indicating a cuπent availability of the SSM to supply values for at least one indicated state attiibute;under control of each of the executing SCMs, determining a need for a value of one of the state attributes;and sending to the intermediary module a request for a value of the one state attribute;and under control of the intermediary module, receiving the sent registration messages;and for each of the executing SCMs, receivmg from the SCM the request for the value of the one state attribute;determining based on the received registration messages multiple of the SSMs that are cuπently available to supply values for the one state attribute;in response to the receiving of the request from the SCM, requesting the determined SSMs to supply the requested value;receiving at least one value of the one state attribute in response to the requesting;and 112 sending to the SCM at least one of the received values, so that the SCMs receive values for the state attributes as requested from available SSMs. 238. The method of claim 237 including, under the control of the intermediary module: receiving from a first of the SSMs a cuπent value of the indicated state attribute, the receiving not in response to a request of the first SSM for the cuπent value;and in response to the received cuπent value, supplying the received cuπent value to a first SCM. 239. The method of claim 238 wherein at least some of the SCMs send registration messages to the intermediary module, each registration message indicating a cuπent desire to receive values for an indicated one of the state attributes, and including determining that the first SCM is to receive the received cuπent value based on a registiation message previously received from the first SCM. 240. The method of claim 237 wherein the intermediary module stores values for the state attributes that are received from the SSMs, and wherein the requesting of determined SSMs to supply a requested value to be sent to a SCM occurs only if an appropriate value for the indicated state attribute is not stored by the intermediary module. 241. The method of claim 237 wherein the sending of a received value to an SCM includes an indication of the SSM from which the sent value was received.
  21. 113
    116 loading and executing the group of instructions in response to the requesting of the first source to supply the value, the loading and executing so that the first source can produce the requested value. 259. The method of claim 236 wherein the first client includes a group of instructions to be executed to receive a value for the one attribute, and including loading and executing the group of instructions in response to receiving of a value for the one attribute from a source, the loading and executing before the receiving of the request from the first client. 260. The method of claim 236 including receiving from the first client an indication of a second of the state attributes and an indication that a source for a value for the second state attribute is to be a same source as for the supplied value for the one attribute, and selecting a value to be supplied to the first client for the second state attribute that is received from the same source. 261. The method of claim 236 including, after receiving a request from the first client for a value of a second indicated attribute and receiving a value from a source for the second attiibute, supplying to the first client the received value for the second attribute. 262. The method of claim 261 wherein the received value for the second attiibute is from the first source. 263. The method of claim 236 including, after receiving a value for the one attribute from a third source, supplying the received value to the first client.
  22. 116
    119 encoded contents that cause a computer system to provide information about a cuπent state that is modeled with multiple state attiibutes, by:receiving from a first source an indication of an ability to supply values for an indicated one of the state attiibutes of the modeled cuπent state;receiving from a second source an indication of an ability to supply values for another of the state attiibutes of the modeled cuπent state;and in response to receiving a request from a first client for a value of the indicated one attribute, determining that the first source is available to supply the value;obtaining the value from the first source;and supplying a value obtained from the first source to the first client. 274. A computing device for providing information about a cuπent state that is represented with multiple attributes, comprising: an attiibute 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 cuπent state and of receiving from a second source an indication of an ability to supply values for another of the attributes of the cuπent state;an attribute value request module that is capable of receiving a request for a value of the one attribute from a first client;and an attribute value supplier module that is capable of, in response to the receiving of the request, determining that the first source is available to supply the value, requesting the value from the first source, and supplying to the first client a value received from the first source.
  23. 118
    121 attributes, state client modules (SCMs) to process values for the state attributes, and an intermediary module to facilitate exchange of state attribute values, the method further comprising:under control of each SSM, generating values for at least one of the state attiibutes and sending the generated values to the intermediary module;under control of each SCM, receiving values for at least one state attiibute from the intermediary module and performing processing based on the received values;under control of the intermediary module, facilitating exchange of values by, receiving values for the state attributes from SSMs and from a first of multiple other characterization systems, each of the other characterization systems executing on another computer to model a cuπent state related to the another computer;for each state attribute, storing the received values for the attribute;and receiving requests for values of indicated state attiibutes from SCMs and from a second of the other characterization systems, and sending stored values of the indicated state attributes to the SCMs and the second other characterization system;and modeling an aspect of a cuπent state using distributed state information by, identifying multiple portions of the distributed state information needed for the modeling of the aspect, and identifying multiple of the other characterization systems each having access to one of the identified multiple portions;gathering the identified portions of the distributed state information from the identified other characterization systems;and
  24. 119
    122 generating at least one value for the modeled aspect based on the gathered portions of the distributed state information, so that the user characterization system can interact with other characterization systems in order to exchange and use distributed state information of interest. 279. The method of claim 278 including:deterrnining a need for access to a resource available to one of the other characterization systems executing on another computer;requesting the one other characterization system to provide access to the resource;and accessing the resource after the one other characterization system provides access to the resource. 280. The method of claim 279 wherein the resource is processing capabilities of the another computer, wherein the accessing of the resource includes use of the processing capabilities on behalf of the user characterization system, and including receiving an indication of results of the use of the processing capabilities. 281. The method of claim 279 wherein the resource is an input device of the another computer, and wherein the accessing of the resource includes receiving input information from the input device. 282. The method of claim 279 wherein the resource is information used during the executing of the one other characterization system, and wherein the accessing of the resource includes retrieving the information.
  25. 122
    125 other characterization system includes an indication of a first state attribute using a reference for the first state attribute other than the local name of the first state attribute, wherein the receiving of each request for a value of a state attribute from the second other characterization system includes an indication of a second state attribute using a reference for the second state attiibute other than the local name of the second state attribute, and including translating the references for the first and second state attributes into the local names of the first and second state attributes before responding. 293. The method of claim 278 wherein at least some of the SSMs are available to supply values for additional state attiibutes of a cuπent state other than for the user, and wherein the intermediary module additionally sends values for the additional state attributes to SCMs based on indications from those SCMs of a cuπent desire to receive values for at least one of the additional state attributes. 294. The method of claim 277 including:determining a need for access to a resource available on another computer on which one of the other characterization systems is executing;and using the one other characterization system to access the resource. 295. The method of claim 294 wherein the resource is processing capabilities of the another computer, and wherein accessing of the resource includes use of the processing capabilities.
  26. 124
    127 determined characterization modules specify the first attribute with distinct names in their gathered information, and wherein the gathering of the information includes translating the specified names for the first attribute in the gathered information into a common name. 302. The method of claim 277 wherein the received indication of the one attribute additionally includes an indication of characterization modules, and wherein the deterrnining of the characterization modules include selecting the indicated characterization modules. 303. The method of claim 277 including:determining whether the information gathered from one of the deteimined characterization modules satisfies a criteria;and when it is determined that the gathered information does not satisfy the criteria, obtaining additional information from the one determined characterization module that satisfies the criteria and replacing the gathered information from the one determined characterization module with the obtained additional information. 304. The method of claim 277 wherein the one attribute represents information about a user of the first computer. 305. The method of claim 304 wherein the represented information reflects a modeled mental state of the user. 306. The method of claim 277 wherein the one attribute represents information about the first computer.
  27. 126
    129 information from multiple characterization modules about modeled aspects related to the second attribute and supplying the obtained information to the client. 315. The method of claim 277 wherein the received indication is from a client, and including generating the value for the indicated one attribute and supplying the generated value to the client. 316. The method of claim 315 wherein receiving of the supplied value by the client prompts the client to present information to a user. 317. The method of claim 277 wherein the determining of the multiple characterization modules is based on previously received registration modules from each of the multiple characterization modules that indicate the modeled aspects. 318. The method of claim 277 wherein security information must be received for a characterization module before any information is accepted from the characterization module. 319. The method of claim 277 wherein security information must be received for a characterization module before information is supplied to the characterization module. 320. The method of claim 277 wherein the providing of the information about the represented cuπent state is performed by one of the multiple characterization modules executing on the first computer.
  28. 128
    131 324. 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 cuπent state that is represented with multiple attributes, by:receiving indications of multiple characterization modules, each characterization module executing on a computer to model an aspect of a current state related to that computer;receiving an indication of one of the multiple attiibutes of the represented cuπent state;deterniining multiple of the characterization modules whose modeled aspects are related to the indicated one attribute;and gathering information about the modeled aspects related to the indicated one attiibute from the deteimined characterization modules so that a value for the indicated one attribute can be generated based on the gathered information. 325. A computing device for providing information about a cuπent state that is represented with multiple attributes, comprising: an input module that is capable of receiving indications of multiple characterization modules each executing on a computer to model an aspect of a cuπent state related to that computer, and of receiving an indication of one of the multiple attributes of the represented cuπent state;an information gatherer module that is capable of deteraiining multiple of the characterization modules whose modeled aspects are related to the indicated one attribute and of obtaining information about the modeled aspects related to the indicated one attribute from each of the determined characterization modules;and an output module capable of supplying the obtained information from the deteimined characterization modules to a client able
  29. 129
    132 to determine a value for the indicated one attribute based on the obtained information. 326. A method in a computer for providing information about a cuπent state that is modeled with multiple state attributes, the method comprising:receivmg from a module a request related to the modeling of the current state with the multiple state attributes;and without further intervention related to the request by the module, determining that the request cannot cuπently be satisfied, and indicating to the module that the request cannot cuπently be satisfied;after the indicating, monitoring at later times to determine whether the request can be satisfied;and when it is determined at one of the later times that the request can currently be satisfied, indicating to the module that the request can be satisfied. 327. The method of claim 326 wherein the method is performed in a wearable computer, and wherein the cuπent state is a cuπent state of a user of the wearable computer, and wherein the wearable computer executes a plurality of state server modules to supply values for the state attributes, a plurality of state client modules to receive and process values for the state attributes, and an intermediary module to facilitate exchange of state attribute values, and wherein the method further comprises: under control of each of the executing state server modules, sending to the intermediary module a registration message indicating a
  30. 130
    133 current availability to supply values for an indicated one of the state attributes;under control of a first of the executing state client modules, sending to the intermediary module a request for a cuπent value of a first of the state attributes;and under control of the intermediary module, receiving the sent registration messages and the sent request;and without further intervention by the first state client module, determining that the first state attribute is not one of the state attributes indicated by the state server modules;sending to the first state client module an indication that the requested value is not available;after the sending of the indication, receiving an indication from a first state server module of an ability to supply values for the first state attribute;and in response to the receiving of the indication, notifying the first state client module that the requested value is available, so that the state client modules can automatically be notified when state attribute values of interest become available. 328. The method of claim 327 wherein the received indication from the first state server module includes a value for the first state attribute, and wherein the notifying of the first state client module includes sending the received value to the first state client module.
  31. 133
    136 notifying the module of the detected occuπence. 335. The method of claim 327 including, under the control of a third of the state client modules:receiving a sent cuπent value from the intermediary module;and presenting information to a user of the third state client module based on the receiving of the value. 336. The method of claim 327 wherein at least some of the state server modules generate values for additional state attributes of a cuπent state other than for the user and send those generated values to the intermediary module, and wherein the intermediary module additionally sends received values for the additional state attiibutes to state client modules based on requests from those state client modules for the received values. 337. The method of claim 326 wherein the monitoring includes detecting changes in status of the modeling of the cuπent state. 338. The method of claim 326 including : receivmg from the module an indication of a condition related to a value of one of the state attributes such that the module desires to know when the condition has been satisfied;detecting changes in the value of the one state attribute to determine whether the condition is satisfied;and when it is determined that the condition is satisfied, notifying the module that the condition is satisfied.
  32. 135
    138 supply values for the specified state attribute are unable to supply a value for the specified state attribute that satisfies the specified criteria. 347. The method of claim 346 wherein the momtoring involves detecting when a value for the specified state attribute is received. 348. The method of claim 346 wherein the monitoring involves repeatedly requesting at least one of the sources to supply a value for the specified state attribute. 349. The method of claim 346 wherein the specified criteria is that the requested value come from a specified source that is not cuπently available to supply state attribute values, and wherein the monitoring involves detecting that the specified source is able to supply values for the specified state attribute. 350. The method of claim 326 wherein the request is from a source module to send a supplied value of a state attribute to a specified client that is not cuπently available to receive state attribute values. 351. The method of claim 350 wherein the determining that the request can be satisfied is based on receiving a request from the specified client for a value of the state attribute. 352. The method of claim 326 wherein the request is from a source module to send a supplied value of a specified state attribute to at least one client, the receiving of the request at a time when no clients that have an interest in receiving values for the specified state attribute are cuπently available to receive values for the specified state attribute.
  33. 141
    144 386. A method in a computer for providing information about a cuπent state that is modeled with multiple state attributes, at least some of the state attributes having values that are requested by client- sources to be used for generating values of other state attributes, the method comprising:receivmg a request from a first client for a value of a first of the state attributes;determining a client-source able to generate and supply the requested value of the first state attribute by using a value of at least one other state attribute;requesting the client-source to supply the requested value of the first state attribute;and during generating of the requested value of the first state attiibute by the client-source, monitoring requests from the client-source for values of one or more indicated state attributes needed for the generating of the requested value of the first state attribute;monitoring other requests for values of indicated state attributes needed for generating values of state attributes that are indicated in previously monitored requests;and when it is deteimined that a state attribute indicated in one of the monitored requests is the first state attribute, indicating a presence of a circular reference during the generating of the requested value of the first state attribute. 387. The method of claim 386 wherein the method is performed in a wearable computer, the wearable computer executing a plurality of state server modules (SSMs) to supply values for the state attributes, a plurality of state client modules (SCMs) to receive and process values for the state attributes, and an intermediary module (IM) to
  34. 142
    145 facilitate exchange of state attribute values, the method further comprising:under control of each SSM, generating values for at least one of the state attributes and sending the generated values to the IM;under control of each SCM, requesting the IM to supply values for at least one specified state attribute and receiving requested values from the IM;under control of a first module that is one of the SSMs and one of the SCMs, if a value of a first specified state attribute is received from the IM, generating a value for a first state attribute based at least in part on the received value and sending the generated value to the IM;under control of a second module that is one of the SSMs and one of the SCMs, if a value of a second specified state attribute is received from the IM, generating a value for a second state attribute based at least in part on the received value and sending the generated value to the IM;and under control of the IM, receiving the values for state attributes sent from the SSMs, receiving the requests for values of specified state attributes from the SCMs, and sending values received from the SSMs for the specified state attributes to the SCMs in response to the received requests;deterrnining if a value to be generated by the first module for the first state attribute and if a value to be generated by the second module for the second state attribute are each based at least in part on a received input value of the other of the first and second state attribute;and when it is determined that values to be generated for the first and second state attributes are each based at least in part on received input values of the other first and second state attribute, notifying
  35. 143
    146 at least one of the first and second modules to not generate values for the first or second state attribute, so that the intermediary module supplies values for state attributes only when appropriate. 388. The method of claim 387 including:under the control of the first module, before the sending of a generated value for the first state attribute to the IM, sending to the IM a registration message indicating a cuπent availability of the first module to supply values for the first state attribute based at least in part on values of the first specified state attribute;and under the control of the second module, before the sending of a generated value for the second state attribute to the IM, sending to the IM a registiation message indicating a cuπent availability of the second module to supply values for the second state attribute based at least in part on values of the second specified state attribute, and wherein the determining by the IM of whether the values to be generated for each of the first and second state attributes are based at least in part on received input values of the other first and second state attribute is based on analysis of the sent registration messages. 389. The method of claim 388 including: under control of each SSM, before the sending of generated values for an indicated state attribute to the IM, sending to the IM a registration message indicating a cuπent availability of the SSM to supply values for the indicated state attribute;and under control of each SCM, before the requesting by the SCM that the IM supply the values of a specified state attiibute, sending to the IM a registration message indicating a cuπent desire to receive values for the specified state attribute.
  36. 145
    148 first and second state attributes, using the one SSM to generate values for the second state attribute rather than the second module. 393. The method of claim 387 wherein the first module and the second module are the same module. 394. The method of claim 387 wherein the generating of a value for a state attribute by at least some of the SSMs includes:receiving a request from the intermediary module to supply the value to be generated;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;and generating the requested value based on the obtained information. 395. The method of claim 387 including, under the control of a third SCM: receiving a sent value from the intermediary module;and presenting information to a user of the third SCM based on the receiving of the value. 396. The method of claim 387 wherein at least some of the SCMs send to the intermediary module requests for values of additional state attributes of a cuπent state other than for the user, and wherein the intermediary module sends values for the additional state attributes to those SCMs, the values for the additional state attributes
  37. 146
    149 received from SSMs in response to request for the values from the intermediary module. 397. The method of claim 386 wherein the value of the indicated first state attribute that is requested in the one monitored request is needed for generating a value of another state attribute, and wherein the indicating of the presence of the circular reference includes halting the generating of the value of the another state attribute. 398. The method of claim 386 wherein the value of the indicated first state attiibute that is requested in the one monitored request is needed for generating a value of another state attribute, and including:after the determining that the state attiibute indicated in the one monitored request is the first state attribute, determining a manner of generating the value of the another state attiibute without needing the value of the first state attribute;and facilitating the generating of the value of the first other state attribute in the determined manner. 399. The method of claim 386 wherein the value of the indicated first state attribute that is requested in the one monitored request is needed for generating a value of another state attribute, and including: after the determining that the state attiibute indicated in the one monitored request is the first state attribute, determining an alternate state attribute whose value can replace a need for the value of the another state attribute;and facilitating a generating of the value of the alternate state attribute.
Independent claims37