Patent ID: 9549025
Date: 2017-01-17
CPC Classifications: H04L

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.