JPH11234285A - セル送出装置、スケジューラ装置及びセル送出レート制御方法 - Google Patents

セル送出装置、スケジューラ装置及びセル送出レート制御方法

Info

Publication number
JPH11234285A
JPH11234285A JP3007398A JP3007398A JPH11234285A JP H11234285 A JPH11234285 A JP H11234285A JP 3007398 A JP3007398 A JP 3007398A JP 3007398 A JP3007398 A JP 3007398A JP H11234285 A JPH11234285 A JP H11234285A
Authority
JP
Japan
Prior art keywords
rate
virtual connection
storage means
cell
identifier
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.)
Granted
Application number
JP3007398A
Other languages
English (en)
Other versions
JP3421565B2 (ja
Inventor
Yoshimitsu Shimojo
義満 下條
Toshitada Saito
利忠 斎藤
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP03007398A priority Critical patent/JP3421565B2/ja
Publication of JPH11234285A publication Critical patent/JPH11234285A/ja
Application granted granted Critical
Publication of JP3421565B2 publication Critical patent/JP3421565B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】 必要最小限のメモリ量で実現でき、仮想コネ
クションの設定や解放に伴う処理が簡潔で、シェイピン
グを行なわない他のトラヒックをバースト的させること
のないセル送出装置を提供すること。 【解決手段】 VC毎のセル送出レートが、定められた
第1のレートを越えないように制御するセル送出装置で
あって、制御すべきVCのVC識別子を蓄積するための
少なくとも1つのキューを備え、キューに蓄積されてい
るVC識別子を、設定された第2のレートで定められる
時間間隔で順次取り出して、セルを出力すべきVCの候
補として決定し、キューから取り出されたVC識別子に
より示されるVCに依然として送出待ちセルが存在する
場合に、その取り出されたVC識別子をキューに再び入
れ、第2のレートを、キューに蓄積されているVC識別
子に対して定められた第1のレートに基づいて決定する
ことを特徴とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、パケットの仮想コ
ネクション毎の流量制御を行なうセル送出装置、スケジ
ューラ装置及びセル送出レート制御方法に関する。
【0002】
【従来の技術】近年、世界各国でATM通信網が通信基
盤として整備されつつある。ATM通信方式は、セルと
呼ばれる固定長の短パケットを扱うため、ハードウェア
での交換が容易に可能で、セル交換スループットの高速
化が容易であるという利点を持つ。さらに、ATM通信
方式には、その高速な物理リンク内に複数のVC(Vi
rtual Connection:仮想コネクショ
ン)を設定することができるという柔軟性がある。AT
MのVCには、VCC(Virtual Channe
l Connection)と、VCCを論理的に束ね
て扱うVPC(Virtual Path Conne
ction)が定義されている。
【0003】ATM通信方式の転送サービスカテゴリと
しては、CBR、rt−VBR、nrt−VBR、AB
R、UBR、ABTが標準化されている。このうち、品
質保証可能で最も基本的なサービスがCBR(Cons
tant Bit Rate)である。CBRは、一定
レートですなわち一定の時間間隔でVC上に送出される
セルの転送サービスであり、他のサービスカテゴリと比
べてよいセル廃棄品質やキューイング遅延品質を期待す
ることができる。
【0004】このCBRサービスの実現では、セル送出
装置が重要な役割を果たす。複数のCBRのVCのセル
を送出する場合、各VCに設定されたレートに応じて一
定間隔でセルを送出する特別な制御機能が必要となる。
この制御機能はシェイピング(shaping)と呼ば
れ、またシェイピングを行なう装置はシェイパ(sha
per)と呼ばれる。シェイパは大きく分けると2つに
分類できる。1つは、端末にあって、セルを設定レート
に応じて送出するものであり、もう1つは、ネットワー
ク内にあって、ネットワーク内を転送される途中で変形
したトラヒックを設定レートに適合するように再整形す
るものである。両タイプのシェイパの構成は、原理的に
は同様であり、送信するセルの間隔が近付き過ぎないよ
うにセルの送出間隔を制御するものである。
【0005】次に、シェイパの基本的な構成例について
説明する。例えばATM通信網におけるシェイパは、図
5に例示するように、セルをVC毎に蓄積するバッファ
(キュー)11と、セルを出力すべきVC(の候補)を
選択するスケジューラ13と、スケジューラに指示され
たVCのバッファ(キュー)からセルを取り出して出力
するセレクタ12とを含む。ここでは、VCの識別子を
VCI(VC Identifier)と呼ぶことにす
る。
【0006】図6に、従来のスケジューラの一構成例を
示す。このスケジューラは、VCIの値を書き込むため
の大きなメモリ231と、そのメモリ上のVCIへのポ
インタ232を用いる。メモリのアドレスは論理的にリ
ング状になっている。ポインタが示すVCIを、セルを
出力すべきVCIとし、セルを出力するタイミング毎に
ポインタが指す位置を隣へ移動させる。もしポインタが
示す場所にVCIが書き込まれていない場合や、そのV
Cに出力待ちセルが存在しない場合にはセルを出力しな
い。
【0007】この構成例では、セルを出力できる最小の
時間間隔を1とすると、例えばメモリ上に20間隔で同
じVCI=xを書き込んでおけば、そのVCI=xのセ
ルは20の時間間隔で出力されることになる。残りの空
いているメモリ上に30間隔で別のVCI=yを書いて
おけば、先のVCI=xと並行してそのVCI=yのセ
ルは30の間隔で出力される。
【0008】この従来のスケジューラの問題点は、大き
なメモリを用意しなければならないことである。例え
ば、間隔を100とするためには少なくとも100の大
きさを持つメモリを用意しなければならないし、間隔が
10000であれば10000以上の大きさのメモリを
用意しなければならない。通常、このメモリサイズは、
シェイピングの対象とするVCの数よりもシェイピング
レートに依存するため、シェイピングレートが小さいほ
ど、つまり時間間隔が大きいほど、大きくなる。このよ
うに従来のスケジューラでは、低コストでシェイパを実
現することが難しい。
【0009】さらに、例えば、大きさが10000のメ
モリ上に、間隔10のVCを設定するためには、10の
間隔で1000回、VCIをメモリに書き込まなければ
ならい。このように、従来のスケジューラでは、VCの
設定と解放の手順が繁雑になるという別の欠点もある。
【0010】図7に、従来のスケジューラの他の構成例
を示す。このスケジューラは、リング状に配列された複
数のVCIキュー(その各々を回転キューと呼ぶ)23
3と、回転キューを1つずつ順に示していくポインタ2
34と、出力待ちキュー235で構成されている。
【0011】この構成例では、スケジューラは、セルを
蓄積していないVCにセルが到着すると、そのVCに設
定されたシェイピングレートに応じて適切な回転キュー
を選び、その回転キューへVCIを入れる。
【0012】一方、ポインタは、セルを出力するタイミ
ング毎にリング状に配列された回転キューを1つずつ順
に示していく。そして、ポインタにより示された回転キ
ュー内のVCIをすべて出力待ちキューへ転送する。
【0013】出力待ちキューから取り出されたVCIが
セルを出力すべきVCIとなるが、該当するセルを出力
した後にそのVCにまだ出力待ちのセルが残っている場
合には、再び、そのVCに設定されたシェイピングレー
トに応じて適切な回転キューが選ばれ、当該VCIがそ
の回転キューに入れられる。例えば、あるVCのシェイ
ピングレートが20間隔であれば、現在のポインタの位
置から20間隔に相当する分だけ離れた位置の回転キュ
ーへVCIを入れる。
【0014】この構成では、偶然複数の回転キューのう
ちのごく少数にVCIがかたよってしまうことがあり得
る。もしそのようになると、シェイパから出力されるセ
ルがバースト的になってしまうという欠点がある。この
バーストは、各VCに設定されるシェイピングレートが
同じである場合、継続して繰り返されることになる。セ
ル送出装置には、シェイパによって出力されるセルと、
シェイパの制約を受けないABR、UBRサービスなど
のセルの両方が出力を待っていることがあるが、通常は
シェイピングされたトラヒックに悪影響を与えないよう
に、シェイパからの出力セルを優先出力することが多
い。したがって、もしシェイパから出力されるセルがバ
ースト的になれば、ABRやUBRサービスなど他のサ
ービスカテゴリのセルの出力も必然的にバースト的にな
ってしまう。トラヒックがこのようなバースト性を持つ
と、ネットワーク内でセルが廃棄されやすくなるため、
非常に好ましくない。
【0015】シェイパの使用環境を考えた場合、多数の
VCをシェイピングしたいが、シェイピングレートの種
類は少数で十分という場合がある。上述した従来のスケ
ジューラを適用するシェイパは、全てのVCが互いに異
なるシェイピングレートを持つ場合を指向していると考
えられるが、少ない種類のシェイピングレートに分類で
きるたくさんのVCを扱う場合には良い実現方法とはい
えなかった。
【0016】
【発明が解決しようとする課題】以上説明したように、
従来のシェイピング方式では、扱うVC数に比べて大き
なメモリが必要である、VCの設定や解放に伴う処理が
繁雑である、他のサービスカテゴリのトラヒックをバー
スト的に変化させてしまう可能性がある、などの問題点
があった。なお、この問題点はATM通信方式に限ら
ず、他のパケット通信方式においてシェイピングを用い
る場合にも同様に発生するものである。
【0017】本発明は、上記事情を考慮してなされたも
ので、必要最小限のメモリ量で実現でき、仮想コネクシ
ョンの設定や解放に伴う処理が簡潔で、シェイピングを
行なわない他のトラヒックをバースト的にさせることの
ないセル送出装置を提供することを目的とする。
【0018】
【課題を解決するための手段】本発明(請求項1)は、
仮想コネクション(例えば、VC(VirtualCo
nnection))毎のセル送出レートが、定められ
た第1のレート(例えば、シェイピングレートがこれに
該当する)を越えないように制御するセル送出装置であ
って、制御すべき仮想コネクションの仮想コネクション
識別子(例えば、VCI)を蓄積するための少なくとも
1つの蓄積手段(例えば、キュー)と、前記蓄積手段に
蓄積されている仮想コネクション識別子を、設定された
第2のレート(例えば、後述するSQSレートがこれに
該当する)で定められる時間間隔で順次取り出して、セ
ルを出力すべき仮想コネクションの候補として決定する
第1の制御手段と、前記蓄積手段から取り出された仮想
コネクション識別子により示される仮想コネクションに
依然として(例えばセルを送出した後に)送出待ちセル
が存在する場合に、その取り出された仮想コネクション
識別子を前記蓄積手段に再び入れる第2の制御手段と、
前記第2のレートを、前記蓄積手段に蓄積されている仮
想コネクション識別子に対して定められた第1のレート
に基づいて(例えば、蓄積手段内の全ての仮想コネクシ
ョン識別子の第1のレートの合計に応じて)決定する第
3の制御手段とを備えたことを特徴とする。
【0019】なお、上記の代わりに、前記蓄積手段から
取り出された仮想コネクション識別子により示される仮
想コネクションが解放されるまで、その取り出された仮
想コネクション識別子を前記蓄積手段に再び入れるよう
にしてもよい。この場合、送出待ちセルのない仮想コネ
クションの仮想コネクション識別子が選択されたなら
ば、代わりの出力可能な他の仮想コネクションのセルを
出力するか、もしくはセルの送出を行わないようにす
る。
【0020】また、蓄積手段に同一の仮想コネクション
識別子を複数入れることを可能としてもよい。蓄積手段
に同一の仮想コネクション識別子をn個入れた仮想コネ
クションは、蓄積手段に同一の仮想コネクション識別子
を1個入れた仮想コネクションに対して、送出レートが
n倍となる。これによって、複数種類の第1のレートを
扱うことができる。
【0021】また、蓄積手段を複数設けることも可能で
ある。この場合には、上記の第1〜第3の制御手段はそ
れらを一組として各蓄積手段ごとに設ける。各蓄積手段
からの出力は各第2のレートに応じて時分割的に処理さ
れる。
【0022】また、この場合、例えば、同じ第1のレー
トの仮想コネクション識別子は同じ蓄積手段で管理さ
せ、各蓄積手段に異なる第1のレートの値を担当させる
ようにすることもできる。これによって、複数種類の第
1のレートを扱うことができる。さらに、ある蓄積手段
には同一の仮想コネクション識別子を複数入れることを
可能としてもよい。
【0023】好ましくは、前記第2の制御手段は、前記
仮想コネクションの解放前は、前記蓄積手段から取り出
された仮想コネクション識別子により示される仮想コネ
クションに(例えばセルを送出したために)送出待ちセ
ルが存在しなくなった場合にも、その取り出された仮想
コネクション識別子を前記蓄積手段に再び入れる手段を
含むようにしてもよい。
【0024】好ましくは、前記蓄積手段内の仮想コネク
ション識別子の数の減少または増加によって減少変更ま
たは増加変更を伴う前記第2のレートが決定された場合
に、前記第2のレートの設定値をその新たに決定された
値に変更させるタイミングを制御することによって、該
蓄積手段によりセル送出を制御している各仮想コネクシ
ョンに対してセル送出レートが第1のレートを越えない
ことを保証するようにしてもよい。
【0025】好ましくは、前記蓄積手段内の仮想コネク
ション識別子の数の減少または増加によって、減少変更
または増加変更を伴う前記第2のレートが決定された場
合、前記第2のレートの減少変更は、減少変更を伴う第
2のレートを決定させるもとになった仮想コネクション
識別子が前記蓄積手段から取り出されたときから、該蓄
積手段から次の仮想コネクション識別子が取り出される
ときまでの間の所定のタイミングで行い、前記第2のレ
ートの増加変更は、増加変更を伴う第2のレートを決定
させるもとになった仮想コネクション識別子が前記蓄積
手段に入れられたときに該蓄積手段に蓄積されていた個
数の仮想コネクション識別子が該蓄積手段から取り出さ
れたとき以降の所定のタイミングで行なうようにしても
よい。
【0026】好ましくは、前記蓄積手段内の仮想コネク
ション識別子の数の減少または増加によって、減少変更
または増加変更を伴う前記第2のレートが決定された場
合、前記第2のレートの減少変更は、前記蓄積手段内の
仮想コネクション識別子の数(例えば、図2のleng
thがこれに該当する)が所定のアルゴリズムによって
動的に決定されるしきい値(例えば、図2のrateが
これに該当する)より少なくなったときから、該蓄積手
段から次の仮想コネクション識別子が取り出されるとき
までの間の所定のタイミングで行い、前記第2のレート
の増加変更は、最後にその第2のレートを変更したとき
から所定のアルゴリズムで定められた時間(例えば、蓄
積手段内の全ての仮想コネクション識別子が取り出され
る時間のことで、図2ではcntで決定している)経過
以降の所定のタイミングで行なうようにしてもよい。
【0027】本発明(請求項6)は、入力したセルを一
旦蓄積した後に送出するセル送出制御装置において、制
御対象となる仮想コネクション(VC(Virtual
Connection))毎のセル送出レートが、定
められた第1のレート(シェイピングレート)を越えな
いように制御するスケジューラ装置であって、制御すべ
き仮想コネクションの仮想コネクション識別子(例え
ば、VCI)を蓄積するための少なくとも1つの蓄積手
段(例えば、キュー)と、前記蓄積手段に蓄積されてい
る仮想コネクション識別子を、設定された第2のレート
(例えば、SQSレートがこれに該当する)で定められ
る時間間隔で順次取り出して、セルを出力すべき仮想コ
ネクションの候補として決定する第1の制御手段と、前
記蓄積手段から取り出された仮想コネクション識別子に
より示される仮想コネクションに依然として(例えばセ
ルを送出した後に)送出待ちセルが存在する場合に、そ
の取り出された仮想コネクション識別子を前記蓄積手段
に再び入れる第2の制御手段と、前記第2のレートを、
前記蓄積手段に蓄積されている仮想コネクション識別子
に対して定められた第1のレートに基づいて(例えば、
蓄積手段内の全ての仮想コネクション識別子の第1のレ
ートの合計に応じて)決定する第3の制御手段とを備え
たことを特徴とする。
【0028】本発明(請求項7)は、入力したセルを一
旦蓄積した後に送出するセル送出制御装置において、制
御対象となる仮想コネクション(VC(Virtual
Connection))毎のセル送出レートが、定
められた第1のレート(シェイピングレート)を越えな
いように制御するセル送出レート制御方法であって、前
記蓄積手段に蓄積されている仮想コネクション識別子
を、設定された第2のレート(例えば、SQSレートが
これに該当する)で定められる時間間隔で順次取り出し
て、セルを出力すべき仮想コネクションの候補として決
定し、前記蓄積手段から取り出された仮想コネクション
識別子により示される仮想コネクションに依然として送
出待ちセルが存在する場合に、その取り出された仮想コ
ネクション識別子を前記蓄積手段に再び入れ、前記第2
のレートを、前記蓄積手段に蓄積されている仮想コネク
ション識別子に対して定められた第1のレートに基づい
て(例えば、蓄積手段内の全ての仮想コネクション識別
子の第1のレートの合計に応じて)決定することを特徴
とする。
【0029】本発明によれば、例えばキューからなる蓄
積手段を用いて仮想コネクション識別子を管理するの
で、使用するメモリ量が必要最小限で済み、仮想コネク
ションの設定や解放に伴う処理が簡潔であり、また一定
の間隔で蓄積手段から仮想コネクション識別子を取り出
すため他のサービスカテゴリのトラヒックをバースト的
にさせることがない。
【0030】なお、装置に係る本発明は方法に係る発明
としても成立し、方法に係る本発明は装置に係る発明と
しても成立する。また、セル送出装置に係る本発明は、
スケジューラ装置に係る発明としても成立し、スケジュ
ーラ装置に係る本発明は、セル送出装置に係る発明とし
ても成立する。
【0031】また、装置または方法に係る本発明は、コ
ンピュータに当該発明に相当する手順を実行させるため
の(あるいはコンピュータを当該発明に相当する手段と
して機能させるための、あるいはコンピュータに当該発
明に相当する機能を実現させるための)プログラムを記
録したコンピュータ読取り可能な記録媒体としても成立
する。
【0032】
【発明の実施の形態】以下、図面を参照しながら本発明
の実施の形態を説明する。本発明は、ATM通信方式
や、その他の固定長のパケットを扱うパケット通信方式
に適用可能である。また、可変長のパケットを扱う通信
方式については、全てのパケット長を特定の値にみなす
ことにより、本発明を適用可能である。
【0033】より具体的には、本発明は、例えば、ネッ
トワークへパケットを送出する端末装置、パケットを中
継するルータ装置、ネットワーク内で仮想コネクション
毎に入力したトラヒックを整形するATMスイッチ装置
など、種々の装置に適用可能である。
【0034】以下では、本発明をATM通信方式に適用
した場合を例にとって本実施形態を説明する関係上、A
TM通信における用語である「セル」や「VC」など用
いるが、「セル」や「VC」などの用語を「パケット」
や「フロー」など他のパケット通信方式における用語に
置き換えることができる。
【0035】本発明は、セル(パケット)、VC(フロ
ー)の定義が何であるかに関わらず有効に作用する。例
えば、ATMのVCには、VPC(Virtual P
ath Connection)とVCC(Virtu
al Channel Connection)が存在
するが、本発明は、VCとしていずれを用いた場合にも
適用可能である。
【0036】以下、本発明の実施の形態として、本発明
をATMスイッチに搭載するセル送出装置の構成要素と
してのセルスケジューラに適用した場合について説明す
る。一般に、セル送出装置は、セルを蓄積するバッフ
ァ、バッファに蓄積されているセルの中から出力すべき
セルを絞り込むスケジューラといった要素で構成されて
いるという見方をすることができる(この見方をするの
は単に本発明の有効性をわかりやすく説明するためであ
る)。セルを蓄積するバッファは、例えば図5のように
複数のVC毎キューからなるセル蓄積バッファであり、
この場合、スケジューラは、出力すべきセルのVCを選
択するものである。
【0037】図1に、本発明の一実施形態に係るスケジ
ューラの構成例を模式的に示す。本実施形態に係るスケ
ジューラは、例えば、図5に例示したセル送出装置のス
ケジューラとして適用可能である。
【0038】このスケジューラは、各VCについて、そ
のセル送出レートが、ある定められた値(これをシェイ
ピングレートと呼ぶ)以上にならないように制御を行
う。本実施形態では、管理する全てのVCのシェイピン
グレートが同じである場合を前提とする。
【0039】図1に示されるように、本スケジューラ
は、概略的には、VC識別子を蓄積するキュー(以下、
Sキュー(Scheduling Queue)と呼
ぶ)3と、Sキュー3に蓄積されているVC識別子を、
後述するSQSレートで順に取り出すVCIデキュー部
(図1にスイッチとして模式的に示す)と、取り出した
VC識別子をSキュー3に再度入れるデキュー部(図1
にフィードバックループとして模式的に示す)と、SQ
Sレートを制御するSQSレート制御部(図示せず)を
有する。
【0040】Sキュー3はFIFOであり、これはリン
グバッファやリンクドリストなどの良く知られたFIF
O実現手法で実装することができる。Sキュー3内のV
C識別子は、設定されたレート(以下、SQSレート
(per−Scheduling Queue Sha
ping Rate)と呼ぶ)で順次選択される。選択
されたVC識別子がセルを出力すべきVCの候補とな
る。
【0041】セルを出力すべきVCが選択されたなら
ば、そのVC識別子をSキュー3から取り出すととも
に、そのVCからセルが送出されたとしても、なおその
VCに送出待ちのセルが残る場合には、再び、Sキュー
3へそのVC識別子を入れる。
【0042】なお、あるVCの最後のセルを出力しその
VCに出力待ちセルがなくなった場合については、Sキ
ュー3から取り出したそのVC識別子を、Sキュー3へ
再エンキューする方法と再エンキューしない方法がある
が、それらについては後述する。
【0043】SQSレートは、各VCに定められたシェ
イピングレートの合計に応じて決定する。Sキュー3内
のVC識別子の数を一定とした場合、1つのSキューで
管理する各VCのシェイピングレートが互いに同じであ
れば、SQSレートをVC毎のシェイピングレートとS
キュー内のVC識別子の数の積に設定すればよい。例え
ば、シェイピングレート100kbpsのVCが20本
あるのであれば、SQSレートを100kbpsの20
倍である2Mbpsに設定することにより、各VCのシ
ェイピングレートを100kbpsにすることができ
る。
【0044】以上のような構成にした場合、設定されて
いるVCのみがメモリを使用するだけであるので、必要
最小限のメモリ量でスケジューラを実現することができ
る。また、多数のシェイピングすべきVCが存在しても
セルが均等に出力されるため、セル出力優先度の低い非
シェイピングセルをバースト的にさせないという利点が
ある。
【0045】続いて、Sキュー3で管理するVC識別子
の数が変化する場合のSQSレートの変更方式の2つの
例についてそれぞれ説明する。第1のSQSレートの変
更方式は、SQSレートをVCの解放/設定の際に変更
する方式である。
【0046】この方式では、セルを出力すべきVCとし
てSキュー3からVC識別子が取り出された後、そのV
Cにさらに待ちセルが残っていなくてもそのVC識別子
を必ず元のSキュー3へ再エンキューする。従って、S
キュー3内のVC識別子の中には、バッファに出力すべ
きセルが1つも存在しないものも含まれている。セルを
出力すべきVC識別子として選択されたVC識別子に出
力待ちセルが存在しない場合には、代わりの出力可能な
他のVCのセルを出力するか、もしくはどのセルも出力
しないようにする。
【0047】このようにすれば、Sキュー3内のVC識
別子の数は、通常、変化しないので、SQSレートをセ
ル到着やセル送出の度に変更する必要はない。新たにV
Cの解放または設定があったときのみ、次のように変更
すればよい。
【0048】設定済みVCの解放は、例えばその解放し
たいVC識別子がSキュー3からデキューされたときを
切っ掛けにして行なう。例えば、VCの設定/解放を管
理する管理装置(図示せず)がVCの解放を指示する場
合、その管理装置は解放したいVC識別子と解放後の新
しいSQSレートをセル送出装置側に通知する。新しい
SQSレートは、通常、解放後のVC識別子の数とVC
毎のシェイピングレートの積である。セル送出装置のス
ケジューラでは、その通知されたVC識別子がSキュー
3からデキューされたら、そのVC識別子の再エンキュ
ーをとりやめ、同時にSQSレートを通知された新しい
値に切替える。新しいSQSレートは、もとの値よりも
小さくなるはずであるから、そのSキュー3で管理され
ている残りのVCは一時的に送出レートが小さくなるこ
とはあっても、設定されたシェイピングレートを違反し
た大きなレートにはならないことが保証される。なお、
この場合、SQSレートの通知された新しい値への切替
えは、次のVC識別子を取り出すまでの間の所定のタイ
ミングで行ってもよい。
【0049】新しいVCの設定は、例えばVCの設定を
指示する管理装置が、設定したいVC識別子と設定後の
新しいSQSレートをセル送出装置側へ通知するように
する。新しいSQSレートは、通常、設定後のVC識別
子の数とVC毎のシェイピングレートの積である。セル
送出装置のスケジューラでは、その新しいVC識別子を
直ちにSキューへエンキューしてよい。ただし、SQS
レートを新しい値に変更するのは、エンキューした新し
いVC識別子がSキュー3からデキューしたときを切っ
掛けにして行なう。これは、新しいSQSレートがもと
の値よりも大きいため、エンキュー直後に変更してしま
うとVC毎のシェイピングレートが設定値を違反してし
まうからである。このように、新しくエンキューしたV
C識別子がSキュー3内を一巡りしてデキューされたと
きを切っ掛けにSQSレートを変更することで、VCの
シェイピングレート違反が発生しないことを保証するこ
とができる。
【0050】なお、上記では新しいSQSレートを管理
装置側で求め、これをセル送出装置側に通知するように
したが、セル送出装置側で新しいSQSレートを求める
ようにしてもよい。
【0051】第2のSQSレートの変更方式は、VCの
解放/設定ではなく、実際に、あるVC毎バッファが空
になったことや、ある空のVC毎バッファにセルがエン
キューされたことに応答してSQSレートを変更する方
式である。
【0052】この方式の場合、Sキュー3で管理するV
C識別子は、実際にバッファに出力待ちのセルが存在す
るVCだけになる。すなわち、あるVCの最後のセルを
出力しそのVCに出力待ちセルがなくなったとき、つま
りVCがアイドルになったときは、そのVC識別子のS
キュー3への再エンキューをやめる。一方、出力待ちセ
ルがないVCにセルが到着したとき、つまりVCがアク
ティブになったときは、Sキューへ新しくそのVC識別
子をエンキューする。本方式では、これら各VCのアイ
ドルとアクティブとの間の変化に応じてSQSレートを
変更させるものである。
【0053】また、本方式では、各VCのシェイピング
レートが設定値を越えないようにするために、変更のタ
イミングを後述するように工夫している。図2に、Sキ
ューからVC識別子がデキューされる度に実行される、
SQSレート変更のアルゴリズムを示す。
【0054】アルゴリズム中、lengthはデキュー
処理後のSキュー内のVC識別子の数、tmp、rat
eはlengthを一時的に記憶した値、cntはSQ
Sレートを変更するタイミングを決定するカウンタであ
る。
【0055】SQSレートは、rateとVC毎に設定
されたシェイピングレートを乗じた値である。ただし、
rateが0の場合には、rateを0以外の値、例え
ば1に置き換え、VC毎に設定されたシェイピングレー
トを乗じた値とする。tempとrateの初期値は
0、cntの初期値は1である。
【0056】まず、cntをデクリメントし(ステップ
S1)、lengthがrateよりも小さいかどうか
を検査する(ステップS2)。もしいくつかのVCがア
イドルになり、lengthがrateよりも小さくな
っていたならば、tmpの値をlengthの値と同じ
に設定するとともに、rateもlengthと同じ値
に下げ、また、cntをlengthに初期化する(ス
テップS3)。rateが下がることによりSQSレー
トは小さくなる。
【0057】もしステップS2にてlengthがra
te以上であれば、次にlengthがtmpよりも小
さいかどうかを検査する(ステップS4)。もしlen
gthがtmpよりも小さいならば、tmp値をlen
gthの値と同じに下げ、cntをlengthに初期
化する(ステップS5)。
【0058】さらにステップS4にてlengthがt
mp以上であれば、ステップS1にてcntをデクリメ
ントした結果を検査し(ステップS6)、cntが0以
下になっていたならば、すなわちカウンタで決定する期
間が満了したならば、rateにtmpを代入し、tm
pにlengthを代入し、さらにcntをlengt
hに初期化する(ステップS7)。
【0059】図2のアルゴリズムでは、rate(SQ
Sレートの元のデータ)を大きな値(tmp)に変更す
る操作(ステップS7)は、cntで決定される周期で
変更を行なう。これによって、図2のアルゴリズムは、
過去の1周期間、lengthがrate以上かつtm
p以上であることを保証している。つまり、その後の1
周期にデキューするいずれのVC識別子についても、そ
れがエンキューされたときは、Sキューの長さがrat
e以上かつtmp以上あったということである。過去の
1周期間のSQSレートがrateで決定され、その後
の1周期間のSQSレートがtmpで決定されることを
考え合わせると、Sキューで管理する全てのVCで設定
されたシェイピングレートを違反していないことを保証
することができる。
【0060】なお、図2のアルゴリズムで決定されるS
QSレートの変更タイミングよりも以降にSQSレート
の増加変更を行うようにした場合でも、Sキューで管理
する全てのVCで設定されたシェイピングレートを違反
していないことを保証することができる。
【0061】逆に、rateを小さな値に変更する操作
(ステップS3)は、lengthが小さくなったこと
を発見した段階(ステップS2)で直ちに行なうこと
で、設定されたシェイピングレートを違反しないことを
保証する。
【0062】なお、上記の代わりに、lengthがr
ateよりも小さくなった時点から、次にそのSキュー
によりセルが送出される時点(すなわちそのSキューか
ら次のVC識別子がデキューされる時点)までの間の所
定のタイミングで行うようにしても、設定されたシェイ
ピングレートを違反しないことを保証することができ
る。例えば、図3に示すようにA、B、C、Dの4つの
VC識別子から識別子Dがデキューされ再エンキューさ
れない場合、(a)に示すように即座にレートを変更し
てもレート違反は生ずることはなく、また(b)に示す
ように次の識別子Aの出力タイミングで変更すると、ち
ょうどシェイピングレートで出力されるが、(c)に示
すように次の次の識別子Bの出力タイミングで変更する
と、識別子Aのデキューの間隔がシェイピングレートで
規定される間隔よりも短くなり、レート違反が生ずる。
【0063】以上のように、SキューのSQSレートの
各設定方法では、Sキューで管理されているVC識別子
の数の変化にともないSキューのSQSレートを変更す
るが、いずれの方法を用いても、各VCのセル送出レー
トがVC毎に定められたシェイピングレートを越えてし
まうことがない。
【0064】また、本実施形態によれば、VCの設定や
解放手順は、Sキューのエンキュー、デキュー操作を行
なうことで容易に行うことができる。また、SQSレー
トの計算も単純なアルゴリズムで実現可能である。
【0065】以上説明してきたように、本実施形態によ
れば、Sキューを用いてVCIを管理するので、必要最
小限のメモリ量で実現でき、仮想コネクションの設定や
解放に伴う処理が簡潔であり、また一定の間隔でキュー
からVCIを取り出すためシェイピングを行なわない他
のトラヒックをバースト的にさせないようにすることが
できる。
【0066】さて、これまでの説明では、1つのセル送
出装置で管理するVCは全て同じシェイピングレートが
設定されているとしたが、本発明によれば、2以上の異
なるシェイピングレートを扱うことも可能である。
【0067】そのための方法としては、あるVCのVC
識別子を1つのSキューに複数個エンキューする方法が
考えられる。Sキューに同じVC識別子をN個エンキュ
ーすると、1個しかエンキューしていないVCのシェイ
ピングレートのN倍の送出レートでセルを送出すること
ができる。
【0068】この方法では、もしN個のVC識別子間の
間隔を制御できなければ、設定したシェイピングレート
を越えてセルが出力されることがある。しかし、それは
最大でN−1セルと上限値が明確であり、このセル流を
受信する装置の遅延揺らぎ許容範囲内なら問題は生じな
い。
【0069】また、他の方法として、シェイピングレー
トの種類に応じた複数のSキューを並列に動作させる方
法も考えられる。また、この方法は、上記した同一VC
識別子を1つのSキューに複数個エンキューする方法と
組み合わせることもできる。
【0070】図4に、シェイピングレートの種類に応じ
た複数のSキューを並列に動作させるようにしたセル送
出装置の一例を示す。このセル送出装置は、セルをVC
毎に蓄積するバッファ(キュー)21と、セルを出力す
べきVCを選択するスケジューラ23と、スケジューラ
の指示に従っていずれかのバッファ(キュー)からセル
を取り出して出力するセレクタ22とを有する。
【0071】スケジューラ23は、複数のSキュー(3
3−1〜33−n)、非シェイピングVCスケジューラ
35、選択部36を持つ。複数種類のシェイピングレー
トを扱う場合には、そのシェイピングレートの種類に応
じて複数のSキューを用意する。各Sキューはそれぞれ
に設定されたSQSレートでVC識別子を出力すべきV
Cの候補として選択する。複数の候補が存在する場合に
は、選択部36がその中から適当にVC識別子を選び、
セルを出力すべきVCとしてセルバッファへ伝える。
【0072】もしいずれのSキューも候補となるVC識
別子を選択していなかった場合には、非シェイピングV
Cスケジューラ35が選択したVC識別子を出力すべき
VCとする。
【0073】なお、図4のSキューの一部または全部
が、同一VC識別子をそのSキューに複数個エンキュー
することを可能とするものであってもよい。なお、以上
の各機能は、ソフトウェアとしても実現可能である。
【0074】また、本実施形態は、コンピュータに所定
の手順を実行させるための(あるいはコンピュータを所
定の手段として機能させるための、あるいはコンピュー
タに所定の機能を実現させるための)プログラムを記録
したコンピュータ読取り可能な記録媒体として実施する
こともできる。本発明は、上述した実施の形態に限定さ
れるものではなく、その技術的範囲において種々変形し
て実施することができる。
【0075】
【発明の効果】本発明によれば、キューを用いてVCI
を管理するので、使用するメモリ量が必要最小限で済
み、VCの設定や解放に伴う処理が簡潔であり、また一
定の間隔でキューからVCIを取り出すため他のサービ
スカテゴリのトラヒックをバースト的にさせないように
することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るスケジューラの構成
例を説明するための図
【図2】同実施形態におけるSQSレート変更手順の一
例を示すフローチャート
【図3】SQSレートを減少変更するタイミングについ
て説明するための図
【図4】同実施形態に係るセル送出装置の構成例を示す
【図5】一般的なセル送出装置の構成例を示すブロック
【図6】従来のスケジューラの一構成例を示す図
【図7】従来のスケジューラの他の構成例を示す図
【符号の説明】
3,33−1,33−2,33−n…Sキュー 4…出力部 11,21…VC毎キュー 12,22…セレクタ 13,23…スケジューラ 35…非シェイピングVCスケジューラ 36…選択部

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】仮想コネクション毎のセル送出レートが、
    定められた第1のレートを越えないように制御するセル
    送出装置であって、 制御すべき仮想コネクションの仮想コネクション識別子
    を蓄積するための少なくとも1つの蓄積手段と、 前記蓄積手段に蓄積されている仮想コネクション識別子
    を、設定された第2のレートで定められる時間間隔で順
    次取り出して、セルを出力すべき仮想コネクションの候
    補として決定する第1の制御手段と、 前記蓄積手段から取り出された仮想コネクション識別子
    により示される仮想コネクションに依然として送出待ち
    セルが存在する場合に、その取り出された仮想コネクシ
    ョン識別子を前記蓄積手段に再び入れる第2の制御手段
    と、 前記第2のレートを、前記蓄積手段に蓄積されている仮
    想コネクション識別子に対して定められた第1のレート
    に基づいて決定する第3の制御手段とを備えたことを特
    徴とするセル送出装置。
  2. 【請求項2】前記第2の制御手段は、前記仮想コネクシ
    ョンの解放前は、前記蓄積手段から取り出された仮想コ
    ネクション識別子により示される仮想コネクションに送
    出待ちセルが存在しなくなった場合にも、その取り出さ
    れた仮想コネクション識別子を前記蓄積手段に再び入れ
    る手段を含むことを特徴とする請求項1に記載のセル送
    出装置。
  3. 【請求項3】前記蓄積手段内の仮想コネクション識別子
    の数の減少または増加によって減少変更または増加変更
    を伴う前記第2のレートが決定された場合に、前記第2
    のレートの設定値をその新たに決定された値に変更させ
    るタイミングを制御することによって、該蓄積手段によ
    りセル送出を制御している各仮想コネクションに対して
    セル送出レートが第1のレートを越えないことを保証す
    ることを特徴とする請求項1に記載のセル送出装置。
  4. 【請求項4】前記蓄積手段内の仮想コネクション識別子
    の数の減少または増加によって、減少変更または増加変
    更を伴う前記第2のレートが決定された場合、 前記第2のレートの減少変更は、減少変更を伴う第2の
    レートを決定させるもとになった仮想コネクション識別
    子が前記蓄積手段から取り出されたときから、該蓄積手
    段から次の仮想コネクション識別子が取り出されるとき
    までの間の所定のタイミングで行い、 前記第2のレートの増加変更は、増加変更を伴う第2の
    レートを決定させるもとになった仮想コネクション識別
    子が前記蓄積手段に入れられたときに該蓄積手段に蓄積
    されていた個数の仮想コネクション識別子が該蓄積手段
    から取り出されたとき以降の所定のタイミングで行なう
    ことを特徴とする請求項1に記載のセル送出装置。
  5. 【請求項5】前記蓄積手段内の仮想コネクション識別子
    の数の減少または増加によって、減少変更または増加変
    更を伴う前記第2のレートが決定された場合、 前記第2のレートの減少変更は、前記蓄積手段内の仮想
    コネクション識別子の数が所定のアルゴリズムによって
    動的に決定されるしきい値より少なくなったときから、
    該蓄積手段から次の仮想コネクション識別子が取り出さ
    れるときまでの間の所定のタイミングで行い、 前記第2のレートの増加変更は、最後にその第2のレー
    トを変更したときから所定のアルゴリズムで定められた
    時間経過以降の所定のタイミングで行なうことを特徴と
    する請求項1に記載のセル送出装置。
  6. 【請求項6】入力したセルを一旦蓄積した後に送出する
    セル送出制御装置において、制御対象となる仮想コネク
    ション毎のセル送出レートが、定められた第1のレート
    を越えないように制御するスケジューラ装置であって、 制御すべき仮想コネクションの仮想コネクション識別子
    を蓄積するための少なくとも1つの蓄積手段と、 前記蓄積手段に蓄積されている仮想コネクション識別子
    を、設定された第2のレートで定められる時間間隔で順
    次取り出して、セルを出力すべき仮想コネクションの候
    補として決定する第1の制御手段と、 前記蓄積手段から取り出された仮想コネクション識別子
    により示される仮想コネクションに依然として送出待ち
    セルが存在する場合に、その取り出された仮想コネクシ
    ョン識別子を前記蓄積手段に再び入れる第2の制御手段
    と、 前記第2のレートを、前記蓄積手段に蓄積されている仮
    想コネクション識別子に対して定められた第1のレート
    に基づいて決定する第3の制御手段とを備えたことを特
    徴とするスケジューラ装置。
  7. 【請求項7】入力したセルを一旦蓄積した後に送出する
    セル送出制御装置において、制御対象となる仮想コネク
    ション毎のセル送出レートが、定められた第1のレート
    を越えないように制御するセル送出レート制御方法であ
    って、 前記蓄積手段に蓄積されている仮想コネクション識別子
    を、設定された第2のレートで定められる時間間隔で順
    次取り出して、セルを出力すべき仮想コネクションの候
    補として決定し、 前記蓄積手段から取り出された仮想コネクション識別子
    により示される仮想コネクションに依然として送出待ち
    セルが存在する場合に、その取り出された仮想コネクシ
    ョン識別子を前記蓄積手段に再び入れ、 前記第2のレートを、前記蓄積手段に蓄積されている仮
    想コネクション識別子に対して定められた第1のレート
    に基づいて決定することを特徴とする送出レート制御方
    法。
JP03007398A 1998-02-12 1998-02-12 セル送出装置、スケジューラ装置及びセル送出レート制御方法 Expired - Fee Related JP3421565B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03007398A JP3421565B2 (ja) 1998-02-12 1998-02-12 セル送出装置、スケジューラ装置及びセル送出レート制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03007398A JP3421565B2 (ja) 1998-02-12 1998-02-12 セル送出装置、スケジューラ装置及びセル送出レート制御方法

Publications (2)

Publication Number Publication Date
JPH11234285A true JPH11234285A (ja) 1999-08-27
JP3421565B2 JP3421565B2 (ja) 2003-06-30

Family

ID=12293635

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03007398A Expired - Fee Related JP3421565B2 (ja) 1998-02-12 1998-02-12 セル送出装置、スケジューラ装置及びセル送出レート制御方法

Country Status (1)

Country Link
JP (1) JP3421565B2 (ja)

Also Published As

Publication number Publication date
JP3421565B2 (ja) 2003-06-30

Similar Documents

Publication Publication Date Title
EP0763915B1 (en) Packet transfer device and method adaptive to a large number of input ports
US5793747A (en) Event-driven cell scheduler and method for supporting multiple service categories in a communication network
US6377583B1 (en) Rate shaping in per-flow output queued routing mechanisms for unspecified bit rate service
US6038217A (en) Rate shaping in per-flow output queued routing mechanisms for available bit rate (ABR) service in networks having segmented ABR control loops
US6064651A (en) Rate shaping in per-flow output queued routing mechanisms for statistical bit rate service
US5926459A (en) Rate shaping in per-flow queued routing mechanisms for available bit rate service
US5629928A (en) Dynamic fair queuing to support best effort traffic in an ATM network
EP0817436B1 (en) Packet switched communication system
US5940375A (en) Feedback control apparatus and cell scheduling apparatus for use with cell exchange
US6587437B1 (en) ER information acceleration in ABR traffic
EP0810809A2 (en) A scheduling method and apparatus for supporting ATM connections having a guaranteed minimum bandwidth
JPH10215257A (ja) パケット交換通信システム
US6587436B1 (en) Method and apparatus for allocation of available bandwidth
EP0817433B1 (en) Packet switched communication system and traffic shaping process
US6560195B1 (en) Method and apparatus for leaky bucket based out-bound shaping in an ATM scheduler
EP1510049A1 (en) Methods and apparatus for guaranteeing a minimum cell rate (mcr) for asynchronous transfer mode (atm) traffic queues
EP0817431B1 (en) A packet switched communication system
EP0817435B1 (en) A switch for a packet communication system
JP3421565B2 (ja) セル送出装置、スケジューラ装置及びセル送出レート制御方法
EP0817434B1 (en) A packet switched communication system and traffic shaping process
EP0817432B1 (en) A packet switched communication system
JP2005245015A (ja) パケット転送装置
CN100358314C (zh) 一种实现异步转移模式下虚通道流量控制的方法及装置
JP3097549B2 (ja) Atmスイッチ
KR100319456B1 (ko) 비동기 전송 모드 교환기에서 보증 프레임 속도에 대한사용 파라미터 제어시스템 및 그 방법

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080418

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090418

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees