Device context monitoring
First Claim
1. A method comprising:
- receiving, by a context daemon process executing on a computing device, values corresponding to one or more context items monitored by one or more context monitors;
receiving, by the context daemon process from a context client process, a context information request corresponding to a first context item;
determining, by the context daemon process, that the first context item is not currently monitored by the context monitors; and
initializing, by the context daemon process, a new context monitor corresponding to the first context item;
receiving, by the context daemon process, new values corresponding to the first context item monitored by the new context monitor;
generating, by the context daemon process, a historical event stream corresponding to the first context item based on the new values;
determining, by the context daemon process, a short-term probability of a particular value of the first context item based on the historical event stream;
determining, by the context daemon process, a long-term probability of the particular value of the first context item based on the historical event stream; and
predicting, by the context daemon process, a future occurrence of the particular value of the first context item based on the short-term probability and the long-term probability.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed are systems, methods, and non-transitory computer-readable storage media for monitoring the current context of a computing device. In some implementations, a context daemon can collect context information about the computing device. The context information can include current device hardware state information. The context information can include current software state information. The context can be derived or implied from a combination of hardware state information, software state information, or any other type of state information. For example, the derived context can be a user state (e.g., a user activity, sleeping, running, etc.) derived from or implied by hardware or software state information.
29 Citations
17 Claims
-
1. A method comprising:
-
receiving, by a context daemon process executing on a computing device, values corresponding to one or more context items monitored by one or more context monitors; receiving, by the context daemon process from a context client process, a context information request corresponding to a first context item; determining, by the context daemon process, that the first context item is not currently monitored by the context monitors; and initializing, by the context daemon process, a new context monitor corresponding to the first context item; receiving, by the context daemon process, new values corresponding to the first context item monitored by the new context monitor; generating, by the context daemon process, a historical event stream corresponding to the first context item based on the new values; determining, by the context daemon process, a short-term probability of a particular value of the first context item based on the historical event stream; determining, by the context daemon process, a long-term probability of the particular value of the first context item based on the historical event stream; and predicting, by the context daemon process, a future occurrence of the particular value of the first context item based on the short-term probability and the long-term probability. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computing device for monitoring event context comprising:
-
one or more processors; and a non-transitory computer readable medium that includes one or more sequences of instructions that, when executed by the one or more processors, cause the processors to perform operations comprising; receiving values corresponding to one or more context items monitored by one or more context monitors; receiving from a context client process, a context information request corresponding to a first context item; determining that the first context item is not currently monitored by the context monitors; and initializing a new context monitor corresponding to the first context item; receiving new values corresponding to the first context item monitored by the new context monitor; generating a historical event stream corresponding to the first context item based on the new values; determining a short-term probability of a particular value of the first context item based on the historical event stream; determining a long-term probability of a particular value of the first context item based on the historical event stream; predicting a future occurrence of the particular value of the first context based on the short-term probability and the long-term probability. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory computer-readable medium containing instructions that, when executed by a computing device, cause a context daemon process of the computing device to:
-
receive values corresponding to one or more context items monitored by one or more context monitors; receive from a context client process, a context information request corresponding to a first context item; determine that the first context item is not currently monitored by the context monitors; and initialize a new context monitor corresponding to the first context item; receive new values corresponding to the first context item monitored by the new context monitor; generate a historical event stream corresponding to the first context item based on the new values; determine a short-term probability of a particular value of the first context item based on the historical event stream determine a long-term probability of the particular value of the first context item based on the historical event stream; predict a future occurrence of the particular value of the first context based on the short-term probability and the long-term probability. - View Dependent Claims (14, 15, 16, 17)
-
Specification