Cross-pollination of multiple sync sources
First Claim
Patent Images
1. A method for synchronizing a device with data sources and allowing cross-pollination of the data sources, comprising:
- creating a first data source and a second data source;
automatically determining items to synchronize between the first data source, the second data source and the device;
wherein the first data source, the second data source and the device are user devices that are associated with a particular user;
wherein the items comprise user created items;
wherein the device is configured to determine a version of each item on the first data source and the second data source and synchronize each of the first data source and the second data source to a latest version of each item;
connecting the device to the first data source;
synchronizing the device with the first source such that the device and the first source each include a same version of the items after the synchronizing;
connecting the device to the second source;
synchronizing the device with the second source, wherein the device is used to cross-pollinate between the first data source and the second data source such that the first data source, the second data source and the device each include the same version of the items after the synchronizing and cross-pollinating; and
performing a duplicate detection check to determine when an item has already been synchronized.
4 Assignments
0 Petitions
Accused Products
Abstract
The present invention allows a user to synchronize a device with at least two data sources that may cross-pollinate. The user'"'"'s device is used to shuttle changes between the sources and resolves conflicts when changes are made to an item on multiple sources concurrently. The user'"'"'s device keeps track of which version of the item each sync source has and synchronizes each of the sources to the latest version of an item.
-
Citations
19 Claims
-
1. A method for synchronizing a device with data sources and allowing cross-pollination of the data sources, comprising:
-
creating a first data source and a second data source; automatically determining items to synchronize between the first data source, the second data source and the device;
wherein the first data source, the second data source and the device are user devices that are associated with a particular user;
wherein the items comprise user created items;
wherein the device is configured to determine a version of each item on the first data source and the second data source and synchronize each of the first data source and the second data source to a latest version of each item;connecting the device to the first data source; synchronizing the device with the first source such that the device and the first source each include a same version of the items after the synchronizing; connecting the device to the second source; synchronizing the device with the second source, wherein the device is used to cross-pollinate between the first data source and the second data source such that the first data source, the second data source and the device each include the same version of the items after the synchronizing and cross-pollinating; and performing a duplicate detection check to determine when an item has already been synchronized. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-readable storage medium storing instructions when executed by a processor for cross-pollinating data sources, comprising:
-
creating a first data source to synchronize with a device and creating a second data source to synchronize with the device, wherein the first data source, the second data source and the device are devices utilized by a particular user; connecting the device to the first data source having first items to synchronize with the device; determining first items to synchronize between the first data source and the device;
wherein the first items comprise user created items;synchronizing the device with the first source such that the device and the first data source each include a same version of the first items after the synchronizing; after synchronizing the device with the first data source connecting the device to the second data source;
wherein the device is configured to determine a version of each item on the first data source and the second data source and synchronize each of the first data source and the second data source to a latest version of ach item;determining second items to synchronize between the second data source and the device;
wherein determining the first items to synchronize and determining the second items to synchronize include examining a SyncHash value that is calculated for each of the items and is stored with each of the items;
wherein the SyncHash value that is calculated for each item includes two levels of property level matching when the SyncHash value is calculated consisting of a primary keyset that is a set of fields that is defined as the primary properties that are compared to consider when an item is a duplicate and a second keyset that is a larger set of fields that is used to check for an existence of data in those properties that even if the primary keysets match between two items, the two items are not duplicates of one another;synchronizing the device with the second source such that the device and the second data source each include a same version of the second items after the synchronizing;
wherein each the second data source includes updates to the first items that were synchronized between the device and the first data source;
wherein the second items that are synchronized with the device are synchronized with the first device when the device is synchronized again with the fist data source; andperforming a duplicate detection check to determine when an item has already been synchronized. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A system having a processor for cross-pollinating data sources, comprising:
-
at least two data sources including a first data source and a second data source that may cross-pollinate each other; and a device that is configured to act a shuttle between the at least two data sources to cross-pollinate, and that is configured to synchronize with the at least two data sources such that after synchronizing and cross-pollinating, the device and the at least two data sources include a same version of items that were selected to be synchronized;
wherein the data sources and the device are user devices that are associated with a particular user;
wherein the items comprise user created items;
wherein the device is configured to determine a version of each item on the data sources and synchronize each of the data sources to a latest version of each item;
wherein the device is first synchronized with the first data source such that the device and the first source each include a same version of the items after the synchronizing;
after synchronizing the device with the first data source, synchronizing the device with the second source, such that the first data source, the second data source and the device each include the same version of the items after the synchronizing; and
during the synchronization of the first data source and the second data source performing a duplicate detection check to determine when an item has already been synchronized. - View Dependent Claims (16, 17, 18, 19)
-
Specification