Protocol optimization for client and server synchronization
First Claim
1. A protocol optimization method for client and server synchronization, the method comprising:
- executing in memory of a mobile device a mobile application coupled to a data store and also a synchronization client for the application and a synchronization agent that is separate from the synchronization client; and
synchronizing the synchronization client and a synchronization server over a computer communications network, with the synchronization including;
posting, by the synchronization client to the synchronization server, changes to data objects in the data store,responsive to the posting of changes to data objects, receiving, by the synchronization client from the synchronization server, a reply including only a subset of a complete set of server updates to the data store,responsive to the receipt of the reply, providing, by the synchronization client and to the synchronization agent, the subset of the complete set of server updates,additionally receiving, by the synchronization client and from the synchronization server over the computer communications network, a different subset of the complete set of server updates to the data store,at least partially simultaneously with the additional receipt of the different data subset, updating, by the synchronization agent, the data store utilizing a pre-allocated local mapping of temporary identifiers for objects in the subset of the complete set of server updates,at least partially simultaneously with the additional receipt of the different data subset, returning, by the synchronization agent and to the synchronization client, final local identifiers for the objects in the subset of the complete set of server updates, and at least partially simultaneously with the additional receipt of the different data subset, returning, by the synchronization client to the synchronization server over the communications network, the final local identifiers for the objects in the subset of the complete set of server updates.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the present invention address deficiencies of the art in respect to data synchronization and provide a method, system and computer program product for protocol optimization for client and server synchronization. In one embodiment a protocol optimization method for client and server synchronization can be provided. The method can include receiving server updates from a synchronization server, and applying each update to a client data store in parallel to requesting additional ones of the server updates from the synchronization server before completing the application to the client data store. In one aspect of the embodiment, receiving server updates from a synchronization server can include receiving server update subsets of a singular server update for a synchronization conversation from a synchronization server.
-
Citations
18 Claims
-
1. A protocol optimization method for client and server synchronization, the method comprising:
-
executing in memory of a mobile device a mobile application coupled to a data store and also a synchronization client for the application and a synchronization agent that is separate from the synchronization client; and synchronizing the synchronization client and a synchronization server over a computer communications network, with the synchronization including; posting, by the synchronization client to the synchronization server, changes to data objects in the data store, responsive to the posting of changes to data objects, receiving, by the synchronization client from the synchronization server, a reply including only a subset of a complete set of server updates to the data store, responsive to the receipt of the reply, providing, by the synchronization client and to the synchronization agent, the subset of the complete set of server updates, additionally receiving, by the synchronization client and from the synchronization server over the computer communications network, a different subset of the complete set of server updates to the data store, at least partially simultaneously with the additional receipt of the different data subset, updating, by the synchronization agent, the data store utilizing a pre-allocated local mapping of temporary identifiers for objects in the subset of the complete set of server updates, at least partially simultaneously with the additional receipt of the different data subset, returning, by the synchronization agent and to the synchronization client, final local identifiers for the objects in the subset of the complete set of server updates, and at least partially simultaneously with the additional receipt of the different data subset, returning, by the synchronization client to the synchronization server over the communications network, the final local identifiers for the objects in the subset of the complete set of server updates. - View Dependent Claims (2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18)
-
-
7. A computer program product comprising a non-transitory computer usable medium having computer usable program code for protocol optimization for client and server synchronization, the computer program product including:
-
computer usable program code for initiating data synchronization between a synchronization client in a mobile computing device and a synchronization server over a computer communications network by posting, by the client to the server, changes to data objects in a data store of the mobile device; and computer usable program code for synchronizing the synchronization client and a synchronization server over a computer communications network, with the synchronization including; posting, by the synchronization client to the synchronization server, changes to data objects in the data store, responsive to the posting of changes to data objects, receiving, by the synchronization client from the synchronization server, a reply including only a subset of a complete set of server updates to the data store, responsive to the receipt of the reply, providing, by the synchronization client and to the synchronization agent, the subset of the complete set of server updates, additionally receiving, by the synchronization client and from the synchronization server over the computer communications network, a different subset of the complete set of server updates to the data store, at least partially simultaneously with the additional receipt of the different data subset, updating, by the synchronization agent, the data store utilizing a pre-allocated local mapping of temporary identifiers for objects in the subset of the complete set of server updates, at least partially simultaneously with the additional receipt of the different data subset, returning, by the synchronization agent and to the synchronization client, final local identifiers for the objects in the subset of the complete set of server updates, and at least partially simultaneously with the additional receipt of the different data subset, returning, by the synchronization client to the synchronization server over the communications network, the final local identifiers for the objects in the subset of the complete set of server updates.
-
-
13. An optimized synchronization protocol enabled data processing system comprising:
-
a mobile device comprising a processor and memory and a data store; a mobile application executing in the memory of the mobile device and updating objects in the data store; a synchronization client synchronizing updates to the objects in the data store received from a synchronization server from over a computer communications network; and, a synchronization agent coupled to the client and executing in the memory of the mobile device, the client initiating data synchronization with the server over the computer communications network for synchronizing the synchronization client and a synchronization server over a computer communications network, with the synchronization including; posting, by the synchronization client to the synchronization server, changes to data objects in the data store, responsive to the posting of changes to data objects, receiving, by the synchronization client from the synchronization server, a reply including only a subset of a complete set of server updates to the data store, responsive to the receipt of the reply, providing, by the synchronization client and to the synchronization agent, the subset of the complete set of server updates, additionally receiving, by the synchronization client and from the synchronization server over the computer communications network, a different subset of the complete set of server updates to the data store, at least partially simultaneously with the additional receipt of the different data subset, updating, by the synchronization agent, the data store utilizing a pre-allocated local mapping of temporary identifiers for objects in the subset of the complete set of server updates, at least partially simultaneously with the additional receipt of the different data subset, returning, by the synchronization agent and to the synchronization client, final local identifiers for the objects in the subset of the complete set of server updates, and at least partially simultaneously with the additional receipt of the different data subset, returning, by the synchronization client to the synchronization server over the communications network, the final local identifiers for the objects in the subset of the complete set of server updates.
-
Specification