Data synchronization protocol
First Claim
1. A method of synchronizing data, the method comprising:
- receiving, at a server, a single message requesting to sync data associated with multiple dataclasses with at least one client device, wherein the message includes a proposed sync mode for each of the multiple dataclasses;
negotiating, at the server, the proposed sync mode for each of the multiple dataclasses in parallel responsive to receiving the message;
sending, from the server, a reply message that includes one or more status codes indicative of whether the proposed sync mode for each dataclass has been accepted by the server.
1 Assignment
0 Petitions
Accused Products
Abstract
Among other things, techniques and systems are disclosed for syncing data between a client device and a server. Synchronizing data includes initiating a sync session by negotiating a sync mode between a client device and a server for each of one or more dataclasses. A status code is generated based on a result of the negotiating. Based on the generated status code, the client device and the server exchanges one or more data items to be updated for the one or more dataclasses using the negotiated sync mode for each dataclass. The exchanged one or more data items are updated at the client device or the server The updated one or more data items are committed at the client or the server.
41 Citations
20 Claims
-
1. A method of synchronizing data, the method comprising:
-
receiving, at a server, a single message requesting to sync data associated with multiple dataclasses with at least one client device, wherein the message includes a proposed sync mode for each of the multiple dataclasses; negotiating, at the server, the proposed sync mode for each of the multiple dataclasses in parallel responsive to receiving the message; sending, from the server, a reply message that includes one or more status codes indicative of whether the proposed sync mode for each dataclass has been accepted by the server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 9, 10, 13, 14, 15, 16, 17)
-
-
8. A method of synchronizing data in one round trip comprising two messages, the method comprising:
-
initiating, at a server, a sync session to sync data associated with multiple dataclasses with at least one client device responsive to a first message from the at least one client device, wherein the message includes a proposed sync mode for each of the multiple dataclasses; and sending from the server, a second message to the at least one client device to complete the sync session, the second message comprising a status code to indicate acceptance or rejection of each proposed sync mode.
-
-
11. A method of syncing data, the method comprising:
-
initiating, at a server, a sync session to sync data associated with multiple dataclasses with at least one client device responsive to a message from the at least one client device, wherein the message includes a proposed sync mode for each of the multiple dataclasses; negotiating, at the server, the proposed sync mode for each of the multiple dataclasses in parallel responsive to receiving the first message; generating, at the server, a status code indicating whether the proposed sync mode for each of the multiple dataclasses is accepted or rejected; initiating syncing of the data using an accepted sync mode or a replacement sync mode assigned for each of the multiple dataclasses; detecting, at the server, an interruption in a network connection between the server and the at lest one client device that interrupts the sync session; and resuming the sync session using the accepted sync mode or the replacement sync mode previously assigned to each of the multiple dataclasses before the network interruption. - View Dependent Claims (12, 18, 19, 20)
-
Specification