WO2007072538A1 - キュースケジューリング装置、キュースケジューリング方法、情報中継装置 - Google Patents

キュースケジューリング装置、キュースケジューリング方法、情報中継装置 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
English (en)
French (fr)
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/ja
Publication of WO2007072538A1 publication Critical patent/WO2007072538A1/ja

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.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 デキュー実行部は、基本的には1フレームをデキューしたら次のキューの読み出しに移行する。Deficit処理部で管理されているDeficit値が0になったら当該キューをスケジューリング(デキュー)の対象から除外し、Deficit値が0以上のキュー、すなわちフレームがまだあるキューのみを対象として、順繰りにデキューを実行する。全部のキューがスケジューリング対象から除外された時点でDeficit処理部はDeficit値をQuantum値でリセットして最初の状態に戻る。デキュー時のバーストサイズは1フレームに抑えられる。

Description

明 細 書
キュースケジューリング装置、キュースケジューリング方法、情報中継装置 技術分野
[0001] 本発明は、キュースケジューリング装置、キュースケジューリング方法、情報中継装 置に関し、たとえば、情報ネットワーク上における通信品質(QoS : Quality of Service )等の制御に適用して有効な技術に関する。
背景技術
[0002] たとえば、ルータ等の情報中継装置等に実装されている QoS制御におけるスケジ ユーリング技術として、最低帯域保証を実現するために各キュー間の出力帯域比率 を定義し、その比率でスケジューリングするデフイシットラウンドロビン(DRR : Deficit Round Robbin)というスケジューリング技術がある。
[0003] この DRR方式の概要は以下の通りである。
図 1の参考技術のような l〜nの複数のキュー 1001に対して、 DRR読み出し制御 部 1002力 次の [ステップ S 1]〜 [ステップ S5]を実行する。
[0004] [ステップ S 1] 各キューには Deficit値、 Quantum値を付与する。 Quantum値は 各キューの帯域比率によって決められる値であり、 Deficit値は初期値が Quantum 値で、スケジューリングする度にフレーム長が減算される値であり、スケジューリング 時に使う。
[0005] [ステップ S2] まずキュー 1からスタートし、キュー 1の Deficit値力 SOより大きぐ力 つキュー 1にフレームがあればデキューし(キュー力 フレームを読み出し)、 Deficit 値をそのデキューしたフレーム長分減算する。
[0006] [ステップ S3] 前記 [ステップ S2]を、 Deficit値が 0以下もしくはフレームがなくな るまで繰り返す。
[ステップ S4] Deficit値が 0以下もしくはフレームがなくなったら次のキューに移り 、上述の [ステップ S2]〜 [ステップ S3]を実行する。
[0007] [ステップ S5] 最後のキュー nまで終わればキュー l〜nの Deficit値にそれぞれの キューの Quantum値をそれぞれ加算する。このとき、加算によって Deficit値が Qua ntum値より大きくなつたら、 Deficit値は Quantum値と同じ値にする。そして、再び キュー 1に戻って [ステップ S2]から実行する。
[0008] この DRR方式では、各キューのうち、設定された Quantum値が大きいキューほど 、たくさんのフレームが連続してデキューされる。従って、各キュー間で Quantum値 を適切に設定することでキュー間の帯域比率を設定でき、最低帯域保証を実現して いる。
[0009] ただ、 Quantum値は、その回線に流せる最大フレーム長である MTU (Maximum
Transfer Unit)以上の値を設定しなければならない。 Ethernet (登録商標)であ の場合)であるが、ジャンボフレームを許容するのであれば、 MTUはそれに応じて大 きくなる。
[0010] ここで、 DRR方式の場合、特定のキューで Deficit値が 0になるまでデキューし続け るため、 Quantum値力 そのままバーストサイズ(Burst size :—つのキューから 1 回のデキューで連続して読み出されるデータの長さ)になる。ただし、 Quantum値は MTU値以上にしなければならな 、ので、最低帯域保証の最小設定値を MTU値と 同じにしなければならない。そのため、最低帯域保証の最大設定値は最小設定値 X 帯域比率となる。
[0011] ここで、最低帯域保証の最低設定値 100キロビット Z秒 (Kbps)、最大設定値 1ギ ガビット Z秒 (Gbps)を許容するものとすると、 IGbpsの最低帯域保証設定をした際、 Quantum値は MTU値の 10000倍としなければならな!/、。 Ethernet (登録商標)の 1. 5キロバイト(Kbyte)を MTUとすると、 Quantum値は 15メガバイト(Mbyte)とな り、すなわち 15Mbyteのバースト量(サイズ)となる。これはバースト量としては非常に 大きぐ以下のような問題が発生する。
[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でフレームが出力され る。
[0014] フレームの宛先は中継処理チップ 1000に入る前段で決定しているものとする。中 継処理チップ 1000もしくは中継処理チップ 2000のそれぞれが決定する方式でもよ V、が、本発明に関係な!/、ため記載は省略する。
[0015] 中継処理チップ 1000にて DRR等の QoS処理を実施し、 10Gの回線を通して中継 処理チップ 2000に渡し、中継処理チップ 2000において宛先の回線が持つ送信バ ッファ 2001 (たとえばキュー)に格納し、そのフレームを順次回線に送信するものとす る。
[0016] 今、中継処理チップ 1000に 1G X 10のフローが来て、中継処理チップ 2000の先 から、それぞれ 1Gのフローが 10方路に分散して出て行く形態を考える。
中継処理チップ 1000から中継処理チップ 2000に対するフローに DRRが実行され ていて、上記の Quantum値が設定されているとすると、中継処理チップ 2000には、 それぞれの lGbpsの回線に出すフローが lOGbpsのスピードで 15Mbyteだけ転送 されることとなる。
[0017] この場合、フローが 10個あるので、結果としては lGbpsずつの転送量になっている 。しかし、バースト量が大きすぎるので、個々のキューに保持された複数のパケット(フ レーム)のデキュー間隔は、他のキューのバーストサイズに影響されて大きくばらつく ことになり、一つのキュー内で連続する複数のパケット間のデキュー間隔 (すなわち、 送信間隔)のばらつき、いわゆるジッタ (jitter)が非常に大きくなつている。
[0018] すなわち、中継処理チップ 2000の各 lGbpsの回線に用意されている送信バッファ 2001に、 lOGbpsの速度で 15Mbyte来ることになる。 lGbpsのスピードで外に出す ので、結果的に各 lGbpsの回線ごとに 13. 5Mbyteの送信バッファ 2001が必要とな る。
[0019] 各回線単位にこれだけの容量の送信バッファ 2001を持たせると中継処理チップ 2 000のチップサイズが大きくなる力、周辺に実装するメモリ量が多くなるため、実装面 積が非常に大きくなつたり、コストが非常に高くつくといった技術的課題を生じる。
[0020] また、送信バッファ 2001の容量を増やさないとすると、送信バッファ 2001が溢れて フレームが廃棄されてしま 、、各回線で lGbpsの回線速度をフルに使 、切れな 、。
[0021] また、 DRRによるスケジューリングは最低帯域保証を行うものであり、最大帯域を制 限する、すなわちシェービングを行うものではないため、シェービング機能は DRRと は別で機能実装が行われる。このシェービング処理を組み合わせることでバーストサ ィズを少なくはできるが、そうなると最低帯域保証が守られなくなる。その例を以下に 示す。
[0022] まず、比較のためにシェービングを実施しない場合の例を以下に示す。
今、図 3のようにキュー 1〜キュー 3の 3本のキュー 1001があり、 DRR読み出し制御 部 1002からの出力回線帯域を lGbpsとする。簡単のために、回線の MTUを 1とし、 やってくるパケットも全て長さ 1であるとする。この時、キュー 1〜3の最低帯域保証を、 キュー 1: 500メガビット Z秒(Mbps)
キュー 2 : 350Mbps
キュー 3 : 150Mbps
とし、最低帯域保証の最低値を 50Mbpsとすると、各々のキューに対する Quantum 値は順に 10、 7、 3となる。
[0023] この時、各々のキュー 1001でシェービングを実施していなければ、 DRR読み出し 制御部 1002でのスケジューリング結果は図 4の様になる。
図 4において、キューの出力に "〇"があるのは、そのキュー力 後段へパケットを出 力したことを意味する。また、 Deficit値はパケットを出した後の Deficit値がどうなつ ているかを示している。また、長さ 1のパケットを後段に流すのにかかる時間を 1とし、 時刻 t = 0からスケジューリング開始したと仮定して図 4を記載している。
[0024] この図 4において、 DRR読み出し制御部 1002は、まずキュー 1からスケジユーリン グを開始する。 Deficit値の初期値が 10なので、時刻 t = 0〜9までキュー 1からスケ ジユーリングし、時刻 t = 9でのスケジューリング結果より Deficit値が 0となったため次 のキューに移る。
[0025] 時刻 t= 10からは次のキュー 2からスケジューリングを実施し、時刻 t= 16までスケ ジユーリングして同様にキュー 3に移る。キュー 3でも同様に時刻 t= 17〜19までスケ ジユーリングし、全てのキューを一巡したため Deficit値をクリア(Quantum値 Vqを 加算)し、時刻 t= 20からまた同様にスケジューリングを行う。
[0026] この例では、 DRRは時刻 t=0〜19がー巡であり、このなかで出力したパケット量の 全体からの比率で帯域が算出できる。 DRR読み出し制御部 1002の出力側の回線 速度は IGbpsなので、それを 20で割ると図 4の "〇"一つが 50Mbpsに相当する。
[0027] 従って、キュー 1は "〇"が 10個で 500Mbps、キュー 2は "〇"が 7つで 350Mbps、 キュー 3は "〇"が 3つで 150Mbpsとなり、最低帯域保証が実現できていることが分か る。また、 Deficit値が大きいキュー 1は、それだけバーストサイズに影響していること も分かる。
[0028] 次に、図 5を参照して、 3本のキュー 1〜3のそれぞれがシェービングを実施している 状況を想定した場合について説明する。
シェービングの実施によって、パケットがキュー 1001にあるにも関わらず、 DRR読 み出し制御部 1002からはそれが見えない (パケットがキュー内に無い)ような状態に なる。このキュー内に実在するパケットが、 DRR読み出し制御部 1002の側から見え る Z見えな 、、のタイミングを調整することでシェービングが実現される。
[0029] 厳密にシェービングを実施するとバーストサイズがない(完全にパケット単位で出力 時間が調整される)が、実際にはバーストサイズがある程度発生する。また、シエーピ ングの方式で基本的に使われるリーキパケット方式やトークンパケット方式では、許容 するバーストサイズの指定も行える。
[0030] すなわち、バーストサイズまでは最大帯域で出力し、その後は設定帯域に従って送 出が実施される。このバーストサイズを小さくするとバースト量は抑えられる力 他のキ ユーとの輻輳に対する耐性が弱くなり、回線が空いていても最大帯域まで使い切れ ない状況が発生しやすい。逆に、バーストサイズを大きくすると他のキューとの輻輳に 対する耐性は上がるが、バーストサイズが大きくなつてしまう。
[0031] 図 5の例では、キューのシェービングによるバーストサイズを 3とする。また、各キュ 一のシェービング帯域を、
キュー 1 : 500Mbps キュー 2 : 500Mbps
キュー 3 : 300Mbps
とする。帯域の値に特に意味はなぐ単に最低帯域保証の値以上を設定している。
[0032] この例でのスケジューリング結果は以下の様になる。
先ほどの図 4の例と同様に、まずキュー 1からスケジューリングを実施する。キュー 1 力も時刻 t = 0、 1、 2でスケジューリングを実施し、まだ Deficit値が 7なのでスケジュ 一リング可能だが、前段でシェービングしており、そのバーストサイズが 3であるため、 DRR読み出し制御部 1002からはキュー 0にパケットがない状態で見える。
[0033] そのため、ここでキュー 0のスケジューリングは終了し、次のキューに移る。キュー 2 でも同様に、時刻 t = 5で Deficit値がまだ 0になって!/ヽな 、が、シェービングでのバ 一ストサイズからここでスケジューリングが終了する。キュー 3では時刻 t = 8で Deficit 値が 0になったのでスケジューリングを終了する。これで全てのキューを一巡したため Deficit値をクリア(Quantum値力卩算)し、時刻 t= 9からまた同様にスケジューリング を行う。
[0034] この図 5の例では、 DRRは時刻 t=0〜8がー巡であり、このなかで出力したパケット 量の全体力もの比率で同様に帯域が算出でき、キュー 1、キュー 2、キュー 3の帯域 力 S全て 333Mbpsとなる。キュー 3は最低帯域 150Mbpsに対して 333Mbpsを送出し ているので問題ないが、キュー 1は最低帯域 500Mbps、キュー 2は最低帯域 350M bpsであるにも関わらず 333Mbpsしか出力していない。すなわち、最低帯域保証が 守られていない。
[0035] これは、シェービングのバーストサイズ設定が問題であり、この例ではバーストサイ ズは最低でも 10以上に設定しな!、と!/、けな!/ヽ(この例に限らず、 Quantum値以上の バーストサイズを設定しなければならな 、)。
[0036] 従って、シェービングを実装して DRRのバーストサイズを抑えると最低帯域保証が 実現できなくなるので、結局、シェービングのバーストサイズを上げるしかないが、そ れだとシェービングの精度が悪くなり、ひど 、場合はシェービングして 、るのか否か すら分力 ない程の精度にまで悪ィ匕してしまう。
[0037] なお、特許文献 1には、 DRR制御において、個々のバッファ(キュー)からのパケット の読み出しの可否を判定するための制御パラメタである粒度の値を、パケット長に関 する統計的観測情報に基づ 、て設定する競合制御技術が開示されて 、る。
[0038] し力し、この特許文献 1の技術では、各バッファ間におけるスループットの公平性は 担保されるものの、個々のバッファの最低帯域保証や、バースト量の抑制が困難にな ることが予想される。
特許文献 1:特開 2001— 223740号公報
発明の開示
[0039] 本発明の目的は、個々のキューの設定帯域を維持しつつ、バースト量を低減させる ことが可能なキュースケジューリング技術を提供することにある。
本発明の他の目的は、シェービングの実装と併用してもシェービング精度を悪ィ匕さ せないキュースケジューリング技術を提供することにある。
[0040] 本発明の他の目的は、個々のキュー毎のフローを、より公平にスケジューリングする ことが可能なキュースケジューリング技術を提供することにある。
本発明の他の目的は、より低コストにて情報中継装置を構築することが可能なキュ 一スケジューリング技術を提供することにある。
[0041] 本発明の他の目的は、通信データの属性に応じた安定な帯域制御およびシエーピ ングを低コストにて実現することが可能な情報中継装置を提供することにある。
本発明の第 1の観点は、通信データを到着順に保持する複数のキューと、 個々の前記キューに対応して設けられ、当該キューに保持される前記通信データ の属性に応じた初期値が管理値として設定される記憶手段と、
前記管理値が 0以上の前記キューから順繰りに前記通信データを読み出すとともに 、当該キュー力 読み出した前記通信データの長さを、当該キューに対応する前記 管理値から減算する操作と、
対応する前記管理値が 0以上の前記キューがなくなったときに、全ての前記記憶手 段に対して前記管理値として前記初期値を設定する操作と、
を実行するキュー制御手段と、
を含むキュースケジューリング装置を提供する。
[0042] 本発明の第 2の観点は、第 1の観点に記載のキュースケジューリング装置において 前記初期値は、個々の前記キューに割り当てられる最低保証帯域に応じて設定さ れるキュースケジューリング装置を提供する。
[0043] 本発明の第 3の観点は、第 1の観点に記載のキュースケジューリング装置において さらに、前記キューに保持された前記通信データのシェービングを行うシェービング 制御手段を含むキュースケジューリング装置を提供する。
[0044] 本発明の第 4の観点は、第 1の観点に記載のキュースケジューリング装置において 前記キュー制御手段は、
個々の前記キューに設けられた管理値計算手段と、
複数の前記キューに対して順繰りに前記通信データの読み出しを試行するデキュー 実行手段と、を含み、
前記デキュー実行手段は、
個々の前記管理値計算手段力 出力される第 1読み出し可能信号が真の時に当 該管理値計算手段に対して出力される読み出し要求信号を真にして前記通信デー タの読み出しを実行する機能と、
個々の前記管理値計算手段から出力され、前記キューにおける前記通信データの 残りの有無を示す第 2読み出し可能信号が全て偽のときに、全ての前記管理値計算 手段に対して、前記記憶手段に対する前記初期値の設定を指示する初期化信号を 真にして出力する機能と、を含み、
前記管理値計算手段は、
前記キュー内に前記通信データが存在する時に前記第 1読み出し可能信号を真 にする機能と、
前記キュー力 の前記通信データの読み出し実行後に、前記管理値力 当該通信 データのサイズを減算した結果力 SOよりも大きいならば前記第 2読み出し可能信号を 真にする機能と、
前記デキュー実行手段からの前記初期化信号が真のときに、前記記憶手段に対し て前記初期値を前記管理値として設定する機能と、を含むキュースケジューリング装 置を提供する。
[0045] 本発明の第 5の観点は、通信データを到着順に保持する複数のキューの各々に対 応して、当該キューに保持される前記通信データの属性に応じた初期値を管理値と して設定するステップと、
前記管理値が 0以上の前記キューから順繰りに前記通信データを読み出すとともに 、当該キュー力 読み出した前記通信データの長さを、当該キューに対応する前記 管理値から減算するステップと、
対応する前記管理値が 0以上の前記キューがなくなったときに、全ての前記キュー に対応した前記管理値として前記初期値を設定するステップと、
を含むキュースケジューリング方法を提供する。
[0046] 本発明の第 6の観点は、第 5の観点に記載のキュースケジューリング方法において 個々の前記キューに割り当てられる最低保証帯域に応じて前記初期値を設定する キュースケジューリング方法を提供する。
[0047] 本発明の第 7の観点は、第 5の観点に記載のキュースケジューリング方法において さらに、前記キューに保持された前記通信データのシェービングを行う工程を含む キュースケジューリング方法を提供する。
[0048] 本発明の第 8の観点は、通信データが入出力される複数のポートを管理するポート 制御手段と、複数の前記ポートの間で前記通信データの転送経路の切り替えを行う 経路制御手段と、を含む情報中継装置であって、
前記ポート制御手段は、
通信データを到着順に保持する複数のキューと、
個々の前記キューに対応して設けられ、当該キューに保持される前記通信データ の属性に応じた初期値が管理値として設定される記憶手段と、
前記管理値が 0以上の前記キューから順繰りに前記通信データを読み出すとともに 、当該キュー力 読み出した前記通信データの長さを、当該キューに対応する前記 管理値から減算する操作と、
対応する前記管理値が 0以上の前記キューがなくなったときに、全ての前記記憶手 段に対して前記管理値として前記初期値を設定する操作と、
を実行するキュー制御手段と、
を含むキュースケジューリング装置を備えた情報中継装置を提供する。
[0049] 本発明の第 9の観点は、第 8の観点に記載の情報中継装置において、
前記初期値は、個々の前記キューに割り当てられる最低保証帯域に応じて設定さ れる情報中継装置を提供する。
[0050] 本発明の第 10の観点は、第 8の観点に記載の情報中継装置において、
さらに、前記キューに保持された前記通信データのシェービングを行うシェービング 制御手段を含む情報中継装置を提供する。
[0051] 本発明の第 11の観点は、第 8の観点に記載の情報中継装置において、
前記キュー制御手段は、
個々の前記キューに設けられた管理値計算手段と、
複数の前記キューに対して順繰りに前記通信データの読み出しを試行するデキュー 実行手段と、を含み、
前記デキュー実行手段は、
個々の前記管理値計算手段力 出力される第 1読み出し可能信号が真の時に当 該管理値計算手段に対して出力される読み出し要求信号を真にして前記通信デー タの読み出しを実行する機能と、
個々の前記管理値計算手段から出力され、前記キューにおける前記通信データの 残りの有無を示す第 2読み出し可能信号が全て偽のときに、全ての前記管理値計算 手段に対して、前記記憶手段に対する前記初期値の設定を指示する初期化信号を 真にして出力する機能と、を含み、
前記管理値計算手段は、
前記キュー内に前記通信データが存在する時に前記第 1読み出し可能信号を真 にする機能と、
前記キュー力 の前記通信データの読み出し実行後に、前記管理値力 当該通信 データのサイズを減算した結果力 SOよりも大きいならば前記第 2読み出し可能信号を 真にする機能と、
前記デキュー実行手段からの前記初期化信号が真のときに、前記記憶手段に対し て前記初期値を前記管理値として設定する機能と、を含む情報中継装置を提供する
[0052] 上述の従来の技術的課題は、従来の DRRの動作に由来する。すなわち、 Deficit 値が 0になるまで、同一のキューからデキューし続ける、という従来の DRRの動作が バーストサイズの増加原因となっている。
[0053] そこで、上述の本発明では、一例として、以下のようなキュー読み出し制御を行う。
すなわち、基本的には 1フレームある ヽは 1パケットをデキューしたら次のキューの 読み出しに移行する。
[0054] そして、 Deficit値が 0になったら該当キューをスケジューリング(デキュー)の対象 力も除外し、 Deficit値が 0以上のキュー(すなわち、フレームがまだあるキュー)のみ を対象として、同様に Round Robbinでデキューを実行する。
[0055] こうして、全部のキューがスケジューリング対象から除外された時点で Deficit値リセ ットして、最初に戻る。
このような制御形態にすれば、バーストサイズは 1フレームに抑えられることとなり、 前述の技術的課題も解決可能となる。
[0056] 上記した本発明によれば、バースト量を一定量以下に抑えることが可能な DRR制 御を実現できる。
また、バースト量が抑えられるため、シェービングの実装と併用してもシェービング 精度を悪化させることがない。
[0057] また、バースト量が少なくなることによってジッタが抑えられるため、キュー毎のフロ 一がより公平にスケジューリングされる。
図面の簡単な説明
[0058] [図 1]本発明の参考技術である DRR方式の構成を示す概念図である。
[図 2]本発明の参考技術である DRR方式を実装した中継装置の構成を示す概念図 である。 [図 3]本発明の参考技術である DRR方式にぉ 、てシェービングを実行しな 、場合の 作用を説明するブロック図である。
[図 4]本発明の参考技術である DRR方式にぉ 、てシェービングを実行しな 、場合の 作用を説明する概念図である。
[図 5]本発明の参考技術である DRR方式においてシェービングを併用する場合の作 用を説明する概念図である。
[図 6]本発明の一実施の形態であるキュースケジューリング方法を実施する情報中継 装置の構成の一例を示す概念図である。
[図 7]本発明の一実施の形態であるキュースケジューリング装置の構成の一例を示す 概念図である。
[図 8]本発明の一実施の形態であるキュースケジューリング装置を構成する Deficit 処理部の構成の一例を示す概念図である。
[図 9]本発明の一実施の形態であるキュースケジューリング装置を構成するデキュー 実行部の構成の一例を示す概念図である。
[図 10]本発明の一実施の形態であるキュースケジューリング装置における Deficit処 理部の動作の一例を示すフローチャートである。
[図 11]本発明の一実施の形態であるキュースケジューリング装置における Deficit処 理部の動作の一例を示すフローチャートである。
[図 12]本発明の一実施の形態であるキュースケジューリング装置における Deficit処 理部の動作の一例を示すフローチャートである。
[図 13]本発明の一実施の形態であるキュースケジューリング装置におけるデキュー実 行部の動作の一例を示すフローチャートである。
[図 14]本発明の一実施の形態であるキュースケジューリング装置の作用の一例を示 す概念図である。
発明を実施するための最良の形態
以下、図面を参照しながら、本発明の実施の形態について詳細に説明する。 図 6は、本発明の一実施の形態であるキュースケジューリング方法を実施する情報 中継装置の構成の一例を示す概念図である。 [0060] 本実施の形態の情報中継装置 100は、複数の入出力ポート 110、ポート制御部 12
0、内部スィッチ 130を含んでいる。
個々の入出力ポート 110は、外部の図示しない通信回線に接続され、通信データ であるフレーム 300 (通信データ)が入出力される。
[0061] 内部スィッチ 130は、複数の入出力ポート 110の間におけるフレーム 300の転送経 路の切り替えを行う。
個々の入出力ポート 110には、当該入出力ポート 110に対するフレーム 300の入 出力を制御するポート制御部 120が設けられている。
[0062] ポート制御部 120におけるフレーム 300の入力側には、パケット解析部 121、宛先 検索処理部 122、およびキュースケジューリング装置 200を備えている。また、ポート 制御部 120の出力側にはキュースケジューリング装置 200が設けられて 、る。
[0063] パケット解析部 121は、入出力ポート 110に到来するフレーム 300に含まれる制御 情報に基づいて、当該フレーム 300の属性を判別する。
宛先検索処理部 122は、フレーム 300に含まれる宛先アドレス等の情報を判別して
、内部スィッチ 130に対して、転送先の入出力ポート 110を指示する。
[0064] 入力側のキュースケジューリング装置 200は、外部力 到来するフレーム 300に対 して、シェービング (トラヒックの経時的な変化の平滑化)、および最低帯域保証等の 通信サービスの品質 (QoS)の管理を行う。
[0065] 出力側のキュースケジューリング装置 200は、外部に送り出すフレーム 300の通信 サービスの品質を管理する。
図 7は、本実施の形態のキュースケジューリング装置 200の構成の一例を示す概念 図である。
[0066] 本実施の形態のキュースケジューリング装置 200は、複数のキュー 210 (キュー 1〜 キュー n)、キュー制御部 220、シェービング制御部 250を含んでいる。
キュー制御部 220は、複数の Deficit処理部 230 (管理値計算手段)、デキュー実 行部 240 (デキュー実行手段)を含んで!/ヽる。
[0067] Deficit処理部 230は、個々のキュー 210に設けられている。デキュー実行部 240 は、このキュー 210を介して、複数のキュー 210の各々から、後述のようにして、フレ ーム 300の読み出し (デキュー)を実行する。
[0068] シェービング制御部 250は、シェービング信号 251を介して、 Deficit処理部 230に 対して、個々のキュー 210におけるフレーム 300の有無やフレーム長 L等の情報を通 知する。
[0069] このとき、シェービング制御部 250は、シェービング信号 251を適宜制御することで 、キュー 210において実際にフレーム 300が存在する場合でも、所定のタイミングま で、フレーム 300が存在しないように、 Deficit処理部 230に見せかけることで、当該 キュー 210に設定された上限の値にトラヒックがほぼ一定となるように制御する。
[0070] Deficit処理部 230からデキュー実行部 240に対しては、後述の dequeue可信号 2 63 (第 1読み出し可能信号)、 more— dequeue信号 264 (第 2読み出し可能信号)の 二つの論理信号が出力される。
[0071] デキュー実行部 240から Deficit処理部 230に対しては、後述の dequeue要求信 号 261、 add— Quantum信号 262の二つの論理信号が出力される。
[0072] 図 8は、本実施の形態の Deficit処理部 230の構成の一例を示す概念図である。
本実施の形態の Deficit処理部 230は、計算 Z制御論理 231、 Quantum値レジス タ 232 (記憶手段)、 Deficit値レジスタ 233 (記憶手段)、を含んでいる。
[0073] Quantum値レジスタ 232は、当該 Deficit処理部 230に対応するキュー 210に割 り当てられた最低保証帯域に応じた Quantum値 Vq (初期値)が設定される。
[0074] Deficit値レジスタ 233には、 Quantum値 Vqで初期化される Deficit値 Vd (管理 値)が設定される。
計算 Z制御論理 231は、シェービング制御部 250から入力されるシェービング信号 251によって、対応するキュー 210におけるフレーム 300の有無や、フレーム長 Lの 情報を得る。
[0075] また、計算 Z制御論理 231は、デキュー実行部 240からの dequeue要求信号 261 、 add— Quantum信号 262の受け付け処理 (論理状態の判別に応じた)を行う。
[0076] また、計算 Z制御論理 231は、デキュー実行部 240に対するフレーム 300の送出、 dequeue可信号 263、 more— dequeue信号 264の出力(論理状態の設定処理)を 行う。 [0077] 図 9は、本実施の形態のデキュー実行部 240の構成の一例を示す概念図である。 本実施の形態のデキュー実行部 240は、デキュー制御論理 241、ラウンドロビン力 ゥンタ 242、内部状態レジスタ 243、を含んでいる。
[0078] ラウンドロビンカウンタ 242は、複数のキュー 210の各々を順繰りにアクセスするた めのカウンタ値が格納されるカウンタである。本実施の形態の場合、カウンタ値は、キ ユー 1〜キュー nに対応して nまでカウントされると 1に戻る。
[0079] ただし、本実施の形態の場合、後述のようにラウンドロビン (順繰り)によるデキュー の対象となるのは、 Deficit処理部 230からの dequeue可信号 263がアサートされた キュー 210のみであり、それ以外はカウンタ値が変化するのみでスキップされる。
[0080] 内部状態レジスタ 243は、複数のキュー 210の全てにおいて、 Deficit値 Vdの値に 基づ 、てデキュー可能であるにもかかわらずデキューされて!/、な!/、フレーム 300が存 在する力否かを判別するための内部状態フラグ 243aが格納される。
[0081] デキュー制御論理 241は、 Deficit処理部 230から出力される dequeue可信号 26
3、 more— dequeue信号 264の論理状態に応じて、内部状態フラグ 243aを操作す る。
[0082] また、内部状態フラグ 243aの状態に応じて、キュー 210に対する順繰りのデキュー 処理を継続するか否か、および Deficit処理部 230に出力される add— Quantum信 号 262の論理状態を決定する。
[0083] なお、本実施の形態では、一例として、キュー制御部 220を、 Deficit処理部 230と デキュー実行部 240に分けた構成例を示して ヽるが両者を一体に構成してもよ!/、。
[0084] 以下、本実施の形態の作用の一例について説明する。
情報中継装置 100では、任意の入出力ポート 110に到来するフレーム 300は、ポ ート制御部 120のパケット解析部 121にて、たとえば緊急度、割り当てるべき最低帯 域、トラヒック等の属性が判別され、さらに、宛先検索処理部 122にて宛先が判別さ れる。
[0085] キュースケジューリング装置 200では、パケット解析部 121におけるフレーム 300の 属性の判別結果に応じて、当該フレーム 300は対応する属性が設定されたキュー 21 0に振り分けられる。 [0086] そして、キュースケジューリング装置 200では、一例として後述のようにして、複数の キュー 210の各々力ものフレーム 300の読み出しの順序を制御することで、当該フレ ーム 300に必要な QoSを実現する。
[0087] 内部スィッチ 130は、入力側のキュースケジューリング装置 200から到来するフレー ム 300を、宛先検索処理部 122において判別された宛先に対応する入出力ポート 1 10の出力側に転送し、この出力側に転送されたフレーム 300は、入力側と同様なキ ユースケジューリング装置 200を経て、外部に出力される。
[0088] 以下、キュースケジューリング装置 200の各部の作用をフローチャートを参照して詳 細に説明する。
本実施の形態のキュースケジューリング装置 200では、一例として、以下のようなキ ユー読み出し制御を行う。
[0089] すなわち、基本的には一つのキュー 210から 1つのフレーム 300をデキューしたら 次のキューの読み出しに移行する。
そして、 Deficit値 Vdが 0になったら当該キュー 210をスケジューリング(デキュー) の対象から除外し、 Deficit値 Vdが 0以上のキュー 210 (すなわち、フレーム 300がま だあるキュー)のみを対象として、同様に順繰り(Round Robbin)にデキューを実行 する。
[0090] こうして、全部のキュー 210がスケジューリング対象から除外された時点で Deficit 値 Vdを Quantum値 Vqでリセット(初期化)して、最初に戻る。
このようなデキュー制御によれば、バーストサイズは 1フレームのフレーム長 Lに抑え られることとなり、前述の技術的課題も解決可能となる。
[0091] 図 10、図 11、図 12は、本実施の形態のキュースケジューリング装置 200における
Deficit処理部 230の動作の一例を示すフローチャートである。
Deficit処理部 230は、以下の [操作 SI 1]〜 [操作 S 14]を常に実行する。
[0092] [操作 S11] 対応するキュー 210にフレーム 300があり、 Deficit値 Vd力 ^より大き いなら、 dequeue可信号 263をアサートする。そうでなければ dequeue可信号 263 はネゲートする。
[0093] [操作 S12] 対応するキュー 210の先頭のフレーム 300のフレーム長 Lを調べ、現 在の Deficit値 Vdから当該フレーム長 Lを引いた値がやはり 0より大きければ more— dequeue信号 264もアサートする。そうでなければ more— dequeue信号 264はネゲ ートする。
[0094] [操作 S13] デキュー実行部 240から dequeue要求信号 261がアサートされたら、 キュー 210から先頭のフレーム 300を取り出し、デキュー実行部 240に渡す。その後 、 Deficit値 Vdからフレーム長 Lを減算する。
[0095] [操作 S14] デキュー実行部 240から add— Quantum信号 262がアサートされた ら、 Deficit値 Vdに Quantum値 Vqを力卩算する。このとき、加算によって Deficit値 V dが Quantum値 Vqより大きくなつたら、 Deficit値 Vdは Quantum値 Vqと同じ値に する。
[0096] すなわち、図 10フローチャートに例示されるように、 Deficit処理部 230 (計算 Z制 御論理 231)は、 Deficit値 Vdを Quantum値 Vqで初期化する(ステップ 401)。
[0097] そして、対応するキュー 210にフレーム 300があるか否かをシェービング信号 251 に基づ 、て調べる(ステップ 402)。
フレーム 300がキュー 210にな!/、場合には、 dequeue可信号 263をネゲートし (ス テツプ 403)、フレーム 300がキュー 210にある場合には、 dequeue可信号 263をァ サートする(ステップ 406)。
[0098] この dequeue可信号 263がアサートされている場合には、随時、デキュー実行部 2 40力も dequeue要求信号 261がアサートされる可能性がある。
dequeue要求信号 261がアサートされた場合には、図 11のフローチャートに示さ れるように、 Deficit処理部 230は、 dequeue要求信号 261のアサートを検出し (ステ ップ 411)、対応するキュー 210から一つのフレーム 300をデキュー(取り出し)してデ キュー実行部 240に転送し (ステップ 412)、 Deficit値 Vdから当該フレーム 300のフ レーム長 Lを減算する (ステップ 413)。
[0099] 図 10に戻って、 Deficit処理部 230は、 Deficit値 Vdからフレーム長 L (ただし、前 段でステップ 403が実行されて 、た場合、すなわち図 11の処理が実行されて!ヽな ヽ 場合は、フレーム長 L = 0である)を減算した値力 SOより大きいか判別し (ステップ 404) 、大きい場合には more— dequeue信号 264をアサートし (ステップ 407)、そうでない 場合には more— dequeue信号 264をネゲートする(ステップ 405)。
[0100] そして、ステップ 402に戻って同様の処理を反復する。
なお、この図 10の反復の過程で、随時、デキュー実行部 240から add— Quantum 信号 262がアサートされた場合には、図 12のフローチャートの処理を実行する。
[0101] すなわち、 Deficit処理部 230は、 add— Quantum信号 262を検出すると(ステツ プ 421)、 Deficit値 Vdに Quantum値 Vqをカ卩算する(ステップ 422)。ただし、この加 算では、加算結果が Quantum値 Vqよりも大きくなつた場合には、 Deficit値 Vdは Q uantum値 Vqと同じ値にする。
[0102] 一方、デキュー実行部 240の動作は、一例として、以下のようになる。
[操作 S21] 内部状態フラグ 243a (rr_continue)を 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に 設定する。
[0104] [操作 S23] 次のキュー 210に順に移り、全キューにおいて [操作 S22]を実施す る。全てのキュー 210を一巡した後、 rr— continueが 0ならば、全ての Deficit処理 部 230に対して add— Quantum信号 262をアサートする。
[0105] [操作 S24] 参照するキュー 210を最初に戻し (ラウンドロビンカウンタ 242の値が
1に戻り)、上述の [操作 S21]から、再びデキュー処理を繰り返す。
このようなデキュー実行部 240の処理を図 13のフローチャートにてさらに説明する。
[0106] デキュー実行部 240は、ラウンドロビンカウンタ 242を 1に設定して、デキュー対象と してキュー 1を設定するとともに、内部状態フラグ 243a (rr_continue)を 0に初期化 する(ステップ 501)。
[0107] その後、該当キューの dequeue可信号 263がアサートされているか否かを判別す る(ステップ 502)。
そして、 dequeue可信号 263がアサートされていない場合には、 dequeue要求信 号 261をネゲートした後(ステップ 503)、全てのキュー 210を一巡した力否力 (該当 キューがキュー nか否か)を判別する (ステップ 504)。
[0108] そして、一巡していない場合には、該当キューを次のキュー 210に設定 (ラウンド口 ビンカウンタ 242をインクリメント)した後(ステップ 505)、上述のステップ 502に戻る。
[0109] 上述のステップ 502で該当キューの dequeue可信号 263がアサートされていると判 定された場合には、該当キューの Deficit処理部 230に対する dequeue要求信号 2
61をアサートして(ステップ 506)、デキューされたフレーム 300を当該 Deficit処理 部 230から受け取って、後段の内部スィッチ 130に出力するとともに、 dequeue要求 信号 261をネゲートする(ステップ 507)。
[0110] その後、該当キューの more— dequeue信号 264がアサートされているか判別し (ス テツプ 508)、アサートされている場合には、 rr_continueに 1を設定した後(ステツ プ 509)ゝステップ 504を実行する。
[0111] 上述のステップ 504で全てのキュー 210に対してデキューを試行した(すなわちラウ ンドロビンカウンタ 242の値が最大値 n)と判別された場合には、 rr— continueが 0か 否かを判別する (ステップ 510)。
[0112] そして、 rr— continue = 0の場合には、全てのキュー 210のフレーム 300のデキュ 一が完了して 、るので、全ての Deficit処理部 230に対して add— Quantum信号 2
62のアサートを実行して、 Deficit値 Vdの初期化を実行させたのち(ステップ 511)、 最初のステップ 501に戻る。
[0113] ステップ 510で、 rr— continueが 0でないと判定された場合には、最初のステップ 5
01に戻り、前回の一巡で、 Deficit値 Vdを使い切つていないキュー 210に対しての み、順繰りにデキューを実行する。
[0114] 上述のようなキュー制御部 220の Deficit処理部 230およびデキュー実行部 240の 動作により、全てのキュー 210をラウドロビン的に順繰りに見ていくので、単一キュー 力ものバーストサイズは必ず 1パケット長に抑えられる。
[0115] また、個々のキュー 210に対応した Deficit処理部 230に、当該キュー 210に対応 して割り当てられた帯域 (すなわち、 Deficit値 Vdの値)を使 ヽ切ったか否かを示す more— dequeue信号 264と、割り当てられた帯域を使 、切って!/、な!/、キュー 210が 存在する間は、 Deficit値 Vdを初期化しな 、ように制御するための内部状態フラグ 2 43a (rr— continue)を設けることで、全てのキュー 210において割り当てられた帯域 比率も正確に守られる。
[0116] 上述のような本実施の形態のキュースケジューリング装置 200におけるキュースケ ジユーリング制御によって、上述の図 4および図 5に示した従来例がどのような結果に なるかを以下に示す。
[0117] キューの本数は 3本、最低帯域は 500Mbps (キュー 1)、 350Mbps (キュー 2)、 15 0Mbps (キュー 3)とし、シェービングは 500Mbps (キュー 1)、 500Mbps (キュー 2)、 300Mbps (キュー 3)とする。また、シェービングのバーストサイズを同様に 3とする。
[0118] この場合、本実施の形態のキュースケジューリング装置 200によるスケジューリング 結果は図 14のようになる。
本実施の形態の場合には、従来の DRRのように単一キューから Deficit値 Vdの値 だけ連続してデキューする場合と異なり、全キューから 1フレームずつ順繰りにデキュ 一する制御形態に変わっているため、時刻 t=0〜8では 3つキュー 1〜3の全てがラ ゥンドロビン的に順繰りにデキューされるように動作する。
[0119] その後、キュー 3の Deficit値 Vdが 0になったので除外され、次はキュー 1とキュー 2 で交互にデキューが実行され、最後にキュー 1だけが Deficit値力^より大きいので、 キュー 1に対してデキューを実施する。
[0120] キューシエーパ(シェービング制御部 250)のバーストサイズが 3である力 各キュー から 1フレームずつの取り出しなので、 Deficit値 Vd力 Oより大きいのにバーストサイ ズの不足でスケジューリングできない、という問題も本実施の形態の場合には発生し ない。
[0121] この例では、キュー 1から最大 3バーストでフレームが出るので、出力側の送信バッ ファの容量は 3〜4フレームの長さ分に抑えられる。上述の図 4、図 5の従来例では 1 0フレーム分のバッファ必要であったので、本実施の形態の場合には、必要なバッフ ァサイズが大幅に少なくて済むことがわかる。
[0122] また、 Deficit値の差が大きい (最低帯域保証の差がキュー毎に大きい)場合は、ど うしても連続で出力する場合が出るものの、 Deficit値 Vdの差が小さい場合のほとん どでバッファサイズを抑えることが可能となり、通常使用においては十分な効果を発 揮できる。
[0123] なお、 Deficit処理部 230の more— dequeue信号 264のアサート処理において、 対応するキュー 210に 2つめのパケットがあるかどうか見ていないのは、一巡して戻つ てくるまでにデキュー実行部 240からのデキュー要求が来る(dequeue要求信号 26 1がアサートされる)場合を想定しているからである。
[0124] 従来の DRRでは、 Deficit値 Vdに相当する長さ分の一つあるいは複数のフレーム
300を連続してデキューしなければ (Burstさせなければ)最低帯域保証が出来な!/、 ため、キュー 210のシェービング制御部 250は、 Deficit値 Vdの値以上のバースト(B urst)転送を行なわせなければならなかった。
[0125] 本実施の形態の場合にはバーストサイズを少なくするために、シェービング制御部 250によるバーストサイズの設定値も低くしないといけない。そのため、キュー 210に フレーム 300はあるがシェービングの関係力 デキューしてはいけない状態が当然出 て来る。
[0126] この状態の時に Deficit処理部 230の Deficit値 Vdのリセット(Quantum値 Vqによ る初期化)が実行される場合があり、そのままでは設定帯域どおりのスケジューリング が出来ない瞬間が発生するため、本実施の形態では、 more— dequeue信号 264を 設け、 more— dequeue信号 264のアサート処理において、対応するキュー 210に 2 つめのパケットがあるかどうか見な 、ようにして 、る。
[0127] もちろん、 more— dequeue信号 264がなくても、少し時間が経過すれば設定帯域 どおりになるが、本実施の形態のように more— dequeue信号 264を設けることは、瞬 間的な帯域のずれまでを許さずに厳密なスケジューリングを実施する場合に有効と なる。
[0128] 上述のキュースケジューリング装置 200を情報中継装置 100等に実装することで、 以下の効果が得られる。
属性の異なるフレーム 300の複数フローが情報中継装置 100を流れている時、キュ 一スケジューリング装置 200のキュー制御部 220の出力側のバーストサイズは必ず 1 フレームのフレーム長 Lに抑えられる。 [0129] 情報中継装置 100の中で、フレーム 300の単一フローしか流れていなくても、バー ストサイズはシェービング制御部 250が設定したバーストサイズに抑えられる。
従来の DRR実装では Quantum値 Vq以上のバーストサイズをシェービング制御部 250に許容する設定としなければならな力つた。さもないと、やはり帯域比率が守れ なかった。
[0130] これに対して、本実施の形態の場合には、シェービング制御部 250のバーストサイ ズは最低限の設定で構わないので、結局、単一フローにおいてもバーストサイズはか なり抑えられる。
[0131] バーストサイズが抑えられるので、たとえば、このバーストサイズに対応してキュー制 御部 220の後段に位置する内部スィッチ 130等に設けられるデータバッファの容量 力 、さくて済む。
[0132] この結果、データバッファを構成する記憶素子に掛カるコストおよび実装面積を削 減することができる。
産業上の利用可能性
[0133] 本発明によれば、個々のキューの設定帯域を維持しつつ、バースト量を低減させる ことが可能となる。
また、本発明によれば、シェービングの実装と併用してもシェービング精度を悪ィ匕さ せることがないキュースケジューリング技術を提供することができる。
[0134] また、本発明によれば、個々のキュー毎のフローを、より公平にスケジューリングす ることが可能となる。
また、本発明によれば、より低コストにて情報中継装置を構築することが可能となる
[0135] また、本発明によれば、通信データの属性に応じた安定な帯域制御およびシ ー ビングを低コストにて実現することが可能な情報中継装置を提供することができる。 なお、本発明は、上述の実施の形態に例示した構成に限らず、その趣旨を逸脱し な!、範囲で種々変更可能であることは言うまでもな 、。
[0136] たとえば、本発明のキュースケジューリング技術を実施する上述の情報中継装置 1 00やキュースケジューリング装置 200の構成は、一例であり、一般の情報機器に広く 適用することが可能である。

Claims

請求の範囲
[1] 通信データを到着順に保持する複数のキューと、
個々の前記キューに対応して設けられ、当該キューに保持される前記通信データ の属性に応じた初期値が管理値として設定される記憶手段と、
前記管理値が 0以上の前記キューから順繰りに前記通信データを読み出すとともに
、当該キュー力 読み出した前記通信データの長さを、当該キューに対応する前記 管理値から減算する操作と、
対応する前記管理値が 0以上の前記キューがなくなったときに、全ての前記記憶手 段に対して前記管理値として前記初期値を設定する操作と、
を実行するキュー制御手段と、
を含むことを特徴とするキュースケジューリング装置。
[2] 請求項 1記載のキュースケジューリング装置において、
前記初期値は、個々の前記キューに割り当てられる最低保証帯域に応じて設定さ れることを特徴とするキュースケジューリング装置。
[3] 請求項 1記載のキュースケジューリング装置において、
さらに、前記キューに保持された前記通信データのシェービングを行うシェービング 制御手段を含むことを特徴とするキュースケジューリング装置。
[4] 請求項 1記載のキュースケジューリング装置において、
前記キュー制御手段は、
個々の前記キューに設けられた管理値計算手段と、
複数の前記キューに対して順繰りに前記通信データの読み出しを試行するデキュー 実行手段と、を含み、
前記デキュー実行手段は、
個々の前記管理値計算手段力 出力される第 1読み出し可能信号が真の時に当 該管理値計算手段に対して出力される読み出し要求信号を真にして前記通信デー タの読み出しを実行する機能と、
個々の前記管理値計算手段から出力され、前記キューにおける前記通信データの 残りの有無を示す第 2読み出し可能信号が全て偽のときに、全ての前記管理値計算 手段に対して、前記記憶手段に対する前記初期値の設定を指示する初期化信号を 真にして出力する機能と、を含み、
前記管理値計算手段は、
前記キュー内に前記通信データが存在する時に前記第 1読み出し可能信号を真 にする機能と、
前記キュー力 の前記通信データの読み出し実行後に、前記管理値力 当該通信 データのサイズを減算した結果力 SOよりも大きいならば前記第 2読み出し可能信号を 真にする機能と、
前記デキュー実行手段からの前記初期化信号が真のときに、前記記憶手段に対し て前記初期値を前記管理値として設定する機能と、を含むことを特徴とするキュース ケジユーリング装置。
[5] 通信データを到着順に保持する複数のキューの各々に対応して、当該キューに保 持される前記通信データの属性に応じた初期値を管理値として設定するステップと、 前記管理値が 0以上の前記キューから順繰りに前記通信データを読み出すとともに 、当該キュー力 読み出した前記通信データの長さを、当該キューに対応する前記 管理値から減算するステップと、
対応する前記管理値が 0以上の前記キューがなくなったときに、全ての前記キュー に対応した前記管理値として前記初期値を設定するステップと、
を含むことを特徴とするキュースケジューリング方法。
[6] 請求項 5記載のキュースケジューリング方法にぉ 、て、
個々の前記キューに割り当てられる最低保証帯域に応じて前記初期値を設定する ことを特徴とするキュースケジューリング方法。
[7] 請求項 5記載のキュースケジューリング方法にぉ 、て、
さらに、前記キューに保持された前記通信データのシェービングを行う工程を含む ことを特徴とするキュースケジューリング方法。
[8] 通信データが入出力される複数のポートを管理するポート制御手段と、複数の前記 ポートの間で前記通信データの転送経路の切り替えを行う経路制御手段と、を含む 情報中継装置であって、 前記ポート制御手段は、
通信データを到着順に保持する複数のキューと、
個々の前記キューに対応して設けられ、当該キューに保持される前記通信データ の属性に応じた初期値が管理値として設定される記憶手段と、
前記管理値が 0以上の前記キューから順繰りに前記通信データを読み出すとともに
、当該キュー力 読み出した前記通信データの長さを、当該キューに対応する前記 管理値から減算する操作と、
対応する前記管理値が 0以上の前記キューがなくなったときに、全ての前記記憶手 段に対して前記管理値として前記初期値を設定する操作と、
を実行するキュー制御手段と、
を含むキュースケジューリング装置を備えたことを特徴とする情報中継装置。
[9] 請求項 8記載の情報中継装置において、
前記初期値は、個々の前記キューに割り当てられる最低保証帯域に応じて設定さ れることを特徴とする情報中継装置。
[10] 請求項 8記載の情報中継装置において、
さらに、前記キューに保持された前記通信データのシェービングを行うシェービング 制御手段を含むことを特徴とする情報中継装置。
[11] 請求項 8記載の情報中継装置において、
前記キュー制御手段は、
個々の前記キューに設けられた管理値計算手段と、
複数の前記キューに対して順繰りに前記通信データの読み出しを試行するデキュー 実行手段と、を含み、
前記デキュー実行手段は、
個々の前記管理値計算手段力 出力される第 1読み出し可能信号が真の時に当 該管理値計算手段に対して出力される読み出し要求信号を真にして前記通信デー タの読み出しを実行する機能と、
個々の前記管理値計算手段から出力され、前記キューにおける前記通信データの 残りの有無を示す第 2読み出し可能信号が全て偽のときに、全ての前記管理値計算 手段に対して、前記記憶手段に対する前記初期値の設定を指示する初期化信号を 真にして出力する機能と、を含み、
前記管理値計算手段は、
前記キュー内に前記通信データが存在する時に前記第 1読み出し可能信号を真 にする機能と、
前記キュー力 の前記通信データの読み出し実行後に、前記管理値力 当該通信 データのサイズを減算した結果力 SOよりも大きいならば前記第 2読み出し可能信号を 真にする機能と、
前記デキュー実行手段からの前記初期化信号が真のときに、前記記憶手段に対し て前記初期値を前記管理値として設定する機能と、を含むことを特徴とする情報中継 装置。
PCT/JP2005/023262 2005-12-19 2005-12-19 キュースケジューリング装置、キュースケジューリング方法、情報中継装置 WO2007072538A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2005/023262 WO2007072538A1 (ja) 2005-12-19 2005-12-19 キュースケジューリング装置、キュースケジューリング方法、情報中継装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2005/023262 WO2007072538A1 (ja) 2005-12-19 2005-12-19 キュースケジューリング装置、キュースケジューリング方法、情報中継装置

Publications (1)

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

Family

ID=38188329

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/023262 WO2007072538A1 (ja) 2005-12-19 2005-12-19 キュースケジューリング装置、キュースケジューリング方法、情報中継装置

Country Status (1)

Country Link
WO (1) WO2007072538A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114363267A (zh) * 2020-09-30 2022-04-15 华为技术有限公司 一种队列调度方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000278272A (ja) * 1999-03-29 2000-10-06 Mitsubishi Electric Corp ウエイテッドラウンドロビン回路
JP2005033408A (ja) * 2003-07-10 2005-02-03 Mitsubishi Electric Corp 重み付け優先制御方法
JP2005333544A (ja) * 2004-05-21 2005-12-02 Hitachi Communication Technologies Ltd シェーピング装置、フロー制御方法および通信ノード装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000278272A (ja) * 1999-03-29 2000-10-06 Mitsubishi Electric Corp ウエイテッドラウンドロビン回路
JP2005033408A (ja) * 2003-07-10 2005-02-03 Mitsubishi Electric Corp 重み付け優先制御方法
JP2005333544A (ja) * 2004-05-21 2005-12-02 Hitachi Communication Technologies Ltd シェーピング装置、フロー制御方法および通信ノード装置

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 (zh) * 2020-09-30 2022-04-15 华为技术有限公司 一种队列调度方法及装置

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
CN109120544B (zh) 一种数据中心网络中基于主机端流量调度的传输控制方法
US7621162B2 (en) Hierarchical flow-characterizing multiplexor
EP1240740B1 (en) Network switch with packet scheduling
US8681616B2 (en) Scheduling under congestion with traffic load-based scaling
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
US8942090B2 (en) Technique for throughput control for packet switches
US7830889B1 (en) Systems for scheduling the transmission of data in a network device
KR101990235B1 (ko) 패킷 교환 네트워크 내의 네트워크 노드에 있어서의 트래픽 관리를 위한 방법 및 네트워크 노드
US11290388B2 (en) Flow control method and apparatus
US20060256723A1 (en) Scheduling incoming packet traffic on an output link of a network device associated with a data network
US8018851B1 (en) Flow control for multiport PHY
AU2002339349B2 (en) Distributed transmission of traffic flows in communication networks
CN113366805A (zh) 报文调度方法、调度器、网络设备和网络***
JP2008503127A (ja) ネットワーク・デバイス及びトラフィックのシェーピング方法
US6947380B1 (en) Guaranteed bandwidth mechanism for a terabit multiservice switch
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 (ja) 帯域制御方法およびその帯域制御装置

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