Tiered hashing for data access
First Claim
1. A memory for access by an application program being executed on a programmable control device, comprising:
- a data access hash structure stored in said memory, said data access hash structure including a first a second a third and a fourth index structure together forming a tiered hash index;
said first structure including a plurality of entries, at least one of said plurality of entries indicating a unique entry in said second structure;
said second structure having a plurality of entries, at least one of said plurality of entries indicating a unique entry in said third structure;
said third structure having a plurality of entries, at least one of said plurality of entries indicating a unique entry in said fourth structure; and
said fourth structure having a plurality of entries.
19 Assignments
0 Petitions
Accused Products
Abstract
A memory for access by a program being executed by a programmable control device includes a data access structure stored in the memory, the data access structure including a first and a second index structure (each having a plurality of entries) together forming a tiered index. At least one entry in the first structure indicates an entry in the second structure. The number of entries in the second structure being dynamically changeable. A method for building a tiered index structure includes building a first-level index structure having a predetermined number of entries, building a second-level index structure having a dynamic number of entries, and establishing a link between an entry in the first-level index structure and an entry in the second-level index structure.
193 Citations
58 Claims
-
1. A memory for access by an application program being executed on a programmable control device, comprising:
-
a data access hash structure stored in said memory, said data access hash structure including a first a second a third and a fourth index structure together forming a tiered hash index;
said first structure including a plurality of entries, at least one of said plurality of entries indicating a unique entry in said second structure;
said second structure having a plurality of entries, at least one of said plurality of entries indicating a unique entry in said third structure;
said third structure having a plurality of entries, at least one of said plurality of entries indicating a unique entry in said fourth structure; and
said fourth structure having a plurality of entries. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
an identifier attribute;
a next first structure entry indicator attribute; and
a second structure entry indicator attribute.
-
-
5. The memory of claim 4, wherein an entry in said first structure further comprises an overflow indicator attribute.
-
6. The memory of claim 5, wherein said overflow indicator attribute indicates an overflow structure comprising a plurality of entries, at least one of said plurality of entries having an identifier attribute and a pointer attribute.
-
7. The memory of claim 6, wherein each of the plurality of entries in the overflow structure are ordered within the overflow structure in accordance with a value associated with each of said entries identifier attribute.
-
8. The memory of claim 1, wherein the second structure comprises a linked list structure.
-
9. The memory of claim 1, wherein an entry of said second structure comprises:
-
an identifier attribute; and
a next second structure entry indicator attribute.
-
-
10. The memory of claim 9, wherein an entry in said second structure further comprises an overflow indicator attribute.
-
11. The memory of claim 10, wherein said overflow indicator attribute indicates an overflow structure comprising a plurality of entries, at least one of said plurality of entries having an identifier attribute and a pointer attribute.
-
12. The memory of claim 11, wherein each of the plurality of entries in the overflow structure are ordered within the overflow structure in accordance with a value associated with each of said entries identifier attribute.
-
13. The memory of claim 1, wherein the number of entries in said third structure is dynamically changeable and related to the number of entries in said second structure.
-
14. The memory of claim 13, wherein the third structure comprises a linked list structure.
-
15. The memory of claim 13, wherein an entry in said third structure comprises:
-
a data object location attribute;
a status attribute; and
a next third structure. entry indicator attribute.
-
-
16. The memory of claim 15, wherein the data object location attribute comprises:
-
a data object file identifier portion; and
a data object offset portion.
-
-
17. A method for building a tiered hash index structure, comprising:
-
building a first-level hash index structure having a predetermined number of entries;
building a second level hash index structure;
building a third-level hash index structure;
building a fourth-level hash index structure;
establishing a link between an entry in the first-level index structure and a unique entry in the second-level index structure;
establishing a link between an entry in the second-level index structure and a unique entry in the third-level index structure; and
establishing a link between an entry in the third-level index structure and a unique entry in the fourth-level index structure. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 52, 53, 54, 55, 56, 57)
receiving an object identifier;
identifying an entry in said first-level hash index structure based on the object identifier;
identifying an entry in said second-level hash index structure based on the identified entry in said first-level hash index structure;
identifying an entry in said third-level hash index structure based on the identified entry in said second-level hash index structure; and
identifying an entry in said fourth-level hash index structure based on the identified entry in said second-level hash index structure.
-
-
23. The method of claim 22, further comprising retrieving a data object indicated by the identified entry in said fourth-level hash index structure.
-
24. The method of claim 23, wherein the act of retrieving a data object comprises using a location component, where a first portion of said location component indicates a file, and a second portion of said location component indicates an offset into the file.
-
25. The method of claim 24, wherein the first portion of said location component comprises a 1-byte field, and the second portion of said location component comprises a 4-byte field.
-
26. The method of claim 22, wherein the act of receiving an object identifier comprises receiving a numeric identifier.
-
27. The method of claim 22, wherein the act of receiving an object identifier comprises receiving an alphanumeric identifier.
-
28. The method of claim 22, wherein the act of identifying an entry in said second-level hash index structure comprises traversing a link between the identified first-level hash index structure entry and an entry in said second-level hash index structure.
-
29. The method of claim 22, wherein the act of identifying an entry in said second-level hash index structure comprises:
-
identifying a first entry in said second-level hash index structure based on the identified entry in said first-level hash index structure; and
traversing said second-level hash index structure beginning at the identified first entry and comparing the object identifier with a portion of each entry traversed during the act of traversing said second-level hash index structure.
-
-
30. The method of claim 22, further comprising
building an overflow structure; - and
establishing a link between the overflow structure and an entry in the second-level hash index structure.
- and
-
31. The method of claim 30, wherein the act of identifying an entry in said second-level hash index structure uses the overflow structure.
-
32. The method of claim 17, wherein the act of building a third-level hash index structure comprises building a link-list hash structure.
-
33. The method of claim 17, wherein the act of identifying an entry in said third-level hash index structure comprises traversing a link between the identified second-level hash index structure entry and an entry in said third-level index structure.
-
34. The method of claim 17, wherein the act of identifying an entry in said third-level hash index structure comprises:
-
identifying a first entry in said third-level hash index structure based on the identified entry in said second-level hash index structure; and
traversing said third-level hash index structure beginning at the identified first entry and comparing the object identifier with a portion of each entry traversed during the act of traversing said third-level hash index structure.
-
-
35. The method of claim 17, further comprising:
-
building an overflow structure; and
establishing a link between the overflow structure and an entry in the second-level hash index structure and an entry in the third-level hash index structure.
-
-
36. The method of claim 35, wherein the act of building said overflow structure comprises building an ordered hash structure.
-
37. The method of claim 35, wherein the act of identifying an entry in said third-level hash index structure uses the overflow structure.
-
52. The method of claim 17, wherein the act of building said fourth-level hash index structure comprises building a link-list structure.
-
53. The program storage device of claim 17, wherein the instructions to build said fourth-level hash index structure comprise instructions to build a link-list structure.
-
54. The method of claim 22, wherein the act of identifying an entry in said fourth-level hash index structure comprises:
-
identifying a first entry in said fourth-level hash index structure based on the identified entry in said third-level hash index structure; and
traversing said fourth-level hash index structure beginning at the identified first entry and comparing the object identifier with a portion of each entry traversed during the act of traversing said fourth-level hash index structure.
-
-
55. The method of claim 54, further comprising
building an overflow structure; - and
establishing a link between the overflow structure and an entry in the third-level hash index structure and an entry in the fourth-level hash index structure.
- and
-
56. The method of claim 55, wherein the act of building said overflow structure comprises building an ordered hash structure.
-
57. The method of claim 55, wherein the act of identifying the first entry in said fourth-level hash index structure uses the overflow structure.
-
38. A program storage device, readable by a programmable control device, comprising instructions stored on the program storage device for causing the programmable control device to build a tiered hash index structure, including instructions to:
-
build a first-level hash index structure having a predetermined number of entries;
build a second-level hash index structure;
a build a third-level hash index structure;
a build a fourth-level hash index structure;
to establish a link between an entry in the first-level hash index structure and a unique entry in the second-level hash index structure;
establish a link between an entry in the second-level hash index structure and a unique entry in the third-level hash index structure; and
establish a link between an entry in the third-level hash index structure and a unique entry in the fourth-level hash index structure. - View Dependent Claims (39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 58)
receive an object identifier;
identify an entry in said first-level hash index structure based on the object identifier;
identify an entry in said second-level hash index structure based on the identified entry in said first-level hash index structure;
identify an entry in said third-level hash index structure based on the identified entry in said second-level hash index structure; and
identify an entry in said fourth-level hash index structure based on the identified entry in said second-level hash index structure.
-
-
41. The program storage device of claim 40, further comprising instructions to retrieve a data object indicated by the identified entry in said fourth-level hash index structure.
-
42. The program storage device of claim 40, wherein the instructions to receive an object identifier comprise instructions to receive a numeric identifier.
-
43. The program storage device of claim 40, wherein the instructions to receive an object identifier comprise instructions to receive an alphanumeric identifier.
-
44. The program storage device of claim 40, wherein the instructions to identify an entry in said second-level hash index structure comprise instructions to:
-
identify a first entry in said second-level hash index structure based on the identified entry in said first-level hash index structure;
traverse said second-level hash index structure beginning at the identified first entry; and
identify a second entry in said second-level hash index structure based on the object identifier.
-
-
45. The program storage device of claim 44, wherein the instructions to identify the second entry in said second-level hash index structure comprise instructions to compare the object identifier with a portion of each entry traversed during the act of traversing said second-level hash index structure.
-
46. The program storage device of claim 40, wherein the instructions to identify an entry in said third-level hash index structure comprise instructions to:
-
identify a first entry in said third-level hash index structure based on the identified entry in said second-level hash index structure;
traverse said third-level hash index structure beginning at the identified first entry; and
identify a second entry in said third-level hash index structure based on the object identifier.
-
-
47. The program storage device of claim 46, wherein the instructions to identify the first entry in said third-level hash index structure comprise instructions to traverse a link between the identified second-level hash index structure entry and an entry in said third-level hash index structure.
-
48. The program storage device of claim 47, wherein the instructions to identify the second entry in said third-level hash index structure comprise instructions to compare the object identifier with a portion of each entry traversed during the act of traversing said third-level hash index structure.
-
49. The program storage device of claim 46, further comprising instructions to:
-
build an overflow structure; and
establish a link between the overflow structure and an entry in the second-level hash index structure and an entry in the third-level hash index structure.
-
-
50. The program storage device of claim 49, wherein the instructions to build said overflow structure comprise instructions to build an ordered hash structure.
-
51. The program storage device of claim 49, wherein the instructions to identify a first entry in said third-level hash index structure comprise instructions to use the overflow structure.
-
58. The program storage device of claim 40, wherein the instructions to identify an entry in said fourth-level hash index structure comprise instructions to:
-
identify a first entry in said fourth-level hash index structure based on the identified entry in said third-level hash index structure; and
traverse said fourth-level hash index structure beginning at the identified first entry and comparing the object identifier with a portion of each entry traversed during the act of traversing said fourth-level hash index structure.
-
Specification