JP2000244502A - パケット転送装置及びパケット転送方法 - Google Patents

パケット転送装置及びパケット転送方法

Info

Publication number
JP2000244502A
JP2000244502A JP4496199A JP4496199A JP2000244502A JP 2000244502 A JP2000244502 A JP 2000244502A JP 4496199 A JP4496199 A JP 4496199A JP 4496199 A JP4496199 A JP 4496199A JP 2000244502 A JP2000244502 A JP 2000244502A
Authority
JP
Japan
Prior art keywords
credit
distribution
unit
packet
credits
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
JP4496199A
Other languages
English (en)
Other versions
JP3276341B2 (ja
Inventor
Kaori Iimori
可織 飯盛
Tetsuya Abe
哲哉 安部
Junichi Murayama
純一 村山
Hiroyuki Hara
博之 原
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP4496199A priority Critical patent/JP3276341B2/ja
Publication of JP2000244502A publication Critical patent/JP2000244502A/ja
Application granted granted Critical
Publication of JP3276341B2 publication Critical patent/JP3276341B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】 送信側と受信側との間で転送レート観測周期
の始期が一致しない場合も平均転送レートのマッチング
を得ながら、転送装置全体のデータ転送量を最大に維持
するパケット転送装置及びパケット転送方法を提供す
る。 【解決手段】 パケット転送装置は、入力IF部、フロ
ー識別部、キュー、クレジット制御部、クレジット生成
分配部、固定長データブロック読出部、及び、出力IF
部を具備する。クレジット生成分配部は、生成部、第1
階層分配部及び第2階層分配部を具え、クレジット生成
部がクレジットを生成し第1階層分配部に分配し、第1
階層分配部が第2階層分配部に分配し、余剰クレジット
が戻された場合は再分配又はクレジットの廃棄を行い、
第2階層分配部が、分配されたクレジットをクレジット
制御部に分配し、余剰クレジットが発生した場合は、第
1階層分配部へ余剰クレジットを戻すか又は廃棄するよ
うにすることができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、アプリケーション
フローに対して品質保証を行う場合に、特に転送レート
観測周期内でパケット転送装置から転送するデータ量を
均一に分配し、同一の転送装置を利用する各エンドユー
ザーに転送データ量を公平に分配する方法に関するもの
である。
【0002】
【従来の技術】従来の平均転送レートを制御するATM
データ転送では、例えば、特願平10−227067号「パケッ
ト転送方法」に記載されているように、送信側の装置と
受信側の装置との間における転送レート観測周期の始期
が一致しなくても平均転送レートのマッチングを得るこ
とができた。しかし、クレジット生成分配部とキューが
一対一であるため、同時に転送を行う複数のアプリケー
ションフローに対して平均転送レートを制御する場合、
アプリケーションフロー毎にクレジットの生成及び消費
を行うこととなり、或るアプリケーションフローのパケ
ットがしばらく転送されなかった場合、他のアプリケー
ションフローでクレジットが不足していても、転送され
ないアプリケーションフローに分配されるクレジットは
廃棄されてしまい、転送装置全体としてのデータ転送量
が低下するという問題があった。
【0003】
【発明が解決しようとする課題】本発明の目的は、上述
のような問題点に鑑み、送信側の装置と受信側の装置と
の間において、転送レート観測周期の始期が一致しない
場合も平均転送レートのマッチングを得ながら、転送装
置全体のデータ転送量を最大に維持し、同時に通信を行
う複数のアプリケーションフロー間でデータ転送量を公
平に分配することができるパケット転送装置及びパケッ
ト転送方法を提供することにある。
【0004】
【課題を解決するための手段】本発明のパケット転送装
置は、上記の目的を達成するため、キューを複数設け、
各キュー毎にクレジット制御部を持ち、各クレジット制
御部においてクレジット値を加減算し、固定長データブ
ロック読出部がそのクレジット値を所定の閾値と比較
し、クレジット値が閾値以上の時のみパケットの転送を
開始し、転送を開始したパケットに対してはクレジット
値に関係なくそのパケットの最後の固定長データブロッ
クまで送信し、1固定長データブロック送信毎にクレジ
ット値を1減算し、クレジットが閾値未満の時はそのキ
ューからのパケットの送信は行わないようにする。
【0005】また、各キューに設けた最大クレジット数
の合計が、送信先パケット転送装置のバッファ量により
決定される最大クレジット総数を超過しないようにする
こともできる。これにより、パケット転送装置全体の平
均転送レートを一定に保つことが可能になる。
【0006】また、キューに設定した平均転送レートの
合計値が、パケット転送装置全体の平均転送レート以下
になるように各キューに平均転送レートを設定し、クレ
ジットを分配する際に平均転送レートの割合に応じてク
レジットを分配することもできる。これにより、各キュ
ーに対して平均転送レートを確保することが可能にな
る。
【0007】また、クレジット分配時にクレジット制御
部で最大クレジット数を超過した分を余剰クレジットと
し、余剰クレジットを生じないキューに対して、設定さ
れた平均転送レートの割合に応じて分配することもでき
る。これにより、クレジットの廃棄を減少させ、固定長
データブロック送出に利用されるクレジットを増加させ
るため、パケット転送装置全体の実効的なデータ転送量
を増加させることが可能になる。従って、全体の平均転
送レートを保ち、実効的なデータ転送量を増加させつ
つ、各キューに対する平均転送レートを確保することが
できる。更に、クレジットの分配グループを定義し、キ
ューを複数のクレジット分配グループに分割し、余剰ク
レジットの分配を可能な限りグループ内で行うことによ
り、グループ毎に平均転送レートを確保することができ
る。
【0008】更に、優先及び非優先の2クラスのクレジ
ットを定義し、それぞれのクレジットを個別に分配する
こともできる。これにより、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から受信したデータブロックを外部の
パケット転送装置に対して転送する。
【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にクレジット分配を行う。
【0012】ここで、パケット転送装置の平均転送レー
トを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) のようになる。他の分配グループについても同様であ
る。
【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のようになる。他の分配グループ
についても同様である。
【0015】このように、平均転送レートの割合を基に
分配クレジット数を決定することにより、各キューに対
して予め設定された平均転送レートに応じた送信機会が
与えられる。
【0016】次に、実施例2としてグループ内余剰クレ
ジットの取扱いについての具体例を説明する。実施例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内に再分配される。
【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)は
グループ内の余剰クレジット分である。)となる。
【0019】このように、余剰クレジットをグループ内
で再分配することにより、パケット転送に利用されるク
レジット数の割合を向上させることが可能である。ま
た、再分配先がグループ内となるため、同一ポリシーを
持つグループ内のユーザー間でクレジットの有効利用を
図ることが可能となる。
【0020】次に、実施例3としてグループ間余剰クレ
ジットの取扱いについての具体例を説明する。実施例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
に再分配される。
【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) となる。
【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))はグループ外の余剰クレジットである。)
【0024】但し、各クレジット制御部に対して上記で
決定された余剰クレジットを含むクレジット分配数を加
算することにより最大クレジット数を超過する場合は、
最大クレジット数まで加算し、超過したクレジットは廃
棄する。
【0025】このように、グループ内で再分配して更に
余剰となるクレジットを別のグループに対して再分配す
ることにより、グループ内のユーザー間でクレジットの
有効利用を図りつつ、パケット転送に利用されるクレジ
ット数の割合を向上させることが可能である。
【0026】次に、実施例4として余剰クレジットの廃
棄についての具体例を説明する。実施例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階
層クレジット分配部で全て廃棄する。
【0028】次に、実施例5として固定長データブロッ
クスケジューラについての具体例を説明する。図1のパ
ケット転送装置1の固定長データブロック読出部7につ
いて、図3及び4を参照して説明する。この実施例で
は、固定長データブロック読出部7は、予め定められた
固定長データブロックの読出しタイミングに従ってキュ
ーから固定長データブロックを取出し、出力IF部8に
渡す。但し、指定したキューに固定長データブロックが
存在しない場合は、そのキューを飛ばし、次の順番のキ
ューから1固定長データブロック読出す。読出す固定長
データブロックが存在しない場合は空の固定長データブ
ロックを送出する。
【0029】これを図4のフロー図により説明する。図
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パ
ケット分読出す。読出す固定長データブロックが全く存
在しない場合は空固定長データブロックを送出する。
【0032】これを図5のフロー図により説明する。図
3のような読出しキューテーブルで指定された順番にキ
ューを選択し、選択したキューから続けて固定長データ
ブロックを読出す。この場合、前回読出した固定長デー
タブロックがパケットの最終固定長データブロックであ
ったか否かを判定し(ステップS11)、パケットの最終
固定長データブロックではなかった場合は、前回と同じ
キューから1固定長データブロックずつパケットの最終
固定長データブロックまで1パケット分続けて読出して
送出する(ステップS12)。
【0033】1パケット読出した後、次の順番のキュー
を選択し(ステップS13)、そのキューにパケットの最
終固定長データブロックが存在し且つクレジットが所定
の閾値以上であるか否かを判定し(ステップS14,15
)、判定が肯定の場合は当該キューから1固定長デー
タブロック読出して送出し(ステップS16)、ステップ
S11に戻る。指定したキューにパケットの最終固定長デ
ータブロックが存在しない場合又はクレジットが所定の
閾値未満である場合は(ステップS14,15 )、当該読出
し周期に検索していないキューが存在するか否かを判定
し(ステップS17)、判定が肯定の場合はステップS13
に戻り、次の順番のキューを選択する。検索していない
キューが存在しない場合は(ステップS17)、空固定長
データブロックを送出して(ステップS18)ステップS
13に戻る。
【0034】この実施例によれば、キューにパケットが
存在するか否かの判定をパケットの最終固定長データブ
ロックの有無のみによって行うため、キューにフラグを
立てるだけでよく、判定処理が容易である。また、パケ
ット単位でまとめて読出すため、パケット転送装置の出
力先のリンクが単一回線の場合にも対応可能である。ま
た、パケットを受信する装置においても、1つのパケッ
トの最初の固定長データブロック到着から最終固定長デ
ータブロック到着までの時間が短縮される可能性がある
ため、パケット組立ての処理負荷の軽減につながる。
【0035】次に、実施例7としてバーストトラヒック
スケジューラについての具体例を説明する。図1のパケ
ット転送装置1の固定長データブロック読出部7につい
て、図3及び6を参照して説明する。実施例6と同様
に、固定長データブロック読出部7は、予め定められた
固定長データブロックの読出しタイミングに従ってキュ
ーから固定長データブロックを取出し、出力IF部8に
渡す。この実施例では、図3に示す読出しキューテーブ
ルで指定された順番に、各キューから1固定長データブ
ロックずつパケットが存在する限り続けて読出す。但
し、次に指定したキューにパケットの最終固定長データ
ブロックが存在しない場合はそのキューを飛ばし、次の
順番のキューから読出す。読出す固定長データブロック
が全く存在しない場合は空固定長データブロックを送出
する。
【0036】これを図6のフロー図により説明する。図
3のような読出しキューテーブルで指定された順番にキ
ューを選択し、選択したキューから続けて固定長データ
ブロックを読出す。この場合、前回読出した固定長デー
タブロックがパケットの最終固定長データブロックであ
ったか否かを判定し(ステップS21)、パケットの最終
固定長データブロックではなかった場合は、前回と同じ
キューから1固定長データブロックずつパケットの最終
固定長データブロックまで1パケット分続けて読出して
送出する(ステップS22)。
【0037】1パケット読出した後、今まで読出してい
たキューを次に読出す候補のキューとし、そのキューに
パケットの最終固定長データブロックが存在し且つクレ
ジットが所定の閾値以上であるか否かを判定し(ステッ
プS23,24 )、判定が肯定の場合は当該キューから1固
定長データブロック読出して送出し(ステップS22)、
ステップS21に戻る。指定したキューにパケットの最終
固定長データブロックが存在しない場合又はクレジット
が所定の閾値未満である場合は(ステップS23,24 )、
次の順番のキューを選択し(ステップS25)、そのキュ
ーにパケットの最終固定長データブロックが存在し且つ
クレジットが所定の閾値以上であるか否かを判定し(ス
テップS26,27 )、判定が肯定の場合は当該キューから
1固定長データブロック読出して送出し(ステップS2
8)、ステップS21に戻る。
【0038】指定したキューにパケットの最終固定長デ
ータブロックが存在しない場合又はクレジットが所定の
閾値未満である場合は(ステップS26,27 )、当該読出
し周期に検索していないキューが存在するか否かを判定
し(ステップS29)、判定が肯定の場合はステップS25
に戻り、次の順番のキューを選択する。検索していない
キューが存在しない場合は(ステップS29)、空固定長
データブロックを送出して(ステップS30)ステップS
25に戻る。
【0039】上位のアプリケーションがトランザクショ
ン通信を行っている場合等は、バースト的にパケットが
送出されるため、この実施例のようなバースト転送を許
容する転送方法が適している。
【0040】次に、実施例8として優先クレジット先読
みスケジューラについての具体例を説明する。優先及び
非優先クレジットを利用すると、実施例5〜7に従って
読出しキューを決定する際に、クレジットの優先度を考
慮して読出すキューを決定することが可能にある。この
実施例では、読出しキューテーブルの順番に従ってキュ
ーを選択する場合に、優先クレジットを用いて読出し可
能な固定長データブロックが存在する場合は、非優先ク
レジットを用いる読出しは行わないという条件を設け
る。
【0041】これを図7のフロー図により説明する。図
3のような読出しキューテーブルで指定された順番にキ
ューを選択し、選択したキューから続けて固定長データ
ブロックを読出す。この場合、前回読出した固定長デー
タブロックがパケットの最終固定長データブロックであ
ったか否かを判定し(ステップS31)、パケットの最終
固定長データブロックではなかった場合は、前回と同じ
キューから1固定長データブロックずつパケットの最終
固定長データブロックまで1パケット分続けて読出して
送出する(ステップS32)。
【0042】1パケット読出した後、割込みがあるか否
かを判定し(ステップ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に戻る。
【0044】この実施例によれば、優先クレジットを用
いる固定長データブロックの読出しを優先的に行うこと
により、優先クレジットを先に消費し、廃棄を減少させ
るため、優先固定長データブロックの平均転送レートを
高く維持することができる。但し、図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号 日本 電信電話株式会社内 (72)発明者 原 博之 東京都新宿区西新宿3丁目19番2号 日本 電信電話株式会社内 Fターム(参考) 5K030 GA03 HA10 HB17 HB29 KX12 LC18 LD11 LE05

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 外部のパケット転送装置からから転送さ
    れてくるパケットを受信しキューへ送信する入力IF
    部、入力IF部からパケットを受信し所定の条件に従っ
    て受取ったパケットを入力するキューを決定するフロー
    識別部、フロー識別部から受信したパケットを固定長デ
    ータブロック読出部により読出されるまで保持する複数
    のキュー、各キューに対応してクレジット数の加減算を
    行う複数のクレジット制御部、分配周期毎に所定のクレ
    ジットを生成しそのクレジットを所定の割合に従って各
    クレジット制御部に分配するクレジット生成分配部、所
    定の条件に従って読出すキューを選択し読出したパケッ
    トを所定のレートで1データブロックずつ出力IF部に
    送信する固定長データブロック読出部、及び、固定長デ
    ータブロック読出部から受信したデータブロックを外部
    のパケット転送装置に対して転送する出力IF部を具備
    することを特徴とするパケット転送装置。
  2. 【請求項2】 前記クレジット生成分配部が、1つのク
    レジット生成部、1つの第1階層クレジット分配部及び
    複数の第2階層クレジット分配部を具え、クレジット生
    成部が所定の分配周期毎に所定のクレジットを生成し第
    1階層クレジット分配部に分配し、第1階層クレジット
    分配部は、クレジット生成部から分配されたクレジット
    を所定の割合に従って第2階層クレジット分配部に分配
    する機能を有し、更に、第2階層クレジット分配部から
    余剰クレジットが戻された場合は所定の条件に従って第
    2階層クレジット分配部へ再分配又はクレジットの廃棄
    を行う機能を有し、第2階層クレジット分配部は、第1
    階層クレジット分配部から分配されたクレジットを所定
    の割合及び条件により決定される数だけクレジット制御
    部に分配する機能を有し、余剰クレジットが発生した場
    合は、第1階層クレジット分配部へ余剰クレジットを戻
    すか又は廃棄する機能を有することを特徴とする請求項
    1に記載のパケット転送装置。
  3. 【請求項3】 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階層クレジット分配部が一対
    一に対応したことを特徴とする請求項1に記載のパケッ
    ト転送装置。
  4. 【請求項4】 各クレジット制御部の最大クレジット数
    の合計を転送先のパケット転送装置のバッファ容量によ
    って決定される最大クレジット総数以下に設定し、クレ
    ジット生成分配部において生成するクレジットの総数を
    クレジット分配周期と当該パケット転送装置に設定され
    た平均転送レートにより決定し、クレジット分配周期を
    転送先のパケット転送装置の平均転送レートを観測する
    周期によって決定し、クレジット生成分配部から各クレ
    ジット制御部に分配するクレジット数を生成したクレジ
    ットの総数と各クレジット制御部に設定された所定の割
    合とにより決定し、クレジットを分配する時にクレジッ
    ト制御部において最大クレジット数を超過する場合は超
    過分を余剰クレジットとし再分配又は廃棄又は再分配及
    び廃棄を行い、再分配又は廃棄する余剰クレジットの数
    を所定の条件により決定することを特徴とするパケット
    転送方法。
  5. 【請求項5】 1以上の各クレジット制御部が必ずただ
    1つの分配グループに帰属し、分配グループ毎に所定の
    割合を設定し、分配グループと第2階層クレジット分配
    部を一対一に対応させ、余剰クレジットの再分配を分配
    グループ内で行い、分配グループで更に余剰クレジット
    が発生する場合は分配グループ間で余剰クレジットの授
    受を行うことを特徴とする請求項4に記載のパケット転
    送方法。
  6. 【請求項6】 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階層クレジット分配部を一対一に
    対応させ、余剰クレジットの再分配を、各階層毎に分配
    グループ内で行い、分配グループにおいて更に余剰クレ
    ジットが発生する場合は分配グループ間で余剰クレジッ
    トの授受を行うことを特徴とする請求項4に記載のパケ
    ット転送方法。
  7. 【請求項7】 転送先のパケット転送装置で固定長デー
    タブロックのCLPへのタギングの閾値となる転送レー
    トとクレジット分配周期から優先クレジットの生成数を
    決定し、最大転送レートとタギングの閾値となる転送レ
    ートとの差及びクレジット分配周期から非優先クレジッ
    トの生成数を決定し、各キュー及びクレジット制御部に
    対して分配するクレジット数を優先クレジット及び非優
    先クレジットで個別に決定し、クレジット制御部で優先
    クレジット及び非優先クレジットのそれぞれに対して最
    大クレジット数を定めてクレジットの加減を行うことを
    特徴とする請求項4乃至6のいずれか1項に記載のパケ
    ット転送方法。
  8. 【請求項8】 1固定長データブロック読出し毎にキュ
    ーを所定の順番で所定の条件と比較し、条件を満たす場
    合はそのキューを選択し、条件を満たすキューが存在し
    ない場合は空固定長データブロックを送信することを特
    徴とする請求項4乃至6のいずれか1項に記載のパケッ
    ト転送方法。
JP4496199A 1999-02-23 1999-02-23 パケット転送装置及びパケット転送方法 Expired - Fee Related JP3276341B2 (ja)

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 true JP2000244502A (ja) 2000-09-08
JP3276341B2 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004534462A (ja) * 2001-07-05 2004-11-11 サンドバースト コーポレーション リンク帯域幅割り当て方法および装置
US7724760B2 (en) 2001-07-05 2010-05-25 Broadcom Corporation Method and apparatus for bandwidth guarantee and overload protection in a network switch

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0774780A (ja) * 1990-05-23 1995-03-17 Internatl Business Mach Corp <Ibm> パケット伝送ネットワークにおけるウィンドーサイズの調整方法及び装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0774780A (ja) * 1990-05-23 1995-03-17 Internatl Business Mach Corp <Ibm> パケット伝送ネットワークにおけるウィンドーサイズの調整方法及び装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004534462A (ja) * 2001-07-05 2004-11-11 サンドバースト コーポレーション リンク帯域幅割り当て方法および装置
US7724760B2 (en) 2001-07-05 2010-05-25 Broadcom Corporation Method and apparatus for bandwidth guarantee and overload protection in a network switch

Also Published As

Publication number Publication date
JP3276341B2 (ja) 2002-04-22

Similar Documents

Publication Publication Date Title
US5577035A (en) Apparatus and method of processing bandwidth requirements in an ATM switch
CA2168485C (en) A delay-minimizing system with guarenteed bandwidth delivery for real-time traffic
US6934250B1 (en) Method and apparatus for an output packet organizer
US6088734A (en) Systems methods and computer program products for controlling earliest deadline first scheduling at ATM nodes
US6882642B1 (en) Method and apparatus for input rate regulation associated with a packet processing pipeline
US5408465A (en) Flexible scheme for admission control of multimedia streams on integrated networks
US6757249B1 (en) Method and apparatus for output rate regulation and control associated with a packet pipeline
JP5206714B2 (ja) 送信端末装置およびネットワークノードおよび中継スイッチ
US6424624B1 (en) Method and system for implementing congestion detection and flow control in high speed digital network
US7616567B2 (en) Shaping apparatus, communication node and flow control method for controlling bandwidth of variable length frames
US7142513B2 (en) Method and multi-queue packet scheduling system for managing network packet traffic with minimum performance guarantees and maximum service rate control
US7333495B2 (en) Method for scheduling upstream communications
EP1225734A2 (en) Methods, systems and computer program products for bandwidth allocation in a multiple access system
JP2001103120A (ja) 通信ネットワークにおいてトラフィックをスケジュールする方法及び装置
JP2000059365A (ja) オ―バ―ブッキングの能力がある場合、ない場合の階層的な転送速度制限を保証しながらサ―ビスの提供をスケジュ―ルするポ―トスケジュ―ラとその手法
EP0989770B1 (en) Packet transfer control apparatus and scheduling method therefor
US6526062B1 (en) System and method for scheduling and rescheduling the transmission of cell objects of different traffic types
JPH10313324A (ja) 通信ネットワークにおけるパケットの配送装置とその方法
JP2017063388A (ja) 帯域制御装置及び帯域制御システム
CN101212417B (zh) 一种基于时间粒度的互联网服务质量保证方法
EP0838970B1 (en) Method for shared memory management in network nodes
US6341134B1 (en) Process for the arrangement of equitable-loss packets
JP2002198993A (ja) パケットスイッチ
JP3276341B2 (ja) パケット転送装置及びパケット転送方法
Ahmed et al. Systems approach to modeling the token bucket algorithm in computer networks

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