(57)【要約】【課題】本発明は複数のポリサと複数ポリサの出力を集約するシェーパとを備えるレイヤ２スイッチにおけるポリサバーストサイズ自動設定方式に関し，バーストトラフィックが輻輳した場合にトラフィックに従って最適なバーストサイズを自動的に設定することを目的とする。【解決手段】ポリサはトークンバケット方式によりフレームを流し，ユーザ毎の最大バーストサイズを初期値とし，動作中に変動値を設定可能な自動バーストサイズ設定部と，最大情報速度設定部とを備える。シェーパはポリサからの出力を格納するバッファとバッファ監視部を備え，バッファ使用率の上位閾値と下位閾値を保持し，バッファ監視部は，ポリサ情報を保持するポリサテーブルを備え，バッファ使用率が下位閾値を越えると，バーストトラフィック量の大きなポリサに対しバーストサイズ半減指示を発生することで自動バーストサイズ設定部の設定値を半減するよう構成する。【選択図】図１
2006173726.tif 000002
【特許請求の範囲】
【請求項１】
複数のポートへ入力するユーザ端末からのフレームを受け取るポリサと，複数ポリサからの出力を集約して出力ポートに出力するシェーパとを備えるレイヤ２スイッチにおけるポリサバーストサイズ自動設定方式において，
前記ポリサはトークンバケット方式によりフレームを流し，ユーザ毎に決められた最大バーストサイズを初期値として設定され，動作中に変動の上限値を設定可能な自動バーストサイズ設定部と，最大情報速度設定部とを備え，前記シェーパはポリサから入力するフレームを格納するバッファとバッファ監視部を備え，
前記バッファにバッファ使用率の上位閾値と下位閾値を保持する保持部を設け，
前記バッファ監視部は，シェーパ配下のポリサ毎のバッファ使用量を含むポリサ情報を保持するポリサテーブルを備え，前記バッファでバッファ使用率が前記下位閾値を越えていることを検知すると，前記ポリサテーブルを参照してバーストトラフィック量の大きなポリサに対してバーストサイズの半減指示を発生し，
前記ポリサは前記半減指示を受け取ると前記自動バーストサイズ設定部の設定値を半減し，その値に従って入力帯域を制限することを特徴とするポリサバーストサイズ自動設定方式。
【請求項２】
請求項１において，
前記バッファ監視部は，各ポリサのバーストトラフィック量を，次の計算式
（物理帯域−最大情報速度）×（バッファ使用量／バッファ総容量）
により求めて，最も大きいバーストトラフィック量のポリサを検出することを特徴とするポリサバーストサイズ自動設定方式。
【請求項３】
請求項１において，
前記自動バーストサイズの値を半減したポリサは，半減完了通知を前記シェーパのバッファ監視部に通知し，前記バッファ監視部は前記ポリサテーブルの情報を書換え，更にバッファ使用率が前記下位閾値を越えているか判別し，越えている場合は他のポリサに対し自動バーストサイズ設定部の設定値を半減する通知を出力し，前記下位閾値を下回った場合は全てのポリサの自動バーストサイズを初期値に戻す指示を出力することを特徴とするポリサバーストサイズ自動設定方式。
【請求項４】
請求項１において，
前記バッファ監視部は，前記バッファでバッファ使用率が前記上位閾値を越えたことを検知すると，当該シェーパ配下の全てのポリサの自動バーストサイズ設定部の設定値を最小値に設定して，バーストトラフィックを最小化することを特徴とするポリサバーストサイズ自動設定方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，レイヤ２スイッチ（以下，Ｌ２スイッチ）のＱＯＳ（Quality Of Service) 機能の一つである入力パケットの流量監視・制御・廃棄を行うポリシング機能における，バーストサイズの自動設定方式に関する。
【０００２】
近年，イーサネット（登録商標）を用いた通信サービスが急速に広まっており，ＩＰ電話などのＶＯＩＰや，次世代フレームＩＰｖ６等の新しい技術に対応した機能を有するネットワーク機器が求められている。新しい技術への対応手段として，ＱＯＳ機能を利用したサービスが導入され始めており，高機能・高信頼を持つＱＯＳ機能を搭載したレイヤ２スイッチの開発が進んでいる。Ｌ２スイッチは，ネットワークの中の中継機器の一つで，ＯＳＩ参照モデルのデータリンク層（第２層）のデータでパケットの行き先を判断して転送を行うものである。
【０００３】
しかし，ＱＯＳ機能は優先制御や入出力帯域制御をユーザや装置単位に詳細に設定する必要があり，設定ポリシーの決定から実際の設定を行うに当たって，非常に難解且つ複雑である。そのため，ＱＯＳの高い機能性を落とさず，難解な設定をより単純化できる技術が求められている。
【背景技術】
【０００４】
図７はレイヤ２スイッチによるＱＯＳ動作の説明図であり，(a) はＬ２ＳＷの構成，(b) は各部の動作概要を示す。図中，８０はレイヤ２スイッチ（Ｌ２ＳＷで表示），８１は入力ＱＯＳ部，８１０は端末Ａ，端末Ｂから入力するフレームに対応して設けられたクラシファイ部，８１１はポリシングを行うポリサ，８２は出力ＱＯＳ部，８２０はシェーパである。８３はファイル転送プロトコル（ＦＴＰ）のフレームによりデータを伝送する端末であり，図７の例では端末Ａと端末Ｂの２つの例を示す。
【０００５】
Ｌ２ＳＷにおけるＱＯＳには，クラシファイ，ポリシング，シェーピングの３種類があり，入力フレーム毎にクラシファイ部８１０において優先度振分け（Classify) を行い，フレームの集まりであるトラフィックの帯域を入力側のポリサ８１１と出力側のシェーパ８２０で実施する，という一連の流れを総称してＱＯＳという。中でも，ポリシングを行うポリサ８１１では，入力レートの上限値（ＰＩＲ：Peak Information Rate ：最大情報速度，bit/second）と入力トラフィックのバースト許容値（ＭＢＳ：Maximum Burst Size：最大バーストサイズ，Byte単位) が利用者との契約により予め設定されており，入力レートの上限値（ＰＩＲ）とバースト許容値（ＭＢＳ）はポリサ毎に任意の値を設定することが可能であるが，いずれの値もユーザが手動で一意の値を設定する必要がある。
【０００６】
図７の(b) には，端末Ａと端末Ｂにはそれぞれの伝送路に対して一定の物理帯域（伝送可能な帯域）が決められており，各端末Ａ，Ｂのフレームに対して上記ＰＩＲの値に対応するポリサ設定値Ａ，ポリサ設定値Ｂが設定されているものとすると，フレームはクラシファイ部８１０を通る時，図７の(b) の中の(1) に示すような分布をとり，それぞれのフレームの入力はポリサ８１１において，図７の(b) の(2) に示すように各ポリサ設定値Ａ，ポリサ設定値Ｂにより制限される。端末Ａ，端末Ｂからのフレームに対応した２つのポリサ８１１から出力されたフレームはシェーパ８２０に入力されて，その中のバッファ（図示省略）に格納され，そのバッファから出力される。シェーパ設定値（バッファ容量により決められる）に制限されたデータ量が図７の(b) の(3) に示すように出力される。
【０００７】
図８はポリシング機能の概要を示す図である。ポリシング機能には大きく分けて，以下の２つの機能がある。一つは，Ｌ２ＳＷに入力されたトラフィックの上限値であるＰＩＲを設定し，入力トラフィックのうち，ＰＩＲを越えるトラフィックは廃棄する機能である。もう一つは，バースト許容値ＭＢＳを設定し，瞬間的にＰＩＲ値を越えるバーストトラフィックを受信した際に，設定されたバーストサイズ分のフレーム受信を許容する機能である。図８の場合，(1) に示すように，最初のうちはＰＩＲ値を越えてバーストサイズ分のトラフィックも流すが，シェーピングにおけるバッファ容量によりバーストサイズ分を使い果たした後は，ＰＩＲ設定値までのトラフィックしか流さない。この後，トラフィックが止まって一定時間経過すると図８の(2) に示すように，バーストサイズ分を再び流すことができる。
【０００８】
レイヤ２スイッチのポリシングの方式としてトークンバケット（またはトークンバケツ）方式がある。図９にトークンバケット方式の原理を示す。図９中，９０は送信する権利を表すトークンの供給源，９１はトークンを蓄積するバケット，９２はフレームを表し，斜線で表したものはトークンを受け取って出力することができたフレームを表す。
【０００９】
トークンバケット方式では，ポリサからフレームを出力するためには，流れてくるフレーム一つ一つに対してフレームサイズ分のトークンを与える必要があり，フレームはトークンを受け取ることで初めてポリサを通過できる。トークンはバケット９１に蓄えることができ，バケット９１のサイズがＭＢＳ（バースト許容値）であり，フレームが流れてくる度にフレームにトークンが逐次供給される。自身のバイト長分のトークンを受け取ったフレームは，ポリサを通過することが可能となり，受け取ることができなかったフレームは廃棄される。バケットにはＰＩＲのレートに従ってトークンが随時補充されており，フレームが流れない時やＰＩＲ以下のレートである場合は，バケットにトークンが溜まる。図９のＡ．にバケットにトークンが溜まっている場合を表し，供給源９０から一定周期でバケット９１にトークンを供給（ＰＩＲに依存）することで，バケット９１にトークンが溜められた状態を表す。このトークンがバケット９１からフレームへ供給されると，パケットがフレームサイズ分のトークンを受け取ることにより，ポリサから先へ出力され，パケットのトークンサイズ分はバーストトラフィックとして流すことが可能である。
【００１０】
ＰＩＲを越えるレートで入ってきたフレーム（バーストトラフィック）に対し，バケットからトークンを供給することで，バケットに蓄えられたトークンは減じられていく。ここで，バーストトラフィックが流れ続け，トークンを与え続けると，最終的にバケットは空になってしまい，ＰＩＲに従ってバケットに補充されるトークンでのみフレームの透過が可能となる。図９のＢ．はバケットのトークンが空の場合であり，トークンはＰＩＲレート通りにフレームへトークンを供給されるため，ＰＩＲレートでフレームが出力できるが，バケットにトークンが溜められていないためバーストトラフィックを流すことができない。この状態はＰＩＲに設定したレートが確実に守られることを意味する。
【００１１】
図１０，図１１によりトークンバケット方式におけるバッファ使用率を説明すると，図１０は説明に使用するＬ２ＳＷの構成例，図１１はポリサとシェーパのバッファ使用率の説明図であり，図１１の(a) はユーザのトラフィックとバッファの使用量，(b) はシェーパからの出力を示す図である。
【００１２】
図１０に示す構成では，上記図７に示すＬ２ＳＷの構成の中の主要な構成要素であるポリサ８１１，シェーパ８２０だけを示し，ポリサ８１１内には，ポリサＡ，ポリサＢが示され，それぞれＭＢＳ（バースト許容値）は一定値で，ＰＩＲ（最大情報速度）はそれぞれＰＡ，ＰＢが設定されている。８３はユーザＡ，ユーザＢの端末である。またシェーパ８２０は，バッファ８２０ａと出力制限部８２０ｂとで構成される。また，図１１の(a) に示す図は，横軸が時間，縦軸がレート（速度）を表し，上から順にユーザＡのトラフィック，ユーザＢのトラフィック，シェーパの状態を表す。
【００１３】
トークンバケット方式でポリサを動作させた際，ユーザＡ，ユーザＢがそれぞれポリサＡ，Ｂでポリシングを受けて，図１１の(a) のａ１，ｂ１のようにフレームが流れる。ポリサＡ，Ｂを通過したフレームは，シェーパ８２０へ送られる。シェーパ８２０は設定レートに従ってフレームを装置外へ出力するが，フレームデータをシェーパ前のバッファ８２０ａに蓄積され，蓄積されたフレームデータは設定レートの速度で読み出す処理を行う。
【００１４】
この後，各ユーザＡ，ＢからそれぞれのＰＩＲであるＰＡ，ＰＢを越えるバーストが(2) に示すようにｂ２（ユーザＢのバースト），ａ２（ユーザＡのバースト）の順に流れてくると，まずはポリサに設定したＭＢＳ（バケット満杯分のトークン）分のトラフィックを流し，ＭＢＳ分のトラフィックが流れてしまった後は，ＰＩＲ設定値を最大としたレートでトラフィックを流し続ける。
【００１５】
シェーパ８２０で複数のポリサから流れてきたフレームが集約されるが，次の制約を満たしていれば，バッファ８２０ａに蓄積されることはない。
【００１６】
シェーパレート≧配下ポリサからのΣＰＩＲ
このように，ユーザＡ，Ｂが図１１の(a) のａ１，ｂ１のようにＰＩＲを守っていれば，トラフィックはバッファ８２０ａに蓄積されることなくシェーパ８２０から読出されるが，ユーザＢがバーストトラフィックを図１１の(a) のｂ２のように流し，その直後ユーザＡがバーストトラフィックを図１１の(a) のａ２のように流すと，バーストトラフィックは最大で物理レートまで出力するため，シェーパのバッファ８２０ａからの読み出しが追いつかず，ユーザＡのバーストトラフィックによって図１１の(a) のｃ１に示すようにバッファは溢れてしまい，バッファ溢れによるパケット廃棄を起こしてしまう。この時，バッファ８２０ａにはバーストトラフィックのみが溜まっている状態となり，新たなユーザが加わってＰＩＲ以内のトラフィックを流そうとしても，図１１の(b) のｃ２に示すように他ポートからのバーストトラフィックの影響で全く流れなくなる。こうして，バッファがバーストトラフィックのみで溢れてしまい，新たに別のユーザがＰＩＲ以内で流したトラフィックに対してフレームの廃棄がおこり，バーストトラフィックを流すユーザのためにＰＩＲまでのレートが保証されないユーザが現れるという現象が生じる。
【００１７】
コンピュータネットワークシステムにおけるルータ，リピータ等の中継装置に関して，ネットワークを流れるトラフィックの増大に対応できるようにするための技術が存在する（特許文献１参照）。その技術は，パケット転送処理を行うパケット転送ユニットを並列化し，各パケット転送ユニットへパケットを振り分けるパケット振り分けユニットと，パケット転送ユニットの出力を再配列するパケット再配列ユニットを設け，更にパケット転送ユニット内でパケットヘッダを検索するパケット検索ユニットを並列化することにより，パケットの転送処理ユニットの並列度に応じてパケット転送処理を高速化するものである。
【特許文献１】特開２００１−２１１２０３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
上記図１１の(b) で示す現象は，ユーザＡのポリサＡに与えられたＭＢＳ値が大きければ大きいほど，長時間発生し続けることになる。逆にＭＢＳが小さいと，バーストトラフィックを流す時間は短くなり，１ユーザでバッファを占有する時間を短縮することが可能となるが，その反面，１対１通信におけるＦＴＰ転送等のＴＣＰ（Transmission Control Protocol)スループットが悪くなるという問題がある。
【００１９】
ＴＣＰスループットについて説明する。ユーザＸとユーザＹとでＦＴＰ転送をする場合を想定すると，両者間の通信はＴＣＰ／ＩＰプロトコルに従ってフロー制御が行われる。ユーザＸから送信されたフレームは，ユーザＹで受信すると，ユーザＹからユーザＸへと受信確認情報があるＡＣＫパケットを送り返す。このＡＣＫパケットをユーザＸが受け取ったことで，ユーザＸは送信したフレームが無事受信されたことを確認し，次のフレームを送信する。ＡＣＫが戻ってこなければ，ユーザＸは戻ってこなかった分のフレームを再送することになる。ここで，ＴＣＰ／ＩＰの輻輳処理であるスロースタートに従い，まず送信フレーム１個毎にＡＣＫを返すが，一度ＡＣＫが戻ってくると，送信フレームの個数（ウィンドウサイズ）を倍に増やし，次にＡＣＫが戻ってくると更にその倍に増やして，一度に送信するフレーム数を倍々に増やして送り出す処理を行う。
【００２０】
スロースタートによってウィンドウサイズはどんどん増えていくが，使用可能な帯域の限界になるとフレームロス（廃棄）が起きてＡＣＫが返らなくなり，その時点でスロースタートは中止し，ウィンドウサイズを半分まで落とし，その後はウィンドウサイズを一つずつ増やすファストリカバリ処理を行うこととなる。また，ファストリカバリ処理に入るよりも更に多くの送信フレームが廃棄されるような輻輳状態に陥ると，一旦送信フレームを一個まで戻し，改めてスロースタートを行うことにより再送タイムアウト（再送時間がかかりタイムアウトになる）状態となる。
【００２１】
図１２はＴＣＰ／ＩＰプロトコルを考慮したＭＢＳとＴＣＰスループットの関係を示す。ＦＴＰ転送では，転送ファイルサイズ分のトラフィックがバースト的に流れることになる。ＰＩＲが物理レートよりも低いユーザでは，最初のうち，ポリサでバーストトラフィックを許容しているため，スロースタートによってウィンドウサイズはどんどん大きくなり（図１２のａ），ファイル転送は物理レートで流れるが，バーストトラフィックの合計サイズがＭＢＳ値まで流れると，トラフィックレートは物理レートからＰＩＲ設定値のレートまで急激に落ちてしまい（図１２のｂ），パケットの大量廃棄が発生する。そのため，パケットの再送タイムアウトが発生し，ウィンドウサイズを最小値まで戻してスロースタートからやり直すことになる（図１２のｃ）。スロースタートにてウィンドウサイズを徐々に大きくしていく間，ポリサのトークンは徐々にＭＢＳまで溜まっていき，完全に溜まるころにはＦＴＰ転送速度は物理レートまで増加しており（図１２のｄ），ＭＢＳ値までのサイズになると再びスロースタートに陥る（同ｅ）。転送ファイルを全て送りきるまではこの動作を繰り返すことになるが，ここで得られる傾向として，次の結果が得られる。
【００２２】
ＭＢＳが小なら，ＴＣＰスループットが出ず，バッファ小容量でも他ユーザに影響が少なく，ＭＢＳが大なら，ＴＣＰスループットが出て，バッファ小容量でも他ユーザに影響が大きい。
【００２３】
また，ＩＰネットワークは非同期網であるため，どのユーザが，いつ，どのくらいのトラフィックを流すかどうか，一意に決定することは難しい。ＰＩＲの小さいユーザでも，ＦＴＰ転送を行うためにバーストサイズは大きなものが必要となる場合や，ＰＩＲが大きいユーザでもバーストトラフィックをほとんど流さない場合もある。あるシェーパに属する複数ユーザでも，時間帯によってバーストトラフィックが輻輳する時間としない時間があり，輻輳時に大きなＭＢＳでバーストトラフィックを流す他ユーザの帯域に影響を与え，非輻輳時でもＭＢＳが小さければＦＴＰ転送でのスループットが出力されず，遅延が大きくなる。このように，ポリサバーストサイズも他ユーザの帯域使用量によって，その容量を一意に決めるのは難しい。
【００２４】
更に，全てのポリサのバーストトラフィックを共用できる大容量バッファを装置に設置すると，装置に実装する機能がバッファ容量に圧迫されるために機能搭載の効率が落ち，なおかつバーストトラフィックが流れない場合には大容量バッファの使用効率が劣化することになる。
【００２５】
上記特許文献１の技術は，パケット転送ユニットを並列化し，パケット振り分けユニットと，パケット再配列ユニットと，更にパケット転送ユニット内でパケットヘッダを検索するパケット検索ユニットとを並列化してパケット転送処理を高速化するもので，ユーザに対して設定した最大情報速度（ＰＩＲ）やバースト許容値（ＭＢＳ）を考慮してバーストラフィック時の最適な制御を行うものではない。
【００２６】
本発明は種々の最大情報速度（ＰＩＲ）やバースト許容値（ＭＢＳ）による契約を行った利用者に対し，バーストトラフィックが輻輳した場合に手動で一意にＭＢＳを与える手間を省き，トラフィックに従って最適なバーストサイズを自動的に設定することが可能なポリサバーストサイズ自動設定方式を提供することを目的とする。
【課題を解決するための手段】
【００２７】
図１は本発明の構成を示す図である。図中，１はレイヤ２スイッチ（Ｌ２ＳＷで表示），２は入力ＱＯＳ部，２０ａ〜２０ｎはそれぞれユーザ端末に対応して設けられ，各ユーザ端末からのフレームが入力されるポリサであり，各ポリサの内部に設けられた２００は，そこにフレームを入力するユーザ端末に対してポリシング制御の基準となるバーストサイズの閾値が設定され，その値がシェーパから自動的に可変制御することができる自動バーストサイズ（ＡＢＳ：Auto-set Burst Size)設定部，２０１はユーザに対して決められた最大情報速度が設定される最大情報速度（ＰＩＲ）設定部である。３は出力ＱＯＳ部，３０ａ〜３０ｍはそれぞれ相手側の端末（または伝送路）に接続されたシェーパ，各シェーパの内部の３００はバッファ監視部，３０１はシェーパ配下のポリサ情報に関する情報として使用バッファ容量，ＡＢＳ初期値（ユーザに対応したＭＢＳを設定），ＡＢＳ現状値，ＰＩＲ，及びバースト発生時のバーストトラフィック量（特定の計算式により求める）等を保持するポリサテーブル，３０２はバッファ，３０２ａは配下ポリサの単一ＭＢＳ以上の値であって，単一ユーザがＭＢＳを出力する場合ではその閾値を越えることのない値である下位閾値が設定される下位閾値保持部，３０２ｂは最終閾値である上位閾値が設定される上位閾値保持部である。３０３は出力制御部である。４は送信元のユーザ端末であり，この例ではポリサ２０ａ，２０ｂにそれぞれ接続されるユーザ端末Ａ，ユーザ端末Ｂの２つだけが示されている。５は送信先の端末であり，この例ではシェーパ３０ａに接続された端末Ｘとシェーパ３０ｍに接続された端末Ｚだけ示されている。
【００２８】
ユーザ端末Ａとユーザ端末Ｂからの入力がそれぞれ入力ＱＯＳ部２のポリサ２０ａと２０ｂに入力して，入力ＱＯＳ制御を受け，ポリサ２０ａと２０ｂの出力がシェーパ３０ａで集約され，ユーザ端末Ｘへ送信される場合について説明する。始めはポリサ２０ａ，２０ｂの自動バーストサイズ（ＡＢＳ）設定部２００にそれぞれのユーザ端末Ａ，ユーザ端末ＢのＭＢＳ（最大バーストサイズ）が設定され，２０１にもそれぞれのＰＩＲ（最大情報速度）が設定される。
【００２９】
ユーザ端末Ａ，Ｂからの入力トラフィックは，ポリサ２０ａ，２０ｂで自動バーストサイズ（ＡＢＳ）設定部２００と最大情報速度（ＰＩＲ）設定部２０１によりポリシングを受けてシェーパ３０ａのバッファ３０２に書き込まれた後，出力制御部３０３により読み出されてユーザＸに出力される。バッファ３０２の使用量が何れかのポリサからのフレームにより下位閾値保持部３０２ａを越えた場合，バッファ３０２からバッファ監視部３００に閾値超過を通知する。バッファ監視部３００はポリサテーブル３０１を参照して，ポリサ（ユーザ）毎のバーストトラフィック量（物理帯域からそのポリサの最大情報速度を減じて，バッファの使用率を乗じることにより求める）を算出して，最もバーストトラフィック量の多いポリサを識別し，そのポリサに対し自動バーストサイズ（ＡＢＳ）半減命令を通知する。
【００３０】
これを受けたポリサは自動バーストサイズ（ＡＢＳ）設定部２００の設定値を半減し，半減の完了をシェーパのバッファ監視部３００へ通知する。半減完了を受けたバッファ監視部３００は更に半減した自動バーストサイズ（ＡＢＳ）値を用いて監視を行って，バッファの使用量が更に下位閾値を越えると更に半減命令をその時のバーストトラフィック量が多いポリサを識別して，そのポリサに対して通知し，この動作を繰り返して，設定値が変換される。また，下位閾値を越えてないことが検出されると，バッファ監視部３００は半減された自動バーストサイズ（ＡＢＳ）値を元に戻す命令を該当ポリサに通知する。
【００３１】
また，バッファ３０２の使用量が上位閾値保持部３０２ｂに設定した上位閾値を越えるとバッファ監視部３００に通知し，バッファ監視部３００は配下の全てのポリサの自動バーストサイズ（ＡＢＳ）設定部２００の設定値を最低値（ＢＢＳ：Bottom Burst Size:バッファ下位閾値／シェーパ配下のポリサ数）に設定する命令を通知し，各ポリサはその通知を受けるとそれぞれの自動バーストサイズ（ＡＢＳ）値を最低値（ＢＢＳ）まで削減し，設定完了をシェーパに通知する。
【００３２】
ＡＢＳやＢＢＳの適用可否，及び初期値の設定は，ユーザが設定可能であり，且つユーザがＰＩＲを設定した時点でＡＢＳの初期値を自動設定する機能を有することで，これまで使われてきた機能も使用することができる。
【００３３】
以上の動作により，トラフィック量が非同期であり，バースト的なトラフィックが頻発するイーサネットのネットワークにおいて，ユーザは他ユーザのトラフィックを侵害せず，最適なバーストサイズを一意に決定することなく，ＰＩＲのみを意識してネットワークの構築および運用が可能となる。また同時に，シェーパにて有するバッファは，全てのユーザのＭＢＳを許容するだけの容量を有して非効率的な運用を行うことなく，バッファ容量と回路コストの軽減が可能となる。
【発明の効果】
【００３４】
本発明により種々の契約帯域を持つユーザに対して手動で一意にＭＢＳを与えることなく，ユーザのポリサ毎にそのユーザのトラフィックに従って最適なバーストサイズを自動的に設定することが可能となる。また，シェーパのバッファが全ポリサのＭＢＳの総合計値以下であっても，単一ポリサのみがバーストトラフィックを流している場合には１対１通信で十分なバーストサイズを自動的に取得可能であり，バーストトラフィックが輻輳した場合でも，バッファの閾値設定とＡＢＳ自動設定によって，バッファには他ポリサのＰＩＲ分を出力することが可能となり，バッファの小容量化と効率的な装置設計が可能となる。
【発明を実施するための最良の形態】
【００３５】
図２はポリサテーブルの構成と変化を示す図，図３はポリサとシェーパの相互の処理フローである。
【００３６】
図１の構成における出力ＱＯＳ部３のシェーパ３０ａに設けられたポリサテーブル３０１には，最初に図２のＡ．に示すような情報が設定されている。すなわち，ａの欄にはポリサ名が設定され，この例ではポリサ２０ａ，ポリサ２０ｂ，……ポリサ２０ｎが設定され，ｂの欄には各ポリサがこのシェーパ３０ａの配下にあるか否かを「○」または「×」に設定され，この例ではポリサ２０ａと２０ｂがシェーパ３０ａの配下に属している。ｃの欄は使用バッファ容量（Ｍbyte: メガバイト）が設定される。この使用バッファ容量は，入力トラフィックがこのシェーパ配下のどのポリサからのものであるかを認識し，バッファに書き込まれるとカウンタ（図示省略されたデータ量のカウンタ）を増加させ，バッファから読み出されるとカウンタを減少させることにより求める。この例では，ポリサ２０ａによる使用バッファ容量が「２Ｍ」で，ポリサ２０ｂによる使用バッファ容量が「０．５Ｍ」である。ｄの欄はＡＢＳ初期値（Ｍbyte）であり，ポリサ２０ａ，２０ｂの何れも「１０Ｍ」である。ｅはの欄はＡＢＳ現状値（Ｍbyte）であり運用により変化する。ｆの欄はＰＩＲ（Ｍbps:メガビット/ 秒 )であり，ポリサ２０ａに対して「５０Ｍbps 」，ポリサ２０ｂに対して「１Ｍbps 」である。ｇの欄はバーストトラフィック量（byte) で初期状態では何も設定されていない。ｈの欄は自動設定回数であり，初期値は０である。
【００３７】
最初にポリサ２０ａとポリサ２０ｂの各自動バーストサイズ設定部２００（以下，ＡＢＳ設定部という）に，ユーザＡ，ユーザＢの契約ＭＢＳの値である「１０Ｍbyte」を設定し，ポリサテーブルのポリサ２０ａ，２０ｂにＡＢＳ初期値の欄（図２のＡ．のｄ）及びＡＢＳ現状値（図２のＡ．のｅ）にも同じ値が設定される。そして，バッファの下位閾値を１０Ｍbyte，上位閾値を１９Ｍbyteとする。
【００３８】
図３の処理フローにおいて，バッファ３０２において，バッファ使用量が下位閾値を超過したか判別する（図３のＳ１）。この時，使用バッファ量が図２のポリサテーブルのＢ．のｃに示すようにポリサ２０ａが「１０」でポリサ２０ｂが「６」になって，合計して「１６」となり下位閾値の「１２」を超過したことが検出されると，下位閾値の超過通知をバッファ監視部３００に通知する（同Ｓ２）。バッファ監視部３００ではバーストトラフィック量（図２のポリサテーブルのＡ．のｇ）を参照する（図３のＳ３）。
【００３９】
ここで，ポリサテーブルのバーストトラフィック量は次の計算式により求めたものを意味する。この計算式によって，ポリサ毎の単位時間当たりに流しているトラフィック量が算出される。
【００４０】
バーストトラフィック量＝（１００-PIR) ×（バッファ使用量／バッファ総容量）
この計算式中の「１００」は物理レートが１００Ｍbyteであることを表す。このバーストトラフィック量は，ＰＩＲに差がある２つのユーザでも，バーストトラフィックは物理レートまで出力されるため，ＰＩＲが小さいユーザの方がバースト時にはＰＩＲが大きいユーザより大量にバーストトラフィックを流していることとなるため，ＰＩＲを越える残り帯域分を（１００-PIR) で計算し，その数値に単位時間当たりのバッファ使用率（バッファ使用量／バッファ総量）を掛けることで，ユーザ毎のバーストトラフィック量が算出できる。
【００４１】
図２のＢ．に示すようにポリサ２０ａ，２０ｂによる使用バッファ容量が変化すると，バーストトラフィック量は図２のＢ．のｇに示すように，それぞれ「２５」と「２９９．７」になり，ポリサ２０ｂのバーストトラフィック量の方が多いことが分かり，バッファ監視部３００はポリサ２０ｂに対しＡＢＳ半減命令を送信する（図３のＳ４）。これを受けたポリサ２０ｂはＡＢＳの値を半減し（図３のＳ５），ＡＢＳ半減完了をバッファ監視部３００に通知する（同Ｓ６）。ポリサ２０ａはこの後，半減したＡＢＳの値（具体的にはＡＢＳ初期値の「１０Ｍbyte」の半分である「５Ｍbyte」）をバースト許容値（ＭＢＳ）として処理を行う。
【００４２】
バッファ監視部３００はポリサ２０ｂからの半減完了通知を受け取ると，ポリサテーブル３０１を更新する（図３のＳ７）。この更新により，ＡＢＳの現状値の記録（半減値を設定），自動変更回数加算（＋１）し，バーストトラフィック量算出を行う。この更新により，ポリサテーブル３０１は図２のＣ．の各欄に示す値になる。続いて，バッファ使用量チェックをバッファ３０２に指示し（図３のＳ８），バッファ３０２でこれに応じてチェックをして，バッファ使用量が下位閾値を超過したか判別し（同Ｓ９），超過したと判別された場合は上記のステップＳ２に戻り，超過通知をバッファ監視部３００へ通知し，改めてその時点でバーストトラフィック量の大きいポリサに対してＡＢＳ半減命令を通知する処理に移行する。下位閾値未満の場合は，復旧通知をバッファ監視部３００に出力する（同Ｓ１０）。
【００４３】
バッファ監視部３００はこれを受け取ると全ポリサのＡＢＳをチェックし，現在のＡＢＳの値が初期値から下がっているポリサを，ポリサテーブル３０１を参照して確認し（図３のＳ１１），該当する全ポリサに対してＡＢＳの復旧命令を出す（同Ｓ１２）。復旧命令を受けたポリサは，自身のＡＢＳを初期値に復旧し（図３のＳ１３），復旧完了通知をバッファ監視部３００に通知する（同Ｓ１４）。復旧通知を受けたバッファ監視部３００は，ポリサテーブル３０１の該当する情報の書換えを行う（同Ｓ１５）。すなわち，ＡＢＳ現状値（復旧した値）を記録し，バーストトラフィック量を算出する）。この後もバッファ３０２，バッファ監視部３００，及び各ポリサは上記と同様の処理を繰り返す。
【００４４】
ポリサテーブル３０１にはユーザ毎（ポリサ毎）のＡＢＳ変更回数と変更値を記録するが，この記録によりユーザ毎のトラフィック使用状況を確認することができる。これにより，変更頻度の高いユーザ同士の集約を避け，ＰＩＲを守るユーザと混在させる等，将来的なネットワーク拡大時の判断基準として利用することができる。
【００４５】
図３に示す処理フローにより，複数ポリサから集約されるシェーパのバッファに閾値を下位閾値と上位閾値の２段階与えておき，バーストトラフィックが複数ユーザで同時に発生し，バッファ使用量が下位閾値を越えた場合，バッファ使用率とＰＩＲから算出した最も大きなバーストトラフィックを流しているポリサのＡＢＳを自動的に半減させ，バッファ使用量が下位閾値を下回るまで，最もバーストトラフィックを流しているポリサを順次算出し，ＡＢＳを半減させ続け，最終的にバッファ使用量が下位閾値を下回った時点で全てのポリサのＡＢＳ値を元に戻す。また，上記図３の処理フローには示されてないが，急激なバーストトラフィックの流入によって，バッファ使用量が上位閾値を越えてしまった場合には，該当シェーパ配下のポリサのＡＢＳを全て最小値（ＢＢＳ）に設定し，バーストトラフィックを最小化する。
【００４６】
また，ＡＢＳやＢＢＳの適用可否，および初期値の設定はユーザにより設定可能であり，尚且つユーザがＰＩＲを設定した時点でＡＢＳの初期値を自動設定する機能を有することで，これまで使われてきた機能も利用することが可能である。
【００４７】
以上の動作によって，トラフィック量が非同期であり，バースト的なトラフィックが頻発するイーサのネットワークにおいて，ユーザは他ユーザのトラフィックを侵害せず，最適なバーストサイズを一意に決定することなく，ＰＩＲのみを意識してネットワークの構築及び運用が可能となる。また，同時にシェーパに有するバッファは，全てのユーザのＭＢＳを許容するだけの容量を有して非効率的な運用を行うことなく，バッファ容量と回路コストの軽減が可能となる。
【００４８】
上記図３の処理におけるポリサに対するＡＢＳ半減方法では，ＡＢＳ半減時にトークンバケット方式によるトークンは減らさないで，その時に蓄積された（残った）トークンはそのまま残してバーストトラフィックの送信のために全部流し切る動作になるが，ＡＢＳを半減させた時点で，その時に残っていたトークンを全て無くすようにすることができる。その場合，ＡＢＳを半減した瞬間から，バーストトラフィックは停止し，ＰＩＲのレートでのみトラフィックが流れることになる。
【００４９】
図４はＡＢＳ半減時のトークンの扱い方法の説明図である。図４のＡ．はポリサの元のＡＢＳであり，この例では１０Ｍbyteであり，この時点でのトークン量（蓄積されたトークンのカウント量）が２Ｍbyteとすると，ＡＢＳ半減通知を受けると，トークンバケットのバケットの大きさ（ＡＢＳ）は５Ｍbyteに半減し，トークンは減らさないため２Ｍbyteである。図４のＢ．はポリサの元のＡＢＳ及びトークン量は上記Ａ．の場合と同じであるが，ＡＢＳ半減通知を受け取った時点で，トークンが残っていても，ＡＢＳは半減するが，トークンを無くしてしまう。この場合，ポリサはそのＰＩＲの値に制限されて送信を行う。
【００５０】
なお，各ポリサでＰＩＲを設定する場合に，そのＰＩＲ値での，ＴＣＰスループットが十分に出力される最小のＡＢＳを初期値として自動設定するようにしてもよい。
【００５１】
図５，図６を用いて具体的な設定例であり，図５はネットワークの構成例，図６は図５の構成例におけるＡＢＳ自動設定の流れである。
【００５２】
図５には上記図１に示す構成要素の中の主要な部分だけを示し，１はＬ２ＳＷ，２０ａ〜２０ｄはポリサＡ〜ポリサＤ，３０ａはシェーパ，３０２はバッファ，４ａ〜４ｄはユーザ端末Ａ，Ｂ，Ｃ，Ｄ，５は送信先のユーザ端末Ｙである。図６は図５の構成におけるポリサテーブルの変化の具体例を示す。
【００５３】
図５の例では，ポート数８（図５では入力側４，出力側１の合計５だけ示す）のＬ２ＳＷにユーザ端末Ａ〜Ｄが収容されており，全てのユーザは一つの出力先のユーザ端末Ｙと通信を行うことができる設定となっている。各ユーザ端末Ａ〜ＤはそれぞれポリサのＰＩＲにより帯域制御を受けており，図６に示すポリサテーブルの(1) に示すように，順に５０Ｍｂｐｓ，１０Ｍｂｐｓ，１Ｍｂｐｓ，０．５Ｍｂｐｓのレートを割り当てられている。それぞれＭＢＳは１０Ｍbyteとし，ＡＢＳの初期値は，ユーザ端末Ａ，Ｂ，ＣがＭＢＳ＝ＡＢＳとして１０Ｍbyteが与えられている。ユーザ端末Ｄは初期値の自動設定機能を設定しており，３Ｍbyteを与えられているものとする。シェーパのバッファ３０２は全ポート数のＭＢＳ総計８０Ｍbyteの半分である４０Ｍbyteとし，下位閾値は２０Ｍbyte，上位閾値は３０Ｍbyteとする。ここまでの設定における各ポリサＰＩＲ，ＡＢＳ，バッファ使用量のテーブルが図６の(1) である。
【００５４】
ユーザ端末Ａとユーザ端末Ｙ，ユーザ端末Ｂとユーザ端末Ｙのそれぞれが１対１でのバーストトラフィックを別々のタイミングで実行した場合，バッファはその都度最大１０Ｍbyteまで使用され，通信終了と共にバッファは空になる。また，２ユーザまで同時にバーストトラフィックを流したとしても，バッファは最大２０Ｍbyteまでの使用に留まるため，ＡＢＳを半減させることはなく，各数値は図６の(1) のままである。
【００５５】
ここで，ユーザ端末Ａ，Ｂ，Ｃが同時にバーストトラフィックを流してバッファの下位閾値を越えた場合が図６の(2) に示され，バッファ使用量のテーブルを参照して各ポリサのバッファ使用量を読み出し，各ポリサＰＩＲ値とでポリサ毎のバーストトラフィックの量を算出し，最も多くのバーストトラフィックを流しているポリサに対してＡＢＳを半分にするよう要求する。これにより，図６の(3) に示すようにポリサＢのＡＢＳが半減される。このＡＢＳ半減完了通知を受け取った後，バッファ使用量が下位閾値を下回っていなければ，改めてバーストトラフィック量を算出し，その段階で最もバーストトラフィックの大きいポリサＣのＡＢＳを半減させる。この場合，図６の(4) に示すようにポリサＣのＡＢＳが半減される。この図６の(4) の状態になると，バッファ使用量が下位閾値（２０Ｍbyte）を下回ったため，ＡＢＳを初期値に戻し，図６の(1) の状態になる。
【００５６】
次に図６の(1) の状態の時，全てのポリサＡ〜Ｄが同時にバーストトラフィックとなってＡＢＳ値フルでバッファに流してきた場合，図６の(5) に示すようにバッファの上位閾値である３０Ｍbyteを越えて３３Ｍbyteまで使用することになる。この場合，シェーパからポリサへＡＢＳをＢＢＳまで落とす要求を出し，シェーパ配下の全ポリサのＡＢＳは予め設定されているＢＢＳまで落とされる。ＢＢＳ算出方法は次の通りである。
【００５７】
（下位閾値＝20M)／(A,B,C,Dの４ユーザ）＝２０／４＝５
この計算式より，Ａ，Ｂ，Ｃ，ＤのＡＢＳはそれぞれ５，５，５，３（Ｍbyte）となる。但し，ＤのＡＢＳはＢＢＳ計算結果よりも小さいため，設定変更はしないものとする。
【００５８】
この動作によって，シェーパは以下のポリサＡＢＳ総計は下位閾値まで下がり，図６の(6) の状態になる。一旦ＡＢＳが下がってしまえば，その後のトラフィックはＰＩＲに抑えられるため，バッファ使用量が下位閾値を越えることはない。従って，一旦ＡＢＳに設定し，設定完了通知を全てのポリサから受け取った後は，全てのＡＢＳを初期値まで戻し，図６の(1) の状態になる。
【００５９】
（付記１）  複数のポートへ入力するユーザ端末からのフレームを受け取るポリサと，複数ポリサからの出力を集約して出力ポートに出力するシェーパとを備えるレイヤ２スイッチにおけるポリサバーストサイズ自動設定方式において，前記ポリサはトークンバケット方式によりフレームを流し，ユーザ毎に決められた最大バーストサイズを初期値として設定され，動作中に変動の上限値を設定可能な自動バーストサイズ設定部と，最大情報速度設定部とを備え，前記シェーパはポリサから入力するフレームを格納するバッファとバッファ監視部を備え，前記バッファにバッファ使用率の上位閾値と下位閾値を保持する保持部を設け，前記バッファ監視部は，シェーパ配下のポリサ毎のバッファ使用量を含むポリサ情報を保持するポリサテーブルを備え，前記バッファでバッファ使用率が前記下位閾値を越えていることを検知すると，前記ポリサテーブルを参照してバーストトラフィック量の大きなポリサに対してバーストサイズの半減指示を発生し，前記ポリサは前記半減指示を受け取ると前記自動バーストサイズ設定部の設定値を半減し，その値に従って入力帯域を制限することを特徴とするポリサバーストサイズ自動設定方式。
【００６０】
（付記２）  付記１において，前記バッファ監視部は，各ポリサのバーストトラフィック量を，次の計算式  （物理帯域−最大情報速度）×（バッファ使用量／バッファ総容量）  により求めて，最も大きいバーストトラフィック量のポリサを検出することを特徴とするポリサバーストサイズ自動設定方式。
【００６１】
（付記３）  付記１において，前記自動バーストサイズの値を半減したポリサは，半減完了通知を前記シェーパのバッファ監視部に通知し，前記バッファ監視部は前記ポリサテーブルの情報を書換え，更にバッファ使用率が前記下位閾値を越えているか判別し，越えている場合は他のポリサに対し自動バーストサイズ設定部の設定値を半減する通知を出力し，前記下位閾値を下回った場合は全てのポリサの自動バーストサイズを初期値に戻す指示を出力することを特徴とするポリサバーストサイズ自動設定方式。
【００６２】
（付記４）  付記１において，前記バッファ監視部は，前記バッファでバッファ使用率が前記上位閾値を越えたことを検知すると，当該シェーパ配下の全てのポリサの自動バーストサイズ設定部の設定値を最小値に設定して，バーストトラフィックを最小化することを特徴とするポリサバーストサイズ自動設定方式。
【００６３】
（付記５）  付記４において，前記バーストサイズの最小値は前記下位閾値を配下のポリサの個数で除算した値とすることを特徴とするポリサバーストサイズ自動設定方式。
【００６４】
（付記６）  付記１において，前記バッファ監視部は，ポリサに対してバーストサイズの半減指示を出力する毎に，前記ポリサテーブルに自動設定回数を加算して，変更頻度の高いユーザを識別可能にすることを特徴とするポリサバーストサイズ自動設定方式。
【００６５】
（付記７）  付記１において，前記自動バーストサイズ設定部の設定値を半減した時，トークンバケット方式により入力帯域を制限する際に，単にバケットのサイズを小さくするか，バケット内のトークンを空にしてバーストを止めるか，前記最大情報速度設定部に設定されたレートまで落とすかの何れかにより実現することを特徴とするポリサバーストサイズ自動設定方式。
【図面の簡単な説明】
【００６６】
【図１】本発明の構成を示す図である。
【図２】ポリサテーブルの構成と変化を示す図である。
【図３】ポリサとシェーパの相互の処理フローを示す図である。
【図４】ＡＢＳ半減時のトークンの扱い方法の説明図である。
【図５】ネットワークの構成例を示す図である。
【図６】図５の構成例におけるＡＢＳ自動設定の流れを示す図である。
【図７】レイヤ２スイッチによるＱＯＳ動作の説明図である。
【図８】ポリシング機能の概要を示す図である。
【図９】トークンバケット方式の原理を示す図である。
【図１０】Ｌ２ＳＷの構成例を示す図である。
【図１１】トークンバケット方式でのポリサとシェーパのバッファ使用率の説明図である。
【図１２】ＴＣＰ／ＩＰプロトコルを考慮したＭＢＳとＴＣＰスループットの関係を示す図である。
【符号の説明】
【００６７】
１      レイヤ２スイッチ（Ｌ２ＳＷ）
２      入力ＱＯＳ部
２０ａ〜２０ｎ      ポリサ
２００    自動バーストサイズ（ＡＢＳ）設定部
２０１    最大情報速度（ＰＩＲ）設定部
３        出力ＱＯＳ部
３０ａ〜３０ｍ      シェーパ
３００    バッファ監視部
３０１    ポリサテーブル
３０２    バッファ
３０２ａ  下位閾値保持部
３０２ｂ  上位閾値保持部
３０３    出力制御部
４        送信元のユーザ端末
５        送信先の端末
【図１】
2006173726.tif 000003
【図２】
2006173726.tif 000004
【図３】
2006173726.tif 000005
【図４】
2006173726.tif 000006
【図５】
2006173726.tif 000007
【図６】
2006173726.tif 000008
【図７】
2006173726.tif 000009
【図８】
2006173726.tif 000010
【図９】
2006173726.tif 000011
【図１０】
2006173726.tif 000012
【図１１】
2006173726.tif 000013
【図１２】
2006173726.tif 000014