摘要:
A protocol for replicating replicas in a sync community. Each replica maintains a knowledge that represents changes that the replica is aware of. Each replica does not typically maintain knowledge about other replicas. The protocol includes messages that include knowledge about changes on the various replicas. Using the knowledge, the replicas can enumerate changes and send the changes using asynchronous messages that do not need to be received in any particular order. The protocol enables filters to ensure that a valid replication is possible using a minimum knowledge argument. The protocol also enables replicas to partially replicate using filtered knowledge.
摘要:
Systems and methods for replicating replicas in a sync community. Each replica in the sync community stores knowledge that represents changes the replica is aware of. Because each replica has its own knowledge, each replica does not need to know how many replicas are in the sync community or the topology of the sync community. By sending the knowledge with a request for changes, a replicating replica can enumerate the changes to replicate by comparing its knowledge with the received knowledge. After replication, the knowledge is updated. Knowledge may also include made-with-knowledge change IDs that permit each resolution to identify what a replica was aware of when a particular change was made. The made-with-knowledge values are used to detect conflicts during replication.
摘要:
A system and method for synchronizing a database having metadata and raw data. Metadata may be fully synchronized between two systems, with copies stored on both systems. Raw data may be selectively synchronized, so that a client system need not store all of the raw data locally. When disconnected, the client system may identify certain portions of the raw data to store locally, and such data may be synchronized when reconnected to a server system.
摘要:
Update-delete conflicts detected during synchronization can be resolved in favor of the update or the deletion. Resolving the conflict in favor of the deletion results in the entity deleted on one replica being deleted on all selected replicas. Resolving the conflict in favor of the update results in the updated entity, which includes an entity moved from one hierarchy to another, being replicated on all selected replicas. To resolve the conflict in favor of the update, the deletion is treated as though it were reported erroneously. The deleted entity is resurrected in the form of the updated entity. Change version information is maintained in all replicas. Update-delete conflicts are resolvable in accordance with various resolution policies such as the update wins, deletion wins, changes occurring on a particular device wins, and most recent event wins, for example.
摘要:
A system and method for synchronizing a database comprising raw data and metadata derived from the raw data, but when the metadata has not yet been updated. The raw data and the metadata are first synchronized, with the raw data having been assigned a version number. After synchronization, any stale metadata will be updated and assigned the same version number as the raw data.
摘要:
Update-delete conflicts detected during synchronization can be resolved in favor of the update or the deletion. Resolving the conflict in favor of the deletion results in the entity deleted on one replica being deleted on all selected replicas. Resolving the conflict in favor of the update results in the updated entity, which includes an entity moved from one hierarchy to another, being replicated on all selected replicas. To resolve the conflict in favor of the update, the deletion is treated as though it were reported erroneously. The deleted entity is resurrected in the form of the updated entity. Change version information is maintained in all replicas. Update-delete conflicts are resolvable in accordance with various resolution policies such as the update wins, deletion wins, changes occurring on a particular device wins, and most recent event wins, for example.
摘要:
Systems, methods, and computer program products for synchronizing items at replicas within a topology is disclosed. Items are stored in physical tables at the replicas. The physical table layouts at each replica can differ but are mapped to a common logical view. When a replica receives an indication that synchronization should be performed, the replica determines if changes have been made at the replica that should be mapped to the logical views. Replicas can facilitate this by comparing local change enumerations for changes made in physical tables to synchronization local change enumerations for changes in the logical views. Any changes that need to be synchronized are sent through the logical views to other replicas in the topology.
摘要:
Systems and methods for synchronizing data stores. A framework including a sync runtime enables consistent and manageable synchronization between a data store and multiple, diverse back end data stores. The sync runtime provides services such as change enumeration, conflict detection, metadata management, item ID matching, sync interruptability, and the like that are accessible to configurable adapters over an application programming interface. Each synchronizing data store can uses a sync controller to initialize an adapter that can access the services provided by the sync runtime. The sync controller can use a profile to configure each adapter. The profile can identify conflict resolution policies, synchronization filters, source and destination folders, sync direction, and the like.
摘要:
Various embodiments of the present invention are directed to systems and method for detecting conflicts and applying conflict resolutions during manual and automatic conflict resolution operations. Several embodiments are directed to preventing both: (a) non-convergence of conflict resolutions, where partners can end up in a divergent steady state (i.e. have different data in the absence of outstanding conflicts); and (b) a non-terminating ping-pong of conflict resolutions between partners (which can occur with certain inefficient solutions that continuously update metadata for each conflict resolution without end). Certain specific embodiments of the present invention are directed to a method for maintaining knowledge that guarantees convergence of data, even when different partners apply different conflict resolutions.
摘要:
Extending hierarchical synchronization (sync) scopes to non-hierarchical scenarios may involve a method for synchronizing differently organized data stores comprising mapping different physical organizations to similar logical organizations and utilizing an organization-based synchronization algorithm to synchronize the differently organized stores. Also, the uniqueness constraints of the organizations may be preserved as well as the parent-child ordering constraints of the organizations.