Object synchronization between object stores on different computers
First Claim
1. A method of synchronizing objects between first and second object stores, comprising:
- maintaining a reference store containing identifying data segments corresponding respectively to a plurality of objects that are to be synchronized between the first and second object stores;
submitting a particular identifying data segment from the reference store to a first interface associated with an application program that maintains the first object store; and
querying a second interface associated with the application program to determine whether the object corresponding to said particular identifying data segment has been changed in the first object store.
2 Assignments
0 Petitions
Accused Products
Abstract
The invention includes a method of synchronizing objects between first and second object stores. A synchronization manager in accordance with the invention maintains a reference store containing identifying data segments corresponding respectively to a plurality of objects that have previously been synchronized between the first and second object stores. An application program that maintains the first object store has associated interfaces that allow the synchronization manager to compare and manipulate objects. One such interface allows the synchronization manager to submit an identifying data segment associated with a particular object. In response, this interface returns a handle that corresponds to the submitted identifying data segment. Another interface accepts a handle that refers to an identifying data segment, and determines if the object corresponding to the identifying data segment has been changed in the first object store since the last synchronization. If it has, the synchronization manager takes steps to update the second object store. If, on the other hand, the object has changed in the second object store, application program interfaces allow the synchronization manager to update the object in the first object store. Objects are transferred through the synchronization manager in an arbitrary, application-specific format that is not determined or understood by the synchronization manager itself.
-
Citations
35 Claims
-
1. A method of synchronizing objects between first and second object stores, comprising:
-
maintaining a reference store containing identifying data segments corresponding respectively to a plurality of objects that are to be synchronized between the first and second object stores; submitting a particular identifying data segment from the reference store to a first interface associated with an application program that maintains the first object store; and querying a second interface associated with the application program to determine whether the object corresponding to said particular identifying data segment has been changed in the first object store. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of synchronizing objects between first and second object stores, comprising:
-
maintaining a reference store containing identifying data segments corresponding respectively to a plurality of objects that have previously been synchronized between the first and second object stores; submitting a particular identifying data segment from the reference store to a first interface method associated with an application program that maintains the first object store; in response to submitting said particular identifying data segment from the reference store, receiving a handle that corresponds to said particular identifying data segment; and querying a second interface associated with the application program with the received handle to determine if the object corresponding to said particular identifying data segment has been changed in the first object store since the last synchronization. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. One or more computer-readable media comprising computer executable instructions that, when executed, direct a computing system to synchronize objects between first and second object stores, the instructions comprising:
-
maintaining a reference store containing identifying data segments corresponding respectively to a first group of objects; submitting the identifying data segments to a first interface associated with an application program that maintains the first object store, wherein the first object store includes a second group of objects that potentially includes at least some of the first group of objects; in response to submitting said identifying data segments, receiving a first list of handles, said handles corresponding respectively to the objects of the first group; querying a second interface associated with the application program for a second list of handles, said handles corresponding respectively to the objects of the second group; matching any handles of the first and second lists that correspond to the same object; and querying a third interface associated with the application program with matching handles from the first and second lists to determine if the object to which they correspond has been changed in the first object store. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A set of application program interfaces embodied on a computer-readable medium for execution on a computer in conjunction with an application program that maintains an object store, comprising:
-
a first interface that receives an identifying data segment and that returns a handle corresponding to the identifying data segment; a second interface that enumerates a list of handles corresponding respectively to objects in the object store and to identifying data segments from the respective objects; and a third interface that receives two handles and in response compares the identifying data segments corresponding to the handles and returns an indication of whether the handles represent an unchanged object. - View Dependent Claims (27, 28, 29)
-
-
30. A method for synchronizing objects between first and second object stores, wherein the second object store has objects that include properties not supported by the first object store, comprising:
-
sending an object from the second object store to an interface associated with an application program that maintains the first object store; storing at least some individual properties of the object in the first object store; returning data representing unsupported individual properties without storing them in the first object store; and storing the returned data in a reference store that is not implemented by the application program. - View Dependent Claims (31, 32)
-
-
33. A system for synchronizing objects between first and second object stores, wherein the second object store has objects that include properties not supported by the first object store, comprising:
-
a primary computer; an application program that executes on the primary computer to maintain the first object store; a synchronization manager that executes on the primary computer; the synchronization manager being configured to send an object from the second store to an interface associated with the application program; the application program and its interfaces being configured to store at least some individual properties of the object in the first object store and to return data representing unsupported individual properties to the synchronization manager without storing them in the first object store; and the synchronization manager being further configured to store the returned data in a reference store. - View Dependent Claims (34, 35)
-
Specification