摘要:
Described is a system and method for replicating each of a set of resources to a subject computer in a replica set prior to making use of a resource in the set of resources. The set of resources includes resources that are dependent upon each other for a proper functioning of the group. A manifest file that identifies each resource in a group of interrelated resources is used. The manifest file is generated at one computer in the replica set (typically the computer at which a modification to one of the interrelated resources occurred). When the modification occurs to one of the set of resources, the manifest file is transmitted (e.g., itself replicated) to each computer in the replica set. The manifest file includes an indicator that identifies the manifest file as a special file. When received at another computer in the replica set, a service evaluates the manifest file to identify whether the appropriate versions of the identified resources exist at the receiving computer. If not, the service at that computer awaits the receipt of each resource. The wait period may include delaying the execution of an application associated with (or even included within) the manifest file from launching. Alternatively, the FRS could simply disallow access to one or more resources identified in the manifest file until all have arrived. When all have arrived, the FRS releases control of the identified resources, which may then operate or be accessed in the ordinary manner.
摘要:
Described is a system and method for replicating each of a set of resources to a subject computer in a replica set prior to making use of a resource in the set of resources. The set of resources includes resources that are dependent upon each other for a proper functioning of the group. A manifest file that identifies each resource in a group of interrelated resources is used. The manifest file is generated at one computer in the replica set (typically the computer at which a modification to one of the interrelated resources occurred). When the modification occurs to one of the set of resources, the manifest file is transmitted (e.g., itself replicated) to each computer in the replica set. The manifest file includes an indicator that identifies the manifest file as a special file. When received at another computer in the replica set, a service evaluates the manifest file to identify whether the appropriate versions of the identified resources exist at the receiving computer. If not, the service at that computer awaits the receipt of each resource. The wait period may include delaying the execution of an application associated with (or even included within) the manifest file from launching. Alternatively, the FRS could simply disallow access to one or more resources identified in the manifest file until all have arrived. When all have arrived, the FRS releases control of the identified resources, which may then operate or be accessed in the ordinary manner.
摘要:
Disclosed is a data synchronization service for use in a peer-to-peer computing environment. Selected data objects are copied onto selected computing devices. A service running on each device monitors data objects for changes. When a change is detected, the service sends a change notification to the other devices so that they can update their copies of the data object. A user can access a data object from any device, knowing that he will retrieve the latest version of the data object. Instead of incurring the costs of storing a large file on every device, a user “ghosts” the file on some devices. A ghosting device stores only metadata about the file rather than the entire file. The user accesses the file through the ghost: access requests are sent to a device that holds the actual contents, and those contents are presented to the user as if they were stored locally.
摘要:
Systems and methods that track changes in a database via a change tracking layer that enables separation of change tracking and change enumeration. Such an arrangement enables multiple change enumeration and sync technologies over a single change tracking layer, while reducing amount of tracking information that are maintained.
摘要:
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.
摘要:
Systems and methods that track changes in a database via a change tracking layer that enables separation of change tracking and change enumeration. Such an arrangement enables multiple change enumeration and sync technologies over a single change tracking layer, while reducing amount of tracking information that are maintained.
摘要:
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 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.
摘要:
Aspects of the subject matter described herein relate to initializing a database to be used for synchronization. In aspects, a peer in a synchronization topology creates a consistent copy of its database. Metadata associated with this copy is marked to distinguish changes made before the copy was created from changes made after the copy was created and also that the copy needs to be prepared before being used in synchronization. Any client may then download the copy and start immediately reading and modifying its downloaded copy. Before the client synchronizes its copy with other databases already in the synchronization topology, the downloaded copy is prepared for use in the topology using the markers.