(57)【要約】【課題】ネットワーク負荷を効果的に平準化させる。【解決手段】本情報処理システムは、複数のサブネットの少なくともいずれかに属する仮想マシンが起動される複数の第１の情報処理装置と、サブネット間の通信に用いられる仮想ルータが起動される複数の第２の情報処理装置と、サブネット内の通信経路と仮想マシンの配置と仮想ルータの配置とを制御する制御装置と、複数の第１の情報処理装置と複数の第２の情報処理装置と制御装置とを接続する複数のスイッチとを有する。そして、制御装置は、複数の第１の情報処理装置の各々の通信量に関する所定の評価値と、複数のスイッチの各々の通信量に関する所定の評価値とに基づき、仮想マシンと、仮想ルータと、いずれかのサブネット内の通信経路とのうちいずれかを選択して、選択された仮想マシン又は仮想ルータの配置先若しくは選択されたサブネット内の通信経路を変更する。【選択図】図５
2015162757.tif 000002
【特許請求の範囲】
【請求項１】
複数のサブネットの少なくともいずれかに属する仮想マシンが起動される複数の第１の情報処理装置と、
サブネット間の通信に用いられる仮想ルータが起動される複数の第２の情報処理装置と、
サブネット内の通信経路と前記仮想マシンの配置と前記仮想ルータの配置とを制御する制御装置と、
前記複数の第１の情報処理装置と前記複数の第２の情報処理装置と前記制御装置とを接続する複数のスイッチと、
を有し、
前記複数のスイッチは、
前記複数の第１の情報処理装置に接続する複数の第１のスイッチと、
前記複数の第２の情報処理装置に接続する複数の第２のスイッチと
を含み、
前記複数の第１のスイッチの各々は、前記複数の第２のスイッチのうちの２以上の第２のスイッチと接続されており、
前記制御装置は、
前記複数の第１の情報処理装置の各々の通信量に関する所定の評価値と、前記複数のスイッチの各々の通信量に関する所定の評価値とに基づき、前記仮想マシンと、前記仮想ルータと、いずれかのサブネット内の通信経路とのうちいずれかを選択して、選択された前記仮想マシン又は前記仮想ルータの配置先若しくは選択された前記サブネット内の通信経路を変更する
情報処理システム。
【請求項２】
前記制御装置が、
前記複数の第１の情報処理装置の各々の通信量に関する所定の評価値と、前記複数のスイッチの各々の通信量に関する所定の評価値とから、前記複数の第１の情報処理装置と前記複数のスイッチとを含む物理装置のうちいずれか１つを選択し、
選択した前記物理装置に関わるデータフローを、仮想マシン単位とサブネット間単位とサブネット内単位との少なくともいずれかで集約し、当該集約結果に基づき前記仮想マシンと前記仮想ルータと前記サブネット内の通信経路とを含む変更対象のいずれかを選択する、
請求項１記載の情報処理システム。
【請求項３】
前記制御装置が、
選択した前記変更対象を仮に変更先候補に変更した複数のケースの各々について、前記複数の第１の情報処理装置の各々の通信量に関する所定の評価値と、前記複数のスイッチの各々の通信量に関する所定の評価値とを特定し、
前記複数の第１の情報処理装置の各々の通信量に関する所定の評価値と前記複数のスイッチの各々の通信量に関する所定の評価値とに基づき、前記複数のケースのうち、前記所定の評価値の平準化に関する条件を満たすケースを特定し、
特定した前記ケースに従って、選択した前記変更対象を変更先候補に変更する
請求項２記載の情報処理システム。
【請求項４】
前記所定の評価値が、出力トラフィックの最大値又は平均値である
請求項１乃至３のいずれか１つ記載の情報処理システム。
【請求項５】
前記条件が、
前記複数の第１の情報処理装置の各々の通信量に関する所定の評価値と前記複数のスイッチの各々の通信量に関する所定の評価値とを降順に並べることで得られる、前記複数のケースの評価値リストのうち、最も小さい評価値リストのケースであるという条件と、
前記最も小さい評価値リストが、現在の評価値リストよりも小さいという条件と、
を含む請求項３記載の情報処理システム。
【請求項６】
複数のサブネットの少なくともいずれかに属する仮想マシンが起動される複数の第１の情報処理装置と、サブネット間の通信に用いられる仮想ルータが起動される複数の第２の情報処理装置と、サブネット内の通信経路と前記仮想マシンの配置と前記仮想ルータの配置とを制御する制御装置と、前記複数の第１の情報処理装置と前記複数の第２の情報処理装置と前記制御装置とを接続する複数のスイッチと有する情報処理システムであって、前記複数のスイッチは、前記複数の第１の情報処理装置に接続する複数の第１のスイッチと、前記複数の第２の情報処理装置に接続する複数の第２のスイッチとを含み、前記複数の第１のスイッチの各々は、前記複数の第２のスイッチのうちの２以上の第２のスイッチと接続されている情報処理システムにおける前記制御装置が、
前記複数の第１の情報処理装置の各々の通信量に関する所定の評価値と、前記複数のスイッチの各々の通信量に関する所定の評価値とを取得し、
前記複数の第１の情報処理装置の各々の通信量に関する所定の評価値と、前記複数のスイッチの各々の通信量に関する所定の評価値とに基づき、前記仮想マシンと、前記仮想ルータと、いずれかのサブネット内の通信経路とのうちいずれかを選択して、選択された前記仮想マシン又は前記仮想ルータの配置先若しくは選択された前記サブネット内の通信経路を変更する
処理を実行する制御方法。
【請求項７】
前記変更する処理が、
前記複数の第１の情報処理装置の各々の通信量に関する所定の評価値と、前記複数のスイッチの各々の通信量に関する所定の評価値とから、前記複数の第１の情報処理装置と前記複数のスイッチとを含む物理装置のうちいずれか１つを選択し、
選択した前記物理装置に関わるデータフローを、仮想マシン単位とサブネット間単位とサブネット内単位との少なくともいずれかで集約し、当該集約結果に基づき前記仮想マシンと前記仮想ルータと前記サブネット内の通信経路とを含む変更対象のいずれかを選択する、
処理を含む請求項６記載の制御方法。
【請求項８】
複数のサブネットの少なくともいずれかに属する仮想マシンが起動される複数の第１の情報処理装置と、サブネット間の通信に用いられる仮想ルータが起動される複数の第２の情報処理装置と、サブネット内の通信経路と前記仮想マシンの配置と前記仮想ルータの配置とを制御する制御装置と、前記複数の第１の情報処理装置と前記複数の第２の情報処理装置と前記制御装置とを接続する複数のスイッチと有する情報処理システムであって、前記複数のスイッチは、前記複数の第１の情報処理装置に接続する複数の第１のスイッチと、前記複数の第２の情報処理装置に接続する複数の第２のスイッチとを含み、前記複数の第１のスイッチの各々は、前記複数の第２のスイッチのうちの２以上の第２のスイッチと接続されている情報処理システムにおける前記制御装置に、
前記複数の第１の情報処理装置の各々の通信量に関する所定の評価値と、前記複数のスイッチの各々の通信量に関する所定の評価値とを取得させ、
前記複数の第１の情報処理装置の各々の通信量に関する所定の評価値と、前記複数のスイッチの各々の通信量に関する所定の評価値とに基づき、前記仮想マシンと、前記仮想ルータと、いずれかのサブネット内の通信経路とのうちいずれかを選択して、選択された前記仮想マシン又は前記仮想ルータの配置先若しくは選択された前記サブネット内の通信経路を変更する
処理を実行させるための制御プログラム。
【請求項９】
前記変更させる処理が、
前記複数の第１の情報処理装置の各々の通信量に関する所定の評価値と、前記複数のスイッチの各々の通信量に関する所定の評価値とから、前記複数の第１の情報処理装置と前記複数のスイッチとを含む物理装置のうちいずれか１つを選択し、
選択した前記物理装置に関わるデータフローを、仮想マシン単位とサブネット間単位とサブネット内単位との少なくともいずれかで集約し、当該集約結果に基づき前記仮想マシンと前記仮想ルータと前記サブネット内の通信経路とを含む変更対象のいずれかを選択する、
処理を含む請求項８記載の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システムにおけるリソース制御技術に関する。
【背景技術】
【０００２】
データセンタなどにおける情報処理システムにおいて、複数のテナント（顧客）の複数の仮想マシンなどを複数の物理マシン上に起動させて運用している場合、物理マシンをつなぐネットワークにおいてその負荷に偏りが生じていると、所望のスループットが得られない場合がある。
【０００３】
例えば、図１に示すような情報処理システムを想定する。図１の情報処理システムには、３つの上位スイッチSSwitch１乃至３と、３つの下位スイッチLSwitch１乃至３と、仮想ルータVirtual router１及び２が実行される物理マシンAServer１及び３と、仮想マシンＶＭ１乃至６が実行される物理マシンVServer１乃至６とが含まれる。
【０００４】
図１の例では、ＶＭ１は、LSwitch1とSSwitch1とVirtual router１とSSwitch1とLSwitch2とを経由してＶＭ３と通信している、また、ＶＭ２は、LSwitch1とSSwitch1とLSwitch2とを経由してＶＭ４と通信している。さらに、ＶＭ５は、LSwitch2とSSwitch3とVirtual router2とSSwitch3とLSwitch3とを経由してＶＭ６と通信している。
【０００５】
このような場合、LSwitch1に着目すると、SSwitch1へのリンクの出力トラフィックが「５」であるのに対して、SSwitch2及びSSwitch3へのリンクの出力トラフィックが「０」となっており、SSwitch1へのリンクの出力トラフィックが大きくなってしまって、レイテンシが大きくなってしまう可能性がある。
【０００６】
そこで従来技術では、SSwitch1に接続されているネットワークコントローラ（Network Controller）が、上位スイッチ及び下位スイッチと連携して、ＶＭ間の通信経路を個別に変更する場合がある。例えば、ＶＭ２とＶＭ４の間の通信経路を、LSwitch1とSSwitch1とLSwitch2とを経由する通信経路から、図２に示すように、LSwitch1とSSwitch2とLSwitch2とを経由する通信経路に変更する。これによって、LSwitch1からSSwitch2へのリンクの出力トラフィックが「３」に増加するため、LSwitch1からSSwitch1へのリンクの出力トラフィックが「２」へ削減されるようになる。
【０００７】
このように、従来技術のようにＶＭ間の通信経路を個別に変更することで出力トラフィックの平準化が可能となる場合もある。
【０００８】
しかしながら、次のような場合には、このような手法が機能しない場合がある。図３に示すように、SSwitch3から物理マシンAServer3へのリンクには、Virtual router2及びVirtual router3への出力トラフィックが重なってしまっているが、どのように上位スイッチと下位スイッチとの間の通信経路を変更しようとも、この出力トラフィックの重なりは回避できない。
【０００９】
同様に、図４に示すように、LSwitchとVServerとの間のリンクも代替するものがないので、ＶＭ３からLSwitch1を経由してＶＭ２に至る、LSwitch1の出力トラフィックと、ＶＭ４からLSwitch1を経由してＶＭ１に至る、LSwitch1の出力トラフィックとが重なっていてレイテンシが大きくなっても、回避できない。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１２−９４１１９号公報
【特許文献２】特表２０１２−５１１２９２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
従って、本発明の目的は、一側面によれば、ネットワーク負荷を効果的に平準化させるための技術を提供することである。
【課題を解決するための手段】
【００１２】
本発明に係る情報処理システムは、（Ａ）複数のサブネットの少なくともいずれかに属する仮想マシンが起動される複数の第１の情報処理装置と、（Ｂ）サブネット間の通信に用いられる仮想ルータが起動される複数の第２の情報処理装置と、（Ｃ）サブネット内の通信経路と仮想マシンの配置と仮想ルータの配置とを制御する制御装置と、（Ｄ）複数の第１の情報処理装置と複数の第２の情報処理装置と制御装置とを接続する複数のスイッチとを有する。そして、上で述べた複数のスイッチは、（ｄ１）複数の第１の情報処理装置に接続する複数の第１のスイッチと、（ｄ２）複数の第２の情報処理装置に接続する複数の第２のスイッチとを含む。また、複数の第１のスイッチの各々は、複数の第２のスイッチのうちの２以上の第２のスイッチと接続されている。さらに、上で述べた制御装置は、（ｃ１）複数の第１の情報処理装置の各々の通信量に関する所定の評価値と、複数のスイッチの各々の通信量に関する所定の評価値とに基づき、仮想マシンと、仮想ルータと、いずれかのサブネット内の通信経路とのうちいずれかを選択して、選択された仮想マシン又は仮想ルータの配置先若しくは選択されたサブネット内の通信経路を変更する。
【発明の効果】
【００１３】
一側面によれば、ネットワーク負荷を効果的に平準化できるようになる。
【図面の簡単な説明】
【００１４】
【図１】図１は、従来技術を説明するための図である。
【図２】図２は、従来技術を説明するための図である。
【図３】図３は、従来技術を説明するための図である。
【図４】図４は、従来技術を説明するための図である。
【図５】図５は、実施の形態に係る情報処理システムを示す図である。
【図６】図６は、リソース制御装置の機能の概要を示す図である。
【図７】図７は、リソース制御装置の機能ブロック図である。
【図８】図８は、収集データ格納部に格納されるデータの一例を示す図である。
【図９】図９は、収集データ格納部に格納されるデータの一例を示す図である。
【図１０】図１０は、本実施の形態に係る処理フローを示す図である。
【図１１】図１１は、評価値の算出例を示す図である。
【図１２】図１２は、評価値の算出例を示す図である。
【図１３】図１３は、評価値の算出例を示す図である。
【図１４】図１４は、Virtual object等の評価値の算出例を示す図である。
【図１５】図１５は、Virtual object等の評価値の算出例を示す図である。
【図１６】図１６は、Virtual object等の評価値の算出例を示す図である。
【図１７】図１７は、Virtual object等の評価値の算出例を示す図である。
【図１８】図１８は、Virtual object等の評価値の算出例を示す図である。
【図１９】図１９は、Virtual object等の評価値の算出例を示す図である。
【図２０】図２０は、Virtual object等の評価値の算出例を示す図である。
【図２１】図２１は、物理リンクと移動対象との関係を表す模式図である。
【図２２】図２２は、本実施の形態に係る処理フローを示す図である。
【図２３】図２３は、本実施の形態に係る処理フローを示す図である。
【図２４】図２４は、本実施の形態に係る処理フローを示す図である。
【図２５】図２５は、ＶＬＡＮ  ＩＤの設定について説明するための図である。
【図２６】図２６は、Virtual routerの移動について説明するための図である。
【図２７】図２７は、Virtual routerの移動について説明するための図である。
【図２８】図２８は、Virtual routerの移動について説明するための図である。
【図２９】図２９は、Virtual routerの移動について説明するための図である。
【図３０】図３０は、Virtual routerの移動について説明するための図である。
【図３１】図３１は、Virtual routerの移動について説明するための図である。
【図３２】図３２は、ＶＭの移動について説明するための図である。
【図３３】図３３は、ＶＭの移動について説明するための図である。
【図３４】図３４は、ＶＭの移動について説明するための図である。
【図３５】図３５は、ＶＭの移動について説明するための図である。
【図３６】図３６は、ＶＭの移動について説明するための図である。
【図３７】図３７は、ＶＭの移動について説明するための図である。
【図３８】図３８は、ＶＭの移動について説明するための図である。
【図３９】図３９は、ＶＭの移動について説明するための図である。
【図４０】図４０は、Ｌ２−Ｔｒｅｅの移動について説明するための図である。
【図４１】図４１は、Ｌ２−Ｔｒｅｅの移動について説明するための図である。
【図４２】図４２は、Ｌ２−Ｔｒｅｅの移動について説明するための図である。
【図４３】図４３は、Ｌ２−Ｔｒｅｅの移動について説明するための図である。
【図４４】図４４は、Ｌ２−Ｔｒｅｅの移動について説明するための図である。
【図４５】図４５は、Ｌ２−Ｔｒｅｅの移動について説明するための図である。
【図４６】図４６は、移動によって影響を受けるトラフィックについての図である。
【図４７】図４７は、同じLSwitchに接続されているVServerにＶＭを移動させる場合のフローの変化を説明するための図である。
【図４８】図４８は、同じLSwitchに接続されているVServerにＶＭを移動させる場合のフローの変化を説明するための図である。
【図４９】図４９は、同じLSwitchに接続されているVServerにＶＭを移動させる場合のフローの変化を説明するための図である。
【図５０】図５０は、同じLSwitchに接続されているVServerにＶＭを移動させる場合のフローの変化を説明するための図である。
【図５１】図５１は、同じLSwitchに接続されているVServerにＶＭを移動させる場合のフローの変化を説明するための図である。
【図５２】図５２は、同じLSwitchに接続されているVServerにＶＭを移動させる場合のフローの変化を説明するための図である。
【図５３】図５３は、同じLSwitchに接続されているVServerにＶＭを移動させる場合のフローの変化を説明するための図である。
【図５４】図５４は、同じLSwitchに接続されているVServerにＶＭを移動させる場合のフローの変化を説明するための図である。
【図５５】図５５は、同じLSwitchに接続されているVServerにＶＭを移動させる場合のフローの変化を説明するための図である。
【図５６】図５６は、異なるLSwitchに接続されているVServerにＶＭを移動させる場合のフローの変化を説明するための図である。
【図５７】図５７は、異なるLSwitchに接続されているVServerにＶＭを移動させる場合のフローの変化を説明するための図である。
【図５８】図５８は、異なるLSwitchに接続されているVServerにＶＭを移動させる場合のフローの変化を説明するための図である。
【図５９】図５９は、異なるLSwitchに接続されているVServerにＶＭを移動させる場合のフローの変化を説明するための図である。
【図６０】図６０は、異なるLSwitchに接続されているVServerにＶＭを移動させる場合のフローの変化を説明するための図である。
【図６１】図６１は、異なるLSwitchに接続されているVServerにＶＭを移動させる場合のフローの変化を説明するための図である。
【図６２】図６２は、異なるLSwitchに接続されているVServerにＶＭを移動させる場合のフローの変化を説明するための図である。
【図６３】図６３は、異なるLSwitchに接続されているVServerにＶＭを移動させる場合のフローの変化を説明するための図である。
【図６４】図６４は、異なるLSwitchに接続されているVServerにＶＭを移動させる場合のフローの変化を説明するための図である。
【図６５】図６５は、異なるLSwitchに接続されているVServerにＶＭを移動させる場合のフローの変化を説明するための図である。
【図６６】図６６は、異なるLSwitchに接続されているVServerにＶＭを移動させる場合のフローの変化を説明するための図である。
【図６７】図６７は、異なるLSwitchに接続されているVServerにＶＭを移動させる場合のフローの変化を説明するための図である。
【図６８】図６８は、異なるLSwitchに接続されているVServerにＶＭを移動させる場合のフローの変化を説明するための図である。
【図６９】図６９は、異なるLSwitchに接続されているVServerにＶＭを移動させる場合のフローの変化を説明するための図である。
【図７０】図７０は、異なるLSwitchに接続されているVServerにＶＭを移動させる場合のフローの変化を説明するための図である。
【図７１】図７１は、異なるLSwitchに接続されているVServerにＶＭを移動させる場合のフローの変化を説明するための図である。
【図７２】図７２は、異なるLSwitchに接続されているVServerにＶＭを移動させる場合のフローの変化を説明するための図である。
【図７３】図７３は、計算量削減のための工夫を説明するための図である。
【図７４】図７４は、計算量削減のための工夫を説明するための図である。
【図７５】図７５は、計算量削減のための工夫を説明するための図である。
【図７６】図７６は、計算量削減のための工夫を説明するための図である。
【図７７】図７７は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１５】
本実施の形態において想定するシステムの一例を図５に示す。図５の例のように、上位スイッチSSwitch1乃至n（Spine Switchとも呼ぶ）と、下位スイッチLSwitch1乃至ｘ（Leaf Switchとも呼ぶ）と、仮想マシンＶＭを配置及び移動させることができる物理マシンVServer1乃至ｙと、Virtual router（以下ＶＲとも記す）を配置及び移動させることができる物理マシンAServer1乃至ｍ（Appliance Serverとも呼ぶ）と、本実施の形態で主要な処理を実行するリソース制御装置（Resource Controller）１０００とを含む。
【００１６】
物理マシンVServerは、いずれかのLSwitchに接続される。下位スイッチLSwitchは、上位スイッチSSwitchのうち２以上のSSwitchに接続される。好適には、AServerが接続された各SSwitchに接続される。
【００１７】
AServerは、いずれかのSSwitchに接続される。なお、リソース制御装置１０００も、いずれかのSSwitchに接続される。
【００１８】
図６に、リソース制御装置１０００の機能の概要を示す。リソース制御装置１０００は、SSwitch、LSwitch、AServer、VServerから各種情報を収集して、それらの物理装置やAServer上のＶＲやVServer上のＶＭ等に対する制御を行う。
【００１９】
この制御を行うために、リソース制御装置１０００は、物理的及び仮想的なネットワーク（Physical/Virtual network）の情報に関連して、トポロジ管理を含む、物理スイッチ（Physical Switch）の管理と、仮想スイッチ（Virtual switch）及び仮想ルータ（Virtual router）の管理と、ファイアウォール（Firewall）の管理と、サブネットの管理等を行っている。本実施の形態では、各テナントにおけるサブネット内の通信経路をＬ２−ｔｒｅｅと呼ぶものとする。
【００２０】
また、リソース制御装置１０００は、物理マシン及び仮想マシン（Physical/Virtual machine）の情報に関連して、物理マシン（Physical machine）の管理と、仮想マシン（ＶＭ：Virtual machinie）及び仮想ルータVirtual routerの使用資源量の管理と、ＶＭ及びＶＲの位置管理などを行う。なお、物理マシンの管理には、ＣＰＵ（Central Processing Unit）、メモリ及びＶＭＭ（Virtual Machine Manager）などの管理が含まれる。以下、ＶＭとＶＲとをVirtual objectと総称するものとする。物理スイッチ、物理マシン及びスイッチを、物理装置又はＰＭ（Physical machine）と総称するものとする。
【００２１】
具体的には、リソース制御装置１０００は、本実施の形態に関連して図７に示すような構成を有する。リソース制御装置１０００は、本実施の形態における主要な処理を行う平準化処理部１１００と、Ｌ２−ｔｒｅｅの変更を行う変更制御部１２００と、Virtual objectの移動制御を行う移動制御部１３００と、管理データ格納部１４００と、収集データ格納部１５００と、トラフィックデータ収集部１６００とを有する。
【００２２】
平準化処理部１１００は、制御部１１０１と、第１評価値算出部１１０２と、第２評価値算出部１１０３と、集約計算部１１０４とを有する。制御部１１０１は、第１評価値算出部１１０２と第２評価値算出部１１０３等の処理の制御を行うと共に、移動制御部１３００と変更制御部１２００とに対して指示を行う。
【００２３】
第１評価値算出部１１０２は、各物理装置の出力トラフィックに基づく評価値を算出する。集約計算部１１０４は、第１評価値算出部１１０２によって算出された評価値に基づき選択された物理装置に着目して、当該物理装置の出力トラフィックを所定の単位で集約する処理を実行する。第２評価値算出部１１０３は、集約計算部１１０４の処理結果を用いて選択された移動対象又は変更対象（ＶＭ，ＶＲ又はＬ２−ｔｒｅｅ）を仮に移動させた場合における物理装置の評価値を算出する。
【００２４】
管理データ格納部１４００は、物理的及び仮想的なネットワークの情報と物理マシン及び仮想マシンの情報とを格納する。より具体的には、管理データ格納部１４００は、本実施の形態に関連するものとして、ＶＭ及びＶＲの配置位置データと、Ｌ２−ｔｒｅｅとＶＬＡＮ（Virtual Local Area Network）  ＩＤとの対応付けデータと、テナントＩＤとＶＬＡＮ  ＩＤとの対応付けデータと、Ｌ２−ｔｒｅｅと経由するSServerとの対応付けデータと、各サブネットに属するＶＭのＩＤと、各ＶＲについてルーティングするサブネットとを格納している。
【００２５】
トラフィックデータ収集部１６００は、各物理装置から各トラフィックのデータを収集し、収集データ格納部１５００に格納する。収集データ格納部１５００は、例えば図８及び図９に示すようなデータを格納する。
【００２６】
図８は、各物理ポートのトラフィックのデータの一例を示す。ここでは例えば１時間毎にデータを格納する例を示しているが、間隔は１日毎といったように任意である。図８の例では、時刻と、ＰＭのＩＤ及びポート番号の組み合わせと、出力トラフィックとが登録されるようになっている。ポート番号については、ＰＭが物理スイッチであればその物理ポートのポート番号が設定されるが、VServer及びAServerの場合には、設定しないか又は常に固定のポート番号を設定するものとする。出力トラフィックについては、リンク使用率、平均通信速度、データ量又はパケット数等であるが、図８では通信速度を示している。
【００２７】
また、図９は、フロー単位のトラフィックのデータを示す。ここでは例えば１時間毎にデータを格納する例を示しているが、間隔は１日毎といったように任意である。図９の例では、時刻と、ＰＭのＩＤ、ポート番号、ＴＩＤ（テナントＩＤ）、ＳＩＰ（Source IP address：送信元ＩＰアドレス）及びＤＩＰ（Destination IP address：宛先ＩＰアドレス）の組み合わせと、出力トラフィックとが登録されるようになっている。ＰＭのＩＤ、ポート番号、ＴＩＤ（テナントＩＤ）、ＳＩＰ（Source IP address：送信元ＩＰアドレス）及びＤＩＰ（Destination IP address：宛先ＩＰアドレス）の組み合わせによって、送信元ＶＭから宛先ＶＭへの個別のフローが識別される。
【００２８】
第１評価値算出部１１０２は、主に図８に示すような、物理ポートのトラフィックのデータを用いて処理を行う。集約計算部１１０４は、主に図９に示すような、フロー毎のトラフィックデータを用いて処理を行う。第２評価値算出部１１０３は、図８及び図９に示すようなデータを用いて処理を行う。
【００２９】
次に、リソース制御装置１０００の処理内容について、概要を図１０乃至図２５を用いて説明する。
【００３０】
まず、平準化処理部１１００の制御部１１０１は、ＶＭ又はＶＲの配置先若しくはＬ２−Ｔｒｅｅの変更を行う条件を満たすか否かを判断する（図１０：ステップＳ１）。例えば、ネットワークが輻輳している（例えばいずれかの物理リンクに閾値以上の出力トラフィックが検出されている）という条件、又は以下で説明するステップＳ３を先に実行してVServerとSSwitchとLSwitchとの評価値のうち最大値と最小値との差が閾値以上であるという条件を満たしているか否かを判断する。
【００３１】
ステップＳ１の条件を満たさない場合には、端子Ｂを介して処理を終了する。すなわち、このタイミングでの本処理は終了する。なお、本処理は、１日毎又は１時間毎といったように定期的に実行するようにしても良いし、管理者などの指示によって実行するようにしても良い。
【００３２】
一方、ステップＳ１の条件を満たす場合には、制御部１１０１は、第１評価値算出部１１０２に指示を行って、収集データ格納部１５００に格納されているデータから、物理スイッチSwitch（SSwitch及びLSwitch）とVServerとの各々について評価値を算出させる（ステップＳ３）。評価値は、AServer以外の物理装置の出力トラフィックの平均値又は最大値である。
【００３３】
SSwitchの評価値について図１１を用いて説明する。例えば、AServerへのUplinkについて出力トラフィックが９Ｇｂｐｓであり、第１のDownlinkについて出力トラフィックが４Ｇｂｐｓであり、第２のDownlinkについて出力トラフィックが３Ｇｂｐｓであり、第３のDownlinkについて出力トラフィックが４Ｇｂｐｓであるとする。そうすると、評価値が、これらの出力トラフィックのうちの最大値と定義されていれば、「９」と算出される。
【００３４】
また、LSwitchの評価値について図１２を用いて説明する。例えば、第１のVServerへのDownlinkについて出力トラフィックが７Ｇｂｐｓであり、第２のVServerへのDownlinkについて出力トラフィックが３Ｇｂｐｓであり、第１のSSwitchへのUplinkについて出力トラフィックが８Ｇｂｐｓであり、第２のSSwitchへのUplinkについて出力トラフィックが４Ｇｂｐｓであり、第３のSSwitchへのUplinkについて出力トラフィックが４Ｇｂｐｓであるものとする。そうすると、評価値が、これらの出力トラフィックのうち最大値と定義されていれば、「８」と算出される。
【００３５】
さらに、VServerの評価値について図１３を用いて説明する。例えば、LSwitchへのUplinkについて出力トラフィックが５Ｇｂｐｓであるものとする。そうすると、評価値が、これらの出力トラフィックのうち最大値と定義されていれば、「５」と算出される。
【００３６】
第１評価値算出部１１０２は、評価値最大の物理装置（AServer以外の物理装置）を選択する（ステップＳ５）。このように、フローの集約処理を行うべき物理装置を簡単な処理で絞り込むことができるようになる。
【００３７】
そして、ステップＳ５においてSSwitchが選択された場合には（ステップＳ７：Ｙｅｓルート）、第１評価値算出部１１０２は、選択されたSSwitchについて最大評価値となった物理ポートがUplinkのポートであるか否かを判断する（ステップＳ９）。ステップＳ９の条件が満たされる場合には、第１評価値算出部１１０２は、ステップＳ５で選択されたSSwitchのＩＤとUplinkであることを制御部１１０１に出力する。そして、制御部１１０１は、第２評価値算出部１１０３に対して、ステップＳ５で選択されたSSwitchのＩＤと当該SSwitchに接続されているAServer上に起動されているVirtual routerのＩＤ等を指定して、評価値算出を指示する。
【００３８】
第２評価値算出部１１０３は、制御部１１０１からの指示に応じて、集約計算部１１０４と協働して、各Virtual routerについて評価値を算出する（ステップＳ１１）。そして処理はステップＳ２３に移行する。
【００３９】
例えば、図１４に示すように、SwitchのUplink（物理リンク）の評価値が「９」であるためステップＳ５で選択された場合、集約計算部１１０４は、Virtual router1からの出力トラフィックを集約し、Virtual router2からの出力トラフィックを集約する。具体的には、Virtual router1がルーティングする第１のサブネットに属するＶＭと第２のサブネットに属するＶＭとの間のトラフィックを集約し、Virtual router2がルーティングする第３のサブネットに属するＶＭと第４のサブネットに属するＶＭとの間のトラフィックを集約する。
【００４０】
そうすると、図１４に示すように、Virtual router1からの出力トラフィックが５Ｇｂｐｓと集約され、Virtual router2からの出力トラフィックが４Ｇｂｐｓと集約される。そうすると、第２評価値算出部１１０３は、この集約結果から、Virtual router1の評価値を「５」とし、Virtual router2の評価値を「４」として算出する。
【００４１】
一方、ステップＳ９の条件が満たされなかった場合には、第１評価値算出部１１０２は、ステップＳ５で選択されたSSwitchのＩＤとDownlinkであることを制御部１１０１に出力する。そして、制御部１１０１は、第２評価値算出部１１０３に対して、ステップＳ５で選択されたSSwitchのＩＤと、当該SSwitchが対応付けられているＬ２−Ｔｒｅｅのデータと、当該SSwitchに接続されているAServer上に起動されているVirtual routerのＩＤ（例えばＩＰアドレス）と、各ＶＭのＩＤ（例えばＩＰアドレス）等を指定して、評価値算出を指示する。
【００４２】
第２評価値算出部１１０３は、制御部１１０１からの指示に応じて、集約計算部１１０４と協働して、各Virtual router、各Ｌ２−Ｔｒｅｅ及び各送信先ＶＭの評価値を算出する（ステップＳ１３）。そして処理はステップＳ２３に移行する。
【００４３】
例えば、図１５に示すように、SSwitchの１つのDownlinkの評価値が７ＧｂｐｓであるためステップＳ５で選択された場合、集約計算部１１０４は、ＶＭ１からの出力トラフィックを集約し、ＶＭ２からの出力トラフィックを集約する。また、別の側面として、集約計算部１１０４は、このSSwitchに接続されているAServer上で起動されているVirtual router1を経由した出力トラフィック（サブネット間通信の出力トラフィック）と、Virtual router1を経由しない出力トラフィック（サブネット内通信の出力トラフィック）とを集約する。
【００４４】
すなわち、物理リンクの出力トラフィック＝Virtual router経由の出力トラフィック＋Ｌ２−Ｔｒｅｅ毎の出力トラフィック＝送信先ＶＭの出力トラフィックの総和  という関係が成り立つ。
【００４５】
図１５の例では、ＶＭ１からの出力トラフィックが５Ｇｂｐｓと集約され、ＶＭ２からの出力トラフィックが２Ｇｂｐｓと集約される。また、Virtual router1を経由する出力トラフィックが３Ｇｂｐｓと集約され、Virtual router1を経由しない出力トラフィックが４Ｇｂｐｓと集約される。集約計算部１１０４は、この集約結果から、ＶＭ１の評価値を「５」とし、ＶＭ２の評価値を「２」とし、Virtual router1の評価値を「３」とし、このSSwitchに対応付けられているＬ２−Ｔｒｅｅ（サブネット）の評価値を「４」と算出する。ここではサブネットは１つであるものとする。
【００４６】
なお、図１６に示すように、AServerに接続されていないためVirtual router経由の出力トラフィックがなく、SSwitchのDownlinkに着目する場合には、送信先ＶＭ毎に出力トラフィックを集約する。図１６の例では、ＶＭ１からの出力トラフィックはＶＭ２からの出力トラフィックと、ＶＭ３からの出力トラフィックとの和となる。一方、ＶＭ４からの出力トラフィックはＶＭ２からの出力トラフィックと同じである。送信元ＶＭを、仮に後の処理で選択したとしてもSSwitchのDownlinkの出力トラフィックは変化しないので、送信先ＶＭに着目する。
【００４７】
ステップＳ５で選択された物理装置がSSwitchではなく（ステップＳ７：Ｎｏルート）、LSwitchが選択された場合（ステップＳ１５：Ｙｅｓルート）、第１評価値算出部１１０２は、選択されたSSwitchについて最大評価値となった物理ポートがUplinkのポートであるか否かを判断する（ステップＳ１７）。ステップＳ１７の条件が満たされる場合には、第１評価値算出部１１０２は、ステップＳ５で選択されたLSwitchのＩＤとUplinkであることを制御部１１０１に出力する。そして、制御部１１０１は、第２評価値算出部１１０３に対して、ステップＳ５で選択されたLSwitchのＩＤと、各Virtual routerのＩＤと、各ＶＭのＩＤ等を指定して、評価値算出を指示する。
【００４８】
第２評価値算出部１１０３は、制御部１１０１からの指示に応じて、集約計算部１１０４と協働して、各Virtual router、各Ｌ２−Ｔｒｅｅ及び各送信元ＶＭの評価値を算出する（ステップＳ１９）。そして処理はステップＳ２３に移行する。
【００４９】
例えば、図１７に示すように、LSwitchの１つのUplinkの評価値が６ＧｂｐｓであるためステップＳ５で選択された場合、集約計算部１１０４は、ＶＭ１からの出力トラフィックを集約し、ＶＭ２からの出力トラフィックを集約する。また、別の側面として、集約計算部１１０４は、Virtual router1を経由する出力トラフィック（サブネット間通信の出力トラフィック）と、Virtual router1を経由しない出力トラフィック（サブネット内通信の出力トラフィック）とを集約する。
【００５０】
ここでも、物理リンクの出力トラフィック＝Virtual router経由の出力トラフィック＋Ｌ２−Ｔｒｅｅ毎の出力トラフィック＝送信先ＶＭの出力トラフィックの総和、という関係が成り立つ。
【００５１】
図１７の例では、ＶＭ１からの出力トラフィックが３Ｇｂｐｓと集約され、ＶＭ２からの出力トラフィックが３Ｇｂｐｓと集約される。また、Virtual router1を経由する出力トラフィックが４Ｇｂｐｓと集約され、Virtual router1を経由する出力トラフィックが２Ｇｂｐｓと集約される。集約計算部１１０４は、この集約結果から、ＶＭ１の評価値を「３」とし、ＶＭ２の評価値を「３」とし、Virtual router1の評価値を「４」とし、このSSwitchに対応付けられているＬ２−Ｔｒｅｅ（サブネット）の評価値を「２」と算出する。ここではサブネットは１つであるものとする。
【００５２】
なお、Virtual router経由の出力トラフィックがなく、LSwitchのUplinkに着目する場合には、送信元ＶＭ毎に出力トラフィックを集約する。図１８の例では、ＶＭ１からの出力トラフィックはＶＭ４からの出力トラフィックと同じである。一方、ＶＭ３からの出力トラフィックはＶＭ４からの出力トラフィックとＶＭ５からの出力トラフィックの和である。送信先ＶＭを、後の処理で選択したとしてもLSwitchのUplinkの出力トラフィックは変化しないので、送信元ＶＭに着目する。
【００５３】
一方、ステップＳ１７の条件を満たさない場合、又はステップＳ５で特定のVServerが選択された場合（ステップＳ１７：Ｎｏルート且つステップＳ１５：Ｎｏルート）、第１評価値算出部１１０２は、ステップＳ５で選択されたLSwitchのＩＤとDownlinkであること、又はステップＳ５で選択されたVServerのＩＤを制御部１１０１に出力する。そして、制御部１１０１は、第２評価値算出部１１０３に対して、ステップＳ５で選択されたLSwitchのＩＤ又はVServerのＩＤと、各ＶＭのＩＤ等を指定して、評価値算出を指示する。
【００５４】
第２評価値算出部１１０３は、制御部１１０１からの指示に応じて、集約計算部１１０４と協働して、各ＶＭの評価値を算出する（ステップＳ２１）。そして処理はステップＳ２３に移行する。
【００５５】
なお、LSwitchのDownlinkが選択された場合には送信先ＶＭ毎に出力トラフィックを集約する。図１９に示すように、LSwitchの１つのDownlinkの評価値が「７」であるためステップＳ５で選択された場合、集約計算部１１０４は、ＶＭ１からの出力トラフィックを集約し、ＶＭ２からの出力トラフィックを集約する。
【００５６】
図１９の例では、ＶＭ１へのVirtual routerを経由する出力トラフィック３ＧｂｐｓとＶＭ１へのVirtual routerを経由しない出力トラフィック１Ｇｂｐｓとが加算されて４Ｇｂｐｓが得られる。同様に、ＶＭ２へのVirtual routerを経由する出力トラフィック１ＧｂｐｓとＶＭ２へのVirtual routerを経由しない出力トラフィック２Ｇｂｐｓとが加算されて３Ｇｂｐｓが得られる。
【００５７】
よって、集約計算部１１０４は、この集約結果から、ＶＭ１の評価値を「４」とし、ＶＭ２の評価値を「３」と算出する。
【００５８】
また、VServerが選択された場合には送信元ＶＭ毎に出力トラフィックを集約する。図２０に示すように、VServerからの物理リンクが５ＧｂｐｓであるためステップＳ５で選択された場合には、集約計算部１１０４は、ＶＭ１からの出力トラフィックを集約し、ＶＭ２からの出力トラフィックを集約する。
【００５９】
図２０の例では、ＶＭ１からのVirtual routerを経由する出力トラフィック１ＧｂｐｓとＶＭ１からのVirtual routerを経由しない出力トラフィック１Ｇｂｐｓとが加算されて２Ｇｂｐｓが得られる。同様に、ＶＭ２からのVirtual routerを経由する出力トラフィック２ＧｂｐｓとＶＭ２からのVirtual routerを経由しない出力トラフィック１Ｇｂｐｓとが加算されて３Ｇｂｐｓが得られる。
【００６０】
よって、集約計算部１１０４は、この集約結果から、ＶＭ１の評価値を「２」とし、ＶＭ２の評価値を「３」と算出する。
【００６１】
その後、第２評価値算出部１１０２は、評価値算出がなされた移動候補（ＶＭ、ＶＲ、Ｌ２−Ｔｒｅｅ）を、評価値で降順にソートすることでソートリストを生成し、制御部１１０１に出力する（ステップＳ２３）。処理は端子Ａを介して図２１の処理に移行する。
【００６２】
図１４の例では、Virtual router1が先頭のソートリストが生成される。図１５の例では、ＶＭ１、Ｌ２−Ｔｒｅｅ、ＶＲ１、ＶＭ２の順番のソートリストが生成される。図１７の例では、ＶＲ１、ＶＭ１、ＶＭ２、Ｌ２−ｔｒｅｅの順番のソートリストが生成される。図１９の例では、ＶＭ１が先頭のソートリストが生成される。図２０の例では、ＶＭ２が先頭のソートリストが生成される。
【００６３】
以上述べた事項をまとめると、図２１に示すようになる。すなわち、SSwitchのUplink（図２１のＡ）が選択されると、Virtual routerが移動対象となる。また、SSwitchのDownlink（図２１のＢ）又はLSwitchのUplink（図２１のＣ）が選択されると、Virtual router、ＶＭ又はＬ２−Ｔｒｅｅが移動対象となる。さらに、LSwitchのDownlink（図２１のＤ）又はVServerのリンク（図２１のＥ）が選択されると、ＶＭが移動対象となる。
【００６４】
図２２の処理の説明に移行して、制御部１１０１は、ソートリストが空になったか判断する（ステップＳ２５）。以下の処理で、ソートリストの先頭から移動候補を取り出すので、初期的には空にはならない。なお、ソートリストが空になると、物理リンクの出力トラフィックをこれ以上平準化させることができなかったということで、今回のタイミングにおける処理は終了する。
【００６５】
一方、ソートリストが空ではない場合には、制御部１１０１は、ソートリストの先頭を移動対象として取り出す（ステップＳ２７）。ＶＭ、ＶＲ又はＬ２−Ｔｒｅｅを取り出す。
【００６６】
そして、制御部１１０１は、移動対象がＬ２−Ｔｒｅｅであるか否かを判断する（ステップＳ２９）。移動対象がＬ２−Ｔｒｅｅではない場合には、処理は端子Ｃを介して図２３の処理に移行する。
【００６７】
一方、移動対象がＬ２−Ｔｒｅｅである場合には、制御部１１０１は、第１評価値算出部１１０２に対して、Ｌ２−Ｔｒｅｅを他のSSwitchへ移動させることを仮定した場合における各スイッチ及びVServerの評価値を算出させる（ステップＳ３１）。この処理では、他のSSwitchが複数存在する場合には、各他のSSwitchを移動先候補として、ステップＳ３と同様に各スイッチ及びVServerの評価値を算出する。但し、移動対象によって変化するのは、一部のスイッチなどであるから、そのスイッチなどについてのみ評価値を算出する。なお、本ステップの処理については、後に詳細に説明する。
【００６８】
そうすると、制御部１１０１は、移動先候補毎に、評価値を降順にソートすることで評価値リストを生成する（ステップＳ３３）。例えば評価値が［０，３，５，２］と計算された場合には、評価値リストは［５，３，２，０］となる。
【００６９】
そして、制御部１１０１は、評価値リストが最小となるSSwitchを移動先に選択する（ステップＳ３５）。本ステップでは評価値リストの比較を行うことになるが、同じ順番の評価値同士を上から順番に比較して、最初に差が出た評価値が小さい方が小さい評価値リストと判断される。具体的には、評価値リスト［５，３，２，０］と評価値リスト［５，４，２，０］とを比較する場合には、２番目の評価値が「３」と「４」になるので、前者の評価値リストが小さいと判断される。そして処理は端子Ｄを介して図２４の処理に移行する。
【００７０】
図２３を用いて端子Ｃ以降の処理を説明する。制御部１１０１は、移動対象がＶＭであるか否かを判断する（ステップＳ３７）。移動対象がＶＭではない場合には、処理は端子Ｆを介して図２４の処理に移行する。
【００７１】
一方、移動対象がＶＭである場合には、制御部１１０１は、第１評価値算出部１１０２に対して、ＶＭを他のVServerへ移動させることを仮定した場合における各スイッチ及びVServerの評価値を算出させる（ステップＳ３９）。この処理では、他のVServerが複数存在する場合には、各他のVServerを移動先候補として、ステップＳ３と同様に各スイッチ及びVServerの評価値を算出する。但し、移動対象によって変化するのは、一部のスイッチなどであるから、そのスイッチなどについてのみ評価値を算出する。なお、本ステップの処理については、ステップＳ３１と共に後に詳細に説明する。
【００７２】
そうすると、制御部１１０１は、移動先候補毎に、評価値を降順にソートすることで評価値リストを生成する（ステップＳ４１）。
【００７３】
そして、制御部１１０１は、評価値リストが最小となるVServerを移動先に選択する（ステップＳ４３）。そして処理は端子Ｄを介して図２４の処理に移行する。
【００７４】
そして図２４を用いて端子Ｆ以降の処理を説明する。ステップＳ３７でＶＭではないと判断されると、移動対象がVirtual routerであることになる。
【００７５】
従って、制御部１１０１は、第１評価値算出部１１０２に対して、Virtual routerを他のAServerへ移動させることを仮定した場合における各スイッチ及びVServerの評価値を算出させる（ステップＳ４５）。この処理では、他のAServerが複数存在する場合には、各他のAServerを移動先候補として、ステップＳ３と同様に各スイッチ及びVServerの評価値を算出する。但し、移動対象によって変化するのは、一部のスイッチなどであるから、そのスイッチなどについてのみ評価値を算出する。なお、本ステップの処理については、ステップＳ３１及びＳ３９と共に後に詳細に説明する。
【００７６】
そうすると、制御部１１０１は、移動先候補毎に、評価値を降順にソートすることで評価値リストを生成する（ステップＳ４７）。
【００７７】
そして、制御部１１０１は、評価値リストが最小となるAServerを移動先に選択する（ステップＳ４９）。
【００７８】
その後、制御部１１０１は、移動後の評価値リストが移動前の評価値リスト（ステップＳ３で算出された評価値から得られる評価値リスト）より小さいか否かを判断する（ステップＳ５１）。この条件を満たさない場合には、移動させても出力トラフィックの平準化に寄与しないので、ソートリストから次の移動対象を取り出すことにする。よって、処理は端子Ａを介して図２２のステップＳ２５に戻る。
【００７９】
一方、移動後の評価値リストが移動前の評価値リストより小さい場合には、制御部１１０１は、移動対象を、選択された移動先に移動するように、移動制御部１３００又は変更制御部１２００に指示を行う（ステップＳ５３）。そして処理は終了する。
【００８０】
ステップＳ５３では、ＶＭやＶＲを移動させる場合には、現在配置されている物理マシンと移動先の物理マシンを指定して所定のコマンドを実行することで実現される。また、管理データ格納部１４００のデータも更新する。
【００８１】
さらに、Ｌ２−Ｔｒｅｅを変更する場合には、サブネット内通信において経由するSSwitchを変更することになる。この場合、変更先のSSwitchを経由するようにＶＬＡＮ  ＩＤを変更する。従って、図２５に模式的に示すように、Ｌ２−Ｔｒｅｅに係るサブネットに属するＶＭが配置されている各VServerにおけるVirtual switchに対して、変更先のSSwitchに対応するＶＬＡＮ  ＩＤ（図２５では「３」）を、Ｌ２−Ｔｒｅｅに係るサブネットに属するＶＭから出力するパケットに付加するように設定する。より具体的には上記の条件を満たすＶＭがつながれた、Virtual switchの特定のポートから出力されるパケットに、変更先のSSwitchに対応するＶＬＡＮ  ＩＤを設定する。なお、図２５に示すように、異なるサブネットのＶＭと通信を行う場合にはVirtual routerを経由するので、その場合には異なるＶＬＡＮ  ＩＤ（図２５では「２」）を付与する。
【００８２】
次に、図２６乃至図３１を用いてVirtual routerが移動される場合について説明する。図２６は、初期状態を表しており、AServer3にVirtual router2及びVirtual router3が起動されているため、SSwitch3のUplinkにおいてレイテンシが大きくなってしまっている（部分Ｘ１）。本実施の形態では、図２７に示すように、各スイッチ及び各VServerについて出力トラフィックについての評価値を算出する。そうすると、SSwitch3の評価値は「５」となって選択される。図２１の説明に従えば、Virtual routerが移動対象となる。
【００８３】
そして、図２８に示すように、Virtual router2への出力トラフィックを集約して評価値を算出すると「２」となり、Virtual router3への出力トラフィックを集約して評価値を算出すると「３」となる。従って、最初に移動対象として選択されるのはVirtual router3となる。
【００８４】
そうすると、Virtual router3を、AServer1に移動させる第１のケースと、AServer2に移動させる第２のケースとについて、評価値リストを計算することになる。
【００８５】
第１のケースでは、図２９に示すように、移動元AServer3に接続されるSSwitch3と、移動先AServer1に接続されるSSwitch1と、Virtual router3を経由するトラフィックが通過するLSwitch１とについてのみ、評価値を算出し直すことになる。図２９の場合には、SSwitch3については評価値が減り、SSwitch1については評価値が増加し、LSwitch1については結果的に評価値が変わらないということになる。この場合、評価値リストは［４，３，３，３，２，２，２，１，０，０，０，０］となる。最大評価値は「５」から「４」になっているので、移動前より評価値リストが小さいことは明らかである。
【００８６】
第２のケースでは、図３０に示すように、移動元AServer3に接続されるSSwitch3と、移動先AServer2に接続されるSSwitch2と、Virtual router3を経由するトラフィックが通過するLSwitch1とについてのみ、評価値を算出し直すことになる。図３０の場合には、SSwitch3については評価値が減り、SSwitch2については評価値が増加し、LSwitch1については結果的に評価値が変わらないということになる。この場合、評価値リストは［３，３，３，３，２，２，２，１，１，０，０，０］となる。最大評価値は「５」から「３」になっているので、移動前より評価値が小さいことは明らかである。さらに、第１の場合よりも最大評価値が「４」から「３」に小さくなっていたので、AServer2が適切な移動先であることが分かる。
【００８７】
すなわち、図３１に示すような状態に変更することで、移動前よりも、出力トラフィックが平準化される。
【００８８】
次に、図３２乃至図３９を用いてＶＭが移動される場合について説明する。図３２は初期状態を表しており、ＶＭ３からＶＭ２へのトラフィックと、ＶＭ４からＶＭ１へのトラフィックが重なってしまってLSwitch1のDownlinkのレイテンシが大きくなってしまっている（部分Ｘ２）。
【００８９】
本実施の形態では、図３３に示すように、各スイッチ及び各VServerについて出力トラフィックについての評価値を算出する。そうすると、LSwitch1の評価値は「５」となって選択される。図２１の説明に従えば、送信先ＶＭが移動対象となる。
【００９０】
そして、図３４に示すように、ＶＭ１からの出力トラフィックを集約して評価値を算出すると「２」となり、ＶＭ２からの出力トラフィックを集約して評価値を算出すると「３」となる。従って、最初に移動対象として選択されるのはＶＭ２となる。
【００９１】
そうすると、ＶＭ２を、VServer2に移動させる第１のケースと、VServer3に移動させる第２のケースと、VServer4に移動させる第３のケースと、VServer5に移動させる第４のケースとについて、評価値リストを算出することになる。
【００９２】
第１のケースでは、図３５に示すように、移動元のVServer1と、移動先のVServer2と、移動元のVServer1と移動先のVServer2とが接続されているLSwitch1とについて、評価値を計算し直すことになる。図３５の場合には、VServer1については評価値が減り、VServer2についても評価値が減り、LSwitch1についても評価値が減るということになる。この場合、評価値リストは［３，２，２，２，２，１，１，１，１，０，０］となる。最大評価値は「５」から「３」になっているので、移動前より評価値が小さいことは明らかである。
【００９３】
第２のケースでは、図３６に示すように、移動元のVServer1と、移動先のVServer3と、移動元のVServer1が接続されているLSwitch1と、移動先のVServer3が接続されているLSwitch2と、移動対象であるＶＭ２のサブネット内通信で経由するSSwitch2とについて、評価値を計算し直すことになる。図３６の場合には、VServer1については評価値が減り、VServer3については評価値は変わらず、LSwitch1については評価値は減り、LSwitch2については評価値が増加し、SSwitch2については評価値が増加するということになる。この場合、評価値リストは［４，４，３，３，２，１，１，１，１，０，０］となる。最大評価値は「５」から「４」になっているので、移動前より評価値が小さいことは明らかである。
【００９４】
第３のケースでは、図３７に示すように、移動元のVServer1と、移動先のVServer4と、移動元のVServer1が接続されているLSwitch1と、移動先のVServer4が接続されているLSwitch2と、移動対象であるＶＭ２のサブネット内通信で経由するSSwitch2とについて、評価値を計算し直すことになる。図３７の場合には、VServer1については評価値が減り、VServer4については評価値は変わらず、LSwitch1については評価値は減り、LSwitch2については評価値が増加し、SSwitch2については評価値が増加するということになる。この場合、評価値リストは［４，４，３，３，２，１，１，１，１，０，０］となる。最大評価値は「５」から「４」になっているので、移動前より評価値が小さいことは明らかである。
【００９５】
第４のケースでは、図３８に示すように、移動元のVServer1と、移動先のVServer5と、移動元のVServer1が接続されているLSwitch1と、移動先のVServer5が接続されているLSwitch3と、移動対象であるＶＭ２のサブネット内通信で経由するSSwitch2とについて、評価値を計算し直すことになる。図３８の場合には、VServer1については評価値が減り、VServer5については評価値は変わらず、LSwitch1については評価値は減り、LSwitch3については評価値が増加し、SSwitch2については評価値が増加するということになる。この場合、評価値リストは［４，４，３，３，２，２，１，１，１，０，０］となる。最大評価値は「５」から「４」になっているので、移動前より評価値が小さいことは明らかである。
【００９６】
第１のケースから第４のケースについて評価値リストを比較すると、第１のケースが最大評価値が小さいので、評価値リストとしても小さいと判断される。
【００９７】
すなわち、図３９に示すような状態に変更することで、移動前よりも、出力トラフィックが平準化される。
【００９８】
次に、図４０乃至図４５を用いてＬ２−Ｔｒｅｅ（サブネット内通信）が移動される場合について説明する。図４０は初期状態を表しており、ＶＭ７からＶＭ６へのトラフィックと、ＶＭ７からＶＭ５へのトラフィックと、ＶＭ２からＶＭ４へのトラフィックとが重なってしまってSSwitch2のDownlinkのレイテンシが大きくなってしまっている（部分Ｘ３）。
【００９９】
本実施の形態では、図４１に示すように、各スイッチ及び各VServerについて出力トラフィックについての評価値を算出する。そうすると、SSwitch2の評価値は「３」となって選択される。図２１の説明に従えば、送信先ＶＭ、ＶＲ及びＬ２−Ｔｒｅｅが移動対象となる。但し、SSwitch2はAServerに接続されていないので、ＶＲは移動対象として選択されない。
【０１００】
そして、図４２に示すように、ＶＭ４からの出力トラフィックを集約して評価値を算出すると「１」となり、ＶＭ５からの出力トラフィックを集約して評価値を算出すると「１」となり、ＶＭ６からの出力トラフィックを集約して評価値を算出すると「１」となり、ＶＭ３及びＶＭ５乃至ＶＭ７についてのサブネットＬ２−Ｔｒｅｅ＿ａについての評価値は「２」となり、ＶＭ１、ＶＭ２及びＶＭ４についてのサブネットＬ２−Ｔｒｅｅ＿ｂについての評価値は「１」となる。従って、最初に選択されるのはＬ２−Ｔｒｅｅ＿ａとなる。
【０１０１】
そうすると、Ｌ２−Ｔｒｅｅ＿ａを、SSwitch1に移動させる第１のケースと、SSwitch3に移動させる第２のケースとについて、評価値リストを算出することになる。
【０１０２】
第１のケースでは、図４３に示すように、移動元のSSwitch2と、移動先のSSwitch1とについて、評価値を計算し直すことになる。図４３の場合には、SSwitch2については評価値が減り、SSwicth1については評価値が増加するということになる。この場合、評価値リストは［３，２，２，１，１，１，１，１，１，０，０］となる。評価値リストは、移動前から変化していない。
【０１０３】
第２のケースでは、図４４に示すように、移動元のSSwitch2と、移動先のSSwitch3とについて、評価値を計算し直すことになる。図４４の場合には、SSwitch2については評価値が減り、SSwicth3については評価値が増加するということになる。この場合、評価値リストは［２，２，２，１，１，１，１，１，１，０，０］となる。最大評価値は「３」から「２」になっているので、移動前より評価値が小さいことは明らかである。
【０１０４】
第１のケースと第２のケースについて評価値リストを比較すると、第２のケースが最大評価値が小さいので、評価値リストとしても小さいと判断される。
【０１０５】
すなわち、図４５に示すような状態に変更することで、移動前よりも、出力トラフィックが平準化される。
【０１０６】
以上のように、従来技術で行われている物理スイッチによる経路切り替えでは緩和できないトラフィックの偏りを平準化（均衡）させることができる。これによって、ＶＭ間の通信性能が向上する。また、トラフィックの平準化が行われることによって、各物理リンクに余剰帯域が増加するため、一時的に増加するトラフィックによる輻輳を回避できる可能性が高い。
【０１０７】
また、上で述べた処理は処理負荷が低く計算時間が短い。具体的には物理リンク単位で第１段階の評価値を算出した上で、選択された物理リンクについてフローを集約してＶＭ、ＶＲ又はＬ２−Ｔｒｅｅについて評価値を算出するので、集約処理の負荷が削減されている。さらに、移動又は変更されるＶＭ、ＶＲ又はＬ２−Ｔｒｅｅに関係する物理装置についてのみ評価値の更新を行う点でも、処理負荷が削減されている。
【０１０８】
［補足］
［フローの集約について］
着目する物理リンクに応じて集約すべきフローが異なる。
（ａ）SSwitchのUplink
Virtual router毎のフロー
（ｂ）SSwitchのDownlink
Virtual router毎のフロー、Ｌ２−Ｔｒｅｅ毎のフロー、送信元ＶＭ毎のフロー及び送信先ＶＭ毎のフロー
ＶＭについては、移動先を決定する処理のために、Virtual routerを経由するフローと、Virtual routerを経由しないフローとを区別して集約する。
（ｃ）LSwitchのUplink
Virtual router毎のフロー、Ｌ２−Ｔｒｅｅ毎のフロー、送信元ＶＭ毎のフロー及び送信先ＶＭ毎のフロー
ＶＭについては、移動先を決定する処理のために、Virtual routerを経由するフローと、Virtual routerを経由しないフローとを区別して集約する。
（ｄ）LSwitchのDownlink
送信元ＶＭ毎のフロー、送信先ＶＭ毎のフロー
ＶＭについては、移動先を決定する処理のために、Virtual routerを経由するフローと、Virtual routerを経由しないフローとを区別して集約する。
（ｅ）VServer
送信元ＶＭ毎のフロー、送信先ＶＭ毎のフロー
ＶＭについては、移動先を決定する処理のために、Virtual routerを経由するフローと、Virtual routerを経由しないフローとを区別して集約する。
【０１０９】
［移動により変更されるトラフィック］
移動すべきＶＭ、Virtual router又はＬ２−Ｔｒｅｅが特定されると、仮に移動させて評価値を更新するが、その際に影響を受けるのは、図４６に示すようなトラフィックである。このようなトラフィックが通過するスイッチ及びVServerの評価値が変化する。
【０１１０】
［移動先の決定処理について］
ＶＭ、ＶＲ又はＬ２−Ｔｒｅｅが移動又は変更されることによって影響を受ける物理リンクを有するスイッチ及びVServerのみについて、スイッチ及びVServerについて評価値を再計算する。この際、移動前の移動対象（ＶＭ、ＶＲ又はＬ２−Ｔｒｅｅ）の評価値を用いて、スイッチ及びVServerについての評価値を更新する。
【０１１１】
（１）Virtual router又はＬ２−Ｔｒｅｅを移動させる場合
SSwitchのUplink及びDownlink、LSwitchのUplink
これらについては、移動先のAServerに接続されているSSwitch又はSSwitchへ移動対象の評価値分だけ影響がある。
【０１１２】
（２）ＶＭを移動させる場合
移動対象のＶＭを同じLSwitchに接続されているVServerに移動させる場合には、以下で述べる８個の出力トラフィックが変化する。
一方、移動対象のＶＭを異なるLSwitchに接続されているVServerに移動させる場合には、以下で述べる１６個の出力トラフィックが変化する。
【０１１３】
ここで以下の説明に用いる記号の説明を行っておく。
【０１１４】
【数１】
2015162757.tif 000003
【０１１５】
（Ａ）同じLSwitchに接続されているVServerに移動させる場合
図４７に示すように、１つのLSwitchにＮ個のVServerが接続されている場合に、１番目のVServerに起動されているＶＭをＮ番目のVServerに移動させることを想定する。この場合、（１）乃至（８）のトラフィックに変化が生ずる。具体的には、以下に表されるような変更がある。
【数２】
2015162757.tif 000004
【０１１６】
以下、このような場合について具体的に示す。ここで、図４８に示す移動前のトラフィックに基づき説明する。なお、SSwitch2側にVirtual routerが設けられており、SSwitch1にはＬ２−Ｔｒｅｅが設定されているものとする。そして、ＶＭはVServer1からVServer2へ移動するものとする。さらに、図４８において点線についてはＶＭからの出力トラフィックを表しており、実線についてはＶＭへの出力トラフィックを表すものとする。
【０１１７】
図４９は移動後のトラフィックを表している。なお、移動元のVServer1内のＶＭについてのトラフィックは図示せずとも「０」に変化する。そして、VServer1からLSwitch1への出力トラフィックと、LSwitch1からVServer1への出力トラフィックと、VServer2内のＶＭへの出力トラフィック及びＶＭからの出力トラフィックと、VServer2からLSwitch1への出力トラフィックと、LSwitch1からVServer2への出力トラフィックとが変化する。
【０１１８】
図４７の（３）の出力トラフィックは、図５０に示すように、ＶＭ２からＶＭ１へのサブネット内通信（Ｌ２−Ｔｒｅｅ）と、ＶＭ２からＶＭ１へのサブネット間通信（Virtual router）との和になっている。「２」と「１４」は、図４８に示されている移動前の出力トラフィックを表している。
【０１１９】
図４７の（４）の出力トラフィックは、図５１に示すように、ＶＭ１からＶＭ２へのサブネット内通信（Ｌ２−Ｔｒｅｅ）と、ＶＭ２からＶＭ１へのサブネット内通信（Virtual router）との和となっている。「１」と「１５」は、図４８に示されている移動前の出力トラフィックを表している。
【０１２０】
図４７の（５）の出力トラフィックは、図５２に示すように、ＶＭ２からＶＭ１へのサブネット内通信（Ｌ２−Ｔｒｅｅ）と、ＶＭ４及びＶＭ５からＶＭ１へのサブネット内通信（Ｌ２−Ｔｒｅｅ）と、ＶＭ２乃至ＶＭ５からＶＭ１へのサブネット間通信（Virtual router）と、ＶＭ１からＶＭ３へのサブネット間通信（Virtual router）との和となる。「２」「４」「５」「６」は、図４８に示されている移動前の出力トラフィックを表している。
【０１２１】
図４７の（６）の出力トラフィックは、図５３に示すように、ＶＭ１からＶＭ２へのサブネット内通信（Ｌ２−Ｔｒｅｅ）と、ＶＭ１からＶＭ４及びＶＭ５へのサブネット内通信（Ｌ２−Ｔｒｅｅ）と、ＶＭ１からＶＭ２乃至ＶＭ５へのサブネット間通信（Virtual router）と、ＶＭ３からＶＭ１へのサブネット間通信（Virtual router）との和となっている。「１」「３」「６」「５」は、図４８に示されている移動前の出力トラフィックを表している。
【０１２２】
図４７の（７）の出力トラフィックは、図５４に示すように、ＶＭ１からＶＭ３へのサブネット内通信（Ｌ２−Ｔｒｅｅ）である。「５」は、図４８に示されている移動前の出力トラフィックを表している。
【０１２３】
図４７の（８）の出力トラフィックは、図５５に示すように、ＶＭ３からＶＭ１へのサブネット内通信（Ｌ２−Ｔｒｅｅ）である。「６」は、図４８に示されている移動前の出力トラフィックを表している。
【０１２４】
（Ｂ）異なるLSwitchに接続されているVServerに移動させる場合
図５６に示すように、１つのLSwitchにＮ個のVServerが接続されており、全部でＭ個のLSwitchが設けられている場合に、１番目のVServerに起動されているＶＭをＭ＊Ｎ番目のVServerに移動させることを想定する。この場合、（１）乃至（１６）のトラフィックに変化が生ずる。具体的には、以下に表されるような変更がある。
【０１２５】
【数３】
2015162757.tif 000005
【０１２６】
【数４】
2015162757.tif 000006
【０１２７】
以下、このような場合について具体的に示す。ここで、図５７に示す移動前のトラフィックに基づき説明する。なお、SSwitch2側にVirtual routerが設けられており、SSwitch1にはＬ２−Ｔｒｅｅが設定されているものとする。そして、ＶＭはVServer1からVServer6へ移動するものとする。さらに、図５７において点線についてはＶＭからの出力トラフィックを表しており、実線についてはＶＭへの出力トラフィックを表すものとする。
【０１２８】
図５８は移動後のトラフィックを表している。なお、移動元のVServer1内のＶＭについてのトラフィックは図示せずとも「０」に変化する。そして、VServer1からLSwitch1への出力トラフィックと、LSwitch1からVServer1への出力トラフィックと、LSwitch1からSSwitch1への出力トラフィックと、SSwitch1からLSwitch1への出力トラフィックと、LSwitch1からSSwitch2への出力トラフィックと、SSwitch2からLSwitch1への出力トラフィックと、SSwitch1からLSwitch3への出力トラフィックと、LSwitch3からSSwitch1への出力トラフィックと、SSwitch2からLSwitch3への出力トラフィックと、LSwitch3からSSwitch2への出力トラフィックと、VServer6内のＶＭへの出力トラフィック及びＶＭからの出力トラフィックと、VServer6からLSwitch3への出力トラフィックと、LSwitch3からVServer6への出力トラフィックとが変化する。
【０１２９】
図５６の（３）の出力トラフィックは、図５９に示すように、ＶＭ２からＶＭ１へのサブネット内通信（Ｌ２−Ｔｒｅｅ）と、ＶＭ２からＶＭ１へのサブネット間通信（Virtual router）との和になっている。「２」と「２４」は、図５７に示されている移動前の出力トラフィックを表している。
【０１３０】
図５６の（４）の出力トラフィックは、図６０に示すように、ＶＭ１からＶＭ２へのサブネット内通信（Ｌ２−Ｔｒｅｅ）と、ＶＭ１からＶＭ２へのサブネット間通信（Virtual router）との和となっている。「１」と「２５」は、図５７に示されている移動前の出力トラフィックを表している。
【０１３１】
図５６の（５）の出力トラフィックは、図６１に示すように、ＶＭ２からＶＭ１へのサブネット内通信（Ｌ２−Ｔｒｅｅ）と、ＶＭ３からＶＭ１へのサブネット内通信（Ｌ２−Ｔｒｅｅ）との和となる。「２」「６」は、図５７に示されている移動前の出力トラフィックを表している。
【０１３２】
図５６の（６）の出力トラフィックは、図６２に示すように、ＶＭ１からＶＭ２へのサブネット内通信（Ｌ２−Ｔｒｅｅ）と、ＶＭ１からＶＭ３へのサブネット内通信（Ｌ２−Ｔｒｅｅ）との和となる。「１」「５」は、図５７に示されている移動前の出力トラフィックを表している。
【０１３３】
図５６の（７）の出力トラフィックは、図６３に示すように、ＶＭ２及びＶＭ３からＶＭ１へのサブネット間通信（Virtual router）である。「２６」は、図５７に示されている移動前の出力トラフィックを表している。
【０１３４】
図５６の（８）の出力トラフィックは、図６４に示すように、ＶＭ１からＶＭ２及びＶＭ３へのサブネット間通信（Virtual router）である。「２３」は、図５７に示されている移動前の出力トラフィックを表している。
【０１３５】
図５６の（９）の出力トラフィックは、図６５に示すように、ＶＭ２からＶＭ１へのサブネット内通信（Ｌ２−Ｔｒｅｅ）と、ＶＭ３からＶＭ１へのサブネット内通信（Ｌ２−Ｔｒｅｅ）と、ＶＭ５からＶＭ１へのサブネット内通信（Ｌ２−Ｔｒｅｅ）の和となる。「２」「６」「１２」は、図５７に示されている移動前の出力トラフィックを表している。
【０１３６】
図５６の（１０）の出力トラフィックは、図６６に示すように、ＶＭ１からＶＭ２へのサブネット内通信（Ｌ２−Ｔｒｅｅ）と、ＶＭ１からＶＭ３へのサブネット内通信（Ｌ２−Ｔｒｅｅ）と、ＶＭ１からＶＭ５へのサブネット内通信（Ｌ２−Ｔｒｅｅ）の和となる。「１」「５」「１１」は、図５７に示されている移動前の出力トラフィックを表している。
【０１３７】
図５６の（１１）の出力トラフィックは、図６７に示すように、ＶＭ２、ＶＭ３、ＶＭ５乃至ＶＭ７からＶＭ１へのサブネット間通信（Virtual router）と、ＶＭ１からＶＭ６及びＶＭ７へのサブネット間通信（Virtual router）との和となっている。「１０」と「１７」は、図５７に示されている移動前の出力トラフィックを表している。
【０１３８】
図５６の（１２）の出力トラフィックは、図６８に示すように、ＶＭ１からＶＭ２、ＶＭ３、ＶＭ５乃至ＶＭ７へのサブネット間通信（Virtual router）と、ＶＭ６及びＶＭ７からＶＭ１へのサブネット間通信（Virtual router）との和となっている。「９」と「１８」は、図５７に示されている移動前の出力トラフィックを表している。
【０１３９】
図５６の（１３）の出力トラフィックは、図６９に示すように、ＶＭ２からＶＭ１へのサブネット内通信（Ｌ２−Ｔｒｅｅ）と、ＶＭ３、ＶＭ５及びＶＭ６からＶＭ１へのサブネット内通信（Ｌ２−Ｔｒｅｅ）と、ＶＭ２、ＶＭ３、ＶＭ５乃至ＶＭ７からＶＭ１へのサブネット間通信（Virtual router）と、ＶＭ１からＶＭ７へのサブネット間通信（Virtual router）との和となっている。「２」「４」「２２」「２１」は、図５７に示されている移動前の出力トラフィックを表している。
【０１４０】
図５６の（１４）の出力トラフィックは、図７０に示すように、ＶＭ１からＶＭ２へのサブネット内通信（Ｌ２−Ｔｒｅｅ）と、ＶＭ１からＶＭ３、ＶＭ５及びＶＭ６へのサブネット間通信（Virtual router）と、ＶＭ１からＶＭ２、ＶＭ３、ＶＭ５乃至ＶＭ７へのサブネット間通信（Virtual router）と、ＶＭ７からＶＭ１へのサブネット間通信（Virtual router）との和となっている。「１」「３」「２１」「２２」は、図５７に示されている移動前の出力トラフィックを表している。
【０１４１】
図５６の（１５）の出力トラフィックは、図７１に示すように、ＶＭ１からＶＭ６へのサブネット内通信（Ｌ２−Ｔｒｅｅ）である。「２１」は、図５７に示されている移動前の出力トラフィックを表している。
【０１４２】
図５６の（１６）の出力トラフィックは、図７２に示すように、ＶＭ６からＶＭ１へのサブネット内通信（Ｌ２−Ｔｒｅｅ）である。「２２」は、図５７に示されている移動前の出力トラフィックを表している。
【０１４３】
［移動後の評価値算出の処理負荷削減］
どの移動先を選択するかについては評価値リストで判断するが、最終的には移動前の評価値リストより小さい評価値リストであれば移動が実際になされることになる。よって、移動前の評価値リストにおいて最大評価値以上の評価値がいずれかのスイッチ又はVServerについて算出された場合には、その移動先についての評価値算出を打ち切ることで、計算量を削減できる。
【０１４４】
例えば、移動前の状態の一例を図７３に示す。図７３の例では、AServer3にVirtual routerが起動されているが、ここではVirtual routerを移動先候補AServer1に移動させる場合を考える。なお、移動前の評価値リストにおける最大評価値は「５」である。
【０１４５】
この例では、図７４に示すように、移動先AServer1が接続されているSSwitch1の評価値を算出し直すと、「６」が得られたものとする。そうすると、SSwitch3等の評価値を更新することになるが、更新せずともAServer1を選択することはないので、移動先AServer1についての評価値算出処理は打ち切り、移動先候補AServer2についての処理に移行する。
【０１４６】
さらに、図７５に示すように、SSwitchのDownlinkが評価値最大で選択され、VServer1に起動された送信先ＶＭが移動対象として選択されたとする。しかし、送信先ＶＭをVServer1が接続されているLSwitchに接続されているVServer2及びVServer3に移動させても、SSwitchのDownlinkの出力トラフィックは変わらない。従って、VServer2及びVServer3を移動先候補から除外できる。このようにすれば、評価値の計算負荷を削減できる。
【０１４７】
また、図７６に示すように、LSwitchのUplinkが評価値最大で選択され、VServer1に起動された送信元ＶＭが移動対象として選択されたとする。しかし、送信元ＶＭをVServer1が接続されているLSwitchに接続されているVServer2及びVServer3に移動させても、LSwitchのUplinkの出力トラフィックは変わらない。従って、VServer2及びVServer3を移動先候補から除外できる。このようにすれば、評価値の計算負荷を削減できる。
【０１４８】
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。図７に示したリソース制御装置１０００の機能ブロック構成は一例であり、プログラムモジュール構成やファイル構成と一致しない場合もある。
【０１４９】
処理フローについても、処理結果が変わらない限り、処理ステップの実行順番を入れ替えたり、複数ステップを並列実行するようにしても良い。
【０１５０】
なお、上で述べたリソース制御装置１０００は、コンピュータ装置であって、図７７に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１５１】
以上述べた本実施の形態をまとめると、以下のようになる。
【０１５２】
本実施の形態に係る情報処理システムは、（Ａ）複数のサブネットの少なくともいずれかに属する仮想マシンが起動される複数の第１の情報処理装置と、（Ｂ）サブネット間の通信に用いられる仮想ルータが起動される複数の第２の情報処理装置と、（Ｃ）サブネット内の通信経路と仮想マシンの配置と仮想ルータの配置とを制御する制御装置と、（Ｄ）複数の第１の情報処理装置と複数の第２の情報処理装置と制御装置とを接続する複数のスイッチとを有する。そして、上で述べた複数のスイッチは、（ｄ１）複数の第１の情報処理装置に接続する複数の第１のスイッチと、（ｄ２）複数の第２の情報処理装置に接続する複数の第２のスイッチとを含む。また、複数の第１のスイッチの各々は、複数の第２のスイッチのうちの２以上の第２のスイッチと接続されている。さらに、上で述べた制御装置は、（ｃ１）複数の第１の情報処理装置の各々の通信量に関する所定の評価値と、複数のスイッチの各々の通信量に関する所定の評価値とに基づき、仮想マシンと、仮想ルータと、いずれかのサブネット内の通信経路とのうちいずれかを選択して、選択された仮想マシン又は仮想ルータの配置先若しくは選択されたサブネット内の通信経路を変更する。
【０１５３】
単に仮想マシンのみを移動させたり、スイッチ間の通信経路を切り替えたりするのでは解消できないネットワーク負荷の平準化が可能となる。すなわち、物理的な装置の通信量に基づき、ネットワーク負荷の平準化という観点から最も適切な変更対象を、仮想マシンの配置先の第１の情報処理装置と、仮想ルータの配置先の第２の情報処理装置と、いずれかのサブネット内の通信経路とから選択できるようになる。
【０１５４】
また、上で述べた制御装置が、（ｃ２）複数の第１の情報処理装置の各々の通信量に関する所定の評価値と、複数のスイッチの各々の通信量に関する所定の評価値とから、複数の第１の情報処理装置と複数のスイッチとを含む物理装置のうちいずれか１つを選択し、（ｃ３）選択した物理装置に関わるデータフローを、仮想マシン単位とサブネット間単位とサブネット内単位との少なくともいずれかで集約し、当該集約結果に基づき仮想マシンと仮想ルータとサブネット内の通信経路とを含む変更対象のいずれかを選択するようにしても良い。一旦、物理的な装置について絞り込みを行った後、データフローを集約することで変更対象を決定できるので、処理負荷を削減しつつ、ネットワーク負荷の平準化に効果的な変更対象を選択できるようになる。
【０１５５】
さらに、上で述べた制御装置が、（ｃ４）選択した変更対象を仮に変更先候補に変更した複数のケースの各々について、複数の第１の情報処理装置の各々の通信量に関する所定の評価値と、複数のスイッチの各々の通信量に関する所定の評価値とを特定し、（ｃ５）当該複数の第１の情報処理装置の各々の通信量に関する所定の評価値と複数のスイッチの各々の通信量に関する所定の評価値とに基づき、複数のケースのうち、所定の評価値の平準化に関する条件を満たすケースを特定し、（ｃ６）特定したケースに従って、選択した変更対象を変更先候補に変更するようにしても良い。このようにすれば、平準化に対して効果のある変更先候補を特定できるようになる。
【０１５６】
さらに、上で述べた所定の評価値が、出力トラフィックの最大値又は平均値である場合もある。
【０１５７】
また、上で述べた条件が、複数の第１の情報処理装置の各々の通信量に関する所定の評価値と複数のスイッチの各々の通信量に関する所定の評価値とを降順に並べることで得られる、複数のケースの評価値リストのうち、最も小さい評価値リストのケースであるという条件と、最も小さい評価値リストが、現在の評価値リストよりも小さいという条件とを含むようにしても良い。
【０１５８】
なお、上で述べたような処理をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭなどの光ディスク、光磁気ディスク、半導体メモリ（例えばＲＯＭ）、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、ＲＡＭ等の記憶装置に一時保管される。
【０１５９】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１６０】
（付記１）
複数のサブネットの少なくともいずれかに属する仮想マシンが起動される複数の第１の情報処理装置と、
サブネット間の通信に用いられる仮想ルータが起動される複数の第２の情報処理装置と、
サブネット内の通信経路と前記仮想マシンの配置と前記仮想ルータの配置とを制御する制御装置と、
前記複数の第１の情報処理装置と前記複数の第２の情報処理装置と前記制御装置とを接続する複数のスイッチと、
を有し、
前記複数のスイッチは、
前記複数の第１の情報処理装置に接続する複数の第１のスイッチと、
前記複数の第２の情報処理装置に接続する複数の第２のスイッチと
を含み、
前記複数の第１のスイッチの各々は、前記複数の第２のスイッチのうちの２以上の第２のスイッチと接続されており、
前記制御装置は、
前記複数の第１の情報処理装置の各々の通信量に関する所定の評価値と、前記複数のスイッチの各々の通信量に関する所定の評価値とに基づき、前記仮想マシンと、前記仮想ルータと、いずれかのサブネット内の通信経路とのうちいずれかを選択して、選択された前記仮想マシン又は前記仮想ルータの配置先若しくは選択された前記サブネット内の通信経路を変更する
情報処理システム。
【０１６１】
（付記２）
前記制御装置が、
前記複数の第１の情報処理装置の各々の通信量に関する所定の評価値と、前記複数のスイッチの各々の通信量に関する所定の評価値とから、前記複数の第１の情報処理装置と前記複数のスイッチとを含む物理装置のうちいずれか１つを選択し、
選択した前記物理装置に関わるデータフローを、仮想マシン単位とサブネット間単位とサブネット内単位との少なくともいずれかで集約し、当該集約結果に基づき前記仮想マシンと前記仮想ルータと前記サブネット内の通信経路とを含む変更対象のいずれかを選択する、
付記１記載の情報処理システム。
【０１６２】
（付記３）
前記制御装置が、
選択した前記変更対象を仮に変更先候補に変更した複数のケースの各々について、前記複数の第１の情報処理装置の各々の通信量に関する所定の評価値と、前記複数のスイッチの各々の通信量に関する所定の評価値とを特定し、
前記複数の第１の情報処理装置の各々の通信量に関する所定の評価値と前記複数のスイッチの各々の通信量に関する所定の評価値とに基づき、前記複数のケースのうち、前記所定の評価値の平準化に関する条件を満たすケースを特定し、
特定した前記ケースに従って、選択した前記変更対象を変更先候補に変更する
付記２記載の情報処理システム。
【０１６３】
（付記４）
前記所定の評価値が、出力トラフィックの最大値又は平均値である
付記１乃至３のいずれか１つ記載の情報処理システム。
【０１６４】
（付記５）
前記条件が、
前記複数の第１の情報処理装置の各々の通信量に関する所定の評価値と前記複数のスイッチの各々の通信量に関する所定の評価値とを降順に並べることで得られる、前記複数のケースの評価値リストのうち、最も小さい評価値リストのケースであるという条件と、
前記最も小さい評価値リストが、現在の評価値リストよりも小さいという条件と、
を含む付記３記載の情報処理システム。
【０１６５】
（付記６）
複数のサブネットの少なくともいずれかに属する仮想マシンが起動される複数の第１の情報処理装置と、サブネット間の通信に用いられる仮想ルータが起動される複数の第２の情報処理装置と、サブネット内の通信経路と前記仮想マシンの配置と前記仮想ルータの配置とを制御する制御装置と、前記複数の第１の情報処理装置と前記複数の第２の情報処理装置と前記制御装置とを接続する複数のスイッチと有する情報処理システムであって、前記複数のスイッチは、前記複数の第１の情報処理装置に接続する複数の第１のスイッチと、前記複数の第２の情報処理装置に接続する複数の第２のスイッチとを含み、前記複数の第１のスイッチの各々は、前記複数の第２のスイッチのうちの２以上の第２のスイッチと接続されている情報処理システムにおける前記制御装置が、
前記複数の第１の情報処理装置の各々の通信量に関する所定の評価値と、前記複数のスイッチの各々の通信量に関する所定の評価値とを取得し、
前記複数の第１の情報処理装置の各々の通信量に関する所定の評価値と、前記複数のスイッチの各々の通信量に関する所定の評価値とに基づき、前記仮想マシンと、前記仮想ルータと、いずれかのサブネット内の通信経路とのうちいずれかを選択して、選択された前記仮想マシン又は前記仮想ルータの配置先若しくは選択された前記サブネット内の通信経路を変更する
処理を実行する制御方法。
【０１６６】
（付記７）
前記変更する処理が、
前記複数の第１の情報処理装置の各々の通信量に関する所定の評価値と、前記複数のスイッチの各々の通信量に関する所定の評価値とから、前記複数の第１の情報処理装置と前記複数のスイッチとを含む物理装置のうちいずれか１つを選択し、
選択した前記物理装置に関わるデータフローを、仮想マシン単位とサブネット間単位とサブネット内単位との少なくともいずれかで集約し、当該集約結果に基づき前記仮想マシンと前記仮想ルータと前記サブネット内の通信経路とを含む変更対象のいずれかを選択する、
処理を含む付記６記載の制御方法。
【０１６７】
（付記８）
複数のサブネットの少なくともいずれかに属する仮想マシンが起動される複数の第１の情報処理装置と、サブネット間の通信に用いられる仮想ルータが起動される複数の第２の情報処理装置と、サブネット内の通信経路と前記仮想マシンの配置と前記仮想ルータの配置とを制御する制御装置と、前記複数の第１の情報処理装置と前記複数の第２の情報処理装置と前記制御装置とを接続する複数のスイッチと有する情報処理システムであって、前記複数のスイッチは、前記複数の第１の情報処理装置に接続する複数の第１のスイッチと、前記複数の第２の情報処理装置に接続する複数の第２のスイッチとを含み、前記複数の第１のスイッチの各々は、前記複数の第２のスイッチのうちの２以上の第２のスイッチと接続されている情報処理システムにおける前記制御装置に、
前記複数の第１の情報処理装置の各々の通信量に関する所定の評価値と、前記複数のスイッチの各々の通信量に関する所定の評価値とを取得させ、
前記複数の第１の情報処理装置の各々の通信量に関する所定の評価値と、前記複数のスイッチの各々の通信量に関する所定の評価値とに基づき、前記仮想マシンと、前記仮想ルータと、いずれかのサブネット内の通信経路とのうちいずれかを選択して、選択された前記仮想マシン又は前記仮想ルータの配置先若しくは選択された前記サブネット内の通信経路を変更する
処理を実行させるための制御プログラム。
【０１６８】
（付記９）
前記変更させる処理が、
前記複数の第１の情報処理装置の各々の通信量に関する所定の評価値と、前記複数のスイッチの各々の通信量に関する所定の評価値とから、前記複数の第１の情報処理装置と前記複数のスイッチとを含む物理装置のうちいずれか１つを選択し、
選択した前記物理装置に関わるデータフローを、仮想マシン単位とサブネット間単位とサブネット内単位との少なくともいずれかで集約し、当該集約結果に基づき前記仮想マシンと前記仮想ルータと前記サブネット内の通信経路とを含む変更対象のいずれかを選択する、
処理を含む付記８記載の制御プログラム。
【符号の説明】
【０１６９】
１０００  リソース制御装置
１１００  平準化処理部
１２００  変更制御部
１３００  移動制御部
１４００  管理データ格納部
１５００  収集データ格納部
１６００  トラフィックデータ収集部
【図１】
2015162757.tif 000007
【図２】
2015162757.tif 000008
【図３】
2015162757.tif 000009
【図４】
2015162757.tif 000010
【図５】
2015162757.tif 000011
【図６】
2015162757.tif 000012
【図７】
2015162757.tif 000013
【図８】
2015162757.tif 000014
【図９】
2015162757.tif 000015
【図１０】
2015162757.tif 000016
【図１１】
2015162757.tif 000017
【図１２】
2015162757.tif 000018
【図１３】
2015162757.tif 000019
【図１４】
2015162757.tif 000020
【図１５】
2015162757.tif 000021
【図１６】
2015162757.tif 000022
【図１７】
2015162757.tif 000023
【図１８】
2015162757.tif 000024
【図１９】
2015162757.tif 000025
【図２０】
2015162757.tif 000026
【図２１】
2015162757.tif 000027
【図２２】
2015162757.tif 000028
【図２３】
2015162757.tif 000029
【図２４】
2015162757.tif 000030
【図２５】
2015162757.tif 000031
【図２６】
2015162757.tif 000032
【図２７】
2015162757.tif 000033
【図２８】
2015162757.tif 000034
【図２９】
2015162757.tif 000035
【図３０】
2015162757.tif 000036
【図３１】
2015162757.tif 000037
【図３２】
2015162757.tif 000038
【図３３】
2015162757.tif 000039
【図３４】
2015162757.tif 000040
【図３５】
2015162757.tif 000041
【図３６】
2015162757.tif 000042
【図３７】
2015162757.tif 000043
【図３８】
2015162757.tif 000044
【図３９】
2015162757.tif 000045
【図４０】
2015162757.tif 000046
【図４１】
2015162757.tif 000047
【図４２】
2015162757.tif 000048
【図４３】
2015162757.tif 000049
【図４４】
2015162757.tif 000050
【図４５】
2015162757.tif 000051
【図４６】
2015162757.tif 000052
【図４７】
2015162757.tif 000053
【図４８】
2015162757.tif 000054
【図４９】
2015162757.tif 000055
【図５０】
2015162757.tif 000056
【図５１】
2015162757.tif 000057
【図５２】
2015162757.tif 000058
【図５３】
2015162757.tif 000059
【図５４】
2015162757.tif 000060
【図５５】
2015162757.tif 000061
【図５６】
2015162757.tif 000062
【図５７】
2015162757.tif 000063
【図５８】
2015162757.tif 000064
【図５９】
2015162757.tif 000065
【図６０】
2015162757.tif 000066
【図６１】
2015162757.tif 000067
【図６２】
2015162757.tif 000068
【図６３】
2015162757.tif 000069
【図６４】
2015162757.tif 000070
【図６５】
2015162757.tif 000071
【図６６】
2015162757.tif 000072
【図６７】
2015162757.tif 000073
【図６８】
2015162757.tif 000074
【図６９】
2015162757.tif 000075
【図７０】
2015162757.tif 000076
【図７１】
2015162757.tif 000077
【図７２】
2015162757.tif 000078
【図７３】
2015162757.tif 000079
【図７４】
2015162757.tif 000080
【図７５】
2015162757.tif 000081
【図７６】
2015162757.tif 000082
【図７７】
2015162757.tif 000083