Patent ID: 7403527
Filing Date: 2008-07-22
Classification: H04L

Abstract:
1. A method of preventing collisions between two or more binary keys, each key corresponding to an action to be taken, comprising: searching a content addressable memory for a first binary key; deleting the first binary key from the content addressable memory when the first binary key is found in the content addressable memory; searching a hash table for a selected portion of a hash value of the first binary key when the first binary key is not found in the content addressable memory; deleting the first binary key from the hash table when the selected portion of the hash value of the first binary key is found in the hash table; searching the content addressable memory for a second binary key; overwriting the second binary key in the content addressable memory when the second binary key is found in the content addressable memory; searching the hash table for a selected portion of the hash value of the second binary key when the second binary key is not found in the content addressable memory; writing the selected portion of the hash value of the second binary key in the hash table when the selected portion of the hash value of the second binary key is not found in the hash table; comparing a remainder portion of the hash value of the second binary key with a remainder portion of a hash value of a third binary key when the selected portion of the hash value of the second binary key matches a selected portion of the hash value of the third binary key in the hash table; overwriting an action associated with the second binary key when the remainder portion of the hash value of the second binary key matches the remainder portion of the hash value of the third binary key; and writing the second binary key in the content addressable memory, writing the third binary key in the content addressable memory, and deleting the third binary key from the hash table when the remainder portion of the hash value of the second binary key does not match the remainder portion of the hash value of the third binary key.