Data synchronization

US9317518B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9317518-B2
Application numberUS-201213660643-A
CountryUS
Kind codeB2
Filing dateOct 25, 2012
Priority dateOct 25, 2012
Publication dateApr 19, 2016
Grant dateApr 19, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed: 1. 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. 2. The non-transitory machine-readable medium of claim 1 , wherein inserting the merged node includes relocating the merged node from the dependency graph to the queue when the node contains no parent dependency nodes before the merged node is subsequently reconciled with the target location. 3. The non-transitory machine-readable medium of claim 1 , wherein reconciling the merged node comprises verifying that the merged node is in the target location according to an operation type for a particular type of record of the merged node. 4. The non-transitory machine-readable medium of claim 1 , wherein reconciling the merged node comprises updating the merged node in the target location according to an operation type for a particular type of record of the merged node. 5. The non-transitory machine-readable medium of claim 1 , wherein reconciling the nodes comprises holding a primary key identification (ID) with the target location for each reconciled node comprising a child dependency node. 6. The non-transitory machine-readable medium of claim 5 , comprising updating all child dependency nodes with a real primary key ID of the corresponding reconciled node. 7. The method of claim 1 , wherein reconciling the merged node and child node with the first and the second corresponding nodes of the target location comprises verifying the merged node and child node are already in the target location. 8. The non-transitory machine-readable medium of claim 1 , wherein reconciling the notes includes marking as failed a node that comprises a parent dependency node that failed to be reconciled. 9. 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. 10. The method of claim 9 , wherein the dependency reference for each node comprises a number of parent dependency nodes and a number of child dependency nodes. 11. The method of claim 9 , wherein the number of dependencies comprises no parent dependency nodes. 12. The method of claim 9 , wherein a node in the queue is reconciled to the target location. 13. The method of claim 9 , wherein the source data tree structure is organized by at least one of value, alphabet, and usage. 14. 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. 15. The system of claim 14 , wherein reconciling the merged node and the child node comprises transferring the reconciled merged node and the reconciled child node to the target location. 16. The system of claim 14 , wherein reconciling the merged node and the child node comprises holding a primary key identification (ID) with the target location for each reconciled node comprising a child dependency node and updating all child dependency nodes with a real primary key identification of the corresponding reconciled node. 17. The system of claim 16 , wherein the updated node is inserted into a queue when filled with real primary key IDs that correspond to each of the parent dependency nodes of the updated node. 18. The system of claim 14 , wherein the nodes are repeatedly reconciled until all nodes are transferred to the target location. 19. The system of claim 14 , wherein the target location is a data structure different than the source data tree. 20. The system of claim 14 , wherein reconciling the merged node and the child node removed from the queue with the first and the second corresponding nodes of the target location comprises verifying that the first and the second corresponding nodes already in the target location are updated.

Assignees

Inventors

Classifications

  • Data format conversion from or to a database · CPC title

  • Details of file format conversion · CPC title

  • Details of conversion of file system types or formats · CPC title

  • De-duplication implemented within the file system, e.g. based on file segments (de-duplication techniques in storage systems for the management of data blocks G06F3/0641) · CPC title

  • Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9317518B2 cover?
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…
Who is the assignee on this patent?
Hewlett Packard Development Co, Hewlett Packard Entpr Dev Lp
What technology area does this patent fall under?
Primary CPC classification G06F16/1748. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 19 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).