(57)【特許請求の範囲】
【請求項１】
移動元の第１の物理マシン上で稼働する移動対象の仮想マシンを、中継地の第２の物理マシンで中継して、移動先の第３の物理マシンへ、移動する場合に、前記第１の物理マシンにおける移動対象の仮想マシンの資源割当量の情報を含む資源割当情報を取得すると共に、第１の物理マシン、前記第２の物理マシンおよび前記第３の物理マシンの各々の位置情報と、移動対象の仮想マシンが移動される物理マシンの移動順序情報とを取得する取得部と、
前記取得部で取得した位置情報に基づいて、前記第２の物理マシンおよび前記第３の物理マシンの各々に、移動対象の仮想マシンの資源割当情報により示される資源割当量を確保することを示す要求情報を送信する要求部と、
前記第２の物理マシン及び前記第３の物理マシンの各々から、前記要求部で送信した要求情報の応答を受け取り、前記第２の物理マシンおよび前記第３の物理マシンの各々から、前記資源割当情報により示される資源割当量を確保したことを示す応答を受け取った場合、前記取得部で取得した位置情報、移動順序情報および受け取った応答に基づいて、移動対象の仮想マシンを、前記移動順序情報に従って移動する指示を行い、前記第２の物理マシン及び前記第３の物理マシンの少なくとも一方から、前記資源割当量を確保したことを示す応答を受け取れなかった場合、前記応答を受け取れなかった第２の物理マシン及び前記第３の物理マシンの少なくとも一方と相違する物理マシンの位置情報および前記移動順序情報を、再取得する指示を行う指示部と、
を備えた仮想マシン管理装置。
【請求項２】
前記取得部は、前記第１の物理マシン上で稼働する複数の移動対象の仮想マシンの各々の資源割当情報を取得し、
前記要求部は、前記取得部で取得した資源割当情報のうち、確保する資源割当量が所定量以上を示す資源割当情報により示される資源割当量を確保することを示す要求情報を送信する
請求項１に記載の仮想マシン管理装置。
【請求項３】
複数の物理マシンの各々に、予め定めた資源割当量を確保する処理を実行する確保部をさらに備え、
前記要求部は、前記確保部で確保した資源割当量を用いて、移動対象の仮想マシンの資源割当情報により示される資源割当量を確保することを示す要求情報を送信する
請求項１または請求項２に記載の仮想マシン管理装置。
【請求項４】
前記移動対象の仮想マシンが移動されたことを示す情報を受け取った場合に、前記第２の物理マシンおよび前記第３の物理マシンの各々に対して、前記確保した資源割当量の資源のうち、未使用の資源の割り当てを解放する処理を実行する解放部
を含む請求項１〜請求項３の何れか１項に記載の仮想マシン管理装置。
【請求項５】
移動対象の仮想マシンが稼働する移動元の第１の物理マシンと、前記移動対象の仮想マシンの移動を中継する中継地の第２の物理マシンと、前記移動対象の仮想マシンの移動先の第３の物理マシンと、を含む仮想マシンシステムにおいて、
前記移動対象の仮想マシンを、移動元の第１の物理マシンから中継地の第２の物理マシンで中継して移動先の第３の物理マシンへ移動する制御を実行するコンピュータに、
前記コンピュータが、
前記第１の物理マシンにおける移動対象の仮想マシンの資源割当量の情報を含む資源割当情報を取得すると共に、第１の物理マシン、前記第２の物理マシンおよび前記第３の物理マシンの各々の位置情報と、移動対象の仮想マシンが移動される物理マシンの移動順序情報とを取得し、
取得した位置情報に基づいて、前記第２の物理マシンおよび前記第３の物理マシンの各々に、移動対象の仮想マシンの資源割当情報により示される資源割当量を確保することを示す要求情報を送信し
前記第２の物理マシン及び前記第３の物理マシンの各々から、送信した要求情報の応答を受け取り、前記第２の物理マシンおよび前記第３の物理マシンの各々から、前記資源割当情報により示される資源割当量を確保したことを示す応答を受け取った場合、取得した位置情報、移動順序情報および受け取った応答に基づいて、移動対象の仮想マシンを、前記移動順序情報に従って移動する指示を行い、前記第２の物理マシン及び前記第３の物理マシンの少なくとも一方から、前記資源割当量を確保したことを示す応答を受け取れなかった場合、前記応答を受け取れなかった第２の物理マシン及び前記第３の物理マシンの少なくとも一方と相違する物理マシンの位置情報および前記移動順序情報を、再取得する指示を行う、
処理を実行させる仮想マシン管理システム。
【請求項６】
仮想マシンが動作可能な複数の物理マシンを有する仮想マシンシステムにおいて、移動元の第１の物理マシン上で稼働する移動対象の仮想マシンを、中継地の第２の物理マシンで中継して、移動先の第３の物理マシンへの移動を制御する仮想マシン管理方法であって、
コンピュータに、
前記コンピュータが
移動元の第１の物理マシン上で稼働する移動対象の仮想マシンを、中継地の第２の物理マシンで中継して、移動先の第３の物理マシンへ、移動する場合に、前記第１の物理マシンにおける移動対象の仮想マシンの資源割当量の情報を含む資源割当情報を取得すると共に、第１の物理マシン、前記第２の物理マシンおよび前記第３の物理マシンの各々の位置情報と、移動対象の仮想マシンが移動される物理マシンの移動順序情報とを取得し、
取得した位置情報に基づいて、前記第２の物理マシンおよび前記第３の物理マシンの各々に、移動対象の仮想マシンの資源割当情報により示される資源割当量を確保することを示す要求情報を送信し、
前記第２の物理マシン及び前記第３の物理マシンの各々から、送信した要求情報の応答を受け取り、前記第２の物理マシンおよび前記第３の物理マシンの各々から、前記資源割当情報により示される資源割当量を確保したことを示す応答を受け取った場合、取得した位置情報、移動順序情報および受け取った応答に基づいて、移動対象の仮想マシンを、前記移動順序情報に従って移動する指示を行い、前記第２の物理マシン及び前記第３の物理マシンの少なくとも一方から、前記資源割当量を確保したことを示す応答を受け取れなかった場合、前記応答を受け取れなかった第２の物理マシン及び前記第３の物理マシンの少なくとも一方と相違する物理マシンの位置情報および前記移動順序情報を、再取得する指示を行う、
ことを含む処理を実行させる仮想マシン管理方法。
【請求項７】
仮想マシンが動作可能な複数の物理マシンを有する仮想マシンシステムにおいて、移動元の第１の物理マシン上で稼働する移動対象の仮想マシンを、中継地の第２の物理マシンで中継して、移動先の第３の物理マシンへ、移動する制御をコンピュータに実行させる仮想マシン管理プログラムであって、
前記コンピュータに、
前記コンピュータが
移動元の第１の物理マシン上で稼働する移動対象の仮想マシンを、中継地の第２の物理マシンで中継して、移動先の第３の物理マシンへ、移動する場合に、前記第１の物理マシンにおける移動対象の仮想マシンの資源割当量の情報を含む資源割当情報を取得すると共に、第１の物理マシン、前記第２の物理マシンおよび前記第３の物理マシンの各々の位置情報と、移動対象の仮想マシンが移動される物理マシンの移動順序情報とを取得し、
取得した位置情報に基づいて、前記第２の物理マシンおよび前記第３の物理マシンの各々に、移動対象の仮想マシンの資源割当情報により示される資源割当量を確保することを示す要求情報を送信し、
前記第２の物理マシン及び前記第３の物理マシンの各々から、送信した要求情報の応答を受け取り、前記第２の物理マシンおよび前記第３の物理マシンの各々から、前記資源割当情報により示される資源割当量を確保したことを示す応答を受け取った場合、取得した位置情報、移動順序情報および受け取った応答に基づいて、移動対象の仮想マシンを、前記移動順序情報に従って移動する指示を行い、前記第２の物理マシン及び前記第３の物理マシンの少なくとも一方から、前記資源割当量を確保したことを示す応答を受け取れなかった場合、前記応答を受け取れなかった第２の物理マシン及び前記第３の物理マシンの少なくとも一方と相違する物理マシンの位置情報および前記移動順序情報を、再取得する指示を行う、
処理を実行させる仮想マシン管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、仮想マシン管理装置、仮想マシン管理システム、仮想マシン管理方法、及び仮想マシン管理プログラムに関する。
【背景技術】
【０００２】
物理的なコンピュータ（以下、物理マシンという）の利用効率の向上などを目的として、１台の物理マシン上に、複数の仮想的なコンピュータ（以下、仮想マシンという）を構築する仮想化技術が実現されている。近年、仮想化技術による仮想マシンを含む物理マシンを使用して業務処理を行うことが一般的になってきている。
【０００３】
物理マシン上に構築された仮想マシンは、別の物理マシンへ移動が可能である。例えば、特定の物理マシン上に構築された仮想マシンで稼働中の業務処理を停止することなく、仮想マシンを別の物理マシンに移動するライブマイグレーション(live migration)と呼ばれる技術が知られている。ライブマイグレーション技術を適用すると、業務処理を実行中の或る物理マシン上で稼働している仮想マシンが別の物理マシン上に移し替えられる。
【０００４】
移動元の物理マシン上の仮想マシンを移動先である別の物理マシンへ移動する場合、不具合なく確実な仮想マシンの移動が要求される。例えば、ライブマイグレーション技術では、仮想マシンを移動する処理の実行時に、物理マシンの資源を消費することが知られている。物理マシンの資源が飽和状態のときに仮想マシンの移動を開始すると、ライブマイグレーションによる負荷に応じて物理マシンで提供するサービスの低下が生じる場合がある。物理マシンで提供するサービスの低下を抑制するために、仮想マシンの移動時に、移動元の物理マシンに仮想マシンの移動に用いる資源を確保する技術が知られている。
【０００５】
また、仮想マシンの移動を確実にするために、仮想マシンが移動可能な移動先の物理マシンを設定しておき、仮想マシンの稼働状況を監視して仮想マシンを移動するときに移動先の物理マシンおよび移動経路を選定する技術が知られている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−０９０５３７号公報
【特許文献２】特開２０１１−２３２９１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、仮想マシンを移動する場合、移動元の物理マシンと移動先の物理マシンとの間を移動元の物理マシンおよび移動先の物理マシン以外の物理マシンで中継する場合がある。例えば、移動元の物理マシンから移動先の物理マシンへ、仮想マシンを長距離移動する場合、物理マシンの応答時間に基づき、中継する物理マシンを選定して移動経路を設定して、設定された移動経路に応じて仮想マシンを移動する。仮想マシンで稼働中の業務処理を停止することなく、移動元から移動先まで中継地を経由して仮想マシンを移動する場合、移動した先の各物理マシンにおいて仮想マシンが動作可能であることが望ましい。
【０００８】
しかしながら、移動した先の物理マシンにおいて仮想マシンを動作するための資源が不足して仮想マシンの動作に不具合が生じることにより、仮想マシンの移動に不具合が生じる場合がある。つまり、移動元の物理マシンから中継地の物理マシンを経由して移動先の物理マシンまで仮想マシンを移動できない場合がある。
【０００９】
１つの側面では、移動元の物理マシンから移動先の物理マシンまで仮想マシンを確実に移動することを目的とする。
【課題を解決するための手段】
【００１０】
開示の技術では、移動元の第１の物理マシン上で稼働する移動対象の仮想マシンが、中継地の第２の物理マシンで中継して、移動先の第３の物理マシンへ、移動される。取得部は、第１の物理マシンにおける移動対象の仮想マシンの資源割当量の情報を含む資源割当情報を取得する。また、取得部は、第１の物理マシン、第２の物理マシンおよび第３の物理マシンの各々の位置情報と、移動対象の仮想マシンが移動される物理マシンの移動順序情報とを取得する。要求部は、取得部で取得した位置情報に基づいて、第２の物理マシンおよび第３の物理マシンの各々に、移動対象の仮想マシンの資源割当情報により示される資源割当量を確保することを示す要求情報を送信する。指示部は、第２の物理マシン及び第３の物理マシンの各々から、要求部で送信した要求情報の応答を受け取り、取得部で取得した位置情報、移動順序情報および受け取った応答に基づいて、移動対象の仮想マシンを、移動順序情報に従って移動する指示を行う。
【発明の効果】
【００１１】
１つの実施態様では、移動元の物理マシンから移動先の物理マシンまで仮想マシンを確実に移動できる。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態に係る仮想マシン管理システムを示すブロック図である。
【図２】仮想化基盤テーブルの一例を示すイメージ図である。
【図３】仮想マシンテーブルの一例を示すイメージ図である。
【図４】仮想化基盤稼働率情報テーブルの一例を示すイメージ図である。
【図５】仮想化リソース空塞管理テーブルの一例を示すイメージ図である。
【図６】仮想化リソースタイマー管理テーブルに係るＶＭ時限タイマーテーブルの一例を示すイメージ図である。
【図７】仮想化リソースタイマー管理テーブルに係るタイムリミット値テーブルの一例を示すイメージ図である。
【図８】中継地リストの一例を示すイメージ図である。
【図９】ＣＰＵの使用率を模式化して説明するための説明図である。
【図１０】メモリの使用率を模式化して説明するための説明図である。
【図１１】仮想マシン管理システムを実現可能なコンピュータシステムのブロック図である。
【図１２】管理装置における処理の流れの一例を示すフローチャートである。
【図１３】データセンターで実行される仮想化基盤プログラムの処理の流れの一例を示すフローチャートである。
【図１４】仮想マシンのリソース参照およびリソース確保についての情報授受の一例を示すシーケンス図である。
【図１５】管理装置で実行される情報取得処理の流れの一例を示すフローチャートである。
【図１６】データセンターで実行されるリソース参照処理の流れの一例を示すフローチャートである。
【図１７】管理装置で実行されるリソース確保を要求する処理の流れの一例を示すフローチャートである。
【図１８】データセンターで実行されるリソース確保処理の流れの一例を示すフローチャートである。
【図１９】ライブマイグレーションにおける情報授受の一例を示すシーケンス図である。
【図２０】管理装置で実行される移動処理の流れの一例を示すフローチャートである。
【図２１】データセンターで実行される移動処理の流れの一例を示すフローチャートである。
【図２２】仮想マシンのリソース解放についての情報授受の一例を示すシーケンス図である。
【図２３】管理装置で実行されるリソース解放の要求処理の流れの一例を示すフローチャートである。
【図２４】データセンターで実行されるリソース解放処理の流れの一例を示すフローチャートである。
【図２５】実施形態に係る仮想マシン管理システムにおける情報授受の一例を示すシーケンス図である。
【図２６】第２実施形態に係る情報取得処理の流れの一例を示すフローチャートである。
【図２７】第２実施形態に係るリソース参照処理の流れの一例を示すフローチャートである。
【図２８】第２実施形態に係るリソース確保要求処理の流れの一例を示すフローチャートである。
【図２９】第２実施形態に係るリソース確保処理の流れの一例を示すフローチャートである。
【図３０】第２実施形態に係るライブマイグレーションにおける情報授受の一例を示すシーケンス図である。
【図３１】第２実施形態に係る管理装置で実行される移動処理の流れの一例を示すフローチャートである。
【図３２】第３実施形態に係る仮想マシン管理システムにおける情報授受の一例を示すシーケンス図である。
【図３３】第３実施形態に係る仮想化基盤稼働率情報テーブルの一例を示すイメージ図である。
【図３４】第３実施形態に係る仮想化リソース空塞管理テーブルの一例を示すイメージ図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。
【００１４】
＜第１実施形態＞
図１に、本実施形態に係る仮想マシン管理システム１０の構成の一例を示す。仮想マシン管理システム１０では、管理用ネットワーク等によるネットワーク２０に、管理装置１２と、仮想マシンを含む複数拠点のデータセンターと、が各々接続されている。図１には、仮想マシン管理システム１０に、３拠点のデータセンター２２（図１ではＤＣ１，ＤＣ２，ＤＣ３と内部表記）が含まれる一例を示す。なお、図１では、仮想マシン管理システム１０に、３拠点のデータセンター２２が含まれる一例を示したが、３拠点に限定されるものではなく、４拠点以上でもよい。
【００１５】
管理装置１２は、ライブマイグレーションの実行に関係して、データセンター２２における仮想マシンが用いる資源（以下、リソースという。）を管理するためのものであり、例えばコンピュータで実現可能である（詳細は後述）。管理装置１２は、情報収集管理機能部１３、中継地算出機能部１４、マイグレーション管理機能部１５、仮想化リソース制御機能部１７、及び記憶部１６を含む。なお、管理装置１２は、仮想化リソース管理機能部１８を含むことができる。また、記憶部１６は、物理マシンおよび仮想マシンの状態等を各種の管理情報として保持する。
【００１６】
情報収集管理機能部１３は、ネットワーク２０に接続される各種ノードのＩＰアドレス（Internet Protocol Address）、およびノード間の遅延時間等の各種情報を収集したり管理したりする機能部である。各種ノードは、管理装置１２と相違する他の管理装置、データセンターに備えられる物理マシン、および物理マシン上で動作する仮想マシン、そして物理マシンおよび仮想マシンに接続されるネットワーク機器を含む。例えば、情報収集管理機能部１３は、仮想マシン管理システム１０上の仮想化基盤に関する情報、および仮想マシンに関する情報等を収集し、記憶部１６に記憶して管理する。なお、仮想マシンに関する情報は、仮想マシンを示す情報、および仮想マシンで用いるリソースを示すリソース情報を含む。例えば、リソース情報は、仮想マシンで用いるリソースについて、リソースの名称と、使用量（割り当て量）とを含む。
【００１７】
中継地算出機能部１４は、管理者等の指示により、ライブマイグレーションを実行する場合に、移動元のデータセンターから移動先のデータセンターまでの中継地を算出する機能部である。中継地算出機能部１４は、ライブマイグレーションにより移動対象の仮想マシンを移動する、移動元のデータセンター２２および移動先のデータセンター２２を示す情報の入力によって、移動元から移動先へ中継する中継地および経路（順序）を算出する。
【００１８】
なお、中継地算出機能部１４は、算出した移動元から移動先へ中継する中継地および経路（順序）を示す情報を保持してもよく、記憶部１６に記憶してもよい。中継地および経路（順序）を示す情報を記憶部１６に記憶する場合、中継地算出機能部１４が情報収集管理機能部１３へ情報を送り、情報収集管理機能部１３が記憶部１６に記憶してもよい。
【００１９】
マイグレーション管理機能部１５は、ライブマイグレーションに関係する情報および処理を管理する機能部であり、ネットワーク２０に接続される他の管理装置、およびデータセンターに対して情報を授受するインタフェース機能を含む。例えば、マイグレーション管理機能部１５は、移動元から移動先へ中継地算出機能部１４で算出された中継地および経路（順序）に応じてデータセンター２２へ仮想マシン２８の移動を指示する。
【００２０】
仮想化リソース制御機能部１７は、データセンター２２において仮想マシンを管理する仮想化リソース管理機能部３４に対して、仮想マシン２８が用いるリソースの確保、および解放の各々の制御を指示する機能部である。つまり、仮想化リソース制御機能部１７は、移動元から中継地を介して移動先へ仮想マシン２８が確実に移動されるように、データセンター２２へ仮想マシン２８が用いるリソースを確保する指示をしたり、使用が終了したリソースを解放する指示をしたりする。
【００２１】
なお、管理装置１２は、仮想化リソース管理機能部１８を備えて、データセンター２２における仮想マシンの管理を行ってもよい。
【００２２】
ネットワーク２０に接続されるデータセンター２２は、仮想化技術を用いて１台または複数台の各物理マシン上に、１台または複数台の仮想マシンを構築することができる。データセンター２２では、構築される１台または複数台の仮想マシンの各々を管理する。本実施形態では、説明を簡単にするため、データセンター２２を１台の物理マシンとして説明する。
【００２３】
なお、以下の説明で、３拠点のデータセンター２２またはデータセンター２２に含まれる要素について個別に対象とする場合は、記号（図１に示すＤＣ１，ＤＣ２，ＤＣ３）を付与して区別して扱う。また、仮想マシンを移動する場合のデータセンター２２として、移動元のデータセンター２２ＤＣ１、中継地のデータセンター２２ＤＣ２、および移動先のデータセンター２２ＤＣ３を一例として説明する。
【００２４】
データセンター２２は、ゲートウェイ（ＧＷ）２４、仮想化基盤２６、および仮想マシン２８を含む。ＧＷ２４は、情報を目的地へ仲介するためのものであり、ネットワーク２０に接続されるＧＷ・ルータ機能部３０を含む。ＧＷ・ルータ機能部３０は、所謂ルータと呼ばれる接続機器の機能を有した機能部である。なお、ＧＷ・ルータ機能部３０は、管理装置１２からの指示により他のデータセンター２２との間の遅延時間を計測する等の各種機能を含む。
【００２５】
仮想化基盤２６は、仮想マシンを管理し、ライブマイグレーションを実現するための機能部である。仮想化基盤２６は、仮想化基盤主要機能部３２、仮想化リソース管理機能部３４、および仮想化リソース制御機能部３６を含んでいる。
【００２６】
仮想化基盤主要機能部３２は、仮想化技術を用いて物理マシン上に仮想マシンを構築して稼働するための、主要機能を含む。例えば、仮想化基盤主要機能部３２は、ライブマイグレーション等のイベントに応じて管理装置１２に、ライブマイグレーションの実行中の各種情報を通知するイベント通知機能を含む。
【００２７】
仮想化リソース管理機能部３４は、管理装置１２からの指示に応じて、データセンター２２で管理する仮想マシン２８が用いるリソースの確保、および解放の各々の処理を管理する機能を含む。
【００２８】
仮想化リソース制御機能部３６は、仮想マシン２８が用いるリソースの確保、解放、およびライブマイグレーション実行等のイベントに応じて、仮想マシンが用いるリソースの確保、および解放等の各々の処理を実行する機能を含む。
【００２９】
仮想マシン２８は、仮想化基盤２６上で動作するＯＳ(Operating System)とアプリケーションプログラムを含む仮想マシン機能部３８が動作されることによる仮想的なコンピュータである。また、仮想マシン２８は、管理装置１２の指示により別のデータセンター２２の仮想化基盤２６上へライブマイグレーションされる。
【００３０】
本実施形態では、仮想マシン管理システム１０において、仮想マシン２８を確実にライブマイグレーションする処理を実行するために、記憶部１６に記憶される管理情報を用いる。管理情報の一例に、仮想化基盤テーブル６３、仮想マシンテーブル６４、仮想化基盤稼働率情報テーブル６５、仮想化リソース空塞管理テーブル６６、仮想化リソースタイマー管理テーブル６７の各々に格納される情報がある。なお、本実施形態では、ライブマイグレーションする処理は、中継地リスト６８（図８）の情報を参照して実行される。
【００３１】
図２に、仮想化基盤テーブル６３の一例を示す。仮想化基盤テーブル６３には、ネットワーク２０に接続される全てのデータセンター２２の各々に含まれる仮想化基盤２６を示す情報および最終更新日時を示す情報が管理情報として登録される。図２の例では、仮想化基盤テーブル６３は、「HV ID」、「HV Name」、「HV IP」、「Site ID」、「Latency」、及び「Latest」の各々を示す情報を含む。
【００３２】
図２の例に示す仮想化基盤テーブル６３の「HV ID」は、仮想化基盤２６に固有の識別情報である。「HV Name」は、仮想化基盤２６の名称を示す情報である。「HV IP」は、物理マシンの位置情報としての、仮想化基盤２６に割り当てられるＩＰアドレス等の位置を示す情報である。「Site ID」は、仮想化基盤２６を含む物理マシンであるデータセンター２２の識別情報である。「Latency」は、仮想化基盤２６に対してアクセスするのに要する時間を示す情報である。「Latest」は、「HV ID」、「HV Name」、「Site ID」、及び「Latency」を示す情報を取得し登録または更新した最新日時を示す情報である。
【００３３】
図３に、仮想マシンテーブル６４の一例を示す。仮想マシンテーブル６４には、ネットワーク２０に接続される全てのデータセンター２２の各々に含まれる仮想マシン２８を示す情報および仮想マシン２８のリソース情報が管理情報として登録される。図３の例では、仮想マシンテーブル６４は、「VM ID」、「VM Name」、「CPU」、「Memory」、「HDD」、「NIC」、「NW-Name」、及び「HV ID」の各々を示す情報を含む。
【００３４】
図３の例に示す仮想マシンテーブル６４の「VM ID」は、仮想マシン２８に固有の識別情報である。「VM Name」は、仮想マシン２８の名称を示す情報である。「CPU」、「Mem」、及び「HDD」は、仮想マシン２８の主なリソース情報の一例である。「CPU」は、ＣＰＵの使用率を示し、「Mem」は、メモリの使用量を示し、「HDD」は、ハードディスク装置等の２次記憶媒体の使用量を示す。「NIC」は、ネットワーク２０への接続ポート数を示す情報である。「NW-Name」は、仮想マシン２８が参加するネットワークを示す情報である。「HV ID」は、仮想マシン２８を担当する仮想化基盤２６に固有の識別情報である。
【００３５】
図４に、仮想化基盤稼働率情報テーブル６５の一例を示す。仮想化基盤稼働率情報テーブル６５には、仮想マシンテーブル６４（図３）に示す各々の情報に、「リソースＩＤ」を示す情報が対応付けられた情報が管理情報として登録される。図４の例に示す仮想化基盤稼働率情報テーブル６５の「リソースＩＤ」は、仮想マシン２８が使用するリソースを仮想マシン２８毎に識別するための識別情報である。
【００３６】
図５に、仮想化リソース空塞管理テーブル６６の一例を示す。仮想化リソース空塞管理テーブル６６には、仮想マシン２８が使用するリソースの割当状態を示す情報を含む情報が管理情報として登録される。図５の例では、仮想化リソース空塞管理テーブル６６は、「リソースＩＤ」、「空塞状態」、「HV ID」、および「Latest」の各々を示す情報を含む。
【００３７】
図５の例に示す仮想化リソース空塞管理テーブル６６の「リソースＩＤ」は、仮想マシン２８が使用するリソースを識別するための識別情報であり、「リソースＩＤ」を通じて仮想化基盤稼働率情報テーブル６５を参照できる。「空塞状態」は、仮想マシン２８が使用するリソースの割当状態を示す情報である。空塞状態として記憶される割当状態を示す情報の一例として、空き状態の場合に「idle」、使用状態の場合に「busy」、確保状態の場合に「temporary」、及びマイグレーション中状態の場合に「temporary on migration」の値が記憶される。「HV ID」は、仮想マシン２８を担当する仮想化基盤２６に固有の識別情報であり、「HV ID」を通じて仮想マシンテーブル６４を参照できる。「Latest」は、「リソースＩＤ」、「空塞状態」、および「HV ID」を示す情報を取得して登録または更新した最新日時を示す情報である。
【００３８】
図６及び図７に、仮想化リソースタイマー管理テーブル６７の一例を示す。仮想化リソースタイマー管理テーブル６７は、仮想マシン２８が使用するリソースを、未使用時等に確保しておく時間を定めるタイムテーブルである。本実施形態では、仮想化リソースタイマー管理テーブル６７として、ＶＭ時限タイマーテーブル６７Ａと、タイムリミット値テーブル６７Ｂとを用いる。ＶＭ時限タイマーテーブル６７Ａには、「リソースＩＤ」を示す情報に、「タイムリミット値」を示す情報が対応付けられる。タイムリミット値テーブル６７Ｂには、「リソースクラス」を示す情報に、「タイムリミット値」を示す情報が対応付けられる。「リソースクラス」は、仮想マシン２８が使用するリソースの種類及び大きさなどに応じて予めクラス分けされるリソースのクラスを示す情報である。
【００３９】
本実施形態では、仮想マシン２８が使用するリソース毎に、リソースを確保しておくタイムリミット時間を定める。例えば、リソースＩＤ「VRSid007」のリソースがリソースクラス「VRS_class0」に分類されている場合を説明する。リソースＩＤ「VRSid007」のリソースについて、図７に示すタイムリミット値テーブル６７Ｂで、リソースクラス「VRS_class0」のタイムリミット値「T001」が特定される。特定されたタイムリミット値「T001」がリソースＩＤ「VRSid007」に対応付けてＶＭ時限タイマーテーブル６７Ａに登録される。
【００４０】
図８に、中継地リスト６８の一例を示す。中継地リスト６８は、中継地算出機能部１４で算出される移動元から移動先へ中継する中継地および経路（順序）を示す情報のリストである。図８に示す例では、移動元から移動先まで仮想マシン２８が移動する経路で、４か所のデータセンター２２に仮想マシン２８が滞在する場合を示す。第１ＨＶ〜第４ＨＶの各々は、データセンター２２の仮想化基盤２６を示す情報が格納される。また、図８に示す例では、「H0001」で示す移動元の仮想化基盤２６から、「H0003」で示す移動先の仮想化基盤２６までについての中継地及び経路について、３種類の中継地および経路が算出されたことを示す。なお、図８に示す例では、４か所のデータセンター２２を仮想マシン２８が位置する場合を示すが、４か所に限定されるものではなく、３か所でもよく、５か所以上でもよい。また、４か所で種類が相違する経路が算出される場合を示すが、仮想マシン２８が位置する数を固定とするものではなく、経路毎に、３か所以上のデータセンター２２を仮想マシン２８が位置すればよい。また、複数種類の経路が算出された中継地リスト６８は、データセンター２２間の情報遅延時間などにより優先度を付与し、優先度が高いものからリスト化することができる。
【００４１】
ここで、仮想マシン２８が用いるリソースの確保について説明する。本実施形態では、ライブマイグレーションを実行するにあたり、仮想マシン２８が用いるリソースを確保してからライブマイグレーションを実行する。
【００４２】
図９に、仮想マシン２８が用いるリソースとして、ＣＰＵの使用率を模式化したＣＰＵリソース３３のイメージ図を示す。図９の例は、仮想化技術によるＣＰＵの仮想性能が４０ＧＨｚの場合に、２ＧＨｚ単位のセルで使用率であるＣＰＵリソース３３を管理することを示すものである。例えば、移動元のデータセンター２２Ａにおいて、第１の仮想マシン２８Ａと、第２の仮想マシン２８Ｂが稼働する場合を考える。第１の仮想マシン２８Ａが３０％のＣＰＵ使用率で６ＧＨｚ分を使用する場合、移動元のデータセンター２２Ａの仮想化リソース管理機能部３４Ａは、３つのセル３３Ａを使用することを管理する。また、第２の仮想マシン２８Ｂが２０％のＣＰＵ使用率で４ＧＨｚ分を使用する場合、仮想化リソース管理機能部３４Ａは、２つのセル３３Ｂを使用することを管理する。
【００４３】
図１０に、仮想マシン２８が用いるリソースとして、メモリの使用率を模式化したメモリリソース３５のイメージ図を示す。図１０の例は、仮想化技術によるメモリの仮想性能が８０ＧＢの場合に、４ＧＢ単位のセルで使用量であるメモリリソース３５を管理することを示すものである。例えば、第１の仮想マシン２８Ａのメモリ使用量が８ＧＢ分である場合、移動元のデータセンター２２Ａの仮想化リソース管理機能部３４Ａは、２つのセル３５Ａを使用することを管理する。また、第２の仮想マシン２８Ｂのメモリ使用量が１２ＧＢ分である場合、仮想化リソース管理機能部３４Ａは、３つのセル３５Ｂを使用することを管理する。
【００４４】
ライブマイグレーション実行時に、第１の仮想マシン２８Ａおよび第２の仮想マシン２８Ｂの何れかが移動対象の仮想マシン２８であるとき、移動対象の仮想マシン２８のリソース情報が管理装置１２の仮想化リソース制御機能部１７により取得される。ここでは、ＣＰＵリソース３３およびメモリリソース３５が取得される。管理装置１２の仮想化リソース制御機能部１７は、中継先のデータセンター２２Ｂおよび移動先のデータセンター２２Ｃの各々の仮想化リソース管理機能部３４Ｂ，３４Ｃにリソース確保を指示する。中継先のデータセンター２２Ｂ、および移動先のデータセンター２２Ｃの各仮想化リソース管理機能部３４Ｂ，３４Ｃは、管理装置１２の仮想化リソース制御機能部１７からの指示に応じて、仮想化リソース制御機能部３６Ｂ，３６Ｃへリソース確保を指示する。仮想化リソース制御機能部３６Ｂ，３６Ｃは、各々リソース確保を実行する。
【００４５】
なお、仮想マシン管理システム１０は開示の技術における仮想マシン管理システムの一例であり、管理装置１２は開示の技術における仮想マシン管理装置の一例である。また、情報収集管理機能部１３は、開示の技術における取得部の一例であり、仮想化リソース制御機能部１７は、開示の技術における要求部および指示部の一例である。
【００４６】
仮想マシン管理システム１０は、図１１に示すコンピュータシステム４０で実現することができる。管理装置１２は、例えば、図１１に示すコンピュータ４２で実現することができる。また、データセンター２２は、図１１に示す物理マシン７０で実現することができる。
【００４７】
管理装置１２をコンピュータ４２で実現する場合、コンピュータ４２はＣＰＵ４４、メモリ４６、及び不揮発性の格納部５４を備える。ＣＰＵ４４、メモリ４６、及び格納部５４は、バス５３を介して互いに接続される。また、コンピュータ４２は、表示装置であるディスプレイ４８、入力装置であるキーボード４９およびマウス５０を備え、ディスプレイ４８、キーボード４９およびマウス５０はバス５３に接続される。さらに、コンピュータ４２は、記録媒体６９に対して読み書きするための装置（ＲＷ装置）５１を備え、ＲＷ装置５１はバス５３に接続される。また、コンピュータ４２は、ネットワーク２０に接続するためのインタフェースを含む通信部（Ｉ／Ｏ）５２を備える。なお、格納部５４はＨＤＤ(Hard Disk Drive)やフラッシュメモリ等によって実現できる。
【００４８】
なお、ディスプレイ４８、キーボード４９、マウス５０、及びＲＷ装置５１は、省略してもよく、必要に応じてバス５３に接続するようにしてもよい。
【００４９】
格納部５４には、コンピュータ４２を管理装置１２として機能させるためのプログラム、及び情報が記憶される。具体的には、格納部５４には、管理プログラム５５、テーブル６２が記憶される。管理プログラム５５は、情報収集プロセス５６、中継地算出プロセス５７、マイグレーション管理プロセス５８、仮想化リソース制御プロセス５９を含む。なお、管理プログラム５５は、仮想化リソース管理プロセス６０を含むことができる。また、テーブル６２は、仮想化基盤テーブル６３、仮想マシンテーブル６４、仮想化基盤稼働率情報テーブル６５、仮想化リソース空塞管理テーブル６６、及び仮想化リソースタイマー管理テーブル６７を含む。なお、格納部５４には、テーブル６２を構成する情報の各々が記憶され、テーブル６２を構成する情報の各々がメモリ４６に展開されることによりテーブルとなる。
【００５０】
ＣＰＵ４４は、管理プログラム５５を格納部５４から読み出してメモリ４６に展開し、管理プログラム５５に含まれるプロセスを順次実行することで、コンピュータ４２は図１に示す管理装置１２として動作する。ＣＰＵ４４は、情報収集プロセス５６を実行することで、図１に示す情報収集管理機能部１３として動作し、中継地算出プロセス５７を実行することで、図１に示す中継地算出機能部１４として動作する。また、ＣＰＵ４４は、マイグレーション管理プロセス５８を実行することで、図１に示すマイグレーション管理機能部１５として動作する。さらに、ＣＰＵ４４は、仮想化リソース制御プロセス５９を実行することで、図１に示す仮想化リソース制御機能部１７として動作する。なお、管理プログラム５５に仮想化リソース管理プロセス６０が含まれる場合、ＣＰＵ４４が仮想化リソース管理プロセス６０を実行することで、図１に示す仮想化リソース管理機能部１８として動作する。
【００５１】
管理装置１２がコンピュータ４２で実現される場合、テーブル６２の各情報を格納した格納部５４の記憶領域は、図１に示すテーブルを記憶する記憶部１６として用いられる。つまり、格納部５４に記憶されたテーブル６２を構成する各情報の記憶領域は、図１に示すテーブルの各情報を記憶する記憶部１６の記憶領域に対応され、管理装置１２において記憶部１６の記憶領域に記憶された各情報が展開されることによりテーブルとなる。
【００５２】
データセンター２２を物理マシン７０で実現する場合、物理マシン７０はＣＰＵ７２、メモリ７４、及び不揮発性の格納部８２を備える。ＣＰＵ７２、メモリ７４、及び格納部８２は、バス８１を介して互いに接続される。また、物理マシン７０は、表示装置であるディスプレイ７６、入力装置であるキーボード７７およびマウス７８を備え、ディスプレイ７６、キーボード７７およびマウス７８はバス８１に接続される。さらに、物理マシン７０は、記録媒体６９に対して読み書きするための装置（ＲＷ装置）７９を備え、ＲＷ装置７９はバス８１に接続される。また、物理マシン７０は、ネットワーク２０に接続するためのインタフェースを含む通信部（Ｉ／Ｏ）８０を備える。なお、格納部８２はＨＤＤやフラッシュメモリ等によって実現できる。
【００５３】
なお、ディスプレイ７６、キーボード７７、マウス７８、及びＲＷ装置７９は、省略してもよく、必要に応じてバス８１に接続するようにしてもよい。
【００５４】
格納部８２には、物理マシン７０をデータセンター２２として機能させるためのプログラム、及び情報が記憶される。具体的には、格納部８２には、ＧＷプログラム８３、仮想化基盤プログラム８４、仮想マシンプログラム８８が記憶される。仮想化基盤プログラム８４は、仮想化基盤主要プロセス８５、仮想化リソース管理プロセス８６、および仮想化リソース制御プロセス８７を含む。
【００５５】
物理マシン７０のＣＰＵ７２は、格納部８２からプログラムを読み出してメモリ７４に展開し、順次実行することで、物理マシン７０は図１に示すデータセンター２２として動作する。具体的には、ＣＰＵ７２は、ＧＷプログラム８３を格納部８２から読み出してメモリ７４に展開し、ＧＷプログラム８３を実行することで、物理マシン７０は図１に示すデータセンター２２のＧＷ２４として動作する。また、ＣＰＵ７２は、仮想化基盤プログラム８４を格納部８２から読み出してメモリ７４に展開し、仮想化基盤プログラム８４に含まれるプロセスを順次実行することで、物理マシン７０は図１に示すデータセンター２２の仮想化基盤２６として動作する。さらに、ＣＰＵ７２は、仮想マシンプログラム８８を実行することで、図１に示す仮想マシン２８として動作する。
【００５６】
なお、ＣＰＵ７２は、仮想化基盤プログラム８４の仮想化基盤主要プロセス８５を実行することで、図１に示す仮想化基盤主要機能部３２として動作する。また、ＣＰＵ７２は、仮想化リソース管理プロセス８６を実行することで、仮想化リソース管理機能部３４として動作し、仮想化リソース制御プロセス８７を実行することで、仮想化リソース制御機能部３６として動作する。
【００５７】
また、以下の説明で、データセンター２２を物理マシン７０で実現する場合、物理マシン７０または物理マシン７０に含まれる要素について個別に対象とする場合は、記号（図１１に示すＤＣ１，ＤＣ２，ＤＣ３）を付与して区別して扱う。具体的には、移動元のデータセンター２２ＤＣ１を実現する物理マシン７０は、物理マシン７０ＤＣ１と表記して説明する。また、中継地のデータセンター２２ＤＣ２を実現する物理マシン７０は物理マシン７０ＤＣ２と表記し説明する。さらに、移動先のデータセンター２２ＤＣ３を実現する物理マシン７０は物理マシン７０ＤＣ３と表記して説明する。
【００５８】
なお、管理プログラム５５は、開示の技術における仮想マシン管理プログラムの一例である。また、管理プログラム５５は、管理装置１２を開示の技術における仮想マシン管理装置として機能させるためのプログラムでもある。また、格納部５４の実現例であるＨＤＤは、開示の技術の記録媒体の一例である。また、光ディスク等の記録媒体６９も開示の技術の記録媒体の一例である。
【００５９】
次に、本実施形態に係る仮想マシン管理システム１０の動作について説明する。なお、第１実施形態では、１台の仮想マシン２８を移動対象として、移動元のデータセンター２２ＤＣ１から、中継地のデータセンター２２ＤＣ２を中継して、移動先のデータセンター２２ＤＣ３へ移動する場合を説明する。
【００６０】
図１２に、仮想マシン管理システム１０をコンピュータシステム４０で実現する場合に管理装置１２として動作するコンピュータ４２における処理の流れの一例を示す。
【００６１】
コンピュータシステム４０では、コンピュータ４２で管理プログラム５５が実行されることで、コンピュータ４２が管理装置１２（図１）として動作する。また、物理マシン７０において、ＧＷプログラム８３、仮想化基盤プログラム８４、および仮想マシンプログラム８８が実行されることで、物理マシン７０はデータセンター２２として動作される。
【００６２】
なお、管理装置１２として動作するコンピュータ４２のＣＰＵ４４は、情報収集プロセス５６を実行し、各種情報を取得し、収集した各種情報をテーブル６２に登録する。つまり、コンピュータ４２のＣＰＵ４４は、管理プログラム５５に含まれる情報収集プロセス５６を実行することで、情報収集管理機能部１３として動作し、定期的、ユーザの指示、または後述するプロセスの要求に応じて情報収集処理を実行する。また、情報収集管理機能部１３は、収集した各種情報をテーブル６２に登録する。
【００６３】
例えば、データセンター２２に、仮想化基盤２６が構築された場合、情報収集管理機能部１３は、構築された仮想化基盤２６を示す情報を収集し、収集した各情報を仮想化基盤テーブル６３（図２参照）に登録する。また、情報収集管理機能部１３は、登録済みの仮想化基盤２６を示す情報が更新された場合には、更新された仮想化基盤２６を示す情報で、仮想化基盤テーブル６３を更新する。
【００６４】
また、仮想化基盤２６に仮想マシン２８が構築された場合、情報収集管理機能部１３は、構築された仮想マシン２８を示す情報を収集し、収集した各情報を仮想マシンテーブル６４（図３参照）に登録する。また、情報収集管理機能部１３は、登録済みの仮想マシン２８を示す情報が更新された場合には、更新された仮想マシン２８を示す情報で、仮想マシンテーブル６４を更新する。また、情報収集管理機能部１３は、仮想マシン２８を示す情報を収集する場合、仮想マシンで用いるリソースを示すリソース情報を識別するためのリソースＩＤを付与して、仮想化基盤稼働率情報テーブル６５（図４参照）に登録する。また、情報収集管理機能部１３は、登録済みの情報が更新された場合には、更新された情報で、仮想化基盤稼働率情報テーブル６５を更新する。
【００６５】
さらに、情報収集管理機能部１３は、仮想マシン２８で用いるリソースの状態も収集して、仮想化リソース空塞管理テーブル６６（図５参照）に登録する。また、情報収集管理機能部１３は、登録済みの情報が更新された場合には、更新された情報で、仮想化基盤稼働率情報テーブル６５を更新する。
【００６６】
まず、管理装置１２として動作するコンピュータ４２のＣＰＵ４４は、ステップ１００で、移動対象の仮想マシン２８について、移動元のデータセンター２２から移動先のデータセンター２２へ中継する中継地のデータセンター２２を算出する。つまり、ＣＰＵ４４が中継地算出プロセス５７を実行することによって、中継地算出機能部１４（図１）は、例えば、キーボード４９等でユーザにより入力された仮想マシン２８の移動元および移動先を示す情報に応じて、中継地および経路（順序）を算出する。例えば、中継地および経路（順序）として、「HV IP」で示される位置情報の移動元の仮想化基盤２６から「HV IP」で示される位置情報の移動先の仮想化基盤２６までの移動時間が最短となる中継地および経路が算出される。つまり、移動対象の仮想マシン２８を含む仮想化基盤２６が、次に仮想マシン２８を受け入れる仮想化基盤２６として移動時間が最短となる仮想化基盤２６を、移動元の仮想化基盤２６から移動先の仮想化基盤２６まで順次求める。算出された中継地および経路（順序）を示す情報は、中継地リスト６８（図８）として記憶される。
【００６７】
次に、ＣＰＵ４４は、ステップ１０２で、仮想マシン２８、および移動元から中継地を介して移動先のデータセンター２２についての情報を取得する。つまり、ＣＰＵ４４が仮想化リソース制御プロセス５９のうちの情報取得処理を実行することによって、仮想化リソース制御機能部１７（図１）は仮想マシン２８およびデータセンター２２の情報を取得する。まず、仮想化リソース制御機能部１７は、中継地リスト６８（図８）を参照し、移動対象の仮想マシン２８について移動元から、中継地を介して移動先へ至る物理マシン７０および経路（順序）を示す情報を取得する。ここでは、中継地リスト６８から経路番号「１」の情報が取得された場合を説明する。つまり、「H0001」で示される仮想化基盤２６が移動元であり、「H0003」で示される仮想化基盤２６が移動先である。また、「H0002」および「H0004」で示される仮想化基盤２６が中継地である。なお、以下の説明を簡単にするため、中継地は、「H0002」で示される仮想化基盤２６を代表して説明する。
【００６８】
仮想化リソース制御機能部１７は、移動対象の仮想マシン２８が使用するリソース情報を取得する。移動対象の仮想マシン２８が使用するリソース情報の取得は、情報収集管理機能部１３へリソース情報を取得する指示に対する応答により取得する。つまり、情報収集管理機能部１３は、仮想マシンテーブル６４(図)３および仮想化基盤稼働率情報テーブル６５（図４）を参照し、移動対象の仮想マシン２８が使用するリソース情報を応答する。ここでは、仮想化リソース制御機能部１７は、「VRSid001」で示されるリソースＩＤの仮想マシン２８が使用するリソース情報を取得する。
【００６９】
次に、ＣＰＵ４４は、ステップ１０４で、中継地および移動先のデータセンター２２に移動対象の仮想マシン２８のリソースを確保する要求を実行する。つまり、ＣＰＵ４４が仮想化リソース制御プロセス５９のうちのリソース確保処理を実行することによって、仮想化リソース制御機能部１７（図１）はデータセンター２２にリソースの確保を要求する。つまり、仮想化リソース制御機能部１７は、中継地および移動先のデータセンター２２として動作する物理マシン７０へ、移動対象の仮想マシン２８が使用するリソース情報（リソースＩＤ「VRSid001」で示される情報）が示すリソースを確保する要求を実行する。移動対象の仮想マシン２８が使用するリソース情報の一例は、リソースの使用率を示す情報、例えばＣＰＵ負荷、ＣＰＵ利用率、メモリ利用量がある。
【００７０】
次に、ＣＰＵ４４は、ステップ１０６において、移動対象の仮想マシン２８を移動するライブマイグレーションを実行する。つまり、ＣＰＵ４４がマイグレーション管理プロセス５８を実行することによって、マイグレーション管理機能部１５（図１）は、移動対象の仮想マシン２８を移動する指示をする。ライブマイグレーションの実行が終了すると、次のステップ１０８で、ステップ１０４で確保を要求したリソースの解放を指示する。つまり、ＣＰＵ４４が仮想化リソース制御プロセス５９のうちの解放処理を実行することによって、仮想化リソース制御機能部１７（図１）はステップ１０２の実行により確保されたリソースＩＤのリソースの解除（解放）を要求する。
【００７１】
一方、管理装置１２として動作するコンピュータ４２からの指示に応じて、データセンター２２として動作する物理マシン７０では、各種処理が実行される。
【００７２】
なお、物理マシン７０のＣＰＵ７２は、ＧＷプログラム８３を実行することで、管理装置１２または他のデータセンター２２との情報授受が可能となる。また、ＣＰＵ７２は、仮想化基盤プログラム８４を実行することで、仮想化技術による仮想化環境の構築が可能となる。さらに、ＣＰＵ７２は、仮想マシンプログラム８８を実行することで、仮想化環境における仮想マシン２８の構築が可能となる。
【００７３】
図１３に、データセンター２２として動作する物理マシン７０で実行される仮想化基盤プログラム８４による処理の流れの一例を示す。
【００７４】
物理マシン７０のＣＰＵ７２は、ステップ２００で、管理装置１２として動作するコンピュータ４２からの指示が、移動対象の仮想マシン２８のリソース情報の取得のためのリソース参照の要求であるか否かを判断する。ＣＰＵ７２は、ステップ２００で肯定判断の場合、ステップ２０２へ進み、移動対象の仮想マシン２８のリソース参照処理を実行し、本処理ルーチンを終了する。一方、ステップ２００で否定判断の場合、ＣＰＵ７２は、ステップ２０４へ進み、管理装置１２として動作するコンピュータ４２からの指示が、移動対象の仮想マシン２８のリソース確保の要求であるか否かを判断する。ＣＰＵ７２は、ステップ２０４で肯定判断の場合、ステップ２０６へ進み、移動対象の仮想マシン２８のリソース確保処理を実行し、本処理ルーチンを終了する。
【００７５】
ステップ２０４で否定判断の場合、ＣＰＵ７２は、ステップ２０８へ進み、管理装置１２として動作するコンピュータ４２からの指示が、移動対象の仮想マシン２８の移動要求であるか否かを判断する。ステップ２０８で肯定判断の場合、ＣＰＵ７２は、ステップ２１０へ進み、移動対象の仮想マシン２８の移動処理を実行し、本処理ルーチンを終了する。一方、ステップ２０８で否定判断の場合、ＣＰＵ７２は、ステップ２１２へ進み、管理装置１２として動作するコンピュータ４２からの指示が、ステップ２０６で確保したリソースの解放要求であるか否かを判断する。ステップ２１２で肯定判断の場合、ＣＰＵ７２は、ステップ２１４へ進み、確保済みのリソース解放処理を実行し、本処理ルーチンを終了する。
【００７６】
次に、仮想マシン管理システム１０において、ライブマイグレーション前に、中継地および移動先のデータセンター２２にリソースを確保することについてさらに説明する。
【００７７】
図１４に、仮想マシン管理システム１０における仮想マシン２８のリソース参照およびリソース確保についての情報授受の一例を示す。
【００７８】
管理装置１２の中継地算出機能部１４は、入力された仮想マシン２８の移動元および移動先を示す情報に応じて、中継地および経路（順序）を算出する（ステップ１００）。仮想化リソース制御機能部１７は、仮想マシン２８およびデータセンター２２の情報を取得する（ステップ１０２）。つまり、中継地リスト６８から経路番号「１」の情報が取得され、移動元の仮想化基盤２６が「H0001」で、中継地の仮想化基盤２６が「H0002」で、移動先の仮想化基盤２６が「H0003」である。また、移動対象の仮想マシン２８は、ＶＭＩＤ「V0001」のＶＭ  Ｎａｍｅ「VM-A1-1」で示される仮想マシン２８である。つまり、仮想化リソース制御機能部１７は、ＶＭＩＤ「V0001」のＶＭ  Ｎａｍｅ「VM-A1-1」で示される仮想マシン２８のリソース情報（図３）を取得する。具体的には、管理装置１２は、移動元のデータセンター２２の物理マシン７０からの応答を受け取り、移動対象のＶＭＩＤ「V0001」で示される仮想マシン２８のリソース情報を、仮想マシンテーブル６４（図３）に登録する。また、管理装置１２は、受け取った移動対象のＶＭＩＤ「V0001」で示される仮想マシン２８のリソース情報を、リソースＩＤ「VRSid001」を付与して仮想化基盤稼働率情報テーブル６５に登録する。
【００７９】
一方、移動元のデータセンター２２の物理マシン７０は、管理装置１２の要求に応じて、移動対象の仮想マシン２８のリソース参照処理を実行する（ステップ２０２）。つまり、移動元のデータセンター２２の仮想化リソース管理機能部３４が管理装置１２からの要求を受け付け、仮想化リソース制御機能部３６へ移動対象のＶＭＩＤ「V0001」で示される仮想マシン２８のリソース参照を指示する。仮想化リソース制御機能部３６は、移動対象の仮想マシン２８のリソースを確認し、リソース情報として仮想化リソース管理機能部３４へ返信する。仮想化リソース管理機能部３４は、移動対象の仮想マシン２８のリソースを示すリソース情報を管理装置１２へ応答する。
【００８０】
管理装置１２は、情報取得が終了すると、仮想化リソース制御機能部１７で、中継地および移動先のデータセンター２２に移動対象の仮想マシン２８のリソースの確保を要求する（ステップ１０４）。つまり、仮想化リソース制御機能部１７は、中継地で「H0002」の仮想化基盤２６および移動先で「H0003」の仮想化基盤２６へ、リソースＩＤ「VRSid001」で示されるリソースの確保を要求する。
【００８１】
中継地のデータセンター２２の物理マシン７０は、移動対象の仮想マシン２８のリソース確保処理を実行する（ステップ２０６）。つまり、管理装置１２からのリソースＩＤ「VRSid001」のリソース確保の要求を、中継地のデータセンター２２における仮想化リソース管理機能部３４が受け付け、仮想化リソース制御機能部３６へ移動対象の仮想マシン２８のリソース確保を指示する。仮想化リソース制御機能部３６は、リソース確保の指示に応じてリソースを確保する要求を仮想化基盤主要機能部３２へ指示する。仮想化基盤主要機能部３２は、仮想化リソース制御機能部３６からのリソース確保指示に応じてリソースの確保を行う処理を実行し、処理結果を示すリソース確保処理結果情報を仮想化リソース制御機能部３６へ通知する。リソース確保処理結果情報の一例は、リソースの確保が完了したことを示す情報がある。仮想化リソース制御機能部３６は、リソース確保処理結果情報の通知を、仮想化リソース管理機能部３４へ送る。仮想化リソース管理機能部３４は、リソース確保処理結果情報を管理装置１２へ応答する。なお、リソース確保処理結果情報は、移動対象の仮想マシン２８のリソースの確保を完了したこと示す場合、確保したリソースを示す情報を含む。
【００８２】
管理装置１２は、中継地のデータセンター２２の物理マシン７０からの応答を受け取り、リソースＩＤ「VRSid007」を付与して仮想化基盤稼働率情報テーブル６５（図４）および仮想化リソース空塞管理テーブル６６（図５）に登録する。仮想化基盤稼働率情報テーブル６５には、物理マシン７０で確保したリソースを示す情報に対して、仮想マシン２８は未定であるため、ＶＭＩＤ、ＶＭ  Ｎａｍｅ、およびＮＷ  Ｎａｍｅを示す情報は、未定であることを示す「NONE」の情報が記憶される。また、仮想化基盤稼働率情報テーブル６５のリソースＩＤ「VRSid007」に対応する仮想化リソース空塞管理テーブル６６の空塞情報には、確保状態を示す「temporary」の情報が記憶される。
【００８３】
本実施形態では、物理マシン７０でリソースが確保された場合、未使用時等に確保されたリソースを解放するためのタイムリミット値を定めることができる。例えば、リソースＩＤ「VRSid007」の空塞情報に、確保状態を示す「temporary」の情報が記憶された場合、仮想化リソースタイマー管理テーブル６７を参照してタイムリミット値が定められる。具体的には、リソースＩＤ「VRSid007」は、仮想マシン２８が使用する予め定めたリソースの種類及び大きさ等に対応する「VRS_class0」のリソースクラスに設定される。「VRS_class0」のリソースクラスは、「T001」のタイムリミット値になるので（図７に示すタイムリミット値テーブル６７Ｂ参照）、リソースＩＤ「VRSid007」のタイムリミット値は「T001」になる（図６に示すＶＭ時限タイマーテーブル６７Ａ参照）。
【００８４】
移動先のデータセンター２２の物理マシン７０も同様に、移動対象の仮想マシン２８のリソース確保処理を実行する（ステップ２０６）。
【００８５】
管理装置１２は、移動対象の仮想マシン２８のリソース確保が終了すると、移動対象の仮想マシン２８を移動するライブマイグレーションを実行する（ステップ１０６）。
【００８６】
図１５に、管理装置１２として動作するコンピュータ４２で実行されるステップ１０２（図１２）における情報取得処理の流れの一例を示す。また、図１６に、移動元のデータセンター２２として動作する物理マシン７０で実行されるステップ２０２（図１３）におけるリソース参照処理の流れの一例を示す。
【００８７】
管理装置１２の仮想化リソース制御機能部１７として動作するコンピュータ４２のＣＰＵ４４は、ステップ１１０で、中継地リスト６８を参照して、移動元から中継地を介して移動先のデータセンター２２についての情報を取得する。次にＣＰＵ４４は、ステップ１１２で、移動元で稼働する移動対象の仮想マシン２８が使用するリソース情報を取得する。つまり、ＣＰＵ４４は、移動元のデータセンター２２の物理マシン７０へリソース情報を要求し、応答によりリソースＩＤ「VRSid001」で示すことになるリソース情報を取得する。
【００８８】
一方、移動元のデータセンター２２として動作する物理マシン７０のＣＰＵ７２は、ステップ２２０において仮想化リソース管理機能部３４で、管理装置１２の要求を受け付け、仮想化リソース制御機能部３６へ仮想マシン２８のリソース参照を指示する。次にＣＰＵ７２は、ステップ２２２において、仮想化リソース制御機能部３６で、移動対象の仮想マシン２８のリソースを確認する取得処理を実行して仮想化リソース管理機能部３４へ返信する。次にＣＰＵ７２は、ステップ２２４において、仮想化リソース管理機能部３４で、移動対象の仮想マシン２８のリソースを示すリソース情報を取得結果として応答する。
【００８９】
図１７に、管理装置１２として動作するコンピュータ４２で実行されるステップ１０４（図１２）におけるリソース確保を要求する処理の流れの一例を示す。また、図１８に、データセンター２２として動作する物理マシン７０で実行されるステップ２０６（図１３）におけるリソース確保処理の流れの一例を示す。
【００９０】
管理装置１２の仮想化リソース制御機能部１７として動作するコンピュータ４２のＣＰＵ４４は、ステップ１１４で、中継地および移動先のデータセンター２２に移動対象の仮想マシン２８のリソースの確保を要求する。つまり、ＣＰＵ４４は、リソースＩＤ「VRSid001」のリソース情報によるリソースの確保を要求する。
【００９１】
一方、データセンター２２の物理マシン７０のＣＰＵ７２は、ステップ２２６において仮想化リソース管理機能部３４で、管理装置１２からの要求を受け付け、仮想化リソース制御機能部３６へ移動対象の仮想マシン２８のリソース確保を指示する。つまり、ＣＰＵ７２は、リソースＩＤ「VRSid001」のリソース情報によるリソースを確保する指示を行う。次にＣＰＵ７２は、ステップ２２８において、仮想化リソース制御機能部３６で、リソースを確保する要求を仮想化基盤主要機能部３２へ行う。ＣＰＵ７２は、次のステップ２３０において、仮想化基盤主要機能部３２で、リソースを確保する処理を実行し、処理結果を示すリソース確保処理結果情報を仮想化リソース制御機能部３６へ通知する。また、仮想化リソース制御機能部３６は、リソース確保処理結果情報の通知を、仮想化リソース管理機能部３４へ送る。次にＣＰＵ７２は、ステップ２３２において、仮想化リソース管理機能部３４で、移動対象の仮想マシン２８のリソースについてのリソース確保処理結果情報を管理装置１２へ応答する。
【００９２】
例えは、データセンター２２の物理マシン７０において、第１の仮想マシン２８Ａが稼働中に、第２の仮想マシン２８Ｂのリソースを確保する場合を考える。仮想マシン２８が用いるＣＰＵ使用率をリソースとする場合、第１の仮想マシン２８Ａが３０％のＣＰＵ使用率（６ＧＨｚ分）で稼働中のとき、ＣＰＵリソース３３は、３つのセル３３Ａを使用することになる（図９）。データセンター２２の物理マシン７０に第２の仮想マシン２８Ｂの２０％のＣＰＵ使用率（４ＧＨｚ分）であるリソースを確保する要求を受け取ると、仮想化リソース管理機能部３４は、空きのリソースから２つのセル３３Ｂを確保することを実行する。
【００９３】
また、例えば、仮想マシン２８が用いるメモリの使用率をリソースとする場合、第１の仮想マシン２８Ａが８ＧＢ分のメモリ使用量で稼働中のとき、メモリリソース３５は、２つのセル３５Ａを使用することになる（図１０）。データセンター２２の物理マシン７０に第２の仮想マシン２８Ｂの１２ＧＢ分のメモリ使用量であるリソースを確保する要求を受け取ると、仮想化リソース管理機能部３４は、第３つのセル３５Ｂを確保することを実行する。
【００９４】
ところで、データセンター２２の物理マシン７０では、リソースの確保を失敗する場合がある。そこで、管理装置１２では、リソースの確保に失敗したデータセンター２２を除外して移動先までの中継地および経路（順序）を再度算出して処理を継続する。
【００９５】
つまり、管理装置１２の仮想化リソース制御機能部１７として動作するコンピュータ４２のＣＰＵ４４は、ステップ１１６で、ステップ１１４による要求の応答がリソース確保の成功か否かを判断する。ステップ１１６で肯定判断の場合には、そのまま本処理ルーチンを終了する。一方、ステップ１１６で否定判断される場合には、ステップ１１８へ処理を移行する。ステップ１１８では、リソース確保に失敗した中継地を除き、移動元から移動先に至る中継地のデータセンター２２を再算出する指示を、中継地算出機能部１４へ行い、中継地のデータセンター２２を示す情報を再取得する。中継地を示す情報の再取得は、中継地リスト６８の中からリソース確保に失敗した中継地を除く経路を選択することにより実行できる。次に、ＣＰＵ４４は、ステップ１１４へ戻り、再取得した中継地のデータセンター２２を示す情報に応じてリソース確保処理を実行する。
【００９６】
なお、ＣＰＵ４４は、ステップ１１６で肯定判断した場合、物理マシン７０で確保されたリソースを未使用時等に解放するため、タイムリミット値を定めることができる。例えば、リソースＩＤ「VRSid007」のリソースについては、「VRS_class0」のリソースクラスが設定され、「T001」のタイムリミット値で（図７に示すタイムリミット値テーブル６７Ｂ参照）、タイムリミット値が「T001」に設定される（図６に示すＶＭ時限タイマーテーブル６７Ａ参照）。
【００９７】
次に、仮想マシン管理システム１０におけるライブマイグレーション処理についてさらに説明する。
【００９８】
図１９に、仮想マシン管理システム１０におけるライブマイグレーションについての情報授受の一例を示す。
【００９９】
管理装置１２のマイグレーション管理機能部１５は、移動順序に従って、受け入れ先のデータセンター２２へ仮想マシン２８の受け入れ確認を行った後に、仮想マシン２８の移動を指示する（ステップ１０６）。
【０１００】
まず、移動元のデータセンター２２から中継地のデータセンター２２へ仮想マシン２８を移動する場合について説明する。この場合、中継地のデータセンター２２は、移動元のデータセンター２２で稼働する仮想マシン２８の受け入れ先である。移動元のデータセンター２２と受け入れ先である中継地のデータセンター２２との間で、仮想マシン２８が移動される（ステップ２１０）。
【０１０１】
受け入れ先のデータセンター２２の物理マシン７０は、仮想化基盤主要機能部３２で、管理装置１２の要求に応じて、移動対象の仮想マシン２８を受け入れることが可能か否かを確認し、確認結果を返信する。次に、移動元のデータセンター２２の物理マシン７０は、仮想マシン２８が受け入れ先で受け入れ可能である場合、管理装置１２からの指示に応じて、仮想化基盤主要機能部３２で、仮想マシン２８の移動処理を実行する。受け入れ先のデータセンター２２の物理マシン７０は、仮想化基盤主要機能部３２で、仮想マシン２８の受け入れ処理を実行し、処理結果を、移動元のデータセンター２２へ返信する。移動元のデータセンター２２の仮想化基盤主要機能部３２は、仮想マシン２８の移動処理による処理結果を示す情報で、管理装置１２へ応答する。
【０１０２】
管理装置１２は、受け入れ先で仮想マシン２８の受け入れが可能である場合、仮想化リソース空塞管理テーブル６６（図５）の空塞情報に、マイグレーション中状態を示す「temporary on migration」の値を登録し、仮想マシン２８の移動開始を指示する。つまり、移動元におけるリソースＩＤ「VRSid001」の空塞情報を「temporary on migration」に更新し、受け入れ先におけるリソースＩＤ「VRSid007」の空塞情報を「temporary」から「temporary on migration」に更新する。
【０１０３】
次に、中継地のデータセンター２２から移動先のデータセンター２２へ仮想マシンを移動する場合について説明する。この場合、中継地のデータセンター２２は、仮想マシンの移動元のデータセンターであり、移動先のデータセンター２２は、仮想マシンの受け入れ先である。移動元のデータセンター２２から受け入れ先である中継地のデータセンター２２へ仮想マシン２８を移動するのと同様に、中継地のデータセンター２２と受け入れ先である移動先のデータセンター２２との間で、仮想マシン２８が移動される（ステップ２１０）。
【０１０４】
図２０に、管理装置１２として動作するコンピュータ４２で実行されるステップ１０６（図１２）における移動処理の流れの一例を示す。また、図２１に、移動元及び受け入れ先のデータセンター２２として動作する物理マシン７０で実行されるステップ２１０（図１３）における移動処理の流れの一例を示す。
【０１０５】
管理装置１２のマイグレーション管理機能部１５として動作するコンピュータ４２のＣＰＵ４４は、ステップ１２０で、受け入れ先のデータセンター２２へ、移動元の仮想マシン２８の受け入れを要求する受入情報を通知する。次にＣＰＵ４４は、ステップ１２２で、受け入れ先のデータセンター２２からの返信が、受け入れ可能であることを示す情報であるか否かを判断する。ＣＰＵ４４は、ステップ１２２で肯定判断した場合、ステップ１２４へ処理を移行し、移動元のデータセンター２２における仮想化基盤２６へ、移動対象の仮想マシン２８の移動を指示する。
【０１０６】
次にＣＰＵ４４は、ステップ１２６で、移動元のデータセンター２２からの返信が、仮想マシン２８の移動に成功したことを示す情報であるか否かを判断する。ステップ１２６で、ＣＰＵ４４が肯定判断した場合、次のステップ１２８で、最終の移動先のデータセンター２２であるか否かを判別することにより仮想マシン２８の移動順序で次のデータセンター２２がないか否かを判断する。次のデータセンター２２が存在する場合、ＣＰＵ４４は、ステップ１２８で否定判断し、ステップ１２０へ処理を戻す。一方、ＣＰＵ４４がステップ１２８で肯定判断した場合、移動順序に従って仮想マシン２８の移動が全て成功しているものとして、本処理ルーチンを終了する。
【０１０７】
一方、データセンター２２の仮想化基盤主要機能部３２として動作する物理マシン７０のＣＰＵ７２は、ステップ２４０で、自己の仮想化基盤２６が仮想マシン２８の受け入れ先であるか否かを判断する。ステップ２４０の判断は、管理装置１２から受入情報を受信したか否かを判別することにより判断できる。自己の仮想化基盤２６が仮想マシン２８の受け入れ先である場合、ＣＰＵ７２は、ステップ２４０で肯定判断し、ステップ２４２へ処理を移行する。ＣＰＵ７２は、ステップ２４２で、仮想マシン２８を受け入れることが可能であるか否かを確認し、確認結果を管理装置１２へ返信する。次にＣＰＵ７２は、ステップ２４４で、管理装置１２へ返信した確認結果が仮想マシン２８を受け入れ可能か否かを判断し、否定判断の場合、そのまま本処理ルーチンを終了する。一方、ＣＰＵは、ステップ２４４で肯定判断した場合、ステップ２４６へ処理を移行し、仮想化基盤２６に仮想マシン２８を受け入れる処理を実行し、処理結果を管理装置１２へ通知する。
【０１０８】
また、自己の仮想化基盤２６が移動対象の仮想マシン２８を管理する仮想化基盤２６である場合、ＣＰＵ７２は、ステップ２４０で否定判断し、ステップ２４８へ処理を移行する。ステップ２４８では、ＣＰＵ７２は、移動対象の仮想マシン２８を受け入れ先に移動する処理を実行し、次のステップ２５０で処理結果を管理装置１２へ応答する。
【０１０９】
ところで、データセンター２２の物理マシン７０では、稼働状況によって仮想マシン２８を受け入れることが困難な場合がある。また、仮想マシン２８の移動を失敗する場合がある。そこで、管理装置１２では、データセンター２２で仮想マシン２８の受け入れが困難な場合、または仮想マシン２８の移動を失敗する場合、該当するデータセンター２２を除外して移動先までの中継地および経路（順序）を再度算出して処理を継続する。
【０１１０】
つまり、管理装置１２として動作するコンピュータ４２のＣＰＵ４４は、ステップ１３２において、マイグレーション管理機能部１５より仮想化リソース制御機能部１７へ、仮想マシン２８の受け入れが困難、または移動が失敗したことを通知する。仮想化リソース制御機能部１７は、図１７に示すステップ１１８の処理と同様に、移動先に至る中継地のデータセンター２２を再算出する指示を、中継地算出機能部１４へ行い、中継地のデータセンター２２を示す情報を再取得する。なお、ステップ１３２では、仮想マシン２８の受け入れが困難な場合には、移動先に至る中継地のデータセンター２２を再算出する指示を、中継地算出機能部１４へ行う。また、仮想マシン２８の移動処理の過程であることが考えられるため、移動に失敗した場合、ステップ１３２では、失敗した中継地を移動元として移動先に至る中継地のデータセンター２２を再算出する指示を、中継地算出機能部１４へ行う。次のステップ１３４では、図１７に示す処理と同様に、中継地および移動先のリソースを確保し、本処理ルーチンを終了する。
【０１１１】
次に、仮想マシン管理システム１０において、仮想マシン２８の移動前に、中継地および移動先のデータセンター２２に確保したリソースを、解放することについてさらに説明する。
【０１１２】
図２２に、仮想マシン管理システム１０における仮想マシン２８のリソース解放についての情報授受の一例を示す。
【０１１３】
管理装置１２では、マイグレーション管理機能部１５による仮想マシン２８の移動処理が終了すると（ステップ１０６）、仮想化リソース制御機能部１７によって、確保済みの仮想マシン２８のリソースの解放を要求する（ステップ１０８）。つまり、管理装置１２は、仮想化リソース空塞管理テーブル６６に基づいて、仮想マシン２８の移動のために確保したリソースの開放を要求する。具体的には、管理装置１２は、確保済みの仮想マシン２８のリソースについて、移動処理が終了してから未使用のまま所定時間を経過したリソース、または確保してから未使用のまま所定時間を経過したリソースの解放を要求する。
【０１１４】
移動元のデータセンター２２の物理マシン７０は、管理装置１２の要求に応じて、確保済みの仮想マシン２８のリソースの解除（解放）する確保リソース解放処理を実行する（ステップ２１４）。つまり、仮想化リソース管理機能部３４が管理装置１２からの要求を受け付け、仮想化リソース制御機能部３６へ確保済みの仮想マシン２８のリソース解放を指示する。仮想化リソース制御機能部３６は、リソース解放の指示に応じてリソースを解放する要求を仮想化基盤主要機能部３２へ指示する。仮想化基盤主要機能部３２は、仮想化リソース制御機能部３６からのリソース解放指示に応じてリソースを解放し、解放を完了すると仮想化リソース制御機能部３６へリソース解放完了を通知する。仮想化リソース制御機能部３６は、リソース解放完了の通知を、仮想化リソース管理機能部３４へ送る。仮想化リソース管理機能部３４は、仮想マシン２８のリソースの解放を完了したこと示す情報を管理装置１２へ応答する。
【０１１５】
中継地および移動先のデータセンター２２の物理マシン７０も同様に、順次、仮想マシン２８のリソース解放処理を実行する（ステップ２１４）。
【０１１６】
図２３に、管理装置１２として動作するコンピュータ４２で実行されるステップ１０８（図１２）におけるリソース解放の要求処理の流れの一例を示す。また、図２４に、データセンター２２として動作する物理マシン７０で実行されるステップ２１４（図１３）におけるリソース解放処理の流れの一例を示す。
【０１１７】
管理装置１２の仮想化リソース制御機能部１７として動作するコンピュータ４２のＣＰＵ４４は、ステップ１４０で、仮想化リソース空塞管理テーブル６６（図５）から１個のリソースＩＤを取得する。次にＣＰＵ４４は、ステップ１４２で、ステップ１４０で取得したリソースＩＤが最後のリソースＩＤに対する処理が終了したか否かを判別することで全てのリソースＩＤに対する処理が終了したか否かを判断する。ＣＰＵ４４は、ステップ１４２で肯定判断した場合には、そのまま本処理ルーチンを終了し、否定判断した場合にはステップ１４４へ処理を移行する。
【０１１８】
ステップ１４４では、ＣＰＵ４４は、ステップ１４０で取得したリソースＩＤのリソースの状態が確保状態である「temporary」か否かを判断し、肯定判断の場合はステップ１４６へ処理を移行し、否定判断の場合はステップ１５２へ処理を移行する。ステップ１４６では、ＣＰＵ４４は、仮想化リソース空塞管理テーブル６６を参照し、確保状態の経過時間Ｔ（現在時刻から最終更新時刻を減算した時間）を計算し、ステップ１４８へ進む。ＣＰＵ４４は、ステップ１４８で、経過時間Ｔが確保状態用に予め定めた時間Ｔ１を超えるか否かを判断する。予め定めた時間Ｔ１は、リソースの確保後に（図１７に示すステップ１１６の肯定判断後に）、定めたタイムリミット値を用いることができる。例えば、リソースＩＤ「VRSid007」には、「VRS_class0」のリソースクラスで「T001」のタイムリミット値が設定される（図６および図７）。経過時間Ｔが時間Ｔ１以内の場合、確保されたリソースが利用される可能性があるため、ＣＰＵ４４はステップ１４８で否定判断し、ステップ１４０へ処理を戻し、次のリソースＩＤについての処理を実行する。一方、経過時間Ｔが時間Ｔ１を超える場合、ＣＰＵ４４はステップ１４８で肯定判断し、ステップ１５０で、リソースの解放を指示した後に、ステップ１４０へ処理を戻し、次のリソースＩＤについての処理を実行する。なお、ステップ１５０では、リソースの解放を指示する場合に、リソースＩＤを示す情報を含めて指示する。
【０１１９】
ＣＰＵ４４は、ステップ１４４で否定判断した場合、ステップ１５２で、ステップ１４０で取得したリソースＩＤのリソースの状態がマイグレーション中状態である「temporary on migration」か否かを判断する。ＣＰＵ４４は、ステップ１５２で肯定判断した場合、ステップ１５４へ処理を移行し、否定判断した場合、ステップ１４０へ処理を戻す。ステップ１５４では、ＣＰＵ４４は、仮想化リソース空塞管理テーブル６６を参照し、マイグレーション中状態の経過時間Ｔ（現在時刻から最終更新時刻を減算した時間）を計算し、ステップ１５６へ進む。ＣＰＵ４４は、ステップ１５６で、経過時間Ｔがマイグレーション中状態用に予め定めた時間Ｔ２を超えるか否かを判断する。予め定めた時間Ｔ２は、時間Ｔ１と同一であってもよく、異なる時間を定めてもよい。本実施形態では、時間Ｔ１と時間Ｔ２とが同一の場合を説明する。経過時間Ｔが時間Ｔ２以内の場合、確保されたリソースが利用される可能性があるため、ＣＰＵ４４はステップ１５６で否定判断し、ステップ１４０へ処理を戻し、次のリソースＩＤについての処理を実行する。一方、経過時間Ｔが時間Ｔ２を超える場合、ＣＰＵ４４はステップ１５６で肯定判断し、ステップ１５８で、リソースの解放を指示した後に、ステップ１４０へ処理を戻し、次のリソースＩＤについての処理を実行する。なお、ステップ１５８では、リソースの解放を指示する場合に、リソースＩＤを示す情報を含めて指示する。
【０１２０】
一方、データセンター２２の物理マシン７０のＣＰＵ７２は、ステップ２６０において仮想化リソース管理機能部３４で、管理装置１２からのリソース解放要求を受け付け、仮想化リソース制御機能部３６へ確保済みの仮想マシン２８のリソース解放を指示する。つまり、ＣＰＵ７２は、リソースＩＤを示す情報で指示されたリソースの解放を指示することを、仮想化リソース制御機能部３６へ行う。次にＣＰＵ７２は、ステップ２６２において、仮想化リソース制御機能部３６で、確保済みのリソースを解放する処理を実行する要求を仮想化基盤主要機能部３２へ行う。ＣＰＵ７２は、次のステップ２６４において、仮想化基盤主要機能部３２で、指示されたリソースＩＤのリソースを解放し、解放を完了すると仮想化リソース制御機能部３６へリソース解放完了を通知する。また、仮想化リソース制御機能部３６は、リソース解放完了の通知を、仮想化リソース管理機能部３４へ送る。次にＣＰＵ７２は、ステップ２６６において、仮想化リソース管理機能部３４で、仮想マシン２８のリソースの解放を完了したこと示す情報を管理装置１２へ応答する。
【０１２１】
以上説明したように、第１実施形態では、仮想マシン２８の移動、例えばライブマイグレーションを行う前に、中継地および移動先の環境で、移動対象の仮想マシン２８が使用するリソースを確保してから、ライブマイグレーションを実行する。つまり、仮想マシン２８を移動する以前に、仮想マシン２８が使用するリソースを予め確保でき、仮想マシン２８を確実に移動することができる。また、仮想マシン２８が使用するリソースを予め確保してから移動するので、仮想マシン２８の移動後の仮想マシン２８の稼働時に、リソース不足による仮想マシン２８の性能低下を招くことはない。
【０１２２】
また、第１実施形態では、移動元から移動先へ中継する中継地および経路（順序）を、中継地算出機能部１４において算出し、算出された中継地および経路（順序）を示す情報に基づいて、仮想マシン２８を移動する。従って、仮想マシン２８を移動する中継地および経路（順序）を算出する部分を構成として分離でき、中継地算出機能部１４で算出された情報を用いて、移動元から移動先へ至る仮想マシン２８の移動を確実に行うことができる。
【０１２３】
さらに、第１実施形態では、仮想マシン２８が使用するリソースの確保が困難な場合に、移動元から移動先へ中継する中継地および経路（順序）を再取得する。従って、仮想マシン２８の移動前に、仮想マシン２８が使用するリソースを確保できる中継地および経路を特定でき、性能低下の可能性を含む仮想マシン２８の移動を中止することができる。再取得で特定された中継地および経路によって、仮想マシン２８を移動するので、移動対象の仮想マシン２８の性能を低下させることなく、仮想マシン２８を移動できる。
【０１２４】
また、第１実施形態では、仮想マシン２８の移動中に、移動が困難な状況になる場合に、移動が困難な状況になった移動元から移動先へ中継する中継地および経路を再取得する。従って、仮想マシン２８の移動中であっても、仮想マシン２８が使用するリソースを確保できる中継地および経路を特定でき、移動対象の仮想マシン２８の性能を低下させることなく、仮想マシン２８を移動できる。
【０１２５】
さらにまた、第１実施形態では、移動対象の仮想マシン２８が使用するリソースを確保してから、所定時間の未使用状態である場合に、確保済みのリソースを解放する。従って、リソースを長時間確保した状態で維持させることを抑制できる。また、第１実施形態では、移動対象の仮想マシン２８を移動してから、所定時間を経過した場合に、確保済みのリソースを解放する。従って、仮想マシン２８の移動後にリソースを長時間確保した状態で維持させることを抑制できる。
【０１２６】
＜第２実施形態＞
次に第２実施形態を説明する。第２実施形態は、複数の仮想マシンを移動する場合に開示の技術を適用したものである。なお、第２実施形態は、第１実施形態と略同様の構成のため、同一部分には同一符号を付して詳細な説明を省略する。
【０１２７】
図２５に、第２実施形態にかかる仮想マシン管理システム１０における仮想マシン２８のリソース参照およびリソース確保についての情報授受の一例を示す。
【０１２８】
管理装置１２の中継地算出機能部１４は、中継地および経路（順序）を算出し（ステップ１００）、仮想化リソース制御機能部１７は、仮想マシン２８およびデータセンター２２の情報を取得する（ステップ１０２）。なお、第２実施形態では、移動対象の仮想マシン２８は、ＶＭ  ＩＤが「V0001」、「V0002」、「V0003」で示される仮想マシン２８とする。移動元のデータセンター２２は、「V0001」、「V0002」、および「V0003」のＶＭ  ＩＤで示される移動対象の仮想マシン２８のリソース参照処理を実行する（ステップ２０２）。管理装置１２は、複数の仮想マシン２８の各リソース情報に、リソースＩＤ「VRSid001」、「VRSid002」、「VRSid003」を付与して仮想化基盤稼働率情報テーブル６５に登録し、中継地および移動先に仮想マシン２８のリソースの確保を要求する（ステップ１０４）。
【０１２９】
中継地のデータセンター２２は、移動対象の仮想マシン２８のリソース確保処理を実行する（ステップ２０６）。なお、詳細は後述するが、第２実施形態では、中継地のデータセンター２２に、複数の移動対象の仮想マシン２８の各々のリソースを確保することを要求しない。つまり、第２実施形態では、複数の移動対象の仮想マシン２８を順次移動することを前提として、移動対象の複数の仮想マシン２８のうち最大のリソースを使用可能にリソース領域を確保しておき、確保したリソース領域を用いる。従って、管理装置１２は、中継地のデータセンター２２に、移動対象の複数の仮想マシン２８のうち最大のリソースを使用可能に確保する指示を行う。そして、管理装置１２は、仮想化リソース空塞管理テーブル６６の空塞情報に、確保状態を示す「temporary」の情報が記憶される。一方、移動先のデータセンター２２は、複数の移動対象の仮想マシン２８の各々のリソースを確報するリソース確保処理を実行する（ステップ２０６）。
【０１３０】
図２６に、第２実施形態にかかる管理装置１２における情報取得処理の流れの一例を示す。また、図２７に、第２実施形態にかかる移動元のデータセンター２２におけるリソース参照処理の流れの一例を示す。
【０１３１】
コンピュータ４２のＣＰＵ４４は、中継地リスト６８を参照して、移動元から中継地を介して移動先のデータセンター２２についての情報を取得する（ステップ１１０）。次にＣＰＵ４４は、ステップ１１２Ａで、移動元で稼働する移動対象の複数の仮想マシン２８が使用する各リソース情報（リソースＩＤの「VRSid001」「VRSid002」「VRSid003」で示すリソース情報）を取得する。
【０１３２】
一方、物理マシン７０のＣＰＵ７２は、ステップ２２０Ａで、仮想化リソース制御機能部３６へ移動対象の複数の仮想マシン２８のリソース参照を指示し、ステップ２２２Ａで、複数の仮想マシン２８のリソースを確認する。次にＣＰＵ７２は、ステップ２２４Ａにおいて、移動対象の複数の仮想マシン２８のリソースを示すリソース情報を取得結果として応答する。
【０１３３】
図２８に、第２実施形態にかかる管理装置１２におけるリソース確保要求処理の流れの一例を示す。また、図２９に、第２実施形態にかかるデータセンター２２におけるリソース確保処理の流れの一例を示す。
【０１３４】
管理装置１２の仮想化リソース制御機能部１７として動作するコンピュータ４２のＣＰＵ４４は、ステップ１１４Ａで、移動対象の複数の仮想マシン２８のリソースを示すリソース情報のうち、最大となるリソースを示すリソース情報を特定する。次にＣＰＵ４４は、ステップ１１４Ｂで、中継地のデータセンター２２に、ステップ１１４Ａで求めた最大のリソースを示すリソース情報の確保を要求する。なお、ステップ１１４Ｂでは、ステップ１１４Ａで求めた最大のリソースを示すリソース情報を確保する要求を行うために、最大のリソース以上のリソースを示すリソース情報を要求してもよい。次のステップ１１４Ｃでは、ＣＰＵ４４は、移動先のデータセンター２２に移動対象の複数の仮想マシン２８の各々のリソースの確保を要求する。つまり、ＣＰＵ４４は、リソースＩＤ「VRSid001」「VRSid002」「VRSid003」のリソース情報によるリソースの確保を要求する。
【０１３５】
一方、データセンター２２では、ＣＰＵ７２は、まず、ステップ２２５で、管理装置１２からの要求が中継地に対するものであるか否かを判断する。管理装置１２からの要求が中継地に対する場合、ＣＰＵ７２は、ステップ２２５で肯定判断し、ステップ２２５Ａにおいて、図１８に示す処理と同様に、要求された（最大の）リソースを示すリソース情報によるリソースを確保する処理を実行する。一方、ＣＰＵ７２が、ステップ２２５で否定判断した場合、移動先のデータセンター２２として、複数のリソースを確保する処理を実行する。つまり、ＣＰＵ７２は、ステップ２２６Ａで、仮想化リソース制御機能部３６へ移動対象の複数の仮想マシン２８のリソース確保を指示する。次にＣＰＵ７２は、ステップ２２８Ａにおいて、仮想化リソース制御機能部３６で、各リソースを確保する要求を仮想化基盤主要機能部３２へ行う。ＣＰＵ７２は、次のステップ２３０Ａにおいて、仮想化基盤主要機能部３２で、複数のリソースを確保し、確保を完了すると仮想化リソース制御機能部３６へ複数のリソース確保完了を通知する。また、仮想化リソース制御機能部３６は、複数のリソース確保完了の通知を、仮想化リソース管理機能部３４へ送る。次にＣＰＵ７２は、ステップ２３２Ａにおいて、仮想化リソース管理機能部３４で、移動対象の複数の仮想マシン２８のリソースの確保を完了したこと示す情報を管理装置１２へ応答する。
【０１３６】
図３０に、第２実施形態にかかる仮想マシン管理システム１０におけるライブマイグレーションについての情報授受の一例を示す。
【０１３７】
管理装置１２のマイグレーション管理機能部１５は、移動順序に従って、受け入れ先のデータセンター２２へ仮想マシン２８の受け入れ確認を行った後に仮想マシン２８の移動を指示することを（ステップ１０６）、移動対象の複数の仮想マシン２８の各々について、順次実行する。
【０１３８】
まず、移動元から受け入れ先として中継地へ仮想マシン２８を移動する場合、移動元のデータセンター２２と受け入れ先である中継地のデータセンター２２との間で、仮想マシン２８が移動される（ステップ２１０）。中継地のデータセンター２２では、移動対象の複数の仮想マシン２８のうち最大のリソースが使用可能に確保された１つの共通利用リソース（ＣＰＵリソース３３及びメモリリソース３５として確保されるリソース領域）を用いる。
【０１３９】
なお、管理装置１２は、仮想化リソース空塞管理テーブル６６（図５）の空塞情報に、複数の各仮想マシン２８の移動中にのみ、マイグレーション中状態を示す「temporary on migration」の値を登録してもよく、複数の仮想マシン２８の移動中にマイグレーション中状態を示す「temporary on migration」の値を維持させてもよい。
【０１４０】
次に、中継地のデータセンター２２から移動先のデータセンター２２へ仮想マシンを移動する場合、中継地のデータセンター２２と受け入れ先である移動先のデータセンター２２との間で、仮想マシン２８が移動される（ステップ２１０）。中継地のデータセンター２２では、共通利用リソースとして確保されたリソースを用いて中継地のデータセンター２２から、移動先のデータセンター２２へ、仮想マシンが移動される。
【０１４１】
図３１に、第２実施形態にかかる移動元及び受け入れ先のデータセンター２２として動作する物理マシン７０で実行されるステップ２１０（図１３）における移動処理の流れの一例を示す。なお、管理装置１２で実行される移動対象の複数の仮想マシン２８の移動処理は、図２０に示す移動処理（図１２に示すステップ１０６）を繰り返し実行するため、詳細な説明を省略する。
【０１４２】
データセンター２２の仮想化基盤主要機能部３２として動作する物理マシン７０のＣＰＵ７２は、仮想マシン２８の受け入れが可能である場合（ステップ２４４で肯定判断した場合）、ステップ２４５へ処理を移行する。ＣＰＵ７２は、ステップ２４５で、自己の仮想化基盤２６が中継地の仮想化基盤２６であるか否かを判断する。ステップ２４５の判断は、管理装置１２から中継地を示す受入情報であるか否かを判別することにより判断できる。ＣＰＵ７２は、ステップ２４５で、肯定判断した場合、ステップ２４７へ処理を移行し、移動対象の複数の仮想マシン２８のうち最大のリソースが使用可能に確保された１つの共通利用リソースを用いて仮想マシン２８を受け入れる。一方、ＣＰＵ７２は、ステップ２４５で、否定判断した場合、図２１に示すステップ２４６の処理と同様に、仮想化基盤２６に仮想マシン２８を受け入れる処理を実行する。
【０１４３】
以上説明したように、第２実施形態では、複数の仮想マシン２８を移動する場合に、中継地における環境で、移動対象の複数の仮想マシン２８の各々が使用するリソースのうち最大となるリソース以上の１つのリソースを確保して移動を実行する。従って、中継地のデータセンター２２において、複数の仮想マシン２８の各々を移動するときに、複数の仮想マシン２８のリソースの総和を確保する必要はない。これにより、第２実施形態では、第１実施形態の効果に加えて、中継地における環境で、移動対象の複数の仮想マシン２８を移動するにあたり、リソース確保によるリソースの消費を抑制することができる。
【０１４４】
＜第３実施形態＞
次に第３実施形態を説明する。なお、第３実施形態は、第１実施形態と同様の構成のため、同一部分には同一符号を付して詳細な説明を省略する。
【０１４５】
第１実施形態および第２実施形態では、移動対象の仮想マシン２８が使用するリソースを参照して、受け入れ先のデータセンター２２に、移動対象の仮想マシン２８が使用するリソースを確保した。第３実施形態では、所定の時期に、仮想化基盤２６に予め定めた一定量のリソースを予約してしておき、仮想マシン２８を移動するときに、予約したリソースを、確保用のリソースとして用いるものである。つまり、ネットワーク２０に接続され、仮想マシン２８の移動について、受け入れ先となる可能性を有するデータセンター２２に、予め定めた一定量のリソースを、仮想マシン２８の移動用のリソースとして予約する。
【０１４６】
図３２に、仮想マシン管理システム１０における仮想マシン２８のリソース参照およびリソース確保までの情報授受の一例を示す。
【０１４７】
まず、管理装置１２では、ライブマイグレーションの処理前に、仮想化リソース制御機能部１７で、ネットワーク２０に接続されるデータセンター２２の各々に、仮想マシン２８が使用するリソース用として定めたリソースの予約を行う（ステップ１０１）。つまり、管理装置１２は、仮想化リソース制御機能部１７で、データセンター２２の各々に、仮想マシン２８が使用するリソースとして予め定めた量のリソースを予約しておく。詳細には、管理装置１２は、仮想化基盤テーブル６３を参照して、仮想マシン２８を構築可能な仮想化基盤２６へ、予め定めたリソースを、仮想マシン２８の移動時に使用可能に予約する要求を行う。なお、仮想マシン２８が使用するリソース用として定めたリソースは、予め定めた仮想マシン２８が使用するリソースの所定数分（例えば３倍）のリソースを定めることができる。
【０１４８】
データセンター２２の各々では、管理装置１２からのリソース予約処理を実行する（ステップ２０７）。つまり、管理装置１２からのリソース予約の要求を、仮想化リソース管理機能部３４が受け付け、仮想化リソース制御機能部３６へリソース予約を指示する。仮想化リソース制御機能部３６は、リソース予約の指示に応じてリソースを予約する要求を仮想化基盤主要機能部３２へ指示する。仮想化基盤主要機能部３２は、仮想化リソース制御機能部３６からのリソース予約指示に応じてリソースを使用可能に予約し、予約を完了すると仮想化リソース制御機能部３６へリソース予約完了を通知する。仮想化リソース制御機能部３６は、リソース予約完了の通知を、仮想化リソース管理機能部３４へ送る。仮想化リソース管理機能部３４は、リソースの予約を完了したこと示す情報を管理装置１２へ応答する。
【０１４９】
管理装置１２は、データセンター２２の各々からの応答を受け取り、仮想化基盤稼働率情報テーブル６５（図４）および仮想化リソース空塞管理テーブル６６（図５）に登録する。仮想化基盤稼働率情報テーブル６５には、予約したリソースを示す情報に対して、仮想マシン２８は未定であるため、ＶＭＩＤ、ＶＭ  Ｎａｍｅ、およびＮＷ  Ｎａｍｅを示す情報は、未定であることを示す「NONE」の情報が記憶される。また、仮想化リソース空塞管理テーブル６６の空塞情報には、確保状態を示す「temporary」またはマイグレーション中状態を示す「temporary on migration」の情報が記憶される。なお、仮想化リソース空塞管理テーブル６６の空塞情報には、予約したリソースを示す情報として専用の情報を記憶してもよい。
【０１５０】
図３３に、第３実施形態にかかる仮想化基盤稼働率情報テーブル６５の一例を示す。また、図３４に、第３実施形態にかかる仮想化リソース空塞管理テーブル６６の一例を示す。
【０１５１】
図３３は、仮想化基盤稼働率情報テーブル６５にはリソースＩＤ「VRS002」、「VRS003」および「VRS006」、「VRS007」によるリソースが予約されることを示す。図３４は、リソースＩＤ「VRS002」、「VRS003」および「VRS006」、「VRS007」によるリソースが、予約されたリソースとしてマイグレーション中状態を示す「temporary on migration」の情報が記憶されたことを示す。
【０１５２】
以上説明したように、第３実施形態では、仮想マシン２８の移動前に、事前に一定量のリソースを予約しておくので、仮想マシン２８の移動時に使用するリソース確保の失敗を抑制できる。
【０１５３】
なお、上記では仮想マシン管理システム１０をコンピュータシステム４０により実現する一例を説明した。しかし、これらの構成に限定されるものではなく、上記説明した要旨を逸脱しない範囲において、各種の改良及び変更を行っても良いのはもちろんである。
【０１５４】
また、上記ではプログラムが記憶部に予め記憶（インストール）されている態様を説明したが、これに限定されるものではない。例えば、開示の技術における管理プログラムおよび仮想化基盤プログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体に記録されている形態で提供することも可能である。
【０１５５】
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
【０１５６】
以上の実施形態に関し、更に以下の付記を開示する。
【０１５７】
（付記１）
移動元の第１の物理マシン上で稼働する移動対象の仮想マシンを、中継地の第２の物理マシンで中継して、移動先の第３の物理マシンへ、移動する場合に、前記第１の物理マシンにおける移動対象の仮想マシンの資源割当量の情報を含む資源割当情報を取得すると共に、第１の物理マシン、前記第２の物理マシンおよび前記第３の物理マシンの各々の位置情報と、移動対象の仮想マシンが移動される物理マシンの移動順序情報とを取得する取得部と、
前記取得部で取得した位置情報に基づいて、前記第２の物理マシンおよび前記第３の物理マシンの各々に、移動対象の仮想マシンの資源割当情報により示される資源割当量を確保することを示す要求情報を送信する要求部と、
前記第２の物理マシン及び前記第３の物理マシンの各々から、前記要求部で送信した要求情報の応答を受け取り、前記取得部で取得した位置情報、移動順序情報および受け取った応答に基づいて、移動対象の仮想マシンを、前記移動順序情報に従って移動する指示を行う指示部と、
を備えた仮想マシン管理装置。
【０１５８】
（付記２）
前記取得部は、入力された、移動元の第１の物理マシン上で稼働する移動対象の仮想マシンを示す情報、前記第１の物理マシンを示す情報、および移動先の第３の物理マシンを示す情報に基づいて、中継地の前記第２の物理マシンを示す情報を求めて、移動対象の仮想マシンが移動される物理マシンの移動順序情報を求める順序演算部から、前記位置情報および前記移動順序情報を取得する
ことを含む付記１に記載の仮想マシン管理装置。
【０１５９】
（付記３）
前記指示部は、前記第２の物理マシンおよび前記第３の物理マシンの各々から、前記資源割当情報により示される資源割当量を確保したことを示す応答を受け取った場合、移動対象の仮想マシンを、移動する指示を行い、前記第２の物理マシン及び前記第３の物理マシンの少なくとも一方から、前記資源割当量を確保したことを示す応答を受け取れなかった場合、前記応答を受け取れなかった第２の物理マシンと相違する物理マシンの位置情報および前記移動順序情報を、再取得する指示を行う
ことを含む付記１または付記２に記載の仮想マシン管理装置。
【０１６０】
（付記４）
前記指示部は、前記第２の物理マシンまたは前記第３の物理マシンから、移動対象の仮想マシンの移動が失敗したことを示す情報を受け取ったときに、前記第２の物理マシンと相違する物理マシンの位置情報を、前記中継地の第２の物理マシンの位置情報として再取得する指示を行う
ことを含む付記１〜付記３の何れか１項に記載の仮想マシン管理装置。
【０１６１】
（付記５）
前記取得部は、前記第１の物理マシン上で稼働する複数の移動対象の仮想マシンの各々の資源割当情報を取得し、
前記要求部は、前記取得部で取得した資源割当情報のうち、確保する資源割当量が所定量以上を示す資源割当情報により示される資源割当量を確保することを示す要求情報を送信する
ことを含む付記１〜付記４の何れか１項に記載の仮想マシン管理装置。
【０１６２】
（付記６）
複数の物理マシンの各々に、予め定めた資源割当量を確保する処理を実行する確保部
をさらに備え、
前記要求部は、前記確保部で確保した資源割当量を用いて、移動対象の仮想マシンの資源割当情報により示される資源割当量を確保することを示す要求情報を送信する
ことを含む付記１〜付記５の何れか１項に記載の仮想マシン管理装置。
【０１６３】
（付記７）
前記移動対象の仮想マシンが移動されたことを示す情報を受け取った場合に、前記第２の物理マシンおよび前記第３の物理マシンの各々に対して、前記確保した資源割当量の資源の割り当てを解放する処理を実行する解放部
をさらに備えた付記１〜付記６の何れか１項に記載の仮想マシン管理装置。
【０１６４】
（付記８）
前記要求部より前記要求情報を送信した前記第２の物理マシン及び前記第３の物理マシンの少なくとも一方の物理マシンについて、前記要求情報を送信してから所定時間を経過しても前記移動対象の仮想マシンが移動されたことを示す情報を受け取れない場合に、該当する前記第２の物理マシンおよび前記第３の物理マシンの少なくとも一方の物理マシンに対して、前記確保した資源割当量の資源の割り当てを解放する処理を実行する解放部
をさらに備えた
ことを含む付記１〜付記６の何れか１項に記載の仮想マシン管理装置。
【０１６５】
（付記９）
移動対象の仮想マシンが稼働する移動元の第１の物理マシンと、前記移動対象の仮想マシンの移動を中継する中継地の第２の物理マシンと、前記移動対象の仮想マシンの移動先の第３の物理マシンと、を含む仮想マシンシステムにおいて、
前記移動対象の仮想マシンを、移動元の第１の物理マシンから中継地の第２の物理マシンで中継して移動先の第３の物理マシンへ移動する制御を実行するコンピュータに、
前記コンピュータが、
前記第１の物理マシンにおける移動対象の仮想マシンの資源割当量の情報を含む資源割当情報を取得すると共に、第１の物理マシン、前記第２の物理マシンおよび前記第３の物理マシンの各々の位置情報と、移動対象の仮想マシンが移動される物理マシンの移動順序情報とを取得し、
取得した位置情報に基づいて、前記第２の物理マシンおよび前記第３の物理マシンの各々に、移動対象の仮想マシンの資源割当情報により示される資源割当量を確保することを示す要求情報を送信し
前記第２の物理マシン及び前記第３の物理マシンの各々から、送信した要求情報の応答を受け取り、取得した位置情報、移動順序情報および受け取った応答に基づいて、移動対象の仮想マシンを、前記移動順序情報に従って移動する指示を行う、
処理を実行させる仮想マシン管理システム。
【０１６６】
（付記１０）
仮想マシンが動作可能な複数の物理マシンを有する仮想マシンシステムにおいて、移動元の第１の物理マシン上で稼働する移動対象の仮想マシンを、中継地の第２の物理マシンで中継して、移動先の第３の物理マシンへの移動を制御する仮想マシン管理方法であって、
コンピュータに、
前記コンピュータが
移動元の第１の物理マシン上で稼働する移動対象の仮想マシンを、中継地の第２の物理マシンで中継して、移動先の第３の物理マシンへ、移動する場合に、前記第１の物理マシンにおける移動対象の仮想マシンの資源割当量の情報を含む資源割当情報を取得すると共に、第１の物理マシン、前記第２の物理マシンおよび前記第３の物理マシンの各々の位置情報と、移動対象の仮想マシンが移動される物理マシンの移動順序情報とを取得し、
取得した位置情報に基づいて、前記第２の物理マシンおよび前記第３の物理マシンの各々に、移動対象の仮想マシンの資源割当情報により示される資源割当量を確保することを示す要求情報を送信し、
前記第２の物理マシン及び前記第３の物理マシンの各々から、送信した要求情報の応答を受け取り、取得した位置情報、移動順序情報および受け取った応答に基づいて、移動対象の仮想マシンを、前記移動順序情報に従って移動する指示を行う、
ことを含む処理を実行させる仮想マシン管理方法。
【０１６７】
（付記１１）
仮想マシンが動作可能な複数の物理マシンを有する仮想マシンシステムにおいて、移動元の第１の物理マシン上で稼働する移動対象の仮想マシンを、中継地の第２の物理マシンで中継して、移動先の第３の物理マシンへ、移動する制御をコンピュータに実行させる仮想マシン管理プログラムであって、
前記コンピュータに、
前記コンピュータが
移動元の第１の物理マシン上で稼働する移動対象の仮想マシンを、中継地の第２の物理マシンで中継して、移動先の第３の物理マシンへ、移動する場合に、前記第１の物理マシンにおける移動対象の仮想マシンの資源割当量の情報を含む資源割当情報を取得すると共に、第１の物理マシン、前記第２の物理マシンおよび前記第３の物理マシンの各々の位置情報と、移動対象の仮想マシンが移動される物理マシンの移動順序情報とを取得し、
取得した位置情報に基づいて、前記第２の物理マシンおよび前記第３の物理マシンの各々に、移動対象の仮想マシンの資源割当情報により示される資源割当量を確保することを示す要求情報を送信し、
前記第２の物理マシン及び前記第３の物理マシンの各々から、送信した要求情報の応答を受け取り、取得した位置情報、移動順序情報および受け取った応答に基づいて、移動対象の仮想マシンを、前記移動順序情報に従って移動する指示を行う、
処理を実行させる仮想マシン管理プログラム。
【符号の説明】
【０１６８】
１０    仮想マシン管理システム
１２    管理装置
１３    情報収集管理機能部
１４    中継地算出機能部
１５    マイグレーション管理機能部
１６    記憶部
１７    仮想化リソース制御機能部
１８    仮想化リソース管理機能部
２０    ネットワーク
２２    データセンター
２４    ゲートウェイ
２６    仮想化基盤
２８    仮想マシン
３０    ＧＷ・ルータ機能部
３２    仮想化基盤主要機能部
３４    仮想化リソース管理機能部
３６    仮想化リソース制御機能部
３８    仮想マシン機能部
４０    コンピュータシステム
４２    コンピュータ
４４    ＣＰＵ
４６    メモリ
５１    ＲＷ装置
５４    格納部
５５    管理プログラム
５６    情報収集プロセス
５７    中継地算出プロセス
５８    マイグレーション管理プロセス
５９    仮想化リソース制御プロセス
６０    仮想化リソース管理プロセス
６２    テーブル
６３    仮想化基盤テーブル
６４    仮想マシンテーブル
６５    仮想化基盤稼働率情報テーブル
６６    仮想化リソース空塞管理テーブル
６７    仮想化リソースタイマー管理テーブル
６８    中継地リスト
６９    記録媒体
７０    物理マシン
７２    ＣＰＵ
７４    メモリ
７９    ＲＷ装置
８２    格納部
８３    ＧＷプログラム
８４    仮想化基盤プログラム
８５    仮想化基盤主要プロセス
８６    仮想化リソース管理プロセス
８７    仮想化リソース制御プロセス
８８    仮想マシンプログラム
【図１】
0006384180.tif 000002
【図２】
0006384180.tif 000003
【図３】
0006384180.tif 000004
【図４】
0006384180.tif 000005
【図５】
0006384180.tif 000006
【図６】
0006384180.tif 000007
【図７】
0006384180.tif 000008
【図８】
0006384180.tif 000009
【図９】
0006384180.tif 000010
【図１０】
0006384180.tif 000011
【図１１】
0006384180.tif 000012
【図１２】
0006384180.tif 000013
【図１３】
0006384180.tif 000014
【図１４】
0006384180.tif 000015
【図１５】
0006384180.tif 000016
【図１６】
0006384180.tif 000017
【図１７】
0006384180.tif 000018
【図１８】
0006384180.tif 000019
【図１９】
0006384180.tif 000020
【図２０】
0006384180.tif 000021
【図２１】
0006384180.tif 000022
【図２２】
0006384180.tif 000023
【図２３】
0006384180.tif 000024
【図２４】
0006384180.tif 000025
【図２５】
0006384180.tif 000026
【図２６】
0006384180.tif 000027
【図２７】
0006384180.tif 000028
【図２８】
0006384180.tif 000029
【図２９】
0006384180.tif 000030
【図３０】
0006384180.tif 000031
【図３１】
0006384180.tif 000032
【図３２】
0006384180.tif 000033
【図３３】
0006384180.tif 000034
【図３４】
0006384180.tif 000035