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 capable of having been changed independently of the other of the first and second datasets, the method comprising:
maintaining, for the first dataset, information that is descriptive of synchronization between the first dataset and a third dataset, the information hereinafter referred to as the third-party information; communicating the third-party information; and synchronizing the first dataset with the second dataset using the communicated third-party information.
- 2. The method of claim 1 wherein:
the first dataset resides on a first device; the second dataset resides on a second device that is at least intermittently capable of communication with the first device; and the communicating step comprises communicating the third-party information from the first device to the second device.
- 3. The method of claim 1 wherein:
the first dataset is a reference dataset of a first synchronization system capable of synchronizing the first dataset with at least two datasets other than the first dataset; and the second dataset is a reference dataset of a second synchronization system.
- 4. The method of claim 1 wherein the third-party information includes mappings between data records of the first dataset and corresponding data records of the third dataset, the mappings hereinafter referred to as the third-party mappings.
- 5. The method of claim 4 wherein the synchronizing step comprises establishing a mapping between a first data record, of the first dataset, and a second data record, of the second dataset, using the communicated third-party information.
- 6. The method of claim 5 wherein:
the third-party mappings includes a mapping between a third data record, of the third dataset, and the first data record; and the step of establishing the mapping comprises mapping the second data record to the first data record if the second data record is known to correspond to the third data record.
- 7. The method of claim 6 wherein:
the third data record is identifiable in the third dataset by a record identifier that is unique within the third dataset; the mapping between the third data record and the first data record is indicative of the record identifier; there exists mapping information, for the second dataset, that includes mappings between data records of the second dataset and corresponding data records of the third dataset; and the step of mapping the second data record to the first data record if the second data record is known to correspond to the third data record comprises:
seeking a mapping, in the mapping information, involving the third data record, based on the record identifier; and mapping the second data record to the first data record if the sought mapping involving the third data record is found in the seeking step and if the found mapping maps the third data record to the second data record.
- 8. The method of claim 4 wherein the synchronizing step comprises storing, for the second dataset, information derived from the third-party mappings, wherein the stored derived information is available for use in a future synchronization involving the second dataset.
- 9. The method of claim 8 wherein the derived information includes mappings between data records of the second dataset and corresponding data records of at least one dataset other than the first and second datasets.
- 10. The method of claim 1 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.
- 11. The method of claim 10 wherein the synchronizing step comprises:
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.
- 12. The method of claim 11 wherein the indicator of the first version is indicative of a first prior time at which the at least one data record of the third dataset was synchronized, and the third version corresponds to a second prior time at which the at least one data record of the third dataset was synchronized, wherein the first version is newer than the third version if the first prior time is later than the second prior time.
- 13. The method of claim 11 wherein:
the first dataset is a reference dataset of a first synchronization system capable of synchronizing the first dataset with at least the second and the third dataset; the second dataset is a reference dataset of a second synchronization system capable of synchronizing the second dataset with at least the first and the third dataset.
- 14. The method of claim 1 wherein the third-party information includes an indication of whether the third dataset has already taken into account values that existed, just prior to the synchronizing step, in a first data record of the first dataset, the indication hereinafter referred to as the first indication.
- 15. The method of claim 14 wherein the synchronizing step comprises maintaining, for the second dataset, an indication of whether values that exist in a second data record of the second dataset have already been taken into account by the third dataset, the maintained indication hereinafter referred to as the second indication, wherein the second indication is available for use in a future synchronization involving the second dataset.
- 16. The method of claim 15 wherein the second data record corresponds to the first data record; and the step of maintaining the second indication comprises determining the second indication based at least in part on the first indication.
- 17. The method of claim 16 wherein:
the synchronizing step further comprises modifying the second data record at least to an extent necessary to account for the values that existed in the first data record, and modifying the first data record at least to an extent necessary to account for values that existed, just prior to the synchronizing step, in the second data record; and the determining step comprises determining the first indication as the second indication, if it was necessary to modify the second data record and unnecessary to modify the first record in the modifying steps.
- 18. The method of claim 17 wherein the determining step further comprises determining that the values that exist in the second dataset have not already been taken into account by the third dataset, if it was necessary to modify both the first and the second data records in the modifying steps.
- 19. The method of claim 17 wherein:
the first dataset is a reference dataset of a first synchronization system capable of synchronizing the first dataset with at least the second and the third dataset; the second dataset is a reference dataset of a second synchronization system capable of synchronizing the second dataset with at least the first and the third dataset.
- 20. The method of claim 1 wherein the synchronizing step comprises storing information derived from the third-party information with the second dataset, wherein the stored derived information is available for use in a future synchronization involving the second dataset.
- 21. The method of claim 1 wherein the communicating step comprises transmitting the third-party information via a global public information network.
- 22. The method of claim 1 wherein the first dataset includes user contact information and user appointment information.
- 23. The method of claim 1 wherein:
the first dataset is a reference dataset of a first synchronization system capable of synchronizing the first dataset with at least the second dataset; the second dataset is a reference dataset of a second synchronization system capable of synchronizing the second dataset with at least the first and the third datasets.
- 24. The method of claim 23 wherein the third dataset resides on a handheld device; and the second synchronization system is capable of synchronizing the second dataset with the third dataset via a wireless communication channel.
- 25. The method of claim 1 wherein the communicating step comprises transmitting the third-party information via a wireless communication channel.
- 26. The method of claim 1 further comprising, prior to the communicating step, accepting a command from a user via a user input device to begin synchronization.
- 28. The method of claim 1 further comprising, after the synchronizing step, interactively displaying user data of the second dataset to a user via a display screen.
RELATED APPLICATIONS
[0001] The present application is related to the following commonly-owned U.S. patent applications, the disclosures of which are hereby incorporated by reference in their entirety, including any appendices or attachments thereof, for all purposes:
[0002] Ser. No. 09/311,781, filed May 13, 1999 and entitled SYSTEM AND METHODS FOR SYNCHRONIZING DATASETS IN A NON-FIFO OR OTHERWISE DIFFICULT COMMUNICATION ENVIRONMENT;
[0003] Ser. No. 09/208,815, filed Dec. 8, 1998 and entitled SYSTEM AND METHODS FOR ROBUST SYNCHRONIZATION OF DATASETS;
[0004] Ser. No. 09/136,215, filed Aug. 18, 1998 and entitled SYSTEM AND METHODS FOR SYNCHRONIZING TWO OR MORE DATASETS;
[0005] Ser. No. 09/136,212, filed Aug. 18, 1998 and entitled DATA PROCESSING ENVIRONMENT WITH METHODS PROVIDING CONTEMPORANEOUS SYNCHRONIZATION OF TWO OR MORE CLIENTS;
[0006] Ser. No. 09/020,047, filed Feb. 6, 1998, and entitled METHODS FOR MAPPING DATA FIELDS FROM ONE DATA SET TO ANOTHER IN A DATA PROCESSING ENVIRONMENT;
[0007] Ser. No. 08/923,612, filed Sep. 4, 1997 and entitled SYSTEM AND METHODS FOR SYNCHRONIZING INFORMATION AMONG DISPARATE DATASETS; and
[0008] Ser. No. 08/693,677, filed Aug. 12, 1996 and entitled SCHEDULING SYSTEM WITH METHODS FOR PEER-TO-PEER SCHEDULING OF REMOTE USERS.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09347447 |
Jul 1999 |
US |
Child |
10094110 |
Mar 2002 |
US |