Patent ID: 8520675

Claim:
A system comprising: a network device to: receive, at a first component of the network device, a stream of packets; identify, by the first component, a processor, of a plurality of processors, that is inactive, the processor including a plurality of blocks of memory; identify, by the first component, a block of memory, of the plurality of blocks of memory, that is available; send, by the first component and to a second component, information associated with the block of memory; store, by the second component, the information associated with the block of memory in a queue; store, by the first component, a packet, of the received stream of packets, in the block of memory; send, by the processor and to the second component, information associated with the packet; process, by the processor, the stored packet; send, by the processor and to the second component, an indication that the stored packet has been processed; retrieve, by the second component, the processed packet when the information associated with the block of memory is at a head of the queue; determine, based on the information associated with the packet, whether the processed packet is to be replicated; output, by the second component, the processed packet when the processed packet is not to be replicated; return, by the second component, the processed packet to the first component when the processed packet is to be replicated; replicate, by the first component, the returned packet to create a plurality of replicated packets, the plurality of replicated packets being identical; concurrently process, by two or more processors of the plurality of processors, a first plurality of replicated packets, of the plurality of replicated packets, the first plurality of replicated packets having different destinations from one another; serially process, by one or more processors of the plurality of processors, a second plurality of replicated packets, of the plurality of replicated packets, the second plurality of replicated packets having a same destination; and output, by the second component, the processed first plurality of replicated packets and the processed second plurality of replicated packets.