IP Library Granted Patent US 7,577,691
Granted Patent B2
US 7,577,691 · App. 11/498,594 · Granted Aug 18, 2009

Extending hierarchical synchronization scopes to non-hierarchical scenarios

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,577,691
App. No.
11/498,594
Granted
Aug 18, 2009
Kind
B2
Abstract

Extending hierarchical synchronization (sync) scopes to non-hierarchical scenarios may involve a method for synchronizing differently organized data stores comprising mapping different physical organizations to similar logical organizations and utilizing an organization-based synchronization algorithm to synchronize the differently organized stores. Also, the uniqueness constraints of the organizations may be preserved as well as the parent-child ordering constraints of the organizations.

Claims (44)

1. A method for synchronizing a pair of differently organized data stores comprising:

mapping different physical organizations to similar logical organizations;

utilizing an organization-based synchronization algorithm to synchronize the differently organized data stores; and

employing, by a processor, a corresponding pair of synchronization replicas to map the different physical organizations to similar logical organizations, wherein:

each data store of the pair of differently organized data stores has a respective synchronization replica of the corresponding pair of synchronization replicas associated therewith;

each synchronization replica of the corresponding pair of synchronization replicas defines a data set of items at each respective associated data store;

the defined data set of items takes part in synchronization operations between the associated data stores;

each synchronization replica also defines the different physical organization of the respective data set of items at the respective data store; and

the corresponding pair of synchronization replicas supply a context of a given replica within which synchronization services are carried out between the pair of differently organized data stores.

2. The method of claim 1 further comprising preserving uniqueness constraints of the physical organizations.

3. The method of claim 1 further comprising preserving parent-child ordering constraints of the physical organizations.

4. The method of claim 1 further comprising preserving tombstone propagation and conflict resolution properties of the synchronization algorithm.

5. The method of claim 1 wherein the mapping different physical organizations to similar logical organizations allows adding a data item to become part of a collection of data items that are kept in synchronization with each other by means of peer-to-peer synchronization operations without changing a location of where the data item is physically stored.

6. The method of claim 5 wherein the data items within the collection of data items are contained within a containment hierarchy.

7. The method of claim 6 further comprising contributing at least one data item to a container item in a root of the containment hierarchy.

8. A computer system comprising a processor for synchronizing a pair of differently organized data stores, the processor comprising:

means for mapping different physical organizations to similar logical organizations;

means for utilizing an organization-based synchronization algorithm to synchronize the differently organized data stores; and

means for employing a corresponding pair of synchronization replicas to map the different physical organizations to similar logical organizations, wherein:

each data store of the pair of differently organized data stores has a respective synchronization replica of the corresponding pair of synchronization replicas associated therewith;

each synchronization replica of the corresponding pair of synchronization replicas defines a data set of items at each respective associated data store;

the defined data set of items takes part in synchronization operations between the associated data stores;

each synchronization replica also defines the different physical organization of the respective data set of items at the respective data store; and

the corresponding pair of synchronization replicas supply a context of a given replica within which synchronization services are carried out between the pair of differently organized data stores.

9. The computer system of claim 8 further comprising means for preserving uniqueness constraints of the physical organizations.

10. The computer system of claim 8 further comprising means for preserving parent-child ordering constraints of the physical organizations.

11. The computer system of claim 8 further comprising means for preserving tombstone propagation and conflict resolution properties of the synchronization algorithm.

12. The computer system of claim 8 wherein the means for mapping different physical organizations to similar logical organizations allows adding a data item to become part of a collection of data items that are kept in synchronization with each other by means of peer-to-peer synchronization operations without changing a location of where the data item is physically stored.

13. The computer system of claim 12 wherein the data items within the collection of data items are contained within a containment hierarchy.

14. A computer readable storage medium having computer-executable instructions thereon for implementing a method for synchronizing a pair of differently organized data stores, the instructions for:

mapping different physical organizations to similar logical organizations;

utilizing an organization-based synchronization algorithm to synchronize the differently organized data stores; and

employing a corresponding pair of synchronization replicas to map the different physical organizations to similar logical organizations, wherein:

each data store of the pair of differently organized data stores has a respective synchronization replica of the corresponding pair of synchronization replicas associated therewith;

each synchronization replica of the corresponding pair of synchronization replicas defines a data set of items at each respective associated data store;

the defined data set of items takes part in synchronization operations between the associated data stores;

each synchronization replica also defines the different physical organization of the respective data set of items at the respective data store; and

the corresponding pair of synchronization replicas supply a context of a given replica within which synchronization services are carried out between the pair of differently organized data stores.

15. The computer readable storage medium of claim 14 further comprising computer-executable instructions thereon for preserving uniqueness constraints of the physical organizations.

16. The computer readable storage medium of claim 14 further comprising computer-executable instructions thereon for preserving parent-child ordering constraints of the physical organizations.

17. The computer readable storage medium of claim 14 further comprising computer-executable instructions thereon for preserving tombstone propagation and conflict resolution properties of the synchronization algorithm.

18. The computer readable storage medium of claim 14 wherein the computer-executable instructions thereon for mapping different physical organizations to similar logical organizations allows adding a data item to become part of a collection of data items that are kept in synchronization with each other by means of peer-to-peer synchronization operations without changing a location of where the data item is physically stored.

19. The computer readable storage medium of claim 18 wherein the data items within the collection of data items are contained within a containment hierarchy.

20. The computer readable storage medium of claim 19 further comprising computer-executable instructions thereon for contributing at least one data item to a container item in a root of the containment hierarchy.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2006
From: NOVIK, LEV; TERRY, DOUGLAS B.; HUDIS, IRENA; SARTOR, JEREMIE E.; ZHOU, SHAOYU; TALIUS, TOMAS; WU, YUNXIN; HE, JIN; SCURRELL, MARK
To: MICROSOFT CORPORATION
Reel/Frame 018243/0399 →