Patent US6791580B1 successfully refreshed from Google Patents.
← Back to Patent Explorer
US6791580B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Supplying notifications related to supply and consumption of user context data

Assignee: Microsoft Technology Licensing LLC
•
Filing: 2000-11-28
•
Granted: 2004-09-14
•
Expires: 2020-11-28
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Techniques are described for providing information about a current state that is modeled with multiple state attributes. In some situations, the providing includes receiving from a module a request related to the modeling of the current state with the multiple state attributes. In such situations, the providing further includes, without further intervention related to the request by the module, determining that the request cannot currently be satisfied, and indicating to the module that the request cannot currently be satisfied, monitoring at later times after the indicating to determine whether the request can be satisfied, and indicating to the module that the request can be satisfied if it is determined at one of the later times that the request can currently be satisfied.

Inventors

  • 👤 Kenneth H. Abbott
  • 👤 Joshua M. Freedman
  • 👤 Dan Newell
  • 👤 James O. Robarts

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 17:08
CPC Classifications
H; H04; H04L; H04L43/00; H04L43/04; G; G06; G06F; G06F1/00; G06F1/16; G06F1/1613; G06F1/163; G06F16/00; G06F16/40; G06F16/43; G06F16/435; G06F16/436; G06F16/48; G06F16/487; G06F16/489; G06F21/00; G06F3/00; G06F3/01; G06F3/011; G06F3/016; G06F3/048; G06F3/0481; G06N; G06N20/00; G06F2221/00; G06F2221/21; G06F2221/2149

Claims Analysis

Total Claims: 69
Claim 1
Independent Claim 264 words
A method in a wearable computer for providing information about a current state of a user of the wearable computer, the current state modeled with multiple state attributes, the wearable computer executing a plurality of state server modules to supply values for the state attributes, executing a plurality of state client modules to receive and process values for the state attributes, and executing an intermediary module to facilitate exchange of state attribute values, the method comprising: under control of each of the executing state server modules, sending to the intermediary module a registration message indicating a 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 current 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.
Claim 2
Independent Claim 264 words
A method in a wearable computer for providing information about a current state of a user of the wearable computer, the current state modeled with multiple state attributes, the wearable computer executing a plurality of state server modules to supply values for the state attributes, executing a plurality of state client modules to receive and process values for the state attributes, and executing an intermediary module to facilitate exchange of state attribute values, the method comprising: under control of each of the executing state server modules, sending to the intermediary module a registration message indicating a 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 current 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.
Claim 3
Dependent Claim 44 words
The method of claim 1 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.
Claim 4
Dependent Claim 159 words
The method of claim 1 including, under the control of the intermediary module: receiving from a second of the state client modules a request for a current value of a second state attribute that was indicated in the registration message sent by a second of the state server modules; and without further intervention by the second state client, determining that the second state server module is not currently able to supply the requested current value for the second state attribute; in response to the determining, sending to the second state client module an indication that the requested current value for the second state attribute is not available; after the sending of the indication to the second state client module, determining that the second state server module is currently able to supply the requested current value for the second state attribute; and notifying the second state client module that the requested current value for the second state attribute is available.
Claim 5
Dependent Claim 75 words
The method of claim 3 wherein the determining that the second state server module is currently able to supply the requested current value for the second state attribute is based on the intermediary module receiving a current value for the second state attribute from the second state server module, and wherein the notifying of the second state client module includes sending the received value for the second state attribute to the second state client module.
Claim 6
Dependent Claim 47 words
The method of claim 1 including, under the control of the intermediary module: receiving from each of multiple modules an indication of an event of interest; and when one of the indicated events of interest occurs, notifying the module that indicated the occurring event of the occurrence.
Claim 7
Dependent Claim 57 words
The method of claim 5 wherein a received indication from a first module of a first event of interest includes a criteria related to the first event, and wherein the notifying of the first module of the occurrence of the first event is performed only when the criteria is satisfied by the occurrence of the first event.
Claim 8
Dependent Claim 80 words
The method of claim 1 including, under the control of the intermediary module: receiving from a second of the state client modules an indication of a condition related to one or more specified state attributes such that the second state client module desires to know when the condition has been satisfied; determining whether any received values for the specified state attributes satisfy the condition; and when it is determined that the condition is satisfied, notifying the second state client module.
Claim 9
Dependent Claim 46 words
The method of claim 1 including: monitoring activities of a module; detecting an occurrence; and automatically without further intervention by the module, determining based on the monitoring that the detected occurrence would be of interest to the module; and notifying the module of the detected occurrence.
Claim 10
Dependent Claim 45 words
The method of claim 1 including, under the control of a third of the state client modules: receiving a sent current value from the intermediary module; and presenting information to a user of the third state client module based on the receiving of the value.
Claim 11
Dependent Claim 68 words
The method of claim 1 wherein at least some of the state server modules generate values for additional state attributes of a current 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 attributes to state client modules based on requests from those state client modules for the received values.
Claim 12
Independent Claim 146 words
A method in a computer for providing information about a current state that is modeled with multiple state attributes, the method comprising: under control of an attribute request receiver component of an intermediary module executing in memory, receiving from a module a request related to the modeling of the current state with the multiple state attributes; and under control of an attribute request satisfier component of the intermediary module executing in memory and without further intervention related to the request by the module, determining that the request cannot currently be satisfied, and indicating to the module that the request cannot currently be satisfied; 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.
Claim 13
Independent Claim 146 words
A method in a computer for providing information about a current state that is modeled with multiple state attributes, the method comprising: under control of an attribute request receiver component of an intermediary module executing in memory, receiving from a module a request related to the modeling of the current state with the multiple state attributes; and under control of an attribute request satisfier component of the intermediary module executing in memory and without further intervention related to the request by the module, determining that the request cannot currently be satisfied, and indicating to the module that the request cannot currently be satisfied; 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.
Claim 14
Dependent Claim 20 words
The method of claim 11 wherein the monitoring includes detecting changes in status of the modeling of the current state.
Claim 15
Dependent Claim 73 words
The method of claim 11 including: receiving 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.
Claim 16
Dependent Claim 18 words
The method of claim 13 wherein the condition relates to the one state attribute having a specified value.
Claim 17
Dependent Claim 31 words
The method of claim 13 wherein the detecting of the changes in the value of the one state attribute includes creating a condition monitor to detect satisfaction of the indicated condition.
Claim 18
Dependent Claim 21 words
The method of claim 11 wherein the module is a source of values for at least one of the state attributes.
Claim 19
Dependent Claim 21 words
The method of claim 11 wherein the module is a consumer of values for at least one of the state attributes.
Claim 20
Dependent Claim 37 words
The method of claim 11 wherein the request is from a client module for a value of a specified state attribute such that no sources are currently available to supply values for the specified state attribute value.
Claim 21
Dependent Claim 20 words
The method of claim 18 wherein the monitoring involves detecting when a value for the specified state attribute is received.
Claim 22
Dependent Claim 24 words
The method of claim 18 wherein the monitoring involves detecting when a source indicates an ability to supply values for the specified state attribute.
Claim 23
Dependent Claim 27 words
The method of claim 18 wherein the indicating to the client module that the request can be satisfied involves sending the requested value to the client module.
Claim 24
Dependent Claim 58 words
The method of claim 11 wherein the request is from a client module for a value of a specified state attribute that satisfies a specified criteria, and wherein each of the sources currently available to supply values for the specified state attribute are unable to supply a value for the specified state attribute that satisfies the specified criteria.
Claim 25
Dependent Claim 20 words
The method of claim 22 wherein the monitoring involves detecting when a value for the specified state attribute is received.
Claim 26
Dependent Claim 26 words
The method of claim 22 wherein the monitoring involves repeatedly requesting at least one of the sources to supply a value for the specified state attribute.
Claim 27
Dependent Claim 49 words
The method of claim 22 wherein the specified criteria is that the requested value come from a specified source that is not currently 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.
Claim 28
Dependent Claim 36 words
The method of claim 11 wherein the request is from a source module to send a supplied value of a state attribute to a specified client that is not currently available to receive state attribute values.
Claim 29
Dependent Claim 31 words
The method of claim 26 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.
Claim 30
Dependent Claim 62 words
The method of claim 11 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 currently available to receive values for the specified state attribute.
Claim 31
Dependent Claim 37 words
The method of claim 28 wherein the determining that the request can be satisfied is based on receiving an indication from a client of an interest in receiving at least one value for the specified state attribute.
Claim 32
Dependent Claim 23 words
The method of claim 11 wherein the computer has access to various devices, and wherein the request is for access to a device.
Claim 33
Dependent Claim 15 words
The method of claim 30 wherein the device is an input device of the computer.
Claim 34
Dependent Claim 15 words
The method of claim 30 wherein the device is an output device of the computer.
Claim 35
Dependent Claim 12 words
The method of claim 30 wherein the device is a remote device.
Claim 36
Dependent Claim 17 words
The method of claim 11 wherein the request is for access to a group of themed attributes.
Claim 37
Dependent Claim 36 words
The method of claim 34 wherein the determining that the request can be satisfied is based on one or more sources being executed that are able to supply values for the themed attributes of the group.
Claim 38
Dependent Claim 36 words
The method of claim 11 wherein the providing of the information about the current state is performed by a characterization module, and wherein the request is for access to other functionality provided by the characterization module.
Claim 39
Dependent Claim 39 words
The method of claim 36 wherein the other functionality is a specified mediator, and wherein the determining that the request can be satisfied is based on loading of software that when executed will provide mediating for the specified mediator.
Claim 40
Dependent Claim 47 words
The method of claim 11 wherein the request is to be notified when a specified criteria is satisfied, and wherein the determining that the request cannot currently be satisfied is based on the specified criteria not being satisfied at the time of the receiving of the request.
Claim 41
Dependent Claim 30 words
The method of claim 38 wherein the indicating to the module that the request cannot currently be satisfied is performed by not notifying the module that the request is satisfied.
Claim 42
Dependent Claim 24 words
The method of claim 38 wherein the specified criteria is availability or unavailability of a source for supplying values of a specified state attribute.
Claim 43
Dependent Claim 26 words
The method of claim 38 wherein the specified criteria is availability or unavailability of a specified source for supplying values of at least one state attribute.
Claim 44
Dependent Claim 24 words
The method of claim 38 wherein the specified criteria is availability or unavailability of a client for receiving values of a specified state attribute.
Claim 45
Dependent Claim 26 words
The method of claim 38 wherein the specified criteria is availability or unavailability of a specified client for receiving values of at least one state attribute.
Claim 46
Dependent Claim 17 words
The method of claim 38 wherein the specified criteria is availability or unavailability of a specified device.
Claim 47
Dependent Claim 17 words
The method of claim 28 wherein the specified criteria is availability or unavailability of specified other functionality.
Claim 48
Dependent Claim 40 words
The method of claim 31 wherein a module performing the method provides alternatives for at least one type of behavior, and wherein the specified criteria is a change in a value for at least one of the types of behavior.
Claim 49
Dependent Claim 20 words
The method of claim 38 wherein the specified criteria is a change in a value of a specified state attribute.
Claim 50
Dependent Claim 26 words
The method of claim 38 wherein the request includes an indication of a number of times that the satisfaction of the specified criteria is to occur.
Claim 51
Dependent Claim 16 words
The method of claim 38 wherein the specified criteria includes an occurrence of a specified type.
Claim 52
Dependent Claim 17 words
The method of claim 11 wherein the state attributes represent information about a user of the computer.
Claim 53
Dependent Claim 17 words
The method of claim 50 wherein the represented information reflects a modeled mental state of the user.
Claim 54
Dependent Claim 14 words
The method of claim 11 wherein the state attributes represent information about the computer.
Claim 55
Dependent Claim 15 words
The method of claim 11 wherein the state attributes represent information about a physical environment.
Claim 56
Dependent Claim 20 words
The method of claim 11 wherein the state attributes represent information about a cyber-environment of a user of the computer.
Claim 57
Dependent Claim 16 words
The method of claim 11 wherein the state attributes represent current predictions about a future state.
Claim 58
Dependent Claim 27 words
The method of claim 11 wherein receiving of a state attribute value by the module prompts the module to present information to a user of the module.
Claim 59
Dependent Claim 28 words
The method of claim 11 wherein receiving of the indication that the request can be satisfied prompts the module to present information to a user of the module.
Claim 60
Dependent Claim 62 words
The method of claim 11 including: receiving from the module an indication of a notification request such that the module desires to be notified when an occurrence of a specified event is detected; after the receiving of the indication, detecting an occurrence of the specified event; and in response to the detecting, notifying the module of the occurrence of the specified event.
Claim 61
Dependent Claim 21 words
The method of claim 58 wherein the detecting of the occurrence of the specified event includes analyzing information that is received.
Claim 62
Dependent Claim 167 words
A computer-readable medium whose contents when executed cause a computing device to provide information about a current state that is represented with multiple attributes, by performing a method comprising: receiving from a module a request related to modeling of the current state with the multiple attributes; and without further input from the module related to the request, indicating to the module a determination that the request cannot currently be satisfied; after the indicating, monitoring to determine whether the request can be satisfied; and when it is determined that the request can currently be satisfied, indicating to the module that the request can be satisfied, and wherein the receiving of the request is performed by an attribute request receiver component, wherein the indicating of the determination and the monitoring and the indicating that the request can be satisfied are performed by an attribute request satisfier component, and wherein the attribute request receiver component and the attribute request satisfier component are part of an intermediary module executing in memory.
Claim 63
Dependent Claim 167 words
A computer-readable medium whose contents when executed cause a computing device to provide information about a current state that is represented with multiple attributes, by performing a method comprising: receiving from a module a request related to modeling of the current state with the multiple attributes; and without further input from the module related to the request, indicating to the module a determination that the request cannot currently be satisfied; after the indicating, monitoring to determine whether the request can be satisfied; and when it is determined that the request can currently be satisfied, indicating to the module that the request can be satisfied, and wherein the receiving of the request is performed by an attribute request receiver component, wherein the indicating of the determination and the monitoring and the indicating that the request can be satisfied are performed by an attribute request satisfier component, and wherein the attribute request receiver component and the attribute request satisfier component are part of an intermediary module executing in memory.
Claim 64
Dependent Claim 17 words
The computer-readable medium of claim 60 wherein the computer-readable medium is a memory of the computing device.
Claim 65
Dependent Claim 133 words
A computing device for providing information about a current state that is represented with multiple attributes, comprising: an attribute request receiver component that is capable of receiving from a module a request related to modeling of a current state with multiple state attributes; and an attribute request satisfier component that is capable of, without further input from the module related to the request, indicating to the module a determination that the request cannot currently be satisfied, automatically monitoring to determine whether the request can be satisfied after the indicating, and indicating to the module that the request can be satisfied after it is determined that the request can currently be satisfied, and wherein the attribute request receiver component and the attribute request satisfier component are part of an intermediary module executing in memory.
Claim 66
Dependent Claim 133 words
A computing device for providing information about a current state that is represented with multiple attributes, comprising: an attribute request receiver component that is capable of receiving from a module a request related to modeling of a current state with multiple state attributes; and an attribute request satisfier component that is capable of, without further input from the module related to the request, indicating to the module a determination that the request cannot currently be satisfied, automatically monitoring to determine whether the request can be satisfied after the indicating, and indicating to the module that the request can be satisfied after it is determined that the request can currently be satisfied, and wherein the attribute request receiver component and the attribute request satisfier component are part of an intermediary module executing in memory.
Claim 67
Dependent Claim 17 words
The computing device of claim 62 further comprising multiple sources and multiple clients executing in the memory.
Claim 68
Dependent Claim 128 words
A computing device for providing information about a current state that is represented with multiple attributes, comprising: means for, under control of an attribute request receiver component of an intermediary module executing in memory, receiving from a module a request related to modeling of the current state with the multiple attributes; and means for, under control of an attribute request satisfier component of the intermediary module executing in memory and without further input from the module related to the request, indicating to the module a determination that the request cannot currently be satisfied, automatically monitoring to determine whether the request can be satisfied after the indicating, and indicating to the module that the request can be satisfied after it is determined that the request can currently be satisfied.
Claim 69
Dependent Claim 128 words
A computing device for providing information about a current state that is represented with multiple attributes, comprising: means for, under control of an attribute request receiver component of an intermediary module executing in memory, receiving from a module a request related to modeling of the current state with the multiple attributes; and means for, under control of an attribute request satisfier component of the intermediary module executing in memory and without further input from the module related to the request, indicating to the module a determination that the request cannot currently be satisfied, automatically monitoring to determine whether the request can be satisfied after the indicating, and indicating to the module that the request can be satisfied after it is determined that the request can currently be satisfied.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2007-09-14 2008-03-15 2008-09-14 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2011-09-14 2012-03-15 2012-09-14 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2015-09-14 2016-03-15 2016-09-14 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag