Patent ID: 8391174

Claim:
A system for routing data packets to a plurality of processors in a network comprising: a switching element to receive data packets and to route each received data packet to one of the plurality of processors, the switching element comprising: a packet analyzer to obtain data packet characteristics including a destination address; a processing unit to perform a predetermined function on the obtained characteristics to generate a lookup key from the destination address, a number of different destination addresses generating the same lookup key; and a routing element to determine a destination for the data packet based on the lookup key and a balancing table, which associates an adjustable number of lookup keys with each of the plurality of processors, and to route the data packet to the determined destination; and a control module to determine a workload distribution across at least some of the plurality of processors and to modify the balancing table in accordance with the determined workload, wherein modifying the balancing table includes redistributing the number of lookup keys associated with each of the plurality of processors, reducing the number of lookup keys associated with one or more of the processors to zero, and increasing the number of lookup, keys associated with one or more of the processors.