摘要:
Aspects of the subject matter described herein relate to replicating resources across machines participating in a replica set. In aspects, a downstream machine requests that an upstream machine notify the downstream machine when updates to resources of the replica set occur. When such updates occur, the upstream machine notifies the downstream machine. In response thereto, the downstream machine requests resource meta-data and may include a limit as to how much resource meta-data may be sent. The upstream machine responds with the requested resource meta-data. Thereafter, the downstream machine determines which data associated with the updated resources to request and requests such data.
摘要:
A synchronization framework is provided for synchronizing data groups between a server and clients that may go off-line. The framework includes a client sync provider component that interfaces to client storage in a storage format independent way, a sync agent component that collects synchronization metadata maintained by the clients and uploads and/or downloads changes to the data groups to and/or from server storage and a server sync provider component that interfaces via sync adapters to server storage independently of storage format. The framework provides default building blocks for building off-line synchronizing applications that behave according to default application synchronization scenarios, and also enables custom building blocks for custom off-line application synchronization scenarios.
摘要:
Described is a technology in which an anchor value is determined, for example to synchronize a destination database or data store with modifications made to a source database. The new anchor value is determined in a manner that excludes modifications corresponding to any uncommitted transactions. The new anchor value may be based on a counter value or a date and time value stored with each modification. The new anchor value may be determined by comparing a first set of committed modifications that do not include uncommitted modifications against a second set of modifications that includes committed modifications and uncommitted modifications. Alternatively, the new anchor value may be determined from the earliest start date and time among the modifications that are part of any uncommitted transactions. The anchor may be used (e.g., via queries) to enumerate modifications for synchronization, and also for detecting conflicts between the source and destination databases.
摘要:
Described is a technology in which an anchor value is determined, for example to synchronize a destination database or data store with modifications made to a source database. The new anchor value is determined in a manner that excludes modifications corresponding to any uncommitted transactions. The new anchor value may be based on a counter value or a date and time value stored with each modification. The new anchor value may be determined by comparing a first set of committed modifications that do not include uncommitted modifications against a second set of modifications that includes committed modifications and uncommitted modifications. Alternatively, the new anchor value may be determined from the earliest start date and time among the modifications that are part of any uncommitted transactions. The anchor may be used (e.g., via queries) to enumerate modifications for synchronization, and also for detecting conflicts between the source and destination databases.
摘要:
A synchronization framework is provided for synchronizing data groups between a server and clients that may go off-line. The framework includes a client sync provider component that interfaces to client storage in a storage format independent way, a sync agent component that collects synchronization metadata maintained by the clients and uploads and/or downloads changes to the data groups to and/or from server storage and a server sync provider component that interfaces via sync adapters to server storage independently of storage format. The framework provides default building blocks for building off-line synchronizing applications that behave according to default application synchronization scenarios, and also enables custom building blocks for custom off-line application synchronization scenarios.
摘要:
A transport agnostic synchronization protocol is provided for use in the context of loosely coupled clients. The synchronization protocol enables a stateless server freeing the server from maintaining synchronization state of ever scaling clients. A discoverability service is provided for clients to learn about different synchronization services for groups of data that the server provides such that the clients can choose or subscribe to synchronization groups of interest, and the protocol initializes the client with any schema of any data structures to which it subscribed that are unknown. Further, the protocol enables an extensible synchronization anchor model that carries an anchor type between client and server without requiring assumptions about client data structures allowing a wide spectrum of anchor data types and functionality.