PROCESSING A HIERARCHICAL STRUCTURE TO RESPOND TO A QUERY
First Claim
Patent Images
1. A method of processing a hierarchical structure to respond to a query, comprising:
- providing a hierarchical structure having a plurality of nodes of a plurality of node types;
receiving a query that defines a hierarchical query pattern defining hierarchical relationship between at least two query nodes;
simultaneously exploring said hierarchical structure in a bottom up manner by a plurality of threads to update a mapping data structure for each hierarchical structure node of said plurality of nodes that has the same node type as a corresponding query node of said at least two query nodes; and
simultaneously analyzing said mapping data structure by said plurality of threads to identify at least one portion of said hierarchical structure that matches said hierarchical query pattern;
wherein each said thread updates said mapping data structure for each ancestor node of said each hierarchical structure node according to a match between said each ancestor node and a corresponding parent node of said corresponding query node.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of processing of processing a hierarchical structure to respond to a query, comprising:
- a) Providing a hierarchical structure having a plurality of nodes of a plurality of node types.
- b) Receiving a query that defines a hierarchical query pattern defining hierarchical relationship between at least two query nodes.
- c) Simultaneously exploring the hierarchical structure in a bottom up manner by a plurality of threads to update a mapping data structure for each hierarchical structure node that has the same node type as a corresponding query node. Each thread updates the mapping data structure for each ancestor node of each node according to a match between each ancestor node and a corresponding parent node of the corresponding query node.
- d) Simultaneously analyzing the mapping data structure by the plurality of threads to identify at least one portion of the hierarchical structure that matches the hierarchical query pattern.
-
Citations
20 Claims
-
1. A method of processing a hierarchical structure to respond to a query, comprising:
-
providing a hierarchical structure having a plurality of nodes of a plurality of node types; receiving a query that defines a hierarchical query pattern defining hierarchical relationship between at least two query nodes; simultaneously exploring said hierarchical structure in a bottom up manner by a plurality of threads to update a mapping data structure for each hierarchical structure node of said plurality of nodes that has the same node type as a corresponding query node of said at least two query nodes; and simultaneously analyzing said mapping data structure by said plurality of threads to identify at least one portion of said hierarchical structure that matches said hierarchical query pattern; wherein each said thread updates said mapping data structure for each ancestor node of said each hierarchical structure node according to a match between said each ancestor node and a corresponding parent node of said corresponding query node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system of processing a hierarchical structure to respond to a query using a plurality of slave processors, comprising:
-
a storage which hosts a hierarchical structure having a plurality of nodes; a plurality of slave processors executing a plurality of threads; and a control processor which processes said hierarchical structure to respond to a query by instructing said plurality of threads to explore simultaneously said hierarchical structure and to update a mapping data structure to indicate which of said plurality of nodes has a node type and a set of ancestor nodes that are common with a respective node of said query and analyzing said updated mapping data structure to identify at least one portion of said hierarchical structure that matches with respect to at least one corresponding node of said query; wherein each of said plurality of threads is exploring and analyzing one of said plurality of nodes at a time. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A method of creating additional structural hierarchical information of a hierarchical structure with respect to a query, comprising:
-
constructing a plurality of node type arrays, each said node type array includes a plurality of node entries, each node entry is associated with a one of a plurality of nodes within a hierarchical structure having a common node type; and updating said node entries with node link information, said link information describes links of each of said plurality of nodes to ancestor nodes. - View Dependent Claims (18, 19, 20)
-
Specification