Apparatus for controlling packet output
First Claim
1. An apparatus for controlling packet output comprising:
- a plurality of sets of queues, each set associated with the respective one of a plurality of output ports;
enqueuing means for enqueuing each of packets input to said apparatus on corresponding one of said queues in accordance with a flow of each said packet;
a packet scheduler for scheduling issuing an instruction to dequeue each said packet enqueued by said enqueuing means; and
dequeuing means for dequeuing a packet, one from said enqueued packets, for which such an instruction to dequeue is issued by said packet scheduler,said packet scheduler including;
parallel arithmetic operating means for performing parallel arithmetic operations using a predefined arithmetic formula on said enqueued packets on the top positions (hereinafter called “
top packets”
) of said queues for each of said plural output ports based on parameters including at least information of the arrival time and the size of each of said top packets in order to obtain an evaluation factor indicating the outputting-completion due time for each said top packets;
arithmetic-operation controlling means for selecting one output port for which the parallel arithmetic operations are to be performed on said top packets by said parallel arithmetic operating means from said plural output ports and for inputting the parameters of said top packets of said queues for said selected output port to said parallel arithmetic operating means;
intra-port selecting means for selecting the evaluation factor of a packet that is to be preferentially output, which factor has been obtained by said parallel arithmetic operating means, from the evaluation factors of said top packets of said queues for each said output port based on the evaluation factors of said top packets on said queues for each said output port;
inter-port selecting means for retaining the evaluation factor of said top packet that is to be preferentially output from each said output port, which factor has been selected by said intra-port selecting means, and for selecting one output port from which an enqueued packet is to be most-preferentially output from said apparatus based on the evaluation factors retained therein and on a bandwidth for each said output ports; and
dequeue controlling means for providing said dequeuing means with the instruction to dequeue said top packet, which has been selected from said top packets by said intra-port selecting means, of said output port selected by said inter-port selecting means.
1 Assignment
0 Petitions
Accused Products
Abstract
In a packet scheduler, an arithmetic-operation controlling means designates output ports in a time-sharing manner and a parallel arithmetic operation means performs an arithmetic operation common with the queues of each designated output port to obtain packet output completion due times (evaluation factors) of the top packets of queues of each output port. Intra-port selecting means selects the evaluation factor of a packet that is to be preferentially output for each output port based on the result of the arithmetic operations. Then inter-port selecting means determines one to be most-preferentially output from the top packets selected based on the selected evaluation factors and the bandwidths for the output ports. Therefore, an apparatus for controlling packet output having such a packet scheduler can realize accurately control bandwidths of a plurality of queues, high-speed processing and the reduced size thereby being incorporated in hardware.
-
Citations
36 Claims
-
1. An apparatus for controlling packet output comprising:
-
a plurality of sets of queues, each set associated with the respective one of a plurality of output ports; enqueuing means for enqueuing each of packets input to said apparatus on corresponding one of said queues in accordance with a flow of each said packet; a packet scheduler for scheduling issuing an instruction to dequeue each said packet enqueued by said enqueuing means; and dequeuing means for dequeuing a packet, one from said enqueued packets, for which such an instruction to dequeue is issued by said packet scheduler, said packet scheduler including; parallel arithmetic operating means for performing parallel arithmetic operations using a predefined arithmetic formula on said enqueued packets on the top positions (hereinafter called “
top packets”
) of said queues for each of said plural output ports based on parameters including at least information of the arrival time and the size of each of said top packets in order to obtain an evaluation factor indicating the outputting-completion due time for each said top packets;arithmetic-operation controlling means for selecting one output port for which the parallel arithmetic operations are to be performed on said top packets by said parallel arithmetic operating means from said plural output ports and for inputting the parameters of said top packets of said queues for said selected output port to said parallel arithmetic operating means; intra-port selecting means for selecting the evaluation factor of a packet that is to be preferentially output, which factor has been obtained by said parallel arithmetic operating means, from the evaluation factors of said top packets of said queues for each said output port based on the evaluation factors of said top packets on said queues for each said output port; inter-port selecting means for retaining the evaluation factor of said top packet that is to be preferentially output from each said output port, which factor has been selected by said intra-port selecting means, and for selecting one output port from which an enqueued packet is to be most-preferentially output from said apparatus based on the evaluation factors retained therein and on a bandwidth for each said output ports; and dequeue controlling means for providing said dequeuing means with the instruction to dequeue said top packet, which has been selected from said top packets by said intra-port selecting means, of said output port selected by said inter-port selecting means. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
Specification