Patent ID: 8149708

Claim:
A method, comprising: dynamically switching queues associated with packet streams by a device; wherein the device includes: a shared queue group of one or more shared queues and a plurality of groups of dedicated queues of one or more dedicated queues; wherein the shared queue group and the plurality of groups of dedicated queues are in parallel sharing a common input location and sharing a common output location; and wherein said dynamically switching queues includes: associating a plurality of packet streams with the shared queue group, such that: all packet traffic received over each packet stream of the plurality of packet streams, including a particular packet stream, is enqueued into the shared queue group, and each packet stream is not associated with any of said groups of dedicated queues; subsequent to said association of the particular packet stream with the shared group queue and at least one non-control data packet of the particular packet stream is said enqueued into the shared queue group: detecting a change in the packet activity status of packet traffic over the particular packet stream; in response to said detected change in the packet activity status of packet traffic over the particular packet stream of said packet streams: identifying a currently free particular group of dedicated queues of said groups of dedicated queues, and associating the particular packet stream with the particular group of dedicated queues such that at least non-control data traffic received over the particular packet stream is subsequently enqueued into the particular group of dedicated queues while the particular packet stream remains associated with the particular group of dedicated queues; and removing and processing or forwarding said received packets from said shared queue group and the particular group of dedicated queues; wherein each packet of the particular packet stream is stored in either, but not both, of the particular group of dedicated queues and the shared queue group; and wherein packets of a packet stream of the plurality of packet streams not associated with one of said groups of dedicated queues are enqueued in the same said one or more shared queues of the shared queue group; and wherein packets of only a single one of the plurality of packet streams are enqueued into a currently used group of said groups of dedicated queues.