Patent ID: 8072887

Claim:
A method for controlling enqueuing of packets in an aggregated physical queue including a plurality of virtual queues using backpressure information, the method comprising: at a packet classifier: receiving a plurality of packets corresponding to a plurality of flows for enqueuing in a plurality of virtual queues, the plurality of packets including a first packet belonging to a flow of the plurality of flows; classifying the first packet to an output queue and a corresponding virtual queue based on the flow to which the first packet belongs; and writing a plurality of bits to a predetermined field of the first packet, wherein the bits identify the flow to which the first packet belongs, the output queue to which the first packet is classified, and the corresponding virtual queue to which the first packet is classified; and at an enqueue controller located upstream from the aggregated physical queue including the plurality of virtual queues being logical queues maintained within the aggregated physical queue and corresponding to a plurality of output queues located downstream from the aggregated physical queue and a scheduler, wherein the scheduler schedules packets from the head of the aggregated physical queue without regard to the virtual queues to which the packets are classified and wherein the scheduler is configured to identify the output queue to which the first packet is classified based on the bits written to the predetermined field of the first packet: receiving the plurality of packets from the packet classifier; receiving feedback from one of the output queues and determining, based on the feedback, a congestion level of the flow to which the first packet belongs; and preventing the first packet from being enqueued in the aggregated physical queue in response to the congestion level of the flow to which the first packet belongs having a predetermined relationship with respect to a threshold level.