System and method for recovering from a failed synchronization session
First Claim
1. 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;
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;
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.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method is described for recovering from a failed synchronization session between a first data store and a second data store. Once a failed synchronization session is detected, a synchronization recovery process is performed. The synchronization recovery process includes creating an update manifest based on a sync request and on a synchronization state table. The synchronization state table is updated for each sync request initiating a synchronization session, whether the synchronization session succeeded or failed. The update manifest may include one or more objects and an update action associated with each of the objects. The update action may be identical to a current action specified in the sync request for the object, identical to a last action stored in the synchronization state table for the object, or different from both the current action and the last action. In general, the update action minimizes the likelihood of duplicate objects.
-
Citations
22 Claims
-
1. 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;
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;
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 20, 21, 22)
-
-
14. A computer-readable medium having computer-executable components with instructions for recovering from a failed synchronization session between a first data store and a second data store, comprising:
a synchronization component configured to detect a failed synchronization session based on a client synchronization request and a synchronization state and to perform a synchronization recovery upon detecting the failed synchronization session, the synchronization recovery comprising;
creating an update manifest based on the synchronization state and the synchronization request, the update manifest includes changes to the first data store that were not provided in a prior synchronization request and excludes changes provided in the synchronization request that were previously updated on the second data store during the failed synchronization session; and
sending the update manifest to a device configured to update the second data store.
-
19. A system for recovering from a failed synchronization session between a first data store and a second data store, comprising:
-
a first device associated with the first data store;
a second device associated with the second data store; and
a server coupled to a storage medium on which a synchronization state associated with a first synchronization session is stored, the server configured to access the synchronization state upon receiving a subsequent synchronization request and to determine whether the subsequent synchronization request corresponds to the first synchronization session, if the synchronization request corresponds to the first synchronization session, the server is configured to initiate a recovery synchronization session.
-
Specification