Use of dynamic multi-level hash table for managing hierarchically structured information
First Claim
Patent Images
1. A method for managing hierarchically structured information, the method comprising:
- creating a plurality of hash tables based on a composite key, wherein key values associated with the composite key are hierarchically related based on multiple levels;
wherein each hash table corresponds to a particular level of the multiple levels; and
storing, within each of the plurality of hash tables, entries that are associated with key values that have as many levels as the particular level that corresponds to the respective hash table.
2 Assignments
0 Petitions
Accused Products
Abstract
An aspect of the invention provides a method for managing information associated with a hierarchical key. A plurality of hash tables are created for a plurality of levels of a hierarchy associated with a hierarchical key, wherein each hash table is associated with a corresponding level of the hierarchy. Entries are stored within each of the plurality of hash tables, wherein the entries are associated with key names that have as many levels as the level associated with the respective hash table. Furthermore, a reference to a descendant entry that is in a respective hash table may be stored within each entry.
128 Citations
34 Claims
-
1. A method for managing hierarchically structured information, the method comprising:
-
creating a plurality of hash tables based on a composite key, wherein key values associated with the composite key are hierarchically related based on multiple levels; wherein each hash table corresponds to a particular level of the multiple levels; and storing, within each of the plurality of hash tables, entries that are associated with key values that have as many levels as the particular level that corresponds to the respective hash table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 34)
-
-
13. A method for managing hierarchically structured information, the method comprising:
-
determining how many levels exist in a particular key name; creating a respective hash table for each level of the particular key name for which a hash table has not yet been created; computing a hash key for each key component of the particular key name; and storing entries in the hash tables that correspond to key components that correspond to each level of the particular key name, wherein the location of each entry in a respective hash table is identified by a respective hash key.
-
-
14. A method for locating hierarchically structured information, the method comprising:
-
determining how many levels exist in a particular key name of a key domain; locating a particular hash table from a plurality of hash tables, wherein each of the plurality of hash tables corresponds to a particular level of a hierarchy of the key domain, wherein the Particular hash table corresponds to the number of levels that exist in the particular key name; computing a hash key for the particular key name; and locating in the particular hash table, based on the hash key, an entry associated with the particular key name.
-
-
15. A method for deleting hierarchically structured information, the method comprising:
-
determining how many levels exist in a particular key name of a key domain; locating a particular hash table from a plurality of hash tables, wherein each of the plurality of hash tables corresponds to a particular level of a hierarchy of the key domain, wherein the particular hash table corresponds to the number of levels that exist in the particular key name; computing a hash key for the particular key name; locating in the particular hash table, based on the hash key, an entry associated with the particular key name; and deleting the entry associated with the particular key name.
-
-
16. A method for recursively deleting hierarchically structured information, the method comprising:
-
determining how many levels exist in a particular key name of a key domain; locating a first hash table from a plurality of hash tables, wherein each of the plurality of hash tables corresponds to a particular level of a hierarchy of the key domain, wherein the particular hash table corresponds to the number of levels that exist in the particular key name; computing a hash key for the particular key name; locating in the first hash table, based on the hash key, a first entry associated with the particular key name; using one or more references from the first entry to locate descendant entries of the particular key name in respective hash tables of the plurality of hash tables; and deleting the first entry and the descendant entries.
-
-
17. A method for locating information associated with a second key name that is a child of a first key name in a hierarchy, the method comprising:
-
locating, based on the first key name, a first entry in a first hash table, wherein the first entry is associated with the first key name; reading, from the first entry, information that identifies a location of a second entry associated with the second key name, wherein the location is in a second hash table different from the first hash table; and locating the second entry in the second hash table based on the information that identifies the location of the second entry.
-
-
18. A computer-readable medium carrying one or more sequences of instructions for managing hierarchically structured information, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
creating a plurality of hash tables based on a composite key, wherein key values associated with the composite key are hierarchically related based on multiple levels; wherein each hash table corresponds to a particular level of the multiple levels; and storing, within each of the plurality of hash tables, entries that are associated with key values that have as many levels as the particular level that corresponds to the respective hash table. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A computer-readable medium carrying one or more sequences of instructions for managing hierarchically structured information, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
determining how many levels exist in a particular key name; creating a respective hash table for each level of the particular key name for which a hash table has not yet been created; computing a hash key for each key component of the particular key name; and storing entries in the hash tables that correspond to each level of the particular key name, wherein the location of each entry in a respective hash table is identified by a respective hash key.
-
-
30. A computer-readable medium carrying one or more sequences of instructions for locating hierarchically structured information, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
determining how many levels exist in a particular key name of a key domain; locating a particular hash table from a plurality of hash tables, wherein each of the plurality of hash tables corresponds to a particular level of a hierarchy of the key domain, wherein the particular hash table corresponds to the number of levels that exist in the particular key name; computing a hash key for the particular key name; and locating in the particular hash table, based on the hash key, an entry associated with the particular key name.
-
-
31. A computer-readable medium carrying one or more sequences of instructions for deleting hierarchically structured information, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
determining how many levels exist in a particular key name of a key domain; locating a particular hash table from a plurality of hash tables, wherein each of the plurality of hash tables corresponds to a particular level of a hierarchy of the key domain, wherein the particular hash table corresponds to the number of levels that exist in the particular key name; computing a hash key for the particular key name; locating in the particular hash table, based on the hash key, an entry associated with the particular key name; and deleting the entry associated with the particular key name.
-
-
32. A computer-readable medium carrying one or more sequences of instructions for recursively deleting hierarchically structured information, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
determining how many levels exist in a particular key name of a key domain; locating a first hash table from a plurality of hash tables, wherein each of the plurality of hash tables corresponds to a particular level of a hierarchy of the key domain, wherein the particular hash table corresponds to the number of levels that exist in the particular key name; computing a hash key for the particular key name; locating in the first hash table, based on the hash key, a first entry associated with the particular key name; using one or more references from the first entry to locate descendant entries of the particular key name in respective hash tables of the plurality of hash tables; and deleting the first entry and the descendant entries.
-
-
33. A computer-readable medium carrying one or more sequences of instructions for locating information associated with a second key name that is a child of a first key name in a hierarchy, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
locating, based on the first key name, a first entry in a first hash table, wherein the first entry is associated with the first key name; reading, from the first entry, information that identifies a location of a second entry associated with the second key name, wherein the location is in a second hash table different from the first hash table; and locating the second entry in the second hash table based on the information that identifies the location of the second entry.
-
Specification