JP4512699B2 - フロー制御装置およびノード装置 - Google Patents
フロー制御装置およびノード装置 Download PDFInfo
- Publication number
- JP4512699B2 JP4512699B2 JP2001003853A JP2001003853A JP4512699B2 JP 4512699 B2 JP4512699 B2 JP 4512699B2 JP 2001003853 A JP2001003853 A JP 2001003853A JP 2001003853 A JP2001003853 A JP 2001003853A JP 4512699 B2 JP4512699 B2 JP 4512699B2
- Authority
- JP
- Japan
- Prior art keywords
- packets
- flow
- queue
- packet
- discarded
- 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
- 238000012544 monitoring process Methods 0.000 claims description 96
- 238000004891 communication Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 description 67
- 238000000034 method Methods 0.000 description 49
- 238000012545 processing Methods 0.000 description 38
- 230000008569 process Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 11
- 238000012360 testing method Methods 0.000 description 10
- 230000006872 improvement Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 230000004043 responsiveness Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
- H04L47/522—Dynamic queue service slot or variable bandwidth allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/54—Loss aware scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6265—Queue scheduling characterised by scheduling criteria for service slots or service orders past bandwidth allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/627—Queue scheduling characterised by scheduling criteria for service slots or service orders policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
- H04L49/9078—Intermediate storage in different physical parts of a node or terminal using an external memory or storage device
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の属する技術分野】
本発明は、インタネットその他のパケットルーティング網にアクセスするノードにおいて、そのノードに収容された端末によって与えられ、あるいは入り線を介して与えられたパケットのレート制御と、これらのパケットのクラスに個別に対応したバッファのバッファ管理とを行うフロー制御装置と、そのフロー制御装置が搭載されてなるノード装置とに関する。
【0002】
【従来の技術】
近年、急速に普及したインタネットでは、伝送遅延時間や伝送域が何ら保証されないベストエフォート型のサービスが多くの利用者に提供されている。
さらに、このようなインタネットに関しては、例えば、VoIP(Voice over IP)の適用による音声通信サービスの実現と、私設網(VPN: Virtual Private Network) としての活用とが積極的に図られている。
【0003】
したがって、インタネットには、例えば、図8に示すように、種々のサービスの形態に適合した下記のサービスクラスをエンド・ツー・エンドで保証する技術が適用されつつある。
・ 伝送帯域が予め予約され、その伝送帯域を超えるレートで与えられたパケットが廃棄されることによって、伝送帯域と伝送遅延時間との双方が保証される「DS(Delay Sensitive) 型」のサービスクラス(以下、単に「DSクラス」という。)
・ 規定の最低の伝送帯域が保証され、かつ余剰の伝送帯域が適宜割り付けられる「TS(Throughput Sensitive)型」のサービスクラス(以下、単に「TSクラス」という。)
・ 余剰の伝送帯域がある限りにおいてサービスが提供され、伝送帯域、伝送遅延時間および伝送品質の何れもが保証されない「BE(Best Effort) 型」のサービスクラス(以下、単に「BEクラス」という。)
図9は、ノードの入り線においてフロー制御を行う装置の構成例を示す図である。
【0004】
図において、帯域監視部51の入力には、自局に収容された端末によって送出されたパケット(あるいは先行する伝送区間から受信されたパケット)の列が与えられ、その帯域監視部51の出力は輻輳制御部52の入力に直結される。輻輳制御部52は上述したパケットが属し得るサービスクラス(ここでは、簡単のため、既述の「DS(Delay Sensitive)型」、「TS(ThroughputSensitive)型」および「BE(Best Effort)型」の各サービスクラスであると仮定する。)に個別に対応した出力を有する。これらの出力は上述したサービスクラスに個別に対応したキュー53-1〜53-3の入力にそれぞれ直結され、これらのキュー53-1〜53-3の各出力は図示されないパケットスイッチ(あるいは回線インタフェース部)の対応するポートに接続される。さらに、キュー53-1〜53-3の読み出し制御端子には、先入れ先出し方式に基づくこれらのキュー53-1〜53-3の読み出しを主導的に達成するスケジューラ54の制御端子に直結される。
【0005】
このような構成の従来例では、帯域監視部51は、例えば、上述した端末のユーザが契約時に申告した伝送帯域(以下、「契約帯域」という。)が既知の情報として予め与えられる。さらに、帯域監視部51は、個々の端末からパケット(以下、「新たなパケット」という。)が与えられる度に下記の一連の処理を行うことによって、レート制御(ミーンポリシング)を行う。
【0006】
(1) この新たなパケットの所定のフィールドを参照することによって、この新たなパケットが属するフロー(送信元の識別子を含む。)を識別する。
(2) その送信元である端末の契約帯域を取得する。
(3) リーキバケット・アルゴリズムその他の規定のアルゴリズムに基づいて、該当するフローに属するパケットのレート(平均速度)がその契約帯域を超えるか否かを判別する。
【0007】
(4) その判別の結果が真である場合には、該当する新たなパケットを廃棄する。
(5) この判別の結果が偽である場合には、該当する新たなパケットを輻輳制御部52に引き渡す。
なお、このようなレート制御の過程では、実際には、既述の契約帯域に併せて、網や該当する新たなパケットの宛先の状況(輻輳の程度等を含む。)が勘案されつつ上述した判別が行われる。しかし、これらの状況については、本発明の特徴に関係がないので、ここでは、詳細な説明を省略する。
【0008】
また、輻輳制御部52は、帯域監視部51によって新たなパケットが引き渡される度に、例えば、RED(Random Early Discard)アルゴリズムやWRD(Weighted Random Early Discard)アルゴリズムに基づいて下記の処理を行う。
(1) この新たなパケットの所定のフィールドを参照することによってこのパケットが属するサービスクラスを特定する。
【0009】
(2) キュー53-1〜53-3の内、このようにして特定されたサービスクラスに対応するキュー(以下、「対象キュー」という。)に先行して蓄積されているパケットの情報量(キュー長またはそのキュー長の平均値であってもよい。)が規定の上限値THmin(図10(1))を上回るか否かを判別する。
【0010】
(3) その判別の結果が偽であるときには、ファーストインファーストアウト方式に基づいてその新たなパケットを対象キューに蓄積する(図10(2))。
(4) この判別の結果が真であるときには、この情報量が大きいほど高い確率でランダムに該当する新たなパケットを廃棄する(図10(3))。
なお、既述の「DSクラス」の伝送帯域と「TSクラス」の最低の伝送帯域とは、共にキュー53-1〜53-3の内、対応するキューのサイズの範囲で保証されるべき帯域である。したがって、上述した処理の過程で輻輳制御部52によって廃棄され得るパケットのサービスクラスについては、そのパケットに割り付けられ得る余剰の伝送帯域がある「TSクラス」と「BEクラス」との何れかに限定される。
【0011】
また、キュー53-1〜53-3に先行して蓄積されたパケットがスケジューラ54によって行われるスケジューリングの下で読み出される過程では、これらのスケジューラ54とキュー53-1〜53-3とが連係することによって所定の処理を行う。
しかし、これらの処理の手順については、本発明の特徴に関係がないので、ここでは、その説明を省略する。
【0012】
すなわち、上述した新たなパケットは、既述の契約帯域を超過しない限りにおいて帯域監視部51によって有効なパケットとして取り込まれ、キュー53-1〜53-3の内、そのパケットが属するサービスクラスに対応したキューに先行して過剰な情報量(数)のパケットが蓄積されていない限り、そのキューに順次蓄積されると共に、所定のバッファ管理の下で順次読み出される。
【0013】
したがって、このような従来例が適用されたノードでは、既述のレート制御およびバッファ管理の下でデッドロックの発生が回避され、かつフロー制御が安定に行われると共に、網の利用効率が高く維持される。
【0014】
【発明が解決しようとする課題】
ところで、上述した従来例では、輻輳制御部52によって廃棄されるべきパケットは、既述のアルゴリズムの下でランダムに選択され、その過程では、個々のパケットが属するフローは何ら識別されていなかった。
したがって、例えば、「TSクラス」と「BEクラス」との何れか一方に属するパケットの列によって多数のフローが並行して形成されている期間には、これらのフローにそれぞれ属するパケットが廃棄される確率は必ずしも同じ値とはならず、かつ同じサービスクラスに属するパケットであるにもかかわらず、特定のフローに属するパケットが他のフローに属するパケットに比べて著しく高い確率で廃棄される可能性があった。
【0015】
本発明の目的は、個々のフローに属するパケットがバッファ管理の過程で公平に廃棄されるフロー制御装置およびノード装置を提供することを目的とする。
【0016】
【課題を解決するための手段】
図1は、本発明にかかわるフロー制御装置の原理ブロック図である。
【0017】
請求項1に記載の発明では、レート制御手段11は、入力されたパケットの列のレートをこれらのパケットが個別に属するフロー毎に規定の上限値以下に調整する。キュー12-1〜12-Nは、入力されたパケットが属し得る個々のクラスに対応して備えられ、これらのクラスのパケットの先入れ先出し方式に基づく蓄積および送出に供される。キュー監視手段13は、キュー12-1〜12-Nの内、蓄積されているパケットの情報量が規定の閾値を超えるキューを識別する。バッファ管理手段14は、キュー監視手段13によって識別されたキューに格納されるべき新たなパケットが属するフロー毎に、その新たなパケットを所定の頻度で廃棄する。さらに、バッファ管理手段14は、フロー毎にパケットを廃棄した実績を記録し、その実績があるフローに属する新たなパケットを廃棄の対象から除外し、またはこの実績がないフローに属する新たなパケットが廃棄されるべき頻度より小さな頻度で廃棄する。
【0018】
このようなフロー制御装置では、キュー12-1〜12-Nの内、上述した閾値を超える情報量のパケットが蓄積されることによって輻輳状態に陥ったキューに引き続いて格納されるべきパケットは、そのパケットが個別に属するフロー毎に既述の頻度で廃棄される。
また、このようなフロー制御装置では、輻輳状態に陥ったキューに引き続いて蓄積されるべきパケットの内、その輻輳状態の解消を目的として廃棄されるべきパケットは、何れのフローに属する場合であっても、先行して廃棄されたパケットの数や情報量が積算されることなく、フロー毎に簡便に識別される。
請求項2に記載の発明では、バッファ管理手段14は、レート制御手段11と一体化され、そのレート制御手段11に備えられ、かつ入力された個々のパケットが属するフローを識別する手段を共用する。
【0019】
このようなフロー制御装置では、輻輳状態に陥ったキューに蓄積されるべきパケットが属するフローを識別する手段がバッファ管理手段14にも重複して備えられる場合に比べて、構成の簡略化と縮小化とが図られる。
請求項3に記載の発明では、レート監視手段15は、入力されたパケットの列のレートをフロー毎に監視する。バッファ管理手段14は、レート監視手段15によって監視されたレートのクラス毎の比率、またはその比率の単調増加関数として与えられる比率に等しい頻度で、キュー12-1〜12-Nの内、レート制御手段11によってレートが調整されたパケットのクラスに対応するキューに、そのパケットを蓄積する。
【0020】
このようなフロー制御装置では、キュー12-1〜12-Nの余剰の領域のサイズの範囲で確保され得る余剰の伝送帯域は、入力されたパケットの列によって形成されるフローの内、レートが高いフローほど大きな割合で割り付けられる。
【0022】
請求項1ないし請求項3に記載の発明の下位概念の発明では、バッファ管理手段14は、フロー毎にパケットを廃棄した回数を計数し、その回数が規定の値以上であるフローに属するパケットを廃棄の対象から除外し、またはこの回数がその規定の値未満であるフローに属する新たなパケットが廃棄されるべき頻度より小さな頻度で廃棄する。
【0023】
このようなフロー制御装置では、輻輳状態に陥ったキューに引き続いて蓄積されるべきパケットの内、その輻輳状態の解消を目的として廃棄されるパケットは、この輻輳状態が解消されるために何れかのフローに属するパケットが廃棄される回数が複数となる場合であっても、フロー毎に確度高く識別される。
請求項1に記載の下位概念の発明では、バッファ管理手段14は、パケットが廃棄された実績をそのパケットが属するフローに対応付けて保持し、かつキュー監視手段13によって識別されたキューに蓄積されるべきパケットの内、個別に属するフローに対応した実績が保持されているパケットを廃棄の対象から除外し、またはこの実績がないフローに属する新たなパケットが廃棄されるべき頻度より小さな頻度で廃棄する。
【0024】
このようなフロー制御装置では、バッファ管理手段14によって保持された実績は、キュー12-1〜12-Nの内、その実績で示されるように先行して廃棄されたパケットのクラスに対応したキューが上述した輻輳状態から復旧した後に再び輻輳状態に陥ったときにも、そのバッファ管理手段14によって有効に識別される。
【0025】
請求項1〜3に記載の発明に関連した第一の発明では、バッファ管理手段14は、パケットが廃棄された回数をそのパケットが属するフローに対応付けて保持し、かつキュー監視手段13によって識別されたキューに蓄積されるべきパケットの内、個別に属するフローに対応した回数が所定の値を上回るパケットを廃棄の対象から除外し、またはこの回数がその所定の値未満であるフローに属するパケットが廃棄されるべき頻度より小さな頻度で廃棄する。
【0026】
このようなフロー制御装置では、バッファ管理手段14によって保持された回数は、キュー12-1〜12-Nの内、先行して廃棄され、その回数に等しい数のパケットのクラスに対応したキューが上述した輻輳状態から復旧した後に再び輻輳状態に陥ったときにも、そのバッファ管理手段14によって有効に識別される。
請求項1〜3に記載の発明に関連した第二の発明では、バッファ管理手段14は、パケットが廃棄された回数を時間の経過に応じて小さく重み付けしつつそのパケットが属するフローに対応付けて保持し、かつキュー監視手段13によって識別されたキューに蓄積されるべきパケットの内、個別に属するフローに対応した回数が保持されているパケットを廃棄の対象から除外し、またはこの回数が少ないほど小さな頻度でそのパケットを廃棄する。
【0027】
このようなフロー制御装置では、輻輳状態に陥ったキューの大半に対応するサービスクラスのパケットがフロー毎に所望の数に亘って廃棄されたにもかかわらず、これらのフローに比べてレートが大幅に小さい特定のフローに属するパケットの廃棄が著しく遅れることが回避される。
請求項1〜3に記載の発明に関連した第三の発明では、キュー監視手段13は、キュー12-1〜12-Nに個別に蓄積されているパケットの情報量が規定の閾値を超える程度を識別する。バッファ管理手段14は、キュー監視手段13によって識別された程度が大きいキューほど、大きな頻度でそのキューに格納されるべき新たなパケットを廃棄する。
【0028】
このようなフロー制御装置では、キュー12-1〜12-Nの何れについても、輻輳の度合いが大きいほど、継続して書き込まれるべき新たなパケットの内、廃棄されるパケットの比率が大きな値となる。
請求項1〜3に記載の発明に関連した第四の発明では、バッファ管理手段14は、キュー12-1〜12-Nに個別に対応するクラスに適応した最大値が予め与えられ、その最大値以下の頻度でそのクラスの新たなパケットを廃棄する。
【0029】
このようなフロー制御装置では、上述した最大値が適正な値に設定される限り、個々のクラスで確保されるべき最低の伝送帯域が確保される。
請求項1〜3に記載の発明に関連した第五の発明では、バッファ管理手段14は、入力されたパケットが属し得る個々のクラスに確保されるべき伝送帯域の幅に適応し、かつ共通のフローに属して廃棄が許容されるべき新たなパケットの最大の数が個々のフローについて与えられ、これらのフロー毎にその最大の数の新たなパケットを廃棄した後に後続する新たなパケットの廃棄を差し控える。
【0030】
このようなフロー制御装置では、個々のクラスにおいて実際に確保されるべき最大の伝送帯域が小さいにもかかわらず、輻輳状態の解消を目的として廃棄されるべきパケットの数が過大となることが回避される。
請求項1〜3に記載の発明に関連した第六の発明では、伝送帯域監視手段16は、キュー12-1〜12-Nに個別に対応したクラス毎に確保されるべき最大の伝送帯域の幅を把握する。バッファ管理手段14は、キュー12-1〜12-Nに対応したクラス毎に、伝送帯域監視手段16によって把握された伝送帯域の幅に適応し、かつ共通のフローに属して廃棄が許容されるべき新たなパケットの最大の数が個々のフローについて与えられ、これらのフロー毎にその最大の数以上の新たなパケットを廃棄した後に後続する新たなパケットの廃棄を差し控える。
【0031】
このようなフロー制御装置では、個々のクラスにおいて実際に確保される最大の伝送帯域が広範に変化し得る場合であっても、その伝送帯域が小さい期間に輻輳状態の解消を目的として廃棄されるべきパケットの数が過大となることが回避される。
請求項1〜3に記載の発明に関連した第七の発明では、バッファ管理手段14は、キュー監視手段13によって識別されたキューに格納されるべきパケットが属し得るフロー毎に、そのキューに対応したクラスに確保されるべき伝送帯域の幅に適応する基準値が与えられ、先行して廃棄されたパケットと廃棄されなかったパケットと数もしくは情報量の総和の差または比がその基準値以上となった後に後続する新たなパケットの廃棄を差し控える。
【0032】
このようなフロー制御装置では、キュー12-1〜12-Nの何れについても、輻輳状態の解消を目的として廃棄されるパケットの数は、そのパケットが属するフロー毎に達成されるべき伝送速度が小さいほど小さな値に設定される。
請求項1〜3に記載の発明に関連した第八の発明では、バッファ管理手段14は、フロー毎に時系列の順に小さな頻度で、新たなパケットを廃棄する。
【0033】
このようなフロー制御装置では、輻輳状態に陥ったキューがその輻輳状態から脱却するために要する時間が長くなった場合であっても、そのキューに引き続いて蓄積されるパケットの増加が規制される。
請求項1〜3に記載の発明に関連した第九の発明では、バッファ管理手段14は、キュー12-1〜12-Nに個別に対応するクラスの新たなパケットが廃棄された比率の分散が所定の閾値を下回ったときに、これらの比率の内、そのクラスの新たなパケットに個別に対応する比率が大きいほど大きな頻度でその新たなパケットを廃棄する。
【0034】
このようなフロー制御装置では、輻輳状態に陥ったキューに蓄積されるべきパケットの内、廃棄されるべき数のパケットの大半が廃棄されたときには、フロー毎に引き続いて廃棄されるべきパケットの数が有効に引き渡されつつ、これらのフローの全てに属するパケットが暫定的に廃棄の対象となる。
すなわち、輻輳状態に陥ったキューに蓄積されるべきパケットとしては、実効的なレートが他のフローに比べて小さい特定のフローに属するパケットは長時間に渡って生起しない。
【0035】
図2は、本発明にかかわるノード装置の原理ブロック図である。
請求項4に記載の発明では、フロー制御装置21は、入力されたパケットの列のレート制御に併せて、これらのパケットのクラスに個別に対応したキューのバッファ管理を請求の範囲1に記載の発明の適用の下でフロー毎に行う。通信インタフェース手段22は、所定のリンクまたは端末に、フロー制御装置21によって行われたレート制御およびバッファ管理の下で与えられたパケットを送出する。
【0036】
このようなノード装置では、フロー毎の伝送品質が均一に保たれる。
【0037】
【発明の実施の形態】
以下、図面に基づいて本発明の実施形態について詳細に説明する。
図3は、本発明の第一ないし第八の実施形態を示す図である。
【0038】
図において、図9に示すものと機能および構成が同じものについては、同じ符号を付与して示し、ここでは、その説明を省略する。
本実施形態と図9に示す従来例との構成の相違点は、下記の点にある。
・ 帯域監視部51に代えて帯域監視部31が備えられる。
・ その帯域監視部31の前段にクラス識別部32が配置される。
【0039】
・ 輻輳制御部52に代えてキュー管理部33が備えられる。
図4は、本発明の第一ないし第五の実施形態における帯域監視部の動作フローチャートである。
図5は、本発明の第一ないし第四の実施形態におけるキュー管理部の動作フローチャートである。
【0040】
以下、図3〜図5を参照して本発明の第一の実施形態の動作を説明する。
クラス識別部32は、個々の端末から新たなパケットが与えられる度にそのパケットの所定のフィールドを参照することによって、このパケットが属するサービスクラスを識別する。
さらに、クラス識別部32は、このようにして識別されたサービスクラスの識別子(以下、「クラス識別子」という。)とこのサービスクラスに属する新たなパケットとの対を帯域監視部31に逐次引き渡す。
【0041】
また、帯域監視部31は、図6に示すように、上述した新たなパケットのサービスクラスを示す「クラス識別子」と、その新たなパケットが属するフローを示す「フロー識別子」とに対応し、そのフローに属するパケットが先行して廃棄されたか否かを示す「廃棄フラグ」が保持されるべき廃棄制御レジスタ31Raを有する。
【0042】
さらに、帯域監視部31には、上述した端末のユーザの契約帯域が既知の情報として予め与えられる。
また、帯域監視部31は、クラス識別部32によって上述した新たなパケットとクラス識別子との対が引き渡される度に、下記の点で従来例と異なる手順に基づいてレート制御を行う。
【0043】
・ 該当する対に含まれる新たなパケットのレートが契約帯域を下回る場合には、その新たなパケットを含む対を保持し、この対をキュー管理部33に引き渡す(図4(1))。
・ 反対に、この新たなパケットのレートが契約帯域を超える場合には、その新たなパケットを含む対を廃棄する(図4(2))。
【0044】
また、キュー管理部33は、帯域監視部31によって上述した対が引き渡される度に、下記の処理を行う。
(1) キュー53-1〜53-3の内、引き渡された対に含まれるクラス識別子に対応したキュー(以下、「対象キュー」という。)を特定し、その対象キューに先行して蓄積されているパケットの情報量(キュー長またはそのキュー長の平均値であってもよい。)が既述の上限値THmin(図10(1)) を上回るか否かを判別する(図5(1))。
【0045】
(2) その判別の結果を帯域監視部31に通知する(図5(2))。
(3) この判別の結果が偽である場合には、該当する対に含まれる新たなパケットをファーストインファーストアウト方式に基づいて対象キューに蓄積する(図5(3)、図10(2))。
(4) 反対に、その判別の結果が真である場合には、該当する対を暫定的に保持し(図5(4))、かつ後述するように帯域監視部31によって与えられる「フロー検定通知」を待ち受ける。
【0046】
一方、帯域監視部31は、上述した判別の結果がキュー管理部33によって通知されると、下記の処理を行う。
(1) 該当する判別の結果が偽である場合には、下記の処理(a)〜(c)を行う。
(a) 先行して保持された対を廃棄する(図4(3))。
(b) この対に含まれる新たなパケットの所定のフィールドを参照することによって、その新たなパケットが属するフローを識別する(図4(4))。
【0047】
(c) 廃棄制御レジスタ31Raのレコードの内、上述した対に含まれるクラス識別子に対応する全てのレコード(全てのフロー識別子に対応する)の「 廃棄フラグ」フィールドの値を初期値「0」に設定する(図4(5))。
(2) 反対に、上述した判別の結果が真である場合には、次の一連の処理(a)〜(f)を行う。
【0048】
(a) 先行して保持された対に含まれる新たなパケットの所定のフィールドを参照することによって、その新たなパケットが属するフローを識別する(図4 (6))。
(b) 廃棄制御レジスタ31Raのレコードの内、上述した対に含まれるクラス識別子に対応した全てのレコード(全てのフロー識別子に対応する。)の「廃棄フラグ」フィールドの値が初期値「0」であるか否かを判別する(図4 (7))。
【0049】
(c) その判別の結果が真である場合に限って、これらの全てのレコードの「廃棄フラグ」フィールドの値を「1」に設定する(図4(8))。
(d) 廃棄制御レジスタ31Raのレコードの内、上述したフローを示すフロー識別子と該当するクラス識別子とに対応するレコード(以下、「目的レコード」という。)の「廃棄フラグ」フィールドの値が「0」であるか否かを判別する(図4(9))。
【0050】
(e) その判別の結果が偽である場合には、該当する対を廃棄し、かつ目的レコードの「廃棄フラグ」フィールドの値を「0」に設定する(図4(10)) 。
(f) 反対にこの判別の結果が真である場合には、キュー管理部33宛に、その旨を示す「フロー検定通知」を与える(図4(11)) 。
キュー管理部33は、この「フロー検定通知」が与えられると、先行して保持した対に含まれる新たなパケットとクラス識別子とを取得し、キュー53-1〜53-3の内、そのクラス識別子に対応するキューに、この新たなパケットを蓄積する(図5(5))。
【0051】
また、キュー管理部33は、このような「フロー検定通知」が与えられることなく、帯域監視部31によって他の新たな対が与えられると、先行して保持した対を廃棄した(図5(6))後に既述の処理を起動する。
すなわち、帯域監視部31が行うレート制御の下でキュー管理部33に順次引き渡される新たなパケットは、キュー53-1〜53-3の内、これらのパケットが個別に蓄積されるべきキューに先行して過剰な情報量(数)のパケットが蓄積されている輻輳状態であっても、そのキューに対応するサービスクラス毎に特定のフロー毎に属するパケットに偏ることなく、ほぼ同じ確率で廃棄される。
【0052】
このように本実施形態によれば、輻輳状態に陥ったキューに格納されるべき新たなパケットの内、廃棄されるべきパケットがそのパケットが属するフローが何ら識別されることなく決定されていた従来例に比べて、何れのフローによって達成される伝送品質も等しい値に維持される。
したがって、本実施形態が適用されたノードでは、従来例に比べてデッドロックの発生が確度高く回避され、かつフロー制御の安定性と、網の利用効率とが高められる。
【0053】
以下、本発明の第二の実施形態について説明する。
本実施形態と上述した第一の実施形態との構成の相違点は、図6に示すように、下記の点で既述の廃棄制御レジスタ31Raと構成が異なる廃棄制御レジスタ31Rbがその廃棄制御レジスタ31Raに代えて備えられた点にある。
・ フロー毎に引き続いて廃棄が許容されるべき新たなパケットの残数を示す「廃棄パケット数」フィールドを「廃棄フラグ」フィールドに代えて有する。
【0054】
・ フロー毎に廃棄されるべきパケットの語長の総和を示す「廃棄パケット総語長」フィールドを有する。
図7は、本発明の第二および第四の実施形態における帯域監視部の動作フローチャートである。
以下、図3〜図7を参照して本発明の第二の実施形態の動作を説明する。
【0055】
本実施形態の特徴は、帯域監視部31が行う下記の処理の手順にある。
帯域監視部31は、クラス識別部32によって何らかの対が引き渡される度に、下記の処理を行う。
(1) 該当する対に含まれる新たなパケットの所定のフィールドを参照することによって、その新たなパケットが属するフローを識別すると共に、このフローを示すフロー識別子fを求める。
【0056】
(2) この新たなパケットの語長を求め、上述したように識別されたフロー毎に時系列の順に対応した履歴として、その語長を所定の時間に亘って記録する。
また、帯域監視部31は、規定の単位時間毎に下記の処理を行う。
・ 上述した単位時間に亘って先行する期間内に既述の履歴として記録され、かつクラス識別部32によって引き渡される対に含まれ得る全てのクラス識別子cと、その対に含まれる新たなパケットが属し得るフローを示すフロー識別子fとの全ての組み合わせに対応した個々の語長の総和Lcfを求める。
【0057】
・ 上述した全ての組み合わせに個別に対応する廃棄制御レジスタ31Rbのレコードの「廃棄パケット総語長」フィールドに、上述した語長の総和の内、該当する組み合わせに対応した語長の総和Lcfを格納する。
さらに、帯域監視部31には、クラス識別部32によって新たな対が引き渡される度に、下記の手順に基づいてレート制御を行う。
【0058】
・ 該当する対に含まれる新たなパケットのレートが契約帯域を下回る場合には、その新たなパケットを含む対を保持し、この対をキュー管理部33に引き渡す(図4(1))。
・ 反対に、この新たなパケットのレートが契約帯域を超える場合には、その新たなパケットを含む対を廃棄する(図4(2))。
【0059】
また、キュー管理部33は、帯域監視部31によって上述した対が引き渡される度に、下記の処理を行う。
(1) キュー53-1〜53-3の内、引き渡された対に含まれるクラス識別子に対応した対象キューを特定し、その対象キューに先行して蓄積されているパケットの情報量(キュー長またはそのキュー長の平均値であってもよい。)が既述の上限値THminを上回るか否かを判別する(図5(1))。
【0060】
(2) その判別の結果を帯域監視部31に通知する(図5(2))。
(3) この判別の結果が偽である場合には、該当する対に含まれる新たなパケットをファーストインファーストアウト方式に基づいて対象キューに蓄積する(図5(3))。
(4) 反対に、その判別の結果が真である場合には、該当する対を暫定的に保持し(図5(4))、かつ後述するように帯域監視部31によって与えられる「フロー検定通知」を待ち受ける。
【0061】
一方、帯域監視部31は、上述した判別の結果がキュー管理部33によって通知されると、下記の処理を行う。
(1) 該当する判別の結果が偽である場合には、下記の処理(a)〜(c)を行う。
(a) 先行して保持された対を廃棄する(図4(3))。
(b) この対に含まれる新たなパケットの所定のフィールドを参照することによって、その新たなパケットが属するフローを識別する(図4(4))。
【0062】
(c) 廃棄制御レジスタ31Rbのレコードの内、上述した対に含まれるクラス識別子cに対応する全てのレコード(全てのフロー識別子に対応する)の「廃棄パケット数」フィールドの値を初期値「0」に設定する(図4(5))。
(2) 反対に、上述した判別の結果が真である場合には、次の一連の処理(a)〜(f)を行う。
【0063】
(a) 先行して保持された対に含まれる新たなパケットの所定のフィールドを参照することによって、その新たなパケットが属するフローを識別する(図4 (6))。
(b) 廃棄制御レジスタ31Rbのレコードの内、上述した対に含まれるクラス識別子cに対応した全てのレコード(全てのフロー識別子に対応する。)の「廃棄パケット数」フィールドの値が初期値「0」であるか否かを判別する(図7(1))。
【0064】
(c) その判別の結果が真である場合に限って、これらの全てのレコードの「廃棄パケット数」フィールドの値を下記の初期値Ncfに設定する(図7(2))。
ここに、初期値Ncfは、廃棄制御レジスタ31Rbのレコードの内、クラス識別子cに対応した全てのレコードの「廃棄パケット総語長」フィールドの値の総和と、そのクラス識別子cに対応した個々のレコードの「廃棄パケット総語長」フィールドの値との比以上である整数、またはその比が大きいほど大きい整数としてNcfとして与えられる。
【0065】
(d) 廃棄制御レジスタ31Rbのレコードの内、上述したフローを示すフロー識別子と該当するクラス識別子とに対応するレコード(以下、「目的レコード」という。)の「廃棄パケット数」フィールドの値が「0」であるか否かを判別する(図7(3))。
(e) その判別の結果が偽である場合には、該当する対を廃棄し、かつ目的レコードの「廃棄パケット数」フィールドの値をデクリメントする(図7(4))。
【0066】
(f) 反対に、この判別の結果が真である場合には、キュー管理部33宛に、その旨を示す「フロー検定通知」を与える(図7(5))。
キュー管理部33は、この「フロー検定通知」が与えられると、先行して保持した対に含まれる新たなパケットとクラス識別子とを取得し、キュー53-1〜53-3の内、そのクラス識別子に対応するキューに、この新たなパケットを蓄積する(図5(5))。
【0067】
また、キュー管理部33は、このような「フロー検定通知」が与えられることなく、帯域監視部31によって他の新たな対が与えられる(図5(6))と、先行して保持した対を廃棄した後に、既述の処理を起動する。
すなわち、帯域監視部31が行うレート制御の下でキュー管理部33に順次引き渡される新たなパケットは、キュー53-1〜53-3の内、これらのパケットが個別に蓄積されるべきキューに先行して過剰な情報量(数)のパケットが蓄積されている輻輳状態であっても、その新たなパケットが属するフロー毎のレートの如何にかかわらず一定の頻度で廃棄される。
【0068】
したがって、本実施形態によれば、上述した輻輳状態に陥ったキューに格納されるべき新たなパケットの内、廃棄されるべきパケットがこれらのパケットが属するフロー毎のレートの如何にかかわらず決定される場合に比べて、何れのフローによって達成される伝送品質もほぼ均一に維持される。
以下、本発明の第三の実施形態について説明する。
【0069】
本実施形態と上述した第二の実施形態との構成の相違点は、図6に示すように、廃棄制御レジスタ31Rbに代えて、レコード毎に既述の「廃棄パケット数」フィールドの値の退避先となるべき「先行廃棄パケット数」フィールドを有する点で、その廃棄制御レジスタ31Rbと異なる廃棄制御レジスタ31Rcが備えられた点にある。
【0070】
以下、図3〜図6を参照して本発明の第三の実施形態の動作を説明する。
本実施形態と既述の第二の実施形態との相違点は、帯域監視部31とキュー管理部31とが行う下記の処理の手順にある。
キュー管理部33は、キュー53-1〜53-3に蓄積されているパケットの情報量を個別に所定の頻度で監視し(図5(a))、これらの情報量の何れかが所定の下限値を下回ると、該当するキューの識別子を含む「輻輳状態解消通知」を帯域監視部31に与える(図5(b))。
【0071】
一方、帯域監視部31は、下記の点で既述の第二の実施形態と異なる手順に基づく処理を行う。
帯域監視部31は、キュー53-1〜53-3の何れかの識別子(ここでは、簡単のため、既述のクラス識別子cに等しいと仮定する。)を含む「輻輳状態解消通知」がキュー管理部33によって与えられると、廃棄制御レジスタ31Rcのレコードの内、この「輻輳状態解消通知」に含まれるクラス識別子cに対応する全てのレコードについて、それぞれ「廃棄パケット数」フィールドの値を「先行廃棄パケット数」フィールドに退避する(図4(a))。
【0072】
なお、帯域監視部31が何らかの新たな対をキュー管理部33に引き渡すために行う処理(図4(1)、(2))の手順については、既述の第二の実施形態において行われる処理と同じであるので、ここではその説明を省略する。
また、帯域監視部31は、キュー管理部33によって既述の判別の結果が通知されると、下記の処理を行う。
【0073】
(1) 該当する判別の結果が偽である場合には、下記の処理(a)〜(c)を行う。
(a) 先行して保持された対を廃棄する(図4(3))。
(b) この対に含まれる新たなパケットの所定のフィールドを参照することによって、その新たなパケットが属するフローを識別する(図4(4))。
(c) 廃棄制御レジスタ31Rcのレコードの内、上述した対に含まれるクラス識別子cに対応する全てのレコード(全てのフロー識別子に対応する)についてそれぞれ「廃棄パケット数」フィールドの値を「先行廃棄パケット数」フィールドに退避し(図4(b))、さらに、これらの「廃棄パケット数」フィールドの値を初期値「0」に設定する(図4(c))。
【0074】
(2) 反対に、上述した判別の結果が真である場合には、次の一連の処理(a)〜(g)を行う。
(a) 先行して保持された対に含まれる新たなパケットの所定のフィールドを参照することによって、その新たなパケットが属するフローを識別する(図4 (6))。
【0075】
(b) 廃棄制御レジスタ31Rbのレコードの内、上述した対に含まれるクラス識別子cに対応した全てのレコード(全てのフロー識別子に対応する。)の「先行廃棄パケット数」フィールドの値が初期値「0」であるか否かを判別する(図4(d))。
(c) その判別の結果が真である場合には、これらの全てのレコードについて、それぞれ「廃棄パケット数」フィールドの値を既述の初期値Ncfに設定する(図4(e))。
【0076】
(d) 反対に、この判別の結果が偽である場合には、上述した全てのレコードについて、それぞれ「先行廃棄パケット数」フィールドの値を「廃棄パケット数」フィールドに複写する(図4(f))。
(e) 廃棄制御レジスタ31Rcのレコードの内、上述したフローを示すフロー識別子と該当するクラス識別子とに対応する目的レコードの「廃棄パケット数」フィールドの値が「0」であるか否かを判別する(図4(g))。
【0077】
(f) その判別の結果が偽である場合には、該当する対を廃棄し、かつ目的レコードの「廃棄パケット数」フィールドの値をデクリメントする(図4(h))。
(g) 反対に、この判別の結果が真である場合には、キュー管理部33宛に、その旨を示す「フロー検定通知」を与える(図4(11)) 。
なお、キュー管理部33がこのような「フロー検定通知」に応じて行う処理の手順については、既述の第二の実施形態と同じであるので、ここではその説明を省略する。
【0078】
すなわち、キュー53-1〜53-3の内、輻輳状態に陥ったキューに蓄積されるべき新たなパケットの内、その輻輳状態からの脱却を目的として廃棄されるべきパケットの数のセル毎の残数は、この輻輳状態が解消された後であっても、後続して発生する輻輳状態において廃棄されるべきパケットの数として確実に引き継がれる。
【0079】
したがって、キュー53-1〜53-3の何れかが間欠的に輻輳状態に陥る場合であっても、個々のフローに属するパケットが廃棄されるべき頻度は、精度よく、かつ適正に保たれる。
なお、本実施形態では、廃棄制御レジスタ31Rcの何れのレコードについても、「廃棄パケット数」フィールドの値は、対応するサービスクラスおよびフローに属する新たなパケットが廃棄されない限りデクリメントされない。
【0080】
しかし、何れの「廃棄パケット数」フィールドについても、値が更新された時点から経過した時間に応じて小さな値となる重みによる重み付けが施されることによって、該当するサービスクラスにおいて形成される大半のフローに属する所望の数のパケットが廃棄されたにもかかわらず、これらのフローに比べてレートが著しく小さいフローに属するパケットの廃棄が著しく遅れ、そのために輻輳状態が解消された時点の識別が無用に遅れることが回避されてもよい。
【0081】
以下、本発明の第四の実施形態について説明する。
本実施形態のハードウエアの構成は、既述の第二の実施形態の構成と基本的に同じであるので、ここではその説明を省略する。
以下、図3〜図7を参照して本発明の第四の実施形態の動作を説明する。
本実施形態と既述の第二の実施形態との相違点は、帯域監視部31およびキュー管理部33が連係して行う下記の処理の手順にある。
【0082】
キュー管理部33は、帯域監視部31によって何らかの対が引き渡されるたびに、キュー53-1〜53-3の内、その対に含まれるクラス識別子に対応した対象キューを特定し、その対象キューに先行して蓄積されているパケットの情報量が規定の上限値THmin を上回るか否かを判別する(図5(1))。
さらに、キュー管理部33は、その判別の結果が偽である場合には、帯域監視部31に通知すべきこの判別の結果として、対象キューに実際に蓄積されているパケットの情報量と上述した上限値THmin との比(または差)(以下、「輻輳係数」という。)を付加する(図5(A))。
【0083】
一方、帯域監視部31は、上述した判別の結果がキュー管理部33によって通知されると、下記の処理を行う。
(1) 該当する判別の結果が偽である場合には、第二の実施形態と同様の手順に基づいて先行して保持された対を廃棄し、かつ廃棄制御レジスタ31Rbのレコードの内、上述した対に含まれるクラス識別子cに対応する全てのレコードの「廃棄パケット数」フィールドの値を初期値「0」に設定する(図4(3)、(4)、 (A))。
【0084】
(2) 反対に、上述した判別の結果が真である場合には、次の一連の処理(a)〜(e)を行う。
(a) その判別の結果に含まれる「輻輳係数」を取得する(図4(B))。
【0085】
(b) 先行して保持された対に含まれる新たなパケットの所定のフィールドを参照することによって、その新たなパケットが属するフローを識別する(図4 (6))。
(c) 廃棄制御レジスタ31Rbのレコードの内、上述した対に含まれるクラス識別子cに対応した全てのレコードの「廃棄パケット数」フィールドの値が初期値「0」であるか否かを判別する(図7(1))。
【0086】
(d) その判別の結果が真である場合に限って、これらの全てのレコードの「廃棄パケット数」フィールドの値を既述の初期値Ncfと上述した「輻輳係数」との積に設定する(図7(A))。
(e) 以下、第二の実施形態と同様の手順に基づく処理(ここでは、詳細な説明を省略する。)を続行する。
【0087】
また、このような処理の過程で帯域監視部31によって与えられた「フロー検定通知」に応じてキュー管理部33によって行われる処理の手順については、第二の実施形態と同じであるので、ここではその説明を省略する。
すなわち、帯域監視部31が行うレート制御の下でキュー管理部33に順次引き渡される新たなパケットは、キュー53-1〜53-3の内、そのパケットが個別に蓄積されるべきキューに先行して過剰な情報量(数)のパケットが蓄積されている輻輳状態には、この新たなパケットが属するフロー毎のレートの如何にかかわらず、その情報量の過剰な程度(既述の「輻輳係数」)に比例した頻度で廃棄される。
【0088】
したがって、本実施形態によれば、キュー53-1〜53-3で並行して生じ得る輻輳状態の程度の如何にかかわらず、その輻輳状態の解消を目的としてフロー毎に廃棄されるべきパケットの頻度が決定される第二の実施形態に比べて、このような輻輳状態の解消が効率的に、かつ速やかに図られる。
なお、本実施形態では、「輻輳係数」として適用されるべき好適な値やその値の値域が何ら示されていない。
【0089】
しかし、このような「輻輳係数」の値については、所望の形態によるフロー制御の実現、もしくはそのフロー制御にかかわる制約の回避が達成される値、または予め決められ離散的な値の何れかに設定されてもよい。
以下、本発明の第五の実施形態について説明する。
本実施形態のハードウエアの構成については、既述の第三の実施形態と基本的に同じであるので、ここでは、その説明を省略する。
【0090】
以下、図3および図4を参照して本発明の第五の実施形態の動作を説明する。
本実施形態と既述の第三の実施形態との相違点は、帯域監視部31によって行われる下記の処理の手順にある。
帯域監視部31は、キュー53-1〜53-3の何れかの識別子(ここでは、簡単のため、既述のクラス識別子cに等しいと仮定する。)を含む「輻輳状態解消通知」がキュー管理部33によって与えられると、廃棄制御レジスタ31Rcのレコードの内、このクラス識別子cに対応する全てのレコードについて、それぞれ「廃棄パケット数」フィールドの値を「先行廃棄パケット数」フィールドに退避する(図4(a))。
【0091】
なお、帯域監視部31が何らかの新たな対をキュー管理部33に引き渡すために行う処理の手順については、既述の第二の実施形態において行われる処理と同じであるので、ここではその説明を省略する。
また、帯域監視部31は、キュー管理部33によって既述の判別の結果が通知されると、下記の処理を行う。
【0092】
(1) 該当する判別の結果が偽である場合には、第三の実施形態と同様の手順に基づいて、先行して保持された対を廃棄し、かつ廃棄制御レジスタ31Rcのレコードの内、上述した対に含まれるクラス識別子cに対応する全てのレートについて「廃棄パケット数」フィールドの値を「先行廃棄パケット数」フィールドに退避し、さらに、これらの「廃棄パケット数」フィールドの値を初期値「0」に設定する(図4(3)、(4)、(A))。
【0093】
(2) 反対に、上述した判別の結果が真である場合には、次の一連の処理(a)〜(e)を行う。
(a) 先行して保持された対に含まれる新たなパケットの所定のフィールドを参照することによって、その新たなパケットが属するフローを識別する(図4 (6))。
【0094】
(b) 廃棄制御レジスタ31Rbのレコードの内、上述した対に含まれるクラス識別子cに対応した全てのレコード(全てのフロー識別子に対応する。)の「先行廃棄パケット数」フィールドの値が初期値「0」であるか否かを判別する(図4(d))。
(c) その判別の結果の如何にかかわらず、これらの全てのレコードについて、「廃棄パケット数」フィールドの値を既述の初期値Ncfに設定する(図4 (e))。
【0095】
(d) さらに、上述した判別の結果が偽である場合には、上述した全てのレコードについて、それぞれ「廃棄パケット数」フィールドの値に「先行廃棄パケット数」フィールドの値を加算する(図4(i))。
(e) 以下、第三の実施形態と同様の手順に基づいて処理を続行する。
また、このような処理の過程で帯域監視部31が与える「フロー検定通知」に応じてキュー管理部33によって行われる処理の手順については、第三の実施形態と同じであるので、ここではその説明を省略する。
【0096】
すなわち、キュー53-1〜53-3の内、輻輳状態に陥ったキューに蓄積されるべき新たなパケットの内、その輻輳状態からの脱却を目的として廃棄されるべきパケットの数のセル毎の残数は、この輻輳状態が解消された後であっても、後続して発生する輻輳状態において本来的に廃棄されるべきパケットの数に加算されて確実に引き継がれる。
【0097】
したがって、キュー53-1〜53-3の何れかが間欠的に輻輳状態に陥る場合であっても、個々のフローに属するパケットが廃棄されるべき頻度は、第三の実施形態に比べてさらに精度よく、かつ適正に保たれる。
なお、既述の第三および第五の実施形態は、それぞれ第二および第三の実施形態2に既述の改良が加えられることによって構成されている。
【0098】
しかし、これらの第三および第五の実施形態は、既述の第一の実施形態に同様の改良が加えられることによって構成されてもよい。
以下、本発明の第六の実施形態について説明する。
本実施形態の構成は、既述の第二の実施形態と基本的に同じであるので、ここではその説明を省略する。
【0099】
以下、図3および図6を参照して本発明の第六の実施形態の動作を説明する。
本実施形態の特徴は、帯域監視部31が行う下記の処理の手順にある。
帯域監視部31は、下記の全てまたは一部を勘案することによって、キュー53-1〜53-3に対応する個々のサービスクラスのパケットによって実現され得る最大の伝送速度(伝送帯域)(以下、「最大有能速度」という。)を求める。
【0100】
・ キュー53-1〜53-3のサイズ
・ これらのキュー53-1〜53-3から読み出されたパケットが与えられ、あるいは送出されるべきスイッチ、後続する伝送区間の状況(輻輳の程度、障害の有無等を含む。)
なお、上述した最大有能速度については、「全てのサービスクラスに共通である規定の標準的な伝送速度に対する比率」として与えられると仮定する。
【0101】
また、上述した伝送区間の状況を把握するために行われるべき処理の手順については、本発明の特徴ではなく、かつ多様な公知技術の適用の下で実現が可能であるので、ここではその説明を省略する。
【0102】
さらに、帯域監視部31は、既述の第二の実施形態と同じ手順に基づいて、クラス識別部32によって引き渡された対に含まれるパケットのフロー毎に、その単位時間当たりの語長の総和Lcfを求め、かつ廃棄制御レジスタ31Rbのレコードの「廃棄パケット総語長」フィールドに、この語長の総和Lcfと「上述した最大有能速度として求められた比率」との積をその語長の総和Lcfに代えて格納する。
【0103】
すなわち、キュー53-1〜53-3の何れかに生じた輻輳状態において、帯域監視部31が行うレート制御の下でキュー管理部33に順次引き渡された新たなパケットが廃棄される頻度は、フロー毎のレートが大きいほど大きく、かつ該当するキューに対応したサービスクラスにおいて実際に確保され得る最大有能速度が小さいほど小さな頻度で廃棄される。
【0104】
このように本実施形態によれば、個々のサービスクラスにおいて実際に確保され得る最大有能速度が小さい状態であるにもかかわらず、キュー53-1〜53-3に生じた輻輳状態の解消を目的として廃棄されるべきパケットの数が過大となることが回避される。
したがって、キュー53-1〜53-3の何れについても、発生した輻輳状態は、伝送品質が過度に劣化することなく解消される。
【0105】
以下、本発明の第七の実施形態について説明する。
本実施形態のハードウエアの構成については、上述した第六の実施形態の構成と基本的に同じであるので、ここではその説明を省略する。
以下、図3を参照して本発明の第七の実施形態の動作を説明する。
本実施形態と上述した第二の実施形態との相違点は、帯域監視部31が行う下記の処理の手順にある。
【0106】
帯域監視部31は、既述の第六の実施形態と同じ手順に基づいて、キュー53-1〜53-3に対応する個々のサービスクラスのパケットによって実現され得る最大の伝送速度(伝送帯域)(以下、「最大有能速度」という。)を求める。
なお、本実施形態では、この最大有能速度は、単位時間当たりに伝送されるべきパケットの数として与えられると仮定する。
【0107】
さらに、帯域監視部31は、このようにサービスクラス毎に求められた最大有能速度の単調増加関数の値として与えられ、かつキュー53-1〜53-3に生じた輻輳状態の解消を目的として廃棄されるべきパケットの数と、その廃棄の対象とならないパケットの数とのフロー毎の差または比がとるべき標準的な値である標準値を求める。
【0108】
なお、このような標準値は、サービスクラス毎の最大有能速度に適応した値がフロー毎の伝送帯域で比例案分されることによって求められ、これらのフロー毎の伝送帯域は実測によって求められ、あるいは予め定数として与えられてもよい。
また、帯域監視部31は、キュー53-1〜53-3の何れかが陥った輻輳状態の解消を目的として廃棄されるべき新たなパケットを確定する処理(この処理の手順については、後述する点を除いて第二の実施形態と同じであるので、ここではその説明を省略する。)の過程において、下記の処理を併せて行う。
【0109】
(a) 上述した廃棄されるべき新たなパケットを確定する度に、そのパケットの数Dcfを該当するパケットのサービスクラス(クラス識別子c)とフロー(フロー識別子f)との組み合わせ毎に計数する。
(b) 反対に廃棄の対象とならない新たなパケットを確定する確定する度に、そのパケットの数dcfを該当するパケットのサービスクラス(クラス識別子c)とフロー(フロー識別子f)との組み合わせ毎に計数する。
【0110】
さらに、帯域監視部31は、キュー管理部33によって通知された既述の判別の結果が真である場合には、下記の点を除いて第二の実施形態と同じ手順に基づく処理を行う。
(1) 廃棄制御レジスタ31Rbのレコードの内、先行して識別されたフローを示すフロー識別子とクラス識別子とに対応する目的レコードの「廃棄パケット数」フィールドの値が「0」でない場合には、上述したパケットの数Dcf、dcfに対して下記の何れかの判別式の値(以下、「判別値」という。)jが上述した標準値以上であるか否かを判別する。
【0111】
j=Dcf/dcf
j=dcf−Dcf
(2) その判別の結果が真である場合には、該当する対の廃棄に併せて、目的レコードの「廃棄パケット数」フィールドの値のデクリメントを差し控える。
したがって、本実施形態によれば、キュー53-1〜53-3の輻輳状態の解消を目的として行われるべき新たなパケットの廃棄は、その新たなパケットが属するフローについて求められた最大有能速度が小さいほど少ない回数で打ち切られる。
【0112】
なお、本実施形態および既述の第六の実施形態では、キュー53-1〜53-3の内、輻輳状態に陥ったキューに対応するサービスクラスで実際に確保され得る最大有能速度が所定の通信制御の下で監視されている。
しかし、このような最大有能速度は、例えば、キュー53-1〜53-3のサイズと、これらのキュー53-1〜53-3に個別に対応するサービスクラスのパケットによってフロー毎に達成されるべき伝送速度との双方もしくは何れか一方が予め精度よく与えられ、かつ既述の伝送区間の障害に起因して生じ得る低下分が適正なマージンとして与えられる場合には、局情報その他の情報として予め与えられてもよい。
【0113】
また、本実施形態および上述した第六の実施形態では、キュー53-1〜53-3に生じた輻輳状態の解消を目的としてフロー毎に廃棄されるべきパケットの頻度が一定に保たれている。
【0114】
しかし、本発明はこのような構成に限定されず、例えば、フロー毎に下記の双方もしくは何れか一方が大きいほど、廃棄されるべきパケットの頻度が段階的に小さな値に設定されることによって、該当するキューに蓄積されるパケットの数の増加が積極的に規制され、そのキューに過剰に蓄積されたパケットの大半が速やかに読み出される環境が確保されてもよい。
【0115】
・ 対応するキューが輻輳状態に陥った時点から経過した時間
・ 先行して廃棄されたパケットの数
以下、本発明の第八の実施形態について説明する。
本実施形態のハードウエアの構成は、既述の第二の実施形態と基本的に同じであるので、ここではその説明を省略する。
【0116】
以下、図3を参照して本発明の第八の実施形態の動作を説明する。
帯域監視部31は、既述の第七の実施形態と同じ手順に基づいて、「最大有能速度」、標準値、廃棄されたパケットの数Dcf、廃棄の対象とならなかったパケットの数dcfを求める。
また、帯域監視部31は、キュー53-1〜53-3の何れかの輻輳状態が継続している期間には、下記の処理を行う。
【0117】
(1) 該当するクラス識別子c、このクラス識別子cのパケットが属し得るフローのフロー識別子fとの全ての組み合わせについて、上述したパケットの数Dcfの総和ΣDと、廃棄の対象とならなかったパケットの数dcfの総和Σdとを算出し、かつ下式で示される判別値Jを算出する。
J=ΣD/(ΣD+Σd)
(2) その判別値Jが規定の下限値を下回るか否かを判別する。
【0118】
(3) この判別の結果が真である場合に限って、下記の処理(a)、(b) の何れかを行う。
(a) 該当するサービスクラスに関する限り、全てのフローに個別に対応したパケットの数Dcf、パケットの数dcfを下式に基づいて更新する。
Dcf=−Dcf
dcf=0
(b) 上述した処理(a) に併せて、下記の処理を行う。
【0119】
上記の判別値Jの値が規定の下限値を下回るフローに対応したパケットの数Dcfについては、予め与えられ、あるいはフロー制御の方式に適応した値として算出された正数αに対して下式で示される値に更新する。
Dcf=−Dcf−α
すなわち、輻輳状態に陥ったキューに蓄積され得るパケットの内、廃棄されるべき数のパケットの大半が廃棄されたときには、フロー毎に引き続いて廃棄されるべきパケットの残数が有効に引き渡されつつ、これらのフローの全てに属するパケットが廃棄の対象となる。
【0120】
このように本実施形態によれば、輻輳状態に一端陥ったキューには、そのキューに蓄積され得るパケットの内、実効的なレートが他のフローに比べて小さい特定のフローに属するパケットが長時間に渡って生起しない場合であっても、多くの新たなパケットがさらに蓄積され、そのためにこの輻輳状態が無用に続き、あるいは再発することが回避される。
【0121】
なお、本実施形態では、既述の判別値Jは、全てのフローに属する新たなパケットの内、廃棄されたパケットの数の総和ΣDと、廃棄されなかったパケットの数との総和Σdとに基づいて算出されている。
しかし、本発明はこのような構成に限定されず、「輻輳状態に陥ったキューに蓄積されることなく廃棄されるべきパケットの内、大半のフローに属する全てのパケットが廃棄された」ことが所望の確度で識別されるならば、例えば、個々のフローに対応した比(=Dcf/(Dcf+dcf)) の統計的な分散が判別値Jに代えて適用されてもよい。
【0122】
また、上述した各実施形態では、キュー53-1〜53-3の何れかが輻輳状態に陥っているときに、該当するキューに蓄積されることなく廃棄されるべきパケットを選択する処理が帯域監視部31によって行われている。
しかし、このような処理の全てまたは一部は、廃棄の対象となり得る新たなパケットのサービスクラスとそのパケットが属するフローとの識別が確実に行われるならば、キュー管理部33によって行われ、あるいはそのキュー管理部33および帯域管理部31とは別体に備えられた構成要素によって行われてもよい。
【0123】
さらに、本発明は、上述した実施形態に限定されるものではなく、本発明の範囲において、多様な形態による実施形態が可能であり、かつ構成装置の一部もしくは全てに如何なる改良が施されてもよい。
以下、上述した各実施形態に開示された発明の構成を階層的・多面的に整理し、かつ付記項として順次列記する。
【0124】
(付記1) 入力されたパケットの列のレートをこれらのパケットが個別に属するフロー毎に規定の上限値以下に調整するレート制御手段11と、
前記入力されたパケットが属し得る個々のクラスに対応して備えられ、これらのクラスのパケットの先入れ先出し方式に基づく蓄積および送出に供されるキュー12-1〜12-Nと、
前記キュー12-1〜12-Nの内、蓄積されているパケットの情報量が規定の閾値を超えるキューを識別するキュー監視手段13と、
前記レート制御手段11によってレートが調整され、かつ前記キュー監視手段13によって識別されたキューに格納されるべき新たなパケットが属するフロー毎に、その新たなパケットを所定の頻度で廃棄するバッファ管理手段14と
を備えたことを特徴とするフロー制御装置。(1)
(付記2) 付記1に記載のフロー制御装置において、
バッファ管理手段14は、
レート制御手段11と一体化され、そのレート制御手段11に備えられ、かつ入力された個々のパケットが属するフローを識別する手段を共用する
ことを特徴とするフロー制御装置。(2)
(付記3) 付記1または付記2に記載のフロー制御装置において、
入力されたパケットの列のレートをフロー毎に監視するレート監視手段15を備え、
バッファ管理手段14は、
前記レート監視手段15によって監視されたレートのクラス毎の比率、またはその比率の単調増加関数として与えられる比率に等しい頻度で、キュー12-1〜12-Nの内、レート制御手段11によってレートが調整されたパケットのクラスに対応するキューにそのパケットを蓄積する
ことを特徴とするフロー制御装置。(3)
(付記4) 付記1〜3に記載のフロー制御装置において、
バッファ管理手段14は、
フロー毎にパケットを廃棄した実績を記録し、その実績があるフローに属する新たなパケットを廃棄の対象から除外し、またはこの実績がないフローに属する新たなパケットが廃棄されるべき頻度より小さな頻度で廃棄する
ことを特徴とするフロー制御装置。(4)
(付記5) 付記1〜3に記載のフロー制御装置において、
バッファ管理手段14は、
フロー毎にパケットを廃棄した回数を計数し、その回数が規定の値以上であるフローに属するパケットを廃棄の対象から除外し、またはこの回数がその規定の値未満であるフローに属する新たなパケットが廃棄されるべき頻度より小さな頻度で廃棄する
ことを特徴とするフロー制御装置。
【0125】
(付記6) 付記4に記載のフロー制御装置において、
バッファ管理手段14は、
パケットが廃棄された実績をそのパケットが属するフローに対応付けて保持し、かつキュー監視手段13によって識別されたキューに蓄積されるべきパケットの内、個別に属するフローに対応した実績が保持されているパケットを廃棄の対象から除外し、またはこの実績がないフローに属する新たなパケットが廃棄されるべき頻度より小さな頻度で廃棄する
ことを特徴とするフロー制御装置。
【0126】
(付記7) 付記5に記載のフロー制御装置において、
バッファ管理手段14は、
パケットが廃棄された回数をそのパケットが属するフローに対応付けて保持し、かつキュー監視手段13によって識別されたキューに蓄積されるべきパケットの内、個別に属するフローに対応した回数が所定の値を上回るパケットを廃棄の対象から除外し、またはこの回数がその所定の値未満であるフローに属する新たなパケットが廃棄されるべき頻度より小さな頻度で廃棄する
ことを特徴とするフロー制御装置。
【0127】
(付記8) 付記5に記載のフロー制御装置において、
バッファ管理手段14は、
パケットが廃棄された回数を時間の経過に応じて小さく重み付けしつつそのパケットが属するフローに対応付けて保持し、かつキュー監視手段13によって識別されたキューに蓄積されるべきパケットの内、個別に属するフローに対応した回数が保持されているパケットを廃棄の対象から除外し、またはこの回数が少ないほど小さな頻度でそのパケットを廃棄する
ことを特徴とするフロー制御装置。
【0128】
(付記9) 付記1〜8に記載のフロー制御装置において、
キュー監視手段13は、
キュー12-1〜12-Nに個別に蓄積されているパケットの情報量が規定の閾値を超える程度を識別し、
バッファ管理手段14は、
前記キュー監視手段13によって識別された程度が大きいキューほど大きな頻度で、そのキューに格納されるべき新たなパケットを廃棄する
ことを特徴とするフロー制御装置。
【0129】
(付記10)付記1〜9にフロー制御装置において、
バッファ管理手段14は、
キュー12-1〜12-Nに個別に対応するクラスに適応した最大値が予め与えられ、その最大値以下の頻度でそのクラスの新たなパケットを廃棄する
ことを特徴とするフロー制御装置。
【0130】
(付記11)付記1〜10に記載のフロー制御装置において、
バッファ管理手段14は、
入力されたパケットが属し得る個々のクラスに確保されるべき伝送帯域の幅に適応し、かつ共通のフローに属して廃棄が許容されるべき新たなパケットの最大の数が個々のフローについて与えられ、これらのフロー毎にその最大の数の新たなパケットを廃棄した後に後続する新たなパケットの廃棄を差し控える
ことを特徴とするフロー制御装置。
【0131】
(付記12)付記1〜10に記載のフロー制御装置において、
キュー12-1〜12-Nに個別に対応したクラス毎に確保されるべき最大の伝送帯域の幅を把握する伝送帯域監視手段16を備え、
バッファ管理手段14は、
前記キュー12-1〜12-Nに対応したクラス毎に、前記伝送帯域監視手段16によって把握された伝送帯域の幅に適応し、かつ共通のフローに属して廃棄が許容されるべき新たなパケットの最大の数が個々のフローについて与えられ、これらのフロー毎にその最大の数以上の新たなパケットを廃棄した後に後続する新たなパケットの廃棄を差し控える
ことを特徴とするフロー制御装置。
【0132】
(付記13)付記1〜10に記載のフロー制御装置において、
バッファ管理手段14は、
キュー監視手段13によって識別されたキューに格納されるべきパケットが属し得るフロー毎に、そのキューに対応したクラスに確保されるべき伝送帯域の幅に適応する基準値が与えられ、先行して廃棄されたパケットと廃棄されなかったパケットとの数もしくは情報量の総和の差または比がその基準値以上となった後に後続する新たなパケットの廃棄を差し控える
ことを特徴とするフロー制御装置。
【0133】
(付記14)付記1〜13に記載のフロー制御装置において、
バッファ管理手段14は、
フロー毎に時系列の順に小さな頻度で新たなパケットを廃棄する
ことを特徴とするフロー制御装置。
(付記15)付記1〜14に記載のフロー制御装置において、
バッファ管理手段14は、
キュー12-1〜12-Nに個別に対応するクラスの新たなパケットが廃棄された比率の分散が所定の閾値を下回ったときに、これらの比率の内、そのクラスの新たなパケットに対応する比率が大きいほど大きな頻度でその新たなパケットを廃棄する
ことを特徴とするフロー制御装置。
【0134】
(付記16)付記1ないし付記15の何れか1項に記載され、かつ入力されたパケットの列のレート制御に併せて、これらのパケットのクラスに個別に対応したキューのバッファ管理をフロー毎に行うフロー制御装置21と、
所定のリンクまたは端末に、前記フロー制御装置21によって行われたレート制御およびバッファ管理の下で与えられたパケットを送出する通信インタフェース手段22と
を備えたことを特徴とするノード装置。(5)
【0135】
【発明の効果】
上述したように請求項1に記載のフロー制御装置では、輻輳状態の解消を目的として該当するキューに対する蓄積が見合わされ、かつ廃棄されるべきパケットがそのフローが属するフローの如何にかかわらず選択される従来例に比べて、特定のフローに属するパケットが他のフローに属するパケットより著しく大きな頻度で廃棄されることが回避される。
また、請求項1に記載のフロー制御装置では、ランニングコストの削減に併せて応答性の向上が図られる。
【0136】
また、請求項2に記載のフロー制御装置では、コストの削減と信頼性の向上とが図られる。
さらに、請求項3に記載の第三のフロー制御装置では、余剰の伝送帯域がフロー毎のレートの如何にかかわらず各フローに一律に割り付けられる場合に比べて、そのレートが低い特定のフローの伝送品質が他のフローの伝送品質に比べて大幅に劣化することが回避される。
【0137】
さらに、請求項1ないし請求項3に記載の発明の下位概念の発明では、個々のフローのレートが多様に異なり、あるいは刻々と変化し得る場合であっても、上述したパケットの廃棄に伴って特定のフローの伝送品質が他のフローの伝送品質に比べて大幅に劣化することが回避される。
【0138】
また、請求項1に記載の発明の下位概念の発明では、何れかのキューが間欠的に輻輳状態に陥る場合であっても、ランニングコストの削減に併せて応答性の向上が図られる。
さらに、請求項1ないし請求項3に記載の発明に関連した第一の発明では、各フローのレートの組み合わせの如何にかかわらず、輻輳状態が解消された時点が無用に遅れることなく識別される。
【0139】
また、請求項1ないし請求項3に記載の発明に関連した第二の発明では、輻輳の度合いがキュー毎に何ら識別されない場合に比べて、その輻輳の無用な加速が規制され、この輻輳の解消が効率的に達成される。
さらに、請求項1ないし請求項3に記載の発明に関連した第三の発明では、所望の形態によるフロー制御が確度高く実現され、そのフロー制御の過程でフローおよびサービスクラスの単位に所望の伝送容量が確保される。
【0140】
また、請求項1ないし請求項3に記載の発明に関連した第四の発明では、伝送品質が無用に劣化することなく輻輳状態が解消される。
さらに、請求項1ないし請求項3に記載の発明に関連した第五の発明では、伝送品質が無用に劣化することなく、その輻輳状態の緩和や加速の度合い、後続する伝送区間その他の稼働状況に対して柔軟に適応した形態で輻輳状態が解消される。
【0141】
また、請求項1ないし請求項3に記載の発明に関連した第六の発明では、伝送速度が小さいフローに属するパケットが不適正に多数に亘って廃棄されることが条件となることなく、輻輳状態の解消が達成され、あるいは識別される。
さらに、請求項1ないし請求項3に記載の発明に関連した第七の発明では、輻輳状態に陥ったキューに蓄積されたパケットの大半は、そのキューがこの輻輳状態に陥った直後に速やかに、かつ確度高く読み出される。
【0142】
また、請求項1ないし請求項3に記載の発明に関連した第八の発明では、輻輳状態に陥ったキューに多くの新たなパケットがさらに蓄積され、この輻輳状態が無用に加速されることが回避される。
さらに、請求項4に記載の発明では、フロー毎の伝送品質が均一に保たれ、かつサービス品質が高く維持される。
【0143】
したがって、これらの発明が適用された伝送系では、トラヒックの分布、キューならびにパケットのサイズその他の構成の如何にかかわらず、伝送品質が適正に、かつ安定に保たれると共に、サービス品質と総合的な信頼性とが高められる。
【図面の簡単な説明】
【図1】本発明にかかわるフロー制御装置の原理ブロック図である。
【図2】本発明にかかわるノード装置の原理ブロック図である。
【図3】本発明の第一ないし第八の実施形態を示す図である。
【図4】本発明の第一ないし第五の実施形態における帯域監視部の動作フローチャートである。
【図5】本発明の第一ないし第四の実施形態におけるキュー管理部の動作背フローチャートである。
【図6】廃棄制御レジスタの構成を示す図である。
【図7】本発明の第二および第四の実施形態における帯域監視部の動作フローチャートである。
【図8】インタネットにおいてエンド・ツー・エンドで保証されるべきサービスクラスの一例を示す図である。
【図9】ノードの入り線においてフロー制御を行う装置の構成例を示す図である。
【図10】目的キューの長さに応じてパケットが廃棄されるべき確率の一例を示す図である。
【符号の説明】
11 レート制御手段
12,53 キュー
13 キュー監視手段
14 バッファ管理手段
15 レート監視手段
16 伝送帯域監視手段
21 フロー制御装置
22 通信インタフェース手段
31,51 帯域監視部
31Ra,31Rb,31Rc 廃棄制御レジスタ
32 クラス識別語
33 キュー管理部
52 輻輳制御部
54 スケジューラ
Claims (4)
- 入力されたパケットの列のレートをこれらのパケットが個別に属するフロー毎に規定の上限値以下に調整するレート制御手段と、
前記入力されたパケットが属し得る個々のクラスに対応して備えられ、これらのクラスのパケットの先入れ先出し方式に基づく蓄積および送出に供されるキューと、
前記キューの内、蓄積されているパケットの情報量が規定の閾値を超えるキューを識別するキュー監視手段と、
前記キュー監視手段によって識別されたキューに格納されるべき新たなパケットが属するフロー毎に、その新たなパケットを所定の頻度で廃棄するバッファ管理手段とを備え、
前記バッファ管理手段は、
フロー毎にパケットを廃棄した実績を記録し、その実績があるフローに属する新たなパケットを廃棄の対象から除外し、またはこの実績がないフローに属する新たなパケットが廃棄されるべき頻度より小さな頻度で廃棄する
ことを特徴とするフロー制御装置。 - 請求項1に記載のフロー制御装置において、
前記バッファ管理手段は、
前記レート制御手段と一体化され、そのレート制御手段に備えられ、かつ入力された個々のパケットが属するフローを識別する手段を共用する
ことを特徴とするフロー制御装置。 - 請求項1または請求項2に記載のフロー制御装置において、
入力されたパケットの列のレートをフロー毎に監視するレート監視手段を備え、
前記バッファ管理手段は、
前記レート監視手段によって監視されたレートのクラス毎の比率、またはその比率の単調増加関数として与えられる比率に等しい頻度で、前記キューの内、前記レート制御手段によってレートが調整されたパケットのクラスに対応するキューにそのパケットを蓄積する
ことを特徴とするフロー制御装置。 - 請求項1ないし請求項3の何れか1項に記載され、かつ入力されたパケットの列のレート制御に併せて、これらのパケットのクラスに個別に対応したキューのバッファ管理をフロー毎に行うフロー制御装置と、
所定のリンクまたは端末に、前記フロー制御装置によって行われたレート制御およびバッファ管理の下で与えられたパケットを送出する通信インタフェース手段と
を備えたことを特徴とするノード装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001003853A JP4512699B2 (ja) | 2001-01-11 | 2001-01-11 | フロー制御装置およびノード装置 |
US09/902,843 US6862621B2 (en) | 2001-01-11 | 2001-07-11 | Flow controlling apparatus and node apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001003853A JP4512699B2 (ja) | 2001-01-11 | 2001-01-11 | フロー制御装置およびノード装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002208937A JP2002208937A (ja) | 2002-07-26 |
JP4512699B2 true JP4512699B2 (ja) | 2010-07-28 |
Family
ID=18872135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001003853A Expired - Fee Related JP4512699B2 (ja) | 2001-01-11 | 2001-01-11 | フロー制御装置およびノード装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6862621B2 (ja) |
JP (1) | JP4512699B2 (ja) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5978379A (en) | 1997-01-23 | 1999-11-02 | Gadzoox Networks, Inc. | Fiber channel learning bridge, learning half bridge, and protocol |
US7430171B2 (en) | 1998-11-19 | 2008-09-30 | Broadcom Corporation | Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost |
AU2001259201A1 (en) * | 2000-04-28 | 2001-11-12 | Broadcom Corporation | High-speed serial data transceiver systems and related methods |
US7047312B1 (en) * | 2000-07-26 | 2006-05-16 | Nortel Networks Limited | TCP rate control with adaptive thresholds |
US7356605B1 (en) * | 2000-12-29 | 2008-04-08 | Cisco Technology, Inc. | System and method for controlling delivery of streaming media |
US7239636B2 (en) | 2001-07-23 | 2007-07-03 | Broadcom Corporation | Multiple virtual channels for use in network devices |
US7206285B2 (en) * | 2001-08-06 | 2007-04-17 | Koninklijke Philips Electronics N.V. | Method for supporting non-linear, highly scalable increase-decrease congestion control scheme |
US7072352B2 (en) * | 2002-02-21 | 2006-07-04 | Intel Corporation | Inverse multiplexing of unmanaged traffic flows over a multi-star network |
US8345555B2 (en) * | 2002-02-25 | 2013-01-01 | Olsonet Communications Corporation | Method for routing ad-hoc signals |
JP2004164077A (ja) * | 2002-11-11 | 2004-06-10 | Nec Infrontia Corp | インターネット接続サービスの提供方法および該方法の実施に適用するシステム |
DE60308493T2 (de) * | 2003-06-13 | 2007-05-31 | Alcatel | Ein Router zur Lenkung von Paketen |
US20050147032A1 (en) * | 2003-12-22 | 2005-07-07 | Lyon Norman A. | Apportionment of traffic management functions between devices in packet-based communication networks |
JP2007524262A (ja) * | 2003-12-23 | 2007-08-23 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | キューバッファを制御する方法及び装置 |
US7701948B2 (en) * | 2004-01-20 | 2010-04-20 | Nortel Networks Limited | Metro ethernet service enhancements |
US7948902B1 (en) * | 2004-03-03 | 2011-05-24 | Globalfoundries Inc. | Method of generating packets without repetition in verification of a device |
JP4317788B2 (ja) * | 2004-05-21 | 2009-08-19 | 株式会社日立コミュニケーションテクノロジー | シェーピング装置、フロー制御方法および通信ノード装置 |
EP1810463B1 (en) * | 2004-11-12 | 2012-01-04 | Telefonaktiebolaget LM Ericsson (publ) | Congestion handling in a packet switched network domain |
JP4690453B2 (ja) * | 2005-04-15 | 2011-06-01 | ニュー ジャージー インスティチュート オブ テクノロジー | ブロードバンドパッシブ光ネットワークのための動的帯域幅割当及びサービス区別 |
US7957272B2 (en) * | 2006-03-10 | 2011-06-07 | Alcatel-Lucent Usa Inc. | Method and apparatus for coincidence counting for estimating flow statistics |
US7974196B2 (en) * | 2006-03-21 | 2011-07-05 | Cisco Technology, Inc. | Method and system of using counters to monitor a system port buffer |
CN101106563A (zh) * | 2006-07-14 | 2008-01-16 | Ge医疗系统环球技术有限公司 | 服务系统 |
US20080298248A1 (en) * | 2007-05-28 | 2008-12-04 | Guenter Roeck | Method and Apparatus For Computer Network Bandwidth Control and Congestion Management |
WO2009012811A1 (en) * | 2007-07-23 | 2009-01-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Controlling traffic in a packet switched comunications network |
CN101127713B (zh) * | 2007-09-05 | 2011-04-06 | 华为技术有限公司 | 通用流量控制装置及流量控制方法 |
US8339944B2 (en) * | 2007-11-05 | 2012-12-25 | Qualcomm Incorporated | SDU discard mechanisms for wireless communication systems |
US8134924B2 (en) * | 2007-11-27 | 2012-03-13 | Qualcomm Incorporated | Methods and apparatus related to scheduling in a wireless communications system using shared air link resources for traffic |
US8059559B2 (en) * | 2008-09-09 | 2011-11-15 | Embarq Holdings Company, Llc | System and method for monitoring bandwidth utilization by a user |
WO2010089886A1 (ja) * | 2009-02-06 | 2010-08-12 | 富士通株式会社 | パケットバッファ装置及びパケット廃棄方法 |
US9680738B2 (en) | 2013-09-15 | 2017-06-13 | Nicira, Inc. | Tracking prefixes of values associated with different rules to generate flows |
US9602398B2 (en) | 2013-09-15 | 2017-03-21 | Nicira, Inc. | Dynamically generating flows with wildcard fields |
US9674087B2 (en) | 2013-09-15 | 2017-06-06 | Nicira, Inc. | Performing a multi-stage lookup to classify packets |
US9680748B2 (en) | 2013-09-15 | 2017-06-13 | Nicira, Inc. | Tracking prefixes of values associated with different rules to generate flows |
US9686185B2 (en) | 2013-09-15 | 2017-06-20 | Nicira, Inc. | Generating flows using common match techniques |
US9996467B2 (en) | 2013-12-13 | 2018-06-12 | Nicira, Inc. | Dynamically adjusting the number of flows allowed in a flow table cache |
US9569368B2 (en) | 2013-12-13 | 2017-02-14 | Nicira, Inc. | Installing and managing flows in a flow table cache |
US9985896B2 (en) | 2014-03-31 | 2018-05-29 | Nicira, Inc. | Caching of service decisions |
CN105357239B (zh) * | 2014-08-20 | 2020-05-12 | 新华三技术有限公司 | 提供服务的方法和装置、获取服务的方法及装置 |
US11178051B2 (en) | 2014-09-30 | 2021-11-16 | Vmware, Inc. | Packet key parser for flow-based forwarding elements |
CN110915223B (zh) * | 2017-07-21 | 2022-10-21 | 索尼公司 | 发送设备、发送方法、接收设备、接收方法和程序 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000031997A (ja) * | 1998-07-15 | 2000-01-28 | Fujitsu Ltd | 帯域管理装置及びその方法 |
JP2000316004A (ja) * | 1999-03-01 | 2000-11-14 | Nippon Telegr & Teleph Corp <Ntt> | 帯域共用回路 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3187230B2 (ja) * | 1993-09-06 | 2001-07-11 | 株式会社東芝 | ふくそう制御方法及びふくそう制御装置 |
US6246687B1 (en) * | 1997-03-27 | 2001-06-12 | Massachusetts Institute Of Technology | Network switching system supporting guaranteed data rates |
US6006264A (en) * | 1997-08-01 | 1999-12-21 | Arrowpoint Communications, Inc. | Method and system for directing a flow between a client and a server |
-
2001
- 2001-01-11 JP JP2001003853A patent/JP4512699B2/ja not_active Expired - Fee Related
- 2001-07-11 US US09/902,843 patent/US6862621B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000031997A (ja) * | 1998-07-15 | 2000-01-28 | Fujitsu Ltd | 帯域管理装置及びその方法 |
JP2000316004A (ja) * | 1999-03-01 | 2000-11-14 | Nippon Telegr & Teleph Corp <Ntt> | 帯域共用回路 |
Also Published As
Publication number | Publication date |
---|---|
US6862621B2 (en) | 2005-03-01 |
US20020089931A1 (en) | 2002-07-11 |
JP2002208937A (ja) | 2002-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4512699B2 (ja) | フロー制御装置およびノード装置 | |
EP1327335B1 (en) | Prioritising data with flow control | |
US7885281B2 (en) | Systems and methods for determining the bandwidth used by a queue | |
US20020161914A1 (en) | Method and arrangement for congestion control in packet networks | |
EP2761826B1 (en) | Attribution of congestion contributions | |
Kortebi et al. | Implicit service differentiation using deficit round robin | |
US8861362B2 (en) | Data flow control | |
US7631096B1 (en) | Real-time bandwidth provisioning in a switching device | |
AU2002339349B2 (en) | Distributed transmission of traffic flows in communication networks | |
CN100463451C (zh) | 一种网络数据流的多维队列调度与管理方法 | |
US6985442B1 (en) | Technique for bandwidth sharing in internet and other router networks without per flow state record keeping | |
US20040022246A1 (en) | Packet sequence control | |
US20080165689A9 (en) | Information flow control in a packet network based on variable conceptual packet lengths | |
US7391785B2 (en) | Method for active queue management with asymmetric congestion control | |
KR20020079904A (ko) | 차등 서비스 네트워크에서 프레임 스케쥴링 및 버퍼관리를 위한 통합 알고리즘 | |
JP3783628B2 (ja) | 通信システムにおけるノード装置及びその動作制御方法 | |
US7573817B2 (en) | Policing data based on data load profile | |
Bodamer | A scheduling algorithm for relative delay differentiation | |
KR100462475B1 (ko) | 선형제어를 이용한 큐 스케쥴링 장치 및 방법 | |
Miyamura et al. | Active queue control scheme for achieving approximately fair bandwidth allocation | |
JP3989197B2 (ja) | パケット廃棄装置 | |
Kawahara et al. | Dynamically weighted queueing for fair bandwidth allocation and its performance analysis | |
JP3595134B2 (ja) | パケットバッファ装置及びパケット廃棄制御方法 | |
JP3917830B2 (ja) | レート制御装置 | |
JP2003023454A (ja) | レート制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071219 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091102 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100105 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100305 |
|
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: 20100316 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100317 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130521 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140521 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |