Context notifications

US10491708B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10491708-B2
Application numberUS-201615151306-A
CountryUS
Kind codeB2
Filing dateMay 10, 2016
Priority dateJun 5, 2015
Publication dateNov 26, 2019
Grant dateNov 26, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Disclosed are systems, methods, and non-transitory computer-readable storage media for notifying context clients of changes to the current context of a computing device. In some implementations, a context client can register to be called back when the context daemon detects specified context. For example, the context client can specify a context in which the context client is interested. When the context daemon detects that the current context of the computing device corresponds to the registered context, the context daemon can notify the context client that the current context matches the context in which the context client is interested. Thus, context clients do not require the programming necessary to independently obtain context updates and detect changes in context that are relevant or of interest to the context client.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: generating, by a context daemon executing on a computing device, information describing a current context of the computing device; receiving, by the context daemon, a callback request from a context client process that specifies a predicate for sending a notification to the context client process, the predicate specifying context conditions for calling back the context client process; generating, by the context daemon, a unique identifier for the callback request; sending, by the context daemon, the unique identifier to the context client process upon receiving the callback request prior to detecting that the current context corresponds to the predicate; detecting, by the context daemon, that the current context corresponds to the predicate; and in response to the detecting, sending, by the context daemon, a callback notification to the context client process, wherein the callback notification includes the unique identifier for the callback request, wherein the context daemon uses the unique identifier to notify the context client that the predicate for the callback request has been satisfied. 2. The method of claim 1 , wherein the context conditions specify values of one or more context items which when detected in the current context cause the context daemon to send the callback notification to the context client process. 3. The method of claim 1 , wherein the callback request includes an identifier for the context client process and the predicate. 4. The method of claim 3 , further comprising: storing, by the context daemon, an association between the unique identifier, the context client identifier, and the predicate. 5. The method of claim 4 , wherein the storing includes storing the unique identifier, the context client identifier, and the predicate in memory associated with the context daemon. 6. The method of claim 4 , wherein the storing includes storing the unique identifier, the context client identifier, and the predicate in a predicate database. 7. The method of claim 1 , further comprising: receiving, by the context daemon, device state information describing the current state of software and hardware components of the computing device; and generating, by the context daemon, the current context information based on the received device state information. 8. A computing device for context notification, the computing device comprising: a processor; and a context daemon, which when executed by the processor on the computing device, causes the context daemon to: generate information describing a current context of the computing device; receive a callback request from a context client process that specifies a predicate for sending a notification to the context client process, the predicate specifying context conditions for calling back the context client process; generate a unique identifier for the callback request; send the unique identifier to the context client process upon receiving the callback request prior to detecting that the current context corresponds to the predicate; detect that the current context corresponds to the predicate; and in response to the detection, send a callback notification to the context client process, wherein the callback notification includes the unique identifier for the callback request, wherein the context daemon uses the unique identifier to notify the context client that the predicate for the callback request has been satisfied. 9. The computing device of claim 8 , wherein the context conditions specify values of one or more context items which when detected in the current context cause the context daemon to send the callback notification to the context client process. 10. The computing device of claim 8 , wherein the callback request includes an identifier for the context client process and the predicate. 11. The computing device of claim 10 , further comprising the context daemon executed to: store an association between the unique identifier, the context client identifier, and the predicate. 12. The computing device of claim 11 , further comprising the context daemon executed to: store the unique identifier, the context client identifier, and the predicate in memory associated with the context daemon. 13. The computing device of claim 11 , further comprising the context daemon executed to: store the unique identifier, the context client identifier, and the predicate in a predicate database. 14. The computing device of claim 8 , further comprising the context daemon executed to: receive device state information describing the current state of software and hardware components of the computing device; and generate the current context information based on the received device state information. 15. A non-transitory computer-readable medium containing instructions that, when executed by a computing device, cause a context daemon of the computing device to: generate information describing a current context of the computing device; receive a callback request from a context client process that specifies a predicate for sending a notification to the context client process, the predicate specifying context conditions for calling back the context client process; generate a unique identifier for the callback request; send the unique identifier to the context client process upon receiving the callback request prior to detecting that the current context corresponds to the predicate; detect that the current context corresponds to the predicate; and in response to the detection, send a callback notification to the context client process, wherein the callback notification includes the unique identifier for the callback request, wherein the context daemon uses the unique identifier to notify the context client that the predicate for the callback request has been satisfied. 16. The non-transitory computer-readable medium of claim 15 , wherein the context conditions specify values of one or more context items which when detected in the current context cause the context daemon to send the callback notification to the context client process. 17. The non-transitory computer-readable medium of claim 15 , wherein the callback request includes an identifier for the context client process and the predicate. 18. The non-transitory computer-readable medium of claim 17 , further comprising instructions, which when executed cause the context daemon to: store an association between the unique identifier, the context client identifier, and the predicate. 19. The non-transitory computer-readable medium of claim 18 , further comprising instructions, which when executed cause the context daemon to: store the unique identifier, the context client identifier, and the predicate in memory associated with the context daemon. 20. The non-transitory computer-readable medium of claim 18 , further comprising instructions, which when executed cause the context daemon to: store the unique identifier, the context client identifier, and the predicate in a predicate database.

Assignees

Inventors

Classifications

  • Saving or restoring of program or task context · CPC title

  • Probabilistic graphical models, e.g. probabilistic networks · CPC title

  • Session management (for real-time applications in data packet communications networks H04L65/1066) · CPC title

  • by selectively disabling software applications · CPC title

  • Monitoring · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10491708B2 cover?
Disclosed are systems, methods, and non-transitory computer-readable storage media for notifying context clients of changes to the current context of a computing device. In some implementations, a context client can register to be called back when the context daemon detects specified context. For example, the context client can specify a context in which the context client is interested. When t…
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/445. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 26 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).