Systems and methods for the utilization of metadata for synchronization optimization
First Claim
1. A method for synchronizing at least three computer systems comprising at least three peers where a first peer belongs to a first sync community but not a second sync community, and where a second peer belongs to said second sync community but not said first sync community, and where a third peer belongs to both said first sync community and said second sync community, said method comprising:
- migrating a change made by said first peer to said second peer via said third peer, wherein;
said first peer does not track changes made by said second peer and said second peer does not track changes made by said first peer; and
a global identifier of said first peer is given a first value associated with said change, and wherein said third peer creates a first copy of said change and a global identifier of said third peer is given said first value, and wherein said second peer creates a second copy of said change and a global identifier of said second peer is given a second value associated with said second copy and indicating that said change was introduced to said second peer from said third peer.
2 Assignments
0 Petitions
Accused Products
Abstract
Various embodiments of the present invention are directed to synchronization utilizing one or more optimizations through the utilization of metadata. For several embodiments of the present invention, one method for optimizing synchronization is to reduce the overhead required for said synchronization by having each peer only tracking changes for itself and other peers within its change community (or communities) (a.k.a., “Intra-Community-Only Change Tracking Optimization”). For certain embodiments of the present invention, another method for optimizing synchronization is to not create synchronization overhead until required. For numerous embodiments of the present invention, yet another method for optimizing synchronization is to minimize redundant use of a partner'"'"'s unique global ID—a large and cumbersome number—and to instead maintain a table that cross-references each partner (and its unique global ID) with a smaller and much less cumbersome partner key.
330 Citations
10 Claims
-
1. A method for synchronizing at least three computer systems comprising at least three peers where a first peer belongs to a first sync community but not a second sync community, and where a second peer belongs to said second sync community but not said first sync community, and where a third peer belongs to both said first sync community and said second sync community, said method comprising:
migrating a change made by said first peer to said second peer via said third peer, wherein; said first peer does not track changes made by said second peer and said second peer does not track changes made by said first peer; and a global identifier of said first peer is given a first value associated with said change, and wherein said third peer creates a first copy of said change and a global identifier of said third peer is given said first value, and wherein said second peer creates a second copy of said change and a global identifier of said second peer is given a second value associated with said second copy and indicating that said change was introduced to said second peer from said third peer. - View Dependent Claims (2, 3)
-
4. A system for synchronizing at least three computer systems comprising at least three peers where a first peer belongs to a first sync community but not a second sync community, and where a second peer belongs to said second sync community but not said first sync community, and where a third peer belongs to both said first sync community and said second sync community, said system comprising:
at least one subsystem for migrating a change made by said first peer to said second peer via said third peer, wherein; said first peer does not track changes made by said second peer and said second peer does not track changes made by said first peer; a global identifier of said first peer is given a first value associated with said change, and wherein said third peer creates a first copy of said change and a global identifier of said third peer is given said first value, and wherein said second peer creates a second copy of said change and a global identifier of said second peer is given a second value associated with said second copy and indicating that said change was introduced to said second peer from said third peer. - View Dependent Claims (5, 6)
-
7. A computer-readable storage medium having stored thereon computer-readable instructions for synchronizing at least three computer systems comprising at least three peers where a first peer belongs to a first sync community but not a second sync community, and where a second peer belongs to said second sync community but not said first sync community, and where a third peer belongs to both said first sync community and said second sync community, said stored computer-readable instructions, when executed by a computer, cause said computer to perform a process comprising:
migrating a change made by said first peer to said second peer via said third peer, wherein; said first peer does not track changes made by said second peer and said second peer does not track changes made by said first peer a global identifier of said first peer is given a first value associated with said change, and wherein said third peer creates a first copy of said change and a global identifier of said third peer is given said first value, and wherein said second peer creates a second copy of said change and a global identifier of said second peer is given a second value associated with said second copy and indicating that said change was introduced to said second peer from said third peer. - View Dependent Claims (8, 9)
-
10. A system for synchronizing at least three computer systems in at least two synchronization communities, said system comprising:
-
a first sync community and a second sync community; and a first peer, a second peer, and a third peer, wherein; said first peer belongs to said first sync community and does not belong to said second sync community, and wherein said first peer does not track changes made by said second peer; said second peer belongs to said second sync community and does not belong to said first sync community, and wherein said second peer does not track changes made by said first peer; said third peer belongs to said first sync community and said second sync community; and a change created by said first peer migrates to said second peer via said third peer, wherein; said first peer creates a change item associated with said change, wherein said change item is associated with a corresponding metadata item, and wherein a global identifier of said first peer is given a first value related to said change item and said metadata item; said third peer creates a first local copy of said change item and said metadata item, wherein a global identifier of said third peer is given said first value; and said second peer creates a second local copy of said change item and said metadata item, wherein a global identifier of said second peer is given a second value related to said second local copy of said change item and said metadata item, and wherein said second value indicates that said change was introduced to said second peer from said third peer.
-
Specification