Patent ID: 8264957

Claim:
A method, comprising: receiving previously marked and previously unmarked packets at a node from one or more input interfaces, the marked and previously unmarked packets associated with two or more flows; placing the previously marked and the previously unmarked packets from each of the input interfaces in an output queue corresponding to an output interface of the node; placing previously unmarked packets from each of the input interfaces in a plurality of virtual queues of a virtual scheduler, each previously unmarked packet placed in a virtual queue of the plurality of virtual queues that corresponds to both a flow of the two or more flows to which the previously unmarked packet belongs and the output interface, such that previously unmarked packets of different flows destined for the same output interface are placed in different virtual queues; serving the virtual scheduler at a configured rate; marking any previously unmarked packets associated with a virtual queue of the plurality of virtual queues when a number of unmarked packets in that virtual queue exceeds a configured threshold of that virtual queue; and not placing marked packets in the plurality of virtual queues.