Managing storage of data for range-based searching
First Claim
Patent Images
1. A method for managing storage of data including:
- for each of multiple records stored in a data structure, assigning an identifier that represents a range of values based on an attribute of the record, the range being specific to the record, in which assigning an identifier for a particular record includes;
determining a value based on a difference between a value of the attribute of the particular record and a first reference value, anddetermining the identifier that represents the range of values for the particular record based on a relationship between the value based on the difference and a second reference value; and
storing entries in an index associated with the data structure, each entry specifying a location of a corresponding record within the data structure, the storing including, for each entry;
storing a first index key in the entry, in which the first index key is indicative of the identifier that represents the range of values for the corresponding record, andstoring a second index key in the entry, the second index key based on a value stored in the corresponding record,wherein the index is sorted by both (i) the first index key indicative of the identifier that represents the range of values and (ii) the second index key.
3 Assignments
0 Petitions
Accused Products
Abstract
In general, a value of a numerical attribute of a record stored in a data structure is received. A numerical range is generated that includes the value of the numerical attribute. An entry is stored, in an index associated with the data structure, that specifies a location of the record within the data structure and that includes a first index key and a second index key. The first index key corresponds to a value of an attribute of the record different from the numerical attribute, and the second index key corresponds to the generated numerical range.
36 Citations
54 Claims
-
1. A method for managing storage of data including:
-
for each of multiple records stored in a data structure, assigning an identifier that represents a range of values based on an attribute of the record, the range being specific to the record, in which assigning an identifier for a particular record includes; determining a value based on a difference between a value of the attribute of the particular record and a first reference value, and determining the identifier that represents the range of values for the particular record based on a relationship between the value based on the difference and a second reference value; and storing entries in an index associated with the data structure, each entry specifying a location of a corresponding record within the data structure, the storing including, for each entry; storing a first index key in the entry, in which the first index key is indicative of the identifier that represents the range of values for the corresponding record, and storing a second index key in the entry, the second index key based on a value stored in the corresponding record, wherein the index is sorted by both (i) the first index key indicative of the identifier that represents the range of values and (ii) the second index key. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-readable storage medium storing a computer program for managing the storage of data, the computer program including instructions for causing a computing system to:
-
for each of multiple records stored in a data structure, assigning an identifier that represents a range of values based on an attribute of the record, the range being specific to the record, in which assigning an identifier for a particular record includes; determining a value based on a difference between a value of the attribute of the particular record and a first reference value, and determining the identifier that represents the range of values for the particular record based on a relationship between the value based on the difference and a second reference value; and store entries in an index associated with the data structure, each entry specifying a location of a corresponding record within the data structure, the storing including, for each entry; storing a first index key in the entry, in which the first index key is indicative of the identifier that represents the range of values for the corresponding record, and storing a second index key in the entry, the second index key based on a value stored in the corresponding record, wherein the index is sorted by both (i) the first index key indicative of the identifier that represents the range of values and (ii) the second index key. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A computing system for managing the storage of data, the computing system including:
-
at least one processor configured to; for each of multiple records stored in a data structure, assigning an identifier that represents a range of values based on an attribute of the record, the range being specific to the record, in which assigning an identifier for a particular record includes; determining a value based on a difference between a value of the attribute of the particular record and a first reference value, and determining the identifier that represents the range of values for the particular record based on a relationship between the value based on the difference and a second reference value; and store entries in an index associated with the data structure, each entry specifying a location of a corresponding record within the data structure, the storing including, for each entry; storing a first index key in the entry, in which the first index key is indicative of the identifier that represents the range of values for the corresponding record, and storing a second index key in the entry, the second index key based on a value stored in the corresponding record, wherein the index is sorted by both (i) the first index key indicative of the identifier that represents the range of values and (ii) the second index key. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44)
-
-
45. A computing system for managing the storage of data, the computing system including:
means for indexing one or more records, the indexing including; for each of multiple records stored in a data structure, assigning an identifier that represents a range of values based on an attribute of the record, the range being specific to the record, in which assigning an identifier for a particular record includes; determining a value based on a difference between a value of the attribute of the particular record and a first reference value, and determining the identifier that represents the range of values for the particular record based on a relationship between the value based on the difference and a second reference value; and storing entries in an index associated with the data structure, each entry specifying a location of a corresponding record within the data structure, the storing including, for each entry; storing a first index key in the entry, in which the first index key is indicative of the identifier that represents the range of values for the corresponding record, and storing a second index key in the entry, the second index key based on a value stored in the corresponding record, wherein the index is sorted by both (i) the first index key indicative of the identifier that represents the range of values and (ii) the second index key. - View Dependent Claims (46, 47, 48, 49, 50, 51, 52, 53, 54)
Specification