(57)【特許請求の範囲】
【請求項１】
到着するパケットを入力パケット流毎に一時的に蓄積する任意数のバッファと、
各バッファのうち次に出力すべきパケットが蓄積されているバッファの読出し選択制御を行う読出し制御部と、
当該読出し制御部により読出し選択とされたバッファから順次出力回線にパケットを出力するパケット読出し部と、
パケット処理における統計的観測情報を収集して当該収集した統計的観測情報に基づき、前記読出し制御部での前記読出し選択制御の制御パラメータである粒度を決定し当該読出し制御部に通知する統計実行部と、
で構成される競合制御装置において、
前記読出し制御部は、
トークンを与える規準となる値を格納するラウンドロビンカウンタと、
前記バッファに対応したディフィシットカウンタと、
前記粒度を格納する粒度レジスタと、
当該粒度の更新制御を行う粒度制御部と、
１ラウンド毎に、前記ラウンドロビンカウンタの値に対応するバッファにトークンが与えられたことを契機に、前記粒度レジスタの粒度を、対応するバッファのディフィシットカウンタの値に加算し、当該バッファから当該ディフィシットカウンタの値に相当するデータ量以下の高々１パケットに対してのみ前記読出し選択とする制御を行う読出し選択処理部と、で構成され、
前記統計実行部は、
前記統計的観測情報であるパケット長情報を収集し、当該収集したパケット長情報を統計処理して得られる値を前記粒度に前記決定する手段である、
ことを特徴とする競合制御装置。
【請求項２】
前記統計実行部における統計処理は、
前記収集したパケット長情報の集合から、中央値、最小値、最大値、最頻値、平均値の何れかを算出する処理である、
ことを特徴とする請求項１に記載の競合制御装置。
【請求項３】
前記統計実行部は、
或る確率でサンプリングしたパケットのパケット長情報の個数を一定に保って前記統計的観測情報の収集を行う統計部と、
当該統計部からの当該収集した統計的観測情報に基づき新たな粒度を決定する判断部と、
で構成される
ことを特徴とする請求項１又は２に記載の競合制御装置。
【請求項４】
前記統計実行部は、
前記バッファの入力前段、出力後段の何れか一方に接続される、
ことを特徴とする請求項１、２又は３に記載の競合制御装置。
【請求項５】
到着するパケットを入力パケット流毎に各バッファに蓄積したパケット群の内から、次に出力すべきパケットを出力回線に出力するに際し、次に出力すべきパケットのバッファの読出し選択制御を行うに当り、
各パケットのパケット出力処理において収集される統計的観測情報のフィードバックに基づいて、前記読出し選択制御のパラメータである粒度を決定して、当該読出し選択を為す競合制御方法において、
前記読出し選択制御は、
１ラウンド毎に、ラウンドロビンカウンタ値に相当するバッファにトークンを与えたことを契機に、現在の粒度を、当該バッファのディフィシット値に加算し、当該バッファから当該ディフィシットカウンタ値に相当するデータ量以下の高々１パケットに対して読出し選択を行う制御であり、
前記粒度の決定は、
パケットのパケット長情報を収集する前記パケット出力処理を通して、当該収集したパケット長情報を統計処理して得られる前記統計的観測情報に基づいて、為される、
ことを特徴とする競合制御方法。
【請求項６】
前記統計処理は、
前記収集したパケット長情報の個数を一定に保って為される、
ことを特徴とする請求項５に記載の競合制御方法。
【請求項７】
到着するパケットを入力パケット流毎に各バッファに蓄積したパケット群の内から、次に出力すべきパケットを出力回線に出力するに際し、次に出力すべきパケットのバッファの読出し選択制御を行うに当り、
各パケットのパケット出力処理において収集される統計的観測情報のフィードバックに基づいて、前記読出し選択制御のパラメータである粒度を決定して、当該読出し選択を為す競合制御方法において、
前記読出し選択制御は、
１ラウンド毎に、ラウンドロビンカウンタ値に相当するバッファにトークンを与えたことを契機に、現在の粒度を、当該バッファのディフィシット値に加算し、当該バッファから当該ディフィシットカウンタ値に相当するデータ量以下の高々１パケットに対して読出し選択を行う制御であり、
前記粒度の決定は、
前記出力回線の回線使用率の統計的観測に基づいて演算処理して為され、
前記回線使用率の統計的観測は、
出力中のパケットが存在し、且つバッファに出力待ちのパケットが存在する場合で、前記出力中のパケットの出力が完了した時に、直ちに当該出力待ちのパケットが出力できた回数を正常回数としてカウントすることであり、
前記演算処理は、
前記正常回数が或る閾値を超えると、粒度を減少させる処理であり、
前記演算処理における前記正常回数が或る閾値を超えることは、
前記正常回数が予め設定した任意の回数、トークンの巡回数の単位で換算した換算巡回数でそれぞれ表される閾値の何れかを超えることであり、
前記カウントは、
スライディングウインドウ、ジャンピングウインドウの何れかで決められる観測期間中に為される、
ことを特徴とする競合制御方法。
【請求項８】
到着するパケットを入力パケット流毎に各バッファに蓄積したパケット群の内から、次に出力すべきパケットを出力回線に出力するに当り、次に出力すべきパケットのバッファの読出し選択制御を行うに当り、
各パケットのパケット出力処理において収集される統計的観測情報のフィードバックに基づいて、前記読出し選択制御のパラメータである粒度を決定して、当該読出し選択を為す競合制御方法において、
前記読出し選択制御は、
１ラウンド毎に、ラウンドロビンカウンタ値に相当するバッファにトークンを与えたことを契機に、現在の粒度を、当該バッファのディフィシット値に加算し、当該バッファから当該ディフィシットカウンタ値に相当するデータ量以下の高々１パケットに対して読出し選択を行う制御であり、
前記粒度の決定は、
前記出力回線の回線使用率の統計的観測に基づいて演算処理して為され、
前記回線使用率の統計的観測は、
出力中のパケットが存在し、且つバッファに出力待ちのパケットが存在する場合で、前記出力中のパケットの出力が完了した時に、直ちに当該出力待ちのパケットが出力できなかった回数を異常回数としてカウントすることであり、
前記演算処理は、
前記異常回数が或る閾値を超えると粒度を増加させる処理であり、
前記カウントは、
スライディングウインドウ、ジャンピングウインドウの何れかで決められる観測期間中に為される、
ことを特徴とする競合制御方法。
【請求項９】
到着するパケットを入力パケット流毎に各バッファに蓄積したパケット群の内から、次に出力すべきパケットを出力回線に出力するに当り、次に出力すべきパケットのバッファの読出し選択制御を行うに当り、
各パケットのパケット出力処理において収集される統計的観測情報のフィードバックに基づいて、前記読出し選択制御のパラメータである粒度を決定して、当該読出し選択を為す競合制御方法において、
前記読出し選択制御は、
１ラウンド毎に、ラウンドロビンカウンタ値に相当するバッファにトークンを与えたことを契機に、現在の粒度を、当該バッファのディフィシット値に加算し、当該バッファから当該ディフィシットカウンタ値に相当するデータ量以下の高々１パケットに対して読出し選択を行う制御であり、
前記粒度の決定は、
前記到着したパケットのトラフィック量を観測し、当該観測した入力トラフィック量の変動に伴って、為される、
ことを特徴とする競合制御方法。
【請求項１０】
前記粒度の決定は、
前記入力トラフィック量の統計処理を行い、
当該統計処理の結果と回線速度とから見込み検索回数値を算出して、
当該算出した見込み検索回数値と、各バッファへトークンが巡回した際に当該バッファからスキップされずに読み出された検索回数の平均値との大小を比較して、
当該検索回数の平均値が大きい場合には粒度の増加、当該検索回数の平均値が小さい場合には粒度の減少により為される、
ことである請求項９に記載の競合制御方法。
【請求項１１】
前記入力トラフィック量の統計処理は、
ローパスフィルター、スライディングウインドウ、ジャンピングウインドウの何れかを用いて統計的な平均値を算出する処理である、
ことを請求項１０に記載の競合制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、大規模高速なパケット交換網等で使用され、ＤＲＲ法等のパラメータである粒度ｑ値をパケット長等の統計処理に基づき可変設定とする競合制御方法及びその実施に直接使用する装置に関するものである。
【０００２】
【従来の技術】
図１３は、従来の競合制御装置の基本構成を示したものである。図１３を参照しつつ、従来の競合制御装置の基本構成を説明する。
【０００３】
従来の競合制御装置は、入力回線に接続される任意の数のバッファ（図１３では、第１バッファＢ１、・・第４バッファＢ４）と、出力回線に接続されるパケット読み出し部ＰＲと、読出し制御部ＲＣとで図１３の様に接続構成される。
尚、図１３において、各入力パケット流とは、物理的に存在する入力回線上のパケットを何らかの手法により論理的に相対分離された入力パケットの流れを指す。
【０００４】
入力されたパケットは、パケットのヘッダ部に記載された情報を基にして、入力パケット流に分離され、其々各パケット流に対応するバッファに入力される。ここで、入力パケット流は、任意の種類（図１３では４種類）存在するが、各入力回線と入力パケット流を対応させる場合もあるし、各品質クラス毎に入力パケット流を対応させる場合もある。パケットは、一般に可変長パケットである。
【０００５】
読出し制御部ＲＣは、任意の数Ｎのバッファ（図１３では、Ｎ＝４）から１個のバッファＢｉ（ｉ＝１〜Ｎ）を選択し、その先頭のパケットは、パケット読出し部ＰＲにより読み出される。
【０００６】
ここで、読出すパケットを選択する方法としては、例えば、ラウンドロビン（ＲＲ：Round  Robin）法がある。このＲＲ法は、トークンが各バッファを順番に巡回し、出力のリクエストを出しているバッファを順次選択する方法である。あるバッファを選択したら、巡回方向の次のバッファからスタートして、リクエストをサーチして、次回読み出すバッファを選択していく。
【０００７】
ＲＲ法では、選択の回数が公平に与えられるが、パケット長が長いパケットを有するバッファは、パケット長が短いパケットを有するバッファに較べて、多くのトラフィックを出力回線に送出することになる。
従って、平均パケット長がバッファ毎に異なる場合、トラフィック量（スループット）の公平性を担保できない。
そこで、かかるＲＲ法の問題を解決する為に、ディフィシットラウンドロビン（ＤＲＲ：Deficit  Round  Robin）法が提案されている。
【０００８】
図１４は、ＤＲＲ法を用いた場合の読出し制御部の基本構成を示したものである。図１５は、ＤＲＲ法を用いた読出し制御部の流れ図である。図１６は、各バッファにパケットが蓄積されている例を模式的に示したものである。図１７は、粒度ｑ＝５００の場合の読出し制御部の制御例を示したものである。
【０００９】
図１４に示す様に、読出し制御部ＲＣは、読出し選択処理部ＲＳと、粒度レジスタＱＲとで構成され、各バッファ、（図示しない）外部設定部、パケット読出し部ＰＲとに接続される。ここで、粒度レジスタＱＲには、（図示しない）外部設定部により固定的に粒度ｑ値が設定される。
ＤＲＲ法においては、用いられるパラメータとして、粒度ｑ値、ディフィシット値（deficit値：ｄ値）、キューの先頭のパケット長Ｌがある。
先ず、各バッファのディフィシット値をｄ＝０とする。
【００１０】
次に、図１５に示した、ＤＲＲ法を用いた読出し制御部の流れ図を説明する。
トークンは各バッファを巡回している。前のバッファからトークンを受けた或るバッファに着目する（Ｓ１−１）。そのバッファのキューにパケットがあるか否かを確認する（Ｓ１−２）。
【００１１】
キューにパケットがあれば（Ｓ１−２でＹｅｓ）、ｄ＝ｄ＋ｑとし（Ｓ１−３）、Ｌがｄ以下であれば（Ｓ１−４でＹｅｓ）、当該バッファが読出しバッファとして選択され（Ｓ１−５）、ｄ＝ｄ−Ｌとなる（Ｓ１−６）一方、Ｌ＞ｄ（Ｓ１−４でＮｏ）であれば、ｄの値はそのままである。そして、次のバッファへトークンを渡す（Ｓ１−７）。
キューにパケットがなければ（Ｓ１−２でＮｏ）、ｄ＝０とし（Ｓ１―８）、次のバッファへトークンを渡す（Ｓ１−７）。
【００１２】
ここで、図１６に示した様にパケットのキューに蓄積されている場合について、図１７の具体例を説明する。尚、図１６で、長方形の中の「１−０（８００）」（これは、図１６の第１バッファＢ１のキューの先頭部分の長方形の中に記載してあること）は、第１バッファＢ１の先頭の並びであることを「１―０」が示し、（  ）内の「８００」は、パケット長Ｌを示している。又、図１７に示した数字は、各バッファのディフィシット値（ｄ値）を示し、四角で囲繞した部分は、パケット読出し選択があった（Ｓ１−５、Ｓ１−６）ことを示している。
【００１３】
図１７では、粒度ｑ＝５００とする。
第１バッファＢ１からスタートする。トークンを受けると（Ｓ１−１）、第１バッファＢ１のキューにパケットがある否かを確認し（Ｓ１−２）、パケットがあるので（Ｓ１−２でＹｅｓ）、Ｓ１−３によりｄ＝５００となる。ここで、Ｌ＝８００であるので、ｄとＬの大小の比較により、Ｓ１−４でＮｏとなるので、第１バッファＢ１は読出しパケットとして選択されずに、Ｓ１−７により、第２バッファＢ２に進むことになる。
【００１４】
そして、同様に第２バッファＢ２では、Ｓ１−３によりｄ＝５００となるが、Ｌ＝６００なので、Ｓ１−４でＮｏとなり読出しバッファとして選択されない。
第３バッファＢ３では、Ｓ１−３によりｄ＝５００となり、Ｌ＝４００なので、Ｓ１−４でＹｅｓとなり、Ｓ１−５より読出しバッファとして選択され、Ｓ１−６よりｄ＝ｄ−Ｌ＝５００−４００＝１００となる。
【００１５】
次に読出しバッファをサーチし、第４バッファＢ４からスタートする。
第４バッファＢ４では、Ｓ１−３によりｄ＝５００となり、Ｌ＝１０００なので、Ｓ１−４でＮｏとなり読出しバッファとして選択されない。
【００１６】
次に第１バッファＢ１に進み、第１バッファＢ１では、現在のｄ値がｄ＝５００であるので、トークンを受けると（Ｓ１−１）、ｄ＝ｄ＋ｑ＝５００＋５００＝１０００となり（Ｓ１−３）、Ｌ＝８００であるので、ｄはＬ以上の条件を満たし（Ｓ１−４でＹｅｓ）、読出しバッファとして選択され（Ｓ１−５）、ｄ＝ｄ−Ｌ＝１０００−８００＝２００となる（Ｓ１−６）。
【００１７】
次に読出しバッファをサーチする。
第２バッファＢ２も、同様に、ｄ＝ｄ＋ｑ＝５００＋５００＝１０００となり、Ｌ＝６００であるので、ｄはＬ以上となり、読出しバッファとして選択され、ｄ＝ｄ−Ｌ＝１０００−６００＝４００となる。
次の読出しバッファをサーチする。第３バッファＢ３では、キューにパケットがないので、Ｓ１−８により、ｄ値は、リセットされ、ｄ＝０となる。
以下、同様の動作が、読出しバッファをサーチする為に繰り返される。
【００１８】
【発明が解決しようとする課題】
しかし、上記説明したＤＲＲ法において、読出しパケットを選択する為には、ｄがＬ以上なる条件を満たす必要がある。
長いパケットは、短いパケットより、読出しパケットを選択される回数が減るが、平均パケット長がバッファ毎に異なる場合でも、トラフィック量（スループット）の公平性を担保できるが、公平性や高スループットを担保することができるのは、粒度の値であるｑ値を適切に設定できた場合に限られる。
【００１９】
図１８は、粒度ｑ＝１０００の場合の読出し制御部の制御例を示したものである。尚、図１８の数字及び四角で囲繞した部分の意味は、図１７と同様である。
もし、図１８に示すように、ｑ＝１０００と粒度を大きく設定すると、公平性を担保できなくなる。ｑが十分大きい場合、トークンが各バッファに巡回してきた場合、ｄ＝ｄ＋ｑ（Ｓ１−３）で、ｄを更新すると、Ｌより大きくなる場合が多くなり、パケット長に関係なくパケット読出しが選択されることになる。結果的に単純なＲＲ法を実行することと等価となり、公平性を担保できなくなる。
【００２０】
図１９は、粒度ｑ＝１００の場合の読出し制御部の制御例を示したものである。尚、図１９の数字、四角で囲繞した部分の意味は、図１７と同様である。
図１９に示す様に、ｑ＝１００と粒度を小さく設定すると、ｑ＜＜Ｌの場合、トークンが各バッファに巡回してきたとき、ｄ＝ｄ＋ｑ（Ｓ１−３）により、ｄ値を更新しても、ｄ値がＬ値よりまだ小さいので、数回の巡回により、ｄ値を何回も更新する必要がある。
【００２１】
図１９の例では、第３バッファＢ３が４回の更新後に読出しバッファとして選択される。かように、一つの読出し選択までにトークンが巡回する回数が多くなるので、計算量が増加して、読出し選択に必要となる所要時間が大きくなる。これにより、出力回線が空いている状態でも、読出し選択の所要時間が大きくなり、読み出せないことになり、スループットが低下する結果となる。
【００２２】
以上から分かる様に、適切な粒度（ｑ値）を設定しない限り、ＤＲＲの性能が悪化することになる。
そこで、適切なｑ値を設定する為には、予めパケット長の分布を知る必要がある。
【００２３】
しかし、不確定なトラフィック入力に対しては、このパケット長の予測は困難であるし、又、ある期間のパケット長の分布を予測して適切なｑ値を設定したとしても、パケット長の分布は、時々刻々変化するので、任意の時刻で設定した粒度（ｑ値）は、その任意の時刻が経過すると、必ずしも適切とはいえない。
よって、従来の競合制御装置においては、粒度が固定的に設定されるので、適切な粒度ｑ値でないと、公平性や高スループットの性能を担保できない。
【００２４】
ここにおいて、本発明の解決すべき主要な目的は以下の通りである。
本発明の第１の目的は、公平性や高いスループットの性能を担保できる競合制御方法及び装置の提供にある。
【００２５】
本発明の第２の目的は、適切な粒度を設定できる競合制御方法及び装置の提供にある。
【００２６】
本発明の第３の目的は、ＤＲＲの性能を劣化させない競合制御方法及び装置の提供にある。
【００２７】
本発明の他の目的は、明細書、図面、特に、特許請求の範囲における各請求項の記載から自ずと明らかとなろう。
【００２８】
【課題を解決するための手段】
本発明装置は、上記課題の解決に当たり、到着するパケットを入力パケット流毎に一時的に蓄積する任意数のバッファと、各バッファのうち次に出力すべきパケットが蓄積されているバッファの読出し選択制御を行う読出し制御部と、当該読出し制御部により読出し選択とされたバッファから順次出力回線にパケットを出力するパケット読出し部と、パケット処理における統計的観測情報を収集して当該収集した統計的観測情報に基づき、当該読出し制御部での前記読出し選択制御の制御パラメータである粒度を決定し当該読出し制御部に通知する統計実行部と、で構成される特徴的構成手段を講じる。
【００２９】
本発明方法は、上記課題の解決に当たり、到着するパケットを入力パケット流毎に各バッファに蓄積したパケット群の内から、次に出力すべきパケットを出力回線に出力するに当たり、次に出力すべきパケットのバッファの読出し選択制御を行う競合制御方法であって、各パケットのパケット処理において収集される統計的観測情報に基づいて、当該読出し選択制御のパラメータである粒度を決定して、当該読出し選択を為す特徴的構成手段を講じる。
【００３０】
更に、具体的詳細に述べると、当該課題の解決では、本発明が次に列挙する上位概念から下位概念にわたる新規な特徴的構成手法又は手段を採用することにより、上記目的を達成するように為される。
【００３１】
本発明装置の第１の特徴は、到着するパケットを入力パケット流毎に一時的に蓄積する任意数のバッファと、各バッファのうち次に出力すべきパケットが蓄積されているバッファの読出し選択制御を行う読出し制御部と、当該読出し制御部により読出し選択とされたバッファから順次出力回線にパケットを出力するパケット読出し部と、パケット処理における統計的観測情報を収集して当該収集した統計的観測情報に基づき、前記読出し制御部での前記読出し選択制御の制御パラメータである粒度を決定し当該読出し制御部に通知する統計実行部と、で構成される競合制御装置において、前記読出し制御部は、トークンを与える規準となる値を格納するラウンドロビンカウンタと、前記バッファに対応したディフィシットカウンタと、前記粒度を格納する粒度レジスタと、当該粒度の更新制御を行う粒度制御部と、１ラウンド毎に、前記ラウンドロビンカウンタの値に対応するバッファにトークンが与えられたことを契機に、前記粒度レジスタの粒度を、対応するバッファのディフィシットカウンタの値に加算し、当該バッファから当該ディフィシットカウンタの値に相当するデータ量以下の高々１パケットに対してのみ前記読出し選択とする制御を行う読出し選択処理部と、で構成され、前記統計実行部は、前記統計的観測情報であるパケット長情報を収集し、当該収集したパケット長情報を統計処理して得られる値を前記粒度に前記決定する手段である競合制御装置の構成採用にある。
【００３２】
本発明装置の第２の特徴は、上記本発明装置の第１の特徴における前記統計実行部における統計処理は、前記収集したパケット長情報の集合から、中央値、最小値、最大値、最頻値、平均値の何れかを算出する処理である競合制御装置の構成採用にある。
【００３３】
本発明装置の第３の特徴は、上記本発明装置の第１又は第２の特徴における前記統計実行部は、或る確率でサンプリングしたパケットのパケット長情報の個数を一定に保って前記統計的観測情報の収集を行う統計部と、当該統計部からの当該収集した統計的観測情報に基づき新たな粒度を決定する判断部と、で構成される競合制御装置の構成採用にある。
【００３４】
本発明装置の第４の特徴は、上記本発明装置の第１、第２又は第３の特徴における前記統計実行部は、前記バッファの入力前段、出力後段の何れか一方に接続される競合制御装置の構成採用にある。
【００３５】
本発明方法の第１の特徴は、到着するパケットを入力パケット流毎に各バッファに蓄積したパケット群の内から、次に出力すべきパケットを出力回線に出力するに際し、次に出力すべきパケットのバッファの読出し選択制御を行うに当り、各パケットのパケット出力処理において収集される統計的観測情報のフィードバックに基づいて、前記読出し選択制御のパラメータである粒度を決定して、当該読出し選択を為す競合制御方法において、前記読出し選択制御は、１ラウンド毎に、ラウンドロビンカウンタ値に相当するバッファにトークンを与えたことを契機に、現在の粒度を、当該バッファのディフィシット値に加算し、当該バッファから当該ディフィシットカウンタ値に相当するデータ量以下の高々１パケットに対して読出し選択を行う制御であり、前記粒度の決定は、パケットのパケット長情報を収集する前記パケット出力処理を通して、当該収集したパケット長情報を統計処理して得られる前記統計的観測情報に基づいて、為される競合制御方法の構成採用にある。
【００３６】
本発明方法の第２の特徴は、上記本発明方法の第１の特徴における前記統計処理は、前記収集したパケット長情報の個数を一定に保って為される、競合制御方法の構成採用にある。
【００３７】
本発明方法の第３の特徴は、到着するパケットを入力パケット流毎に各バッファに蓄積したパケット群の内から、次に出力すべきパケットを出力回線に出力するに際し、次に出力すべきパケットのバッファの読出し選択制御を行うに当り、各パケットのパケット出力処理において収集される統計的観測情報のフィードバックに基づいて、前記読出し選択制御のパラメータである粒度を決定して、当該読出し選択を為す競合制御方法において、前記読出し選択制御は、１ラウンド毎に、ラウンドロビンカウンタ値に相当するバッファにトークンを与えたことを契機に、現在の粒度を、当該バッファのディフィシット値に加算し、当該バッファから当該ディフィシットカウンタ値に相当するデータ量以下の高々１パケットに対して読出し選択を行う制御であり、前記粒度の決定は、前記出力回線の回線使用率の統計的観測に基づいて演算処理して為され、前記回線使用率の統計的観測は、出力中のパケットが存在し、且つバッファに出力待ちのパケットが存在する場合で、前記出力中のパケットの出力が完了した時に、直ちに当該出力待ちのパケットが出力できた回数を正常回数としてカウントすることであり、前記演算処理は、前記正常回数が或る閾値を超えると、粒度を減少させる処理であり、前記演算処理における前記正常回数が或る閾値を超えることは、前記正常回数が予め設定した任意の回数、トークンの巡回数の単位で換算した換算巡回数でそれぞれ表される閾値の何れかを超えることであり、前記カウントは、スライディングウインドウ、ジャンピングウインドウの何れかで決められる観測期間中に為される競合制御方法の構成採用にある。
【００３８】
本発明方法の第４の特徴は、到着するパケットを入力パケット流毎に各バッファに蓄積したパケット群の内から、次に出力すべきパケットを出力回線に出力するに当り、次に出力すべきパケットのバッファの読出し選択制御を行うに当り、各パケットのパケット出力処理において収集される統計的観測情報のフィードバックに基づいて、前記読出し選択制御のパラメータである粒度を決定して、当該読出し選択を為す競合制御方法において、前記読出し選択制御は、１ラウンド毎に、ラウンドロビンカウンタ値に相当するバッファにトークンを与えたことを契機に、現在の粒度を、当該バッファのディフィシット値に加算し、当該バッファから当該ディフィシットカウンタ値に相当するデータ量以下の高々１パケットに対して読出し選択を行う制御であり、前記粒度の決定は、前記出力回線の回線使用率の統計的観測に基づいて演算処理して為され、前記回線使用率の統計的観測は、出力中のパケットが存在し、且つバッファに出力待ちのパケットが存在する場合で、前記出力中のパケットの出力が完了した時に、直ちに当該出力待ちのパケットが出力できなかった回数を異常回数としてカウントすることであり、前記演算処理は、前記異常回数が或る閾値を超えると粒度を増加させる処理であり、前記カウントは、スライディングウインドウ、ジャンピングウインドウの何れかで決められる観測期間中に為される競合制御方法の構成採用にある。
【００３９】
本発明方法の第５の特徴は、到着するパケットを入力パケット流毎に各バッファに蓄積したパケット群の内から、次に出力すべきパケットを出力回線に出力するに当り、次に出力すべきパケットのバッファの読出し選択制御を行うに当り、各パケットのパケット出力処理において収集される統計的観測情報のフィードバックに基づいて、前記読出し選択制御のパラメータである粒度を決定して、当該読出し選択を為す競合制御方法において、前記読出し選択制御は、１ラウンド毎に、ラウンドロビンカウンタ値に相当するバッファにトークンを与えたことを契機に、現在の粒度を、当該バッファのディフィシット値に加算し、当該バッファから当該ディフィシットカウンタ値に相当するデータ量以下の高々１パケットに対して読出し選択を行う制御であり、前記粒度の決定は、前記到着したパケットのトラフィック量を観測し、当該観測した入力トラフィック量の変動に伴って、為される競合制御方法の構成採用にある。
【００４０】
本発明方法の第６の特徴は、上記本発明方法の第５の特徴における前記粒度の決定は、前記入力トラフィック量の統計処理を行い、当該統計処理の結果と回線速度とから見込み検索回数値を算出して、当該算出した見込み検索回数値と、各バッファへトークンが巡回した際に当該バッファからスキップされずに読み出された検索回数の平均値との大小を比較して、当該検索回数の平均値が大きい場合には粒度の増加、当該検索回数の平均値が小さい場合には粒度の減少により為される競合制御方法の構成採用にある。
【００４１】
本発明方法の第７の特徴は、上記本発明方法の第６の特徴における前記入力トラフィック量の統計処理は、ローパスフィルター、スライディングウインドウ、ジャンピングウインドウの何れかを用いて統計的な平均値を算出する処理である競合制御方法の構成採用にある。
【００４２】
【発明の実施の形態】
以下、本発明の実施の形態を、図面を参照して説明する。
【００４３】
（装置例１）
図１は、本発明一実施形態である競合制御装置の基本構成図であり、図２は、図１における読出し制御部と出力側統計処理実行部との関係図である。
【００４４】
競合制御装置は、到着するパケットを入力パケット流毎に一時的に蓄積する任意数（複数）のバッファ（図１では、第１バッファＢ１、第２バッファＢ２、・・第ＮバッファＢＮ）と、各バッファのうち次に出力すべきパケットが蓄積されているバッファを読出しの選択制御を行う読出し制御部ＲＣと、読出し制御部ＲＣにより読出し選択とされたバッファから順次出力回線にパケットを出力するパケット読出し部ＰＲと、パケット処理における統計的観測情報を収集して粒度のｑ値を決定し読出し制御部ＲＣに通知する統計実行部とで構成される。
【００４５】
尚、装置例１では、統計実行部は、各バッファの出力側に設置されるので、特に出力側統計実行部ＯＳとする。
読出し制御部ＲＣは、トークンを与える規準となるラウンドロビンカウンタＲＲＣと、各バッファに対応したディフィシットカウンタ（図２では、第１ディフィシットカウンタＣ１、第２ディフィシットカウンタＣ２、・・第ＮディフィシットカウンタＣＮ）と、粒度の値を格納する粒度レジスタＱＲと、粒度の更新制御を行う粒度制御部ＱＣ、読出し選択処理部ＲＳとで構成される。
【００４６】
読出し制御部ＲＣは、かかる構成により、ラウンドロビンカウンタの値に対応するバッファにトークンを与え、トークンを与えたことを機会として粒度レジスタＱＲに格納される値をそのバッファのディフィシットカウンタに加算し、ディフィシットカウンタの値であるディフィシット値に相当する量以下のパケットを、ディフィシットカウンタの値と引き換えに、当該パケットを一時的に蓄積するバッファから読出し選択する手段である。
【００４７】
尚、読出し制御部ＲＣにおける読出し選択の仕方は、かかる事項に限定されず、変更為し得、読出し選択処理部ＲＳは、当該読出し選択の制御を行う手段であり、各ラウンドロビンカウンタＲＲＣ及び各ディフィシットカウンタは、読出し選択処理部ＲＳに内蔵する様に構成してもよい。
【００４８】
統計処理実行部（図１、図２では出力側統計実行部ＯＳ）は、パケット処理における統計的観測情報を収集する統計部ＳＴと、当該収集した統計的観測情報に基づき粒度レジスタに設定する値を決定し、当該決定した値を読出し制御部ＲＣの粒度制御部ＱＣに通知する判断部ＪＤで構成される。
尚、競合制御装置の詳細は、下記方法例１での競合制御装置の動作説明に準じる。
【００４９】
（装置例２）
図３は、本発明一実施形態である競合制御装置の基本構成図であり、図４は、図３における読出し制御部と入力側統計処理実行部との関係図である。
【００５０】
競合制御装置は、到着するパケットを入力パケット流毎に一時的に蓄積する任意数（複数）のバッファ（図３では、第１バッファＢ１、第２バッファＢ２、・・、第ＮバッファＢＮ）と、各バッファのうち次に出力すべきパケットが蓄積されているバッファを読出しの選択制御を行う読出し制御部ＲＣと、読出し制御部ＲＣにより読出し選択とされたバッファから順次出力回線にパケットを出力するパケット読出し部ＰＲと、パケット処理における統計的観測情報を収集して粒度のｑ値を決定し読出し制御部ＲＣに通知する統計実行部とで構成される。
【００５１】
尚、装置例２では、統計実行部は、各バッファの入力側に設置されるので、特に入力側統計実行部ＩＳとするも、読出し制御部ＲＣ、入力側統計処理実行部ＩＳの内部構成は装置例１と同様である。
又、競合制御装置の詳細は、下記方法例１で説明する競合制御装置の動作説明に準じる。
【００５２】
（方法例１）
次に、本発明の一実施形態である競合制御方法を、装置例１の動作手順を説明しながら説明する。尚、装置例２も動作手順も同様であるので、出力側統計実行部ＯＳと入力側統計実行部ＩＳとを特に区別することなく、統計実行部として説明する。
【００５３】
本発明で特に強調すべき点は、従来の競合制御装置では、粒度レジスタＱＲに外部から固定的に粒度ｑ値を設定していたのに対して、この粒度ｑ値を可変にできる様にした点である。以下具体的に説明していく。
【００５４】
入力されたパケットはヴァーチャルサーキット等予め設定された単位で識別される複数の入力パケット流（図１、図３では、第１入力パケット流、第２入力パケット流、・・第ｎ入力パケット入力流）は、各パケット流に対応した異なるバッファに蓄積される。そして、読出し選択制御部ＲＣは、次に出力するパケットを、複数のバッファに蓄積されたパケットの何れかから以下の手順により選択する。
【００５５】
先ず、読出し選択制御部ＲＣは、ラウンドロビンカウンタＲＲＣの値に対応するバッファＢｉ（ｉは、ラウンドロビンカウンタＲＲＣの値に対応するバッファの番号）にトークン（＝発言権）を与え、トークンを与えられたことを機会に粒度レジスタＱＲに格納される値をそのバッファＢｉのディフィシットカウンタＣｉ（ｉ＝Ｂｉのｉ）に加算する。
【００５６】
そしてトークンを与えたバッファから、ディフィシット値に相当するデータ量のパケットに対しては出力許可信号を出す。この際、出力許可を与えたパケットのデータ量をディフィシットカウンタの値から減算する。
以上が、パケットの選択処理手順である。尚、この手順は例示であり、例えば、図１５に示す他、適宜変更実施なし得る。
【００５７】
図２に示す様に、パケット読取り部ＰＲからパケットを出力回線に出力する際には、当該出力するパケットのパケット長Ｌを、予め設定された確率Ｐでサンプリングするか否かの判断を行い、確率Ｐでサンプリングされたパケット長情報を、出力側統計処理実行部ＯＳに通知する。
【００５８】
パケット読出し部ＰＲから出力側統計処理実行部ＯＳに通知されたパケット長情報は、出力側統計処理部ＯＳ内の統計部ＳＴに蓄積される。そして判断部ＪＤは、統計部ＪＤに当該パケット長情報が蓄積される毎に、新たな統計値を算出するか否かの判断を行う。
【００５９】
更に、判断部ＪＤは、新たな統計値を算出した時点で、粒度ｑ値を更新するかの判断処理を行う。
判断部ＪＤにより、粒度ｑ値の更新を行うと判断すると、更新すべき粒度を算出した時点で、読出し制御部ＲＣ内の粒度制御部ＱＣに、新たな粒度を通知する。
【００６０】
粒度制御部ＱＣは、新たな粒度の通知を受けた時点で、読出し選択処理部ＲＣが利用する粒度レジスタＱＲ内の粒度ｑ値を更新する。
以上が、読出し制御部ＲＣと出力側統計実行部ＯＳの内部動作を説明したが、図３、図４の読出し制御部ＲＣと入力側統計実行部ＩＳの内部動作についても同様である。
【００６１】
即ち、パケット読取り部ＰＲからパケットを出力回線に出力する際に行う、出力するパケットのパケット長Ｌのサンプリングの判断、及びパケット長情報の出力側統計処理実行部ＯＳへの通知が、ぞれぞれ、其々対応するバッファに、各入力バッファ流が入力される際（競合制御装置に入力される場合でもよい）に行う、入力するパケットのパケット長Ｌのサンプリングの判断、及びパケット長情報の入力側統計処理実行部ＩＳへの通知となる相違がある。
【００６２】
ここで、判断部ＪＤが行う、新たな統計値を算出するか否かの判断を行うタイミングにつき、例示しながら詳細する。
図５は、タイミングの一例であるスライディングウインドウを用いて統計値を算出するタイミングを決定する手法を示した説明図である。図５を参照しながら、スライディングウインドウを用いて統計値を算出するタイミングを決定する手法を説明する。
【００６３】
Ｐｉ時刻にパケットが到着する（尚便宜上Ｐｉ時刻に到着したパケット名をＰｉとする）。ここで、パケットが到着するとは、図２では、パケット読取り部ＰＲからパケットを出力回線に出力すること（又は、パケット読出し部ＰＲから実際に読み出されたパケットのパケット長情報の信号が出力側統計実行部ＯＳの統計部ＳＴに到着すること等）を指し、図４では、各入力バッファ流から各バッファにパケットが入力されること（又は、競合制御装置にパケットが入力されること等）を指す。
【００６４】
パケット到着毎に確率Ｐで統計部ＪＤでパケット長情報がサンプリングされる。尚、サンプリングされるときの時刻をＬｉで表し、そのサンプリング名をその時刻であるＬｉと便宜上示す。添え字ｉは、任意の自然数である。
スライディングウインドウ法では、新たなパケット長情報がサンプリングされる毎に過去ｗ個分のパケット長情報を用いて統計処理する。
【００６５】
予めウインドウサイズｗ＝３と設定した場合には、Ｌ２のパケットが蓄積された時点で、判断部ＪＤはサンプリングされたパケット長情報から統計値を算出し、観測値Ｍ０を当該算出した値に更新する。そして次のＬ３のパケットが蓄積された時点で、観測地Ｍ１が更新される。
【００６６】
図６は、タイミングの一例であるジャンピングウインドウを用いて統計値を算出するタイミングを決定する手法を示した説明図である。図６を参照しながら、ジャンピングウインドウを用いて統計値を算出するタイミングを決定する手法を説明する。
【００６７】
Ｐｉ時刻にパケットが到着する。パケット到着毎に確率Ｐで統計部ＪＤにパケット長情報がサンプリングされる。尚、このときの時刻をＬｉで表すとする。尚、パケットが到着する及びＰｉ，Ｌｉは、図５と同様である。
ジャンピングウインドウ法では、ｗ個のパケット長情報がサンプリングされる毎に過去ｗ個分のパケット長情報を用いて統計処理する。
【００６８】
予めウインドウサイズｗ＝３と設定した場合には、Ｌ２のパケットが蓄積された時点でサンプリングされたパケット長情報から統計値を計算し、観測値Ｍ０を当該算出した値に更新する。又Ｌ５のパケットが蓄積された時点で、観測値Ｍ１が更新される。
【００６９】
以上がタイミングの例示であるが、各Ｌｉのパケットの蓄積は、統計部ＳＴで行い、統計部ＳＴで蓄積したパケット長情報を判断部ＪＤが受取り、統計値の計算を行うことになるが、統計部ＳＴと判断部ＪＤの役割分担については、之に限られない。
【００７０】
次に、判断部ＪＤで行われる統計情報の算出に関して説明する。
尚、統計情報としては、パケット長情報を基にして算出されるパケット長の平均値、中央値、最小値、最大値、最頻値であり、この内の何れかが、粒度として新たに決定されることになる。
【００７１】
先ず、サンプルリングしたｗ個のパケット長情報の集合Ｇは、パケット長情報Ｌの集合で、（式１）の様に表すとする。
Ｇ＝｛Ｌ１，Ｌ２，・・Ｌｗ｝                          （式１）
このとき、中央値Ｍは以下の通り算出される。
Ｇの要素を並び替えて、（式２）で表されるＧ’を考える。
【数１】
0003566165.tif 000002
【００７２】
ここで、中央値Ｍは、（式３）となる。尚、［  ］はカッコ内の数を超えない最大の整数を表すガウス記号である。
Ｍ＝Ｌ’［ｗ／２］                                      （式３）
一方、平均値は、（式４）の様に算出される。
【数２】
0003566165.tif 000003
【００７３】
一方、最小値は、（式５）の様に算出される。
Ｍ＝ｍｉｎ｛Ｌ１，Ｌ２，・・，Ｌｗ｝                    （式５）
一方、最大値は（式６）の様に算出される。
Ｍ＝ｍａｘ｛Ｌ１，Ｌ２，・・，Ｌｗ｝                    （式６）
【００７４】
又、平均値の算出にあっては、（式４）を用いずにパケット情報がサンプリングされる毎に、以下の様にして、平均パケット長を算出することも考えられる。この場合は、統計部ＳＴにローパスフィルターが備えられ、算出した平均値を判断部ＪＤに転送することになる。
【００７５】
ローパスフィルターによる平均値は、サンプリングＬｋがされる毎に、（式７）で算出される。尚、αは、０〜１の任意の数である。
Ｍｋ＝αＬｋ＋（１―α）Ｍｋ−１                              （式７）
【００７６】
判断部ＪＤでは、観測値（上記算出した値の何れか）Ｍを新たな粒度ｑｎｅｗとして判断する。その結果、今までの粒度ｑｏｌｄと比較して新たな粒度の変更があった場合には、読出し制御部ＲＣの粒度制御部ＱＣに新たな粒度ｑｎｅｗを通知し、ｑｏｌｄは、この新たな粒度ｑｎｅｗに置換されることになる。
【００７７】
読出し制御部ＲＣでは、ＤＲＲの手順に従い読出しパケットの選択を行っているが、トークンが巡回する区切りのところで、新たな粒度ｑｎｅｗが出力側統計実行部ＯＳ（又は入力側統計実行部ＩＳ）から粒度制御部ＱＣに通知されている場合には、粒度レジスタＱＲの値をこの新たな粒度に更新することにより、現在使用している粒度を新たな粒度で更新し、当該変更された粒度を用いてＤＲＲ法の制御を実行し続ける。
【００７８】
以上が、装置例１及び２並びに方法例１の説明であるが、本発明は、上記したことに限定されるものではなく、一種の例示であり、適宜変更実施し得るものである。
【００７９】
【実施例】
次に、上記装置例１及び２並びに方法例１の応用乃至変形した例を、実施例として以下説明する。尚、上記装置例１を基本に説明するが、上記装置例２でも同様に変形することができることは説明するまでもない。又、本発明の基本的な事項については、説明が重複するので、主として相違点のみを具体例を挙げながら説明することにする。
【００８０】
（実施例１）
実施例１は、上記発明の実施の形態とは、統計情報の収集法と、得られた情報から粒度を算出する手法が異なるものの、基本的な流れ、考え方には変わりないので、相違点を主として説明する。
【００８１】
図７は、本発明の実施例１である、図１及び２の装置例１を変形した競合制御装置の構成を一部示したものでる。省略部分については、図１及び２と同様である。尚、具体的にバッファ数はＮ＝５の場合としてあり、読出し制御部ＲＣと出力側統計実行部ＯＳとで、出力タイミング通知を行うことが、装置例１及び２と異なる。
【００８２】
図８、本発明の実施例１における読出し正常状態例を説明する為の説明図、図９は本発明の実施例１における読出し損失状態例を説明する為の説明図、図１０は、本発明の実施例１におけるカウンタ演算フロー図である。
図７に示す様に、第１バッファＢ１、第２バッファＢ２、第４バッファＢ４、第５バッファＢ５に、それぞれパケットＰａ、パケットＰｃ、パケットＰｄ、パケットＰｂが、蓄積されている。そして、読出し制御部ＲＣは、順次各バッファを評価し、次の出力パケットを決定する。
【００８３】
今、時刻ｔ０に第１バッファＢ１を評価しパケットＰａが第１バッファＢ１から出力されるとする。
時刻ｔ１に第２バッファＢ２のパケットの出力判断を行うが、ディフィシット値がパケット長情報よりも小さかった為に、当該パケットは出力されないものとする。
【００８４】
時刻ｔ２には、次の第３バッファＢ３からパケット出力判断を行うが、第３パケットにはパケットはないものとする。
時刻ｔ３には、第４バッファＢ４を評価するが、ディフィシット値がパケット長情報より短かった為に、このパケットは出力されなかったとする。
時刻ｔ４には、ディフィシット値がパケット長情報より大きく、このパケットＰｂが出力されたとする。
【００８５】
図８及び図９は、図７に示した条件下におけるパケット読出し部ＰＲ、出力側統計実行部ＯＳ、読出し制御部ＲＣの状態遷移の一例を各々示したものである。
パケット読出し部ＰＲでは、パケットＰａ、パケットＰｂの情報が順次出力回線に転送されている様子を、出力側統計実行部ＯＳでは、読出し制御部ＲＣが各バッファについてのパケット出力判断を行った結果を受取っている様子を、読出し制御部ＲＣでは、各バッファの出力判断を時間Δｔで行っている様子を、示している。
【００８６】
図８に示すように、パケットＰａが出力完了する前に読出し制御部ＲＣでは次のパケットを選択し終わっている場合は、パケットＰａが出力完了するとほぼ同時に、次のパケットを出力することができる。かかる状態を正常状態と呼ぶことにする。
一方、図９に示す様に、パケットＰａが短く、パケットＰａの出力を完了しても、読出し制御部ＲＣが次の出力パケットを調べている場合には、出力することができずに、回線使用効率が低下する。かかる状態を損失状態と呼ぶ。
【００８７】
正常状態でパケットを出力できた場合には、正常カウンタを、損失状態でパケットを出力した場合には、損失カウンタを増加させる。この損失カウンタと正常カウンタの各値を用いることにより、ＤＲＲ法の粒度の更新を行う。
尚、正常カウンタ及び損失カウンタは、読出し制御部ＲＣに具備されても、読出し選択処理部ＲＳ内部に設けてもよいし、図２、４のラウンドロビンカウンタＲＲＣ等の様に読出し選択処理部ＲＳに接続し得るように外付けしてもよい。
【００８８】
図１０は、本発明の実施例１におけるＤＤＲ法の粒度の更新の流れを示した流れ図である。
図１０等を参照して、粒度の更新の仕方につき説明する。
先ず、パケット出力時（Ｓ２−１）に、正常状態・損失状態の状態判断を行う（Ｓ２−２）。
【００８９】
損失状態（Ｓ２−２でＮｏ）では、損失カウンタを増加させる（Ｓ２―３）。このとき、損失カウンタチェックタイミングの場合で（Ｓ２−４でＹｅｓ）、損失カウンタを予め設定された閾値ｎより大きい場合（Ｓ２−５でＹｅｓ）には、粒度の増加を行い（Ｓ２−６）、損失カウンタ、正常カウンタを共に０にリセットする（Ｓ２−７）。
【００９０】
一方、正常状態（Ｓ２−２でＹｅｓ）では、正常状態のカウンタを増加させる（Ｓ２−８）。このとき、正常カウンタチェックタイミングの場合で（Ｓ２−９でＹｅｓ）、正常カウンタが予め閾値ｍより大きい場合（Ｓ２−１０でＹｅｓ）は、粒度を減少させ（Ｓ２−１１）、正常カウンタを０にリセットする（Ｓ２−１２）。
【００９１】
Ｓ２−６の粒度増加は、ｑｎｅｗ＝ｑｏｌｄ＋α  又は、ｑｎｅｗ＝ｑｏｌｄ×β  等により行う。又、Ｓ２−１１の粒度減少は、ｑｎｅｗ＝ｑｏｌｄ−γ  又は、ｑｎｅｗ＝ｑｏｌｄ÷δにより行う。尚、α、β、γ、δは、其々予め設定した定数（α＞０、β＞１、γ＞０、δ＞１）で、ｑｏｌｄは、更新前の粒度ｑ値を、ｑｎｅｗは、更新後の粒度ｑ値を示す。
【００９２】
尚、正常カウンタ、異常カウンタのＳ２−１０、Ｓ２―４の判断は、予め設定した任意の回数、又はトークン巡回数の単位で換算した換算巡回数で表される閾値を基に判断されてもよい。又、正常カウンタ及び異常カウンタは、スライディングウインドウ、ジャンピングウインドウ等で定まる観測中に為されても良い。
【００９３】
（実施例２）
次に、実施例２を説明するが、上記発明の実施の形態とは、統計情報の収集法と、得られた情報から粒度を算出する手法が異なるものの、基本的な流れ、考え方には変わりない。
【００９４】
図１１は、本発明の実施例２における平均ジャンプカウンタ値演算の流れ図であり、図１２は、本発明の実施例２における粒度演算の流れ図である。
実施例２で用いられる統計情報は以下の様に算出される。
先ず、バッファ（又は競合制御装置）に到着するパケットに着目して、到着したパケットの履歴から入力トラフィック量を計算する。
【００９５】
初めに、ローパスフィルターを用いて以下の様に入力トラフィック量Ｒを算出する。ここで、ｉ番目にパケットが到着した時刻をｔｉとし、そのパケット長をＬｉとする。このとき入力トラフィック量をＲｉとすると、αを０〜１の任意数として
Ｒｉ＝αｒｉ＋（１−α）Ｒｉ−１        （式８）
ｒｉ＝Ｌｉ/（ｔｉ−ｔｉ−１）        （式９）
となる。
【００９６】
次に、スライディングウインドウを用いて、入力トラフィック量Ｒの算出を行うことができる。ここで、パケットが到着する毎に、（式１０）（式１１）を用いて算出する。尚、ウインドウサイズｗ、ｉ番目のパケットが到着した時刻をｔｉとし、そのパケット長をＬｉとし、このときの入力トラフィック量をＲｉとする。
Ｇｉ＝｛Ｌｉ−ｗ+１，Ｌｉ−ｗ＋２，・・，Ｌｉ｝    （式１０）
【数３】
0003566165.tif 000004
【００９７】
最後に、ジャンピングウインドウを用いて、次式を用いて入力トラフィック量Ｒの算出を行うことが可能である。ここで、ウインドウサイズｗとしたとき、ｗ個のパケットが到着する時刻ｔｗｎ（ｎは整数）毎にパケット長の集合Ｇｎを用いてレートＲｎを計算する。
Ｇｎ＝｛Ｌｎｗ+１，Ｌｎｗ＋２，・・，Ｌｎｗ｝    （式１２）
【数４】
0003566165.tif 000005
【００９８】
かかる統計の結果を用いて、ジャンプカウンタ値Ｊ、及び平均ジャンプカウンタ値Ｅを計算する。
読出し制御部ＲＣでは、上記発明の実施の形態で説明した様に、各バッファの出力判定の評価を行う（Ｓ３−１）。
かかる結果、バッファ内にパケットがあるにも関わらず、粒度よりもパケット長の小さい故に読み出されなかった場合（Ｓ３−２でＹｅｓ且つＳ３−３でＮｏ）は、ジャンプカウンタ値Ｊを増加させる（Ｓ３−４）。
【００９９】
一方、パケットが出力された場合（Ｓ３−２でＹｅｓ且つＳ３−３でＹｅｓ）は、パケットの出力が為され（Ｓ３−５）、ジャンプカウンタ値Ｊを増加させる（Ｓ３−６）と共に、この値、即ちジャンプカウンタ値Ｊを用いて平均ジャンプカウンタ値Ｅを算出し（Ｓ３−７）、ジャンプカウンタをリセットする（Ｓ３−８）。
【０１００】
このとき、ローパスフィルターを用いてもよいし、スライディングウインドウ、又はジャンピングウインドウの様に複数のＪｉの履歴から平均ジャンプカウンタ値を計算してもよい。又、統計実行部で、ジャンプカウンタ値Ｊ、平均ジャンプカウンタ値Ｅを計算するには、読出し制御部ＲＣ等からそれに必要な情報（信号）が転送されることになる。
【０１０１】
又、かかる計算を読出し制御部ＲＣで行う場合には、統計実行部にかかる計算の結果を転送する必要がある。
この平均ジャンプカウンタ値Ｅを予め決められた粒度更新間隔毎に、図１２に示す流れに従って粒度ｑ値を更新する。図中Ｃは、出力回線の速度を表す。
【０１０２】
即ち、入力トラフィック量の統計処理を行って、粒度見直しのタイミング（例えば、任意回数バッファを巡回する等）となると（Ｓ４−１）、入力トラフィック量Ｒが出力回線の速度Ｃ以上の場合（Ｓ４−２）、統計処理の結果と出力回線の速度の比である見込み検索回数値Ｒ／Ｃを算出して、算出した見込み検索回数値と、各バッファへトークンが巡回した際にバッファからスキップされずに読み出された検索回数の平均値Ｅとの大小を比較する（Ｓ４−３）。
【０１０３】
検索回数の平均値が大きい場合（Ｓ４−３でＮｏ）には粒度の増加（Ｓ４−４）、検索回数の平均値が小さい場合（Ｓ４−３でＹｅｓ）には粒度の減少（Ｓ４−５）を為して粒度を決定される。尚、粒度の増減は、固定値を足す、掛ける、引く、割る等の計算により行い、実現される。
【０１０４】
以上、本発明の実施の形態及び実施例を説明したが、本発明は、必ずしも上記した事項に限定されるものではなく、本発明の目的を達し、下記する効果を奏する範囲において、適宜変更実施可能である。
【０１０５】
【発明の効果】
本発明によれば、読出し状況又は選択の状況に応じて可変制御される粒度ｑを用いることにより、従来の競合制御装置において、不適切に設定され、かつ固定的な粒度ｑ値を用いることにより生じる、公平性や高スループットの性能を担保できない問題点を解消でき、公平性や高スループットを提供できる優れた効果を奏する。
【図面の簡単な説明】
【図１】本発明一実施形態である競合制御装置の基本構成図である。
【図２】図１における読出し制御部と出力側統計処理実行部との関係図である。
【図３】本発明一実施形態である、別の競合制御装置の基本構成図である。
【図４】図３における読出し制御部と入力側統計処理実行部との関係図である。
【図５】本発明の一実施形態である競合制御方法におけるタイミングの一例であるスライディングウインドウを用いて統計値を算出するタイミングを決定する手法を示した説明図である。
【図６】本発明の一実施形態である競合制御方法におけるタイミングの一例であるジャンピングウインドウを用いて統計値を算出するタイミングを決定する手法を示した説明図である。
【図７】本発明の実施例１である、図１及び２を変形した競合制御装置の部分構成図である。
【図８】本発明の実施例１における読出し正常状態例を説明する為の説明図である。
【図９】本発明の実施例１における読出し損失状態例を説明する為の説明図である。
【図１０】本発明の実施例１におけるカウンタ演算フロー図である。
【図１１】本発明の実施例２における平均ジャンプカウンタ値演算の流れ図である。
【図１２】本発明の実施例２における粒度演算の流れ図である。
【図１３】従来の競合制御装置の基本構成図である。
【図１４】従来の、ＤＲＲ法を用いた場合の読出し制御部の基本構成図である。
【図１５】従来の、ＤＲＲ法を用いた読出し制御部の流れ図である。
【図１６】各バッファにパケットが蓄積されている例の模式図である。
【図１７】粒度ｑ＝５００の場合の読出し制御部の制御例の説明図である。
【図１８】粒度ｑ＝１０００の場合の読出し制御部の制御例の説明図である。
【図１９】粒度ｑ＝１００の場合の読出し制御部の制御例の説明図である。
【符号の説明】
Ｂ１…第１バッファ
Ｂ２…第２バッファ
Ｂ３…第３バッファ
Ｂ４…第４バッファ
Ｂ５…第５バッファ
ＢＮ…第Ｎバッファ
ＩＳ…入力側統計実行部
ＪＤ…判断部
ＯＳ…出力側統計実行部
Ｐａ，Ｐｂ，Ｐｃ，Ｐｄ…パケット
ＰＲ…パケット読出し部
ＱＲ…粒度レジスタ
ＲＣ…読出し制御部
ＲＳ…読出し選択処理部
ＳＴ…統計部
【図１】
0003566165.tif 000006
【図２】
0003566165.tif 000007
【図３】
0003566165.tif 000008
【図４】
0003566165.tif 000009
【図５】
0003566165.tif 000010
【図６】
0003566165.tif 000011
【図７】
0003566165.tif 000012
【図８】
0003566165.tif 000013
【図９】
0003566165.tif 000014
【図１０】
0003566165.tif 000015
【図１１】
0003566165.tif 000016
【図１２】
0003566165.tif 000017
【図１３】
0003566165.tif 000018
【図１４】
0003566165.tif 000019
【図１５】
0003566165.tif 000020
【図１６】
0003566165.tif 000021
【図１７】
0003566165.tif 000022
【図１８】
0003566165.tif 000023
【図１９】
0003566165.tif 000024