(57)【要約】本発明によるキューバッファ制御方法は、リンク（１）に接続され、キュー（２０）内にデータユニット（３０）を並べるように設定されているキューバッファ（２）の制御方法であって、前記キューの長さ（２０）に関連した長さパラメータ値（ＱＬ、ＱＬav）を決定する決定工程（Ｓ１）と、前記パラメータ値（ＱＬ、ＱＬav）を長さ閾値（Ｌth、minth、maxth）と比較する比較工程（Ｓ２）と、前記パラメータ値（ＱＬ、ＱＬav）が前記閾値（Ｌth、minth、maxth）以上の場合に輻輳通知処理を実行する輻輳通知処理工程（Ｓ３）と、自動閾値適応処理工程（Ｓ４、Ｓ７）と、を備え、前記自動閾値適応処理工程（Ｓ４、Ｓ７）は、前記リンク（１）の１以上の特性に基づいて、前記長さ閾値（Ｌth、minth、maxth）を自動的に適応させるように設けられていることを特徴とする。
2004532566.tif 000002
【特許請求の範囲】
【請求項１】
リンク（１）に接続され、キュー（２０）内にデータユニット（３０）を並べるように設けられたキューバッファ（２）の制御方法であって、
前記キューの長さ（２０）に関連した長さパラメータ値（ＱＬ、ＱＬav）を決定する決定工程（Ｓ１）と、
前記パラメータ値（ＱＬ、ＱＬav）を長さ閾値（Ｌth、minth、maxth）と比較する比較工程（Ｓ２）と、
前記パラメータ値（ＱＬ、ＱＬav）が前記閾値（Ｌth、minth、maxth）以上の場合に輻輳通知処理を実行する輻輳通知処理工程（Ｓ３）と、
自動閾値適応処理工程（Ｓ４、Ｓ７）と、を備え、
前記自動閾値適応処理工程（Ｓ４、Ｓ７）は、前記リンク（１）の１以上の特性に基づいて、前記長さ閾値（Ｌth、minth、maxth）を自動的に適応させるように設けられていることを特徴とするキューバッファ制御方法。
【請求項２】
前記自動閾値適応処理工程（Ｓ４、Ｓ７）は、前記長さ閾値（Ｌth、minth、maxth）が定期的間隔で更新されるように設けられていることを特徴とする請求項１に記載のキューバッファ制御方法。
【請求項３】
前記自動閾値適応処理工程（Ｓ４、Ｓ７）は、前記１以上の特性のうち少なくとも１つが変化したか否かを判定する工程（Ｓ７１）と、変化が起こったときに前記長さ閾値（Ｌth、minth、maxth）を更新する工程（Ｓ４１）とを備えたことを特徴とする請求項１に記載のキューバッファ制御方法。
【請求項４】
前記１以上の特性の１つは、前記リンク上へのデータユニットの送信と関連する確認応答メッセージの受信との間に経過する時間間隔を示すパラメータ（ＲＴＴ）であることを特徴とする請求項１乃至３の何れか１項に記載のキューバッファ制御方法。
【請求項５】
前記１以上の特性の１つは、前記データユニットを送信するための前記リンク（１）によって供給されるデータレート（ＤＲ）であることを特徴とする請求項１乃至４の何れか１項に記載のキューバッファ制御方法。
【請求項６】
前記自動閾値適応処理工程（Ｓ４、Ｓ７）は、リンク容量値（ＬＣ）を推定する工程と、前記推定されたリンク容量値（ＬＣ）に基づいて前記長さ閾値（Ｌth、minth、maxth）を決定する工程とを備えたことを特徴とする請求項１乃至５の何れか１項に記載のキューバッファ制御方法。
【請求項７】
前記自動閾値適応処理工程（Ｓ４、Ｓ７）は、
前記リンク上へのデータユニットの送信と関連する確認応答メッセージの受信との間に経過する時間間隔を示すパラメータ（ＲＴＴ）と、前記データユニットを送信するための前記リンク（１）によって供給されるデータレート（ＤＲ）と、に基づいて前記リンク容量値（ＬＣ）を推定する工程を備えたことを特徴とする請求項４乃至６の何れか１項に記載のキューバッファ制御方法。
【請求項８】
前記リンク容量値（ＬＣ）は、前記リンク上へのデータユニットの送信と関連する確認応答メッセージの受信との間に経過する時間間隔を示すパラメータ値（ＲＴＴ）と第１の所定定数値（ＲＴＴWC）との和を算出し、前記リンク容量値（ＬＣ）を前記和と前記データレート（ＤＲ）との積に等しく設定することを特徴とする請求項７に記載のキューバッファ制御方法。
【請求項９】
前記第１の所定定数（ＲＴＴWC）は、前記リンク上へのデータユニットの送信と前記リンク上での関連する確認応答メッセージの受信との間に経過する時間間隔を除き、送信元から送信先へのデータユニットの送信と前記送信元における関連する確認応答メッセージの受信との間に経過する最大時間間隔の推定を表していることを特徴とする請求項８に記載のキューバッファ制御方法。
【請求項１０】
前記第１の所定定数（ＲＴＴWC）は、２００ｍｓから３００ｍｓの範囲にあり、好ましくは２００ｍｓから２５０ｍｓの範囲にあることを特徴とする請求項９に記載のキューバッファ制御方法。
【請求項１１】
前記長さ閾値（Ｌth、minth、maxth）は、前記推定されたリンク容量値（ＬＣ）に等しくなるように設定されることを特徴とする請求項６乃至１０の何れか１項に記載のキューバッファ制御方法。
【請求項１２】
前記長さ閾値（Ｌth、minth、maxth）は、前記推定されたリンク容量値（ＬＣ）と第２の所定定数（ε）との和に等しくなるように設定されることを特徴とする請求項６乃至１０の何れか１項に記載のキューバッファ制御方法。
【請求項１３】
前記長さ閾値（Ｌth、minth、maxth）は第１の長さ閾値（minth）であり、
前記輻輳通知処理工程（Ｓ３）は、前記長さパラメータ値（ＱＬ、ＱＬav）を前記第１の長さ閾値（minth）より大きい第２の長さ閾値（maxth）と比較する工程（Ｓ３１）を備え、
前記自動閾値適応処理工程（Ｓ４、Ｓ７）は、前記第１の長さ閾値（minth）と所定定数との和としての前記第２の長さ閾値（maxth）を決定する工程を備えることを特徴とする請求項１乃至１２の何れか１項に記載のキューバッファ制御方法。
【請求項１４】
前記自動閾値適応処理工程（Ｓ４、Ｓ７）は、前記リンク（１）の接続状態に基づいて（Ｓ７２）、前記長さ閾値（Ｌth、minth、maxth）を自動的に変更するよう設けられた閾値変更処理工程（Ｓ４２、Ｓ４３、Ｓ４４）を備えることを特徴とする請求項１乃至１３の何れか１項に記載のキューバッファ制御方法。
【請求項１５】
前記閾値変更処理工程（Ｓ４２、Ｓ４３、Ｓ４４）は、前記接続状態がデータユニットの送信を許容するか否かを判定する工程（Ｓ７３）と、前記接続状態がデータユニットの送信を許容しない場合に、所定の閾値増加処理に従って前記長さ閾値（Ｌth、minth、maxth）を増加させる工程（Ｓ４３）と、を備えることを特徴とする請求項１４に記載のキューバッファ制御方法。
【請求項１６】
前記閾値増加処理は、現在の長さ閾値（Ｌth、minth、maxth）と所定係数（ｆc）を乗算する処理を備えることを特徴とする請求項１５に記載のキューバッファ制御方法。
【請求項１７】
前記所定係数（ｆc）は２であることを特徴とする請求項１６に記載のキューバッファ制御方法。
【請求項１８】
前記閾値変更処理工程（Ｓ４２、Ｓ４３、Ｓ４４）は、さらに、前記接続状態が閾値増加処理後に再度データユニットの送信を許容するか否かを判定する工程（Ｓ４４）と、前記接続状態がデータユニットの送信が再度許される場合には、所定の閾値再設定処理（Ｓ４５）に従って、前記長さ閾値（Ｌth、minth、maxth）を新しい値に再設定する工程と、を備えることを特徴とする請求項１５乃至１７の何れか１項に記載のキューバファ制御方法。
【請求項１９】
前記閾値再設定処理工程（Ｓ４５）は、前記長さ閾値（Ｌth、minth、maxth）を前記閾値増加処理を実行する前の値に戻す処理工程を備えることを特徴とする請求項１８に記載のキューバッファ制御方法。
【請求項２０】
前記閾値再設定処理工程（Ｓ４５）は、前記リンク（１）の１以上の現在の特性値に基づいて、前記長さ閾値（Ｌth、minth、maxth）を適応させることを特徴とする請求項１８に記載のキューバッファ制御方法。
【請求項２１】
前記閾値再設定処理工程（Ｓ４５）は、前記キューバッファ（２）内のデータユニット数に基づいて、前記長さ閾値（Ｌth、minth、maxth）を前記新しい値に徐々に再設定する処理工程を備えることを特徴とする請求項１８乃至２０の何れか１項に記載のキューバッファ制御方法。
【請求項２２】
前記閾値再設定処理工程（Ｓ４５）は、
前記キュー（２０）の長さ（ＱＬ）の瞬間値が前記新しい値を超えた場合に前記キュー（２０）の長さ（ＱＬ）の瞬間値に前記長さ閾値（Ｌth、minth、maxth）を再設定工程と、
前記長さ閾値（Ｌth、minth、maxth）を、連続して減少する前記キュー（２０）の長さ（ＱＬ）の瞬間値までであって、前記新しい値に到達するまで、徐々に減少させる工程と、を備えることを特徴とする請求項２１に記載のキューバッファ制御方法。
【請求項２３】
前記キュー（２０）の長さに関連したパラメータ値（ＱＬ、ＱＬav）を決定する前記決定工程と、前記パラメータ値（ＱＬ、ＱＬav）を長さ閾値（Ｌth、minth、maxth）と比較する前記比較工程は、定期的間隔で実行されることを特徴とする請求項１乃至２２の何れか１項に記載のキューバッファ制御方法。
【請求項２４】
前記キュー（２０）の長さに関連したパラメータ値（ＱＬ、ＱＬav）を決定する前記決定工程と、前記パラメータ値（ＱＬ、ＱＬav）を長さ閾値（Ｌth、minth、maxth）と比較する前記比較工程は、前記バッファが前記リンク（１）上を送信される新しいデータを受信した場合に、実行されることを特徴とする請求項１乃至２２の何れか１項に記載のキューバッファ制御方法。
【請求項２５】
前記輻輳通知処理工程（Ｓ３）は、データユニットを削減するか、保持するかについてのデータユニット削減判定を行う工程を備えることを特徴とする請求項１乃至２４の何れか１項に記載のキューバッファ制御方法。
【請求項２６】
前記輻輳通知処理工程（Ｓ３）は、データユニットに輻輳通知フラグをセットするか否かについてのデータユニットフラグ付加判定を行う工程を備えることを特徴とする請求項１乃至２５の何れか１項に記載のキューバッファ制御方法。
【請求項２７】
前記判定は、新たに受信したデータユニットに対して行われることを特徴とする請求項２５又は２６に記載のキューバッファ制御方法。
【請求項２８】
前記キュー（２０）の長さに関連する前記長さパラメータ（ＱＬ、ＱＬav）は、前記キュー（２０）の現在の長さ（ＱＬ）であることを特徴とする請求項１乃至２７の何れか１項に記載のキューバッファ制御方法。
【請求項２９】
前記キュー（２０）の長さに関連する前記長さパラメータ（ＱＬ、ＱＬav）は、前記キュー（２０）の平均長（ＱＬav）であることを特徴とする請求項１乃至２７の何れか１項に記載のキューバッファ制御方法。
【請求項３０】
前記リンク（１）は無線リンクであることを特徴とする請求項１乃至２９の何れか１項に記載のキューバッファ制御方法。
【請求項３１】
さらに、前記キューバッファ（２）に対して用意されている現在のメモリ容量に基づいて、前記長さ閾値（Ｌth、minth、maxth）を自動的に減少させる自動的閾値減少処理工程を備えることを特徴とする請求項１乃至３０の何れか１項に記載のキューバッファ制御方法。
【請求項３２】
前記データユニットは、インターネットプロトコルパケットであることを特徴とする請求項１乃至３１の何れか１項に記載のキューバッファ制御方法。
【請求項３３】
請求項１乃至３２の何れか１項のキューバッファ制御方法を実行するためのコンピュータプログラム。
【請求項３４】
請求項３３の前記コンピュータプログラムを格納したデータキャリア。
【請求項３５】
データユニット送信装置であって、
キューバッファを備え、
前記データユニット送信装置は、リンク上でデータユニットを送信するリンク（１）に接続され、請求項１乃至３２の何れか１項に記載のキューバッファ制御方法を実行するように設けられたことを特徴とするデータユニット送信装置。
【請求項３６】
前記データユニット送信装置は、データユニット送信ネットワークにおけるルータであることを特徴とする請求項３５に記載のデータユニット送信装置。
【請求項３７】
前記ルータは、インターネットプロトコルルータであることを特徴とする請求項３６に記載のデータユニット送信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、キューバッファ（待ち行列バッファ）を制御する方法に関し、このキューバッファはリンクに接続されており、該リンク上で送信されるキューデータユニットに対して用意されているものに関する。
【背景技術】
【０００２】
データユニットを基礎とする通信において、即ち、送信されるべき情報が複数のユニットに分割され、個々のユニットが通信ネットワーク上を送信される通信において、ネットワークに沿ったリンクにおけるキューバッファを提供し、そのようなリンク上を伝送するユニットがバッファリングされるようにすることは知られている。そのバッファは、送信又は入力バッファ（即ち、リンク上で送信されることになるデータユニット用のバッファ）、或いは受信又は出力バッファ（即ち、リンク上で送信されたデータユニット用バッファ）であると言える。
【０００３】
データ伝送用のそのようなユニットは、特定の状況や特定の使用プロトコルや所定の他の条件次第で、プロトコルデータユニット、フレーム、パケット、セグメント、セル等のように、様々な名前で呼ぶことができる。本明細書との関連では、そのような全てのデータのユニットは、一般的にデータユニットと呼ぶこととする。
【０００４】
データユニットをキュー（待ち行列）に配置し、それらを待ち行列内で前進させ、その行列からデータユニットを抜き出す処理手順は、キューマネージメント（待ち行列管理）と呼ばれている。
【０００５】
データユニット送信ネットワークで知られている現象として、いわゆる輻輳（Congestion)というものがある。輻輳とは、接続やリンク上で伝送されるべき多くのデータユニットを速やかに処理することができないという状態を意味する。所定のリンクにおける輻輳の結果として、そのリンクに関連するキューバッファ内のデータユニット数が増加することになる。輻輳状態に対応して、ドロップ・オン・フル（drop-on-full)と呼ばれるデータユニットドロップ（削減）機構を実行し、それによれば、キューバッファに新データユニットが受信されると、実際の待ち行列長又は平均待ち行列長のような待ち行列長関連パラメータが所定の閾値と比較され、その閾値を超えた場合にはデータユットが削減（Drop)されるというものが知られている。その閾値は、キューの満杯（full）の状態を示している。また、”削減（Dropping）”とは、データユニットがキューに配列されず、よってそれ以上伝送されないことを意味している。
【０００６】
削減されるべきデータユニットは、新しく到着したものの可能性があり、その場合、そのデータユニット削減機構はテイルドロップ（末尾削減：Tail Drop）と呼ばれる。テイルドロップの技術のほか、いわゆるランダムドロップやフロントドロップを実行することも知られており、ランダムドロップでは、待ち行列内に既にあるデータユニットが確率関数（Random function）に従って選択され、フロントドロップでは、待ち行列中の最初のデータユニットが削減されるというものである。そのようなドロップ・オン・フル機構は、輻輳リンク（混雑状態にあるリンク）上の負荷を低減することができるだけでなく、データユニットの送り元及び／又は送り先に対する間接的な輻輳通知としての役目を果たすことができる。すなわち、例えばＴＣＰ（Transmission Control Protocol）から分かるように、輻輳制御機構は、データユニットの受信機及び送信機に関して実行されるのが一般的であり、そうすると、あるデータユットが失われたと検知すると、送信されているデータユニットのレート及び／又は量が低減されるようになる。
【０００７】
一旦所定の閾値を越えると、即ち待ち行列（キュー）が”フル（full）”と判断された場合にデータユニットの削減を開始するキューマネージメント（Queue Management）システムのほか、より巧みなマネージメント方法も提案されており、それはアクティブキューマネージメントととして知られ、Request for Comments(ＲｆＣ)２３０９に記述されている。より具体的には、ＲｆＣ２３０９はランダム初期検知（Random Early Detection:ＲＥＤ)と呼ばれるアクティブキューマネージメント方法を提案している。ＲｆＣ２３０９によれば、ＲＥＤのコンセプトは、キューがフルになるまで待たず、フル状態に到達する前にいくつかのパケットを削減するようにする機構を実行することのほうがむしろずっと有益であるという認識に立つものである。
【０００８】
ＲｆＣ２３０９によれば、ＲＥＤアルゴリズムは２つの主な部分、即ち、第一に平均キューサイズの推定、そして次に入ってくるデータユニットの削減の是非の決定、からなるものである。より具体的には、新しいデータユニットが到着すると、アルゴリズムは平均キューサイズを推定し、それが最小閾値minthと最大閾値maxthの間にある場合に、所定の確率値が平均キューサイズの関数として算出され、入ってくるデータユニットの削減に関する判定がその結果として得られる確率に従って実行される。平均キューサイズが最大閾値maxthを超えた場合には、入ってくるデータユニットが必然的に削減される。その確率関数は、Ｐ値（minth）＝０を有する線形関数であり、ここで、Ｐ（maxth）は所定の最大確率maxp、maxpは１より小さい値である。
【０００９】
最小閾値minth或いは最大閾値maxthの選択に関して、ＲｆＣ２３０９は特に何の情報も示していない。
【００１０】
サリーフロイド（Sally Floyd）とヴァンジェイコブソン（Van Jacobson）による論文”Random Early Detection Gateways for Congestion Avoidance”（IEEE/ACM Transactions on networking, 1993年8月）では、ＲＥＤアルゴリズムについての広範な議論が記載されているが、そこでは、最小閾値minthと最大閾値maxthと最大確率maxpは全て固定のパラメータとして設定されている。また、minthとmaxthの選択に関し、これらの閾値の最適値は所望の平均キューサイズに基づいており、maxthの最適値は一部、リンクによって許容されうる最小平均遅延に基づいていると述べられている。さらに、maxthは少なくともminthの2倍の値であることも述べられている。
【００１１】
http://www.acir.org/floyd/REDparameter.txtにおいてサリーフロイド（Sally Floyd)によって公開されたＲＥＤパラメータの設定について議論しているインターネット文書では、minthを決定するための最適値は、部分的にリンクスピードや伝播遅延や最大バッファサイズに基づいている。
【００１２】
ウーチャンフェン他（Wu-chang Feng et al）による論文記事”Techniques for eliminating packet loss in congested TCP-IPnetworks”（1997年11月）では、いわゆる適応ＲＥＤが提案され、そこでは、確率パラメータmaxpがトラフィックの負荷に適応される。この論文記事では詳細なアルゴリズムは固定の閾値を用いているが、閾値もまた入力トラフィックに基づくように設定されうることが結局は示されている。また、似たような提案が、ウーチャンフェン他（Wu-chang Feng et al）による論文記事”A self configuring RED gateway”（Infocom '99, 1999年3月）になされている。
【００１３】
ＲＥＤを改善する他の提案が、国際特許WO 00/60817でなされており、そこでは、パケット喪失に対応する、レート適応適用（rate adaptive applications）が起源となるトラフィック間の区別が導入されている。この特許は、”in profile”や”out profile”と呼ばれる少なくとも２つの削減先例（precedent）レベルを導入することを示唆している。それぞれの削減先例レベルは、自身の最小閾値minth及び／又は最大閾値maxthを有している。
【００１４】
国際特許WO 00/57599からは、キューマネージメント機構（メカニズム）が知ることができ、ここでは、削減機能（drop functions）が、進入フローレート測定及びフロープロファイルに従って選択される。
【００１５】
ＵＳ特許６１３４２３９からは、オーバーロードバッファにおけるＡＴＭセル拒絶方法を知ることができる。ＲＥＤのコンセプトが述べられている。この特許によれば、オーバーロードバッファキューに関連する第１の閾値と特定の接続に関連する第２の閾値が開示されており、両方の閾値を超える場合には入ってくるパケットはその特定の接続に関して削減される。
【００１６】
ＵＳ特許５５４６３８９は、バッファに対するアクセスを制御する方法について述べ、それは特に、ＡＴＭバッファに関するものである。１個以上の閾値を用い、それらの閾値のをダイナミックにコントロールすることが開示されており、そこでは、その閾値の変動は、入出トラフィックに基づいて決定される。
【００１７】
ＥＰ特許-1 028 600は、ＡＴＭスイッチに対するダイナミックキュー長閾値（dynamic queue length thresholds）を有するバッファマネージメントスキームを記述している。そして、所定の共通閾値が、新しいセルが到着するたびにダイナミックに更新される。ここで、新しい値はトラフィック条件に基づいて決定される。
【００１８】
ＲＥＤに関する他の改良案は、ＥＰ特許-0 872 988に記述されており、それは、異なるＴＣＰバージョンを用いる接続が障害（bottleneck）リンクを共有している場合に分離処理を提供する目的を有するものである。この特許で提案された解決方法は、各接続に対するバンド幅確保保証を用いたものである。ある接続が過少利用状態である場合には、他の接続がその過少利用状態の接続のバンド幅の一部を利用することができる。過少利用状態の接続がそのバッファスペースを取り戻す必要があれときは、最長キューファースト（longest queue first：ＬＱＦ）のような所定のパッケージ削減機構が動作される。
【００１９】
【非特許文献１】
サリーフロイド（Sally Floyd）、ヴァンジェイコブソン（Van Jacobson）共著、論文”Random Early Detection Gateways for Congestion Avoidance”（IEEE/ACM Transactions on networking, 1993年8月）
【非特許文献２】
サリーフロイド（Sally Floyd)著、インターネット文書、＜http://www.acir.org/floyd/REDparameter.txt＞
【非特許文献３】
ウーチャンフェン他（Wu-chang Feng et al）著、論文記事”Techniques for eliminating packet loss in congested TCP-IPnetworks”（1997年11月）
【特許文献１】
国際特許ＷＯ ００/６０８１７号公報
【特許文献２】
米国特許６１３４２３９号公報
【特許文献３】
米国特許５５４６３８９号公報
【特許文献４】
欧州特許１ ０２８ ６００号公報
【特許文献５】
欧州特許０ ８７２ ９８８号公報
【発明の開示】
【００２０】
発  明  の  目  的
本発明の目的は、キューバッファ制御の改良された方法を提供することにある。ここで、この方法は、キュー長（queue length）関連のパラメータを長さ（Length）閾値と比較し、自動閾値適応処理を用いるものである。
【００２１】
発  明  の  概  要
上記目的は、請求項１の特徴をもつ方法によって達成される。有益な実施の態様は従属項で記述されている。
【００２２】
本発明によれば、自動閾値適応処理工程は、例えば、ＲＥＤで公知の最小閾値minth又はドロップ・オン・フルキューマネージメントスキームで公知の単一閾値ような長さ閾値の値を、キューバッファ内のデータユニットが送信されることになっているリンクの１以上の特性に基づいて、自動的かつダイナミックに適応するようになされている。
【００２３】
それゆえ、上記議論した従来技術、つまり、長さ（キュー長）閾値が固定の値かトラフィック負荷条件に適応されるかである技術とは著しく異なり、本発明は、リンクの特性に基づいて長さ閾値を自動的かつダイナミックに適応することを提案している。このことは、特に無線リンクのように時間可変の特性を有するリンク上で、改良されたスループットや減少された遅延を提供する、柔軟性の高い形のアクティブキューマネージメント（能動型キュー管理）につながるのである。
【００２４】
本発明の方法は、キュー長関連パラメータが少なくとも１つの長さ閾値と比較される公知のキューマネージメントスキームであって、閾値を超える場合には輻輳通知処理が実行されるスキームの何れにも適用可能である。つまり、本方法は、上述のＲＥＤスキームの何れにも、例えば、キューがフルのときにデータユニットを削減するもの、テイルドロップやランダムドロップやフロントドロップといったものや、削減の代わりに明示の輻輳通知を実行する公知のスキームの何れにも、適用可能である。
【００２５】
さらに、本発明の好適な実施例はＩＰ（インターネットプロトコル）パケットの待機（queuing）に対する方法を用いているが、本発明の方法はいかなる特定のプロトコルのデータユニットにも限定されず、例えば、ＡＴＭセルに関するキューマネージメント方法にも適用可能である。
【００２６】
本発明の好適な具体例によれば、１以上のリンク特性（link characteristics）はリンクの往復時間（ＲＴＴ）やデータレート（ＤＲ）又はリンクのビットレートであり、閾値適応処理は、リンクの往復時間やデータレートの関数として長さ閾値を更新する処理を備える。この更新処理は、定期的間隔で実行してもよいし、上述のリンク特性における変化のような特定のきっかけとなるイベント（トリガ・イベント）に応じて実行してもよい。言い換えれば、後者の変形例では、閾値は、往復時間又はデータレートが変化するたびに往復時間とデータレートの関数として更新される。閾値の更新は、変化が極僅かな（granularity）ときは、考慮中のリンク特性の微小変化によっては開始されないであろうことに注意されたい。言い換えれば、考慮中のリンク特性の変化が監視され、所定のステップ又は変化（grain）サイズ以上によって特性の１つが変化する場合に閾値は更新されるのである。
【００２７】
より好ましくは、閾値の更新の関数は、往復時間やデータレートに基づいてリンク容量値（ＬＣ）を算出し、そして算出されたリンク容量値に相当する閾値を設定するか、上記リンク容量値の関数として、例えば、リンク容量値と所定係数の和として、閾値を少なくとも決定することにある。
【００２８】
自動閾値適応処理はまた、リンクの接続状態に基づいて、長さ閾値の値を自動変化させる処理を備える。言い換えれば、この場合、リンクの接続状態は、適応処理に基づくリンク特性である。特に、リンクが接続性を失う場合、即ち、データユニットを伝送することができない場合、長さ閾値は好適に、自動的に増加させられる。つまり、それは例えば２のような所定の係数（factor）によって乗算される。接続性に依存する長さ閾値の変化はそれ自身によって実行されるか、往復時間やデータレートのようなリンク特性に依存した、上述の長さ閾値の更新処理と組み合わせることができる。
【００２９】
好ましくは、リンクの接続性に応じて長さ閾値を変化させる処理は、接続状態が再度データユニットの送信を許容した後に長さ閾値を再設定するという特徴を備えている。この再設定は、長さ閾値に関する、以前の閾値に戻したり、或いは、新しい長さ閾値を、上述の往復時間やデータレートのような１以上の特性に基づいて算出しても良い。再設定動作はまた、好ましくは、長さ閾値を新しい閾値に徐々に再設定するために、再設定時にキュー内のデータユニット数を考慮に入れるようにする。
【００３０】
本発明に関連して用いられる輻輳通知処理は、所望なもの或いは適切なものとして選択され、如何なる黙示又は明示の輻輳通知を用いることができる。例えば、黙示の輻輳通知処理として、データユニット削減判定を行うことができ、ここで、その判定は所定の確率（ＲＥＤ技術の場合のように）に依存することができるか、無条件（ドロップ・オン・フル技術の場合ように）に実行することができる。明示の輻輳通知処理の例として、あるデータユニットにおける適切な輻輳フラッグを設定することが挙げられる。例えば、ＩＰパケットのＩＰヘッダにおけるいわゆるＥＣＮ（explicit congestion notification）フラッグが設定される。再度、フラッグの設定又は非設定の決定が、所定の確率関数に基づいて条件付きで行われるか、或いは、無条件で行われる。また、注意すべきこととしては、本発明に関連して用いられる輻輳通知処理は、明示及び黙示の輻輳通知処理を組み合わせることができ、すなわち、データユニット削減に関する決定を実行すること及びデータユニットにおける明示の輻輳通知フラグの設定に関する決定にあるとすることができるということである。
【００３１】
既に前述したように、本発明は、少なくとも１つの長さ閾値を用いるキューマネジメント方法に適用することができる。言い換えれば、本発明はドロップ・オン・フル技術を用いるキューマネージメント方法に適用することができ、ここでは、フルキュー（full queue）を示す単一の閾値が自動的に適応される。或いは、本発明は、２つの閾値maxth及びminthを用いるＲＥＤのように複数の閾値を用いるキューマネージメント方法に適用することができる。本発明によれば、複数の閾値が用いられると、これらのうち１つの閾値のみが１以上のリンク特性に基づいて自動的に適応させ、一方で他の閾値は固定のままであるか、或いは、同特性に基づいて自動的に適応され、また或いは特定の閾値に関連したそれぞれ個々のリンク特性に基づいて各閾値が適応される、ということが可能である。一例として、ＲＥＤの最小minthは第１のリンク特性セットに基づいて適応され、最大閾値maxthは第１のセットとは異なる第２のリンク特性のセットに基づいて適応される。
【００３２】
本発明の方法がＲＥＤに適用される好ましい実施例によれば、最小閾値minthは往復時間およびリンクデータレートに基づいて更新され、最大閾値maxthは最大閾値maxthが単にminthと所定係数の和として算出される点で、同リンク特性に基づいて更新される。
【発明を実施するための最良の形態】
【００３３】
図１は、キューバッファ２の概略的ブロック図を示している。キューバッファ２はリンク１に接続されており、リンク１上で入って来るデータユニット３０を送信するために、キュー２０にデータユニットを列を作らせる（queue）ように配置されている。そのキューバッファは、データユニット３０を伝送するネットワーク３に属する構成要素（図示せず）に含まれている。例えば、その構成要素はネットワーク３におけるルータとすることが可能である。
【００３４】
キューバッファ２は、同様に、リンク１からのデータユニットを受信し、ネットワーク３に列に並べられた（queued）データユニットを出力する受信バッファとして動作するように配置されうるものである。
【００３５】
既に前述したように、本発明によれば、リンク１とキューバッファ２とデータユニット３０は所望であるならどのようなタイプでもあっても適用可能である。例えば、データユニット３０はＩＰパケットでもいいし、キューバッファ２はそのＩＰパケットを送るためのＩＰルータの一部であってもよい。しかしながら、キューバッファ２はまた、ＡＴＭバッファであってもよく、その場合には、データユニットはＡＴＭセルということになる。
リンクは適切で所望のものであれば如何なるタイプのものでもいいが、本発明の方法は好適には、無線電話リンクのような無線リンクに接続されたキューバッファに適用される。例えば、リンク１は、ＧＳＭ（Global System for Mobile Communication）やＵＭＴＳ（Universal Mobile Telephone System）や他の全ての移動体通信標準方式に従って設置された移動体無線電話ネットワークによって提供されうるものである。すなわち、無線リンクは一般的に時間可変の特性を有していることに起因して、１以上のリンク特性に基づく自動閾値適応処理は特に効果的で有益である。
【００３６】
即ち、本発明のキューマネージメント方法は、輻輳通知処理を開始するために、キュー長関連のパラメータと比較される１以上の長さ閾値を適応させることによって、無線リンクの時間可変特性に効果的に適応させることができる。
【００３７】
図２は本発明の方法の基本的実施例のフローチャートを示している。ステップＳ１では、キュー２０の長さに関連する長さパラメータが判断される。このキュー長関連パラメータは、所望で適切ならどんな方法ででもキューの長さに関連付けうる。例えば、実際又は瞬間的なキュー長ＱＬ、或いは平均値ＱＬavのようにその実際又は瞬間的なキュー長から派生するパラメータとすることができる。
【００３８】
図２の例では、キュー長関連パラメータは平均キュー長ＱＬavとなっている。この平均キュー長ＱＬavは、いかなる公知又は適切な平均化アルゴリズムに従ってでも決定することができる。そのようなアルゴリズムは、典型的には、第１の重み係数を現在（old）の平均値に掛けたものと第２の重み係数を瞬間的キュー長に掛けたものとの和を計算することによって、現在（old）の平均値を更新することにある。例えば、ＱＬavは次式として計算される。
【００３９】
QLav(new)=QLav(old)×(1-1/2n)+(QL×1/2n) ・・・（１）
ここで、ＱＬは瞬間的キュー長値を、ｎは０と１の間で調節可能な指数的重み係数を示している。
【００４０】
そして、ステップＳ２では、ＱＬavが長さ閾値Ｌthと比較される。ＱＬavが長さ閾値Ｌthを超えていると、輻輳通知処理Ｓ３が実行され、超えていない場合には輻輳通知処理Ｓ３は行われない。
【００４１】
図２の例では、そして、フローはＬthに対する自動閾値適応処理に、即ちステップＳ４に移行する。本発明によれば、この自動閾値適応処理Ｓ４は、長さ１の１つ以上の特性に基づいて長さ閾値Ｌthを自動的に適応させるようになっている。
【００４２】
図２で示されるステップの特定の配置（順序）は単なる一例に過ぎないことに注意すべきである。特に、ステップＳ１、Ｓ２、Ｓ３は、輻輳通知処理の実行に関する判定の処理
を生成するが、ステップＳ４のＬth前の適応処理から独立している。従って、ステップＳ１、Ｓ２、Ｓ３はＳ４とは独立して配置してもよく、即ち、Ｓ４はステップＳ１からＳ３の前、若しくはそれらと並行して実行されるようにすることもできる。特に、一方でステップＳ１からＳ３が、他方でステップＳ４が、一般的に、より多くのステップ（more steps）を有するキューバッファ制御の方法に含まれることになろうが、そのような付加的なステップ（more steps)は本発明とは無関係なのでここでは示されていない。図２の方法はソフトウエアで実現でき、例えばステップＳ１からＳ３は１つの流れで実行でき、一方、Ｓ４は別で、独立の流れで実行してもよい。しかしながら、本方法はまた、ハードウエアの形で直接実行することもできる。
【００４３】
本発明のより詳細な実施例を示すフローチャートが図３に示されている。図２に示されているステップと同一又は等価なステップは、同じ参照記号で参照されており、それについての記述は繰りかえさない。
【００４４】
ＱＬavや長さ閾値Ｌthのようなキュー長関連パラメータは、所望で適切ならどんな方法ででも表現され、測定（評価）されうる。例えば、これらのパラメータをデータ量として、即ちビット又はバイトで表現することが可能であり、或いは、これらのパラメータはデータユニット数として表現することもでき、即ち実際のキューＱＬは整数値であるデータユニット数（平均化により、平均キュー長ＱＬavが整数でないことがなお一般的である）として表現される。
【００４５】
図３の例によれば、セッションはステップＳ５において始まる。その後、ステップＳ６で閾値との比較をするきっかけのイベント（閾値比較トリガーイベント）が起こったか否かを判定する。そのようなイベントが起こった場合には、図２に関して既に説明した様に、テップＳ１、Ｓ２、Ｓ３が実行される。起こらなかった場合又はステップＳ１からＳ３を実行した後は、フローはステップＳ７に移行する。ステップＳ７において、適応処理のきっかけとなるイベント（適応処理トリガーイベント）が起こったか否かが判断され、起こっていた場合にはステップＳ４のＬthに対する自動適応処理が実行される。ステップＳ７の結果が否定的であった場合及びステップＳ４終了後、図３のフローはステップＳ８に移行する。ステップＳ８では、セッションが終了かが判断される。セッションが終了で無い場合には、フローはステップＳ６に戻り、その他の場合にはフローは終了する。
【００４６】
ステップＳ６の閾値比較トリガーイベントは、所望若しくは適切であればどんな方法ででも選択することができる。例えば、ステップＳ１からＳ３の閾値比較は定期的に、つまり定期的な間隔で開始されうる。この場合、閾値比較トリガーイベントは、例えば特定のタイミング条件の発生やカウンタが特定値に達するというイベントということになろう。一例として、所定値からゼロにカウントダウンする閾値比較カウンタが実現可能であり、ステップＳ６の閾値比較トリガーイベントは、このカウンタがゼロの時に与えられる。カウンタ値がゼロであると判定された場合には、ステップＳ１からＳ３の処理が開始され、新しいカウントダウンが始まるように、カウンタは所定値にリセットされる。
【００４７】
閾値比較はまた、キューに対するデータユニットの受信又は送信に関連したイベントによって、或いは、キュー内の個々のデータユニットに関連して取られる特定の動作によって引き起こされうる。例えば、閾値比較トリガーイベントは、リンクに対するデータユニットの送出（release）したときに起こるというふうにすることができる。好ましくは、ステップＳ６の閾値比較トリガーイベントは、バッファーされることになる新データユニットの到着したときに起こるようにする。
【００４８】
ステップＳ７における適応トリガーイベントはまた、自動閾値適応処理Ｓ４の開始につながるものであるが、適切で所望であるように選択されるようにする。例えば、定期的間隔で自動閾値適応処理を開始することができ、そうすると、ステップＳ７における適応トリガーイベントは、所定時間条件が”真”となるか、又はステップＳ６のトリガーイベントに関連して上述したようにカウンタが所定値に達するというイベントとなりうるようになる。ステップＳ６とステップＳ７における２つのトリガーイベントは、同じ定期的期間を有することができ、或いは、異なる定期的間隔で起こるように選択してもよい。言い換えれば、同じカウンタがステップＳ６とＳ７のトリガーイベントを判定するのに用いられ、その場合に、２つのステップＳ６及びＳ７は効果的に単一のステップにまとまったり、或いは、２つの異なるカウンタ又はカウンタ値が異なる初期値をそれぞれカウントダウンするように用いることができる。
【００４９】
好ましくは、ステップＳ７の適応トリガーイベントは、長さ閾値Ｌthを適応させるための基礎としての役割を果たす１以上のリンク特性における変化に起こるものである。実際、変化は所定の微小変化でしか判定されないことに注意すべきである。言い換えれば、特性における極微小でしかないような変化はトリガーイベントととは考慮されず、所定の大きさの変化が起こった場合のみ考慮されるであろうということである。
【００５０】
トリガーイベントととしての特性における変化を用いる例が図４ａと図４ｂに示されている。ここでは、図示されたステップＳ７１及びＳ４１は図３のステップＳ７とＳ４を置き換えたものである。即ち、図４ａは、自動閾値適応処理がリンク１の往復時間ＲＴＴとリンク１のデータレートＤＲに基づく例を示している。従って、ステップＳ７１は往復時間ＲＴＴ及びデータレートＤＲの一方又は双方が変化したかどうかをチェックし、変化があった場合には、長さ閾値Ｌthの新しい値がＲＴＴ及びＤＲの関数として決定される。上述の往復時間ＲＴＴがリンク１にのみ関連し、端から端まで（end to end）の往復時間ではないことに注意されたい。
【００５１】
当該技術分野で知られているように、往復時間ＲＴＴは、データユニットの送信と関連した確認応答メッセージの受信との間に経過する時間間隔を示すパラメータである。ＲＴＴは適切で又は所望の如何なる方法で、特に公知の方法で決定することができる。例えば、ＲＴＴは、ＡＲＱ（Automatic Retransmission reQuest：自動再送信リクエスト）を用いるようなシステムで自動的に測定されるが、ＡＲＱを用いないシステムにおいても、ＲＴＴは、リンク１の送信側からリンク１の受信側への信号を測定する専用のＲＴＴの送信のように、適切な専用スキームによって測定しうる。ここで、受信側は適切な確認応答メッセージを返信するようになされている。この例として、公知の”Ｐｉｎｇ”が挙げられる。
【００５２】
リンクのＲＴＴのように、データレートＤＲも適切で又は所望の如何なる方法で、特に公知の方法で決定することができる。例えば、ＤＲは専用の測定によって測定することができ、或いは、入力としてＤＲを要求する別の制御処理から既に入手可能なパラメータとすることもできる。
【００５３】
好ましくは、ステップＳ４１におけるＬthの更新処理は、往復時間ＲＴＴ及びデータレートＤＲに基づいてリンク容量値ＬＣを適切に推定する工程を具備する。そして、リンク閾値Ｌthは推定されたリンク容量値ＬＣに基づいて決定される。
【００５４】
またここで、本発明の他の実施例について図６を参照して説明する。この実施例では、キューバッファを制御する方法が２つの長さ閾値、つまり最小閾値minthと最大閾値maxthを用いている。この例では、図２、３、４ａの実施例に関連して言及された閾値Ｌthはminthに相当する。そしてステップＳ３の輻輳通知処理は、ステップＳ２でminthを超えるとされたＱＬavの値がmaxthを超えるかどうか、或いはＱＬavの値がminthとmaxthの間にあるかどうかを判定することにある。これは図６のステップＳ３１として示されている。図６のステップＳ３１からＳ３４は、図２や図３のステップＳ３の代わりに用いられる。すなわち、図６のステップＳ３１からＳ３４はステップＳ３の輻輳通知処理の特定の例を構成している。
【００５５】
図６で示されるように、ＱＬavがminthとmaxthの間にある場合には、処理はステップＳ３２に移行し、そこで確率ｐがＱＬavに基づいて計算される。例えば、関数ｐ（ＱＬav）は線形で値ｐ（minth）＝０かつｐ（maxth）＝maxpであるように定義される。ここで、maxpは固定可能な最大確率値であるか、或いはそれ自身適応的なパラメータである。当然に、ｐ（ＱＬav）に対する他のタイプの関数も適切又は所望なように選択可能である。
【００５６】
そして、ステップＳ３２の後、輻輳通知が、ステップＳ３２で算出された確率値ｐ（ＱＬav）を有するデータユニットについて実行される。ステップＳ３３を参照のこと。他方、ステップＳ３１の結果が否定的な場合、即ち、ＱＬavがmaxthを超えると、無条件輻輳通知動作がステップＳ３４においてデータユニットに施される。
【００５７】
ステップＳ３３における確率値ｐ（ＱＬav）に基づいて輻輳処理動作は、例えば、ランダム処理が重みとしての確率を用いて実行される様に、実行される。ここで、ランダム処理は”ｙｅｓ”か”ｎｏ”のどちらかであり、”ｙｅｓ”は確率ｐ（ＱＬav）で発生される。そのような処理は当該技術分野で公知であり、ここではこれ以上説明しない。その処理の結果が”ｙｅｓ”の場合、輻輳通知が実行され、結果が”ｎｏ”の場合には輻輳通知動作は行われない。
【００５８】
ステップＳ３３やステップＳ３４において行われる輻輳通知動作は、適切か所望の方法であればどのようにも選択することができ、例えば、データユニットの削減のような黙示の輻輳通知動作、或いはデータユニットに適切な通知フラッグに設定したり、明示の通知メッセージ（source quench）送信するような明示の輻輳通知動作とすることができる。このことは前述したのでここでは繰り返す必要は無い。同じタイプの輻輳通知動作がステップＳ３３、Ｓ３４で実行されうる。例えば、両者の場合における削減動作（dropping operation）やフラグ付け動作であるが、ステップＳ３３で一方のタイプの輻輳通知動作を行い、ステップＳ３４で他方の輻輳通知動作を行うことが同様に可能である。例えば、ステップＳ３３の輻輳通知動作をデータユニット削減作用とし、ステップＳ３４の輻輳通知動作をフラグ付け動作とすることができる。
【００５９】
さらに、ステップＳ３３やＳ３４の輻輳通知動作が施されることになるデータユニットを判定する処理は、適切又は所望であればどのようにも選択することができる。例えば、輻輳通知処理はいつも、最新（last）の到着したデータユニットについて実行することができ、或いは、キューデータユニットの中からのデータユニットはランダム処理によって選択することができ、或いは、キューの最初のデータユニットを選択することができる。そのような、輻輳通知動作を実行するためのデータユニットを選択する技術は、従来技術において公知であり、そのようないかなる公知の技術でも適用可能であるため、より詳細な説明はここでは不要である。
【００６０】
２つの閾値minthとmaxthを用いる本実施例によれば、ステップ４（図２、３）又はＳ４１（図４ａ）の適応処理は、次式に従ってリンク容量ＬＣの第１の推定処理とされる。
【００６１】
ＬＣ＝（ＲＴＴWC＋ＲＴＴ）・ＤＲ・・・（２）
ここで、ＤＲはリンクのデータレートであり、ＲＴＴはリンクの往復時間であり、ＲＴＴWCは所定定数である。そして、下の閾値minthは推定されたリンク容量ＬＣの関数として決定され、例えば、推定リンク容量ＬＣ又はＬＣと別の所定定数εとの和に等しくなるように設定される。最後に、上の閾値maxthはminthと更なる所定定数との和に等しくなるように設定される。
【００６２】
第１の所定定数ＲＴＴWCの選択に関し、この係数は好ましくは、上記リンク上を転送されているデータユニットに対しての、全体として最悪のケースとしての端部対端部（end-to-end）間の往復時間である。ここで、端部対端部とはデータユニット送信元からデータユニット送信先までを意味し、またさらに、ＲＴＴWCはリンク自身のＲＴＴ寄与分を含まないものである。しかしながら、ＲＴＴWCは、基本的に２００１年のインターネット技術を利用する場合に３００ｍｓの値を好ましくは超えないように、無限値には設定されるべきではない。一方においてＲＴＴWCが最小ＲＴＴ、即ち最悪ケースのＲＴＴを反映するということによれば、ＲＴＴWCは２００ｍｓから３００ｍｓの範囲で設定されるのが好ましく、より好ましくは、基本的に２００１年のインターネット技術を用いると２００ｍｓから２５０ｍｓの範囲で設定される。
【００６３】
当然、インターネット以外の他のタイプのネットワークでは、より狭い範囲が可能であり、また、将来のインターネット技術では、２００１年の現インターネット技術に関するスピードの増加次第で可能ということになる。
【００６４】
第２の所定定数εはゼロ、或いは、典型的なリンク容量値に関して小さい値でよい。例えば、リンクが標準的容量値又はＬＣmaxの最大リンク容量を有する場合、εは０から０．０１・ＬＣmaxの範囲で選択することができる。同様に、εは、２とか３のように小さい数のデータユニット数と同等値に設定することができる。
【００６５】
最後に、maxthを算出する第３の定数に関して、この第３の定数は好ましくは、例えば３から６個のデータユニットのように、小さい数のデータユニット数である。minthとmaxthがデータユニット数で表すと、maxthを決定するためには３から６の範囲の整数をminth加えるで充分である。minthとmaxthがデータ量として（バイト又はビットで）表される場合には、第３の定数は、データ量で測定され、３から６の範囲の整数で乗算される、所定のデータユニットサイズ（例えば、最大セグメントサイズのように）として決定されるであろう。
【００６６】
上述の式（２）に基づいてminth（Ｌth）の適応を用いる本発明の実施例は、好ましくは、ネットワークにおいてＩＰパケットをバッファリングするバッファに適用される。そしてそのネットワークでは、送信制御プロトコル（ＴＣＰ）又は、レートベースプロトコルに対するＴＣＰに親和性のあるレート制御のような、類似の輻輳制御スキームを用いるプロトコルに従って、ＩＰパケットを送出するフロー制御が動作している。即ち、閾値の前述の設定処理は、ネットワークリミテッドのＴＣＰ送信機（ネットワークリミテッドとは送信中のパケット数は輻輳制御によって制限されることを意味する）がその使えるバンド幅を完全に活用するであろうということを保証するものである。本発明の発明者は、複数負荷減少イベントに亘って有効バンド幅を完全に活用するために、ネットワークリミテッドのＴＣＰ送信機が、パケットが供給されているパイプ（通信路）の容量の少なくとも２倍にその送信ウインドウを増やすことは許されるべきであることを認識してきた。
【００６７】
既に上述したように、第１の定数ＲＴＴWCは、好ましくは、キューバッファ２でバッファされ、リンク１上を進行するデータユニットに対する最悪の場合の端部対端部の往復時間を推定する値に設定される。上述の２００ｍｓから３００ｍｓの範囲で単に設定する以外でこの定数のより正確な選択は、端部対端部の往復時間が十分推定可能な場合に特に達成することができる。これは、特に、管理されているキューがあるフローに属するデータユニットを含んでいる。フローは送信元及び送信先アドレス、送信元及び送信先ポート番号、プロトコル識別子によって定義される。フローの送信先とコンセプトは公知であり、例えば、ＴＣＰ（送信制御プロトコル）に関しては、ここでは更なる説明は不要である。この場合、端部対端部の最悪の場合の往復時間からリンク往復時間を引き算するという、より正確な推定が可能である。一般的に、キューバッファは複数の異なるフローに属するデータユニットをバッファするということに注意すべきである。しかしながら、キューバッファ２は複数のキュー２０を提供することが想定でき、ここで、各キューは所定の（given）フローに関連し、それ自身個々の制御パラメータに従って管理されている。
【００６８】
上述の実施例及び図４ａの実施例では、自動閾値適応処理は、１以上の閾値に対する更新処理であった。続いて、別の実施例について説明するが、ここでは、自動閾値適応処理は、リンクの接続性の状態に対応する閾値変更処理を備えている。図４ｂで示されるように、図４ｂは図３のステップＳ７及びＳ４の代わりに設けることができ、ステップＳ７２において、リンク１の接続状態が変化したか否かが最初に判断され、変化した場合には閾値変更処理Ｓ４２が開始される。
【００６９】
ステップＳ７２の判定は、単にリンク１が接続性を提供しているか否かを判定するのが好ましい。言い換えれば、データユニットが転送されているか否かが判断される。ステップＳ４２の閾値変更処理は、好ましくは、リンク１の接続状態が、データユニットが全く転送されないといった方法で、例えばリンクがダウンしているような方法で変化する場合に、閾値Ｌthが、例えば瞬間値を所定の係数（factor）で乗算することにより増加する、といった方法で、設定されている。言い換えれば、リンクが接続性を失った場合に、ステップＳ４２における処理は、長さ閾値をＬthをｆc・Ｌthに増加させる。
【００７０】
図５に示されるように、ここではステップＳ７３とＳ４３は図４ｂのすってぷＳ７２とＳ４２に相当するものであるが、閾値Ｌthを増加させるステップは好ましくは、ステップＳ４４が後に続くものであり、ステップＳ４４では、接続性が戻ったか否かが判断される。この場合には、フローはステップＳ４５に進み、そこで、閾値が新しい値にリセットされる。リセットは、増加前の閾値に戻す処理とすることが可能である。即ち、以前の増加値が係数ｆcで除算されるか、Ｌthについての新しい判定が、例えばＬthの更新処理に関連して既に説明したように、実行される。言い換えれば、ＲＴＴやＤＲのような１以上のリンク特性が測定され、Ｌthの新しい値がその所定の関数に従って、例えば上記（２）式に従って、計算される。
【００７１】
長さ閾値Ｌthを新しい値に直ちにリセットすることは可能であるが、閾値のリセット時におけるキュー（瞬間的キュー長）におけるデータユニット数に基づいて、値を徐々にだけ変化させることが好ましい。すなわち、閾値Ｌthが突然減少させられ、輻輳通知処置を開始する基礎として用いられるキュー長関連パラメータは突然閾値Ｌthより大きくなると、多数の輻輳通知処理（例えば、多数のデータユニットの削減）が突然が起こってしまう。これを避けるために、ステップＳ４５の閾値リセット処理が行われる。そこでは、Ｌthの高初期値は、直ちには新しい値にリセットされず、むしろ最初にキュー長関連パラメータ（例えば、ＱＬ又はＱＬav）の瞬間値に減少され、そしてキュー長関連パラメータが減少された場合に、上記算出された新しいＬth値に到達するまで、続いて減少させられるという方法で処理される。
【００７２】
（キューの）長さについて接続状態に基づく上述のリンク変更処理の利点は、リンク休止の場合に不必要な輻輳通知動作を避けることである。特に、輻輳通知動作がデータユニット削減である場合に、リンク接続性に基づく閾値変更処理はバッファに入るデータユニットの全負荷が、リンク休止期間にリンクで吸収されるか緩衝され、一方でデータユニットの喪失を防ぐということを保証するものである。基本的前提は、データユニットに有効なバンド幅がリンク休止後は基本的に不変であるということである。それゆえ、輻輳通知処理の実行は、データユニットを送信し又は受信する端部（end-points）に誤った情報を与えるものであり、そして端部は通常、送信されているデータユニットの不当な制限に反応する。
【００７３】
既に前述したように、図４ａのステップＳ７１及びＳ４１は図３のステップＳ７及びＳ４を置き換えることができ、図４ｂのステップＳ７２及びＳ４２は図３のステップＳ７及びＳ４を置き換えることができ、図５のステップＳ７３からＳ４５は図３のステップＳ７及びＳ４を置き換えることができる。さらに、例えば、図３のステップＳ７及びＳ４の置換としてステップＳ７１、Ｓ４１、Ｓ７２及びＳ４２を配置することによって、図４ａの更新処理を図４ｂ又は図５の閾値変更処理と組み合わせることができる。
【００７４】
さらに、本発明の方法はまた、キューバッファ２に対して用意されている現在のメモリ容量に基づいて、長さ閾値Ｌthを自動的に減少させる自動閾値減少処理によっても補完することができるといえる。
【００７５】
本発明が詳細な実施例を用いて説明されたが、これらの実施例は本発明をよりよく理解させるために役立つだけであり、本発明の権利範囲を限定するものではない。本発明の権利範囲は添付の特許請求の範囲によって明らかにされる。特許請求中の参照符号は、特許請求の範囲を理解しやすくするものであり、また権利範囲を制限するものではない。
【図面の簡単な説明】
【００７６】
本発明は、その詳細な実施例を参照することによって説明される。ただし、その実施例は本発明を制限的に理解するようにされるものではない。また、実施例は添付図面を参照することによって説明される。
【図１】図１は、キューバッファの概念的ブロック図である。
【図２】図２は、本発明の基本的実施例を説明するためのフローチャートである。
【図３】図３は、本発明のさらに詳しい実施例を説明するためのフローチャートである。
【図４ａ】図４ａは、別の閾値適応処理を説明するためのフローチャート部（１）である。
【図４ｂ】図４ｂは、別の閾値適応処理を説明するためのフローチャート部（２）である。
【図５】図５は、リンク接続性に基づいて長さ閾値変化処理の実施例を説明するためのフローチャートである。
【図６】図６は、輻輳通知処理の実施例に関するフローチャートである。
【図１】
2004532566.tif 000003
【図２】
2004532566.tif 000004
【図３】
2004532566.tif 000005
【図４ａ】
2004532566.tif 000006
【図４ｂ】
2004532566.tif 000007
【図５】
2004532566.tif 000008
【図６】
2004532566.tif 000009
【国際公開パンフレット】
2004532566.tif 000010
2004532566.tif 000011
2004532566.tif 000012
2004532566.tif 000013
2004532566.tif 000014
2004532566.tif 000015
2004532566.tif 000016
2004532566.tif 000017
2004532566.tif 000018
2004532566.tif 000019
2004532566.tif 000020
2004532566.tif 000021
2004532566.tif 000022
2004532566.tif 000023
2004532566.tif 000024
2004532566.tif 000025
2004532566.tif 000026
2004532566.tif 000027
2004532566.tif 000028
2004532566.tif 000029
2004532566.tif 000030
2004532566.tif 000031
2004532566.tif 000032
2004532566.tif 000033
2004532566.tif 000034
2004532566.tif 000035
2004532566.tif 000036
2004532566.tif 000037
2004532566.tif 000038
2004532566.tif 000039
2004532566.tif 000040
2004532566.tif 000041
2004532566.tif 000042
2004532566.tif 000043
2004532566.tif 000044
2004532566.tif 000045
2004532566.tif 000046
2004532566.tif 000047
2004532566.tif 000048
2004532566.tif 000049
2004532566.tif 000050
【国際公開パンフレット（コレクトバージョン）】
2004532566.tif 000051
2004532566.tif 000052
【国際調査報告】
2004532566.tif 000053
2004532566.tif 000054
2004532566.tif 000055