Abstract:
One embodiment provides for an electronic device, comprising a non-transitory machine-readable medium to store instructions, one or more processors to execute the instructions, and a memory coupled to the one or more processors. The memory can be configured to store a set of synchronization data associated with interaction between the electronic device and one or more applications and instructions which, when executed by the one or more processors, configure the one or more processors to retrieve a set of synchronization data to be transmitted from the electronic device to select a transport channel from one of a peer-to-peer channel or a network-based channel and transmit the set of synchronization data from the electronic device to one or more remote devices via the selected transport channel.
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.
Abstract:
A device implementing adaptive, cross-device event data synchronization includes at least one processor to maintain a database on the device, the database storing event data items derived from user data items corresponding to user activity on the device or a second device. The at least one processor periodically transmits, to a server, first insertion records corresponding to new event data items generated at the device, the transmission periodicity based on a frequency at which the new event data items are generated. The at least one processor, upon detecting deletion of one user data item, deletes, from the database, one corresponding event data item, and immediately transmits, to the server for propagation to the second device, a first deletion record for deletion of one corresponding event data item at the second device, the first deletion record being transmitted along with any of the first insertion records awaiting transmission.
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.
Abstract:
A method performed by a notification handler process running on a device includes receiving a first push notification for a first application while the recipient device is inactive; determining that delivery of the first push notification would cause the device to become active without prompting a user of the device to interact with the first application; in response to determining what delivery of the first push modification would cause, locally storing the first push notification; receiving a second push notification for a second application while the recipient device is still inactive; determining that delivery of the second push notification would cause the device to become active prompting the user to interact with the second application; and in response to determining what delivery of the second push modification would cause, delivering the received second push notification to the second application and the stored first push notification to the first application.
Abstract:
One embodiment provides for an electronic device, comprising a non-transitory machine-readable medium to store instructions, one or more processors to execute the instructions, and a memory coupled to the one or more processors. The memory can be configured to store a set of synchronization data associated with interaction between the electronic device and one or more applications and instructions which, when executed by the one or more processors, configure the one or more processors to retrieve a set of synchronization data to be transmitted from the electronic device to select a transport channel from one of a peer-to-peer channel or a network-based channel and transmit the set of synchronization data from the electronic device to one or more remote devices via the selected transport channel.
Abstract:
A method performed by a notification handler process running on a device includes receiving a first push notification for a first application while the recipient device is inactive; determining that delivery of the first push notification would cause the device to become active without prompting a user of the device to interact with the first application; in response to determining what delivery of the first push modification would cause, locally storing the first push notification; receiving a second push notification for a second application while the recipient device is still inactive; determining that delivery of the second push notification would cause the device to become active prompting the user to interact with the second application; and in response to determining what delivery of the second push modification would cause, delivering the received second push notification to the second application and the stored first push notification to the first application.