WO2007072538A1 - Queue scheduling device, queue scheduling method and information relay device - Google Patents

Queue scheduling device, queue scheduling method and information relay device Download PDF

Info

Publication number
WO2007072538A1
WO2007072538A1 PCT/JP2005/023262 JP2005023262W WO2007072538A1 WO 2007072538 A1 WO2007072538 A1 WO 2007072538A1 JP 2005023262 W JP2005023262 W JP 2005023262W WO 2007072538 A1 WO2007072538 A1 WO 2007072538A1
Authority
WO
WIPO (PCT)
Prior art keywords
queue
communication data
value
management value
queues
Prior art date
Application number
PCT/JP2005/023262
Other languages
French (fr)
Japanese (ja)
Inventor
Daisuke Namihira
Original Assignee
Fujitsu Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Limited filed Critical Fujitsu Limited
Priority to PCT/JP2005/023262 priority Critical patent/WO2007072538A1/en
Publication of WO2007072538A1 publication Critical patent/WO2007072538A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/527Quantum based scheduling, e.g. credit or deficit based scheduling or token bank

Definitions

  • Queue scheduling apparatus queue scheduling method, information relay apparatus
  • the present invention relates to a queue scheduling device, a queue scheduling method, and an information relay device, for example, a technique effective when applied to control of communication quality (QoS: Quality of Service) on an information network.
  • QoS Quality of Service
  • DRR Deficit Round Robbin
  • the DRR read control unit 1002 performs the following [Step S1] to [Step S5] for a plurality of queues 1001 of l to n as in the reference technique of FIG.
  • Step S 1 Each queue is assigned a deficit value and a quantum value.
  • the Quantum value is a value determined by the bandwidth ratio of each queue, and the Deficit value is the initial value of the Quantum value, and the frame length is subtracted every time scheduling is used.
  • Step S2 Start from queue 1 and dequeue if there is a frame in cue 1 with a force greater than the deficit value power SO of cue 1 (read the cue force frame), and the deficit value in the dequeued frame Subtract long.
  • Step S3 The above [Step S2] is repeated until the Deficit value is 0 or less or there are no more frames.
  • Step S4 When the Deficit value is 0 or less or there are no more frames, the process moves to the next queue and executes the above-mentioned [Step S2] to [Step S3].
  • Step S5 When the last queue n is completed, the Quantum value of each queue is added to the Deficit value of queues l to n, respectively. At this time, the deficit value becomes Qua If it becomes larger than the ntum value, the deficit value is set to the same value as the Quantum value. Then, return to queue 1 and execute from [Step S2].
  • the Quantum value is the maximum frame length MTU (Maximum
  • Transfer Unit A value greater than (Transfer Unit) must be set. If it is Ethernet (registered trademark), but if jumbo frames are allowed, the MTU will increase accordingly.
  • the burst size (Burst size: —continuously in one dequeue from one queue) The length of the data to be read).
  • the minimum setting value for guaranteed minimum bandwidth must be the same as the MTU value. Therefore, the maximum setting value for guaranteed minimum bandwidth is the minimum setting value X bandwidth ratio.
  • Quantum The value must be 10,000 times the MTU value! /. If MTU is 1.5 kilobytes (Kbyte) of Ethernet (registered trademark), the Quantum value is 15 megabytes (Mbyte), that is, a burst amount (size) of 15 Mbytes. This is a very large burst amount and causes the following problems.
  • FIG. 2 As a reference technique, as shown in FIG. 2, it is assumed that there is a relay apparatus having a configuration in which a relay processing chip 1000 (chip 1) and a relay processing chip 2000 (chip 2) are mounted. In this case, the relay processing chip 1000 and the relay processing chip 2000 may be different devices! /.
  • 10G indicates the line speed of 10Gbps
  • 1G indicates the line speed of IGbps.
  • the relay processing chip 1000 is mounted with the queue 1001 and the DRR read control unit 1002 described above, and a frame arrives at each of the queues 1001 at a line speed of 10 G.
  • the processing chip 2000 outputs a frame at 10G.
  • the relay processing chip 1000 performs DRR or other QoS processing, passes it to the relay processing chip 2000 through the 10G line, and stores it in the transmission buffer 2001 (for example, queue) of the destination circuit in the relay processing chip 2000.
  • the frames shall be transmitted sequentially to the line.
  • relay processing chip 2000 has a flow of lOGbps on each lGbps line. In this case, only 15Mbyte is transferred.
  • the transmission buffer 2001 having such a capacity is provided in each line unit, the chip size of the relay processing chip 2 000 is increased, and the amount of memory to be mounted in the periphery increases. There are technical problems that the product is very large and the cost is very high.
  • queues 1001 of queue 1 to queue 3 there are three queues 1001 of queue 1 to queue 3, and the output line bandwidth from the DRR read control unit 1002 is lGbps.
  • the MTU of the line is 1 and all incoming packets are 1 in length.
  • the minimum bandwidth guarantee for queues 1 to 3 queue 1: 500 megabits Z seconds (Mbps)
  • the Quantum values for each queue are 10, 7, and 3, respectively.
  • the scheduling result in the DRR read control unit 1002 is as shown in FIG.
  • Fig. 4 “o” in the queue output means that the packet was output to the subsequent stage of the queue power.
  • the deficit value indicates what the deficit value is after the packet is sent out.
  • queue 1 has 10 "O” and 500 Mbps
  • queue 2 has 7 “O” and 350 Mbps
  • queue 3 has 3 "O” and 150 Mbps. I understand that. It can also be seen that queue 1 with a large deficit value affects the burst size accordingly.
  • the DRR read control unit 1002 cannot see the packet (the packet is not in the queue) even though the packet is in the queue 1001. Shaving is realized by adjusting the timing when packets actually existing in this queue are visible from the DRR read control unit 1002 side.
  • the maximum bandwidth is output up to the burst size, and then transmission is performed according to the set bandwidth. If this burst size is reduced, the burst amount can be suppressed. The tolerance to congestion with other queues is weakened, and even when the line is free, the maximum bandwidth is not fully used. Conversely, increasing the burst size increases resistance to congestion with other queues, but increases the burst size.
  • the burst size by queue shaving is set to 3.
  • the value of the bandwidth is not particularly meaningful, and is simply set to a value that is more than the minimum bandwidth guaranteed value.
  • the bandwidth power S of queue 3 is all 333 Mbps.
  • Queue 3 sends 333 Mbps to the minimum bandwidth of 150 Mbps, so there is no problem, but queue 1 outputs only 333 Mbps even though queue 2 has the minimum bandwidth of 500 Mbps and queue 2 has the minimum bandwidth of 350 Mbps. In other words, the minimum bandwidth guarantee is not observed.
  • the burst size setting for shaving is a problem.
  • the burst size should be set to at least 10 !,! /, Ken! / ⁇ (not limited to this example, Quantum A burst size greater than or equal to the value must be set).
  • Patent Document 1 describes a packet from each buffer (queue) in DRR control.
  • a contention control technique is disclosed in which a granularity value, which is a control parameter for determining whether or not data can be read, is set based on statistical observation information regarding the packet length.
  • Patent Document 1 guarantees the fairness of the throughput between the buffers, it is expected that it will be difficult to guarantee the minimum bandwidth of each buffer and to suppress the burst amount. Is done.
  • Patent Document 1 Japanese Patent Laid-Open No. 2001-223740
  • An object of the present invention is to provide a queue scheduling technique that can reduce the burst amount while maintaining the set bandwidth of each queue.
  • Another object of the present invention is to provide a queue scheduling technique that does not deteriorate the shaving accuracy even when used together with the implementation of shaving.
  • Another object of the present invention is to provide a queue scheduling technique capable of more evenly scheduling flows for each queue.
  • Another object of the present invention is to provide a queue scheduling technique capable of constructing an information relay apparatus at a lower cost.
  • Another object of the present invention is to provide an information relay apparatus capable of realizing stable bandwidth control and shaping according to the attributes of communication data at a low cost.
  • the first aspect of the present invention provides a plurality of queues that hold communication data in the order of arrival and an initial value that is provided corresponding to each of the queues and that corresponds to the attribute of the communication data held in the queue.
  • Storage means set as a value;
  • Queue control means for executing
  • a queue scheduling apparatus is provided.
  • a second aspect of the present invention is the queue scheduling apparatus according to the first aspect.
  • the initial value provides a queue scheduling apparatus that is set according to a minimum guaranteed bandwidth allocated to each of the queues.
  • a third aspect of the present invention provides the queue scheduling apparatus according to the first aspect, further comprising a shaving control means for shaving the communication data held in the queue.
  • the queue control means includes:
  • Management value calculation means provided in each of the queues
  • Dequeue execution means for sequentially trying to read the communication data for a plurality of the queues
  • the dequeue execution means is
  • all of the management value calculation means A function that outputs an initialization signal that instructs setting of the initial value to be true
  • the management value calculation means includes
  • the storage means When the initialization signal from the dequeue execution means is true, the storage means And a function of setting the initial value as the management value.
  • an initial value corresponding to an attribute of the communication data held in the queue is used as a management value.
  • a queue scheduling method is provided.
  • a sixth aspect of the present invention provides a queue scheduling method in which the initial value is set according to a minimum guaranteed bandwidth allocated to each of the queues in the queue scheduling method according to the fifth aspect.
  • a seventh aspect of the present invention provides a queue scheduling method according to the fifth aspect, further comprising a step of shaving the communication data held in the queue.
  • An eighth aspect of the present invention is a port control unit that manages a plurality of ports through which communication data is input and output, and a path control unit that switches a transfer path of the communication data between the plurality of ports.
  • an information relay device including:
  • the port control means includes
  • Storage means provided corresponding to each of the queues, and an initial value corresponding to an attribute of the communication data held in the queue is set as a management value;
  • the communication data is sequentially read out from the queue having the management value of 0 or more, and the queue power is read out
  • the length of the communication data corresponding to the queue is Subtracting from the control value
  • Queue control means for executing
  • An information relay device including a queue scheduling device including
  • a ninth aspect of the present invention is the information relay device according to the eighth aspect.
  • the initial value provides an information relay device that is set according to the minimum guaranteed bandwidth allocated to each of the queues.
  • a tenth aspect of the present invention is the information relay device according to the eighth aspect,
  • an information relay device including a shaving control means for shaving the communication data held in the queue is provided.
  • An eleventh aspect of the present invention is the information relay device according to the eighth aspect,
  • the queue control means includes
  • Management value calculation means provided in each of the queues
  • Dequeue execution means for sequentially trying to read the communication data for a plurality of the queues
  • the dequeue execution means is
  • the management value calculation means includes
  • the management value power of the communication data is a function that makes the second readable signal true if it is greater than the force SO,
  • the conventional technical problem described above is derived from the operation of the conventional DRR.
  • the conventional DRR operation that keeps dequeuing from the same queue until the deficit value becomes 0 is the cause of the burst size increase.
  • the target queue is also excluded from the target of scheduling (dequeue), and only for queues with a deficit value of 0 or more (that is, queues that still have frames) Perform dequeue with.
  • the burst size can be limited to one frame, and the above-mentioned technical problem can be solved.
  • DRR control capable of suppressing the burst amount to a certain amount or less can be realized.
  • FIG. 1 is a conceptual diagram showing a configuration of a DRR system that is a reference technique of the present invention.
  • FIG. 2 is a conceptual diagram showing the configuration of a relay device that implements the DRR system, which is the reference technology of the present invention.
  • FIG. 3 is a block diagram for explaining the operation when shaving is not executed according to the DRR method which is the reference technique of the present invention.
  • FIG. 4 is a conceptual diagram for explaining the operation when shaving is not executed according to the DRR system which is the reference technique of the present invention.
  • FIG. 5 is a conceptual diagram for explaining the operation when shaving is used in combination in the DRR system which is the reference technique of the present invention.
  • FIG. 6 is a conceptual diagram showing an example of the configuration of an information relay apparatus that implements a queue scheduling method according to an embodiment of the present invention.
  • FIG. 7 is a conceptual diagram showing an example of a configuration of a queue scheduling apparatus according to an embodiment of the present invention.
  • FIG. 8 is a conceptual diagram showing an example of a configuration of a deficit processing unit constituting the queue scheduling apparatus according to an embodiment of the present invention.
  • FIG. 9 is a conceptual diagram showing an example of a configuration of a dequeue execution unit that constitutes a queue scheduling apparatus according to an embodiment of the present invention.
  • FIG. 10 is a flowchart showing an example of the operation of the deficit processing unit in the queue scheduling apparatus according to one embodiment of the present invention.
  • FIG. 11 is a flowchart showing an example of the operation of the deficit processing unit in the queue scheduling apparatus according to one embodiment of the present invention.
  • FIG. 12 is a flowchart showing an example of the operation of the deficit processing unit in the queue scheduling apparatus according to one embodiment of the present invention.
  • FIG. 13 is a flowchart showing an example of the operation of the dequeue execution unit in the queue scheduling apparatus according to one embodiment of the present invention.
  • FIG. 14 is a conceptual diagram showing an example of the operation of a queue scheduling apparatus according to an embodiment of the present invention.
  • FIG. 6 is a conceptual diagram showing an example of the configuration of an information relay apparatus that implements the queue scheduling method according to an embodiment of the present invention.
  • the information relay device 100 according to the present embodiment includes a plurality of input / output ports 110 and a port control unit 12.
  • Each input / output port 110 is connected to an external communication line (not shown), and frame 300 (communication data) as communication data is input / output.
  • the internal switch 130 switches the transfer path of the frame 300 between the plurality of input / output ports 110.
  • Each input / output port 110 is provided with a port control unit 120 that controls input / output of the frame 300 with respect to the input / output port 110.
  • a packet analysis unit 121 On the input side of the frame 300 in the port control unit 120, a packet analysis unit 121, a destination search processing unit 122, and a queue scheduling device 200 are provided. In addition, a queue scheduling device 200 is provided on the output side of the port control unit 120.
  • the packet analysis unit 121 determines the attribute of the frame 300 based on the control information included in the frame 300 that arrives at the input / output port 110.
  • the destination search processing unit 122 determines information such as a destination address included in the frame 300.
  • the queue scheduling apparatus 200 on the input side performs the shaving (smoothing of traffic change with time) and the quality of communication service (QoS) such as minimum bandwidth guarantee for the incoming frame 300. Perform management.
  • the queue scheduling apparatus 200 on the output side manages the quality of the communication service of the frame 300 sent to the outside.
  • FIG. 7 is a conceptual diagram showing an example of the configuration of the queue scheduling apparatus 200 of the present embodiment.
  • the queue scheduling apparatus 200 includes a plurality of queues 210 (queue 1 to queue n), a queue control unit 220, and a shaving control unit 250.
  • the queue control unit 220 includes a plurality of deficit processing units 230 (management value calculation means) and a dequeue execution unit 240 (dequeue execution means).
  • the deficit processing unit 230 is provided in each queue 210.
  • the dequeue execution unit 240 passes the queue 210 from each of the plurality of queues 210 as described below. Execute read (dequeue) of program 300.
  • the shaving control unit 250 notifies the deficit processing unit 230 of information such as the presence / absence of the frame 300 and the frame length L in the individual queues 210 via the shaving signal 251.
  • the shaving control unit 250 appropriately controls the shaving signal 251 so that the frame 300 does not exist until a predetermined timing even when the frame 300 actually exists in the queue 210.
  • control is performed so that the traffic becomes substantially constant at the upper limit value set in the queue 210.
  • dequeue enable signal 2 63 (first readable signal) and more—dequeue signal 264 (second readable signal), which will be described later, are sent from the deficit processing unit 230 to the dequeue execution unit 240. Is output.
  • the dequeue execution unit 240 outputs two logical signals, a dequeue request signal 261 and an add-quantum signal 262, which will be described later, to the deficit processing unit 230.
  • FIG. 8 is a conceptual diagram showing an example of the configuration of the deficit processing unit 230 of the present embodiment.
  • the deficit processing unit 230 of this embodiment includes a calculation Z control logic 231, a quantum value register 232 (storage means), and a deficit value register 233 (storage means).
  • the Quantum value Vq (initial value) corresponding to the minimum guaranteed bandwidth assigned to the queue 210 corresponding to the Deficit processing unit 230 is set.
  • a deficit value Vd (management value) initialized by the quantum value Vq is set.
  • the calculation Z control logic 231 obtains information on the presence / absence of the frame 300 in the corresponding queue 210 and information on the frame length L based on the shaving signal 251 input from the shaving control unit 250.
  • calculation Z control logic 231 performs reception processing (according to determination of the logical state) of the dequeue request signal 261 and the add-quantum signal 262 from the dequeue execution unit 240.
  • FIG. 9 is a conceptual diagram showing an example of the configuration of the dequeue execution unit 240 of the present embodiment.
  • the dequeue execution unit 240 of this embodiment includes a dequeue control logic 241, a round robin power counter 242, and an internal state register 243.
  • the round robin counter 242 is a counter that stores a counter value for sequentially accessing each of the plurality of queues 210. In the case of the present embodiment, the counter value returns to 1 when counting up to n corresponding to queue 1 to queue n.
  • the internal status register 243 is dequeued in all of the plurality of queues 210, even though it can be dequeued based on the value of the deficit value Vd.
  • An internal state flag 243a for determining whether or not the force is applied is stored.
  • the dequeue control logic 241 includes a dequeue enable signal 26 output from the deficit processing unit 230.
  • the frame 300 arriving at an arbitrary input / output port 110 is identified by the packet analysis unit 121 of the port control unit 120 for attributes such as urgency, minimum bandwidth to be allocated, and traffic. Further, the destination search processing unit 122 determines the destination.
  • queue scheduling apparatus 200 In queue scheduling apparatus 200, according to the attribute discrimination result of frame 300 in packet analysis section 121, frame 300 is distributed to queue 210 having a corresponding attribute set. [0086] Then, in queue scheduling apparatus 200, the QoS necessary for frame 300 is realized by controlling the reading order of frames 300 in each of a plurality of queues 210 as described below as an example. To do.
  • the internal switch 130 transfers the frame 300 arriving from the queue scheduling apparatus 200 on the input side to the output side of the input / output port 110 corresponding to the destination determined by the destination search processing unit 122, and this output
  • the frame 300 transferred to the side is output to the outside through the queue scheduling device 200 similar to that on the input side.
  • the following queue read control is performed.
  • the queue 210 is excluded from scheduling (dequeueing), and only the queue 210 having a deficit value Vd of 0 or more (that is, the queue with the frame 300 still) is the same. Execute dequeue in order (Round Robbin).
  • the deficit value Vd is reset (initialized) with the quantum value Vq, and the process returns to the beginning.
  • the burst size is limited to the frame length L of one frame, and the above-mentioned technical problem can be solved.
  • FIG. 10, FIG. 11, and FIG. 12 are diagrams in the queue scheduling apparatus 200 of the present embodiment.
  • 5 is a flowchart showing an example of the operation of a deficit processing unit 230.
  • the deficit processing unit 230 always executes the following [Operation SI 1] to [Operation S 14].
  • the deficit processing unit 230 (calculation Z control logic 231) initializes the deficit value Vd with the quantum value Vq (step 401).
  • step 402 it is checked based on the shaving signal 251 whether or not there is a frame 300 in the corresponding queue 210 (step 402).
  • Dequeue enable signal 263 is negated (step 403), and if frame 300 is in queue 210, dequeue enable signal 263 is asserted (step 406). .
  • the dequeue request signal 261 may be asserted at any time by the dequeue execution unit 240 force.
  • the deficit processing unit 230 detects the dequeue request signal 261 being asserted (step 411) and removes it from the corresponding queue 210.
  • One frame 300 is dequeued (removed) and transferred to the dequeue execution unit 240 (step 412), and the frame length L of the frame 300 is subtracted from the deficit value Vd (step 413).
  • the deficit processing unit 230 detects the add-quantum signal 262 (step 421), the deficit processing unit 230 calculates the quantum value Vq to the deficit value Vd (step 422). However, in this addition, if the addition result becomes larger than the Quantum value Vq, the Deficit value Vd is set to the same value as the Quantum value Vq.
  • the operation of the dequeue execution unit 240 is as follows, for example.
  • [Operation S22] Refer to the dequeue enable signal 263 and the more—dequeue signal 264 of the plurality of queues 210 in order (in order from 1 to n of the value of the round robin counter 242). If the dequeue enable signal 263 is asserted, the queuer also performs dequeue only once (outputs the dequeue request signal 261 to the deficit calculation unit). Also, when dequeue is performed and the more-dequeue signal 264 is asserted, set rr—continue to 1.
  • dequeue execution unit 240 The processing of the dequeue execution unit 240 will be further described with reference to the flowchart of FIG.
  • the dequeue execution unit 240 sets the round robin counter 242 to 1, sets the queue 1 as a dequeue target, and initializes the internal state flag 243a (rr_continue) to 0 (step 501).
  • step 502 it is determined whether or not the dequeue enable signal 263 of the corresponding queue is asserted.
  • the dequeue request signal After negating No. 261 (step 503), it is determined whether or not the power has completely gone through all the queues 210 (whether the corresponding queue is queue n or not) (step 504).
  • step 505 the processing returns to step 502 described above.
  • step 502 If it is determined in step 502 above that the dequeue enable signal 263 of the corresponding queue is asserted, the dequeue request signal 2 to the deficit processing unit 230 of the corresponding queue
  • step 506 the dequeued frame 300 is received from the deficit processing unit 230, output to the internal switch 130 at the subsequent stage, and the dequeue request signal 261 is negated (step 507).
  • step 508 it is determined whether the more—dequeue signal 264 of the corresponding queue is asserted. If it is asserted, rr_continue is set to 1 (step 509) and step 504 is executed. Execute.
  • step 504 If it is determined in step 504 that all queues 210 have been dequeued (that is, the value of round-robin counter 242 is the maximum value n), whether rr—continue is 0 or not is determined. Determine (step 510).
  • step 511 After 62 is asserted to initialize the deficit value Vd (step 511), the process returns to the first step 501.
  • step 510 If it is determined in step 510 that rr—continue is not 0, the first step 5
  • the dequeue is executed in order only for the queue 210 that has not used up the deficit value Vd in the previous round.
  • the deficit processing unit 230 corresponding to each queue 210 indicates whether or not the bandwidth allocated to the queue 210 (that is, the value of the deficit value Vd) is used up.
  • Use signal 264 and the allocated bandwidth turn it off! /, Na! /, Cue 210
  • the bandwidth ratio allocated in all the queues 210 can be accurately protected.
  • the number of queues is 3, the minimum bandwidth is 500Mbps (queue 1), 350Mbps (queue 2), 150 Mbps (queue 3), and shaving is 500Mbps (queue 1), 500Mbps (queue 2), 300Mbps (queue) 3). Similarly, the shaving burst size is set to 3.
  • the scheduling result by the queue scheduling apparatus 200 of the present embodiment is as shown in FIG.
  • the force that the burst size of the queue shaper is 3. Since one frame is taken out from each queue, the problem that scheduling cannot be performed due to insufficient burst size even though it is larger than the deficit value Vd force O. It does not occur in the case of the embodiment.
  • frames are output from queue 1 with a maximum of 3 bursts, so that the capacity of the transmission buffer on the output side is limited to the length of 3 to 4 frames. Since the conventional example shown in FIGS. 4 and 5 requires a buffer of 10 frames, it can be seen that in the case of the present embodiment, the required buffer size can be significantly reduced.
  • the shaving controller 250 of the queue 210 has to perform burst transfer that is equal to or greater than the value of the deficit value Vd.
  • the set value of the burst size by the shaving control unit 250 must also be lowered. For this reason, there is a situation in which there is a frame 300 in the cue 210 but the power of shaving should not be dequeued.
  • the deficit value 230 of the deficit processing unit 230 may be reset (initialization by the quantum value Vq), and there may be a moment when scheduling according to the set bandwidth cannot be performed as it is.
  • the more-dequeue signal 264 is provided, and in the assertion process of the more-dequeue signal 264, it is determined whether or not there is a second packet in the corresponding queue 210.
  • the burst size on the output side of the queue control unit 220 of the queue scheduling apparatus 200 is always suppressed to the frame length L of one frame. Even if only a single flow of the frame 300 flows in the information relay apparatus 100, the burst size can be suppressed to the burst size set by the shaving control unit 250.
  • the shaving control unit 250 In conventional DRR implementation, the shaving control unit 250 must be allowed to set a burst size greater than the Quantum value Vq. Otherwise, the bandwidth ratio could not be maintained.
  • the burst size of the shaving control unit 250 may be set to a minimum, so that the burst size can be considerably suppressed even in a single flow.
  • the burst size can be suppressed, for example, the capacity of the data buffer provided in the internal switch 130 or the like located at the subsequent stage of the queue control unit 220 corresponding to the burst size can be reduced.
  • the present invention it is possible to provide an information relay apparatus capable of realizing stable bandwidth control and shelving according to attributes of communication data at a low cost.
  • the present invention is not limited to the configuration exemplified in the above-described embodiment, and it goes without saying that various modifications can be made without departing from the spirit of the present invention.
  • the configurations of the information relay device 100 and the queue scheduling device 200 that implement the queue scheduling technique of the present invention are examples, and are widely used in general information devices. It is possible to apply.

Abstract

A dequeue execution section basically shifts to readout a next queue after dequeuing one frame. When a deficit value controlled in a deficit processing section becomes 0 in queue, the queue is excluded from a scheduling (dequeue) subject but a deficit value that is not less than 0 in queue, i.e., a queue that still includes a frame, is only subjected to the execution of a dequeue in turn. When all the queues are excluded from scheduling subjects, the deficit processing section resets the deficit value by a quantum value and returns to an initial state. A burst size at the dequeue can be suppressed to be one frame.

Description

明 細 書  Specification
キュースケジューリング装置、キュースケジューリング方法、情報中継装置 技術分野  Queue scheduling apparatus, queue scheduling method, information relay apparatus
[0001] 本発明は、キュースケジューリング装置、キュースケジューリング方法、情報中継装 置に関し、たとえば、情報ネットワーク上における通信品質(QoS : Quality of Service )等の制御に適用して有効な技術に関する。  TECHNICAL FIELD [0001] The present invention relates to a queue scheduling device, a queue scheduling method, and an information relay device, for example, a technique effective when applied to control of communication quality (QoS: Quality of Service) on an information network.
背景技術  Background art
[0002] たとえば、ルータ等の情報中継装置等に実装されている QoS制御におけるスケジ ユーリング技術として、最低帯域保証を実現するために各キュー間の出力帯域比率 を定義し、その比率でスケジューリングするデフイシットラウンドロビン(DRR : Deficit Round Robbin)というスケジューリング技術がある。  [0002] For example, as a scheduling technique for QoS control implemented in information relay devices such as routers, the output bandwidth ratio between queues is defined and scheduling is performed at that ratio in order to achieve minimum bandwidth guarantee. There is a scheduling technique called Deficit Round Robbin (DRR).
[0003] この DRR方式の概要は以下の通りである。  [0003] The outline of the DRR method is as follows.
図 1の参考技術のような l〜nの複数のキュー 1001に対して、 DRR読み出し制御 部 1002力 次の [ステップ S 1]〜 [ステップ S5]を実行する。  The DRR read control unit 1002 performs the following [Step S1] to [Step S5] for a plurality of queues 1001 of l to n as in the reference technique of FIG.
[0004] [ステップ S 1] 各キューには Deficit値、 Quantum値を付与する。 Quantum値は 各キューの帯域比率によって決められる値であり、 Deficit値は初期値が Quantum 値で、スケジューリングする度にフレーム長が減算される値であり、スケジューリング 時に使う。  [0004] [Step S 1] Each queue is assigned a deficit value and a quantum value. The Quantum value is a value determined by the bandwidth ratio of each queue, and the Deficit value is the initial value of the Quantum value, and the frame length is subtracted every time scheduling is used.
[0005] [ステップ S2] まずキュー 1からスタートし、キュー 1の Deficit値力 SOより大きぐ力 つキュー 1にフレームがあればデキューし(キュー力 フレームを読み出し)、 Deficit 値をそのデキューしたフレーム長分減算する。  [0005] [Step S2] Start from queue 1 and dequeue if there is a frame in cue 1 with a force greater than the deficit value power SO of cue 1 (read the cue force frame), and the deficit value in the dequeued frame Subtract long.
[0006] [ステップ S3] 前記 [ステップ S2]を、 Deficit値が 0以下もしくはフレームがなくな るまで繰り返す。  [0006] [Step S3] The above [Step S2] is repeated until the Deficit value is 0 or less or there are no more frames.
[ステップ S4] Deficit値が 0以下もしくはフレームがなくなったら次のキューに移り 、上述の [ステップ S2]〜 [ステップ S3]を実行する。  [Step S4] When the Deficit value is 0 or less or there are no more frames, the process moves to the next queue and executes the above-mentioned [Step S2] to [Step S3].
[0007] [ステップ S5] 最後のキュー nまで終わればキュー l〜nの Deficit値にそれぞれの キューの Quantum値をそれぞれ加算する。このとき、加算によって Deficit値が Qua ntum値より大きくなつたら、 Deficit値は Quantum値と同じ値にする。そして、再び キュー 1に戻って [ステップ S2]から実行する。 [0007] [Step S5] When the last queue n is completed, the Quantum value of each queue is added to the Deficit value of queues l to n, respectively. At this time, the deficit value becomes Qua If it becomes larger than the ntum value, the deficit value is set to the same value as the Quantum value. Then, return to queue 1 and execute from [Step S2].
[0008] この DRR方式では、各キューのうち、設定された Quantum値が大きいキューほど 、たくさんのフレームが連続してデキューされる。従って、各キュー間で Quantum値 を適切に設定することでキュー間の帯域比率を設定でき、最低帯域保証を実現して いる。 [0008] In this DRR method, of the queues, the larger the set Quantum value, the more frames are dequeued successively. Therefore, by setting the Quantum value appropriately between each queue, the bandwidth ratio between queues can be set, and the minimum bandwidth guarantee is realized.
[0009] ただ、 Quantum値は、その回線に流せる最大フレーム長である MTU (Maximum  [0009] However, the Quantum value is the maximum frame length MTU (Maximum
Transfer Unit)以上の値を設定しなければならない。 Ethernet (登録商標)であ の場合)であるが、ジャンボフレームを許容するのであれば、 MTUはそれに応じて大 きくなる。  A value greater than (Transfer Unit) must be set. If it is Ethernet (registered trademark), but if jumbo frames are allowed, the MTU will increase accordingly.
[0010] ここで、 DRR方式の場合、特定のキューで Deficit値が 0になるまでデキューし続け るため、 Quantum値力 そのままバーストサイズ(Burst size :—つのキューから 1 回のデキューで連続して読み出されるデータの長さ)になる。ただし、 Quantum値は MTU値以上にしなければならな 、ので、最低帯域保証の最小設定値を MTU値と 同じにしなければならない。そのため、最低帯域保証の最大設定値は最小設定値 X 帯域比率となる。  [0010] Here, in the DRR method, dequeue is continued until the deficit value reaches 0 in a specific queue. Therefore, the burst size (Burst size: —continuously in one dequeue from one queue) The length of the data to be read). However, since the Quantum value must be greater than or equal to the MTU value, the minimum setting value for guaranteed minimum bandwidth must be the same as the MTU value. Therefore, the maximum setting value for guaranteed minimum bandwidth is the minimum setting value X bandwidth ratio.
[0011] ここで、最低帯域保証の最低設定値 100キロビット Z秒 (Kbps)、最大設定値 1ギ ガビット Z秒 (Gbps)を許容するものとすると、 IGbpsの最低帯域保証設定をした際、 Quantum値は MTU値の 10000倍としなければならな!/、。 Ethernet (登録商標)の 1. 5キロバイト(Kbyte)を MTUとすると、 Quantum値は 15メガバイト(Mbyte)とな り、すなわち 15Mbyteのバースト量(サイズ)となる。これはバースト量としては非常に 大きぐ以下のような問題が発生する。  [0011] Here, assuming that the minimum setting value of minimum bandwidth guarantee is 100 kilobits Z seconds (Kbps) and the maximum setting value is 1 gigabit Z seconds (Gbps), Quantum The value must be 10,000 times the MTU value! /. If MTU is 1.5 kilobytes (Kbyte) of Ethernet (registered trademark), the Quantum value is 15 megabytes (Mbyte), that is, a burst amount (size) of 15 Mbytes. This is a very large burst amount and causes the following problems.
[0012] 参考技術として図 2に示されるように、中継処理チップ 1000 (chip 1)と中継処理チ ップ 2000 (chip2)が搭載された構成の中継装置があつたとする。この場合、中継処 理チップ 1000と中継処理チップ 2000はそれぞれが別装置であってもよ!/、。なお、 図 2において、 10Gとは 10Gbps、 1Gとは IGbpsのそれぞれ回線速度を示している [0013] 中継処理チップ 1000は、上述のキュー 1001と DRR読み出し制御部 1002が実装 されており、キュー 1001の各々に 10Gの回線速度でフレームが到来し、 DRR読み 出し制御部 1002から後段の中継処理チップ 2000には 10Gでフレームが出力され る。 [0012] As a reference technique, as shown in FIG. 2, it is assumed that there is a relay apparatus having a configuration in which a relay processing chip 1000 (chip 1) and a relay processing chip 2000 (chip 2) are mounted. In this case, the relay processing chip 1000 and the relay processing chip 2000 may be different devices! /. In Figure 2, 10G indicates the line speed of 10Gbps, and 1G indicates the line speed of IGbps. The relay processing chip 1000 is mounted with the queue 1001 and the DRR read control unit 1002 described above, and a frame arrives at each of the queues 1001 at a line speed of 10 G. The processing chip 2000 outputs a frame at 10G.
[0014] フレームの宛先は中継処理チップ 1000に入る前段で決定しているものとする。中 継処理チップ 1000もしくは中継処理チップ 2000のそれぞれが決定する方式でもよ V、が、本発明に関係な!/、ため記載は省略する。  [0014] It is assumed that the destination of the frame is determined in the previous stage of entering the relay processing chip 1000. The method is determined by each of the relay processing chip 1000 or the relay processing chip 2000, but it is not related to the present invention!
[0015] 中継処理チップ 1000にて DRR等の QoS処理を実施し、 10Gの回線を通して中継 処理チップ 2000に渡し、中継処理チップ 2000において宛先の回線が持つ送信バ ッファ 2001 (たとえばキュー)に格納し、そのフレームを順次回線に送信するものとす る。  [0015] The relay processing chip 1000 performs DRR or other QoS processing, passes it to the relay processing chip 2000 through the 10G line, and stores it in the transmission buffer 2001 (for example, queue) of the destination circuit in the relay processing chip 2000. The frames shall be transmitted sequentially to the line.
[0016] 今、中継処理チップ 1000に 1G X 10のフローが来て、中継処理チップ 2000の先 から、それぞれ 1Gのフローが 10方路に分散して出て行く形態を考える。  [0016] Now, consider a mode in which a 1G X 10 flow comes to the relay processing chip 1000 and the 1G flow is distributed in 10 directions from the end of the relay processing chip 2000.
中継処理チップ 1000から中継処理チップ 2000に対するフローに DRRが実行され ていて、上記の Quantum値が設定されているとすると、中継処理チップ 2000には、 それぞれの lGbpsの回線に出すフローが lOGbpsのスピードで 15Mbyteだけ転送 されることとなる。  If DRR is executed on the flow from relay processing chip 1000 to relay processing chip 2000, and the above Quantum value is set, relay processing chip 2000 has a flow of lOGbps on each lGbps line. In this case, only 15Mbyte is transferred.
[0017] この場合、フローが 10個あるので、結果としては lGbpsずつの転送量になっている 。しかし、バースト量が大きすぎるので、個々のキューに保持された複数のパケット(フ レーム)のデキュー間隔は、他のキューのバーストサイズに影響されて大きくばらつく ことになり、一つのキュー内で連続する複数のパケット間のデキュー間隔 (すなわち、 送信間隔)のばらつき、いわゆるジッタ (jitter)が非常に大きくなつている。  [0017] In this case, since there are ten flows, the result is a transfer amount of lGbps. However, since the burst amount is too large, the dequeue interval of multiple packets (frames) held in individual queues will vary greatly depending on the burst size of other queues, and it will continue in one queue. Variations in the dequeue interval (ie, transmission interval) between multiple packets, the so-called jitter, is becoming very large.
[0018] すなわち、中継処理チップ 2000の各 lGbpsの回線に用意されている送信バッファ 2001に、 lOGbpsの速度で 15Mbyte来ることになる。 lGbpsのスピードで外に出す ので、結果的に各 lGbpsの回線ごとに 13. 5Mbyteの送信バッファ 2001が必要とな る。  That is, 15 Mbytes are transmitted to the transmission buffer 2001 prepared for each lGbps line of the relay processing chip 2000 at the lOGbps speed. Since it goes out at lGbps speed, 13.5Mbyte transmission buffer 2001 is required for each lGbps line as a result.
[0019] 各回線単位にこれだけの容量の送信バッファ 2001を持たせると中継処理チップ 2 000のチップサイズが大きくなる力、周辺に実装するメモリ量が多くなるため、実装面 積が非常に大きくなつたり、コストが非常に高くつくといった技術的課題を生じる。 [0019] If the transmission buffer 2001 having such a capacity is provided in each line unit, the chip size of the relay processing chip 2 000 is increased, and the amount of memory to be mounted in the periphery increases. There are technical problems that the product is very large and the cost is very high.
[0020] また、送信バッファ 2001の容量を増やさないとすると、送信バッファ 2001が溢れて フレームが廃棄されてしま 、、各回線で lGbpsの回線速度をフルに使 、切れな 、。  [0020] Also, if the capacity of the transmission buffer 2001 is not increased, the transmission buffer 2001 overflows and frames are discarded, and the line speed of lGbps is fully used for each line.
[0021] また、 DRRによるスケジューリングは最低帯域保証を行うものであり、最大帯域を制 限する、すなわちシェービングを行うものではないため、シェービング機能は DRRと は別で機能実装が行われる。このシェービング処理を組み合わせることでバーストサ ィズを少なくはできるが、そうなると最低帯域保証が守られなくなる。その例を以下に 示す。  [0021] In addition, since scheduling by DRR guarantees the minimum bandwidth and limits the maximum bandwidth, that is, not shaving, the shaving function is implemented separately from DRR. By combining this shaving process, the burst size can be reduced, but the minimum bandwidth guarantee cannot be maintained. An example is shown below.
[0022] まず、比較のためにシェービングを実施しない場合の例を以下に示す。  [0022] First, an example in which shaving is not performed for comparison is shown below.
今、図 3のようにキュー 1〜キュー 3の 3本のキュー 1001があり、 DRR読み出し制御 部 1002からの出力回線帯域を lGbpsとする。簡単のために、回線の MTUを 1とし、 やってくるパケットも全て長さ 1であるとする。この時、キュー 1〜3の最低帯域保証を、 キュー 1: 500メガビット Z秒(Mbps)  As shown in FIG. 3, there are three queues 1001 of queue 1 to queue 3, and the output line bandwidth from the DRR read control unit 1002 is lGbps. For simplicity, assume that the MTU of the line is 1 and all incoming packets are 1 in length. At this time, the minimum bandwidth guarantee for queues 1 to 3, queue 1: 500 megabits Z seconds (Mbps)
キュー 2 : 350Mbps  Queue 2: 350Mbps
キュー 3 : 150Mbps  Queue 3: 150Mbps
とし、最低帯域保証の最低値を 50Mbpsとすると、各々のキューに対する Quantum 値は順に 10、 7、 3となる。  If the minimum guaranteed bandwidth is 50 Mbps, the Quantum values for each queue are 10, 7, and 3, respectively.
[0023] この時、各々のキュー 1001でシェービングを実施していなければ、 DRR読み出し 制御部 1002でのスケジューリング結果は図 4の様になる。  At this time, if the shaving is not performed in each queue 1001, the scheduling result in the DRR read control unit 1002 is as shown in FIG.
図 4において、キューの出力に "〇"があるのは、そのキュー力 後段へパケットを出 力したことを意味する。また、 Deficit値はパケットを出した後の Deficit値がどうなつ ているかを示している。また、長さ 1のパケットを後段に流すのにかかる時間を 1とし、 時刻 t = 0からスケジューリング開始したと仮定して図 4を記載している。  In Fig. 4, “o” in the queue output means that the packet was output to the subsequent stage of the queue power. The deficit value indicates what the deficit value is after the packet is sent out. In addition, Fig. 4 is shown assuming that the time taken to flow a packet of length 1 downstream is 1, and that scheduling is started from time t = 0.
[0024] この図 4において、 DRR読み出し制御部 1002は、まずキュー 1からスケジユーリン グを開始する。 Deficit値の初期値が 10なので、時刻 t = 0〜9までキュー 1からスケ ジユーリングし、時刻 t = 9でのスケジューリング結果より Deficit値が 0となったため次 のキューに移る。  In FIG. 4, the DRR read control unit 1002 first starts scheduling from queue 1. Since the initial value of the deficit value is 10, scheduling is performed from queue 1 from time t = 0 to 9, and the deficit value becomes 0 from the scheduling result at time t = 9, so the process moves to the next queue.
[0025] 時刻 t= 10からは次のキュー 2からスケジューリングを実施し、時刻 t= 16までスケ ジユーリングして同様にキュー 3に移る。キュー 3でも同様に時刻 t= 17〜19までスケ ジユーリングし、全てのキューを一巡したため Deficit値をクリア(Quantum値 Vqを 加算)し、時刻 t= 20からまた同様にスケジューリングを行う。 [0025] From time t = 10, scheduling is performed from the next queue 2 until time t = 16. Go to queue 3 in the same way. Similarly for queue 3, scheduling is performed from time t = 17 to 19, and all queues have been completed, so the deficit value is cleared (quantum value Vq is added), and scheduling is performed again from time t = 20.
[0026] この例では、 DRRは時刻 t=0〜19がー巡であり、このなかで出力したパケット量の 全体からの比率で帯域が算出できる。 DRR読み出し制御部 1002の出力側の回線 速度は IGbpsなので、それを 20で割ると図 4の "〇"一つが 50Mbpsに相当する。  [0026] In this example, DRR has a round from time t = 0 to 19, and the bandwidth can be calculated by the ratio of the total amount of packets output. Since the line speed on the output side of the DRR read control unit 1002 is IGbps, when it is divided by 20, one “◯” in Fig. 4 corresponds to 50Mbps.
[0027] 従って、キュー 1は "〇"が 10個で 500Mbps、キュー 2は "〇"が 7つで 350Mbps、 キュー 3は "〇"が 3つで 150Mbpsとなり、最低帯域保証が実現できていることが分か る。また、 Deficit値が大きいキュー 1は、それだけバーストサイズに影響していること も分かる。  [0027] Therefore, queue 1 has 10 "O" and 500 Mbps, queue 2 has 7 "O" and 350 Mbps, and queue 3 has 3 "O" and 150 Mbps. I understand that. It can also be seen that queue 1 with a large deficit value affects the burst size accordingly.
[0028] 次に、図 5を参照して、 3本のキュー 1〜3のそれぞれがシェービングを実施している 状況を想定した場合について説明する。  [0028] Next, with reference to FIG. 5, a case will be described in which a situation is assumed in which each of the three queues 1 to 3 is performing shaving.
シェービングの実施によって、パケットがキュー 1001にあるにも関わらず、 DRR読 み出し制御部 1002からはそれが見えない (パケットがキュー内に無い)ような状態に なる。このキュー内に実在するパケットが、 DRR読み出し制御部 1002の側から見え る Z見えな 、、のタイミングを調整することでシェービングが実現される。  By performing shaving, the DRR read control unit 1002 cannot see the packet (the packet is not in the queue) even though the packet is in the queue 1001. Shaving is realized by adjusting the timing when packets actually existing in this queue are visible from the DRR read control unit 1002 side.
[0029] 厳密にシェービングを実施するとバーストサイズがない(完全にパケット単位で出力 時間が調整される)が、実際にはバーストサイズがある程度発生する。また、シエーピ ングの方式で基本的に使われるリーキパケット方式やトークンパケット方式では、許容 するバーストサイズの指定も行える。  [0029] When shave is performed strictly, there is no burst size (the output time is completely adjusted in units of packets), but in reality, a burst size is generated to some extent. In addition, in the leaky packet method and token packet method, which are basically used in the shaping method, an allowable burst size can be specified.
[0030] すなわち、バーストサイズまでは最大帯域で出力し、その後は設定帯域に従って送 出が実施される。このバーストサイズを小さくするとバースト量は抑えられる力 他のキ ユーとの輻輳に対する耐性が弱くなり、回線が空いていても最大帯域まで使い切れ ない状況が発生しやすい。逆に、バーストサイズを大きくすると他のキューとの輻輳に 対する耐性は上がるが、バーストサイズが大きくなつてしまう。  [0030] That is, the maximum bandwidth is output up to the burst size, and then transmission is performed according to the set bandwidth. If this burst size is reduced, the burst amount can be suppressed. The tolerance to congestion with other queues is weakened, and even when the line is free, the maximum bandwidth is not fully used. Conversely, increasing the burst size increases resistance to congestion with other queues, but increases the burst size.
[0031] 図 5の例では、キューのシェービングによるバーストサイズを 3とする。また、各キュ 一のシェービング帯域を、 In the example of FIG. 5, the burst size by queue shaving is set to 3. In addition, the shaving band of each queue
キュー 1 : 500Mbps キュー 2 : 500Mbps Queue 1: 500Mbps Queue 2: 500Mbps
キュー 3 : 300Mbps  Queue 3: 300Mbps
とする。帯域の値に特に意味はなぐ単に最低帯域保証の値以上を設定している。  And The value of the bandwidth is not particularly meaningful, and is simply set to a value that is more than the minimum bandwidth guaranteed value.
[0032] この例でのスケジューリング結果は以下の様になる。  [0032] The scheduling result in this example is as follows.
先ほどの図 4の例と同様に、まずキュー 1からスケジューリングを実施する。キュー 1 力も時刻 t = 0、 1、 2でスケジューリングを実施し、まだ Deficit値が 7なのでスケジュ 一リング可能だが、前段でシェービングしており、そのバーストサイズが 3であるため、 DRR読み出し制御部 1002からはキュー 0にパケットがない状態で見える。  As in the previous example in Fig. 4, scheduling is first performed from queue 1. Scheduling is also performed at time t = 0, 1, and 2 for queue 1 and scheduling is possible because the deficit value is 7, but shaving is performed in the previous stage and the burst size is 3, so DRR read controller 1002 Appears to have no packets in queue 0.
[0033] そのため、ここでキュー 0のスケジューリングは終了し、次のキューに移る。キュー 2 でも同様に、時刻 t = 5で Deficit値がまだ 0になって!/ヽな 、が、シェービングでのバ 一ストサイズからここでスケジューリングが終了する。キュー 3では時刻 t = 8で Deficit 値が 0になったのでスケジューリングを終了する。これで全てのキューを一巡したため Deficit値をクリア(Quantum値力卩算)し、時刻 t= 9からまた同様にスケジューリング を行う。  [0033] Therefore, the scheduling of queue 0 ends here, and the process moves to the next queue. Similarly for queue 2, the deficit value is still 0 at time t = 5! / ヽ, but scheduling ends here due to the shaving burst size. In queue 3, the deficit value reaches 0 at time t = 8, so scheduling ends. Since all the queues have been completed, the deficit value is cleared (quantum value calculation), and scheduling is performed again from time t = 9.
[0034] この図 5の例では、 DRRは時刻 t=0〜8がー巡であり、このなかで出力したパケット 量の全体力もの比率で同様に帯域が算出でき、キュー 1、キュー 2、キュー 3の帯域 力 S全て 333Mbpsとなる。キュー 3は最低帯域 150Mbpsに対して 333Mbpsを送出し ているので問題ないが、キュー 1は最低帯域 500Mbps、キュー 2は最低帯域 350M bpsであるにも関わらず 333Mbpsしか出力していない。すなわち、最低帯域保証が 守られていない。  [0034] In the example of Fig. 5, DRR is a cycle from time t = 0 to 8, and the bandwidth can be calculated in the same way by the ratio of the total amount of packets output, and queue 1, queue 2, The bandwidth power S of queue 3 is all 333 Mbps. Queue 3 sends 333 Mbps to the minimum bandwidth of 150 Mbps, so there is no problem, but queue 1 outputs only 333 Mbps even though queue 2 has the minimum bandwidth of 500 Mbps and queue 2 has the minimum bandwidth of 350 Mbps. In other words, the minimum bandwidth guarantee is not observed.
[0035] これは、シェービングのバーストサイズ設定が問題であり、この例ではバーストサイ ズは最低でも 10以上に設定しな!、と!/、けな!/ヽ(この例に限らず、 Quantum値以上の バーストサイズを設定しなければならな 、)。  [0035] This is because the burst size setting for shaving is a problem. In this example, the burst size should be set to at least 10 !,! /, Ken! / ヽ (not limited to this example, Quantum A burst size greater than or equal to the value must be set).
[0036] 従って、シェービングを実装して DRRのバーストサイズを抑えると最低帯域保証が 実現できなくなるので、結局、シェービングのバーストサイズを上げるしかないが、そ れだとシェービングの精度が悪くなり、ひど 、場合はシェービングして 、るのか否か すら分力 ない程の精度にまで悪ィ匕してしまう。  [0036] Therefore, if shaving is implemented and the burst size of DRR is reduced, the minimum bandwidth guarantee cannot be realized. Eventually, there is no choice but to increase the shaving burst size. In such a case, shaving is performed, and even the accuracy of the shaving is not good enough.
[0037] なお、特許文献 1には、 DRR制御において、個々のバッファ(キュー)からのパケット の読み出しの可否を判定するための制御パラメタである粒度の値を、パケット長に関 する統計的観測情報に基づ 、て設定する競合制御技術が開示されて 、る。 [0037] It should be noted that Patent Document 1 describes a packet from each buffer (queue) in DRR control. A contention control technique is disclosed in which a granularity value, which is a control parameter for determining whether or not data can be read, is set based on statistical observation information regarding the packet length.
[0038] し力し、この特許文献 1の技術では、各バッファ間におけるスループットの公平性は 担保されるものの、個々のバッファの最低帯域保証や、バースト量の抑制が困難にな ることが予想される。  [0038] However, although the technique of Patent Document 1 guarantees the fairness of the throughput between the buffers, it is expected that it will be difficult to guarantee the minimum bandwidth of each buffer and to suppress the burst amount. Is done.
特許文献 1:特開 2001— 223740号公報  Patent Document 1: Japanese Patent Laid-Open No. 2001-223740
発明の開示  Disclosure of the invention
[0039] 本発明の目的は、個々のキューの設定帯域を維持しつつ、バースト量を低減させる ことが可能なキュースケジューリング技術を提供することにある。  [0039] An object of the present invention is to provide a queue scheduling technique that can reduce the burst amount while maintaining the set bandwidth of each queue.
本発明の他の目的は、シェービングの実装と併用してもシェービング精度を悪ィ匕さ せないキュースケジューリング技術を提供することにある。  Another object of the present invention is to provide a queue scheduling technique that does not deteriorate the shaving accuracy even when used together with the implementation of shaving.
[0040] 本発明の他の目的は、個々のキュー毎のフローを、より公平にスケジューリングする ことが可能なキュースケジューリング技術を提供することにある。 [0040] Another object of the present invention is to provide a queue scheduling technique capable of more evenly scheduling flows for each queue.
本発明の他の目的は、より低コストにて情報中継装置を構築することが可能なキュ 一スケジューリング技術を提供することにある。  Another object of the present invention is to provide a queue scheduling technique capable of constructing an information relay apparatus at a lower cost.
[0041] 本発明の他の目的は、通信データの属性に応じた安定な帯域制御およびシエーピ ングを低コストにて実現することが可能な情報中継装置を提供することにある。 Another object of the present invention is to provide an information relay apparatus capable of realizing stable bandwidth control and shaping according to the attributes of communication data at a low cost.
本発明の第 1の観点は、通信データを到着順に保持する複数のキューと、 個々の前記キューに対応して設けられ、当該キューに保持される前記通信データ の属性に応じた初期値が管理値として設定される記憶手段と、  The first aspect of the present invention provides a plurality of queues that hold communication data in the order of arrival and an initial value that is provided corresponding to each of the queues and that corresponds to the attribute of the communication data held in the queue. Storage means set as a value;
前記管理値が 0以上の前記キューから順繰りに前記通信データを読み出すとともに 、当該キュー力 読み出した前記通信データの長さを、当該キューに対応する前記 管理値から減算する操作と、  An operation of sequentially reading out the communication data from the queue whose management value is 0 or more and subtracting the length of the communication data read out from the queue power from the management value corresponding to the queue;
対応する前記管理値が 0以上の前記キューがなくなったときに、全ての前記記憶手 段に対して前記管理値として前記初期値を設定する操作と、  An operation of setting the initial value as the management value for all the storage means when there is no corresponding queue whose management value is 0 or more;
を実行するキュー制御手段と、  Queue control means for executing
を含むキュースケジューリング装置を提供する。  A queue scheduling apparatus is provided.
[0042] 本発明の第 2の観点は、第 1の観点に記載のキュースケジューリング装置において 前記初期値は、個々の前記キューに割り当てられる最低保証帯域に応じて設定さ れるキュースケジューリング装置を提供する。 [0042] A second aspect of the present invention is the queue scheduling apparatus according to the first aspect. The initial value provides a queue scheduling apparatus that is set according to a minimum guaranteed bandwidth allocated to each of the queues.
[0043] 本発明の第 3の観点は、第 1の観点に記載のキュースケジューリング装置において さらに、前記キューに保持された前記通信データのシェービングを行うシェービング 制御手段を含むキュースケジューリング装置を提供する。  [0043] A third aspect of the present invention provides the queue scheduling apparatus according to the first aspect, further comprising a shaving control means for shaving the communication data held in the queue.
[0044] 本発明の第 4の観点は、第 1の観点に記載のキュースケジューリング装置において 前記キュー制御手段は、 [0044] According to a fourth aspect of the present invention, in the queue scheduling apparatus according to the first aspect, the queue control means includes:
個々の前記キューに設けられた管理値計算手段と、  Management value calculation means provided in each of the queues;
複数の前記キューに対して順繰りに前記通信データの読み出しを試行するデキュー 実行手段と、を含み、  Dequeue execution means for sequentially trying to read the communication data for a plurality of the queues,
前記デキュー実行手段は、  The dequeue execution means is
個々の前記管理値計算手段力 出力される第 1読み出し可能信号が真の時に当 該管理値計算手段に対して出力される読み出し要求信号を真にして前記通信デー タの読み出しを実行する機能と、  A function of executing the reading of the communication data by setting the read request signal output to the management value calculation means to be true when the first readable signal output to each of the management value calculation means is true; ,
個々の前記管理値計算手段から出力され、前記キューにおける前記通信データの 残りの有無を示す第 2読み出し可能信号が全て偽のときに、全ての前記管理値計算 手段に対して、前記記憶手段に対する前記初期値の設定を指示する初期化信号を 真にして出力する機能と、を含み、  When all of the second readable signals output from the individual management value calculation means and indicating the remaining presence or absence of the communication data in the queue are false, all the management value calculation means A function that outputs an initialization signal that instructs setting of the initial value to be true, and
前記管理値計算手段は、  The management value calculation means includes
前記キュー内に前記通信データが存在する時に前記第 1読み出し可能信号を真 にする機能と、  A function of making the first readable signal true when the communication data exists in the queue;
前記キュー力 の前記通信データの読み出し実行後に、前記管理値力 当該通信 データのサイズを減算した結果力 SOよりも大きいならば前記第 2読み出し可能信号を 真にする機能と、  A function of making the second readable signal true if the management value power is greater than the resultant power SO after the execution of the reading of the communication data of the cue force;
前記デキュー実行手段からの前記初期化信号が真のときに、前記記憶手段に対し て前記初期値を前記管理値として設定する機能と、を含むキュースケジューリング装 置を提供する。 When the initialization signal from the dequeue execution means is true, the storage means And a function of setting the initial value as the management value.
[0045] 本発明の第 5の観点は、通信データを到着順に保持する複数のキューの各々に対 応して、当該キューに保持される前記通信データの属性に応じた初期値を管理値と して設定するステップと、  [0045] According to a fifth aspect of the present invention, for each of a plurality of queues that hold communication data in the order of arrival, an initial value corresponding to an attribute of the communication data held in the queue is used as a management value. Step to set and
前記管理値が 0以上の前記キューから順繰りに前記通信データを読み出すとともに 、当該キュー力 読み出した前記通信データの長さを、当該キューに対応する前記 管理値から減算するステップと、  Reading the communication data sequentially from the queue having the management value of 0 or more, and subtracting the length of the communication data read from the queue power from the management value corresponding to the queue;
対応する前記管理値が 0以上の前記キューがなくなったときに、全ての前記キュー に対応した前記管理値として前記初期値を設定するステップと、  Setting the initial value as the management value corresponding to all the queues when there is no queue corresponding to the management value of 0 or more;
を含むキュースケジューリング方法を提供する。  A queue scheduling method is provided.
[0046] 本発明の第 6の観点は、第 5の観点に記載のキュースケジューリング方法において 個々の前記キューに割り当てられる最低保証帯域に応じて前記初期値を設定する キュースケジューリング方法を提供する。 [0046] A sixth aspect of the present invention provides a queue scheduling method in which the initial value is set according to a minimum guaranteed bandwidth allocated to each of the queues in the queue scheduling method according to the fifth aspect.
[0047] 本発明の第 7の観点は、第 5の観点に記載のキュースケジューリング方法において さらに、前記キューに保持された前記通信データのシェービングを行う工程を含む キュースケジューリング方法を提供する。 A seventh aspect of the present invention provides a queue scheduling method according to the fifth aspect, further comprising a step of shaving the communication data held in the queue.
[0048] 本発明の第 8の観点は、通信データが入出力される複数のポートを管理するポート 制御手段と、複数の前記ポートの間で前記通信データの転送経路の切り替えを行う 経路制御手段と、を含む情報中継装置であって、 [0048] An eighth aspect of the present invention is a port control unit that manages a plurality of ports through which communication data is input and output, and a path control unit that switches a transfer path of the communication data between the plurality of ports. And an information relay device including:
前記ポート制御手段は、  The port control means includes
通信データを到着順に保持する複数のキューと、  Multiple queues holding communication data in the order of arrival;
個々の前記キューに対応して設けられ、当該キューに保持される前記通信データ の属性に応じた初期値が管理値として設定される記憶手段と、  Storage means provided corresponding to each of the queues, and an initial value corresponding to an attribute of the communication data held in the queue is set as a management value;
前記管理値が 0以上の前記キューから順繰りに前記通信データを読み出すとともに 、当該キュー力 読み出した前記通信データの長さを、当該キューに対応する前記 管理値から減算する操作と、 The communication data is sequentially read out from the queue having the management value of 0 or more, and the queue power is read out The length of the communication data corresponding to the queue is Subtracting from the control value;
対応する前記管理値が 0以上の前記キューがなくなったときに、全ての前記記憶手 段に対して前記管理値として前記初期値を設定する操作と、  An operation of setting the initial value as the management value for all the storage means when there is no corresponding queue whose management value is 0 or more;
を実行するキュー制御手段と、  Queue control means for executing
を含むキュースケジューリング装置を備えた情報中継装置を提供する。  An information relay device including a queue scheduling device including
[0049] 本発明の第 9の観点は、第 8の観点に記載の情報中継装置において、  [0049] A ninth aspect of the present invention is the information relay device according to the eighth aspect,
前記初期値は、個々の前記キューに割り当てられる最低保証帯域に応じて設定さ れる情報中継装置を提供する。  The initial value provides an information relay device that is set according to the minimum guaranteed bandwidth allocated to each of the queues.
[0050] 本発明の第 10の観点は、第 8の観点に記載の情報中継装置において、 [0050] A tenth aspect of the present invention is the information relay device according to the eighth aspect,
さらに、前記キューに保持された前記通信データのシェービングを行うシェービング 制御手段を含む情報中継装置を提供する。  Furthermore, an information relay device including a shaving control means for shaving the communication data held in the queue is provided.
[0051] 本発明の第 11の観点は、第 8の観点に記載の情報中継装置において、 [0051] An eleventh aspect of the present invention is the information relay device according to the eighth aspect,
前記キュー制御手段は、  The queue control means includes
個々の前記キューに設けられた管理値計算手段と、  Management value calculation means provided in each of the queues;
複数の前記キューに対して順繰りに前記通信データの読み出しを試行するデキュー 実行手段と、を含み、  Dequeue execution means for sequentially trying to read the communication data for a plurality of the queues,
前記デキュー実行手段は、  The dequeue execution means is
個々の前記管理値計算手段力 出力される第 1読み出し可能信号が真の時に当 該管理値計算手段に対して出力される読み出し要求信号を真にして前記通信デー タの読み出しを実行する機能と、  A function of executing the reading of the communication data by setting the read request signal output to the management value calculation means to be true when the first readable signal outputted by each of the management value calculation means is true; ,
個々の前記管理値計算手段から出力され、前記キューにおける前記通信データの 残りの有無を示す第 2読み出し可能信号が全て偽のときに、全ての前記管理値計算 手段に対して、前記記憶手段に対する前記初期値の設定を指示する初期化信号を 真にして出力する機能と、を含み、  When all of the second readable signals output from the individual management value calculation means and indicating the remaining presence or absence of the communication data in the queue are false, all the management value calculation means are stored in the storage means. A function that outputs an initialization signal that instructs setting of the initial value to be true, and
前記管理値計算手段は、  The management value calculation means includes
前記キュー内に前記通信データが存在する時に前記第 1読み出し可能信号を真 にする機能と、  A function of making the first readable signal true when the communication data exists in the queue;
前記キュー力 の前記通信データの読み出し実行後に、前記管理値力 当該通信 データのサイズを減算した結果力 SOよりも大きいならば前記第 2読み出し可能信号を 真にする機能と、 After execution of reading of the communication data of the queue power, the management value power of the communication data The result of subtracting the data size is a function that makes the second readable signal true if it is greater than the force SO,
前記デキュー実行手段からの前記初期化信号が真のときに、前記記憶手段に対し て前記初期値を前記管理値として設定する機能と、を含む情報中継装置を提供する  And a function of setting the initial value as the management value for the storage means when the initialization signal from the dequeue execution means is true.
[0052] 上述の従来の技術的課題は、従来の DRRの動作に由来する。すなわち、 Deficit 値が 0になるまで、同一のキューからデキューし続ける、という従来の DRRの動作が バーストサイズの増加原因となっている。 [0052] The conventional technical problem described above is derived from the operation of the conventional DRR. In other words, the conventional DRR operation that keeps dequeuing from the same queue until the deficit value becomes 0 is the cause of the burst size increase.
[0053] そこで、上述の本発明では、一例として、以下のようなキュー読み出し制御を行う。  Therefore, in the above-described present invention, the following queue read control is performed as an example.
すなわち、基本的には 1フレームある ヽは 1パケットをデキューしたら次のキューの 読み出しに移行する。  In other words, basically, when there is one frame, if one packet is dequeued, it moves to reading the next queue.
[0054] そして、 Deficit値が 0になったら該当キューをスケジューリング(デキュー)の対象 力も除外し、 Deficit値が 0以上のキュー(すなわち、フレームがまだあるキュー)のみ を対象として、同様に Round Robbinでデキューを実行する。  [0054] When the deficit value becomes 0, the target queue is also excluded from the target of scheduling (dequeue), and only for queues with a deficit value of 0 or more (that is, queues that still have frames) Perform dequeue with.
[0055] こうして、全部のキューがスケジューリング対象から除外された時点で Deficit値リセ ットして、最初に戻る。  [0055] Thus, when all the queues are excluded from the scheduling target, the deficit value is reset and the process returns to the beginning.
このような制御形態にすれば、バーストサイズは 1フレームに抑えられることとなり、 前述の技術的課題も解決可能となる。  With this control mode, the burst size can be limited to one frame, and the above-mentioned technical problem can be solved.
[0056] 上記した本発明によれば、バースト量を一定量以下に抑えることが可能な DRR制 御を実現できる。  [0056] According to the present invention described above, DRR control capable of suppressing the burst amount to a certain amount or less can be realized.
また、バースト量が抑えられるため、シェービングの実装と併用してもシェービング 精度を悪化させることがない。  In addition, since the burst amount can be suppressed, shaving accuracy will not be deteriorated even when used together with shaving.
[0057] また、バースト量が少なくなることによってジッタが抑えられるため、キュー毎のフロ 一がより公平にスケジューリングされる。 [0057] Further, since jitter is suppressed by reducing the burst amount, the flow for each queue is scheduled more fairly.
図面の簡単な説明  Brief Description of Drawings
[0058] [図 1]本発明の参考技術である DRR方式の構成を示す概念図である。 FIG. 1 is a conceptual diagram showing a configuration of a DRR system that is a reference technique of the present invention.
[図 2]本発明の参考技術である DRR方式を実装した中継装置の構成を示す概念図 である。 [図 3]本発明の参考技術である DRR方式にぉ 、てシェービングを実行しな 、場合の 作用を説明するブロック図である。 FIG. 2 is a conceptual diagram showing the configuration of a relay device that implements the DRR system, which is the reference technology of the present invention. FIG. 3 is a block diagram for explaining the operation when shaving is not executed according to the DRR method which is the reference technique of the present invention.
[図 4]本発明の参考技術である DRR方式にぉ 、てシェービングを実行しな 、場合の 作用を説明する概念図である。  FIG. 4 is a conceptual diagram for explaining the operation when shaving is not executed according to the DRR system which is the reference technique of the present invention.
[図 5]本発明の参考技術である DRR方式においてシェービングを併用する場合の作 用を説明する概念図である。  FIG. 5 is a conceptual diagram for explaining the operation when shaving is used in combination in the DRR system which is the reference technique of the present invention.
[図 6]本発明の一実施の形態であるキュースケジューリング方法を実施する情報中継 装置の構成の一例を示す概念図である。  FIG. 6 is a conceptual diagram showing an example of the configuration of an information relay apparatus that implements a queue scheduling method according to an embodiment of the present invention.
[図 7]本発明の一実施の形態であるキュースケジューリング装置の構成の一例を示す 概念図である。  FIG. 7 is a conceptual diagram showing an example of a configuration of a queue scheduling apparatus according to an embodiment of the present invention.
[図 8]本発明の一実施の形態であるキュースケジューリング装置を構成する Deficit 処理部の構成の一例を示す概念図である。  FIG. 8 is a conceptual diagram showing an example of a configuration of a deficit processing unit constituting the queue scheduling apparatus according to an embodiment of the present invention.
[図 9]本発明の一実施の形態であるキュースケジューリング装置を構成するデキュー 実行部の構成の一例を示す概念図である。  FIG. 9 is a conceptual diagram showing an example of a configuration of a dequeue execution unit that constitutes a queue scheduling apparatus according to an embodiment of the present invention.
[図 10]本発明の一実施の形態であるキュースケジューリング装置における Deficit処 理部の動作の一例を示すフローチャートである。  FIG. 10 is a flowchart showing an example of the operation of the deficit processing unit in the queue scheduling apparatus according to one embodiment of the present invention.
[図 11]本発明の一実施の形態であるキュースケジューリング装置における Deficit処 理部の動作の一例を示すフローチャートである。  FIG. 11 is a flowchart showing an example of the operation of the deficit processing unit in the queue scheduling apparatus according to one embodiment of the present invention.
[図 12]本発明の一実施の形態であるキュースケジューリング装置における Deficit処 理部の動作の一例を示すフローチャートである。  FIG. 12 is a flowchart showing an example of the operation of the deficit processing unit in the queue scheduling apparatus according to one embodiment of the present invention.
[図 13]本発明の一実施の形態であるキュースケジューリング装置におけるデキュー実 行部の動作の一例を示すフローチャートである。  FIG. 13 is a flowchart showing an example of the operation of the dequeue execution unit in the queue scheduling apparatus according to one embodiment of the present invention.
[図 14]本発明の一実施の形態であるキュースケジューリング装置の作用の一例を示 す概念図である。  FIG. 14 is a conceptual diagram showing an example of the operation of a queue scheduling apparatus according to an embodiment of the present invention.
発明を実施するための最良の形態 BEST MODE FOR CARRYING OUT THE INVENTION
以下、図面を参照しながら、本発明の実施の形態について詳細に説明する。 図 6は、本発明の一実施の形態であるキュースケジューリング方法を実施する情報 中継装置の構成の一例を示す概念図である。 [0060] 本実施の形態の情報中継装置 100は、複数の入出力ポート 110、ポート制御部 12Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 6 is a conceptual diagram showing an example of the configuration of an information relay apparatus that implements the queue scheduling method according to an embodiment of the present invention. The information relay device 100 according to the present embodiment includes a plurality of input / output ports 110 and a port control unit 12.
0、内部スィッチ 130を含んでいる。 0, includes internal switch 130.
個々の入出力ポート 110は、外部の図示しない通信回線に接続され、通信データ であるフレーム 300 (通信データ)が入出力される。  Each input / output port 110 is connected to an external communication line (not shown), and frame 300 (communication data) as communication data is input / output.
[0061] 内部スィッチ 130は、複数の入出力ポート 110の間におけるフレーム 300の転送経 路の切り替えを行う。 The internal switch 130 switches the transfer path of the frame 300 between the plurality of input / output ports 110.
個々の入出力ポート 110には、当該入出力ポート 110に対するフレーム 300の入 出力を制御するポート制御部 120が設けられている。  Each input / output port 110 is provided with a port control unit 120 that controls input / output of the frame 300 with respect to the input / output port 110.
[0062] ポート制御部 120におけるフレーム 300の入力側には、パケット解析部 121、宛先 検索処理部 122、およびキュースケジューリング装置 200を備えている。また、ポート 制御部 120の出力側にはキュースケジューリング装置 200が設けられて 、る。 [0062] On the input side of the frame 300 in the port control unit 120, a packet analysis unit 121, a destination search processing unit 122, and a queue scheduling device 200 are provided. In addition, a queue scheduling device 200 is provided on the output side of the port control unit 120.
[0063] パケット解析部 121は、入出力ポート 110に到来するフレーム 300に含まれる制御 情報に基づいて、当該フレーム 300の属性を判別する。 The packet analysis unit 121 determines the attribute of the frame 300 based on the control information included in the frame 300 that arrives at the input / output port 110.
宛先検索処理部 122は、フレーム 300に含まれる宛先アドレス等の情報を判別して The destination search processing unit 122 determines information such as a destination address included in the frame 300.
、内部スィッチ 130に対して、転送先の入出力ポート 110を指示する。 Instruct the internal switch 130 of the transfer destination I / O port 110.
[0064] 入力側のキュースケジューリング装置 200は、外部力 到来するフレーム 300に対 して、シェービング (トラヒックの経時的な変化の平滑化)、および最低帯域保証等の 通信サービスの品質 (QoS)の管理を行う。 [0064] The queue scheduling apparatus 200 on the input side performs the shaving (smoothing of traffic change with time) and the quality of communication service (QoS) such as minimum bandwidth guarantee for the incoming frame 300. Perform management.
[0065] 出力側のキュースケジューリング装置 200は、外部に送り出すフレーム 300の通信 サービスの品質を管理する。 [0065] The queue scheduling apparatus 200 on the output side manages the quality of the communication service of the frame 300 sent to the outside.
図 7は、本実施の形態のキュースケジューリング装置 200の構成の一例を示す概念 図である。  FIG. 7 is a conceptual diagram showing an example of the configuration of the queue scheduling apparatus 200 of the present embodiment.
[0066] 本実施の形態のキュースケジューリング装置 200は、複数のキュー 210 (キュー 1〜 キュー n)、キュー制御部 220、シェービング制御部 250を含んでいる。  The queue scheduling apparatus 200 according to the present embodiment includes a plurality of queues 210 (queue 1 to queue n), a queue control unit 220, and a shaving control unit 250.
キュー制御部 220は、複数の Deficit処理部 230 (管理値計算手段)、デキュー実 行部 240 (デキュー実行手段)を含んで!/ヽる。  The queue control unit 220 includes a plurality of deficit processing units 230 (management value calculation means) and a dequeue execution unit 240 (dequeue execution means).
[0067] Deficit処理部 230は、個々のキュー 210に設けられている。デキュー実行部 240 は、このキュー 210を介して、複数のキュー 210の各々から、後述のようにして、フレ ーム 300の読み出し (デキュー)を実行する。 The deficit processing unit 230 is provided in each queue 210. The dequeue execution unit 240 passes the queue 210 from each of the plurality of queues 210 as described below. Execute read (dequeue) of program 300.
[0068] シェービング制御部 250は、シェービング信号 251を介して、 Deficit処理部 230に 対して、個々のキュー 210におけるフレーム 300の有無やフレーム長 L等の情報を通 知する。 The shaving control unit 250 notifies the deficit processing unit 230 of information such as the presence / absence of the frame 300 and the frame length L in the individual queues 210 via the shaving signal 251.
[0069] このとき、シェービング制御部 250は、シェービング信号 251を適宜制御することで 、キュー 210において実際にフレーム 300が存在する場合でも、所定のタイミングま で、フレーム 300が存在しないように、 Deficit処理部 230に見せかけることで、当該 キュー 210に設定された上限の値にトラヒックがほぼ一定となるように制御する。  [0069] At this time, the shaving control unit 250 appropriately controls the shaving signal 251 so that the frame 300 does not exist until a predetermined timing even when the frame 300 actually exists in the queue 210. By making it appear to the processing unit 230, control is performed so that the traffic becomes substantially constant at the upper limit value set in the queue 210.
[0070] Deficit処理部 230からデキュー実行部 240に対しては、後述の dequeue可信号 2 63 (第 1読み出し可能信号)、 more— dequeue信号 264 (第 2読み出し可能信号)の 二つの論理信号が出力される。  [0070] Two logic signals, dequeue enable signal 2 63 (first readable signal) and more—dequeue signal 264 (second readable signal), which will be described later, are sent from the deficit processing unit 230 to the dequeue execution unit 240. Is output.
[0071] デキュー実行部 240から Deficit処理部 230に対しては、後述の dequeue要求信 号 261、 add— Quantum信号 262の二つの論理信号が出力される。  The dequeue execution unit 240 outputs two logical signals, a dequeue request signal 261 and an add-quantum signal 262, which will be described later, to the deficit processing unit 230.
[0072] 図 8は、本実施の形態の Deficit処理部 230の構成の一例を示す概念図である。  FIG. 8 is a conceptual diagram showing an example of the configuration of the deficit processing unit 230 of the present embodiment.
本実施の形態の Deficit処理部 230は、計算 Z制御論理 231、 Quantum値レジス タ 232 (記憶手段)、 Deficit値レジスタ 233 (記憶手段)、を含んでいる。  The deficit processing unit 230 of this embodiment includes a calculation Z control logic 231, a quantum value register 232 (storage means), and a deficit value register 233 (storage means).
[0073] Quantum値レジスタ 232は、当該 Deficit処理部 230に対応するキュー 210に割 り当てられた最低保証帯域に応じた Quantum値 Vq (初期値)が設定される。  In the Quantum value register 232, the Quantum value Vq (initial value) corresponding to the minimum guaranteed bandwidth assigned to the queue 210 corresponding to the Deficit processing unit 230 is set.
[0074] Deficit値レジスタ 233には、 Quantum値 Vqで初期化される Deficit値 Vd (管理 値)が設定される。  In the deficit value register 233, a deficit value Vd (management value) initialized by the quantum value Vq is set.
計算 Z制御論理 231は、シェービング制御部 250から入力されるシェービング信号 251によって、対応するキュー 210におけるフレーム 300の有無や、フレーム長 Lの 情報を得る。  The calculation Z control logic 231 obtains information on the presence / absence of the frame 300 in the corresponding queue 210 and information on the frame length L based on the shaving signal 251 input from the shaving control unit 250.
[0075] また、計算 Z制御論理 231は、デキュー実行部 240からの dequeue要求信号 261 、 add— Quantum信号 262の受け付け処理 (論理状態の判別に応じた)を行う。  In addition, the calculation Z control logic 231 performs reception processing (according to determination of the logical state) of the dequeue request signal 261 and the add-quantum signal 262 from the dequeue execution unit 240.
[0076] また、計算 Z制御論理 231は、デキュー実行部 240に対するフレーム 300の送出、 dequeue可信号 263、 more— dequeue信号 264の出力(論理状態の設定処理)を 行う。 [0077] 図 9は、本実施の形態のデキュー実行部 240の構成の一例を示す概念図である。 本実施の形態のデキュー実行部 240は、デキュー制御論理 241、ラウンドロビン力 ゥンタ 242、内部状態レジスタ 243、を含んでいる。 In addition, the calculation Z control logic 231 performs transmission of the frame 300 to the dequeue execution unit 240, and outputs the dequeue enable signal 263 and the more-dequeue signal 264 (logic state setting processing). FIG. 9 is a conceptual diagram showing an example of the configuration of the dequeue execution unit 240 of the present embodiment. The dequeue execution unit 240 of this embodiment includes a dequeue control logic 241, a round robin power counter 242, and an internal state register 243.
[0078] ラウンドロビンカウンタ 242は、複数のキュー 210の各々を順繰りにアクセスするた めのカウンタ値が格納されるカウンタである。本実施の形態の場合、カウンタ値は、キ ユー 1〜キュー nに対応して nまでカウントされると 1に戻る。 The round robin counter 242 is a counter that stores a counter value for sequentially accessing each of the plurality of queues 210. In the case of the present embodiment, the counter value returns to 1 when counting up to n corresponding to queue 1 to queue n.
[0079] ただし、本実施の形態の場合、後述のようにラウンドロビン (順繰り)によるデキュー の対象となるのは、 Deficit処理部 230からの dequeue可信号 263がアサートされた キュー 210のみであり、それ以外はカウンタ値が変化するのみでスキップされる。 However, in the present embodiment, as described later, only the queue 210 to which the dequeue enable signal 263 from the deficit processing unit 230 is asserted is subject to dequeue by round robin (in order). Other than that, it is skipped only when the counter value changes.
[0080] 内部状態レジスタ 243は、複数のキュー 210の全てにおいて、 Deficit値 Vdの値に 基づ 、てデキュー可能であるにもかかわらずデキューされて!/、な!/、フレーム 300が存 在する力否かを判別するための内部状態フラグ 243aが格納される。 [0080] The internal status register 243 is dequeued in all of the plurality of queues 210, even though it can be dequeued based on the value of the deficit value Vd. An internal state flag 243a for determining whether or not the force is applied is stored.
[0081] デキュー制御論理 241は、 Deficit処理部 230から出力される dequeue可信号 26[0081] The dequeue control logic 241 includes a dequeue enable signal 26 output from the deficit processing unit 230.
3、 more— dequeue信号 264の論理状態に応じて、内部状態フラグ 243aを操作す る。 3, more—Operates internal state flag 243a according to the logical state of dequeue signal 264.
[0082] また、内部状態フラグ 243aの状態に応じて、キュー 210に対する順繰りのデキュー 処理を継続するか否か、および Deficit処理部 230に出力される add— Quantum信 号 262の論理状態を決定する。  [0082] Further, according to the state of internal state flag 243a, whether to continue the sequential dequeue processing for queue 210 and the logical state of add-Quantum signal 262 output to deficit processing unit 230 are determined. .
[0083] なお、本実施の形態では、一例として、キュー制御部 220を、 Deficit処理部 230と デキュー実行部 240に分けた構成例を示して ヽるが両者を一体に構成してもよ!/、。  In this embodiment, as an example, a configuration example in which the queue control unit 220 is divided into a deficit processing unit 230 and a dequeue execution unit 240 is shown, but both may be configured integrally! /.
[0084] 以下、本実施の形態の作用の一例について説明する。  Hereinafter, an example of the operation of the present embodiment will be described.
情報中継装置 100では、任意の入出力ポート 110に到来するフレーム 300は、ポ ート制御部 120のパケット解析部 121にて、たとえば緊急度、割り当てるべき最低帯 域、トラヒック等の属性が判別され、さらに、宛先検索処理部 122にて宛先が判別さ れる。  In the information relay device 100, the frame 300 arriving at an arbitrary input / output port 110 is identified by the packet analysis unit 121 of the port control unit 120 for attributes such as urgency, minimum bandwidth to be allocated, and traffic. Further, the destination search processing unit 122 determines the destination.
[0085] キュースケジューリング装置 200では、パケット解析部 121におけるフレーム 300の 属性の判別結果に応じて、当該フレーム 300は対応する属性が設定されたキュー 21 0に振り分けられる。 [0086] そして、キュースケジューリング装置 200では、一例として後述のようにして、複数の キュー 210の各々力ものフレーム 300の読み出しの順序を制御することで、当該フレ ーム 300に必要な QoSを実現する。 In queue scheduling apparatus 200, according to the attribute discrimination result of frame 300 in packet analysis section 121, frame 300 is distributed to queue 210 having a corresponding attribute set. [0086] Then, in queue scheduling apparatus 200, the QoS necessary for frame 300 is realized by controlling the reading order of frames 300 in each of a plurality of queues 210 as described below as an example. To do.
[0087] 内部スィッチ 130は、入力側のキュースケジューリング装置 200から到来するフレー ム 300を、宛先検索処理部 122において判別された宛先に対応する入出力ポート 1 10の出力側に転送し、この出力側に転送されたフレーム 300は、入力側と同様なキ ユースケジューリング装置 200を経て、外部に出力される。  [0087] The internal switch 130 transfers the frame 300 arriving from the queue scheduling apparatus 200 on the input side to the output side of the input / output port 110 corresponding to the destination determined by the destination search processing unit 122, and this output The frame 300 transferred to the side is output to the outside through the queue scheduling device 200 similar to that on the input side.
[0088] 以下、キュースケジューリング装置 200の各部の作用をフローチャートを参照して詳 細に説明する。  Hereinafter, the operation of each unit of queue scheduling apparatus 200 will be described in detail with reference to flowcharts.
本実施の形態のキュースケジューリング装置 200では、一例として、以下のようなキ ユー読み出し制御を行う。  In the queue scheduling apparatus 200 of the present embodiment, for example, the following queue read control is performed.
[0089] すなわち、基本的には一つのキュー 210から 1つのフレーム 300をデキューしたら 次のキューの読み出しに移行する。 That is, basically when one frame 300 is dequeued from one queue 210, the process proceeds to reading the next queue.
そして、 Deficit値 Vdが 0になったら当該キュー 210をスケジューリング(デキュー) の対象から除外し、 Deficit値 Vdが 0以上のキュー 210 (すなわち、フレーム 300がま だあるキュー)のみを対象として、同様に順繰り(Round Robbin)にデキューを実行 する。  Then, when the deficit value Vd becomes 0, the queue 210 is excluded from scheduling (dequeueing), and only the queue 210 having a deficit value Vd of 0 or more (that is, the queue with the frame 300 still) is the same. Execute dequeue in order (Round Robbin).
[0090] こうして、全部のキュー 210がスケジューリング対象から除外された時点で Deficit 値 Vdを Quantum値 Vqでリセット(初期化)して、最初に戻る。  Thus, when all the queues 210 are excluded from the scheduling target, the deficit value Vd is reset (initialized) with the quantum value Vq, and the process returns to the beginning.
このようなデキュー制御によれば、バーストサイズは 1フレームのフレーム長 Lに抑え られることとなり、前述の技術的課題も解決可能となる。  According to such dequeue control, the burst size is limited to the frame length L of one frame, and the above-mentioned technical problem can be solved.
[0091] 図 10、図 11、図 12は、本実施の形態のキュースケジューリング装置 200におけるFIG. 10, FIG. 11, and FIG. 12 are diagrams in the queue scheduling apparatus 200 of the present embodiment.
Deficit処理部 230の動作の一例を示すフローチャートである。 5 is a flowchart showing an example of the operation of a deficit processing unit 230.
Deficit処理部 230は、以下の [操作 SI 1]〜 [操作 S 14]を常に実行する。  The deficit processing unit 230 always executes the following [Operation SI 1] to [Operation S 14].
[0092] [操作 S11] 対応するキュー 210にフレーム 300があり、 Deficit値 Vd力 ^より大き いなら、 dequeue可信号 263をアサートする。そうでなければ dequeue可信号 263 はネゲートする。 [Operation S11] If there is a frame 300 in the corresponding queue 210 and the Deficit value Vd force is greater than ^, the dequeue enable signal 263 is asserted. Otherwise, dequeue enable signal 263 is negated.
[0093] [操作 S12] 対応するキュー 210の先頭のフレーム 300のフレーム長 Lを調べ、現 在の Deficit値 Vdから当該フレーム長 Lを引いた値がやはり 0より大きければ more— dequeue信号 264もアサートする。そうでなければ more— dequeue信号 264はネゲ ートする。 [0093] [Operation S12] The frame length L of the first frame 300 of the corresponding queue 210 is examined, and the current If the value obtained by subtracting the frame length L from the existing deficit value Vd is still larger than 0, the more-dequeue signal 264 is also asserted. Otherwise, the more—dequeue signal 264 is negated.
[0094] [操作 S13] デキュー実行部 240から dequeue要求信号 261がアサートされたら、 キュー 210から先頭のフレーム 300を取り出し、デキュー実行部 240に渡す。その後 、 Deficit値 Vdからフレーム長 Lを減算する。  [Operation S13] When the dequeue request signal 261 is asserted from the dequeue execution unit 240, the first frame 300 is extracted from the queue 210 and passed to the dequeue execution unit 240. After that, the frame length L is subtracted from the deficit value Vd.
[0095] [操作 S14] デキュー実行部 240から add— Quantum信号 262がアサートされた ら、 Deficit値 Vdに Quantum値 Vqを力卩算する。このとき、加算によって Deficit値 V dが Quantum値 Vqより大きくなつたら、 Deficit値 Vdは Quantum値 Vqと同じ値に する。  [Operation S14] When the add-quantum signal 262 is asserted from the dequeue execution unit 240, the quantum value Vq is calculated to the deficit value Vd. At this time, if the Deficit value Vd becomes larger than the Quantum value Vq by addition, the Deficit value Vd is set to the same value as the Quantum value Vq.
[0096] すなわち、図 10フローチャートに例示されるように、 Deficit処理部 230 (計算 Z制 御論理 231)は、 Deficit値 Vdを Quantum値 Vqで初期化する(ステップ 401)。  That is, as illustrated in the flowchart of FIG. 10, the deficit processing unit 230 (calculation Z control logic 231) initializes the deficit value Vd with the quantum value Vq (step 401).
[0097] そして、対応するキュー 210にフレーム 300があるか否かをシェービング信号 251 に基づ 、て調べる(ステップ 402)。  Then, it is checked based on the shaving signal 251 whether or not there is a frame 300 in the corresponding queue 210 (step 402).
フレーム 300がキュー 210にな!/、場合には、 dequeue可信号 263をネゲートし (ス テツプ 403)、フレーム 300がキュー 210にある場合には、 dequeue可信号 263をァ サートする(ステップ 406)。  If frame 300 is in queue 210! /, Dequeue enable signal 263 is negated (step 403), and if frame 300 is in queue 210, dequeue enable signal 263 is asserted (step 406). .
[0098] この dequeue可信号 263がアサートされている場合には、随時、デキュー実行部 2 40力も dequeue要求信号 261がアサートされる可能性がある。  When the dequeue enable signal 263 is asserted, the dequeue request signal 261 may be asserted at any time by the dequeue execution unit 240 force.
dequeue要求信号 261がアサートされた場合には、図 11のフローチャートに示さ れるように、 Deficit処理部 230は、 dequeue要求信号 261のアサートを検出し (ステ ップ 411)、対応するキュー 210から一つのフレーム 300をデキュー(取り出し)してデ キュー実行部 240に転送し (ステップ 412)、 Deficit値 Vdから当該フレーム 300のフ レーム長 Lを減算する (ステップ 413)。  When the dequeue request signal 261 is asserted, as shown in the flowchart of FIG. 11, the deficit processing unit 230 detects the dequeue request signal 261 being asserted (step 411) and removes it from the corresponding queue 210. One frame 300 is dequeued (removed) and transferred to the dequeue execution unit 240 (step 412), and the frame length L of the frame 300 is subtracted from the deficit value Vd (step 413).
[0099] 図 10に戻って、 Deficit処理部 230は、 Deficit値 Vdからフレーム長 L (ただし、前 段でステップ 403が実行されて 、た場合、すなわち図 11の処理が実行されて!ヽな ヽ 場合は、フレーム長 L = 0である)を減算した値力 SOより大きいか判別し (ステップ 404) 、大きい場合には more— dequeue信号 264をアサートし (ステップ 407)、そうでない 場合には more— dequeue信号 264をネゲートする(ステップ 405)。 [0099] Returning to FIG. 10, the deficit processing unit 230 uses the deficit value Vd to the frame length L (however, if step 403 is executed in the previous stage, that is, the processing of FIG. 11 is executed! If ヽ, the frame length L = 0) is subtracted from the value SO (step 404). If greater, the more—dequeue signal 264 is asserted (step 407), otherwise In this case, the more—dequeue signal 264 is negated (step 405).
[0100] そして、ステップ 402に戻って同様の処理を反復する。  [0100] Then, the process returns to step 402 and the same processing is repeated.
なお、この図 10の反復の過程で、随時、デキュー実行部 240から add— Quantum 信号 262がアサートされた場合には、図 12のフローチャートの処理を実行する。  In the process of iterating in FIG. 10, if the add-quantum signal 262 is asserted from the dequeue execution unit 240 at any time, the processing in the flowchart in FIG. 12 is executed.
[0101] すなわち、 Deficit処理部 230は、 add— Quantum信号 262を検出すると(ステツ プ 421)、 Deficit値 Vdに Quantum値 Vqをカ卩算する(ステップ 422)。ただし、この加 算では、加算結果が Quantum値 Vqよりも大きくなつた場合には、 Deficit値 Vdは Q uantum値 Vqと同じ値にする。  That is, when the deficit processing unit 230 detects the add-quantum signal 262 (step 421), the deficit processing unit 230 calculates the quantum value Vq to the deficit value Vd (step 422). However, in this addition, if the addition result becomes larger than the Quantum value Vq, the Deficit value Vd is set to the same value as the Quantum value Vq.
[0102] 一方、デキュー実行部 240の動作は、一例として、以下のようになる。  On the other hand, the operation of the dequeue execution unit 240 is as follows, for example.
[操作 S21] 内部状態フラグ 243a (rr_continue)を 0に設定する。  [Operation S21] Set the internal status flag 243a (rr_continue) to 0.
[0103] [操作 S22] 上力も順に (ラウンドロビンカウンタ 242の値の 1から nまで順に)複数 のキュー 210の dequeue可信号 263、 more— dequeue信号 264を参照する。 dequ eue可信号 263がアサートされていたら、そのキューカもデキューを 1回だけ実行する (dequeue要求信号 261を Deficit計算部に出力する)。また、デキューを実施した 時で、かつ more— dequeue信号 264がアサートされていたら、 rr— continueを 1に 設定する。  [Operation S22] Refer to the dequeue enable signal 263 and the more—dequeue signal 264 of the plurality of queues 210 in order (in order from 1 to n of the value of the round robin counter 242). If the dequeue enable signal 263 is asserted, the queuer also performs dequeue only once (outputs the dequeue request signal 261 to the deficit calculation unit). Also, when dequeue is performed and the more-dequeue signal 264 is asserted, set rr—continue to 1.
[0104] [操作 S23] 次のキュー 210に順に移り、全キューにおいて [操作 S22]を実施す る。全てのキュー 210を一巡した後、 rr— continueが 0ならば、全ての Deficit処理 部 230に対して add— Quantum信号 262をアサートする。  [Operation S23] Move to the next queue 210 in order, and execute [Operation S22] in all the queues. If rr—continue is 0 after going through all the queues 210, the add-quantum signal 262 is asserted to all the deficit processing units 230.
[0105] [操作 S24] 参照するキュー 210を最初に戻し (ラウンドロビンカウンタ 242の値が[0105] [Operation S24] Return the queue 210 to be referenced to the beginning (the value of the round robin counter 242 is
1に戻り)、上述の [操作 S21]から、再びデキュー処理を繰り返す。 Return to 1) and repeat the dequeue process again from [Operation S21] above.
このようなデキュー実行部 240の処理を図 13のフローチャートにてさらに説明する。  The processing of the dequeue execution unit 240 will be further described with reference to the flowchart of FIG.
[0106] デキュー実行部 240は、ラウンドロビンカウンタ 242を 1に設定して、デキュー対象と してキュー 1を設定するとともに、内部状態フラグ 243a (rr_continue)を 0に初期化 する(ステップ 501)。 [0106] The dequeue execution unit 240 sets the round robin counter 242 to 1, sets the queue 1 as a dequeue target, and initializes the internal state flag 243a (rr_continue) to 0 (step 501).
[0107] その後、該当キューの dequeue可信号 263がアサートされているか否かを判別す る(ステップ 502)。  Thereafter, it is determined whether or not the dequeue enable signal 263 of the corresponding queue is asserted (step 502).
そして、 dequeue可信号 263がアサートされていない場合には、 dequeue要求信 号 261をネゲートした後(ステップ 503)、全てのキュー 210を一巡した力否力 (該当 キューがキュー nか否か)を判別する (ステップ 504)。 If the dequeue enable signal 263 is not asserted, the dequeue request signal After negating No. 261 (step 503), it is determined whether or not the power has completely gone through all the queues 210 (whether the corresponding queue is queue n or not) (step 504).
[0108] そして、一巡していない場合には、該当キューを次のキュー 210に設定 (ラウンド口 ビンカウンタ 242をインクリメント)した後(ステップ 505)、上述のステップ 502に戻る。 If the circuit has not made a round, the corresponding queue is set to the next queue 210 (incrementing the round mouth bin counter 242) (step 505), and then the processing returns to step 502 described above.
[0109] 上述のステップ 502で該当キューの dequeue可信号 263がアサートされていると判 定された場合には、該当キューの Deficit処理部 230に対する dequeue要求信号 2[0109] If it is determined in step 502 above that the dequeue enable signal 263 of the corresponding queue is asserted, the dequeue request signal 2 to the deficit processing unit 230 of the corresponding queue
61をアサートして(ステップ 506)、デキューされたフレーム 300を当該 Deficit処理 部 230から受け取って、後段の内部スィッチ 130に出力するとともに、 dequeue要求 信号 261をネゲートする(ステップ 507)。 61 is asserted (step 506), the dequeued frame 300 is received from the deficit processing unit 230, output to the internal switch 130 at the subsequent stage, and the dequeue request signal 261 is negated (step 507).
[0110] その後、該当キューの more— dequeue信号 264がアサートされているか判別し (ス テツプ 508)、アサートされている場合には、 rr_continueに 1を設定した後(ステツ プ 509)ゝステップ 504を実行する。 [0110] After that, it is determined whether the more—dequeue signal 264 of the corresponding queue is asserted (step 508). If it is asserted, rr_continue is set to 1 (step 509) and step 504 is executed. Execute.
[0111] 上述のステップ 504で全てのキュー 210に対してデキューを試行した(すなわちラウ ンドロビンカウンタ 242の値が最大値 n)と判別された場合には、 rr— continueが 0か 否かを判別する (ステップ 510)。 [0111] If it is determined in step 504 that all queues 210 have been dequeued (that is, the value of round-robin counter 242 is the maximum value n), whether rr—continue is 0 or not is determined. Determine (step 510).
[0112] そして、 rr— continue = 0の場合には、全てのキュー 210のフレーム 300のデキュ 一が完了して 、るので、全ての Deficit処理部 230に対して add— Quantum信号 2[0112] Then, when rr—continue = 0, the decuring of the frames 300 of all the queues 210 is completed, so the add-quantum signal 2 is sent to all the deficit processing units 230.
62のアサートを実行して、 Deficit値 Vdの初期化を実行させたのち(ステップ 511)、 最初のステップ 501に戻る。 After 62 is asserted to initialize the deficit value Vd (step 511), the process returns to the first step 501.
[0113] ステップ 510で、 rr— continueが 0でないと判定された場合には、最初のステップ 5[0113] If it is determined in step 510 that rr—continue is not 0, the first step 5
01に戻り、前回の一巡で、 Deficit値 Vdを使い切つていないキュー 210に対しての み、順繰りにデキューを実行する。 Returning to 01, the dequeue is executed in order only for the queue 210 that has not used up the deficit value Vd in the previous round.
[0114] 上述のようなキュー制御部 220の Deficit処理部 230およびデキュー実行部 240の 動作により、全てのキュー 210をラウドロビン的に順繰りに見ていくので、単一キュー 力ものバーストサイズは必ず 1パケット長に抑えられる。 [0114] The operation of the deficit processing unit 230 and the dequeue execution unit 240 of the queue control unit 220 as described above sequentially looks at all the queues 210 in a laudrobin fashion, so the burst size of a single queue is always 1 Reduced to packet length.
[0115] また、個々のキュー 210に対応した Deficit処理部 230に、当該キュー 210に対応 して割り当てられた帯域 (すなわち、 Deficit値 Vdの値)を使 ヽ切ったか否かを示す more— dequeue信号 264と、割り当てられた帯域を使 、切って!/、な!/、キュー 210が 存在する間は、 Deficit値 Vdを初期化しな 、ように制御するための内部状態フラグ 2 43a (rr— continue)を設けることで、全てのキュー 210において割り当てられた帯域 比率も正確に守られる。 [0115] Further, the deficit processing unit 230 corresponding to each queue 210 indicates whether or not the bandwidth allocated to the queue 210 (that is, the value of the deficit value Vd) is used up. Use signal 264 and the allocated bandwidth, turn it off! /, Na! /, Cue 210 By providing the internal state flag 243a (rr—continue) for controlling so that the deficit value Vd is not initialized while it exists, the bandwidth ratio allocated in all the queues 210 can be accurately protected.
[0116] 上述のような本実施の形態のキュースケジューリング装置 200におけるキュースケ ジユーリング制御によって、上述の図 4および図 5に示した従来例がどのような結果に なるかを以下に示す。 [0116] The result of the conventional example shown in FIGS. 4 and 5 described above by the queue scheduling control in the queue scheduling apparatus 200 of the present embodiment as described above will be described below.
[0117] キューの本数は 3本、最低帯域は 500Mbps (キュー 1)、 350Mbps (キュー 2)、 15 0Mbps (キュー 3)とし、シェービングは 500Mbps (キュー 1)、 500Mbps (キュー 2)、 300Mbps (キュー 3)とする。また、シェービングのバーストサイズを同様に 3とする。  [0117] The number of queues is 3, the minimum bandwidth is 500Mbps (queue 1), 350Mbps (queue 2), 150 Mbps (queue 3), and shaving is 500Mbps (queue 1), 500Mbps (queue 2), 300Mbps (queue) 3). Similarly, the shaving burst size is set to 3.
[0118] この場合、本実施の形態のキュースケジューリング装置 200によるスケジューリング 結果は図 14のようになる。  In this case, the scheduling result by the queue scheduling apparatus 200 of the present embodiment is as shown in FIG.
本実施の形態の場合には、従来の DRRのように単一キューから Deficit値 Vdの値 だけ連続してデキューする場合と異なり、全キューから 1フレームずつ順繰りにデキュ 一する制御形態に変わっているため、時刻 t=0〜8では 3つキュー 1〜3の全てがラ ゥンドロビン的に順繰りにデキューされるように動作する。  In the case of this embodiment, unlike the case of the conventional DRR in which dequeue is continuously dequeued from the single queue by the value of the deficit value Vd, the control mode is changed so that the queuing is performed one frame at a time from all the queues. Therefore, at time t = 0 to 8, all three queues 1 to 3 operate in a round robin fashion.
[0119] その後、キュー 3の Deficit値 Vdが 0になったので除外され、次はキュー 1とキュー 2 で交互にデキューが実行され、最後にキュー 1だけが Deficit値力^より大きいので、 キュー 1に対してデキューを実施する。  [0119] After that, since the deficit value Vd of queue 3 became 0, it was excluded, and next dequeue was performed alternately on queue 1 and queue 2, and finally only queue 1 was greater than the deficit value ^ Dequeue 1
[0120] キューシエーパ(シェービング制御部 250)のバーストサイズが 3である力 各キュー から 1フレームずつの取り出しなので、 Deficit値 Vd力 Oより大きいのにバーストサイ ズの不足でスケジューリングできない、という問題も本実施の形態の場合には発生し ない。  [0120] The force that the burst size of the queue shaper (shaving controller 250) is 3. Since one frame is taken out from each queue, the problem that scheduling cannot be performed due to insufficient burst size even though it is larger than the deficit value Vd force O. It does not occur in the case of the embodiment.
[0121] この例では、キュー 1から最大 3バーストでフレームが出るので、出力側の送信バッ ファの容量は 3〜4フレームの長さ分に抑えられる。上述の図 4、図 5の従来例では 1 0フレーム分のバッファ必要であったので、本実施の形態の場合には、必要なバッフ ァサイズが大幅に少なくて済むことがわかる。  [0121] In this example, frames are output from queue 1 with a maximum of 3 bursts, so that the capacity of the transmission buffer on the output side is limited to the length of 3 to 4 frames. Since the conventional example shown in FIGS. 4 and 5 requires a buffer of 10 frames, it can be seen that in the case of the present embodiment, the required buffer size can be significantly reduced.
[0122] また、 Deficit値の差が大きい (最低帯域保証の差がキュー毎に大きい)場合は、ど うしても連続で出力する場合が出るものの、 Deficit値 Vdの差が小さい場合のほとん どでバッファサイズを抑えることが可能となり、通常使用においては十分な効果を発 揮できる。 [0122] Also, if the difference in Deficit value is large (the difference in minimum bandwidth guarantee is large for each queue), it will always be output continuously, but in most cases the difference in Deficit value Vd is small. This makes it possible to reduce the buffer size, and can produce a sufficient effect in normal use.
[0123] なお、 Deficit処理部 230の more— dequeue信号 264のアサート処理において、 対応するキュー 210に 2つめのパケットがあるかどうか見ていないのは、一巡して戻つ てくるまでにデキュー実行部 240からのデキュー要求が来る(dequeue要求信号 26 1がアサートされる)場合を想定しているからである。  [0123] Note that in the assertion process of the more-dequeue signal 264 of the deficit processing unit 230, whether or not there is a second packet in the corresponding queue 210 is not dequeued until it returns once. This is because it is assumed that a dequeue request from the unit 240 comes (dequeue request signal 261 is asserted).
[0124] 従来の DRRでは、 Deficit値 Vdに相当する長さ分の一つあるいは複数のフレーム  [0124] In conventional DRR, one or more frames corresponding to the length corresponding to the deficit value Vd
300を連続してデキューしなければ (Burstさせなければ)最低帯域保証が出来な!/、 ため、キュー 210のシェービング制御部 250は、 Deficit値 Vdの値以上のバースト(B urst)転送を行なわせなければならなかった。  If you don't dequeue 300 consecutively (unless Burst), you can't guarantee minimum bandwidth! For this reason, the shaving controller 250 of the queue 210 has to perform burst transfer that is equal to or greater than the value of the deficit value Vd.
[0125] 本実施の形態の場合にはバーストサイズを少なくするために、シェービング制御部 250によるバーストサイズの設定値も低くしないといけない。そのため、キュー 210に フレーム 300はあるがシェービングの関係力 デキューしてはいけない状態が当然出 て来る。  In the case of this embodiment, in order to reduce the burst size, the set value of the burst size by the shaving control unit 250 must also be lowered. For this reason, there is a situation in which there is a frame 300 in the cue 210 but the power of shaving should not be dequeued.
[0126] この状態の時に Deficit処理部 230の Deficit値 Vdのリセット(Quantum値 Vqによ る初期化)が実行される場合があり、そのままでは設定帯域どおりのスケジューリング が出来ない瞬間が発生するため、本実施の形態では、 more— dequeue信号 264を 設け、 more— dequeue信号 264のアサート処理において、対応するキュー 210に 2 つめのパケットがあるかどうか見な 、ようにして 、る。  [0126] In this state, the deficit value 230 of the deficit processing unit 230 may be reset (initialization by the quantum value Vq), and there may be a moment when scheduling according to the set bandwidth cannot be performed as it is. In this embodiment, the more-dequeue signal 264 is provided, and in the assertion process of the more-dequeue signal 264, it is determined whether or not there is a second packet in the corresponding queue 210.
[0127] もちろん、 more— dequeue信号 264がなくても、少し時間が経過すれば設定帯域 どおりになるが、本実施の形態のように more— dequeue信号 264を設けることは、瞬 間的な帯域のずれまでを許さずに厳密なスケジューリングを実施する場合に有効と なる。  [0127] Of course, even if there is no more-dequeue signal 264, it will be the same as the set bandwidth if a little time elapses. However, the provision of the more-dequeue signal 264 as in this embodiment is an instantaneous bandwidth. This is effective when strict scheduling is performed without allowing any deviation.
[0128] 上述のキュースケジューリング装置 200を情報中継装置 100等に実装することで、 以下の効果が得られる。  [0128] The following effects can be obtained by mounting the above-described queue scheduling apparatus 200 in the information relay apparatus 100 or the like.
属性の異なるフレーム 300の複数フローが情報中継装置 100を流れている時、キュ 一スケジューリング装置 200のキュー制御部 220の出力側のバーストサイズは必ず 1 フレームのフレーム長 Lに抑えられる。 [0129] 情報中継装置 100の中で、フレーム 300の単一フローしか流れていなくても、バー ストサイズはシェービング制御部 250が設定したバーストサイズに抑えられる。 When multiple flows of frames 300 having different attributes are flowing through the information relay apparatus 100, the burst size on the output side of the queue control unit 220 of the queue scheduling apparatus 200 is always suppressed to the frame length L of one frame. Even if only a single flow of the frame 300 flows in the information relay apparatus 100, the burst size can be suppressed to the burst size set by the shaving control unit 250.
従来の DRR実装では Quantum値 Vq以上のバーストサイズをシェービング制御部 250に許容する設定としなければならな力つた。さもないと、やはり帯域比率が守れ なかった。  In conventional DRR implementation, the shaving control unit 250 must be allowed to set a burst size greater than the Quantum value Vq. Otherwise, the bandwidth ratio could not be maintained.
[0130] これに対して、本実施の形態の場合には、シェービング制御部 250のバーストサイ ズは最低限の設定で構わないので、結局、単一フローにおいてもバーストサイズはか なり抑えられる。  On the other hand, in the case of the present embodiment, the burst size of the shaving control unit 250 may be set to a minimum, so that the burst size can be considerably suppressed even in a single flow.
[0131] バーストサイズが抑えられるので、たとえば、このバーストサイズに対応してキュー制 御部 220の後段に位置する内部スィッチ 130等に設けられるデータバッファの容量 力 、さくて済む。  [0131] Since the burst size can be suppressed, for example, the capacity of the data buffer provided in the internal switch 130 or the like located at the subsequent stage of the queue control unit 220 corresponding to the burst size can be reduced.
[0132] この結果、データバッファを構成する記憶素子に掛カるコストおよび実装面積を削 減することができる。  As a result, it is possible to reduce the cost and mounting area required for the storage elements that constitute the data buffer.
産業上の利用可能性  Industrial applicability
[0133] 本発明によれば、個々のキューの設定帯域を維持しつつ、バースト量を低減させる ことが可能となる。 According to the present invention, it is possible to reduce the burst amount while maintaining the set bandwidth of each queue.
また、本発明によれば、シェービングの実装と併用してもシェービング精度を悪ィ匕さ せることがないキュースケジューリング技術を提供することができる。  In addition, according to the present invention, it is possible to provide a queue scheduling technique that does not deteriorate the shaving accuracy even when used together with the implementation of shaving.
[0134] また、本発明によれば、個々のキュー毎のフローを、より公平にスケジューリングす ることが可能となる。 [0134] Further, according to the present invention, it is possible to schedule flows for each queue more fairly.
また、本発明によれば、より低コストにて情報中継装置を構築することが可能となる  Further, according to the present invention, it is possible to construct an information relay device at a lower cost.
[0135] また、本発明によれば、通信データの属性に応じた安定な帯域制御およびシ ー ビングを低コストにて実現することが可能な情報中継装置を提供することができる。 なお、本発明は、上述の実施の形態に例示した構成に限らず、その趣旨を逸脱し な!、範囲で種々変更可能であることは言うまでもな 、。 [0135] Further, according to the present invention, it is possible to provide an information relay apparatus capable of realizing stable bandwidth control and shelving according to attributes of communication data at a low cost. The present invention is not limited to the configuration exemplified in the above-described embodiment, and it goes without saying that various modifications can be made without departing from the spirit of the present invention.
[0136] たとえば、本発明のキュースケジューリング技術を実施する上述の情報中継装置 1 00やキュースケジューリング装置 200の構成は、一例であり、一般の情報機器に広く 適用することが可能である。 [0136] For example, the configurations of the information relay device 100 and the queue scheduling device 200 that implement the queue scheduling technique of the present invention are examples, and are widely used in general information devices. It is possible to apply.

Claims

請求の範囲 The scope of the claims
[1] 通信データを到着順に保持する複数のキューと、  [1] Multiple queues holding communication data in the order of arrival;
個々の前記キューに対応して設けられ、当該キューに保持される前記通信データ の属性に応じた初期値が管理値として設定される記憶手段と、  Storage means provided corresponding to each of the queues, and an initial value corresponding to an attribute of the communication data held in the queue is set as a management value;
前記管理値が 0以上の前記キューから順繰りに前記通信データを読み出すとともに Read the communication data sequentially from the queue whose management value is 0 or more
、当該キュー力 読み出した前記通信データの長さを、当該キューに対応する前記 管理値から減算する操作と、 The queue power, an operation of subtracting the length of the read communication data from the management value corresponding to the queue;
対応する前記管理値が 0以上の前記キューがなくなったときに、全ての前記記憶手 段に対して前記管理値として前記初期値を設定する操作と、  An operation of setting the initial value as the management value for all the storage means when there is no corresponding queue whose management value is 0 or more;
を実行するキュー制御手段と、  Queue control means for executing
を含むことを特徴とするキュースケジューリング装置。  A queue scheduling apparatus comprising:
[2] 請求項 1記載のキュースケジューリング装置において、  [2] In the queue scheduling device according to claim 1,
前記初期値は、個々の前記キューに割り当てられる最低保証帯域に応じて設定さ れることを特徴とするキュースケジューリング装置。  The queue scheduling apparatus, wherein the initial value is set according to a minimum guaranteed bandwidth allocated to each of the queues.
[3] 請求項 1記載のキュースケジューリング装置において、 [3] In the queue scheduling device according to claim 1,
さらに、前記キューに保持された前記通信データのシェービングを行うシェービング 制御手段を含むことを特徴とするキュースケジューリング装置。  The queue scheduling apparatus further comprises shaving control means for shaving the communication data held in the queue.
[4] 請求項 1記載のキュースケジューリング装置において、 [4] In the queue scheduling device according to claim 1,
前記キュー制御手段は、  The queue control means includes
個々の前記キューに設けられた管理値計算手段と、  Management value calculation means provided in each of the queues;
複数の前記キューに対して順繰りに前記通信データの読み出しを試行するデキュー 実行手段と、を含み、  Dequeue execution means for sequentially trying to read the communication data for a plurality of the queues,
前記デキュー実行手段は、  The dequeue execution means is
個々の前記管理値計算手段力 出力される第 1読み出し可能信号が真の時に当 該管理値計算手段に対して出力される読み出し要求信号を真にして前記通信デー タの読み出しを実行する機能と、  A function of executing the reading of the communication data by setting the read request signal output to the management value calculation means to be true when the first readable signal output to each of the management value calculation means is true; ,
個々の前記管理値計算手段から出力され、前記キューにおける前記通信データの 残りの有無を示す第 2読み出し可能信号が全て偽のときに、全ての前記管理値計算 手段に対して、前記記憶手段に対する前記初期値の設定を指示する初期化信号を 真にして出力する機能と、を含み、 When all of the second readable signals that are output from the individual management value calculation means and indicate the remaining presence or absence of the communication data in the queue are all false, And a function for outputting an initialization signal that instructs setting of the initial value for the storage means to be true.
前記管理値計算手段は、  The management value calculation means includes
前記キュー内に前記通信データが存在する時に前記第 1読み出し可能信号を真 にする機能と、  A function of making the first readable signal true when the communication data exists in the queue;
前記キュー力 の前記通信データの読み出し実行後に、前記管理値力 当該通信 データのサイズを減算した結果力 SOよりも大きいならば前記第 2読み出し可能信号を 真にする機能と、  A function of making the second readable signal true if the management value power is greater than the resultant power SO after the execution of the reading of the communication data of the cue force;
前記デキュー実行手段からの前記初期化信号が真のときに、前記記憶手段に対し て前記初期値を前記管理値として設定する機能と、を含むことを特徴とするキュース ケジユーリング装置。  And a function of setting the initial value as the management value for the storage means when the initialization signal from the dequeue execution means is true.
[5] 通信データを到着順に保持する複数のキューの各々に対応して、当該キューに保 持される前記通信データの属性に応じた初期値を管理値として設定するステップと、 前記管理値が 0以上の前記キューから順繰りに前記通信データを読み出すとともに 、当該キュー力 読み出した前記通信データの長さを、当該キューに対応する前記 管理値から減算するステップと、  [5] Corresponding to each of a plurality of queues that hold communication data in the order of arrival, setting an initial value according to the attribute of the communication data held in the queue as a management value; Reading the communication data from the queue of 0 or more in order, and subtracting the length of the read communication data from the management value corresponding to the queue;
対応する前記管理値が 0以上の前記キューがなくなったときに、全ての前記キュー に対応した前記管理値として前記初期値を設定するステップと、  Setting the initial value as the management value corresponding to all the queues when there is no queue corresponding to the management value of 0 or more;
を含むことを特徴とするキュースケジューリング方法。  A queue scheduling method comprising:
[6] 請求項 5記載のキュースケジューリング方法にぉ 、て、 [6] In the queue scheduling method according to claim 5,
個々の前記キューに割り当てられる最低保証帯域に応じて前記初期値を設定する ことを特徴とするキュースケジューリング方法。  The queue scheduling method, wherein the initial value is set according to a minimum guaranteed bandwidth allocated to each of the queues.
[7] 請求項 5記載のキュースケジューリング方法にぉ 、て、 [7] In the queue scheduling method according to claim 5,
さらに、前記キューに保持された前記通信データのシェービングを行う工程を含む ことを特徴とするキュースケジューリング方法。  The queue scheduling method further includes a step of shaving the communication data held in the queue.
[8] 通信データが入出力される複数のポートを管理するポート制御手段と、複数の前記 ポートの間で前記通信データの転送経路の切り替えを行う経路制御手段と、を含む 情報中継装置であって、 前記ポート制御手段は、 [8] An information relay device comprising: port control means for managing a plurality of ports through which communication data is input / output; and path control means for switching the transfer path of the communication data between the plurality of ports. And The port control means includes
通信データを到着順に保持する複数のキューと、  Multiple queues holding communication data in the order of arrival;
個々の前記キューに対応して設けられ、当該キューに保持される前記通信データ の属性に応じた初期値が管理値として設定される記憶手段と、  Storage means provided corresponding to each of the queues, and an initial value corresponding to an attribute of the communication data held in the queue is set as a management value;
前記管理値が 0以上の前記キューから順繰りに前記通信データを読み出すとともに Read the communication data sequentially from the queue whose management value is 0 or more
、当該キュー力 読み出した前記通信データの長さを、当該キューに対応する前記 管理値から減算する操作と、 The queue power, an operation of subtracting the length of the read communication data from the management value corresponding to the queue;
対応する前記管理値が 0以上の前記キューがなくなったときに、全ての前記記憶手 段に対して前記管理値として前記初期値を設定する操作と、  An operation of setting the initial value as the management value for all the storage means when there is no corresponding queue whose management value is 0 or more;
を実行するキュー制御手段と、  Queue control means for executing
を含むキュースケジューリング装置を備えたことを特徴とする情報中継装置。  An information relay device comprising a queue scheduling device including
[9] 請求項 8記載の情報中継装置において、  [9] In the information relay device according to claim 8,
前記初期値は、個々の前記キューに割り当てられる最低保証帯域に応じて設定さ れることを特徴とする情報中継装置。  The information relay device, wherein the initial value is set according to a minimum guaranteed bandwidth allocated to each of the queues.
[10] 請求項 8記載の情報中継装置において、 [10] In the information relay device according to claim 8,
さらに、前記キューに保持された前記通信データのシェービングを行うシェービング 制御手段を含むことを特徴とする情報中継装置。  The information relay device further includes a shaving control means for shaving the communication data held in the queue.
[11] 請求項 8記載の情報中継装置において、 [11] In the information relay device according to claim 8,
前記キュー制御手段は、  The queue control means includes
個々の前記キューに設けられた管理値計算手段と、  Management value calculation means provided in each of the queues;
複数の前記キューに対して順繰りに前記通信データの読み出しを試行するデキュー 実行手段と、を含み、  Dequeue execution means for sequentially trying to read the communication data for a plurality of the queues,
前記デキュー実行手段は、  The dequeue execution means is
個々の前記管理値計算手段力 出力される第 1読み出し可能信号が真の時に当 該管理値計算手段に対して出力される読み出し要求信号を真にして前記通信デー タの読み出しを実行する機能と、  A function of executing the reading of the communication data by setting the read request signal output to the management value calculation means to be true when the first readable signal output to each of the management value calculation means is true; ,
個々の前記管理値計算手段から出力され、前記キューにおける前記通信データの 残りの有無を示す第 2読み出し可能信号が全て偽のときに、全ての前記管理値計算 手段に対して、前記記憶手段に対する前記初期値の設定を指示する初期化信号を 真にして出力する機能と、を含み、 When all of the second readable signals that are output from the individual management value calculation means and indicate the remaining presence or absence of the communication data in the queue are all false, And a function for outputting an initialization signal that instructs setting of the initial value for the storage means to be true.
前記管理値計算手段は、  The management value calculation means includes
前記キュー内に前記通信データが存在する時に前記第 1読み出し可能信号を真 にする機能と、  A function of making the first readable signal true when the communication data exists in the queue;
前記キュー力 の前記通信データの読み出し実行後に、前記管理値力 当該通信 データのサイズを減算した結果力 SOよりも大きいならば前記第 2読み出し可能信号を 真にする機能と、  A function of making the second readable signal true if the management value power is greater than the resultant power SO after the execution of the reading of the communication data of the cue force;
前記デキュー実行手段からの前記初期化信号が真のときに、前記記憶手段に対し て前記初期値を前記管理値として設定する機能と、を含むことを特徴とする情報中継 装置。  And a function for setting the initial value as the management value for the storage means when the initialization signal from the dequeue execution means is true.
PCT/JP2005/023262 2005-12-19 2005-12-19 Queue scheduling device, queue scheduling method and information relay device WO2007072538A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2005/023262 WO2007072538A1 (en) 2005-12-19 2005-12-19 Queue scheduling device, queue scheduling method and information relay device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2005/023262 WO2007072538A1 (en) 2005-12-19 2005-12-19 Queue scheduling device, queue scheduling method and information relay device

Publications (1)

Publication Number Publication Date
WO2007072538A1 true WO2007072538A1 (en) 2007-06-28

Family

ID=38188329

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/023262 WO2007072538A1 (en) 2005-12-19 2005-12-19 Queue scheduling device, queue scheduling method and information relay device

Country Status (1)

Country Link
WO (1) WO2007072538A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114363267A (en) * 2020-09-30 2022-04-15 华为技术有限公司 Queue scheduling method and device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000278272A (en) * 1999-03-29 2000-10-06 Mitsubishi Electric Corp Weighted round robin circuit
JP2005033408A (en) * 2003-07-10 2005-02-03 Mitsubishi Electric Corp Method of weighting priority control
JP2005333544A (en) * 2004-05-21 2005-12-02 Hitachi Communication Technologies Ltd Shaping device, flow control method and communication node device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000278272A (en) * 1999-03-29 2000-10-06 Mitsubishi Electric Corp Weighted round robin circuit
JP2005033408A (en) * 2003-07-10 2005-02-03 Mitsubishi Electric Corp Method of weighting priority control
JP2005333544A (en) * 2004-05-21 2005-12-02 Hitachi Communication Technologies Ltd Shaping device, flow control method and communication node device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YAMADA H. ET AL.: "Nyuryoku Buffer-gata Cell Switch ni Okeru Isokudo Kaisen Konzai Shuyo Hoshiki", 2003 NEN IEICE COMMUNICATIONS SOCIETY CONFERENCE KOEN RONBUNSHU 2, B-6-157, 10 September 2003 (2003-09-10), XP003014270 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114363267A (en) * 2020-09-30 2022-04-15 华为技术有限公司 Queue scheduling method and device

Similar Documents

Publication Publication Date Title
US7953002B2 (en) Buffer management and flow control mechanism including packet-based dynamic thresholding
US8218546B2 (en) Interleaved processing of dropped packets in a network device
US6654343B1 (en) Method and system for switch fabric flow control
US7621162B2 (en) Hierarchical flow-characterizing multiplexor
EP1240740B1 (en) Network switch with packet scheduling
CN109120544B (en) Transmission control method based on host end flow scheduling in data center network
US20070237074A1 (en) Configuration of congestion thresholds for a network traffic management system
US9608927B2 (en) Packet exchanging device, transmission apparatus, and packet scheduling method
US20020110134A1 (en) Apparatus and methods for scheduling packets in a broadband data stream
US9197570B2 (en) Congestion control in packet switches
US20130039178A1 (en) Scheduling under congestion with traffic load-based scaling
US8942090B2 (en) Technique for throughput control for packet switches
US7830889B1 (en) Systems for scheduling the transmission of data in a network device
KR101990235B1 (en) Method and system for traffic management in a network node in a packet switched network
US20060256723A1 (en) Scheduling incoming packet traffic on an output link of a network device associated with a data network
US11290388B2 (en) Flow control method and apparatus
US8018851B1 (en) Flow control for multiport PHY
AU2002339349B2 (en) Distributed transmission of traffic flows in communication networks
JP2008503127A (en) Network device and traffic shaping method
US6947380B1 (en) Guaranteed bandwidth mechanism for a terabit multiservice switch
CN113366805A (en) Message scheduling method, scheduler, network equipment and network system
AU736780B2 (en) Method for providing delays independent of switch size in a crossbar switch with speedup
US7586918B2 (en) Link fragment interleaving with fragmentation preceding queuing
EP2985963A1 (en) Packet scheduling networking device
JP4087279B2 (en) BAND CONTROL METHOD AND BAND CONTROL DEVICE THEREOF

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 05816710

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP