Patent ID: 7054955

Claim:
A computer-implemented method for recovering from a failed synchronization session between a mobile device and a server, comprising: a) receiving a client request for a synchronization session, wherein the client request includes a manifest comprising changes to a data store after a prior successful synchronization session; b) determining whether a prior synchronization session failed; and c) if the prior synchronization session failed, 1) creating a server request based on the client request and on a synchronization state associated with the failed prior synchronization session so that duplicate objects are not created in the server when the mobile device and the server become synchronized; 2) sending the server request to the server for processing; 3) receiving a server response from the server based on the processing of the server request at the server; 4) modifying the synchronization state based on the server response and the client request; 5) creating a client response based on the server response; and 6) sending the client response to the mobile device.