Claims Analysis
Total Claims: 33
Claim 1
Independent Claim
232 words
A computer including a data storage device including a computer usable medium having computer usable code means for identifying data points that are similar to a query, the data points being stored in a database accessible by the computer, the computer usable code means having: computer readable code means for arranging the database in a tree structure having at least an internal node level including internal nodes, a leaf-parent node level including leaf-parent nodes, and a leaf level including leaves, each internal node and leaf-parent node representing clusters of data points, each cluster being defined by (1) a respective randomly selected representative data point and (2) respective dependent data points, the distance between each representative data point in a level and its dependent data points being less than the distance between the dependent data point and the respective representative data point of any other cluster in the level; computer readable code means for receiving a query Q and in response determining respective query distances between the query Q and at least some of the representative data points; computer readable code means for arranging the internal nodes of the respective at least some of the representative data points in a sequence from smallest query distance to greatest query distance; and computer readable code means for returning a subsequence having a predetermined number of internal nodes, starting with the first node in the sequence.
Claim 2
Dependent Claim
232 words
A computer including a data storage device including a computer usable medium having computer usable code means for identifying data points that are similar to a query, the data points being stored in a database accessible by the computer, the computer usable code means having: computer readable code means for arranging the database in a tree structure having at least an internal node level including internal nodes, a leaf-parent node level including leaf-parent nodes, and a leaf level including leaves, each internal node and leaf-parent node representing clusters of data points, each cluster being defined by (1) a respective randomly selected representative data point and (2) respective dependent data points, the distance between each representative data point in a level and its dependent data points being less than the distance between the dependent data point and the respective representative data point of any other cluster in the level; computer readable code means for receiving a query Q and in response determining respective query distances between the query Q and at least some of the representative data points; computer readable code means for arranging the internal nodes of the respective at least some of the representative data points in a sequence from smallest query distance to greatest query distance; and computer readable code means for returning a subsequence having a predetermined number of internal nodes, starting with the first node in the sequence.
Claim 3
Dependent Claim
99 words
The computer of claim 1, further comprising: computer readable code means for receiving the subsequence of internal nodes and, for each internal node in the subsequence of internal nodes, determining respective query distances between the query Q and each representative data point in each leaf-parent node of the internal node; computer readable code means for listing the leaf-parent nodes of each internal node in the subsequence of internal nodes in a sequence from smallest query distance to greatest query distance; and computer readable code means for returning a subsequence of leaf-parent nodes having a predetermined number of leaf-parent nodes.
Claim 4
Dependent Claim
84 words
The computer of claim 2, further comprising: computer readable code means for receiving the subsequence of leaf-parent nodes and, for each leaf in the subsequence of leaf-parent nodes, determining respective query distances between the query Q and each leaf; computer readable code means for arranging the leaves of each leaf-parent node in the subsequence of leaf-parent nodes in a leaf sequence from smallest query distance to greatest query distance; and computer readable code means for returning the first k leaves in the leaf sequence.
Claim 5
Dependent Claim
66 words
The computer of claim 3, further comprising computer readable code means for adding a data point to the database by adding a new leaf to the tree, the new leaf having, as a label, the data point, the new leaf being added to a leaf-parent node having a representative data point closer to the new leaf than the representative data points of the other leaf nodes.
Claim 6
Dependent Claim
23 words
The computer of claim 4, further comprising means for removing a data point in the database by deleting a leaf from the tree.
Claim 7
Dependent Claim
56 words
The computer of claim 3, further comprising computer readable code means for adding a data point to the database by adding a new leaf to the tree, the new leaf having, as a label, the data point, the new leaf being added to an auxiliary leaf-parent node, the auxiliary leaf-parent node being traversed for each query.
Claim 8
Dependent Claim
23 words
The computer of claim 5, further comprising means for removing a data point from the database by deleting a leaf from the tree.
Claim 9
Dependent Claim
106 words
A computer-implemented method for arranging data points in a database, comprising: defining a first level of nodes including internal nodes, each internal node being labeled by a representative data point, the representative data points being randomly selected; defining a second level of nodes including leaf-parent nodes, each leaf-parent node depending from an internal node, each leaf-parent node being labeled by a representative data point, each leaf-parent node including at least one leaf labeled by a data point, wherein the distance between a leaf and the label of its leaf-parent node is less than the distance between the leaf and the label of any other leaf-parent node.
Claim 10
Dependent Claim
106 words
A computer-implemented method for arranging data points in a database, comprising: defining a first level of nodes including internal nodes, each internal node being labeled by a representative data point, the representative data points being randomly selected; defining a second level of nodes including leaf-parent nodes, each leaf-parent node depending from an internal node, each leaf-parent node being labeled by a representative data point, each leaf-parent node including at least one leaf labeled by a data point, wherein the distance between a leaf and the label of its leaf-parent node is less than the distance between the leaf and the label of any other leaf-parent node.
Claim 11
Dependent Claim
66 words
The computer-implemented method of claim 8, further comprising: receiving a query Q and in response determining respective query distances between the query Q and each representative data point in each internal node; arranging the internal nodes in a sequence from smallest query distance to greatest query distance; and returning a subsequence having a predetermined number of internal nodes, starting with the first node in the sequence.
Claim 12
Dependent Claim
81 words
The computer-implemented method of claim 9, further comprising: receiving the subsequence of internal nodes and, for each internal node in the subsequence of internal nodes, determining respective query distances between the query Q and each representative data point in each leaf-parent node; arranging the leaf-parent nodes of each internal node in the subsequence of internal nodes in a sequence from smallest query distance to greatest query distance; and returning a subsequence of leaf-parent nodes having a predetermined number of leaf-parent nodes.
Claim 13
Dependent Claim
70 words
The computer-implemented method of claim 10, further comprising: receiving the subsequence of leaf-parent nodes and, for each leaf in the subsequence of leaf-parent nodes, determining respective query distances between the query Q and each leaf; arranging the leaves of each leaf-parent node in the subsequence of leaf-parent nodes in a leaf sequence from smallest query distance to greatest query distance; and returning the first k leaves in the leaf sequence.
Claim 14
Dependent Claim
62 words
The computer-implemented method of claim 11, further comprising adding a data point to the database by adding a new leaf to the tree, the new leaf having, as a label, the data point, the new leaf being added to a leaf-parent node having a representative data point closer to the new leaf than the representative data points of the other leaf nodes.
Claim 15
Dependent Claim
22 words
The computer-implemented method of claim 12, further comprising removing a data point from the database by deleting a leaf from the tree.
Claim 16
Dependent Claim
52 words
The computer-implemented method of claim 11, further comprising adding a data point to the database by adding a new leaf to the tree, the new leaf having, as a label, the data point, the new leaf being added to an auxiliary leaf-parent node, the auxiliary leaf-parent node being traversed for each query.
Claim 17
Dependent Claim
22 words
The computer-implemented method of claim 14, further comprising removing a data point from the database by deleting a leaf from the tree.
Claim 18
Dependent Claim
14 words
The computer-implemented method of claim 14, undertaken in combination with a digital processing apparatus.
Claim 19
Dependent Claim
128 words
A computer program device comprising: a computer program storage device readable by a digital processing apparatus; and a program means on the program storage device and including instructions for causing the digital processing apparatus to return "k" close matches in a database to a query Q, the database being arranged in a tree having nodes, each node being labeled by a respective representative data point, by: receiving a query Q and in response determining respective query distances between the query Q and each representative data point in a predetermined number of test nodes; arranging the test nodes in a sequence from smallest query distance to greatest query distance; and returning a subsequence having a predetermined number of test nodes, starting with the first test node in the sequence.
Claim 20
Dependent Claim
128 words
A computer program device comprising: a computer program storage device readable by a digital processing apparatus; and a program means on the program storage device and including instructions for causing the digital processing apparatus to return "k" close matches in a database to a query Q, the database being arranged in a tree having nodes, each node being labeled by a respective representative data point, by: receiving a query Q and in response determining respective query distances between the query Q and each representative data point in a predetermined number of test nodes; arranging the test nodes in a sequence from smallest query distance to greatest query distance; and returning a subsequence having a predetermined number of test nodes, starting with the first test node in the sequence.
Claim 21
Dependent Claim
158 words
The computer program device of claim 17, wherein the tree has at least an internal node level including internal nodes, a leaf-parent node level including leaf-parent nodes, and a leaf level including leaves, each internal node and leaf-parent node representing clusters of data points, each cluster being defined by (1) a respective randomly selected representative data point and (2) respective dependent data points, the test nodes being internal nodes and the subsequence being a subsequence of internal nodes, the instructions further causing the computer to: receive the subsequence of internal nodes and, for each internal node in the subsequence of internal nodes, determine respective query distances between the query Q and each representative data point in each leaf-parent node; arrange the leaf-parent nodes of each internal node in the subsequence of internal nodes in a sequence from smallest query distance to greatest query distance; and return a subsequence of leaf-parent nodes having a predetermined number of leaf-parent nodes.
Claim 22
Dependent Claim
77 words
The computer program device of claim 18, wherein the instructions further cause the computer to: receive the subsequence of leaf-parent nodes and, for each leaf in the subsequence of leaf-parent nodes, determine respective query distances between the query Q and each leaf; arrange the leaves of each leaf-parent node in the subsequence of leaf-parent nodes in a leaf sequence from smallest query distance to greatest query distance; and return the first k leaves in the leaf sequence.
Claim 23
Dependent Claim
69 words
The computer program device of claim 19, wherein the instructions further cause the computer to: add a data point to the database by adding a new leaf to the tree, the new leaf having, as a label, the data point, the new leaf being added to a leaf-parent node having a representative data point closer to the new leaf than the representative data points of the other leaf nodes.
Claim 24
Dependent Claim
59 words
The computer program device of claim 19, wherein the instructions further cause the computer to: add a data point to the database by adding a new leaf to the tree, the new leaf having, as a label, the data point, the new leaf being added to an auxiliary leaf-parent node, the auxiliary leaf-parent node being traversed for each query.
Claim 25
Dependent Claim
31 words
The computer program device of claim 20 or 21 wherein the instructions further cause the computer to remove a data point from the database by deleting a leaf from the tree.
Claim 26
Dependent Claim
14 words
The computer program device of claim 18, in combination with a digital processing apparatus.
Claim 27
Dependent Claim
146 words
A computer including a data storage device including a computer usable medium having computer usable code means for identifying data points that are similar to a query, the data points being stored in a database accessible by the computer, the computer usable code means having: computer readable code means for arranging the database in a tree structure having data nodes, each node containing clusters of data points, each cluster being defined by (1) a respective randomly selected representative data point and (2) respective dependent data points; computer readable code means for recording geometric information for each node; computer readable code means for receiving a query Q and in response listing the nodes in a sequence of increasing order of lower bounds, the lower bounds being determined based on the geometric information; and computer readable code means for returning the sequence of the nodes for searching thereof.
Claim 28
Dependent Claim
146 words
A computer including a data storage device including a computer usable medium having computer usable code means for identifying data points that are similar to a query, the data points being stored in a database accessible by the computer, the computer usable code means having: computer readable code means for arranging the database in a tree structure having data nodes, each node containing clusters of data points, each cluster being defined by (1) a respective randomly selected representative data point and (2) respective dependent data points; computer readable code means for recording geometric information for each node; computer readable code means for receiving a query Q and in response listing the nodes in a sequence of increasing order of lower bounds, the lower bounds being determined based on the geometric information; and computer readable code means for returning the sequence of the nodes for searching thereof.
Claim 29
Dependent Claim
55 words
The computer of claim 24, further comprising: computer readable code means for listing in the sequence of nodes only nodes having lower bounds less than a current upper bound between the query Q and a representative data point, the current upper bound being the greatest lower bound of a representative data point in the sequence.
Claim 30
Dependent Claim
78 words
The computer of claim 25, further comprising: computer readable code means for determining a distance between a first representative data point and a second representative data point by determining, for the first representative data point, a polyhedron cell, and determining a first maximum distance that a hyperplane containing the first and second representative data points can be moved, in a direction parallel to a line connecting the first and second representative data points while intersecting the polyhedron cell.
Claim 31
Dependent Claim
54 words
The computer of claim 26, further comprising: computer readable code means for determining an upper bound between the query Q and a representative data point by determining a maximum distance that a hyperplane containing the query Q and the representative data point can be moved in a predetermined direction without intersecting the polyhedron cell.
Claim 32
Dependent Claim
70 words
The computer of claim 25, further comprising: computer readable code means for determining a distance between a first representative data point and a second representative data point by determining a first maximum distance that a hyperplane containing the first and second representative data points can be moved in a direction parallel to a line connecting the first and second representative data points while intersecting at least one predetermined data point.
Claim 33
Dependent Claim
57 words
The computer of claim 28, further comprising: computer readable code means for determining an upper bound between the query Q and a representative data point by determining a maximum distance that a hyperplane containing the query Q and the representative data point can be moved in a predetermined direction without intersecting at least one predetermined data point.