Generating and supplying user context data
First Claim
1. A method in a computer for providing information about a current 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:
- receiving 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 attribute 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 determined 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, wherein the circular reference can result in computational deadlock.
3 Assignments
0 Petitions
Accused Products
Abstract
Techniques are described for providing information about a context that is modeled with multiple context attributes. In some situations, at least some of the context attributes have values used by modules for generating values of other context attributes, and the providing includes determining that a first module is generating a first value of a first of the context attributes of the modeled context and determining that a circular reference exists when it is determined that a module is to generate another value of the first context attribute such that the generating of the another value is caused by the generating of the first value of the first context attribute.
76 Citations
34 Claims
-
1. A method in a computer for providing information about a current 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:
-
receiving 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 attribute 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 determined 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, wherein the circular reference can result in computational deadlock. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer-readable medium comprising contents that, when executed by a computing device, cause the computing device to carry out the following acts:
-
receiving a request from a first client for a value of a first state attribute; 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 attribute by the client-source, monitoring requests from the client-source for values of one or more indicated state attributes needed for generating 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 determined 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, wherein the circular reference can result in computational deadlock. - View Dependent Claims (16)
-
-
17. A computing device for providing information about a current state that is represented with multiple attributes, comprising:
-
a computer-implemented attribute value request component that receives a request for a value of a first of the state attributes from a first client; and a computer-implemented attribute value supplier component that determines 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, requests the client-source to supply the requested value of the first state attribute, and, during generating of the requested value of the first state attribute by the client-source, monitors requests from the client-source for values of one or more indicated state attributes needed for generating the requested value of the first state attribute, monitors other requests for values of indicated state attributes needed for generating values of other state attributes that are indicated in one of the monitored requests, and indicates presence of a circular reference when it is determined that a state attribute indicated in one of the monitored requests is the first state attribute, wherein the circular reference can result in computational deadlock. - View Dependent Claims (18, 19)
-
-
20. A method in a portable computer for providing information about a context of at least one of the computer, the user of the computer, the physical environment of the computer, or the available electronic information environment of the computer that is modeled with multiple context attributes, at least some of the context attributes having values used by modules for generating values of other context attributes, comprising:
-
determining that a first module is generating a first value of a first of the context attributes of the modeled context; and determining that a circular reference exists when it is determined that a module is to generate another value of the first context attribute such that the generating of the another value causes requesting from another module to generate a value of an attribute whose generating is caused by the generating of the another value of the first context attribute, wherein the circular reference can result in computational deadlock. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A computer-readable medium comprising contents that, when executed by a computer, cause the computer to carry out the following acts:
-
determining that a module for generating a value of a context attribute is generating a first value of a first of the context attributes which model a context of at least one of the device, the user of the device, the physical environment of the device, or the available electronic information environment of the device and; determining that a circular reference exists when it is established that a module for generating a value of a context attribute is to generate a second value of the first context attribute such that generating the second value causes requesting from another module for generating a value of a context attribute to generate a value of an attribute whose generating is caused by the generating of the second value of the first context attribute, wherein the circular reference can result in computational deadlock.
-
Specification