Method and apparatus for storage and retrieval of information in compressed cubes
First Claim
Patent Images
1. A method of generating an index for a body of data, said method comprising:
- receiving a plurality of values associated with a plurality of respective attributes characterized by a plurality of respective hierarchies;
generating a plurality of entries in the index, the entries including a parent entry having a plurality of bounds associated respectively with the values and located at respective positions within the respective hierarchies;
determining a plurality of child positions, wherein one of the child positions is associated with one of the bounds of one of the parent entries and located at a first position in one of the respective hierarchies, and the one of the child positions is strictly included within the one of the bounds of the parent entry within the one of the respective hierarchies;
generating a plurality of child entries based on the parent entry, wherein one of the child entries includes a child bound that is located at a second position in one of the respective hierarchies and the child bound is strictly included within the one of the bounds within said one of the respective hierarchies; and
storing the one of the child positions in association with the parent entry and the one of the child entries.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and data structure is described that builds summary information using processor time that is usually proportional to the size of input data and a depth of hierarchies for a plurality of attributes. The output of computation is stored in a smaller area by eliminating redundant storage and computation. An index is generated which includes tuples or rows that include lower bound values for each of the attributes, values of children of the lower bound values based on the hierarchies of the attributes, and coverage class indicators of the coverage classes of the children.
76 Citations
36 Claims
-
1. A method of generating an index for a body of data, said method comprising:
-
receiving a plurality of values associated with a plurality of respective attributes characterized by a plurality of respective hierarchies;
generating a plurality of entries in the index, the entries including a parent entry having a plurality of bounds associated respectively with the values and located at respective positions within the respective hierarchies;
determining a plurality of child positions, wherein one of the child positions is associated with one of the bounds of one of the parent entries and located at a first position in one of the respective hierarchies, and the one of the child positions is strictly included within the one of the bounds of the parent entry within the one of the respective hierarchies;
generating a plurality of child entries based on the parent entry, wherein one of the child entries includes a child bound that is located at a second position in one of the respective hierarchies and the child bound is strictly included within the one of the bounds within said one of the respective hierarchies; and
storing the one of the child positions in association with the parent entry and the one of the child entries. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer-readable medium bearing an index for a body of data defined by a plurality of attributes, said attributes characterized by respective hierarchies, said index comprising:
-
a first indicator of a parent coverage class, wherein the parent coverage class specifies a plurality of parent bounds, each of the parent bounds located in one of the hierarchies characterizing the attributes;
a child position within one of the hierarchies for a corresponding one of the attributes, wherein the child position is strictly included in one of the parent bounds specified for the corresponding one of the attributes; and
a second indicator of a child coverage class, wherein the child coverage class specifies a plurality of child bounds, each of the child bounds located in one of the hierarchies characterizing the attributes. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23)
-
-
24. A method of searching for an item using an index for a body of data defined by a plurality of attributes, said attributes characterized by respective hierarchies, said method comprising:
-
comparing a value of the item in a first attribute with a first attribute lower bound value associated with a first node of the index; and
if the value of the item in the first attribute is lower in the hierarchy of the first attribute than the first attribute lower bound value associated with the first node of the index, performing the steps of;
determining whether a child value of the first attribute lower bound value associated with the first node of the index is included in a path from the value of the item in the first attribute to the first attribute lower bound value associated with the first node of the index based on the hierarchy of the first attribute, and if the child value is included in the path, comparing the value of the item in the first attribute with a first attribute lower bound value associated with a second node of the index, based on an indicator of a coverage class associated with the child value included in the first node of the index. - View Dependent Claims (25, 26, 27, 28, 29)
-
-
30. A method of traversing a body of data defined by a plurality of attributes, said attributes characterized by respective hierarchies, using an index, said method comprising the steps of:
-
initializing an array on each one of the plurality of attributes based on a lower bound value of each attribute which is associated with a child node of a plurality of nodes included in the index, and a path from each lower bound value of the child node to a value of a parent node lower bound value in each of the respective hierarchies, wherein the child node is determined by accessing a child coverage class indicator associated with the parent node; and
generating a cross product of rows based on the array on each one of the plurality of attributes. - View Dependent Claims (31, 32, 33, 34, 35, 36)
-
Specification