Systems and methods for providing relational and hierarchical synchronization services for units of information manageable by a hardware/software interface system
First Claim
1. A method for synchronizing a plurality of instances for a data platform, including without limitation a replica or a data source with or without an adapter, and said plurality of instances comprising a sync community, said method comprising:
- uniquely enumerating changes in sequence (e.g., increasing numbers) on an instance by instance basis (a change number);
maintaining a vector for each instance, said vector comprising a most recent change number for said instance, as well as a most recent known change number for each other instances from among said plurality of instances that are known to said instance (each a known instance), wherein said vector (comprising change numbers for each known instance) inherently represents all changes that have been made to said instance.
4 Assignments
0 Petitions
Accused Products
Abstract
Several embodiments of the present invention comprise a storage platform that provides a synchronization service that (i) allows multiple instances of the storage platform (each with its own data store) to synchronize parts of their content according to a flexible set of rules, and (ii) provides an infrastructure for third parties to synchronize the data store of the storage platform of the present invention with with other data sources that implement proprietary protocols. However, it is possible that a conflict might arise in a number of synchronization scenarios. For example, A1 and B2 may have been changes made to the same change unit, or A1 might be a deletion to the same change unit that B2 was modifying. While some of these conflicts can be resolved using the conflict resolution options discussed ealier herein, certain conflicts provide particularly difficult challenges, and these challenges and their solutions are discussed herein.
114 Citations
30 Claims
-
1. A method for synchronizing a plurality of instances for a data platform, including without limitation a replica or a data source with or without an adapter, and said plurality of instances comprising a sync community, said method comprising:
-
uniquely enumerating changes in sequence (e.g., increasing numbers) on an instance by instance basis (a change number);
maintaining a vector for each instance, said vector comprising a most recent change number for said instance, as well as a most recent known change number for each other instances from among said plurality of instances that are known to said instance (each a known instance), wherein said vector (comprising change numbers for each known instance) inherently represents all changes that have been made to said instance. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for synchronizing a plurality of instances for a data platform, including without limitation a replica or a data source with or without an adapter, and said plurality of instances comprising a sync community, said system comprising:
-
a subsystem for uniquely enumerating changes in sequence (e.g., increasing numbers) on an instance by instance basis (a change number);
a subsystem for maintaining a vector for each instance, said vector comprising a most recent change number for said instance, as well as a most recent known change number for each other instances from among said plurality of instances that are known to said instance (each a known instance), wherein said vector (comprising change numbers for each known instance) inherently represents all changes that have been made to said instance. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer-readable medium comprising computer-readable instructions for synchronizing a plurality of instances for a data platform, including without limitation a replica or a data source with or without an adapter, and said plurality of instances comprising a sync community, said computer-readable instructions comprising instructions for:
-
uniquely enumerating changes in sequence (e.g., increasing numbers) on an instance by instance basis (a change number);
maintaining a vector for each instance, said vector comprising a most recent change number for said instance, as well as a most recent known change number for each other instances from among said plurality of instances that are known to said instance (each a known instance), wherein said vector (comprising change numbers for each known instance) inherently represents all changes that have been made to said instance. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification