(57)【特許請求の範囲】
【請求項１】
複数のフローからパケットをそれぞれが受け取る複数の入側ポートと複数の出力キューとを含むデータネットワーク内の性能を最適化するための方法であって、
複数のフローの入側速度を監視する段階であって、それぞれのフローは、入側ポートから出力キューへ送られる複数のパケットを含み、また、それぞれのフローは、フロー特性に関するプロファイルを有する段階と、
入側速度およびフロープロファイルを含む基準に基づいて、複数のフローマークの中の１つを、それぞれのパケットにつける段階と、
キューの長さの関数として得られる破棄関数の値に基づいて、出力キューにおけるそれぞれのパケットの破棄確率を調整する段階であって、破棄関数は、複数の破棄関数の中から選択され、また、それぞれの破棄関数は、複数のマークの中の１つに対応する段階と、を備え、
下側しきい値の範囲よりも小さいキューの長さに対しては、破棄関数が０であり、
下側しきい値の範囲よりも大きいキューの長さに対しては、破棄関数が正の値である、
方法。
【請求項２】
下側しきい値の範囲が、下側ＲＥＤしきい値の６０％よりも大きい最小値を有し、
下側しきい値の範囲が、下側ＲＥＤしきい値の４０％とネットワークの最大平均バッファサイズの６０％との和よりも小さい最大値を有する、
請求項１に記載の方法。
【請求項３】
下側しきい値の範囲が、下側ＲＥＤしきい値の２０％よりも大きい最小値を有し、
下側しきい値の範囲が、下側ＲＥＤしきい値の８０％とネットワークの最大平均バッファサイズの２０％との和よりも小さい最大値を有する、
請求項１に記載の方法。
【請求項４】
下側しきい値の範囲が、１つの下側しきい値からなる請求項１に記載の方法。
【請求項５】
上側しきい値の範囲よりも大きいキューの長さに対して、破棄関数が、一様に１である請求項１に記載の方法。
【請求項６】
下側しきい値の範囲が、下側ＲＥＤしきい値の６０％よりも大きい最小値を有し、
下側しきい値の範囲が、下側ＲＥＤしきい値の４０％とネットワークの最大平均バッファサイズの６０％との和よりも小さい最大値を有し、
上側しきい値の範囲が、上側ＲＥＤしきい値の６０％よりも大きい最小値を有し、
上側しきい値の範囲が、上側ＲＥＤしきい値の４０％とネットワークの最大平均バッファサイズの６０％との和よりも小さい最大値を有する、
請求項５に記載の方法。
【請求項７】
下側しきい値の範囲が、下側ＲＥＤしきい値の２０％よりも大きい最小値を有し、
下側しきい値の範囲が、下側ＲＥＤしきい値の８０％とネットワークの最大平均バッファサイズの２０％との和よりも小さい最大値を有し、
上側しきい値の範囲が、上側ＲＥＤしきい値の２０％よりも大きい最小値を有し、
上側しきい値の範囲が、上側ＲＥＤしきい値の８０％とネットワークの最大平均バッファサイズの２０％との和よりも小さい最大値を有する、
請求項５に記載の方法。
【請求項８】
下側しきい値の範囲が、１つの下側しきい値からなり、
上側しきい値の範囲が、１つの上側しきい値からなる、
請求項５に記載の方法。
【請求項９】
上側しきい値と下側しきい値との間にあるキューの長さに対して、破棄関数が、線形関数である請求項８に記載の方法。
【請求項１０】
破棄関数が、キューの長さの非減少関数である請求項１に記載の方法。
【請求項１１】
複数の破棄関数が、「ＬＯＷマーク」、「ＮＯＲＭＡＬマーク」、および、「ＨＩＧＨマーク」として識別される関数を含む請求項１に記載の方法。
【請求項１２】
フロープロファイルが、平均速度と、バースト速度と、バースト長とを含む請求項１に記載の方法。
【請求項１３】
フロープロファイルが、平均速度、バースト速度、および、バースト長の少なくとも１つを含む請求項１に記載の方法。
【請求項１４】
入側速度の監視が、水漏れバケツアルゴリズムを含む請求項１に記載の方法。
【請求項１５】
複数のフローからパケットをそれぞれが受け取る複数の入側ポートと複数の出力キューとを含むデータネットワーク内の性能をユーザとは無関係に最適化するための方法であって、
複数のフローの入側速度を監視する段階であって、それぞれのフローは、入側ポートから出力キューへ送られる複数のパケットを含み、また、それぞれのフローは、フロー特性に関するプロファイルを有する段階と、
入側速度およびフロープロファイルを含む基準に基づいて、複数のフローマークの中の１つを、それぞれのパケットにつける段階と、
キューの長さの関数として得られる破棄関数の値に基づいて、出力キューにおけるそれぞれのパケットの破棄確率を調整する段階であって、破棄関数は、複数の破棄関数の中から選択され、それぞれの破棄関数は、複数のマークの中の１つに対応する段階と、
を備えた方法。
【請求項１６】
下側しきい値よりも小さいキューの長さに対しては、破棄関数が０である請求項１５に記載の方法。
【請求項１７】
上側しきい値よりも大きいキューの長さに対しては、破棄関数が１である請求項１６に記載の方法。
【請求項１８】
上側しきい値と下側しきい値との間にあるキューの長さに対して、破棄関数が、線形関数である請求項１７に記載の方法。
【請求項１９】
破棄関数が、キューの長さの非減少関数である請求項１５に記載の方法。
【請求項２０】
複数の破棄関数が、「ＬＯＷマーク」、「ＮＯＲＭＡＬマーク」、および、「ＨＩＧＨマーク」として識別される関数を含む請求項１５に記載の方法。
【請求項２１】
フロープロファイルが、平均速度と、バースト速度と、バースト長とを含む請求項１５に記載の方法。
【請求項２２】
フロープロファイルが、平均速度、バースト速度、および、バースト長の少なくとも１つを含む請求項１５に記載の方法。
【請求項２３】
入側速度の監視が、水漏れバケツアルゴリズムを含む請求項１５に記載の方法。
【請求項２４】
複数のフローからパケットをそれぞれが受け取る複数の入側ポートと複数の出力キューとを含むデータネットワーク内の性能を最適化するための方法であって、
複数のフローの入側速度を監視する段階であって、それぞれのフローは、入側ポートから出力キューへ送られる複数のパケットを含み、また、それぞれのフローは、フロー特性に関するプロファイルを有する段階と、
入側速度およびフロープロファイルを含む基準に基づいて、複数のフローマークの中の１つを、それぞれのパケットにつける段階と、
キューの長さの関数として得られる破棄関数の値に基づいて、出力キューにおけるそれぞれのパケットの破棄確率を調整する段階であって、破棄関数は、複数の破棄関数の中から選択され、それぞれの破棄関数は、複数のマークの中の１つに対応し、そして、複数の破棄関数は、「ＬＯＷマーク」、「ＮＯＲＭＡＬマーク」、および、「ＨＩＧＨマーク」として識別される関数を含む段階と、
を備えた方法。
【請求項２５】
下側しきい値よりも小さいキューの長さに対しては、破棄関数が０である請求項２４に記載の方法。
【請求項２６】
上側しきい値よりも大きいキューの長さに対しては、破棄関数が１である請求項２５に記載の方法。
【請求項２７】
上側しきい値と下側しきい値との間にあるキューの長さに対して、破棄関数が、線形関数である請求項２６に記載の方法。
【請求項２８】
破棄関数が、キューの長さの非減少関数である請求項２４に記載の方法。
【請求項２９】
フロープロファイルが、平均速度と、バースト速度と、バースト長とを含む請求項２４に記載の方法。
【請求項３０】
フロープロファイルが、平均速度、バースト速度、および、バースト長の少なくとも１つを含む請求項２４に記載の方法。
【請求項３１】
入側速度の監視が、水漏れバケツアルゴリズムを含む請求項２４に記載の方法。
【発明の詳細な説明】
【０００１】
（技術分野）
本発明は、データネットワークの設計に関し、より詳細には、入側速度を監視することによって、データネットワーク内のシステム性能を最適化する方法に関する。
【０００２】
（背景技術）
ネットワークに入力するデータフローは、指定されたキューへ送られ、それと同時に、別のフローも、それらの指定されたキューへ送られる。そのキューにおいて、出側速度が、入側速度よりも小さい場合、キューは、徐々に溜まる（すなわち、輻輳する）ことがある。この輻輳は、その下で動作しているタスクにとって、システム性能が低下することにつながる。したがって、輻輳を効果的に管理することが、データネットワークを設計するときの重要な目標である。
【０００３】
図６に示されるように、典型的なデータネットワークは、データチャンネルＣ１’からＣ３’を含み、これらは、入力として、フローＦ１’からＦ９’からデータを受け取る。これらのチャンネルは、データをスイッチＳ’に送り、そして、そのスイッチＳ’は、そのデータをキューＱ１’からＱ３’に送る。
【０００４】
それぞれのフローＦ１’からＦ９’内のデータは、一連のパケット（すなわち、データの単位）からなる。あるフロー（すなわち、Ｆ１’からＦ９’の中の１つ）に対応するパケットは、指定されたチャンネル（すなわち、Ｃ１’からＣ３’の中の１つ）を通り、スイッチＳ’によって、指定されたキュー（すなわち、Ｑ１’からＱ３’の中の１つ）へ送られる。
【０００５】
ネットワークが輻輳してくると、パケットは、資源の不足のために、破棄されることがある。破棄されたパケットは、その後に再送されなければならない。これは、システムにさらなる負荷をかけ、それが、さらなる輻輳につながることがある。
【０００６】
パケットは、ＲＥＤ（確率化早期検出（Ｒａｎｄｏｍ  Ｅａｒｌｙ  Ｄｅｔｅｃｔｉｏｎ））アルゴリズムに基づいて、パケットの対応するキュー（すなわち、Ｑ１’からＱ３’の中の１つ）において破棄される。図７の破棄確率曲線で示されるように、パケットを破棄する確率は、下側ＲＥＤしきい値よりも小さい値の平均したキューの長さに対しては、０にセットされ、上側ＲＥＤしきい値よりも大きい値に対しては、１にセットされる。２つのしきい値の間にある平均キュー長の値に対しては、破棄確率は、平均キュー長に線形に依存する。いったんパケットの破棄確率が決定されると、パケットは、確率化検定（ｒａｎｄｏｍ  ｔｅｓｔ）に基づいて、破棄される場合もあり、あるいは、破棄されない場合もあり、破棄されない場合には、パケットは、キューに入れられる。ＲＥＤアルゴリズムの詳細に関しては、「輻輳を回避するための確率化早期検出ゲートウェイ（Ｒａｎｄｏｍ  Ｅａｒｌｙ  Ｄｅｔｅｃｔｉｏｎ  Ｇａｔｅｗａｙｓ  ｆｏｒ  Ｃｏｎｇｅｓｔｉｏｎ  Ａｖｏｉｄａｎｃｅ）」（Ｓａｌｌｙ  ＦｌｏｙｄおよびＶａｎ  Ｊａｃｏｂｓｏｎ、１９９３年、ＩＥＥＥ／ＡＣＭ  ネットワークに関する議事録（Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｎｅｔｗｏｒｋｉｎｇ））に記載されている。
【０００７】
パケットの破棄は、データネットワークにおける輻輳を、ＴＣＰのようなより高いレベルのプロトコルに効果的に通知し、より高いレベルのプロトコルは、対応するフロー速度を落とすことによって応答する。輻輳がなければ（すなわち、パケットが破棄されなければ）、より高いレベルのプロトコルは、輻輳が発生するまで、ネットワーク内の全体的なトラフィックをありのままに増大させる。輻輳を通知するためにＲＥＤを使用することは、いくつかの利点を有するが、それでも、このアプローチは、依然として、スループット（すなわち、転送された総データ量）およびグッドプット（すなわち、完了タスクに転送されたデータ量）のような量で評価することのできるシステム性能を制限することがある。
【０００８】
ＲＥＤアルゴリズムは、フローの特性に無関係にパケットを破棄するのを許すので、システム性能にとって危険であってもシステム内の輻輳にはなんら責任のないフロー内で、パケットが破棄されることがある。このように、例えば、ＲＥＤアルゴリズムは、ファイル転送に関係する広帯域幅フローと、制御信号に関係する狭帯域幅フローとを区別しない。性質上、システムの全体的な性能は、輻輳の原因となっているフローの破棄確率を増大させることによって向上する。
【０００９】
ＲＥＤアルゴリズムを変更する試みは、一般に、入側速度とは異なる余分な入力と、システム性能とは異なる性能評価基準とに重点をおくものであった。
【００１０】
例えば、ＦＲＥＤ（フロー確率化早期破棄（Ｆｌｏｗ  Ｒａｎｄｏｍ  Ｅａｒｌｙ  Ｄｒｏｐ））アルゴリズムは、バッファ使用率（すなわち、キュー使用率）に関する情報を取り込むことによって、ＲＥＤアルゴリズムに基づく破棄確率を修正するものであり、そのために、バッファの使用率が高いフローのパケットは、破棄される確率がより高い。ＦＲＥＤアルゴリズムは、バッファッリングされたパケットを現時点で有しているフローのそれぞれについて、アクティブフローごとのバッファ数を保持することによって、この修正を行う。ＦＲＥＤアルゴリズムの詳細に関しては、「確率化早期検出のダイナミックス（Ｄｙｎａｍｉｃｓ  ｏｆ  Ｒａｎｄｏｍ  Ｅａｒｌｙ  Ｄｅｔｅｃｔｉｏｎ）」（ＳＩＧＣＯＭＭ’９７議事録、Ｄｏｎｇ  ＬｉｎおよびＲｏｂｅｒｔ  Ｍｏｒｒｉｓによる）に記載されている。
【００１１】
適応ＲＥＤアルゴリズムは、ＲＥＤアルゴリズムに基づく破棄確率曲線を使用し、その曲線は、なんらかのシステム性能目標に基づいて修正される。しかしながら、フローの特性および測定値は、使用されない。適応ＲＥＤアルゴリズムの詳細に関しては、「ＲＥＤゲートウェイの自己構成（Ａ  Ｓｅｌｆ−ｃｏｎｆｉｇｕｒｉｎｇ  ＲＥＤ  Ｇａｔｅｗａｙ）」（Ｆｅｎｇらによる）に記載されている。
【００１２】
ＷＲＥＤ（加重確率化早期検出（Ｗｅｉｇｈｔｅｄ  Ｒａｎｄｏｍ  Ｅａｒｌｙ  Ｄｅｔｅｃｔｉｏｎ））アルゴリズムは、フローに無関係に、破棄確率を修正するのにパケットのＩＰ優先順位を使用する。すなわち、ＩＰ優先順位（１から８までの）ごとに、図７に示されるような異なる破棄確率曲線が、使用される。その結果として、システム性能を改善することは期待できない。さらに、ＷＲＥＤアルゴリズムの変形は、それぞれのキューで異なる破棄確率曲線を使用する。
【００１３】
その他のアプローチは、ある特定のユーザのための性能に重点をおくものである。すなわち、優先権を与えられたユーザが所有するフローは、優先権のないユーザに対応する曲線と比較してより小さい値の破棄確率曲線を持つことができる。その結果として、優先権を与えられたユーザに属するフローは、利益を得ることができるが、システム性能は、向上しそうもない。例えば、２ビット方式は、より高い優先順位のキューを、優先権を与えられたユーザに割り当てる。同様に、ＵＳＤ方式は、より広い帯域幅を、優先権を与えられたユーザに割り当てる。ＲＩＯ方式は、２つの破棄確率曲線を含み、その１つは、「プロファイル内」のフローのためのものであり、もう１つは、ある程度ユーザに基づいたなんらかのフロー特性に関連する「プロファイル外」のフローのためのものである。「プロファイル内」の曲線は、「プロファイル外」の曲線と比較して、下側ＲＥＤしきい値としてより大きな値を使用する。その結果として、システムにおける輻輳が、「プロファイル内」にあるフローによって引き起こされているのに、パケットは、「プロファイル外」にあるフローに対して、破棄されるかもしれない。主にユーザ識別に基づいた優先権は、システム性能を向上させることを期待できない。２ビット方式、ＵＳＤ方式、および、ＲＩＯ方式の詳細に関しては、「差別化サービスに使用される方式の比較研究（Ａ  Ｃｏｍｐａｒａｔｉｖｅ  Ｓｔｕｄｙ  ｏｆ  Ｓｃｈｅｍｅｓ  ｆｏｒ  Ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ）」（Ａｎｉｎｄｙａ  ＢａｓｕおよびＺｈｅｎｇ  Ｗａｎｇによる。ＩＥＴＦウェブサイト）に記載されている。
【００１４】
さらに、パケットを破棄するためのその他の非確率論的アプローチが、開発されている。それらの例には、米国特許第４，７６９，８１０号および第４，７６９，８１１号が含まれる。しかしながら、いくつかの用途においては、これらのアプローチは、データネットワーク内の輻輳をうまく通知することができないと考えられる。
【００１５】
（発明の開示）
したがって、本発明の目的は、データネットワーク内の性能を最適化するための方法を提供することである。
【００１６】
本発明のさらなる目的は、入側フロー測定値を用いて、データネットワーク内の性能を最適化するための方法を提供することである。
【００１７】
また、本発明の目的は、データネットワーク内の性能を最適化するための方法を提供することであり、そこでは、最適化基準が、システム性能に基づくものである。
【００１８】
さらに、本発明の目的は、入側フロー測定値とフロープロファイルとの比較に基づいて、フローに含まれるパケットにマークをつける方法を提供することである。
【００１９】
さらにまた、本発明の目的は、パケットのマークに基づいて、破棄確率関数を選択する方法を提供することである。
【００２０】
本発明のさらなる目的は、平均したキューの長さおよびパケットのマークに基づいて、パケットの破棄確率を選択する方法を提供することである。
【００２１】
本発明の上述した目的およびそれに関連する目的は、複数の入側ポートおよび出力キューを含むデータネットワーク内の性能を最適化する方法によって実現される。複数のフローの入側速度が、監視され、それぞれのフローは、入側ポートから出力キューへ送られる複数のパケットを含み、それぞれのフローは、フロー特性に関するプロファイルを有する。それぞれのパケットは、入側速度およびフロープロファイルを含む基準に基づいて、複数のフローマークの中の１つをつけられる。それぞれのパケットの破棄関数は、キューの長さの関数として得られる破棄関数の値に基づいて、出力キューにおいて調整され、破棄関数は、複数の破棄関数の中から選択され、それぞれの破棄関数は、複数のマークの中の１つに対応する。下側しきい値の範囲よりも小さいキューの長さに対しては、破棄関数は０であり、下側しきい値の範囲よりも大きいキューの長さに対しては、破棄関数は一様に正の値である。この範囲は、それは１つの点であってもよいが、性能目標に応じて調整されてもよい。
【００２２】
本発明によれば、好都合には、フロー特性を測定し、それらの特性をフロープロファイルと比較し、パケットを破棄する確率を決定することによって、システム性能目標を最適化することができる。柔軟性のあるフレームワークによって、複数の基準および測定値を考慮することができる。それによって、より高いレベルのプロトコルとの連絡が、効果的に向上する。
【００２３】
本発明のこれらの目的、その他の目的、および、利点は、以下の現時点において好ましい本発明の実施例の詳細な説明から、そして、添付の図面を参照することによって、より明白となり、かつ、より容易に理解できる。
【００２４】
（発明を実施するための最良の形態）
（例示的な実施例）
図１に示されるように、データネットワークの性能を最適化するための本発明による方法の好ましい実施例は、データチャンネルＣ１からＣ３を含み、これらのチャンネルは、フローＦ１からＦ９からデータを入力として受け取る。チャンネルは、トラフィックモニタＭ１からＭ３を介して、データをスイッチＳに送り、そして、スイッチＳは、そのデータをキューＱ１からＱ３に送る。フロー、チャンネル、モニタ、スイッチ、および、キューの数は、限定されない。この実施例では、説明に必要な数の構成要素だけを示す。
【００２５】
それぞれのフローＦ１からＦ９内のデータは、一連のパケット（すなわち、データの単位）からなる。あるフロー（すなわち、Ｆ１からＦ９の中の１つ）に対応するパケットは、指定されたチャンネル（すなわち、Ｃ１からＣ３の中の１つ）を通り、指定されたトラフィックモニタ（すなわち、Ｍ１からＭ３の中の１つ）を通り、そして、スイッチＳによって、指定されたキュー（すなわち、Ｑ１からＱ３の中の１つ）へルーティングされる。プロセス制御の一部として、それぞれのパケットは、パケットが通過する対応するトラフィックモニタ（すなわち、Ｍ１からＭ３の中の１つ）においてマークをつけられる。好ましくは、パケットの指定されたビットが、そのマークを表現するのに使用されてもよい。マークをつけるのは、トラフィックモニタで得られる測定値に加えて、フローＦ１からＦ９のそれぞれに対応するフロープロファイルを含むその他のデータに基づいてなされてもよい。好ましい実施例においては、フローに対応するフロープロファイルは、帯域幅（すなわち、データ速度）に対する下側しきい値および上側しきい値を含み、パケットは、同時に測定された帯域幅が、それぞれ、両方のしきい値よりも小さいか、２つのしきい値の間にあるか、あるいは、両方のしきい値よりも大きいかによって、「ＬＯＷ」、「ＮＯＲＭＡＬ」、または、「ＨＩＧＨ」のマークがつけられる。
【００２６】
本発明によれば、パケットは、割り当て破棄確率および確率化検定に基づいて、パケットの対応するキュー（すなわち、Ｑ１からＱ３の中の１つ）内で破棄される。図２に示されるように、好ましい実施例においては、パケットを破棄する確率は、平均したキューの長さおよび「ＬＯＷ」、「ＮＯＲＭＡＬ」、または、「ＨＩＧＨ」のパケットのマークに基づいて割り当てられ、そして、、破棄確率が、対応するマーク曲線から決定される。いったんパケットの破棄確率が決定されると、パケットは、確率化検定（すなわち、乱数の生成）に基づいて、破棄される場合もあり、あるいは、破棄されない場合もある。破棄されない場合には、パケットは、キューに入れられる。
【００２７】
それぞれのトラフィックモニタは、チャンネルに対応するフローごとに、入側モニタを含む。図３に示されるように、トラフィックモニタの好ましい実施例は、データフローＡ、Ｂ、および、Ｃからのデータパケットを識別するためのフロー識別機能を含む。パケットは、フローに対応する入側モニタによってカウントされ（すなわち、フローに対応する入側モニタに通され）、パケットマーカーによってマークをつけられ、そして、スイッチＳに送られる。
【００２８】
入側モニタの好ましい実施例は、水漏れバケツモデルとしてこの分野で知られている。図４に示されるように、水漏れバケツモデルの好ましい実施例は、特性パラメータとして、フロー増分Ｉ、漏れ速度Ｒ、および、水位Ｌを含む。パケットが、モニタに通されると、水位Ｌは、フロー増分Ｉだけ増加する。また、水位Ｌは、サイクルごとに、漏れ速度Ｒだけ減少する。図５に示されるように、このようなモデルは、平均データ速度だけでなくバースト速度およびバースト長をも含むいくつかのフロー特性を測定するのに使用することができる。これらのフロー特性を得るために、入側モニタは、複数の水漏れバケツモデルを含んでもよい。水漏れバケツモデルに加えて、その他のモデルが、入側モニタの構成要素として、使用されてもよい。（ＡＴＭフォーラムのトラフィック管理仕様書、書類番号ａｆ−ｔｍ−００５６．０００（ＡＴＭ  Ｆｏｒｕｍ  Ｔｒａｆｆｉｃ  Ｍａｎａｇｅｍｅｎｔ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ，Ｄｏｃｕｍｅｎｔ  Ｎｏ．ａｆ−ｔｍ−００５６．０００））
本発明はいくつかの利点を有する。
【００２９】
対応するそれのフロープロファイルに一致するフローは、システム全体から見て挙動がよいと考えられる。フロープロファイルと比較することのできるフロー特性を測定して、パケットを破棄する確率を決定することによって、挙動のよいフローには、より小さい破棄確率を割り当てることができ、そして、挙動のよくないフローには、より大きな破棄確率を割り当てることができる。それによって、スループット（すなわち、転送された総データ量）およびグッドプット（すなわち、完了タスクに転送されたデータ量）のような量で評価される場合に、システム性能を改善することができる。
【００３０】
本発明は、フロープロファイルおよび測定可能なフロー特性に基づいた複数の基準を使用して、パケットを破棄する確率を決定するための柔軟性のあるフレームワークを提供する。図５に示されるように、パケットに対するマークを決定するのに複数の基準を使用することができる。例えば、ある条件下で、フローが、むらのある挙動をする場合、バースト速度またはバースト長は、システム性能にとって危険であるかもしれない。フロープロファイルは、データのその他のフローに対する重要性のために、あるフロー（例えば、制御メッセージ）は、小さい破棄確率を割り当てられなければならないことを指示するかもしれない。あるいは、大きなデータ速度を有するフローの中には、システム全体から見て、いかなる正当化する理由もなく、システム性能に悪影響を及ぼすものもあるかもしれない。
【００３１】
上述したように、パケットの破棄は、データネットワーク内の輻輳を、ＴＣＰのようなより高いレベルのプロトコルに効果的に通知し、そして、より高いレベルのプロトコルは、ネットワーク内のデータの全体的なフロー速度を落とすことによって応答する。ＲＥＤアルゴリズムは、フローの特性に無関係に、パケットの破棄を許し、そのために、パケットは、システム性能にとって危険であってもシステム内の輻輳にはなんら責任のないフローにおいて破棄されることがある。それとは対照的に、本発明によれば、システムは、そのフローがシステム性能に及ぼす潜在的な作用に基づいて、パケットの破棄を個々のフローに合わせて調整することができる。それによって、より高いレベルのプロトコルへの連絡が、向上する。
【００３２】
図２に示されるように、本発明の好ましい実施例は、共通のしきい値およびマーク曲線の区分的線形構造（ｐｉｅｃｅｗｉｓｅ−ｌｉｎｅａｒ  ｓｔｒｕｃｔｕｒｅ）に基づいた利点を有する。好ましくは、それぞれのマーク曲線は、下側システムしきい値として示される共通しきい値よりも小さい平均したキューの長さに対する破棄確率には０の値を与える。好ましくは、それぞれの曲線は、上側システムしきい値として示される共通しきい値よりも大きい平均したキューの長さに対する破棄確率には１の値を与える。好ましくは、それぞれの曲線は、下側システムしきい値と上側システムしきい値との間にある平均したキューの長さに対しては線形関数であり、そして、「ＨＩＧＨマーク」に対する曲線は、「ＮＯＲＭＡＬマーク」に対する曲線よりも上に位置し、その「ＮＯＲＭＡＬマーク」に対する曲線は、「ＬＯＷマーク」に対する曲線よりも上に位置する。
【００３３】
下側システムしきい値および上側システムしきい値のような共通しきい値の使用は、すべてのフローに対する破棄確率を確率０から同時に引き上げることによって、また、すべてのフローに対する破棄確率を確率１から同時に引き下げることによって、システム性能を向上させることができる。共通しきい値を持たないその他の方法は、フローのあるものはシステム性能を徐々に劣化させ、そして、フローのあるものだけが、もっぱら、ペナルティを課されるのを可能にすることによって、システム性能に悪影響を及ぼすことがある。さらに、マーク曲線の共通した構造的特徴は、実施するのに好都合である。下側システムしきい値と上側システムしきい値との間にある平均したキューの長さの値の場合、簡単なスケーリングによって、１つの曲線上の破棄確率がわかれば、あらゆる曲線上の破棄確率を計算することができる。
【００３４】
図２の好ましい実施例におけるマーク曲線の構造は、それに限定されるものではない。本発明のその他の実施例が、システム性能を向上させるように設計されてもよい。例えば、マーク曲線の数は、３つに限定されない。所望される最適化の程度に基づいたどのような数であってもよい。さらにまた、区分的線形構造でなくてもよい。
【００３５】
さらに、すべてのマーク曲線が、共通の下側しきい値または共通の上側しきい値を共有する必要はない。例えば、いくつかの値としての下側しきい値の範囲が、そのような微調整バイアスがふさわしいような動作設定においては、望ましい場合もある。曲線についてのしきい値の使用におけるより大きな差別化は、パケットの処理におけるそれに対応する差別化をもたらす。この差別化において考察されるであろう要素には、バッファ容量（すなわち、最大のキューの長さ）、キューへ通じるチャンネルインタフェースの数および速度、キューの期待利用率、測定されたチャンネル利用率、および、パケットのトラフィックプロファイル（例えば、バースティネス（ｂｕｒｓｔｉｎｅｓｓ）、バースト長、および、ピーク時の速度）が含まれる。
【００３６】
望ましい下側しきい値の範囲は、これらの要素およびその他のシステムパラメータから決定されてもよい。例えば、ＲＥＤアルゴリズムは、システムパラメータを使用して、下側ＲＥＤしきい値ＱＬＲを決定する。ネットワークの最大平均バッファサイズは、パラメータＱｍａｘによって与えられる。そして、システム性能を最適化するための望ましい下側しきい値の範囲（ＱＬ１、ＱＬ２）は、ＱＬＲの２０から６０％に等しい最小値ＱＬ１、および、ＱＬＲに（Ｑｍａｘ−ＱＬＲ）の２０から６０％を加えたものに等しい最大値ＱＬ２を有する。同様に、望ましい上側しきい値の範囲は、上側ＲＥＤしきい値ＱＵＲおよび最大平均バッファサイズＱｍａｘから得ることができる。そして、システム性能を最適化するための望ましい上側しきい値の範囲（ＱＵ１、ＱＵ２）は、ＱＵＲの２０から６０％に等しい最小値ＱＵ１、および、ＱＵＲに（Ｑｍａｘ−ＱＵＲ）の２０から６０％を加えたものに等しい最大値ＱＵ２を有する。
【００３７】
さらに、これらのシステムパラメータは、本発明による設計プロセスのその他の段階で考察されてもよい。
【００３８】
以上、本発明のほんのいくつかの実施例しか詳細に説明しなかったが、この分野に精通する者には、本発明の新規性のある示唆および利点から実質的に逸脱することなく、実施例において多くの変更が可能であることが容易にわかるであろう。したがって、すべてのそのような変更は、本発明の範囲に含まれる。
【図面の簡単な説明】
【図１】本発明によるデータフロー図である。
【図２】本発明によるマーク曲線のグラフである。
【図３】本発明によるトラフィックモニタを示す図である。
【図４】トラフィックモニタに用いられる水漏れバケツモデルを示す図である。
【図５】図５Ａから図５Ｃからなり、入側フローの監視に関連する測定可能なフロー特性のグラフを示す図である。
【図６】データフロー図である。
【図７】ＲＥＤアルゴリズムの破棄確率曲線を示すグラフである。
【図１】
0003548720.tif 000002
【図２】
0003548720.tif 000003
【図３】
0003548720.tif 000004
【図４】
0003548720.tif 000005
【図５】
0003548720.tif 000006
【図６】
0003548720.tif 000007
【図７】
0003548720.tif 000008