(57)【特許請求の範囲】
【請求項１】
物理マシン上で動作する仮想マシンのネットワーク接続関係を示す論理トポロジ情報における仮想マシン間又は仮想マシンが接続された論理ＬＡＮ（Local  Area  Network）へ設定する設定帯域を受け付ける帯域設定受付部と、
物理マシンのネットワーク接続関係を示す物理トポロジ情報と、前記帯域設定受付部により受け付けられた設定帯域とから、該設定帯域が設定された仮想マシンと対応する、該仮想マシンが動作する物理マシン、該物理マシンが有する物理ＮＩＣ（Network  Interface  Card）及び該物理マシン間の物理リンクについて、それぞれの所要帯域を算出する所要帯域算出部と、
前記所要帯域算出部により算出された所要帯域が閾値を越えているか否かを判定する第１の判定部と、
前記第１の判定部により所要帯域が閾値を越えていると判定された物理マシン、物理ＮＩＣ又は物理リンクと対応する仮想マシンについて警報を出力する警報部と、
物理マシン上で動作する仮想マシンによる前記物理マシンのＣＰＵ（Central  Processing  Unit）の利用状況を取得し、取得した利用状況が閾値を超える場合は、前記警報部へ警報を通知するＣＰＵ利用状況確認部と、
前記設定帯域の再設定を要求する再設定要求部と
を備え、
前記警報部は、前記利用状況が前記閾値を超えた仮想マシンを別の物理マシンへマイグレーションするマイグレーション実行部を更に備え、
前記再設定要求部は、前記マイグレーション実行部によるマイグレーション後に、前記設定帯域の再設定を要求する
ことを特徴とする帯域制御装置。
【請求項２】
前記ＣＰＵ利用状況確認部は、前記仮想マシンに割り当てた前記物理マシンのＣＰＵコアでの処理であるｖＣＰＵ処理と、前記仮想マシンに割り当てたＣＰＵコア以外の前記物理マシンのＣＰＵコアでの処理であるＨＶ処理それぞれの前記物理マシンのＣＰＵの利用状況を取得する
ことを特徴とする請求項１に記載の帯域制御装置。
【請求項３】
前記第１の判定部により所要帯域が閾値を越えていると判定されなかった場合には、前記帯域設定受付部により受け付けられた前記仮想マシン間又は前記論理ＬＡＮへの設定帯域を、該仮想マシン間又は該論理ＬＡＮへ設定する帯域設定部
をさらに備えることを特徴とする請求項１又は２に記載の帯域制御装置。
【請求項４】
帯域制御装置が実行する帯域制御方法であって、
物理マシン上で動作する仮想マシンのネットワーク接続関係を示す論理トポロジ情報における仮想マシン間又は仮想マシンが接続された論理ＬＡＮ（Local  Area  Network）へ設定する設定帯域を受け付ける帯域設定受付工程と、
物理マシンのネットワーク接続関係を示す物理トポロジ情報と、前記帯域設定受付工程により受け付けられた設定帯域とから、該設定帯域が設定された仮想マシンと対応する、該仮想マシンが動作する物理マシン、該物理マシンが有する物理ＮＩＣ（Network  Interface  Card）及び該物理マシン間の物理リンクについて、それぞれの所要帯域を算出する所要帯域算出工程と、
前記所要帯域算出工程により算出された所要帯域が閾値を越えているか否かを判定する判定工程と、
前記判定工程により所要帯域が閾値を越えていると判定された物理マシン、物理ＮＩＣ又は物理リンクと対応する仮想マシンについて警報を出力する警報工程と、
物理マシン上で動作する仮想マシンによる前記物理マシンのＣＰＵ（Central  Processing  Unit）の利用状況を取得し、取得した利用状況が閾値を超える場合は、前記警報工程へ警報を通知するＣＰＵ利用状況確認工程と、
前記設定帯域の再設定を要求する再設定要求工程と
を含み、
前記警報工程は、前記利用状況が前記閾値を超えた仮想マシンを別の物理マシンへマイグレーションするマイグレーション実行工程を更に備え、
前記再設定要求工程は、前記マイグレーション実行工程によるマイグレーション後に、前記設定帯域の再設定を要求する
ことを特徴とする帯域制御方法。
【請求項５】
請求項１〜３のいずれか１つに記載の帯域制御装置としてコンピュータを機能させる帯域制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、帯域制御装置、帯域制御方法及び帯域制御プログラムに関する。
【背景技術】
【０００２】
従来から、ネットワークにおいて、帯域制御を行う種々の技術がある。例えば、ネットワークを流通するパケットの優先度に応じて帯域の優先制御を行う技術がある。また、ネットワークの始点ノード及び終点ノード間で制御パケットを送受信し、通過するネットワークノードで帯域確保する技術がある。また、ネットワークにおいて輻輳が発生した場合に、送信側のサーバの送信レートを制御する方法がある。また、帯域値として固定値を割り当てる技術がある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】“Definition  of  the  Differentiated  Services  Field  (DS  Field)  in  the  IPv4  and  IPv6  Headers.”,  RFC2474,  IETF,  1998.
【非特許文献２】“Resource  ReSerVation  Protocol  (RSVP)  --  Version  1  Functional  Specification.”,  RFC2205,  IETF,  1997.
【非特許文献３】H.  Rodrigues,  J.  R.  Santos,  Y.  Turner,  P.  Soares,  and  D.  Guedes.  “Gatekeeper:  Supporting  bandwidth  guarantees  for  multi-tenant  datacenter  networks.”.  In  USENIX  WIOV,  2011.
【非特許文献４】L.  Popa,  P.  Yalagandula,  S.  Banerjee,  J.  C.  Mogul,  Y.  Turner,  J.  R.  Santos,  “ElasticSwitch:  Practical  Work-Conserving  Bandwidth  Guarantees  for  Cloud  Computing.”,  In  SIGCOMM’13,  2013.
【非特許文献５】“An  Architecture  for  Differentiated  Services.”,  section  2.3.3.3  -  definition  of  “Shaper”  and  section  2.3.3.4  -  definition  of  “Doropper”,  RFC2475,  IETF,  1998.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、近年、サーバやネットワーク機器の仮想化が進展しつつあり、物理マシン上で動作する仮想マシンが、物理マシン上で動作する仮想化されたネットワークインタフェースである仮想ＮＩＣ（Network  Interface  Card）を介して通信を行うネットワークが構築されるようになってきている。複数の仮想マシン及び複数の仮想ＮＩＣは、同一の物理マシン、物理ＮＩＣ、ネットワークリンク上で動作する場合がある。物理マシン、物理ＮＩＣ、ネットワークリンク上で複数の仮想マシン及び複数の仮想ＮＩＣが動作するため、物理マシン、物理ＮＩＣ、ネットワークリンクの処理能力を越えて複数の仮想マシン間へ帯域を設定した場合には、各仮想マシン間の帯域確保ができない。すなわち、上記技術では、仮想マシン間の帯域をエンド・トゥ・エンドで確保することはできない。
【０００５】
本願が開示する実施形態の一例は、上記に鑑みてなされたものであって、仮想マシン間の帯域をエンド・トゥ・エンドで確保することを目的とする。
【課題を解決するための手段】
【０００６】
本願の実施形態の一例は、物理マシン上で動作する仮想マシンのネットワーク接続関係を示す論理トポロジ情報における始点及び終点の仮想マシン間又は仮想マシンが接続された論理ＬＡＮ（Local  Area  Network）への設定帯域の設定を受け付ける。そして、物理マシンのネットワーク接続関係を示す物理トポロジ情報と、受け付けられた設定帯域とから、設定帯域が設定された仮想マシンと対応する、仮想マシンが動作する物理マシン、物理マシンが有する物理ＮＩＣ及び物理マシン間の物理リンクについて、それぞれの所要帯域を算出する。そして、算出された所要帯域が閾値を越えているか否かを判定する。そして、所要帯域が閾値を越えていると判定された物理マシン、物理ＮＩＣ又は物理リンクと対応する仮想マシンについて警報を出力する。そして、物理マシン上で動作する仮想マシンによる物理マシンのＣＰＵ（Central  Processing  Unit）の利用状況を取得し、取得した利用状況が閾値を超える場合は、警報を通知する。そして、利用状況が閾値を超えた仮想マシンを別の物理マシンへマイグレーションする。そして、マイグレーション後に、設定帯域の再設定を要求する。
【発明の効果】
【０００７】
本願が開示する実施形態の一例によれば、例えば、仮想マシン間の帯域をエンド・トゥ・エンドで確保することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、帯域制御システムの構成の一例を示す図である。
【図２】図２は、帯域制御装置の帯域設定表作成部の構成の一例を示す図である。
【図３】図３は、論理トポロジ情報の一例を示す図である。
【図４Ａ】図４Ａは、帯域設定表の一例を示す図である。
【図４Ｂ】図４Ｂは、帯域設定表の一例を示す図である。
【図４Ｃ】図４Ｃは、帯域設定表の一例を示す図である。
【図４Ｄ】図４Ｄは、帯域設定表の一例を示す図である。
【図４Ｅ】図４Ｅは、帯域設定表の一例を示す図である。
【図４Ｆ】図４Ｆは、帯域設定表の一例を示す図である。
【図４Ｇ】図４Ｇは、帯域設定表の一例を示す図である。
【図４Ｈ】図４Ｈは、帯域設定表の一例を示す図である。
【図４Ｉ】図４Ｉは、帯域設定表の一例を示す図である。
【図５】図５は、帯域設定表作成部による帯域設定表の作成処理手順の一例を示すフローチャートである。
【図６】図６は、帯域設定状況確認部の構成の一例を示す図である。
【図７Ａ】図７Ａは、ホスト帯域設定表の一例を示す図である。
【図７Ｂ】図７Ｂは、ＮＩＣ帯域設定表の一例を示す図である。
【図８Ａ】図８Ａは、ホスト帯域設定表の一例を示す図である。
【図８Ｂ】図８Ｂは、ＮＩＣ帯域設定表の一例を示す図である。
【図９Ａ】図９Ａは、ホスト帯域設定表の一例を示す図である。
【図９Ｂ】図９Ｂは、ＮＩＣ帯域設定表の一例を示す図である。
【図１０Ａ】図１０Ａは、帯域設定状況確認部のトポロジ図作成機能部によるホスト帯域設定表及びＮＩＣ帯域設定表の作成処理手順の一例を示すフローチャートである。
【図１０Ｂ】図１０Ｂは、帯域設定状況確認部のトポロジ図作成機能部によるホスト帯域設定表及びＮＩＣ帯域設定表の作成処理手順の一例を示すフローチャートである。
【図１０Ｃ】図１０Ｃは、帯域設定状況確認部のトポロジ図作成機能部によるホスト帯域設定表及びＮＩＣ帯域設定表の作成処理手順の一例を示すフローチャートである。
【図１０Ｄ】図１０Ｄは、帯域設定状況確認部のトポロジ図作成機能部によるホスト帯域設定表及びＮＩＣ帯域設定表の作成処理手順の一例を示すフローチャートである。
【図１１】図１１は、物理トポロジ情報の一例を示す図である。
【図１２】図１２は、物理トポロジ情報の一例を示す図である。
【図１３Ａ】図１３Ａは、物理トポロジ把握テーブルの一例を示す図である。
【図１３Ｂ】図１３Ｂは、リンク帯域設定表の一例を示す図である。
【図１４Ａ】図１４Ａは、物理トポロジ把握テーブルの一例を示す図である。
【図１４Ｂ】図１４Ｂは、リンク帯域設定表の一例を示す図である。
【図１４Ｃ】図１４Ｃは、リンク帯域設定表の一例を示す図である。
【図１５Ａ】図１５Ａは、帯域設定状況確認部のトポロジ作成機能部によるリンク帯域設定表の作成処理手順の一例を示すフローチャートである。
【図１５Ｂ】図１５Ｂは、帯域設定状況確認部のトポロジ作成機能部によるリンク帯域設定表の作成処理手順の一例を示すフローチャートである。
【図１６】図１６は、帯域設定状況確認部の帯域確認機能部による帯域確認処理手順の一例を示すフローチャートである。
【図１７】図１７は、帯域設定状況確認部の帯域設定機能部による帯域設定処理手順の一例を示すフローチャートである。
【図１８】図１８は、ＣＰＵ利用状況確認部の構成の一例を示す図である。
【図１９Ａ】図１９Ａは、ＣＰＵ処理情報テーブルの一例を示す図である。
【図１９Ｂ】図１９Ｂは、ＣＰＵ利用状況テーブルの一例を示す図である。
【図２０】図２０は、ＣＰＵ利用状況確認部の利用状況取得機能部による利用状況取得処理手順の一例を示すフローチャートである。
【図２１】図２１は、ＣＰＵ利用状況確認部の利用状況確認機能部による利用状況確認処理手順の一例を示すフローチャートである。
【図２２】図２２は、警報部による警報処理手順の一例を示すフローチャートである。
【図２３】図２３は、再設定要求部による再設定要求処理手順の一例を示すフローチャートである。
【図２４】図２４は、プログラムが実行されることにより、帯域制御装置が実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【０００９】
［実施形態］
以下、本願が開示する帯域制御装置、帯域制御方法及び帯域制御プログラムの実施形態を説明する。なお、以下の実施形態は、一例を示すに過ぎず、本願が開示する技術を限定するものではない。また、以下に示す実施形態及びその他の実施形態は、矛盾しない範囲で適宜組合せてもよい。
【００１０】
なお、以下の実施形態でいう「ホストサーバ」は、物理的なサーバ装置、つまり“物理マシン”である。また、「仮想サーバ」は、「ホストサーバ」上で動作する“仮想マシン”である。「ホストサーバ」では、ホストＯＳ（Operating  System）が動作し、ホストＯＳ上で、「ホストサーバ」上で動作する「仮想サーバ」を管理する「仮想管理ソフトウェア」が動作する。また、「物理ＮＩＣ」は、「ホストサーバ」が有する物理的なネットワークインタフェースである。また、「仮想ＮＩＣ」は、「ホストサーバ」上で動作する「仮想サーバ」がネットワーク通信に用いる、「物理ＮＩＣ」上でエミュレーションされる仮想化されたＮＩＣである。実施形態では、「仮想ＮＩＣ」を、ｖＮＩＣ（virtual  ＮＩＣ）と表記する場合がある。
【００１１】
また、以下の実施形態では、「ユーザ」は、Ｌ２／Ｌ３ネットワーク接続された仮想サーバを含む仮想環境を利用する利用者である。また、「オペレータ」は、ユーザの仮想環境に対して、オペレータ端末から帯域制御に関する各種設定、操作を入力し、ユーザの仮想環境を管理する管理者である。
【００１２】
（帯域制御システムの構成）
図１は、帯域制御システムの構成の一例を示す図である。帯域制御システム１は、帯域制御装置１００、論理トポロジ管理装置２００、物理トポロジ管理装置３００、ホストサーバ４００−１〜４００−ｎ（ｎは所定の自然数）を有する。ホストサーバ４００−１〜４００−ｎは、それぞれで仮想管理ソフトウェアが動作し、各仮想管理ソフトウェアにより、各ホストサーバでの仮想マシンの動作が管理される。帯域制御システム１は、データセンタ内に設けられ、ホストサーバ４００−１〜４００−ｎのうち、１以上のホストサーバ上で動作する１以上の仮想サーバにより、ユーザに対して仮想環境を提供する。
【００１３】
論理トポロジ管理装置２００は、後述する論理トポロジ情報２００ａを格納する。論理トポロジ情報２００ａは、ユーザ別の仮想サーバと論理ＬＡＮとそれらの接続構成を含む。論理ＬＡＮとは、ＩＥＥＥ８０２．１ｑに対応したＶＬＡＮ（Virtual  Local  Area  Network）などのＬ２ネットワークである。物理トポロジ管理装置３００は、後述する物理トポロジ情報３００ａを格納する。物理トポロジ情報３００ａは、仮想サーバが動作するホストサーバ、仮想サーバのｖＮＩＣが通信に用いるホストサーバの物理ＮＩＣ、物理スイッチのフォワードテーブル、物理ＮＩＣの上限帯域値（ＮＩＣ帯域上限値）、ホストサーバ内部の帯域上限値、ホストサーバを含む物理ネットワークトポロジ、ネットワークリンクの上限帯域値（リンク帯域上限値）を含む。
【００１４】
帯域制御装置１００は、帯域設定表作成部１１０、帯域設定状況確認部１２０、ＣＰＵ（Central  Processing  Unit）利用状況確認部１３０、警報部１４０、再設定要求部１５０、帯域設定表ＤＢ（Data  Base）１６０、トポロジＤＢ１７０、ＣＰＵ利用状況ＤＢ１８０を有する。帯域設定表ＤＢ１６０は、後述する帯域設定表１６０ａを格納する。トポロジＤＢ１７０は、後述する、ホスト帯域設定表１７０ａ、ＮＩＣ帯域設定表１７０ｂ、リンク帯域設定表１７０ｃ、物理トポロジ把握テーブル１７０ｗを格納する。ＣＰＵ利用状況ＤＢ１８０は、後述する、ＣＰＵ処理情報テーブル１８０ａ、ＣＰＵ利用状況テーブル１８０ｂを格納する。
【００１５】
帯域設定表作成部１１０は、仮想ＮＩＣへの帯域設定に必要な情報を生成する機能部であり、複数の仮想サーバや論理ＬＡＮを指定した帯域条件を、各仮想サーバ間の帯域条件として管理する。帯域設定状況確認部１２０は、ホストサーバ内部の処理可能帯域、ホストサーバの物理ＮＩＣの帯域、ネットワークリンクの帯域に設定可能な帯域上限と帯域条件を比較し、設定可能な帯域上限を超える場合には、警報を警報部１４０へ通知し、超えない場合には仮想ＮＩＣに帯域設定する。
【００１６】
ＣＰＵ利用状況確認部１３０は、ホストサーバのＣＰＵの処理量、通信処理を行う仮想サーバのＣＰＵ使用量を把握し、ホストサーバのＣＰＵが処理可能な量を超える場合には、警報を警報部１４０へ通知する。警報部１４０は、帯域設定状況確認部１２０又はＣＰＵ利用状況確認部１３０から通知を受信すると、帯域制御システム１のオペレータへ警報を報知する。帯域制御システム１のオペレータは、警報部１４０から警報を報知された際には、警報のレベル（例えばＥｒｒｏｒ（エラー）、Ｗｏｒｎｉｎｇ（ワーニング：警告））の区別を判定し、仮想サーバを再配置することで、各種物理帯域やホストサーバのＣＰＵの処理を平準化し、帯域サービスを維持する。または、警報部１４０は、報知する警報のレベルに応じて、仮想サーバの再配置（マイグレーション）を実行する。
【００１７】
（帯域設定表作成部の構成）
図２は、帯域制御装置の帯域設定表作成部の構成の一例を示す図である。図２は、図１に示す帯域制御装置１００が有する帯域設定表作成部１１０を示す図である。帯域設定表作成部１１０は、設定表作成機能部１１１を有する。
【００１８】
設定表作成機能部１１１は、オペレータが指定する仮想サーバ又は論理ＬＡＮを含む論理ネットワークの構成を論理トポロジ管理装置２００から取得する。そして、設定表作成機能部１１１は、オペレータによる仮想サーバ間もしくは論理ＬＡＮを指定した帯域設定の要求を受け付ける。そして、設定表作成機能部１１１は、オペレータ指定の帯域設定値に従って、後述の帯域設定表１６０ａを作成する。
【００１９】
帯域設定表１６０ａは、後述の通り、帯域設定表ＤＢ１６０に保存される。帯域設定表１６０ａは、一対の仮想サーバ間の帯域設定情報を列挙したものである。帯域設定表１６０ａは、オペレータ指定の、複数仮想サーバ間への帯域設定値又は論理ＬＡＮへの帯域設定値を、一対の仮想サーバ間の帯域設定の組合せとして、帯域設定表１６０ａへ一対の仮想サーバ毎に記載する。
【００２０】
設定表作成機能部１１１は、帯域設定表１６０ａを作成後、作成した帯域設定表１６０ａを帯域設定状況確認部１２０へ送信する。
【００２１】
より具体的には、設定表作成機能部１１１は、ユーザが所有する仮想サーバと論理ＬＡＮとそれらの接続構成を、論理トポロジ管理装置２００から取得する。設定表作成機能部１１１は、論理ＬＡＮとその論理ＬＡＮに接続する仮想サーバ群の情報（すなわちＬ２レイヤで通信可能な仮想サーバ群を把握するための情報）、論理ＬＡＮ間を接続するルータ及び／又はフォワーダの情報（Ｌ３レイヤで通信可能な仮想サーバ群を把握するための情報）を含むテーブルを作成する。
【００２２】
また、設定表作成機能部１１１は、オペレータが、複数の仮想サーバを指定して仮想サーバ間の通信帯域を設定するためのＧＵＩ（Graphical  User  Interface）又はＣＬＩ（Command  Line  Interface）等を提供し、オペレータが入力した設定に従って、後述する仮想サーバ間の帯域設定表１６０ａを作成する。
【００２３】
例えば、オペレータは、複数の仮想サーバとｖＮＩＣを選択して、通信方向別に帯域設定できる。また、オペレータは、論理ＬＡＮを選択して、帯域設定できる。オペレータは、帯域設定時に、フルメッシュ（以下、ＦＭ（Full  Mesh）と表記する場合がある）型、バス（以下、Ｂ（Bus）と表記する場合がある）型を選択できる。
【００２４】
帯域設定の内容は、帯域設定表１６０ａで表現する。例えば、図４Ａ〜図４Ｉを参照して後述するように、帯域設定表１６０ａは、「ＩＤ」、「行番号」、「始点仮想サーバ」、「始点仮想サーバｖＮＩＣ」、「終点仮想サーバ」、「終点仮想サーバｖＮＩＣ」、「帯域設定値（Ｍｂｐｓ）」、「制御方式」、「ＴＹＰＥ」（ＦＭ型、Ｂ型の区別）のカラムを有する。
【００２５】
「ＩＤ」は、帯域設定表１６０ａを識別する情報である。「行番号」は、帯域設定表１６０ａにおける行を識別する情報であり、当該行に記載された「始点仮想サーバ」、「始点仮想サーバｖＮＩＣ」、「終点仮想サーバ」、「終点仮想サーバｖＮＩＣ」、「帯域設定値（Ｍｂｐｓ）」、「制御方式」、「ＴＹＰＥ」の組合せを識別する情報である。「始点仮想サーバ」は、当該行で識別される通信経路の始点となる仮想サーバを示す。「始点仮想サーバｖＮＩＣ」は、当該行で識別される通信経路の始点となる仮想サーバの仮想ＮＩＣを示す。「終点仮想サーバ」は、当該行で識別される通信経路の終点となる仮想サーバを示す。「終点仮想サーバｖＮＩＣ」は、当該行で識別される通信経路の終点となる仮想サーバの仮想ＮＩＣを示す。
【００２６】
「制御方式」は、帯域の制御方式を示す。「制御方式」が設定帯域が固定値である場合は、この固定値が最大速度となり、いかなるときでもこの固定値の帯域までは利用可能とする制御方式である。設定帯域が固定値の場合の帯域制御については、文献１「“An  Architecture  for  Differentiated  Services.”,  section  2.3.3.3  -  definition  of  “Shaper”  and  section  2.3.3.4  -  definition  of  “Doropper”,  RFC2475,  IETF,  1998」に詳述されている。また、「制御方式」が設定帯域が最低値である場合は、この最低値が最低速度となり、いかなるときでもこの帯域までは利用できるが、物理回線の帯域に空きがある場合はこれ以上利用可能とする制御方式である。設定帯域が最低値の場合の帯域制御については、文献２「H.  Rodrigues,  J.  R.  Santos,  Y.  Turner,  P.  Soares,  and  D.  Guedes.  “Gatekeeper:  Supporting  bandwidth  guarantees  for  multi-tenant  datacenter  networks.”.  In  USENIX  WIOV,  2011.」、文献３「L.  Popa,  P.  Yalagandula,  S.  Banerjee,  J.  C.  Mogul,  Y.    Turner,  J.  R.  Santos,  “ElasticSwitch:  Practical  Work-Conserving  Bandwidth  Guarantees  for  Cloud  Computing.”,  In  SIGCOMM’13,  2013.」に詳述されている。
【００２７】
「制御方式」は、設定帯域が固定値又は最低値等があるが、これらから一つを選択する。帯域設定が必要ない場合には“ｎｏｎ”とし、ベストエフォート通信や帯域シェア型の通信とする。
【００２８】
制御方式によっては、フルメッシュ型の場合には固定値、バス型の場合には最低値というルールを作成する場合もある。固定値、最低値、ベストエフォートが混在する場合に、相互に影響を及ぼさないようにするため、網内で優先制御を用いて区別する方法がある。優先制御については、文献４「“Definition  of  the  Differentiated  Services  Field  (DS  Field)  in  the  IPv4  and  IPv6  Headers.”,  RFC2474,  IETF,  1998.」に詳述されている。
【００２９】
設定表作成機能部１１１は、新たに作成した帯域設定表１６０ａのみを帯域設定状況確認部１２０へ送信するとともに、帯域設定表ＤＢ１６０に保存する。
【００３０】
なお、帯域設定表１６０ａの作成時に適用されるルールは、次の（ａ）〜（ｇ）の７つがある。
（ａ）「ＩＤ」は、全ての帯域設定表１６０ａの中でユニークな値とする。「行番号」は、帯域設定表１６０ａのなかでユニークな値であり、変更されることはない。
（ｂ）帯域設定対象となる一対の通信区間は、始点サーバ及び始点サーバｖＮＩＣと終点サーバ及び終点サーバｖＮＩＣの４つの値のセットで示す。
（ｃ）Ｌ３／Ｌ２で接続できない通信区間は、帯域設定表１６０ａに登録できない。
（ｄ）一つ、もしくは、全ての帯域設定表１６０ａ内において、１つの「始点仮想サーバｖＮＩＣ」及び「終点仮想サーバｖＮＩＣ」には、方向別に１つの「制御方式」のみ設定できる。
（ｅ）仮想サーバ間の通信区間は、複数の帯域設定表１６０ａに登録できるが、１つの通信区間の帯域設定は、１つの帯域設定表１６０ａでのみ可能とする。
（ｆ）「ＴＹＰＥ」は、１つの帯域設定表１６０ａ内で１種類のみ選択できる。
（ｇ）「ＴＹＰＥ」が「Ｂ」（バス型）の場合には、論理ＬＡＮ単位で、帯域設定表１６０ａ内の「設定帯域」と「制御方式」を同一とする。かつ、異なる帯域設定表１６０ａに同一の論理ＬＡＮに接続する、同一のｖＮＩＣが登録されている場合には、方向別に、全ての帯域設定表１６０ａの帯域設定値が同一でなければならない。
【００３１】
（帯域設定表について）
図３に示す論理トポロジ情報２００ａ及び図４Ａ〜図４Ｉに示す帯域設定表１６０ａを参照し、帯域設定表作成部１１０により作成される帯域設定表１６０ａについて説明する。図３は、論理トポロジ情報の一例を示す図である。図４Ａ〜図４Ｉは、帯域設定表の一例を示す図である。なお、図４Ａ〜図４Ｉに示す帯域設定表１６０ａは、上記（ａ）〜（ｇ）のルールに関する背反事項を含む。これは、図４Ａ〜図４Ｉは、あくまで異なる条件に基づき独立に作成される個別の帯域設定表１６０ａを示すに過ぎず、図４Ａ〜図４Ｉに示す全ての帯域設定表１６０ａが同時に帯域設定表ＤＢ１６０に格納されることを示すものではない。しかし、帯域設定表ＤＢ１６０は、上記（ａ）〜（ｇ）のルールに関する背反事項を含まない限り、複数の帯域設定表ＤＢ１６０を格納できる。
【００３２】
帯域設定表作成部１１０は、帯域設定表１６０ａの作成に先立ち、論理トポロジ管理装置２００から、図３に例示するような論理トポロジ情報２００ａを取得する。論理トポロジ情報２００ａは、仮想ＮＩＣを介した仮想マシン間の接続状況を示す図である。図３に示す論理トポロジ情報２００ａの例では、仮想サーバＡが仮想ＮＩＣａ１を有し、仮想サーバＢが仮想ＮＩＣｂ１及びｂ２を有し、仮想サーバＣが仮想ＮＩＣｃ１及びｃ２を有し、仮想サーバＤが仮想ＮＩＣｄ１を有する。
【００３３】
ＬＡＮαは、仮想ＮＩＣａ１を介した仮想サーバＡと、仮想ＮＩＣｂ１を介した仮想サーバＢと、仮想ＮＩＣｃ１を介した仮想サーバＣとが接続されたＬＡＮである。また、ＬＡＮβは、仮想ＮＩＣｂ２を介した仮想サーバＢと、仮想ＮＩＣｃ２を介した仮想サーバＣと、仮想ＮＩＣｄ１を介した仮想サーバＤとが接続されたＬＡＮである。
【００３４】
図４Ａは、図３に示す論理トポロジ情報２００ａを前提とし、オペレータが仮想サーバＡ及び仮想ＮＩＣａ１（以下、「Ａ：ａ１」と表記する、他の仮想サーバ及び仮想ＮＩＣについても同様とする）、Ｂ：ｂ１の区間を選択し、Ａ：ａ１からＢ：ｂ１への片方向のみ帯域設定した場合に作成される帯域設定表１６０ａである。
【００３５】
また、図４Ｂは、図３に示す論理トポロジ情報２００ａを前提とし、オペレータがＡ：ａ１、Ｂ：ｂ１の区間を選択し、Ａ：ａ１とＢ：ｂ１との間の双方向へ、異なる「制御方式」で帯域設定した場合に作成される帯域設定表１６０ａである。
【００３６】
また、図４Ｃは、図３に示す論理トポロジ情報２００ａを前提とし、オペレータが仮想サーバＡ（以下、「Ａ」と表記する、他の仮想サーバについても同様とする）、Ｂ、Ｃを選択し、さらにＡ：ａ１とＢ：ｂ１、Ａ：ａ１とＣ：ｃ１、Ｂ：ｂ２とＣ：ｃ２の３区間を特定した上で、フルメッシュ型で、双方向で全て異なる帯域設定した場合に作成される帯域設定表１６０ａである。また、図４Ｃにバス型で帯域設定した場合は、図４Ｃの「ＴＹＰＥ」が“Ｂ”になる。この場合には、帯域設定値は全て同じ値に設定する必要がある。
【００３７】
また、図４Ｄは、図３に示す論理トポロジ情報２００ａを前提とし、オペレータがＡ：ａ１、Ｂ：ｂ１、Ｃ：ｃ１の３区間を選択し、バス型で、双方向で帯域設定した場合に作成される帯域設定表１６０ａである。なお、図４Ｄに、フルメッシュ型で帯域設定した場合は、「ＴＹＰＥ」が“ＦＭ”となる。この場合には、帯域設定値は、全ての通信区間で異なる値とできる。
【００３８】
また、図４Ｅは、図３に示す論理トポロジ情報２００ａを前提とし、オペレータがＡ、Ｂ、Ｃの仮想サーバを選択し、さらにＡ：ａ１とＢ：ｂ１、Ａ：ａ１とＣ：ｃ１の２区間を選択し、フルメッシュ型でＢ及びＣからＡへの２対１の片方向通信で帯域設定した場合に作成される帯域設定表１６０ａである。
【００３９】
また、図４Ｆは、図３に示す論理トポロジ情報２００ａを前提とし、オペレータがＡ、Ｂ、Ｃの仮想サーバを選択し、さらにＡ：ａ１とＢ：ｂ１、Ａ：ａ１とＣ：ｃ１の２区間を選択し、バス型でＡからＢ及びＣへの１対２の片方向通信で帯域設定した場合に作成される帯域設定表１６０ａである。
【００４０】
また、図４Ｇは、図３に示す論理トポロジ情報２００ａを前提とし、オペレータがＡ、Ｂ、Ｃ、Ｄの仮想サーバを選択し、さらにＡ：ａ１とＢ：ｂ１、Ａ：ａ１とＣ：ｃ１、Ｂ:ｂ２とＤ：ｄ１、Ｃ：ｃ２とＤ：ｄ１の４区間を選択し、バス型で、双方向通信で帯域設定した場合に作成される帯域設定表１６０ａである。なお、オペレータが、Ａ：ａ１、Ｄ：ｄ１の区間で帯域設定しようとした場合には、エラーで登録できない。
【００４１】
また、図４Ｈは、図３に示す論理トポロジ情報２００ａを前提とし、オペレータがＬＡＮαを指定してフルメッシュで帯域設定した場合に作成される帯域設定表１６０ａである。
【００４２】
また、図４Ｉは、図３に示す論理トポロジ情報２００ａを前提とし、オペレータがＬＡＮαとＬＡＮβを選択し、フルメッシュ型で、ＬＡＮαをａＭｂｐｓの最低値、ＬＡＮβをｂＭｂｐｓの固定値として帯域設定した場合に作成される帯域設定表１６０ａである。なお、図４Ｉにおいて、バス型で帯域設定した場合は、「ＴＹＰＥ」が“Ｂ”となる。この場合には、既に論理ＬＡＮ単位で同一の帯域設定値と制御方式となっているため、図４Ｉと比較して他に異なる点はない。
【００４３】
（帯域設定表作成部による帯域設定表の作成処理手順）
以下、上記図４Ａ〜図４Ｉで示した帯域設定表１６０ａの作成処理手順を説明する。図５は、帯域設定表作成部による帯域設定表の作成処理手順の一例を示すフローチャートである。
【００４４】
先ず、帯域設定表作成部１１０の設定表作成機能部１１１は、オペレータから仮想サーバ及びｖＮＩＣの指定の入力を受け付けたか否かを判定する（ステップＳ１１）。設定表作成機能部１１１は、オペレータから仮想サーバ及びｖＮＩＣの指定の入力を受け付けたと判定した場合（ステップＳ１１Ｙｅｓ）、ステップＳ１２へ処理を移す。一方、設定表作成機能部１１１は、オペレータから論理ＬＡＮの指定の入力を受け付けたと判定した場合（ステップＳ１１Ｎｏ）、ステップＳ１４へ処理を移す。
【００４５】
ステップＳ１２では、設定表作成機能部１１１は、オペレータによる帯域設定を行う通信区間となる２組の仮想サーバ及びｖＮＩＣの指定を受け付ける。次に、設定表作成機能部１１１は、オペレータが指定した仮想サーバ及びｖＮＩＣの組合せに対応する帯域設定表１６０ａを生成する（ステップＳ１３）。設定表作成機能部１１１は、ステップＳ１３で、オペレータが指定した仮想サーバ及びｖＮＩＣの組合せを、通信方向別に、始点仮想サーバと終点仮想サーバの組として帯域設定表１６０ａを生成する。帯域設定表１６０ａにおける「ＩＤ」及び「行番号」は、ユニークな値を用いる（上記（ａ）のルールに該当）。
【００４６】
例えば、設定表作成機能部１１１は、ステップＳ１３で、オペレータがＡ、Ｂの２つの仮想サーバを選択し、ＡのｖＮＩＣをａとし、ＢのｖＮＩＣをｂとした場合に、Ａ：ａ→Ｂ：ｂ、Ｂ：ｂ→Ａ：ａの２行を通信区間として登録した帯域設定表１６０ａを生成する、もしくは、帯域設定表１６０ａへ当該２行を追加する（上記（ｂ）のルールに該当）。なお、論理トポロジ情報２００ａの論理ＬＡＮと仮想サーバの情報より、Ｌ２／Ｌ３レベルで接続できない通信区間をオペレータが登録しようとした場合、エラーを表示する等して、帯域設定表１６０ａへの登録は行わない（上記（ｃ）のルールに該当）。設定表作成機能部１１１は、ステップＳ１３が終了すると、ステップＳ１７へ処理を移す。
【００４７】
一方、ステップＳ１４では、設定表作成機能部１１１は、オペレータによる帯域設定を行う論理ＬＡＮの指定を受け付ける。次に、設定表作成機能部１１１は、論理トポロジ情報２００ａから、オペレータが指定した論理ＬＡＮに接続される仮想サーバ及び仮想サーバのｖＮＩＣを把握する（ステップＳ１５）。次に、設定表作成機能部１１１は、ステップＳ１５で特定した仮想サーバ及びｖＮＩＣの組合せに対応する帯域設定表１６０ａを生成する（ステップＳ１６）。設定表作成機能部１１１は、仮想サーバとｖＮＩＣの組を通信方向別に、全組合せからなる通信区間を登録した帯域設定表１６０ａを生成する。帯域設定表１６０ａにおける「ＩＤ」及び「行番号」は、ユニークな値を用いる（上記（ａ）、（ｂ）のルールに該当）。
【００４８】
例えば、ステップＳ１６において、設定表作成機能部１１１は、オペレータがＡ：ａ、Ｂ：ｂ、Ｃ：ｃの３つの仮想サーバが接続される論理ＬＡＮを選択した場合に、Ａ：ａ→Ｂ、Ｂ：ｂ→Ａ：ａ、Ｂ：ｂ→Ｃ：ｃ、Ｃ：ｃ→Ｂ：ｂ、Ａ：ａ→Ｃ：ｃ、Ｃ：ｃ→Ａ：ａの６行を通信区間として帯域設定表１６０ａへ登録する。設定表作成機能部１１１は、ステップＳ１６が終了すると、ステップＳ１７へ処理を移す。オペレータが、論理ＬＡＮに対して、帯域設定値及び制御方式と、ＴＹＰＥとを与えた場合には、帯域設定表１６０ａの各通信区間の帯域設定値及び制御方式に同じ内容の値と制御方式を与え、ＴＹＰＥを設定する。
【００４９】
ステップＳ１７では、設定表作成機能部１１１は、オペレータによる帯域設定表１６０ａの各通信区間の帯域設定値及び制御方式の指定を受け付け、受け付けた帯域設定値及び制御方式を帯域設定表１６０ａへ登録する。具体的には、設定表作成機能部１１１は、帯域設定表１６０ａに登録された始点仮想サーバ及び始点仮想サーバｖＮＩＣと終点仮想サーバ及び終点仮想サーバｖＮＩＣが示す区間の、帯域設定値、制御方式を登録する。
【００５０】
なお、ステップＳ１７において、設定表作成機能部１１１は、今回設定対象となる始点仮想サーバｖＮＩＣ、もしくは、終点仮想サーバｖＮＩＣの制御方式が、他の帯域設定表１６０ａ内で、異なる制御方式として設定されていないかチェックする。設定表作成機能部１１１は、既に設定有の場合は、オペレータにエラーを表示する等して、他の帯域設定表１６０ａの帯域設定を変更又はキャンセルするか、他の帯域設定表１６０ａを削除するか、今回設定しないか等をオペレータに問い合わせて、適切に処理する（上記（ｄ）のルールに該当）。
【００５１】
また、ステップＳ１７において、設定表作成機能部１１１は、始点仮想サーバ及び始点仮想サーバｖＮＩＣと終点仮想サーバ及び終点仮想サーバｖＮＩＣの組が、他の帯域設定表１６０ａで設定がされていないかチェックする。設定表作成機能部１１１は、既に設定済の場合には、他の帯域設定表１６０ａの帯域設定を変更するか、他の帯域設定表１６０ａを削除するか、今回設定しないか等をオペレータに問い合わせて、適切に処理する（上記（ｅ）のルールに該当）。
【００５２】
次に、ステップＳ１８では、設定表作成機能部１１１は、オペレータが帯域設定表１６０ａの生成を終了するか否かを判定する。設定表作成機能部１１１は、オペレータが帯域設定表１６０ａの生成を終了すると判定した場合（ステップＳ１８Ｙｅｓ）、ステップＳ１９へ処理を移し、オペレータが帯域設定表１６０ａの生成を終了しないと判定した場合（ステップＳ１８Ｎｏ）、ステップＳ１１へ処理を移す。
【００５３】
ステップＳ１９では、設定表作成機能部１１１は、オペレータによるＴＹＰＥの指定を受け付ける。なお、設定表作成機能部１１１は、ステップＳ１９で、オペレータにより「ＴＹＰＥ」“Ｂ”が指定された場合に、帯域設定表１６０ａ内の論理ＬＡＮ単位で帯域設定値もしくは制御方式が異なる場合、オペレータへ修正を促す等する（上記（ｇ）のルールに該当）。次に、ステップＳ２０では、設定表作成機能部１１１は、ステップＳ１９で受け付けたＴＹＰＥを帯域設定表１６０ａへ登録する（上記（ｆ）のルールに該当）。設定表作成機能部１１１は、ステップＳ２０が終了すると、帯域設定表の作成処理を終了する。
【００５４】
（帯域設定状況確認部の構成）
図６は、帯域設定状況確認部の構成の一例を示す図である。帯域設定状況確認部１２０は、帯域設定表作成部１１０により作成された帯域設定表１６０ａを取得する。そして、帯域設定状況確認部１２０は、物理トポロジ管理装置３００から取得した物理トポロジ情報３００ａから、ホストサーバと物理ＮＩＣと物理ネットワークリンクの情報と仮想サーバとの関係及び帯域設定する仮想サーバ間の通信経路を把握する。そして、帯域設定状況確認部１２０は、ホストサーバの処理上限、物理ＮＩＣの上限帯域、物理ネットワークリンクの上限帯域を超えた論理トポロジとなっている場合には、警報部１４０へ処理を依頼する。
【００５５】
図６に示すように、帯域設定状況確認部１２０は、トポロジ図作成機能部１２１、帯域確認機能部１２２、帯域設定機能部１２３を有する。また、図６に示すトポロジＤＢ１７０は、後述する、ホスト帯域設定表１７０ａ、ＮＩＣ帯域設定表１７０ｂ、リンク帯域設定表１７０ｃ、リンク帯域設定表１７０ｃの生成の際に用いる物理トポロジ把握テーブル１７０ｗを格納する。ホスト帯域設定表１７０ａ、ＮＩＣ帯域設定表１７０ｂ、リンク帯域設定表１７０ｃの３つのテーブルを、トポロジ図と総称する。
【００５６】
（トポロジ図作成機能部について）
トポロジ図作成機能部１２１は、帯域設定表作成部１１０もしくは再設定要求部１５０から、新たに設定するための帯域設定表１６０ａを取得する。トポロジ図作成機能部１２１は、帯域設定表１６０ａが複数の場合には、帯域設定表１６０ａ単位に処理を実行する。トポロジ図作成機能部１２１は、再設定要求部１５０から帯域設定表１６０ａを取得した際に、全再設定の場合には、トロポジＤＢ１７０を全クリアする。トポロジ図作成機能部１２１は、部分再設定の場合には、再設定対象箇所のトポロジＤＢ１７０をクリアする。
【００５７】
また、トポロジ図作成機能部１２１は、物理トポロジ管理装置３００から、仮想サーバが動作するホストサーバ、ホストサーバ内部の帯域上限値、仮想サーバのｖＮＩＣが通信に用いるホストサーバの物理ＮＩＣ、物理スイッチのフォワードテーブル、物理ＮＩＣの上限帯域値、ホストサーバを含む物理ネットワークトポロジ、ネットワークリンクの上限帯域値を取得する。
【００５８】
そして、トポロジ図作成機能部１２１は、物理トポロジ管理装置３００から取得した情報から、仮想サーバ間の通信がホストサーバ内で行われる場合に必要となるホスト内部の帯域設定状況（ホスト帯域設定表１７０ａ）、仮想サーバ間の通信がホストサーバ間で行われる場合に必要となる物理ＮＩＣの帯域設定状況（ＮＩＣ帯域設定表１７０ｂ）、集約リンクのボトルネック予想に必要となる物理ネットワークのリンク利用状況（リンク帯域設定表１７０ｃ）を作成、又は、ホスト帯域設定表１７０ａ、ＮＩＣ帯域設定表１７０ｂ、リンク帯域設定表１７０ｃに対して必要な情報を追記する。
【００５９】
なお、ホスト帯域設定表１７０ａ及びＮＩＣ帯域設定表１７０ｂは、「ホストサーバ」、「物理ＮＩＣ識別子」、「上限帯域」、「帯域利用状況」、「利用区間」、「判定」のカラムを有する。「利用区間」は、帯域設定表１６０ａの「ＩＤ」と「行番号」の組で表し、一行の「利用区間」内に複数持つことができる。また、リンク帯域設定表１７０ｂは、「リンク識別子」、「上限帯域」、「帯域利用状況」、「利用区間」、「判定」のカラムを有する。「利用区間」は、帯域設定表１６０ａの「ＩＤ」と「行番号」の組を複数持つことができる。
【００６０】
なお、ホスト帯域設定表１７０ａ、ＮＩＣ帯域設定表１７０ｂ、リンク帯域設定表１７０ｃの作成ルールは、次のとおりである。
（Ａ）ホスト帯域設定表１７０ａ、ＮＩＣ帯域設定表１７０ｂ、リンク帯域設定表１７０ｃは、それぞれ１つのみ作成する。帯域設定表１６０ａを複数処理する場合には、ホスト帯域設定表１７０ａ、ＮＩＣ帯域設定表１７０ｂ、リンク帯域設定表１７０ｃに追記する。
（Ｂ）ＮＩＣ帯域設定表１７０ｂは、ホストサーバと物理ＮＩＣ識別子の組を１行のみ記述できる。
（Ｃ）ホスト帯域設定表１７０ａは、ホストサーバ単位に１行のみ記述できる。
（Ｄ）リンク帯域設定表１７０ｃは、リンク１本につき、方向別に１行のみ記述できる。
【００６１】
また、帯域の再設定時における再設定対象箇所のトポロジＤＢ１７０のクリア方法は、次のとおりである。ホスト帯域設定表１７０ａ、ＮＩＣ帯域設定表１７０ｂ、リンク帯域設定表１７０ｃの「利用区間」として、再設定対象の帯域設定表１６０ａの「ＩＤ」と「行番号」が記載された「利用区間」を検索する。そして、帯域設定表１６０ａの「ＩＤ」と「行番号」の組に対応する単位で、次の処理を実行する。すなわち、ホスト帯域設定表１７０ａ、ＮＩＣ帯域設定表１７０ｂ、リンク帯域設定表１７０ｃの「利用区間」の「ＩＤ」と「行番号」の記載があり、帯域利用状況の計算に用いた区間として記載されている場合、各帯域設定行の帯域利用状況に、再設定対象の帯域設定表１６０ａの「ＩＤ」と「行番号」が示す帯域設定値を足し込んで、「利用区間」から「ＩＤ」と「行番号」を削除する。また、ホスト帯域設定表１７０ａ、ＮＩＣ帯域設定表１７０ｂ、リンク帯域設定表１７０ｃの「利用区間」の「ＩＤ」と「行番号」の記載があり、帯域利用状況の計算に用いた区間として記載されていない場合、「利用区間」から「ＩＤ」と「行番号」を削除する。ここで、「帯域利用状況」とは、「上限帯域」から、使用される帯域を差し引いた、“空き帯域”を示す。
【００６２】
（ホスト帯域設定表及びＮＩＣ帯域設定表について）
図７Ａ〜図９Ｂに示すホスト帯域設定表１７０ａ及びＮＩＣ帯域設定表１７０ｂを参照し、トポロジ図作成機能部１２１により作成されるホスト帯域設定表１７０ａ及びＮＩＣ帯域設定表１７０ｂについて説明する。図７Ａ、図８Ａ、図９Ａは、ホスト帯域設定表の一例を示す図である。図７Ｂ、図８Ｂ、図９Ｂは、ＮＩＣ帯域設定表の一例を示す図である。なお、図７Ａ及び図７Ｂに示すホスト帯域設定表１７０ａ及びＮＩＣ帯域設定表１７０ｂの組、図８Ａ及び図８Ｂに示すホスト帯域設定表１７０ａ及びＮＩＣ帯域設定表１７０ｂの組、図９Ａ及び図９Ｂに示すホスト帯域設定表１７０ａ及びＮＩＣ帯域設定表１７０ｂの組は、それぞれ異なる前提に基づき作成された例を示す。トポロジＤＢ１７０は、１つのホスト帯域設定表１７０ａ及び１つのＮＩＣ帯域設定表１７０ｂを格納する。しかし、１つのホスト帯域設定表１７０ａ及び１つのＮＩＣ帯域設定表１７０ｂは、上記（Ａ）〜（Ｄ）のルールに関する背反事項を含まない限り、図７Ａ、図８Ａ、図９Ａの内容及び図７Ｂ、図８Ｂ、図９Ｂの内容をそれぞれ合わせて含むことができる。
【００６３】
図７Ａ及び図７Ｂは、図４Ｉに示す「ＩＤ」“００９”の帯域設定表１６０ａに基づくホスト帯域設定表１７０ａ及びＮＩＣ帯域設定表１７０ｂの作成例を示す。ここでは、２つのホストサーバをホストサーバＨ１（以下、「Ｈ１」と表記する、他のホストサーバについても同様とする）、Ｈ２とする。また、図３に示す仮想サーバＡ（以下、「Ａ」と表記する、他の仮想サーバについても同様とする）、Ｂ、Ｃが同一ホストサーバであるＨ１で動作し、Ｄが別ホストサーバであるＨ２で動作するとする。また、図３に示す仮想サーバＢの仮想ＮＩＣｂ２（以下、「ｂ２」と表記する、他の仮想ＮＩＣについても同様とする）とｃ２の物理ＮＩＣは、Ｈ１の物理ＮＩＣ識別子が“ＮＩＣ−Ｈ１−１”である物理ＮＩＣであるとする。また、図３に示すｄ１の物理ＮＩＣは、Ｈ２の物理ＮＩＣ識別子が“ＮＩＣ−Ｈ２−１”である物理ＮＩＣであるとする。
【００６４】
例えば、図７Ａに示すホスト帯域設定表１７０ａは、「ホストサーバ」“Ｈ１”の「物理ＮＩＣ識別子」“内部（送信）”の「上限帯域」が“２０（Ｇｂｐｓ）”である。また、図４Ｉは、「ホストサーバ」“Ｈ１”の“内部（送信）”において、「帯域設定値」“ａ（Ｍｂｐｓ）”が設定されたａ１→ｂ１（１行目）、ｂ１→ａ１（２行目）、ａ１→ｃ１（３行目）、ｃ１→ａ１（４行目）、ｂ１→ｃ１（５行目）、ｃ１→ｂ１（６行目）の６本のリンクと、「帯域設定値」“ｂ（Ｍｂｐｓ）”が設定されたｂ２→ｃ２（７行目）、ｃ２→ｂ２（８行目）の２本のリンクとが存在することを示す。従って、「ホストサーバ」“Ｈ１”の“内部（送信）”において使用される帯域は、“（６×ａ＋２×ｂ）／１０００（Ｇｂｐｓ）”となる。
【００６５】
さらに、「ホストサーバ」“Ｈ１”の“内部（送信）”において使用される帯域は、物理ＮＩＣを通過するホストサーバ内の使用帯域も考慮する。すなわち、図４Ｉにおいて、ｄ１が受信側の仮想ＮＩＣとなる行は、９行目と１２行目である。「ホストサーバ」“Ｈ１”の“内部（送信）”に含める物理ＮＩＣｄ１を通過するホストサーバ内の使用帯域は、「帯域設定値」“ｂ（Ｍｂｐｓ）”が設定されたｃ２→ｄ１（９行目）、ｂ２→ｄ１（１２行目）の２行である。従って、「ホストサーバ」“Ｈ１”の“ＮＩＣ−Ｈ１−１（送信）”において使用される帯域は、“（２×ｂ）／１０００（Ｇｂｐｓ）”となる。よって、「ホストサーバ」“Ｈ１”の「物理ＮＩＣ」“内部（送信）”の「帯域利用状況」は、“上限帯域（Ｇｂｐｓ）−｛（６×ａ＋２×ｂ）＋（２×ｂ）｝／１０００（Ｇｂｐｓ）”、すなわち“２０−（６×ａ＋４×ｂ）／１０００（Ｇｂｐｓ）”となる。この計算結果である「帯域利用状況」及び「帯域利用状況」の計算に用いた「ＩＤ」及び「行」を、図７Ａに示すように、ホスト帯域設定表１７０ａの「ホストサーバ」“Ｈ１”の「物理ＮＩＣ識別子」“内部（送信）”の「帯域利用状況」及び「利用区間」とする。なお、「利用区間」“００９−１”とは、「ＩＤ」“００９”の帯域設定表１６０ａの１行目を「帯域利用状況」の算出に用いたことを示す。「ホストサーバ」“Ｈ１”の「物理ＮＩＣ識別子」“内部（受信）”の「帯域利用状況」及び「利用区間」も同様にして求まる。ホスト帯域設定表１７０ａのその他の行の「帯域利用状況」及び「利用区間」も同様にして求まる。
【００６６】
また、例えば、図７Ｂに示すＮＩＣ帯域設定表１７０ｂは、「ホストサーバ」“Ｈ１”の「物理ＮＩＣ識別子」“ＮＩＣ−Ｈ１−１（送信）”の「上限帯域」が“１（Ｇｂｐｓ）”である。そして、図４Ｉにおいて、「物理ＮＩＣ識別子」“ＮＩＣ−Ｈ１−１”に該当するｄ１が受信側の仮想ＮＩＣとなる行は、「帯域設定値」“ｂ（Ｍｂｐｓ）”が設定されたｃ２→ｄ１（９行目）、ｂ２→ｄ１（１２行目）の２行である。よって、「ホストサーバ」“Ｈ１”の「物理ＮＩＣ」“ＮＩＣ−Ｈ１−１（送信）”の「帯域利用状況」は、“上限帯域（Ｇｂｐｓ）−（２×ｂ）／１０００（Ｇｂｐｓ）”、すなわち“１−（２×ｂ）／１０００（Ｇｂｐｓ）”となる。この計算結果である「帯域利用状況」及び「帯域利用状況」の計算に用いた「ＩＤ」及び「行」を、図７Ｂに示すように、ＮＩＣ帯域設定表１７０ｂの「ホストサーバ」“Ｈ１”の「物理ＮＩＣ識別子」“ＮＩＣ−Ｈ１−１（送信）”の「帯域利用状況」及び「利用区間」とする。なお、「利用区間」“００９−９”とは、「ＩＤ」“００９”の帯域設定表１６０ａの９行目を「帯域利用状況」の算出に用いたことを示す。「ホストサーバ」“Ｈ１”の「物理ＮＩＣ識別子」“ＮＩＣ−Ｈ１−１（受信）”の「帯域利用状況」及び「利用区間」も同様にして求まる。ＮＩＣ帯域設定表１７０ｂのその他の行の「帯域利用状況」及び「利用区間」も同様にして求まる。
【００６７】
図８Ａ及び図８Ｂは、図４Ｉに示す「ＩＤ」“００９”の帯域設定表１６０ａにおいて「ＴＹＰＥ」を“Ｂ”とし、“方式１”を採用した場合に基づくホスト帯域設定表１７０ａ及びＮＩＣ帯域設定表１７０ｂの他の作成例を示す。
【００６８】
ここで、“方式１”は、「送信レートを制御する帯域制御手法等でバス型を構築する場合」で用いる方式である。“方式１”は、帯域設定表１６０ａの行の「始点仮想サーバｖＮＩＣ」と同一の「始点仮想サーバｖＮＩＣ」がホスト帯域設定表１７０ａの「内部（送信）」行、及びＮＩＣ帯域設定表１７０ｂ内の「物理ＮＩＣ識別子（送信）」行の「利用区間」に記載がある「ＩＤ」と「行番号」が示す「始点仮想サーバｖＮＩＣ」が存在する場合に、該当する帯域設定表１６０ａの「ＩＤ」と「行番号」を、ホスト帯域設定表１７０ａの「内部（送信）」行、及びＮＩＣ帯域設定表１７０ｂの「物理ＮＩＣ識別子（送信）」行の「利用区間」へ、帯域計算に用いない属性を付与して追記する。また、“方式１”は、帯域設定表１６０ａの行の「始点仮想サーバｖＮＩＣ」と同一の「始点仮想サーバｖＮＩＣ」がホスト帯域設定表１７０ａの「内部（送信）」行、及びＮＩＣ帯域設定表１７０ｂの「物理ＮＩＣ識別子（送信）」行の「利用区間」に記載がある「ＩＤ」と「行番号」が示す「始点仮想サーバｖＮＩＣ」が存在しない場合に、ホスト帯域設定表１７０ａの「内部（送信）」行、及びＮＩＣ帯域設定表１７０ｂの「物理ＮＩＣ識別子（送信）」行の「帯域利用状況」＝「帯域利用状況−帯域設定値」として「帯域利用状況」を更新し、該当する帯域設定表１６０ａの「ＩＤ」と「行番号」を、ホスト帯域設定表１７０ａの「内部（送信）」行、及びＮＩＣ帯域設定表１７０ｂの「物理ＮＩＣ識別子（送信）」行の「利用区間」へ追記する。また、“方式１”は、帯域設定表１６０ａの行の「終点仮想サーバｖＮＩＣ」と同一の「終点仮想サーバｖＮＩＣ」がホスト帯域設定表１７０ａの「内部（受信）」行、及びＮＩＣ帯域設定表１７０ｂの「物理ＮＩＣ識別子（受信）」行の「利用区間」に記載がある「ＩＤ」と「行番号」が示す「終点仮想サーバｖＮＩＣ」が存在する場合に、該当する帯域設定表１６０ａの「ＩＤ」と「行番号」を、ホスト帯域設定表１７０ａの「内部（受信）」行、及びＮＩＣ帯域設定表１７０ｂの「物理ＮＩＣ識別子（受信）」行の「利用区間」へ、帯域計算に用いない属性を付与して追記する。また、“方式１”は、帯域設定表１６０ａの行の「終点仮想サーバｖＮＩＣ」と同一の「終点仮想サーバｖＮＩＣ」がホスト帯域設定表１７０ａの「内部（受信）」行、及びＮＩＣ帯域設定表１７０ｂの「物理ＮＩＣ識別子（受信）」行の「利用区間」に記載がある「ＩＤ」と「行番号」が示す「終点仮想サーバｖＮＩＣ」が存在しない場合に、ホスト帯域設定表１７０ａの「内部（受信）」行、及びＮＩＣ帯域設定表１７０ｂの「物理ＮＩＣ識別子（受信）」行の「帯域利用状況」＝「帯域利用状況−帯域設定値」として「帯域利用状況」を更新し、該当する帯域設定表１６０ａの「ＩＤ」と「行番号」を、ホスト帯域設定表１７０ａの「内部（受信）」行、及びＮＩＣ帯域設定表１７０ｂの「物理ＮＩＣ識別子（受信）」行の「利用区間」へ追記する。
【００６９】
図８Ａに示すホスト帯域設定表１７０ａ及び図８Ｂに示すＮＩＣ帯域設定表１７０ｂの「帯域利用状況」及び「利用区間」は、それぞれ図７Ａに示すホスト帯域設定表１７０ａ及び図７Ｂに示すＮＩＣ帯域設定表１７０ｂと同様にして求まる。なお、例えば、図８Ａの「利用区間」“（００９−３）”等は、「帯域利用状況」の算出に用いない属性を示す。
【００７０】
図９Ａ及び図９Ｂは、図４Ｉに示す「ＩＤ」“００９”の帯域設定表１６０ａにおいて「ＴＹＰＥ」を“Ｂ”とし、“方式２”を採用した場合に基づくホスト帯域設定表１７０ａ及びＮＩＣ帯域設定表１７０ｂの他の作成例を示す。
【００７１】
ここで、“方式２”は、「送信レートを制御する帯域制御手法等でバス型を構築する場合」以外で用いる方式である。“方式２”は、帯域設定表１６０ａの行の「始点仮想サーバｖＮＩＣ」と同一の「始点仮想サーバｖＮＩＣ」がホスト帯域設定表１７０ａの「内部（送信）」行、及びＮＩＣ帯域設定表１７０ｂの「物理ＮＩＣ識別子（送信）」行の「利用区間」に記載がある「ＩＤ」と「行番号」が示す「始点仮想サーバｖＮＩＣ」が存在する場合に、該当する帯域設定表１６０ａの「ＩＤ」と「行番号」を、ホスト帯域設定表１７０ａの「内部（送信）」行、及びＮＩＣ帯域設定表１７０ｂの「物理ＮＩＣ識別子（送信）」行の「利用区間」へ、帯域計算に用いない属性を付与して追記する。また、“方式１”は、帯域設定表１６０ａの行の「始点仮想サーバｖＮＩＣ」と同一の「始点仮想サーバｖＮＩＣ」がホスト帯域設定表１７０ａの「内部（送信）」行、及びＮＩＣ帯域設定表１７０ｂの「物理ＮＩＣ識別子（送信）」行の「利用区間」に記載がある「ＩＤ」と「行番号」が示す「始点仮想サーバｖＮＩＣ」が存在しない場合に、ホスト帯域設定表１７０ａの「内部（送信）」行、及びＮＩＣ帯域設定表１７０ｂの「物理ＮＩＣ識別子（送信）」行の「帯域利用状況」＝「帯域利用状況−帯域設定値」として「帯域利用状況」を更新し、該当する帯域設定表１６０ａの「ＩＤ」と「行番号」を、ホスト帯域設定表１７０ａの「内部（送信）」行、及びＮＩＣ帯域設定表１７０ｂの「物理ＮＩＣ識別子（送信）」行の「利用区間」へ追記する。また、“方式２”は、ホスト帯域設定表１７０ａの「内部（受信）」行、及びＮＩＣ帯域設定表１７０ｂの「物理ＮＩＣ識別子（受信）」行の「帯域利用状況」＝「帯域利用状況−帯域設定値」として「帯域利用状況」を更新し、該当する帯域設定表１６０ａの「ＩＤ」と「行番号」を、ホスト帯域設定表１７０ａの「内部（受信）」行、及びＮＩＣ帯域設定表１７０ｂの「物理ＮＩＣ識別子（受信）」行の「利用区間」へ追記する。
【００７２】
図９Ａに示すホスト帯域設定表１７０ａ及び図９Ｂに示すＮＩＣ帯域設定表１７０ｂの「帯域利用状況」及び「利用区間」は、それぞれ図７Ａ及び図８Ａに示すホスト帯域設定表１７０ａならびに図７Ｂ及び図８Ｂに示すＮＩＣ帯域設定表１７０ｂと同様にして求まる。なお、例えば、図９Ａの「利用区間」“（００９−３）”等は、「帯域利用状況」の算出に用いない属性を示す。
【００７３】
（ホスト帯域設定表及びＮＩＣ帯域設定表の作成処理）
図１０Ａ〜図１０Ｄは、帯域設定状況確認部のトポロジ図作成機能部によるホスト帯域設定表及びＮＩＣ帯域設定表の作成処理手順の一例を示すフローチャートである。帯域設定表１６０ａが複数ある場合には、以降の処理を各帯域設定表１６０ａに対して実行する。以降では、単一の帯域設定表１６０ａを処理する方法を示す。先ず、トポロジ図作成機能部１２１は、帯域設定表１６０ａ、仮想サーバが動作するホストサーバ、仮想サーバのｖＮＩＣが利用するホストサーバの物理ＮＩＣ識別子、物理ＮＩＣのＮＩＣ帯域上限値一覧、ホストサーバ内部の帯域上限値一覧を取得する（ステップＳ２１）。
【００７４】
次に、トポロジ図作成機能部１２１は、帯域設定表１６０ａの１行を読み込む（ステップＳ２２）。次に、トポロジ図作成機能部１２１は、ステップＳ２２で読み込んだ帯域設定表１６０ａの行が処理対象であるか否かを判定する（ステップＳ２３）。ここで、帯域設定表１６０ａの行が処理対象であるとは、例えば、「帯域設定値（Ｍｂｐｓ）」及び「制御方式」に“ｎｏｎ”が格納されている場合などである。トポロジ図作成機能部１２１は、ステップＳ２２で読み込んだ帯域設定表１６０ａの行が処理対象であると判定した場合（ステップＳ２３Ｙｅｓ）、ステップＳ２４へ処理を移し、処理対象でないと判定した場合（ステップＳ２３Ｎｏ）、ステップＳ２２へ処理を移す。ステップＳ２２へ処理を移した場合は、トポロジ図作成機能部１２１は、帯域設定表１６０ａの前回読み込んだ１行の次の１行を読み込む。
【００７５】
図１０ＡのステップＳ２４〜図１０ＢのステップＳ４２では、トポロジ図作成機能部１２１は、ホスト帯域設定表１７０ａを作成する。ステップＳ２４では、トポロジ図作成機能部１２１は、ホスト帯域設定表１７０ａに、ステップＳ２２で読み込んだ帯域設定表１６０ａの行に含まれる「始点仮想サーバ」が動作する「ホストサーバ」が登録されているか否かを判定する。トポロジ図作成機能部１２１は、ホスト帯域設定表１７０ａに、ステップＳ２２で読み込んだ帯域設定表１６０ａの行に含まれる「始点仮想サーバ」が動作する「ホストサーバ」が登録されていると判定した場合（ステップＳ２４Ｙｅｓ）、ステップＳ２６へ処理を移す。一方、トポロジ図作成機能部１２１は、ホスト帯域設定表１７０ａに、ステップＳ２２で読み込んだ帯域設定表１６０ａの行に含まれる「始点仮想サーバ」が動作する「ホストサーバ」が登録されていないと判定した場合（ステップＳ２４Ｎｏ）、ステップＳ２５へ処理を移す。ステップＳ２５では、トポロジ図作成機能部１２１は、「ホストサーバ」＝“ホストサーバの識別子”、「物理ＮＩＣ識別子」=“内部（送信）”、「上限帯域」＝“ホストサーバ内部の帯域上限値”、「帯域利用状況」＝“ホストサーバ内部の帯域上限値”として、ホスト帯域設定表に１行追加する。ステップＳ２５の処理が終了すると、トポロジ図作成機能部１２１は、ステップＳ２６へ処理を移す。
【００７６】
ステップＳ２６では、トポロジ図作成機能部１２１は、ステップＳ２２で読み込んだ帯域設定表１６０ａの行に該当する「ＴＹＰＥ」が“ＦＭ”か否かを判定する（ステップＳ２６）。トポロジ図作成機能部１２１は、ステップＳ２２で読み込んだ帯域設定表１６０ａの行に該当する「ＴＹＰＥ」が“ＦＭ”であると判定した場合（ステップＳ２６Ｙｅｓ）、ステップＳ２７へ処理を移す。一方、トポロジ図作成機能部１２１は、ステップＳ２２で読み込んだ帯域設定表１６０ａの行に該当する「ＴＹＰＥ」が“Ｂ”であると判定した場合（ステップＳ２６Ｎｏ）、ステップＳ２８へ処理を移す。
【００７７】
ステップＳ２７では、トポロジ図作成機能部１２１は、「帯域利用状況」＝“帯域利用状況−帯域設定値”として、ホスト帯域設定表１７０ａの該当するホストサーバの「内部（送信）」行の「利用区間」に、帯域設定表１６０ａのＩＤ及び行番号を追記する。トポロジ図作成機能部１２１は、ステップＳ２７が終了すると、図１０ＢのステップＳ３３へ処理を移す。
【００７８】
一方、「ＴＹＰＥ」が“Ｂ”の場合、ステップＳ２８で、トポロジ図作成機能部１２１は、ホスト帯域設定表１７０ａの該当するホストサーバの「内部（送信）」行の「利用区間」に、ステップＳ２２で読み込んだ帯域設定表１６０ａの行と同一の「ＩＤ」があるか否かを判定する。トポロジ図作成機能部１２１は、ホスト帯域設定表１７０ａの該当するホストサーバの「内部（送信）」行の「利用区間」に同一の「ＩＤ」があると判定した場合（ステップＳ２８Ｙｅｓ）、ステップＳ２９へ処理を移し、ホスト帯域設定表１７０ａの該当するホストサーバの「内部（送信）」行の「利用区間」に同一の「ＩＤ」がないと判定した場合（ステップＳ２８Ｎｏ）、ステップＳ３１へ処理を移す。ステップＳ３１では、トポロジ図作成機能部１２１は、「帯域利用状況」＝“帯域利用状況−帯域設定値”として、ホスト帯域設定表１７０ａの該当するホストサーバの「内部（送信）」行の「利用区間」に、帯域設定表１６０ａのＩＤ及び行番号を追記する。トポロジ図作成機能部１２１は、ステップＳ３１が終了すると、図１０ＢのステップＳ３３へ処理を移す。
【００７９】
ステップＳ２９では、トポロジ図作成機能部１２１は、ホスト帯域設定表１７０ａ内の該当するホストサーバの「内部（送信）」行において、ステップＳ２２で今回読み込んだ行に該当するＩＤからなる、各「ＩＤ」と「行番号」が持つ全ての始点仮想サーバｖＮＩＣの中に、ステップＳ２２で今回読み込んだ始点仮想サーバｖＮＩＣと同一のものがあるか否かを判定する。トポロジ図作成機能部１２１は、同一のものがあると判定した場合（ステップＳ２９Ｙｅｓ）、ステップＳ３０へ処理を移し、同一のものがないと判定した場合（ステップＳ２９Ｎｏ）、ステップＳ３２へ処理を移す。
【００８０】
ステップＳ３０では、トポロジ図作成機能部１２１は、ホスト帯域設定表１７０ａの該当するホストサーバの「内部（送信）」行の「利用区間」に、帯域設定表１６０ａのＩＤ及び行番号を、帯域計算に用いない属性を付して追記する。また、ステップＳ３２では、トポロジ図作成機能部１２１は、「帯域利用状況」＝“帯域利用状況−帯域設定値”として、ホスト帯域設定表１７０ａの該当するホストサーバの「内部（送信）」行の「利用区間」に、帯域設定表１６０ａのＩＤ及び行番号を追記する。トポロジ図作成機能部１２１は、ステップＳ３０及びステップＳ３２の処理が終了すると、図１０ＢのステップＳ３３へ処理を移す。
【００８１】
図１０Ｂに移り、ステップＳ３３では、トポロジ図作成機能部１２１は、ホスト帯域設定表１７０ａに、ステップＳ２２で読み込んだ行の「終点仮想サーバ」が動作する「ホストサーバ」が登録されているか否かを判定する。トポロジ図作成機能部１２１は、ホスト帯域設定表１７０ａに、ステップＳ２２で読み込んだ行の「終点仮想サーバ」が動作する「ホストサーバ」が登録されていると判定した場合（ステップＳ３３Ｙｅｓ）、ステップＳ３５へ処理を移す。一方、トポロジ図作成機能部１２１は、ホスト帯域設定表１７０ａに、ステップＳ２２で読み込んだ行の「終点仮想サーバ」が動作する「ホストサーバ」が登録されていないと判定した場合（ステップＳ３３Ｎｏ）、ステップＳ３４へ処理を移す。
【００８２】
ステップＳ３４では、トポロジ図作成機能部１２１は、「終点仮想サーバ」が動作する「ホストサーバ」に対して、「物理ＮＩＣ識別子」＝“内部（受信）”、「上限帯域」＝“ホストサーバ内部の帯域上限値”、「帯域利用状況」＝“ホストサーバ内部の帯域上限値”として、ホスト帯域設定表１７０ａに１行追加する。ステップＳ３４が終了すると、トポロジ図作成機能部１２１は、ステップＳ３５へ処理を移す。
【００８３】
ステップＳ３５では、トポロジ図作成機能部１２１は、「ＴＹＰＥ」は“ＦＭ”か否かを判定する。トポロジ図作成機能部１２１は、「ＴＹＰＥ」は“ＦＭ”であると判定した場合（ステップＳ３５Ｙｅｓ）、ステップＳ３６へ処理を移す。一方、トポロジ図作成機能部１２１は、「ＴＹＰＥ」は“Ｂ”であると判定した場合（ステップＳ３５Ｎｏ）、ステップＳ３７へ処理を移す。ステップＳ３６では、トポロジ図作成機能部１２１は、「帯域利用状況」＝“帯域利用状況−帯域設定値”として、ホスト帯域設定表１７０ａの該当するホストサーバの「内部（受信）」行の「利用区間」に、帯域設定表１６０ａのＩＤ及び行番号を追記する。トポロジ図作成機能部１２１は、ステップＳ３６が終了すると、ステップＳ４３へ処理を移す。
【００８４】
一方、ステップＳ３７では、トポロジ図作成機能部１２１は、ホスト帯域設定表１７０ａの該当するホストサーバの「内部（受信）」行の「利用区間」に、ステップＳ２２で読み込んだ帯域設定表１６０ａの行と同一の「ＩＤ」があるか否かを判定する。トポロジ図作成機能部１２１は、同一の「ＩＤ」があると判定した場合（ステップＳ３７Ｙｅｓ）、ステップＳ３８へ処理を移す。一方、トポロジ図作成機能部１２１は、同一の「ＩＤ」がないと判定した場合（ステップＳ３７Ｎｏ）、ステップＳ４２へ処理を移す。ステップＳ４２では、トポロジ図作成機能部１２１は、「帯域利用状況」＝“上限帯域値−帯域設定値”として、ホスト帯域設定表１７０ａの該当するホストサーバの「内部（受信）」行の「利用区間」に、帯域設定表１６０ａのＩＤ及び行番号を追記する。トポロジ図作成機能部１２１は、ステップＳ４２が終了すると、ステップＳ４３へ処理を移す。
【００８５】
ステップＳ３８では、トポロジ図作成機能部１２１は、ホスト帯域設定表１７０ａの作成方式として“方式１”を採用するか否かを判定する。トポロジ図作成機能部１２１は、ホスト帯域設定表１７０ａの作成方式として“方式１”を採用すると判定した場合（ステップＳ３８Ｙｅｓ）、ステップＳ３９へ処理を移す。一方、トポロジ図作成機能部１２１は、ホスト帯域設定表１７０ａの作成方式として“方式２”を採用すると判定した場合（ステップＳ３８Ｎｏ）、ステップＳ４１へ処理を移す。なお、「送信レートを制御して受信帯域を満足する帯域制御手法等でバス型を構築する」場合には“方式１”を用い、「送信レートを制御して受信帯域を満足する帯域制御手法等でバス型を構築する」以外の場合には“方式２”を用いるものとする。
【００８６】
ステップＳ３９では、トポロジ図作成機能部１２１は、ホスト帯域設定表１７０ａの該当するホストサーバの「内部（受信）」行において、ステップＳ２２で今回読み込んだ行に該当するＩＤからなる、各「ＩＤ」と「行番号」が持つ全ての終点仮想サーバｖＮＩＣの中に、ステップＳ２２で今回読み込んだ終点仮想サーバｖＮＩＣと同一のものがあるか否かを判定する。トポロジ図作成機能部１２１は、同一のものがあると判定した場合（ステップＳ３９Ｙｅｓ）、ステップＳ４０へ処理を移す。一方、トポロジ図作成機能部１２１は、同一のものがないと判定した場合（ステップＳ３９Ｎｏ）、ステップＳ４１へ処理を移す。
【００８７】
ステップＳ４０では、トポロジ図作成機能部１２１は、ホスト帯域設定表１７０ａの該当するホストサーバの「内部（受信）」行の「利用区間」に、帯域設定表１６０ａのＩＤ及び行番号を、帯域計算に用いない属性を付して追記する。トポロジ図作成機能部１２１は、ステップＳ４０の処理が終了すると、ステップＳ４３へ処理を移す。一方、ステップＳ４１では、トポロジ図作成機能部１２１は、「帯域利用状況」＝“帯域利用状況−帯域設定値”として、ホスト帯域設定表１７０ａ該当するホストサーバの「内部（受信）」行の「利用区間」に、帯域設定表１６０ａのＩＤ及び行番号を追記する。トポロジ図作成機能部１２１は、ステップＳ４１の処理が終了すると、ステップＳ４３へ処理を移す。
【００８８】
次に、トポロジ図作成機能部１２１は、ステップＳ２２で読み込んだ行の始点仮想サーバと終点仮想サーバが同一ホストサーバ上で動作するか否かを判定する（ステップＳ４３）。トポロジ図作成機能部１２１は、ステップＳ２２で読み込んだ行の始点仮想サーバと終点仮想サーバが同一ホストサーバ上で動作すると判定した場合（ステップＳ４３Ｙｅｓ）、図１０ＤのステップＳ６３へ処理を移す。一方、トポロジ図作成機能部１２１は、ステップＳ２２で読み込んだ行の始点仮想サーバと終点仮想サーバが異なるホストサーバ上で動作すると判定した場合（ステップＳ４３Ｎｏ）、ＮＩＣ帯域設定表１７０ｂを作成するため、図１０ＣのステップＳ４４へ処理を移す。
【００８９】
図１０ＣのステップＳ４４〜図１０ＤのステップＳ６２では、トポロジ図作成機能部１２１は、ＮＩＣ帯域設定表１７０ｂを作成する。ステップＳ４４では、トポロジ図作成機能部１２１は、ＮＩＣ帯域設定表１７０ｂに、ステップＳ２２で読み込んだ行に該当する「始点仮想サーバ」と「ホストサーバ」と始点仮想サーバが利用する「物理ＮＩＣ識別子」の組となる行がＮＩＣ帯域設定表１７０ｂに登録されているか否かを判定する。トポロジ図作成機能部１２１は、ＮＩＣ帯域設定表１７０ｂに、ステップＳ２２で読み込んだ行に該当する「始点仮想サーバ」と「ホストサーバ」と始点仮想サーバが利用する「物理ＮＩＣ識別子」の組となる行がＮＩＣ帯域設定表１７０ｂ登録されていると判定した場合（ステップＳ４４Ｙｅｓ）、ステップＳ４６へ処理を移す。一方、トポロジ図作成機能部１２１は、ＮＩＣ帯域設定表１７０ｂに、ステップＳ２２で読み込んだ行に該当する「始点仮想サーバ」と「ホストサーバ」と始点仮想サーバが利用する「物理ＮＩＣ識別子」の組となる行がＮＩＣ帯域設定表１７０ｂに登録されていないと判定した場合（ステップＳ４４Ｎｏ）、ステップＳ４５へ処理を移す。
【００９０】
ステップＳ４５では、トポロジ図作成機能部１２１は、「ホストサーバ」＝“ホストサーバの識別子”、「物理ＮＩＣ識別子」＝“始点仮想サーバｖＮＩＣが動作する物理ＮＩＣ（送信）”、「上限帯域」＝“物理ＮＩＣの帯域上限値”、「帯域利用状況」＝“物理ＮＩＣの帯域上限値”として、ＮＩＣ帯域設定表１７０ｂに１行追加する。トポロジ図作成機能部１２１は、ステップＳ４５が終了すると、ステップＳ４６へ処理を移す。
【００９１】
ステップＳ４６では、トポロジ図作成機能部１２１は、ステップＳ２２で読み込んだ行に該当する「ＴＹＰＥ」は“ＦＭ”か否かを判定する。トポロジ図作成機能部１２１は、ステップＳ２２で読み込んだ行に該当する「ＴＹＰＥ」は“ＦＭ”であると判定した場合（ステップＳ４６Ｙｅｓ）、ステップＳ４７へ処理を移す。一方、トポロジ図作成機能部１２１は、ステップＳ２２で読み込んだ行に該当する「ＴＹＰＥ」は“Ｂ”であると判定した場合（ステップＳ４６Ｎｏ）、ステップＳ４８へ処理を移す。
【００９２】
ステップＳ４７では、トポロジ図作成機能部１２１は、「帯域利用状況」＝“帯域利用状況−帯域設定値”として、ＮＩＣ帯域設定表１７０ｂの該当するホストサーバの「物理ＮＩＣ識別子（送信）」行の「利用区間」に、帯域設定表１６０ａのＩＤ及び行番号を追記する。トポロジ図作成機能部１２１は、ステップＳ４７が終了すると、図１０ＤのステップＳ５３へ処理を移す。
【００９３】
他方、ステップＳ４８では、トポロジ図作成機能部１２１は、ＮＩＣ帯域設定表１７０ｂの該当するホストサーバの「物理ＮＩＣ識別子（送信）」行の「利用区間」に、ステップＳ２２で読み込んだ帯域設定表１６０ａの行と同一の「ＩＤ」があるか否かを判定する。トポロジ図作成機能部１２１は、ＮＩＣ帯域設定表１７０ｂの「利用区間」に同一の「ＩＤ」があると判定した場合（ステップＳ４８Ｙｅｓ）、ステップＳ４９へ処理を移す。一方、トポロジ図作成機能部１２１は、ＮＩＣ帯域設定表１７０ｂの「利用区間」に同一の「ＩＤ」がないと判定した場合（ステップＳ４８Ｎｏ）、ステップＳ５１へ処理を移す。ステップＳ５１では、トポロジ図作成機能部１２１は、「帯域利用状況」＝“帯域利用状況−帯域設定値”として、ＮＩＣ帯域設定表１７０ｂの該当するホストサーバの「物理ＮＩＣ識別子（送信）」行の「利用区間」に、帯域設定表１６０ａのＩＤ及び行番号を追記する。トポロジ図作成機能部１２１は、ステップＳ５１が終了すると、図１０ＤのステップＳ５３へ処理を移す。
【００９４】
ステップＳ４９では、トポロジ図作成機能部１２１は、ＮＩＣ帯域設定表１７０ｂの該当するホストサーバの「物理ＮＩＣ識別子（送信）」行において、ステップＳ２２で今回読み込んだ行に該当するＩＤからなる、各「ＩＤ」と「行番号」が持つ全ての始点仮想サーバｖＮＩＣの中に、ステップＳ２２で今回読み込んだ始点仮想サーバｖＮＩＣと同一のものがあるか否かを判定する。トポロジ図作成機能部１２１は、同一のものがあると判定した場合（ステップＳ４９Ｙｅｓ）、ステップＳ５０へ処理を移し、同一のものがないと判定した場合（ステップＳ４９Ｎｏ）、ステップＳ５２へ処理を移す。
【００９５】
ステップＳ５０では、トポロジ図作成機能部１２１は、ＮＩＣ帯域設定表１７０ｂの該当するホストサーバの「物理ＮＩＣ識別子（送信）」行の「利用区間」に、帯域設定表１６０ａのＩＤ及び行番号を、帯域計算に用いない属性を付して追記する。また、ステップＳ５２では、トポロジ図作成機能部１２１は、「帯域利用状況」＝“帯域利用状況−帯域設定値”として、ＮＩＣ帯域設定表１７０ｂの該当するホストサーバの「物理ＮＩＣ識別子（送信）」行の「利用区間」に、帯域設定表１６０ａのＩＤ及び行番号を追記する。トポロジ図作成機能部１２１は、ステップＳ５０及びステップＳ５２の処理が終了すると、図１０ＤのステップＳ５３へ処理を移す。
【００９６】
図１０Ｄに移り、ステップＳ５３では、トポロジ図作成機能部１２１は、ＮＩＣ帯域設定表１７０ｂに、ステップＳ２２で読み込んだ行の「終点仮想サーバ」と「ホストサーバ」と終点仮想サーバが利用する「物理ＮＩＣ識別子」の組となる行が登録されているか否かを判定する。トポロジ図作成機能部１２１は、ＮＩＣ帯域設定表１７０ｂに、ステップＳ２２で読み込んだ行の「終点仮想サーバ」と「ホストサーバ」と終点仮想サーバが利用する「物理ＮＩＣ識別子」の組となる行が登録されていると判定した場合（ステップＳ５３Ｙｅｓ）、図１０ＤのステップＳ５５へ処理を移す。一方、トポロジ図作成機能部１２１は、ＮＩＣ帯域設定表１７０ｂに、ステップＳ２２で読み込んだ行の「終点仮想サーバ」と「ホストサーバ」と終点仮想サーバが利用する「物理ＮＩＣ識別子」の組となる行が登録されていないと判定した場合（ステップＳ５３Ｎｏ）、ステップＳ５４へ処理を移す。
【００９７】
ステップＳ５４では、トポロジ図作成機能部１２１は、「終点仮想サーバ」が動作する「ホストサーバ」に対して、「物理ＮＩＣ識別子」＝“終点仮想サーバｖＮＩＣが動作する物理ＮＩＣ（受信）”、「上限帯域」＝“物理ＮＩＣの帯域上限値”、「帯域利用状況」＝“物理ＮＩＣの帯域上限値”として、ＮＩＣ帯域設定表１７０ｂに１行追加する。ステップＳ５４が終了すると、トポロジ図作成機能部１２１は、図１０ＤのステップＳ５５へ処理を移す。
【００９８】
図１０Ｄへ移り、ステップＳ５５では、トポロジ図作成機能部１２１は、「ＴＹＰＥ」は“ＦＭ”か否かを判定する。トポロジ図作成機能部１２１は、「ＴＹＰＥ」は“ＦＭ”であると判定した場合（ステップＳ５５Ｙｅｓ）、ステップＳ５６へ処理を移す。一方、トポロジ図作成機能部１２１は、「ＴＹＰＥ」は“Ｂ”であると判定した場合（ステップＳ５５Ｎｏ）、ステップＳ５７へ処理を移す。ステップＳ５６では、トポロジ図作成機能部１２１は、「帯域利用状況」＝“帯域利用状況−帯域設定値”として、ＮＩＣ帯域設定表１７０ｂの該当するホストサーバの「物理ＮＩＣ識別子（受信）」行の「利用区間」に、帯域設定表１６０ａのＩＤ及び行番号を追記する。トポロジ図作成機能部１２１は、ステップＳ５６が終了すると、ステップＳ６３へ処理を移す。
【００９９】
一方、ステップＳ５７では、トポロジ図作成機能部１２１は、ＮＩＣ帯域設定表１７０ｂの該当するホストサーバの「物理ＮＩＣ識別子（受信）」行の「利用区間」に、ステップＳ２２で読み込んだ帯域設定表１６０ａの行と同一の「ＩＤ」があるか否かを判定する。トポロジ図作成機能部１２１は、同一の「ＩＤ」があると判定した場合（ステップＳ５７Ｙｅｓ）、ステップＳ５８へ処理を移す。一方、トポロジ図作成機能部１２１は、同一の「ＩＤ」がないと判定した場合（ステップＳ５７Ｎｏ）、ステップＳ６２へ処理を移す。ステップＳ６２では、トポロジ図作成機能部１２１は、「帯域利用状況」＝“上限帯域値−帯域設定値”として、ＮＩＣ帯域設定表１７０ｂの該当するホストサーバの「物理ＮＩＣ識別子（受信）」行の「利用区間」に、帯域設定表１６０ａのＩＤ及び行番号を追記する。トポロジ図作成機能部１２１は、ステップＳ６２が終了すると、ステップＳ６３へ処理を移す。
【０１００】
ステップＳ５８では、トポロジ図作成機能部１２１は、ＮＩＣ帯域設定表１７０ｂの作成方式として“方式１”を採用するか否かを判定する。トポロジ図作成機能部１２１は、ＮＩＣ帯域設定表１７０ｂの作成方式として“方式１”を採用すると判定した場合（ステップＳ５８Ｙｅｓ）、ステップＳ５９へ処理を移す。一方、トポロジ図作成機能部１２１は、ホスト帯域設定表１７０ａの作成方式として“方式２”を採用すると判定した場合（ステップＳ５８Ｎｏ）、ステップＳ６１へ処理を移す。なお、「送信レートを制御して受信帯域を満足する帯域制御手法等でバス型を構築する」場合には“方式１”を用い、「送信レートを制御して受信帯域を満足する帯域制御手法等でバス型を構築する」以外の場合には“方式２”を用いるものとする。
【０１０１】
ステップＳ５９では、トポロジ図作成機能部１２１は、ＮＩＣ帯域設定表１７０ｂの該当するホストサーバの「物理ＮＩＣ識別子（受信）」行に、ステップＳ２２で今回読み込んだ行に該当するＩＤからなる、各「ＩＤ」と「行番号」が持つ全ての終点仮想サーバｖＮＩＣの中に、ステップＳ２２で今回読み込んだ終点仮想サーバｖＮＩＣと同一のものがあるか否かを判定する。トポロジ図作成機能部１２１は、同一のものがあると判定した場合（ステップＳ５９Ｙｅｓ）、ステップＳ６０へ処理を移す。一方、トポロジ図作成機能部１２１は、同一のものがないと判定した場合（ステップＳ５９Ｎｏ）、ステップＳ６１へ処理を移す。
【０１０２】
ステップＳ６０では、トポロジ図作成機能部１２１は、ＮＩＣ帯域設定表１７０ｂの該当するホストサーバの「物理ＮＩＣ識別子（受信）」行の「利用区間」に、帯域設定表１６０ａのＩＤ及び行番号を、帯域計算に用いない属性を付して追記する。トポロジ図作成機能部１２１は、ステップＳ６０の処理が終了すると、図１０ＢのステップＳ４３へ処理を移す。一方、ステップＳ６１では、トポロジ図作成機能部１２１は、「帯域利用状況」＝“帯域利用状況−帯域設定値”として、ＮＩＣ帯域設定表１７０ｂの該当するホストサーバの「物理ＮＩＣ識別子（受信）」行の「利用区間」に、帯域設定表１６０ａのＩＤ及び行番号を追記する。トポロジ図作成機能部１２１は、ステップＳ６１の処理が終了すると、ステップＳ６３へ処理を移す。
【０１０３】
ステップＳ６３では、トポロジ図作成機能部１２１は、ホスト帯域設定表及びＮＩＣ帯域設定表の作成処理を終了するか否かを判定する。トポロジ図作成機能部１２１は、ホスト帯域設定表及びＮＩＣ帯域設定表の作成処理を終了すると判定した場合（ステップＳ６３Ｙｅｓ）、ホスト帯域設定表及びＮＩＣ帯域設定表の作成処理を終了する。一方、トポロジ図作成機能部１２１は、ホスト帯域設定表及びＮＩＣ帯域設定表の作成処理を終了しないと判定した場合（ステップＳ６３Ｎｏ）、図１０ＡのステップＳ２２へ処理を移す。なお、２回目以降のステップＳ２２の実行では、トポロジ図作成機能部１２１は、帯域設定表１６０ａから、前回読み込んだ行の次の１行を読み込む。
【０１０４】
（リンク帯域設定表について）
図１３Ｂ、図１４Ｂ、図１４Ｃに示すリンク帯域設定表１７０ｃを参照し、トポロジ図作成機能部１２１により作成されるリンク帯域設定表１７０ｃについて説明する。図１３Ｂ、図１４Ｂ、図１４Ｃに示すリンク帯域設定表１７０ｃが作成される対象となる物理トポロジ情報３００ａは、例えば、図１１に示すものとする。図１１は、物理トポロジ情報の一例を示す図である。
【０１０５】
図１１に示す物理トポロジ情報３００ａは、Ｓｐｉｎｅの数≦Ｌｅａｆの数、Ｌｅａｆの数≦ＴｏＲ（The  onion  Router）の数である。また、Ｓｐｉｎｅ間、Ｌｅａｆ間、ＴｏＲ間の直接接続はない。また、全てのＳｐｉｎｅと全てのＬｅａｆ間を結ぶ接続は、全て１本ずつ存在するが、存在しない箇所があってもよい。また、１つのＴｏＲは２つ以上のＬｅａｆと接続する。また、１つのＴｏＲには、複数のホストサーバが接続する。また、１つのホストサーバは、複数のＴｏＲに接続されてもよい。また、１つのホストサーバに対して、全てのホストサーバと通信できる経路が存在する。また、ＬｅａｆがＴｏＲを兼ねてもよい。
【０１０６】
なお、ホストサーバとＴｏＲ間のリンクはＮＩＣ帯域設定表１７０ｂで管理され、リンク帯域設定表１７０ｃへの登録から除外する。また、リンク帯域設定表１７０ｃへ登録対象のリンクは、全てユニークな識別子で管理する。
【０１０７】
図１２は、物理トポロジ情報の一例を示す図である。図１２に示すように、仮想サーバＡ、Ｂ、Ｃは、図１２のように配置されているとする。トポロジ図作成機能部１２１は、図１２に示す物理トポロジ情報３００ａから物理トポロジを把握し、把握した物理トポロジを、ワークテーブルである物理トポロジ把握テーブル１７０ｗへ格納する。図１３Ａは、物理トポロジ把握テーブルの一例を示す図である。物理トポロジ把握テーブル１７０ｗは、「始点仮想サーバ」、「始点仮想サーバｖＮＩＣ」、「終点仮想サーバ」、「終点仮想サーバｖＮＩＣ」、「通信経路」のカラムを有する。
【０１０８】
図１３Ｂは、図１３Ａに示す物理トポロジ把握テーブル１７０ｗを前提とし、図４Ｃに示す「ＩＤ」“００３”の帯域設定表１６０ａに基づくリンク帯域設定表１７０ｃの作成例を示す。リンク帯域設定表１７０ｃは、「リンク識別子」、「上限帯域」、「帯域利用状況」、「利用区間」、「判定」のカラムを有する。
【０１０９】
トポロジ図作成機能部１２１は、物理トポロジ把握テーブル１７０ｗに示す各「通信経路」を、Ｓｐｉｎｅ、Ｌｅａｆ、ＴｏＲの各区間毎に分解する。例えば、図１３Ａに示す１行目の「通信経路」“ＴｏＲ０２→Ｌｅａｆ１→ＴｏＲ０８”から、“ＴｏＲ０２→Ｌｅａｆ１”を抽出し、“ＴｏＲ０２→Ｌｅａｆ１”を、リンク帯域設定表１７０Ｃの「リンク識別子」へ登録する。“ＴｏＲ０２→Ｌｅａｆ１”間の「上限帯域」は“１０Ｇｂｐｓ”である。そして、図４Ｃ及び図１２を参照すると、“ＴｏＲ０２”に接続される「仮想サーバ」“Ａ”が「始点仮想サーバ」に該当する図４Ｃの行は、１行目と３行目である。よって、図４Ｃの１行目の「帯域設定値」“ａ（Ｍｂｐｓ）”及び図４Ｃの３行目の「帯域設定値」“ｃ（Ｍｂｐｓ）”を合計した“（ａ＋ｃ）／１０００（Ｇｂｐｓ）”が、「仮想サーバ」“Ａ”により使用される帯域となる。
【０１１０】
よって、図１３Ｂに示すリンク帯域設定表１７０ｃにおける「リンク識別子」“ＴｏＲ０２→Ｌｅａｆ１”に対応する「帯域利用状況」は、“上限帯域−（ａ＋ｃ）／１０００”＝“１０−（ａ＋ｃ）／１０００”（Ｇｂｐｓ）となる。この“１０−（ａ＋ｃ）／１０００”（Ｇｂｐｓ）を、図１３Ｂに示すリンク帯域設定表１７０ｃの「帯域利用状況」へ登録し、「帯域利用状況」の算出に用いた帯域設定表１６０ａの「ＩＤ」及び「行番号」（「ＩＤ」“００３”及び「行番号」“１”、「ＩＤ」“００３”及び「行番号」“３”、すなわち“００３−１”“００３−３”）を、リンク帯域設定表１７０ｃの「利用区間」へ登録する。リンク帯域設定表１７０ｃのその他の「リンク識別子」についても同様である。
【０１１１】
図１４Ｂは、図１２に示す物理トポロジ情報３００ａ、図１４Ａに示す物理トポロジ把握テーブル１７０ｗを前提とし、図４Ｄに示す「ＩＤ」“００４”の帯域設定表１６０ａに基づき、“方式１”を用いて作成したリンク帯域設定表１７０ｃの作成例を示す。作成方法は、図１３Ｂに示すリンク帯域設定表１７０ｃと同様である。
【０１１２】
また、図１４Ｃは、図１２に示す物理トポロジ情報３００ａ、図１４Ａに示す物理トポロジ把握テーブル１７０ｗを前提とし、図４Ｄに示す「ＩＤ」“００４”の帯域設定表１６０ａに基づき、“方式２”を用いて作成したリンク帯域設定表１７０ｃの作成例を示す。作成方法は、図１３Ｂ及び図１４Ｂに示すリンク帯域設定表１７０ｃと同様である。
【０１１３】
なお、“方式１”は、「送信レートを制御する帯域制御手法等でバス型を構築する場合」で用いる方式であり、“方式２”は、「送信レートを制御する帯域制御手法等でバス型を構築する場合」以外で用いる方式である。なお、例えば、図１４Ｂ及び図１４Ｃの「利用区間」“（００３−３）”等の括弧は、「帯域利用状況」の算出に用いない「ＩＤ」及び「行」の属性を示す。
【０１１４】
（リンク帯域設定表の作成処理）
図１５Ａ及び図１５Ｂは、帯域設定状況確認部のトポロジ作成機能部によるリンク帯域設定表の作成処理手順の一例を示すフローチャートである。先ず、トポロジ図作成機能部１２１は、物理スイッチのフォワードテーブル、仮想サーバが通信に用いるホストサーバの物理ＮＩＣ、物理ネットワークトポロジ、ネットワークリンクの上限帯域値（リンク上限帯域値）を取得する（ステップＳ７１）。
【０１１５】
次に、トポロジ図作成機能部１２１は、Ｓｐｉｎｅ、Ｌｅａｆ、ＴｏＲ間の全てのリンクについて、１リンクあたり上りと下りの経路を２つ持つリンク帯域設定表１７０ｃを作成する（ステップＳ７２）。次に、トポロジ図作成機能部１２１は、帯域設定表１６０ａの１レコードを読み込む（ステップＳ７３）。なお、トポロジ図作成機能部１２１は、ステップＳ７３において、例えば、「帯域設定値（Ｍｂｐｓ）」及び「制御方式」に“ｎｏｎ”が格納されている処理対象外の行を帯域設定表１６０ａから読み込んだ場合には、帯域設定表１６０ａの前回読み込んだ１行の次の１行を読み込む。次に、トポロジ図作成機能部１２１は、物理スイッチのフォワードテーブル、ネットワークトポロジ、送信及び終点の仮想サーバが動作するホストサーバと物理ＮＩＣの情報から、始点仮想サーバと終点仮想サーバが通信で用いる経路を把握する（ステップＳ７４）。経路とは、始点仮想サーバから終点仮想サーバに至るリンクの集合である。ステップＳ７４では、例えば、仮想サーバ間の通信パケットが、ホストサーバの物理ＮＩＣによりＩＰカプセル化されて送信されている場合には、各仮想サーバが利用するホストサーバの物理ＮＩＣに割り当てられたＩＰアドレス間の通信経路をＩＰフォワードテーブルより把握する。
【０１１６】
トポロジ図作成機能部１２１は、ステップＳ７５以降の処理を、ステップＳ７４で把握した全てのリンクについて順次行う。例えば、図１２に示す例では、Ａ：ａ１→Ｂ：ｂ１の経路は、ＴｏＲ０２→Ｌｅａｆ１、Ｌｅａｆ１→ＴｏＲ０８の２つのリンクの集合となる。なお、Ａは仮想サーバＡ、ａ１は仮想サーバＡが有する仮想ＮＩＣであるａ１、Ｂは仮想サーバＢ、ｂ１は仮想サーバＢが有する仮想ＮＩＣであるｂ１を表す。ステップＳ７５からステップＳ８６の処理は、この２つのリンク毎に実行される。ステップＳ７５では、トポロジ図作成機能部１２１は、ステップＳ７４で把握した経路に含まれるリンクを１つ選択する。
【０１１７】
次に、ステップＳ７６では、トポロジ図作成機能部１２１は、ステップＳ７３で読み込んだ帯域設定表１６０ａの行に該当する「ＴＹＰＥ」が“ＦＭ”か否かを判定する。トポロジ図作成機能部１２１は、ステップＳ７３で読み込んだ帯域設定表１６０ａの行に該当する「ＴＹＰＥ」が“ＦＭ”であると判定した場合（ステップＳ７６Ｙｅｓ）、ステップＳ７７へ処理を移す。一方、トポロジ図作成機能部１２１は、ステップＳ７３で読み込んだ帯域設定表１６０ａの行に該当する「ＴＹＰＥ」が“Ｂ”であると判定した場合（ステップＳ７６Ｎｏ）、ステップＳ７８へ処理を移す。
【０１１８】
ステップＳ７７では、トポロジ図作成機能部１２１は、仮想サーバ間通信の経路上にある各リンク全てにおいて、「帯域利用状況」＝“帯域利用状況−帯域設定値”として、リンク帯域設定表１７０ｃの該当する「リンク識別子」行の「利用区間」に、帯域設定表１６０ａのＩＤ及び行番号を追記する。トポロジ図作成機能部１２１は、ステップＳ７７が終了すると、ステップＳ８６へ処理を移す。
【０１１９】
一方、ステップＳ７８では、トポロジ図作成機能部１２１は、リンク帯域設定表１７０ｃの該当する「リンク識別子」行の「利用区間」に、ステップＳ７３で読み込んだ帯域設定表１６０ａの行と同一の「ＩＤ」があるか否かを判定する。トポロジ図作成機能部１２１は、リンク帯域設定表１７０ｃの該当する「リンク識別子」行の「利用区間」に同一の「ＩＤ」があると判定した場合（ステップＳ７８Ｙｅｓ）、ステップＳ７９へ処理を移す。一方、トポロジ図作成機能部１２１は、リンク帯域設定表１７０ｃの該当する「リンク識別子」行の「利用区間」に同一の「ＩＤ」がないと判定した場合（ステップＳ７８Ｎｏ）、ステップＳ８０へ処理を移す。ステップＳ８０では、トポロジ図作成機能部１２１は、「帯域利用状況」＝“帯域利用状況−帯域設定値”として、リンク帯域設定表１７０ｃの該当する「リンク識別子」行の「利用区間」に、帯域設定表１６０ａのＩＤ及び行番号を追記する。ステップＳ８０が終了すると、トポロジ図作成機能部１２１は、ステップＳ８６へ処理を移す。
【０１２０】
ステップＳ７９では、トポロジ図作成機能部１２１は、リンク帯域設定表１７０ｃの作成方式として“方式１”を採用するか否かを判定する。トポロジ図作成機能部１２１は、リンク帯域設定表１７０ｃの作成方式として“方式１”を採用すると判定した場合（ステップＳ７９Ｙｅｓ）、ステップＳ８１へ処理を移す。一方、トポロジ図作成機能部１２１は、リンク帯域設定表１７０ｃの作成方式として“方式２”を採用すると判定した場合（ステップＳ７９Ｎｏ）、図１５ＢのステップＳ８８へ処理を移す。なお、「送信レートを制御する帯域制御手法等でバス型を構築する」場合には“方式１”を用い、「送信レートを制御する帯域制御手法等でバス型を構築する」以外の場合には“方式２”を用いるものとする。
【０１２１】
ステップＳ８１では、トポロジ図作成機能部１２１は、リンク帯域設定表の該当する「リンク識別子」行において、ステップＳ７３で今回読み込んだ行に該当するＩＤからなる、各「ＩＤ」と「行番号」が持つ全ての始点仮想サーバｖＮＩＣの中に、ステップＳ７３で今回読み込んだ始点仮想サーバｖＮＩＣと同一のものがあるか否かを判定する。トポロジ図作成機能部１２１は、同一のものがあると判定した場合（ステップＳ８１Ｙｅｓ）、ステップＳ８２へ処理を移す。一方、トポロジ図作成機能部１２１は、同一のものがないと判定した場合（ステップＳ８１Ｎｏ）、ステップＳ８３へ処理を移す。
【０１２２】
ステップＳ８２では、トポロジ図作成機能部１２１は、リンク帯域設定表１７０ｃの該当する「リンク識別子」行の「利用区間」に、帯域設定表１６０ａのＩＤ及び行番号を、帯域計算に用いない属性を付して追記する。ステップＳ８２が終了すると、トポロジ図作成機能部１２１は、ステップＳ８６へ処理を移す。
【０１２３】
一方、ステップＳ８３では、トポロジ図作成機能部１２１は、リンク帯域設定表１７０ｃの該当する「リンク識別子」行において、ステップＳ７３で今回読み込んだ行に該当するＩＤからなる、各「ＩＤ」と「行番号」が持つ全ての終点仮想サーバｖＮＩＣの中に、ステップＳ７３で今回読み込んだ終点仮想サーバｖＮＩＣと同一のものがあるか否かを判定する。トポロジ図作成機能部１２１は、同一のものがあると判定した場合（ステップＳ８３Ｙｅｓ）、ステップＳ８４へ処理を移す。トポロジ図作成機能部１２１は、同一のものがないと判定した場合（ステップＳ８３Ｎｏ）、ステップＳ８５へ処理を移す。
【０１２４】
ステップＳ８４では、トポロジ図作成機能部１２１は、リンク帯域設定表１７０ｃの該当する「リンク識別子」行の「利用区間」に、帯域設定表１６０ａのＩＤ及び行番号を、帯域計算に用いない属性を付して追記する。ステップＳ８４が終了すると、トポロジ図作成機能部１２１は、ステップＳ８６へ処理を移す。また、ステップＳ８５では、トポロジ図作成機能部１２１は、「帯域利用状況」＝“帯域利用状況−帯域設定値”として、リンク帯域設定表１７０ｃの該当する「リンク識別子」行の「利用区間」に、帯域設定表１６０ａのＩＤ及び行番号を追記する。ステップＳ８５が終了すると、トポロジ図作成機能部１２１は、ステップＳ８６へ処理を移す。
【０１２５】
ステップＳ８６では、トポロジ図作成機能部１２１は、ステップＳ７４で把握した経路に含まれる全てのリンクについて、ステップＳ７６〜ステップＳ８５の処理を実行したか否かを判定する。トポロジ図作成機能部１２１は、ステップＳ７４で把握した経路に含まれる全てのリンクについて、ステップＳ７６〜ステップＳ８５の処理を実行したと判定した場合（ステップＳ８６Ｙｅｓ）、ステップＳ８７へ処理を移す。トポロジ図作成機能部１２１は、ステップＳ７４で把握した経路に含まれる全てのリンクについて、ステップＳ７６〜ステップＳ８５の処理を実行していない、つまり未処理のリンクがあると判定した場合（ステップＳ８６Ｎｏ）、ステップＳ７５へ処理を移す。トポロジ図作成機能部１２１は、次にステップＳ７５を実行する際は、ステップＳ７４で把握した経路に含まれるリンクのうち、ステップＳ７６〜ステップＳ８５の処理を実行していないリンクを１つ選択する。
【０１２６】
ステップＳ８７では、トポロジ図作成機能部１２１は、処理を終了するか否かを判定する。トポロジ図作成機能部１２１は、処理を終了すると判定した場合（ステップＳ８７Ｙｅｓ）、リンク帯域設定表の作成処理を終了する。一方、トポロジ図作成機能部１２１は、処理を終了しないと判定した場合（ステップＳ８７Ｎｏ）、ステップＳ７３へ処理を移す。なお、ステップＳ７３の２回目以降の処理では、前回読み込んだ帯域設定表１６０ａの次の行を読み込む。
【０１２７】
他方、ステップＳ８８では、トポロジ図作成機能部１２１は、リンク帯域設定表１７０ｃの該当する「リンク識別子」行において、ステップＳ７３で今回読み込んだ行に該当するＩＤからなる、各「ＩＤ」と「行番号」が持つ全ての始点仮想サーバｖＮＩＣの中に、ステップＳ７３で今回読み込んだ始点仮想サーバｖＮＩＣと同一のものがあるか否かを判定する。トポロジ図作成機能部１２１は、同一のものがあると判定した場合（ステップＳ８８Ｙｅｓ）、ステップＳ８９へ処理を移す。トポロジ図作成機能部１２１は、同一のものがないと判定した場合（ステップＳ８８Ｎｏ）、ステップＳ９０へ処理を移す。
【０１２８】
ステップＳ８９では、トポロジ図作成機能部１２１は、リンク帯域設定表１７０ｃの該当する「リンク識別子」行の「利用区間」に、帯域設定表１６０ａのＩＤ及び行番号を、帯域計算に用いない属性を付して追記する。また、ステップＳ９０では、トポロジ図作成機能部１２１は、「帯域利用状況」＝“帯域利用状況−帯域設定値”として、リンク帯域設定表１７０ｃの該当する「リンク識別子」行の「利用区間」に、帯域設定表１６０ａのＩＤ及び行番号を追記する。トポロジ図作成機能部１２１は、ステップＳ８９、ステップＳ９０が終了すると、図１５ＡのステップＳ８６へ処理を移す。
【０１２９】
（帯域確認機能部について）
帯域確認機能部１２２の処理機能について、図１６を参照して説明する。図１６は、帯域設定状況確認部の帯域確認機能部による帯域確認処理手順の一例を示すフローチャートである。先ず、帯域確認機能部１２２は、トポロジＤＢ１７０から、ホスト帯域設定表１７０ａ、ＮＩＣ帯域設定表１７０ｂ、リンク帯域設定表１７０ｃを取得する（ステップＳ９１）。次に、帯域確認機能部１２２は、ホスト帯域設定表１７０ａ、ＮＩＣ帯域設定表１７０ｂ、リンク帯域設定表１７０ｃの各「帯域利用状況」を判定する（ステップＳ９２）。
【０１３０】
具体的には、例えば、帯域確認機能部１２２は、ホスト帯域設定表１７０ａ、ＮＩＣ帯域設定表１７０ｂ、リンク帯域設定表１７０ｃの各表の「上限帯域」と「帯域利用状況」において、閾値未満となっている「帯域利用状況」が存在する場合には、該当「帯域利用状況」と対応する「判定」に“ＮＧ”を記載する。また、例えば、ホスト帯域設定表１７０ａ、ＮＩＣ帯域設定表１７０ｂ、リンク帯域設定表１７０ｃの各表の「帯域利用状況」が上限帯域のＮ％未満となっている場合には、該当「帯域利用状況」と対応する「判定」に“Ｎ”を記載する。ただし、予め設定されたエラー判定の閾値以上の場合には、“ＯＫ”を記載する。
【０１３１】
次に、帯域確認機能部１２２は、ホスト帯域設定表１７０ａ、ＮＩＣ帯域設定表１７０ｂ、リンク帯域設定表１７０ｃの帯域利用状況がエラーもしくはワーニングに相当するケースが存在する場合に、警報部１４０へ、リンク情報と、該当するホスト帯域設定表１７０ａ、ＮＩＣ帯域設定表１７０ｂ、リンク帯域設定表１７０ｃの判定結果を含む情報を送信する（ステップＳ９３）。例えば、帯域確認機能部１２２は、ホスト帯域設定表１７０ａ、ＮＩＣ帯域設定表１７０ｂ、リンク帯域設定表１７０ｃの各表の「判定」に“ＮＧ”もしくは“Ｎ（％）”の記載がある場合には、警報部１４０へ、リンク情報と各表の判定データとともに、通知信号を送信する。警報部１４０は、通知信号を受信すると、例えば、再設定要求部１５０に対して、ホスト帯域設定表１７０ａ、ＮＩＣ帯域設定表１７０ｂ、リンク帯域設定表１７０ｃの各表の「判定」に“ＮＧ”もしくは“Ｎ（％）”が記載されている帯域設定表１６０ａの該当箇所の「帯域設定値」の再設定を、再設定要求部１５０を介してオペレータに対して要求する。
【０１３２】
なお、帯域確認機能部１２２は、ホスト帯域設定表１７０ａ、ＮＩＣ帯域設定表１７０ｂ、リンク帯域設定表１７０ｃの各表に“ＮＧ”もしくは“Ｎ（％）”の記載がない場合には、帯域確認処理を終了し、帯域設定機能部１２３へ処理を移す。
【０１３３】
（帯域設定機能部について）
帯域設定機能部１２３の処理機能について、図１７を参照して説明する。図１７は、帯域設定状況確認部の帯域設定機能部による帯域設定処理手順の一例を示すフローチャートである。先ず、帯域設定機能部１２３は、帯域確認機能部１２２から、帯域設定表１６０ａを取得する（ステップＳ１０１）。なお、帯域設定表１６０ａが複数ある場合には、帯域設定処理を帯域設定表１６０ａ単位に個別に実行する。
【０１３４】
次に、帯域設定機能部１２３は、物理トポロジ管理装置３００から、仮想サーバが動作するホストサーバの情報を取得する（ステップＳ１０２）。次に、帯域設定機能部１２３は、ステップＳ１０１で取得した帯域設定表１６０ａの１行を読み込む（ステップＳ１０３）。次に、帯域設定機能部１２３は、ステップＳ１０３で読み込んだ帯域設定表１６０ａの行に該当する「ＴＹＰＥ」は“ＦＭ”であるか否かを判定する（ステップＳ１０４）。帯域設定機能部１２３は、ステップＳ１０３で読み込んだ帯域設定表１６０ａの行に該当する「ＴＹＰＥ」は“ＦＭ”であると判定した場合（ステップＳ１０４Ｙｅｓ）、ステップＳ１０５へ処理を移す。一方、帯域設定機能部１２３は、ステップＳ１０３で読み込んだ帯域設定表１６０ａの行に該当する「ＴＹＰＥ」は“Ｂ”であると判定した場合（ステップＳ１０４Ｎｏ）、ステップＳ１０７へ処理を移す。
【０１３５】
ステップＳ１０５では、帯域設定機能部１２３は、始点仮想サーバが動作するホストサーバの仮想制御ソフトウェアに対して、始点仮想サーバｖＮＩＣへ、始点仮想サーバから送信する向きに、既存帯域値に帯域設定値を加算した帯域値と、制御方法を設定する。次に、帯域設定機能部１２３は、終点仮想サーバが動作するホストサーバの仮想制御ソフトウェアに対して、終点仮想サーバｖＮＩＣへ、終点仮想サーバが受信する向きに、既存帯域値に帯域設定値を加算した帯域値と、制御方法を設定する（ステップＳ１０６）。帯域設定機能部１２３は、ステップＳ１０６が終了すると、ステップＳ１１１へ処理を移す。
【０１３６】
一方、ステップＳ１０７では、帯域設定機能部１２３は、帯域設定表１０６ａの始点仮想サーバｖＮＩＣが設定済みか否かを判定する。帯域設定機能部１２３は、帯域設定表１０６ａの始点仮想サーバｖＮＩＣが設定済みと判定した場合（ステップＳ１０７Ｙｅｓ）、ステップＳ１０９へ処理を移す。帯域設定機能部１２３は、帯域設定表１０６ａの始点仮想サーバｖＮＩＣが未設定と判定した場合（ステップＳ１０７Ｎｏ）、ステップＳ１０８へ処理を移す。ステップＳ１０８では、帯域設定機能部１２３は、始点仮想サーバが動作するホストサーバの仮想制御ソフトウェアに対して、始点仮想サーバｖＮＩＣへ、始点仮想サーバから送信する向きに、帯域設定値と、制御方法を設定する。ステップＳ１０８が終了すると、帯域設定機能部１２３は、ステップＳ１０９へ処理を移す。
【０１３７】
ステップＳ１０９では、帯域設定機能部１２３は、帯域設定表１６０ａの終点仮想サーバｖＮＩＣが設定済みか否かを判定する。帯域設定機能部１２３は、帯域設定表１６０ａの終点仮想サーバｖＮＩＣが設定済みと判定した場合（ステップＳ１０９Ｙｅｓ）、ステップＳ１１１へ処理を移す。帯域設定機能部１２３は、帯域設定表１６０ａの終点仮想サーバｖＮＩＣが未設定と判定した場合（ステップＳ１０９Ｎｏ）、ステップＳ１１０へ処理を移す。ステップＳ１１０では、帯域設定機能部１２３は、終点仮想サーバが動作するホストサーバの仮想制御ソフトウェアに対して、終点仮想サーバｖＮＩＣへ、終点仮想サーバが受信する向きに、帯域設定値と、制御方法を設定する。ステップＳ１１０が終了すると、帯域設定機能部１２３は、ステップＳ１１１へ処理を移す。
【０１３８】
ステップＳ１１１では、帯域設定機能部１２３は、処理を終了するか否かを判定する。帯域設定機能部１２３は、処理を終了すると判定する場合（ステップＳ１１１Ｙｅｓ）、帯域設定処理を終了する。帯域設定機能部１２３は、帯域設定処理終了後、ＣＰＵ利用状況確認部１３０へ処理を移す。帯域設定機能部１２３は、処理を終了しないと判定する場合（ステップＳ１１１Ｎｏ）、ステップＳ１０３へ処理を移す。なお、帯域設定機能部１２３は、２回目以降のステップＳ１０３の実行において、前回読み込んだ帯域設定表１６０ａの行の次の行を読み込む。
【０１３９】
なお、帯域設定処理は、必要に応じて、ネットワーク単位で行ってもよい。
【０１４０】
（ＣＰＵ利用状況確認部の構成）
図１８は、ＣＰＵ利用状況確認部の構成の一例を示す図である。ＣＰＵ利用状況確認部１３０は、各ホストサーバの仮想管理ソフトウェアからＣＰＵ利用状況を取得し、ＣＰＵ利用量がホストサーバのＣＰＵ上限値を超えないことを常時監視する。ＣＰＵ利用状況確認部１３０は、ＣＰＵ利用量がホストサーバのＣＰＵ上限値を超えた、又は越える可能性がある場合に、警報部１４０へ通知する。図１８に示すように、ＣＰＵ利用状況確認部１３０は、利用状況取得機能部１３１、利用状況確認機能部１３２を有する。
【０１４１】
利用状況取得機能部１３１についての説明に先立ち、次を定義する。ｖＣＰＵ処理は、仮想サーバに割り当てたＣＰＵコアでの処理である。ＨＶ処理は、仮想サーバに割り当てたＣＰＵコア以外のＣＰＵコアを利用した、ホストサーバでのＣＰＵ処理である。図１９Ａに示すＣＰＵ処理情報テーブル１８０ａは、ＣＰＵ利用状況ＤＢ１８０内のテーブルであり、仮想サーバ単位で、現在から一定期間過去のｖＣＰＵ処理量とＨＶ処理量が保存されている。ＣＰＵ処理情報テーブル１８０ａにおいて、仮想サーバＩＤ毎に、ｖＣＰＵ処理量とＨＶ処理量が、例えば、現在から１分単位で過去に遡った一定期間分の時系列の値が保存されている。図１９Ｂに示すＣＰＵ利用状況テーブル１８０ｂは、ＣＰＵ利用状況ＤＢ１８０内のテーブルであり、ホストサーバ単位及び仮想サーバ単位で、ＣＰＵ利用状況の計算結果が保存されている。
【０１４２】
（利用状況取得機能部について）
利用状況取得機能部１３１の処理機能について、図２０を参照して説明する。図２０は、ＣＰＵ利用状況確認部の利用状況取得機能部による利用状況取得処理手順の一例を示すフローチャートである。先ず、利用状況取得機能部１３１は、ホストサーバ単位で与えられる設定値を取得する（ステップＳ１２１）。ステップＳ１２１で利用状況取得機能部１３１が取得する設定値は、次である。＿Ｈは、仮想ネットワーク処理等、事前に把握できるネットワーク処理のためのＣＰＵコア予約割合である。＿Ｎｍは、ＨＶ処理に利用するＣＰＵコア数の割合である。＿Ｋは、ホストサーバが有するＣＰＵコアのバッファ割合を示す安全率である。＿Ｋ＝０の場合、全てのコアを使い切ることを指す。＿ＯＣは、ｖＣＰＵ処理とＨＶ処理の合計が、どの程度ＣＰＵコア上限を超えられるかを示す割合を示す、許容されるオーバーコミット率である。＿ＩＤは、許容される最低Ｉｄｌｅ（ＩＤ）率である。＿ＩＯは、許容されるＣＰＵコア利用率である。
【０１４３】
次に、利用状況取得機能部１３１は、全ホストサーバもしくは物理トポロジ管理装置３００から、全ての仮想サーバ情報を取得する（ステップＳ１２２）。次に、利用状況取得機能部１３１は、仮想管理ソフトウェアが管理する、現在利用可能なホストサーバのＣＰＵコア数（Ｃ）を、全ての仮想管理ソフトウェアからホストサーバ単位で取得する（ステップＳ１２３）。次に、利用状況取得機能部１３１は、全てのホストサーバから、ホストＯＳのＩｄｌｅ率（ＩＤ）及びホストサーバが行うＩＯ処理プロセスによるホストサーバの各ＣＰＵコア単位の利用率（ＩＯ）を取得する（ステップＳ１２４）。次に、利用状況取得機能部１３１は、ＣＰＵ利用状況テーブル１８０ｂへ、ステップＳ１２４で取得した全てのホストサーバのアイドル率（ＩＤ）及び各ＣＰＵコア単位の利用率（ＩＯ）を、ホストサーバ単位で登録する（ステップＳ１２５）。なお、図１９Ｂに示す、例えば「ＩＯ（１）」は、識別子が“１”であるＣＰＵコアのＩＯの値を示す。次に、利用状況取得機能部１３１は、ステップＳ１２６〜Ｓ１３３の処理を、ホストサーバ単位に実行する。
【０１４４】
ステップＳ１２６では、利用状況取得機能部１３１は、全てのホストサーバ上で動作する全ての仮想サーバの、ｖＣＰＵ処理量(ｖＣＰＵｒ（ｖｍ）)とＨＶ処理量（ＨＶｒ（ｖｍ））を取得する。なお、ｖＣＰＵ処理量とＨＶ処理量は、以下のようにして取得する。各ホストサーバにリモートログイン、もしくは、ＡＰＩ（Application  Programming  Interface）経由で、仮想サーバのＣＰＵ処理量とｖＣＰＵ処理量を取得する。ＣＰＵ処理量は、ＣＰＵ処理時間、ＣＰＵ処理率、ＣＰＵ処理ヘルツ数等である。ｖＣＰＵ処理量は、ｖＣＰＵ処理時間、ｖＣＰＵ処理率、ｖＣＰＵ処理ヘルツ数等となる。ＨＶ処理量は、（ＣＰＵ処理量−ｖＣＰＵ処理量）で求まる値とする。
【０１４５】
次に、ステップＳ１２７では、利用状況取得機能部１３１は、各仮想サーバのｖＣＰＵ処理量を全て合計し、ホストサーバ上でのｖＣＰＵ処理量（ｖＣＰＵｒ＝ΣｖＣＰＵｒ（（ｖｍ）を求める。次に、ステップＳ１２８では、利用状況取得機能部１３１は、各仮想サーバのＨＶ処理量を全て合計し、ホストサーバのＨＶ処理量（ＨＶｒ＝ΣＨＶｒ（ｖｍ））を求める。
【０１４６】
次に、ステップＳ１２９では、利用状況取得機能部１３１は、ＣＰＵ処理情報テーブル１８０ａから、対象となるホストサーバ単位にｖＣＰＵ処理量の最大値を取得する（ｖＣＰＵ）。次に、ステップＳ１３０では、利用状況取得機能部１３１は、ＣＰＵ処理情報テーブル１８０ａから、対象となるホストサーバ単位にＨＶ処理量の最大値を取得する（ＨＶ）。もしくは、各仮想サーバ単位に、ｖＣＰＵｒの最大値（ｖＣＰＵｒ＿ｍａｘ）、及び、ＨＶｒの最大値（ＨＶｒ＿ｍａｘ）を求め、ｖＣＰＵ処理量の最大値として、ｖＣＰＵ＝ΣｖＣＰＵｒ＿ｍａｘ（ｖｍ）、ＨＶ処理量の最大値として、ＨＶ＝ΣＨＶｒ＿ｍａｘ（ｖｍ）を求めてもよい。
【０１４７】
次に、ステップＳ１３１では、利用状況取得機能部１３１は、ホストサーバ上で動作する全ての仮想サーバのｖＣＰＵ数を仮想管理ソフトウェアから取得し、全て合計し、稼働ｖＣＰＵ総数（ｖＣＣ）を求める。次に、ステップＳ１３２では、利用状況取得機能部１３１は、ＨＶｋ＝ＨＶ／（１−＿Ｈ）＊（１−＿Ｋ）、ＨＶｒｋ＝ＨＶｒ／（（１−＿Ｈ）＊（１−＿Ｋ））、ｖＣＰＵｋ＝ｖＣＰＵ／（（１−＿Ｈ）＊（１−＿Ｋ））、ｖＣＰＵｒｋ＝ｖＣＰＵｒ／（（１−＿Ｈ）＊（１−＿Ｋ））、ＣＮ＝ｉｎｔ（Ｃ＊＿Ｎｍ＋１）、ｖＣＮ＝ｉｎｔ（ｖＣＰＵｋ＋１）を計算する。なお、ｉｎｔ（・）は、・の小数点以下を切り捨てる関数である。
【０１４８】
次に、ステップＳ１３３では、利用状況取得機能部１３１は、ホストサーバ単位で、Ｃ、ＣＮ、ＨＶ、ＨＶｋ、ＨＶｒ、ＨＶｒｋ、＿Ｈ、＿Ｋ、＿Ｎｍ、＿ＯＣ、ｖＣＣ、ｖＣＮ、ｖＣＰＵ、ｖＣＰＵｋ、ｖＣＰＵｒ、ｖＣＰＵｒｋを、ホストサーバ単位で、ＣＰＵ利用状況テーブルに書き込む。また、仮想サーバ単位で、ｖＣＰＵｒ（ｖｍ）、ＨＶｒ（ｖｍ）の情報を書き込む。利利用状況取得機能部１３１は、ステップＳ１２６〜Ｓ１３３の処理を、全てのホストサーバについて実行終了すると、利用状況取得処理を終了する。
【０１４９】
（利用状況確認機能部について）
利用状況確認機能部１３２の処理機能について、図２１を参照して説明する。図２１は、ＣＰＵ利用状況確認部の利用状況確認機能部による利用状況確認処理手順の一例を示すフローチャートである。先ず、利用状況確認機能部１３２は、ＣＰＵ利用状況テーブル１８０ｂから、ホストサーバ単位にＣＰＵ利用状況情報を取得する（ステップＳ１４１）。
【０１５０】
次に、利用状況確認機能部１３２は、ホストサーバ単位で、次の８計算を実行する（ステップＳ１４２）。すなわち、利用状況確認機能部１３２は、ｉｆ（ＣＮ＜ｉｎｔ（ＨＶｒｋ＋１））｛Ｓ０＝“ＥＲ”｝ｅｌｓｅ｛Ｓ０＝“ｏｋ”｝、ｉｆ（ＣＮ＜ｉｎｔ（ＨＶｋ＋１））｛Ｓ１＝“ＷＲ”｝ｅｌｓｅ｛Ｓ１＝“ｏｋ”｝、ｉｆ（Ｃ＜＝（ＨＶｒｋ＋ｖＣＰＵｒｋ）)｛  Ｓ２＝“ＥＲ”｝ｅｌｓｅ｛Ｓ２＝“ｏｋ”｝、ｉｆ（Ｃ＜＝（ＨＶｋ＋ｖＣＰＵｒｋ））｛Ｓ３＝“ＷＲ”｝ｅｌｓｅ｛Ｓ３＝“ｏｋ”｝、ｉｆ（Ｃ＜＝（ＨＶｋ＋ｖＣＰＵｋ））｛Ｓ４＝“ＷＲ”｝ｅｌｓｅ｛Ｓ４＝“ｏｋ”｝、ｉｆ（Ｃ＜＝（ＣＮ＋ｖＣＰＵｋ））｛Ｓ５＝“ＷＲ”｝ｅｌｓｅ｛Ｓ５＝“ｏｋ”｝、ｉｆ（Ｃ＜＝（ＣＮ＋ｖＣＮ））｛Ｓ６＝“ＷＲ”｝ｅｌｓｅ｛Ｓ６＝“ｏｋ”｝、ｉｆ（Ｃ＊＿ＯＣ＜（ＣＮ＋ｃＣＣ））｛Ｓ７＝“ＯＣ”｝ｅｌｓｅ｛Ｓ７＝“ｏｋ”｝を計算する。なお、“ＥＲ”は、Ｅｒｒｏｒ（エラー）を表す。また、“ＷＲ”は、Ｗｏｒｎｉｎｇ（ワーニング：警告）を表す。また“ＯＣ”は、Ｏｖｅｒ  Ｃｏｍｍｉｔ（オーバーコミット）を表す。
【０１５１】
次に、利用状況確認機能部１３２は、ステップＳ１４２で計算したＳ０からＳ７までの計算結果のうち、“ＥＲ”又は“ＷＲ”又は“ＯＣ”が存在するか否かを判定する（ステップＳ１４３）。利用状況確認機能部１３２は、ステップＳ１４２で計算したＳ０からＳ７までの計算結果のうち、“ＥＲ”又は“ＷＲ”又は“ＯＣ”が存在すると判定した場合（ステップＳ１４３Ｙｅｓ）、ステップＳ１４４へ処理を移す。一方、利用状況確認機能部１３２は、ステップＳ１４２で計算したＳ０からＳ７までの計算結果のうち、“ＥＲ”及び“ＷＲ”及び“ＯＣ”が存在しないと判定した場合（ステップＳ１４３Ｎｏ）、ステップＳ１４５へ処理を移す。
【０１５２】
ステップＳ１４４では、利用状況確認機能部１３２は、“ＥＲ”又は“ＷＲ”又は“ＯＣ”を含むＳ０からＳ７の計算結果を、ホストサーバの識別子とともに、警報信号に含めて警報部１４０へ送信する。ステップＳ１４５では、利用状況確認機能部１３２は、ＣＰＵ利用状況テーブル１８０ａからホストサーバ単位にＩＤ情報（ＩＤ）を取得する。次に、利用状況確認機能部１３２は、図２０に示すステップＳ１２１で利用状況取得機能部１３１が取得した＿ＩＤと、ステップＳ１４５で取得したＩＤとを比較し、ＩＤ＜＿ＩＤか否かを判定する（ステップＳ１４６）。利用状況確認機能部１３２は、ＩＤ＜＿ＩＤであると判定した場合（ステップＳ１４６Ｙｅｓ）、ステップＳ１４７へ処理を移し、ＩＤ＝＞＿ＩＤであると判定した場合（ステップＳ１４６Ｎｏ）、ステップＳ１４８へ処理を移す。ステップＳ１４７では、利用状況確認機能部１３２は、ステップＳ１４６においてＩＤ＜＿ＩＤであるホストサーバの識別子を警報信号に含めて警報部１４０へ送信する。
【０１５３】
次に、ステップＳ１４８では、利用状況確認機能部１３２は、ＣＰＵ利用状況テーブル１８０ａからホストサーバ単位にＩＯ情報（ＩＯ）を取得する。次に、利用状況確認機能部１３２は、図２０に示すステップＳ１２１で利用状況取得機能部１３１が取得した＿ＩＯと、ステップＳ１４８で取得した各ＣＰＵコアのＩＯとを比較し、ＩＯ＞＿ＩＯか否かを判定する（ステップＳ１４９）。利用状況確認機能部１３２は、ＩＯ＞＿ＩＯであると判定した場合（ステップＳ１４９Ｙｅｓ）、ステップＳ１５０へ処理を移し、ＩＯ＜＝＿ＩＯであると判定した場合（ステップＳ１４９Ｎｏ）、利用状況確認処理を終了する。ステップＳ１５０では、利用状況確認機能部１３２は、ステップＳ１４９においてＩＯ＞＿ＩＯであるホストサーバの識別子及びＣＰＵコアの識別子を警報信号に含めて警報部１４０へ送信する。ステップＳ１５０の処理が終了すると、利用状況確認機能部１３２は、利用状況確認処理を終了する。
【０１５４】
（警報部について）
警報部１４０の処理機能について、図２２を参照して説明する。図２２は、警報部による警報処理手順の一例を示すフローチャートである。先ず、警報部１４０は、帯域設定状況確認部１２０もしくはＣＰＵ利用状況確認部１３０から受信した警報信号が示す警報を報知する（ステップＳ１５１）。例えば、警報部１４０が帯域設定状況確認部１２０から受信した警報信号を報知した場合、オペレータは、リンク情報と残帯域の割合、もしくは、仮想サーバのＣＰＵ利用情報を取得し、対処が必要かどうか判断して、仮想サーバのマイグレーションや通信経路の変更を行う。なお、帯域設定状況確認部１２０から受信した、残帯域割合の数値及び残帯域割合の数値と対応する運用対処方法は、予めルールとして決められている。例えば、“ＥＲ”もしくは残帯域割合が所定のｘ％より小さい場合は、直ちに仮想サーバのマイグレーションを実行する。また、ＣＰＵ利用状況確認部１３０から受信した、Ｓ０からＳ７までの各状態と運用対処方法も、予めルールとして決めている。例えば、Ｓ０が“ＥＲ”の場合は、直ちに仮想サーバのマイグレーションを実行し、それ以外は監視レベルを強化する。
【０１５５】
次に、警報部１４０は、トポロジＤＢ１７０やＣＰＵ利用状況ＤＢ１８０からデータを取得し、現状確認とマイグレーション対象仮想サーバの判定、マイグレーションが必要な場合はマイグレーション先の判定を行う（ステップＳ１５２）。次に、警報部１４０は、マイグレーション可能か否かを判定する（ステップＳ１５３）。警報部１４０は、マイグレーション可能と判定した場合（ステップＳ１５３Ｙｅｓ）、ステップＳ１５４へ処理を移し、マイグレーション不可能と判定した場合（ステップＳ１５３Ｎｏ）、ステップＳ１５５へ処理を移す。ステップＳ１５４では、警報部１４０は、再設定要求部１５０を介して、オペレータに対し、ステップＳ１５３でマイグレーション実行可能と判定した仮想サーバのマイグレーションの実行を要求する。一方、ステップＳ１５５では、警報部１４０は、再設定要求部１５０を介して、オペレータに対し、マイグレーション先の変更や設定帯域の再設定を要求する。ステップＳ１５４又はステップＳ１５５が終了すると、警報部１４０は、警報処理を終了する。なお、帯域制御装置１００は、ステップＳ１５３でマイグレーション実行可能（マイグレーション先となる物理サーバが存在する等）と判定された仮想サーバのマイグレーションを自動で行うマイグレーション実行部を備えてもよい。
【０１５６】
（再設定要求部について）
再設定要求部１５０は、トポロジＤＢ１７０を更新するため必要な機構であり、物理構成変更時や仮想サーバのマイグレーションのタイミングで起動する。起動時の例を以下に示す。例えば、再設定要求部１５０は、オペレータからの動作要求の受信時に起動する。また、再設定要求部１５０は、物理ネットワークの構成変更や系切替発生時に起動する。また、再設定要求部１５０は、仮想システムによる仮想サーバのマイグレーション実行時に起動する。また、再設定要求部１５０は、オペレータによる運用上の理由での仮想サーバのマイグレーション実行時に起動する。
【０１５７】
再設定要求部１５０の処理機能について、図２３を参照して説明する。図２３は、再設定要求部による再設定要求処理手順の一例を示すフローチャートである。先ず、再設定要求部１５０は、帯域設定表ＤＢ１６０から、全ての帯域設定表１６０ａを取得する（ステップＳ１６１）。次に、再設定要求部１５０は、ステップＳ１６１で取得した帯域設定表１６０ａを、全再設定の信号とともに、帯域設定状況確認部１２０へ送信する（ステップＳ１６２）。あるいは、再設定要求部１５０は、再設定対象となる仮想サーバが記載された帯域設定表１６０ａを取得し、取得した帯域設定表１６０ａを、部分再設定の信号とともに、帯域設定状況確認部１２０へ送信してもよい。再設定要求部１５０から全再設定又は部分再設定の信号を受信した帯域設定状況確認部１２０は、受信した帯域設定表１６０ａに基づいて、帯域確認処理の処理を実行する。
【０１５８】
［実施形態による効果］
実施形態は、オペレータは、Ｌ２／Ｌ３接続された複数の仮想サーバを指定して一括で仮想サーバ間へ帯域設定したり、Ｌ２／Ｌ３接続された論理ＬＡＮを指定して、論理ＬＡＮに接続する仮想サーバ間へ帯域設定を一括して設定したりできる。このため、オペレータは、複数の仮想サーバとそれらを接続する論理ＬＡＮを含む環境を提供する物理構成や仮想環境の構成は意識せずとも、仮想サーバ間の帯域制御や帯域管理を行うことができる。
【０１５９】
また、実施形態は、Ｌ２／Ｌ３接続された仮想サーバ間の通信経路上にあるホストサーバとネットワークについて、ホストサーバの物理ＮＩＣの帯域、ホストサーバ内部の帯域、ネットワークリンクの物理帯域を超えないよう制御する。また、実施形態は、仮想サーバとホストサーバの通信にかかるＣＰＵ処理量が、ホストサーバが有するＣＰＵ処理量の上限を超えないように監視する。よって、実施形態は、帯域確保ができないと予想できる場合には警報を発し、仮想サーバ間への設定帯域の変更、通信経路の変更、仮想サーバのマイグレーションを適切なタイミングで行う。
【０１６０】
よって、実施形態は、仮想サーバ間への帯域設定のみで、各ユーザが使用する仮想サーバ間の通信や仮想サーバ及び仮想ＮＩＣによるホストサーバのＣＰＵの利用状況に依存せず、また、他ユーザの仮想環境へ影響を与えることなく、適切な設定帯域を維持できる。
【０１６１】
（帯域制御装置の装置構成について）
図１に示す帯域制御装置１００の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要さない。すなわち、帯域制御装置１００の機能の分散及び統合の具体的形態は図示のものに限られず、全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。
【０１６２】
また、帯域制御装置１００において行われる各処理は、全部又は任意の一部が、ＣＰＵ（Central  Processing  Unit）等の処理装置及び処理装置により解析実行されるプログラムにて実現されてもよい。また、帯域制御装置１００において行われる各処理は、ワイヤードロジックによるハードウェアとして実現されてもよい。
【０１６３】
また、実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともできる。もしくは、実施形態において説明した各処理のうち、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上述及び図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。
【０１６４】
（プログラムについて）
図２４は、プログラムが実行されることにより、帯域制御装置が実現されるコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。コンピュータ１０００において、これらの各部はバス１０８０によって接続される。
【０１６５】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ（Random  Access  Memory）１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１０４１に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１０５１、キーボード１０５２に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１０６１に接続される。
【０１６６】
ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、帯域制御装置１００の各処理を規定するプログラムは、コンピュータ１０００によって実行される指令が記述されたプログラムモジュール１０９３として、例えばハードディスクドライブ１０３１に記憶される。例えば、帯域制御装置１００における機能構成と同様の情報処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０３１に記憶される。
【０１６７】
また、実施形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【０１６８】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３やプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３やプログラムデータ１０９４は、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【０１６９】
上記実施形態及びその他の実施形態は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１７０】
１        帯域制御システム
１００    帯域制御装置
１１０    帯域設定表作成部
１１１    設定表作成機能部
１２０    帯域設定状況確認部
１２１    トポロジ図作成機能部
１２２    帯域確認機能部
１２３    帯域設定機能部
１３０    ＣＰＵ利用状況確認部
１３１    利用状況取得機能部
１３２    利用状況確認機能部
１４０    警報部
１５０    再設定要求部
１６０    帯域設定表ＤＢ
１６０ａ  帯域設定表
１７０    トポロジＤＢ
１７０ａ  ホスト帯域設定表
１７０ｂ  ＮＩＣ帯域設定表
１７０ｃ  リンク帯域設定表
１７０ｗ  物理トポロジ把握テーブル
１８０    ＣＰＵ利用状況ＤＢ
１８０ａ  ＣＰＵ処理情報テーブル
１８０ｂ  ＣＰＵ利用状況テーブル
２００    論理トポロジ管理装置
２００ａ  論理トポロジ情報
３００    物理トポロジ管理装置
３００ａ  物理トポロジ情報
４００−１〜４００−ｎ  ホストサーバ
１０００  コンピュータ
１０１０  メモリ
１０２０  ＣＰＵ
【図１】
0006363965.tif 000002
【図２】
0006363965.tif 000003
【図３】
0006363965.tif 000004
【図４Ａ】
0006363965.tif 000005
【図４Ｂ】
0006363965.tif 000006
【図４Ｃ】
0006363965.tif 000007
【図４Ｄ】
0006363965.tif 000008
【図４Ｅ】
0006363965.tif 000009
【図４Ｆ】
0006363965.tif 000010
【図４Ｇ】
0006363965.tif 000011
【図４Ｈ】
0006363965.tif 000012
【図４Ｉ】
0006363965.tif 000013
【図５】
0006363965.tif 000014
【図６】
0006363965.tif 000015
【図７Ａ】
0006363965.tif 000016
【図７Ｂ】
0006363965.tif 000017
【図８Ａ】
0006363965.tif 000018
【図８Ｂ】
0006363965.tif 000019
【図９Ａ】
0006363965.tif 000020
【図９Ｂ】
0006363965.tif 000021
【図１０Ａ】
0006363965.tif 000022
【図１０Ｂ】
0006363965.tif 000023
【図１０Ｃ】
0006363965.tif 000024
【図１０Ｄ】
0006363965.tif 000025
【図１１】
0006363965.tif 000026
【図１２】
0006363965.tif 000027
【図１３Ａ】
0006363965.tif 000028
【図１３Ｂ】
0006363965.tif 000029
【図１４Ａ】
0006363965.tif 000030
【図１４Ｂ】
0006363965.tif 000031
【図１４Ｃ】
0006363965.tif 000032
【図１５Ａ】
0006363965.tif 000033
【図１５Ｂ】
0006363965.tif 000034
【図１６】
0006363965.tif 000035
【図１７】
0006363965.tif 000036
【図１８】
0006363965.tif 000037
【図１９Ａ】
0006363965.tif 000038
【図１９Ｂ】
0006363965.tif 000039
【図２０】
0006363965.tif 000040
【図２１】
0006363965.tif 000041
【図２２】
0006363965.tif 000042
【図２３】
0006363965.tif 000043
【図２４】
0006363965.tif 000044