Method for synchronizing data maintained at a plurality of nodes
First Claim
1. A method for synchronizing user data, comprising:
- maintaining user data at a plurality of user data objects;
assembling a source tree, the source tree including a source root node and one or more dependent source nodes, the nodes of the source tree associated with source user data maintained at the plurality of user data objects;
assembling a destination tree, the destination tree including a destination root node and one or more dependent destination nodes, the nodes of the destination tree associated with destination user data maintained at the plurality of user data objects;
performing one or more checksum calculations for the nodes of the source tree and the destination tree based on the associated source user data and the associated destination user data maintained at the plurality of user data objects respectively; and
synchronizing the destination tree and the destination user data with the source tree and source user data based on the comparison of the one or more checksum calculations of corresponding nodes in the source tree and the destination tree respectively by traversing the nodes of the source tree using an optimization algorithm to identify the nodes of the destination tree likely to be missing and/or have mismatching checksum values relative to the corresponding nodes of the source tree,wherein missing nodes or nodes having mismatching checksums value(s) in the destination tree are added or modified to match the corresponding node or nodes in the source tree.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for synchronizing data maintained at a plurality of data objects. The method involves assembling source and destination trees, each of the source and destination trees including a root node and one or more dependent nodes associated with source and destination data maintained at the plurality of data objects respectively. After the trees are assembled, a checksum calculation is performed for the nodes of the source tree and the destination tree based on the associated source data and the associated destination data maintained at the plurality of data objects respectively. The destination tree and the destination data are synchronized with the source tree and source data based on the comparison of the checksum calculations of corresponding nodes in the source tree and the destination tree. Missing nodes or nodes having mismatching checksums in the destination tree are identified and either added or modified to match the corresponding node or nodes in the source tree, while the data in the source data objects are fetched and copied by the destination data object corresponding to the added and/or modified nodes in the destination tree.
-
Citations
56 Claims
-
1. A method for synchronizing user data, comprising:
-
maintaining user data at a plurality of user data objects; assembling a source tree, the source tree including a source root node and one or more dependent source nodes, the nodes of the source tree associated with source user data maintained at the plurality of user data objects; assembling a destination tree, the destination tree including a destination root node and one or more dependent destination nodes, the nodes of the destination tree associated with destination user data maintained at the plurality of user data objects; performing one or more checksum calculations for the nodes of the source tree and the destination tree based on the associated source user data and the associated destination user data maintained at the plurality of user data objects respectively; and synchronizing the destination tree and the destination user data with the source tree and source user data based on the comparison of the one or more checksum calculations of corresponding nodes in the source tree and the destination tree respectively by traversing the nodes of the source tree using an optimization algorithm to identify the nodes of the destination tree likely to be missing and/or have mismatching checksum values relative to the corresponding nodes of the source tree, wherein missing nodes or nodes having mismatching checksums value(s) in the destination tree are added or modified to match the corresponding node or nodes in the source tree. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A system for synchronizing user data, the system configured to:
-
maintain user data at a plurality of user data objects; assemble a source tree, the source tree including a source root node and one or more dependent source nodes, the nodes of the source tree associated with source user data maintained at the plurality of user data objects; assemble a destination tree, the destination tree including a destination root node and one or more dependent destination nodes, the nodes of the destination tree associated with destination user data maintained at the plurality of user data objects; perform one or more checksum calculations for the nodes of the source tree and the destination tree based on the associated source user data and the associated destination user data maintained at the plurality of user data objects respectively; and synchronize the destination tree and the destination user data with the source tree and source user data based on the comparison of the one or more checksum calculations of corresponding nodes in the source tree and the destination tree respectively by traversing the nodes of the source tree using an optimization algorithm to identify the nodes of the destination tree likely to be missing and/or have mismatching checksum values relative to the corresponding nodes of the source tree, wherein missing nodes or nodes having mismatching checksums value(s) in the destination tree are added or modified to match the corresponding node or nodes in the source tree. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56)
-
Specification