Patent ID: 8144588

Claim:
A method comprising: receiving a packet in a network device; selecting one of a plurality of ingress buffers, where each ingress buffer is associated with a different one of a plurality of processors; distributing the packet to the selected ingress buffer; receiving, from an egress buffer associated with the packet, a congestion state of a queue in the egress buffer; and scheduling the packet, based on the congestion state of the queue in the egress buffer associated with the packet, to be processed by the processor associated with the selected ingress buffer to provide a network service, where scheduling the packet includes: scheduling the packet to be processed by the processor associated with the selected ingress buffer when the received congestion state indicates that the egress queue is not congested, scheduling the packet to be processed by the processor associated with the selected ingress buffer when the congestion state was received more than a threshold time earlier and the received congestion state indicates that the queue in the egress buffer is congested, and where scheduling the packet includes not permitting the processing of the packet if the received congestion state indicates that the queue in the egress buffer is congested and the congestion state was received not more than the threshold time earlier.