System and methods for synchronizing datasets using cooperation among multiple synchronization engines
First Claim
1. A method for synchronizing multiple datasets in a synchronization system, the system comprising a first synchronizer, a second synchronizer, a first dataset, a second dataset and a third dataset, wherein a new entry has been made to a first record in the first dataset, the method comprising:
- synchronizing the first dataset with the second dataset using the first synchronizer, including propagating the new entry to a corresponding second record in the second dataset and storing information mapping the first record in the first dataset to the corresponding second record in the second dataset;
synchronizing the first dataset with the third dataset using the second synchronizer, including propagating the new entry to a corresponding third record in the third dataset and storing information mapping the first record in the first dataset to the corresponding third record in the third dataset;
communicating mapping information regarding the first record between the first synchronizer and the second synchronizer; and
using the mapping information between the first and second records and between the first and third records to determine that the second and third records should be mapped together.
2 Assignments
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.
342 Citations
31 Claims
-
1. A method for synchronizing multiple datasets in a synchronization system, the system comprising a first synchronizer, a second synchronizer, a first dataset, a second dataset and a third dataset, wherein a new entry has been made to a first record in the first dataset, the method comprising:
-
synchronizing the first dataset with the second dataset using the first synchronizer, including propagating the new entry to a corresponding second record in the second dataset and storing information mapping the first record in the first dataset to the corresponding second record in the second dataset;
synchronizing the first dataset with the third dataset using the second synchronizer, including propagating the new entry to a corresponding third record in the third dataset and storing information mapping the first record in the first dataset to the corresponding third record in the third dataset;
communicating mapping information regarding the first record between the first synchronizer and the second synchronizer; and
using the mapping information between the first and second records and between the first and third records to determine that the second and third records should be mapped together. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for synchronizing multiple datasets in a synchronization system, the synchronization system comprising a first and a second synchronizer and a plurality of datasets, wherein a user has made a first change in a first dataset, the method comprising:
-
synchronizing a first and a second dataset using the first synchronizer, so that the first synchronizer becomes aware of the first change and propagates the first change to the second dataset;
synchronizing the second and a third dataset so that the first change is propagated from the second dataset to the third dataset;
communicating from the first synchronizer to the second synchronizer that the first change has been made to the first dataset; and
synchronizing the first and third datasets using the second synchronizer, wherein the second synchronizer does not send the first change from the third dataset to the first dataset because the second synchronizer is aware that the first change has already been made to the first dataset. - View Dependent Claims (8, 9)
-
-
10. A synchronization system for synchronizing multiple datasets, the system comprising:
-
a plurality of datasets to be synchronized with one another, the plurality of datasets residing on one or more data products;
a first synchronizer for synchronizing one or more of said datasets; and
a second synchronizer for synchronizing one or more of said datasets, wherein said first synchronizer receives a first change from a first one of said plurality of datasets during a first synchronization, said first synchronizer subsequently communicates said first change to said second synchronizer, and said second synchronizer subsequently sends said first change to a second of said plurality of datasets during a second synchronization. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A method for synchronizing multiple datasets in a synchronization system, the system comprising a first synchronizer having a first reference dataset, a second synchronizer having a second reference dataset, and a third dataset, the method comprising:
-
synchronizing said first reference dataset with said second reference dataset, and communicating from said first synchronizer to said second synchronizer status information about said third dataset; and
synchronizing said third dataset using said second synchronizer, said second synchronizer using said status information about said third dataset during the synchronization. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A method for synchronizing multiple datasets in a synchronization system, the system comprising a first and a second synchronizer and a first dataset, the method comprising:
-
synchronizing the first dataset using the first synchronizer, including synchronizing a first change with the first dataset;
communicating from the first synchronizer to the second synchronizer that the first change was synchronized with the first dataset; and
synchronizing the first dataset using the second synchronizer, wherein the second synchronizer does not synchronize the first change with the first dataset because the second synchronizer is aware that the first change has already been synchronized with the first dataset. - View Dependent Claims (22, 23)
-
-
24. A synchronization system for synchronizing multiple datasets, the system comprising:
-
a plurality of datasets to be synchronized with one another, the plurality of datasets residing on one or more data products;
a first synchronizer for synchronizing one or more of said datasets; and
a second synchronizer for synchronizing one or more of said datasets, wherein the first synchronizer performs a first synchronization with one or more of said plurality of datasets, said first synchronizer subsequently communicates information relative to said first synchronization to said second synchronizer, and said second synchronizer subsequently uses said information relative to said first synchronization during another synchronization with one or more of said plurality of datasets. - View Dependent Claims (25, 26)
-
-
27. A method for synchronizing multiple datasets in a synchronization system, the system comprising a first synchronizer, a second synchronizer and a first dataset, the first dataset having a first record, the first synchronizer maintaining a first status field for indicating the last synchronization time of the first record by the first synchronizer, the second synchronizer maintaining a second status field for indicating the last synchronization time of the first record by the second synchronizer, wherein a first change has been made to the first record in the first dataset, the method comprising:
-
the first synchronizer synchronizing the first dataset, so that the first dataset sends the first change to the first synchronizer and the first synchronizer updates the first status field based on the time of the synchronization;
the first synchronizer communicating to the second synchronizer the first change and the contents of the first status field; and
the second synchronizer storing the contents of the first status field, as received from the first synchronizer, into the second status field, and using the new contents of the second status field as the last synchronization time of the first record by the second synchronizer for a subsequent synchronization. - View Dependent Claims (28, 29, 30)
-
-
31. A method for synchronizing multiple datasets in a synchronization system, the system comprising a first synchronizer, a second synchronizer and a first dataset, the first dataset having a first record, the first synchronizer maintaining a first status field for indicating a priority time of the first record, the second synchronizer maintaining a second status field for indicating the priority time of the first record, wherein a first change is made to the first record in the first dataset at a first priority time, the method comprising:
-
the first synchronizer synchronizing the first dataset, so that the first dataset sends the first change and the first priority time to the first synchronizer and the first synchronizer stores the first priority time in the first status field;
the first synchronizer communicating to the second synchronizer the first change and the contents of the first status field; and
the second synchronizer storing the contents of the first status field, as received from the first synchronizer, into the second status field, and using the new contents of the second status field as the priority time of the first record for a subsequent synchronization.
-
Specification