(57)【要約】【課題】  従来のトークンバケット方式のＭＢＳの大きさは、使用しているバッファ量の大きさによって固定値に設定されるので、様々なサービスに適した対応が取れなくなってしまうという問題が生じるという課題があった。【解決手段】  入力するパケットの帯域を制御するポリサーと、ポリサーが出力するパケットを蓄積するバッファと、パケットの最大量に応じたトークンを蓄積するトークンバケットとで構成される帯域制限部と、バッファに蓄積するパケットの最大量を設定するＭＢＳ設定部とを有し、トークンの数量に応じてポリサーを通過するパケットの流量を制御するトークンバケット方式において、ポリサーに入力するパケットの優先度を識別する優先度識別部と、優先度の数に応じた数の複数の帯域制限部とを設け、ＭＢＳ設定部は、優先度識別部が識別した優先度に応じたパケットの最大量を設定するようにした。【選択図】    図１
2008078932.tif 000002
【特許請求の範囲】
【請求項１】
入力するパケットの帯域を制御するポリサーと、前記ポリサーが出力するパケットを蓄積するバッファと、パケットの最大量に応じたトークンを蓄積するトークンバケットとで構成される帯域制限部と、
前記バッファに蓄積するパケットの最大量を設定するＭＢＳ設定部とを有し、
トークンの数量に応じて前記ポリサーを通過するパケットの流量を制御するトークンバケット方式において、
前記ポリサーに入力するパケットの優先度を識別する優先度識別部と、
前記優先度の数に応じた数の複数の前記帯域制限部とを設け、
前記ＭＢＳ設定部は、前記優先度識別部が識別した優先度に応じたパケットの最大量を設定すること
を特徴とするトークンバケット方式。
【請求項２】
請求項１に記載のトークンバケット方式において、
前記優先度識別部は、優先度の識別をＩＥＥＥ８０２．３ｘ規格のＶＬＡＮタグのプライオリティ値を利用すること
を特徴とするトークンバケット方式。
【請求項３】
請求項１または２に記載のトークンバケット方式において、
前記帯域制限部に、前記ポリサーが廃棄するパケットの数量をカウントする廃棄カウンタを設け、
前記ＭＢＳ設定部は、前記廃棄カウンタが予め定めた所定値を超えた場合に、前記最大量を現在値より大きくすること
を特徴とするトークンバケット方式。
【請求項４】
請求項３に記載のトークンバケット方式において、
所定の時間をカウントするエージング部を設け、
前記ＭＢＳ設定部は、前記廃棄カウンタが予め定めた所定値を超えた場合に、前記エージング部がカウントする所定の時間だけ前記最大量を現在値より大きくすること
を特徴とするトークンバケット方式。
【請求項５】
入力するパケットの帯域を制御するポリサーと、前記ポリサーが出力するパケットを蓄積するバッファと、パケットの最大量に応じたトークンを蓄積するトークンバケットとで構成される帯域制限部と、
前記バッファに蓄積するパケットの最大量を設定するＭＢＳ設定部と
を有するルーターにおいて、
前記ポリサーに入力するパケットの複数の優先度を識別する優先度識別部と、
前記複数の優先度の数に応じた数の複数の前記帯域制限部とを設け、
前記ＭＢＳ設定部は、前記優先度識別部が識別した優先度に応じたパケットの最大量を設定すること
を特徴とするルーター。
【請求項６】
請求項５に記載のルーターにおいて、
前記優先度識別部は、優先度の識別をＩＥＥＥ８０２．３ｘ規格のＶＬＡＮタグのプライオリティ値を利用すること
を特徴とするルーター。
【請求項７】
請求項５または６に記載のルーターにおいて、
前記帯域制限部に、前記ポリサーが廃棄するパケットの数量をカウントする廃棄カウンタを設け、
前記ＭＢＳ設定部は、前記廃棄カウンタが予め定めた所定値を超えた場合に、前記最大量を現在値より大きくすること
を特徴とするルーター。
【請求項８】
請求項７に記載のルーターにおいて、
所定の時間をカウントするエージング部を設け、
前記ＭＢＳ設定部は、前記廃棄カウンタが予め定めた所定値を超えた場合に、前記エージング部がカウントする所定の時間だけ前記最大量を現在値より大きくすること
を特徴とするルーター。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トークンバケット方式およびそれを用いたルーターにおけるＭＢＳ調整技術に関する。
【背景技術】
【０００２】
最近のネットワーク利用において、ＦＴＰ（Ｆile Ｔransfer Ｐrotocol），ＨＴＴＰ（Ｈyper Ｔext Ｔransfer Ｐrotocol），音声や映像などを同一のネットワーク上で通信することが多くなってきている。ＦＴＰやＨＴＴＰなどのデータは、ネットワーク内で遅延やパケットロスが発生しても、利用者が遅いと感じる程度で済むが、音声や映像などの配信では、遅延やパケットロスが発生すると、会話ができなくなったり、映像が途切れて利用できない状態に陥ってしまう。
【０００３】
従来、このような問題を解決するために、ＱｏＳ（Ｑuality of Ｓervice）制御が利用されている。ＱｏＳ制御は、ネットワーク上で優先順位をつけて音声や映像をＦＴＰやＨＴＴＰなどのデータより優先して通信する方法で、パケットの流量を監視するポリサーが必要になる。このような方式として、定期的な送信機会をトークンで与え、トークンを蓄積および発行してパケットの流量を制御するトークンバケット方式が知られている。トークンを蓄積できる最大量をＭＢＳ（Ｍaximum Ｂurst Ｓize）といい、入力パケットのバースト耐力を決める値である。
【０００４】
図９に一般的なルーター５０１の構成を示す。ルーター５０１は、下位のネットワークに接続される複数のポートを有する入力処理部５０２が各ポートからパケットを入力して、各ポートのそれぞれの出力はトークンバケット方式による帯域制限部５０３，５０４および５０５に出力される。ランドロビン５０６は、各帯域制限部５０３，５０４および５０５を巡回して上位のポートを介して上位のネットワークに接続する。
【０００５】
図１０にトークンバケット方式を行う帯域制限部５０３のブロック図を示す。尚、帯域制限部５０４および５０５も同じ構成である。図１０において、入力処理部５０２からポリサー５０７に入力されるパケットは、トークンバケット５０９からトークンを受け取ってバッファ５０８に出力される。つまり、パケットがバッファ５０８に出力される毎に、トークンバケット５０９のトークンが１つ減ることになる。一方、バッファ５０８が入力したパケットをランドロビン５０６に出力すると、そのパケットのトークンをトークンバケット５０９に戻す。つまり、バッファ５０８からパケットがなくなる毎に、トークンバケット５０９のトークンが１つ増えることになる。また、パケットがポリサー５０７に入力された時に、トークンバケット５０９にトークンが残っていない場合、つまり、ＭＢＳを超えた場合は、ポリサー５０７はこのパケットを破棄する。
【０００６】
このようにして、トークンバケット方式では、トークンバケット５０９とバッファ５０８とを行き来するトークンの数量を予め設定されたＭＢＳで管理することによって、ポリサー５０７を通過するパケットの流量、即ち帯域を制限することができるようになっている。
このようなＭＢＳを用いたトークンバケット方式において、バーストサイズを制御する方法が検討されている（例えば、特許文献１参照）。
【特許文献１】特開２００６−１７３７２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところが、ＭＢＳの大きさは、使用しているバッファ量の大きさによって決められるので、固定の値に設定される。ＭＢＳが大きい場合は、急激にデータが集中するバーストに対する耐力が大きくなるが、バッファされる量も大きくなるため、データ遅延が大きくなってしまう。逆に、ＭＢＳが小さい場合は、バッファされる量が少ないので、データ遅延が少ないが、バースト耐力が小さくなって、データが溢れてしまうことになる。一方で、先に述べたように、ＦＴＰ，ＨＴＴＰ，音声や映像などサービス内容に依って、データ遅延を優先したい場合と、バースト耐力を優先したい場合があり、ＭＢＳが固定値の場合、様々なサービスに適した対応が取れなくなってしまうという問題が生じる。
【０００８】
また、上記従来技術のようにバーストサイズを自動設定する場合でも、ＦＴＰ，ＨＴＴＰ，音声や映像などサービス内容に応じた細かい対応が難しいという問題もある。
上記課題に鑑み、本発明の目的は、パケットの優先度に応じてＭＢＳを設定するようにし、様々なサービスに対応できるトークンバケット方式およびそれを用いたルーターを提供することである。
【課題を解決するための手段】
【０００９】
本発明に係るトークンバケット方式は、入力するパケットの帯域を制御するポリサーと、前記ポリサーが出力するパケットを蓄積するバッファと、パケットの最大量に応じたトークンを蓄積するトークンバケットとで構成される帯域制限部と、前記バッファに蓄積するパケットの最大量を設定するＭＢＳ設定部とを有し、トークンの数量に応じて前記ポリサーを通過するパケットの流量を制御するトークンバケット方式において、前記ポリサーに入力するパケットの優先度を識別する優先度識別部と、前記優先度の数に応じた数の複数の前記帯域制限部とを設け、前記ＭＢＳ設定部は、前記優先度識別部が識別した優先度に応じたパケットの最大量を設定することを特徴とする。
【００１０】
特に、前記優先度識別部は、優先度の識別をＩＥＥＥ８０２．３ｘ規格のＶＬＡＮタグのプライオリティ値を利用することを特徴とする。
さらに、前記帯域制限部に、前記ポリサーが廃棄するパケットの数量をカウントする廃棄カウンタを設け、前記ＭＢＳ設定部は、前記廃棄カウンタが予め定めた所定値を超えた場合に、前記最大量を現在値より大きくすることを特徴とする。
【００１１】
或いは、所定の時間をカウントするエージング部を設け、前記ＭＢＳ設定部は、前記廃棄カウンタが予め定めた所定値を超えた場合に、前記エージング部がカウントする所定の時間だけ前記最大量を現在値より大きくすることを特徴とする。
また、本発明に係るルーターは、入力するパケットの帯域を制御するポリサーと、前記ポリサーが出力するパケットを蓄積するバッファと、パケットの最大量に応じたトークンを蓄積するトークンバケットとで構成される帯域制限部と、前記バッファに蓄積するパケットの最大量を設定するＭＢＳ設定部とを有するルーターにおいて、前記ポリサーに入力するパケットの複数の優先度を識別する優先度識別部と、前記複数の優先度の数に応じた数の複数の前記帯域制限部とを設け、前記ＭＢＳ設定部は、前記優先度識別部が識別した優先度に応じたパケットの最大量を設定することを特徴とする。
【００１２】
特に、前記優先度識別部は、優先度の識別をＩＥＥＥ８０２．３ｘ規格のＶＬＡＮタグのプライオリティ値を利用することを特徴とする。
さらに、前記帯域制限部に、前記ポリサーが廃棄するパケットの数量をカウントする廃棄カウンタを設け、前記ＭＢＳ設定部は、前記廃棄カウンタが予め定めた所定値を超えた場合に、前記最大量を現在値より大きくすることを特徴とする。
【００１３】
或いは、所定の時間をカウントするエージング部を設け、前記ＭＢＳ設定部は、前記廃棄カウンタが予め定めた所定値を超えた場合に、前記エージング部がカウントする所定の時間だけ前記最大量を現在値より大きくすることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、遅延を考慮する必要がないパケットに対しては、できるだけパケット廃棄を起こさないようにし、遅延を考慮する必要があるパケットに対しては、優先して通過させるので、様々なサービスに適した流量の制御が可能となる。
特に、予めＭＢＳの割り当てをパケットの優先度に応じて決めておくことにより、通過するパケットの優先度に応じたＭＢＳを自動的に割り当てることが可能となる。
【００１５】
また、パケットが廃棄された場合には、一時的にＭＢＳを深くするように制御するので、パケット廃棄をできるだけ少なくすると共に、パケットの遅延を最小限に抑えることができる。
さらに、ＩＥＥＥ８０２．３ｘ規格のＶＬＡＮタグのプライオリティ値を利用することによって、独自のフレーム構成を新たに設ける必要がなく、ＩＥＥＥ８０２．３ｘ規格の範囲内で、品質の高いネットワークを提供することが可能となる。
【発明を実施するための最良の形態】
【００１６】
（第１の実施形態）
本発明に係るトークンバケット方式およびそれを用いたルーターの第１の実施形態について、図面を用いて詳しく説明する。図１はルーター１０１の構成を示すブロック図である。ルーター１０１は、下位ネットワークと上位ネットワークとを接続するネットワークスイッチで、下位ネットワークに接続される複数のポート（例えば、ポート１からポート２４）を有し、それぞれのポートは、様々なサービスを利用するユーザーに接続される。
【００１７】
ルーター１０１は、下位ネットワークに接続される複数のポートを収納するＶＬＡＮ処理部１０２と、ＶＬＡＮ処理部１０２の各出力ポートには帯域制限部１０３，１０４，１０５と、各帯域制限部１０３，１０４，１０５の出力パケットを巡回して取り出して上位のポートから上位のネットワークに接続するランドロビン（ＲＲ）１０６とで構成されている。尚、帯域制限部１０４および１０５は省略してあるが、帯域制限部１０３と同じ構成である。また、各帯域制限部はポートの数だけ持っており、例えば、図１の場合は、ルーター１０１の入力ポートが２４ポートなので、２４個の帯域制限部を有している。
【００１８】
ここで、ＶＬＡＮ（Ｖirtual ＬＡＮ）について図２を用いて説明する。ＶＬＡＮは、仮想的なネットワークを形成するためのＩＥＥＥ８０２．３ｘ規格のオプション規格で、図２に示すように、通常のＭＡＣフレームに、ＶＬＡＮタグ付加した拡張ＶＬＡＮフレームになっている。
図２において、２０１は拡張ＶＬＡＮフレーム、２０２はフレーム同期を取るためのプリアンブル（ＰＡ）、２０３はフレームのスタートを示すデリミタ（ＳＦＤ）、２０４は拡張ＶＬＡＮフレーム２０１のヘッダ部分、２０９はデータ、２１０は誤り検出用のフラグ（ＦＣＳ）をそれぞれ示している。また、拡張ＶＬＡＮフレーム２０１のヘッダ部分２０４において、２０５は受信先のＭＡＣアドレス（ＤＭＡＣ）、２０６は送信元のＭＡＣアドレス（ＳＭＡＣ）、２０７はＶＬＡＮタグ、２０８はフレームタイプをそれぞれ示している。
【００１９】
ＶＬＡＮタグ２０７において、２１１はフレームタイプ（ＴＰＩＤ）、２１２はＶＬＡＮタグ制御情報（ＴＣＩ）をそれぞれ示している。尚、ＴＰＩＤ＝０ｘ８１００は、このフレームがＶＬＡＮフレームであることを示す。さらに、ＴＣＩ２１２において、２１３は優先度を示すユーザープライオリティ（ＰＲＩ）、２１４はフォーマット形式（ＣＦＩ）、２１５はＶＬＡＮのＩＤを示すＶＬＡＮ識別子（ＶＬＡＮ−ＩＤ：ＶＩＤ）をそれぞれ示している。
【００２０】
ネットワーク上の通信装置は、ＶＬＡＮタグ２０７のＴＰＩＤ２１１が０ｘ８１００になっているか否かでＶＬＡＮタグが付加された拡張フレームであるか否かを識別することができる。さらに、ＶＬＡＮフレームの優先度を示すプライオリティ値は、３ビットのＰＲＩ２１３で表すことができ、数字が大きいほど優先度が高くなる。例えば、画像や音声などリアルタイム性の強いデータを送出する装置は優先度を高くして送出するように予め決めておくことができる。
【００２１】
このように、図１のＶＬＡＮ処理部１０２の各ポートに接続されるユーザーは、ネットワーク提供者との契約内容、或いは利用するサービス内容（音声や映像など）に応じて、優先度が定められており、ＶＬＡＮ処理部１０２は、各ポートから入力するパケットに対して、ＩＥＥＥ８０２．３ｘ規格のＶＬＡＮタグのプライオリティ値を設定する。尚、ＶＬＡＮタグのプライオリティ値はＶＬＡＮ処理部１０２が行っても構わないし、ユーザー側がパケットを送る際に設定するようにしても構わない。
【００２２】
次に、図１の帯域制限部１０３の構成について説明する。図１において、帯域制限部１０３は、ＶＬＡＮ処理部１０２が出力するパケットをクラシファイ１０７でＶＬＡＮタグのプライオリティ値に応じて出力するポリサーを選択する。本実施形態では、ポリサー１０８，１０９，１１０および１１１の４つのポリサーにパケットの優先度に応じて振り分けられる。
【００２３】
ＭＢＳ制御部１１８は、バッファ１１２を優先度に応じて、各ポリサー１０８，１０９，１１０および１１１が出力するパケットを蓄積する領域を設定する。
バッファ１１２は、設定された領域に応じたトークンを各トークンバケット１１３，１１４，１１５および１１６とに与える。
ポリサー１０８，１０９，１１０および１１１は、クラシファイ１０７からパケットを入力する毎に、トークンバケット１１３，１１４，１１５および１１６からトークンを受け取って、パケットとトークンを一緒にバッファ１１２に出力する。尚、この時、トークンバケット１１３，１１４，１１５および１１６にトークンがなかった場合は、ポリサー１０８，１０９，１１０および１１１は、クラシファイ１０７から入力したパケットを破棄する。
【００２４】
スクリプト優先制御部１１７は、バッファ１１２の各優先度に応じて各領域に蓄積されているパケットを優先度に応じて、例えば、優先度の高いパケットから順に、ランドロビン１０６に出力する。
次に、ＭＢＳ設定部１１８が設定するＭＢＳ設定値について説明する。先に説明したように、ＶＬＡＮタグのプライオリティ値は３ビットなので、８種類の優先度に分けることができる。この様子を図３に示す。本実施形態では優先度を４つに分け、プライオリティ値１１１および１１０を最も優先度の高いＨｉｇｈ（Ｈ）に、プライオリティ値１０１および１００を次に優先度の高いＭｅｄｉｕｍＨｉｇｈ（ＭＨ）に、プライオリティ値０１１および０１０を少し優先度の低いＭｅｄｉｕｍＬｏｗ（ＭＬ）に、プライオリティ値００１および０００を最も優先度の低いＬｏｗ（Ｌ）にＭＢＳを設定している。従って、ＭＢＳ制御部１１８は、ポリサー１０８が出力するパケットをバッファ１１２のＨの領域に、ポリサー１０９が出力するパケットをバッファ１１２のＭＨの領域に、ポリサー１１０が出力するパケットをバッファ１１２のＭＬの領域に、ポリサー１１１が出力するパケットをバッファ１１２のＬの領域に、それぞれ蓄積するよう設定する。また、バッファ１１２は、設定された領域に応じたトークンを各トークンバケット１１３，１１４，１１５および１１６とに与える。
【００２５】
ここで、優先度に応じたトークンの処理について図４および図５を用いて説明する。尚、図４は、優先度別の動作を分かり易く説明するために、図１の帯域制限部１０３における４つの優先度に対応する４つのポリサーと４つのトークンバケットをそれぞれ１つにまとめて描いた図である。つまり、図４のポリサー３０２は、優先度に応じて、図１のポリサー１０８，１０９，１１０および１１１のいずれかに相当し、図４のトークンバケット３０１も、優先度に応じて、図１のトークンバケット１１３，１１４，１１５および１１６のいずれかに相当する。また、図１と同符号のものは同じものを示す。
【００２６】
今、ＭＢＳ設定部１１８が、バッファ１１２に（Ｈ）の優先度のＭＢＳを設定した場合、バッファ１１２からトークンバケット３０１に渡されて蓄積されるトークンの最大量は、トークンバケット３０１の底を示す点線３５１からＨとＭＨの境界部分の点線３５３までとなる。また、ＭＢＳ設定部１１８が、バッファ１１２に（ＭＨ）の優先度のＭＢＳを設定した場合、バッファ１１２からトークンバケット３０１に渡されて蓄積されるトークンの最大量は、トークンバケット３０１の底を示す点線３５１からＭＨとＭＬの境界部分の点線３５４までとなり、（Ｈ）の優先度に比べてトークンの量が多くなり、バッファ１１２に蓄積されるパケットの量も多くなる。同様に、ＭＢＳ設定部１１８が、バッファ１１２に（ＭＬ）の優先度のＭＢＳを設定した場合、バッファ１１２からトークンバケット３０１に渡されて蓄積されるトークンの最大量は、トークンバケット３０１の底を示す点線３５１からＭＬとＬの境界部分の点線３５５までとなり、さらに、発行されるトークンの量が多くなる。優先度の一番低い（Ｌ）が設定された場合は、トークンバケット３０１の上部（点線３５６）まで蓄積することができ、バッファ１１２に蓄積されるパケットの量も多くなる。尚、バッファ１１２に蓄積されるパケットの量が多くなと、ポリサー３０２によって廃棄されるパケットは少なくなるが、伝送遅延は大きくなる。
【００２７】
尚、図４では４つの優先度に対応するポリサーとトークンバケットを１つにまとめて描いてが、図１の帯域制限部１０３に対応するように、４つの優先度毎にトークンバケットを描くと図５に示すようになる。図５（ａ）は優先度が（Ｈ）の場合のトークンバケット１１３の様子を描いたもので、ポリサー１０８が使用できるトークンバケット１１３に蓄積されているトークンが少ないので、バッファ１１２に蓄積されるパケットも少なくなり、伝送遅延は小さくなる。図５（ｂ）は優先度が（ＭＨ）の場合のトークンバケット１１４の様子を描いたもので、ポリサー１０９が使用できるトークンバケット１１４に蓄積されているトークンが図５（ａ）の場合より少し増えるので、バッファ１１２に蓄積されるパケットも増えるが、その分だけ伝送遅延は少し大きくなる。図５（ｃ）は優先度が（ＭＬ）の場合のトークンバケット１１５の様子を描いたもので、ポリサー１１０が使用できるトークンバケット１１５に蓄積されているトークンがかなり多くなり、バッファ１１２に蓄積されるパケットも増えるので、揺らぎなどによってポリサー１１０で廃棄されるパケットは少なくなるが、伝送遅延は大きくなる。図５（ｄ）は優先度が（Ｌ）の場合のトークンバケット１１６の様子を描いたもので、ポリサー１１１が使用できるトークンバケット１１６に蓄積されているトークンが一番多く、バッファ１１２に蓄積されるパケットも最大となるが、その分だけ伝送遅延は大きくなる。
【００２８】
このように、第１の実施形態に係るトークンバケット方式およびそれを用いたルーターは、ＩＥＥＥ８０２．３ｘ規格のＶＬＡＮタグのプライオリティ値を用いて、パケットの優先度に応じたＭＢＳすなわちバッファ量を設定するので、ＦＴＰ，ＨＴＴＰなど特別に遅延を考慮する必要がないパケットに対しては、バッファ量を多くしてできるだけパケット廃棄を起こさないようにし、音声や映像など遅延を考慮する必要があるパケットに対しては、バッファ量を少なくして優先して通過させることができる。
【００２９】
また、予めＭＢＳの割り当てとパケットの優先度を対応させて決めておくので、通過するパケットの優先度に応じたＭＢＳを自動的に割り当てることができる。
さらに、ＩＥＥＥ８０２．３ｘ規格のＶＬＡＮタグのプライオリティ値を利用することによって、独自のフレーム構成を新たに設ける必要がなく、ＩＥＥＥ８０２．３ｘ規格の範囲内で、品質の高いネットワークを提供することが可能となる。
【００３０】
（第２の実施形態）
第２の実施形態に係るトークンバケット方式およびそれを用いたルーターについて説明する。本実施形態のルーター１０１は、第１の実施形態で説明した図１のブロック図において帯域制限部１０３，１０４および１０５の構成が異なる以外は同じ構成である。
本実施形態では、第１の実施形態の図４に示す帯域制限部１０３に対して、図６に示す帯域制限部１５３のように構成される。尚、図１および図４と同符号のものは同じものを示す。
【００３１】
帯域制限部１５３において、ポリサー３０２が廃棄するパケットの数をカウントする廃棄カウンタ３０５が設けられ、廃棄カウンタ３０５は廃棄するパケットの数をＭＢＳ設定部１１８に出力する。尚、ＭＢＳ設定部１１８は第１の実施形態と同じように４つの優先度に応じたＭＢＳをバッファ１１２に設定し、バッファ１１２はトークンバケット３０１との間で優先度に応じた量のトークンを発行する。また、第１の実施形態で説明したように、ポリサー３０２は図１のポリサー１０８，１０９，１１０および１１１を１つにまとめて描いたものであるから、廃棄カウンタ３０５はポリサー１０８，１０９，１１０および１１１のそれぞれに設けられる。
【００３２】
図６において、例えば、（Ｈ）の優先度のパケット扱う場合について説明する。この場合、ポリサー３０２は図１のポリサー１０８に相当し、トークンバケット３０１は図１のトークンバケット１１３に相当する。クラシファイ１０７が（Ｈ）の優先度のパケットをポリサー３０２に出力すると、ポリサー３０２はトークンバケット３０１からトークンを受け取ってバッファ１１２に出力する。このように、ポリサー３０２が受け取るトークンがある場合は、第１の実施形態と同じように動作する。
【００３３】
次に、ポリサー３０２が受け取るトークンがなくなった場合、第１の実施形態では、そのパケットを破棄するようにしたが、本実施形態では、破棄するパケットの数を廃棄カウンタ３０５でカウントする。ＭＢＳ設定部１１８は、廃棄カウンタ３０５の出力を常にモニタし、所定値以上になった場合、バッファ１１２に設定するＭＢＳを現在値より増加させる。例えば、（Ｈ）の優先度の場合の最初に設定したＭＢＳは点線３５３で示す位置にあったが、廃棄カウンタ３０５の出力が所定値以上になった場合、点線４５３で示す位置に引き上げる。この結果、トークンの量が増えてバッファ１１２に蓄積されるパケットの数も増加するので、ポリサー３０２で廃棄されるパケットの数が少なくなる。尚、ＭＢＳ設定部１１８は、廃棄カウンタ３０５が所定値を超えた時点で、廃棄カウンタ３０５をリセットする。また、ＭＢＳを現在値より増やしても廃棄カウンタ３０５のカウント値が所定値を超える場合は、ＭＢＳをさらに増やすようにしても構わない。
【００３４】
ここでは、（Ｈ）の優先度のパケット扱う場合について説明したが、それ以外の（ＭＨ），（ＭＬ）および（Ｌ）の優先度の場合も、ＭＢＳ設定部１１８は、それぞれの優先度に応じた廃棄カウンタ３０５のカウント値が所定値を超える場合は、それぞれの優先度に対応するバッファ１１２のＭＢＳを現在値より増やす。
このように、第２の実施形態に係るトークンバケット方式およびそれを用いたルーターは、ポリサー３０２が廃棄したパケットの数を廃棄カウンタ３０５でカウントし、ＭＢＳ設定部１１８は廃棄カウンタ３０５が出力するカウント値が所定値を超える場合に、その優先度毎に設定されているＭＢＳを増やすので、最初に設定したＭＢＳが実際のパケット流量に適さない場合でも、廃棄されるパケットが少なくなるように優先度毎に制御することができる。
【００３５】
尚、廃棄されるパケットの数が所定値を超えない場合は、第１の実施形態と同じように動作するので、ＩＥＥＥ８０２．３ｘ規格のＶＬＡＮタグのプライオリティ値を用いて、ＦＴＰ，ＨＴＴＰなど特別に遅延を考慮する必要がないパケットや、音声や映像など遅延を考慮する必要があるパケットに応じて、バッファ量を制御することができる。
（第３の実施形態）
第３の実施形態に係るトークンバケット方式およびそれを用いたルーターについて説明する。本実施形態のルーター１０１は、第１の実施形態で説明した図１のブロック図において帯域制限部１０３，１０４および１０５の構成が異なる以外は同じ構成である。
【００３６】
本実施形態では、第２の実施形態の図６に示す帯域制限部１５３に対して、図７に示す帯域制限部１６３のように構成される。尚、図１および図６と同符号のものは同じものを示す。
帯域制限部１６３において、ＭＢＳ設定部１１８にはエージングカウンタ３０６が設けられている。廃棄カウンタ３０５は、第２の実施形態で説明したように動作し、廃棄するパケットの数をＭＢＳ設定部１１８に出力する。尚、ＭＢＳ設定部１１８は第１の実施形態と同じように４つの優先度毎にそれぞれＭＢＳを設定し、バッファ１１２はトークンバケット３０１との間で優先度に応じた量のトークンを発行する。また、第１の実施形態で説明したように、ポリサー３０２は図１のポリサー１０８，１０９，１１０および１１１を１つにまとめて描いたものであるから、廃棄カウンタ３０５と同様に、エージングカウンタ３０６もポリサー１０８，１０９，１１０および１１１のそれぞれの対応して廃棄カウンタ３０５と同じ数だけ設けられる。
【００３７】
図７において、例えば、（Ｈ）の優先度のパケット扱う場合について説明する。この場合、ポリサー３０２は図１のポリサー１０８に相当し、トークンバケット３０１は図１のトークンバケット１１３に相当する。クラシファイ１０７が（Ｈ）の優先度のパケットをポリサー３０２に出力すると、ポリサー３０２はトークンバケット３０１からトークンを受け取ってバッファ１１２に出力する。このように、ポリサー３０２が受け取るトークンがある場合は、第１の実施形態と同じように動作する。
【００３８】
次に、ポリサー３０２が受け取るトークンがなくなった場合、第２の実施形態で説明したように、破棄するパケットの数を廃棄カウンタ３０５でカウントする。ＭＢＳ設定部１１８は、廃棄カウンタ３０５の出力を常にモニタし、所定値以上になった場合、バッファ１１２に設定するＭＢＳを、例えば、現在値の点線３５３から点線４５３で示す位置に引き上げる。同時に、ＭＢＳ設定部１１８は、廃棄カウンタ３０５をリセットして、エージングカウンタ３０６を動作させる。エージングカウンタ３０６は、所定の時間が経過するまでカウントするタイマーで、所定の時間が経過したらＭＢＳ設定部１１８に所定の時間が経過したことを知らせる。
【００３９】
ＭＢＳ設定部１１８は、所定の時間が経過するまでに、再び、廃棄カウンタ３０５の出力が所定値以上になった場合、ＭＢＳをさらに増やして、廃棄カウンタ３０５をリセットし、エージングカウンタ３０６を動作させる。所定の時間が経過する間、廃棄カウンタ３０５の出力が所定値以上にならなかった場合は、ＭＢＳを初期設定値、つまり点線３５３の位置にＭＢＳを戻す。
【００４０】
尚、ここでは、（Ｈ）の優先度のパケット扱う場合について説明したが、それ以外の（ＭＨ），（ＭＬ）および（Ｌ）の優先度の場合も、ＭＢＳ設定部１１８は、それぞれの優先度に応じた廃棄カウンタ３０５のカウント値が所定値を超える場合は、それぞれの優先度に対応するバッファ１１２のＭＢＳを現在値より増やすと同時に、それぞれの優先度に応じた廃棄カウンタ３０５をリセットし、それぞれの廃棄カウンタ３０５に応じたエージングカウンタ３０６を動作させて、所定の時間が経過する間、廃棄カウンタ３０５の出力が所定値以上にならなかった場合は、ＭＢＳをそれぞれの優先度に応じた初期設定値に戻す。
【００４１】
次に、これらのＭＢＳ設定部１１８の動作を図８のフローチャートを用いて説明する。尚、図８のフローチャートはにおいて、廃棄カウンタ３０５のカウント値が所定値を超えたか否かの判定処理を示すステップＳ４０３，Ｓ４０５およびＳ４０８は、廃棄パケットの有無を判定する処理として簡略化して描いてある。尚、図８のフローチャートの処理は、各優先度毎に行われるので、優先度の数だけ同じ処理が必要になるが、ここでは、（Ｈ）の優先度に対する処理として説明する。
（ステップＳ４０１）ＭＢＳ設定処理を開始する。
（ステップＳ４０２）（Ｈ）の優先度に応じたＭＢＳの初期値を設定する。
（ステップＳ４０３）（Ｈ）の優先度のパケットを扱うポリサー３０２がパケットを廃棄したか否かを判定し、廃棄していない場合は、ポリサー３０２はトークンバケット３０１からトークンを受け取ってパケットをバッファ１１２に出力し、ステップＳ４０３でループする。つまり、パケットを廃棄する状態が起こらなければ、帯域制限部１６３は通常の動作を行う。尚、パケットを廃棄したか否かの判定は、先に説明したように、廃棄カウンタ３０５のカウント値が所定値を超えたか否かで判定しても構わない。
（ステップＳ４０４）パケットを廃棄する状態が起こった場合、ＭＢＳを現在値より増加し、（Ｈ）の優先度のパケットを扱うバッファ１１２のバッファ量を増やす。
（ステップＳ４０５）再び、（Ｈ）の優先度のパケットを扱うポリサー３０２がパケットを廃棄したか否かを判定し、まだ、パケットが廃棄される場合は、さらにＭＢＳを増加し、（Ｈ）の優先度のパケットを扱うバッファ１１２のバッファ量をさらに増やす。
（ステップＳ４０６）ＭＢＳを増加した結果、パケット廃棄が起らなくなった場合、エージングカウンタ３０６を設定し、所定の時間をカウントさせる。
（ステップＳ４０７）エージングカウンタ３０６が所定の時間をカウントし終えたか否かを判定し、所定の時間をカウントし終えた場合は、ステップＳ４０２に戻り、ＭＢＳを初期値に設定し直す。
（ステップＳ４０８）エージングカウンタ３０６が所定の時間をカウントし終える前に、（Ｈ）の優先度のパケットを扱うポリサー３０２がパケットを廃棄したか否かを判定し、パケットが廃棄された場合は、ステップＳ４０４に戻り、ＭＢＳをさらに増加させ、（Ｈ）の優先度のパケットを扱うバッファ１１２のバッファ量をさらに増やす。パケットが廃棄されない場合は、ステップＳ４０７との間でループし、エージングカウンタ３０６が所定の時間をカウントし終えるのを待つ。
【００４２】
このように、第３の実施形態に係るトークンバケット方式およびそれを用いたルーターは、ポリサー３０２が廃棄するパケットの数が所定値を超える場合に、その優先度毎に設定されているＭＢＳを増やすと同時に、所定の時間が経過する間、廃棄カウンタ３０５の出力が、再び、所定値以上にならなかった場合は、ＭＢＳをそれぞれの優先度毎に予め決められた初期設定値に戻すので、一時的にパケットの流量が増えた場合にＭＢＳが不必要に引き上げられたままになることを防止することができる。
【００４３】
以上、各実施形態において説明してきたように、本発明に係るトークンバケット方式およびそれを用いたルーターは、遅延を考慮する必要がないパケットに対しては、できるだけパケット廃棄を起こさないようにし、遅延を考慮する必要があるパケットに対しては、優先して通過させるので、様々なサービスに適した流量の制御が可能となる。
特に、予めＭＢＳの割り当てをパケットの優先度に応じて決めておくことにより、通過するパケットの優先度に応じたＭＢＳを自動的に割り当てることが可能となる。
【００４４】
また、パケットが廃棄された場合には、一時的にＭＢＳを深くするように制御するので、パケット廃棄をできるだけ少なくすると共に、パケットの遅延を最小限に抑えることができる。
さらに、ＩＥＥＥ８０２．３ｘ規格のＶＬＡＮタグのプライオリティ値を利用することによって、独自のフレーム構成を新たに設ける必要がなく、ＩＥＥＥ８０２．３ｘ規格の範囲内で、品質の高いネットワークを提供することが可能となる。
【図面の簡単な説明】
【００４５】
【図１】第１の実施形態に係るトークンバケット方式を用いたルーターのブロック図である。
【図２】拡張ＶＬＡＮフレームを説明する説明図である。
【図３】プライオリティ値とＭＢＳ設定値の関係を示す説明図である。
【図４】第１の実施形態の帯域制限部１０３のブロック図である。
【図５】優先度毎のトークンバケットを説明する説明図である。
【図６】第２の実施形態の帯域制限部１５３のブロック図である。
【図７】第３の実施形態の帯域制限部１６３のブロック図である。
【図８】第３の実施形態のＭＢＳ設定部１１８の処理を示すフローチャートである。
【図９】従来のトークンバケット方式を用いたルーターのブロック図である。
【図１０】従来の帯域制限部５０３のブロック図である。
【符号の説明】
【００４６】
１０１，５０１・・・ルーター
１０２・・・ＶＬＡＮ処理部
１０３，１０４，１０５・・・帯域制限部
１０６・・・ランドロビン
１０７・・・クラシファイ
１０８，１０９，１１０，１１１，３０２・・・ポリサー
１１２・・・バッファ
１１３，１１４，１１５，１１６，３０１・・・トークンバケット
１１７・・・スクリプト優先制御部
１１８・・・ＭＢＳ設定部
２０７・・・ＶＬＡＮタグ
２１３・・・ユーザープライオリティ（ＰＲＩ）
３０５・・・廃棄カウンタ
３０６・・・エージングカウンタ
【図１】
2008078932.tif 000003
【図２】
2008078932.tif 000004
【図３】
2008078932.tif 000005
【図４】
2008078932.tif 000006
【図５】
2008078932.tif 000007
【図６】
2008078932.tif 000008
【図７】
2008078932.tif 000009
【図８】
2008078932.tif 000010
【図９】
2008078932.tif 000011
【図１０】
2008078932.tif 000012