Weighted fair queuing approximation in a network switch using weighted round robin and token bucket filter
First Claim
1. A method in an integrated network switch, the method comprising:
- assigning a received data packet to a selected one of a plurality of priority queues for an output switch port;
determining whether the selected one priority queue has at least a required number of tokens corresponding to a determined size of the received data packet, the selected one priority queue having an available number of tokens based on outputting data packets of respective determined sizes from the corresponding selected one priority queue relative to a prescribed token regeneration rate;
selectively supplying the received data packet to the selected one priority queue based on the selected one priority queue having at least the required number of tokens; and
outputting the received data packet from the selected one priority queue, relative to the plurality of priority queues, for transmission by the output switch port based on a prescribed weighted round robin scheduling between the priority queues.
1 Assignment
0 Petitions
Accused Products
Abstract
An integrated network switch having multiple network switch ports for outputting data frames also includes a dequeuing system for selectively supplying a data frame for output according to a specified priority by an output switch port. The dequeuing system includes, for each network switch port, a plurality of priority queues configured for holding assigned data frames based on respective priorities assigned by switching logic. A weighted round robin scheduler supplies the assigned data frames held in the priority queues to the output switch port according to a prescribed weighted round robin scheduling. In addition, the dequeuing system uses token bucket filters for selectively passing the assigned data frames to the respective priority queues in a manner that ensures that a given data frame having a large size does not interfere with bandwidth reserved for high-priority packets requiring guaranteed quality of service. Each token bucket filter selectively passes the corresponding assigned data frame to the corresponding priority queue based on a determined availability of at least a required number of tokens corresponding to a determined size of the corresponding assigned data frame. If the token bucket filter determines an insufficient number of tokens are available relative to the required number of tokens, the token bucket filter either drops the frame or shifts the frame to a lower priority queue. Hence, weighted fair queuing can be approximated using weighted round robin scheduling without interference by large-sized data packets.
-
Citations
14 Claims
-
1. A method in an integrated network switch, the method comprising:
-
assigning a received data packet to a selected one of a plurality of priority queues for an output switch port;
determining whether the selected one priority queue has at least a required number of tokens corresponding to a determined size of the received data packet, the selected one priority queue having an available number of tokens based on outputting data packets of respective determined sizes from the corresponding selected one priority queue relative to a prescribed token regeneration rate;
selectively supplying the received data packet to the selected one priority queue based on the selected one priority queue having at least the required number of tokens; and
outputting the received data packet from the selected one priority queue, relative to the plurality of priority queues, for transmission by the output switch port based on a prescribed weighted round robin scheduling between the priority queues. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An integrated network switch comprising:
-
a plurality of network switch ports configured for outputting data frames;
switching logic configured for selecting, for a received data frame, at least one of the network switch ports as an output switch port and assigning a priority from an available plurality of priorities; and
a dequeuing system configured for selectively supplying the received data frame to the output switch port, the dequeuing system including, for each network switch port;
(1) a plurality of priority queues configured for holding assigned data frames based on the respective priorities assigned by the switching logic, (2) token bucket filters configured for selectively passing the assigned data frames to the respective priority queues, each token bucket filter selectively passing each corresponding assigned data frame to the corresponding priority queue based on a determined availability of at least a required number of tokens corresponding to a determined size of the corresponding assigned data frame, and (3) a weighted round robin scheduler configured supplying the assigned data frames held in the priority queues to the output switch port according to a prescribed weighted round robin scheduling. - View Dependent Claims (11, 12, 13, 14)
-
Specification