An apparatus and method for dynamic assignment of classes of traffic to a ‘priority queue’. Bandwidth consumption by one or more types of packet traffic received in the packet forwarding device is monitored to determine whether the bandwidth consumption exceeds a threshold. If the bandwidth consumption exceeds the threshold, assignment of at least one type of packet traffic of the one or more types of packet traffic is changed from a queue having a first priority to a queue having a second priority.
FIELD OF THE INVENTION
The present invention relates to the field of telecommunications, and more particularly to dynamic assignment of traffic classes to queues having different priority levels.
BACKGROUND OF THE INVENTION
The flow of packets through packet-switched networks is controlled by switches and routers that forward packets based on destination information included in the packets themselves. A typical switch or router includes a number of input/output (I/ O) modules connected to a switching fabric, such as a crossbar or shared memory switch. In some switches and routers, the switching fabric is operated at a higher frequency than the transmission frequency of the I/ O modules so that the switching fabric may deliver packets to an I/O module faster than the I/O module can output them to the network transmission medium. In these devices, packets are usually queued in the I/ O module to await transmission.
One problem that may occur when packets are queued in the I/O
module or elsewhere in a switch or router is that the queuing delay per packet varies depending on the amount of traffic being handled by the switch. Variable queuing delays tend to degrade data streams produced by real-time sampling (e.g., audio and video) because the original time delays between successive packets in the stream convey the sampling interval and are therefore needed to faithfully reproduce the source information. Another problem that results from queuing packets in a switch or router is that data from a relatively important source, such as a shared server, may be impeded by data from less important sources, resulting in bottlenecks.
SUMMARY OF THE INVENTION
A method and apparatus for dynamic assignment of classes of traffic to a priority queue are disclosed. Bandwidth consumption by one or more types of packet traffic received in a packet forwarding device is monitored. The queue assignment of at least one type of packet traffic is automatically changed from a queue having a first priority to a queue having a second priority if the bandwidth consumption exceeds the threshold.
Other features and advantages of the invention will be apparent from the accompanying drawings and from the detailed description that follows below.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings in which like references indicate similar elements and in which:
Fig. 1 illustrates a packet forwarding device that can be used to implement embodiments of the present invention;
Fig. 2A illustrates queue fill logic implemented by a queue manager in a quad interface device;
Fig. 2B illustrates queue drain logic according to one embodiment;
Fig. 3 illustrates the flow of a packet within the switch of Fig. 1;
Fig. 4 illustrates storage of an entry in an address resolution table managed by an address resolution unit;
Fig. 5 is a diagram of the software architecture of the switch of Fig.
1 according to one embodiment; and Fig. 6 illustrates an example of dynamic assignment of traffic classes to a priority queue.