Synchronizing multiple hierarchal data structures
First Claim
1. A method comprising:
- retrieving a controlling tree structure and at least one other tree structure, wherein said controlling tree structure and said at least one other tree structure represent hierarchical organizations of synchronized data repositories;
traversing said controlling tree structure to identify each data node of said controlling tree structure;
for said each data node, searching said at least one other tree structure for a corresponding data node having a corresponding hierarchy in said at least one other tree structure;
responsive to finding said corresponding data node with said corresponding hierarchy, writing said each data node, said corresponding data node, and said corresponding hierarchy to a merged tree data structure;
responsive to finding said corresponding data node without said corresponding hierarchy, writing said corresponding data node and an unmatched hierarchy of said corresponding data node to a temporary tree data structure; and
generating a synchronization interface for display by combining said merged tree data structure and said temporary tree data structure, wherein said synchronization interface visually compares said controlling tree structure and said at least one other tree structure.
2 Assignments
0 Petitions
Accused Products
Abstract
Synchronization between multiple data repositories is described which retrieves tree structures that represent the hierarchical organization of the data repositories that will be or are synchronized. One of tree structures is parsed for data nodes, while the other tree structures are parsed for each such data node to find matching data nodes having corresponding hierarchies. Moved nodes are identified when a matching node is found that does not have the same hierarchy in its tree structure. Similarly, deleted nodes are identified when a node is found with no match in a controlling tree structure. Data structure lists are compiled noting matching relationships and hierarchies and also noting moved and deleted nodes and their relationships with the rest of the formerly corresponding nodes. Using these data structure lists, a synchronization interface is generated for display to a user that visually compares the synchronization of the multiple data repositories.
96 Citations
21 Claims
-
1. A method comprising:
-
retrieving a controlling tree structure and at least one other tree structure, wherein said controlling tree structure and said at least one other tree structure represent hierarchical organizations of synchronized data repositories; traversing said controlling tree structure to identify each data node of said controlling tree structure; for said each data node, searching said at least one other tree structure for a corresponding data node having a corresponding hierarchy in said at least one other tree structure; responsive to finding said corresponding data node with said corresponding hierarchy, writing said each data node, said corresponding data node, and said corresponding hierarchy to a merged tree data structure; responsive to finding said corresponding data node without said corresponding hierarchy, writing said corresponding data node and an unmatched hierarchy of said corresponding data node to a temporary tree data structure; and generating a synchronization interface for display by combining said merged tree data structure and said temporary tree data structure, wherein said synchronization interface visually compares said controlling tree structure and said at least one other tree structure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A synchronization system comprising:
-
a processor; memory configured to operate with said processor; a visual display configured to operate with said processor; and a synchronization application stored on said memory and executable by said processor, wherein said synchronization application comprises; a data interface component configured to communicate with two or more data repositories; a mapping component configured to traverse two or more tree structures representing said two or more data repositories, wherein said mapping component traverses a plurality of data nodes of said two or more tree structures; responsive to finding matching ones of said plurality of data nodes across said two or more tree structures, writing said matching ones to a merged tree data structure; responsive to finding unmatching ones of said plurality of data nodes across said two or more tree structures, writing said unmatching ones to a temporary tree data structure; and a synchronization interface component configured to generate a synchronization interface for display on said visual display based at least in part on said merged tree data structure and said temporary tree data structure, wherein said synchronization interface provides a visual comparison of said plurality of nodes of said two or more tree structures. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A non-transitory computer readable medium comprising program code, the program comprising:
-
program code for retrieving a controlling tree structure and at least one other tree structure, wherein said controlling tree structure and said at least one other tree structure represent hierarchical organizations of synchronized data repositories; program code for traversing said controlling tree structure to identify each data node of said controlling tree structure; program code, executable for said each data node, for searching said at least one other tree structure for a corresponding data node having a corresponding hierarchy in said at least one other tree structure; program code, executable responsive to finding said corresponding data node with said corresponding hierarchy, for writing said each data node, said corresponding data node, and said corresponding hierarchy to a merged tree data structure; program code, executable responsive to finding said corresponding data node without said corresponding hierarchy, for writing said corresponding data node and an unmatched hierarchy of said corresponding data node to a temporary tree data structure; and program code for generating a synchronization interface for display by combining said merged tree data structure and said temporary tree data structure, wherein said synchronization interface visually compares said controlling tree structure and said at least one other tree structure. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21)
-
Specification