Data Synchronization Protocol
First Claim
1. A method of synchronizing data, the method comprising:
- receiving a request to initiate a sync session, wherein the request includesa proposed sync mode for each of one or more dataclasses, andone or more changes to the one or more dataclasses;
generating one or more status codes to indicate whether the proposed sync mode for each dataclass is accepted;
based on the generated status code, using the accepted sync mode for each dataclass to selectively update one or more data items associated with the one or more changes to the one or more dataclasses; and
selectively committing the updated one or more data items at the server.
2 Assignments
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.
-
Citations
52 Claims
-
1. A method of synchronizing data, the method comprising:
-
receiving a request to initiate a sync session, wherein the request includes a proposed sync mode for each of one or more dataclasses, and one or more changes to the one or more dataclasses; generating one or more status codes to indicate whether the proposed sync mode for each dataclass is accepted; based on the generated status code, using the accepted sync mode for each dataclass to selectively update one or more data items associated with the one or more changes to the one or more dataclasses; and selectively committing the updated one or more data items at the server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer program product, embodied on a computer readable medium, operable to cause a data processing apparatus to perform operations comprising:
-
receiving a request to initiate a sync session, wherein the request includes a proposed sync mode for each of one or more dataclasses, and one or more changes to the one or more dataclasses; generating a status code to indicate whether the proposed sync mode for each dataclass is accepted; based on the generated status code, using the accepted sync mode for each dataclass to selectively update one or more data items associated with the one or more changes to the one or more dataclasses; and selectively committing the updated one or more data items at a data repository. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A synchronization server comprising:
a processor configured to operate a transport protocol that enables opening of one or more connections to one or more client devices; and a sync protocol that enables data synchronization between the server and the one or more client devices over the opened one or more connections, wherein the sync protocol enables the server to receive a request to initiate a sync session, wherein the request includes a proposed sync mode for each of one or more dataclasses, and one or more changes to the one or more dataclasses, generate one or more status codes to indicate whether the proposed sync mode for each dataclass is accepted, based on the generated status code, using the accepted sync mode for each dataclass to selectively update one or more data items associated with the one or more changes to the one or more data classes, and selectively commit the updated one or more data items. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
32. A method of synchronizing data, the method comprising:
-
sending a request to a server to initiate a sync session, wherein the request includes a proposed sync mode for each of one or more dataclasses, and one or more changes to the one or more dataclasses; receiving one or more status codes indicative of whether the proposed sync mode for each dataclass has been accepted by the server; based on the received status code, using the accepted sync mode to receive from the server additional changes to the one or more dataclasses; and committing at a client device the additional changes received from the server. - View Dependent Claims (33, 34, 35, 36, 37, 38)
-
-
39. A computer program product, embodied on a computer-readable medium, operable to cause a data processing apparatus to perform one or more operations comprising:
-
sending a request to a server to initiate a sync session, wherein the request includes a proposed sync mode for each of one or more dataclasses, and one or more changes to the one or more dataclasses; receiving one or more status codes indicative of whether the proposed sync mode for each dataclass has been accepted by the server; based on the received status code, using the accepted sync mode to receive from the server additional changes to the one or more dataclasses; and committing at a client device the additional changes received from the server. - View Dependent Claims (40, 41, 42, 43, 44, 45)
-
-
46. A client device comprising:
a processor configured to operate a transport protocol that enables opening of one or more connections to a server; and a sync protocol that enables data synchronization between the client device and the server over the opened one or more connections, wherein the sync protocol enables the client device to send a request to a server to initiate a sync session, wherein the request includes a proposed sync mode for each of one or more dataclasses, and one or more changes to the one or more dataclasses; receive one or more status codes indicative of whether the proposed sync mode for each dataclass has been accepted by the server; based on the received status code, use the accepted sync mode to receive from the server additional changes to the one or more dataclasses; and commit at a client device the additional changes received from the server. - View Dependent Claims (47, 48, 49, 50, 51, 52)
Specification