(57)【要約】  ネットワーク機能の仮想化にあたりネットワークの負荷分散を実現可能とする。要求リソースを入力する手段と、前記入力した要求リソースに基づき、ネットワーク機能を仮想化する仮想マシンを配置する物理マシンを選択するＶＭ配置先計算手段とを少なくとも備え、前記ＶＭ配置先計算手段は、前記要求リソースで指定される条件に適合する前記物理マシンに前記仮想マシンをそれぞれ配置した場合において、前記物理マシンが接続するネットワークに流れるトラフィック量を予測し、予測したトラフィック量から、前記ネットワークのリンクの利用率をバランスさせる物理マシンを前記仮想マシンの配置先として選択する。
2014208661.tif 000002
【特許請求の範囲】
【請求項１】
要求リソースを入力する手段と、
前記入力した要求リソースに基づき、仮想マシンを配置する物理マシンを選択するＶＭ配置先計算手段と、
を少なくとも備え、
前記ＶＭ配置先計算手段は、
前記要求リソースで指定される条件に適合する前記物理マシンに前記仮想マシンを配置した場合に、前記物理マシンが接続するネットワークに流れるトラフィック量を予測し、
前記予測したトラフィック量から、前記ネットワークでのリンクの利用率をバランスさせる物理マシンを、前記仮想マシンの配置先として選択する、仮想マシン配置設計装置。
【請求項２】
前記ＶＭ配置先計算手段は、
前記ネットワークのリンクに対して測定されたリンク利用率に基づき、送信元から宛先の間のリンクが選択されるリンク選択確率を算出し、
前記リンク選択確率と、前記送信元から前記宛先のトラフィック量に基づき、前記リンクの発生トラフィック量を予測し、
前記リンク利用率と前記発生トラフィック量とから予想リンク利用率を算出し、
前記予想リンク利用率のバランス度を算出し、前記バランス度に基づき、前記予測リンク利用率を均一化する物理マシンを選択して、仮想マシンの配置先とする、請求項１記載の仮想マシン配置設計装置。
【請求項３】
前記ネットワークのトポロジ情報を取得する手段と、
前記取得した前記トポロジ情報を記憶する記憶部と、
を備えた、請求項１又は２記載の仮想マシン配置設計装置。
【請求項４】
前記ネットワークのトポロジ情報が、前記ネットワークのリンク情報を含み、
前記リンク情報は、
前記送信元から前記宛先への方向性を持つ経路に含まれる各リンクに関して、
前記リンク始端に接続するノードの情報と、
前記リンク終端に接続するノードの情報と、
前記リンクの帯域と、
前記リンクの利用率と、
を含む、請求項３記載の仮想マシン配置設計装置。
【請求項５】
前記ネットワークのトポロジ情報が、前記物理マシンの前記ネットワークにおける位置情報を含む、請求項４記載の仮想マシン配置設計装置。
【請求項６】
前記ＶＭ配置先計算手段は、前記要求リソースで指定される条件に適合する物理マシンが複数存在する場合、
前記物理マシンに前記仮想マシンを配置し、
前記ネットワークのノードｉからノードｊへのリンクの前記リンク利用率を第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ、Ｎはネットワークのノード数）の要素とするリンク利用率行列（Link_util）を算出し、
行列Ｗを、その第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素Ｗｉｊが、ノードｉからノードｊへの辿り易さを表す行列とし、
行列Ｐを、その第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素Ｐｉｊが、ノードｉからノードｊへのリンクの効用を表す行列として、
第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素Ｐｏｄｉｊを、
2014208661.tif 000009
とするリンク選択確率行列Ｐｏｄを算出し、
リンク選択確率行列Ｐｏｄと送信元と宛先間のトラフィック量から、発生トラフィック量行列TMを算出し、
第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素ＥＵｉｊを、次式
2014208661.tif 000010
すなわち、前記リンク利用率行列（Link_util）の第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素Link_utilｉｊと、前記発生トラフィック量行列（ＴＭ）の第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素を、ノードｉからノードｊへのリンクの帯域ｂｗｉｊで除算して計算される値の和とする、予想リンク利用率行列（ＥＵ）を算出し、
次に、前記予想リンク利用率行列（ＥＵ）に対してバランス度（link_variance）を次式、
2014208661.tif 000011
（ただし、ＥＵｉｊは、予想リンク利用率行列（ＥＵ）の第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素）で算出し、
前記複数の物理マシンに対して求めた前記バランス度の値に基づき、前記予測リンク利用率を均一化する物理マシンを選択して、前記仮想マシンの配置先とする、請求項４又は５記載の仮想マシン配置設計装置。
【請求項７】
前記物理マシンの情報を取得する手段と、
前記仮想マシンの情報を取得する手段と、
前記トポロジ情報を記憶する記憶部と、
前記物理マシンの情報を記憶する記憶部と、
前記仮想マシンの情報を記憶する記憶部と、
をさらに備えた、請求項１乃至６のいずれか１項に記載の仮想マシン配置設計装置。
【請求項８】
同一の機能又は同一のサービスを提供する複数の仮想マシンをできる限り、異なる物理マシンに配置する、請求項１乃至７のいずれか１項に記載の仮想マシン配置設計装置。
【請求項９】
請求項１乃至８のいずれか１項に記載の仮想マシン配置装置と、
前記仮想マシン配置装置に前記要求リソースを与える手段と、
前記仮想マシン配置装置に接続する物理マシンと、
前記仮想マシン配置装置に接続する仮想マシンと、
前記仮想マシン配置装置に接続するネットワークと、
を備えた通信システム。  
【請求項１０】
要求リソースを入力する工程と、
前記入力した要求リソースに基づき、ネットワーク機能を仮想化する仮想マシンを配置する物理マシンを選択するＶＭ配置先計算工程と、
を少なくとも含み、
前記ＶＭ配置先計算工程は、
前記要求リソースで指定される条件に適合する前記物理マシンに前記仮想マシンを配置した場合において、前記物理マシンが接続するネットワークに流れるトラフィック量を予測し、
前記予測したトラフィック量から、前記ネットワークのリンクの利用率をバランスさせる物理マシンを、前記仮想マシンの配置先として選択する、仮想マシン配置設計方法。
【請求項１１】
前記ＶＭ配置先計算工程は、
前記ネットワークのリンクに対して測定されたリンク利用率に基づき、送信元から宛先の間のリンクが選択されるリンク選択確率を算出し、
前記リンク選択確率と、前記送信元から前記宛先のトラフィック量に基づき、前記リンクの発生トラフィック量を予測し、
前記リンク利用率と前記発生トラフィック量とから予想リンク利用率を算出し、
前記予想リンク利用率のバランス度を算出し、前記バランス度に基づき、前記予測リンク利用率を均一化する物理マシンを選択して、仮想マシンの配置先とする、請求項１０記載の仮想マシン配置設計方法。
【請求項１２】
前記ネットワークのトポロジ情報を取得する工程と、
前記取得した前記トポロジ情報を記憶部に記憶する工程と、
を含む、請求項１０又は１１記載の仮想マシン配置設計方法。
【請求項１３】
前記ネットワークのトポロジ情報が、前記ネットワークのリンク情報を含み、
前記リンク情報は、
前記送信元から前記宛先への方向性を持つ経路に含まれる各リンクに関して、
前記リンク始端に接続するノードの情報と、
前記リンク終端に接続するノードの情報と、
前記リンクの帯域と、
前記リンクの利用率と、
を含む、請求項１２記載の仮想マシン配置設計方法。
【請求項１４】
前記ネットワークのトポロジ情報が前記物理マシンのネットワークでの位置情報を含む、請求項１３記載の仮想マシン配置設計方法。
【請求項１５】
前記ＶＭ配置先計算工程は、
前記要求リソースで指定される条件に適合する物理マシンが複数存在する場合、
前記物理マシンに前記仮想マシンを配置し、
前記ネットワークのノードｉからノードｊへのリンクの前記リンク利用率を第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ、Ｎはネットワークのノード数）の要素とするリンク利用率行列（Link_util）を算出し、
行列Wを、その第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素Ｗｉｊが、ノードｉからノードｊへの辿り易さを表す行列とし、
行列Ｐを、その第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素Ｐｉｊが、ノードｉからノードｊへのリンクの効用を表す行列として、
第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素Ｐｏｄｉｊを、
2014208661.tif 000012
とするリンク選択確率行列Ｐｏｄを算出し、
リンク選択確率行列Ｐｏｄと送信元と宛先間のトラフィック量から、発生トラフィック量行列TMを算出し、
第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素ＥＵｉｊを、次式
2014208661.tif 000013
すなわち、前記リンク利用率行列（Link_util）の第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素と、前記発生トラフィック量行列（ＴＭ）の第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素を、ノードｉからノードｊへのリンクの帯域ｂｗｉｊで除算して計算される値の和とする、予想リンク利用率行列（ＥＵ）を算出し、
次に、前記予想リンク利用率行列（ＥＵ）に対してバランス度（link_variance）を次式
2014208661.tif 000014
（ただし、ＥＵｉｊは、予想リンク利用率行列（ＥＵ）の第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素）で算出し、
前記複数の物理マシンに対して求めた前記バランス度の値に基づき、前記予測リンク利用率を均一化する物理マシンを選択して、前記仮想マシンの配置先とする、請求項１３又は１４に記載の仮想マシン配置設計方法。
【請求項１６】
前記物理マシンの情報を取得する工程と、
前記仮想マシンの情報を取得する工程と、
前記物理マシンの情報を記憶部に記憶する工程と、
前記仮想マシンの情報を記憶部に記憶する工程と、
をさらに含む請求項１０乃至１５のいずれか１項に記載の仮想マシン配置設計方法。
【請求項１７】
同一の機能又は同一のサービスを提供する複数の仮想マシンをできる限り、異なる物理マシンに配置する、請求項１０乃至１６のいずれか１項に記載の仮想マシン配置設計方法。
【請求項１８】
要求リソースを入力する処理と、
前記入力した要求リソースに基づき、ネットワーク機能を仮想化する仮想マシンを配置する物理マシンを選択する処理であって、
前記要求リソースで指定される条件に適合する各前記物理マシンに前記仮想マシンを配置した場合において、前記物理マシンが接続するネットワークに流れるトラフィック量を予測し、
前記予測したトラフィック量から、前記ネットワークのリンクの利用率をバランスさせる物理マシンを、前記仮想マシンの配置先として選択するＶＭ配置先計算処理と、
をコンピュータに実行させるプログラム。
【請求項１９】
前記ＶＭ配置先計算処理は、
前記ネットワークのリンクに対して測定されたリンク利用率に基づき、送信元から宛先の間のリンクが選択されるリンク選択確率を算出し、
前記リンク選択確率と、前記送信元から前記宛先のトラフィック量に基づき、前記リンクの発生トラフィック量を予測し、
前記リンク利用率と前記発生トラフィック量とから予想リンク利用率を算出し、
前記予想リンク利用率のバランス度を算出し、前記バランス度に基づき、前記予測リンク利用率を均一化する物理マシンを選択して、仮想マシンの配置先とする、請求項１８記載のプログラム。
【請求項２０】
前記ネットワークのトポロジ情報を取得する処理と、
前記取得した前記トポロジ情報を記憶部に記憶する処理と、
含む請求項１８又は１９記載のプログラム。
【請求項２１】
前記ネットワークのトポロジ情報が、前記ネットワークのリンク情報を含み、
前記リンク情報は、
前記送信元から前記宛先への方向性を持つ経路に含まれる各リンクに関して、
前記リンク始端に接続するノードの情報と、
前記リンク終端に接続するノードの情報と、
前記リンクの帯域と、
前記リンクの利用率と、
を含む、請求項２０記載のプログラム。
【請求項２２】
前記ネットワークのトポロジ情報が前記物理マシンのネットワークでの位置情報を含む、請求項２１記載のプログラム。
【請求項２３】
前記ＶＭ配置先計算処理は、
前記要求リソースで指定される条件に適合する物理マシンが複数存在する場合、
前記物理マシンに前記仮想マシンを配置し、
前記ネットワークのノードｉからノードｊへのリンクの前記リンク利用率を第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ、Ｎはネットワークのノード数）の要素とするリンク利用率行列（Link_util）を算出し、
行列Wを、その第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素Ｗｉｊが、ノードｉからノードｊへの辿り易さを表す行列とし、
行列Ｐを、その第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素Ｐｉｊが、ノードｉからノードｊへのリンクの効用を表す行列として、
第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素Ｐｏｄｉｊを、
2014208661.tif 000015
とするリンク選択確率行列Ｐｏｄを算出し、
リンク選択確率行列Ｐｏｄと送信元と宛先間のトラフィック量から、発生トラフィック量行列TMを算出し、
第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素ＥＵｉｊを、次式
2014208661.tif 000016
すなわち、前記リンク利用率行列（Link_util）の第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素と、前記発生トラフィック量行列（ＴＭ）の第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素を、ノードｉからノードｊへのリンクの帯域ｂｗｉｊで除算して計算される値の和とする、予想リンク利用率行列（ＥＵ）を算出し、
次に、前記予想リンク利用率行列（ＥＵ）に対してバランス度（link_variance）を次式
2014208661.tif 000017
（ただし、ＥＵｉｊは、予想リンク利用率行列（ＥＵ）の第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素）で算出し、
前記複数の物理マシンに対して求めた前記バランス度の値に基づき、前記予測リンク利用率を均一化する物理マシンを選択して、前記仮想マシンの配置先とする、請求項２１又は２２に記載のプログラム。
【請求項２４】
前記物理マシンの情報を取得する処理と、
前記仮想マシンの情報を取得する処理と、
前記物理マシンの情報を記憶部に記憶する処理と、
前記仮想マシンの情報を記憶部に記憶する処理と、
をさらに含む、請求項１８乃至２３のいずれか１項に記載のプログラム。
【請求項２５】
同一の機能又は同一のサービスを提供する複数の仮想マシンをできる限り、異なる物理マシンに配置する、請求項１８乃至２４のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１３−１３４６９９号（２０１３年６月２７日出願）に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、仮想マシンの配置設計を行う装置及び方法とシステム並びにプログラムに関する。
【背景技術】
【０００２】
ネットワークをソフトウェアで制御できるようにするＳＤＮ（Software Defined Network）技術や、例えばコア網（Core Network）等のネットワーク機能を仮想化する「ＮＦＶ（Network Functions Virtualization）」等、ネットワークにおいても、ＩＴ（Intelligent Technology）技術で培われたサーバ仮想化等によるネットワークアプライアンスの仮想化に関心が高まっている。例えば欧州の標準化団体「ＥＴＳＩ」（European Telecommunications Standards Institute）のＮＦＶグループには多くの有力通信事業者、ベンダ等が参加している。通信事業者の網(network)に含まれる様々なアプライアンス（機器）、例えばモバイルコアの機能であるＭＭＥ（Mobility Management Entity）、Ｓ−ＧＷ（Serving-Gateway）、Ｐ−ＧＷ（PDN(Packet data network)-Gateway）、ルータ、大規模ＮＡＴ（Large Scale Network Address Translation：ＬＳＮ）、ＨＬＲ（Home Location Register）、ＲＮＣ（Radio Network Controller）／ｅＮｏｄｅＢ、ファイアウォールや認証サーバ等は、現在、それぞれ専用機器で構成されている。ＮＦＶでは、例えば汎用のサーバを用いたサーバ仮想化技術で実装することで、設備コスト、運用コストの削減を図る。また、制御信号等の通信負荷の増大等に対してリソースを追加することで、耐障害性を高めることを可能としている（ＮＦＶについては例えば非特許文献１等が参照される）。【０００３】
仮想マシンへのハードウェア資源等の割り当てに関して、例えば特許文献１には、クラウドアプリケーションのアーキテクチャ設計プロセスが、リソース配分設計フェーズで、仮想マシン群と、各仮想マシンを配置する物理マシンとの対応を決定する構成が開示されている。また特許文献２には、物理マシンを絞り込む処理として、仮想マシンが生成されている物理マシンを候補から外し、候補物理マシンが一台かどうかを確認し、候補の物理マシンが一台に絞り込めた場合には、物理マシンの絞り込み処理を終了し、候補の物理マシンが一台にならなかった場合には、各候補物理マシンで現在動作している仮想マシンの数を物理マシン構成の仮想マシンＩＤから調べ、最も仮想マシンの数が少ない物理マシンを選ぶ構成が開示されている。さらに、特許文献３には、計算機設備管理装置が、新たな仮想計算機の配置を要求する配置要求を外部から受信すると、複数の仮想ハードウェア設備のうち、仮想計算機として計算機設備上に配置されていない仮想ハードウェア設備のいずれかを新規配置用仮想ハードウェア設備として決定し、決定した新規配置用仮想ハードウェア設備を仮想計算機として計算機設備上に配置させる構成が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１２／１４７８２５号
【特許文献２】特開２０１１−０９５８７１号公報
【特許文献３】特開２０１３−０５４５８９号公報
【非特許文献】
【０００５】
【非特許文献１】“Network Functions Virtualisation Introductory White Paper”、［平成２５年４月１日検索］、インターネット＜URL:http://www.tid.es/es/Documents/NFV_White_PaperV2.pdf＞
【非特許文献２】Y. Honma, M. Aida, H. Shimonishi and A. Iwata, “A New Multi-path Routing Methodology Based on Logit Type Assignment.” In FutureNet II, 2009.
【非特許文献３】篠原悠介、千葉靖伸、下西英之、本間裕大、会田雅樹，“データセンタネットワークにおける効率的マルチパスルーティングとそのOpenFlowネットワークへの適用”，信学技報，vol.109，no.448，NS2009-164，pp.13-18，March 2010．
【発明の概要】
【発明が解決しようとする課題】
【０００６】
以下に関連技術の分析を与える。【０００７】
ＮＦＶ等、ネットワーク設備等の仮想化において、仮想マシンの配置が着目されている。例えば仮想マシンを可能な限り少ない物理マシンに収容することで、消費電力の最小化等を図る、あるいは、発生トラフィック量の多い複数の仮想マシンを、同一の物理マシン又は近い物理マシンに収容することで、発生トラフィックの局所化を図ることが期待されるためである。【０００８】
ネットワーク機能の仮想化において、仮想マシンの割り当てが適切でない場合、ネットワークのリンクのトラフィックに偏り等が生じ、トラフィックの集中等により、ネットワークの性能保証が困難となる場合が生じる。したがって、ネットワーク機能・設備の仮想化において、ネットワーク全体での負荷分散が必要である。【０００９】
本発明は、上記課題の認識に基づき創案されたものであって、その目的は、ネットワーク機能の仮想化にあたり、ネットワークの負荷分散を実現可能とする仮想マシン配置設計装置とシステム、方法、プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
関連するいくつかの側面の１つによれば（視点１）、要求リソースを入力する手段と、
前記入力した要求リソースに基づき、ネットワーク機能を仮想化する仮想マシンを配置する物理マシンを選択するＶＭ配置先計算手段と、
を少なくとも備え、
前記ＶＭ配置先計算手段は、
前記要求リソースで指定される条件に適合する前記物理マシンに前記仮想マシンを配置した場合において、前記物理マシンが接続するネットワークに流れるトラフィック量を予測し、予測したトラフィック量から、前記ネットワークのリンクの利用率をバランスさせる物理マシンを、前記仮想マシンの配置先として選択する、仮想マシン配置設計装置が提供される。【００１１】
関連する他の側面の１つによれば（視点２）、同一の機能又は同一のサービスを提供する複数の仮想マシンをできる限り、異なる物理マシンに配置する、仮想マシン配置設計装置が提供される。【００１２】
関連する他の側面の１つによれば（視点３）、要求リソースを入力する工程と、
前記入力した要求リソースに基づき、ネットワーク機能を仮想化する仮想マシンを配置する物理マシンを選択するＶＭ配置先計算工程と、
を少なくとも含み、
前記ＶＭ配置先計算工程は、
前記要求リソースで指定される条件に適合する前記物理マシンに、前記仮想マシンを配置した場合において、前記物理マシンが接続するネットワークに流れるトラフィック量を予測し、
予測したトラフィック量から、前記ネットワークのリンクの利用率をバランスさせる物理マシンを、前記仮想マシンの配置先として選択する、仮想マシン配置設計方法が提供される。【００１３】
関連する他の側面の１つによれば（視点４）、要求リソースを入力する処理と、
前記入力した要求リソースに基づき、ネットワーク機能を仮想化する仮想マシンを配置する物理マシンを選択する処理であって、
前記要求リソースで指定される条件に適合する前記物理マシンに前記仮想マシンを配置した場合において、前記物理マシンが接続するネットワークのノード間のリンクに流れるトラフィック量を予測し、
予測したトラフィック量から、前記ネットワークのリンクの利用率をバランスさせる物理マシンを、前記仮想マシンの配置先として選択するＶＭ配置先計算処理を、コンピュータに実行させせるプログラムが提供される。【００１４】
関連する他の側面の１つによれば（視点５）、上記視点４のプログラムを記憶したコンピュータ読み出し可能な媒体（半導体メモリ、磁気／光ディスク等）が提供される。【００１５】
関連する他の側面の１つによれば（視点６）、上記視点１の仮想マシン配置装置と、
前記仮想マシン配置装置に前記要求リソースを与える手段と、
前記仮想マシン配置装置に接続する物理マシンと、
前記仮想マシン配置装置に接続する仮想マシンと、
前記仮想マシン配置装置に接続するネットワークと、
を備えた通信システムが提供される。  
【発明の効果】
【００１６】
本発明によれば、ネットワークの仮想化において、ネットワークの負荷分散を実現可能としている。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態１の構成を例示する図である。
【図２】本発明の実施形態１の動作を説明する流れ図である。
【図３】本発明の実施形態１の動作（ＶＭ割当て）を説明するシーケンス図である。
【図４】本発明の実施形態１の動作（トポロジ情報取得）を説明するシーケンス図である。
【図５】本発明の実施形態１の動作（物理マシン情報取得）を説明するシーケンス図である。
【図６】本発明の実施形態１の動作（仮想マシン情報取得）を説明するシーケンス図である。
【図７】（Ａ）、（Ｂ）は本発明の実施形態１におけるＶＭ性能入力、ＶＭ選択を模式的に説明する図である。
【図８】（Ａ）、（Ｂ）は本発明の実施形態１におけるＰＭフィルタリング、フィルタリングされたＰＭ群の発生トラフィック行列算出を模式的に説明する図である。
【図９】（Ａ）、（Ｂ）は本発明の実施形態１におけるリンク利用率が最もバランスするＰＭの選択、次のＶＭ選択を模式的に説明する図である。
【図１０】（Ａ）、（Ｂ）は、本発明の実施形態１におけるネットワークのリンク利用率と、リンク利用率行列を説明する図である。
【図１１】（Ａ）、（Ｂ）は、本発明の実施形態１における発生トラフィック量の予測と、発生トラフィック行列を説明する図である。
【図１２】本発明の実施形態１における予想リンク利用率の算出を説明する図である。
【図１３】本発明の実施形態２を説明する図である。
【図１４】本発明の実施形態２を説明する図である。
【図１５】本発明の基本概念を説明する図である。
【発明を実施するための形態】
【００１８】
本発明の基本概念を説明する。本発明の好ましい形態の一つによれば、図１５を参照すると、仮想マシン配置設計装置（１０）は、要求リソースを入力する要求リソース入力手段（１９）と、前記入力した要求リソースに基づき、ネットワーク機能を仮想化する仮想マシン（ＶＭ）（３０）を配置する物理マシン（ＰＭ）（４０）を選択するＶＭ配置先計算手段（１４）と、を少なくとも備えている。前記ＶＭ配置先計算手段（１４）は、前記要求リソースが指定する条件に適合する各前記物理マシン（４０）に前記仮想マシン（３０）を配置した場合において、前記物理マシン（４０）が接続するネットワーク（５０）のリンクに流れるトラフィック量を予測する。そして、前記ＶＭ配置先計算手段（１４）は、予測したトラフィック量から、前記ネットワーク（５０）においてリンクの利用率をバランス（均一化）させる物理マシン（４０）を、前記仮想マシン（３０）の配置先として選択する。特に制限されないが、図１５において、要求リソース入力手段（１９）、ＶＭ配置先計算手段（１４）は、装置を構成するコンピュータで実行されるプログラムでその機能を実現するようにしてもよい。
【００１９】
より詳細には、本発明の一形態によれば、仮想マシン（ＶＭ）を、複数の物理マシン（ＰＭ）のいずれかに配置するかを決定するにあたり、前記ＶＭ配置先計算手段（１４）は、
前記ネットワーク（５０）のリンクに対して測定されたリンク利用率に基づき、送信元から宛先の間のリンクが選択されるリンク選択確率を算出し、
前記リンク選択確率と、送信元から宛先のトラフィック量とに基づき、リンクの発生トラフィック量を予測し、
前記リンク利用率と前記発生トラフィック量とから予想リンク利用率を算出し、
前記予想リンク利用率のバランス度（例えば分散）を算出し、
前記バランス度に基づき、前記予測リンク利用率をバランス（均一化）させる、物理マシンを選択して仮想マシンの配置先とする。
【００２０】
本発明の一形態によれば、仮想マシン配置設計装置（１０）は、前記ネットワークのトポロジ情報を取得する手段（図１の１５）と、前記取得した前記トポロジ情報を記憶する記憶装置（図１の１１）と、備えた構成としてもよい。
【００２１】
本発明の一形態によれば、前記ネットワークのトポロジ情報が、前記ネットワークのノード間のリンクのリンク情報を含み、前記リンク情報は、ネットワークにおいて送信元から宛先への方向性を持った経路に含まれる各リンクに関して、前記リンク始端に接続するノードの情報と、前記リンク終端に接続するノードの情報と、前記リンクの帯域と、前記リンクの利用率と、を含むようにしてもよい。
【００２２】
本発明の一形態によれば、前記ネットワークのトポロジ情報が前記物理マシンのネットワークでの位置情報を含むようにしてもよい。
【００２３】
本発明の一形態によれば、前記ＶＭ配置先計算手段は、前記要求リソースで指定される条件に適合する物理マシンが複数存在する場合、
前記物理マシンに前記仮想マシンを配置し、
前記ネットワークのノードｉからノードｊへのリンクの前記リンク利用率を第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ、Ｎはネットワークのノード数）の要素とするリンク利用率行列（Ｌｉｎｋ＿ｕｔｉｌ）を算出し、
行列Ｗを、その第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素Ｗｉｊが、ノードｉからノードｊへの辿り易さを表す行列とし、
行列Ｐを、その第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素Ｐｉｊが、ノードｉからノードｊへのリンクの効用を表す行列として、
第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素Ｐｏｄｉｊを、
2014208661.tif 000003
とするリンク選択確率行列Ｐｏｄを算出し、
リンク選択確率行列Ｐｏｄと送信元と宛先間のトラフィック量から、発生トラフィック量行列ＴＭを算出し、
第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素ＥＵｉｊを、次式
2014208661.tif 000004
すなわち、前記リンク利用率行列（Ｌｉｎｋ＿ｕｔｉｌ）の第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素と、前記発生トラフィック量行列（ＴＭ）の第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素を、ノードｉからノードｊへのリンクの帯域幅ｂｗｉｊで除算して計算される値の和とする、予想リンク利用率行列（ＥＵ）を算出し、
次に、前記予想リンク利用率行列（ＥＵ）に対してバランス度を、例えば次式
2014208661.tif 000005
（ただし、ＥＵｉｊは、予想リンク利用率行列（ＥＵ）の第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素）
で算出し、
前記複数の物理マシンに対して求めた前記バランス度の値に基づき、前記予測リンク利用率を均一化する物理マシンを選択して、前記仮想マシンの配置先とする、ようにしてもよい。
【００２４】
本発明の一形態によれば、前記物理マシンの情報を取得する手段（図１の１７）と、
前記仮想マシンの情報を取得する手段（図１の１６）と、
前記トポロジ情報を記憶する記憶部（図１の１１）と、
前記物理マシンの情報を記憶する記憶部（図１の１３）と、
前記仮想マシンの情報を記憶する記憶部（図１の１２）と、
をさらに備えた構成としてもよい。
【００２５】
本発明の一形態によれば、同一の機能又は同一のサービスを提供する複数の仮想マシンをできる限り、異なる物理マシンに配置するようにしてもよい。以下、実施形態に即して説明する。
【００２６】
＜実施形態１＞
図１は、本発明の実施形態１の構成を例示する図である。図１を参照すると、仮想マシン（ＶＭ）の配置を要求する要求元２０と、仮想マシンの配置設計を行うＶＭ配置設計部１０と、仮想マシン３０と、物理マシン４０と、ネットワーク５０を備えている。
【００２７】
特に制限されないが、要求元２０は、例えば通信事業者のＯＳＳ／ＢＳＳ（Operation Support Systems/Business Support Systems）で構成してもよい。
【００２８】
物理マシン４０は、サーバ装置等で構成してもよく、ネットワーク５０に接続されるノード、あるいは、ネットワーク５０のノードであってもよい。
【００２９】
仮想マシン３０は、ネットワーク機器等を仮想化した仮想化アプライアンスとして機能し物理マシン上に割当てられる。ＶＭ配置設計部１０は、この仮想マシン３０の物理マシン４０への配置設計を行う。
【００３０】
ＶＭ配置設計部１０は、トポロジ情報記憶部１１、仮想マシン情報記憶部１２、物理マシン情報記憶部１３、ＶＭ配置先計算部１４、トポロジ情報取得部１５、仮想マシン情報取得部１６、物理マシン情報取得部１７、ＶＭ割り当て部１８、要求リソース入力部１９を備えている。
【００３１】
トポロジ情報記憶部１１は、トポロジ情報取得部１５が取得したネットワーク５０のトポロジ情報を記憶する。
【００３２】
仮想マシン情報記憶部１２は、仮想マシン情報取得部１６が取得した仮想マシン３０の情報を記憶する。
【００３３】
物理マシン情報記憶部１３は、物理マシン情報取得部１７が取得した物理マシン４０の情報を記憶する。
【００３４】
ＶＭ割り当て部１８は仮想マシンの割り当てを行う。
【００３５】
要求リソース入力部１９（図１５の要求リソース入力手段１９に対応する）は要求元２０からの要求を入力し、ＶＭ割り当て部１８、ＶＭ配置先計算部１４に入力する。
【００３６】
ＶＭ配置先計算部１４（図１５のＶＭ配置先計算手段１４に対応する）は、仮想マシン（ＶＭ）を配置する物理マシン（ＰＭ）を計算する。
【００３７】
トポロジ情報記憶部１１に記憶されるトポロジ情報は、
・リンク情報と、
・ホスト位置（HOST location）と、
を含む。特に制限されないが、リンク情報は、ネットワークにおいて送信元から宛先への方向性を持った経路に含まれる各リンク（ノードペアを結ぶリンク）に関して、
・リンク始端側ノード（From）、
・リンク終端側ノード（To）、
・リンクの帯域、
・リンクの利用率、
を含む。
【００３８】
トポロジ情報に含まれるリンク情報のリンクの利用率は、ネットワーク５０に対する計測結果である。リンクの利用率は、トポロジ情報取得部１５により、例えば周期的にあるいは所定のイベント発生時に、ネットワーク５０から取得される。
トポロジ情報に含まれるホスト位置（HOST location）は、仮想マシンをどの物理マシンに配置しているかの情報である。
【００３９】
仮想マシン情報記憶部１２に記憶される仮想マシン情報は、特に制限されないが、
・仮想マシンのＣＰＵ（Central Processing Unit）、
・メモリ、
・サービス、
・ホストの配置情報（仮想マシンがどの物理マシンに所属しているか）
を含む。仮想マシンがどの物理マシンに所属しているかの情報は、ＶＭ配置先計算部１４で計算され、仮想マシンに設定される。
【００４０】
物理マシン情報記憶部１３に記憶される物理マシン情報は、物理マシンのハードウェア情報、例えばＣＰＵ、メモリ、ストレージ等の性能情報、容量情報を含む。
【００４１】
ネットワーク機器・設備の機能を仮想する仮想マシン（ＶＭ）は、例えば物理マシン（ＰＭ）を構成するサーバ装置の仮想化基盤であるハイパーバイザ等の仮想マシンモニタ（Virtual Machine Monitor）上に実装される。なお、仮想マシン３０は、用意されている物理マシン４０のＣＰＵ性能、メモリ容量等で対応可能であるものとする。
【００４２】
なお、図１において、１４−１９の各部は、コンピュータで実行されるプログラムでその処理・機能を実現するようにしてもよい。
【００４３】
図２は、実施形態１の動作を説明する流れ図である。図１及び図２を参照して、実施形態１の動作を説明する。
【００４４】
ＶＭ配置設計部１０の要求リソース入力部１９は、要求元２０から要求リソースを入力する（ステップＳ１）。
【００４５】
ＶＭ配置設計部１０のＶＭ割り当て部１８はＶＭを１つ選択する（ステップＳ２）。
【００４６】
ＶＭ配置設計部１０の物理マシン情報取得部１７は、選択可能な物理マシンをリストアップする（ステップＳ３）。
【００４７】
ＶＭ配置設計部１０のＶＭ配置先計算部１４は、要求リソースで要求された条件（コンピューティング要件）を満たす物理マシンを選別（フィルタリング）する（ステップＳ４）。
【００４８】
ＶＭ配置設計部１０のＶＭ配置先計算部１４は、仮想マシン（ＶＭ）を配置する物理マシン（ＰＭ）を選択する（ステップＳ５）。その際、ＶＭ配置先計算部１４は、トポロジ情報記憶部１１、仮想マシン情報記憶部１２、物理マシン情報記憶部１３を参照して、ステップＳ４で選別された物理マシン（ＰＭ）に、仮想マシンを配置した場合に、物理マシン（ＰＭ）が接続するネットワーク５０に流れるトラフィック量を予測し、予測したトラフィック量から、前記ネットワーク５０でのリンクの利用率をバランスさせる物理マシン（ＰＭ）を選択する。
【００４９】
要求リソースで要求された仮想マシン（ＶＭ）の割当てが全て完了していずに、割当て対象の仮想マシン（ＶＭ）が残っている場合（ステップＳ６のＹｅｓ分岐）、ステップＳ２に戻り、別の仮想マシン（ＶＭ）を選択する。要求リソースで要求された仮想マシン（ＶＭ）の割当てが全て完了すると（ステップＳ６のＮｏ分岐）、割当て結果を出力する（ステップＳ７）。
【００５０】
図３は、仮想マシン（ＶＭ）の割当て（図２のステップＳ１、Ｓ２）の動作シーケンスの一例を説明する図である。図３において、各シーケンスには番号が付されている。以下の説明の文末の括弧内の数字がシーケンス番号に対応する。図３及び図１を参照して、仮想マシン（ＶＭ）の割当ての動作シーケンスを説明する。
【００５１】
要求元２０から要求リソースが要求リソース入力部１９に入力される（１）。
【００５２】
要求リソース入力部１９がＶＭ配置先計算要求をＶＭ配置先計算部１４に送信する（２）。
【００５３】
ＶＭ配置先計算部１４は、仮想マシン（ＶＭ）の配置先を計算する（３）。
【００５４】
ＶＭ配置先計算部１４は、ＶＭ割り当て要求をＶＭ割り当て部１８に送信する（４）。
【００５５】
ＶＭ割り当て部１８は、複数の仮想マシン（ＶＭ）３０の中の１つを割当てる（５）。
【００５６】
図４は、ネットワーク５０のトポロジ情報取得を説明する図である。図４において、各シーケンスには番号が付されている。以下の説明の文末の括弧内の数字がシーケンス番号に対応する。図４及び図１を参照して、トポロジ情報取得の動作シーケンスを説明する。トポロジ情報取得部１５は、ネットワーク５０に対してトポロジ情報取得要求を送信する（１）。トポロジ情報取得部１５は、ネットワーク５０からトポロジ情報を取得する（２）。具体的には、ネットワークノードから接続情報を取得する。トポロジ情報取得部１５は、トポロジ情報をトポロジ情報記憶部１１に記憶する（３）。トポロジ情報取得部１５は、所定のイベント発生又は周期的にトポロジ情報取得要求を送信し（４）、ネットワーク５０のトポロジの変化に追従したトポロジ情報を保持する。
【００５７】
図５は、物理マシン情報取得の動作シーケンスの一例を説明する図である。図５において、各シーケンスには番号が付されている。以下の説明の文末の括弧内の数字がシーケンス番号に対応する。図５及び図１を参照して、物理マシン情報取得の動作シーケンスを説明する。物理マシン情報取得部１７は物理マシン４０に対して、物理マシン情報取得要求を送信し（１）、物理マシン４０から物理マシン情報を取得する（２）。物理マシン情報取得部１７は、物理マシン情報を物理マシン情報記憶部１３に記憶する（３）。物理マシン情報取得部１７は、所定のイベント発生又は周期的に物理マシン情報取得要求を物理マシン４０に送信し（４）、物理マシン４０の変更等、最新の情報に追従した物理マシン情報を保持する。
【００５８】
図６は、仮想マシン情報取得の動作シーケンスの一例を説明する図である。図６において、各シーケンスには番号が付されている。以下の説明の文末の括弧内の数字がシーケンス番号に対応する。図６及び図１を参照して、仮想マシン情報取得の動作シーケンスを説明する。仮想マシン情報取得部１６は仮想マシン３０に対して、仮想マシン情報取得要求を送信し（１）、仮想マシン３０から仮想マシン情報を取得する（２）。仮想マシン情報取得部１６は仮想マシン情報を仮想マシン情報記憶部１２に記憶する（３）。仮想マシン情報取得部１６は、所定のイベント発生又は周期的に仮想マシン情報取得要求を仮想マシン３０に送信し（４）、仮想マシン３０の変更等、最新の情報に追従した仮想マシン情報を保持する。
【００５９】
図７（Ａ）は、実施形態１における要求リソース（ＶＭ性能）入力を模式的に説明する図である。図７（Ａ）を参照すると、物理マシンＰＭ０−ＰＭ２は、相互接続網（Interconnect Network）でゲートウェイＧＷ０、ＧＷ１と接続されている。図７（Ａ）に示すように、仮想マシンＶＭに対する要求リソースは、
ＣＰＵ：１、
メモリ（Memory）：１、
ＢＷ（帯域）：ＧＷ０、ＧＷ１との間の帯域はともに１００Ｍｂｐｓ（Megabit per second）である。なお、“ＣＰＵ：１”、“Ｍｅｍｏｒｙ：１”の“１”は、それぞれＣＰＵの単位（性能単位）、メモリ容量の単位（容量単位）を表している。
【００６０】
図７（Ｂ）は、実施形態１における仮想マシン（ＶＭ）の選択（図２のステップＳ２）を説明する図である。図７（Ｂ）の例では、１つの仮想マシン（ＶＭ）としてＶＭ０が選択される。
【００６１】
図８（Ａ）は、実施形態１における物理マシンの選択（ＰＭのフィルタリング）を模式的に説明する図である。図８（Ａ）の例では、ＰＭ０において、利用可能な資源として、利用可能なＣＰＵは１０、利用可能なＭｅｍｏｒｙの容量は１０である。ＰＭ２において、利用可能なＣＰＵは０、利用可能はＭｅｍｏｒｙの容量は１である。ＰＭ２において、ＣＰＵ資源は全て他のＶＭ等に割当てられており利用可能なＣＰＵはない。この場合、ＰＭ０が選択され、ＰＭ２は選択から外される。なお、ＰＭ１の利用可能な資源は図示されていないが、ＰＭ１も要求リソースで指定された条件に適合する場合、選択候補となる。
【００６２】
図８（Ｂ）は、実施形態１において、図１のＶＭ配置先計算部１４が、フィルタリングされた物理マシン（ＰＭ）に、仮想マシン（ＶＭ）を配置した場合において、送信元から宛先へ向けてのネットワーク経路のリンクに発生するトラフィック量の算出を模式的に説明する図である。図８（Ｂ）に示すように、ＰＭ０に仮想マシンＶＭ０が配置され、例えばＰＭ０とゲートウェイＧＷ０、ＧＷ１との間のリンクで発生するトラフィック量を予測する。
【００６３】
図９（Ａ）は、実施形態１において、図１のＶＭ配置先計算部１４が、リンク利用率と発生トラフィック量から算出される予想リンク利用率が、ネットワークにおいて、最もバランスする物理マシン（ＰＭ）であるＰＭ０を選択する様子を説明する図である。リンク利用率と発生トラフィック量より、予想リンク利用率を算出し、ネットワークにおける予想リンク利用率のバランス度を算出し、最もバランス度の高い物理マシン（ＰＭ）を選択する。この場合、仮想マシンＶＭ０の配置先として物理マシンＰＭ０が選択される。
【００６４】
仮想マシンＶＭ０の物理マシンＰＭ０への配置が決定された後、図９（Ｂ）に示すように、要求リソースに基づき、次の仮想マシンＶＭ１の配置先を決定し、以下、要求リソースで要求されたＶＭの配置が全て完了するまで、図７（Ａ）から図９（Ａ）の処理が繰り返される。
【００６５】
図１０（Ａ）は、ノード０〜９からなるネットワーク（ノード数＝１０）のトポロジの一例を模式的に示す図である。ノードとノードを結ぶリンクを示す矢線に対応して、当該リンクのリンク利用率が示されている。リンク利用率は、単位時間あたりのトラフィック量（ネットワークを流れるデータ量）を帯域（bandwidth）で正規化した値である。リンク利用率は測定された値である。例えばノード０からノード１のリンク利用率が０．５であるとは、ノード０からノード２のリンクの単位時間当たりのトラフィック量は帯域（bandwidth）の半分であることを表しており、ノード２からノード０のリンク利用率が０．２であるとは、ノード２からノード０のリンクの単位時間当たりのトラフィック量は帯域の１／５であることを表している。
【００６６】
図１０（Ｂ）は、図１０（Ａ）に対応するリンク利用率行列（Link utilization matrix）を例示する図である。リンク利用率行列は行、列ともにノード数（Ｎ：、図１０（Ｂ）ではＮ＝１０）に等しい正方行列であり、リンク利用率行列の第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素は、ノードｉからノードｊへのリンクのリンク利用率を表している。リンク利用率行列の第ｊ行第ｉ列の要素は、ノードｊからノードｉへのリンクのリンク利用率を表している。リンク利用率は、例えば図１のトポロジ情報取得部１５がネットワーク５０から取得し、トポロジ情報記憶部１１に記憶されるトポロジ情報に含まれる。
【００６７】
次に、図１のＶＭ配置先計算部１４は、図１０（Ａ）の各リンクに対してリンク選択確率を求める。図１１（Ａ）は、図１０（Ａ）のネットワークにおいて、発信元をノード０（例えば図８（Ｂ）の仮想マシンＶＭ０を配置した物理マシンＰＭ０）、宛先をノード９（例えば図８（Ｂ）のＧＷ０）とした場合の、ネットワークの各リンクのリンク選択確率Ｐｏｄｉｊ（ノードｉからノードｊへのリンクのリンク選択確率）が示されている。図１１（Ａ）の例では、例えば送信元であるノード０からノード２へのリンクのリンク選択確率Ｐｏｄ０２は１である（常に選択される）。
【００６８】
リンク選択確率行列Ｐｏｄの第ｉ行第ｊ列の要素Ｐｏｄｉｊは、送信元Ｏと宛先Ｄのペアが、あるリンクｉｊ（ノードｉからノードｊへのリンク）を使用する確率である（ＭＬＢ（Multinominal Logit Based routing protocol) Routing）。
【００６９】
リンク選択確率行列Ｐｏｄの第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素Ｐｏｄｉｊは次式（１）で表すことができる。
【００７０】
2014208661.tif 000006
・・・（１）
【００７１】
行列Ｗの第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素Ｗｉｊは、ノードｉからノードｊへの辿り易さを表す行列である。上式（１）において、Ｗｏｉは、送信元ノードｏからノードｉへの辿り易さを表し、Ｗｊｄは、ノードｊから宛先ノードｄへの辿り易さを表し、Ｗｏｄは、送信元ノードｏから宛先ノードｄへの辿り易さを表している。また、行列Ｐの第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素Ｐｉｊは、ノードｉからノードｊへのリンクの効用を表している。これら行列Ｗ、Ｐはいずれもリンク利用率から算出される（非特許文献２、３参照）
【００７２】
次に、図１のＶＭ配置先計算部１４は、発生トラフィック量を算出する。リンク選択確率行列（Ｐｏｄ）の各要素に、送信元と宛先のトラフィック量を乗算した行列が、発生トラフィック行列（ＴＭ）となる（図１１（Ｂ））。
【００７３】
図１０（Ａ）のノード数１０のネットワークでは、リンク利用率行列は、１０×１０の正方行列として表され、リンク選択確率行列（Ｐｏｄ）、発生トラフィック行列（ＴＭ）はいずれも１０×１０の正方行列として表される。
【００７４】
次に、図１のＶＭ配置先計算部１４は、予想リンク利用率（Estimated utilization）を算出する（次式（２））。
【００７５】
予想リンク利用率行列（Estimation Utilization Matrix：ＥＵ）は、リンク利用率行列（Ｐｏｄ）と、発生トラフィック行列（ＴＭ）を帯域行列（ＢＷ）で正規化した行列の和（行列和）である（図１２参照）。帯域行列（ＢＷ）の第ｉ行第ｊ列（ｉ＝１〜Ｎ、ｊ＝１〜Ｎ）の要素ｂｗｉｊは、ノードｉからノードｊへのリンクの帯域である。
【００７６】
2014208661.tif 000007
・・・（２）
【００７７】
上式（２）において、
ＥＵｉｊは、予想リンク利用率行列（ＥＵ）の第ｉ行第ｊ列の要素、
Ｌｉｎｋ＿ｕｔｉｌｉｊは、リンク利用率行列（Link_utilization）の第ｉ行第ｊ列の要素、
ＴＭｉｊは発生トラフィック行列ＴＭの第ｉ行第ｊ列の要素、
ｂｗｉｊは帯域行列ＢＷの第ｉ行第ｊ列の要素である（ｉ、ｊ＝１〜Ｎ）。
【００７８】
次に、図１のＶＭ配置先計算部１４は、予想リンク利用率行列ＥＵｉｊのバランス度（link_variance：分散）を次式（３）で算出する。
【００７９】
2014208661.tif 000008
・・・（３）
【００８０】
ただし、Ｎはノード数（正方行列である予想リンク利用率行列の行数Ｎ（＝列数））である。
【００８１】
図１のＶＭ配置先計算部１４は、複数の物理マシン（ＰＭ）に対して仮想マシン（ＶＭ）を配置した場合の予想リンク利用率行列のうち、式（３）のバランス度の値が最も高い（１に最も近い）物理マシン（ＰＭ）を選択する。
【００８２】
例えば、図１１（Ａ）には、発信元をノード０、宛先をノード９とした場合の各リンクのリンク選択確率Ｐｏｄｉｊが示されている。これは、例えば図８（Ｂ）において、ノード０にＰＭ０が配置され送信元となり、ノード９にＧＷ０が配置され宛先である場合に対応する。ノード１にＰＭ１が配置される場合も、同様にして、予想リンク利用率行列ＥＵｉｊのバランス度を算出する。そして、図１のＶＭ配置先計算部１４は、予想リンク利用率行列（ＥＵ）に対して、式（３）で求めたバランス度（分散）の値が最も高くなる（リンクの利用率がリンク間で最もバランス（均一化）する）ＰＭを選択する。
【００８３】
この結果、要求リソース条件をみたす仮想マシンを物理マシンに配置するにあたり、ネットワークにおけるトラフィック量の偏りの発生等を回避可能とし、負荷分散を図ることができる。
【００８４】
＜実施形態２＞
次に本発明の実施形態２を説明する。実施形態２において、システムの基本構成は、図１に示したものと同様とされる。実施形態２では、仮想マシンの配置先の物理マシンを、要求リソースのサービス情報に基づき選択するようにしている。図１３（Ａ）乃至（Ｃ）、図１４（Ａ）乃至（Ｃ）は、本発明の実施形態２の構成を例示する図である。
【００８５】
図１３（Ａ）では、物理マシンＰＭ１上に４つの仮想マシンＶＭ１−ＶＭ４が割当てられ、ＶＭ１、ＶＭ２はサービスＡを提供し、ＶＭ３、ＶＭ４はサービスＢ、Ｃをそれぞれ提供する。図１３（Ｂ）では、物理マシンＰＭ２上に３つの仮想マシンＶＭ５−ＶＭ７が割当てられ、ＶＭ５、ＶＭ６、ＶＭ７はサービスＢ、サービスＣ、サービスＡをそれぞれ提供する。図１３（Ｃ）では、物理マシンＰＭ３上に３つの仮想マシンＶＭ８−ＶＭ１０が割当てられ、ＶＭ８、ＶＭ１０はサービスＢを提供し、ＶＭ９はサービスＣを提供する。
【００８６】
図１４（Ａ）は、サービスＡを提供する仮想マシンの物理マシンへの割当てを表形式で表したものである。図１４（Ａ）において、第１−第３行の１、２、３は物理マシンＰＭのＩＤ、第１−第１０列の数字は、仮想マシンのＩＤ（１−１０）である。図１４（Ａ）の例では、サービスＡを提供する仮想マシンは、ＰＭ１ではＶＭ１、ＶＭ２、ＰＭ２ではＶＭ７であり、ＰＭ３にはサービスＡを提供する仮想マシンは存在しない。図１４（Ｂ）は、サービスＢを提供する仮想マシンの物理マシンへの割当てを表形式で表したものである。図１４（Ｂ）の例では、サービスＢを提供する仮想マシンは、ＰＭ１ではＶＭ３、ＰＭ２ではＶＭ５であり、ＰＭ３ではＶＭ８、ＶＭ１０である。図１４（Ｃ）は、サービスＣを提供する仮想マシンの物理マシンへの割当てを表形式で表したものである。図１４（Ｃ）の例では、サービスＣを提供する仮想マシンは、ＰＭ１ではＶＭ４、ＰＭ２ではＶＭ６であり、ＰＭ３ではＶＭ９である。なお、図１４（Ａ）、（Ｂ）、（Ｃ）の表（VM LOCATION MATRIX）は、仮想マシン情報記憶部１２に記憶される仮想マシン情報のサービス情報（仮想マシンが如何なるサービスを提供するか）と、ＨＯＳＴ位置情報（仮想マシンがどの物理マシンに配置されているか）からＶＭ割り当て部１８等で自動生成される。
【００８７】
要求リソースがサービスＡの仮想マシンの配置要求である場合、一番ＶＭの個数が少ないＰＭ３が選択される。
【００８８】
ＶＭを選択したあと、ＶＭの配置先の選択は、前記した実施形態１に従い、要求リソースに規定される性能条件を満たすＰＭの中から、ＰＭにＶＭを配置した場合のネットワークの発生トラフィック量を予測し、予想リンク利用率（ＥＵ）のバランス度（分散）の値が最も高くなるＰＭを選択するようにしてもよい。
【００８９】
実施形態２によれば、異なる物理マシンに配置することで、あるサービスを提供する仮想マシンが特定の物理マシンに集中するという偏りを回避し、サービスに関して負荷分散を図ることができる。さらに、実施形態１と同様に、ネットワークのトラフィックの集中等を回避し、負荷分散を図ることができる。
【００９０】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、更なる変形・置換・調整を加えることができる。なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得る各種変形、修正を含むことは勿論である。
【符号の説明】
【００９１】
１０  ＶＭ配置設計部
１１  トポロジ情報記憶部
１２  仮想マシン情報記憶部
１３  物理マシン情報記憶部
１４  ＶＭ配置先計算部（ＶＭ配置先計算手段）
１５  トポロジ情報取得部
１６  仮想マシン情報取得部
１７  物理マシン情報取得部
１８  ＶＭ割り当て部
１９  要求リソース入力部（要求リソース入力手段）
２０  要求元
３０  仮想マシン
４０  物理マシン
５０  ネットワーク
【図１】
2014208661.tif 000018
【図２】
2014208661.tif 000019
【図３】
2014208661.tif 000020
【図４】
2014208661.tif 000021
【図５】
2014208661.tif 000022
【図６】
2014208661.tif 000023
【図７】
2014208661.tif 000024
【図８】
2014208661.tif 000025
【図９】
2014208661.tif 000026
【図１０】
2014208661.tif 000027
【図１１】
2014208661.tif 000028
【図１２】
2014208661.tif 000029
【図１３】
2014208661.tif 000030
【図１４】
2014208661.tif 000031
【図１５】
2014208661.tif 000032
【国際調査報告】
2014208661.tif 000033
2014208661.tif 000034
2014208661.tif 000035
2014208661.tif 000036