JP3578953B2 - セルスケジューリング装置及びセルスケジューリング方法 - Google Patents

セルスケジューリング装置及びセルスケジューリング方法 Download PDF

Info

Publication number
JP3578953B2
JP3578953B2 JP36544299A JP36544299A JP3578953B2 JP 3578953 B2 JP3578953 B2 JP 3578953B2 JP 36544299 A JP36544299 A JP 36544299A JP 36544299 A JP36544299 A JP 36544299A JP 3578953 B2 JP3578953 B2 JP 3578953B2
Authority
JP
Japan
Prior art keywords
connection
output
cell
cells
bandwidth
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.)
Expired - Fee Related
Application number
JP36544299A
Other languages
English (en)
Other versions
JP2001186130A (ja
Inventor
和海 小口
啓示 大久保
竜介 川手
和彦 鈴木
愼一郎 茶木
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.)
Mitsubishi Electric Corp
Nippon Telegraph and Telephone Corp
Original Assignee
Mitsubishi Electric Corp
Nippon Telegraph and Telephone Corp
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 Mitsubishi Electric Corp, Nippon Telegraph and Telephone Corp filed Critical Mitsubishi Electric Corp
Priority to JP36544299A priority Critical patent/JP3578953B2/ja
Publication of JP2001186130A publication Critical patent/JP2001186130A/ja
Application granted granted Critical
Publication of JP3578953B2 publication Critical patent/JP3578953B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、ATM通信装置における複数のコネクションが一定帯域を共有する場合において、複数のコネクションのセルをスケジューリングして出力するセルスケジューリング装置及びセルスケジューリング方法に関するものである。
【0002】
【従来の技術】
複数のコネクションが一定帯域を共有するときのセルスケジューリング装置として、WRR(Weighted Round Robin)方式によるスケジューリング装置がある。
図13はWRR方式によるスケジューリング方式を模式的に示す説明図であり、図において、101,102,103はぞれぞれコネクションA,B,Cのセルバッファ、104はWRRスケジューラ、105は出力セル流である。
【0003】
次に動作について説明する。
図13は3個のコネクションが一定の出力帯域を共有し、コネクションA,B,Cの保証帯域のウエイト比が3:2:1の場合の例である。
セルバッファ101〜103に常にセルが存在する場合、WRR方式では出力帯域に対してウエイトの比で帯域が分割される。従って、出力帯域が12Mb/sの場合は、コネクションA,B,Cはそれぞれ6Mb/s,4Mb/s,2Mb/sの帯域が保証されることになる。
【0004】
WRRスケジューラ104では、コネクション毎にカウンタを持ち、そのカウンタの値とセル有無情報から、スケジューリングを行う。カウンタの初期値は保証帯域の比であるウエイト値とし、出力する毎に「1」減じる。
そして、セルを選択出力する毎にカウンタを「1」減じてゆき、すべてのカウンタ値が「0」となるか、カウンタ値が「0」以外のセルバッファがすべて空である場合に、カウンタを初期値にリセットすることで、公平な帯域保証を実現する。
【0005】
以下、図14を用いてWRRスケジューラ104のスケジュール方法を具体的に説明する。図14は図13と同様に、コネクションA,B,Cのウエイトが3:2:1の場合を示している。また、図14では各コネクションのセルバッファに常にセルが存在する場合を想定している。
【0006】
まず、時刻T1では、カウンタ値が「0」でないコネクションA,B,Cでラウンドロビンを実行し、先頭のコネクションAを選択する。そして、コネクションAのカウンタ値を「3」から「1」減じて「2」とする。
次に、時刻T2では、時刻T1で出力したコネクションAの次のコネクションBからスキャンを行う。カウンタの値が「0」でないコネクションA,B,Cでラウンドロビンを実行するため、コネクションBを選択する。そして、コネクションBのカウンタ値を「2」から「1」減じて「1」とする。
【0007】
時刻T3では、時刻T2で出力したコネクションBの次のコネクションCからスキャンを行う。カウンタの値が「0」でないコネクションA,B,Cでラウンドロビンを実行するため、コネクションCを選択する。そして、コネクションCのカウンタ値を「1」から「1」減じて「0」とする。
時刻T4では、時刻T3で出力したコネクションCの次のコネクションAからスキャンを行う。カウンタ値が「0」でないコネクションAとコネクションBでラウンドロビンを実行するため、コネクションAを選択する。そして、コネクションAのカウンタ値を「2」から「1」減じて「1」とする。
【0008】
時刻T5では、時刻T4で出力したコネクションAの次のコネクションBからスキャンを行う。カウンタ値が0でないコネクションAとコネクションBでラウンドロビンを実行するため、コネクションBを選択する。そして、コネクションBのカウンタ値を「1」から「1」減じて「0」とする。
時刻T6では、時刻T5で出力したコネクションBの次のコネクションCからスキャンを行う。カウンタ値が0でないのはコネクションAだけであるので、コネクションAを選択する。そして、コネクションAのカウンタ値を「1」から「1」減じて「0」とする。
【0009】
これにより、コネクションA,B,Cのカウンタ値がすべて「0」となるため、カウンタを初期値にリセットする。
時刻T7以降では、時刻T1〜T6と同様の処理を実行し、時刻T7〜T12は図14のようになる。このようにして、すべてのセルバッファに常にセルが存在する場合は、出力帯域に対してウエイトの比で各コネクションの帯域が保証される。
【0010】
図15は図13と同じ設定において、コネクションAのセルバッファにセルが存在しない場合の例である。図15に示すように、コネクションAのセルバッファ101にセルが存在しない場合は、セルが存在するコネクションBとコネクションCの間で、各ウエイトの比で帯域が分割され、コネクションBは8Mb/s、コネクションCは4Mb/sの帯域で出力される。
以下、図16を用いてWRRスケジューラ104のスケジュール方法を具体的に説明する。
【0011】
時刻T1では、セルバッファにセルが存在し、かつ、カウンタ値が「0」でないコネクションBとコネクションCでラウンドロビンを実行し、コネクションBを選択する。そして、コネクションBのカウンタ値を「2」から「1」減じて「1」とする。
時刻T2では、セルバッファにセルが存在し、かつ、カウンタ値が「0」でないコネクションBとコネクションCでラウンドロビンを実行し、時刻T1で出力したコネクションBの次のコネクションCを選択する。そして、コネクションCのカウンタ値を「1」から「1」減じて「0」とする。
【0012】
時刻T3では、セルバッファにセルが存在し、かつ、カウンタ値が「0」でないのはコネクションBだけであるので、コネクションBを選択する。そして、コネクションBのカウンタ値を「1」から「1」減じて「0」とする。
時刻T4では、カウンタ値が「0」でないのはコネクションAだけであるが、コネクションAのセルバッファにセルが存在していないため、カウンタ値を初期値にリセットして、ラウンドロビンを実行する。そして、時刻T3で出力したコネクションBの次のコネクションCを選択する。そして、コネクションCのカウンタ値を「1」から「1」減じて「0」とする。
【0013】
以降、同様の処理を繰り返し実行し、時刻T5〜T9は図16のようになる。このように、出力帯域に対してセルが存在しているセルバッファのコネクション間で、ウエイトの比で各コネクションの帯域が保証される。
【0014】
以上のように、WRR方式では、出力帯域をコネクションのウエイトの比で分割した帯域が各コネクションに対して保証される。しかしながら、WRR方式には最大帯域制限という概念がないため、コネクションA,B,Cの最大帯域が8Mb/s、6Mb/s、4Mb/sと設定されている場合、図13の場合は最大帯域以下であるため問題を生じないが、図15の場合はコネクションBの帯域が最大帯域の6Mb/sを超えて出力されてしまう問題が生じる(最大帯域を超えたセル流が出力されるということは、ユーザに対して契約帯域を超えたセルを出力することになり、ユーザの端末が処理しきれなくなる可能性があるため、避けなければならない)。
【0015】
これに対し、最小帯域を保証し、かつ、出力帯域を制限することができるセルスケジューリング装置が、例えば、特開平11−41241号公報に開示されている。
図17は特開平11−41241号公報に示されたセルスケジューリング装置を示す構成図であり、図において、201はセル多重部、202はセルバッファメモリ、203はセル分離部、204はルーティング先/優先クラス識別回路、205はセル書き込み制御回路、206はセル読み込み制御回路、207はメモリインタフェース、208はポート管理テーブル、209はキュー管理テーブル、210は出力キューカウンタ/ラウンドロビンテーブル制御部、211はラウンドロビンテーブル、212はラウンドロビンテーブル選択部、213は優先順位制御レジスタ、214は優先順位制御レジスタ選択部である。
【0016】
次に動作について説明する。
本従来例は、N本の入力ポートから入力されるセルをN本の出力ポートに出力する出力バッファ型のATMスイッチにおけるセル出力優先制御方法であって、出力ポート毎にクラスが複数あり、クラス間に優先順位がある場合のセルスケジューリング方法である。
【0017】
セル多重部201において、入力ポート#1〜#nのセルを多重する。セルバッファメモリ202は、出力ポート番号毎、かつ、優先クラス毎にバッファを持ち、FIFO形式でセルを保存する。
ルーティング先/優先クラス識別回路204において、多重されたセルの出力ポート番号、優先クラスを識別し、セル書き込み制御回路205に出力する。
【0018】
セル書き込み制御回路205は、出力ポート番号、優先クラス情報から、メモリインタフェース207を介してポート管理テーブル208とキュー管理テーブル209にアクセスする。即ち、出力ポート毎、かつ、クラス毎にセルバッファメモリ202にセルがあるか否かを示すキューフラグを管理するポート管理テーブル208と、出力ポート毎、かつ、クラス毎にセルバッファメモリ202の書き込みアドレスと読み込みアドレスを保持するキュー管理テーブル209にアクセスして、書き込みアドレスを取得し、その書き込みアドレスをセルバッファメモリ202に出力する。また、ポート管理テーブル208とキュー管理テーブル209の内容を更新する。
【0019】
出力キューカウンタ/ラウンドロビンテーブル制御部210は、出力セル数を計数し、各クラスの設定された出力帯域を超えないようにラウンドロビンテーブル211を選択する信号を生成する。この信号を元に、ラウンドロビンテーブル選択部212は、ラウンドロビンテーブル211の中で、どのテーブルを利用するかを選択する。
【0020】
優先順位制御レジスタ選択部214は、ラウンドロビンテーブル選択部212により選択されたテーブルを元に、優先順位制御レジスタ213の中で、どのレジスタを利用するかを選択する。選択されたレジスタを元に、セル読み込み制御回路206は、メモリインタフェース207を介して、ポート管理テーブル208とキュー管理テーブル209にアクセスし、それらの情報を元に読み込みアドレスを決定してセルバッファメモリ202に出力する。
また、読み出しポート番号とクラスを出力キューカウンタ/ラウンドロビンテーブル制御部210に出力し、ポート管理テーブル208とキュー管理テーブル209の内容を更新する。セル分離部203は、セルバッファメモリ202からの読み込みセルを出力ポート毎に分離する。
【0021】
図18は優先順位制御レジスタ213とラウンドロビンテーブル211の詳細内容を示す説明図である。
本従来例では、クラス数がクラスA,B,C,Dの4個、ポート当たりの出力帯域が100Mb/s、クラスA〜Dの出力帯域(最小保証帯域)が25Mb/sの場合を示している。図18のラウンドロビンテーブル211に示しているように、全クラスの出力セル数が設定帯域(最大帯域)以下の場合は、ラウンドロビンテーブル211の(a)を選択する。
【0022】
例えば、クラスA,Bの最大帯域を50Mb/s、クラスC,Dの最大帯域を35Mb/sとすると、クラスA,Bが50Mb/s以下、かつ、クラスC,Dが35Mb/s以下しかセルを出力していない場合である。(a)は(1)(2)(3)(4)と書かれているため、出力機会毎に優先順位制御レジスタ213の(1)〜(4)を順に繰り返し選択する。優先順位制御レジスタ213は、バッファ検索の優先順位を示しており、例えば、(1)はクラスA→クラスB→クラスC→クラスDの順に、セルバッファメモリ202にセルが存在しているかどうかを検索することになる。
【0023】
従って、全クラスのバッファに常時セルがある場合は、優先順位制御レジスタ213の(1)〜(4)の先頭に書かれているクラスのセルが順次選択されて出力されるため、ポート当たりの出力帯域が100Mb/sである場合は、4クラスで均等に配分され、各クラスとも25Mb/sの最小保証帯域で出力されることになり、全クラスとも最大帯域を超えることなく、ラウンドロビンテーブルは(a)を選択しつづけることになる。
【0024】
一方、例えば、クラスBのバッファにセルがない場合は、優先順位制御レジスタ213の(2)では、クラスBの次のクラスCを選択することになり、クラスA,C,C,Dの順で繰り返しセルを出力することになる。
そうすると、100Mb/sの帯域に対して、クラスA,Dが25Mb/s、Cが50Mb/sの帯域で出力し続けようとすることになる。そのため、クラスCの最大帯域が35Mb/sと設定されている場合、出力キューカウンタ/ラウンドロビンテーブル制御部210は、クラスCの出力キューカウンタの値が35Mb/s相当のセル数を超えた時点で、ラウンドロビンテーブル211の(a)から(d)に選択するように変更指示する。
これにより、(d)に示された優先順位制御レジスタ213の(11)(12)(13)でクラス選択をすることになる。以下、これを繰り返して、最大帯域を超えないように制御することが可能になる。
【0025】
ただし、上記従来例には次のような問題がある。
仮に、クラスA,B,Cの最大帯域が50Mb/s、クラスDの最大帯域が35Mb/sと設定されている場合において、クラスBのバッファにセルが存在しない場合は、クラスA,Dが25Mb/s、クラスCが50Mb/sのセルを出力することになる。
【0026】
最小帯域はクラスA〜Dとも25Mb/sに設定しているため、クラスBのセルがない場合は、100Mb/sの帯域をクラスA,C,Dで均等に配分し、約33Mb/sずつ出力するのが公平である。また、最小保証帯域が異なる場合は、100Mb/sの帯域を最小保証帯域に比例した帯域で配分し、かつ、設定された最大帯域を超えないように出力するのが、公平性という観点から望ましい。このような公平性が実現されないのは、優先順位制御レジスタ213の(2)で、クラスBがない場合にクラスC,D,Aの優先順位でセルを出力するように指示しているために生じる。
【0027】
従って、公平性を実現するためには、優先順位制御レジスタ213の(2)を図19に示すように、クラスBにセルがないとき各クラスに均等に振り分けられるようにする必要がある。図19では2番目のクラスにセルがないとき、残りの2クラスでの公平性も考慮している。
【0028】
優先順位制御レジスタ213が3クラス以上で優先順位付けを行っている(1)〜(16)も同様に、優先順位制御レジスタ213を増やす必要がある。ラウンドロビンテーブル211の(a)〜(e)も、それに応じて変更する必要がある。
例えば、図18の(a)に相当するラウンドロビンテーブルは、図19に示すように(2)が(2−1)〜(2−6)に増えるのと同様に、(1)(3)(4)も6倍になるので、(a)のテーブルの長さは現在の4個から24個になる。
【0029】
さらに、本従来例では、100Mb/sの出力帯域に対して、クラスA〜Dの最小保証帯域が25Mb/sずつであり、クラス間で均等割り当てであったため、ラウンドロビンテーブル211の(a)の長さは、公平割り当てを考慮しない場合は、図18に示す4個でよかったが、クラス間で最小帯域が異なる場合はラウンドロビンテーブルの構成を変更する必要がある。例えば、クラスA〜Dが順に40Mb/s,30Mb/s,20Mb/s,10Mb/sと割り当てられている場合は、クラスA,B,C,Dが4:3:2:1の比率で優先順位制御レジスタ213の先頭となる必要があるため、公平性を考慮しなければ、図18のラウンドロビンテーブル211の(a)は、例えば、図20に示すようにする必要がある。図20では、図19のような優先順位の2番目以降の公平性は考慮していないため、これを考慮するとテーブル長は更に長くなる。
【0030】
【発明が解決しようとする課題】
従来のセルスケジューリング装置及びセルスケジューリング方法は以上のように構成されているので、優先順位制御レジスタ213やラウンドロビンテーブル211を用いれば、最小帯域や最大帯域を考慮したセルスケジューリングを実現することができる。
しかし、クラス毎に最小帯域が異なる場合や、最小帯域に応じた帯域割り当ての公平性を実現する場合には、優先順位制御レジスタ213やラウンドロビンテーブル211の容量が大きくなる。更に、クラス毎ではなく、コネクション毎にスケジューリングを実施する場合、コネクション数が100パス以上あったり、複雑な最小帯域が与えられることも予想されるため、優先順位制御レジスタ213やラウンドロビンテーブル211の構成が極めて複雑になり、容量も増大するなどの課題があった。
【0031】
この発明は上記のような課題を解決するためになされたもので、回路規模の増大を招くことなく、最小帯域が異なるコネクションに対して公平性を考慮したスケジューリングを実施することができるセルスケジューリング装置及びセルスケジューリング方法を得ることを目的とする。
【0032】
【課題を解決するための手段】
この発明に係るセルスケジューリング装置は、各コネクションの最小帯域を考慮して割り当てられた各コネクションの出力帯域とセル格納手段から出力された各コネクションの所定時間内の出力セル数を考慮したラウンドロビンを実行し、そのセル格納手段に対してセル出力対象のコネクションを指定するコネクション指定手段と、そのコネクション指定手段により指定されたコネクションの所定時間内の出力セル数が最大帯域に対応するセル数を超える場合、セル格納手段に対して当該コネクションのセルの出力を禁止する帯域監視手段とを設けたものである。
【0033】
この発明に係るセルスケジューリング装置は、カウント開始時期が相互に異なる複数の所定時間内においてコネクションの出力セル数を計数し、各計数結果毎に最大帯域に対応するセル数と比較して、セルの出力禁止の有無を決定する帯域監視手段を設けたものである。
【0034】
この発明に係るセルスケジューリング装置は、最大帯域に対応するセル数を超える計数結果が1個でもある時間帯では、セル格納手段に対して当該コネクションのセルの出力を禁止する帯域監視手段を設けたものである。
【0035】
この発明に係るセルスケジューリング装置は、所定時間内の出力セル数が最大帯域に対応するセル数を超えているコネクションを検出する検出手段と、その検出手段により検出されたコネクションをセルの出力対象から除外して、各コネクションの出力帯域と各コネクションの所定時間内の出力セル数を考慮したラウンドロビンを実行し、セル格納手段に対してセル出力対象のコネクションを指定するコネクション指定手段とを設けたものである。
【0036】
この発明に係るセルスケジューリング装置は、メモリにセルが格納されていないコネクションが存在する場合、そのコネクションをセルの出力対象から除外して、セル出力対象のコネクションを指定するコネクション指定手段を設けたものである。
【0037】
この発明に係るセルスケジューリング方法は、最小帯域を考慮して割り当てた各コネクションの出力帯域とメモリから出力された各コネクションの所定時間内の出力セル数を考慮したラウンドロビンを実行して、メモリに対してセル出力対象のコネクションを指定すると、そのコネクションの所定時間内の出力セル数が最大帯域に対応するセル数を超える場合、メモリに対して当該コネクションのセルの出力を禁止するようにしたものである。
【0038】
この発明に係るセルスケジューリング方法は、カウント開始時期が相互に異なる複数の所定時間内においてコネクションの出力セル数を計数し、各計数結果毎に最大帯域に対応するセル数と比較して、セルの出力禁止の有無を決定するようにしたものである。
【0039】
この発明に係るセルスケジューリング方法は、最大帯域に対応するセル数を超える計数結果が1個でもある時間帯では、メモリに対して当該コネクションのセルの出力を禁止するようにしたものである。
【0040】
この発明に係るセルスケジューリング方法は、所定時間内の出力セル数が最大帯域に対応するセル数を超えているコネクションを検出すると、そのコネクションをセルの出力対象から除外して、各コネクションの出力帯域と各コネクションの所定時間内の出力セル数を考慮したラウンドロビンを実行し、メモリに対してセル出力対象のコネクションを指定するようにしたものである。
【0041】
この発明に係るセルスケジューリング方法は、メモリにセルが格納されていないコネクションが存在する場合、そのコネクションをセルの出力対象から除外して、セル出力対象のコネクションを指定するようにしたものである。
【0042】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態1.
図1はこの発明の実施の形態1によるセルスケジューリング装置を示す構成図であり、図において、1はコネクション毎にFIFO形式でセルを格納して出力するセルバッファメモリ、2はセルのコネクション番号を識別するコネクション識別回路、3はセルバッファメモリ1の書き込みアドレスを制御するセル書き込み制御回路、4はセルバッファメモリ1の読み込みアドレスを制御するセル読み込み制御回路、5はセル有無情報テーブル6とキュー管理テーブル7をアクセスするメモリインタフェースである。
なお、セルバッファメモリ1,コネクション識別回路2,セル書き込み制御回路3,セル読み込み制御回路4及びメモリインタフェース5からセル格納手段を構成している。
【0043】
6はコネクション毎にセルバッファメモリ1にセルが存在するか否か示すセル有無情報を格納するセル有無情報テーブル、7はセルバッファメモリ1のコネクション毎の読み込みアドレスとバッファ内セル数を保存するキュー管理テーブル、8は各コネクションの最小帯域を考慮して、各コネクションの出力帯域を割り当てる一方、各コネクションの出力帯域とセルバッファメモリ1から出力された各コネクションの所定時間内の出力セル数を考慮したラウンドロビンを実行し、セル読み込み制御回路4に対してセル出力対象のコネクションを指定するWRR回路(帯域割当手段、コネクション指定手段)である。
【0044】
9はWRR回路8により指定されたコネクションの所定時間内の出力セル数が最大帯域に対応するセル数を超える場合には、セル読み込み制御回路4に対して当該コネクションのセルの出力を禁止する出力帯域監視回路(帯域監視手段)である。
図2はこの発明の実施の形態1によるセルスケジューリング方法を示すフローチャートである。
【0045】
図1では、セルバッファメモリ1はコネクション数分のFIFOメモリではなく、通常のメモリをアドレスによりコネクション数分の領域に分割し、書き込みアドレスと読み込みアドレスを制御することで、FIFO形式でセルを保存することを想定している。書き込みアドレスは、キュー管理テーブル7に保持している読み込みアドレスとバッファ内セル数を加算することで求めることができる。また、セル有無情報テーブル6はメモリで構成することを想定しているが、レジスタとセレクタにより構成することも可能である。
【0046】
次に動作について説明する。
入力セルはコネクション識別回路2でコネクション番号を識別し、セル書き込み制御回路3に出力する(ステップST1)。
セル書き込み制御回路3は、メモリインタフェース5を介してキュー管理テーブル7にアクセスし、書き込みアドレスを求めてセルバッファメモリ1に書き込みアドレスを出力する(ステップST2)。
また、セル書き込み制御回路3は、メモリインタフェース5を介してセル有無情報テーブル6にアクセスし、該当コネクション番号のセル有無情報を「有り」に上書きする。
【0047】
一方、WRR回路8は、予め、各コネクションの最小帯域を考慮して、各コネクションのウエイト値を割り当てる。各コネクションのウエイト値、セル有無情報テーブル6に格納されているコネクション毎のセル有無情報及びWRR回路8の内部に保持するコネクション毎のWRRカウンタ情報(セルバッファメモリ1から出力する毎に該当コネクションのカウンタ値を1減じる。初期値及びリセット値は各コネクションのウエイト値)を考慮したラウンドロビンを実行し、出力セルのコネクション番号(セル出力対象のコネクション)を決定する(ステップST3)。そして、その出力セルのコネクション番号をセル読み込み制御回路4と出力帯域監視回路9に出力する。
【0048】
ただし、全コネクションのセルバッファにセルがないときは出力すべきセルがないため、WRR回路8はコネクション番号が有効であるか否かを示す有効信号も出力帯域監視回路9に出力する。有効信号は、有効時は「1」、無効時は「0」とする。
【0049】
出力帯域監視回路9は、WRR回路8から出力される有効信号が「1」のとき、コネクション番号に対応する出力帯域が最大帯域を超えていないかどうかを判断し(ステップST4)、即ち、該当コネクションの所定時間内の出力セル数が最大帯域に対応するセル数を超えていないかどうかを判断し、その判断結果に応じた出力許可信号をセル読み込み制御回路4に出力する。
出力許可信号は、最大帯域を超えていない場合は「1」、最大帯域を超える場合は「0」とする。また、有効信号が「0」のときは、出力許可信号は「0」とする。
【0050】
セル読み込み制御回路4は、出力帯域監視回路9が出力する出力許可信号が「1」のとき、WRR回路8の出力するコネクション番号を元に、メモリインタフェース5を介してキュー管理テーブル7にアクセスして、読み込みアドレスを決定し、その読み込みアドレスをセルバッファメモリ1に出力する(ステップST5)。
さらに、キュー管理テーブル7が保持している該当コネクションのバッファ内セル数を「1」減算し、その結果、バッファ内セル数が「0」になった場合は、セル有無情報テーブル6が格納している該当コネクションのセル有無情報を「0」にリセットする。以上により、最小帯域保証と最大帯域制限が実現される。
【0051】
ここで、図3は出力帯域監視回路9の内部構成を示す構成図であり、図において、20はコネクション毎の出力セル数を保持する出力セル数保持回路、21はコネクション毎の最大帯域を設定し、その最大帯域に対応するセル数(以下、最大帯域対応セル数という)を出力する最大帯域設定メモリ、22は出力セル数と最大帯域対応セル数を比較する比較器、23はANDゲート、24は最大帯域の監視周期毎に周期リセット信号を出力する周期カウンタである。
【0052】
以下、図3の出力帯域監視回路9の動作を具体的に説明する。
出力セル数保持回路20は、コネクション毎の出力セル数を保持する回路であり、コネクション番号に対応する出力セル数を出力する。
即ち、ANDゲート23が出力する出力許可信号が「1」のとき、該当コネクション番号の出力セル数を「1」増加する一方、周期カウンタ24から周期リセット信号が出力されると、全コネクションの出力セル数を「0」にリセットすることにより、各コネクションの所定時間内の出力セル数を保持する。
【0053】
一方、最大帯域設定メモリ21は、出力帯域を監視する一定時間内において、最大帯域で出力可能なセル数をコネクション毎に保存し、コネクション番号に対応する出力セル数を出力する。
例えば、セルバッファメモリ1から出力するセルの帯域が150Mb/sであり、出力帯域の監視時間が150セル時間であるとすると、最大帯域が100Mb/sの場合は「100」セル、20Mb/sの場合は「20」セルと設定されることになる。また、出力帯域の監視時間が1500セル時間であるとすると、最大帯域が100Mb/sの場合は「1000」セル、20Mb/sの場合は「200」セルと設定されることになる。
【0054】
周期カウンタ24は、出力帯域を監視する一定時間を計測するカウンタであり、一定時間毎に周期リセット信号を出力する。以後、出力帯域を監視する一定時間のことを監視ウインドウと称する。
比較器22は、出力セル数保持回路20がコネクション番号に対応する出力セル数を出力し、最大帯域設定メモリ21がコネクション番号に対応する最大帯域対応セル数を出力すると、その出力セル数と最大帯域対応セル数を比較し、その出力セル数が最大帯域セル数より小さければ「1」を出力し、その出力セル数が最大帯域セル数と等しいか大きければ「0」を出力する。
【0055】
ANDゲート23は、WRR回路8が出力する有効信号が「1」のときは、比較器22の出力値が「1」であれば、「1」の出力許可信号を出力し、比較器22の出力値が「0」であれば、「0」の出力許可信号を出力する。
WRR回路8が出力する有効信号が「0」のときは、比較器22の出力値に拘わらず、「0」の出力許可信号を出力する。
以上により、監視ウインドウ内で最大帯域を超えたセルの出力が禁止されることになる。
【0056】
ここで、図4は出力セル数保持回路20の内部構成を示す構成図であり、図において、30はデコーダ、31〜31はANDゲート、32〜32はコネクション毎の出力セル数カウンタ、33はセレクタである。
【0057】
以下、図4の出力セル数保持回路20の動作を具体的に説明する。
まず、デコーダ30は、WRR回路8が出力するコネクション番号をデコードし、各コネクションに対応するビットのうち、該当コネクションの1ビットのみが「1」となる信号をANDゲート31〜31に出力する。
そして、出力許可信号が「1」の場合、ANDゲート31〜31のうち、該当コネクションに対応するANDゲートの出力のみが「1」となり、他のANDゲートの出力が「0」となる。
【0058】
出力セル数カウンタ32〜32は、前段のANDゲートの出力が「1」のとき、「1」カウントアップされる。即ち、コネクション番号に対応する出力セル数カウンタのみが「1」カウントアップされ、他の出力セル数カウンタはカウントアップされない。
ただし、出力セル数カウンタ32〜32は、周期カウンタ24から周期リセット信号が出力されると、カウンタ値がリセットされる。
【0059】
セレクタ33は、出力セル数カウンタ32〜32のうち、コネクション番号に対応する出力セル数カウンタのカウンタ値を選択し、そのカウンタ値を比較器22に出力する。
【0060】
なお、出力セル数保持回路20は、図5に示すように構成してもよい。図5において、34はアドレス制御回路、35a,35bは出力セル数メモリ、36はデータ制御回路である。
出力セル数メモリ35a,35bは、コネクション毎の出力セル数を保持するようにし、監視ウインドウが切り換わる毎に、何れか一方の出力セル数メモリの出力が有効になるように切り換えて使用する。
そして、使用していない方の出力セル数メモリが保持するすべてのデータを、監視ウインドウ時間内に「0」にクリアする。
【0061】
アドレス制御回路34とデータ制御回路36は、周期リセット信号を元に、2個の出力セル数メモリ35a,35bの使用状態を決定し、それぞれアドレスの制御とデータの制御を行う。
アドレス制御回路34は、使用中の出力セル数メモリに対して、コネクション番号をアドレスとして出力し、使用していない方の出力セル数メモリに対してはデータをクリアするためのアドレスを出力する。
【0062】
データ制御回路36は、使用中の出力セル数メモリからの読み込みデータを出力セル数として比較器22に出力し、ANDゲート23から「1」の出力許可信号が出力されると、その出力セル数に「1」を加算し、その加算結果を書き込みデータとして、上記出力セル数メモリに出力する。
なお、使用していない方の出力セル数メモリに対しては、データクリアのために書き込みデータとして「0」を出力する。
【0063】
以上により、図4の出力セル数保持回路20と同等の回路を図5の構成でも実現できる。図5の出力セル数保持回路20の場合はメモリが必要となるが、コネクション数が多くなった場合は、ランダムロジック回路の規模を小さくすることができる効果を奏する。
【0064】
図6は図1のセルスケジューリング装置におけるセル読み込み方法の具体的な動作例を示す説明図である。
図6ではコネクション数がA,B,Cの3個であって、ラウンドロビンのウエイトがコネクションA,B,Cそれぞれ3:2:1であり、A,B,Cの合計出力帯域が12Mb/s、最大帯域が8Mb/s,6Mb/s,4Mb/s、監視ウインドウが12セル時間の例である。
【0065】
この場合、コネクションA,B,Cの最小保証帯域は合計出力帯域である12Mb/sを3:2:1に配分した6Mb/s,4Mb/s,2Mb/sとなる。また、最大帯域設定メモリ21に設定される最大帯域対応セル数は、コネクションA,B,Cそれぞれ8,6,4となる。
【0066】
図6ではコネクションAのセルバッファにセルが存在しない場合の動作について示している。コネクションA,B,Cのウエイトは図16の場合と同一であるため、WRR回路8のカウンタ値は図16と同じ変化をし、WRR回路8が出力するコネクション番号も図16の出力セル番号と同一となる。
なお、図6では簡単化のため、各時刻の終了時での値のみ記載している。
【0067】
時刻T1で、WRR選択コネクションはBであり、コネクションBの時刻T1より前の出力セル数は「0」であり、最大帯域対応セル数「6」より小さいため、出力許可が出され、出力セル数は+1した「1」となる。
同様に、時刻T10までは、WRR選択コネクションの出力セル数は最大帯域対応セル数より小さいため、出力許可が出される。
【0068】
時刻T11では、WRR選択コネクションはBとなるが、コネクションBの出力セル数は時刻T9で「6」となっており、最大帯域対応セル数と一致している。このため出力許可は出されず、出力セル数も+1されない。
同様に、時刻T12でも、WRR選択コネクションであるBの出力許可は出されない。
【0069】
従って、時刻T11,T12は、アイドルセルが出力されるが、時刻T1〜T12までのコネクションBの出力セル数は6セルに制限され、最大帯域に設定された6Mb/sを超えない。
また、時刻T13では、周期カウンタ24から周期リセット信号が出力され、コネクションA,B,Cの出力セル数は「0」にリセットされる。
以後同様に、WRR選択コネクションの出力セル数を最大帯域対応セル数と比較して出力許可が判定される。
【0070】
以上で明らかなように、この実施の形態1では、ウエイテッド・ラウンドロビンにより選択されたコネクションについて、それまでに出力した帯域を監視して、出力許可を与えるか否かを判定するため、最大帯域を超えたセルが出力されることがない。
また、出力セルの選択はウエイテッド・ラウンドロビンにより行っているため、ウエイトに応じたコネクションが選択され、公平性が保たれる。
【0071】
図1のセルスケジューリング装置は、従来のウエイテッド・ラウンドロビンによるセルスケジューリング装置に、出力帯域監視回路9を付加したものである。従って既存のセルスケジューリング装置を利用できる効果を奏する。
また、出力帯域監視回路9はコネクション毎の最小保証帯域の設定には関係なく、最大帯域に相当する値を設定するメモリを保持するだけでよく、簡単な回路で構成することができる効果を奏する。
さらに、コネクション数が増えた場合でも、図5のように構成することで回路規模を小さくすることができる効果がある。
【0072】
実施の形態2.
図7はこの発明の実施の形態2によるセルスケジューリング装置における出力帯域監視回路9の内部構成を示す構成図であり、図において、図3と同一符号は同一または相当部分を示すので説明を省略する。
20a,20bは出力セル数保持回路20と同様の出力セル数保持回路、22a,22bは比較器22と同様の比較器、25は周期が監視ウインドウの1/2の1/2周期カウンタ、26は出力セル数保持回路20a,20bに対して、1/2周期カウンタ25が出力する周期リセット信号を交互に出力するリセット制御回路、27は比較器22a,22bが「1」を出力し、かつ、有効信号が「1」のとき「1」の出力許可信号を出力するANDゲートである。
【0073】
次に動作について説明する。
図8は出力帯域監視回路9の動作例を示す説明図である。図8の例では、監視ウインドウ時間をTとし、最大帯域対応セル数が5セルのコネクションに対して、▲1▼に示す時間位置でa〜oまでの15セルがWRR回路8により選択された場合を想定している。
【0074】
このとき、図3に示すように、監視ウインドウが1個で、それが▲2▼に示す位相である場合、2周期目でk〜oに対して出力許可が出されないため、セルは▲4▼のようにa〜jの位置に出力される。
しかし、図7のように、2つの監視ウインドウで監視すると、▲3▼の監視ウインドウの1周期目でf〜jに対して出力許可が出されなくなるため、2個の監視結果を合わせると、セルは▲5▼のようにa〜eとk〜oの位置に出力されることになる。
【0075】
このように、2つの監視ウインドウで監視することにより、セル出力のバースト性を抑えることができる。
なお、本スケジューリング装置は出力許可が出ないときは、セルバッファメモリ1からのセル読み込みを行わないように制御するので、▲5▼のk〜oは1個の監視ウインドウの場合の出力である▲4▼のf〜jと同一セルである。f〜jのセルを廃棄するわけではない。
【0076】
実施の形態3.
図9はこの発明の実施の形態3によるセルスケジューリング装置を示す構成図であり、図において、図1と同一符号は同一または相当部分を示すので説明を省略する。
10はコネクション毎の出力帯域情報を保持する帯域情報保持回路(検出手段)、11は各コネクションの最小帯域を考慮して、各コネクションの出力帯域を割り当てる一方、帯域情報保持回路10が出力する出力帯域情報から所定時間内の出力セル数が最大帯域に対応するセル数を超えているコネクションを検出し、そのコネクションをセルの出力対象から除外して、各コネクションの出力帯域と各コネクションの所定時間内の出力セル数を考慮したラウンドロビンを実行し、セル読み込み制御回路4に対してセル出力対象のコネクションを指定する帯域制限付WRR回路(帯域割当手段、検出手段、コネクション指定手段)である。
【0077】
図10は帯域情報保持回路10の内部構成を示す構成図であり、図において、40はコネクション毎の出力セル数を保持する出力セル数保持回路、41はコネクション毎の最大帯域対応セル数を出力する最大帯域設定メモリ、42は出力セル数と最大帯域対応セル数を比較し、出力セル数≧最大帯域対応セル数のとき「1」を出力する比較器、43はANDゲート、44はコネクション数分のレジスタを有し、帯域制限付WRR回路11が出力する有効信号が「1」であり、かつ、比較器42の比較結果が「1」のとき、該当コネクション番号のレジスタを「1」にセットし、周期カウンタ45から周期リセット信号が出力されると、すべてのレジスタを「0」にリセットする帯域超過フラグレジスタであり、帯域超過フラグレジスタ44は全コネクション数分のデータを帯域超過情報として常時出力する。45は最大帯域の監視周期毎に周期リセット信号を出力する周期カウンタである。
【0078】
図11は帯域制限付WRR回路11の内部構成を示す構成図であり、図において、50〜50はコネクション毎のセル有無情報が「1」であり、かつ、帯域超過情報が「0」のときのみ「1」を出力するNOT付ANDゲート、51はWRR回路8と同様のWRR回路である。ただし、図1のWRR回路8に入力されるセル有無情報の代わりに、NOT付ANDゲート50〜50が出力する信号を入力する点が異なる。即ち、図1におけるWRR回路8は、通常のウエイテッド・ラウンドロビンを実行するため、WRR回路内部のWRRカウンタ情報のリセット条件が、すべてのWRRカウンタ情報が「0」となるか、WRRカウンタ情報が「0」でないコネクションのセル有無情報がすべて「0」のときであるが、図11におけるWRR回路51のWRRカウンタ情報のリセット条件は、すべてのWRRカウンタ情報が「0」となるか、WRRカウンタ情報が「0」でないコネクションのすべてについて、セル有無情報が「0」あるいは帯域超過情報が「1」のときとなる。そのため、図11の構成では、最大帯域を超えたコネクションがウエイテッド・ラウンドロビンで選択されることがなくなる。
【0079】
図12はセル読み込み方法の具体的な動作例を示す説明図である。
図12ではコネクション数がA,B,Cの3個であって、ラウンドロビンのウエイトがコネクションA,B,Cそれぞれ3:2:1であり、コネクションA,B,Cの合計出力帯域が12Mb/s、最大帯域が8Mb/s,6Mb/s,6Mb/s、監視ウインドウが12セル時間の例である。
【0080】
この場合、コネクションA,B,Cの最小保証帯域は合計出力帯域である12Mb/sを3:2:1に配分した6Mb/s,4Mb/s,2Mb/sになる。また、最大帯域設定メモリ41に設定される最大帯域対応セル数は、コネクションA,B,Cそれぞれ8,6,6となる。図12ではコネクションAのセルバッファにセルが存在しない場合の動作について示している。また、図12では簡単化のため、各時刻の終了時での値を記載している。
【0081】
時刻T1では、セルバッファにセルが存在し、かつ、帯域超過が発生しておらず、かつ、WRRカウンタ情報が「0」でないコネクションBとコネクションCでラウンドロビンを実行し、コネクションBを選択する。そして、コネクションBのWRRカウンタ情報を「2」から「1」減じて「1」とするとともに、出力セル数を「1」増やして「1」とする。
【0082】
時刻T2では、セルバッファにセルが存在し、かつ、帯域超過が発生しておらず、かつ、WRRカウンタ情報が「0」でないコネクションBとコネクションCでラウンドロビンを実行し、時刻T1で出力したコネクションBの次のコネクションCを選択する。そして、コネクションCのWRRカウンタ情報を「1」から「1」減じて「0」とするとともに、出力セル数を「1」増やして「1」とする。
【0083】
時刻T3では、セルバッファにセルが存在し、かつ、帯域超過が発生しておらず、かつ、WRRカウンタ情報が「0」でないものがコネクションBだけであるため、コネクションBを選択する。そして、コネクションBのWRRカウンタ情報を「1」から「1」減じて「0」とするとともに、出力セル数を「1」増やして「2」とする。
【0084】
時刻T4では、WRRカウンタ情報が「0」でなく、かつ、最大帯域を超過していないのはコネクションAだけであるが、コネクションAのセルバッファにセルが存在していないため、WRRカウンタ情報を初期値にリセットして、ラウンドロビンを実行する。最大帯域を超過しておらず、かつ、WRRカウンタ情報が「0」でなく、かつ、バッファにセルが存在しているコネクションであるコネクションBとコネクションCでラウンドロビンを実行し、コネクションCを選択する。そして、コネクションCのカウンタ値を「1」から「1」減じて「0」とするとともに、出力セル数を「1」増やして「2」とする。
以降、時刻T9まで同様の動作を実行する。
【0085】
時刻T10では、WRRカウンタ情報が「0」でなく、かつ、最大帯域を超過していないのはコネクションAだけであるが、コネクションAのセルバッファにセルが存在していないため、WRRカウンタ情報を初期値にリセットして、ラウンドロビンを実行する。
【0086】
時刻T9においてコネクションBを選択出力することにより、Bの最大帯域分のセルが出力されているため、時刻T10では、コネクションBのWRRカウンタ情報は「0」ではないが、ラウンドロビン対象から除外される。即ち、最大帯域を超過しておらず、かつ、WRRカウンタ情報が「0」でなく、かつ、バッファにセルが存在しているコネクションはコネクションCだけであるため、コネクションCを選択する。そして、コネクションCのWRRカウンタ情報を「1」から「1」減じて「0」とするとともに、出力セル数を「1」増やして「4」とする。
【0087】
時刻T11、T12とも時刻T10と同様の動作を行う。時刻T13では帯域超過フラグレジスタ44がリセットされるため、時刻T13以降、コネクションBはWRRカウンタ情報が「0」でなく、バッファにセルが存在すれば、帯域超過が発生するまで、ラウンドロビンの対象となる。
従って、時刻T13、T14では、コネクションBが選択される。以後、同様に、バッファ内のセル有無情報とWRRカウンタ情報と帯域超過フラグにより出力コネクションが選択される。
【0088】
以上で明らかなように、この実施の形態3では、コネクションCの最大帯域を6Mb/sとしたため、時刻T11、T12にコネクションCのセルが送出可能である。仮に、コネクションCの最大帯域が4Mb/sの場合は、時刻T11、T12では出力可能なセルがなくなり、アイドルセル出力となる。
逆に、上記実施の形態1の図6では、コネクションCの最大帯域を4Mb/sとして説明したが、コネクションCの最大帯域が6Mb/sであっても出力コネクションは図6のままであり、時刻T11、T12ではアイドルセルが出力される。
【0089】
即ち、この実施の形態3では、上記実施の形態1と比べて、無駄な帯域を作らず、帯域を有効に利用できるという効果を奏する。これは、上記実施の形態1ではウエイテッド・ラウンドロビンを実施した結果に対して、出力許可判定を行うため、WRR選択コネクションが帯域超過した場合、アイドルセルとなってしまうが、この実施の形態3では、ウエイテッド・ラウンドロビンの前に帯域超過したものはラウンドロビンから除外しているため、バッファが空でなく、かつ、帯域超過をしていないコネクションが必ず選択されるからである。
【0090】
【発明の効果】
以上のように、この発明によれば、各コネクションの最小帯域を考慮して割り当てられた各コネクションの出力帯域とセル格納手段から出力された各コネクションの所定時間内の出力セル数を考慮したラウンドロビンを実行し、そのセル格納手段に対してセル出力対象のコネクションを指定するコネクション指定手段と、そのコネクション指定手段により指定されたコネクションの所定時間内の出力セル数が最大帯域に対応するセル数を超える場合、セル格納手段に対して当該コネクションのセルの出力を禁止する帯域監視手段とを設けるように構成したので、回路規模の増大を招くことなく、最小帯域が異なるコネクションに対して公平性を考慮したスケジューリングを実施することができる効果がある。
【0091】
この発明によれば、カウント開始時期が相互に異なる複数の所定時間内においてコネクションの出力セル数を計数し、各計数結果毎に最大帯域に対応するセル数と比較して、セルの出力禁止の有無を決定する帯域監視手段を設けるように構成したので、セル出力のバースト性を抑制することができる効果がある。
【0092】
この発明によれば、最大帯域に対応するセル数を超える計数結果が1個でもある時間帯では、セル格納手段に対して当該コネクションのセルの出力を禁止する帯域監視手段を設けるように構成したので、セル出力のバースト性を抑制することができる効果がある。
【0093】
この発明によれば、所定時間内の出力セル数が最大帯域に対応するセル数を超えているコネクションを検出する検出手段と、その検出手段により検出されたコネクションをセルの出力対象から除外して、各コネクションの出力帯域と各コネクションの所定時間内の出力セル数を考慮したラウンドロビンを実行し、セル格納手段に対してセル出力対象のコネクションを指定するコネクション指定手段とを設けるように構成したので、回路規模の増大を招くことなく、最小帯域が異なるコネクションに対して公平性を考慮したスケジューリングを実施することができるとともに、出力帯域を有効利用することができる効果がある。
【0094】
この発明によれば、メモリにセルが格納されていないコネクションが存在する場合、そのコネクションをセルの出力対象から除外して、セル出力対象のコネクションを指定するコネクション指定手段を設けるように構成したので、メモリにセルが格納されていないコネクションが存在する場合でも、最小帯域が異なるコネクションに対して公平性を考慮したスケジューリングを実施することができる効果がある。
【0095】
この発明によれば、最小帯域を考慮して割り当てた各コネクションの出力帯域とメモリから出力された各コネクションの所定時間内の出力セル数を考慮したラウンドロビンを実行して、メモリに対してセル出力対象のコネクションを指定すると、そのコネクションの所定時間内の出力セル数が最大帯域に対応するセル数を超える場合、メモリに対して当該コネクションのセルの出力を禁止するように構成したので、セルスケジューリング方法を実行する装置の回路規模の増大を招くことなく、最小帯域が異なるコネクションに対して公平性を考慮したスケジューリングを実施することができる効果がある。
【0096】
この発明によれば、カウント開始時期が相互に異なる複数の所定時間内においてコネクションの出力セル数を計数し、各計数結果毎に最大帯域に対応するセル数と比較して、セルの出力禁止の有無を決定するように構成したので、セル出力のバースト性を抑えることができる。
【0097】
この発明によれば、最大帯域に対応するセル数を超える計数結果が1個でもある時間帯では、メモリに対して当該コネクションのセルの出力を禁止するように構成したので、セル出力のバースト性を抑えることができる。
【0098】
この発明によれば、所定時間内の出力セル数が最大帯域に対応するセル数を超えているコネクションを検出すると、そのコネクションをセルの出力対象から除外して、各コネクションの出力帯域と各コネクションの所定時間内の出力セル数を考慮したラウンドロビンを実行し、メモリに対してセル出力対象のコネクションを指定するように構成したので、セルスケジューリング方法を実行する装置の回路規模の増大を招くことなく、最小帯域が異なるコネクションに対して公平性を考慮したスケジューリングを実施することができるとともに、出力帯域を有効利用することができる効果がある。
【0099】
この発明によれば、メモリにセルが格納されていないコネクションが存在する場合、そのコネクションをセルの出力対象から除外して、セル出力対象のコネクションを指定するように構成したので、メモリにセルが格納されていないコネクションが存在する場合でも、最小帯域が異なるコネクションに対して公平性を考慮したスケジューリングを実施することができる効果がある。
【図面の簡単な説明】
【図1】この発明の実施の形態1によるセルスケジューリング装置を示す構成図である。
【図2】この発明の実施の形態1によるセルスケジューリング方法を示すフローチャートである。
【図3】出力帯域監視回路の内部構成を示す構成図である。
【図4】出力セル数保持回路の内部構成を示す構成図である。
【図5】出力セル数保持回路の内部構成を示す構成図である。
【図6】図1のセルスケジューリング装置におけるセル読み込み方法の具体的な動作例を示す説明図である。
【図7】この発明の実施の形態2によるセルスケジューリング装置における出力帯域監視回路の内部構成を示す構成図である。
【図8】出力帯域監視回路の動作例を示す説明図である。
【図9】この発明の実施の形態3によるセルスケジューリング装置を示す構成図である。
【図10】帯域情報保持回路の内部構成を示す構成図である。
【図11】帯域制限付WRR回路の内部構成を示す構成図である。
【図12】セル読み込み方法の具体的な動作例を示す説明図である。
【図13】WRR方式によるスケジューリング方式を模式的に示す説明図である。
【図14】WRRスケジューラ104のスケジュール内容を示す説明図である。
【図15】WRR方式によるスケジューリング方式を模式的に示す説明図である。
【図16】WRRスケジューラのスケジュール内容を示す説明図である。
【図17】従来のセルスケジューリング装置を示す構成図である。
【図18】優先順位制御レジスタとラウンドロビンテーブルの詳細内容を示す説明図である。
【図19】優先順位制御レジスタの詳細内容を示す説明図である。
【図20】ラウンドロビンテーブルの詳細内容を示す説明図である。
【符号の説明】
1 セルバッファメモリ(セル格納手段)、2 コネクション識別回路(セル格納手段)、3 セル書き込み制御回路(セル格納手段)、4 セル読み込み制御回路、(セル格納手段)、5 メモリインタフェース(セル格納手段)、6 セル有無情報テーブル、7 キュー管理テーブル、8,51 WRR回路(帯域割当手段、コネクション指定手段)、9 出力帯域監視回路(帯域監視手段)、10 帯域情報保持回路(検出手段)、11 帯域制限付WRR回路(帯域割当手段、検出手段、コネクション指定手段)、20,20a,20b 出力セル数保持回路、21 最大帯域設定メモリ、22,22a,22b 比較器、23,27,31〜31,43 ANDゲート、24 周期カウンタ、25 1/2周期カウンタ、26 リセット制御回路、30 デコーダ、32 〜32 出力セル数カウンタ、33 セレクタ、34 アドレス制御回路、35a,35b 出力セル数メモリ、36 データ制御回路、40 出力セル数保持回路、41 最大帯域設定メモリ、42 比較器、44 帯域超過フラグレジスタ、45
周期カウンタ、50〜50 NOT付ANDゲート。

Claims (10)

  1. 各コネクションのセルを一時的に格納して出力するセル格納手段と、各コネクションの最小帯域を考慮して、各コネクションの出力帯域を割り当てる帯域割当手段と、上記帯域割当手段により割り当てられた各コネクションの出力帯域と上記セル格納手段から出力された各コネクションの所定時間内の出力セル数を考慮したラウンドロビンを実行し、上記セル格納手段に対してセル出力対象のコネクションを指定するコネクション指定手段と、上記コネクション指定手段により指定されたコネクションの所定時間内の出力セル数が最大帯域に対応するセル数を超える場合、上記セル格納手段に対して当該コネクションのセルの出力を禁止する帯域監視手段とを備えたセルスケジューリング装置。
  2. 帯域監視手段は、カウント開始時期が相互に異なる複数の所定時間内においてコネクションの出力セル数を計数し、各計数結果毎に最大帯域に対応するセル数と比較して、セルの出力禁止の有無を決定することを特徴とする請求項1記載のセルスケジューリング装置。
  3. 帯域監視手段は、最大帯域に対応するセル数を超える計数結果が1個でもある時間帯では、セル格納手段に対して当該コネクションのセルの出力を禁止することを特徴とする請求項2記載のセルスケジューリング装置。
  4. 各コネクションのセルを一時的に格納して出力するセル格納手段と、各コネクションの最小帯域を考慮して、各コネクションの出力帯域を割り当てる帯域割当手段と、所定時間内の出力セル数が最大帯域に対応するセル数を超えているコネクションを検出する検出手段と、上記検出手段により検出されたコネクションをセルの出力対象から除外して、各コネクションの出力帯域と各コネクションの所定時間内の出力セル数を考慮したラウンドロビンを実行し、上記セル格納手段に対してセル出力対象のコネクションを指定するコネクション指定手段とを備えたセルスケジューリング装置。
  5. コネクション指定手段は、メモリにセルが格納されていないコネクションが存在する場合、そのコネクションをセルの出力対象から除外して、セル出力対象のコネクションを指定することを特徴とする請求項1から請求項4のうちのいずれか1項記載のセルスケジューリング装置。
  6. 各コネクションのセルを一時的にメモリに格納して、そのメモリからセルを出力させる際、各コネクションの最小帯域を考慮して、各コネクションの出力帯域を割り当てるとともに、各コネクションの出力帯域と上記メモリから出力された各コネクションの所定時間内の出力セル数を考慮したラウンドロビンを実行して、上記メモリに対してセル出力対象のコネクションを指定すると、そのコネクションの所定時間内の出力セル数が最大帯域に対応するセル数を超える場合、上記メモリに対して当該コネクションのセルの出力を禁止するセルスケジューリング方法。
  7. カウント開始時期が相互に異なる複数の所定時間内においてコネクションの出力セル数を計数し、各計数結果毎に最大帯域に対応するセル数と比較して、セルの出力禁止の有無を決定することを特徴とする請求項6記載のセルスケジューリング方法。
  8. 最大帯域に対応するセル数を超える計数結果が1個でもある時間帯では、メモリに対して当該コネクションのセルの出力を禁止することを特徴とする請求項7記載のセルスケジューリング方法。
  9. 各コネクションのセルを一時的にメモリに格納して、そのメモリからセルを出力させる際、各コネクションの最小帯域を考慮して、各コネクションの出力帯域を割り当てるとともに、所定時間内の出力セル数が最大帯域に対応するセル数を超えているコネクションを検出すると、そのコネクションをセルの出力対象から除外して、各コネクションの出力帯域と各コネクションの所定時間内の出力セル数を考慮したラウンドロビンを実行し、上記メモリに対してセル出力対象のコネクションを指定するセルスケジューリング方法。
  10. メモリにセルが格納されていないコネクションが存在する場合、そのコネクションをセルの出力対象から除外して、セル出力対象のコネクションを指定することを特徴とする請求項6から請求項9のうちのいずれか1項記載のセルスケジューリング方法。
JP36544299A 1999-12-22 1999-12-22 セルスケジューリング装置及びセルスケジューリング方法 Expired - Fee Related JP3578953B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP36544299A JP3578953B2 (ja) 1999-12-22 1999-12-22 セルスケジューリング装置及びセルスケジューリング方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP36544299A JP3578953B2 (ja) 1999-12-22 1999-12-22 セルスケジューリング装置及びセルスケジューリング方法

Publications (2)

Publication Number Publication Date
JP2001186130A JP2001186130A (ja) 2001-07-06
JP3578953B2 true JP3578953B2 (ja) 2004-10-20

Family

ID=18484275

Family Applications (1)

Application Number Title Priority Date Filing Date
JP36544299A Expired - Fee Related JP3578953B2 (ja) 1999-12-22 1999-12-22 セルスケジューリング装置及びセルスケジューリング方法

Country Status (1)

Country Link
JP (1) JP3578953B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5071334B2 (ja) * 2008-09-30 2012-11-14 富士通株式会社 選択回路およびパケット処理装置
JP5316696B2 (ja) * 2010-03-11 2013-10-16 富士通株式会社 データブロック読出制御装置
KR101870750B1 (ko) * 2017-12-28 2018-06-26 오픈스택 주식회사 패킷 전송 순서 재배열을 이용한 영상 인코딩 장치 및 그 동작 방법

Also Published As

Publication number Publication date
JP2001186130A (ja) 2001-07-06

Similar Documents

Publication Publication Date Title
US10331569B2 (en) Packet router buffer management
US7802028B2 (en) Total dynamic sharing of a transaction queue
US7058057B2 (en) Network switch port traffic manager having configurable packet and cell servicing
CA2415952C (en) Method and apparatus for reducing pool starvation in a shared memory switch
EP1435043B1 (en) Method and apparatus for scheduling a resource to meet quality-of-service restrictions
US7948896B2 (en) Weighted-fair-queuing relative bandwidth sharing
US7349417B2 (en) Deficit round-robin scheduling in a high-speed switching environment
US7630306B2 (en) Dynamic sharing of a transaction queue
US5481536A (en) Method for restoring a prescribed sequence for unordered cell streams in ATM switching technology
JP5789894B2 (ja) バッファマネージャおよびメモリ管理方法
GB2337905A (en) Buffer management in network devices
US7522622B2 (en) Dynamic color threshold in a queue
CN111355673A (zh) 一种数据处理方法、装置、设备及存储介质
US8599694B2 (en) Cell copy count
JP2003533107A (ja) スイッチ内でパケット待ち行列を管理するための方法および装置
JP4408376B2 (ja) 交換のためにメモリに書き込まれるパケットをキューイングするシステム、方法及び論理
US6496478B1 (en) Method and apparatus for controlling traffic queues in network switches
JP3578953B2 (ja) セルスケジューリング装置及びセルスケジューリング方法
JP3226096B2 (ja) Atmセルバッファシステム及びその輻輳制御方法
US6680908B1 (en) Network switch including bandwidth allocation controller
JP3266139B2 (ja) スケジューリング装置
US8176263B2 (en) Memory management apparatus and method for same
US7802148B2 (en) Self-correcting memory system
JP2010035245A (ja) 高速交換環境でマルチキャスティングするシステム、方法及び論理
JP3169552B2 (ja) シェーピング方法及び装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040330

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040615

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040714

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070723

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080723

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090723

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100723

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees