Patent ID: 8122129

Claim:
A method for managing network traffic, the method comprising: determining, with one or more processors associated with one or more computer systems, a URL associated with network traffic received at the one or more computer systems; generating, with the one or more processors associated with the one or more computer systems, a first hash value for a portion of the URL with a first predetermined hash generation technique; determining, with the one or more processors associated with the one or more computer systems, that a record exists for the portion of the URL in a first table in a storage device associated with the one or more computer systems represented by a sparse array using the first hash value for the portion of the URL as an index into the first table; determining, with the one or more processors associated with the one or more computer systems, a location in a second table in the storage device associated with the one or more computer systems at which to search for any records that exist for the portion of the URL based on the record determined to exists for the portion of the URL in the first table; searching, with the one or more processors associated with the one or more computer systems, a subset of records in the second table at the determined location to determine whether any record exists for the portion of the URL in the second table using the first hash value for the portion of the URL and a second hash value generated for the portion of the URL with a second predetermined hash generation technique, the second predetermined hash generation technique being different than the first predetermined hash generation technique; determining, with the one or more processors associated with the one or more computer systems, that a record exists for the portion of the URL in the second table in the storage device associated with the one or more computer systems using the second hash value for the portion of the URL; determining, with the one or more processors associated with the one or more computer systems, a policy for the URL based on a first value of a record for the portion of the URL in the second table; configuring, with the one or more processors associated with the one or more computer systems, at least one networking device based on whether an originator of the network traffic received at the one or more computer systems is permitted to access the URL according to the determined policy; sorting records in the second table based on a length of a hostname of a URL corresponding to each record; generating the second hash value based on the length of a hostname of a URL corresponding to at least one record in the second table identified using the first hash value; and searching a subset of records in the second table stored with the same length to determine whether any record exists for the portion of the URL in the second table using the second hash value for the portion of the URL.