JP2004236172A - Band control type packet scheduler - Google Patents

Band control type packet scheduler Download PDF

Info

Publication number
JP2004236172A
JP2004236172A JP2003024573A JP2003024573A JP2004236172A JP 2004236172 A JP2004236172 A JP 2004236172A JP 2003024573 A JP2003024573 A JP 2003024573A JP 2003024573 A JP2003024573 A JP 2003024573A JP 2004236172 A JP2004236172 A JP 2004236172A
Authority
JP
Japan
Prior art keywords
bandwidth
class
packet scheduler
frames
frame
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2003024573A
Other languages
Japanese (ja)
Inventor
Hiroyasu Koga
寛康 古賀
Tomoyuki Kubota
友行 窪田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu I Network Systems Ltd
Original Assignee
Fujitsu I Network Systems Ltd
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 I Network Systems Ltd filed Critical Fujitsu I Network Systems Ltd
Priority to JP2003024573A priority Critical patent/JP2004236172A/en
Publication of JP2004236172A publication Critical patent/JP2004236172A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a band control type packet scheduler with small device scale and with high precision of band control. <P>SOLUTION: In the band control type packet scheduler for performing band guarantee of traffic in which the number of frames to be inputted dynamically increases and decreases, it is constituted so that the frames are classified into a plurality of classes according to types of the frames, priority is set for each of the classes, the classes are divided into a high priority group for guaranteeing the band and a low priority group for guaranteeing no band according to the priority and the frames of the class belonging to the high priority group are preferentially scheduled. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、イーサネット(登録商標)網で帯域を制御する通信装置に関し、特に、入力されるフレーム数が動的に増減するトラフィックを帯域保証する帯域制御式パケットスケジューラに関する。
【0002】
【従来の技術】
近年イーサネット(登録商標)内のデータは増加しており、データごとの帯域を保証することができる通信装置が要求されている。
【0003】
現在ネットワークでは、音声や画像などのマルチメディアトラフィックが増大しており、それに伴ってネットワークの高速化がなされている。
【0004】
ネットワークはマルチメディアやその他のすべてのトラフィックが混合して伝送されており、従来のそれぞれのトラフィックの種類に関係なく伝送する方法ではなく、それぞれのトラフィックに対して適合的に伝送されなければならない状態になっている。
【0005】
このような場合、トラフィックの各フレームごとに帯域制御する方法が一般的であり、WFQや特開平8−274793号公報に記載されている方法がよく知られている。WFQ(Weighted Fair Quing)は、すべてのネットワーク・トラフィックに均等の帯域幅割り当てを提供し、トラフィックをクラスに分類し、重み(優先順位)を使用して、各クラスに割り当てる帯域幅を決定する。
【0006】
特開平8−274793号公報に記載の方法では、トラフィックソースごとに個別のバッファを持ち、各バッファの先頭セルまたは先頭パケットに対して待ち行列処理を行い、処理を行う際その対象となる先頭セルまたは先頭パケットがすぐに帯域保証されるべきセルまたはパケットであるか判定して処理をし、最小帯域保証を行っている。
【0007】
他の方法としてはスケジューリング方法があり、特開平11−298523号公報に記載の方法や、特開平11−68770号公報に記載の方法などがある。特開平11−298523号公報に記載の方法は、個々のパケット(フレーム)の流れを示す各フローに対して、各フローが要求する転送速度に対応する時間量を示す重みと、各フローの待ち行列とに基づいて、各フローの転送優先順位を示す優先インデックスを算出し、これらの優先インデックスの大きい順に各フローを並べ替えてパケットスケジューリングを行う。特開平11−68700号公報に記載の方法は、セルのトラフィックごとにクラスを設定し、各クラスの重み値およびバッファ量を元に出力セルの選択を行うWRRにおいてWRRの対象となるクラスに対してプライオリティ(優先度)を設定し、それに従って出力を行うスケジューリング方法である。
【0008】
従来は、これらのような方法で多くのフレームが流れるトラフィックに対して、各フレーム、トラフィックごとに要求される帯域を保証していた。
【0009】
【発明が解決しようとする課題】
上述したWFQでは、入力される高優先順位のトラフィックが多すぎる場合、低優先順位のトラフィックが放置されるおそれがあり、低優先順位のトラフィックがロックアウトされるおそれがあるという問題があった。
【0010】
特開平8−274793号公報に記載の方法では、処理を行う際その対象となる先頭セルまたは先頭パケットがすぐに帯域保証されるべきセルまたはパケットであるか判定し、帯域保証されるべきものは帯域幅保証待ち行列(GSQ)にて処理し、帯域保証するものがない場合はファーストカムファーストサーブ(FCFS)待ち行列にて処理を行っている。したがって待ち行列モジュールが複数存在するため、装置の規模が大きくなってしまうという問題があった。
【0011】
特開平11−298523号公報に記載の方法では、出力フローが決定されるたびにインデックス値を再計算するため、インデックステーブル内の計算すべきフローが多い場合、処理が多くなってしまうという問題があった。
【0012】
特開平11−68770号公報に記載の方法では、任意の長さのフレームしか扱えないという問題があった。
【0013】
このように、従来のパケットスケジュール方法は、主に各フレームのクラス分けや重み付けを行い、その後ラウンドロビン等の処理をすることにより優先すべきフレームを優先的に出力できるようにしているが、各フレームに対しての帯域を保証するにあたって、データの処理量、データを格納するバッファ量が大きくなってしまい、装置の騎馬が大型化してしまうという問題や、それに伴う帯域制御処理の遅延などにより、帯域保証の精度が悪化してしまうといった問題があった。
【0014】
本発明の目的は、上述したようなクラス分け、重み付けを用いながら、従来のものより装置規模が小さく、帯域制御の精度が高い帯域制御式パケットスケジューラを提供することである。
【0015】
【課題を解決するための手段】
請求項1に記載の第1発明による帯域制御式パケットスケジューラは、前記フレームを該フレームの種類に応じて複数のクラスに分類し、前記クラスの各々に対して優先度を設定し、前記クラスを優先度に応じて帯域を保証する高優先グループと帯域を保証しない低優先グループとに分け、前記高優先グループに属するクラスのフレームを優先してスケジューリングするようにしたことを特徴とする。このようにすれば、動的なクラス分けを行うことができ、小規模回路が必要な場合はクラスを少なくすることによって対応することができ、クラスのグループ分けによって精度の高い帯域制御ができ、グループ分けによる処理の分割ができるため装置規模を従来より小さくすることができる。
【0016】
請求項2に記載の第2発明による帯域制御式パケットスケジューラは、前記フレームのクラス分けを、前記フレームのタグ情報にしたがって行い、各々のクラスに属するフレームの種類の数を動的に変更するようにしたことを特徴とする。このようにすれば、高帯域保証を必要とするデータに対しての精度を上げることができる。
【0017】
請求項3に記載の第3発明による帯域制御式パケットスケジューラは、前記クラスごとに最低帯域保証値を設定し、前記最低帯域保証値に応じて前記グループ分けを行い、高優先グループのフレームがある場合には低優先グループのフレームを送信しないようにしたことを特徴とする。このようにすれば、帯域制御ありのデータの処理速度を上げることができる。
【0018】
請求項4に記載の第4発明による帯域制御式パケットスケジューラは、前記各々のグループ内のクラスに対して、これらのクラスの最低帯域保証値に基づいた重み値にしたがってラウンドロビン処理を行い、常に重み値が大きいクラスを優先的に送信するようにし、各クラスの重み値を、処理されたパケットフレームの長さ分の重み値を引くことによって更新するようにしたことを特徴とする。このようにすれば、あるクラスのフレームがなくなった場合に他のクラスの重み値を初期化することにより、常にラウンドロビンの処理が行われることになり、処理の無駄がなくなり、高速なトラフィックの場合でも対応することができる。
【0019】
請求項5に記載の第5発明による帯域制御式パケットスケジューラは、各クラス毎にタイマを具え、各々のクラスのフレームが入力されない時間を測定し、予め決められた時間フレームが入力されない場合、前記重み値を更新するようにしたことを特徴とする。このようにすれば、第5発明の効果をより高くすることができる。
【0020】
請求項6に記載の第6発明による帯域制御式パケットスケジューラは、前記クラス分けされたフレームをパケット分割してクラス毎に格納するバッファを具え、各々のクラスのバッファの容量を該クラスの最低帯域保証値に比例して動的に変化させるようにしたことを特徴とする。このようにすれば、バッファ容量の設定が容易になり、回路規模を小さくすることができる。
【0021】
請求項6に記載の第6発明による帯域制御式パケットスケジューラは、前記フレームを出力する際、予め設定された最大帯域値と、出力ポートのリンク速度と、各フレームの長さとに基づいてフレーム間ギャップを決定し、このフレーム間ギャップにしたがってトラフィックシェーピングするようにしたことを特徴とする。このようにすれば、容易に最大帯域保証を実現することができる。
【0022】
【発明の実施の形態】
図1は、本発明による帯域制御式パケットスケジューラの一実施形態の構成を示すブロック図である。本帯域制御式パケットスケジューラ1は、イーサネット(登録商標)に接続され、データを受けるマッピング実施部2と、マッピング実施部2に接続されたクラスマッピングテーブル4と、マッピング実施部2に接続され、パケットバッファを含むクラス毎バッファリング部6と、クラス毎バッファリング部6に接続された受信キュー8と、受信キュー8に接続されたGFR有無判定部10と、受信キュー8およびGFR有無判定部10に接続された受信キュー監視部12と、受信キュー監視部12に接続された重み値判定部14と、重み値判定部14に接続された重み値管理テーブル16と、重み値判定部14およびクラス毎バッファリング部6に接続されたバッファ送出部18と、バッファ送出部18およびイーサネット(登録商標)に接続され、出力データを出力するパケットシェーピング部20とを具える。
【0023】
マッピング実施部2は、イーサネット(登録商標)から受信した入力データのフレームのVLANタグフィールド値、またはIPヘッド内のDSCPフィールド値などの情報を抽出し、クラスマッピングテーブル部4に格納されたテーブルを参照して、フレームの種類により動的に設定されたクラスに従ってクラス分けを行い、クラス毎バッファリング部6に供給する。ここで、クラスに対する優先順位をクラスN>クラス0(N:任意の数)と設定する。クラス毎バッファリング部6は、前記クラス分けされたフレームを1ブロック64キロバイトのブロックに分割して前記パケットバッファにクラス別に格納する。クラス毎バッファリング部6は、さらに、前記パケットバッファのアドレスと、前記フレームのレングスと、識別したクラスと、クラスごとの最小帯域保証値(GFR)とを1つのエントリとしたデータを形成し、受信キュー8に供給する。受信キュー8は前記データを格納するとともにGFR有無判定部10に供給する。GFR有無判定部6は、受信キュー4から受けたデータに基づいて、前記クラスを最小帯域保証値(GFR)が0、すなわち最小帯域保証なしの低優先グループと、それ以外、すなわち最小帯域保証ありの高優先グループとに分け、このグループ分けについての情報を受信キュー監視部12に供給する。受信キュー監視部12は、受信キュー8に高優先グループに属するクラスがあるか否かを判定し、ある場合には、先に高優先グループのスケジューリングを行うことを決定し、重み値判定部14に受信キュー8に格納されている高優先グループに属するクラスのリストを供給する。高優先グループのキューが空になったら低優先グループに属するクラスのスケジューリングを行う。このスケジューリングについては後により詳細に説明する。重み値管理テーブル16は、クラス毎に設定されている最小帯域証値(GFR)に基づいて計算された重み値を格納しており、重み値判定部14は、重み値管理テーブル16を参照して待ち行列方式で重み値が大きいクラスから順に選択し、このスケジューリングの情報をバッファ送信部18に供給する。バッファ送信部18は、前記スケジューリング情報に従ってクラス毎バッファリング部6のパケットバッファからブロックを読み出し、パケットシェーピング部20に供給する。パケットシェーピング部10は、フレーム送信時、次のフレームを送信するまでの時間、最大帯域制御部11によってフレームごとに予め設定された最大帯域保証値に基づいてフレーム間ギャップを計算し、フレーム間に挿入することによって最大帯域保証を行い、前記フレームを物理ポートに送信する。
【0024】
図2は、受信キュー監視部12および重み値判定部14において行われる重み値によるクラススケジューリングを説明するフローチャートである。ステップS101において処理を開始し、ステップS102において重み値を更新する。この際、当該フレームを始めてスケジューリングする場合、各クラスの重み値には初期値を与え、そうでない場合、各クラスの重み値にクラスそれぞれの負になったときの重み値を加算し、新しく値を更新する。この際、各クラス毎にタイマでフレームが入力されない時間を測定し、予め決められた時間フレームが入力されない場合に重み値の更新を行うようにしてもよい。ステップS103で、高優先グループのクラスに対応するパケットバッファにブロックがあるか否かを判定し、ある場合はステップS104に進み、ない場合はステップS107に進む(Ph:高優先グループのクラスのブロックの有無、0:ブロックなし、1:ブロックあり)。ステップS104で、現在のすべてのクラスの重み値(Wi:クラスiの重み値)が正であるか否かを判定し、そうであればステップS105に進み、そうでない場合はステップS102に戻る。ステップS105で、高優先グループに属する重み値の大きいクラスのフレームを1つ出力する。この際、クラスの重み値が等しい場合、クラスの優先順位に従う。ステップS106で、ステップS106においてフレームが出力されたクラスの重み値(Wi)からフレーム長(Li:クラスiのフレーム長)を引き、ステップS103に戻る。ステップS107で、低優先グループのクラスに対応するパケットバッファにブロックがあるか否かを判定し、ある場合はステップS108に進み、ない場合はステップS103に戻る(Pl:低優先グループのクラスのブロックの有無、0:ブロックなし、1:ブロックあり)。ステップS108で、低優先グループに属するフレームを出力し、ステップS103に戻る。
【0025】
図3は、実際のクラススケジューリングの一例を説明する図である。この図に示す例において、クラスをクラス0〜3の4つに設定し、各クラスの重み値を、クラス3は5、クラス2は3、クラス1は1、クラス0は0と設定した。本図における矩形の各々はフレームを表し、中の数字はクラスの番号を示す。フレーム長はすべて同じで、1つのフレームに対しての重み値を1とした。最初に高優先グループであるクラス3および2を処理する。重み値が同じになった場合は、クラスの優先順位に従ってクラス3から処理する。高優先グループのフレームがなくなったら、低優先グループに属する重み値0のクラスのフレームを出力する。
【図面の簡単な説明】
【図1】本発明による帯域制御式パケットスケジューラの一実施形態の構成を示すブロック図である。
【図2】重み値によるクラススケジューリングを説明するフローチャートである。
【図3】実際のクラススケジューリングの一例を説明する図である。
【符号の説明】
1 帯域制御式パケットスケジューラ
2 マッピング実施部
4 クラスマッピングテーブル
6 クラス毎バッファリング部
8 受信キュー
10 GFR有無判定部
12 受信キュー監視部
14 重み値判定部
16 重み値管理テーブル
18 バッファ送出部
20 パケットシェーピング部
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a communication device that controls a band in an Ethernet (registered trademark) network, and particularly to a band control type packet scheduler that guarantees a band for traffic in which the number of input frames dynamically increases and decreases.
[0002]
[Prior art]
In recent years, data in Ethernet (registered trademark) is increasing, and a communication device that can guarantee a band for each data is required.
[0003]
At present, multimedia traffic such as voice and images is increasing in networks, and accordingly, the speed of the networks is increased.
[0004]
A network where multimedia and all other traffic are mixed and transmitted, and must be transmitted adaptively for each traffic, rather than the traditional method of transmitting each type of traffic. It has become.
[0005]
In such a case, a method of controlling the bandwidth for each frame of the traffic is generally used, and the methods described in WFQ and JP-A-8-274793 are well known. Weighted Fair Quing (WFQ) provides equal bandwidth allocation to all network traffic, classifies the traffic into classes, and uses weights (priorities) to determine the bandwidth allocated to each class.
[0006]
In the method described in Japanese Patent Application Laid-Open No. 8-274793, a separate buffer is provided for each traffic source, a queuing process is performed on the first cell or the first packet of each buffer, and the first cell to be processed when the process is performed. Alternatively, it is determined whether or not the first packet is a cell or a packet for which the bandwidth should be guaranteed immediately, and the processing is performed, and the minimum bandwidth is guaranteed.
[0007]
As another method, there is a scheduling method, such as the method described in JP-A-11-298523, and the method described in JP-A-11-68770. The method described in Japanese Patent Application Laid-Open No. H11-298523 discloses a method for each flow indicating the flow of an individual packet (frame), a weight indicating a time amount corresponding to a transfer rate required by each flow, and a waiting time for each flow. A priority index indicating the transfer priority of each flow is calculated based on the matrix, and each flow is rearranged in descending order of these priority indexes to perform packet scheduling. The method described in Japanese Patent Application Laid-Open No. 11-68700 discloses a method in which a class is set for each cell traffic, and an output cell is selected based on a weight value and a buffer amount of each class. This is a scheduling method in which a priority (priority) is set and output is performed according to the priority.
[0008]
Conventionally, the bandwidth required for each frame and each traffic is guaranteed for the traffic in which many frames flow by such methods.
[0009]
[Problems to be solved by the invention]
The WFQ described above has a problem that if too much high-priority traffic is input, low-priority traffic may be left behind and low-priority traffic may be locked out.
[0010]
According to the method described in Japanese Patent Application Laid-Open No. 8-274793, it is determined whether a head cell or a head packet to be processed is a cell or a packet whose bandwidth is to be guaranteed immediately when processing is performed. Processing is performed in a bandwidth guarantee queue (GSQ), and when there is no bandwidth guarantee, processing is performed in a first come first serve (FCFS) queue. Therefore, there is a problem that the size of the apparatus is increased due to the presence of a plurality of queue modules.
[0011]
In the method described in Japanese Patent Application Laid-Open No. H11-298523, the index value is recalculated every time the output flow is determined. Therefore, when the number of flows to be calculated in the index table is large, the number of processes increases. there were.
[0012]
The method described in Japanese Patent Application Laid-Open No. H11-68770 has a problem that only frames of an arbitrary length can be handled.
[0013]
As described above, the conventional packet scheduling method mainly performs classification and weighting of each frame, and then performs processing such as round robin so that a frame to be prioritized can be output with priority. In assuring the bandwidth for the frame, the amount of data processing and the amount of buffer for storing data becomes large, and the horseback of the device becomes large. There is a problem that the accuracy of the bandwidth guarantee is deteriorated.
[0014]
It is an object of the present invention to provide a bandwidth-controlled packet scheduler having a smaller device size and higher bandwidth control accuracy than the conventional one, using the above-described classification and weighting.
[0015]
[Means for Solving the Problems]
The bandwidth-controlled packet scheduler according to the first aspect of the present invention classifies the frame into a plurality of classes according to the type of the frame, sets a priority for each of the classes, and In accordance with the priority, a high-priority group that guarantees a bandwidth and a low-priority group that does not guarantee a bandwidth are divided, and frames of the classes belonging to the high-priority group are scheduled with priority. In this way, dynamic classification can be performed, and when a small-scale circuit is required, it can be dealt with by reducing the number of classes. Since processing can be divided by grouping, the apparatus scale can be made smaller than before.
[0016]
A bandwidth-controlled packet scheduler according to a second aspect of the present invention classifies the frames according to tag information of the frames, and dynamically changes the number of types of frames belonging to each class. It is characterized in that. In this way, it is possible to improve the accuracy of data requiring high bandwidth guarantee.
[0017]
A bandwidth-controlled packet scheduler according to a third aspect of the present invention sets a minimum bandwidth guarantee value for each class, performs the grouping according to the minimum bandwidth guarantee value, and has a frame of a high priority group. In this case, it is characterized in that the frame of the low priority group is not transmitted. By doing so, the processing speed of data with band control can be increased.
[0018]
A bandwidth-controlled packet scheduler according to a fourth aspect of the present invention performs round-robin processing on the classes in each of the groups according to the weight values based on the minimum bandwidth guarantee values of these classes, and always performs A class having a larger weight value is preferentially transmitted, and the weight value of each class is updated by subtracting a weight value corresponding to the length of a processed packet frame. In this way, when frames of a certain class are lost, the weight values of other classes are initialized, so that round robin processing is always performed, processing is not wasted, and high-speed traffic is eliminated. It can respond even in cases.
[0019]
A bandwidth-controlled packet scheduler according to a fifth aspect of the present invention includes a timer for each class, measures a time when frames of each class are not input, and when a predetermined time frame is not input, It is characterized in that the weight value is updated. By doing so, the effect of the fifth invention can be further enhanced.
[0020]
A bandwidth-controlled packet scheduler according to a sixth aspect of the present invention includes a buffer that divides the classified frames into packets and stores the divided packets for each class, and reduces the capacity of the buffer of each class to the minimum bandwidth of the class. It is characterized in that it is dynamically changed in proportion to the guaranteed value. This makes it easy to set the buffer capacity, and can reduce the circuit scale.
[0021]
A bandwidth-controlled packet scheduler according to a sixth aspect of the present invention is configured such that, when outputting the frame, an inter-frame interval is set based on a preset maximum bandwidth value, a link speed of an output port, and a length of each frame. A gap is determined, and traffic shaping is performed according to the inter-frame gap. This makes it possible to easily guarantee the maximum bandwidth.
[0022]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 is a block diagram showing a configuration of an embodiment of a band control type packet scheduler according to the present invention. The bandwidth control type packet scheduler 1 is connected to the Ethernet (registered trademark) and receives data, a mapping execution unit 2, a class mapping table 4 connected to the mapping execution unit 2, and a packet execution unit 2 connected to the mapping execution unit 2. Each class buffering unit 6 including a buffer, a reception queue 8 connected to the class buffering unit 6, a GFR presence / absence determination unit 10 connected to the reception queue 8, a reception queue 8 and a GFR presence / absence determination unit 10 The connected reception queue monitoring unit 12, the weight determination unit 14 connected to the reception queue monitoring unit 12, the weight management table 16 connected to the weight determination unit 14, the weight determination unit 14, and each class The buffer sending unit 18 connected to the buffering unit 6 and the buffer sending unit 18 and the Ethernet (registered trademark) Are continued, it comprises a packet shaping unit 20 for outputting the output data.
[0023]
The mapping execution unit 2 extracts information such as a VLAN tag field value of a frame of the input data received from the Ethernet (registered trademark) or a DSCP field value in the IP head, and converts the table stored in the class mapping table unit 4 into a table. With reference to the class, the classification is performed according to the class dynamically set according to the type of the frame, and the classification is supplied to the class-based buffering unit 6. Here, the priority order for the classes is set as class N> class 0 (N: any number). The class-based buffering unit 6 divides the classified frames into blocks of 64 kilobytes per block and stores the divided frames in the packet buffer for each class. The class-based buffering unit 6 further forms data in which the packet buffer address, the frame length, the identified class, and the minimum bandwidth guarantee value (GFR) for each class are one entry, It is supplied to the reception queue 8. The reception queue 8 stores the data and supplies the data to the GFR presence / absence determination unit 10. Based on the data received from the reception queue 4, the GFR presence / absence determining unit 6 classifies the class with a minimum bandwidth guarantee value (GFR) of 0, that is, a low priority group without a minimum bandwidth guarantee, and with other classes, that is, with a minimum bandwidth guarantee. , And supplies information on the grouping to the reception queue monitoring unit 12. The reception queue monitoring unit 12 determines whether or not there is a class belonging to the high priority group in the reception queue 8, and if there is, determines to schedule the high priority group first, and determines the weight value determination unit 14. Supplies a list of classes belonging to the high priority group stored in the reception queue 8. When the queue of the high priority group becomes empty, scheduling of the class belonging to the low priority group is performed. This scheduling will be described in more detail later. The weight value management table 16 stores a weight value calculated based on the minimum bandwidth proof value (GFR) set for each class, and the weight value determination unit 14 refers to the weight value management table 16. In the queuing method, classes are selected in order from the one with the largest weight value, and the scheduling information is supplied to the buffer transmitting unit 18. The buffer transmission unit 18 reads a block from the packet buffer of the class-based buffering unit 6 according to the scheduling information and supplies the read block to the packet shaping unit 20. When transmitting a frame, the packet shaping unit 10 calculates an inter-frame gap based on the maximum bandwidth guarantee value preset for each frame by the maximum bandwidth control unit 11 during the time until the next frame is transmitted. The maximum bandwidth is guaranteed by inserting the frame, and the frame is transmitted to the physical port.
[0024]
FIG. 2 is a flowchart illustrating class scheduling based on weight values performed in the reception queue monitoring unit 12 and the weight value determination unit 14. The process is started in step S101, and the weight value is updated in step S102. At this time, when scheduling the frame for the first time, an initial value is given to the weight value of each class. Otherwise, the weight value at the time of each class being negative is added to the weight value of each class, and a new value is obtained. To update. At this time, the time during which no frame is input may be measured by a timer for each class, and the weight value may be updated when a predetermined time frame is not input. In step S103, it is determined whether or not there is a block in the packet buffer corresponding to the class of the high priority group. If there is, the process proceeds to step S104. , 0: no block, 1: block). In step S104, it is determined whether or not the current weight values of all the classes (Wi: weight values of class i) are positive. If so, the process proceeds to step S105; otherwise, the process returns to step S102. In step S105, one frame of a class having a large weight value belonging to the high priority group is output. At this time, if the weight values of the classes are equal, the priority order of the classes follows. In step S106, the frame length (Li: the frame length of class i) is subtracted from the weight value (Wi) of the class to which the frame was output in step S106, and the process returns to step S103. In step S107, it is determined whether there is a block in the packet buffer corresponding to the class of the low priority group. If there is, the process proceeds to step S108, and if not, the process returns to step S103 (P1: block of the class of low priority group) , 0: no block, 1: block). In step S108, a frame belonging to the low priority group is output, and the process returns to step S103.
[0025]
FIG. 3 is a diagram illustrating an example of actual class scheduling. In the example shown in this figure, the classes are set to four classes 0 to 3, and the weight values of the classes are set to 5 for class 3, 3 for class 2, 1 for class 1, and 0 for class 0. Each of the rectangles in the figure represents a frame, and the numbers in the figures indicate the class numbers. The frame lengths were all the same, and the weight value for one frame was 1. First, classes 3 and 2, which are high priority groups, are processed. If the weight values are the same, processing is performed from class 3 according to the priority of the class. When there are no more frames in the high-priority group, a frame belonging to the low-priority group and having a weight value of 0 is output.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of an embodiment of a bandwidth-controlled packet scheduler according to the present invention.
FIG. 2 is a flowchart illustrating class scheduling based on weight values.
FIG. 3 is a diagram illustrating an example of actual class scheduling.
[Explanation of symbols]
1 bandwidth control type packet scheduler 2 mapping implementation section 4 class mapping table 6 class-based buffering section 8 reception queue 10 GFR presence / absence determination section 12 reception queue monitoring section 14 weight value determination section 16 weight value management table 18 buffer transmission section 20 packet shaping Department

Claims (7)

入力されるフレーム数が動的に増減するトラフィックを帯域保証する帯域制御式パケットスケジューラにおいて、前記フレームを該フレームの種類に応じて複数のクラスに分類し、前記クラスの各々に対して優先度を設定し、前記クラスを優先度に応じて帯域を保証する高優先グループと帯域を保証しない低優先グループとに分け、前記高優先グループに属するクラスのフレームを優先してスケジューリングするようにしたことを特徴とする帯域制御式パケットスケジューラ。In a bandwidth-controlled packet scheduler that guarantees bandwidth for traffic in which the number of input frames dynamically increases and decreases, the frames are classified into a plurality of classes according to the types of the frames, and a priority is assigned to each of the classes. Setting, the class is divided into a high-priority group that guarantees a bandwidth according to the priority and a low-priority group that does not guarantee the bandwidth, and the frame of the class belonging to the high-priority group is scheduled with priority. Characteristic band control type packet scheduler. 請求項1に記載の帯域制御式パケットスケジューラにおいて、前記フレームのクラス分けを、前記フレームのタグ情報にしたがって行い、各々のクラスに属するフレームの種類の数を動的に変更するようにしたことを特徴とする帯域制御式パケットスケジューラ。2. The bandwidth-controlled packet scheduler according to claim 1, wherein the classification of the frames is performed according to tag information of the frames, and the number of types of frames belonging to each class is dynamically changed. Characteristic band control type packet scheduler. 請求項1または2に記載の帯域制御式パケットスケジューラにおいて、前記クラスごとに最低帯域保証値を設定し、前記最低帯域保証値に応じて前記グループ分けを行い、高優先グループのフレームがある場合には低優先グループのフレームを送信しないようにしたことを特徴とする帯域制御式パケットスケジューラ。The bandwidth-controlled packet scheduler according to claim 1 or 2, wherein a minimum bandwidth guarantee value is set for each class, and the grouping is performed according to the minimum bandwidth guarantee value. Is a band-controlled packet scheduler characterized in that frames of a low priority group are not transmitted. 請求項3に記載の帯域制御式パケットスケジューラにおいて、前記各々のグループ内のクラスに対して、これらのクラスの最低帯域保証値に基づいた重み値にしたがってラウンドロビン処理を行い、常に重み値が大きいクラスを優先的に送信するようにし、各クラスの重み値を、処理されたパケットフレームの長さ分の重み値を引くことによって更新するようにしたことを特徴とする帯域制御式パケットスケジューラ。4. The bandwidth-controlled packet scheduler according to claim 3, wherein round robin processing is performed on the classes in each of the groups according to the weight values based on the minimum bandwidth guarantee values of these classes, and the weight values are always large. A bandwidth-controlled packet scheduler wherein classes are transmitted preferentially, and a weight value of each class is updated by subtracting a weight value corresponding to the length of a processed packet frame. 請求項4に記載の帯域制御式パケットスケジューラにおいて、各クラス毎にタイマを具え、各々のクラスのフレームが入力されない時間を測定し、予め決められた時間フレームが入力されない場合、前記重み値を更新するようにしたことを特徴とする帯域制御式パケットスケジューラ。5. The bandwidth-controlled packet scheduler according to claim 4, further comprising a timer for each class, measuring a time during which frames of each class are not input, and updating the weight value when a predetermined time frame is not input. A bandwidth-controlled packet scheduler. 請求項3、4または5に記載の帯域制御式パケットスケジューラにおいて、前記クラス分けされたフレームをパケット分割してクラス毎に格納するバッファを具え、各々のクラスのバッファの容量を該クラスの最低帯域保証値に比例して動的に変化させるようにしたことを特徴とする帯域制御式パケットスケジューラ。6. The bandwidth-controlled packet scheduler according to claim 3, further comprising a buffer configured to divide the class-divided frame into packets and store the divided frames for each class, wherein a capacity of the buffer of each class is set to a minimum bandwidth of the class. A bandwidth control type packet scheduler characterized by dynamically changing in proportion to a guaranteed value. 請求項1ないし6のいずれか1項に記載の帯域制御式パケットスケジューラにおいて、前記フレームを出力する際、予め設定された最大帯域値と、出力ポートのリンク速度と、各フレームの長さとに基づいてフレーム間ギャップを決定し、このフレーム間ギャップにしたがってトラフィックシェーピングするようにしたことを特徴とする帯域制御式パケットスケジューラ。The bandwidth control packet scheduler according to any one of claims 1 to 6, wherein the frame is output based on a preset maximum bandwidth value, a link speed of an output port, and a length of each frame. A bandwidth control type packet scheduler, wherein an inter-frame gap is determined by using the inter-frame gap, and traffic shaping is performed according to the inter-frame gap.
JP2003024573A 2003-01-31 2003-01-31 Band control type packet scheduler Pending JP2004236172A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003024573A JP2004236172A (en) 2003-01-31 2003-01-31 Band control type packet scheduler

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003024573A JP2004236172A (en) 2003-01-31 2003-01-31 Band control type packet scheduler

Publications (1)

Publication Number Publication Date
JP2004236172A true JP2004236172A (en) 2004-08-19

Family

ID=32953066

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003024573A Pending JP2004236172A (en) 2003-01-31 2003-01-31 Band control type packet scheduler

Country Status (1)

Country Link
JP (1) JP2004236172A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009194585A (en) * 2008-02-14 2009-08-27 Nec Corp Relay device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009194585A (en) * 2008-02-14 2009-08-27 Nec Corp Relay device

Similar Documents

Publication Publication Date Title
US6810426B2 (en) Methods and systems providing fair queuing and priority scheduling to enhance quality of service in a network
US6721273B1 (en) Method and apparatus for traffic flow control in data switches
EP1774714B1 (en) Hierarchal scheduler with multiple scheduling lanes
JP3435293B2 (en) Packet scheduling apparatus and packet transfer method
US6256315B1 (en) Network to network priority frame dequeuing
US6959002B2 (en) Traffic manager for network switch port
US8000247B2 (en) Bandwidth management apparatus
EP1303083B1 (en) Packet scheduling apparatus
US6795870B1 (en) Method and system for network processor scheduler
CN101964758A (en) Differentiated service-based queue scheduling method
US7843940B2 (en) Filling token buckets of schedule entries
AU2002339349B2 (en) Distributed transmission of traffic flows in communication networks
EP1638273B1 (en) Scheduling using quantum and deficit values
US7397762B1 (en) System, device and method for scheduling information processing with load-balancing
US7565496B2 (en) Sharing memory among multiple information channels
KR20120055946A (en) Method and apparatus for packet scheduling based on allocating fair bandwidth
US20200014630A1 (en) Method To Limit Packet Fetching With Uncertain Packet Sizes To Control Line Rate
US7350208B1 (en) Method and apparatus for scheduling using a resource variable decreased by amounts corresponding to the efficiency of the resource
US8467401B1 (en) Scheduling variable length packets
US7599381B2 (en) Scheduling eligible entries using an approximated finish delay identified for an entry based on an associated speed group
JP2004236172A (en) Band control type packet scheduler
JPH11261634A (en) Packet scheduling control method
JP5183460B2 (en) Packet scheduling method and apparatus
JPH11298523A (en) Packet scheduling method
JP2006339790A (en) Band control method, computer program, and network apparatus