IP Library Granted Patent US 12,706,097
Granted Patent B2
US 12,706,097 · App. 18/912,435 · Granted Aug 11, 2026

Synchronization of remote context data

Inventors: Kartik R. Venkatraman (Santa Clara, CA); Brian E. Korver (San Francisco, CA)
Assignee: Apple Inc.
G10L15/22G10L15/26G10L15/30G10L17/22H04L41/0681H04L67/1095H04L67/535G10L2015/223
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,706,097
App. No.
18/912,435
Granted
Aug 11, 2026
Kind
B2
Abstract

Embodiments described herein provide for a multi-device context store in which context attributes of multiple devices can be synchronized. A first device can transmit a predicate to a second device, where the predicate includes a condition associated with an attribute of a multi-device context store. Upon the occurrence of the condition at the second device, a notification and/or context update can be sent by the second device to the first device. The predicate can also include a code block to be executed upon the occurrence of the condition.

Claims (40)

1 . A method comprising:

on an electronic device including one or more processors:

receiving a predicate from a remote device, wherein the predicate includes a predicate condition associated with an attribute of a multi-device context store;

storing a code block of the predicate in a code block database creating a registration for the predicate that references the predicate condition and code block to conditionally execute upon occurrence of the predicate condition;

monitoring the multi-device context store for a change to an attribute;

in response to detecting a change to the attribute, evaluating the change relative to the registration for the predicate; and

executing a code block when the predicate condition evaluates to true based on the change to the attribute.

2 . The method of claim 1 , wherein the predicate includes the code block.

3 . The method of claim 2 , further comprising sending a notification to the remote device that the predicate condition has evaluated to true.

4 . The method of claim 2 , further comprising sending the change to the attribute to the remote device.

5 . The method of claim 1 , wherein the predicate further comprises a wake flag that indicates whether the occurrence of the predicate condition causes an application processor of the electronic device to wake from a sleep state to execute the code block or whether the occurrence of the predicate condition causes the code block to be placed in a queue that is executed when the application processor of the electronic device wakes from the sleep state.

6 . The method of claim 1 , wherein the multi-device context store is locally stored at the electronic device.

7 . The method of claim 1 , further comprising:

synchronizing the multi-device context store of the electronic device with another instance of the multi-device context store at the remote device.

8 . A non-transitory machine-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

receiving, by an electronic device, a predicate from a remote device, wherein the predicate includes a predicate condition associated with an attribute of a multi-device context store;

storing a code block of the predicate in a code block database creating a registration for the predicate that references the predicate condition and code block to conditionally execute upon occurrence of the predicate condition;

monitoring the multi-device context store for a change to an attribute;

in response to detecting a change to the attribute, evaluating the change relative to the registration for the predicate; and

executing a code block when the predicate condition evaluates to true based on the change to the attribute.

9 . The non-transitory machine-readable medium of claim 8 , wherein the predicate includes the code block.

10 . The non-transitory machine-readable medium of claim 9 , wherein the operations further comprise sending a notification to the remote device that the predicate condition has evaluated to true.

11 . The non-transitory machine-readable medium of claim 9 , wherein the operations further comprise sending the change to the attribute to the remote device.

12 . The non-transitory machine-readable medium of claim 8 , wherein the predicate further comprises a wake flag that indicates whether the occurrence of the predicate condition causes an application processor of the electronic device to wake from a sleep state to execute the code block or whether the occurrence of the predicate condition causes the code block to be placed in a queue that is executed when the application processor of the electronic device wakes from the sleep state.

13 . The non-transitory machine-readable medium of claim 8 , wherein the multi-device context store is locally stored at the electronic device.

14 . The non-transitory machine-readable medium of claim 8 , wherein the operations further comprises:

synchronizing the multi-device context store of the electronic device with another instance of the multi-device context store at the remote device.

15 . A device comprising:

a memory; and

at least one processor configured to:

receive a predicate from a remote device, wherein the predicate includes a predicate condition associated with an attribute of a multi-device context store;

store a code block of the predicate in a code block database creating a registration for the predicate that references the predicate condition and code block to conditionally execute upon occurrence of the predicate condition;

monitor the multi-device context store for a change to an attribute;

in response to detection of a change to the attribute, evaluate the change relative to the registration for the predicate; and

execute a code block when the predicate condition evaluates to true based on the change to the attribute.

16 . The device of claim 15 , wherein the predicate includes the code block.

17 . The device of claim 16 , wherein the at least one processor is further configured to send a notification to the remote device that the predicate condition has evaluated to true.

18 . The device of claim 16 , wherein the at least one processor is further configured to send the change to the attribute to the remote device.

19 . The device of claim 15 , wherein the predicate further comprises a wake flag that indicates whether the occurrence of the predicate condition causes an application processor of the device to wake from a sleep state to execute the code block or whether the occurrence of the predicate condition causes the code block to be placed in a queue that is executed when the application processor of the device wakes from the sleep state.

20 . The device of claim 15 , wherein the multi-device context store is locally stored at the device.