Index processing
First Claim
1. A method of tracking a plurality of objects being stored, comprising:
- applying a hash function to a name of each object to generate a hash value, wherein applying the hash function further includes applying an equation
h(k)=k mod m;
concatenating each hash value into a hint;
storing the hint in an index,wherein the hint comprises a single value formed by appending the hash values end to end;
determining an amount of space to be allocated to each hash value, wherein determining the amount of space to be allocated to each hash value includes dividing a number of the objects in the plurality of the objects into a space available for storing the hint;
storing, in the hint, information relating to the amount of space to be allocated to each hash value; and
storing, in the hint, information indicating a type of algorithm being used for the hint.
9 Assignments
0 Petitions
Accused Products
Abstract
A method, article of manufacture, and apparatus for tracking a plurality of objects being stored are disclosed. In an embodiment, this comprises computing the hash value of the name of each object being stored, concatenating the hashed values into a hint, and storing the hint in an index. The size of the hash values is determined by dividing the number of objects into the space available for storing the concatenation, and the range of the hash values may be determined by choosing a prime number smaller than the number that can be represented by the space available for storing the concatenation. Either the hint or the longest pathname containing the objects can be stored, and this may be selected based on the application.
59 Citations
12 Claims
-
1. A method of tracking a plurality of objects being stored, comprising:
-
applying a hash function to a name of each object to generate a hash value, wherein applying the hash function further includes applying an equation
h(k)=k mod m;
concatenating each hash value into a hint; storing the hint in an index, wherein the hint comprises a single value formed by appending the hash values end to end; determining an amount of space to be allocated to each hash value, wherein determining the amount of space to be allocated to each hash value includes dividing a number of the objects in the plurality of the objects into a space available for storing the hint; storing, in the hint, information relating to the amount of space to be allocated to each hash value; and storing, in the hint, information indicating a type of algorithm being used for the hint. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of tracking a plurality of objects being stored, comprising:
-
applying a hash function to a name of each object to generate a hash value, wherein applying the hash function includes applying an equation
s[0]*xk+s[1]*xk−
1+s[2]*xk−
2+ . . . +s[k−
1]*x1+s[k]*x0wherein x equals 231; concatenating each hash value into a hint; and storing the hint in an index, wherein the hint comprises a single value formed by appending the hash values end to end.
-
-
12. A computer program product for tracking a plurality of objects being stored, comprising a computer readable storage medium having machine readable code stored therein for:
-
applying a hash function to a name of each object to generate a hash value, wherein applying the hash function further includes applying an equation h(k)=k mod m; concatenating each hash value into a hint; storing the hint in an index; wherein the hint comprises a single value formed by appending the hash values end to end; determining an amount of space to be allocated to each hash value, wherein determining the amount of space to be allocated to each hash value includes dividing a number of the objects in the plurality of the objects into a space available for storing the hint; storing, in the hint, information relating to the amount of space to be allocated to each hash value; and storing, in the hint, information indicating a type of algorithm being used for the hint.
-
Specification