Resuming a previously interrupted peer-to-peer synchronization operation
First Claim
1. A non-transitory computer-readable medium that stores instructions for synchronizing data, wherein the instructions, when executed by one or more processors, cause the one or more processors to perform steps comprising:
- initiating a synchronization operation on a first device to synchronize data elements on a second device;
determining whether a previous synchronization operation with the second device was successful;
responsive to determining that the previous synchronization operation was successful, performing a current synchronization operation with the second device by identifying a first set of changes to one or more data elements stored on the first device that have occurred since the previous synchronization operation;
responsive to determining the previous synchronization operation was not successful, performing the current synchronization operation with the second device by identifying a second set of changes to one or more data elements stored on the first device, wherein the second set of changes accounts for (i) changes to one or more data elements of a set of changes for the previous synchronization for which a separate acknowledgement was not received, and (ii) changes to one or more additional data elements that have occurred since the previous synchronization operation; and
in response to performing the synchronization operation, receiving, at the first device, a separate acknowledgement for each change of the second set of changes.
7 Assignments
0 Petitions
Accused Products
Abstract
A method of synchronizing data between two devices can include starting, in a first device, a first synchronization operation comprising transmitting a first data set to be received by a second device, the first data set comprising changes to multiple different data elements in the first device that have occurred since a prior successful synchronization operation between the first device and the second device; receiving at least one of separate acknowledgements for each of the multiple different data elements, each such acknowledgement indicating that a change to one of the multiple different data elements in the first device has been applied to a corresponding data element in the second device; and when the first synchronization operation is interrupted, initiating a second synchronization operation to synchronize the changes of the first data set for which a separate acknowledgement was not received during the first synchronization operation.
-
Citations
20 Claims
-
1. A non-transitory computer-readable medium that stores instructions for synchronizing data, wherein the instructions, when executed by one or more processors, cause the one or more processors to perform steps comprising:
-
initiating a synchronization operation on a first device to synchronize data elements on a second device; determining whether a previous synchronization operation with the second device was successful; responsive to determining that the previous synchronization operation was successful, performing a current synchronization operation with the second device by identifying a first set of changes to one or more data elements stored on the first device that have occurred since the previous synchronization operation; responsive to determining the previous synchronization operation was not successful, performing the current synchronization operation with the second device by identifying a second set of changes to one or more data elements stored on the first device, wherein the second set of changes accounts for (i) changes to one or more data elements of a set of changes for the previous synchronization for which a separate acknowledgement was not received, and (ii) changes to one or more additional data elements that have occurred since the previous synchronization operation; and in response to performing the synchronization operation, receiving, at the first device, a separate acknowledgement for each change of the second set of changes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computing device, comprising:
-
one or more processors; and a memory operatively coupled to the one or more processors, the memory for storing instructions which, when executed by the one or more processors, cause the one or more processors to; initiate a synchronization operation to synchronize data elements on a second device; determining whether a previous synchronization operation with the second device was successful; responsive to determining that the previous synchronization operation was successful, performing a current synchronization operation with the second device by identifying a first set of changes to one or more data elements stored on the computing device that have occurred since the previous synchronization operation; responsive to determining the previous synchronization operation was not successful, performing the current synchronization operation with the second device by identifying a second set of changes to one or more data elements stored on the first device, wherein the second set of changes accounts for (i) changes to one or more data elements of a set of changes for the previous synchronization for which a separate acknowledgement was not received, and (ii) changes to one or more additional data elements that have occurred since the previous synchronization operation; and in response to performing the synchronization operation, receiving, at the computing device, a separate acknowledgement for each change of the second set of changes. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification