Data synchronization
AssigneeHewlett Packard Enterprise Development LP
InventorsGil Tzadikevitch, Nimrod Nahum, Ben Cohen
Life of this patent
Estimating the term…
Abstract
An example of synchronizing data can include converting a data tree structure into a dependency graph and reconciling nodes with a target data structure. Synchronizing data can include merging any duplicate information. Furthermore, synchronizing data can include keeping identifiers of reconciled information with non-reconciled information to locate the reconciled information when the remaining information is reconciled.
Claims20
A non-transitory machine-readable medium storing a set of instructions executable by a processor to cause a computer to:
- convert a source data tree structure into a dependency graph that comprises a dependency reference for each of a plurality of nodes of the dependency graph, wherein the dependency reference for each node comprises a number of parent dependency nodes and a number of child dependency nodes;
- merge duplicate nodes in the dependency graph together into a merged node;
- update the dependency graph based on the merge;
- insert the merged node into a queue;
- insert a child node of the merged node into the queue;
- and
- reconcile the merged node in the queue with a first corresponding node of a target location based on the dependency reference of the merged node, and after the merged node is reconciled, reconcile the child node with a second corresponding node of the target location based on the dependency reference of the child node.
A method for synchronizing data, comprising:
- utilizing a processor to execute instructions located on a non-transitory medium for:
- converting a source data tree structure into a dependency graph that comprises a dependency reference for each node of a plurality of nodes;
- placing a merged node of the plurality of nodes in a queue when the node has a number of dependencies;
- removing the merged node from the queue to be reconciled;
- reconciling the merged node in the dependency graph with a first corresponding node of a target location based on the dependency reference of the merged node;
- and
- after reconciling the merged node, reconciling a child node of the merged node in the dependency graph with a second corresponding node of the target location based on the dependency reference of the child node.
A system for synchronizing data, the system comprising a processing resource in communication with a non-transitory machine readable medium, wherein the non-transitory machine readable medium includes a set of instructions and wherein the processing resource is designed to carry out the set of instructions to:
- convert a source data tree structure into a dependency graph that comprises a dependency reference for each of a plurality of nodes, wherein the dependency reference for each node comprises a number of parent dependency nodes and a number of child dependency nodes;
- merge duplicate nodes in the dependency graph together into a merged node;
- update the dependency graph based on the merge;
- insert the merged node of the plurality of nodes in the dependency graph into a queue;
- insert a child node of the merged node in the dependency graph into the queue;
- remove the merged node and the child node out of the queue;
- and
- reconcile the merged node removed from the queue with a first corresponding node of a target location based on the dependency reference of the merged node, and after the merged node is reconciled, reconcile the child node with a second corresponding node of the target location based on the dependency reference of the child node.
Dependencies are inferred from the claim text.