(57)【要約】【課題】ネットワークの形態にかかわらず、帯域制御を簡単かつ少ない計算量で効率的におこなうことができる帯域制御装置、帯域制御方法および帯域制御プログラムを提供すること。【解決手段】帯域制限処理部３５1〜３５nが、トークンバケットに残存する残存トークン量Ｘを記憶し、トークン量監視部３６1〜３６nが、記憶された残存トークン量Ｘと最大バーストトークン量Ｙとを比較し、優先制御部３４1〜３４nが、その比較結果に基づいて帯域保証型通信に割り当てられた通信回線容量をベストエフォート型通信に割り当てる。【選択図】        図３
2005244417.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信に割り当てられた通信回線容量をトークンバケットを利用して第２の通信に割り当てる帯域制御装置であって、
前記トークンバケットに残存するトークン量を記憶する記憶手段と、
前記記憶手段により記憶されたトークン量と所定の基準量とを比較する比較手段と、
前記比較手段による比較結果に基づいて第１の通信に割り当てられた通信回線容量を第２の通信に割り当てる割当手段と、
を備えたことを特徴とする帯域制御装置。
【請求項２】
前記所定の基準量は、トークンバケットにトークンが追加されてから次回トークンが追加されるまで、データのバースト転送が継続可能なトークン量であることを特徴とする請求項１に記載の帯域制御装置。
【請求項３】
前記割当手段は、前記トークンバケットに残存するトークン量が前記データのバースト転送が継続可能なトークン量を越えた場合に、最大で前記データのバースト転送が継続可能なトークン量に対応する通信回線容量を第２の通信に割り当てることを特徴とする請求項２に記載の帯域制御装置。
【請求項４】
第１の通信に割り当てられた通信回線容量をトークンバケットを利用して第２の通信に割り当てる帯域制御方法であって、
前記トークンバケットに残存するトークン量を記憶する記憶工程と、
前記記憶工程により記憶されたトークン量と所定の基準量とを比較する比較工程と、
前記比較工程による比較結果に基づいて第１の通信に割り当てられた通信回線容量を第２の通信に割り当てる割当工程と、
を含んだことを特徴とする帯域制御方法。
【請求項５】
第１の通信に割り当てられた通信回線容量をトークンバケットを利用して第２の通信に割り当てる帯域制御プログラムであって、
前記トークンバケットに残存するトークン量を記憶する記憶手順と、
前記記憶手順により記憶されたトークン量と所定の基準量とを比較する比較手順と、
前記比較手順による比較結果に基づいて第１の通信に割り当てられた通信回線容量を第２の通信に割り当てる割当手順と、
をコンピュータに実行させることを特徴とする帯域制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、第１の通信に割り当てられた通信回線容量をトークンバケットを利用して第２の通信に割り当てる帯域制御装置、帯域制御方法および帯域制御プログラムに関し、特に、ネットワークの形態にかかわらず、帯域制御を簡単かつ少ない計算量で効率的におこなうことができる帯域制御装置、帯域制御方法および帯域制御プログラムに関するものである。
【背景技術】
【０００２】
近年、ＱｏＳ（Quality  of  Service）機能を搭載したルータが開発され、帯域保証型通信およびベストエフォート型通信のそれぞれの通信帯域の制御を、ルータが実行できるようになってきている。具体的には、ルータは、トークンバケットの技術とＷＦＱ（Weighted  Fair  Queuing）の技術を組み合わせて使用するなどして通信帯域の制御を実現している。
【０００３】
図６は、トークンバケットの概念を説明する説明図である。図６に示すように、このトークンバケットは、パケットの送信を許可するたびにバケット内にあるトークン量を減らし、バケット内のトークンが空になったら、パケットの送信を不許可とし、パケットの通信帯域を制限するものである。ここで、バケット内のトークンは一定周期で追加される。
【０００４】
一方、ＷＦＱの技術は、帯域保証型のパケット送信やベストエフォート型のパケット送信に通信帯域を公平に割り当てるものである。このＷＦＱの技術と、前述のトークンパケットの技術とを組み合わせることにより、ベストエフォート型通信のパケット送信の最大遅延時間を一定値内に抑えつつ、帯域保証型通信およびベストエフォート型通信の帯域制御をおこなうことができる（特許文献１参照）。
【０００５】
ただし、このＷＦＱの機能をソフトウェアで実現しようとすると、帯域制御に複雑で多量の計算が必要であるため、ＣＰＵに多大な負荷がかかり、パケットの送信処理が滞ってしまうという問題がある。また、ＷＦＱの機能を専用の回路で実現することとしても、回路の規模が大きくなるため、ルータ内に実装するのが困難となってしまう。
【０００６】
そのため、簡単かつ少ない計算量で帯域制御をおこなうことができる方法の開発が従来望まれている。そのような方法の１例として、リングネットワークにおいて、トークンの周回時間が一定時間を越えた場合に、リングネットワークの負荷が大きいと判定して高優先度のデータ送信のみを許可し、周回時間が一定時間以内の場合は、リングネットワークの負荷が小さいと判定して低優先度のデータ送信も許可するトークンパッシングシステムがある（特許文献２参照）。
【０００７】
【特許文献１】特開２００１−１９７１１０号公報
【特許文献２】特公平７−９５７４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記特許文献２の従来技術では、トークンの周回時間を基準として低優先度のデータ送信を許可するか否かを判定しているため、リングネットワーク以外の形態のネットワークに適用できないという問題があった。すなわち、高優先度のデータ通信および低優先度のデータ通信の帯域制御を、ネットワークの形態にかかわらずおこなうことができないという問題があった。
【０００９】
近年インターネットにおいては、通常のファイル転送などのデータ通信に加えて、ＩＰ電話における音声データ通信などのように遅延が大きな問題となる通信が急激に増加しているため、このようなさまざまな種類のデータ通信の帯域制御をいかに簡単かつ少ない計算量で効率的におこなうことができるかが重要な問題となっている。
【００１０】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、ネットワークの形態にかかわらず、帯域制御を簡単かつ少ない計算量で効率的におこなうことができる帯域制御装置、帯域制御方法および帯域制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するため、本発明は、第１の通信に割り当てられた通信回線容量をトークンバケットを利用して第２の通信に割り当てる帯域制御装置であって、前記トークンバケットに残存するトークン量を記憶する記憶手段と、前記記憶手段により記憶されたトークン量と所定の基準量とを比較する比較手段と、前記比較手段による比較結果に基づいて第１の通信に割り当てられた通信回線容量を第２の通信に割り当てる割当手段と、を備えたことを特徴とする。
【００１２】
また、本発明は、前記所定の基準量は、トークンバケットにトークンが追加されてから次回トークンが追加されるまで、データのバースト転送が継続可能なトークン量であることを特徴とする。
【００１３】
また、本発明は、前記割当手段は、前記トークンバケットに残存するトークン量が前記データのバースト転送が継続可能なトークン量を越えた場合に、最大で前記データのバースト転送が継続可能なトークン量に対応する通信回線容量を第２の通信に割り当てることを特徴とする。
【００１４】
また、本発明は、第１の通信に割り当てられた通信回線容量をトークンバケットを利用して第２の通信に割り当てる帯域制御方法であって、前記トークンバケットに残存するトークン量を記憶する記憶工程と、前記記憶工程により記憶されたトークン量と所定の基準量とを比較する比較工程と、前記比較工程による比較結果に基づいて第１の通信に割り当てられた通信回線容量を第２の通信に割り当てる割当工程と、を含んだことを特徴とする。
【００１５】
また、本発明は、前記割当工程は、前記トークンバケットに残存するトークン量が前記データのバースト転送が継続可能なトークン量を越えた場合に、最大で前記データのバースト転送が継続可能なトークン量に対応する通信回線容量を第２の通信に割り当てることを特徴とする。
【００１６】
また、本発明は、第１の通信に割り当てられた通信回線容量をトークンバケットを利用して第２の通信に割り当てる帯域制御プログラムであって、前記トークンバケットに残存するトークン量を記憶する記憶手順と、前記記憶手順により記憶されたトークン量と所定の基準量とを比較する比較手順と、前記比較手順による比較結果に基づいて第１の通信に割り当てられた通信回線容量を第２の通信に割り当てる割当手順と、をコンピュータに実行させることを特徴とする。
【００１７】
また、本発明は、前記割当手順は、前記トークンバケットに残存するトークン量が前記データのバースト転送が継続可能なトークン量を越えた場合に、最大で前記データのバースト転送が継続可能なトークン量に対応する通信回線容量を第２の通信に割り当てることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、トークンバケットに残存するトークン量を記憶し、記憶されたトークン量と所定の基準量とを比較し、その比較結果に基づいて第１の通信に割り当てられた通信回線容量を第２の通信に割り当てることとしたので、ネットワークの形態にかかわらず、帯域制御を簡単かつ少ない計算量で効率的におこなうことができるという効果を奏する。
【００１９】
また、本発明によれば、所定の基準量は、トークンバケットにトークンが追加されてから次回トークンが追加されるまで、データのバースト転送が継続可能なトークン量であることとしたので、次回トークンバケットにトークンが追加される際に未消費のトークンが残存するか否かを容易に判定し、トークンが残存すると判定された場合に第２の通信に通信回線容量を割り当てることにより、帯域制御を簡単かつ少ない計算量で効率的におこなうことができるという効果を奏する。
【００２０】
また、本発明によれば、トークンバケットに残存するトークン量が、データのバースト転送が継続可能なトークン量を越えた場合に、最大でデータのバースト転送が継続可能なトークン量に対応する通信回線容量を第２の通信に割り当てることとしたので、次回トークンが追加される際に第１の通信により消費されないトークン量に対応する通信回線容量を第２の通信に有効に割り当て、帯域制御を簡単かつ少ない計算量で効率的におこなうことができるという効果を奏する。
【発明を実施するための最良の形態】
【００２１】
以下に添付図面を参照して、この発明に係る帯域制御装置、帯域制御方法および帯域制御プログラムの好適な実施の形態を詳細に説明する。なお、ここでは、帯域制御装置の一例として、ルータに本発明を適用した場合について説明する。
【実施例】
【００２２】
まず、本実施例に係るルータがおこなう帯域制御処理の概念について説明する。図１は、本実施例に係るルータがおこなう帯域制御処理の概念について説明する説明図である。図１に示すように、この帯域制御処理では、図６で説明したようなトークンバケットを利用する。
【００２３】
ここで、図１に示したグラフの横軸は時刻を示し、縦軸はトークンバケット内に残っているトークン量を示している。また、時刻Ａおよび時刻Ｂは、トークンバケットにトークンが追加される時刻であり、時刻Ａと時刻Ｂとの間の時間は、トークンが追加される周期である。時刻Ａおよび時刻Ｂにおいては、トークンバケット内にあるトークン量がトークンバケットのサイズと同じになるまでトークンが追加される。
【００２４】
また、パターン１からパターン３は、時刻Ａから時刻Ｂまでにトークンが消費される推移パターンを示している。パターン１およびパターン２は、時刻Ａにおいて追加されたトークンが時刻Ｂにおいて完全に消費されるパターンである。
【００２５】
一方、パターン３は、時刻Ｂにおいて、時刻Ａで追加されたトークンが消費されずに残っている。これは、このトークンバケットにより管理される通信帯域に空き帯域が生じたことを意味している。
【００２６】
そのため、本実施例では、ルータが、各時点での未消費のトークン量を監視して、トークンバケットに次回トークンが追加される際に未消費のトークンが残るか否かを判定し、未消費のトークンが残ると判定された場合に帯域保証型通信に割り当てられた通信回線容量をベストエフォート型通信に割り当てる処理をおこなう。
【００２７】
ルータがこのような処理をおこなうことにより、複雑で多量の計算が必要なＷＦＱを用いることなく、どのような形態のネットワークに対しても、帯域保証型通信およびベストエフォート型通信の帯域制御を、簡単かつ少ない計算量で効率的におこなうことができる。
【００２８】
つぎに、本実施例に係るルータが未消費トークンの発生を判定する判定処理について説明する。図２は、本実施例に係るルータが未消費トークンの発生を判定する判定処理について説明する説明図である。
【００２９】
ここで、図２に示したグラフの横軸は時刻を示し、縦軸はトークン量を示している。また、時刻Ａおよび時刻Ｂは、トークンバケットにトークンが追加される時刻であり、時刻Ａと時刻Ｂとの間の時間は、トークンが追加される周期Ｔである。時刻Ａおよび時刻Ｂにおいては、トークンバケット内にあるトークン量がトークンバケットのサイズＸ＿ＭＡＸと同じになるまでトークンが追加される。
【００３０】
ルータは、時刻Ｂに未消費のトークンが残るか否かを判定するために、最大バーストトークン量Ｙを設定する。この最大バーストトークン量Ｙは、トークンが時刻Ａに追加されてから時刻Ｂに再度追加されるまで、パケットのバースト転送を継続するのに必要なトークン量である。ここで、このトークン量は理論的に計算されたものでもよいし、実験的に求められたものなどでもよい。
【００３１】
この最大バーストトークン量Ｙの時刻Ａにおける初期値Ｙ＿ＭＡＸは、ルータの回線性能に依存して設定される。そして、最大バーストトークン量Ｙは、ΔＴの時間が経過するごとにΔＹずつ減算され（Ｙ−ΔＹ）、時刻Ｂにおいて最大バーストトークン量Ｙが０になるように、すなわち、未消費のトークンがなくなるように設定される。
【００３２】
ここで、減算量ΔＹ、初期値Ｙ＿ＭＡＸ、時間ΔＴおよびトークン追加周期Ｔの間の関係は、
ΔＹ＝Ｙ＿ＭＡＸ×ΔＴ／Ｔ
で表される。
【００３３】
このように、最大バーストトークン量Ｙは、ルータがパケットのバースト転送を継続しておこなった際に、時刻Ｂにトークンバケット内のトークンを消費できる目安となるトークン量である。ルータは、この最大バーストトークン量Ｙと、トークンバケット内に残っている残存トークン量Ｘとを比較することにより、時刻Ｂに未消費のトークンが残るか否かを判定する。
【００３４】
具体的には、ルータは、ΔＴの時間が経過するごとに、最大バーストトークン量Ｙと残存トークン量Ｘとを比較して、残存トークン量Ｘが最大バーストトークン量Ｙを下回っている場合には、時刻Ｂまでに残存トークン量Ｘが消費される見込みがあると判定する。
【００３５】
一方、残存トークン量Ｘが最大バーストトークン量Ｙを上回っている場合には、ルータがバースト転送をおこなって、ΔＴの時間ごとにΔＹのトークンを消費したとしても、時刻Ｂまでに残存トークン量Ｘをすべて消費することは不可能なので、時刻Ｂに未消費のトークンが残存すると判定する。
【００３６】
図２においては、時刻Ｃに残存トークン量Ｘが最大バーストトークン量Ｙを上回る状況となる。そこで、ルータは、時刻Ｃから時刻Ｂの間、帯域保証型通信にベストエフォート型通信を加えたすべての通信について、最大バースト性能でパケットを転送することを許可するよう制御する処理をおこなう。
【００３７】
これにより、帯域保証型通信に遅延を生じさせることなくそれを優先的におこなうとともに、ベストエフォート型通信も可能とする帯域制御を実現することができ、通信帯域の無駄を削減することができる。
【００３８】
つぎに、本実施例に係るルータの機能的構成について説明する。図３は、本実施例に係るルータ３０の機能的構成を示す機能ブロック図である。図３に示すルータ３０は、パケットが入力された際に、パケットの宛先アドレスを参照し、適切な通信経路にパケットを送信するパケット中継処理をおこなう。
【００３９】
また、このルータ３０は、単にパケット中継処理をおこなうだけでなく、各時点での残存トークン量Ｘと最大バーストトークン量Ｙとを比較し、その比較結果に基づいて帯域保証型通信に割り当てられた通信回線容量をベストエフォート型通信に割り当てる処理をおこなう。
【００４０】
図３に示すように、このルータ３０は、受信インターフェース部３１、フロー振り分け部３２、送信待ちキュー３３、優先制御部３４1〜３４n、帯域制御部３５1〜３５n、トークン量監視部３６1〜３６n、送信制御部３７および送信インターフェース部３８を有する。
【００４１】
受信インターフェース部３１は、パケットを受信するネットワークインターフェースである。フロー振り分け部３２は、受信したパケットのヘッダ情報に基づいてパケットを適切な送信待ちキュー３３に格納する。
【００４２】
送信待ちキュー３３は、受信したパケットを格納するキューである。この送信待ちキュー３３は、帯域保証フロー用キュー３３０1〜３３０nと、ベストエフォートフロー用キュー３３１1〜３３１nとを有している。
【００４３】
ここで、帯域保証フロー用キュー３３０1とベストエフォートフロー用キュー３３１1とは１つのＶＬＡＮ（Virtual  LAN）に対応するキューの組を構成し、帯域保証フロー用キュー３３０2とベストエフォートフロー用キュー３３１2とは、別のＶＬＡＮに対応するキューの組を構成し、以下同様に、帯域保証フロー用キュー３３０nとベストエフォートフロー用キュー３３１nとは、さらに別のＶＬＡＮに対応するキューの組を構成している。
【００４４】
そして、各帯域保証フロー用キュー３３０1〜３３０nおよびベストエフォートフロー用キュー３３１1〜３３１nには、フロー振り分け部３２によりＶＬＡＮごとに帯域保証フローかベストエフォートフローかによって振り分けられたパケットが格納される。
【００４５】
優先制御部３４1〜３４nは、ＶＬＡＮごとに帯域保証フロー用キュー３３０1〜３３０nおよびベストエフォートフロー用キュー３３１1〜３３１nに格納されているパケットの送信に係る優先度を判定し、優先度の高いパケットから送信をおこなうよう制御する処理をおこなう。
【００４６】
具体的には、優先制御部３４1〜３４nは、帯域保証フロー用キュー３３０1〜３３０nに格納されているパケットを帯域制御処理部３５1〜３５nに優先的に転送する。そして、優先制御部３４1〜３４nは、トークン量監視部３６1〜３６nによりベストエフォートフロー用キュー３３１1〜３３１nに格納されているパケットを帯域制御処理部３５1〜３５nに転送するよう指示された場合に、ベストエフォートフロー用キュー３３１1〜３３１nに格納されているパケットを転送する。
【００４７】
帯域制限処理部３５1〜３５nは、図６で説明したようなトークンバケットを利用して通信帯域の制限処理をおこなう。具体的には、帯域制限処理部３５1〜３５nは、パケットの送信を許可するたびに、トークンバケット内にあるトークン量をパケット送信量に応じて減らして残存トークン量Ｘを算出し、算出された残存トークン量Ｘを帯域制限処理部３５1〜３５n内に設けたメモリ（図示せず）に記憶する。
【００４８】
そして、帯域制限処理部３５1〜３５nは、残存トークン量Ｘが０になったら、パケットの送信を不許可とし、パケットの通信帯域を制限する。また、帯域制限処理部３５1〜３５nは、トークンバケットにトークンを一定周期で追加し、追加後のトークン量を残存トークン量Ｘとして上記メモリに記憶する。
【００４９】
トークン量監視部３６1〜３６nは、図２で説明したような最大バーストトークン量Ｙを算出してトークン量監視部３６1〜３６n内に設けたメモリ（図示せず）に記憶しておき、算出した最大バーストトークン量Ｙと、帯域制限処理部３５1〜３５nに記憶された残存トークン量Ｘとを比較することにより、トークンバケットに次回トークンが追加される際に未消費のトークンが残存するか否かを判定する処理をおこなう。
【００５０】
このトークン量監視部３６1〜３６nは、未消費のトークンが残存すると判定した場合に、帯域保証フロー用キュー３３０1〜３３０nに格納されているパケットおよびベストエフォートフロー用キュー３３１1〜３３１nに格納されているパケットを最大バースト性能で転送するよう優先制御部３４1〜３４nを制御する処理をおこなう。
【００５１】
送信制御部３７は、適切な通信経路にパケットを送信する処理をおこなう。具体的には、送信制御部３７は、パケットの宛先アドレスおよびルーティングテーブル（図示せず）を参照することによりパケットの中継先を判定し、その中継先にパケットを送信する処理をおこなう。送信インターフェース部３８は、パケットを送信するネットワークインターフェースである。
【００５２】
つぎに、ルータ３０がおこなう帯域制御処理の処理手順について説明する。図４は、ルータ３０がおこなう帯域制御処理の処理手順を示すフローチャートである。図４に示すように、まず、ルータ３０の帯域制限処理部３５1〜３５nは、ルータ３０内に設けられた時計（図３には図示せず）から時刻の情報を取得する（ステップＳ１０１）。
【００５３】
そして、帯域制限処理部３５1〜３５nは、トークンバケットにトークンを追加する時刻か否かを調べ（ステップＳ１０２）、トークンを追加する時刻でない場合には（ステップＳ１０２，Ｎｏ）、ステップＳ１０５に移行する。
【００５４】
トークンバケットにトークンを追加する時刻である場合には（ステップＳ１０２，Ｙｅｓ）、帯域制限処理部３５1〜３５nは、トークンバケットにトークンを追加する（ステップＳ１０３）。
【００５５】
続いて、トークン量監視部３６1〜３６nは、最大バーストトークン量Ｙを初期値Ｙ＿ＭＡＸに設定する（ステップＳ１０４）。そして、トークン量監視部３６1〜３６nは、トークンバケット内の残存トークン量Ｘが、最大バーストトークン量Ｙ以上であるか否かを調べる（ステップＳ１０５）。
【００５６】
残存トークン量Ｘが最大バーストトークン量Ｙ以上でない場合には（ステップＳ１０５，Ｎｏ）、優先制御部３４1〜３４nは、帯域保証フローのパケットを送信する処理をおこなう（ステップＳ１１３）。
【００５７】
そして、帯域制限処理部３５1〜３５nは、トークンバケット内の残存トークン量からパケットの送信量分を減算する（ステップＳ１１１）。その後、トークン監視部３６1〜３６nは、最大バーストトークン量Ｙから所定量ΔＹを減算し、ステップＳ１０１に移行して、それ以降の処理を継続する。
【００５８】
ステップＳ１０５において、残存トークン量Ｘが最大バーストトークン量Ｙ以上である場合には（ステップＳ１０５，Ｙｅｓ）、トークン量監視部３６1〜３６nは、次回トークンバケットにトークンを追加する時点で未消費のトークンが発生すると判定し（ステップＳ１０６）、優先制御部３４1〜３４nに対してベストエフォートフローのパケットの送信許可を与える処理をおこなう（ステップＳ１０７）。
【００５９】
その後、優先制御部３４1〜３４nは、帯域保証フローの処理があるか否かを調べ（ステップＳ１０８）、帯域保証フローの処理がある場合には（ステップＳ１０８，Ｙｅｓ）、ステップＳ１１３に移行して、帯域保証フローのパケットを送信する処理をおこない、ステップＳ１１１以降の処理を継続する。
【００６０】
帯域保証フローの処理がない場合には（ステップＳ１０８，Ｎｏ）、優先制御部３４1〜３４nは、ベストエフォートフローの処理があるか否かを調べ（ステップＳ１０９）、ベストエフォートフローの処理がある場合には（ステップＳ１０９，Ｙｅｓ）、ベストエフォートフローのパケットを送信し（ステップＳ１１０）、ステップＳ１１１以降の処理を継続する。
【００６１】
ステップＳ１０９において、ベストエフォートフローの処理がない場合には（ステップＳ１０９，Ｎｏ）、ステップＳ１１２に移行して、ステップＳ１１２以降の処理を継続する。
【００６２】
上述してきたように、本実施例では、帯域制限処理部３５1〜３５nが、トークンバケットに残存する残存トークン量Ｘを記憶し、トークン量監視部３６1〜３６nが、記憶された残存トークン量Ｘと最大バーストトークン量Ｙとを比較し、優先制御部３４1〜３４nが、その比較結果に基づいて帯域保証型通信に割り当てられた通信回線容量をベストエフォート型通信に割り当てることとしたので、ネットワークの形態にかかわらず、帯域制御を簡単かつ少ない計算量で効率的におこなうことができる。
【００６３】
また、本実施例では、最大バーストトークン量Ｙを、トークンバケットにトークンが追加されてから次回トークンが追加されるまで、データのバースト転送が継続可能なトークン量であることとしたので、次回トークンバケットにトークンが追加される際に未消費のトークンが残存するか否かを容易に判定し、トークンが残存すると判定された場合にベストエフォート型通信に通信回線容量を割り当てることにより、帯域制御を簡単かつ少ない計算量で効率的におこなうことができる。
【００６４】
また、本実施例では、優先制御部３４1〜３４nが、残存トークン量Ｘが最大バーストトークン量Ｙを越えた場合に、最大で最大バーストトークン量Ｙに対応する通信回線容量をベストエフォート型通信に割り当てることとしたので、次回トークンが追加される際に帯域保証型通信により消費されないトークン量に対応する通信回線容量をベストエフォート型通信に有効に割り当て、帯域制御を簡単かつ少ない計算量で効率的におこなうことができる。
【００６５】
以上本発明にかかる実施例について図面を参照して詳述してきたが、具体的な構成例はこれらの実施例に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
【００６６】
例えば、帯域制御装置の各機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行することにより各機能を実現してもよい。
【００６７】
図５は、帯域制御装置の各機能を実現するコンピュータ１００のハードウェア構成を示すブロック図である。図５に示すように、このコンピュータ１００は、上記プログラムを実行するＣＰＵ１１０と、データを入力する入力装置１２０と、各種データを記憶するＲＯＭ１３０と、演算パラメータ等を記憶するＲＡＭ１４０と、帯域制御装置の機能を実現するためのプログラムを記録した記録媒体２００からプログラムを読み取る読取装置１５０と、ディスプレイ等の出力装置１６０と、ネットワーク３００を介して他のコンピュータとの間でデータの授受をおこなうネットワークインターフェース１７０とが、バス１８０で接続された構成となっている。
【００６８】
ＣＰＵ１１０は、読取装置１５０を経由して記録媒体２００に記録されているプログラムを読み込んだ後、プログラムを実行することにより、前述した機能を実現する。なお、記録媒体２００としては、光ディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ハードディスク等が挙げられる。また、このプログラムは、ネットワーク３００を介してコンピュータ１００に導入することとしてもよい。
【００６９】
また、本実施例では、帯域制御装置の例としてルータを取り上げたが、本発明はこれに限定されるものではなく、通信帯域の制御処理をおこなうその他のネットワーク装置にも同様に適用することができる。
【００７０】
また、本実施例では、各時点での残存トークン量と最大バーストトークン量とを比較することにより、帯域保証型通信に割り当てられた通信回線容量をベストエフォート型通信に割り当てることとしたが、本発明はこれに限定されるものではなく、各時点での残存トークン量と最大バーストトークン量以外の所定の基準値とを比較し、次回トークンバケットにトークンが追加される際に未消費のトークンが残存するか否かを判定することとしてもよい。
【００７１】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記データ中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００７２】
また、図示した装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００７３】
さらに、上記装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７４】
（付記１）第１の通信に割り当てられた通信回線容量をトークンバケットを利用して第２の通信に割り当てる帯域制御装置であって、
前記トークンバケットに残存するトークン量を記憶する記憶手段と、
前記記憶手段により記憶されたトークン量と所定の基準量とを比較する比較手段と、
前記比較手段による比較結果に基づいて第１の通信に割り当てられた通信回線容量を第２の通信に割り当てる割当手段と、
を備えたことを特徴とする帯域制御装置。
【００７５】
（付記２）前記所定の基準値は、トークンバケットにトークンが追加されてから次回トークンが追加されるまで、データのバースト転送が継続可能なトークン量であることを特徴とする付記１に記載の帯域制御装置。
【００７６】
（付記３）前記割当手段は、前記トークンバケットに残存するトークン量が前記データのバースト転送が継続可能なトークン量を越えた場合に、最大で前記データのバースト転送が継続可能なトークン量に対応する通信回線容量を第２の通信に割り当てることを特徴とする付記２に記載の帯域制御装置。
【００７７】
（付記４）第１の通信に割り当てられた通信回線容量をトークンバケットを利用して第２の通信に割り当てる帯域制御方法であって、
前記トークンバケットに残存するトークン量を記憶する記憶工程と、
前記記憶工程により記憶されたトークン量と所定の基準量とを比較する比較工程と、
前記比較工程による比較結果に基づいて第１の通信に割り当てられた通信回線容量を第２の通信に割り当てる割当工程と、
を含んだことを特徴とする帯域制御方法。
【００７８】
（付記５）前記所定の基準値は、トークンバケットにトークンが追加されてから次回トークンが追加されるまで、データのバースト転送が継続可能なトークン量であることを特徴とする付記４に記載の帯域制御方法。
【００７９】
（付記６）前記割当工程は、前記トークンバケットに残存するトークン量が前記データのバースト転送が継続可能なトークン量を越えた場合に、最大で前記データのバースト転送が継続可能なトークン量に対応する通信回線容量を第２の通信に割り当てることを特徴とする付記５に記載の帯域制御方法。
【００８０】
（付記７）第１の通信に割り当てられた通信回線容量をトークンバケットを利用して第２の通信に割り当てる帯域制御プログラムであって、
前記トークンバケットに残存するトークン量を記憶する記憶手順と、
前記記憶手順により記憶されたトークン量と所定の基準量とを比較する比較手順と、
前記比較手順による比較結果に基づいて第１の通信に割り当てられた通信回線容量を第２の通信に割り当てる割当手順と、
をコンピュータに実行させることを特徴とする帯域制御プログラム。
【００８１】
（付記８）前記所定の基準値は、トークンバケットにトークンが追加されてから次回トークンが追加されるまで、データのバースト転送が継続可能なトークン量であることを特徴とする付記７に記載の帯域制御プログラム。
【００８２】
（付記９）前記割当手順は、前記トークンバケットに残存するトークン量が前記データのバースト転送が継続可能なトークン量を越えた場合に、最大で前記データのバースト転送が継続可能なトークン量に対応する通信回線容量を第２の通信に割り当てることを特徴とする付記８に記載の帯域制御プログラム。
【産業上の利用可能性】
【００８３】
以上のように、本発明にかかる帯域制御装置、帯域制御方法および帯域制御プログラムは、ネットワークの形態にかかわらず、帯域制御を簡単かつ少ない計算量で効率的におこなうことが必要な帯域制御システムに有用である。
【図面の簡単な説明】
【００８４】
【図１】本実施例に係るルータがおこなう帯域制御処理の概念について説明する説明図である。
【図２】本実施例に係るルータが未消費トークンの発生を判定する判定処理について説明する説明図である。
【図３】本実施例に係るルータ３０の機能的構成を示す機能ブロック図である。
【図４】ルータ３０がおこなう帯域制御処理の処理手順を示すフローチャートである。
【図５】帯域制御装置の各機能を実現するコンピュータ１００のハードウェア構成を示すブロック図である。
【図６】トークンバケットの概念を説明する説明図である。
【符号の説明】
【００８５】
３０    ルータ
３１    受信インターフェース部
３２    フロー振り分け部
３３    送信待ちキュー
３３０1〜３３０n    帯域保証フロー用キュー
３３１1〜３３１n    ベストエフォートフロー用キュー
３４1〜３４n    優先制御部
３５1〜３５n    帯域制限処理部
３６1〜３６n    トークン量監視部
３７    送信制御部
３８    送信インターフェース部
【図１】
2005244417.tif 000003
【図２】
2005244417.tif 000004
【図３】
2005244417.tif 000005
【図４】
2005244417.tif 000006
【図５】
2005244417.tif 000007
【図６】
2005244417.tif 000008