System and method for identifying data using parallel hashing
First Claim
Patent Images
1. An apparatus for identifying data, comprising:
- a network element operable to receive a data stream, the network element including;
a processor; and
a memory element coupled to the processor, the memory element including a first hash table operable to store a plurality of first hash table entries and a second hash table operable to store a plurality of second hash table entries, wherein the processor performs a hashing operation on a portion of the data stream in order to identify a key that reflects an identity associated with the data stream, the key being used to generate a hash index used to correlate a match between the key and a selected one or more of the entries in the first and second hash tables, and wherein the memory element includes third, fourth, fifth, sixth, seventh, and eighth hash tables, each of which are operable to store multiple entries that may be compared to the key in order to evaluate if there is a match between the key and the entries in the hash tables.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for identifying data is provided that includes receiving a data stream and performing a hashing operation on a portion of the data stream in order to identify a key that reflects an identity associated with the data stream. The method further includes storing a plurality of first and second hash table entries and comparing the key to the first and second hash table entries in order to evaluate if there is a match between the key and the first and second hash table entries.
94 Citations
18 Claims
-
1. An apparatus for identifying data, comprising:
a network element operable to receive a data stream, the network element including; a processor; and a memory element coupled to the processor, the memory element including a first hash table operable to store a plurality of first hash table entries and a second hash table operable to store a plurality of second hash table entries, wherein the processor performs a hashing operation on a portion of the data stream in order to identify a key that reflects an identity associated with the data stream, the key being used to generate a hash index used to correlate a match between the key and a selected one or more of the entries in the first and second hash tables, and wherein the memory element includes third, fourth, fifth, sixth, seventh, and eighth hash tables, each of which are operable to store multiple entries that may be compared to the key in order to evaluate if there is a match between the key and the entries in the hash tables. - View Dependent Claims (2, 3, 4, 5, 6, 7, 10)
-
8. A computer implemented method for identifying data, comprising:
-
receiving a data stream; performing a hashing operation on a portion of the data stream in order to identify a key that reflects an identity associated with the data stream; storing a plurality of first and second hash table entries; comparing the key to the first and second hash table entries in order to evaluate if there is a match between the key and the first and second hash table entries; and storing third, fourth, fifth, sixth, seventh, and eighth hash table entries, each of which are operable to be compared to the key in order to evaluate if there is a match between the key and the hash table entries. - View Dependent Claims (9, 11, 12, 13)
-
-
14. A system for identifying data, comprising:
-
a network element operable to receive a data stream, the network element including; a processor; a memory element coupled to the processor, the memory element including a first hash table operable to store a plurality of first hash table entries and a second hash table operable to store a plurality of second hash table entries, wherein the processor performs a hashing operation on a portion of the data stream in order to identify a key that reflects an identity associated with the data stream, the key being used to generate a hash index used to correlate a match between the key and one or more of the entries in the first and second hash tables, and wherein a hashed element is included within the processor and operable to execute the hashing operation on the data stream in order to identify the key, the hashed element storing a plurality of hashing operation algorithms, one or more of which correspond to each of the first and second hash tables included in the memory element; and a database coupled to a linked list and operable to provide internet protocol (IP) address information associated with the data stream, wherein a selected one of the hash tables is coupled to the linked list that is operable to provide IP address information associated with the data stream when there are no matches found in the hash tables for the key. - View Dependent Claims (15, 16)
-
-
17. A system for identifying data in an electronic processing environment, comprising:
-
means for receiving a data stream; means for performing a hashing operation on a portion of the data stream in order to identify a key that reflects an identity associated with the data stream and that is used to generate a hash index; means for storing a plurality of first and second hash table entries; means for correlating the hash index to one or more of the first and second hash table entries in order to evaluate if there is a match between the key and the first and second hash table entries; and means for providing storage that includes a linked list, the storage being operable to provide internet protocol (IP) address information associated with the data stream, wherein a selected one of the hash tables is coupled to the linked list that is operable to provide IP address information associated with the data stream when there are no matches found in the hash tables for the key.
-
-
18. A computer readable medium having code for identifying data, the code operable to:
-
receive a data stream; perform a hashing operation on a portion of the data stream in order to identify a key that reflects an identity associated with the data stream; store a plurality of first and second hash table entries; compare the key to the first and second hash table entries in order to evaluate if there is a match between the key and the first and second hash table entries; and provide storage that includes a linked list, the storage being operable to provide internet protocol (IP) address information associated with the data stream, wherein a selected one of the hash tables is coupled to the linked list that is operable to provide IP address information associated with the data stream when there are no matches found in the hash tables for the key.
-
Specification