(57)【要約】【課題】仮想マシンの再配置に伴う仮想マシンの移動順序を決定する移動制御プログラム、移動制御装置及び移動制御方法を提供する。【解決手段】複数の仮想マシンそれぞれの移動に要する時間を示す所要時間情報と、複数の仮想マシン全ての移動に要する見積り時間を示す見積り時間情報と、複数の仮想マシンそれぞれの移動元及び移動先の物理マシンを示す移動情報と、複数の物理マシン及び複数の仮想マシンそれぞれのリソース情報リソース情報と、複数の仮想マシンそれぞれが移動する際の移動経路に対応する移動可能数情報と、第１変数と、第２変数と、第３変数とから、第１条件式と、第２条件式と、第３条件式と、第４条件式と、第５条件式と、第６条件式を生成し、第１条件式と、第２条件式と、第３条件式と、第４条件式と、第５条件式と、第６条件式とから、第３変数が最小になる場合の第１変数、第２変数及び第３変数の値を算出する。【選択図】図５
2018028735.tif 000002
【特許請求の範囲】
【請求項１】
情報処理システムを構成する複数の物理マシン間において移動する複数の仮想マシンそれぞれの移動に要する時間を示す所要時間情報と、前記複数の仮想マシン全ての移動に要する見積り時間を示す見積り時間情報と、前記複数の仮想マシンそれぞれが配置される物理マシンを示す第１変数と、前記複数の仮想マシンそれぞれの移動状態を示す第２変数とから、前記第１変数と、前記第２変数との関係を示す第１条件式を生成し、
前記見積り時間情報と、前記第２変数と、前記複数の仮想マシン全ての移動に要する時間を示す第３変数とから、前記第２変数と、前記第３変数との関係を示す第２条件式を生成し、
前記複数の仮想マシンそれぞれの移動元及び移動先の物理マシンを示す移動情報と、前記見積り時間情報と、前記複数の物理マシンそれぞれのリソース情報と、前記複数の仮想マシンそれぞれのリソース情報と、前記第１変数と、前記第２変数とから、前記移動先の物理マシンに移動する仮想マシンのリソース情報の条件を示す第３条件式を生成し、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記複数の物理マシン間における複数の移動経路それぞれを並行して移動可能な仮想マシンの数を示す移動可能数情報と、前記第２変数とから、前記複数の仮想マシンそれぞれが移動する際の移動経路に対応する前記移動可能数情報の条件を示す第４条件式を生成し、
前記移動情報と、前記見積り時間情報と、前記第１変数とから、前記複数の仮想マシンそれぞれが前記複数の物理マシンのいずれかに配置されることを示す第５条件式を生成し、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記第１変数とから、前記複数の仮想マシンそれぞれが、前記移動元の物理マシンからの移動開始後であって前記移動元の物理マシンからの移動が完了するまでの間、前記移動元の物理マシンに配置されていることと、前記複数の仮想マシンそれぞれが、前記見積り時間情報が示す時間において前記移動先の物理マシンに配置されていることとを示す第６条件式を生成し、
前記第１条件式と、前記第２条件式と、前記第３条件式と、前記第４条件式と、前記第５条件式と、前記第６条件式とから、前記第３変数が最小になる場合の前記第１変数、前記第２変数及び前記第３変数の値を算出する、
処理をコンピュータに実行させることを特徴とする移動制御プログラム。
【請求項２】
請求項１において、
前記第１変数は、
前記見積り時間情報が示す時間に含まれる前記単位時間毎であり、前記複数の仮想マシン毎であり、前記複数の物理マシン毎の変数であり、
特定の単位時間において特定の仮想マシンが特定の物理マシンに配置されている場合、前記特定の単位時間と前記特定の仮想マシンと前記特定の物理マシンとに対応する情報に第１の値が設定され、前記特定の単位時間において前記特定の仮想マシンが前記特定の物理マシンに配置されていない場合、前記特定の単位時間と前記特定の仮想マシンと前記特定の物理マシンとに対応する情報に第２の値が設定される変数であり、
前記第２変数は、
前記見積り時間情報が示す時間に含まれる前記単位時間毎であり、前記複数の仮想マシン毎であり、前記複数の移動経路毎の変数であり、
前記特定の単位時間において前記特定の仮想マシンの移動が完了した場合、前記特定の単位時間と前記特定の仮想マシンと完了した前記移動の移動経路とに対応する情報に前記第１の値が設定され、前記特定の単位時間において前記特定の仮想マシンの移動を完了していない場合、前記特定の単位時間と前記特定の仮想マシンと完了していない前記移動の移動経路とに対応する情報に前記第２の値が設定される変数である、
ことを特徴とする移動制御プログラム。
【請求項３】
請求項２において、
前記第１条件式の生成する処理では、
第１の単位時間と第１の仮想マシンと第１の移動経路の始点である物理マシンとに対応する前記第１変数に、前記第１の単位時間の次の第２の単位時間と前記第１の仮想マシンと前記第１の移動経路の終点である物理マシンとに対応する前記第１変数とを加算し、前記第１の値を減算する式が、前記第２の単位時間と前記第１の仮想マシンと前記第１の移動経路にと対応する前記第２変数以下であることを示す式を、前記第１条件式として生成し、
前記第１の仮想マシンと前記第１の移動経路の始点である物理マシンとに対応する前記第１変数のうち、前記第１の単位時間から前記第１の仮想マシンに対応する前記所要時間情報が示す時間を遡るまでの単位時間それぞれに対応する前記第１変数を加算する式が、前記第１の単位時間と前記第１の仮想マシンと前記第１の移動経路とに対応する前記第２変数と前記第１の仮想マシンに対応する前記所要時間情報が示す値とを乗算する式以上であることを示す式を、前記第１条件式として生成する、
ことを特徴とする移動制御プログラム。
【請求項４】
請求項２において、
前記第２条件式の生成する処理では、第１の単位時間と第１の仮想マシンと該第１の仮想マシンの前記移動先の物理マシンを終点とする第１の移動経路とに対応する前記第２変数と、前記複数の仮想マシンの移動が開始してから前記第１の単位時間が経過するまでの時間とを乗算する式が、前記第３変数以下であることを示す式を、前記第２条件式として生成する、
ことを特徴とする移動制御プログラム。
【請求項５】
請求項２において、
前記第３条件式の生成する処理では、
第１の仮想マシンと第１の物理マシンを終点とする第１の移動経路とに対応する前記第２変数のうち、前記第１の単位時間から前記第１の仮想マシンに対応する前記所要時間情報が示す時間が経過するまでの単位時間それぞれに対応する前記第２変数と、前記第１の単位時間と前記第１の仮想マシンと前記第１の物理マシンとに対応する前記第１変数とを加算する式と、前記第１の仮想マシンの前記リソース情報が示す値とを乗算する式を、前記複数の仮想マシン毎に生成し、
生成した式それぞれを加算する式が、前記第１の物理マシンのリソース情報が示す値以下であることを示す式を、前記第３条件式として生成する、
ことを特徴とする移動制御プログラム。
【請求項６】
請求項２において、
前記第４条件式の生成する処理では、
第１の仮想マシンと前記複数の移動経路のいずれかとに対応する前記第２変数のうち、第１の単位時間から前記第１の仮想マシンに対応する前記所要時間情報が示す時間が経過するまでの単位時間それぞれに対応する前記第２変数を、前記複数の仮想マシン毎に特定し、
特定した前記第２変数から、各移動経路に対応する前記第２変数を、前記複数の移動経路毎に特定し、
特定した前記第２変数を前記複数の移動経路毎に加算する式それぞれが、各移動経路に対応する前記移動可能数情報が示す値以下であることを示す式を、前記第４条件式として生成する、
ことを特徴とする移動制御プログラム。
【請求項７】
請求項６において、
前記複数の移動経路毎に第２変数を特定する処理では、前記複数の移動経路のいずれかにネットワーク機器が配置されている場合、前記ネットワーク機器によって区分けされる複数のネットワーク毎に前記第２変数の特定を行い、
前記第４条件式を生成する処理では、前記第２変数を前記複数のネットワーク毎に加算する式それぞれが、各ネットワークに対応する前記移動可能数情報が示す値以下であることを示す式を生成する、
ことを特徴とする移動制御プログラム。
【請求項８】
請求項２において、
前記第５条件式の生成する処理では、第１の単位時間と第１の仮想マシンと第１の物理マシンとに対応する前記第１変数を、前記複数の物理マシン毎に特定し、
特定した前記第１変数を加算する式が前記第１の値と等しいことを示す式を、前記第５条件式として生成する、
ことを特徴とする移動制御プログラム。
【請求項９】
請求項２において、
前記第６条件式の生成する処理では、
第１の仮想マシンと該第１の仮想マシンの前記移動元の物理マシンとに対応する前記第１変数を、前記第１の仮想マシンの移動が開始してから前記第１の仮想マシンに対応する前記所要時間情報が示す時間が経過するまでの前記単位時間毎に特定し、
特定した前記第１変数を加算する式が、前記第１の仮想マシンに対応する前記所要時間情報が示す値であることを示す式を、前記第６条件式として生成し、
第１の単位時間と前記第１の仮想マシンと該第１の仮想マシンの前記移動先の物理マシンとに対応する前記第１変数が、前記第１の値と等しいことを示す式を、前記第６条件式として生成する、
ことを特徴とする移動制御プログラム。
【請求項１０】
請求項２において、
前記第３変数が最小になる場合の値を算出する処理では、前記見積り時間情報が示す時間に含まれる前記単位時間毎、前記複数の仮想マシン毎及び前記複数の移動経路毎の前記第２変数それぞれと、前記第３変数とを加算する式が最小になる場合の前記第１変数、前記第２変数及び前記第３変数の値の算出を行う、
ことを特徴とする移動制御プログラム。
【請求項１１】
情報処理システムを構成する複数の物理マシン間において移動する複数の仮想マシンそれぞれの移動に要する時間を示す所要時間情報と、前記複数の仮想マシン全ての移動に要する見積り時間を示す見積り時間情報と、前記複数の仮想マシンそれぞれが配置される物理マシンを示す第１変数と、前記複数の仮想マシンそれぞれの移動状態を示す第２変数とから、前記第１変数と、前記第２変数との関係を示す第１条件式を生成する条件式生成部と、
前記見積り時間情報と、前記第２変数と、前記複数の仮想マシン全ての移動に要する時間を示す第３変数とから、前記第２変数と、前記第３変数との関係を示す第２条件式を生成する条件式生成部と、
前記複数の仮想マシンそれぞれの移動元及び移動先の物理マシンを示す移動情報と、前記見積り時間情報と、前記複数の物理マシンそれぞれのリソース情報と、前記複数の仮想マシンそれぞれのリソース情報と、前記第１変数と、前記第２変数とから、前記移動先の物理マシンに移動する仮想マシンのリソース情報の条件を示す第３条件式を生成する条件式生成部と、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記複数の物理マシン間における複数の移動経路それぞれを並行して移動可能な仮想マシンの数を示す移動可能数情報と、前記第２変数とから、前記複数の仮想マシンそれぞれが移動する際の移動経路に対応する前記移動可能数情報の条件を示す第４条件式を生成する条件式生成部と、
前記移動情報と、前記見積り時間情報と、前記第１変数とから、前記複数の仮想マシンそれぞれが前記複数の物理マシンのいずれかに配置されることを示す第５条件式を生成する条件式生成部と、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記第１変数とから、前記複数の仮想マシンそれぞれが、前記移動元の物理マシンからの移動開始後であって前記移動元の物理マシンからの移動が完了するまでの間、前記移動元の物理マシンに配置されていることと、前記複数の仮想マシンそれぞれが、前記見積り時間情報が示す時間において前記移動先の物理マシンに配置されていることとを示す第６条件式を生成する条件式生成部と、
前記第１条件式と、前記第２条件式と、前記第３条件式と、前記第４条件式と、前記第５条件式と、前記第６条件式とから、前記第３変数が最小になる場合の前記第１変数、前記第２変数及び前記第３変数の値を算出する条件算出部と、を有する、
ことを特徴とする移動制御装置。
【請求項１２】
情報処理システムを構成する複数の物理マシン間において移動する複数の仮想マシンそれぞれの移動に要する時間を示す所要時間情報と、前記複数の仮想マシン全ての移動に要する見積り時間を示す見積り時間情報と、前記複数の仮想マシンそれぞれが配置される物理マシンを示す第１変数と、前記複数の仮想マシンそれぞれの移動状態を示す第２変数とから、前記第１変数と、前記第２変数との関係を示す第１条件式を生成し、
前記見積り時間情報と、前記第２変数と、前記複数の仮想マシン全ての移動に要する時間を示す第３変数とから、前記第２変数と、前記第３変数との関係を示す第２条件式を生成し、
前記複数の仮想マシンそれぞれの移動元及び移動先の物理マシンを示す移動情報と、前記見積り時間情報と、前記複数の物理マシンそれぞれのリソース情報と、前記複数の仮想マシンそれぞれのリソース情報と、前記第１変数と、前記第２変数とから、前記移動先の物理マシンに移動する仮想マシンのリソース情報の条件を示す第３条件式を生成し、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記複数の物理マシン間における複数の移動経路それぞれを並行して移動可能な仮想マシンの数を示す移動可能数情報と、前記第２変数とから、前記複数の仮想マシンそれぞれが移動する際の移動経路に対応する前記移動可能数情報の条件を示す第４条件式を生成し、
前記移動情報と、前記見積り時間情報と、前記第１変数とから、前記複数の仮想マシンそれぞれが前記複数の物理マシンのいずれかに配置されることを示す第５条件式を生成し、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記第１変数とから、前記複数の仮想マシンそれぞれが、前記移動元の物理マシンからの移動開始後であって前記移動元の物理マシンからの移動が完了するまでの間、前記移動元の物理マシンに配置されていることと、前記複数の仮想マシンそれぞれが、前記見積り時間情報が示す時間において前記移動先の物理マシンに配置されていることとを示す第６条件式を生成し、
前記第１条件式と、前記第２条件式と、前記第３条件式と、前記第４条件式と、前記第５条件式と、前記第６条件式とから、前記第３変数が最小になる場合の前記第１変数、前記第２変数及び前記第３変数の値を算出する、
ことを特徴とする移動制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動制御プログラム、移動制御装置及び移動制御方法に関する。
【背景技術】
【０００２】
近年、物理マシンの性能向上に伴い、複数の仮想マシン（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）を１つの物理マシンに集約する仮想化技術の研究が進められている。この仮想化技術は、例えば、仮想化ソフトウエア（以下、ハイパバイザとも呼ぶ）が物理マシンの物理リソースを複数の仮想マシンに割当て、各仮想マシンにインストールされたアプリケーションプログラム（以下、アプリケーションとも呼ぶ）によるサービスの提供を可能にする。
【０００３】
上記のような仮想マシンにおいて、仮想マシンの管理を行う管理者（以下、単に管理者とも呼ぶ）は、必要に応じて物理マシン間における仮想マシンの移動を行う（以下、これをマイグレーションとも呼ぶ）。これにより、管理者は、例えば、利用者によるサービスの利用状況に応じて仮想マシンの再配置を行うことが可能になる。そのため、管理者は、物理マシンの物理リソースの効率的な活用等を実現することが可能になる（例えば、特許文献１及び２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２４４５２４号公報
【特許文献２】特開２０１５−０１１５６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のような仮想マシンの移動を行う場合、管理者は、例えば、各仮想マシンが動作する物理マシンのうち、物理リソースの残余がある物理マシンに対して仮想マシンの移動を行う。しかしながら、この場合、仮想マシンを移動することができる物理マシンは、現状で物理リソースに残余のある物理マシンに限られる。そのため、仮想マシンの移動が行われた後における各仮想マシンの配置は、物理マシンの物理リソースを効率的に使用する観点から最適な仮想マシンの配置でない場合がある。
【０００６】
これに対し、管理者は、例えば、最適化ソルバ等の数理計画法を活用することにより、物理マシンの物理リソースの最も効率的に使用することができる仮想マシンの配置（以下、最適配置とも呼ぶ）を予め決定することが可能である。しかしながら、数理計画法によって算出される仮想マシンの配置は、各仮想マシンの移動中における各物理マシンの物理リソースの残余の状況や、仮想マシン毎の移動に要する時間の差異等が考慮されていない場合がある。そのため、管理者は、仮想マシンを最適配置に再配置するための仮想マシンの移動順序を特定することが困難な場合がある。
【０００７】
そこで、一つの側面では、仮想マシンの再配置に伴う仮想マシンの移動順序を決定する移動制御プログラム、移動制御装置及び移動制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
実施の形態の一つの態様によれば、情報処理システムを構成する複数の物理マシン間において移動する複数の仮想マシンそれぞれの移動に要する時間を示す所要時間情報と、前記複数の仮想マシン全ての移動に要する見積り時間を示す見積り時間情報と、前記複数の仮想マシンそれぞれが配置される物理マシンを示す第１変数と、前記複数の仮想マシンそれぞれの移動状態を示す第２変数とから、前記第１変数と、前記第２変数との関係を示す第１条件式を生成し、前記見積り時間情報と、前記第２変数と、前記複数の仮想マシン全ての移動に要する時間を示す第３変数とから、前記第２変数と、前記第３変数との関係を示す第２条件式を生成し、前記複数の仮想マシンそれぞれの移動元及び移動先の物理マシンを示す移動情報と、前記見積り時間情報と、前記複数の物理マシンそれぞれのリソース情報と、前記複数の仮想マシンそれぞれのリソース情報と、前記第１変数と、前記第２変数とから、前記移動先の物理マシンに移動する仮想マシンのリソース情報の条件を示す第３条件式を生成し、前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記複数の物理マシン間における仮想マシンの複数の移動経路それぞれを並行して移動可能な仮想マシンの数を示す移動可能数情報と、前記第２変数とから、前記複数の仮想マシンそれぞれが移動する際の移動経路に対応する前記移動可能数情報の条件を示す第４条件式を生成し、前記移動情報と、前記見積り時間情報と、前記第１変数とから、前記複数の仮想マシンそれぞれが前記複数の物理マシンのいずれかに配置されることを示す第５条件式を生成し、前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記第１変数とから、前記複数の仮想マシンそれぞれが、前記移動元の物理マシンからの移動開始後であって前記移動元の物理マシンからの移動が完了するまでの間、前記移動元の物理マシンに配置されていることと、前記複数の仮想マシンそれぞれが、前記見積り時間情報が示す時間において前記移動先の物理マシンに配置されていることとを示す第６条件式を生成し、前記第１条件式と、前記第２条件式と、前記第３条件式と、前記第４条件式と、前記第５条件式と、前記第６条件式とから、前記第３変数が最小になる場合の前記第１変数、前記第２変数及び前記第３変数の値を算出する、処理をコンピュータに実行させる。
【発明の効果】
【０００９】
一つの側面によれば、仮想マシンの再配置に伴う仮想マシンの移動順序を決定する。
【図面の簡単な説明】
【００１０】
【図１】図１は、情報処理システム１０の全体構成を示す図である。
【図２】図２は、物理マシン２に配備された仮想マシン３の具体例を説明する図である。
【図３】図３は、情報処理装置１のハードウエア構成を説明する図である。
【図４】図４は、図３の情報処理装置１の機能ブロック図である。
【図５】図５は、第１の実施の形態における移動制御処理の概略を説明するフローチャートである。
【図６】図６は、第１の実施の形態における移動制御処理の概略を説明するフローチャートである。
【図７】図７は、第１の実施の形態における移動制御処理の詳細を説明するフローチャートである。
【図８】図８は、第１の実施の形態における移動制御処理の詳細を説明するフローチャートである。
【図９】図９は、第１の実施の形態における移動制御処理の詳細を説明するフローチャートである。
【図１０】図１０は、第１の実施の形態における移動制御処理の詳細を説明するフローチャートである。
【図１１】図１１は、第１の実施の形態における移動制御処理の詳細を説明するフローチャートである。
【図１２】図１２は、第１の実施の形態における移動制御処理の詳細を説明するフローチャートである。
【図１３】図１３は、第１の実施の形態における移動制御処理の詳細を説明するフローチャートである。
【図１４】図１４は、第１の実施の形態における移動制御処理の詳細を説明するフローチャートである。
【図１５】図１５は、配置情報１４１及び状態情報１４２の具体例を説明する図である。
【図１６】図１６は、配置情報１４１及び状態情報１４２の具体例を説明する図である。
【図１７】図１７は、配置情報１４１及び状態情報１４２の具体例を説明する図である。
【図１８】図１８は、全体所要時間情報１４３の具体例を説明する図である。
【図１９】図１９は、見積り時間情報１３３の具体例を説明する図である。
【図２０】図２０は、所要時間情報１３２の具体例を説明する図である。
【図２１】図２１は、移動情報１３１の具体例を説明する図である。
【図２２】図２２は、物理リソース情報１３４及び仮想リソース情報１３５の具体例を説明する図である。
【図２３】図２３は、複数の移動経路上にネットワーク機器が存在する場合の具体例を説明する図である。
【図２４】図２４は、ネットワーク情報１３６の具体例を説明する図である。
【図２５】図２５は、移動可能数情報１３７の具体例を説明する図である。
【図２６】図２６は、制約条件式情報１３８ａの具体例を説明する図である。
【図２７】図２７は、目的関数式情報１３８ｂの具体例を説明する図である。
【図２８】図２８は、結果情報の具体例を説明する図である。
【発明を実施するための形態】
【００１１】
［情報処理システムの構成］
図１は、情報処理システム１０の全体構成を示す図である。図１に示す情報処理システム１０は、例えば、利用者にサービスを提供するための業務システムである。図１に示す情報処理システム１０において、情報処理装置１と、物理マシン２とがデータセンターＤＣ内に設けられている。そして、利用者端末１１は、インターネットやイントラネット等のネットワークを介して、データセンターＤＣとアクセス可能になっている。
【００１２】
物理マシン２は、例えば、複数の物理マシンから構成される。各物理マシンは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｃｏｍｐｕｔｉｎｇ  Ｕｎｉｔ）と、メモリ（ＤＲＡＭ：Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）と、ハードディスク（ＨＤＤ：Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の大容量メモリとを有する。そして、物理マシン２の物理リソースは、複数の仮想マシン３に割当てられる。
【００１３】
情報処理装置１は、仮想マシン３とアクセス可能であり、物理マシン２内に作成された仮想マシン３の管理を行うものである。情報処理装置１は、例えば、仮想マシン３によって作成されるものであってもよい。
【００１４】
仮想マシン３では、そのインフラをネットワーク経由で利用者に提供するもの（以下、クラウドサービスとも呼ぶ）である。
【００１５】
クラウドサービスは、コンピュータシステムを構築し稼働させるための基盤、すなわち、仮想マシン３やネットワーク等のインフラストラクチャを、ネットワーク経由で提供するサービスである。また、利用者は、例えば、利用者端末１１を介して、仮想マシン３に必要な仕様、例えば、ＣＰＵのクロック周波数、メモリの容量、ハードディスクの容量及びネットワークの通信帯域幅を選択し、それらについてクラウド利用契約を締結する。さらに、利用者は、例えば、利用者端末１１を介して、仮想マシン３の稼働状態を監視や、仮想マシン３に対する操作等を可能にする。
【００１６】
仮想化ソフトウエア４は、情報処理装置１からの指示に応じて、物理マシン２のＣＰＵ、メモリ、ハードディスク及びネットワークを割当てることにより、仮想マシン３を動作させる基盤ソフトウエアである。仮想化ソフトウエア４は、例えば、物理マシン２で動作する。また、仮想化ソフトウエア４は、例えば、物理マシン２間における仮想マシン３の移動を行う。
【００１７】
［物理マシンに配備された仮想マシンの具体例］
次に、物理マシン２に配備された仮想マシン３の具体例について説明を行う。図２は、物理マシン２に配備された仮想マシン３の具体例を説明する図である。
【００１８】
図２に示す例において、データセンターＤＣには、物理マシン２Ａ、２Ｂ、２Ｃ、２Ｄ、２Ｅ及び２Ｆが配備されている。そして、物理マシン２Ａには、仮想マシン３Ａ及び仮想マシン３Ｂが配備され、物理マシン２Ｂには、仮想マシン３Ｃが配備されている。また、物理マシン２Ｄ、２Ｅ及び２Ｆには、それぞれ仮想マシン３Ｄ、３Ｅ及び３Ｆが配備されている。
【００１９】
なお、図２に示す例において、物理マシン２Ａにおける「物理マシン（０，１）」は、物理マシン２Ａのディスクの空き容量が「０（ＧＢ）」であって、メモリの空き容量が「１（ＧＢ）」であることを示している。そして、図２に示す例において、仮想マシン３Ａにおける「仮想マシン（１，２）」は、仮想マシン３Ａが動作するために必要なディスクの使用容量が「１（ＧＢ）」であって、メモリの使用容量が「２（ＧＢ）」であることを示している。なお、図２における他の物理マシン２及び仮想マシン３の説明については省略する。
【００２０】
そして、図２に示すような仮想マシン３において、管理者は、必要に応じて物理マシン２間における仮想マシン３の移動を行う。これにより、管理者は、例えば、利用者によるサービスの利用状況に応じて仮想マシン３の再配置を行うことが可能になる。そのため、管理者は、物理マシン２の物理リソースの効率的な活用等を実現することが可能になる。
【００２１】
具体的に、仮想マシン３の移動を行う場合、管理者は、例えば、各仮想マシン３が動作する物理マシン２のうち、物理リソースの残余がある物理マシン２に対して仮想マシン３の移動を行う。しかしながら、この場合、仮想マシン３が移動することができる物理マシン２は、現状で物理リソースに残余のある物理マシン２に限られる。そのため、仮想マシン３の移動後における各仮想マシン３の配置は、例えば、物理マシン２の物理リソースを効率的に使用する観点から、最適な仮想マシン３の配置ではない場合がある。
【００２２】
これに対し、管理者は、例えば、数理計画法（例えば、最適化ソルバ）を活用する場合がある。これにより、管理者は、図２の各矢印が示すように、物理マシン２の物理リソースの最も効率的に使用することができる仮想マシン３の最適配置を算出することが可能になる。しかしながら、数理計画法によって算出される仮想マシン３の配置は、各仮想マシン３の移動中における各物理マシン２の物理リソースの残余の状況が考慮されていない場合がある。
【００２３】
具体的に、図２に示す例において、管理者は、仮想マシン３Ａ及び仮想マシン３Ｂを物理マシン２Ａから物理マシン２Ｅに移動する必要がある。そして、仮想マシン３Ａ及び仮想マシン３Ｂのディスクの使用容量の合計は、「２（ＧＢ）」であり、仮想マシン３Ａ及び仮想マシン３Ｂのメモリの使用容量の合計は、「３（ＧＢ）」である。したがって、仮想マシン３Ａ及び仮想マシン３Ｂを物理マシン２Ａから物理マシン２Ｅに移動するためには、物理マシン２Ｅのディスクの空き容量が「２（ＧＢ）」以上であり、メモリの空き容量が「３（ＧＢ）」以上である必要がある。
【００２４】
しかしながら、図２に示す例において、物理マシン２Ｅのディスクの空き容量は「１（ＧＢ）」であり、メモリの空き容量は「２（ＧＢ）」である。そのため、仮想マシン３Ａ及び仮想マシン３Ｂは、図２に示すように、物理マシン２Ｅに対して同時に移動することができない。すなわち、仮想マシン３Ａ及び仮想マシン３Ｂのうち、直ちに物理マシン２Ｅに移動できない仮想マシン３については、仮想マシン３Ｅが物理マシン２Ｅから物理マシン２Ｄに移動した後に移動する必要がある。
【００２５】
また、図２に示す例において、管理者は、仮想マシン３Ｃを物理マシン２Ｂから物理マシン２Ｆに移動する必要があり、仮想マシン３Ｆを物理マシン２Ｆから物理マシン２Ｂに移動する必要がある。そして、仮想マシン３Ｃのディスクの使用容量は、「２（ＧＢ）」であり、仮想マシン３Ｃのメモリの使用容量は、「２（ＧＢ）」である。また、仮想マシン３Ｆのディスクの使用容量の合計は、「２（ＧＢ）」であり、仮想マシン３Ｆのメモリの使用容量の合計は、「２（ＧＢ）」である。したがって、仮想マシン３Ｃを物理マシン２Ｂから物理マシン２Ｆに移動するためには、物理マシン２Ｆのディスクの空き容量が「２（ＧＢ）」以上であり、メモリの空き容量が「２（ＧＢ）」以上である必要がある。また、仮想マシン３Ｆを物理マシン２Ｆから物理マシン２Ｂに移動するためには、物理マシン２Ｂのディスクの空き容量が「２（ＧＢ）」以上であり、メモリの空き容量が「２（ＧＢ）」以上である必要がある。
【００２６】
しかしながら、図２に示す例において、物理マシン２Ｆのディスクの空き容量が「０（ＧＢ）」であり、メモリの空き容量が「１（ＧＢ）」である。また、図２に示す例において、物理マシン２Ｂのディスクの空き容量が「０（ＧＢ）」であり、メモリの空き容量が「０（ＧＢ）」である。そのため、仮想マシン３Ｃ及び仮想マシン３Ｆは、それぞれ移動先の物理マシン２に対して同時に移動することができない。
【００２７】
さらに、図２に示す例において、管理者は、仮想マシン３Ｄを物理マシン２Ｄから物理マシン２Ａに移動する必要がある。そして、仮想マシン３Ｄのディスクの使用容量は、「１（ＧＢ）」であり、仮想マシン３Ｄのメモリの使用容量は、「１（ＧＢ）」である。したがって、仮想マシン３Ｄを物理マシン２Ｄから物理マシン２Ａに移動するためには、物理マシン２Ａのディスクの空き容量が「１（ＧＢ）」以上であり、メモリの空き容量が「１（ＧＢ）」以上である必要がある。
【００２８】
しかしながら、図２に示す例において、物理マシン２Ａのディスクの空き容量が「０（ＧＢ）」であり、メモリの空き容量が「１（ＧＢ）」である。そのため、仮想マシン３Ｄは、物理マシン２Ａに対して移動することができない。すなわち、仮想マシン３Ｄは、この場合、物理マシン２Ａへの移動を、仮想マシン３Ａまたは仮想マシン３Ｂが物理マシン２Ａから物理マシン２Ｅに移動した後に行う必要がある。
【００２９】
そのため、管理者は、数理計画法を用いて最適配置を算出した場合であっても、仮想マシン３を最適配置に再配置するための仮想マシン３の移動順序を特定することが困難な場合がある。
【００３０】
また、各仮想マシン３が物理マシン２間を移動するために要する時間は、必ずしも一定ではない。そのため、管理者は、全ての仮想マシン３の移動に要する総時間を短くする必要性から、仮想マシン３毎の移動に要する時間の差異を考慮した上で、仮想マシン３の移動順序を決定することが好ましい。
【００３１】
さらに、全ての仮想マシン３の移動に要する総時間を短くするためには、仮想マシン３の移動を可能な限り並行して行う必要がある。そのため、移動可能な仮想マシン３が存在する場合であっても、その仮想マシン３の移動の開始を遅らせることにより、全ての仮想マシン３の移動に要する総時間を短くすることができる場合がある。したがって、管理者は、移動可能な仮想マシン３の移動を直ちに行わない場合を考慮した上で、仮想マシン３の移動順序に加えて、各仮想マシン３の移動開始時間を決定することが好ましい。
【００３２】
そこで、本実施の形態における情報処理装置１は、数理計画法によって各仮想マシン３の最適配置の算出を行う際に、各仮想マシン３が配置する物理マシン２の遷移を示す情報を考慮する。
【００３３】
具体的に、本実施の形態における情報処理装置１は、複数の物理マシン２間において移動する複数の仮想マシン３のそれぞれの移動元及び移動先の物理マシン２を示す情報（以下、移動情報とも呼ぶ）と、複数の仮想マシン３のそれぞれの移動に要する時間を示す情報（以下、所要時間情報とも呼ぶ）とを取得する。また、情報処理装置１は、複数の仮想マシン３の全ての移動に要する見積り時間を示す情報（以下、見積り時間情報とも呼ぶ）と、複数の物理マシン２それぞれのリソース情報（以下、物理リソース情報とも呼ぶ）と、複数の仮想マシン３のそれぞれのリソース情報（以下、仮想リソース情報とも呼ぶ）とを取得する。さらに、情報処理装置１は、複数の物理マシン２間における移動経路それぞれを並行して移動可能な仮想マシン３の数を示す情報（以下、移動可能数情報とも呼ぶ）を取得する。
【００３４】
そして、情報処理装置１は、所要時間情報と、見積り時間情報と、複数の仮想マシン３のそれぞれが配置される物理マシン２を示す変数（以下、第１変数または配置情報とも呼ぶ）と、複数の仮想マシン３のそれぞれの移動状態を示す変数（以下、第２変数または状態情報とも呼ぶ）とから、第１変数と、第２変数との関係を示す式（以下、第１条件式とも呼ぶ）を生成する。
【００３５】
また、情報処理装置１は、見積り時間情報と、第２変数と、複数の仮想マシン３の全ての移動に要する時間を示す変数（以下、第３変数または全体所要時間情報とも呼ぶ）とから、第２変数と、第３変数との関係を示す式（以下、第２条件式とも呼ぶ）を生成する。
【００３６】
また、情報処理装置１は、移動情報と、見積り時間情報と、物理リソース情報と、仮想リソース情報と、第１変数と、第２変数とから、移動先の物理マシン２に移動する仮想マシン３の仮想リソース情報の条件を示す式（以下、第３条件式とも呼ぶ）を生成する。
【００３７】
また、情報処理装置１は、移動情報と、所要時間情報と、見積り時間情報と、移動可能数情報と、第２変数とから、複数の仮想マシン３のそれぞれが移動する際の移動経路に対応する移動可能数情報の条件を示す式（以下、第４条件式とも呼ぶ）を生成する。
【００３８】
また、情報処理装置１は、移動情報と、見積り時間情報と、第１変数とから、複数の仮想マシン３のそれぞれが複数の物理マシン２のいずれかに配置されることを示す式（以下、第５条件式）を生成する。
【００３９】
また、情報処理装置１は、移動情報と、所要時間情報と、見積り時間情報と、第１変数とから、複数の仮想マシン３のそれぞれが、移動元の物理マシン２からの移動開始後であって移動元の物理マシン２からの移動が完了するまでの間、移動元の物理マシン２に配置されていることと、複数の仮想マシン３のそれぞれが、見積り時間情報が示す時間において移動先の物理マシン２に配置されていることとを示す式（以下、第６条件式とも呼ぶ）を生成する。
【００４０】
その後、情報処理装置１は、生成した第１条件式、第２条件式、第３条件式、第４条件式、第５条件式及び第６条件式から、第３変数が最小になる場合の第１変数、第２変数及び第３変数を算出する。
【００４１】
すなわち、情報処理装置１は、仮想マシン３の全ての移動に要する時間である全体所要時間情報の算出とともに、各仮想マシン３が配置される物理マシン２を示す配置情報及び各仮想マシン３が配置される物理マシン２の遷移を示す状態情報の算出が可能な式を作成する。
【００４２】
これにより、情報処理装置１は、仮想マシン３の最適配置に従った仮想マシン３の再配置を、可能な限り短い時間で行うための仮想マシン３の移動順序及び各仮想マシン３の移動開始時間を特定することが可能になる。
【００４３】
［情報処理装置のハードウエア構成］
次に、情報処理装置１のハードウエア構成について説明する。図３は、情報処理装置１のハードウエア構成を説明する図である。
【００４４】
情報処理装置１は、プロセッサであるＣＰＵ１０１と、メモリ１０２と、外部インターフェース（Ｉ／Ｏユニット）１０３と、記憶媒体（ストレージ）１０４とを有する。各部は、バス１０５を介して互いに接続される。
【００４５】
記憶媒体１０４は、記憶媒体１０４内のプログラム格納領域（図示しない）に、各仮想マシン３の移動を制御する処理（以下、移動制御処理とも呼ぶ）を行うためのプログラム１１０を記憶する。
【００４６】
ＣＰＵ１０１は、図３に示すように、プログラム１１０の実行時に、プログラム１１０を記憶媒体１０４からメモリ１０２にロードし、プログラム１１０と協働して移動制御処理を行う。
【００４７】
記憶媒体１０４は、例えば、移動制御処理を行う際に用いられる情報を記憶する情報格納領域１３０（以下、記憶部１３０とも呼ぶ）を有する。また、外部インターフェース１０３は、物理マシン２と通信を行う。
【００４８】
[情報処理装置のソフトウエア構成]
次に、情報処理装置１のソフトウエア構成について説明する。図４は、図３の情報処理装置１の機能ブロック図である。ＣＰＵ１０１は、プログラム１１０と協働することにより、条件式生成部１１１と、条件算出部１１２と、移動指示部１１３として動作する。
【００４９】
また、図４に示すように、情報格納領域１３０には、移動情報１３１と、所要時間情報１３２と、見積り時間情報１３３と、物理リソース情報１３４と、仮想リソース情報１３５とが記憶されている。さらに、情報格納領域１３０には、ネットワーク情報１３６と、移動可能数情報１３７と、生成済式情報１３８とが記憶されている。
【００５０】
条件式生成部１１１は、情報格納領域１３０に記憶された移動情報１３１、所要時間情報１３２、見積り時間情報１３３、物理リソース情報１３４、仮想リソース情報１３５、ネットワーク情報１３６及び移動可能数情報１３７を取得する。そして、条件式生成部１１１は、取得した移動情報１３１等から、第１条件式、第２条件式、第３条件式、第４条件式、第５条件式及び第６条件式を生成する。その後、条件式生成部１１１は、生成した第１条件式等を、生成済式情報１３８として情報格納領域１３０に記憶する。
【００５１】
条件算出部１１２は、条件式生成部１１１が生成した第１条件式、第２条件式、第３条件式、第４条件式、第５条件式及び第６条件式から、全体所要時間情報１４３が最小になる配置情報１４１、状態情報１４２及び全体所要時間情報１４３をそれぞれ算出する。
【００５２】
なお、事業者は、全体所要時間情報１４３を最小にすることを示す式（以下、目的関数式）を予め情報格納領域１３０に記憶するものであってよい。そして、条件算出部１１２は、第１条件式等の各式から、情報格納領域１３０に記憶された目的関数式を満たす配置情報１４１、状態情報１４２及び全体所要時間情報１４３の算出を行うものであってよい。
【００５３】
移動指示部１１３は、条件算出部１１２が算出した配置情報１４１、状態情報１４２及び全体所要時間情報１４３を参照して、仮想マシン３の移動順序及び各仮想マシン３の移動開始時間を決定する。そして、移動指示部１１３は、決定した移動順序及び移動開始時間に従って、仮想マシン３の移動を指示する。具体的に、移動指示部１１３は、例えば、各物理マシン２において動作する仮想化ソフトウエア４に対して仮想マシンの移動の指示を行う。
【００５４】
[第１の実施の形態の概略］
次に、第１の実施の形態の概略について説明する。図５及び図６は、第１の実施の形態における移動制御処理の概略を説明するフローチャートである。
【００５５】
情報処理装置１の条件式生成部１１１は、図５に示すように、仮想マシン３の移動タイミングまで待機する（Ｓ１のＮＯ）。仮想マシン３の移動タイミングは、例えば、管理者が仮想マシン３の再配置を行うことを決定したタイミングであってよい。具体的に、仮想マシン３の移動タイミングは、仮想マシン３を配備した物理マシン２において、物理リソースの使用率が所定の閾値を上回った物理マシン２が発生したことに伴って、管理者が仮想マシン３の再配置を行うことを決定したタイミングであってよい。
【００５６】
そして、仮想マシン３の移動タイミングになった場合（Ｓ１のＹＥＳ）、条件式生成部１１１は、所要時間情報１３２と、見積り時間情報１３３と、配置情報１４１と、状態情報１４２とから、配置情報１４１と、状態情報１４２との関係を示す第１条件式を生成する（Ｓ２）。
【００５７】
また、条件式生成部１１１は、この場合、見積り時間情報１３３と、状態情報１４２と、全体所要時間情報１４３とから、状態情報１４２と、全体所要時間情報１４３との関係を示す第２条件式を生成する（Ｓ３）。そして、条件式生成部１１１は、この場合、移動情報１３１と、見積り時間情報１３３と、物理リソース情報１３４と、仮想リソース情報１３５と、配置情報１４１と、状態情報１４２とから、移動先の物理マシン２に移動する仮想マシン３の仮想リソース情報１３５の条件を示す第３条件式を生成する（Ｓ４）。
【００５８】
さらに、条件式生成部１１１は、この場合、移動情報１３１と、所要時間情報１３２と、見積り時間情報１３３と、移動可能数情報１３７と、状態情報１４２とから、複数の仮想マシン３のそれぞれが移動する際の移動経路に対応する移動可能数情報１３７の条件を示す第４条件式を生成する（Ｓ５）。そして、条件式生成部１１１は、この場合、移動情報１３１と、見積り時間情報１３３と、配置情報１４１とから、複数の仮想マシン３のそれぞれが複数の物理マシン２のいずれかに配置されることを示す第５条件式を生成する（Ｓ６）。
【００５９】
また、条件式生成部１１１は、この場合、移動情報１３１と、所要時間情報１３２と、見積り時間情報１３３と、配置情報１４１とから、第６条件式を生成する（Ｓ７）。第６条件式は、複数の仮想マシン３のそれぞれが、移動元の物理マシン２からの移動開始後であって移動元の物理マシン２からの移動が完了するまでの間、移動元の物理マシン２に配置されていること示す式を含む。また、第６条件式は、複数の仮想マシン３のそれぞれが、見積り時間情報１３３が示す時間において移動先の物理マシン２に配置されていることを示す式を含む。
【００６０】
すなわち、条件式生成部１１１は、Ｓ２からＳ７の処理を行うによって、仮想マシン３の全ての移動に要する時間である全体所要時間情報１４３の算出とともに、配置情報１４１及び状態情報１４２の算出が可能な式を作成する。
【００６１】
そして、情報処理装置１の条件算出部１１２は、Ｓ２等の処理において条件式生成部１１１が生成した第１条件式と、第２条件式と、第３条件式と、第４条件式と、第５条件式と、第６条件式とから、全体所要時間情報１４３が最小になる場合の配置情報１４１、状態情報１４２及び全体所要時間情報１４３をそれぞれ算出する（Ｓ８）。
【００６２】
その後、情報処理装置１の移動指示部１１３は、Ｓ８の処理で算出した値に基づいて、複数の仮想マシン３のそれぞれの移動の指示を行う（Ｓ９）。
【００６３】
これにより、情報処理装置１は、仮想マシン３の最適配置に従った仮想マシン３の再配置を、可能な限り短い時間で行うことが可能になる。
【００６４】
[第１の実施の形態の詳細]
次に、第１の実施の形態の詳細について説明する。図７から図１４は、第１の実施の形態における移動制御処理の詳細を説明するフローチャートである。また、図１５から図２８は、第１の実施の形態における移動制御処理の詳細を説明する図である。図１５から図２８を参照しながら、図７から図１４の移動制御処理を説明する。
【００６５】
[配置情報及び状態情報]
初めに、配置情報１４１及び状態情報１４２について説明を行う。以下、仮想マシン３Ａ、仮想マシン３Ｂ及び仮想マシン３Ｃが、物理マシン２Ａ及び物理マシン２Ｂとの間で移動を行う場合を例として説明を行う。また、以下、物理マシン２Ａ及び物理マシン２Ｂを総称して複数の物理マシン２とも呼び、仮想マシン３Ａ、仮想マシン３Ｂ及び仮想マシン３Ｃを総称して複数の仮想マシン３とも呼び、物理マシン２Ａ及び物理マシン２Ｂ間における各移動経路を総称して複数の移動経路とも呼ぶ。なお、以下、仮想マシン３Ａ、仮想マシン３Ｂ、仮想マシン３Ｃ、物理マシン２Ａ及び物理マシン２Ｂを、それぞれ仮想マシンＡ、仮想マシンＢ、仮想マシンＣ、物理マシンＡ及び物理マシンＢとも表記する。
【００６６】
配置情報１４１は、見積り時間情報１３３が示す時間に含まれる単位時間毎であり、仮想マシン３毎であり、物理マシン２毎の情報である。そして、配置情報１４１では、特定の単位時間において特定の仮想マシン３が特定の物理マシン２に配置されている場合、特定の単位時間と特定の仮想マシン３と特定の物理マシン２とに対応する情報として、第１の値（例えば、１）が設定される。また、配置情報１４１では、特定の単位時間において特定の仮想マシン３が特定の物理マシン２に配置されていない場合、特定の単位時間と特定の仮想マシン３と特定の物理マシン２とに対応する情報として、第１の値よりも小さい第２の値（例えば、０）が設定される。
【００６７】
また、状態情報１４２は、見積り時間情報１３３が示す時間に含まれる単位時間毎であり、仮想マシン３毎であり、物理マシン２間において行われる仮想マシン３の移動経路毎の情報である。そして、状態情報１４２では、特定の単位時間において特定の仮想マシン３の移動が完了した場合、特定の単位時間と特定の仮想マシン３と完了した移動の移動経路とに対応する情報として、第１の値が設定される。また、状態情報１４２では、特定の単位時間において特定の仮想マシン３の移動を完了していない場合、特定の単位時間と特定の仮想マシン３と完了していない移動の移動経路とに対応する情報として、第２の値が設定される。なお、以下、第１の値が１であり、第２の値が０であるものとして説明を行う。
【００６８】
[配置情報及び状態情報の具体例]
次に、配置情報１４１及び状態情報１４２の具体例について説明を行う。図１５から図１７は、配置情報１４１及び状態情報１４２の具体例を説明する図である。具体的に、図１５から図１７は、Ｓ８の処理によって値が算出された後の配置情報１４１（第１変数）及び状態情報１４２（第２変数）の具体例を説明する図である。なお、以下、仮想マシン３の移動が開始された時刻を時刻０とも呼び、時刻０から単位時間が経過した時刻を時刻１とも呼び、時刻１から単位時間が経過した時刻を時刻２とも呼ぶ。
【００６９】
具体的に、図１５（Ａ）は、時刻０における配置情報１４１の具体例を示す図である。また、図１５（Ｂ）は、時刻０における状態情報１４２の具体例を示す図である。そして、図１６（Ａ）は、時刻１における配置情報１４１の具体例を示す図である。また、図１６（Ｂ）は、時刻１における状態情報１４２の具体例を示す図である。さらに、図１７（Ａ）は、時刻２における配置情報１４１の具体例を示す図である。また、図１７（Ｂ）は、時刻２における状態情報１４２の具体例を示す図である。
【００７０】
図１５（Ａ）、図１６（Ａ）及び図１７（Ａ）に示す配置情報１４１における縦の欄は、それぞれ物理マシン２Ａ及び物理マシン２Ｂに対応している。また、図１５（Ａ）、図１６（Ａ）及び図１７（Ａ）に示す配置情報１４１における横の欄は、それぞれ仮想マシン３Ａ、仮想マシン３Ｂ及び仮想マシン３Ｃに対応している。そして、図１５（Ｂ）、図１６（Ｂ）及び図１７（Ｂ）に示す状態情報１４２における縦の欄は、それぞれ物理マシン２Ａから物理マシン２Ｂに向けた移動経路及び物理マシン２Ｂから物理マシン２Ａに向けた移動経路に対応している。また、図１５（Ｂ）、図１６（Ｂ）及び図１７（Ｂ）に示す状態情報１４２における横の欄は、それぞれ仮想マシン３Ａ、仮想マシン３Ｂ及び仮想マシン３Ｃに対応している。
【００７１】
さらに具体的に、図１５（Ａ）に示す配置情報１４１では、「仮想マシンＡ」及び「物理マシンＡ」に対応する欄と、「仮想マシンＢ」及び「物理マシンＢ」に対応する欄と、「仮想マシンＣ」及び「物理マシンＢ」に対応する欄とに「１」が設定されている。また、図１５（Ａ）に示す配置情報１４１では、「仮想マシンＡ」及び「物理マシンＢ」に対応する欄と、「仮想マシンＢ」及び「物理マシンＡ」に対応する欄と、「仮想マシンＣ」及び「物理マシンＡ」に対応する欄とに「０」が設定されている。すなわち、図１５（Ａ）に示す配置情報１４１は、時刻０において、仮想マシン３Ａが物理マシン２Ａに配置されており、仮想マシン３Ｂ及び仮想マシン３Ｃが物理マシン２Ｂに配置されていること示している。
【００７２】
また、図１５（Ｂ）に示す状態情報１４２では、全ての欄に「０」が設定されている。すなわち、図１５（Ｂ）に示す状態情報１４２は、時刻０において、移動が完了した仮想マシン３が存在しないことを示している。
【００７３】
そして、図１６（Ａ）に示す配置情報１４１では、「仮想マシンＡ」及び「物理マシンＡ」に対応する欄と、「仮想マシンＢ」及び「物理マシンＢ」に対応する欄と、「仮想マシンＣ」及び「物理マシンＢ」に対応する欄とに「１」が設定されている。また、図１６（Ａ）に示す配置情報１４１では、「仮想マシンＡ」及び「物理マシンＢ」に対応する欄と、「仮想マシンＢ」及び「物理マシンＡ」に対応する欄と、「仮想マシンＣ」及び「物理マシンＡ」に対応する欄とに「０」が設定されている。すなわち、図１５（Ａ）及び図１６（Ａ）に示す配置情報１４１は、時刻０から時刻１までの間において、移動が完了した仮想マシン３が存在しないことを示している。
【００７４】
また、図１６（Ｂ）に示す状態情報１４２では、全ての欄に「０」が設定されている。すなわち、図１６（Ｂ）に示す状態情報１４２は、時刻１において、移動が完了した仮想マシン３が存在しないことを示している。
【００７５】
一方、図１７（Ａ）に示す配置情報１４１では、図１６（Ａ）で説明した配置情報１４１と比較して、「仮想マシンＡ」及び「物理マシンＡ」に対応する欄が「１」から「０」に更新され、「仮想マシンＡ」及び「物理マシンＢ」に対応する欄が「０」から「１」に更新されている。すなわち、図１６（Ａ）及び図１７（Ａ）に示す配置情報１４１は、時刻１から時刻２までの間において、仮想マシン３Ａが物理マシン２Ａから物理マシン２Ｂに移動したことを示している。
【００７６】
また、図１７（Ｂ）に示す状態情報１４２では、図１６（Ｂ）で説明した状態情報１４２と比較して、「仮想マシンＡ」及び「物理マシンＡ→物理マシンＢ」に対応する欄が「０」から「１」に更新されている。すなわち、図１７（Ｂ）に示す状態情報１４２は、時刻２において、物理マシン２Ａに配置されていた仮想マシン３Ａの物理マシン２Ｂに対する移動が完了したことを示している。
【００７７】
[全体所要時間情報の具体例]
次に、全体所要時間情報１４３の具体例について説明を行う。図１８に示す例は、Ｓ８の処理によって値が算出された後の全体所要時間情報１４３（第３変数）を説明する例である。
【００７８】
図１８に示す全体所要時間情報１４３は、全体所要時間情報１４３に含まれる各情報を識別する「情報ＩＤ」と、物理マシン２間における全ての仮想マシン３の移動に要する時間を示す「全体所要時間」とを項目として有する。
【００７９】
具体的に、図１８に示す全体所要時間情報１４３において、「情報ＩＤ」に「１」が設定された情報には、「全体所要時間」として「７」が設定されている。
【００８０】
[Ｓ２の処理の詳細]
次に、図５で説明したＳ２の処理の詳細について説明を行う。図７及び図８は、Ｓ２の処理の詳細を説明するフローチャートである。
【００８１】
条件式生成部１１１は、配置情報１４１のうち、特定の単位時間（以下、第１の単位時間とも呼ぶ）と特定の仮想マシン３（以下、第１の仮想マシン３とも呼ぶ）と特定の移動経路（以下、第１の移動経路とも呼ぶ）の始点である物理マシン２とに対応する配置情報１４１を特定する（Ｓ１１）。すなわち、条件式生成部１１１は、配置情報１４１に含まれる情報のうちのいずれかの情報を特定（抽出）する。
【００８２】
また、条件式生成部１１１は、配置情報１４１のうち、第１の単位時間の次の単位時間（以下、第２の単位時間とも呼ぶ）と第１の仮想マシン３と第１の移動経路の終点である物理マシン２とに対応する配置情報１４１を特定する（Ｓ１２）。
【００８３】
そして、条件式生成部１１１は、Ｓ１１の処理で特定した配置情報１４１に、Ｓ１２の処理で特定した配置情報１４１を加算し、第１の値を減算する式を生成する（Ｓ１３）。さらに、条件式生成部１１１は、Ｓ１３の処理で生成した式が、第２の単位時間と第１の仮想マシン３と第１の移動経路とに対応する状態情報１４２以下であることを示す式を、第１の式として生成する（Ｓ１４）。
【００８４】
その後、条件式生成部１１１は、Ｓ１１の処理において、見積り時間情報１３３が示す時間に含まれる単位時間と、物理マシン２間において移動する仮想マシン３と、物理マシン２間における仮想マシン３の移動経路との組み合わせを全て特定したか否かを判定する（Ｓ１５）。具体的に、条件式生成部１１１は、情報格納領域１３０に記憶された見積り時間情報１３３を参照し、Ｓ１５の処理を行う。以下、Ｓ１５の処理の具体例について説明を行う。
【００８５】
[見積り時間情報の具体例]
図１９は、見積り時間情報１３３の具体例を説明する図である。図１９に示す見積り時間情報１３３は、見積り時間情報１３３に含まれる各情報を識別する「情報ＩＤ」と、物理マシン２間における全ての仮想マシン３の移動に要する見積り時間を示す「見積り時間」とを項目として有する。
【００８６】
具体的に、図１９に示す見積り時間情報１３３において、「情報ＩＤ」に「１」が設定された情報には、「見積り時間」として「５」が設定されている。
【００８７】
図７に戻り、Ｓ１１の処理において組み合わせの全てを特定済でないと判定した場合（Ｓ１５のＮＯ）、条件式生成部１１１は、Ｓ１１以降の処理が行われていない単位時間と仮想マシン３と移動経路の組み合わせについて、Ｓ１１以降の処理を行う。一方、Ｓ１１の処理において組み合わせの全てを特定済であると判定した場合（Ｓ１５のＹＥＳ）、条件式生成部１１１は、Ｓ１６以降の処理を行う。
【００８８】
具体的に、条件式生成部１１１は、Ｓ１１からＳ１４の処理を繰り返し行うことにより、例えば、第１の条件式として以下の式（１）を生成する。
【００８９】
【数１】
2018028735.tif 000003
【００９０】
式（１）において、Ｑが配置情報１４１を示し、Ｅが状態情報１４２を示す。また、式（１）において、ｍが第１の単位時間を示し、ｍ＋１が第２の単位時間を示し、ｖが第１の仮想マシン３を示し、ｐ１が第１の移動経路の始点である物理マシン２を示し、ｐ２が第１の移動経路の終点である物理マシン２を示す。そのため、式（１）の左辺の第１項は、第２の単位時間と第１の仮想マシン３と第１の移動経路の終点である物理マシン２とに対応する配置情報１４１を示し、式（１）の左辺の第２項は、第１の単位時間と第１の仮想マシン３と第１の移動経路の始点である物理マシン２とに対応する配置情報１４１を示す。また、式（１）の右辺は、第２の単位時間と第１の仮想マシン３と第１の移動経路とに対応する状態情報１４２を示している。
【００９１】
図７に戻り、Ｓ１１の処理において組み合わせの全てを特定済であると判定した場合（Ｓ１５のＹＥＳ）、条件式生成部１１１は、図８に示すように、第１の仮想マシン３と第１の移動経路の始点である物理マシン２に対応する配置情報１４１を特定する。そして、条件式生成部１１１は、特定した配置情報１４１のうち、第１の単位時間から第１の仮想マシン３に対応する所要時間情報１３２が示す時間を遡るまでの単位時間それぞれに対応する配置情報１４１を加算する式を生成する（Ｓ１６）。
【００９２】
続いて、条件式生成部１１１は、第１の単位時間と第１の仮想マシン３と第１の移動経路に対応する状態情報１４２と、第１の仮想マシン３に対応する所要時間情報１３２が示す値とを乗算する式を生成する（Ｓ１７）。具体的に、条件式生成部１１１は、情報格納領域１３０に記憶された所要時間情報１３２を参照し、Ｓ１７の処理を行う。以下、所要時間情報１３２の具体例について説明を行う。
【００９３】
[所要時間情報の具体例]
図２０は、所要時間情報１３２の具体例を説明する図である。図２０に示す所要時間情報１３２は、所要時間情報１３２に含まれる各情報を識別する「情報ＩＤ」と、各仮想マシン３を識別する「仮想マシン名」と、各仮想マシン３が物理マシン２間を移動する際に要する時間である「移動所要時間」とを項目として有する。
【００９４】
具体的に、図２０に示す所要時間情報１３２において、「情報ＩＤ」に「１」が設定された情報には、「仮想マシン名」として「仮想マシンＡ」が設定され、「移動所要時間」として「２」が設定されている。図２０に含まれる他の情報については説明を省略する。
【００９５】
図８に戻り、条件式生成部１１１は、Ｓ１６の処理で生成した式が、Ｓ１７の処理で生成した式以上であることを示す式を、第１条件式として生成する（Ｓ１８）。
【００９６】
その後、条件式生成部１１１は、Ｓ１６の処理において、見積り時間情報１３３が示す時間に含まれる単位時間と、物理マシン２間において移動する仮想マシン３と、物理マシン２間における仮想マシン３の移動経路との組み合わせを全て特定したか否かを判定する（Ｓ１９）。そして、Ｓ１６の処理において組み合わせの全てを特定済でないと判定した場合（Ｓ１９のＮＯ）、条件式生成部１１１は、Ｓ１６以降の処理が行われていない単位時間と仮想マシン３と移動経路の組み合わせについて、Ｓ１６以降の処理を行う。一方、Ｓ１６の処理において組み合わせの全てを特定済であると判定した場合（Ｓ１９のＹＥＳ）、条件式生成部１１１は、Ｓ２の処理を終了する。
【００９７】
具体的に、条件式生成部１１１は、Ｓ１６からＳ１８の処理を繰り返し行うことにより、例えば、第１条件式として以下の式（２）を生成する。
【００９８】
【数２】
2018028735.tif 000004
【００９９】
式（２）において、Ｑが配置情報１４１を示し、Ｅが状態情報１４２を示す。また、式（２）において、ｍが第１の単位時間を示し、ｖが第１の仮想マシン３を示し、ｐ１が第１の移動経路の始点である物理マシン２を示し、ｐ２が第１の移動経路の終点である物理マシン２を示し、ｋｖが第１の仮想マシン３に対応する所要時間情報１３２を示す。
【０１００】
すなわち、条件式生成部１１１は、配置情報１４１と状態情報１４２とを関連付ける式を、第１条件式として生成する。
【０１０１】
[Ｓ３の処理の詳細]
次に、図５で説明したＳ３の処理の詳細について説明を行う。図９は、Ｓ３の処理の詳細を説明するフローチャートである。
【０１０２】
条件式生成部１１１は、第１の単位時間と第１の仮想マシン３と第１の仮想マシン３の移動先の物理マシン２を終点とする第１の移動経路とに対応する状態情報１４２を特定する（Ｓ２１）。具体的に、条件式生成部１１１は、情報格納領域１３０に記憶された移動情報１３１を参照し、Ｓ２１の処理を行う。以下、移動情報１３１の具体例について説明を行う。
【０１０３】
[移動情報の具体例]
図２１は、移動情報１３１の具体例を説明する図である。図２１に示す移動情報１３１は、移動情報１３１に含まれる各情報を識別する「情報ＩＤ」と、各仮想マシン３を識別する「仮想マシン名」とを項目として有する。図２１に示す移動情報１３１は、各仮想マシン３の移動元の物理マシン２を識別する「移動元の物理マシン」と、各仮想マシン３の移動先の物理マシン２を識別する「移動先の物理マシン」とを項目として有する。
【０１０４】
具体的に、図２１に示す移動情報１３１において、「情報ＩＤ」に「１」が設定された情報には、「仮想マシン名」として「仮想マシンＡ」が設定され、「移動元の物理マシン」として「物理マシンＡ」が設定され、「移動先の物理マシン」として「物理マシンＢ」が設定されている。図２１に含まれる他の情報については説明を省略する。
【０１０５】
図９に戻り、条件式生成部１１１は、複数の仮想マシン３の移動が開始してから第１の単位時間が経過するまでの時間を特定する（Ｓ２２）。
【０１０６】
そして、条件式生成部１１１は、Ｓ２１の処理で特定した状態情報１４２と、Ｓ２２の処理で特定した時間とを乗算する式を算出する（Ｓ２３）。さらに、条件式生成部１１１は、Ｓ２３の処理で生成した式が、全体所要時間情報１４３以下であることを示す式を、第２条件式として生成する（Ｓ２４）。
【０１０７】
その後、条件式生成部１１１は、Ｓ２１の処理において、見積り時間情報１３３が示す時間に含まれる単位時間と、物理マシン２間において移動する仮想マシン３と、仮想マシン３が移動する物理マシン２との組み合わせを全て特定したか否かを判定する（Ｓ２５）。そして、Ｓ２１の処理において組み合わせの全てを特定済でないと判定した場合（Ｓ２５のＮＯ）、条件式生成部１１１は、Ｓ２１以降の処理が行われていない単位時間と仮想マシン３と移動経路の組み合わせについて、Ｓ２１以降の処理を行う。一方、Ｓ２１の処理において組み合わせの全てを特定済であると判定した場合（Ｓ２５のＹＥＳ）、条件式生成部１１１は、Ｓ３の処理を終了する。
【０１０８】
具体的に、条件式生成部１１１は、Ｓ２１からＳ２４の処理を繰り返し行うことにより、例えば、第２条件式として以下の式（３）を生成する。
【０１０９】
【数３】
2018028735.tif 000005
【０１１０】
式（３）において、Ｅが状態情報１４２を示し、ＳＰが全体所要時間情報１４３を示す。また、式（３）において、ｍが第１の単位時間を示し、ｖが第１の仮想マシン３を示し、ｇ（ｖ）が第１の仮想マシンの移動先の物理マシン２（第１の移動経路の終点である物理マシン２）を示し、ｐが第１の移動経路における始点である物理マシン２を示す。
【０１１１】
すなわち、条件式生成部１１１は、各仮想マシン３の移動のそれぞれが、全体所要時間情報１４３が示す時間（全ての仮想マシン３の移動が完了する時間）よりも前に完了する式を、第２条件式として生成する。
【０１１２】
[Ｓ４の処理の詳細]
次に、図５で説明したＳ４の処理の詳細について説明を行う。図１０は、Ｓ４の処理の詳細を説明するフローチャートである。
【０１１３】
条件式生成部１１１は、第１の仮想マシン３と第１の物理マシン２を終点とする第１の移動経路それぞれとに対応する状態情報１４２を特定する。そして、条件式生成部１１１は、特定した状態情報１４２のうち、第１の単位時間から第１の仮想マシン３に対応する所要時間情報１３２が示す時間が経過するまでの単位時間それぞれに対応する状態情報１４２を、複数の仮想マシン３毎に特定する（Ｓ３１）。
【０１１４】
続いて、条件式生成部１１１は、第１の単位時間と第１の仮想マシン３と第１の物理マシン２に対応する配置情報１４１を、複数の仮想マシン３毎に特定する（Ｓ３２）。そして、条件式生成部１１１は、Ｓ３１の処理で特定した状態情報１４２と、Ｓ３２の処理で特定した配置情報１４１とを加算する式を、複数の仮想マシン３毎に算出する（Ｓ３３）。
【０１１５】
その後、条件式生成部１１１は、Ｓ３３の処理で生成した式と、第１の仮想マシン３の仮想リソース情報１３５が示す値とを乗算する式を、複数の仮想マシン３毎に生成する（Ｓ３４）。そして、条件式生成部１１１は、Ｓ３４の処理で生成した式それぞれを加算した値が、第１の物理マシン２の物理リソース情報１３４が示す値以下であることを示す式を、第３条件式として生成する（Ｓ３５）。具体的に、条件式生成部１１１は、情報格納領域１３０に記憶された物理リソース情報１３４と仮想リソース情報１３５とを参照し、Ｓ３４及びＳ３５の処理を行う。以下、物理リソース情報１３４及び仮想リソース情報１３５の具体例について説明を行う。
【０１１６】
[物理リソース情報及び仮想リソース情報の具体例]
図２２は、物理リソース情報１３４及び仮想リソース情報１３５の具体例を説明する図である。具体的に、図２２（Ａ）は、物理リソース情報１３４の具体例を説明する図である。また、図２２（Ｂ）は、仮想リソース情報１３５の具体例を説明する図である。
【０１１７】
図２２（Ａ）に示す物理リソース情報１３４は、物理リソース情報１３４に含まれる各情報を識別する「情報ＩＤ」と、各物理マシン２を識別する「物理マシン名」と、各物理マシン２の空きリソースの容量を示す「物理リソース」とを項目として有する。
【０１１８】
具体的に、図２２（Ａ）に示す物理リソース情報１３４において、「情報ＩＤ」に「１」が設定された情報には、「物理マシン名」として「物理マシンＡ」が設定され、「物理リソース」として「１６」が設定されている。図２２（Ａ）に含まれる他の情報については説明を省略する。
【０１１９】
また、図２２（Ｂ）に示す仮想リソース情報１３５は、仮想リソース情報１３５に含まれる各情報を識別する「情報ＩＤ」と、各仮想マシン３を識別する「仮想マシン名」と、各仮想マシン３の使用リソースの容量を示す「仮想リソース」とを項目として有する。
【０１２０】
具体的に、図２２（Ｂ）に示す仮想リソース情報１３５において、「情報ＩＤ」に「１」が設定された情報には、「仮想マシン名」として「仮想マシンＡ」が設定され、「仮想リソース」として「２」が設定されている。図２２（Ｂ）に含まれる他の情報については説明を省略する。
【０１２１】
図１０に戻り、条件式生成部１１１は、Ｓ３１の処理において、見積り時間情報１３３が示す時間に含まれる単位時間と物理マシン２との組み合わせを全て特定したか否かを判定する（Ｓ３６）。そして、Ｓ３１の処理において組み合わせの全てを特定済でないと判定した場合（Ｓ３６のＮＯ）、条件式生成部１１１は、Ｓ３１以降の処理が行われていない単位時間と物理マシン２との組み合わせについて、Ｓ３１以降の処理を行う。一方、Ｓ３１の処理において組み合わせの全てを特定済であると判定した場合（Ｓ３６のＹＥＳ）、条件式生成部１１１は、Ｓ４の処理を終了する。
【０１２２】
具体的に、条件式生成部１１１は、Ｓ３１からＳ３５の処理を繰り返し行うことにより、例えば、第３条件式として以下の式（４）を生成する。
【０１２３】
【数４】
2018028735.tif 000006
【０１２４】
式（４）において、Ｑが配置情報１４１を示し、Ｅが状態情報１４２を示す。また、式（４）において、ｍが第１の単位時間を示し、ｖが第１の仮想マシン３を示し、ｐが第１の物理マシン２を示し、ｈが第１物理マシンを終点とする移動経路の始点である物理マシンを示し、ｋｖが第１の仮想マシン３に対応する所要時間情報１３２と示す。さらに、式（４）において、ＣＰＵｐが物理リソース情報１３４を示し、ＣＰＵｖが仮想リソース情報１３５を示す。
【０１２５】
すなわち、条件式生成部１１１は、各仮想マシン３の移動先の物理マシン２において、移動する仮想マシン３が使用するリソースが空いていることを示す式を、第３条件式として生成する。
【０１２６】
なお、条件式生成部１１１は、複数の種類のリソース（例えば、ＣＰＵとメモリ等）のそれぞれについて、上記の式（４）を生成するものであってもよい。
【０１２７】
[Ｓ５の処理の詳細]
次に、図５で説明したＳ５の処理の詳細について説明を行う。図１０は、Ｓ４の処理の詳細を説明するフローチャートである。
【０１２８】
条件式生成部１１１は、第１の仮想マシン３と複数の移動経路に対応する状態情報１４２のうち、第１の単位時間から第１の仮想マシン３に対応する所要時間情報１３２が示す時間が経過するまでの単位時間それぞれに対応する状態情報１４２を、複数の仮想マシン３毎に特定する（Ｓ４１）。
【０１２９】
そして、条件式生成部１１１は、Ｓ４１の処理で特定した状態情報１４２から、各移動経路に対応する状態情報１４２を、複数の移動経路毎に特定する（Ｓ４２）。
【０１３０】
なお、複数の移動経路上に、移動経路の収束を行うことができるルータ装置等のネットワーク機器が存在する場合、条件式生成部１１１は、Ｓ４２の処理において、そのネットワーク機器によって区分けされる複数のネットワークの特定を行う。そして、条件式生成部１１１は、この場合、特定した複数のネットワーク毎に、状態情報１４２の特定を行う。以下、複数の移動経路上にネットワーク機器が存在する場合の具体例について説明を行う。
【０１３１】
[複数の移動経路上にネットワーク機器が存在する場合の具体例]
図２３は、移動経路上にネットワーク機器が存在する場合の具体例を説明する図である。具体的に、図２３は、物理マシン２Ａと物理マシン２Ｂとの間の移動経路上にスイッチ装置５が存在する場合を説明する図である。
【０１３２】
図２３に示す例において、物理マシン２Ａ及び物理マシン２Ｂは、それぞれポートＡ及びポートＢを有する。また、図２３に示す例において、スイッチ装置５は、ポートＣ及びポートＤを有する。
【０１３３】
図２３に示すように、物理マシン２Ａと物理マシン２Ｂとの間の移動経路上にスイッチ装置５が存在する場合、物理マシン２Ａと物理マシン２Ｂとの間には、物理マシン２ＡのポートＡからスイッチ装置５に向けたネットワーク（以下、単にネットワークＡとも呼ぶ）と、スイッチ装置５のポートＣから物理マシン２Ｂに向けたネットワーク（以下、単にネットワークＣとも呼ぶ）とが含まれる。また、この場合、物理マシン２Ａと物理マシン２Ｂとの間には、物理マシン２ＢのポートＢからスイッチ装置５に向けたネットワーク（以下、単にネットワークＢとも呼ぶ）と、スイッチ装置５のポートＤから物理マシン２Ａに向けたネットワーク（以下、単にネットワークＤとも呼ぶ）とが含まれる。以下、物理マシン２Ａと物理マシン２Ｂとの間の移動経路上にスイッチ装置５が存在する場合のネットワーク情報１３６の具体例について説明を行う。
【０１３４】
[ネットワーク情報の具体例]
図２４は、ネットワーク情報１３６の具体例を説明する図である。ネットワーク情報１３６は、各移動経路と各ネットワークとを対応させた情報である。
【０１３５】
図２４に示すネットワーク情報１３６における縦の欄は、各移動経路を識別する「物理マシンＡ→物理マシンＢ」及び「物理マシンＢ→物理マシンＡ」にそれぞれ対応している。また、図２４に示すネットワーク情報１３６における横の欄は、各ネットワークを識別する「ネットワークＡ」、「ネットワークＢ」、「ネットワークＣ」及び「ネットワークＤ」にそれぞれ対応している。
【０１３６】
具体的に、図２４に示すネットワーク情報１３６において、「物理マシンＡ→物理マシンＢ」及び「ネットワークＡ」に対応する欄と、「物理マシンＡ→物理マシンＢ」及び「ネットワークＣ」に対応する欄には、情報が存在することを示す「○」が設定されている。一方、図２４に示すネットワーク情報１３６において、「物理マシンＡ→物理マシンＢ」及び「ネットワークＢ」に対応する欄と、「物理マシンＡ→物理マシンＢ」及び「ネットワークＤ」に対応する欄には、情報が存在しないことを示す「−」が設定されている。
【０１３７】
すなわち、図２４に示すネットワーク情報１３６は、物理マシンＡから物理マシンＢに向けた移動経路に、物理マシン２ＡのポートＡからスイッチ装置５に向けたネットワークＡと、スイッチ装置５のポートＣから物理マシン２Ｂに向けたネットワークＣとが含まれることを示している。図２４に含まれる他の情報については説明を省略する。
【０１３８】
そのため、条件式生成部１１１は、この場合、Ｓ４２の処理において、ネットワークＡ、ネットワークＢ、ネットワークＣ及びネットワークＤのそれぞれについて、状態情報１４２の特定を行う。
【０１３９】
図１１に戻り、条件式生成部１１１は、Ｓ４２の処理で特定した状態情報１４２を複数の移動経路毎に加算する式それぞれが、各移動経路に対応する移動可能数情報１３７が示す値以下であることを示す式を、第４条件式として生成する（Ｓ４３）。なお、複数の移動経路上にネットワーク機器が存在する場合、条件式生成部１１１は、Ｓ４２の処理で特定した状態情報１４２を複数のネットワーク毎に加算する式それぞれが、各ネットワークに対応する移動可能数情報１３７が示す値以下であることを示す式を、第４条件式として生成する。具体的に、条件式生成部１１１は、情報格納領域１３０に記憶された移動可能数情報１３７を参照し、Ｓ４３の処理を行う。以下、移動可能数情報１３７の具体例について説明を行う。
【０１４０】
[移動可能数情報の具体例]
図２５は、移動可能数情報１３７の具体例を説明する図である。図２５に示す移動可能数情報１３７は、移動可能数情報１３７に含まれる各情報を識別する「情報ＩＤ」と、各ネットワークを識別する「ネットワーク名」と、各ネットワークを並行して移動可能な仮想マシン３の数である「移動可能数」とを項目として有する。
【０１４１】
具体的に、図２５に示す移動可能数情報１３７において、「情報ＩＤ」に「１」が設定された情報には、「ネットワーク名」として「ネットワークＡ」が設定され、「移動可能数」として「２」が設定されている。図２５に含まれる他の情報については説明を省略する。
【０１４２】
図１１に戻り、条件式生成部１１１は、Ｓ４１の処理において見積り時間情報１３３が示す時間に含まれる単位時間を全て特定したか否かを判定する（Ｓ４４）。そして、Ｓ４１の処理において単位時間の全てを特定済でないと判定した場合（Ｓ４４のＮＯ）、条件式生成部１１１は、Ｓ４１以降の処理が行われていない単位時間について、Ｓ４１以降の処理を行う。一方、Ｓ４１の処理において単位時間の全てを特定済であると判定した場合（Ｓ４４のＹＥＳ）、条件式生成部１１１は、Ｓ５の処理を終了する。
【０１４３】
具体的に、条件式生成部１１１は、Ｓ４１からＳ４３の処理を繰り返し行うことにより、例えば、第４条件式として以下の式（５）を生成する。
【０１４４】
【数５】
2018028735.tif 000007
【０１４５】
式（５）において、Ｅが状態情報１４２を示し、ｌが各ネットワークを示し、ｍｉｇｌが各ネットワークの移動可能数情報１３７を示す。また、式（５）において、ｍが第１の単位時間を示し、ｖが第１の仮想マシン３を示し、ｐ１が各移動経路の始点である物理マシン２を示し、ｐ２が各移動経路の終点である物理マシン２を示し、ｋｖが第１の仮想マシン３に対応する所要時間情報１３２と示す。
【０１４６】
すなわち、条件式生成部１１１は、並行して移動する仮想マシン３の数が移動可能数を上回る移動経路（ネットワーク）が存在しないことを示す式を、第４条件式として生成する。
【０１４７】
[Ｓ６の処理の詳細]
次に、図５で説明したＳ６の処理の詳細について説明を行う。図１２は、Ｓ６の処理の詳細を説明するフローチャートである。
【０１４８】
条件式生成部１１１は、第１の単位時間と第１の仮想マシン３と第１の物理マシンとに対応する配置情報１４１を、複数の物理マシン２毎に特定する（Ｓ５１）。そして、条件式生成部１１１は、Ｓ５１の処理で特定した配置情報１４１を加算する式が第１の値と等しいことを示す式を、第５条件式として生成する（Ｓ５２）。
【０１４９】
その後、条件式生成部１１１は、Ｓ５１の処理において見積り時間情報１３３が示す時間に含まれる単位時間と仮想マシン３との組み合わせを全て特定したか否かを判定する（Ｓ５３）。そして、Ｓ５１の処理において組み合わせの全てを特定済でないと判定した場合（Ｓ５３のＮＯ）、条件式生成部１１１は、Ｓ５１以降の処理が行われていない単位時間と仮想マシン３との組み合わせについて、Ｓ５１以降の処理を行う。一方、Ｓ５１の処理において組み合わせの全てを特定済であると判定した場合（Ｓ５３のＹＥＳ）、条件式生成部１１１は、Ｓ６の処理を終了する。
【０１５０】
具体的に、条件式生成部１１１は、Ｓ５１からＳ５２の処理を繰り返し行うことにより、例えば、第５条件式として以下の式（６）を生成する。
【０１５１】
【数６】
2018028735.tif 000008
【０１５２】
式（６）において、Ｑが配置情報１４１を示し、ｍが第１の単位時間を示し、ｖが第１の仮想マシン３を示し、ｐが各物理マシン２を示す。
【０１５３】
すなわち、条件式生成部１１１は、各単位時間において、各仮想マシン３が複数の物理マシン２のいずれかに配置していることを示す式を、第５条件式として生成する。
【０１５４】
[Ｓ７の処理の詳細]
次に、図５で説明したＳ７の処理の詳細について説明を行う。図１３は、Ｓ７の処理の詳細を説明するフローチャートである。
【０１５５】
条件式生成部１１１は、第１の仮想マシン３と第１の仮想マシン３の移動元の物理マシン２に対応する配置情報１４１を、第１の仮想マシン３の移動が開始してから第１の仮想マシン３に対応する所要時間情報１３２が示す時間が経過するまでの単位時間毎に特定する（Ｓ６１）。そして、条件式生成部１１１は、Ｓ６１の処理で特定した配置情報１４１を加算する式が、第１の仮想マシン３に対応する所要時間情報１３２が示す値と等しいことを示す式を、第６条件式として生成する（Ｓ６２）。
【０１５６】
さらに、条件式生成部１１１は、見積り時間情報１３３が示す時間と第１の仮想マシン３と第１の仮想マシン３の移動先の物理マシン２に対応する配置情報１４１が、第１の値と等しいことを示す式を、第６条件式として生成する（Ｓ６３）。
【０１５７】
その後、条件式生成部１１１は、Ｓ６１の処理において仮想マシン３を全て特定したか否かを判定する（Ｓ６４）。そして、Ｓ６１の処理において仮想マシン３の全てを特定済でないと判定した場合（Ｓ６４のＮＯ）、条件式生成部１１１は、Ｓ６１以降の処理が行われていない仮想マシン３について、Ｓ６１以降の処理を行う。一方、Ｓ６１の処理において仮想マシン３の全てを特定済であると判定した場合（Ｓ６４のＹＥＳ）、条件式生成部１１１は、Ｓ７の処理を終了する。
【０１５８】
具体的に、条件式生成部１１１は、Ｓ６１からＳ６２の処理を繰り返し行うことにより、例えば、第６条件式として以下の式（７）を生成する。
【０１５９】
【数７】
2018028735.tif 000009
【０１６０】
式（７）において、Ｑが配置情報１４１を示し、ｖが第１の仮想マシン３を示し、ｐｉが第１の仮想マシン３の移動元の物理マシン２を示し、ｋｖが第１の仮想マシン３に対応する所要時間情報１３２を示す。
【０１６１】
すなわち、条件式生成部１１１は、各仮想マシン３が、移動元の物理マシン２から移動する場合、その移動が完了するまで移動元の物理マシン２に配置されていることを示す式を、第６条件式として生成する。
【０１６２】
また、条件式生成部１１１は、Ｓ６３の処理を繰り返し行うことにより、例えば、第６条件式として以下の式（８）を生成する。
【０１６３】
【数８】
2018028735.tif 000010
【０１６４】
式（８）において、Ｑが配置情報１４１を示し、ｖが第１の仮想マシン３を示し、ｐｆが第１の仮想マシン３の移動先の物理マシン２を示し、ｍｆが見積り時間情報１３３を示す。
【０１６５】
すなわち、条件式生成部１１１は、見積り時間情報１３３が示す時間において、各仮想マシン３が移動先の物理マシン２に配置されていることを示す式を、第６条件式として生成する。
【０１６６】
その後、条件式生成部１１１は、例えば、Ｓ２からＳ７の処理において生成した式を、生成済式情報１３８の一部（以下、制約条件式情報１３８ａとも呼ぶ）として情報格納領域１３０に記憶する。以下、制約条件式情報１３８ａの具体例について説明を行う。
【０１６７】
[制約条件式情報の具体例]
図２６は、制約条件式情報１３８ａの具体例を説明する図である。図２６に示す制約条件式情報１３８ａは、制約条件式情報１３８ａに含まれる各式を識別する「情報ＩＤ」と、各式が設定される「式」とを項目として有している。
【０１６８】
具体的に、図２６に示す制約条件式情報１３８ａにおいて、「情報ＩＤ」が「１」である情報には、「式」として「Q11,2 + Q01,1  - 1 ≦ E11,1,2, Q21,2 + Q11,1  - 1 ≦ E21,1,2 , ...」が設定されている。図２６に含まれる他の情報については説明を省略する。
【０１６９】
[Ｓ８の処理の詳細]
次に、図５で説明したＳ８の処理の詳細について説明を行う。図１４は、Ｓ８の処理の詳細を説明するフローチャートである。
【０１７０】
条件式生成部１１１は、見積り時間情報１３３が示す時間に含まれる単位時間毎、複数の仮想マシン３毎及び複数の移動経路毎の状態情報１４２のそれぞれを特定する（Ｓ７１）。そして、条件式生成部１１１は、Ｓ７１の処理で特定した状態情報１４２のそれぞれと、全体所要時間情報１４３とを加算する式を生成する（Ｓ７２）。
【０１７１】
具体的に、条件式生成部１１１は、Ｓ７２の処理を行うことにより、例えば、以下の式（９）を生成する。
【０１７２】
【数９】
2018028735.tif 000011
【０１７３】
式（９）において、Ｅが状態情報１４２を示し、ｍが各単位時間を示し、ｖが各仮想マシン３を示し、ｐ１が各移動経路の始点である物理マシン２を示し、ｐ２が各移動経路の終点である物理マシン２を示し、δが係数（例えば、十分小さい係数）を示している。
【０１７４】
すなわち、上記の式（１）は、右辺の状態情報１４２が０であっても１であっても成立する式である。そのため、式（１）から式（８）から全体所要時間情報１４３が最小になる条件の算出を行う場合、条件算出部１１２は、必ずしも行う必要がない仮想マシン３の移動が行われる条件を算出する可能性がある。
【０１７５】
そこで、条件式生成部１１１は、Ｓ７２の処理において、全体所要時間情報１４３に、Ｓ７１の処理で特定した状態情報１４２のそれぞれを加算する式を生成する。そして、条件算出部１１２は、後述するように、Ｓ７２の処理で生成した式を最小にする条件の算出を行う。
【０１７６】
これにより、条件算出部１１２は、全体所要時間情報１４３だけでなく、Ｓ７１の処理で特定した状態情報１４２の総和（すなわち、仮想マシン３の総移動回数）を最小にする条件の算出を行うことが可能になる。そのため、条件算出部１１２は、行う必要がない仮想マシン３の移動が行われない条件の算出を行うことが可能になる。
【０１７７】
なお、式（９）における第２項には、係数であるδが乗算されている。これにより、条件算出部１１２は、全体所要時間情報１４３と、Ｓ７１の処理で特定した状態情報１４２の総和との両方が最小になる場合の条件の算出を行うことが可能になる。
【０１７８】
そして、条件算出部１１２は、Ｓ７２の処理において生成した式を、生成済式情報１３８の一部（以下、目的関数式情報１３８ｂとも呼ぶ）として情報格納領域１３０に記憶する。以下、目的関数式情報１３８ｂの具体例について説明を行う。
【０１７９】
[目的関数式情報の具体例]
図２７は、目的関数式情報１３８ｂの具体例を説明する図である。図２７に示す目的関数式情報１３８ｂは、目的関数式情報１３８ｂに含まれる各式を識別する「情報ＩＤ」と、各式が設定される「式」とを項目として有している。
【０１８０】
具体的に、図２７に示す目的関数式情報１３８ｂにおいて、「情報ＩＤ」が「１」である情報には、「式」として「minimize SP + 0.00001(E01,1,2  + E01,1,2, ...)」が設定されている。
【０１８１】
図１４に戻り、条件算出部１１２は、Ｓ１４及びＳ１８の処理で生成した第１条件式と、Ｓ２４の処理で生成した第２条件式と、Ｓ３５の処理で生成した第３条件式と、Ｓ４３の処理で生成した第４条件式と、Ｓ５２の処理で生成した第５条件式と、Ｓ６２及びＳ６３の処理で生成した第６条件式を取得する。具体的に、条件算出部１１２は、例えば、情報格納領域１３０に記憶された制約条件式情報１３８ａを参照することにより、各式の取得を行う。また、条件算出部１１２は、情報格納領域１３０に記憶された目的関数式情報１３８ｂを参照することにより、Ｓ７２の処理で生成した式を取得する。そして、条件算出部１１２は、取得した第１条件式、第２条件式、第３条件式、第４条件式、第５条件式及び第６条件式から、Ｓ７２の処理で生成した式が最小になる場合の配置情報１４１、状態情報１４２及び全体所要時間情報１４３それぞれの値を算出する（Ｓ７３）。
【０１８２】
そして、条件算出部１１２は、例えば、Ｓ７３の処理によって算出された結果（以下、結果情報とも呼ぶ）を、情報格納領域１３０に記憶する。以下、結果情報の具体例について説明を行う。
【０１８３】
[結果情報の具体例]
図２８は、結果情報の具体例を説明する図である。図２８に示す結果情報は、結果情報に含まれる各式を識別する「情報ＩＤ」と、各変数を示す「変数」と、各変数に対応する値の算出結果である「算出結果」とを項目として有している。
【０１８４】
具体的に、図２８に示す結果情報において、「情報ＩＤ」が「１−１」である情報の「変数」には「ＳＰ」が設定され、「算出結果」には「７」が設定されている。また、図２８に示す結果情報において、「情報ＩＤ」が「２−１」である情報の「変数」には「Ｑ１１，１」が設定され、「算出結果」には「１」が設定されている。さらに、図２８に示す結果情報において、「情報ＩＤ」が「３−１」である情報の「変数」には「Ｅ１１，１，２」が設定され、「算出結果」には「０」が設定されている。図２８に含まれる他の情報については説明を省略する。
【０１８５】
これにより、移動指示部１１３は、情報格納領域１３０等に記憶された結果情報を参照することで、各仮想マシン３の移動順序及び移動開始時間を特定することが可能になる。そのため、情報処理装置１は、仮想マシン３の最適配置に従った仮想マシン３の再配置を、可能な限り短い時間で行うことが可能になる。
【０１８６】
以上の実施の形態をまとめると、以下の付記の通りである。
【０１８７】
（付記１）
情報処理システムを構成する複数の物理マシン間において移動する複数の仮想マシンそれぞれの移動に要する時間を示す所要時間情報と、前記複数の仮想マシン全ての移動に要する見積り時間を示す見積り時間情報と、前記複数の仮想マシンそれぞれが配置される物理マシンを示す第１変数と、前記複数の仮想マシンそれぞれの移動状態を示す第２変数とから、前記第１変数と、前記第２変数との関係を示す第１条件式を生成し、
前記見積り時間情報と、前記第２変数と、前記複数の仮想マシン全ての移動に要する時間を示す第３変数とから、前記第２変数と、前記第３変数との関係を示す第２条件式を生成し、
前記複数の仮想マシンそれぞれの移動元及び移動先の物理マシンを示す移動情報と、前記見積り時間情報と、前記複数の物理マシンそれぞれのリソース情報と、前記複数の仮想マシンそれぞれのリソース情報と、前記第１変数と、前記第２変数とから、前記移動先の物理マシンに移動する仮想マシンのリソース情報の条件を示す第３条件式を生成し、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記複数の物理マシン間における複数の移動経路それぞれを並行して移動可能な仮想マシンの数を示す移動可能数情報と、前記第２変数とから、前記複数の仮想マシンそれぞれが移動する際の移動経路に対応する前記移動可能数情報の条件を示す第４条件式を生成し、
前記移動情報と、前記見積り時間情報と、前記第１変数とから、前記複数の仮想マシンそれぞれが前記複数の物理マシンのいずれかに配置されることを示す第５条件式を生成し、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記第１変数とから、前記複数の仮想マシンそれぞれが、前記移動元の物理マシンからの移動開始後であって前記移動元の物理マシンからの移動が完了するまでの間、前記移動元の物理マシンに配置されていることと、前記複数の仮想マシンそれぞれが、前記見積り時間情報が示す時間において前記移動先の物理マシンに配置されていることとを示す第６条件式を生成し、
前記第１条件式と、前記第２条件式と、前記第３条件式と、前記第４条件式と、前記第５条件式と、前記第６条件式とから、前記第３変数が最小になる場合の前記第１変数、前記第２変数及び前記第３変数の値を算出する、
処理をコンピュータに実行させることを特徴とする移動制御プログラム。
【０１８８】
（付記２）
付記１において、
前記第１変数は、
前記見積り時間情報が示す時間に含まれる前記単位時間毎であり、前記複数の仮想マシン毎であり、前記複数の物理マシン毎の変数であり、
特定の単位時間において特定の仮想マシンが特定の物理マシンに配置されている場合、前記特定の単位時間と前記特定の仮想マシンと前記特定の物理マシンとに対応する情報に第１の値が設定され、前記特定の単位時間において前記特定の仮想マシンが前記特定の物理マシンに配置されていない場合、前記特定の単位時間と前記特定の仮想マシンと前記特定の物理マシンとに対応する情報に第２の値が設定される変数であり、
前記第２変数は、
前記見積り時間情報が示す時間に含まれる前記単位時間毎であり、前記複数の仮想マシン毎であり、前記複数の移動経路毎の変数であり、
前記特定の単位時間において前記特定の仮想マシンの移動が完了した場合、前記特定の単位時間と前記特定の仮想マシンと完了した前記移動の移動経路とに対応する情報に前記第１の値が設定され、前記特定の単位時間において前記特定の仮想マシンの移動を完了していない場合、前記特定の単位時間と前記特定の仮想マシンと完了していない前記移動の移動経路とに対応する情報に前記第２の値が設定される変数である、
ことを特徴とする移動制御プログラム。
【０１８９】
（付記３）
付記２において、
前記第１条件式の生成する処理では、
第１の単位時間と第１の仮想マシンと第１の移動経路の始点である物理マシンとに対応する前記第１変数に、前記第１の単位時間の次の第２の単位時間と前記第１の仮想マシンと前記第１の移動経路の終点である物理マシンとに対応する前記第１変数とを加算し、前記第１の値を減算する式が、前記第２の単位時間と前記第１の仮想マシンと前記第１の移動経路にと対応する前記第２変数以下であることを示す式を、前記第１条件式として生成し、
前記第１の仮想マシンと前記第１の移動経路の始点である物理マシンとに対応する前記第１変数のうち、前記第１の単位時間から前記第１の仮想マシンに対応する前記所要時間情報が示す時間を遡るまでの単位時間それぞれに対応する前記第１変数を加算する式が、前記第１の単位時間と前記第１の仮想マシンと前記第１の移動経路とに対応する前記第２変数と前記第１の仮想マシンに対応する前記所要時間情報が示す値とを乗算する式以上であることを示す式を、前記第１条件式として生成する、
ことを特徴とする移動制御プログラム。
【０１９０】
（付記４）
付記２において、
前記第２条件式の生成する処理では、第１の単位時間と第１の仮想マシンと該第１の仮想マシンの前記移動先の物理マシンを終点とする第１の移動経路とに対応する前記第２変数と、前記複数の仮想マシンの移動が開始してから前記第１の単位時間が経過するまでの時間とを乗算する式が、前記第３変数以下であることを示す式を、前記第２条件式として生成する、
ことを特徴とする移動制御プログラム。
【０１９１】
（付記５）
付記２において、
前記第３条件式の生成する処理では、
第１の仮想マシンと第１の物理マシンを終点とする第１の移動経路とに対応する前記第２変数のうち、前記第１の単位時間から前記第１の仮想マシンに対応する前記所要時間情報が示す時間が経過するまでの単位時間それぞれに対応する前記第２変数と、前記第１の単位時間と前記第１の仮想マシンと前記第１の物理マシンとに対応する前記第１変数とを加算する式と、前記第１の仮想マシンの前記リソース情報が示す値とを乗算する式を、前記複数の仮想マシン毎に生成し、
生成した式それぞれを加算する式が、前記第１の物理マシンのリソース情報が示す値以下であることを示す式を、前記第３条件式として生成する、
ことを特徴とする移動制御プログラム。
【０１９２】
（付記６）
付記２において、
前記第４条件式の生成する処理では、
第１の仮想マシンと前記複数の移動経路のいずれかとに対応する前記第２変数のうち、第１の単位時間から前記第１の仮想マシンに対応する前記所要時間情報が示す時間が経過するまでの単位時間それぞれに対応する前記第２変数を、前記複数の仮想マシン毎に特定し、
特定した前記第２変数から、各移動経路に対応する前記第２変数を、前記複数の移動経路毎に特定し、
特定した前記第２変数を前記複数の移動経路毎に加算する式それぞれが、各移動経路に対応する前記移動可能数情報が示す値以下であることを示す式を、前記第４条件式として生成する、
ことを特徴とする移動制御プログラム。
【０１９３】
（付記７）
付記６において、
前記複数の移動経路毎に第２変数を特定する処理では、前記複数の移動経路のいずれかにネットワーク機器が配置されている場合、前記ネットワーク機器によって区分けされる複数のネットワーク毎に前記第２変数の特定を行い、
前記第４条件式を生成する処理では、前記第２変数を前記複数のネットワーク毎に加算する式それぞれが、各ネットワークに対応する前記移動可能数情報が示す値以下であることを示す式を生成する、
ことを特徴とする移動制御プログラム。
【０１９４】
（付記８）
付記２において、
前記第５条件式の生成する処理では、第１の単位時間と第１の仮想マシンと第１の物理マシンとに対応する前記第１変数を、前記複数の物理マシン毎に特定し、
特定した前記第１変数を加算する式が前記第１の値と等しいことを示す式を、前記第５条件式として生成する、
ことを特徴とする移動制御プログラム。
【０１９５】
（付記９）
付記２において、
前記第６条件式の生成する処理では、
第１の仮想マシンと該第１の仮想マシンの前記移動元の物理マシンとに対応する前記第１変数を、前記第１の仮想マシンの移動が開始してから前記第１の仮想マシンに対応する前記所要時間情報が示す時間が経過するまでの前記単位時間毎に特定し、
特定した前記第１変数を加算する式が、前記第１の仮想マシンに対応する前記所要時間情報が示す値であることを示す式を、前記第６条件式として生成し、
第１の単位時間と前記第１の仮想マシンと該第１の仮想マシンの前記移動先の物理マシンとに対応する前記第１変数が、前記第１の値と等しいことを示す式を、前記第６条件式として生成する、
ことを特徴とする移動制御プログラム。
【０１９６】
（付記１０）
付記２において、
前記第３変数が最小になる場合の値を算出する処理では、前記見積り時間情報が示す時間に含まれる前記単位時間毎、前記複数の仮想マシン毎及び前記複数の移動経路毎の前記第２変数それぞれと、前記第３変数とを加算する式が最小になる場合の前記第１変数、前記第２変数及び前記第３変数の値の算出を行う、
ことを特徴とする移動制御プログラム。
【０１９７】
（付記１１）
付記１において、
前記第３変数が最小になる場合の値を算出する処理では、前記第１条件式と、前記第２条件式と、前記第３条件式と、前記第４条件式と、前記第５条件式と、前記第６条件式とを入力として、前記第３変数を最小にする条件を算出するプログラムをコンピュータに動作させることにより、前記第３変数が最小になる場合の前記第１変数、前記第２変数及び前記第３変数の値の算出を行う、
ことを特徴とする移動制御プログラム。
【０１９８】
（付記１２）
情報処理システムを構成する複数の物理マシン間において移動する複数の仮想マシンそれぞれの移動に要する時間を示す所要時間情報と、前記複数の仮想マシン全ての移動に要する見積り時間を示す見積り時間情報と、前記複数の仮想マシンそれぞれが配置される物理マシンを示す第１変数と、前記複数の仮想マシンそれぞれの移動状態を示す第２変数とから、前記第１変数と、前記第２変数との関係を示す第１条件式を生成する条件式生成部と、
前記見積り時間情報と、前記第２変数と、前記複数の仮想マシン全ての移動に要する時間を示す第３変数とから、前記第２変数と、前記第３変数との関係を示す第２条件式を生成する条件式生成部と、
前記複数の仮想マシンそれぞれの移動元及び移動先の物理マシンを示す移動情報と、前記見積り時間情報と、前記複数の物理マシンそれぞれのリソース情報と、前記複数の仮想マシンそれぞれのリソース情報と、前記第１変数と、前記第２変数とから、前記移動先の物理マシンに移動する仮想マシンのリソース情報の条件を示す第３条件式を生成する条件式生成部と、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記複数の物理マシン間における複数の移動経路それぞれを並行して移動可能な仮想マシンの数を示す移動可能数情報と、前記第２変数とから、前記複数の仮想マシンそれぞれが移動する際の移動経路に対応する前記移動可能数情報の条件を示す第４条件式を生成する条件式生成部と、
前記移動情報と、前記見積り時間情報と、前記第１変数とから、前記複数の仮想マシンそれぞれが前記複数の物理マシンのいずれかに配置されることを示す第５条件式を生成する条件式生成部と、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記第１変数とから、前記複数の仮想マシンそれぞれが、前記移動元の物理マシンからの移動開始後であって前記移動元の物理マシンからの移動が完了するまでの間、前記移動元の物理マシンに配置されていることと、前記複数の仮想マシンそれぞれが、前記見積り時間情報が示す時間において前記移動先の物理マシンに配置されていることとを示す第６条件式を生成する条件式生成部と、
前記第１条件式と、前記第２条件式と、前記第３条件式と、前記第４条件式と、前記第５条件式と、前記第６条件式とから、前記第３変数が最小になる場合の前記第１変数、前記第２変数及び前記第３変数の値を算出する条件算出部と、を有する、
ことを特徴とする移動制御装置。
【０１９９】
（付記１３）
情報処理システムを構成する複数の物理マシン間において移動する複数の仮想マシンそれぞれの移動に要する時間を示す所要時間情報と、前記複数の仮想マシン全ての移動に要する見積り時間を示す見積り時間情報と、前記複数の仮想マシンそれぞれが配置される物理マシンを示す第１変数と、前記複数の仮想マシンそれぞれの移動状態を示す第２変数とから、前記第１変数と、前記第２変数との関係を示す第１条件式を生成し、
前記見積り時間情報と、前記第２変数と、前記複数の仮想マシン全ての移動に要する時間を示す第３変数とから、前記第２変数と、前記第３変数との関係を示す第２条件式を生成し、
前記複数の仮想マシンそれぞれの移動元及び移動先の物理マシンを示す移動情報と、前記見積り時間情報と、前記複数の物理マシンそれぞれのリソース情報と、前記複数の仮想マシンそれぞれのリソース情報と、前記第１変数と、前記第２変数とから、前記移動先の物理マシンに移動する仮想マシンのリソース情報の条件を示す第３条件式を生成し、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記複数の物理マシン間における複数の移動経路それぞれを並行して移動可能な仮想マシンの数を示す移動可能数情報と、前記第２変数とから、前記複数の仮想マシンそれぞれが移動する際の移動経路に対応する前記移動可能数情報の条件を示す第４条件式を生成し、
前記移動情報と、前記見積り時間情報と、前記第１変数とから、前記複数の仮想マシンそれぞれが前記複数の物理マシンのいずれかに配置されることを示す第５条件式を生成し、
前記移動情報と、前記所要時間情報と、前記見積り時間情報と、前記第１変数とから、前記複数の仮想マシンそれぞれが、前記移動元の物理マシンからの移動開始後であって前記移動元の物理マシンからの移動が完了するまでの間、前記移動元の物理マシンに配置されていることと、前記複数の仮想マシンそれぞれが、前記見積り時間情報が示す時間において前記移動先の物理マシンに配置されていることとを示す第６条件式を生成し、
前記第１条件式と、前記第２条件式と、前記第３条件式と、前記第４条件式と、前記第５条件式と、前記第６条件式とから、前記第３変数が最小になる場合の前記第１変数、前記第２変数及び前記第３変数の値を算出する、
ことを特徴とする移動制御方法。
【符号の説明】
【０２００】
１：情報処理装置            ２：物理マシン
３：仮想マシン              ４：仮想化ソフトウエア
１１：利用者端末
【図１】
2018028735.tif 000012
【図２】
2018028735.tif 000013
【図３】
2018028735.tif 000014
【図４】
2018028735.tif 000015
【図５】
2018028735.tif 000016
【図６】
2018028735.tif 000017
【図７】
2018028735.tif 000018
【図８】
2018028735.tif 000019
【図９】
2018028735.tif 000020
【図１０】
2018028735.tif 000021
【図１１】
2018028735.tif 000022
【図１２】
2018028735.tif 000023
【図１３】
2018028735.tif 000024
【図１４】
2018028735.tif 000025
【図１５】
2018028735.tif 000026
【図１６】
2018028735.tif 000027
【図１７】
2018028735.tif 000028
【図１８】
2018028735.tif 000029
【図１９】
2018028735.tif 000030
【図２０】
2018028735.tif 000031
【図２１】
2018028735.tif 000032
【図２２】
2018028735.tif 000033
【図２３】
2018028735.tif 000034
【図２４】
2018028735.tif 000035
【図２５】
2018028735.tif 000036
【図２６】
2018028735.tif 000037
【図２７】
2018028735.tif 000038
【図２８】
2018028735.tif 000039