System and method for storing and accessing data in an interlocking trees datastore
First Claim
1. A computer processing system for generating a tree-based datastore within the data storage of a computing processing system comprising:
- a processor;
a memory coupled to the processor; and
a tree-based datastore generator for creating at least one level of trees of a tree-based datastore, the at least one level of the tree-based datastore comprising a first tree comprising a first root and at least one node of a plurality of nodes, a second tree comprising a second root and the at least one node of the first tree and at least a third tree comprising a third root and at least one of the plurality of nodes of the first tree;
wherein the interlocking trees datastore comprising a plurality of nodes, and a K node of the plurality of nodes comprises a Case pointer and a Result pointer, said Case pointer and said Result pointer pointing to two nodes from which the K node is formed, the K node also comprising pointers to an asCase array and an asResult array, the asCase array comprising pointers to nodes whose Case pointers point to said K node and wherein the asResult array comprises pointers to nodes whose Result pointers point to said K node.
10 Assignments
0 Petitions
Accused Products
Abstract
A tree-based datastore comprising a forest of interconnected trees is generated and/or accessed. The tree-based datastore comprises a first tree that depends from a first root node and may include a plurality of branches. Each of the branches of the first tree ends in a leaf node. Each leaf node may represent an end product, as described more fully below. A second root of the same tree-based datastore is linked to each leaf node representing an end product. Hence, the second root is essentially a root to an inverted order of the first tree, but the first tree is not duplicated. Finally, the tree-based datastore comprises a plurality of trees in which the root node of each of these trees is an elemental node, as described more fully below. The root node of each of these trees may be linked to one or more nodes in one or more branches of the first tree. The nodes of the tree-based datastore contain only pointers to other nodes in the tree-based datastore. The roots of the trees in the forest of trees comprising the tree-based datastore may be linked to data.
112 Citations
29 Claims
-
1. A computer processing system for generating a tree-based datastore within the data storage of a computing processing system comprising:
-
a processor; a memory coupled to the processor; and a tree-based datastore generator for creating at least one level of trees of a tree-based datastore, the at least one level of the tree-based datastore comprising a first tree comprising a first root and at least one node of a plurality of nodes, a second tree comprising a second root and the at least one node of the first tree and at least a third tree comprising a third root and at least one of the plurality of nodes of the first tree; wherein the interlocking trees datastore comprising a plurality of nodes, and a K node of the plurality of nodes comprises a Case pointer and a Result pointer, said Case pointer and said Result pointer pointing to two nodes from which the K node is formed, the K node also comprising pointers to an asCase array and an asResult array, the asCase array comprising pointers to nodes whose Case pointers point to said K node and wherein the asResult array comprises pointers to nodes whose Result pointers point to said K node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer processing system for generating an interlocking trees datastore within the data storage of a computing processing system, the computer processing system comprising:
-
a processor; a memory coupled to the processor; and root nodes and non-root nodes organized into a plurality of connected trees, the plurality of connected trees comprising a tree of a first type comprising a first root and at least one of a plurality of non-root nodes and at least one of a plurality of trees of a second type; wherein the second tree type comprises a second root node and a plurality of non-root nodes common with the nodes of the tree of the first type; and the interlocking trees datastore comprising a plurality of nodes, and a K node of the plurality of nodes comprises a Case pointer and a Result pointer, said Case pointer and said Result pointer pointing to two nodes from which the K node is formed, the K node also comprising pointers to an asCase array and an asResult array, the asCase array comprising pointers to nodes whose Case pointers point to said K node and wherein the asResult array comprises pointers to nodes whose Result pointers point to said K node. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A computer implemented method executing programmable instructions within a computing system for generating and accessing data from a datastore within data storage of the computing system, the method comprising:
-
in response to receiving data, creating at least one level of trees of an interlocking tree-based datastore, the at least one level of the interlocking tree-based datastore comprising a first tree comprising a first root and at least one node of a plurality of nodes, a second tree comprising a second root and the at least one node of the first tree and at least a third tree comprising a third root and at least one of the plurality of nodes of the first tree; receiving an information request for information accessible from the at least one level of the tree-based datastore; and retrieving the information from the at least one level of the tree-based datastore; wherein the interlocking trees datastore comprising a plurality of nodes, and a K node of the plurality of nodes comprises a Case pointer and a Result pointer, said Case pointer and said Result pointer pointing to two nodes from which the K node is formed, the K node also comprising pointers to an asCase array and an asResult array, the asCase array comprising pointers to nodes whose Case pointers point to said K node and wherein the asResult array comprises pointers to nodes whose Result pointers point to said K node. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26)
-
-
27. A computer implemented method executing programmable instructions stored in a computer storage media for generating and accessing data from a datastore within data storage of the computing system, the method comprising:
-
in response to receiving a request for information from a datastore, the information request comprising at least one constraint, the datastore comprising at least one level of trees of a tree-based datastore, the at least one level of the tree-based datastore comprising a first tree comprising a first root and at least one node of a plurality of nodes, a second tree comprising a second root and the at least one node of the first tree and at least a third tree comprising a third root and at least one of the plurality of nodes of the first tree; retrieving a list of nodes associated with the third root, each node in the list of nodes comprising a first portion and a second portion, wherein the third root comprises the at least one constraint; and following the branch of each node in the first tree to the at least one node of the second tree; wherein the interlocking trees datastore comprising a plurality of nodes, and a K node of the plurality of nodes comprises a Case pointer and a Result pointer, said Case pointer and said Result pointer pointing to two nodes from which the K node is formed, the K node also comprising pointers to an asCase array and an asResult array, the asCase array comprising pointers to nodes whose Case pointers point to said K node and wherein the asResult array comprises pointers to nodes whose Result pointers point to said K node. - View Dependent Claims (28)
-
-
29. A computer-readable medium comprising computer-executable instructions for generating an interlocking tree database, including instructions for:
-
in response to receiving data to be added to the tree-based datastore, creating a new node in the tree-based datastore for storing information associated with the received data, the tree-based datastore comprising a first tree comprising a first root and at least one node of a plurality of nodes, a second tree comprising a second root and the at least one node of the first tree and at least a third tree comprising a third root and at least one of the plurality of nodes of the first tree; creating links from the new node to a first node comprising a first portion of the new node and a second node comprising a second portion of the new node; adding a link back to the new node to a first list of pointers of the first node; and adding a link back to the new node to a second list of pointers of the second node wherein the interlocking trees datastore comprising a plurality of nodes, and a K node of the plurality of nodes comprises a Case pointer and a Result pointer, said Case pointer and said Result pointer pointing to two nodes from which the K node is formed, the K node also comprising pointers to an asCase array and an asResult array, the asCase array comprising pointers to nodes whose Case pointers point to said K node and wherein the asResult array comprises pointers to nodes whose Result pointers point to said K node.
-
Specification