摘要 |
A system and methods for synchronizing information in datasets via a communication medium are provided that are suitable for synchronizing even across communication mediums that are susceptible to high latency, non-FIFO (non-First-In-First-Out) delivery order, or other adverse characteristics. According to an aspect of the invention, a computer-implemented method is for synchronizing user data in a first dataset with user data in at least a second dataset via a communication medium. The user data in the first dataset and the user data in the second dataset are capable of having been independently modified prior to the synchronization. The method includes sending a dataset change from the first dataset, receiving the dataset change via the communication medium, and determining whether the received dataset change, hereinafter referred to as the just-received change, was sent earlier than another dataset change, hereinafter referred to as the previously-received change, from the first dataset that was received earlier than the receiving step. The method further includes performing synchronization of the first and the second datasets based at least in part on the determining step. The performing step includes refraining from propagating the just-received change into the second dataset, if the just-received change is determined in the determining step to have been sent earlier than the previously-received change. The performing step further includes propagating the just-received change into the second dataset, at least to an extent needed for reconciling the just-received change with the second dataset, otherwise.
|