JP3276341B2 - パケット転送装置及びパケット転送方法 - Google Patents
パケット転送装置及びパケット転送方法Info
- Publication number
- JP3276341B2 JP3276341B2 JP4496199A JP4496199A JP3276341B2 JP 3276341 B2 JP3276341 B2 JP 3276341B2 JP 4496199 A JP4496199 A JP 4496199A JP 4496199 A JP4496199 A JP 4496199A JP 3276341 B2 JP3276341 B2 JP 3276341B2
- Authority
- JP
- Japan
- Prior art keywords
- credit
- queue
- credits
- fixed
- distribution
- 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
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、アプリケーション
フローに対して品質保証を行う場合に、特に転送レート
観測周期内でパケット転送装置から転送するデータ量を
均一に分配し、同一の転送装置を利用する各エンドユー
ザーに転送データ量を公平に分配する方法に関するもの
である。
フローに対して品質保証を行う場合に、特に転送レート
観測周期内でパケット転送装置から転送するデータ量を
均一に分配し、同一の転送装置を利用する各エンドユー
ザーに転送データ量を公平に分配する方法に関するもの
である。
【0002】
【従来の技術】従来の平均転送レートを制御するATM
データ転送では、例えば、特願平10−227067号「パケッ
ト転送方法」に記載されているように、送信側の装置と
受信側の装置との間における転送レート観測周期の始期
が一致しなくても平均転送レートのマッチングを得るこ
とができた。しかし、クレジット生成分配部とキューが
一対一であるため、同時に転送を行う複数のアプリケー
ションフローに対して平均転送レートを制御する場合、
アプリケーションフロー毎にクレジットの生成及び消費
を行うこととなり、或るアプリケーションフローのパケ
ットがしばらく転送されなかった場合、他のアプリケー
ションフローでクレジットが不足していても、転送され
ないアプリケーションフローに分配されるクレジットは
廃棄されてしまい、転送装置全体としてのデータ転送量
が低下するという問題があった。
データ転送では、例えば、特願平10−227067号「パケッ
ト転送方法」に記載されているように、送信側の装置と
受信側の装置との間における転送レート観測周期の始期
が一致しなくても平均転送レートのマッチングを得るこ
とができた。しかし、クレジット生成分配部とキューが
一対一であるため、同時に転送を行う複数のアプリケー
ションフローに対して平均転送レートを制御する場合、
アプリケーションフロー毎にクレジットの生成及び消費
を行うこととなり、或るアプリケーションフローのパケ
ットがしばらく転送されなかった場合、他のアプリケー
ションフローでクレジットが不足していても、転送され
ないアプリケーションフローに分配されるクレジットは
廃棄されてしまい、転送装置全体としてのデータ転送量
が低下するという問題があった。
【0003】
【発明が解決しようとする課題】本発明の目的は、上述
のような問題点に鑑み、送信側の装置と受信側の装置と
の間において、転送レート観測周期の始期が一致しない
場合も平均転送レートのマッチングを得ながら、転送装
置全体のデータ転送量を最大に維持し、同時に通信を行
う複数のアプリケーションフロー間でデータ転送量を公
平に分配することができるパケット転送装置及びパケッ
ト転送方法を提供することにある。
のような問題点に鑑み、送信側の装置と受信側の装置と
の間において、転送レート観測周期の始期が一致しない
場合も平均転送レートのマッチングを得ながら、転送装
置全体のデータ転送量を最大に維持し、同時に通信を行
う複数のアプリケーションフロー間でデータ転送量を公
平に分配することができるパケット転送装置及びパケッ
ト転送方法を提供することにある。
【0004】
【課題を解決するための手段】本発明のパケット転送装
置は、上記の目的を達成するため、キューを複数設け、
各キュー毎にクレジット制御部を持ち、各クレジット制
御部においてクレジット値を加減算し、固定長データブ
ロック読出部がそのクレジット値を所定の閾値と比較
し、クレジット値が閾値以上の時のみパケットの転送を
開始し、転送を開始したパケットに対してはクレジット
値に関係なくそのパケットの最後の固定長データブロッ
クまで送信し、1固定長データブロック送信毎にクレジ
ット値を1減算し、クレジットが閾値未満の時はそのキ
ューからのパケットの送信は行わないようにする。
置は、上記の目的を達成するため、キューを複数設け、
各キュー毎にクレジット制御部を持ち、各クレジット制
御部においてクレジット値を加減算し、固定長データブ
ロック読出部がそのクレジット値を所定の閾値と比較
し、クレジット値が閾値以上の時のみパケットの転送を
開始し、転送を開始したパケットに対してはクレジット
値に関係なくそのパケットの最後の固定長データブロッ
クまで送信し、1固定長データブロック送信毎にクレジ
ット値を1減算し、クレジットが閾値未満の時はそのキ
ューからのパケットの送信は行わないようにする。
【0005】また、各キューに設けた最大クレジット数
の合計が、送信先パケット転送装置のバッファ量により
決定される最大クレジット総数を超過しないようにする
こともできる。これにより、パケット転送装置全体の平
均転送レートを一定に保つことが可能になる。
の合計が、送信先パケット転送装置のバッファ量により
決定される最大クレジット総数を超過しないようにする
こともできる。これにより、パケット転送装置全体の平
均転送レートを一定に保つことが可能になる。
【0006】また、キューに設定した平均転送レートの
合計値が、パケット転送装置全体の平均転送レート以下
になるように各キューに平均転送レートを設定し、クレ
ジットを分配する際に平均転送レートの割合に応じてク
レジットを分配することもできる。これにより、各キュ
ーに対して平均転送レートを確保することが可能にな
る。
合計値が、パケット転送装置全体の平均転送レート以下
になるように各キューに平均転送レートを設定し、クレ
ジットを分配する際に平均転送レートの割合に応じてク
レジットを分配することもできる。これにより、各キュ
ーに対して平均転送レートを確保することが可能にな
る。
【0007】また、クレジット分配時にクレジット制御
部で最大クレジット数を超過した分を余剰クレジットと
し、余剰クレジットを生じないキューに対して、設定さ
れた平均転送レートの割合に応じて分配することもでき
る。これにより、クレジットの廃棄を減少させ、固定長
データブロック送出に利用されるクレジットを増加させ
るため、パケット転送装置全体の実効的なデータ転送量
を増加させることが可能になる。従って、全体の平均転
送レートを保ち、実効的なデータ転送量を増加させつ
つ、各キューに対する平均転送レートを確保することが
できる。更に、クレジットの分配グループを定義し、キ
ューを複数のクレジット分配グループに分割し、余剰ク
レジットの分配を可能な限りグループ内で行うことによ
り、グループ毎に平均転送レートを確保することができ
る。
部で最大クレジット数を超過した分を余剰クレジットと
し、余剰クレジットを生じないキューに対して、設定さ
れた平均転送レートの割合に応じて分配することもでき
る。これにより、クレジットの廃棄を減少させ、固定長
データブロック送出に利用されるクレジットを増加させ
るため、パケット転送装置全体の実効的なデータ転送量
を増加させることが可能になる。従って、全体の平均転
送レートを保ち、実効的なデータ転送量を増加させつ
つ、各キューに対する平均転送レートを確保することが
できる。更に、クレジットの分配グループを定義し、キ
ューを複数のクレジット分配グループに分割し、余剰ク
レジットの分配を可能な限りグループ内で行うことによ
り、グループ毎に平均転送レートを確保することができ
る。
【0008】更に、優先及び非優先の2クラスのクレジ
ットを定義し、それぞれのクレジットを個別に分配する
こともできる。これにより、CLP=0で転送する際の
平均レートとCLP=1で転送する際の平均レートとを
それぞれ確保することができる。従って、転送先のパケ
ット転送装置で輻輳によるパケット廃棄が生じる場合、
廃棄されてもよいパケットと比較的廃棄されてはいけな
いパケットとに区別して転送することができる。
ットを定義し、それぞれのクレジットを個別に分配する
こともできる。これにより、CLP=0で転送する際の
平均レートとCLP=1で転送する際の平均レートとを
それぞれ確保することができる。従って、転送先のパケ
ット転送装置で輻輳によるパケット廃棄が生じる場合、
廃棄されてもよいパケットと比較的廃棄されてはいけな
いパケットとに区別して転送することができる。
【0009】
【発明の実施の形態】次に本発明の実施例を説明する。
【0010】先ず、実施例1としてクレジットの分配に
ついての具体例を説明する。図1は本発明のパケット転
送装置の実施例の構成を示す図であり、パケット転送装
置1は、入力IF部2、フロー識別部3、キュー41〜4
7、クレジット生成分配部5、クレジット制御部61〜6
7、固定長データブロック読出部7、出力IF部8を具
える。入力IF部2は、外部のパケット転送装置からか
ら転送されてくるパケットを受信しキュー41〜47へ送信
する。フロー識別部3は、入力IF部2からパケットを
受信し所定の条件に従って受取ったパケットを入力する
キューを決定する。キュー41〜47は、フロー識別部から
受信したパケットを固定長データブロック読出部7によ
り読出されるまで保持する。クレジット生成分配部5
は、分配周期毎に所定のクレジットを生成しそのクレジ
ットを所定の割合に従って各クレジット制御部に分配す
る。クレジット制御部61〜67は、各キューに対応してク
レジット数の加減算を行う。固定長データブロック読出
部7は、所定の条件に従って読出すキューを選択し読出
したパケットを所定のレートで1データブロックずつ出
力IF部8に送信する。出力IF部8は、固定長データ
ブロック読出部7から受信したデータブロックを外部の
パケット転送装置に対して転送する。
ついての具体例を説明する。図1は本発明のパケット転
送装置の実施例の構成を示す図であり、パケット転送装
置1は、入力IF部2、フロー識別部3、キュー41〜4
7、クレジット生成分配部5、クレジット制御部61〜6
7、固定長データブロック読出部7、出力IF部8を具
える。入力IF部2は、外部のパケット転送装置からか
ら転送されてくるパケットを受信しキュー41〜47へ送信
する。フロー識別部3は、入力IF部2からパケットを
受信し所定の条件に従って受取ったパケットを入力する
キューを決定する。キュー41〜47は、フロー識別部から
受信したパケットを固定長データブロック読出部7によ
り読出されるまで保持する。クレジット生成分配部5
は、分配周期毎に所定のクレジットを生成しそのクレジ
ットを所定の割合に従って各クレジット制御部に分配す
る。クレジット制御部61〜67は、各キューに対応してク
レジット数の加減算を行う。固定長データブロック読出
部7は、所定の条件に従って読出すキューを選択し読出
したパケットを所定のレートで1データブロックずつ出
力IF部8に送信する。出力IF部8は、固定長データ
ブロック読出部7から受信したデータブロックを外部の
パケット転送装置に対して転送する。
【0011】図2は、2階層のクレジット分配部及び分
配グループで構成されるクレジット生成分配部5とクレ
ジット制御部61〜67との関係を示す図である。図2に示
すように、分配グループ91〜93を定義し、クレジット制
御部61〜63を分配グループ91に、クレジット制御部64〜
66を分配グループ92に、クレジット制御部67を分配グル
ープ93に、それぞれ設定する。クレジット生成分配部5
は、クレジット生成部51、第1階層クレジット分配部52
及び第2階層クレジット分配部531 〜533 を具える。第
2階層クレジット分配部531 〜533 は、それぞれ、分配
グループ91〜93に対応し、それぞれ、クレジット制御部
61〜63、64〜66及び67にクレジット分配を行う。
配グループで構成されるクレジット生成分配部5とクレ
ジット制御部61〜67との関係を示す図である。図2に示
すように、分配グループ91〜93を定義し、クレジット制
御部61〜63を分配グループ91に、クレジット制御部64〜
66を分配グループ92に、クレジット制御部67を分配グル
ープ93に、それぞれ設定する。クレジット生成分配部5
は、クレジット生成部51、第1階層クレジット分配部52
及び第2階層クレジット分配部531 〜533 を具える。第
2階層クレジット分配部531 〜533 は、それぞれ、分配
グループ91〜93に対応し、それぞれ、クレジット制御部
61〜63、64〜66及び67にクレジット分配を行う。
【0012】ここで、パケット転送装置の平均転送レー
トをV1(ブロック/秒)、分配グループ91〜93の平均転
送レートをV11〜V13(ブロック/秒)、キュー41〜43
の平均転送レートをV111 〜V113(ブロック/秒)、キ
ュー44〜46の平均転送レートをV121 〜V123(ブロック
/秒)、キュー47の平均転送レートをV131(ブロック/
秒)とする。また、各クレジット制御部61〜67に設定さ
れる最大クレジット数をTC61〜TC67(個)、転送先の装
置のバッファ容量によって決定される最大クレジット総
数をTC(個)とし、TC≧TC61+…+TC67を満たす値に設
定する。
トをV1(ブロック/秒)、分配グループ91〜93の平均転
送レートをV11〜V13(ブロック/秒)、キュー41〜43
の平均転送レートをV111 〜V113(ブロック/秒)、キ
ュー44〜46の平均転送レートをV121 〜V123(ブロック
/秒)、キュー47の平均転送レートをV131(ブロック/
秒)とする。また、各クレジット制御部61〜67に設定さ
れる最大クレジット数をTC61〜TC67(個)、転送先の装
置のバッファ容量によって決定される最大クレジット総
数をTC(個)とし、TC≧TC61+…+TC67を満たす値に設
定する。
【0013】クレジットの分配周期をT(秒)とする
と、1クレジット分配周期に生成するクレジット数CC
は、CC=V1 ×T(クレジット)となる。また、各分配
グループに分配されるクレジット数は、各分配グループ
に設定された平均転送レートの割合に応じて決定され
る。具体的には、 分配グループ91への分配クレジットDC11=CC×V11/
(V11+V11+V13) 分配グループ92への分配クレジットDC12=CC×V12/
(V11+V11+V13) 分配グループ93への分配クレジットDC13=CC×V13/
(V11+V11+V13) のようになる。他の分配グループについても同様であ
る。
と、1クレジット分配周期に生成するクレジット数CC
は、CC=V1 ×T(クレジット)となる。また、各分配
グループに分配されるクレジット数は、各分配グループ
に設定された平均転送レートの割合に応じて決定され
る。具体的には、 分配グループ91への分配クレジットDC11=CC×V11/
(V11+V11+V13) 分配グループ92への分配クレジットDC12=CC×V12/
(V11+V11+V13) 分配グループ93への分配クレジットDC13=CC×V13/
(V11+V11+V13) のようになる。他の分配グループについても同様であ
る。
【0014】各クレジット制御部に分配されるクレジッ
ト数は、各クレジット制御部に設定された平均転送レー
トの割合に応じて決定する。具体的には、 分配グループ91について クレジット制御部61への分配クレジットDC111 =DC11×
V111 /(V111 +V112 +V113 ) クレジット制御部62への分配クレジットDC112 =DC11×
V112 /(V111 +V112 +V113 ) クレジット制御部63への分配クレジットDC113 =DC11×
V113 /(V111 +V112 +V113 ) 分配グループ92について クレジット制御部64への分配クレジットDC121 =DC12×
V121 /(V121 +V122 +V123 ) クレジット制御部65への分配クレジットDC122 =DC12×
V122 /(V121 +V122 +V123 ) クレジット制御部66への分配クレジットDC123 =DC12×
V123 /(V121 +V122 +V123 ) 分配グループ93について クレジット制御部67への分配クレジットDC131 =DC13×
V131 /V131 =DC13のようになる。他の分配グループ
についても同様である。
ト数は、各クレジット制御部に設定された平均転送レー
トの割合に応じて決定する。具体的には、 分配グループ91について クレジット制御部61への分配クレジットDC111 =DC11×
V111 /(V111 +V112 +V113 ) クレジット制御部62への分配クレジットDC112 =DC11×
V112 /(V111 +V112 +V113 ) クレジット制御部63への分配クレジットDC113 =DC11×
V113 /(V111 +V112 +V113 ) 分配グループ92について クレジット制御部64への分配クレジットDC121 =DC12×
V121 /(V121 +V122 +V123 ) クレジット制御部65への分配クレジットDC122 =DC12×
V122 /(V121 +V122 +V123 ) クレジット制御部66への分配クレジットDC123 =DC12×
V123 /(V121 +V122 +V123 ) 分配グループ93について クレジット制御部67への分配クレジットDC131 =DC13×
V131 /V131 =DC13のようになる。他の分配グループ
についても同様である。
【0015】このように、平均転送レートの割合を基に
分配クレジット数を決定することにより、各キューに対
して予め設定された平均転送レートに応じた送信機会が
与えられる。
分配クレジット数を決定することにより、各キューに対
して予め設定された平均転送レートに応じた送信機会が
与えられる。
【0016】次に、実施例2としてグループ内余剰クレ
ジットの取扱いについての具体例を説明する。実施例1
に従って分配クレジット数を決定した後、各クレジット
制御部にクレジットを加算し、加算後に最大クレジット
数を超過する場合は超過分を余剰クレジットとして再分
配する。
ジットの取扱いについての具体例を説明する。実施例1
に従って分配クレジット数を決定した後、各クレジット
制御部にクレジットを加算し、加算後に最大クレジット
数を超過する場合は超過分を余剰クレジットとして再分
配する。
【0017】或る分配周期において、クレジット制御部
61〜63で分配前に保持しているクレジット数をBC61〜BC
63とする。保持クレジット数及び分配クレジット数と最
大クレジット数との関係が、 TC61<BC61+DC111 TC62≧BC62+DC112 TC63≧BC63+DC113 の場合、クレジット制御部61において余剰クレジットが
発生し、分配グループ91の各クレジット制御部61〜63へ
の分配クレジット数の合計と最大クレジット数の合計と
の関係が、 TC61+TC62+TC63≧BC61+BC62+BC63+DC11(=BC61+
BC62+BC63+DC111 +DC112 +DC113 ) である場合、発生した余剰クレジットは、分配グループ
91内に再分配される。
61〜63で分配前に保持しているクレジット数をBC61〜BC
63とする。保持クレジット数及び分配クレジット数と最
大クレジット数との関係が、 TC61<BC61+DC111 TC62≧BC62+DC112 TC63≧BC63+DC113 の場合、クレジット制御部61において余剰クレジットが
発生し、分配グループ91の各クレジット制御部61〜63へ
の分配クレジット数の合計と最大クレジット数の合計と
の関係が、 TC61+TC62+TC63≧BC61+BC62+BC63+DC11(=BC61+
BC62+BC63+DC111 +DC112 +DC113 ) である場合、発生した余剰クレジットは、分配グループ
91内に再分配される。
【0018】各クレジット制御部に分配されるクレジッ
ト数は、余剰クレジット分を含め、 クレジット制御部61にTC61−BC61 クレジット制御部62にDC112 +(BC61+DC111 −TC61)
×V112 /(V112 +V113 )(≦TC62−BC62)(DC11
2 は基本の分配クレジット、(BC61+DC111 −TC61)は
グループ内の余剰クレジット分である。) クレジット制御部63にDC113 +(BC61+DC111 −TC61)
×V113 /(V112 +V113 )(≦TC63−BC63)(DC11
3 は基本の分配クレジット、(BC61+DC111 −TC61)は
グループ内の余剰クレジット分である。)となる。
ト数は、余剰クレジット分を含め、 クレジット制御部61にTC61−BC61 クレジット制御部62にDC112 +(BC61+DC111 −TC61)
×V112 /(V112 +V113 )(≦TC62−BC62)(DC11
2 は基本の分配クレジット、(BC61+DC111 −TC61)は
グループ内の余剰クレジット分である。) クレジット制御部63にDC113 +(BC61+DC111 −TC61)
×V113 /(V112 +V113 )(≦TC63−BC63)(DC11
3 は基本の分配クレジット、(BC61+DC111 −TC61)は
グループ内の余剰クレジット分である。)となる。
【0019】このように、余剰クレジットをグループ内
で再分配することにより、パケット転送に利用されるク
レジット数の割合を向上させることが可能である。ま
た、再分配先がグループ内となるため、同一ポリシーを
持つグループ内のユーザー間でクレジットの有効利用を
図ることが可能となる。
で再分配することにより、パケット転送に利用されるク
レジット数の割合を向上させることが可能である。ま
た、再分配先がグループ内となるため、同一ポリシーを
持つグループ内のユーザー間でクレジットの有効利用を
図ることが可能となる。
【0020】次に、実施例3としてグループ間余剰クレ
ジットの取扱いについての具体例を説明する。実施例1
に従って分配クレジット数を決定した後、各クレジット
制御部にクレジットを加算し、加算後に最大クレジット
数を超過する場合は超過分を余剰クレジットとして再分
配する。
ジットの取扱いについての具体例を説明する。実施例1
に従って分配クレジット数を決定した後、各クレジット
制御部にクレジットを加算し、加算後に最大クレジット
数を超過する場合は超過分を余剰クレジットとして再分
配する。
【0021】或る分配周期において、クレジット制御部
61〜67で分配前に保持しているクレジット数をBC61〜BC
67とする。分配グループ91〜93の各クレジット制御部へ
の分配クレジット数の合計と最大クレジット数の合計と
の関係が、 TC61+TC62+TC63<BC61+BC62+BC63+DC11(=BC61+
BC62+BC63+DC111 +DC112 +DC113 ) TC64+TC65+TC66≧BC64+BC65+BC66+DC12(=BC64+
BC65+BC66+DC121 +DC122 +DC123 ) TC67≧BC67+DC13(=BC67++DC131 ) の場合、分配グループ91において余剰クレジットが発生
し、発生した余剰クレジットは他の分配グループ92、93
に再分配される。
61〜67で分配前に保持しているクレジット数をBC61〜BC
67とする。分配グループ91〜93の各クレジット制御部へ
の分配クレジット数の合計と最大クレジット数の合計と
の関係が、 TC61+TC62+TC63<BC61+BC62+BC63+DC11(=BC61+
BC62+BC63+DC111 +DC112 +DC113 ) TC64+TC65+TC66≧BC64+BC65+BC66+DC12(=BC64+
BC65+BC66+DC121 +DC122 +DC123 ) TC67≧BC67+DC13(=BC67++DC131 ) の場合、分配グループ91において余剰クレジットが発生
し、発生した余剰クレジットは他の分配グループ92、93
に再分配される。
【0022】分配グループ92、93に再分配される余剰ク
レジット数は、それぞれ、 分配グループ92に (BC61+BC62+BC63+DC11−(TC61+TC62+TC63))×V
12/(V12+V13) 分配グループ93に (BC61+BC62+BC63+DC11−(TC61+TC62+TC63))×V
13/(V12+V13) となる。
レジット数は、それぞれ、 分配グループ92に (BC61+BC62+BC63+DC11−(TC61+TC62+TC63))×V
12/(V12+V13) 分配グループ93に (BC61+BC62+BC63+DC11−(TC61+TC62+TC63))×V
13/(V12+V13) となる。
【0023】また、分配グループ92の各クレジット制御
部64〜66の保持クレジット及び分配クレジット数と最大
クレジット数との関係が、 TC64<BC64+DC121 TC65≧BC65+DC122 TC66≧BC66+DC123 の場合、クレジット制御部64〜66に分配されるクレジッ
ト数は、余剰クレジット分を含めて、以下のようにな
る。 クレジット制御部64に TC64−BC64 クレジット制御部65に DC122 +((BC64+DC121 −TC64)+((BC61+BC62+BC63
+DC11−(TC61+TC62+TC63))×V12/(V12+V1
3))) ×V122 /(V122 +V123)(DC122 は基本の分
配クレジット、(BC64 +DC121 −TC64)はグループ内余
剰クレジット、(BC61 +BC62+BC63+DC11−(TC61+TC
62+TC63))はグループ外の余剰クレジットである。) クレジット制御部66に DC123 +((BC64+DC121 −TC64)+((BC61+BC62+BC63
+DC11−(TC61+TC62+TC63))×V12/(V12+V1
3))) ×V123 /(V122 +V123)(DC123 は基本の分
配クレジット、(BC64 +DC121 −TC64)はグループ内余
剰クレジット、(BC61 +BC62+BC63+DC11−(TC61+TC
62+TC63))はグループ外の余剰クレジットである。)
部64〜66の保持クレジット及び分配クレジット数と最大
クレジット数との関係が、 TC64<BC64+DC121 TC65≧BC65+DC122 TC66≧BC66+DC123 の場合、クレジット制御部64〜66に分配されるクレジッ
ト数は、余剰クレジット分を含めて、以下のようにな
る。 クレジット制御部64に TC64−BC64 クレジット制御部65に DC122 +((BC64+DC121 −TC64)+((BC61+BC62+BC63
+DC11−(TC61+TC62+TC63))×V12/(V12+V1
3))) ×V122 /(V122 +V123)(DC122 は基本の分
配クレジット、(BC64 +DC121 −TC64)はグループ内余
剰クレジット、(BC61 +BC62+BC63+DC11−(TC61+TC
62+TC63))はグループ外の余剰クレジットである。) クレジット制御部66に DC123 +((BC64+DC121 −TC64)+((BC61+BC62+BC63
+DC11−(TC61+TC62+TC63))×V12/(V12+V1
3))) ×V123 /(V122 +V123)(DC123 は基本の分
配クレジット、(BC64 +DC121 −TC64)はグループ内余
剰クレジット、(BC61 +BC62+BC63+DC11−(TC61+TC
62+TC63))はグループ外の余剰クレジットである。)
【0024】但し、各クレジット制御部に対して上記で
決定された余剰クレジットを含むクレジット分配数を加
算することにより最大クレジット数を超過する場合は、
最大クレジット数まで加算し、超過したクレジットは廃
棄する。
決定された余剰クレジットを含むクレジット分配数を加
算することにより最大クレジット数を超過する場合は、
最大クレジット数まで加算し、超過したクレジットは廃
棄する。
【0025】このように、グループ内で再分配して更に
余剰となるクレジットを別のグループに対して再分配す
ることにより、グループ内のユーザー間でクレジットの
有効利用を図りつつ、パケット転送に利用されるクレジ
ット数の割合を向上させることが可能である。
余剰となるクレジットを別のグループに対して再分配す
ることにより、グループ内のユーザー間でクレジットの
有効利用を図りつつ、パケット転送に利用されるクレジ
ット数の割合を向上させることが可能である。
【0026】次に、実施例4として余剰クレジットの廃
棄についての具体例を説明する。実施例3に従って余剰
クレジットの分配数を決定し、全てのグループにおいて
余剰クレジットが発生した場合は余剰分を廃棄する。
棄についての具体例を説明する。実施例3に従って余剰
クレジットの分配数を決定し、全てのグループにおいて
余剰クレジットが発生した場合は余剰分を廃棄する。
【0027】或る分配周期において、クレジット制御部
61〜67で分配前に保持しているクレジット数をBC61〜BC
67とする。分配グループ91〜93の各クレジット制御部へ
の分配クレジット数の合計と最大クレジット数の合計と
の関係が、 TC61+TC62+TC63<BC61+BC62+BC63+DC11(=BC61+
BC62+BC63+DC111 +DC112 +DC113 ) TC64+TC65+TC66<BC64+BC65+BC66+DC12(=BC64+
BC65+BC66+DC121 +DC122 +DC123 ) TC67<BC67+DC13(=BC67++DC131 ) の場合、全ての分配グループにおいて余剰クレジットが
発生するため、発生した余剰クレジットを受取る第1階
層クレジット分配部で全て廃棄する。
61〜67で分配前に保持しているクレジット数をBC61〜BC
67とする。分配グループ91〜93の各クレジット制御部へ
の分配クレジット数の合計と最大クレジット数の合計と
の関係が、 TC61+TC62+TC63<BC61+BC62+BC63+DC11(=BC61+
BC62+BC63+DC111 +DC112 +DC113 ) TC64+TC65+TC66<BC64+BC65+BC66+DC12(=BC64+
BC65+BC66+DC121 +DC122 +DC123 ) TC67<BC67+DC13(=BC67++DC131 ) の場合、全ての分配グループにおいて余剰クレジットが
発生するため、発生した余剰クレジットを受取る第1階
層クレジット分配部で全て廃棄する。
【0028】次に、実施例5として固定長データブロッ
クスケジューラについての具体例を説明する。図1のパ
ケット転送装置1の固定長データブロック読出部7につ
いて、図3及び4を参照して説明する。この実施例で
は、固定長データブロック読出部7は、予め定められた
固定長データブロックの読出しタイミングに従ってキュ
ーから固定長データブロックを取出し、出力IF部8に
渡す。但し、指定したキューに固定長データブロックが
存在しない場合は、そのキューを飛ばし、次の順番のキ
ューから1固定長データブロック読出す。読出す固定長
データブロックが存在しない場合は空の固定長データブ
ロックを送出する。
クスケジューラについての具体例を説明する。図1のパ
ケット転送装置1の固定長データブロック読出部7につ
いて、図3及び4を参照して説明する。この実施例で
は、固定長データブロック読出部7は、予め定められた
固定長データブロックの読出しタイミングに従ってキュ
ーから固定長データブロックを取出し、出力IF部8に
渡す。但し、指定したキューに固定長データブロックが
存在しない場合は、そのキューを飛ばし、次の順番のキ
ューから1固定長データブロック読出す。読出す固定長
データブロックが存在しない場合は空の固定長データブ
ロックを送出する。
【0029】これを図4のフロー図により説明する。図
3のような読出しキューテーブルで指定された順番にキ
ューを選択し(ステップS1)、キューに固定長データ
ブロックが存在し且つクレジットが所定の閾値以上であ
るか否かを判定し(ステップS2,3)、判定が肯定の
場合は各キューから1固定長データブロック読出して送
出し(ステップS4)、ステップS1に戻る。指定した
キューに固定長データブロックが存在しない場合又はク
レジットが所定の閾値未満である場合は、当該読出し周
期に検索していないキューが存在するか否かを判定し
(ステップS5)、判定が肯定の場合はステップS1に
戻り、次の順番のキューから1固定長データブロック読
出す。検索していないキューが存在しない場合は(ステ
ップS5)、空固定長データブロックを送出して(ステ
ップS6)ステップS1に戻る。
3のような読出しキューテーブルで指定された順番にキ
ューを選択し(ステップS1)、キューに固定長データ
ブロックが存在し且つクレジットが所定の閾値以上であ
るか否かを判定し(ステップS2,3)、判定が肯定の
場合は各キューから1固定長データブロック読出して送
出し(ステップS4)、ステップS1に戻る。指定した
キューに固定長データブロックが存在しない場合又はク
レジットが所定の閾値未満である場合は、当該読出し周
期に検索していないキューが存在するか否かを判定し
(ステップS5)、判定が肯定の場合はステップS1に
戻り、次の順番のキューから1固定長データブロック読
出す。検索していないキューが存在しない場合は(ステ
ップS5)、空固定長データブロックを送出して(ステ
ップS6)ステップS1に戻る。
【0030】この実施例によれば、1固定長データブロ
ック毎に異なるキューから読出すことにより、読出され
るキューが偏らず、各キューに均等な読出し機会を与え
つつ、読出す固定長データブロックが存在しないキュー
を読み飛ばし、他のキューから固定長データブロックを
読出すので帯域使用率を向上させることができる。
ック毎に異なるキューから読出すことにより、読出され
るキューが偏らず、各キューに均等な読出し機会を与え
つつ、読出す固定長データブロックが存在しないキュー
を読み飛ばし、他のキューから固定長データブロックを
読出すので帯域使用率を向上させることができる。
【0031】次に、実施例6としてパケットスケジュー
ラについての具体例を説明する。図1のパケット転送装
置1の固定長データブロック読出部7について、図3及
び5を参照して説明する。実施例5と同様に、固定長デ
ータブロック読出部7は、予め定められた固定長データ
ブロックの読出しタイミングに従ってキューから固定長
データブロックを取出し、出力IF部8に渡す。この実
施例では、図3に示すような読出しキューテーブルで指
定された順番に、各キューから1固定長データブロック
ずつ1パケット分続けて読出す。但し、1パケット読出
した後、次に指定したキューにパケットの最終固定長デ
ータブロックが存在しない場合はそのキューを飛ばし、
次の順番のキューから1固定長データブロックずつ1パ
ケット分読出す。読出す固定長データブロックが全く存
在しない場合は空固定長データブロックを送出する。
ラについての具体例を説明する。図1のパケット転送装
置1の固定長データブロック読出部7について、図3及
び5を参照して説明する。実施例5と同様に、固定長デ
ータブロック読出部7は、予め定められた固定長データ
ブロックの読出しタイミングに従ってキューから固定長
データブロックを取出し、出力IF部8に渡す。この実
施例では、図3に示すような読出しキューテーブルで指
定された順番に、各キューから1固定長データブロック
ずつ1パケット分続けて読出す。但し、1パケット読出
した後、次に指定したキューにパケットの最終固定長デ
ータブロックが存在しない場合はそのキューを飛ばし、
次の順番のキューから1固定長データブロックずつ1パ
ケット分読出す。読出す固定長データブロックが全く存
在しない場合は空固定長データブロックを送出する。
【0032】これを図5のフロー図により説明する。図
3のような読出しキューテーブルで指定された順番にキ
ューを選択し、選択したキューから続けて固定長データ
ブロックを読出す。この場合、前回読出した固定長デー
タブロックがパケットの最終固定長データブロックであ
ったか否かを判定し(ステップS11)、パケットの最終
固定長データブロックではなかった場合は、前回と同じ
キューから1固定長データブロックずつパケットの最終
固定長データブロックまで1パケット分続けて読出して
送出する(ステップS12)。
3のような読出しキューテーブルで指定された順番にキ
ューを選択し、選択したキューから続けて固定長データ
ブロックを読出す。この場合、前回読出した固定長デー
タブロックがパケットの最終固定長データブロックであ
ったか否かを判定し(ステップS11)、パケットの最終
固定長データブロックではなかった場合は、前回と同じ
キューから1固定長データブロックずつパケットの最終
固定長データブロックまで1パケット分続けて読出して
送出する(ステップS12)。
【0033】1パケット読出した後、次の順番のキュー
を選択し(ステップS13)、そのキューにパケットの最
終固定長データブロックが存在し且つクレジットが所定
の閾値以上であるか否かを判定し(ステップS14,15
)、判定が肯定の場合は当該キューから1固定長デー
タブロック読出して送出し(ステップS16)、ステップ
S11に戻る。指定したキューにパケットの最終固定長デ
ータブロックが存在しない場合又はクレジットが所定の
閾値未満である場合は(ステップS14,15 )、当該読出
し周期に検索していないキューが存在するか否かを判定
し(ステップS17)、判定が肯定の場合はステップS13
に戻り、次の順番のキューを選択する。検索していない
キューが存在しない場合は(ステップS17)、空固定長
データブロックを送出して(ステップS18)ステップS
13に戻る。
を選択し(ステップS13)、そのキューにパケットの最
終固定長データブロックが存在し且つクレジットが所定
の閾値以上であるか否かを判定し(ステップS14,15
)、判定が肯定の場合は当該キューから1固定長デー
タブロック読出して送出し(ステップS16)、ステップ
S11に戻る。指定したキューにパケットの最終固定長デ
ータブロックが存在しない場合又はクレジットが所定の
閾値未満である場合は(ステップS14,15 )、当該読出
し周期に検索していないキューが存在するか否かを判定
し(ステップS17)、判定が肯定の場合はステップS13
に戻り、次の順番のキューを選択する。検索していない
キューが存在しない場合は(ステップS17)、空固定長
データブロックを送出して(ステップS18)ステップS
13に戻る。
【0034】この実施例によれば、キューにパケットが
存在するか否かの判定をパケットの最終固定長データブ
ロックの有無のみによって行うため、キューにフラグを
立てるだけでよく、判定処理が容易である。また、パケ
ット単位でまとめて読出すため、パケット転送装置の出
力先のリンクが単一回線の場合にも対応可能である。ま
た、パケットを受信する装置においても、1つのパケッ
トの最初の固定長データブロック到着から最終固定長デ
ータブロック到着までの時間が短縮される可能性がある
ため、パケット組立ての処理負荷の軽減につながる。
存在するか否かの判定をパケットの最終固定長データブ
ロックの有無のみによって行うため、キューにフラグを
立てるだけでよく、判定処理が容易である。また、パケ
ット単位でまとめて読出すため、パケット転送装置の出
力先のリンクが単一回線の場合にも対応可能である。ま
た、パケットを受信する装置においても、1つのパケッ
トの最初の固定長データブロック到着から最終固定長デ
ータブロック到着までの時間が短縮される可能性がある
ため、パケット組立ての処理負荷の軽減につながる。
【0035】次に、実施例7としてバーストトラヒック
スケジューラについての具体例を説明する。図1のパケ
ット転送装置1の固定長データブロック読出部7につい
て、図3及び6を参照して説明する。実施例6と同様
に、固定長データブロック読出部7は、予め定められた
固定長データブロックの読出しタイミングに従ってキュ
ーから固定長データブロックを取出し、出力IF部8に
渡す。この実施例では、図3に示す読出しキューテーブ
ルで指定された順番に、各キューから1固定長データブ
ロックずつパケットが存在する限り続けて読出す。但
し、次に指定したキューにパケットの最終固定長データ
ブロックが存在しない場合はそのキューを飛ばし、次の
順番のキューから読出す。読出す固定長データブロック
が全く存在しない場合は空固定長データブロックを送出
する。
スケジューラについての具体例を説明する。図1のパケ
ット転送装置1の固定長データブロック読出部7につい
て、図3及び6を参照して説明する。実施例6と同様
に、固定長データブロック読出部7は、予め定められた
固定長データブロックの読出しタイミングに従ってキュ
ーから固定長データブロックを取出し、出力IF部8に
渡す。この実施例では、図3に示す読出しキューテーブ
ルで指定された順番に、各キューから1固定長データブ
ロックずつパケットが存在する限り続けて読出す。但
し、次に指定したキューにパケットの最終固定長データ
ブロックが存在しない場合はそのキューを飛ばし、次の
順番のキューから読出す。読出す固定長データブロック
が全く存在しない場合は空固定長データブロックを送出
する。
【0036】これを図6のフロー図により説明する。図
3のような読出しキューテーブルで指定された順番にキ
ューを選択し、選択したキューから続けて固定長データ
ブロックを読出す。この場合、前回読出した固定長デー
タブロックがパケットの最終固定長データブロックであ
ったか否かを判定し(ステップS21)、パケットの最終
固定長データブロックではなかった場合は、前回と同じ
キューから1固定長データブロックずつパケットの最終
固定長データブロックまで1パケット分続けて読出して
送出する(ステップS22)。
3のような読出しキューテーブルで指定された順番にキ
ューを選択し、選択したキューから続けて固定長データ
ブロックを読出す。この場合、前回読出した固定長デー
タブロックがパケットの最終固定長データブロックであ
ったか否かを判定し(ステップS21)、パケットの最終
固定長データブロックではなかった場合は、前回と同じ
キューから1固定長データブロックずつパケットの最終
固定長データブロックまで1パケット分続けて読出して
送出する(ステップS22)。
【0037】1パケット読出した後、今まで読出してい
たキューを次に読出す候補のキューとし、そのキューに
パケットの最終固定長データブロックが存在し且つクレ
ジットが所定の閾値以上であるか否かを判定し(ステッ
プS23,24 )、判定が肯定の場合は当該キューから1固
定長データブロック読出して送出し(ステップS22)、
ステップS21に戻る。指定したキューにパケットの最終
固定長データブロックが存在しない場合又はクレジット
が所定の閾値未満である場合は(ステップS23,24 )、
次の順番のキューを選択し(ステップS25)、そのキュ
ーにパケットの最終固定長データブロックが存在し且つ
クレジットが所定の閾値以上であるか否かを判定し(ス
テップS26,27 )、判定が肯定の場合は当該キューから
1固定長データブロック読出して送出し(ステップS2
8)、ステップS21に戻る。
たキューを次に読出す候補のキューとし、そのキューに
パケットの最終固定長データブロックが存在し且つクレ
ジットが所定の閾値以上であるか否かを判定し(ステッ
プS23,24 )、判定が肯定の場合は当該キューから1固
定長データブロック読出して送出し(ステップS22)、
ステップS21に戻る。指定したキューにパケットの最終
固定長データブロックが存在しない場合又はクレジット
が所定の閾値未満である場合は(ステップS23,24 )、
次の順番のキューを選択し(ステップS25)、そのキュ
ーにパケットの最終固定長データブロックが存在し且つ
クレジットが所定の閾値以上であるか否かを判定し(ス
テップS26,27 )、判定が肯定の場合は当該キューから
1固定長データブロック読出して送出し(ステップS2
8)、ステップS21に戻る。
【0038】指定したキューにパケットの最終固定長デ
ータブロックが存在しない場合又はクレジットが所定の
閾値未満である場合は(ステップS26,27 )、当該読出
し周期に検索していないキューが存在するか否かを判定
し(ステップS29)、判定が肯定の場合はステップS25
に戻り、次の順番のキューを選択する。検索していない
キューが存在しない場合は(ステップS29)、空固定長
データブロックを送出して(ステップS30)ステップS
25に戻る。
ータブロックが存在しない場合又はクレジットが所定の
閾値未満である場合は(ステップS26,27 )、当該読出
し周期に検索していないキューが存在するか否かを判定
し(ステップS29)、判定が肯定の場合はステップS25
に戻り、次の順番のキューを選択する。検索していない
キューが存在しない場合は(ステップS29)、空固定長
データブロックを送出して(ステップS30)ステップS
25に戻る。
【0039】上位のアプリケーションがトランザクショ
ン通信を行っている場合等は、バースト的にパケットが
送出されるため、この実施例のようなバースト転送を許
容する転送方法が適している。
ン通信を行っている場合等は、バースト的にパケットが
送出されるため、この実施例のようなバースト転送を許
容する転送方法が適している。
【0040】次に、実施例8として優先クレジット先読
みスケジューラについての具体例を説明する。優先及び
非優先クレジットを利用すると、実施例5〜7に従って
読出しキューを決定する際に、クレジットの優先度を考
慮して読出すキューを決定することが可能にある。この
実施例では、読出しキューテーブルの順番に従ってキュ
ーを選択する場合に、優先クレジットを用いて読出し可
能な固定長データブロックが存在する場合は、非優先ク
レジットを用いる読出しは行わないという条件を設け
る。
みスケジューラについての具体例を説明する。優先及び
非優先クレジットを利用すると、実施例5〜7に従って
読出しキューを決定する際に、クレジットの優先度を考
慮して読出すキューを決定することが可能にある。この
実施例では、読出しキューテーブルの順番に従ってキュ
ーを選択する場合に、優先クレジットを用いて読出し可
能な固定長データブロックが存在する場合は、非優先ク
レジットを用いる読出しは行わないという条件を設け
る。
【0041】これを図7のフロー図により説明する。図
3のような読出しキューテーブルで指定された順番にキ
ューを選択し、選択したキューから続けて固定長データ
ブロックを読出す。この場合、前回読出した固定長デー
タブロックがパケットの最終固定長データブロックであ
ったか否かを判定し(ステップS31)、パケットの最終
固定長データブロックではなかった場合は、前回と同じ
キューから1固定長データブロックずつパケットの最終
固定長データブロックまで1パケット分続けて読出して
送出する(ステップS32)。
3のような読出しキューテーブルで指定された順番にキ
ューを選択し、選択したキューから続けて固定長データ
ブロックを読出す。この場合、前回読出した固定長デー
タブロックがパケットの最終固定長データブロックであ
ったか否かを判定し(ステップS31)、パケットの最終
固定長データブロックではなかった場合は、前回と同じ
キューから1固定長データブロックずつパケットの最終
固定長データブロックまで1パケット分続けて読出して
送出する(ステップS32)。
【0042】1パケット読出した後、割込みがあるか否
かを判定し(ステップS33)、ある場合は次の順番のキ
ューを選択する(ステップS36)。割込みがない場合は
(ステップS33)、今まで読出していたキューを次に読
出す候補のキューとし、そのキューにパケットの最終固
定長データブロックが存在し且つクレジットが所定の閾
値以上であるか否かを判定し(ステップS34,35 )、判
定が肯定の場合は当該キューから1固定長データブロッ
ク読出して送出し(ステップS32)、ステップS31に戻
る。指定したキューにパケットの最終固定長データブロ
ックが存在しない場合又はクレジットが所定の閾値未満
である場合は(ステップS34,35 )、次の順番のキュー
を選択し(ステップS36)、そのキューにパケットの最
終固定長データブロックが存在し且つクレジットが所定
の閾値以上であるか否かを判定し(ステップS37,38
)、判定が肯定の場合は当該キューから1固定長デー
タブロック読出して送出し(ステップS39)、ステップ
S31に戻る。
かを判定し(ステップS33)、ある場合は次の順番のキ
ューを選択する(ステップS36)。割込みがない場合は
(ステップS33)、今まで読出していたキューを次に読
出す候補のキューとし、そのキューにパケットの最終固
定長データブロックが存在し且つクレジットが所定の閾
値以上であるか否かを判定し(ステップS34,35 )、判
定が肯定の場合は当該キューから1固定長データブロッ
ク読出して送出し(ステップS32)、ステップS31に戻
る。指定したキューにパケットの最終固定長データブロ
ックが存在しない場合又はクレジットが所定の閾値未満
である場合は(ステップS34,35 )、次の順番のキュー
を選択し(ステップS36)、そのキューにパケットの最
終固定長データブロックが存在し且つクレジットが所定
の閾値以上であるか否かを判定し(ステップS37,38
)、判定が肯定の場合は当該キューから1固定長デー
タブロック読出して送出し(ステップS39)、ステップ
S31に戻る。
【0043】指定したキューにパケットの最終固定長デ
ータブロックが存在しない場合又はクレジットが所定の
閾値未満である場合は(ステップS37,38 )、当該読出
し周期に検索していないキューが存在するか否かを判定
し(ステップS40)、判定が肯定の場合はステップS36
に戻り、次の順番のキューを選択する。検索していない
キューが存在しない場合は(ステップS40)、空固定長
データブロックを送出して(ステップS41)ステップS
36に戻る。
ータブロックが存在しない場合又はクレジットが所定の
閾値未満である場合は(ステップS37,38 )、当該読出
し周期に検索していないキューが存在するか否かを判定
し(ステップS40)、判定が肯定の場合はステップS36
に戻り、次の順番のキューを選択する。検索していない
キューが存在しない場合は(ステップS40)、空固定長
データブロックを送出して(ステップS41)ステップS
36に戻る。
【0044】この実施例によれば、優先クレジットを用
いる固定長データブロックの読出しを優先的に行うこと
により、優先クレジットを先に消費し、廃棄を減少させ
るため、優先固定長データブロックの平均転送レートを
高く維持することができる。但し、図6に示した実施例
7の方法による読出しキューの決定方法では、或るキュ
ーに非優先クレジット及びパケットが多量に存在する場
合は、他のキューに新たに優先クレジットが配布された
後も、そのキューから読出し続けてしまう可能性がある
ため、図8のように割込みを行い、そのキューからの読
出しを中断する。割込みのタイミングは、他のキューに
優先クレジットが配布されるクレジット分配時とする。
いる固定長データブロックの読出しを優先的に行うこと
により、優先クレジットを先に消費し、廃棄を減少させ
るため、優先固定長データブロックの平均転送レートを
高く維持することができる。但し、図6に示した実施例
7の方法による読出しキューの決定方法では、或るキュ
ーに非優先クレジット及びパケットが多量に存在する場
合は、他のキューに新たに優先クレジットが配布された
後も、そのキューから読出し続けてしまう可能性がある
ため、図8のように割込みを行い、そのキューからの読
出しを中断する。割込みのタイミングは、他のキューに
優先クレジットが配布されるクレジット分配時とする。
【0045】
【発明の効果】以上説明したように、本発明によれば、
送信側と受信側とのパケット転送装置における転送レー
ト観測周期の始期が一致していなくても、転送レートの
マッチングを容易に実現することができ、同一の観測単
位に複数のアプリケーションフローが含まれる場合にお
いても、実効的なデータ転送量を減ずることなく、各ア
プリケーションフロー及びグループ等に対して一定の平
均転送レートを提供することができる。
送信側と受信側とのパケット転送装置における転送レー
ト観測周期の始期が一致していなくても、転送レートの
マッチングを容易に実現することができ、同一の観測単
位に複数のアプリケーションフローが含まれる場合にお
いても、実効的なデータ転送量を減ずることなく、各ア
プリケーションフロー及びグループ等に対して一定の平
均転送レートを提供することができる。
【図1】 本発明のパケット転送装置の実施例の構成を
示す図である。
示す図である。
【図2】 クレジット生成分配部とクレジット制御部と
の関係を示す図である。
の関係を示す図である。
【図3】 読出しキューテーブルの例を示す図である。
【図4】 実施例5の読出しキュー決定方法を示すフロ
ー図である。
ー図である。
【図5】 実施例6の読出しキュー決定方法を示すフロ
ー図である。
ー図である。
【図6】 実施例7の読出しキュー決定方法を示すフロ
ー図である。
ー図である。
【図7】 実施例8の読出しキュー決定方法を示すフロ
ー図である。
ー図である。
1 パケット転送装置 2 入力IF部 3 フロー識別部 5 クレジット生成分配部 7 固定長データブロック読出部 8 出力IF部 41〜47 キュー 51 クレジット生成部 52 第1階層クレジット分配部 61〜67 クレジット制御部 91〜93 分配グループ 531〜533 第2階層クレジット分配部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 原 博之 東京都新宿区西新宿3丁目19番2号 日 本電信電話株式会社内 (56)参考文献 特開 平7−74780(JP,A) 電子情報通信学会技術研究報告 IN 97−160,1998年 2月20日 1998年電子情報通信学会通信ソサイエ ティ大会 B−7−46,1998年 9月7 日 1999年電子情報通信学会総合大会 B −7−161,1999年 3月 8日 1999年電子情報通信学会総合大会 B −7−160,1999年 3月 8日 (58)調査した分野(Int.Cl.7,DB名) H04L 12/56
Claims (13)
- 【請求項1】 外部のパケット転送装置から転送されて
くるパケットを受信する入力IF部と、入力IF部が受
信したパケットを保持する複数のキューと、前記入力I
F部が受信したパケットが入力されるキューを決定する
フロー識別部と、各キュー毎に設けられ、クレジット数
の加減算を行う複数のクレジット制御部と、分配周期毎
にクレジットを生成し、生成されたクレジットを所定の
割合に従って各クレジット制御部に分配するクレジット
生成分配部と、前記キューに保持されているパケット
を、所定のレートで1固定長データブロックづつ読み出
す固定長データブロック読出部と、前記読み出されたパ
ケットを外部のパケット転送装置に対して転送する出力
IF部とを具え、 前記クレジット生成分配部は、分配周期毎にクレジット
を生成する1つのクレジット生成部と、1つの第1階層
クレジット分配部と、複数の第2階層クレジット分配部
とを有する階層構造により構成され、 第1階層クレジット分配部は、クレジット生成部から分
配されたクレジットを所定の割合に従って第2階層クレ
ジット分配部に分配する機能を有すると共に、第2階層
クレジット分配部から余剰クレジットが戻された場合、
当該余剰クレジットを所定の条件に従って第2階層クレ
ジット分配部へ再分配し又はクレジットの廃棄を行う機
能を有し、 第2階層クレジット分配部は、第1階層クレジット分配
部から分配されたクレジットを所定の割合及び条件によ
り決定される数だけ前記クレジット制御部に分配する機
能を有すると共に、余剰クレジットが発生した場合、当
該余剰クレジットを第1階層クレジット分配部へ戻すか
又は廃棄する機能を有することを特徴とすることを特徴
とするパケット転送装置。 - 【請求項2】 外部のパケット転送装置から転送されて
くるパケットを受信する入力IF部と、入力IF部が受
信したパケットを保持する複数のキューと、前記入力I
F部が受信したパケットが入力されるキューを決定する
フロー識別部と、各キュー毎に設けられ、クレジット数
の加減算を行う複数のクレジット制御部と、分配周期毎
に所定のクレジットを生成し、そのクレジットを所定の
割合に従って各クレジット制御部に分配するクレジット
生成分配部と、前記キューに保持されているパケット
を、所定のレートで1データブロックづつ読み出す固定
長データブロック読出部と、前記読み出されたパケット
を外部のパケット転送装置に対して転送する出力IF部
とを具え、 NをN>3及び1≦n<Nとしたとき、前記クレジット
生成分配部が、1つのクレジット生成部及びN階層のク
レジット分配部を具え、クレジット分配部は1つの第1
階層分配グループ及び複数の第2乃至第N階層分配グル
ープから構成され、1つの第n階層分配グループが複数
の第n+1階層分配グループから構成され、第n+1階
層分配グループは必ずただ1つの第n階層分配グループ
に帰属し、第N階層分配グループは1以上のクレジット
制御部から構成され、各クレジット制御部が必ずただ1
つの第N階層分配グループに帰属し、第N階層分配グル
ープと第N階層クレジット分配部が一対一に対応するこ
とを特徴とするパケット転送装置。 - 【請求項3】 請求項1又は2に記載のパケット転送装
置に用いられるパケット転送方法であって、 前記各クレジット制御部の最大クレジット数の合計を、
転送先のパケット転送装置のバッファ容量によって決定
される最大クレジット総数以下に設定し、前記クレジッ
ト生成分配部において生成するクレジットの総数をクレ
ジット分配周期と当該パケット転送装置に設定された平
均転送レートにより決定し、クレジット分配周期を転送
先のパケット転送装置の平均転送レートを観測する周期
によって決定し、クレジット生成分配部から各クレジッ
ト制御部に分配されるクレジット数を生成したクレジッ
トの総数と各クレジット制御部に設定された所定の割合
とにより決定し、クレジットを分配する時にクレジット
制御部において最大クレジット数を超過する場合は超過
分を余剰クレジットとし再分配及び/又は廃棄を行い、
再分配又は廃棄される余剰クレジットの数を所定の条件
により決定することを特徴とするパケット転送方法。 - 【請求項4】 1以上の各クレジット制御部が必ずただ
1つの分配グループに帰属し、分配グループ毎に所定の
割合を設定し、分配グループと第2階層クレジット分配
部を一対一に対応させ、余剰クレジットの再分配を分配
グループ内で行い、分配グループで更に余剰クレジット
が発生する場合は分配グループ間で余剰クレジットの授
受を行うことを特徴とする請求項3に記載のパケット転
送方法。 - 【請求項5】 余剰クレジットが発生した場合、当該余
剰クレジットの再分配を、各階層毎に分配グループ内で
行い、分配グループにおいて更に余剰クレジットが発生
する場合は分配グループ間で余剰クレジットの授受を行
うことを特徴とする請求項3又は4に記載のパケット転
送方法。 - 【請求項6】 転送先のパケット転送装置で固定長デー
タブロックのCLPへのタギングの閾値となる転送レー
トとクレジット分配周期から優先クレジットの生成数を
決定し、最大転送レートとタギングの閾値となる転送レ
ートとの差及びクレジット分配周期から非優先クレジッ
トの生成数を決定し、各キュー及びクレジット制御部に
対して分配するクレジット数を優先クレジット及び非優
先クレジットで個別に決定し、クレジット制御部で優先
クレジット及び非優先クレジットのそれぞれに対して最
大クレジット数を定めてクレジットの加減を行うことを
特徴とする請求項3乃至5のいずれか1項に記載のパケ
ット転送方法。 - 【請求項7】 1固定長データブロック読出し毎にキュ
ーを所定の順番で所定の条件と比較し、条件を満たす場
合はそのキューを選択し、条件を満たすキューが存在し
ない場合は空の固定長データブロックを送信することを
特徴とする請求項3乃至6のいずれか1項に記載のパケ
ット転送方法。 - 【請求項8】 請求項1又は2に記載のパケット転送装
置において、前記固定長データブロック読出部は、各キ
ューに保持されている固定長データブロックを順次読み
出す際、当該キューと関連するクレジット制御部に保持
されているクレジット数を所定の閾値と比較し、クレジ
ット数が閾値以上の場合当該キューに格納されている固
定長データブロックを読み出し、クレジット制御部に保
持されているクレジット数が所定の閾値未満の場合、当
該キューに格納されている固定長データブロックの読み
出しを行わないことを特徴とするパケット転送装置。 - 【請求項9】 請求項8に記載のパケット転送装置にお
いて、前記固定長データブロック読出部は、前記クレジ
ット数の比較と共にキューに固定長データブロックが存
在するか否かも検索し、クレジット制御部が保持してい
るクレジット数が所定の閾値以上であると共に関連する
キューに固定長データブロックが存在する場合に当該キ
ューに格納されている固定長データブロックを読み出す
ことを特徴とするパケット転送装置。 - 【請求項10】 前記固定長データブロック読出部は、
キューに格納されている複数の連続する固定長データブ
ロックが1個のパケットを構成する場合、当該キューに
格納されている複数の連続する固定長データブロックを
順次連続して読み出し、当該パケットの最終の固定長デ
ータブロックを読み出した後に次のキューの固定長デー
タブロックを読み出すことを特徴とする請求項8又は9
に記載のパケット転送装置。 - 【請求項11】 請求項10に記載のパケット転送装置
において、前記固定長データブロック読み出し部は、キ
ューから固定長データブロックを順次連続してパケット
の最終の固定長データブロックまで読み出し、次に固定
長データブロックを読み出すキューを選択する際に、前
回読み出したキューに格納されている複数の連続する固
定長データブロックが1個以上のパケットを構成する場
合は、前回読み出したキューを選択し、パケットを構成
しない場合は別のキューを選択することを特徴とするパ
ケット転送装置。 - 【請求項12】 請求項10に記載のパケット転送装置
において、前記固定長データブロック読み出し部は、キ
ューから固定長データブロックを順次連続してパケット
の最終の固定長データブロックまで読み出し、次に固定
長データブロックを読み出すキューを選択する際に、前
回読み出したキューに格納されている複数の連続する固
定長データブロックが1個以上のパケットを構成し、か
つ、割り込みが発生していない場合は、前回読み出しキ
ューを選択し、パケットを構成しない場合、または、割
り込みが発生した場合は別のキューを選択し、パケット
を構成しない場合、または、割り込みが発生した場合は
別のキューを選択することを特徴とするパケット転送装
置。 - 【請求項13】 前記固定長データブロック読出部は、
いずれのキューもパケットを読み出すための条件を満た
していない場合、空の固定長データブロックを送出する
ことを特徴とする請求項8から12までのいずれか1項
に記載のパケット転送装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4496199A JP3276341B2 (ja) | 1999-02-23 | 1999-02-23 | パケット転送装置及びパケット転送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4496199A JP3276341B2 (ja) | 1999-02-23 | 1999-02-23 | パケット転送装置及びパケット転送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000244502A JP2000244502A (ja) | 2000-09-08 |
JP3276341B2 true JP3276341B2 (ja) | 2002-04-22 |
Family
ID=12706089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4496199A Expired - Fee Related JP3276341B2 (ja) | 1999-02-23 | 1999-02-23 | パケット転送装置及びパケット転送方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3276341B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1402396A4 (en) * | 2001-07-05 | 2009-05-27 | Sandburst Corp | METHOD AND APPARATUS FOR ALLOCATING LINK STRIP WIDTH |
US7724760B2 (en) | 2001-07-05 | 2010-05-25 | Broadcom Corporation | Method and apparatus for bandwidth guarantee and overload protection in a network switch |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5063562A (en) * | 1990-05-23 | 1991-11-05 | International Business Machines Corporation | Flow control for high speed networks |
-
1999
- 1999-02-23 JP JP4496199A patent/JP3276341B2/ja not_active Expired - Fee Related
Non-Patent Citations (4)
Title |
---|
1998年電子情報通信学会通信ソサイエティ大会 B−7−46,1998年 9月7日 |
1999年電子情報通信学会総合大会 B−7−160,1999年 3月 8日 |
1999年電子情報通信学会総合大会 B−7−161,1999年 3月 8日 |
電子情報通信学会技術研究報告 IN97−160,1998年 2月20日 |
Also Published As
Publication number | Publication date |
---|---|
JP2000244502A (ja) | 2000-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6088734A (en) | Systems methods and computer program products for controlling earliest deadline first scheduling at ATM nodes | |
US5831971A (en) | Method for leaky bucket traffic shaping using fair queueing collision arbitration | |
JP5206714B2 (ja) | 送信端末装置およびネットワークノードおよび中継スイッチ | |
US5408465A (en) | Flexible scheme for admission control of multimedia streams on integrated networks | |
US6424624B1 (en) | Method and system for implementing congestion detection and flow control in high speed digital network | |
US6028843A (en) | Earliest deadline first communications cell scheduler and scheduling method for transmitting earliest deadline cells first | |
EP0678996B1 (en) | Apparatus and method of processing bandwidth requirements in an ATM switch | |
US6934250B1 (en) | Method and apparatus for an output packet organizer | |
US6882642B1 (en) | Method and apparatus for input rate regulation associated with a packet processing pipeline | |
US7177317B2 (en) | Flexible scheduler in an asynchronous transfer mode (ATM) switch | |
US6359883B1 (en) | Reducing the variability of the data rates of high-rate data streams in order to communicate such streams over a low-rate channel of fixed capacity | |
JP2001103120A (ja) | 通信ネットワークにおいてトラフィックをスケジュールする方法及び装置 | |
CN101217495A (zh) | 用于t-mpls网络环境下的流量监控方法和装置 | |
JP2000059365A (ja) | オ―バ―ブッキングの能力がある場合、ない場合の階層的な転送速度制限を保証しながらサ―ビスの提供をスケジュ―ルするポ―トスケジュ―ラとその手法 | |
JPH10313324A (ja) | 通信ネットワークにおけるパケットの配送装置とその方法 | |
JP2003218924A (ja) | ネットワークノードの接続容量を増大させる方法、およびネットワークノードのための統合トラフィック成形システム、およびネットワークにおけるセルの処理方法および調整成形方法、およびネットワークノードにおいて用いられる統合トラフィック調整成形システム | |
US6526062B1 (en) | System and method for scheduling and rescheduling the transmission of cell objects of different traffic types | |
US6341134B1 (en) | Process for the arrangement of equitable-loss packets | |
JP2002198993A (ja) | パケットスイッチ | |
JPH10136023A (ja) | パケット通信方法 | |
EP1471694B1 (en) | Method for dimensioning bandwidth in voice-over-IP networks | |
US5886980A (en) | Bit stream based connection admission control system | |
JP3276341B2 (ja) | パケット転送装置及びパケット転送方法 | |
Mowbray et al. | Capacity reservation for multimedia traffic | |
JP4238415B2 (ja) | 送信端末装置およびネットワークノードおよび中継スイッチ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080208 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090208 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090208 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100208 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110208 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |