Patent ID: 7724754

Claim:
A network infrastructure device comprising: a receiver operable to receive packets when operably connected to a communication network; and a processor cooperatively operable with the receiver, the processor being configured to facilitate: receiving a packet on an interface corresponding to the receiver; mapping the packet to one single queue of a plurality of queues and to one classification of a plurality of classifications, the mapping being determined on at least one of an indication of priority of handling in a header in the received packet and an indication of priority in a configuration of the interface, each queue of the plurality of queues corresponding to a different classification; first checking for overall congestion in all of the queues, and second checking for congestion in the one single queue corresponding to the one classification; and queuing the received packet in the one single queue when there is no overall congestion and no congestion in the one single queue, and when there is overall congestion or congestion in the one single queue, selecting one of the packets in the plurality of queues having a lower classification than the received packet, preferentially dropping the selected one of the packets, and queuing the received packet in the one single queue; performing at least the first checking, second checking, queuing and dropping at an ingress side of the processor, the plurality of queues being ingress queues, the processor being further configured to facilitate: obtaining one of the packets from one of the plurality of ingress queues; re-marking the obtained packet in accordance with the classification corresponding to the ingress queues; placing the obtained packet into an egress queue corresponding to both an egress interface from which the obtained packet is to be transmitted and the classification of the obtained, and a plurality of egress queues corresponding to each egress interface from which the packets can be transmitted; transmitting packets from each of the plurality of egress queues available for each egress interface of a plurality of egress interfaces, wherein each egress queue of the plurality of egress queues for one of the egress interfaces corresponding to different classifications; and shaping the plurality of egress queues for each egress interface by selecting the next packet to be transmitted from the egress interface from the plurality of egress queues for the egress interface, responsive to an egress shaper operating on the plurality of egress queues.