System and methods for synchronizing information among disparate datasets
First Claim
1. A method comprising:
- receiving a request specifying synchronization of information records of a source dataset residing on a first device with information records of a target dataset residing on a second device;
determining a synchronization set by;
(i) determining which, if any, information records have been previously transmitted to the target dataset but no longer exists at the source dataset, and(ii) determining which, if any, information records have been added to or modified at the source dataset since the source dataset was last synchronized with the target dataset,wherein each information record of the source dataset is assigned a globally unique identifier that is independent of either of the devices, for identifying said each information record at both the source dataset and the target dataset, said globally unique identifier being maintained in a device-independent record map that allows the globally unique identifier to be traced back to a specific information record regardless of whether the specific information record resides on the first or second device; and
based on said synchronization set, synchronizing information records of the source dataset with information records of the target dataset by;
(i) using said globally unique identifiers to delete from the target dataset any information records which have been previously transmitted to the target dataset but no longer exist at the source dataset, and(ii) using said globally unique identifiers to update the target dataset so that said target dataset includes those information records determined to have been added to or modified at the source dataset since the source dataset was last synchronized with the target dataset,wherein each of the globally unique identifiers comprises a non-modifiable hidden field containing a record identifier which is maintained throughout the existence of a corresponding information record.
3 Assignments
0 Petitions
Accused Products
Abstract
A synchronization system may include: A Source (outbound). An “Accessor” communicating with a device'"'"'s data store. A corresponding Target Accessor is provided for inbound data. Both Accessors work in conjunction with a “Conduit,” which is provided for understanding the data that is being read so that the data can be mapped to a universal schema or “unirecord” or to a target dataset. The Conduit serves to broker the services of the Source Accessor and the Target Accessor and to provide field mapping and conversion. Core synchronization functionality is provided by a Synchronizer or “Sync Core” (engine). The Synchronizer performs its specific functionality on a per record or per data item basis, such as determining which records need to be inserted, deleted, updated, or the like.
80 Citations
38 Claims
-
1. A method comprising:
-
receiving a request specifying synchronization of information records of a source dataset residing on a first device with information records of a target dataset residing on a second device; determining a synchronization set by; (i) determining which, if any, information records have been previously transmitted to the target dataset but no longer exists at the source dataset, and (ii) determining which, if any, information records have been added to or modified at the source dataset since the source dataset was last synchronized with the target dataset, wherein each information record of the source dataset is assigned a globally unique identifier that is independent of either of the devices, for identifying said each information record at both the source dataset and the target dataset, said globally unique identifier being maintained in a device-independent record map that allows the globally unique identifier to be traced back to a specific information record regardless of whether the specific information record resides on the first or second device; and based on said synchronization set, synchronizing information records of the source dataset with information records of the target dataset by; (i) using said globally unique identifiers to delete from the target dataset any information records which have been previously transmitted to the target dataset but no longer exist at the source dataset, and (ii) using said globally unique identifiers to update the target dataset so that said target dataset includes those information records determined to have been added to or modified at the source dataset since the source dataset was last synchronized with the target dataset, wherein each of the globally unique identifiers comprises a non-modifiable hidden field containing a record identifier which is maintained throughout the existence of a corresponding information record. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A system comprising:
-
means for connecting a first device having a first dataset to a second device having a second dataset; means for determining information of said first and second datasets which requires synchronization, said means including; (i) means for determining for each dataset information which has been previously received from the other dataset but which no longer exists at the other dataset, and (ii) means for determining for each dataset information which has been added or modified at the other dataset since the other dataset was last synchronized with said each dataset; and means, responsive to said determining means, for synchronizing said first and second datasets, wherein said information of said first and second datasets comprises data records and wherein said means for determining include means for assigning to each data record a device-independent globally unique identifier created by the system for uniquely identifying each data record regardless of which dataset and device the data record resides, and wherein each of the globally unique identifiers comprise a non-modifiable hidden field containing a record identifier which is maintained throughout the existence of a corresponding data record. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. An apparatus comprising a processor configured to:
-
receive a request specifying synchronization of information records of a source dataset residing on the apparatus with information records of a target dataset residing on a second apparatus; determine a synchronization set by; (i) determining which, if any, information records have been previously transmitted to the target dataset but no longer exists at the source dataset, and (ii) determining which, if any, information records have been added to or modified at the source dataset since the source dataset was last synchronized with the target dataset; assign each information record of the source dataset a globally unique identifier that is independent of the first and second devices, for identifying said each information record at both the source dataset and the target dataset, said globally unique identifier being maintained in a device-independent record map that allows the globally unique identifier to be traced back to a specific information record regardless of whether the specific information record resides on the first or second device; utilize the synchronization set to synchronize information records of the source dataset with information records of the target dataset by; (i) using said globally unique identifiers to delete from the target dataset any information records which have been previously transmitted to the target dataset but no longer exist at the source dataset, and (ii) using said globally unique identifiers to update the target dataset so that said target dataset includes those information records determined to have been added to or modified at the source dataset since the source dataset was last synchronized with the target dataset, wherein each of the globally unique identifiers comprise a non-modifiable hidden field containing a record identifier which is maintained throughout the existence of a corresponding information record. - View Dependent Claims (34, 35)
-
-
36. A computer program product comprising at least one computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising:
-
a first executable portion for receiving a request specifying synchronization of information records of a source dataset residing on a first device with information records of a target dataset residing on a second device; a second executable portion for determining a synchronization set by; (i) determining which, if any, information records have been previously transmitted to the target dataset but no longer exists at the source dataset, and (ii) determining which, if any, information records have been added to or modified at the source dataset since the source dataset was last synchronized with the target dataset; a third executable portion for assigning each information record of the source dataset a globally unique identifier that is independent of the first and second devices, for identifying each information record at both the source dataset and the target dataset, said globally unique identifier being maintained in a device-independent record map that allows the globally unique identifier to be traced back to a specific information record regardless of whether the specific information record resides on the first or second device; and a fourth executable portion for synchronizing information records of the source dataset with information records of the target dataset, based on said synchronization set, by; (i) using said globally unique identifiers to delete from the target dataset any information records which have been previously transmitted to the target dataset but no longer exist at the source dataset, and (ii) using said globally unique identifiers to update the target dataset so that said target dataset includes those information records determined to have been added to or modified at the source dataset since the source dataset was last synchronized with the target dataset, wherein each of the globally unique identifiers comprises a non-modifiable hidden field containing a record identifier which is maintained throughout the existence of a corresponding information record. - View Dependent Claims (37, 38)
-
Specification