摘要:
A data store in which changes are not tracked is synchronized with a data store in which changes are tracked utilizing a shadow store. The shadow store contains shadow data indicative of the most recent synchronization operation between the data stores. The shadow data comprises hash values of the data items in the limited or non-change-tracked data store. Changes to data items in the limited or non-change-tracked data store are operated on to provide respective hash values. The hash values are compared with the hash values in the shadow data. If the hash values differ, changes are appropriately applied to the data store, and the shadow data is appropriately updated. In an example embodiment, hash values are obtained from one-way hash functions, such MD5, SHA-1, SHA-256, or the like.
摘要:
A data store in which changes are not tracked is synchronized with a data store in which changes are tracked utilizing a shadow store. The shadow store contains shadow data indicative of the most recent synchronization operation between the data stores. The shadow data comprises hash values of the data items in the limited or non-change-tracked data store. Changes to data items in the limited or non-change-tracked data store are operated on to provide respective hash values. The hash values are compared with the hash values in the shadow data. If the hash values differ, changes are appropriately applied to the data store, and the shadow data is appropriately updated. In an example embodiment, hash values are obtained from one-way hash functions, such MD5, SHA-1, SHA-256, or the like.
摘要:
Conflicts detected during synchronization of replicas are enumerated and resolved according to a specified policy, comprising conditions and actions or simply a specified action. Specified actions may be drawn from a set of standard actions and custom actions may also be composed. The conflicts are enumerated and resolved in logical groups. A logical group is a collection of one or more item envelopes, each comprising entities, such as items, links, and/or extensions. In an example configuration, both constraint-based conflicts, such as a name collision, and non-constraint-based conflicts are handled via the same application programming interface.
摘要:
Conflicts detected during synchronization of replicas are enumerated and resolved according to a specified policy, comprising conditions and actions or simply a specified action. Specified actions may be drawn from a set of standard actions and custom actions may also be composed. The conflicts are enumerated and resolved in logical groups. A logical group is a collection of one or more item envelopes, each comprising entities, such as items, links, and/or extensions. In an example configuration, both constraint-based conflicts, such as a name collision, and non-constraint-based conflicts are handled via the same application programming interface.
摘要:
Mechanisms are provided for identity mapping in synchronization systems. For example, entities can be mapped across various entity stores, such that an entity in one store can be identified with an entity in another store even if such entities are of different types. When entities are being synchronized across various entity stores, new or updated entity identities (and associated metadata) can be supplied to these stores as part of the same operation as that used for supplying changes during synchronization: entities can be merged and associated identity information and metadata can be changed accordingly; entities can be resurrected and new identity information can be created; metadata can be utilized even though entities are deleted, and so on.
摘要:
Mechanisms are provided for identity mapping in synchronization systems. For example, entities can be mapped across various entity stores, such that an entity in one store can be identified with an entity in another store even if such entities are of different types. When entities are being synchronized across various entity stores, new or updated entity identities (and associated metadata) can be supplied to these stores as part of the same operation as that used for supplying changes during synchronization: entities can be merged and associated identity information and metadata can be changed accordingly; entities can be resurrected and new identity information can be created; metadata can be utilized even though entities are deleted, and so on.
摘要:
Systems and methods that disclose alternative patterns for exchange of synchronization data and/or metadata, e.g., ‘knowledge’, to enhance performance of synchronization processes are disclosed. Accordingly, the innovation discloses synchronization mechanisms that employ exchange of data and metadata to alleviate a requirement of a complete ‘round-trip’ when synchronizing data. ‘Knowledge’ can be provided which informs a provider of data changes, modifications, additions or deletions. The ‘knowledge’ can lower expense and/or increase efficiencies of the synchronization exchanges by enabling informed decision-making related to enumerating changes within the synchronization processes.
摘要:
Systems and methods that disclose alternative patterns for exchange of synchronization data and/or metadata, e.g., ‘knowledge’, to enhance performance of synchronization processes are disclosed. Accordingly, the innovation discloses synchronization mechanisms that employ exchange of data and metadata to alleviate a requirement of a complete ‘round-trip’ when synchronizing data. ‘Knowledge’ can be provided which informs a provider of data changes, modifications, additions or deletions. The ‘knowledge’ can lower expense and/or increase efficiencies of the synchronization exchanges by enabling informed decision-making related to enumerating changes within the synchronization processes.
摘要:
Systems and methods are provided for the synchronization of off-line data with one or more cooperating computing environments. Illustratively, an exemplary synchronization environment comprises a synchronization engine, a data store, and an instruction set comprising at least one instruction to instruct the exemplary synchronization engine to coordinate the synchronization of data received by the exemplary synchronization engine from one or more cooperating data source endpoints. Illustratively, a request for synchronization and data to be synchronized can be received by the exemplary synchronization engine from one or more cooperating endpoints source endpoints. Responsive to the request for synchronization, the exemplary synchronization engine can apply a selected synchronization paradigm (e.g., knowledge based synchronization) to the received data to allow for the synchronization of data. that is, for example, stored on a cooperating data store.