System and methods for synchronizing datasets using cooperation among multiple synchronization engines
First Claim
1. In an information processing system, a method for synchronizing a first dataset with a second dataset, wherein the first and second datasets each includes user data, and the user data of each of the first and second datasets is changed independently of the other of the first and second datasets, the method comprising:
- maintaining, for the first dataset, information that is descriptive of a first synchronization between the first dataset and a third dataset, the information hereinafter referred to as a third-party information;
communicating the third-party information from a first synchronization engine to a second synchronization engine; and
synchronizing the first dataset with the second dataset using the second synchronization engine and the communicated third-party information, wherein, prior to the synchronizing step, the first dataset has already taken into account at least one data record of the third dataset as of a first version of the third dataset; and
the third-party information includes an indicator of the first version, the synchronizing step including specifying a second version of the third dataset such that the second dataset after the synchronizing step will have taken into account the at least one data record of the third dataset as of the second version; and
maintaining, for the second dataset, an indicator of the specified second version, wherein the maintained indicator is available for use in a future synchronization involving the second dataset;
wherein the specifying step comprises specifying the first version as the second version if;
prior to the synchronizing step, the second dataset has already taken into account the at least one data record of the third dataset as of a third version of the third dataset; and
the first version is newer than the third version.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and methods for synchronizing datasets are provided that are especially suitable and efficient for a user who has three or more datasets that need to be occasionally synchronized, with no one dataset or synchronization system being guaranteed to participate in every synchronization. Synchronization status information, such as correspondences between data records of particular multiple datasets, is stored with more than one of the datasets. When two datasets that contain synchronization status information synchronize with each other, they not only synchronize user data and exchange status information involving each other, but they also synchronize and exchange status information involving “third-party” datasets that may not be participating in the synchronization. In this way, synchronization status information collected in an earlier synchronization is made available in a later synchronization, even if the earlier and later synchronizations are not conducted by a same synchronization system or do not both include a common, permanently-designated “hub” dataset. Further, when datasets being synchronized are found to contain mutually-duplicative data records, the data records are intelligently mapped to each other as being corresponding so as to avoid or minimize causing of changes to be made, in the data records, that would make synchronization status information stored in another dataset to become obsolete.
81 Citations
3 Claims
-
1. In an information processing system, a method for synchronizing a first dataset with a second dataset, wherein the first and second datasets each includes user data, and the user data of each of the first and second datasets is changed independently of the other of the first and second datasets, the method comprising:
-
maintaining, for the first dataset, information that is descriptive of a first synchronization between the first dataset and a third dataset, the information hereinafter referred to as a third-party information; communicating the third-party information from a first synchronization engine to a second synchronization engine; and synchronizing the first dataset with the second dataset using the second synchronization engine and the communicated third-party information, wherein, prior to the synchronizing step, the first dataset has already taken into account at least one data record of the third dataset as of a first version of the third dataset; and
the third-party information includes an indicator of the first version, the synchronizing step including specifying a second version of the third dataset such that the second dataset after the synchronizing step will have taken into account the at least one data record of the third dataset as of the second version; andmaintaining, for the second dataset, an indicator of the specified second version, wherein the maintained indicator is available for use in a future synchronization involving the second dataset; wherein the specifying step comprises specifying the first version as the second version if;
prior to the synchronizing step, the second dataset has already taken into account the at least one data record of the third dataset as of a third version of the third dataset; and
the first version is newer than the third version. - View Dependent Claims (2, 3)
-
Specification