Multidimensional hashed tree based URL matching engine using progressive hashing
First Claim
1. A method of matching a Uniform Resource Locator (URL) to a resource or rule, comprising:
- progressively hashing a clause of the URL character by character to generate a hash code for the clause;
determining if a delimiting character is encountered;
using the hash code associated with the clause to traverse a tree data structure representing clauses of URLs and corresponding resources or rules, wherein each node of the tree data structure has an associated multidimensional hash table; and
matching the URL to resources or rules based on the traversing of the tree data structure.
1 Assignment
0 Petitions
Accused Products
Abstract
A mechanism by which URLs are progressively hashed character by character and clauses of the URL are used to traverse a tree data structure for matching of the URL to resources/rules is provided. The hash code for a single character is appended to a prior hash code for a preceding character in the URL portion. At the time that the entire portion of the URL is hashed, as determined based on the presence of a delimiter character, the particular node in a tree data structure associated with the resulting hash code is identifiable within a hash table of a current node of the tree data structure. Each node in the tree data structure includes a multidimensional hash table for a portion of a URL. The multidimensional hash table is established and grown in a manner that ensures there are no hash collisions. Each portion of the URL is parsed in this manner and the tree data structure is traversed as each portion is processed until the entire URL is parsed at which time the resulting rules/resources may be identified from the leaf nodes of the tree data structure.
-
Citations
20 Claims
-
1. A method of matching a Uniform Resource Locator (URL) to a resource or rule, comprising:
-
progressively hashing a clause of the URL character by character to generate a hash code for the clause;
determining if a delimiting character is encountered;
using the hash code associated with the clause to traverse a tree data structure representing clauses of URLs and corresponding resources or rules, wherein each node of the tree data structure has an associated multidimensional hash table; and
matching the URL to resources or rules based on the traversing of the tree data structure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer program product in a computer readable medium for matching a Uniform Resource Locator (URL) to a resource or rule, comprising:
-
first instructions for progressively hashing a clause of the URL character by character to generate a hash code for the clause;
second instructions for determining if a delimiting character is encountered;
third instructions for using the hash code associated with the clause to traverse a tree data structure representing clauses of URLs and corresponding resources or rules, wherein each node of the tree data structure has an associated multidimensional hash table; and
fourth instructions for matching the URL to resources or rules based on the traversing of the tree data structure. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. An apparatus for matching a Uniform Resource Locator (URL) to a resource or rule, comprising:
-
means for progressively hashing a clause of the URL character by character to generate a hash code for the clause;
means for determining if a delimiting character is encountered;
means for using the hash code associated with the clause to traverse a tree data structure representing clauses of URLs and corresponding resources or rules, wherein each node of the tree data structure has an associated multidimensional hash table; and
means for matching the URL to resources or rules based on the traversing of the tree data structure.
-
Specification