Patent ID: 7715444

Claim:
A method of synchronizing data between two devices, the method comprising: 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, during the first synchronization operation, 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 and a separate acknowledgment has not been received for each of the multiple different data elements, initiating a second synchronization operation comprising transmitting a second data set to be received by the second device, the second data set comprising the changes to the multiple different data elements of the first data set for which a separate acknowledgement was not received during the first synchronization operation; and further comprising generating a change list having a change instruction for each change in the first data set; and further comprising setting a flag corresponding to each change instruction for which a corresponding separate acknowledgment has been received; and further comprising generating the second data set, wherein generating the second data set comprises identifying one or more change instructions in the change list for which a corresponding log entry has not been generated.