Patent ID: 7020713

Claim:
A method for balancing a workload for a plurality of processors in a multiple processor computer system, the system designed for processing a plurality of packets from a plurality of connections, the method comprising: assigning a packet to a hash bucket determined by performing a predetermined hash function; and queuing the hash bucket to a processor so that the workload of all the processors are balanced, wherein the queuing includes identifying statistically a percentage of capacity usage for each processor; obtaining an imbalance distribution index for each processor from the identified percentage of capacity usage; and distributing the hash buckets in proportion to the imbalance distribution index and in reverse proportion to a total imbalance index, wherein the total imbalance index is a summation of all obtained imbalance distribution indexes, wherein the hash function relates to a predetermined number of hash buckets, and wherein a plurality of packets from different connections can be assigned to the same hash bucket.