Systems and methods for the utilization of metadata for synchronization optimization
First Claim
1. A method for synchronizing at least three computer systems (comprising a first peer, a second peer, and a third peer) in at least two synchronization communities (a first sync community and a second sync community) where said a first peer is a member of said first sync community but is not a member of said second sync community, and where said second peer is a member of said second sync community but is not is not a member of said first sync community, and where said third peer is a member of both said first sync community and said second sync community, said method comprising the utilization of an Intra-Community-Only Change Tracking Optimization such that said first peer in said first sync community does not track changes made by said second peer in said second sync community and said second peer in said second sync community does not track changes made by said first peer in said first sync community.
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.
287 Citations
39 Claims
- 1. A method for synchronizing at least three computer systems (comprising a first peer, a second peer, and a third peer) in at least two synchronization communities (a first sync community and a second sync community) where said a first peer is a member of said first sync community but is not a member of said second sync community, and where said second peer is a member of said second sync community but is not is not a member of said first sync community, and where said third peer is a member of both said first sync community and said second sync community, said method comprising the utilization of an Intra-Community-Only Change Tracking Optimization such that said first peer in said first sync community does not track changes made by said second peer in said second sync community and said second peer in said second sync community does not track changes made by said first peer in said first sync community.
- 4. A method for synchronizing at least two computer systems where changes are synchronized via change units and associated metadata, said method comprising the utilization of a Just-In-Time Sync-Overhead Optimization wherein said change units are created only after a corresponding entity is designated for synchronization.
- 7. A method for synchronizing a first computer system with a second computer system where changes from said first computer system are at least in part identified by a global identification number unique to said first computer system, said method comprising the utilization of a Partner Key Table Optomization whereby said second computer system utilizes a table to cross-references said first computer system'"'"'s global identification number with a partner key utilized by said second computer system to uniquely identify said first computer system.
- 10. A method for synchronizing at least two computer systems, said method comprising the utilization of a Multi-Level Change Tracking Optomization comprising at least a first level of tracked changes and a second level of tracked changes whereby conducting a single check for changes at a first level precludes the need for conducting at least two checks for changes at a second level.
- 14. A system for synchronizing at least three computer systems (comprising a first peer, a second peer, and a third peer) in at least two synchronization communities (a first sync community and a second sync community) where said a first peer is a member of said first sync community but is not a member of said second sync community, and where said second peer is a member of said second sync community but is not is not a member of said first sync community, and where said third peer is a member of both said first sync community and said second sync community, said system comprising at least one subsystem for the utilization of an Intra-Community-Only Change Tracking Optimization such that said first peer in said first sync community does not track changes made by said second peer in said second sync community and said second peer in said second sync community does not track changes made by said first peer in said first sync community.
- 17. A system for synchronizing at least two computer systems where changes are synchronized via change units and associated metadata, said system comprising at least one subsystem for the utilization of a Just-In-Time Sync-Overhead Optimization wherein said change units are created only after a corresponding entity is designated for synchronization.
- 20. A system for synchronizing a first computer system with a second computer system where changes from said first computer system are at least in part identified by a global identification number unique to said first computer system, said system comprising at least one subsystem for the utilization of a Partner Key Table Optomization whereby said second computer system utilizes a table to cross-references said first computer system'"'"'s global identification number with a partner key utilized by said second computer system to uniquely identify said first computer system.
- 23. A system for synchronizing at least two computer systems, said system comprising at least one subsystem for the utilization of a Multi-Level Change Tracking Optomization comprising at least a first level of tracked changes and a second level of tracked changes whereby conducting a single check for changes at a first level precludes the need for conducting at least two checks for changes at a second level.
- 27. A computer-readable medium comprising computer-readable instructions for synchronizing at least three computer systems (comprising a first peer, a second peer, and a third peer) in at least two synchronization communities (a first sync community and a second sync community) where said a first peer is a member of said first sync community but is not a member of said second sync community, and where said second peer is a member of said second sync community but is not is not a member of said first sync community, and where said third peer is a member of both said first sync community and said second sync community, said computer-readable instructions comprising instructions for an Intra-Community-Only Change Tracking Optimization such that said first peer in said first sync community does not track changes made by said second peer in said second sync community and said second peer in said second sync community does not track changes made by said first peer in said first sync community.
- 30. A computer-readable medium comprising computer-readable instructions for synchronizing at least two computer systems where changes are synchronized via change units and associated metadata, said computer-readable instructions comprising instructions for a Just-In-Time Sync-Overhead Optimization wherein said change units are created only after a corresponding entity is designated for synchronization.
- 33. A computer-readable medium comprising computer-readable instructions for synchronizing a first computer system with a second computer system where changes from said first computer system are at least in part identified by a global identification number unique to said first computer system, said computer-readable instructions comprising instructions for a Partner Key Table Optomization whereby said second computer system utilizes a table to cross-references said first computer system'"'"'s global identification number with a partner key utilized by said second computer system to uniquely identify said first computer system.
- 36. A computer-readable medium comprising computer-readable instructions for synchronizing at least two computer systems, said computer-readable instructions comprising instructions for the utilization of a Multi-Level Change Tracking Optomization comprising at least a first level of tracked changes and a second level of tracked changes whereby conducting a single check for changes at a first level precludes the need for conducting at least two checks for changes at a second level.
Specification