Patent ID: 7257633

Claim:
A network device comprising: an interface module communicatively coupled to a network for acquiring a data packet over the network; a pool of a plurality of threads of execution for processing said data packet; and a dynamic pool allocator for selectively dispatching one of the plurality of threads of execution from said pool, wherein said dynamic pool allocator hashes a header of said data packet to determine a hash index, which is utilized by said dynamic pool allocator to select said one of the plurality of threads of execution from said pool, said dynamic pool allocator dispatching an available thread of execution from said pool, when said hash index does not have a corresponding thread from said pool in a hash table of said dynamic pool allocator, said hash table correlating one of a plurality of hash indexes to one or more threads of said pool of threads, adding another record to said hash table, and said added record comprising said hash index and said allocated thread of execution.