JP2000332762A - セル送出管理方法および装置 - Google Patents

セル送出管理方法および装置

Info

Publication number
JP2000332762A
JP2000332762A JP14165299A JP14165299A JP2000332762A JP 2000332762 A JP2000332762 A JP 2000332762A JP 14165299 A JP14165299 A JP 14165299A JP 14165299 A JP14165299 A JP 14165299A JP 2000332762 A JP2000332762 A JP 2000332762A
Authority
JP
Japan
Prior art keywords
cell
queues
chained
queue
stored
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
JP14165299A
Other languages
English (en)
Other versions
JP3673114B2 (ja
Inventor
Yoichi Kado
洋一 門
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP14165299A priority Critical patent/JP3673114B2/ja
Publication of JP2000332762A publication Critical patent/JP2000332762A/ja
Application granted granted Critical
Publication of JP3673114B2 publication Critical patent/JP3673114B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】 等級別連鎖待ち行列を用いてATMスイッチ
を構成する場合、回路規模を抑え、処理を疑似化するこ
とで実用に適するセル送出管理装置を提供する。 【解決手段】 全伝送帯域を等比的に区切って複数の帯
域を定義し、各帯域毎に、複数のステップに区分された
連鎖待ち行列を対応させる。セルを連鎖待ち行列のいず
れかに登録する際には、登録するセルに加え、前順位、
後順位に蓄積されているセル各々のポインタを更新す
る。先頭ステップの先頭セルをプッシュする際には、先
頭セルの次に蓄積されているセルを、新たに先頭セルと
して指示した上で、先頭セルをプッシュする。連鎖待ち
行列の更新処理を行なう際には、各連鎖待ち行列の先頭
ステップと、次ステップとをマージし、それ以降のステ
ップについては、それぞれを1ステップずつシフトし、
さらに、最後尾のステップを空にする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、たとえばATM
(Asynchronous Transfer Mode)通信網に適用される、
セル送出管理装置に関する。より詳細には、セル送出管
理に際して、重み付け制御方法である等級別連鎖待ち行
列を用いる上で、複数の等級別連鎖待ち行列に蓄積され
ているセルを効率的に管理する方法に関する。また、そ
のような管理方法を適用した装置に関する。
【0002】
【従来の技術】ATMネットワークでは、音声や映像、
データ通信など、様々のトラフィック特性を持つセル
を、個々の通信品質(サービス品質)を保証しつつ多重
化する必要がある。現在のATMネットワークでは、通
信品質クラスとしてCBR、VBRなど、いくつかのカ
テゴリーが定義されている。ATMスイッチでは、これ
らのクラスに応じて、フロー毎にセルスケジューリング
が必要になる。
【0003】たとえば、代表的なセルスケジューリング
方式として、重み付けラウンドロビン(Weighted Round
Robin)、DRR(Deficit Round Robin)、さらに、
VC毎にスケジューリングを行う方法など、多数提案さ
れている。
【0004】一方で、ATMネットワークでの通信速度
(通信帯域)は高速化の一途をたどっており、ATMス
イッチも高速化/大規模化する傾向にある。このような
状況に対して、従来行われていたようなセルスケジュー
リング方式では、スイッチの高速化/大規模化に対応す
ることが困難になりつつある。そこで近年では、セルフ
ローが大規模化したとしても対応可能なアルゴリズムと
して、CCQ(Chained and Classfied Queue:等級別
連鎖待ち行列)が注目されるようになっている。
【0005】
【発明が解決しようとする課題】一般的なCCQセルス
ケジューリング方式は、セルを帯域値毎にクラス分け
し、それぞれのクラス毎に、セル送出時刻を算出したタ
イムテーブルを作成しする。個々のクラスは、このタイ
ムテーブルをもとにセルスケジューリングを行ない、最
後に、各クラス間で競合制御を行なって、どのクラスの
セルを送出するかを決定する方式である。
【0006】ここで一般的なCCQセルスケジューリン
グ方式では、帯域値毎に分けられた各々のクラスは、複
数のステップから構成されているものである。このステ
ップは、一般的にはFIFOメモリとして動作する。し
たがってCCQセルスケジューリング方式では、マトリ
クス状に配置されたFIFOについて、それぞれのFI
FO動作に加えて、指数的にずらしたタイミングで並列
的に連鎖動作させなければならない。
【0007】しかし、実用的なATMスイッチを実現す
るためには、セルをクラス分けする等級、そして各々の
等級が有するステップとも、数十〜数百という規模にな
る。すなわち、膨大な数のFIFOが、マトリクス状に
配置されることになる。これらのFIFOを並列的に連
鎖動作させるのであるから、並列的な処理量が膨大なも
のとなる。
【0008】よって、このような膨大な数のFIFOを
単に並列動作させるのでは、回路規模の問題で実現性が
低い。したがってこの発明は、問題となる処理を疑似化
する多重化メカニズムを適用し、実用に適するセル送出
管理方法およびセル送出管理装置を提供する。
【0009】
【課題を解決するための手段】すなわち、この発明は、
全伝送帯域を等比的に区切って複数の帯域を定義し、こ
れら定義された各帯域毎に、複数のステップに区分され
た連鎖待ち行列を対応させるとともに、コネクション
を、当該コネクションの帯域に応じて、その帯域に対応
付けられた連鎖待ち行列に登録して管理するセル送出管
理方法である。また、そのような方法でセル送出管理を
行なう装置である。
【0010】この発明では、個々のセルを前記連鎖待ち
行列のいずれかに登録する際に、まず当該連鎖待ち行列
のいずれのステップに前記セルを登録するかを決定す
る。次いで、新たに登録するセルの前順位に蓄積されて
いるセル、新たに登録するセル、および新たに登録する
セルの後順位に蓄積されているセルについて、各々のポ
インタを更新する。最後に、新たに登録するセルが蓄積
されるステップの収容セル数を更新する。
【0011】また、この発明では、連鎖待ち行列の先頭
ステップに蓄積されている先頭のセルについてプッシュ
要求が発生した場合には、先頭ステップについて、先頭
セルの次に蓄積されているセルを新たに先頭セルとして
指示し、プッシュ要求の発生した先頭セルをプッシュす
る。そして先頭ステップの収容セル数を更新する。
【0012】また、この発明では、連鎖待ち行列の更新
処理を行なう場合には、先頭ステップの最後尾のセルを
指示するポインタを、前記次ステップの最後尾のセルを
指示するポインタに変更することで、連鎖待ち行列の先
頭ステップと、次ステップとをマージする。次いで、以
降のステップについて、それぞれを1ステップずつシフ
トする処理を行ない、最後に、最後尾のステップを空に
する。
【0013】この発明の別の実施形態によれば、セル送
出管理は、複数の連鎖待ち行列の各々のステップに対応
して、各々のステップに蓄積されているセル数、各々の
ステップに蓄積されている先頭セルおよび最後尾セルを
指示するポインタを格納する記憶部を有する。この記憶
部は、前記複数の連鎖待ち行列の各々のステップに対応
して、マトリクス状に区分された複数の記憶領域を有す
る。
【0014】そして、少なくとも複数の連鎖待ち行列の
各々の先頭ステップ以外のステップと、記憶部内の複数
の記憶領域とは、各連鎖待ち行列の更新タイミングをカ
ウントすることによって得られる値から求まる関係に従
い、1対1に対応する。
【0015】
【発明の実施の形態】以下、図面を参照しながら、この
発明の実施形態について説明する。まず図2に、この発
明の第1の実施形態によるセル送出管理装置のブロック
図を示す。セル送出管理装置100には、複数のコネク
ションが接続されている。図2では、コネクションAか
らコネクションCまで、3本のコネクションが接続され
ている状態を示す。
【0016】セル送出管理装置100は、セル振分部1
0、等級別連鎖待ち行列20、競合制御部30、および
制御部40を有する。前述したコネクションAからコネ
クションCまでの複数のコネクションは、セル送出管理
装置100内のセル振分部10に接続されている。等級
別連鎖待ち行列20は、セル振分部10の出力側に接続
されている。競合制御部30は、等級別連鎖待ち行列2
0の出力側に接続されている。また、等級別連鎖待ち行
列20内には、複数の等級別連鎖待ち行列が配置されて
いる。図2では、等級別連鎖待ち行列21から23ま
で、3の等級別連鎖待ち行列が配置されている例を示
す。
【0017】各コネクションからセル送出管理装置10
0に入力されるセルには、指数的な重み付けがされてい
る。各セルは、この指数的な重み付けごとに、複数の等
級のいずれかにクラス分けされる。それぞれの等級につ
いて、1以上の連鎖待ち行列が割り当てられる。図2に
示すセル送出管理装置100では、セルが3つの等級に
クラス分けされ、各クラスに1つの、すなわち等級別連
鎖待ち行列21ないし23が対応して割り当てられてい
る。
【0018】セル振分部10は、各コネクションから入
力されてくるセルを、そのセルの重み付けに応じて、対
応する等級別連鎖待ち行列21ないし23のいずれかに
振り分ける。実際には、セル送出管理装置100が受信
したセル自体が等級別連鎖待ち行列21ないし23に一
時蓄積されるのではなく、各セルの送出権(トークン)
が、等級別連鎖待ち行列21ないし23に一時蓄積され
る。
【0019】制御部40は、等級別連鎖待ち行列20に
接続されており、等級別連鎖待ち行列20内の各待ち行
列へのトークンの登録、更新などを制御する。各トーク
ンは、等級別連鎖待ち行列の更新毎にステップをシフト
され、最終的にセル送出への競合に参加することとな
る。すなわち、等級別連鎖待ち行列21ないし23の先
頭までシフトされたトークンは競合制御部30における
競合制御に参加し、競合に勝ったトークンに対応するセ
ルが、最終的にセル送出管理装置100から出力され
る。
【0020】以下、各等級別連鎖待ち行列21ないし2
3へのトークンの登録、更新動作について、図を用いて
詳しく説明する。まず図1には、等級別連鎖待ち行列2
1の詳細な構造が示されている。等級別連鎖待ち行列2
1、そして等級別連鎖待ち行列22も、同様の構造を有
する。よって以下では、セル送出管理装置100に入力
されたセルが等級別連鎖待ち行列21に割り振られた場
合の、等級別連鎖待ち行列21でのトークンの登録、更
新などの制御について説明する。なお、入力されたセル
をいずれの等級別連鎖待ち行列に割り振るかを決定する
アルゴリズムについては、この発明の主要なポイントで
はないので詳細は省略する。
【0021】等級別連鎖待ち行列21は、先頭ステップ
としてのステップ#0、ステップ#1、ステップ#2、
ステップ#3、および最後尾ステップとしてのステップ
#4を有する。これらのステップは、各々がFIFOメ
モリとして動作する。
【0022】各ステップにはそれぞれ複数のトークンが
蓄積されるが、各ステップには、トークンを収容してい
る数を保持する収容トークン数パラメータが設けられて
いる。各等級別連鎖待ち行列のすべてのステップは、さ
らに、それぞれが蓄積しているトークンの最初のもの、
および最後尾のものを特定するためのパラメーター(ポ
インタ値)を保持している。これらのパラメーターは、
各ステップ対応で設置されるレジスタに保持される。
【0023】さらに、各等級別連鎖待ち行列に登録され
ているすべてのトークンは、自トークンの次のトークン
を指示するポインタを有している。
【0024】図1では、各ステップが収容トークン数パ
ラメーターを格納するレジスタ、先頭トークンを示すパ
ラメーターを格納するレジスタ、ステップに蓄積されて
いる複数のトークン、そして最後尾トークンを示すパラ
メーターを格納するレジスタから構成されている様子
が、模式的に示されている。
【0025】1.登録(レジスト)動作 新たなセルがセル送出管理装置100に入力された場
合、そのセルに対応するトークンが、等級別連鎖待ち行
列21内のいずれかのステップに登録される。なお、セ
ル(トークン)をいずれのステップに登録するかを決定す
るアルゴリズムについても、この発明の主要なポイント
ではないので、詳細は省略する。
【0026】新たにトークンを登録する等級別連鎖待ち
行列、およびステップが決定した場合、制御部40は、
以下のような制御を行なう。たとえば、新しいトークン
がステップ#2に登録される場合の制御について説明す
る。
【0027】制御部40はまず、ステップ#2に対し
て、新たに登録すべきトークンを与える。前述したよう
に各ステップはFIFOメモリとして動作するので、こ
のトークンはステップ#2内では最後に蓄積される。
【0028】したがって、ステップ#2に新たなトーク
ンを登録する場合、ステップ#2の最後尾のトークンの
位置を示すパラメーターの値を修正しなければならな
い。さらに、新たに登録されるトークンの前後において
トークンの順序が狂わないように、新たに登録されるト
ークンの前に蓄積されているトークン、新たに登録され
るトークン、そして新たに登録されるトークンの後に蓄
積されているトークンについて、自トークンの次のトー
クンを指示するポインタを変更しなければならない。
【0029】具体的には、以下の手順でパラメーター、
およびポインタの値が修正される。すなわち制御部40
は、まず、ステップ#2に保持されている、ステップ#
2の最後尾のトークンを指示するポインタ値を、新たに
登録するトークンを指示するポインタ値に書き換える
(a)。同時に、それまでステップ#2に保持されてい
る最後尾であったトークンが有するポインタを、新たに
登録するトークンを指示するように変更する(b)。
【0030】そして、新たに登録するトークンが有する
ポインタを、ステップ#3以降のステップであって、ト
ークンを1以上蓄積しているステップの、最初のトーク
ンを指示するように変更する(c)。図1に示した例で
は、ステップ#3がトークンを蓄積しているので、新た
に登録するトークンが有するポインタは、ステップ#3
が蓄積する最初のトークンを指示するように変更され
る。
【0031】制御部40は最後に、新たなトークンを登
録したステップ#2について、収容トークン数パラメー
タの値を1インクリメントする(d)。以上の処理を行
なうことにより、ステップ#2に新たなトークンが蓄積
され、各トークンの順序が新たに定義される。
【0032】2.送出(プッシュ)動作 それぞれの等級別連鎖待ち行列の先頭ステップであるス
テップ#0の先頭に位置するトークンは、競合制御部3
0での競合制御に参加する。競合制御部30での競合に
勝ったトークンは、等級別連鎖待ち行列から送出(プッ
シュ)される。このプッシュされたトークンに対応する
セルが、セル送出管理装置100から送出される。
【0033】以下、等級別連鎖待ち行列21内のステッ
プ#0の先頭に蓄積されているトークンが競合に勝ち、
等級別連鎖待ち行列21からプッシュされる場合の制御
について、図3を用いて説明する。
【0034】制御部40は、まず、先頭ステップである
ステップ#0に保持されている、ステップ#0の最初の
トークンを指示するポインタ値を、その最初のトークン
の次のトークンを指示するポインタ値に書き換える
(a)。次いで制御部40は、ステップ#0について、
収容トークン数パラメータの値を1デクリメントする
(b)。以上の処理により、ステップ#0からトークン
が1プッシュされる。
【0035】3.更新(シフト)動作 それぞれの等級別連鎖待ち行列は、所定の頻度で更新さ
れる。この更新の頻度は、その等級別連鎖待ち行列が扱
う重み、待ち行列内に連鎖されているステップの数など
に依存する。等級別連鎖待ち行列21について更新時刻
となった場合、制御部40が行なう制御について、図4
を用いて説明する。
【0036】制御部40はまず、先頭ステップであるス
テップ#0と、次のステップであるステップ#1とのマ
ージを行なう。
【0037】(a)ステップ#0の最初のトークンの指
示 ステップ#0にトークンが蓄積されていた場合、ステッ
プ#0に保持されている、ステップ#0の最初のトーク
ンを指示するポインタ値はそのまま(その最初のトーク
ンを指示するように)維持しておく。一方、ステップ#
0になんらのトークンも蓄積されていなかった場合、ス
テップ#0に保持されている、ステップ#0の最初のト
ークンを指示するポインタ値を、ステップ#1以降のス
テップであって、トークンを1以上蓄積しているステッ
プの最初のトークンを指示するように変更する。
【0038】図4に示す例では、ステップ#0にトーク
ンが蓄積されている。よって制御部40は、ステップ#
0の最初のトークンを指示するポインタ値を特に書き換
えることなく、ステップ#0に保持されている最初のト
ークンを指示するようにそのまま維持する。
【0039】(b)ステップ#0の最後尾のトークンの
指示 次に、ステップ#0に保持されている、ステップ#0の
最後尾のトークンを指示するポインタ値を、ステップ#
1以降のステップであって、トークンを1以上蓄積して
いるステップの最後尾のトークンを指示するように変更
する。
【0040】図4に示す例では、ステップ#1にトーク
ンが蓄積されている。よって制御部40は、ステップ#
0の最後尾のトークンを指示するポインタ値を、ステッ
プ#1に保持されている最後尾のトークンを指示するよ
うに変更する。
【0041】(c)先頭ステップの収容トークン数パラ
メーターの更新 制御部40は最後に、ステップ#0について、収容トー
クン数パラメータの値を更新する。すなわち、ステップ
#0の収容トークン数パラメーターの値に、ステップ#
1の収容トークン数パラメーターの値を加算し、これを
新たにステップ#0の収容トークン数パラメーターの値
とする。以上の処理によって、ステップ#1に蓄積され
ていたトークンが、以後はステップ#0に蓄積されてい
るものとして扱われるようになる。
【0042】制御部40はさらに、ステップ#2以降の
各ステップについて、一つ前のステップに移す処理を行
なう。すなわち、ステップ#2が保持する、ステップ#
2の先頭トークンへのポインタおよび最後尾トークンへ
のポインタ、そして収容トークン数パラメーターを、そ
れぞれステップ#1の各パラメーターに上書きする
(d)。同様にして、ステップ#3の保持する各パラメ
ーターを、それぞれステップ#2の各パラメーターに上
書きする(e)。さらに同様にして、ステップ#4の保
持する各パラメーターを、それぞれステップ#3の各パ
ラメーターに上書きする(f)。最後に、最後尾ステッ
プであるステップ#4が保持する収容トークン数パラメ
ーターを0にリセットする(g)。
【0043】以上の処理により、ステップ#0とステッ
プ#1とがマージされ、ステップ#2、ステップ#3お
よびステップ#4がそれぞれ一つ前のステップに移動
し、最後尾ステップであるステップ#4が空になる。
【0044】次に図5を用いて、複数の等級別連鎖待ち
行列の更新処理について説明する。たとえば、等級別連
鎖待ち行列20として、図5(a)に示したように7等
級に区分された等級別連鎖待ち行列51ないし57が設
けられているとする。この場合、図5に示すように、各
等級の扱う重みは、指数的に区分されている。等級別連
鎖待ち行列51ないし57の具体的な構成は、図1に示
した等級別連鎖待ち行列21と同様であるので、詳細に
ついては説明を省略する。
【0045】また、各連鎖待ち行列の更新頻度は、等級
0の待ち行列については毎回更新されるものとし、等級
1の待ち行列については2回に1回、等級2の待ち行列
については4回に1回・・・と、等級が1下がるにつれ
て、更新頻度が半分になる。すなわち、ある待ち行列の
更新頻度は、その待ち行列が扱う重みの指数値に比例す
る。
【0046】各待ち行列の更新頻度をこのように設定す
ると、各待ち行列の更新処理を多重化することができ
る。ここで図5(b)を参照しながら説明すれば、等級
0の待ち行列の更新処理は、毎更新処理時に行なう。一
方で、等級1〜等級6までの待ち行列の更新処理は、時
分割的に多重化することができる。したがって、等級0
の待ち行列の更新処理と、それ以外の待ち行列の更新処
理と、2つの更新処理を並列に行なえば足り、設定され
ている等級の数だけ並列処理を行なう必要はない。
【0047】以上説明したように、この第1の実施形態
では、等級別連鎖待ち行列を実現する上で、トークンの
登録、プッシュ、シフトなど、シリアルに発生する処理
の負担が従来の方法と殆ど変わらず、現実的な制御方法
を提供することができる。
【0048】この実施形態によるシフト動作は、従来の
FIFOやタイムテーブル方式に比べて、見かけの並列
処理量は大きいが、更新頻度を指数的に設定しているた
め、実際の並列処理数は2程度と、現実的なレベルの処
理量に抑えられる。
【0049】次に、この発明の第2の実施形態について
説明する。第1の実施形態では、等級別連鎖待ち行列の
各ステップが保持する各種パラメーターを、各ステップ
対応で設けられたレジスタに格納していた。しかし第2
の実施形態では、各待ち行列の先頭ステップに関するパ
ラメーターはレジスタに格納し、以降の各ステップが保
持する各種パラメーターについて、半導体メモリなどの
記憶装置に格納する。
【0050】すなわち、第2の実施形態では、図2に示
すセル送出管理装置100の等級別連鎖待ち行列20、
および制御部40の構成が異なる。以下、その相違につ
いて説明する。
【0051】第2の実施形態でも、第1の実施形態と同
様、等級別連鎖待ち行列20は複数の等級別連鎖待ち行
列を有し、これらは、それぞれが複数のステップに区分
されている。ただし第2の実施形態では、各々の等級別
連鎖待ち行列の先頭ステップのみに、パラメーターを保
持するレジスタを設ける。そして、先頭ステップ以外の
ステップは、パラメーター保持用のレジスタを設けな
い、単にトークンを蓄積するFIFOメモリとして構成
する。
【0052】以下に、各ステップのパラメーターを蓄積
するための構成を、図6を用いて説明する。すなわち図
6は、各ステップについてのパラメーターを蓄積する構
成を記憶部60として表わした模式図である。この記憶
部60は、記憶装置61と、レジスタ62とから構成さ
れる。
【0053】記憶装置61は、たとえば半導体メモリで
構成される。記憶装置61は、セルがクラス分けされる
等級数、また各々の等級を構成するステップ数に応じ
て、マトリクス状に多数のステップ記憶領域が配置され
ている。
【0054】ただし、記憶装置61内に形成されるステ
ップ記憶領域は、セルがクラス分けされる等級数と、各
々の等級を構成するステップ数より1小さい数とで定義
される。たとえば、セルがクラス分けされる等級数が
7、各々の等級を構成するステップが9である場合、記
憶装置61内には、7*(9−1)=56のステップ記
憶領域が形成される。このように記憶装置61に形成さ
れた各ステップ記憶領域#1ないし#8は、それぞれ、
各等級別連鎖待ち行列の先頭ステップ以外のステップに
ついて、収容トークン数パラメーター、それぞれが蓄積
しているトークンの最初のもの、および最後尾のものを
特定するためのパラメーター(ポインタ値)を格納す
る。
【0055】一方、レジスタ62は、等級別連鎖待ち行
列の数と同数のレジスタを有する。これらのレジスタ
は、各等級別連鎖待ち行列の先頭ステップに関するパラ
メーターを格納する。
【0056】この状態を図示したのが図6である。まず
記憶装置61には、等級#0から等級#6までの7等
級、かつ、ステップ記憶領域#1からステップ記憶領域
#8までの8ステップ分のステップ記憶領域が形成され
ているのが理解されるであろう。そしてレジスタ62に
は、等級別連鎖待ち行列の数と同数の、レジスタ620
からレジスタ626が配置されているのが理解されるで
あろう。
【0057】この第2の実施形態では、制御部40は、
各ステップのパラメーターを更新する処理をシリアルに
行なう。以下、具体的な処理について説明する。
【0058】制御部40は、内部時計としてタイムスロ
ットカウンタ(TSC:図示せず)を有する。TSC
は、システムが管理する現在時刻をカウントし、そのカ
ウント値を制御部40に与える。制御部40は、このT
SCから取得したカウント値から、ステップスライド係
数を算出する。ステップスライド係数は、時間の関数で
あり、制御部40は、ステップスライド係数に基づい
て、先頭ステップ以外のステップについてのパラメータ
ーを格納するステップ記憶領域を決定する。
【0059】すなわち第2の実施形態では、先頭以外の
各ステップと、ステップに関するパラメーターを格納す
るステップ記憶領域とは、固定的に対応しているのでは
なく、時間の関数によって定められる動的な対応関係に
ある。換言すれば、先頭以外の各ステップと、記憶装置
61内のステップ記憶領域とは、時間の関数によって動
的に、しかし1対1に対応付けられる。ここで、あるス
テップ記憶領域と、記憶部60上のアドレスとが1対1
に対応していれば、両者間の具体的な対応関係は問わな
い。
【0060】この結果、制御部40は、(たとえば)ス
テップ#3についてのパラメーターを参照しようとする
場合、ある時点ではステップ記憶領域#4を参照する
が、次の時点では同じステップ#3についてのパラメー
ターを参照するためにステップ記憶領域#5を参照する
ということになる。あるいは、同じステップ記憶領域#
4を、ある時点ではステップ#3についてのパラメータ
ーとして参照し、次の時点ではステップ#2についての
パラメーターとして参照するということになる。以下、
第2の実施形態でのトークンの登録、プッシュ、および
更新処理について、等級0を例にとって説明する。
【0061】1.登録(レジスト)動作 新たなトークンを、ある等級のあるステップに登録する
要求は、基本的にはシリアルに発生する。セル送出管理
装置100がセルを受信した場合、制御部40は、この
セル(に対応するトークン)を、いずれのステップに登
録すべきかを決定する。ここで、新たなトークンを先頭
ステップに登録すべきと判断した場合、制御部40は、
レジスタ620に、各種パラメーターを書き込む。
【0062】一方、新たなトークンを先頭ステップ以外
に登録すべきと判断した場合、制御部40は、TSCを
参照してカウント値を取得し、ステップスライド係数を
算出する。次いで制御部40は、ステップスライド係数
に基づいて、その時点における当該ステップのパラメー
ターを格納すべきステップ記憶領域を選定する。
【0063】ここで、トークンを登録する際の処理は、
第1の実施形態について述べたと同様であるので、詳細
は省略する。制御部40は、こうして当該ステップ(ト
ークンを登録するステップ)に対応するレジスタ620
あるいはステップ記憶領域にアクセスし、各種パラメー
ターを書き込む。
【0064】2.送出(プッシュ)動作 競合制御に勝ったトークンをプッシュする要求も、基本
的にはシリアルな事象として発生する。ただしトークン
のプッシュは、必ず先頭ステップから行われる。したが
ってトークンのプッシュ動作については、第1の実施形
態と同様にして、レジスタ620に保持されているパラ
メーターを書き換える。
【0065】3.更新(シフト)動作 この動作も、基本的な処理は第1の実施形態で説明した
と同様である。すなわち、各等級別連鎖待ち行列の更新
動作は、大別して、(1)先頭ステップと次ステップと
のマージ、(2)それ以降のステップを、各々一つ前に
移す、(3)最後尾ステップを空にするという3段階の
処理から構成される。
【0066】このうち、(1)先頭ステップと次ステッ
プとのマージは、次のように行なう。すなわち制御部4
0は、TSCの値を取得してステップスライド係数を算
出し、このステップスライド係数から、その時点での次
ステップのパラメーターを保持しているステップ記憶領
域を選定する。
【0067】ステップ#0にトークンが蓄積されていた
場合、制御部40は、レジスタ620に保持されてい
る、ステップ#0の最初のトークンを指示するポインタ
値はそのまま(その最初のトークンを指示するように)
維持しておく。
【0068】一方、ステップ#0になんらのトークンも
蓄積されていなかった場合、制御部40は、ステップス
ライド係数から選定された、ステップ#1のパラメータ
ーを保持しているステップ記憶領域にアクセスする。こ
のステップ記憶領域に格納されている収容トークン数パ
ラメーターから、ステップ#1にトークンが格納されて
いると判断された場合、制御部40は先頭ステップとス
テップ#1とのマージを行なう。すなわち制御部40
は、レジスタ620に保持されている、ステップ#0の
最初のトークンを指示するポインタ値を、このステップ
記憶領域に格納されている最初のトークンを指示するポ
インタ値で更新する。
【0069】もし、ステップ#1内にトークンが蓄積さ
れていないと判断された場合、制御部40は、ステップ
スライド係数からさらに次のステップ(この場合、ステ
ップ#2)のパラメーターを格納しているステップ記憶
領域を選定し、上記の動作を繰り返す。
【0070】以下、同様にして、レジスタ620に保持
されている、ステップ#0の最後尾のトークンを指示す
るポインタ値を、次ステップに対応するステップ記憶領
域から読み出した、そのステップの最後尾のトークンを
指示するパラメーターに更新する。これで、等級0待ち
行列の先頭ステップの、最後尾のトークンが指示された
ことになる。
【0071】制御部40はさらに、レジスタ620の収
容トークン数パラメーターの値を修正する。これで、先
頭ステップと次ステップとのマージが行われたことにな
る。
【0072】制御部40はさらに、(2)以降の各ステ
ップについて、一つ前のステップに移す処理を行なう。
この処理は、第1の実施形態のように各ステップ対応で
レジスタが設けられている構成では、個々のレジスタの
内容を読み出し、前のステップに対応するレジスタの値
を更新していく処理が必要であった。しかし第2の実施
形態では、実際には何らの処理も行なわない。
【0073】制御部40は最後に、(3)最後尾ステッ
プを空にする処理を行なう。すなわち制御部40は、ス
テップスライド係数から最後尾のステップのパラメータ
ーを格納しているステップ記憶領域を選定し、この記憶
領域に保持されている収容トークン数パラメーターを0
にリセットする。
【0074】以上の処理により、先頭ステップと次ステ
ップとがマージされ、それ以降のステップがそれぞれ一
つ前のステップに移動し、最後尾ステップが空になる。
【0075】ここで、上記(2)の”それ以降のステッ
プを、各々一つ前に移す”処理については、実際には何
らの処理も行なわなかった。しかし、一つの等級別連鎖
待ち行列についての更新動作が終了し、次の更新動作を
行なう場合、制御部40は、再度ステップスライド係数
を算出し、該当するステップ記憶領域を選定する。この
時、時間の関数であるステップスライド係数により、前
回の更新動作時と今回の更新動作時とでは、参照するス
テップ記憶領域が変化している。
【0076】この結果、たとえば前回の更新動作時に、
ステップ#3についてのパラメーターをステップ#2に
移す動作をしたとすれば、実際にパラメーターが格納さ
れているステップ記憶領域は同一でも、制御部40から
みた場合、前回にはステップ#3のパラメーターを参照
するためにアクセスしていたステップ記憶領域#4を、
今回はステップ#2のパラメーターを参照するためにア
クセスする。したがって、記憶装置61内の書き換えを
行なわなくとも、ステップのパラメーターが更新された
と同様の結果が得られる。
【0077】以上説明したように、この第2の実施形態
では、特にステップの更新動作の際、現実にメモリアク
セスを行なう処理を低減することができる。この結果、
処理量を増やすことなく、それぞれの連鎖待ち行列のス
テップ数を大きくすることができる。ステップ数を大き
くすることは、セル重み付けの精度をより細かくするこ
とになる。
【0078】なお、上記の説明では、各等級別連鎖待ち
行列の先頭ステップに関する情報を記憶するための構成
としてレジスタを用いた例について説明した。しかし、
先頭ステップについても、他の(それ以降の)ステップ
と同様に、記憶装置61内に形成されたステップ記憶領
域に情報を格納しても良い。
【0079】さらに、記憶装置61に形成されているス
テップ記憶領域の数は、各々の等級を構成するステップ
数よりも多く設けても良い。たとえば各々の連鎖待ち行
列が9ステップに区分されている場合、記憶装置61に
は9よりも多い10ステップ分のステップ記憶領域を設
けても良い。このような場合でも、待ち行列の各ステッ
プとステップ記憶領域とが、ステップスライド係数によ
って1対1に対応されるようになっていればよい。
【0080】
【発明の効果】以上説明したように、この発明のセル送
出管理方法により、並列に行なう処理量をほとんど増大
させずに、より実際的なセル送出管理方法が実現され
る。また、処理量を増やすことなく、セル重み付けの精
度をより細かくすることになる。
【図面の簡単な説明】
【図1】第1の実施形態による等級別連鎖待ち行列への
トークンの登録処理を示す図である。
【図2】この発明のセル送出管理装置のブロック図であ
る。
【図3】第1の実施形態による、等級別連鎖待ち行列へ
のトークンのプッシュ処理を示す図である。
【図4】第1の実施形態による、等級別連鎖待ち行列の
更新処理を示す図である。
【図5】第1の実施形態による、複数の等級別連鎖待ち
行列の更新処理について説明する図である。
【図6】第2の実施形態による記憶部の構成を示す図で
ある。
【符号の説明】
10・・・・セル振分部 20、21、22、23・・・・等級別連鎖待ち行列 30・・・・競合制御部 40・・・・制御部 51〜57・・・・等級別連鎖待ち行列 60・・・・記憶部 100・・・セル送出管理装置

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 全伝送帯域を等比的に区切って複数の帯
    域を定義し、これら定義された各帯域毎に、複数のステ
    ップに区分された連鎖待ち行列を対応させるとともに、 コネクションを、当該コネクションの帯域に応じて、そ
    の帯域に対応付けられた前記連鎖待ち行列に登録して管
    理するセル送出管理方法であって、 個々のセルを前記連鎖待ち行列のいずれかに登録する際
    に、 当該連鎖待ち行列のいずれのステップに前記セルを登録
    するかを決定する処理と、 前記登録するセルの前順位に蓄積されているセルのポイ
    ンタ、前記登録するセルのポインタ、および前記登録す
    るセルの後順位に蓄積されているセル各々のポインタを
    更新する処理と、 前記登録するセルが蓄積されるステップの収容セル数を
    更新する処理とを行なうことを特徴とするセル送出管理
    方法。
  2. 【請求項2】 全伝送帯域を等比的に区切って複数の帯
    域を定義し、これら定義された各帯域毎に、複数のステ
    ップに区分された連鎖待ち行列を対応させるとともに、 コネクションを、当該コネクションの帯域に応じて、そ
    の帯域に対応付けられた前記連鎖待ち行列に登録して管
    理するセル送出管理方法であって、 前記連鎖待ち行列の先頭ステップに蓄積されている先頭
    のセルについてプッシュ要求が発生した場合に、 前記先頭ステップについて、前記プッシュ要求の発生し
    た前記先頭セルの次に蓄積されているセルを、新たに先
    頭セルとして指示する処理と、 前記先頭ステップについて、前記プッシュ要求の発生し
    た前記先頭セルをプッシュする処理と、 前記先頭ステップの収容セル数を更新する処理とを行な
    うことを特徴とするセル送出管理方法。
  3. 【請求項3】 全伝送帯域を等比的に区切って複数の帯
    域を定義し、これら定義された各帯域毎に、複数のステ
    ップに区分された連鎖待ち行列を対応させるとともに、 コネクションを、当該コネクションの帯域に応じて、そ
    の帯域に対応付けられた前記連鎖待ち行列に登録して管
    理するセル送出管理方法であって、 前記連鎖待ち行列の更新処理を行なう場合に、 前記連鎖待ち行列の先頭ステップと、次ステップとをマ
    ージする処理と、 以降のステップについて、それぞれを1ステップずつシ
    フトする処理と、 さらに、最後尾のステップを空にする処理とを行なうこ
    とを特徴とするセル送出管理方法。
  4. 【請求項4】 請求項3に記載のセル送出管理方法であ
    って、 前記マージ処理では、前記先頭ステップの最後尾のセル
    を指示するポインタを、前記次ステップの最後尾のセル
    を指示するポインタに変更する処理を行ない、 前記シフト処理では、前記シフト処理の対象となる各ス
    テップに関するパラメーターを、それぞれ前ステップに
    関するパラメーターとして更新する処理を行ない、 前記空にする処理では、前記最後尾のステップの収容セ
    ル数をリセットする処理を行なうことを特徴とするセル
    送出管理方法。
  5. 【請求項5】 全伝送帯域を等比的に区切って定義され
    た複数の帯域の各々に対応付けられた、各々が複数のス
    テップに区分された複数の連鎖待ち行列を有し、 コネクションを、当該コネクションの帯域に応じて、そ
    の帯域に対応付けられた前記複数の連鎖待ち行列のいず
    れかに登録して管理するセル送出管理装置であって、 前記連鎖待ち行列の各々のステップは、そのステップに
    蓄積されているセル数を格納する記憶部と、そのステッ
    プに蓄積されている先頭セルおよび最後尾セルを指示す
    るポインタを格納する記憶部とを有し、 前記セル送出管理装置は、個々のセルを前記連鎖待ち行
    列のいずれかに登録する際に、前記登録するセルの前順
    位に蓄積されているセルのポインタ、前記登録するセル
    のポインタ、および前記登録するセルの後順位に蓄積さ
    れているセルのポインタを更新する手段と、 前記登録するセルが蓄積されるステップの収容セル数を
    更新する手段とを有することを特徴とするセル送出管理
    装置。
  6. 【請求項6】 全伝送帯域を等比的に区切って定義され
    た複数の帯域の各々に対応付けられた、各々が複数のス
    テップに区分された複数の連鎖待ち行列を有し、 コネクションを、当該コネクションの帯域に応じて、そ
    の帯域に対応付けられた前記複数の連鎖待ち行列のいず
    れかに登録して管理するセル送出管理装置であって、 前記連鎖待ち行列の各々のステップは、そのステップに
    蓄積されているセル数を格納する記憶部と、そのステッ
    プに蓄積されている先頭セルおよび最後尾セルを指示す
    るポインタを格納する記憶部とを有し、 前記セル送出管理装置は、前記複数の連鎖待ち行列の先
    頭ステップについてセルのプッシュ動作を行なう際に、 前記先頭ステップについて、前記プッシュ要求の発生し
    た前記先頭セルの次に蓄積されているセルを、新たに先
    頭セルとして指示する手段と、 前記先頭ステップについて、前記プッシュ要求の発生し
    た前記先頭セルをプッシュする手段と、 前記先頭ステップの収容セル数を更新する手段とを有す
    ることを特徴とするセル送出管理装置。
  7. 【請求項7】 全伝送帯域を等比的に区切って定義され
    た複数の帯域の各々に対応付けられた、各々が複数のス
    テップに区分された複数の連鎖待ち行列を有し、 コネクションを、当該コネクションの帯域に応じて、そ
    の帯域に対応付けられた前記複数の連鎖待ち行列のいず
    れかに登録して管理するセル送出管理装置であって、 前記連鎖待ち行列の各々のステップは、そのステップに
    蓄積されているセル数を格納する記憶部と、そのステッ
    プに蓄積されている先頭セルおよび最後尾セルを指示す
    るポインタを格納する記憶部とを有し、 前記セル送出管理装置は、前記連鎖待ち行列の更新処理
    を行なう場合に、 前記先頭ステップの最後尾のセルを指示するポインタ
    を、前記次ステップの最後尾のセルを指示するポインタ
    に変更するマージ手段と、 以降のステップについて、前記シフト処理の対象となる
    各ステップに関するパラメーターを、それぞれ前ステッ
    プに関するパラメーターとして更新するシフト手段と、 前記最後尾のステップの収容セル数をリセットするリセ
    ット手段とを有することを特徴とするセル送出管理装
    置。
  8. 【請求項8】 全伝送帯域を等比的に区切って定義され
    た複数の帯域の各々に対応付けられた、各々が複数のス
    テップに区分された複数の連鎖待ち行列を有し、 コネクションを、当該コネクションの帯域に応じて、そ
    の帯域に対応付けられた前記複数の連鎖待ち行列のいず
    れかに登録して管理するセル送出管理装置であって、 前記複数の連鎖待ち行列の各々のステップに対応して、
    各々のステップに蓄積されているセル数、各々のステッ
    プに蓄積されている先頭セルおよび最後尾セルを指示す
    るポインタを格納する記憶部とを有し、 前記記憶部は、前記複数の連鎖待ち行列の各々のステッ
    プに対応して、マトリクス状に区分された複数の記憶領
    域を有することを特徴とするセル送出管理装置。
  9. 【請求項9】 請求項8に記載のセル送出管理装置であ
    って、 前記記憶部は、前記複数の連鎖待ち行列の各々の先頭ス
    テップに対応して、それらの先頭ステップに蓄積されて
    いるセル数、各々のステップに蓄積されている先頭セル
    および最後尾セルを指示するポインタを格納する複数の
    レジスタと、 前記複数の連鎖待ち行列の各々の先頭ステップ以外のス
    テップに対応して、それらの先頭ステップに蓄積されて
    いるセル数、各々のステップに蓄積されている先頭セル
    および最後尾セルを指示するポインタを格納する記憶装
    置とを有し、 前記記憶装置は、前記複数の連鎖待ち行列の各々の先頭
    ステップ以外のステップに対応して、マトリクス状に区
    分された複数の記憶領域を有することを特徴とするセル
    送出管理装置。
  10. 【請求項10】 請求項9に記載のセル送出管理装置で
    あって、 前記複数の連鎖待ち行列の各々の先頭ステップ以外のス
    テップと、前記記憶装置内の複数の記憶領域とは、前記
    複数の連鎖待ち行列の更新タイミングをカウントするこ
    とによって得られる値から求まる関係に従い、1対1に
    対応することを特徴とするセル送出管理装置。
JP14165299A 1999-05-21 1999-05-21 セル送出管理装置 Expired - Fee Related JP3673114B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14165299A JP3673114B2 (ja) 1999-05-21 1999-05-21 セル送出管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14165299A JP3673114B2 (ja) 1999-05-21 1999-05-21 セル送出管理装置

Publications (2)

Publication Number Publication Date
JP2000332762A true JP2000332762A (ja) 2000-11-30
JP3673114B2 JP3673114B2 (ja) 2005-07-20

Family

ID=15297036

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14165299A Expired - Fee Related JP3673114B2 (ja) 1999-05-21 1999-05-21 セル送出管理装置

Country Status (1)

Country Link
JP (1) JP3673114B2 (ja)

Also Published As

Publication number Publication date
JP3673114B2 (ja) 2005-07-20

Similar Documents

Publication Publication Date Title
JP2922119B2 (ja) 帯域規制装置及びパケット通信装置
US7492782B2 (en) Scalable crossbar matrix switching apparatus and distributed scheduling method thereof
US6359891B1 (en) Asynchronous transfer mode cell processing system with scoreboard scheduling
US7856011B2 (en) Reordering packets
US6661774B1 (en) System and method for traffic shaping packet-based signals
EP1126666B1 (en) Packet flow control apparatuses and methods for controlling the same
WO1997042737A1 (en) Asynchronous transfer mode cell processing system with multiple cell source multiplexing
JPH1188360A (ja) ショートセル多重装置
US5748630A (en) Asynchronous transfer mode cell processing system with load multiple instruction and memory write-back
US6728256B1 (en) Shared buffer control device
US20030056073A1 (en) Queue management method and system for a shared memory switch
JP2003527755A (ja) ディジタル通信プロセッサ
US6181678B1 (en) Binary-tree data element sorting device and ATM spacer comprising such a device
EP0843499A2 (en) Method and device for the management of resources in ATM technique for weighted fair queuing (WFQ) applications
US20080031262A1 (en) Load-balanced switch architecture for reducing cell delay time
JP3698079B2 (ja) データ転送方法、データ転送装置及びプログラム
JPH1023037A (ja) トラヒックシェーピング方式
JP2000041067A (ja) マルチプレクサ
US6807171B1 (en) Virtual path aggregation
JP3673114B2 (ja) セル送出管理装置
JP3942237B2 (ja) 転送レートコントローラおよび動作方法
JPH09238159A (ja) トラヒックシェーパ装置
GB2308959A (en) Data switching apparatus with fair queuing
US5794025A (en) Method and device for performing modulo-based arithmetic operations in an asynchronous transfer mode cell processing system
EP0974216B1 (en) Methods of regulating telecommunication traffic in an ATM network

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050317

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: 20050412

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050421

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees