Systems and methods for providing synchronization services for units of information manageable by a hardware/software interface system
First Claim
1. A storage platform system for a hardware/software interface system (e.g., WinFS), said storage system comprising:
- multiple instances of a storage platform;
a synchronization subsystem native to the hardware/software interface system that enable the system to synchronize the multiple instances of said storage platform.
2 Assignments
0 Petitions
Accused Products
Abstract
Several embodiments of the present invention employ synchronization adapters for synchronizing information between “WinFS” and non-“WinFS” data sources. Examples of adapters include an adapter that synchronizes address book information between a “WinFS” contacts folder and a non-WinFS mailbox. In these instances, adapter developers might use the “WinFS” synchronization core services API described herein for accessing services provided by the “WinFS” synchronization platform in order to develop schema transformation code between the “WinFS” schema and the non-“WinFS” data source schema. Additionally, the adapter developer provides protocol support for communicating changes with the non-“WinFS” data source. A synchronization adapter is invoked and controlled by using the synchronization controller API and reports progress and errors using this API.
304 Citations
30 Claims
-
1. A storage platform system for a hardware/software interface system (e.g., WinFS), said storage system comprising:
-
multiple instances of a storage platform;
a synchronization subsystem native to the hardware/software interface system that enable the system to synchronize the multiple instances of said storage platform. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for synchronizing multiple instances of a storage platform for a hardware/software interface systems (e.g., WinFS), said method comprising:
-
dividing said storage platform into basic units of granularity (e.g., change units);
sequentially enumerating changes and tracking said changes on a per change unit basis;
for each instance, tracking the state of changes for that instances, as well as the state of changes for a plurality of other known instances in the sync community (sync partners); and
for synchronization, identifying new changes by comparing the enumerated changes for a particular instance with the state of changes for that instance. - View Dependent Claims (10, 11, 12)
-
-
13. A method for synchronizing a replica with a data source (each a sync partner), wherein both said replica and said data source have change state information that is maintained by each synch partner, and wherein said data source (non-WinFS) uses an adapter to interface with a hardware/software interface system of said replica (WinFS), said method comprising:
-
said replica sending to said adapter an updated state information for said replica that, based on a last state information for said data source, reflect changes that have been made since the last synchronization as reflected in said last state information for said data source (“
new changes”
); and
said adapter, receiving said updated state information for said replica and said new changes, implementing as many changes to the data source as possible and tracking success or failure for each change on a change unit by change unit basis. - View Dependent Claims (14, 15)
-
- 16. A computer-readable medium comprising computer-readable instructions for a storage platform system on a hardware/software interface system (e.g., WinFS), said storage system comprising instructions for synchronizing a local instance from among multiple instances of a storage platform.
-
24. A computer-readable medium comprising computer-readable instructions for synchronizing multiple instances of a storage platform for a hardware/software interface systems (e.g., WinFS), said computer-readable instructions comprising instructions for:
-
dividing said storage platform into basic units of granularity (e.g., change units);
sequentially enumerating changes and tracking said changes on a per change unit basis;
for each instance, tracking the state of changes for that instances, as well as the state of changes for a plurality of other known instances in the sync community (sync partners); and
for synchronization, identifying new changes by comparing the enumerated changes for a particular instance with the state of changes for that instance. - View Dependent Claims (25, 26, 27)
-
-
28. A computer-readable medium comprising computer readable instructions for synchronizing a replica with a data source (each a sync partner), wherein both said replica and said data source have change state information that is maintained by each synch partner, and wherein said data source (non-WinFS) uses an adapter to interface with a hardware/software interface system of said replica (WinFS), said computer-readable instructions comprising instructions for said replica to send to said adapter an updated state information for said replica that, based on a last state information for said data source, reflect changes that have been made since the last synchronization as reflected in said last state information for said data source (“
- new changes”
), such that said adapter, receiving said updated state information for said replica and said new changes, can implement as many changes to the data source as possible and track success or failure for each change on a change unit by change unit basis. - View Dependent Claims (29, 30)
- new changes”
Specification