Data synchronization with eventual consistency
First Claim
1. A computer-implemented method for synchronizing data between a server and a client, the method comprising:
- receiving a request from a client to synchronize data, the request comprising a synchronization token, wherein the synchronization token comprises client recent synchronization signatures, each client recent synchronization signature representing a state of data synchronization on the client for a certain time period;
comparing each client recent synchronization signature with a corresponding server recent synchronization signature representing data on a server for the same time period;
when a comparison of a client recent synchronization signature with a corresponding server recent synchronization signature indicates that the data on the client for the time period represented by the client recent synchronization signature is not synchronized with corresponding data on the server for the time period, sending the data on the server for the time period to the client; and
sending an updated synchronization token to the client when the data is sent to the client, wherein the updated synchronization token comprises updated client recent synchronization signatures.
2 Assignments
0 Petitions
Accused Products
Abstract
Computer-implemented methods for synchronizing data between a server and a client are provided. In one aspect, a method includes receiving a request from a client to synchronize data. The request includes a synchronization token that includes client recent synchronization signatures, each client recent synchronization signature representing a state of data synchronization on the client for a certain time period. The method also includes comparing each client recent synchronization signature with a corresponding server recent synchronization signature representing data on a server for the same time period. When the comparison indicates that the data on the client for the time period represented by the client recent synchronization signature is not synchronized with corresponding data on the server for the time period, then the method includes sending the data on the server for the time period to the client. Systems and machine-readable media are also provided.
26 Citations
25 Claims
-
1. A computer-implemented method for synchronizing data between a server and a client, the method comprising:
-
receiving a request from a client to synchronize data, the request comprising a synchronization token, wherein the synchronization token comprises client recent synchronization signatures, each client recent synchronization signature representing a state of data synchronization on the client for a certain time period; comparing each client recent synchronization signature with a corresponding server recent synchronization signature representing data on a server for the same time period; when a comparison of a client recent synchronization signature with a corresponding server recent synchronization signature indicates that the data on the client for the time period represented by the client recent synchronization signature is not synchronized with corresponding data on the server for the time period, sending the data on the server for the time period to the client; and sending an updated synchronization token to the client when the data is sent to the client, wherein the updated synchronization token comprises updated client recent synchronization signatures. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system for synchronizing data between a server and a client, the system comprising:
-
a memory for storing instructions; a processor configured to execute the instructions to; receive a request from a client to synchronize data, the request comprising a synchronization token, wherein the synchronization token comprises client recent synchronization signatures, each client recent synchronization signature representing a state of data synchronization on the client for a certain time period; compare each client recent synchronization signature with a corresponding server recent synchronization signature representing data on a server for the same time period; when a comparison of a client recent synchronization signature with a corresponding server recent synchronization signature indicates that the data on the client for the time period represented by the client recent synchronization signature is not synchronized with corresponding data on the server for the time period, send the data on the server for the time period to the client; and send an updated synchronization token to the client when the data is sent to the client, wherein the updated synchronization token comprises updated client recent synchronization signatures. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A non-transitory machine-readable storage medium comprising machine-readable instructions for causing a processor to execute a method for synchronizing data between a server and a client, the method comprising:
-
receiving a request from a client to synchronize data, the request comprising a synchronization token, wherein the synchronization token comprises client recent synchronization signatures, each client recent synchronization signature representing a state of data synchronization on the client for a certain time period; comparing a hash value determined from each client recent synchronization signature with a hash value determined from each corresponding server recent synchronization signature; when a hash value determined from a client recent synchronization signature differs from a hash value determined from a corresponding server recent synchronization signature, sending the data on the server for the time period represented by the corresponding server recent synchronization signature to the client for overwriting the data on the client for the time period represented by the client recent synchronization signature; and sending an updated synchronization token to the client when the data is sent to the client, wherein the updated synchronization token comprises updated client recent synchronization signatures.
-
Specification