Mediating conflicts in 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 having a plurality of input sensors and executing a plurality of state server modules to supply values for the state attributes, executing a plurality of state client modules to receive and process values for the state attributes, and executing an intermediary module to facilitate exchange of state attribute values, the method comprising:
- under control of each of the executing state server modules, repeatedly monitoring the modeled current state of the user by, receiving information from at least one of the input sensors; and
generating a current value for at least one state attribute of the user from the received information;
under control of each of the executing state client modules, sending to the intermediary module an indication of a state attribute of the user of interest; and
under control of the intermediary module, for each executing state client module, receiving from the state client module the indication of the state attribute;
receiving from at least one of the state server modules a generated current value for the indicated state attribute; and
sending an appropriate value for the indicated state attribute to the state client module by, when a single generated current value for the indicated state attribute is received, sending the single value to the state client module;
when multiple generated current values for the indicated state attribute are received from a single state server module, sending a most recently generated of the multiple received values to the state client module; and
when multiple generated current values for the indicated state attribute are received from multiple state server modules, sending to the state client module one of the multiple received values selected based on accuracy and recency of the selected value.
3 Assignments
0 Petitions
Accused Products
Abstract
Techniques are described providing mediated information about a current state that is modeled with multiple state attributes. In some situations, the providing includes receiving from a first source an indication of a first value for an indicated one of the state attributes of the modeled current 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.
587 Citations
111 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 having a plurality of input sensors and executing a plurality of state server modules to supply values for the state attributes, executing a plurality of state client modules to receive and process values for the state attributes, and executing an intermediary module to facilitate exchange of state attribute values, the method comprising:
-
under control of each of the executing state server modules, repeatedly monitoring the modeled current state of the user by, receiving information from at least one of the input sensors; and
generating a current value for at least one state attribute of the user from the received information;
under control of each of the executing state client modules, sending to the intermediary module an indication of a state attribute of the user of interest; and
under control of the intermediary module, for each executing state client module, receiving from the state client module the indication of the state attribute;
receiving from at least one of the state server modules a generated current value for the indicated state attribute; and
sending an appropriate value for the indicated state attribute to the state client module by, when a single generated current value for the indicated state attribute is received, sending the single value to the state client module;
when multiple generated current values for the indicated state attribute are received from a single state server module, sending a most recently generated of the multiple received values to the state client module; and
when multiple generated current values for the indicated state attribute are received from multiple state server modules, sending to the state client module one of the multiple received values selected based on accuracy and recency of the selected value. - View Dependent Claims (2, 3, 4, 5, 6, 7)
determining whether any previously received generated values for the indicated state attribute are sufficiently accurate and recent to be appropriate; and
when it is determined that no previously received generated values for the indicated state attribute are sufficiently accurate and recent to be appropriate, requesting the at least one state server module to supply an updated generated value for the indicated state attribute.
-
-
5. The method of claim 1 wherein each state client module has a user and including, for each state client module:
-
receiving the sent appropriate value from the intermediary module; and
presenting information to the user of the state client module based on the receiving of the sent appropriate value.
-
-
6. The method of claim 1 wherein the state server modules additionally generate current values for additional state attributes of a current state other than for the user, and wherein the intermediary module additionally sends appropriate values for the additional state attributes to state client modules based on received indications of the additional state attributes from the state client modules.
-
7. The method of claim 1 wherein the selecting of a received generated value based on the accuracy and the recency of the value includes determining whether the value has an associated effective time that is less than an indicated recency threshold and determining whether the value has an associated accuracy indication that is greater than an indicated accuracy threshold.
-
8. A computer-implemented method for providing mediated information about a current 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 current 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;
and wherein the client indication is a request for the value for the indicated state attribute, and including, after receiving the request from the client and before the sending of the produced mediated value, determining for each of the first and second values whether the value satisfies an indicated criteria; and
when it is determined that neither of the first and second values satisfy the indicated criteria, requesting at least one of the first and second sources to supply a value for the indicated state attribute that satisfies the indicated criteria;
receiving in response to the requesting at least one additional value for the indicated state attribute that satisfies the indicated criteria; and
producing the value to be sent to the client by mediating between the received additional values. - View Dependent Claims (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, 39, 40, 41, 42, 43, 44, 45, 46, 47)
-
-
48. A computer-implemented method for providing mediated information about a current 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 current 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;
and including producing the mediated value to be sent by mediating between the available values for the indicated state attribute based on an indication from a mediation mechanism; and
including maintaining a rating for each source based on at least one indicated rating factor, and wherein the mediation mechanism indicates to select an available value from a source with a highest rating.
-
-
49. A computer-implemented method for providing mediated information about a current 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 current 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;
and including producing the mediated value to be sent by mediating between the available values for the indicated state attribute based on an indication from a mediation mechanism; and
wherein the available values for the indicated state attribute have a designated order, and wherein the mediation mechanism indicates to select an available value that is first in the designated order.
-
-
50. A computer-implemented method for providing mediated information about a current 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 current 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;
and including producing the mediated value to be sent by mediating between the available values for the indicated state attribute based on an indication from a mediation mechanism; and
wherein the available values for the indicated state attribute have a designated order, and wherein the mediation mechanism indicates to select an available value that is last in the designated order.
-
-
51. A computer-implemented method for providing mediated information about a current 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 current 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;
and including producing the mediated value to be sent by mediating between the available values for the indicated state attribute based on an indication from a mediation mechanism; and
including, before the receiving of the first and second values, receiving a registration message from each of the first and second sources indicating an availability to supply values for the indicated state attribute, and wherein the mediation mechanism indicates to select a value supplied by a source whose registration message was first received.
-
-
52. A computer-implemented method for providing mediated information about a current 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 current 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;
and including producing the mediated value to be sent by mediating between the available values for the indicated state attribute based on an indication from a mediation mechanism; and
wherein the mediation mechanism indicates to select an available value from a source whose values are most consistent over time.
-
-
53. A computer-implemented method for providing mediated information about a current 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 current 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;
and including producing the mediated value to be sent by mediating between the available values for the indicated state attribute based on an indication from a mediation mechanism; and
wherein the mediation mechanism indicates to select an available value that is received from a source with a highest value resolution capability.
-
-
54. A computer-implemented method for providing mediated information about a current 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 current 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;
and including producing the mediated value to be sent by mediating between the available values for the indicated state attribute based on an indication from a mediation mechanism; and
wherein the mediation mechanism indicates to select an available value that is received from a source with a highest value precision capability.
-
-
55. A computer-implemented method for providing mediated information about a current 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 current 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;
and including producing the mediated value to be sent by mediating between the available values for the indicated state attribute based on an indication from a mediation mechanism; and
wherein the mediation mechanism indicates to select a generated weighted average of the available values using an indicated weighting mechanism.
-
-
56. A computer-implemented method for providing mediated information about a current 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 current 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;
and including producing the mediated value to be sent by mediating between the available values for the indicated state attribute based on an indication from a mediation mechanism; and
wherein the mediation mechanism indicates to select a most frequently occurring value among the available values.
-
-
57. A computer-implemented method for providing mediated information about a current 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 current 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;
and including producing the mediated value to be sent by mediating between the available values for the indicated state attribute based on an indication from a mediation mechanism; and
wherein each of the available values has an associated confidence factor indicating a likelihood of accuracy of the value, and wherein the mediation mechanism indicates to select the available value with the highest associated confidence factor.
-
-
58. A computer-implemented method for providing mediated information about a current 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 current 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;
and including producing the mediated value to be sent by mediating between the available values for the indicated state attribute based on an indication from a mediation mechanism; and
wherein the mediation mechanism indicates to select an available value from a source that is certified by a third party.
-
-
59. A computer-implemented method for providing mediated information about a current 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 current 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;
and including producing the mediated value to be sent by mediating between the available values for the indicated state attribute based on an indication from a mediation mechanism; and
wherein the mediation mechanism indicates to select an available value from a most recently generated source.
-
-
60. A computer-implemented method for providing mediated information about a current 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 current 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;
and including producing the mediated value to be sent by mediating between the available values for the indicated state attribute based on an indication from a mediation mechanism; and
including selecting the mediation mechanism to assist in the mediating based on feedback from previous uses of the mediation mechanism.
-
-
61. A computer-implemented method for providing mediated information about a current 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 current 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;
and including producing the mediated value to be sent by mediating between the available values for the indicated state attribute based on an indication from a mediation mechanism; and
including selecting the mediation mechanism to assist in the mediating based on cost of the mediation mechanism.
-
-
62. A computer-implemented method for providing mediated information about a current 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 current 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;
and including producing the mediated value to be sent by mediating between the available values for the indicated state attribute based on an indication from a mediation mechanism; and
including selecting the mediation mechanism to assist in the mediating based on a type of the client.
-
-
63. A computer-implemented method for providing mediated information about a current 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 current 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;
and including producing the mediated value to be sent by mediating between the available values for the indicated state attribute based on an indication from a mediation mechanism; and
including selecting the mediation mechanism to assist in the mediating based on an indication received from a third-party.
-
-
64. A computer-implemented method for providing mediated information about a current 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 current 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;
and including producing the mediated value to be sent by mediating between the available values for the indicated state attribute based on an indication from a mediation mechanism; and
including receiving from the first source an indication of a group of at least one authorized client, and wherein the first value received from the first source is used as one of the available values for the mediating only if the client is one of the authorized clients.
-
-
65. A computer-readable medium whose contents cause a computing device to provide mediated information about a current 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 current 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;
and wherein the client indication is a request for the value for the indicated state attribute, and including, after receiving the request from the client and before the sending of the produced mediated value;
determining for each of the first and second values whether the value satisfies an indicated criteria; and
when it is determined that neither of the first and second values satisfy the indicated criteria, requesting at least one of the first and second sources to supply a value for the indicated state attribute that satisfies the indicated criteria;
receiving in response to the requesting at least one additional value for the indicated state attribute that satisfies the indicated criteria; and
producing the value to be sent to the client by mediating between the received additional values.
-
-
66. 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 current 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 current 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;
and wherein the client indication is a request for the value for the indicated state attribute, and including, after receiving the request from the client and before the sending of the produced mediated value;
determining for each of the first and second values whether the value satisfies an indicated criteria; and
when it is determined that neither of the first and second values satisfy the indicated criteria, requesting at least one of the first and second sources to supply a value for the indicated state attribute that satisfies the indicated criteria;
receiving in response to the requesting at least one additional value for the indicated state attribute that satisfies the indicated criteria; and
producing the value to be sent to the client by mediating between the received additional values.
-
-
67. A computer system for providing mediated information about a current 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 current 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;
and wherein the client indication is a request for the value for the indicated state attribute, and including, after receiving the request from the client and before the sending of the produced mediated value;
determining for each of the first and second values whether the value satisfies an indicated criteria; and
when it is determined that neither of the first and second values satisfy the indicated criteria, requesting at least one of the first and second sources to supply a value for the indicated state attribute that satisfies the indicated criteria;
receiving in response to the requesting at least one additional value for the indicated state attribute that satisfies the indicated criteria; and
producing the value to be sent to the client by mediating between the received additional values.
-
-
68. A computer system for providing mediated information about a current state that is modeled with multiple state attributes, comprising:
-
means for receiving from a first source an indication of a first value for an indicated one of the state attributes of the modeled current state and for receiving from a second source an indication of a second value for the indicated state attribute; and
means for, 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;
and wherein the client indication is a request for the value for the indicated state attribute, and including, after receiving the request from the client and before the sending of the produced mediated value;
determining for each of the first and second values whether the value satisfies an indicated criteria; and
when it is determined that neither of the first and second values satisfy the indicated criteria, requesting at least one of the first and second sources to supply a value for the indicated state attribute that satisfies the indicated criteria;
receiving in response to the requesting at least one additional value for the indicated state attribute that satisfies the indicated criteria; and
producing the value to be sent to the client by mediating between the received additional values.
-
-
69. A method in a portable computer for providing mediated information about a context of a user of the computer, the portable computer being transported with the user, the state represented with multiple state attributes and varying with location of the user, comprising:
-
while the user is at a first location and has a first state based at least in part on the first location, receiving from a first source an indication of a first value for an indicated one of the attributes; and
while the user is at a second location and has a second state based at least in part on the second location, receiving from a second source an indication of a second value for the indicated attribute; and
after an indication from a client for a value for the indicated attribute, producing a mediated value for the indicated attribute based on at least the first and second values; and
sending the produced mediated value to the client. - View Dependent Claims (70, 71, 72)
-
-
73. A computer-implemented method for providing mediated information about a current context that is represented with multiple context attributes, comprising:
-
receiving from each of multiple sources a value for an indicated one of the context attributes of the current context;
storing the received values;
after the storing, receiving a request from a client for a value for the indicated context attribute; and
in response to the receiving of the request, determining for each of the stored received values whether the value satisfies a criteria indicated for the requested value;
when it is determined that none of the stored values satisfy the criteria, requesting at least one source to supply a value for the indicated context attribute that satisfies the criteria;
receiving in response to the requesting at least one additional value for the indicated context attribute that satisfies the criteria; and
sending to the client a value for the indicated context attribute that satisfies the criteria and that is produced by mediating between at least the received additional values; and
when at least one of the stored values is determined to satisfy the criteria, sending to the client a value for the indicated context attribute that satisfies the criteria and that is produced by mediating between the values determined to satisfy the criteria. - View Dependent Claims (74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109)
-
-
110. A computer-readable medium whose contents cause a computing device to provide mediated information about a current context that is represented with multiple context attributes, by performing a method comprising:
-
receiving from each of multiple sources a value for an indicated one of the context attributes of the current context;
storing the received values;
after the storing, receiving a request from a client for a value for the indicated context attribute; and
in response to the receiving of the request, determining for each of the stored received values whether the value satisfies a criteria indicated for the requested value;
when it is determined that none of the stored values satisfy the criteria, requesting at least one source to supply a value for the indicated context attribute that satisfies the criteria;
receiving in response to the requesting at least one additional value for the indicated context attribute that satisfies the criteria; and
sending to the client a value for the indicated context attribute that satisfies the criteria and that is produced by mediating between at least the received additional values; and
when at least one of the stored values is determined to satisfy the criteria, sending to the client a value for the indicated context attribute that satisfies the criteria and that is produced by mediating between the values determined to satisfy the criteria.
-
-
111. A computing system for providing mediated information about a current context that is represented with multiple context attributes, comprising:
-
a first module configured to receive from each of multiple sources a value for an indicated one of the context attributes of the current context;
memory for storing the received values;
a second module configured to receive a request from a client for a value for the indicated context attribute and to, in response to the receiving of the request, determine for each of the stored received values whether the value satisfies a criteria indicated for the requested value;
when it is determined that none of the stored values satisfy the criteria, request at least one source to supply a value for the indicated context attribute that satisfies the criteria;
receive in response to the requesting at least one additional value for the indicated context attribute that satisfies the criteria; and
send to the client a value for the indicated context attribute that satisfies the criteria and that is produced by mediating between at least the received additional values; and
when at least one of the stored values is determined to satisfy the criteria, send to the client a value for the indicated context attribute that satisfies the criteria and that is produced by mediating between the values determined to satisfy the criteria.
-
Specification