(57)【特許請求の範囲】
【請求項１】
ホストサーバ上で動作する仮想マシンから送出されたパケットを、物理ネットワークを介して他の仮想マシンに転送するネットワークシステムにおける帯域の制御を行う帯域制御システムであって、
前記ホストサーバで利用可能な帯域から、一定の帯域を確保する帯域確保サービスを利用する仮想マシンに対して前記一定の帯域を優先して割り当て、前記利用可能な帯域から前記帯域確保サービスが実際に利用している帯域を除いた帯域を分配する帯域分配サービスを利用する仮想マシンに割り当てる帯域を、前記ホストサーバの通信による負荷状況に応じて調整する出力制御部と、
前記パケットに対し、前記帯域確保サービスを利用する仮想マシンから送出されたパケットの優先度が前記帯域分配サービスを利用する仮想マシンから送出されたパケットの優先度より高くなるように、前記ネットワークシステム上で認識可能な形式で優先度を付与する優先度付与部と、
前記帯域分配サービスを利用する仮想マシンのうち、割り当てられた帯域が最大である仮想マシン及び割り当てられた帯域が最小である仮想マシンとの間の帯域の差が小さくなるように、前記出力制御部に調整を行わせる平準化部と、
を有することを特徴とする帯域制御システム。
【請求項２】
前記優先度付与部は、前記帯域確保サービスを利用する仮想マシンから送出されたパケットには第１の優先度を、前記帯域分配サービスを利用する仮想マシンから送出されたパケットには前記第１の優先度より低い第２の優先度を、いずれのサービスも利用しない仮想マシンから送出されたパケットには前記第２の優先度より低い第３の優先度をそれぞれ付与することを特徴とする請求項１に記載の帯域制御システム。
【請求項３】
前記ホストサーバにおける通信による前記ホストサーバでのＣＰＵ負荷とＩ／Ｏ負荷を示す指標値が所定の値以上である場合に、前記ホストサーバの利用可能な帯域および前記帯域確保サービスによる帯域の使用状況に基づいて算出される、前記帯域分配サービスに割り当て可能な帯域の設定値を減少させる負荷軽減部をさらに有し、
前記出力制御部は、前記負荷軽減部によって減少させられた前記設定値に基づいて前記帯域分配サービスに割り当てる帯域を調整することを特徴とする請求項１または２に記載の帯域制御システム。
【請求項４】
前記ホストサーバの利用可能な帯域が要求帯域として割り当てられたホストサーバクラス、前記ホストサーバクラスの下位クラスであって前記帯域確保サービスで使用される帯域が要求帯域として割り当てられた帯域確保サービスクラス、前記ホストサーバクラスの下位クラスであって前記帯域分配サービスで使用される帯域が要求帯域として割り当てられた帯域分配サービスクラス、前記帯域分配サービスクラスの下位クラスであって前記帯域分配サービスクラスに割り当てられた帯域を分配した帯域が要求帯域として割り当てられた１つ以上の末端クラスのいずれかに振り分けられたパケットのうち、前記帯域確保サービスクラスに振り分けられたパケットの転送レートを、前記要求帯域に従い制御するキューイング処理部と、
前記帯域確保サービスを利用する仮想マシンから送出されたパケットを前記帯域確保サービスクラスに振り分け、前記帯域分配サービスを利用する仮想マシンから送出されたパケットを前記末端クラスに振り分ける振分部と、をさらに有し、
前記出力制御部は、前記帯域分配サービスクラスおよび前記末端クラスの要求帯域を増減させることで前記帯域分配サービスを利用する仮想マシンに割り当てる帯域を調整することを特徴とする請求項１または２に記載の帯域制御システム。
【請求項５】
前記ホストサーバに上の仮想マシンから送出されたパケットをカプセル化するカプセル化部をさらに有し、
前記優先度付与部は、前記カプセル化部によってカプセル化が行われたパケットに対して優先度を付与することを特徴とする請求項１から４のいずれか１項に記載の帯域制御システム。
【請求項６】
前記帯域確保サービスによる通信が前記物理ネットワークの帯域を圧迫しているか否かを判定する監視部をさらに有することを特徴とする請求項１から５のいずれか１項に記載の帯域制御システム。
【請求項７】
ホストサーバ上で動作する仮想マシンから送出されたパケットを、物理ネットワークを介して他の仮想マシンに転送するネットワークシステムにおける帯域の制御を行う帯域制御システムで実行される帯域制御方法であって、
前記ホストサーバで利用可能な帯域から、一定の帯域を確保する帯域確保サービスを利用する仮想マシンに対して前記一定の帯域を優先して割り当て、前記利用可能な帯域から前記帯域確保サービスが実際に利用している帯域を除いた帯域を分配する帯域分配サービスを利用する仮想マシンに割り当てる帯域を、前記ホストサーバの通信による負荷状況に応じて調整する出力制御工程と、
前記パケットに対し、前記帯域確保サービスを利用する仮想マシンから送出されたパケットの優先度が前記帯域分配サービスを利用する仮想マシンから送出されたパケットの優先度より高くなるように、前記ネットワークシステム上で認識可能な形式で優先度を付与する優先度付与工程と、
前記帯域分配サービスを利用する仮想マシンのうち、割り当てられた帯域が最大である仮想マシン及び割り当てられた帯域が最小である仮想マシンとの間の帯域の差が小さくなるように、前記出力制御工程を実行し調整を行う平準化工程と、
を含んだことを特徴とする帯域制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想環境における帯域制御システムおよび帯域制御方法に関する。
【背景技術】
【０００２】
従来、帯域サービスを提供するための制御技術として、Ｄｉｆｆｓｅｒｖ（例えば非特許文献１を参照）等の優先転送制御の利用や、ＲＳＶＰ（例えば非特許文献２を参照）等が知られている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】"Definition  of  the  Differentiated  Services  Field  (DS  Field)  in  the  IPv4  and  IPv6  Headers",  RFC2474,  IETF.
【非特許文献２】"Resource  ReSerVation  Protocol  (RSVP)",  RFC2205,  IETF.
【非特許文献３】"Virtual  eXtensible  Local  Area  Network  (VXLAN):  A  Framework  for  Overlaying  Virtualized  Layer  2  Networks  over  Layer  3  Networks",  RFC7348,  IETF.
【非特許文献４】"Generic  Routing  Encapsulation  (GRE)",  RFC2784,  IETF.
【非特許文献５】"NVGRE:  Network  Virtualization  using  Generic  Routing  Encapsulation",  Internet  Draft,  IETF.
【非特許文献６】"A  Stateless  Transport  Tunneling  Protocol  for  Network  Virtualization  (STT)",  Internet  Draft,  IETF.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
帯域サービスとして、一定の帯域を確保する帯域確保サービス、および帯域確保サービスの残帯域を利用して帯域を公平に分配することで、利用帯域は変化するが常に通信可能な状態とする帯域分配サービスを提供することが考えられる。
【０００５】
複数のＶＭ（仮想マシン）を集約してホストサーバ上で運用する仮想環境において、各帯域サービスを提供する場合、通信帯域をＶＭの仮想ＮＩＣに設定して帯域制御を実現する方法が考えられる。しかし、２つのサービスがホストサーバおよび物理ネットワーク等の設備が提供する帯域を共有して利用するため、各サービスが相互に影響しあい、輻輳等が発生して十分に帯域が提供できないという問題がある。
【０００６】
上記の問題を解決するために、Ｄｉｆｆｓｅｒｖ等の優先転送制御を用いることが考えられる。このような優先転送技術では、パケットに優先度を示す印をつけて、その印に従ってルータ上で優先転送を行う。例えば、帯域確保サービスの通信の優先度を「高」、帯域分配サービスの優先度を「中」、その他通信の優先度を「低」とすることで、輻輳時においても帯域確保サービスの通信帯域を確保することができる。しかし、このような優先転送技術は、ルータ上での制御に限られるため、ＶＭの仮想ＮＩＣとホストの物理ＮＩＣの間では制御が行われず、仮想ＮＩＣ間での帯域制御サービスは実現できなかった。
【０００７】
また、ＲＳＶＰを用いて、Ｅｎｄ−Ｅｎｄにおける帯域予約を行うことが考えられるが、ＶＭが動作するホストサーバ間での利用となり、ＶＭの仮想ＮＩＣとホストの物理ＮＩＣの間では帯域制御ができなかった。
【０００８】
以上のように、仮想環境では、ホストサーバ内の仮想ＮＩＣから物理ＮＩＣまでの区間での帯域制御が必要となる。仮想ＮＩＣから物理ＮＩＣの区間での帯域制御を実現した上で、従来技術と連携して、帯域サービスを実現することが求められる。
【０００９】
次に、ＶＭが非常に多くのトラフィックを流した場合、ホストサーバにおいてソフトウエアによって通信を処理する必要があり、通信を行うＶＭに割り当てたＣＰＵでの処理だけでなく、ＶＭに割り当てていないホストサーバの残ＣＰＵでの処理が必要となる。このためホストサーバのＣＰＵ負荷やホストサーバ本体のＩ／Ｏ負荷の増加が発生する。この結果、帯域サービスの各ユーザは、ホストサーバ負荷の影響を受けて、通信のためのソフトウエア処理を十分行えず、与えられたネットワーク帯域を十分使えない状況となる。
【００１０】
上記の問題を解決するために、ＳＲ−ＩＯＶを導入して負荷を軽減させることが考えられるが、この場合全てのサーバでのＯＳ設定変更や対応ハードの導入が必要となる。さらに、ＶＭのホストサーバ間移行が困難になり、メンテナンス性が低下するという問題がある。このように、ＳＲ−ＩＯＶ環境へ既存仮想環境の全てが移行するとは考えにくく、ソフトウエア処理によってホストサーバでのＣＰＵ負荷やＩ／Ｏ負荷増大へ対応する技術は今後も必要とされる。
【００１１】
最後に、帯域確保サービスおよび帯域分配サービスのような複数の帯域サービスを提供する場合、ＶＭが出力する各パケットがどのサービスに属するかを識別することで、各サービス個別の制御が可能となる。例えば、あるパケットがどのサービスに属するかを示す印を、ＩＰ  ＴＯＳフィールドや、ＶＬＡＮ  ＰＣＰフィールドに刻印して区別した上で、物理ルータやスイッチの帯域制御機能を利用することが考えられる。
【００１２】
カプセル化を用いたオーバーレイ型の仮想ネットワーク（例えば非特許文献３〜６を参照）を導入した場合、仮想ＮＩＣからの出力トラフィックのパケットにどのサービスに属するかを示す印を刻印したとしても、その後カプセル化されることで印が隠蔽される。このため、カプセル化後の物理ネットワークでの帯域制御機能を利用できないという問題がある。
【課題を解決するための手段】
【００１３】
本発明の帯域制御システムは、ホストサーバ上で動作する仮想マシンから送出されたパケットを、物理ネットワークを介して他の仮想マシンに転送するネットワークシステムにおける、帯域の制御を行う帯域制御システムであって、前記ホストサーバで利用可能な帯域から、一定の帯域を確保する帯域確保サービスを利用する仮想マシンに対して前記一定の帯域を優先して割り当て、前記利用可能な帯域から前記帯域確保サービスが実際に利用している帯域を除いた帯域を分配する帯域分配サービスを利用する仮想マシンに割り当てる帯域を、前記ホストサーバの通信による負荷状況に応じて調整する出力制御部と、前記パケットに対し、前記帯域確保サービスを利用する仮想マシンから送出されたパケットの優先度が前記帯域分配サービスを利用する仮想マシンから送出されたパケットの優先度より高くなるように、前記ネットワークシステム上で認識可能な形式で優先度を付与する優先度付与部と、を有することを特徴とする。
【００１４】
また、本発明の帯域制御方法は、ホストサーバ上で動作する仮想マシンから送出されたパケットを、物理ネットワークを介して他の仮想マシンに転送するネットワークシステムにおける帯域の制御を行う帯域制御システムで実行される帯域制御方法であって、前記ホストサーバで利用可能な帯域から、一定の帯域を確保する帯域確保サービスを利用する仮想マシンに対して前記一定の帯域を優先して割り当て、前記利用可能な帯域から前記帯域確保サービスが実際に利用している帯域を除いた帯域を分配する帯域分配サービスを利用する仮想マシンに割り当てる帯域を、前記ホストサーバの通信による負荷状況に応じて調整する出力制御工程と、前記パケットに対し、前記帯域確保サービスを利用する仮想マシンから送出されたパケットの優先度が前記帯域分配サービスを利用する仮想マシンから送出されたパケットの優先度より高くなるように、前記ネットワークシステム上で認識可能な形式で優先度を付与する優先度付与工程と、を含んだことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、仮想環境におけるホストサーバ内の仮想ＮＩＣから物理ＮＩＣまでの区間での帯域制御を行うことで、物理ネットワーク上の機器と連携し、仮想マシン間における帯域サービスを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】図１は、帯域確保サービスおよび帯域分配サービスについて説明するための図である。
【図２】図２は、第１の実施形態に係る帯域制御システムの概要を示す図である。
【図３】図３は、第１の実施形態に係る帯域制御システムの仮想マシン出力制御機能部の構成の一例を示す図である。
【図４】図４は、第１の実施形態に係る帯域制御システムの仮想マシン出力制御機能部の各部の配置例を示す図である。
【図５】図５は、第１の実施形態に係る帯域制御システムの仮想マシン出力制御機能部の各部の配置例を示す図である。
【図６】図６は、第１の実施形態に係る帯域制御システムの仮想マシン出力制御機能部の各部の配置例を示す図である。
【図７】図７は、第１の実施形態に係る帯域制御システムの帯域確保サービス用インタフェースリストの一例を示す図である。
【図８】図８は、第１の実施形態に係る帯域制御システムの帯域分配サービス用インタフェースリストの一例を示す図である。
【図９】図９は、第１の実施形態に係る帯域制御システムの仮想マシン出力制御機能部の負荷軽減部の処理の一例を示す図である。
【図１０】図１０は、第１の実施形態に係る帯域制御システムの仮想マシン出力制御機能部の制御対象判定部の処理の一例を示す図である。
【図１１】図１１は、第１の実施形態に係る帯域制御システムの仮想マシン出力制御機能部のリセット部の処理の一例を示す図である。
【図１２】図１２は、第１の実施形態に係る帯域制御システムの仮想マシン出力制御機能部のリセット部の処理の一例を示す図である。
【図１３】図１３は、第１の実施形態に係る帯域制御システムの仮想マシン出力制御機能部のリセット部の処理の一例を示す図である。
【図１４】図１４は、第１の実施形態に係る帯域制御システムの仮想マシン出力制御機能部の設定帯域平準化部の処理の一例を示す図である。
【図１５】図１５は、第１の実施形態に係る帯域制御システムの仮想マシン出力制御機能部の帯域圧縮部の処理の一例を示す図である。
【図１６】図１６は、第１の実施形態に係る帯域制御システムの仮想マシン出力制御機能部の帯域圧縮部の処理の一例を示す図である。
【図１７】図１７は、第１の実施形態に係る帯域制御システムの仮想マシン出力制御機能部の帯域延伸部の処理の一例を示す図である。
【図１８】図１８は、第１の実施形態に係る帯域制御システムの仮想マシン出力制御機能部の帯域延伸部の処理の一例を示す図である。
【図１９】図１９は、第１の実施形態に係る帯域制御システムの仮想マシン出力制御機能部の処理の一例を示す図である。
【図２０】図２０は、第１の実施形態に係る帯域制御システムのサービス判定機能部の第１の方式について説明するための図である。
【図２１】図２１は、第１の実施形態に係る帯域制御システムのサービス判定機能部の第２の方式について説明するための図である。
【図２２】図２２は、第１の実施形態に係る帯域制御システムのカプセル化機能部の第１の方式について説明するための図である。
【図２３】図２３は、第１の実施形態に係る帯域制御システムのカプセル化機能部の第２の方式について説明するための図である。
【図２４】図２４は、第２の実施形態に係る帯域制御システムの仮想マシン出力制御機能部におけるキューの構成の一例を示す図である。
【図２５】図２５は、第２の実施形態に係る帯域制御システムの仮想マシン出力制御機能部の構成の一例を示す図である。
【図２６】図２６は、第２の実施形態に係る帯域制御システムのクラス化キューイングの処理および仮想マシン出力制御機能部の処理の一例を示す図である。
【図２７】図２７は、プログラムが実行されることにより、帯域制御システムが実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１７】
以下に、本願に係る帯域制御システムおよび帯域制御方法の実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願に係る帯域制御システムおよび帯域制御方法が限定されるものではない。
【００１８】
［帯域確保サービスおよび帯域分配サービス］
まず、図１を用いて、帯域制御システムによって実現される帯域サービスである帯域確保サービスおよび帯域分配サービスについて説明する。図１は、帯域確保サービスおよび帯域分配サービスについて説明するための図である。
【００１９】
帯域確保サービスとは、上限として定められた契約帯域までの帯域をユーザが必要なときにいつでも利用可能とするサービスである。例えば、大量のパケットを送受信するユーザや、常に一定の帯域を必要とするユーザは帯域確保サービスを利用する。一方、帯域分配サービスとは、ユーザが利用できる帯域は状況により変動するが、通信できない状況は回避するサービスである。例えば、利用帯域は定まらないが、たとえ少ない帯域であっても常時帯域を必要とするユーザは帯域分配サービスを利用する。
【００２０】
図１の帯域Ａ１は帯域確保サービスを利用する全ユーザの実利用帯域を示している。また、図１の帯域Ｂは帯域分配サービスを利用する全ユーザで利用可能な帯域を示している。また、帯域Ａ２は帯域確保サービスの予約帯域を示しており、帯域Ａ２の範囲内で複数のユーザを収容する。また、図１の帯域Ｃは帯域サービス全体（帯域確保サービスと帯域分配サービス）の予約帯域を示している。また、図１の帯域Ｄは帯域サービス対象外の帯域を示している。
【００２１】
帯域確保サービスでは、ユーザとの契約帯域を上限として帯域を確保し提供する。このとき、予約帯域の範囲を超えないように帯域Ａ２に複数ユーザの契約帯域を計画収容する。一方、帯域分配サービスでは、帯域Ｃから帯域Ａ１を引いて帯域Ｂを求め、帯域Ｂの範囲内で公平に帯域を分配する。このとき、帯域Ａ１すなわち帯域確保サービスの実利用帯域の変動に応じた残帯域を分配することで、帯域確保サービスユーザが上限まで帯域を利用していない場合であっても、その残帯域を有効に活用できる。このように、帯域分配サービスでは、帯域Ａ１の変動に応じた動的帯域制御を実施する。
【００２２】
帯域Ｄは、例えば帯域確保サービスと帯域分配サービスを実施した際に、性能限界ぎりぎりまで利用しないようにするバッファとして機能する。もしくは、帯域Ｄは、ベストエフォート通信サービスとして十分小さい帯域が設定された仮想ＮＩＣで構成されるＶＭに割り当てる帯域としてもよい。
【００２３】
［第１の実施形態の概要］
第１の実施形態においては、ＶＭ間でのＥｎｄ−Ｅｎｄの帯域制御を行う帯域制御システムを実現するため、エッジ側（ホストサーバ）の機能を利用する。具体的には、ハイパーバイザを経由する等して、ＴＣコマンド（参考文献：http://www.lartc.org/）を利用した仮想ＮＩＣでの制御、ホストサーバでのクラス化キューによる帯域設定・制御で帯域制御システムを実現する。
【００２４】
帯域確保サービスにおいては、ＶＭ間の途中経路となる物理機器での輻輳状態によらず上限帯域まで利用可能とする必要がある。このため、物理ネットワーク上の機器はＶＬＡＮ  ＰＣＰやＩＰ  ＴｏＳ等に優先度を含め、優先度に応じた優先転送を実施する。また、物理ネットワーク上の機器は、帯域確保サービスの優先度を「高」、帯域分配サービスの優先度を「中」、それ以外の優先度を「低」とする。
【００２５】
物理ネットワーク上の機器は帯域確保サービスに属するトラフィックの優先転送を実施するため、リンク帯域が占有されていないかを監視する。
【００２６】
図１の帯域Ａ２による計画収容の管理と帯域Ｃの設定は、ホストサーバ内部および物理ＮＩＣが持つ帯域に対して行われる。ただし、ホストサーバ内部および物理ＮＩＣに対して行われた収容管理および帯域の設定を同じものとして扱い、例えば、物理ＮＩＣに対してのみ帯域の管理を行うようにしてもよい。なお、帯域Ａ２は、帯域確保サービスへの計画的なユーザ収容を行う機能によって別途管理されているものとする。
【００２７】
また、一部の通信処理によりホストサーバのＣＰＵ負荷やＩ／Ｏ負荷が増加すると、ホストサーバ上での全てのソフトウエア処理が負荷の影響を受けるため、帯域確保サービスの上限帯域を常時利用できない等の問題が生じる。そのため、第１の実施形態においては、例えば負荷の増減に応じて帯域Ｃを増減させることや、送信元への帯域制御を依頼することによって帯域の制御を実現する。
【００２８】
［第１の実施形態の詳細］
図２を用いて第１の実施形態に係る帯域制御システムの概要について説明する。図２は、第１の実施形態に係る帯域制御システムの概要を示す図である。帯域制御システム１は、仮想マシン出力制御機能部１０、サービス判定機能部２０、カプセル化機能部３０、ＱｏＳ機能部４０および帯域監視機能部５０を有する。
【００２９】
仮想マシン出力制御機能部１０は、ホストサーバのＣＰＵ負荷とＩ／Ｏ負荷の状態を考慮した帯域確保サービスおよび帯域分配サービスを実現する制御を行う。また、サービス判定機能部２０は、帯域サービスの種別やその他通信を判別し、パケット等に優先度を示す印を付ける。また、カプセル化機能部３０は、オーバーレイ型の仮想ネットワークにおいても優先転送制御の利用が可能となるようにカプセル化を行う。また、ＱｏＳ機能部４０は、ホストサーバおよび物理機器からの出力時に優先転送制御を実施する。また、帯域監視機能部５０は、ネットワークリンク上の帯域サービス種別ごとのリンク使用率を監視する。
【００３０】
帯域制御システム１は、各機能部の一部またはすべての組み合わせによって構成される。例として、図２に示すような構成とした場合の帯域制御システム１について説明する。図２の帯域制御システム１において、ＶＭが出力したパケットは、まず、仮想マシン出力制御機能部１０を通過する。仮想マシン出力制御機能部１０は本機能部が動作するホストサーバ上の全てのＶＭからの出力を制御できるものであり、各ＶＭの出力量を個別に制御でき、かつ全てのＶＭの出力総量を制御することができる。
【００３１】
次に、仮想マシン出力制御機能部１０を通過したパケットはサービス判定機能部２０を通過する。サービス判定機能部２０は通過パケットが利用する帯域サービスの種別、もしくはどのサービスも利用しないかを判別して、パケットに対して優先度を付与する。そして、サービス判定機能部２０を通過したパケットはカプセル化機能部３０を通過する。カプセル化機能部３０はパケットが仮想ネットワークを通過可能となるようにカプセル化する。また、カプセル化機能部３０はカプセル化後のパケットに対して、カプセル化前の優先度と同一の優先度を付与する。
【００３２】
次に、カプセル化機能部３０を通過したパケットはＱｏＳ機能部４０を通過する。ＱｏＳ機能部４０はパケットに与えられた優先度に従って優先転送を行う。また、帯域監視機能部５０は、ネットワーク上のスイッチやルータのインタフェースを監視する。そして、帯域監視機能部５０は、帯域確保サービス、帯域分配サービス、その他といった種別ごとに、インタフェース帯域の利用率を計算する。
【００３３】
そして、受信側のカプセル化機能部３０ａは、カプセル化されたパケットをカプセル化されていない状態に戻す。このとき、優先度はカプセル化前のパケットに付与されているため、カプセル化機能部３０ａは改めて優先度を付与する必要はない。この後、パケットは受信側のＶＭによって受信される。
【００３４】
なお、仮想マシン出力制御機能部１０およびサービス判定機能部２０は、ホストサーバ上の仮想ＮＩＣと物理ＮＩＣとの間の区間で動作する。また、カプセル化機能部３０およびＱｏＳ機能部４０は、ホストサーバ上で動作するようにしてもよいし、ホストサーバ外の機器で動作するようにしてもよい。
【００３５】
また、前述のように、ホストサーバ内部および物理ＮＩＣに対して行われた帯域Ａ２による収容管理と帯域Ｃの設定を同じものとして扱う場合、帯域Ｃは物理ＮＩＣの帯域内の値となる。このため、仮想マシン出力制御機能部１０は物理ＮＩＣの帯域を超えないように帯域の制御を行うため、ホストサーバ上にＱｏＳ機能部４０を設けない構成としてもよい。また、カプセル化の実行は必須ではないため、カプセル化機能部３０を設けない構成であってもよい。また、ＱｏＳ機能部４０およびカプセル化機能部３０を配置する順序は、図２に示す順序から入れ替えたものであってもよい。以降、各機能部について詳細に説明する。
【００３６】
［仮想マシン出力制御機能部］
仮想マシン出力制御機能部１０は、ホストサーバで利用可能な帯域（図１のＣ）から、帯域確保サービスを利用する仮想マシンの指定仮想ＮＩＣに対して指定された帯域を割り当てる。ホストサーバで利用可能な帯域（図１のＣ）から帯域確保サービスで実利用している帯域（図１のＡ１）を除いた帯域（図１のＢ）を、帯域分配サービスを利用する仮想マシンに分配して割り当てる。
【００３７】
また、仮想マシン出力制御機能部１０は、通信によるホストサーバでのＣＰＵ負荷とＩ／Ｏ負荷を示す指標値が所定の値以上である場合に、帯域分配サービスに割り当て可能な帯域（図１のＢ）を減少させ、減少させた値に基づいて帯域分配サービスに割り当てる。
【００３８】
図３を用いて仮想マシン出力制御機能部１０について説明する。図３は、第１の実施形態に係る帯域制御システムの仮想マシン出力制御機能部の構成の一例を示す図である。仮想マシン出力制御機能部１０において、あらかじめ、最小制御帯域、最小リセット帯域、およびホストサーバごとに定められたホストサーバ上限帯域（図１のＣ）が設定されているものとする。最小リセット帯域は最小制御帯域より大きい値とする。また、各部の処理の説明として、図９〜１８を適宜用いる。図９〜１８は、第１の実施形態に係る帯域制御システムの仮想マシン出力制御機能部の各部の処理の一例を示す図である。
【００３９】
図３に示すように、仮想マシン出力制御機能部１０は、帯域確保サービス用インタフェースリスト１０１、帯域分配サービス用インタフェースリスト１０２、インタフェースリスト読込部１０３、帯域確保サービス設定部１０４、帯域利用状況測定部１０５、帯域利用状況把握部１０６、帯域計算部１０７、負荷軽減部１０８、制御対象判定部１０９、リセット部１１０、設定帯域平準化部１１１、帯域圧縮部１１２、帯域延伸部１１３および公平化リスト書出部１１４を有する。
【００４０】
全仮想ＮＩＣの出力帯域をホストサーバ単位で制御するため、帯域確保サービス用インタフェースリスト１０１には、あらかじめ帯域確保サービスに属する仮想ＮＩＣのリストが登録されている。また、帯域分配サービス用インタフェースリスト１０２には、あらかじめ帯域分配サービスに属する仮想ＮＩＣのリストが登録されている。なお、各仮想ＮＩＣは各リストに重複されて登録されることはない。また、いずれのリストにも登録されていない仮想ＮＩＣは、例えば、ベストエフォート通信サービスに属する仮想ＮＩＣである。
【００４１】
図４〜６を用いて、仮想マシン出力制御機能部１０の構成について説明する。図４〜６は、第１の実施形態に係る帯域制御システムの仮想マシン出力制御機能部の各部の配置例を示す図である。まず、図４に示すように、全機能群をホストサーバ内に配置する場合が考えられる。この場合、各機能の処理はホストサーバ内のエージェントとして独立して動作する。また、図５に示すように、コントローラから全てのホストサーバを集中管理するようにしてもよい。この場合、各機能がコントローラに配置される。
【００４２】
また、図４の配置例において、負荷軽減部１０８が他のホストサーバへの帯域設定指示を行う場合、負荷軽減部１０８は他のホストサーバのＶＭや仮想ＮＩＣの配置を知らなければならない。このため、図６に示すように、コントローラを経由して、帯域削減依頼・指示がホストサーバ間で行われるようにしてもよい。なお、仮想マシン出力制御機能部１０の各機能の配置は、これらに限定されるものではない。
【００４３】
図７を用いて、帯域確保サービス用インタフェースリスト１０１について説明する。図７は、第１の実施形態に係る帯域制御システムの帯域確保サービス用インタフェースリストの一例を示す図である。図７に示すように、帯域確保サービス用インタフェースリスト１０１には、帯域確保サービスに属するすべての仮想ＮＩＣを示すＮＩＣ  ＩＤ、ＶＭ名称（ＶＭ名）、帯域設定値、動作するホストサーバを示すホストＩＤが記憶されている。また、ＮＩＣ  ＩＤは帯域設定を行う仮想ＮＩＣのＭＡＣアドレスであってもよい。また、以降の説明において、帯域確保サービス用インタフェースリスト１０１を確保リストと呼ぶ場合もある。
【００４４】
図８を用いて、帯域分配サービス用インタフェースリスト１０２について説明する。図８は、第１の実施形態に係る帯域制御システムの帯域分配サービス用インタフェースリストの一例を示す図である。図８に示すように、帯域分配サービス用インタフェースリスト１０２には、帯域分配サービスに属するすべての仮想ＮＩＣを示すＮＩＣ  ＩＤ、ＶＭ名称（ＶＭ名）、帯域設定上限値となるｍａｘｒａｔｅ、フリーズフラグ、帯域設定値を示すｏｕｔｂｏｕｎｄ、動作するホストサーバを示すホストＩＤが記憶されている。また、ＮＩＣ  ＩＤは帯域設定を行う仮想ＮＩＣのＭＡＣアドレスであってもよい。また、以降の説明において、帯域分配サービス用インタフェースリスト１０２を分配リストと呼ぶ場合もある。また、フリーズフラグは例えば０、１のような数値であり、以降０である場合はオフ、０以外の値である場合オンとして説明する。
【００４５】
インタフェースリスト読込部１０３は、確保リストおよび分配リストを読み込む。図４及び図６の形態の場合には、仮想マシン出力制御機能部を実行しているホストサーバを示すホストＩＤを持つデータのみを抽出して、以降の処理を行う。図５の形態の場合には、全てのデータを対象として、ホストサーバごとに以降の処理を行う。
【００４６】
帯域確保サービス設定部１０４は、インタフェースリスト読込部１０３が読み込んだ確保リストを基に、登録されたＮＩＣ  ＩＤで指定する仮想ＮＩＣの実帯域設定値を、ホストＩＤで指定するホストサーバのハイパーバイザから取得する。ここで、帯域確保サービス設定部１０４は、取得した実帯域設定値が確保リストの帯域設定値と同じか否かを判定する。
【００４７】
実帯域設定値が確保リストの帯域設定値と異なる場合、帯域確保サービス設定部１０４は確保リストの帯域設定値を仮想ＮＩＣの実帯域設定値として設定する。このとき、帯域確保サービス設定部１０４は、ＶＭから見てＩＮ／ＯＵＴの両方向に帯域を設定してもよいし、ＯＵＴ方向にのみに設定してもよい。なお、前述のとおり、帯域確保サービスの予約帯域Ａ２の範囲内での計画的なユーザ収容は別途管理されているものとする。
【００４８】
帯域利用状況測定部１０５は、制御対象となる全仮想ＮＩＣの帯域利用状況を定期的に測定する。帯域利用状況測定部１０５は、例えばハイパーバイザからＮＩＣ  ＩＤで指定する仮想ＮＩＣの通過バイト数を取得して帯域を計算する。また、帯域利用状況測定部１０５は、測定値を実帯域値（ｒｅａｌ）とし、さらに実帯域値の移動平均値（ａｖｅｒａｇｅ）を求める。
【００４９】
帯域利用状況測定部１０５は、過去複数回測定したｒｅａｌから平均を求める方法や、前回計算した移動平均（ａｖｅｒａｇｅ＿ｏｌｄ）と今回算出したｒｅａｌから、ａｖｅｒａｇｅ＝ａｖｅｒａｇｅ＿ｏｌｄ＊（１−ｎ）  ＋ｒｅａｌ＊ｎ  （０＜ｎ＜１）として移動平均値を計算してもよい。このとき、ｎの値はさまざまな値とできるが、例えば、ｒｅａｌ＞ａｖｅｒａｇｅの場合、ｎ＝１／３とし、それ以外の場合は１／８とすること等により、利用帯域が増加した時に平均値が増加しやすく、利用帯域が減少した時には平均値が減少しにくくなる。
【００５０】
帯域利用状況把握部１０６は、帯域利用状況測定部１０５から確保リストおよび分配リストに登録された仮想ＮＩＣのそれぞれについてのｒｅａｌおよびａｖｅｒａｇｅを取得し、仮想ＮＩＣの帯域利用状況として記憶する。
【００５１】
帯域計算部１０７は、確保リストに登録された仮想ＮＩＣのａｖｅｒａｇｅの合計であるｂｒｓを算出する。ｂｒｓは図１の帯域Ａ２以下である。また、帯域計算部１０７は、分配リストに登録された仮想ＮＩＣのａｖｅｒａｇｅの合計であるｂｆｓを算出する。また、帯域計算部１０７は、ホストサーバ上限帯域（図１のＣ）からｂｒｓを引いたｑｏｓを算出する。帯域計算部１０７は、ｂｒｓ、ｂｆｓおよびｑｏｓを記憶しておく。
【００５２】
まず、負荷軽減部１０８は、ホストサーバの状況として、例えばシステム使用率、ユーザ使用率、アイドル率を取得する。負荷軽減部１０８は、ハイパーバイザからこれらの情報を取得してもよいし、ＯＳから取得してもよい。
【００５３】
システム使用率は、ホストサーバでの通信に伴うＣＰＵ負荷を含む値であり、通信によるＣＰＵ負荷を示す指標値としてもよい。ユーザ使用率は、ＶＭ内部での処理に基づく値が大半となる。アイドル率はＣＰＵ負荷がかかっていない部分の割合である。負荷軽減部１０８は、システム使用率が一定値以上となり、アイドル率が一定値以下となった場合にｑｏｓを減少させる。なお、ＶＭ内部の処理はユーザ使用率に反映されるため、システム使用率が十分小さい場合には、アイドル率が一定値以下であっても通信処理によるホストサーバのＣＰＵ負荷が増加しているわけではないので、負荷軽減部１０８は処理を行わない。
【００５４】
例えば負荷軽減部１０８は、ソフトＩ／Ｏ処理を行うプロセスに着目して、一定期間の間に処理にかかった時間をプロセス単位に測定して、その割合を合計することでＩ／Ｏ負荷を示す指標値として求めてもよい。この場合、合計値が一定値以上となったら、負荷軽減部１０８はｑｏｓを減少させる。もしくは、過負荷となる出力元の仮想ＮＩＣを求めて、コントローラ経由で出力元の仮想ＮＩＣを管理するホストサーバに帯域を減じる指示を出す。
【００５５】
出力元仮想ＮＩＣを割り出す方法として、Ｉ／Ｏ負荷の高いホストサーバ内で、受信パケット数のレートが最も高い仮想ＮＩＣを洗い出し、その仮想ＮＩＣを通過するパケットをキャプチャで観測して送信元を割り出す方法が考えられる。このとき、受信パケット数は、例えばハイパーバイザから仮想ＮＩＣを通過したパケット数を取得することによって求められる。
【００５６】
コントローラから分配リストに登録された仮想ＮＩＣを示すＮＩＣ  ＩＤを指定して帯域を減じる指示が来た場合、例えば図９に示す処理によって帯域設定を行う。すなわち、ａｖｅｒａｇｅより小さい値を仮想ＮＩＣの実帯域設定値として設定し、フリーズフラグをオンにする。図９の処理において、ｋはあらかじめ設定された値であり、０＜ｋ＜１を満たす。例えば、ｋ＝０．７とすることができる。また、指示を受けた仮想ＮＩＣが確保リストに登録されている場合には、コントローラへ設定不可を返信して、コントローラから保守者にアラートを送信する等の処理を行う。
【００５７】
制御対象判定部１０９は、分配リストに登録された仮想ＮＩＣのうち、ｏｕｔｂｏｕｎｄが０である仮想ＮＩＣの中より、ａｖｅｒａｇｅが最小制御帯域より大きい仮想ＮＩＣについては、帯域の利用を開始したと判断して、図１０に示すように、ｏｕｔｂｏｕｎｄとａｖｅｒａｇｅに最小リセット帯域を設定する。
【００５８】
リセット部１１０は、分配リストに登録された仮想ＮＩＣのうち、帯域を利用しなくなりつつある仮想ＮＩＣの帯域を絞り込む。また、全く帯域を利用しない仮想ＮＩＣは、最小リセット帯域を設定して、ｏｕｔｂｏｕｎｄを０とすることで制御対象外とする。まず、図１１に示す処理によって、帯域の利用量と設定値の乖離が小さい場合には、フリーズフラグをオフにする。
【００５９】
フリーズフラグは、仮想ＮＩＣのｏｕｔｂｏｕｎｄに比べてａｖｅｒａｇｅは小さいが、一定値以上である場合、またはｒｅａｌはａｖｅｒａｇｅより一定以上大きい場合にオフに設定される。図１１の処理において、ｋ２およびｋ３はあらかじめ設定された値であり、０＜ｋ２＜１および０＜ｋ３＜１が満たされる。例えば、ｋ２＝０．７、ｋ３＝０．９とすることができる。
【００６０】
次に、リセット部１１０は、図１２に示す処理によって、仮想ＮＩＣのｏｕｔｂｏｕｎｄとａｖｅｒａｇｅの乖離が大きくなりｏｕｔｂｏｕｎｄを縮小できる仮想ＮＩＣを抽出して、現在の仮想ＮＩＣの実帯域設定値より小さな値を新たな実帯域設定値として設定する。かつ、ｏｕｔｂｏｕｎｄ値を新たな帯域設定値として、フリーズフラグをセットする。ここでは、内部フラグを示すｆｌａｇを用いる。ｆｌａｇは０で初期化されている。ｋ４はあらかじめ設定された値であり、０＜ｋ４＜１を満たす。例えば、ｋ４＝０．８とすることができる。
【００６１】
最後に、リセット部１１０は、図１２の処理でほとんど通信に利用されていない仮想ＮＩＣ（ｆｌａｇ＝１）に対して、図１３に示す処理によってリセット処理を行う。具体的には、リセット部１１０は、ｆｌａｇ＝１である仮想ＮＩＣの最小リセット帯域を仮想ＮＩＣの実帯域設定値として設定して、ｏｕｔｂｏｕｎｄは０として、フリーズフラグをオフにする。
【００６２】
設定帯域平準化部１１１は、帯域分配サービスに属する仮想ＮＩＣのｏｕｔｂｏｕｎｄの最大値と最小値の差に一定以上の乖離がある場合に、両者の差を縮める方向で是正する。設定帯域平準化部１１１は、以下の処理をホストサーバ単位で１回のみ実行してもよいし、複数回実行してもよい。
【００６３】
設定帯域平準化部１１１は、ｏｕｔｂｏｕｎｄが０でなく、フリーズフラグがオフである仮想ＮＩＣから最大値となるｏｕｔｂｏｕｎｄを持つ仮想ＮＩＣを探し出す。ｏｕｔｂｏｕｎｄが０でなく、フリーズフラグがオフであり、かつｏｕｔｂｏｕｄ／ｍａｘｒａｔｅがｋ５より小さい仮想ＮＩＣから最小値となるｏｕｔｂｏｕｎｄを持つ仮想ＮＩＣを探し出して処理を行う。ｋ５はあらかじめ設定された値であり、０＜ｋ５＜１を満たす。例えば、ｋ５＝０．９５とすることができる。
【００６４】
そして、設定帯域平準化部１１１は、ｏｕｔｂｏｕｎｄが最大である仮想ＮＩＣと最小である仮想ＮＩＣのｏｕｔｂｏｕｎｄをそれぞれｍａｘ、ｍｉｎとする。最小となる仮想ＮＩＣを探す際に、ｏｕｔｂｏｕｎｄ＝ｍａｘｒａｔｅの仮想ＮＩＣは除外して探す。また、設定帯域平準化部１１１は、ホストサーバ内の全ての仮想ＮＩＣのｏｕｔｂｏｕｎｄの平均をａｖｅとする。
【００６５】
そして、設定帯域平準化部１１１は、ｍａｘ／ｍｉｎ＞ｋ６の場合、処理を行う。ｋ６はあらかじめ設定された値であり、ｋ６＞１を満たす。例えば、ｋ６＝２とすることができる。そして、ｏｕｔｂｏｕｎｄが最大である仮想ＮＩＣの再設定値をｓｅｔ＿ｍａｘ、ｏｕｔｂｏｕｎｄが最小である仮想ＮＩＣの再設定値をｓｅｔ＿ｍｉｎとして、図１４に示す方法で各再設定値を計算する。ｋ７はあらかじめ設定された値であり、０＜ｋ７＜１を満たす。例えば、ｋ７＝０．３３とすることができる。
【００６６】
そして、設定帯域平準化部１１１は、ｏｕｔｂｏｕｎｄが最大である仮想ＮＩＣのｓｅｔ＿ｍａｘを仮想ＮＩＣの実帯域設定値として設定して、ｏｕｔｂｏｕｎｄをｓｅｔ＿ｍａｘとし、フリーズフラグをオンにする。また、ａｖｅｒａｇｅ＞ｓｅｔ＿ｍａｘの場合、設定帯域平準化部１１１は、ａｖｅｒａｇｅにｓｅｔ＿ｍａｘを設定する。
【００６７】
また、設定帯域平準化部１１１は、ｏｕｔｂｏｕｎｄが最小である仮想ＮＩＣのｍａｘｒａｔｅがｓｅｔ＿ｍｉｎより小さい場合、ｓｅｔ＿ｍｉｎ＝ｍａｘｒａｔｅとして、ｓｅｔ＿ｍｉｎを仮想ＮＩＣの実帯域設定値として設定して、ｏｕｔｂｏｕｎｄをｓｅｔ＿ｍｉｎとし、フリーズフラグをオンにする。また、ａｖｅｒａｇｅ＜ｓｅｔ＿ｍｉｎの場合、設定帯域平準化部１１１は、ａｖｅｒａｇｅにｓｅｔ＿ｍｉｎを設定する。
【００６８】
帯域圧縮部１１２は、ｂｆｓ＞ｑｏｓである場合に、仮想マシン出力制御機能部１０の前回処理時より、帯域確保サービスユーザの実利用帯域ｂｒｓが増加したものと判断して処理を行う。帯域圧縮部１１２は、帯域分配サービスユーザがｑｏｓより大きく帯域を利用している場合、仮想マシン出力制御機能部１０の前回処理時に設定した帯域分配サービス用の帯域全体を縮小して、ｑｏｓに合わせる処理を行う。帯域圧縮部１１２は、ｑｏｓに１より小さい値をかけて、安全な値にしてから動作判定してもよい。
【００６９】
帯域圧縮部１１２は、まず、図１５に示す方法により、ｂｆｓとｑｏｓと、動作している仮想ＮＩＣ数から、減少させる帯域の平均値ｂｗ＿ｐ＿ＮＩＣを求める。そして、帯域圧縮部１１２は、帯域分配サービスに属する全仮想ＮＩＣ数から、所定の割合で帯域を減少させる仮想ＮＩＣの処理数を求める。そして、ｏｕｔｂｏｕｎｄが大きいものから順に、処理数だけ仮想ＮＩＣを抽出する。このとき、フリーズフラグがオンである仮想ＮＩＣは除外される。
【００７０】
そして、帯域圧縮部１１２は、図１６に示す方法によって、ｏｕｔｂｏｕｎｄと仮想ＮＩＣの実帯域設定を再設定する。このとき、帯域圧縮部１１２は、抽出した仮想ＮＩＣのｏｕｔｂｏｕｎｄからｂｗ＿ｐ＿ＮＩＣを減じた値をｏｕｔｂｏｕｎｄに設定する。また、ｏｕｔｂｏｕｎｄからｂｗ＿ｐ＿ＮＩＣを減じた値が最小制御帯域未満である場合は、最小制御帯域をｏｕｔｂｏｕｎｄに設定する。また、帯域圧縮部１１２は、ａｖｅｒａｇｅからｂｗ＿ｐ＿ＮＩＣを減じた値をｏｕｔｂｏｕｎｄに設定してもよい。求めたｏｕｔｂｏｕｎｄ値に従って、仮想ＮＩＣの実帯域設定値を再設定する。
【００７１】
帯域延伸部１１３は、ｂｆｓ＞ｑｏｓでない場合に、帯域分配サービスユーザの帯域が、図１の帯域Ｂに達していないものと判断して処理を行う。帯域延伸部１１３は、帯域分配サービスユーザがｑｏｓより少なく帯域を利用している場合、仮想マシン出力制御機能部１０の前回処理時に設定した帯域分配サービス用の帯域全体を増加して、ｑｏｓに合わせる処理を行う。
【００７２】
帯域延伸部１１３は、まず、図１７に示す方法により、ｂｆｓとｑｏｓと、動作している仮想ＮＩＣ数から、増加させる帯域の平均値ｂｗ＿ｒ＿ＮＩＣを求める。そして、帯域延伸部１１３は、ｂｗ＿ｒ＿ＮＩＣが最小制御帯域より小さい場合には処理を終了する。全仮想ＮＩＣ数から所定の割合で、帯域を増加させる仮想ＮＩＣの処理数を求める。そして、ｏｕｔｂｏｕｎｄが小さいものから順に、処理数だけ、下記の条件を満たす仮想ＮＩＣを抽出する。なお、ｋ８はあらかじめ設定された値であり、０＜ｋ８＜１を満たす。例えば、ｋ８＝０．７とすることができる。
（条件）
フリーズフラグがオフ
ｏｕｔｂｏｕｎｄ＞０
ｏｕｔｂｏｕｎｄ＊ｋ８＜ａｖｅｒａｇｅ（帯域を利用している）
ｏｕｔｂｏｕｎｄ＜ｍａｘｒａｔｅ（増加の余地がある）
【００７３】
そして、帯域延伸部１１３は、図１８に示す方法によって、ｏｕｔｂｏｕｎｄと仮想ＮＩＣの実帯域設定を再設定する。このとき、帯域延伸部１１３は、抽出した仮想ＮＩＣのｏｕｔｂｏｕｎｄにｂｗ＿ｒ＿ＮＩＣを加えた値をｏｕｔｂｏｕｎｄに設定する。
また、ｏｕｔｂｏｕｎｄにｂｗ＿ｒ＿ＮＩＣを加えた値がｑｏｓ＊ｋ９より大きく、かつｏｕｔｂｏｕｎｄがｑｏｓ＊ｋ９より小さい場合、ｑｏｓ＊ｋ９をｏｕｔｂｏｕｎｄに設定する。なお、ｋ９はあらかじめ設定された値であり、０＜ｋ９＜１を満たす。例えば、ｋ９＝０．３とすることができる。また、ｏｕｔｂｏｕｎｄにｂｗ＿ｐ＿ＮＩＣを加えた値がｍａｘｒａｔｅより大きい場合は、ｍａｘｒａｔｅをｏｕｔｂｏｕｎｄに設定する。求めたｏｕｔｂｏｕｎｄ値に従って、仮想ＮＩＣの実帯域設定値を再設定する。
【００７４】
ここで、仮想マシン出力制御機能部１０の処理について、図１９を用いて説明する。図１９は、第１の実施形態に係る帯域制御システムの仮想マシン出力制御機能部の処理の一例を示す図である。図１９に示すように、まず、インタフェースリスト読込部１０３は確保リストおよび分配リストを読み込む（ステップＳ１０３）。そして、帯域確保サービス設定部１０４は設定値と異なる仮想ＮＩＣの帯域を再設定する（ステップＳ１０４）。
【００７５】
帯域利用状況測定部１０５は仮想ＮＩＣの帯域利用状況を測定する（ステップＳ１０５）。そして、帯域利用状況把握部１０６は仮想ＮＩＣのｒｅａｌおよびａｖｅｒａｇｅを取得する（ステップＳ１０６）。次に、帯域計算部１０７はｂｒｓ、ｂｆｓ、ｑｏｓを算出する（ステップＳ１０７）。ここで、負荷軽減部１０８は、ホストサーバのＣＰＵ負荷とＩ／Ｏ負荷を軽減するための制御を行う（ステップＳ１０８）。
【００７６】
制御対象判定部１０９は制御対象外の仮想ＮＩＣの中で実際に帯域利用が再開された仮想ＮＩＣを制御対象とする（ステップＳ１０９）。そして、リセット部１１０は帯域を使用しなくなりつつある仮想ＮＩＣの帯域を絞り込み、または、全く帯域を利用しない仮想ＮＩＣを制御対象外とする（ステップＳ１１０）。次に、設定帯域平準化部１１１は最大の帯域設定となる仮想ＮＩＣと最小の帯域設定となる仮想ＮＩＣ間の、帯域設定値の差を小さくするように、帯域を再設定する（ステップＳ１１１）。
【００７７】
帯域圧縮部１１２は、ｂｆｓ＞ｑｏｓである場合（ステップＳ１１６、Ｙｅｓ）に、帯域の圧縮を行う（ステップＳ１１２）。また、帯域延伸部１１３は、ｂｆｓ＞ｑｏｓでない場合（ステップＳ１１６、Ｎｏ）に、帯域の延伸を行う（ステップＳ１１３）。最後に、公平化リスト書出部１１４は新たな分配リストを出力する（ステップＳ１１４）。
【００７８】
［サービス判定機能部］
ここで、サービス判定機能部２０について説明する。サービス判定機能部２０の方式として、入力パケットに対して直接優先度を付与する第１の方式、および入力パケットの優先度を把握して優先度情報をカプセル化機能部３０に送付する第２の方式が考えられる。帯域制御システム１がカプセル化機能部３０を備えない構成である場合は、第１の方式を採用する必要がある。
【００７９】
サービス判定機能部２０またはカプセル化機能部３０は、ホストサーバ上の仮想マシンから送出されたパケットに対し、仮想マシンの利用するサービスの種別に応じた優先度を、物理ネットワーク上で認識可能な形式で付与する。また、サービス判定機能部２０またはカプセル化機能部３０は、帯域確保サービスを利用する仮想マシンから送出されたパケットに、帯域分配サービスを利用する仮想マシンから送出されたパケットより高い優先度を付与する。どちらのサービスも利用しないパケットには、帯域分配サービスより低い優先度を付与する。
【００８０】
［第１の方式］
図２０を用いて第１の方式について説明する。図２０は、第１の実施形態に係る帯域制御システムのサービス判定機能部の第１の方式について説明するための図である。図２０に示すように、第１の方式において、サービス判定機能部２０は、まず仮想ＮＩＣが出力したパケットのイーサネット（登録商標）ヘッダ情報やＩＰヘッダ情報、送信元仮想ＮＩＣの、各情報の組み合わせにより、帯域確保サービスに該当するか、帯域分配サービスに該当するか、もしくはいずれにも該当しないかを判定し、判定結果とパケット情報を優先度マーキング機能に送付する（ステップＳ２１１）。
【００８１】
サービス判定機能部２０は、送信元仮想ＮＩＣのＭＡＣアドレスを判定の条件として用いてもよい。その他にもサービス判定機能部２０は、送信元仮想ＮＩＣのＭＡＣアドレスと宛先仮想ＮＩＣのＭＡＣアドレスの両方を条件としてもよいし、送信元仮想ＮＩＣのＭＡＣアドレスとＩＰルータのＭＡＣアドレス（送信元仮想ＮＩＣと同一論理ＬＡＮに属するインタフェースのＭＡＣアドレス）と、送信元仮想ＮＩＣのＩＰアドレスと宛先仮想ＮＩＣのＩＰアドレスを判定条件としてもよい。また、サービス判定機能部２０は、優先度が高い条件から判定を進める。
【００８２】
次に、サービス判定機能部２０は、サービス判定機能での判定の結果に応じて、あらかじめ設定された優先度をパケットに付与する（ステップＳ２１２）。サービス判定機能部２０は、帯域確保サービスを利用するパケットに最高の優先度を設定し、帯域分配サービスを利用するパケットに中の優先度を設定し、どのサービスにも属さないパケットには最低の優先度を設定する。サービス判定機能部２０は、例えばＩＰパケットのＴｏＳ（Type  Of  Service）フィールド、またはイーサネットヘッダのＶＬＡＮの  ＰＣＰフィールド、もしくはその両方に優先度を設定する。
【００８３】
［第２の方式］
図２１を用いて第２の方式について説明する。図２１は、第１の実施形態に係る帯域制御システムのサービス判定機能部の第２の方式について説明するための図である。図２１に示すように、第２の方式において、サービス判定機能部２０は、通過するパケットが帯域確保サービスや帯域分配サービスの対象となるか、もしくはいずれのサービスも利用しないかを判定して（ステップＳ２２１）、その判定結果をカプセル化機能部３０へ送信する（ステップＳ２２２）。なお、サービス判定機能部２０は、第２の方式においても第１の方式と同様の判定方法を用いる。
【００８４】
［カプセル化機能部］
カプセル化機能部３０は、オーバーレイ型の仮想ネットワークを利用する場合に利用する。カプセル化機能部３０は、カプセル化の実施、およびカプセルの解除を行う。カプセル化する際には、カプセル化前の優先度情報をカプセル化後の優先度情報として継承させる。また、カプセル化機能部３０は、カプセル化部によってカプセル化が行われたパケットに対して優先度を付与する。
【００８５】
また、カプセル化機能部３０は、前述したサービス判定機能部２０の第１の方式および第２の方式に対応した方式によって動作する。なお、サービス判定機能部２０において第２の方式が採用されている場合は、カプセル化機能部３０にパケットが到達した時点では優先度設定が行われていないため、カプセル化機能部３０の前にＱｏＳ機能部４０を備えないように構成する必要がある。
【００８６】
［第１の方式］
サービス判定機能部２０で第１の方式が採用されている場合、カプセル化機能部３０においても第１の方式が採用される。図２２を用いて第１の方式について説明する。図２２は、第１の実施形態に係る帯域制御システムのカプセル化機能部の第１の方式について説明するための図である。図２２に示すように、第１の方式において、カプセル化機能部３０は、まず、カプセル化を行うかカプセルの解除を行うかを判定する（ステップＳ３１１）。
【００８７】
カプセル化機能部３０は、カプセルを解除する場合（ステップＳ３１１、解除）、カプセルの解除を行い（ステップＳ３１５）処理を終了する。具体的には、カプセル化機能部３０は、入力パケット（イーサフレーム全体）の中に含まれるカプセル化する前のパケット（イーサフレーム全体）を取り出し、出力する。
【００８８】
カプセル化機能部３０は、カプセル化を行う場合（ステップＳ３１１、カプセル化）、まず、ＩＰパケットのＴｏＳフィールド、または、イーサネットヘッダのＶＬＡＮ  ＰＣＰフィールドに記載された優先度を読み込み、パケットの優先度を把握する（ステップＳ３１２）。
【００８９】
そして、カプセル化機能部３０は、入力パケット（イーサフレーム全体）に対して、新たなカプセル化後の送信元ＩＰアドレスと宛先ＩＰアドレスを適用し、ＩＰパケットとしてカプセル化する（ステップＳ３１３）。カプセル化の方式としてＶＸＬＡＮ、ＧＲＥ、ＮＶＧＲＥ、ＳＴＴ等を用いることができる。
【００９０】
また、カプセル化機能部３０は、カプセル化パケットに入力元イーサネットフレームが所属する論理ＮＷを識別するＩＤ情報を設定してもよい。ＩＤ情報を挿入する位置は、各種のカプセル化方式で規定されたフィールドとする（ＶＸＬＡＮの場合：ＶＮＩフィールド、ＧＲＥの場合：ｋｅｙフィールド、ＮＶＧＲＥの場合：ＶＳＩＤフィールド、ＳＴＴの場合：ｃｏｎｔｅｘｔ  ＩＤフィールド）。そして、カプセル化機能部３０は、カプセル化前に把握した優先度を、カプセル化したパケットの対応するフィールドに対して付与する（ステップＳ３１４）。
【００９１】
［第２の方式］
サービス判定機能部２０で第２の方式が採用されている場合、カプセル化機能部３０においても第２の方式が採用される。図２３を用いて第２の方式について説明する。図２３は、第１の実施形態に係る帯域制御システムのカプセル化機能部の第２の方式について説明するための図である。図２３に示すように、第２の方式において、カプセル化機能部３０は、まず、カプセル化を行うかカプセルの解除を行うかを判定する（ステップＳ３２１）。カプセル化機能部３０は、カプセルを解除する場合（ステップＳ３２１、解除）、第１の方式と同様の方法でカプセルの解除を行い（ステップＳ３２４）処理を終了する。
【００９２】
カプセル化機能部３０は、カプセル化を行う場合（ステップＳ３２１、カプセル化）、第１の方式と同様の方法でカプセル化を行う（ステップＳ３２２）。そして、カプセル化機能部３０は、サービス判定機能部２０から優先度情報を受け取り、カプセル化前に把握した優先度を、カプセル化したパケットの対応するフィールドに対して付与する（ステップＳ３２３）。
【００９３】
［ＱｏＳ機能部］
ＱｏＳ機能部４０は、ＩＰヘッダのＴｏＳフィールド、またはイーサネットヘッダのＶＬＡＮ  ＰＣＰフィールドに記載された優先度に従って優先転送制御を行う。
【００９４】
［帯域監視機能部］
帯域監視機能部５０は、物理ネットワークリンクの利用状況を取得して、帯域確保サービスの通信が帯域を圧迫していないかを監視する。帯域監視機能部５０は、監視のために、ＶＬＡＮ  ＰＣＰフィールドもしくはＩＰ  ＴＯＳフィールドの値別に送受信トラフィック量を把握する。帯域監視機能部５０がルータやスイッチに備えられている場合、帯域監視機能部５０はＳＮＭＰにより送受信トラフィック量を取得することができる。
【００９５】
帯域監視機能部５０がルータやスイッチに備えられていない場合、帯域監視機能部５０は例えばＳＦＬＯＷ（参考文献："InMon  Corporation's  sFlow:  A  Method  for  Monitoring  Traffic  in  Switched  and  Routed  Networks"  ,  RFC3176,  IETF.）やフローコレクタを組合せて監視を行う。
【００９６】
まず、帯域監視機能部５０は監視対象のネットワークリンクが接続するルータやスイッチのインタフェースの帯域と通過パケット量をＳＮＭＰにて取得する。  そして、帯域監視機能部５０は、通過パケット量がインタフェース帯域の大半を占めているものについてフローコレクタで解析をする。フローコレクタは、ＶＬＡＮ  ＰＣＰやＩＰ  ＴＯＳの値ごとに何パーセントを占めているかを測定する。ＳＮＭＰの測定でインタフェース帯域をほぼ利用しており、かつフローコレクタの解析で帯域確保サービスに対応するＶＬＡＮ  ＰＣＰもしくはＩＰ  ＴＯＳの値を持つパケットが大半を占める場合、帯域監視機能部５０は、帯域確保サービスの通信が帯域を圧迫していると判定する。
【００９７】
［第１の実施形態の効果］
仮想マシン出力制御機能部１０は、ホストサーバで利用可能な帯域から、一定の帯域を確保する帯域確保サービスを利用する仮想マシンに対して一定の帯域を優先して割り当て、利用可能な帯域から帯域確保サービスが実際に利用している帯域を除いた帯域を分配する帯域分配サービスを利用する仮想マシンに割り当てる帯域を、ホストサーバの通信による負荷状況に応じて調整する。
【００９８】
具体的に、仮想マシン出力制御機能部１０は、通信によるホストサーバでのＣＰＵ負荷とＩ／Ｏ負荷を示す指標値が所定の値以上である場合に、ホストサーバの利用可能な帯域および帯域確保サービスによる帯域の使用状況に基づいて算出される、帯域分配サービスに割り当て可能な帯域の設定値を減少させ、減少させた設定値に基づいて帯域分配サービスに割り当てる帯域を調整する。
【００９９】
また、サービス判定機能部２０またはカプセル化機能部３０は、ホストサーバ上の仮想マシンから送出されたパケットに対し、仮想マシンの利用するサービスの種別に応じた優先度を、物理ネットワーク上で認識可能な形式で付与する。
【０１００】
また、サービス判定機能部２０またはカプセル化機能部３０は、帯域確保サービスを利用する仮想マシンから送出されたパケットに、帯域分配サービスを利用する仮想マシンから送出されたパケットより高い優先度を付与する。
【０１０１】
例えば、サービス判定機能部２０またはカプセル化機能部３０は、帯域確保サービスを利用する仮想マシンから送出されたパケット、帯域分配サービスを利用する仮想マシンから送出されたパケット、いずれのサービスも利用しない仮想マシンから送出されたパケットの順で高い優先度を付与する。また、カプセル化機能部３０はカプセル化部によってカプセル化が行われたパケットに対して優先度を付与する。
【０１０２】
このように、第１の実施形態の帯域制御システム１によれば、仮想環境においてホストサーバ内の仮想ＮＩＣから物理ＮＩＣまでの区間での帯域制御を行うことができるようになるため、仮想環境における帯域確保サービスおよび帯域分配サービスを実現することができ、さらに送信元仮想ＮＩＣから宛先仮想ＮＩＣまでのＥｎｄ−Ｅｎｄ帯域サービスを実現できる。
【０１０３】
また、第１の実施形態の負荷軽減部１０８は、ホストサーバ内での帯域制御によってホストサーバにおける通信により発生するＣＰＵ負荷とＩ／Ｏ負荷状態に対応している。このため、通信に伴う負荷による通信帯域低下を避けることができる。
【０１０４】
また、第１の実施形態のサービス判定機能部２０やカプセル化機能部３０は、オーバーレイ型の仮想ネットワークを用いた場合であっても、カプセル化前の印をカプセル化後のパケットに継承することができ、物理ルータや物理スイッチの帯域制御機能と連携することができる。
【０１０５】
［第２の実施形態］
第１の実施形態において、仮想マシン出力制御機能部１０は、全ＶＭの出力帯域を制御することによって帯域制御を実現している。これに対して、第２の実施形態では、クラス化キューイングにより帯域制御を実現する。
【０１０６】
［第２の実施形態の詳細］
第２の実施形態に係る帯域制御システム１の構成は、仮想マシン出力制御機能部１０を除いて第１の実施形態に係る帯域制御システム１の構成と同様である。以降、第２の実施形態で用いるクラス化キューイングについて説明し、その後仮想マシン出力制御機能部１０の構成について説明する。
【０１０７】
［クラス化キューイング］
図２４を用いてクラス化キューイングについて説明する。図２４は、第２の実施形態に係る帯域制御システムの仮想マシン出力制御機能部におけるキューの構成の一例を示す図である。図２４の各クラスにおいて、「１：２１」等はクラス名を表している。また、ｒａｔｅは要求帯域を表している。また、ｃｅｉｌが設定されているクラスには、同一階層内で帯域が余った場合にｃｅｉｌで示した値までｒａｔｅを設定することができる。各クラスには、ｒａｔｅやｃｅｉｌで示す帯域制御を行うためのキューが紐付いている。
【０１０８】
クラス化キューイングは、ホストサーバの利用可能な帯域が要求帯域として割り当てられたＣｌａｓｓ１：、Ｃｌａｓｓ１：の下位クラスであって帯域確保サービスで使用される帯域が要求帯域として割り当てられたクラス１：１１、Ｃｌａｓｓ１：の下位クラスであって帯域分配サービスで使用される帯域が要求帯域として割り当てられたクラス１：１２、クラス１：１２の下位クラスであってクラス１：１２に割り当てられた帯域を分配した帯域が要求帯域として割り当てられたクラス１：２１等の末端クラスによって構成される。
【０１０９】
Ｃｌａｓｓ１：では図１の帯域Ｃに相当する帯域を定義する。Ｃｌａｓｓ１：のｒａｔｅは１０Ｇｂｐｓに設定されている。そして、クラス１：１１は帯域確保サービスで利用するキューを示し、図１の帯域Ａ２と対応している。クラス１：１１のｒａｔｅは５Ｇｂｐｓに設定されている。
【０１１０】
クラス１：２１が属する帯域分配階層に属するクラス（クラス１：２２、クラス１：２３等）は、帯域分配サービスで利用するクラスである。帯域分配サービスの合計帯域はクラス１：１２で定義され、帯域分配サービスではこの設定値を超えて帯域を利用することはできない。ただし、クラス１：１２のｒａｔｅは帯域確保サービスの帯域と分け合い５Ｇｂｐｓと設定されているが、帯域確保サービスユーザが帯域を利用していない場合には、ｃｅｉｌに設定されているように最大で１０Ｇｂｐｓまで利用可能である。
【０１１１】
帯域分配サービスのクラスの数は、後述するパケット振分処理におけるマッチングルールの記載方法によって変化する。帯域分配サービスで利用するクラスは、公平化したい単位ごとに１つとする。例えば、テナント単位で公平化したい場合にはホストサーバに収容するテナントごとにひとつのクラスに紐付き、ＶＭ単位で公平化したい場合にはホストサーバに収容するＶＭがそれぞれ異なるクラスに紐付くことになる。
【０１１２】
なお、各クラスで設定するｒａｔｅは、同一階層のクラスに設定したｒａｔｅの合計値が接続している上位階層のｒａｔｅで示す帯域を超えないようにする。また、各クラスのｃｅｉｌは、接続している上位階層のｃｅｉｌを超えないようにする。仮想マシン出力制御機能部１０は、クラス１：１１、１：１２および末端クラスの要求帯域を増減させることで帯域分配サービスを利用する仮想マシンに割り当てる帯域を調整する。また、クラスごとにパケットを転送するためのキューが用意されており、ｒａｔｅやｃｅｉｌに従って帯域制御が行われる。
【０１１３】
図２５を用いて仮想マシン出力制御機能部の構成について説明する。図２５は、第２の実施形態に係る帯域制御システムの仮想マシン出力制御機能部の構成の一例を示す図である。図２５に示すように、仮想マシン出力制御機能部１０はパケット振分部１２１およびレート制御部１２２を有する。
【０１１４】
パケット振分部１２１は、入力されたパケットのイーサネットフレームヘッダ情報、ＩＰヘッダ情報、もしくはそれらを組み合わせた情報と判定条件を比較して、入力パケットが帯域確保サービスに属するか、帯域分配サービスに属するかを判定する。
【０１１５】
そして、パケット振分部１２１は、帯域確保サービスに属するパケットをクラス１：１１のキューに保存する。また、パケット振分部１２１は、帯域分配サービスに属するパケットを、さらに細かい判定条件に従って、帯域分配階層のいずれかのクラスのキューに保存する。例えば、パケット振分部１２１は帯域確保サービスを利用する仮想マシンから送出されたパケットをクラス１：１１に振り分け、帯域分配サービスを利用する仮想マシンから送出されたパケットを末端クラスに振り分ける。
【０１１６】
パケット振分部１２１は、送信元仮想ＮＩＣのＭＡＣアドレスを判定の条件として用いてもよい。その他にもパケット振分部１２１は、送信元仮想ＮＩＣのＭＡＣアドレスと宛先仮想ＮＩＣのＭＡＣアドレスの両方を条件としてもよいし、送信元仮想ＮＩＣのＭＡＣアドレスとＩＰルータのＭＡＣアドレス（送信元仮想ＮＩＣと同一論理ＬＡＮに属するインタフェースのＭＡＣアドレス）と、送信元仮想ＮＩＣのＩＰアドレスと宛先仮想ＮＩＣのＩＰアドレスを判定条件としてもよい。
【０１１７】
レート制御部１２２は、パケット振分部１２１が各キューに送信したパケットを帯域設定に従って帯域制御を行い出力する。例えば、レート制御部１２２は、各クラスに割り当てた帯域設定に従い、パケットの転送レートを制御する。
【０１１８】
レート制御部１２２は、例えばＬｉｎｕｘ（登録商標）のモジュールであるＩＦＢ（参考文献：http://www.linuxfoundation.org/collaborate/workgroups/networking/ifb）とＴＣコマンドによって実現される。また、ホストサーバのＯＳ上の仮想ＮＩＣとの接続インタフェースにおいてＩＦＢへのフォワーディングルールを記載して、ＩＦＢ上でレート制御部１２２を動作させてもよい。
【０１１９】
ここで、図２６を用いて、第２の実施形態の処理について説明する。図２６は、第２の実施形態に係る帯域制御システムのクラス化キューイングの処理および仮想マシン出力制御機能部の処理の一例を示す図である。
【０１２０】
図２６に示すように、まず、仮想マシン出力制御機能部１０は、各クラスのｃｅｉｌに基づいてｒａｔｅ、すなわち要求帯域の調整を行う（ステップＳ１２０）。このように、仮想マシン出力制御機能部１０は、クラス１：１２および末端クラスの要求帯域を増減させることで帯域分配サービスを利用する仮想マシンに割り当てる帯域を調整する。
【０１２１】
次に、パケット振分部１２１は、各クラスにパケットを振り分ける（ステップＳ１２１）。このとき、パケット振分部１２１は帯域確保サービスを利用する仮想マシンから送出されたパケットをクラス１：１１に振り分け、帯域分配サービスを利用する仮想マシンから送出されたパケットを末端クラスに振り分ける。
【０１２２】
そして、レート制御部１２２は、各キューに送信したパケットを帯域設定に従ってレート制御を行う（ステップＳ１２２）。このとき、レート制御部１２２は、各クラスに割り当てた帯域設定に従い、パケットの転送レートを制御する。
【０１２３】
［第２の実施形態の効果］
ホストサーバで利用可能な帯域を割り当てたＣｌａｓｓ１：、Ｃｌａｓｓ１：の下位クラスであって帯域確保サービスで使用される帯域を割り当てたクラス１：１１、Ｃｌａｓｓ１：の下位クラスであって帯域分配サービスで使用される帯域を割り当てたクラス１：１２、クラス１：１２の下位クラスであってクラス１：１２に割り当てた帯域を分配した帯域を割り当てたクラス１：２１等の末端クラスによって構成されるクラス化キューイングにおいて、パケット振分部１２１は帯域確保サービスを利用する仮想マシンから送出されたパケットをクラス１：１１に振り分け、帯域分配サービスを利用する仮想マシンから送出されたパケットを末端クラスに振り分ける。
【０１２４】
また、レート制御部１２２は、各クラスに割り当てた帯域設定に従い、パケットの転送レートを制御する。仮想マシン出力制御機能部１０は、クラス１：１２および末端クラスの要求帯域を増減させることで帯域分配サービスを利用する仮想マシンに割り当てる帯域を調整する。
【０１２５】
このように、第２の実施形態の帯域制御システム１によれば、第１の実施形態の帯域制御システム１と同様に、仮想環境においてホストサーバ内の仮想ＮＩＣから物理ＮＩＣまでの区間での帯域制御を行うことができるようになるため、仮想環境における帯域確保サービスおよび帯域分配サービスを実現することができ、さらに送信元仮想ＮＩＣから宛先仮想ＮＩＣまでのＥｎｄ−Ｅｎｄ帯域サービスを実現できる。
【０１２６】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵ（Central  Processing  Unit）および当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１２７】
また、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１２８】
［プログラム］
図２７は、プログラムが実行されることにより、帯域制御システムが実現されるコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【０１２９】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ（Random  Access  Memory）１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【０１３０】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、帯域制御システム１の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、帯域制御システム１における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤ（Solid  State  Drive）により代替されてもよい。
【０１３１】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【０１３２】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３およびプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３およびプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【０１３３】
１  帯域制御システム
１０  仮想マシン出力制御機能部
２０  サービス判定機能部
３０  カプセル化機能部
４０  ＱｏＳ機能部
５０  帯域監視機能部
１０１  帯域確保サービス用インタフェースリスト
１０２  帯域分配サービス用インタフェースリスト
１０３  インタフェースリスト読込部
１０４  帯域確保サービス設定部
１０５  帯域利用状況測定部
１０６  帯域利用状況把握部
１０７  帯域計算部
１０８  負荷軽減部
１０９  制御対象判定部
１１０  リセット部
１１１  設定帯域平準化部
１１２  帯域圧縮部
１１３  帯域延伸部
１１４  公平化リスト書出部
１２１  パケット振分部
１２２  レート制御部
【図１】
0006352869.tif 000002
【図２】
0006352869.tif 000003
【図３】
0006352869.tif 000004
【図４】
0006352869.tif 000005
【図５】
0006352869.tif 000006
【図６】
0006352869.tif 000007
【図７】
0006352869.tif 000008
【図８】
0006352869.tif 000009
【図９】
0006352869.tif 000010
【図１０】
0006352869.tif 000011
【図１１】
0006352869.tif 000012
【図１２】
0006352869.tif 000013
【図１３】
0006352869.tif 000014
【図１４】
0006352869.tif 000015
【図１５】
0006352869.tif 000016
【図１６】
0006352869.tif 000017
【図１７】
0006352869.tif 000018
【図１８】
0006352869.tif 000019
【図１９】
0006352869.tif 000020
【図２０】
0006352869.tif 000021
【図２１】
0006352869.tif 000022
【図２２】
0006352869.tif 000023
【図２３】
0006352869.tif 000024
【図２４】
0006352869.tif 000025
【図２５】
0006352869.tif 000026
【図２６】
0006352869.tif 000027
【図２７】
0006352869.tif 000028