(57)【特許請求の範囲】
【請求項１】
第１の記憶領域と第２の記憶領域と第３の記憶領域と、ネットワークを介して接続する複数の物理マシンとを管理するコンピュータに、
前記複数の物理マシンのうちいずれかの物理マシンにブートプログラムと第１ＯＳ（Operation  System）を送信し、該いずれかの物理マシン上で動作するＶＭプラットフォームの上で動作する仮想マシンのストレージのイメージを、送信された該ブートプログラムと該第１ＯＳによって前記第１の記憶領域に移動させ、
移動が完了した後、前記いずれかの物理マシン上の前記ＶＭプラットフォームのストレージのイメージを、前記ブートプログラムと前記第１ＯＳによって前記第２の記憶領域に移動させ、
前記第３の記憶領域に記憶された、前記いずれかの物理マシンとは異なる物理マシン環境の第２ＯＳを含む新たなストレージのイメージを、前記ブートプログラムと前記第１ＯＳによって前記いずれかの物理マシンに書き込ませる
処理を実行させることを特徴とする移動制御プログラム。
【請求項２】
前記ブートプログラムと前記第１ＯＳを送信する時に、ホスト名とＩＰアドレスを合わせて送信し、
前記書き込みが完了した後に、書き込まれた前記新たなストレージのイメージの前記第２ＯＳを、前記ホスト名と前記ＩＰアドレスを設定しつつ起動させる
処理を実行させることを特徴とする請求項１に記載の移動制御プログラム。
【請求項３】
前記仮想マシンのストレージのイメージを移動させる処理は、複数の仮想マシンの中から、使用負荷に基づいて移動対象となる仮想マシンを決定する
ことを特徴とする請求項１又は請求項２に記載の移動制御プログラム。
【請求項４】
前記仮想マシンのストレージのイメージを移動させる処理は、前記複数の仮想マシンの中から、ＣＰＵ使用率の最も低い仮想マシンを、前記移動対象となる仮想マシンとして決定する
ことを特徴とする請求項３に記載の移動制御プログラム。
【請求項５】
前記いずれかの物理マシンを起動後に所定のプログラムを実行させ、
該プログラムの実行後に前記いずれかの物理マシンのストレージのイメージを、前記ブートプログラムと前記第１ＯＳによって第４の記憶領域に移動させ、
前記第２の記憶領域に移動させておいた前記ＶＭプラットフォームのストレージのイメージを、前記ブートプログラムと前記第１ＯＳによって前記いずれかの物理マシンに書き込ませ、
前記第１の記憶領域に移動させておいた前記仮想マシンのストレージのイメージを、前記ブートプログラムと前記第１ＯＳによって前記ＶＭプラットフォーム上に書き込ませる、
処理を実行させることを特徴とする請求項２から請求項４のいずれか１つに記載の移動制御プログラム。
【請求項６】
第１の記憶領域と第２の記憶領域と第３の記憶領域と、ネットワークを介して接続する複数の物理マシンとを管理するコンピュータが、
前記複数の物理マシンのうちいずれかの物理マシンにブートプログラムと第１ＯＳ（Operation  System）を送信し、該いずれかの物理マシン上で動作するＶＭプラットフォームの上で動作する仮想マシンのストレージのイメージを、送信された該ブートプログラムと該第１ＯＳによって前記第１の記憶領域に移動させ、
移動が完了した後、前記いずれかの物理マシン上の前記ＶＭプラットフォームのストレージのイメージを、前記ブートプログラムと前記第１ＯＳによって前記第２の記憶領域に移動させ、
前記第３の記憶領域に記憶された、前記いずれかの物理マシンとは異なる物理マシン環境の第２ＯＳを含む新たなストレージのイメージを、前記ブートプログラムと前記第１ＯＳによって前記いずれかの物理マシンに書き込ませる
処理を実行することを特徴とする移動制御方法。
【請求項７】
第１の記憶領域と第２の記憶領域と第３の記憶領域と、ネットワークを介して接続する複数の物理マシンとを管理する管理部と、
前記複数の物理マシンのうちいずれかの物理マシンにブートプログラムと第１ＯＳ（Operation  System）を送信し、該いずれかの物理マシン上で動作するＶＭプラットフォームの上で動作する仮想マシンのストレージのイメージを、送信された該ブートプログラムと該第１ＯＳによって前記第１の記憶領域に移動させる第１の移動部と、
前記第１の移動部によって移動が完了した後、前記いずれかの物理マシン上の前記ＶＭプラットフォームのストレージのイメージを、前記ブートプログラムと前記第１ＯＳによって前記第２の記憶領域に移動させる第２の移動部と、
前記第３の記憶領域に記憶された、前記いずれかの物理マシンとは異なる物理マシン環境の第２ＯＳを含む新たなストレージのイメージを、前記ブートプログラムと前記第１ＯＳによって前記いずれかの物理マシンに書き込ませる書込部と
を有することを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動制御プログラムなどに関する。
【背景技術】
【０００２】
近年、コンピュータシステムでは、仮想マシン環境が利用されている。
【０００３】
仮想マシン環境には、例えばハイパーバイザ方式を利用したものがある。ハイパーバイザ方式では、物理マシンのハードウェア上で仮想化を実現するハイパーバイザを動作させ、このハイパーバイザ上で複数の仮想マシン（ＶＭ：Virtual  Machine）を動作させる技術がよく知られている。この仮想マシンは、異なる物理マシンのハイパーバイザに移動しても処理を継続することができる。そして、この仮想マシンは、ハイパーバイザによってＣＰＵやメモリなどのリソースを効率的に割り当てられる。
【０００４】
また、コンピュータシステムでは、物理マシン環境が利用されている。物理マシン環境では、データを纏めて一括処理するバッチ処理が、ＣＰＵやメモリなどのリソースを、オペレーティングシステム（ＯＳ：Operating  System）を介して最大限利用することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２９９４２５号公報
【特許文献２】特開２００７−１８３７４７号公報
【特許文献３】特表２０１０−５３２５２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、仮想マシン環境では、バッチ処理を高速に行えないという問題がある。すなわち、仮想マシン環境では、ハイパーバイザが、複数の仮想マシンにリソースを割り当てる際、ＣＰＵやメモリなどのリソースを使ってしまう。したがって、仮想マシンがバッチ処理を実行しようとした場合、ＣＰＵやメモリなどのリソースを最大限利用できず、バッチ処理を高速に行えない。
【０００７】
開示の技術は、仮想マシン環境のマシンであっても、バッチ処理を高速に行うことができることを目的とする。
【課題を解決するための手段】
【０００８】
１つの側面では、移動制御プログラムは、コンピュータに、仮想マシン環境として使用中のマシンのストレージのイメージを所定の記憶領域に移動し、前記移動する処理によって移動が完了した後に、移動が完了したマシンに対して、物理マシン環境における、オペレーティングシステムを含む新たなストレージのイメージを書き込む処理を実行させる。
【発明の効果】
【０００９】
本願の開示する移動制御プログラムの一つの態様によれば、仮想マシン環境のマシンであっても、バッチ処理を高速に行うことができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１に係る移動制御システムの構成を示す機能ブロック図である。
【図２】図２は、実施例１に係るＲＭ管理テーブルのデータ構造の一例を示す図である。
【図３】図３は、実施例１に係るＲＭイメージファイルのデータ構造の一例を示す図である。
【図４】図４は、実施例１に係るＲＭ管理制御処理の手順を示すフローチャートである。
【図５】図５は、ＲＭイメージバックアップ処理の手順を示すフローチャートである。
【図６】図６は、ＲＭイメージ書込処理の手順を示すフローチャートである。
【図７】図７は、ＲＭ起動処理の手順を示すフローチャートである。
【図８】図８は、ＲＭ停止処理の手順を示すフローチャートである。
【図９】図９は、ＲＭイメージバックアップのシーケンスを示す図である。
【図１０】図１０は、ＲＭイメージ書き込み処理のシーケンスを示す図である。
【図１１】図１１は、ＲＭ起動のシーケンスを示す図である。
【図１２】図１２は、ＲＭ停止のシーケンスを示す図である。
【図１３】図１３は、実施例２に係る移動制御システムの構成を示す機能ブロック図である。
【図１４】図１４は、実施例２に係る押し退け配備処理を説明する図である。
【図１５】図１５は、実施例２に係るＶＭ状態管理テーブルのデータ構造の一例を示す図である。
【図１６】図１６は、実施例２に係るＶＭイメージファイルのデータ構造の一例を示す図である。
【図１７】図１７は、押し退け対象決定処理の手順を示すフローチャートである。
【図１８】図１８は、ＲＭ状態の出力例を示す図である。
【図１９】図１９は、実施例２に係る移動制御システムの別の構成例を示す図である。
【図２０】図２０は、移動制御プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示する移動制御プログラム、移動制御方法および制御装置の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１２】
［実施例１に係る移動制御システムの構成］
図１は、実施例１に係る移動制御システムの構成を示す機能ブロック図である。図１に示すように、移動制御システム９は、ネットワーク３で接続されるサーバ１と複数の物理マシン２とを有する。複数の物理マシン２には、物理マシン環境のマシンおよび仮想マシン環境のマシンが含まれる。物理マシン環境のマシンには、ハードウェア上にＯＳがインストールされている。仮想マシン環境のマシンには、仮想化を実現するハイパーバイザ方式が利用される場合、ハードウェア上にハイパーバイザがインストールされる。そして、仮想マシン環境のマシンは、このハイパーバイザ上で複数の仮想マシン（ＶＭ）を動作させる。実施例では、このハイパーバイザを、ＶＭプラットフォーム（ＶＭＰ）というものとする。なお、仮想化を実現する方式として、ハイパーバイザ方式を採用するが、これに限定されるものではない。
【００１３】
物理マシン２は、ハードディスク（ＨＤＤ）５０を有する。物理マシン２は、「ＲＭ」（Removable  Machine）として配備される。「ＲＭ」とは、マシン環境を移動することができるマシンを指すものとする。すなわち、ＲＭは、仮想マシン環境を物理マシン環境にマシン環境を移動したり、物理マシン環境を仮想マシン環境にマシン環境を移動したりすることができるマシンである。つまり、ＲＭは、従来ではマシン環境が固定であった物理マシン環境の物理マシンであっても、そのマシン環境を退避したり、復元したり、移動したり、複写したりすることが可能なマシンを意味する。
【００１４】
ネットワーク３は、ＬＡＮ（Local  Area  Network）を代表例とするが、インターネットであっても良いし、インターネットを利用したイントラネットまたはエクストラネットであっても良いし、キャリア網であっても良い。実施例では、ネットワーク３をＬＡＮであるものとして説明する。
【００１５】
サーバ１は、仮想マシン環境として使用中の物理マシンのストレージのイメージを所定の記憶領域にバックアップする。そして、サーバ１は、バックアップが完了した後に、バックアップが完了した物理マシンに対して、物理マシン環境として使用させるべく、ＯＳを含む新たなストレージのイメージを書き込む。言い換えると、サーバ１は、物理マシン２をＲＭとして配備する。そして、サーバ１は、仮想マシン環境のマシンを物理マシン環境のマシンに切り替える。
【００１６】
サーバ１は、記憶部１０と、制御部２０と、入力部３０と、出力部４０とを有する。入力部３０は、ＲＭの切り替え指示などを入力し、キーボードやマウス、マイクなどに対応する。出力部４０は、各ＲＭの状態などを出力し、ディスプレイ（もしくはモニタ、タッチパネル）に対応する。
【００１７】
記憶部１０は、例えばフラッシュメモリ（Frash  Memory）やＦＲＡＭ（登録商標）（Ferroelectric  Random  Access  Memory）などの不揮発性の半導体メモリ素子などの記憶装置に対応する。そして、記憶部１０は、ＲＭ管理マスタＤＢ（DataBase）１１として、ＲＭ管理テーブル１２とＲＭイメージファイル１３と運用ログ１４を記憶する。
【００１８】
ＲＭ管理テーブル１２は、各物理マシン２をＲＭとして管理する。ＲＭイメージファイル１３は、各「ＲＭイメージ」のファイル情報であり、ＲＭイメージをバックアップする際に用いられる。「ＲＭイメージ」とは、ＲＭとして配備される物理マシンのストレージのイメージを意味する。ストレージとは、ＨＤＤ５０の内容を意味し、物理マシン環境のＯＳ、仮想マシン環境のＶＭＰおよびＶＭのイメージを含む。運用ログ１４は、後述するＲＭ管理制御の運用時に出力されるログであり、発生する各種イベントによってログの内容は異なる。なお、ＲＭ管理テーブル１２およびＲＭイメージファイル１３の詳細な説明は、後述する。
【００１９】
制御部２０は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。そして、制御部２０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路またはＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路に対応する。さらに、制御部２０は、ＲＭ管理制御部２１として、ＲＭイメージバックアップ部２２と、ＲＭイメージ書込部２３と、ＲＭ起動部２４と、ＲＭ停止部２５とを有する。
【００２０】
ＲＭイメージバックアップ部２２は、切替対象となるＲＭのＲＭイメージをＲＭ管理マスタＤＢ１１にバックアップする。なお、ＲＭイメージバックアップ部２２は、一旦、切替対象となるＲＭを停止（電源をオフ）してから、改めてＲＭの電源をオンする。ＲＭの停止は、後述するＲＭ停止部２５によって行われる。ＲＭの電源のオンは、例えばＷＯＬ（Wake  On  LAN）を利用することで実現できる。
【００２１】
例えば、ＲＭイメージバックアップ部２２は、ウェブブラウザから切替対象となるＲＭの配置名を含むＲＭの切替指示を取得する。そして、ＲＭイメージバックアップ部２２は、ＲＭ管理マスタＤＢ１１に基づいて、切替対象となるＲＭの配置名に対応するＲＭイメージのイメージファイル名を取得する。そして、ＲＭイメージバックアップ部２２は、取得したイメージファイル名のＲＭイメージを切替対象となるＲＭから抽出し、抽出したＲＭイメージをＲＭ管理マスタＤＢ１１内のＲＭイメージファイル１３にバックアップする。一例として、ＲＭイメージバックアップ部２２は、切替対象となるＲＭのマシン環境が仮想マシン環境である場合、仮想マシン環境内のＶＭＰおよびＶＭのＲＭイメージをバックアップする。なお、ＲＭイメージバックアップ部２２の詳細については後述する。
【００２２】
ここで、ＲＭ管理テーブル１２およびＲＭイメージファイル１３のデータ構造について、図２および図３を参照して説明する。図２は、実施例に係るＲＭ管理テーブルのデータ構造の一例を示す図である。図２に示すように、ＲＭ管理テーブル１２には、配置名１２ａとＲＭホスト名１２ｂとＩＰアドレス１２ｃと稼動状況１２ｄと使用中フラグ１２ｅとを対応付けて記憶する。さらに、ＲＭ管理テーブル１２には、対応システム１２ｆと導入済みＯＳ１２ｇと配備権限１２ｈとイメージファイル名１２ｉと備考１２ｊとを対応付けて記憶する。
【００２３】
配置名１２ａは、ＲＭとして配備される物理マシン自体を識別する名称である。ＲＭホスト名１２ｂは、ＲＭが配備された後のＲＭのホスト名である。ＲＭホスト名１２ｂは、配備の際にＲＭイメージファイルに格納されているホスト名であるが、別のホスト名に変更されても良い。ＩＰアドレス１２ｃは、ＲＭが配備された後のＲＭのＩＰアドレスである。ＩＰアドレス１２ｃは、配備の際にＲＭイメージファイルに格納されているＩＰアドレスであるが、別のＩＰアドレスに変更されても良い。稼動状況１２ｄは、配置名１２ａで示されるＲＭの状態である。例えば、稼動状況１２ｄには、稼動中の状態である「稼動」、停止中の状態である「停止」、準備中の状態である「イメージ抽出中」、「配備中」、「起動中」、「停止中」の各状態が設定される。
【００２４】
使用中フラグ１２ｅは、ユーザが使用中であるか否かを管理するフラグである。例えば、ユーザが使用中である場合、「１」が設定され、ユーザが使用中でない場合、「０」が設定される。なお、ユーザが使用中である場合には、使用中のサービス名が設定される。対応システム１２ｆは、ＶＭＰが配備されない物理マシン環境の場合、ＲＭとして配備される物理マシン自体の機種を指し、ＶＭＰが配備される仮想マシン環境の場合、ＶＭＰの識別子、すなわちＶＭＰの名称およびＶＭＰのバージョンを指す。導入済みＯＳ１２ｇは、配備されたＯＳの名称およびＯＳのバージョンを指す。なお、ＶＭＰが配備される場合には、加えて、ＯＳに割り当てられたコア数や割り当てメモリ量が設定される。配備権限１２ｈには、ＲＭとして配備される物理マシンの制御可能な権限を持ったユーザの識別子が設定される。イメージファイル名１２ｉは、配備されたＲＭイメージファイルの名称である。備考１２ｊには、メモが設定される。
【００２５】
図３は、実施例１に係るＲＭイメージファイルのデータ構造の一例を示す図である。図３に示すように、ＲＭイメージファイル１３には、ＲＭイメージファイル名１３ａとＲＭバイナリイメージ１３ｂと抽出システム１３ｃと対応システム１３ｄと導入済みＯＳ１３ｅと備考１３ｆとを対応付けて記憶する。ＲＭイメージファイル名１３ａは、ＲＭイメージを識別するファイルの名称である。ＲＭバイナリイメージ１３ｂは、ＲＭイメージのバイナリデータである。すなわち、ＲＭバイナリイメージ１３ｂは、ＲＭとして配備された物理マシン２のＨＤＤ５０から抽出されるデータである。抽出システム１３ｃは、ＲＭイメージを抽出した物理マシン２の対応システムであり、ＲＭ管理テーブル１２の対応システム１２ｆに対応する。対応システム１３ｄは、抽出システム１３ｃで示された対応システム以外にＲＭイメージファイル名１３ａで示されるＲＭイメージを配置可能な対応システムである。導入済みＯＳ１３ｅは、ＲＭイメージのＯＳの名称およびバージョンを示す。備考１３ｆには、メモが設定される。
【００２６】
図１に戻って、ＲＭイメージ書込部２３は、切替対象のＲＭに新たなＲＭイメージを書き込む。例えば、ＲＭイメージ書込部２３は、ウェブブラウザから指示された新たなＲＭイメージをＲＭ管理マスタＤＢ１１のＲＭイメージファイル１３から取得し、取得したＲＭイメージを切替対象のＲＭに書き込む。一例として、ＲＭイメージ書込部２３は、物理マシン環境のマシンとなるようにＲＭを配備すべく、物理マシン環境のＯＳのＲＭイメージを切替対象のＲＭに書き込む。ＲＭイメージ書込部２３は、切替対象のＲＭにＲＭイメージを全て書き込んだ後、当該ＲＭを配備した物理マシンの電源をオフにする。なお、ＲＭイメージ書込部２３の詳細については後述する。
【００２７】
ＲＭ起動部２４は、ＲＭイメージ書込部２３によって新たなＲＭイメージが書き込まれた物理マシン２について、ＲＭを起動させる。これは、例えば新しく書き込まれたＲＭイメージがＯＳである場合、新規なＯＳを起動するためである。なお、ＲＭ起動部２４の詳細については後述する。
【００２８】
ＲＭ停止部２５は、該当するＲＭを停止させる。例えば、ＲＭ停止部２５は、ＲＭイメージバックアップ部２２でＲＭを停止させる際に用いられる。なお、ＲＭ停止部２５の詳細については後述する。
【００２９】
［ＲＭ管理制御処理の手順］
次に、ＲＭ管理制御部２１によって実行されるＲＭ管理制御処理について説明する。図４は、実施例１に係るＲＭ管理制御処理の手順を示すフローチャートである。なお、ウェブブラウザからＲＭの切替指示が出されるものとして説明する。また、ＲＭとして配備される物理マシン２には、サーバ１がリモートで電源をＯＮまたはＯＦＦできたり、ネットワークブートをしたりできるように、予め設定されているものとする。ここでは、物理マシン２には、ＢＩＯＳ（Basic  Input/Output  System）に対して、ＰＸＥ（Preboot  eXecution  Environment）、ＷＯＬの設定がされているものとする。
【００３０】
まず、ＲＭイメージバックアップ部２２は、ＲＭの切替指示を取得したか否かを判定する（ステップＳ１１）。切替指示を取得していないと判定した場合（ステップＳ１１；Ｎｏ）、ＲＭイメージバックアップ部２２は、切替指示を取得するまで、判定処理を繰り返す。一方、切替指示を取得したと判定した場合（ステップＳ１１；Ｙｅｓ）、ＲＭイメージバックアップ部２２は、ステップＳ１２に移行する。なお、切替指示には、切替対象となる物理マシン２（ＲＭ）の配置名とＲＭに新たに書き込まれるＲＭイメージのファイル名が含まれる。
【００３１】
そして、ＲＭイメージバックアップ部２２は、切替対象の配置名の物理マシン２が稼動状態か否かを判定する（ステップＳ１２）。切替対象の配置名の物理マシン２が稼動状態か否かの判定は、ＲＭ管理テーブル１２の稼動状況１２ｄを参照することで行われる。例えば、ＲＭイメージバックアップ部２２は、稼動状況１２ｄが「稼動」や準備中の状態であれば、稼動状態であると判定し、稼動状況１２ｄが「停止」であれば、稼動状態でないと判定する。
【００３２】
そして、切替対象の配置名の物理マシン２が稼動状態でないと判定した場合（ステップＳ１２；Ｎｏ）、ＲＭイメージバックアップ部２２は、ステップＳ１６に移行する。一方、切替対象の配置名の物理マシン２が稼動状態であると判定した場合（ステップＳ１２；Ｙｅｓ）、ＲＭイメージバックアップ部２２は、切替対象の配置名の物理マシン２が切替抑制対象になっているか否かを判定する（ステップＳ１３）。切替対象の配置名の物理マシン２が切替抑制対象になっているか否かの判定は、例えば、ＲＭ管理テーブル１２の使用中フラグ１２ｅを参照することで行われる。一例として、ＲＭイメージバックアップ部２２は、使用中フラグ１２ｅがユーザの使用中であることを示す「１」であれば、切替抑制対象であると判定し、使用中フラグ１２ｅがユーザの使用中でないことを示す「０」であれば、切替抑制対象でないと判定する。
【００３３】
そして、切替対象の配置名の物理マシン２が切替抑制対象になっていないと判定した場合（ステップＳ１３；Ｎｏ）、ＲＭイメージバックアップ部２２は、稼動状態である当該物理マシン２（ＲＭ）を停止させる（ステップＳ１４）。そして、ＲＭイメージバックアップ部２２は、ステップＳ１６に移行する。一方、切替対象の配置名の物理マシン２が切替抑制対象になっていると判定した場合（ステップＳ１３；Ｙｅｓ）、ＲＭイメージバックアップ部２２は、エラーを出力部４０に表示するとともに、運用ログ１４に記録し（ステップＳ１５）。そして、ＲＭイメージバックアップ部２２は、ステップＳ１１に移行する。運用ログ１４には、例えば権限ユーザ名、配置名、エラー原因（使用中のユーザ、使用システム名）およびエラーが発生した年月日時分秒が記録される。
【００３４】
ステップＳ１６では、ＲＭイメージバックアップ部２２は、ウェブブラウザから指示された配置名の物理マシン２のＲＭイメージをＲＭ管理マスタＤＢ１１にバックアップする（ステップＳ１６）。続いて、ＲＭイメージ書込部２３は、ウェブブラウザから指示されたＲＭイメージをＲＭ管理マスタＤＢ１１から取得し、取得したＲＭイメージを切替対象の物理マシン２に書き込む（ステップＳ１７）。
【００３５】
その後、ＲＭ起動部２４は、切替対象の物理マシン２について、ＲＭを起動させる（ステップＳ１８）。そして、ＲＭ起動部２４は、切替対象の物理マシン２について、ＲＭ管理マスタＤＢ１１内のＲＭ管理テーブル１２の情報を更新する（ステップＳ１９）。例えば、ＲＭ起動部２４は、切替対象の物理マシン２に配備されたＲＭの管理情報およびＲＭの起動状態を更新する。ＲＭの管理情報には、例えば、切替対象の配置名に対応する、ＲＭ管理テーブル１２のＩＰアドレス１２ｃ、対応システム１２ｆ、導入済みＯＳ１２ｇおよびイメージファイル名１２ｉが含まれる。ＲＭの起動状態には、例えば、切替対象の配置名に対応する、ＲＭ管理テーブル１２の稼動状況１２ｄが含まれる。
【００３６】
［ＲＭイメージバックアップ処理の手順］
次に、ＲＭイメージバックアップ部２２によって実行されるＲＭイメージバックアップ処理について説明する。図５は、ＲＭイメージバックアップ処理の手順を示すフローチャートである。
【００３７】
ＲＭイメージバックアップ部２２は、該当する配置名の物理マシン２にＬＡＮ経由でＷＯＬ信号を送信し、当該物理マシン２の電源をＯＮする。そして、ＲＭイメージバックアップ部２２は、該当する配置名に対応する、ＲＭ管理テーブル１２の稼動状況１２ｄを「イメージ抽出中（０％）」に設定する（ステップＳ２１）。このとき、ＲＭイメージバックアップ部２２は、バックアップの状況を運用ログ１４に記録する。
【００３８】
そして、ＲＭイメージバックアップ部２２は、対象の物理マシン２にネットワークブートをさせるべく、当該物理マシンにブートプログラム、および小規模のＯＳを送信する（ステップＳ２２）。そして、ＲＭイメージバックアップ部２２は、バックアップの制御手順を記述したリモートスクリプトを対象の物理マシン２へ送信する（ステップＳ２３）。
【００３９】
対象の物理マシン２によってリモートスクリプトが実行された結果、ＲＭイメージバックアップ部２２は、対象の物理マシン２からＲＭイメージデータを受信し、受信したＲＭイメージデータを順次ＲＭ管理マスタＤＢ１１へ格納する。そして、ＲＭイメージバックアップ部２２は、ＲＭイメージデータの受信進捗（％）について、該当する配置名に対応する、ＲＭ管理テーブル１２の稼動状況１２ｄを更新する（ステップＳ２４）。稼動状況１２ｄには、「イメージ抽出中」に百分率で表される受信進捗（％）を付加して設定される。このとき、ＲＭイメージバックアップ部２２は、バックアップの状況を運用ログ１４に記録する。
【００４０】
その後、ＲＭイメージバックアップ部２２は、対象の物理マシンからＲＭイメージの抽出が完了した旨の通知を受信すると、当該物理マシン２の電源をリモートでＯＦＦする。そして、ＲＭイメージバックアップ部２２は、該当する配置名に対応する、ＲＭ管理テーブル１２の稼動状況１２ｄを「イメージ抽出完了（１００％）」に更新する（ステップＳ２５）。このとき、ＲＭイメージバックアップ部２２は、バックアップの状況を運用ログ１４に記録する。
【００４１】
なお、ＲＭイメージバックアップ部２２における運用ログ１４には、例えば権限ユーザ名、配置名、ＲＭホスト名、イメージファイル名、イメージの抽出を開始した年月日時分秒およびイメージの抽出を終了した年月日時分秒が記録される。
【００４２】
［ＲＭイメージ書込処理の手順］
次に、ＲＭイメージ書込部２３によって実行されるＲＭイメージ書込処理について説明する。図６は、ＲＭイメージ書込処理の手順を示すフローチャートである。
【００４３】
ＲＭイメージ書込部２３は、該当する配置名の物理マシン２にＬＡＮ経由でＷＯＬ信号を送信し、当該物理マシン２の電源をＯＮする。そして、ＲＭイメージ書込部２３は、該当する配置名に対応する、ＲＭ管理テーブル１２の稼動状況１２ｄを「配備中（０％）」に設定する（ステップＳ３１）。このとき、ＲＭイメージ書込部２３は、ＲＭイメージの書き込みの状況を運用ログ１４に記録する。
【００４４】
そして、ＲＭイメージ書込部２３は、対象の物理マシン２にネットワークブートをさせるべく、当該物理マシン２にブートプログラム、および小規模のＯＳを送信する（ステップＳ３２）。そして、ＲＭイメージ書込部２３は、ＲＭイメージの書込みの制御手順を記述したリモートスクリプトを対象の物理マシン２へ送信する（ステップＳ３３）。
【００４５】
そして、ＲＭイメージ書込部２３は、対象の物理マシン２からＲＭイメージの転送を待ち受けている旨の通知を受信すると、ウェブブラウザから指示された対象のＲＭイメージデータをＲＭ管理マスタＤＢ１１から取得し、取得したＲＭイメージデータを対象の物理マシン２へ送信する。そして、ＲＭイメージ書込部２３は、ＲＭイメージデータの送信進捗（％）について、該当する配置名に対応する、ＲＭ管理テーブル１２の稼動状況１２ｄを更新する（ステップＳ３４）。稼動状況１２ｄには、「配備中」に百分率で表される送信進捗（％）を付加して設定される。このとき、ＲＭイメージ書込部２３は、ＲＭイメージの書き込みの状況を運用ログ１４に記録する。
【００４６】
その後、ＲＭ管理マスタＤＢ１１からのＲＭイメージの取得が完了すると、ＲＭイメージ書込部２３は、対象の物理マシン２の電源をリモートでＯＦＦする。そして、ＲＭイメージ書込部２３は、該当する配置名に対応する、ＲＭ管理テーブル１２の稼動状況１２ｄを「配備完了（１００％）」に更新する（ステップＳ３５）。このとき、ＲＭイメージ書込部２３は、ＲＭイメージの書き込みの状況を運用ログ１４に記録する。
【００４７】
なお、ＲＭイメージ書込部２３における運用ログ１４には、例えば権限ユーザ名、配置名、ＲＭホスト名、イメージファイル名、イメージの書き込みを開始した年月日時分秒およびイメージの書き込みを終了した年月日時分秒が記録される。
【００４８】
［ＲＭ起動処理の手順］
次に、ＲＭ起動部２４によって実行されるＲＭ起動処理について説明する。図７は、ＲＭ起動処理の手順を示すフローチャートである。
【００４９】
ＲＭ起動部２４は、該当する配置名の物理マシン２にＬＡＮ経由でＷＯＬ信号を送信し、当該物理マシン２の電源をＯＮする。そして、ＲＭ起動部２４は、該当する配置名に対応する、ＲＭ管理テーブル１２の稼動状況１２ｄを「起動中」に設定する（ステップＳ４１）。このとき、ＲＭ起動部２４は、ＲＭの起動状況を運用ログ１４に記録する。
【００５０】
そして、ＲＭ起動部２４は、対象の物理マシン２にネットワークブートをさせるべく、当該物理マシンにブートプログラム、および小規模のＯＳを送信する（ステップＳ４２）。そして、ＲＭ起動部２４は、ＲＭ起動の制御手順を記述したリモートスクリプトを対象の物理マシン２へ送信する（ステップＳ４３）。
【００５１】
その後、ＲＭ起動部２４は、対象の物理マシン２から稼動が開始された旨の信号を受信すると、該当する配置名に対応する、ＲＭ管理テーブル１２の稼動状況１２ｄを「稼動」に更新する（ステップＳ４４）。このとき、ＲＭイメージ書込部２３は、ＲＭの起動状況を運用ログ１４に記録する。
【００５２】
なお、ＲＭ起動部２４における運用ログ１４には、例えば権限ユーザ名、配置名、ＲＭホスト名、ＲＭを起動した年月日時分秒が記録される。
【００５３】
［ＲＭ停止処理の手順］
次に、ＲＭ停止部２５によって実行されるＲＭ停止処理について説明する。図８は、ＲＭ停止処理の手順を示すフローチャートである。
【００５４】
ＲＭ停止部２５は、該当する配置名に対応する、ＲＭ管理テーブル１２の稼動状況１２ｄを「停止中」に設定する（ステップＳ５１）。このとき、ＲＭ停止部２５は、ＲＭの停止状況を運用ログ１４に記録する。
【００５５】
そして、ＲＭ停止部２５は、稼動中の該当する物理マシン２にＬＡＮ経由で稼動停止信号（シャットダウン命令）を送信する（ステップＳ５２）。これは、該当する物理マシンをシャットダウン(停止)するためである。このとき、ＲＭ停止部２５は、ＲＭの停止状況を運用ログ１４に記録する。
【００５６】
続いて、ＲＭ停止部２５は、予め定義された時間だけ待機する（ステップＳ５３）。そして、ＲＭ停止部２５は、シャットダウン命令の送信先の物理マシン２が応答を返さなくなったか否かを判定する（ステップＳ５４）。シャットダウン命令の送信先の物理マシン２が応答を返すと判定した場合（ステップＳ５４；Ｎｏ）、ＲＭ停止部２５は、待機すべく、ステップＳ５３に移行する。
【００５７】
一方、シャットダウン命令の送信先の物理マシン２が応答を返さなくなったと判定した場合（ステップＳ５４；Ｙｅｓ）、ＲＭ停止部２５は、該当する配置名に対応する、ＲＭ管理テーブル１２の稼動状況１２ｄを「停止」に更新する（ステップＳ５５）。このとき、ＲＭ停止部２５は、ＲＭの停止状況を運用ログ１４に記録する。
【００５８】
なお、ＲＭ停止部２５における運用ログ１４には、例えば権限ユーザ名、配置名、ＲＭホスト名、ＲＭを停止した年月日時分秒が記録される。
【００５９】
［ＲＭイメージバックアップのシーケンス］
次に、移動制御システム９によって実行されるＲＭイメージバックアップのシーケンスについて説明する。図９は、ＲＭイメージバックアップのシーケンスを示す図である。
【００６０】
まず、ＲＭ管理制御部２１は、該当する配置名の物理マシン２にＬＡＮ経由でＷＯＬ信号を送信する（ステップＳ６１）。ＷＯＬ信号によって電源がＯＮとなった物理マシン２は、ＷＯＬ信号を送信したＲＭ管理制御部２１に対して確認信号を送信する（ステップＳ６２）。
【００６１】
続いて、ＲＭ管理制御部２１は、当該物理マシン２にブートプログラム、小規模ＯＳおよびバックアップの制御手順を記述したリモートスクリプトを送信する（ステップＳ６３）。送信されたブートプログラムおよび小規模ＯＳによって起動が開始された物理マシン２は、確認信号を送信する（ステップＳ６４）。
【００６２】
確認信号を受信したＲＭ管理制御部２１は、対象の物理マシン２にＲＭイメージ（ＨＤＤイメージ）の転送を指示する（ステップＳ６５）。対象の物理マシン２は、送信されたリモートスクリプトを実行すると、自己のマシンに内蔵されたストレージの内容を連続的に抽出し、抽出した内容、すなわちＲＭイメージデータをＬＡＮ経由でＲＭ管理制御部２１に送信する（ステップＳ６６、６８）。
【００６３】
ＲＭイメージデータを受信したＲＭ管理制御部２１は、受信したＲＭイメージデータを、順番に、ＲＭ管理マスタＤＢ１１に保存する。このとき、ＲＭ管理制御部２１は、ＲＭイメージデータの受信進捗（％）について、対象の物理マシン２の配置名に対応する、ＲＭ管理テーブル１２の稼動状況１２ｄを更新する（ステップＳ６７、６９）。稼動状況１２ｄには、「イメージ抽出中」に百分率で表される受信進捗（％）を付加して設定される。
【００６４】
そして、ＲＭ管理制御部２１は、物理マシン２から送信されたＲＭイメージデータの送信完了（ステップＳ７０）を受信すると、受信した最後のＲＭイメージデータをＲＭ管理マスタＤＢ１１に保存する。このとき、ＲＭ管理制御部２１は、該当する配置名に対応する、ＲＭ管理テーブル１２の稼動状況１２ｄを「イメージ抽出完了（１００％）」に更新する（ステップＳ７１）。そして、ＲＭ管理制御部２１は、該当する配置名の物理マシン２にＬＡＮ経由で電源ＯＦＦの制御信号を送信する（ステップＳ７２）。対象の物理マシン２は、電源ＯＦＦの制御信号によって、電源ＯＦＦとなる。
【００６５】
［ＲＭイメージ書込のシーケンス］
次に、移動制御システム９によって実行されるＲＭイメージ書込のシーケンスについて説明する。図１０は、ＲＭイメージ書込処理のシーケンスを示す図である。
【００６６】
まず、ＲＭ管理制御部２１は、該当する配置名の物理マシン２にＬＡＮ経由でＷＯＬ信号を送信する（ステップＳ８１）。ＷＯＬ信号によって電源がＯＮとなった物理マシン２は、ＷＯＬ信号を送信したＲＭ管理制御部２１に対して確認信号を送信する（ステップＳ８２）。
【００６７】
続いて、ＲＭ管理制御部２１は、当該物理マシン２にブートプログラム、小規模ＯＳおよびＲＭイメージ書込みの制御手順を記述したリモートスクリプトを送信する（ステップＳ８３）。送信されたブートプログラムおよび小規模ＯＳによって起動が開始された物理マシン２は、送信されたリモートスクリプトを実行する。そして、物理マシン２は、ＲＭ管理制御部２１に対して、ＲＭイメージ（ＨＤＤイメージ）の転送を待ち受ける準備が完了した旨の信号を送信する（ステップＳ８４）。
【００６８】
ＲＭイメージの転送を待ち受ける準備が完了した旨の信号を受信したＲＭ管理制御部２１は、ＲＭ管理マスタＤＢ１１から、ウェブブラウザから指示された対象のＲＭイメージのデータを取得する（ステップＳ８５、Ｓ８７）。そして、ＲＭ管理制御部２１は、取得したＲＭイメージデータを対象の物理マシン２に送信する（ステップＳ８６、Ｓ８８）。このとき、ＲＭ管理制御部２１は、ＲＭイメージデータの送信進捗（％）について、対象の物理マシン２の配置名に対応する、ＲＭ管理テーブル１２の稼動状況１２ｄを更新する。稼動状況１２ｄには、「配備中」に百分率で表される送信進捗（％）を付加して設定される。他方、対象の物理マシン２では、ＲＭイメージデータを受信し、受信したＲＭイメージデータを自己のマシンに内蔵されたストレージ（ＨＤＤ）に連続的に書き込む。
【００６９】
そして、ＲＭ管理制御部２１は、ＲＭイメージデータの取得が完了すると（ステップＳ８９）、取得した最後のＲＭイメージデータを対象の物理マシン２に送信する（ステップＳ９０）。このとき、ＲＭ管理制御部２１は、該当する配置名に対応する、ＲＭ管理テーブル１２の稼動状況１２ｄを「配備完了（１００％）」に更新する。そして、ＲＭ管理制御部２１は、該当する配置名の物理マシン２にＬＡＮ経由で電源ＯＦＦの制御信号を送信する（ステップＳ９２）。対象の物理マシン２は、電源ＯＦＦの制御信号によって、電源ＯＦＦとなる。
【００７０】
［ＲＭ起動のシーケンス］
次に、移動制御システム９によって実行されるＲＭ起動のシーケンスについて説明する。図１１は、ＲＭ起動のシーケンスを示す図である。
【００７１】
ＲＭ管理制御部２１は、起動する物理マシン２の配置名に対応する、ＲＭ管理テーブル１２の稼動状況１２ｄを「起動中」に更新する（ステップＳ１０１）。そして、ＲＭ管理制御部２１は、該当する配置名の物理マシン２にＬＡＮ経由でＷＯＬ信号を送信する（ステップＳ１０２）。ＷＯＬ信号によって電源がＯＮとなった物理マシン２は、ＷＯＬ信号を送信したＲＭ管理制御部２１に対して確認信号を送信する（ステップＳ１０３）。
【００７２】
続いて、ＲＭ管理制御部２１は、対象の物理マシン２にブートプログラム、小規模ＯＳおよびＲＭ起動の制御手順を記述したリモートスクリプトを送信する（ステップＳ１０４）。ＲＭが配備された直後の起動の場合には、ＲＭ管理制御部２１は、リモートスクリプトに、ＯＳ起動時に設定されるＲＭホスト名およびＩＰアドレスを埋め込む。
【００７３】
対象の物理マシン２は、送信されたリモートスクリプトを実行すると、自己のマシンに内蔵されたストレージに書き込まれているＯＳを起動する。ＲＭが配備された直後の起動の場合には、対象の物理マシン２は、ＲＭホスト名およびＩＰアドレスを設定することになる。そして、対象の物理マシン２は、稼動開始および確認信号をＲＭ管理制御部２１に対して送信する（ステップＳ１０５）。
【００７４】
稼動開始および確認信号を受信したＲＭ管理制御部２１は、該当する配置名に対応する、ＲＭ管理テーブル１２の稼動状況１２ｄを「稼働」に更新する（ステップＳ１０６）。
【００７５】
［ＲＭ停止のシーケンス］
次に、移動制御システム９によって実行されるＲＭ停止のシーケンスについて説明する。図１２は、ＲＭ停止のシーケンスを示す図である。
【００７６】
ＲＭ管理制御部２１は、停止させる物理マシン２の配置名に対応する、ＲＭ管理テーブル１２の稼動状況１２ｄを「停止中」に更新する（ステップＳ１１１）。そして、ＲＭ管理制御部２１は、該当する配置名の物理マシン２にＬＡＮ経由でシャットダウン命令を送信する（ステップＳ１１２）。シャットダウン命令を受信した物理マシン２は、シャットダウン処理を実行する。
【００７７】
シャットダウン命令を送信後、ＲＭ管理制御部２１は、予め定義した時間だけ待機し、待機後、対象の物理マシン２に対して生存確認信号を送信する（ステップＳ１１３）。そして、ＲＭ管理制御部２１は、予め定義した時間だけ待機しても対象の物理マシン２から応答が無かった場合、物理マシン２が停止したと判断し、該当する配置名に対応する、ＲＭ管理テーブル１２の稼動状況１２ｄを「停止」に更新する（ステップＳ１１４）。
【００７８】
［実施例１の効果］
上記実施例１では、サーバ１は、仮想マシン環境として使用中の物理マシン２のストレージのイメージをＲＭ管理マスタＤＢ１１に移動する。そして、サーバ１は、移動が完了した後に、移動が完了した物理マシン２に対して、物理マシン環境として使用させるべく、ＯＳを含む新たなストレージのイメージを書き込む。かかる構成によれば、サーバ１は、仮想マシン環境として使用中であった物理マシン２を物理マシン環境として使用できるようにしたので、仮にバッチ処理を実行するような場合に当該バッチ処理を高速化することができる。また、サーバ１は、物理マシン２のストレージのイメージを移動し、ＯＳを含む新たなストレージのイメージを当該物理マシン２に書き込むようにしたので、物理マシン２上のマシン環境を移動することができる。
【００７９】
また、上記実施例１では、サーバ１は、仮想マシン環境として使用中の物理マシン２のストレージのイメージをＲＭ管理マスタＤＢ１１にバックアップする。そして、サーバ１は、バックアップが完了した物理マシン２に対して、ＯＳを含む、物理マシン環境のストレージのイメージをＲＭ管理マスタＤＢ１１から取得し、取得したイメージを書き込む。そして、サーバ１は、書き込みが完了した後に、書き込みが完了した物理マシン２を起動する。かかる構成によれば、サーバ１は、ＯＳを含む、物理マシン環境のストレージのイメージを物理マシン２に書き込んで、その後起動することで、物理マシン環境でバッチ処理を実行させることができるので、バッチ処理の処理速度を高速化できる。
【００８０】
なお、上記実施例１では、サーバ１は、仮想マシン環境として使用中の物理マシン２のストレージのイメージをＲＭ管理マスタＤＢ１１にバックアップし、バックアップが完了した物理マシン２に対して、物理マシン環境として使用させるようにした。しかしながら、サーバ１は、これに限定されず、物理マシン環境として使用中の物理マシン２のストレージのイメージをＲＭ管理マスタＤＢ１１にバックアップし、バックアップが完了した物理マシン２に対して、仮想マシン環境として使用させるようにしても良い。かかる場合、サーバ１は、物理マシン環境として使用中の物理マシン２のＯＳのストレージのイメージをＲＭ管理マスタＤＢ１１にバックアップする。そして、サーバ１は、バックアップが完了した物理マシン２に対して、例えばウェブブラウザによって指示された、ＶＭＰおよびＶＭのＲＭイメージをＲＭ管理マスタＤＢ１１から取得し、取得したＲＭイメージを、バックアップが完了した物理マシン２に対して書き込む。これにより、サーバ１は、物理マシン環境であった物理マシン２を仮想マシン環境として使用させることができる。
【実施例２】
【００８１】
ところで、実施例１に係るサーバ１では、切替対象の物理マシン２の仮想マシン環境を停止してから、物理マシン２のマシン環境を仮想マシン環境から物理マシン環境に切り替える場合を説明した。しかしながら、サーバ１は、これに限定されず、切替対象の物理マシン２の仮想マシン環境を停止しないで、物理マシン２のマシン環境を仮想マシン環境から物理マシン環境に切り替えるようにしても良い。そこで、実施例２では、サーバ１が切替対象の物理マシン２の仮想マシン環境を停止しないで、物理マシン２のマシン環境を仮想マシン環境から物理マシン環境に切り替える場合について説明する。
【００８２】
［実施例２に係る移動制御システムの構成］
まず、移動制御システム９Ａの構成について、図１３を参照して説明する。図１３は、実施例２に係る移動制御システムの構成を示す機能ブロック図である。なお、図１に示す移動制御システム９と同一の構成については同一符号を示すことで、その重複する構成および動作の説明については省略する。実施例１と実施例２とが異なるところは、制御部２０にバッチジョブ制御部６１、押し退け配備部６２およびＲＭ状態出力部６３を追加した点にある。また、実施例１と実施例２とが異なるところは、ＶＭ状態管理テーブル６４およびＶＭイメージファイル６５を追加した点にある。
【００８３】
バッチジョブ制御部６１は、バッチ処理に含まれるバッチジョブを制御する。例えば、バッチジョブ制御部６１は、キューに溜まっているバッチジョブの数が予め設定された数を超えると、バッチジョブ用の計算サーバとして物理マシン環境のＲＭの配備数を増やすべく、ＲＭ管理制御部２１に対してリソース配備要求を出力する。また、バッチジョブ制御部６１は、キューに溜まっていたバッチジョブの数が０になると、バッチジョブ用の計算サーバとして物理マシン環境のＲＭの配備数を減らすべく、ＲＭ管理制御部２１に対してリソース解放要求を出力する。また、バッチジョブ制御部６１は、配備されたＲＭでバッチジョブが実行中ならば当該ＲＭをロックするように、配備されたＲＭでバッチジョブがアイドリング（待機）中ならば、当該ＲＭのロックを解除するように、ＲＭ管理制御部２１に対して指示する。
【００８４】
押し退け配備部６２は、仮想マシン環境として使用中の物理マシン２の中から、当該物理マシン２毎に算出されるＣＰＵ使用率に基づいて、仮想マシン環境を押し退ける物理マシン２を決定する。例えば、押し退け配備部６２は、配備済みの全ＲＭに対して、ＲＭ管理テーブル１２の対応システム１２ｆを参照し、ＶＭＰを配備したＲＭのみを抽出する。ＲＭ管理テーブル１２の対応システム１２ｆには、ＶＭＰを配備したＲＭの場合、ＶＭＰの種類が記憶されているので、押し退け配備部６２は、対応システム１２ｆを参照し、ＶＭＰの種類が記憶されたＲＭを抽出する。そして、押し退け配備部６２は、抽出した各ＲＭのうち、ロックがかかっている（アイドリング状態でない）ＲＭを除外する。また、押し退け配備部６２は、ロックがかかっていない場合であっても、移動負荷属性を持つＶＭが１つでもあるＲＭを除外する。移動負荷属性を持つＶＭがあるか否かは、後述するＶＭ状態管理テーブル６４を用いて判定される。そして、押し退け配備部６２は、除外されなかった各ＲＭを、ＲＭ管理テーブル１２の対応システム１２ｆに基づいて、ＶＭＰの種類毎のＶＭＰグループに分類する。さらに、押し退け配備部６２は、除外されなかった各ＲＭについて、それぞれ包含する全てのＶＭの単位時間当たりの平均ＣＰＵ使用率を算出する。そして、押し退け配備部６２は、算出した各ＶＭの平均ＣＰＵ使用率を用いて、ＶＭＰグループ毎に、平均ＣＰＵ使用率の低いＲＭの順にソートする。そして、押し退け配備部６２は、平均ＣＰＵ使用率の低いＶＭが多く存在するＶＭＰグループ内のＲＭを、仮想マシン環境を押し退ける物理マシン２として決定する。
【００８５】
また、押し退け配備部６２は、決定した物理マシン２のＶＭのストレージのイメージを、無停止で、仮想マシン環境として使用中の別の物理マシン２に押し退ける（移動する）。このように、無停止でＶＭを別のＶＭに移動させる技術は、「ライブマイグレーション」といい、例えばＶＭイメージファイル６５を用いて行われる。なお、ライブマイグレーションの移動元に配備されたＶＭＰは、移動先に配備されたＶＭＰと同一の種類であるものとする。
【００８６】
また、押し退け配備部６２は、移動が完了した後、該移動元の物理マシン２のＶＭＰのストレージのイメージをＲＭ管理マスタＤＢ１１に押し退ける（移動する）。かかる処理は、ＲＭイメージバックアップ部２２によって処理される。そして、押し退け配備部６２は、ＯＳを含む、物理マシン環境のストレージのイメージをＲＭ管理マスタＤＢ１１から取得し、取得したイメージを、移動元の物理マシン２に対して書き込む。かかる処理は、ＲＭイメージ書込部２３によって処理される。そして、押し退け配備部６２は、移動元の物理マシン２を再び起動する。かかる処理は、ＲＭ起動部２４によって処理される。なお、ＲＭイメージバックアップ部２２、ＲＭイメージ書込部２３およびＲＭ起動部２４による処理は、実施例１で説明したので、この説明は省略する。
【００８７】
ここで、押し退け配備部６２による押し退け配備処理を、図１４を参照して説明する。図１４は、実施例２に係る押し退け配備処理を説明する図である。なお、図１４では、物理マシン２Ａが仮想マシン環境を押し退けられるマシンであり、物理マシン２Ｂが押し退けられた仮想マシン環境を受け入れるマシンであるとする。物理マシン２Ａでは、ＶＭＰ上でＶＭ１およびＶＭ２が動作している。物理マシン２Ｂでは、ＶＭＰ上でＶＭ４が動作している。物理マシン２Ａに配備されたＶＭＰは、物理マシン２Ｂに配備されたＶＭＰと同一の種類であるとする。
【００８８】
まず、押し退け配備部６２は、物理マシン２ＡのＶＭを、動作を保ちながら物理マシン２Ｂに押し退ける。ここでは、押し退け配備部６２は、物理マシン２ＡのＶＭ１、ＶＭ２を、動作を保ちながら物理マシン２Ｂに押し退ける。
【００８９】
そして、押し退け配備部６２は、移動元の物理マシン２ＡのＶＭＰのストレージのイメージをＲＭ管理マスタＤＢ１１に押し退ける。そして、押し退け配備部６１は、移動元の物理マシン２Ａに対して、ＯＳを含む、物理マシン環境のストレージのイメージを書き込む。この間も、物理マシン２Ｂでは、押し退けられたＶＭ１、ＶＭ２が継続して動作している。
【００９０】
そして、押し退け配備部６２は、物理マシン２Ａを再起動することで、物理マシン２Ａを物理マシン環境のＲＭとして配備する。そして、物理マシン２Ａは、バッチジョブ用の計算サーバとして、バッチジョブを実行することができる。
【００９１】
そして、例えばバッチジョブが完了した後に、押し退け配備部６２は、同様の手順で、物理マシン２Ａを元の状態に戻す。すなわち、押し退け配備部６２は、ＯＳのストレージのイメージをＲＭ管理マスタＤＢ１１に移動する。そして、押し退け配備部６１は、移動元の物理マシン２Ａに対して、元のＶＭＰのストレージのイメージを書き込む。そして、押し退け配備部６２は、物理マシン２ＢのＶＭ１、ＶＭ２を、動作を保ちながら物理マシン２Ａに移動する。
【００９２】
図１３に戻って、ＲＭ状態出力部６３は、各ＲＭの状態を出力する。例えば、ＲＭ状態出力部６３は、ウェブブラウザから現在の管理状況の抽出指示を受け取ると、ＲＭ管理テーブル１２に記憶されたＲＭの管理情報に基づいて、各ＲＭの状態を出力部４０に出力する。
【００９３】
次に、ＶＭ状態管理テーブル６４およびＶＭイメージファイル６５のデータ構造について、図１５および図１６を参照して説明する。図１５は、実施例２に係るＶＭ状態管理テーブルのデータ構造の一例を示す図である。図１５に示すように、ＶＭ状態管理テーブル６４は、配置名６４ａとＶＭ移動可否フラグ６４ｂとＶＭ平均ＣＰＵ使用率の最大定義値６４ｃとを対応付けて記憶する。図１５に示すように、配置名６４ａは、ＲＭとして配備される物理マシン自体を識別する名称である。ＶＭ移動可否フラグ６４ｂは、配置名６４ａで示されるＲＭに含まれる各ＶＭについて、移動が可能であるか否かを示すフラグである。例えば、移動が可能である場合、「可」が設定され、移動が不可能である場合、「否」が設定される。ＶＭ平均ＣＰＵ率の最大定義値６４ｃは、配置名６４ａで示されるＲＭ内の全ＶＭについて合算された平均ＣＰＵ使用率のさらに増大可能な最大値を示す。一例として、配置名６４ａが「ｖｎｏｄｅ００５」である場合、ＶＭ移動可否フラグ６４ｂには、１個目のＶＭについて「可」、２個目のＶＭについて「可」が記憶されている。また、ＶＭ平均ＣＰＵ使用率の最大定義値６４ｃには、「２０」％が記憶されている。すなわち、平均ＣＰＵ使用率がさらに２０％増大可能であることが示されている。
【００９４】
図１６は、実施例２に係るＶＭイメージファイルのデータ構造の一例を示す図である。図１６に示すように、ＶＭイメージファイル６５には、ＶＭイメージファイル名６５ａとＶＭバイナリイメージ６５ｂとＶＭプラットフォーム６５ｃとＶＭプラットフォームバージョン６５ｄと導入済みＯＳ６５ｅと備考６５ｆとを対応付けて記憶する。ＶＭイメージファイル名６５ａは、ＶＭイメージを識別するファイルの名称である。ＶＭバイナリイメージ６５ｂは、ＶＭイメージのバイナリデータである。ＶＭプラットフォーム６５ｃには、ＶＭＰの識別子、例えばＶＭＰの名称が設定される。ＶＭプラットフォームバージョン６５ｄには、ＶＭに配置可能なＶＭＰのバージョンが設定される。導入済みＯＳ６５ｅには、ＶＭイメージのＯＳの種類およびＯＳのバージョンが設定される。備考６５ｆには、メモが設定される。
【００９５】
次に、押し退け対象を決定する処理について、図１７を参照して説明する。図１７は、押し退け対象決定処理の手順を示すフローチャートである。なお、例えば、押し退け配備部６２は、バッチジョブ制御部６１から出されたリソース配備要求を取得したことにより処理を開始する。リソース配備要求には、確保すべきＲＭの数が含まれているとする。
【００９６】
押し退け配備部６２は、配備済みの全ＲＭに対して、ＲＭ管理テーブル１２の対応システム１２ｆを参照し、ＶＭＰを配備したＲＭのみを抽出する（ステップＳ２０１）。
【００９７】
そして、押し退け配備部６２は、抽出した各ＲＭのうち移動不可属性をもつＶＭが１つでもあるＲＭを除外する（ステップＳ２０２）。例えば、押し退け配備部６２は、ＶＭ状態管理テーブル６４のＶＭ移動可否フラグ６４ｂに「否」が１つでもある配置名のＲＭを除外する。
【００９８】
そして、押し退け配備部６２は、ＶＭが全て移動可能なＲＭを、ＲＭに配備されたＶＭＰの種類毎のＶＭＰグループに分類する（ステップＳ２０３）。例えば、押し退け配備部６２は、除外されなかったＲＭについて、ＲＭ管理テーブル１２の対応システム１２ｆに基づいて、ＲＭに配備されたＶＭＰの種類毎に分類する。
【００９９】
さらに、押し退け配備部６２は、各ＲＭ内の各ＶＭの平均ＣＰＵ使用率をＲＭ毎に合計し、ＣＰＵ使用率の低いＲＭの順にソートする（ステップＳ２０４）。なお、ソートは、ＶＭＰグループ毎に行われる。
【０１００】
続いて、押し退け配備部６２は、リソース配備要求に含まれた確保すべきＲＭの数分ＲＭを確保したか否かを判定する（ステップＳ２０５）。確保すべきＲＭの数分ＲＭを確保したと判定した場合（ステップＳ２０５；Ｙｅｓ）、押し退け配備部６２は、処理を終了する。
【０１０１】
一方、確保すべきＲＭの数分ＲＭを確保していないと判定した場合（ステップＳ２０５；Ｎｏ）、押し退け配備部６２は、同種のＶＭＰグループで、移動後に平均ＣＰＵ使用率が定義値を超えないＲＭが存在するか否かを判定する（ステップＳ２０６）。言い換えれば、押し退け配備部６２は、同種のＶＭＰグループで、移動元のＲＭ内のＶＭを仮に移動先のＲＭに移動した場合、移動したＶＭの平均ＣＰＵ使用率がＶＭ平均ＣＰＵ使用率の最大定義値６４ｃを超えないような移動先が存在するか否かを判定する。ＶＭ平均ＣＰＵ使用率の最大定義値６４ｃは、ＶＭ状態管理テーブル６４内に記憶されている。
【０１０２】
同種のＶＭＰグループで、定義値を超えないＲＭが存在すると判定した場合（ステップＳ２０６；Ｙｅｓ）、押し退け配備部６２は、同種のＶＭＰグループ内で、平均ＣＰＵ使用率が最も低いＲＭを押し退け対象に決定する（ステップＳ２０７）。そして、押し退け配備部６２は、決定したＲＭ内の全ＶＭを、定義値を超えないＲＭに移動する（ステップＳ２０８）。移動先のＲＭは、一例として、定義値を超えないＲＭであって押し退け対象に決定される確保すべきＲＭ数分のＲＭより平均ＣＰＵ使用率が大きいＲＭとなる。その後、押し退け配備部６２は、次のＲＭを確保すべく、ステップＳ２０５に移行する。
【０１０３】
一方、同種のＶＭＰグループで、定義値を超えないＲＭが存在しないと判定した場合（ステップＳ２０６；Ｎｏ）、押し退け配備部６２は、平均ＣＰＵ使用率が次に低い別種のＶＭＰグループがあるか否かを判定する（ステップＳ２０９）。平均ＣＰＵ使用率が次に低い別種のＶＭＰグループがあると判定した場合（ステップＳ２０９；Ｙｅｓ）、押し退け配備部６２は、次のＲＭを確保すべく、ステップＳ２０５に移行する。
【０１０４】
一方、平均ＣＰＵ使用率が次に低い別種のＶＭＰグループがないと判定した場合（ステップＳ２０９；Ｎｏ）、押し退け配備部６２は、空きリソースが不足していると判断し、リソースを配備せず、処理を終了する。
【０１０５】
次に、ＲＭ状態出力部６３によるＲＭ状態を出力する一例を、図１８を参照して説明する。図１８は、ＲＭ状態の出力例を示す図である。図１８に示すように、出力部４０に、配置名ｇ１、ＲＭホスト名ｇ２、稼動状況ｇ３、対応システムｇ４、導入済みＯＳ、バージョン（ＶＭ割当ｃｏｒｅ数）ｇ５およびイメージファイル名ｇ６が出力されている。配置名ｇ１は、ＲＭ管理テーブル１２の配置名１２ａに対応する。ＲＭホスト名ｇ２は、ＲＭ管理テーブル１２のＲＭホスト名１２ｂに対応する。稼動状況ｇ３は、ＲＭ管理テーブル１２の稼動状況１２ｄに対応する。対応システムｇ４は、ＲＭ管理テーブル１２の対応システム（バージョン）１２ｆに対応する。導入済みＯＳ、バージョン（ＶＭ割当ｃｏｒｅ数）ｇ５は、ＲＭ管理テーブル１２の導入済みＯＳ（バージョン、ＶＭ割当コア数）１２ｇに対応する。イメージファイル名ｇ６は、ＲＭ管理テーブル１２のイメージファイル名１２ｉに対応する。
【０１０６】
ところで、実施例２に係る移動制御システム９Ａでは、ＲＭ管理制御部２１を備えるサーバ１Ａが１台の場合について説明した。しかしながら、移動制御システム９Ａでは、これに限定されず、ＲＭ管理制御部２１を備えるサーバ１Ａが複数台あっても良い。そこで、ＲＭ管理制御部２１を備えるサーバ１Ａが複数台存在する移動制御システム９Ａについて説明する。
【０１０７】
図１９は、実施例２に係る移動制御システムの別の構成例を示す図である。図１９に示すように、移動制御システム９Ａは、サブネット毎に、ＲＭ管理制御部２１を備えるサーバ１Ａを複数配置する。ここでは、移動制御システム９Ａは、サブネット１にサーバ１Ａ１を配置し、サブネット２にサーバ１Ａ２を配置する。そして、サーバ１Ａ１のＲＭ管理制御部２１は、サブネット１の物理マシン２についてＲＭ管理制御を行う。サーバ１Ａ２のＲＭ管理制御部２１は、サブネット２の物理マシン２についてＲＭ管理制御を行う。そして、ＲＭ管理制御マスタ７０が、ＲＭ管理マスタＤＢ１１を用いて、サブネット１側のＲＭ管理制御部２１およびサブネット２側のＲＭ管理制御部２１のそれぞれの処理を分散管理する。これにより、移動制御システム９Ａは、大規模なシステムになっても、ＲＭとして配備された物理マシン２を管理することができる。
【０１０８】
［実施例２の効果］
上記実施例２によれば、押し退け配備部６２は、仮想マシン環境として使用中の物理マシン２の中から、当該物理マシン２毎に算出されるＣＰＵ使用率に基づいて移動元の物理マシン２を決定する。そして、押し退け配備部６２は、決定した移動元の物理マシン２のＶＭのストレージのイメージを、仮想マシン環境として使用中の別の物理マシン２に移動する。そして、押し退け配備部６２は、移動が完了した後、該移動元の物理マシン２のＶＭを制御するＶＭＰのストレージのイメージをＲＭ管理マスタＤＢ１１に移動する。さらに、押し退け配備部６２は、ＯＳを含む、物理マシン環境のストレージのイメージを取得し、取得したイメージを、移動が完了した該移動元のマシンに対して書き込む。かかる構成によれば、押し退け配備部６２は、仮想マシン環境として使用中であった物理マシン２を物理マシン環境として使用できるようにしたので、バッチ処理を実行するような場合に当該バッチ処理を高速化することができる。また、押し退け配備部６２は、使用中の物理マシン２のＶＭを別の物理マシン２に移動するようにしたので、移動したＶＭは動作を停止させないで継続して実行することができる。
【０１０９】
また、上記実施例２によれば、押し退け配備部６２は、仮想マシン環境として使用中の物理マシン２の中からＣＰＵ使用率の最も低い物理マシン２を移動元の物理マシン２として決定する。かかる構成によれば、押し退け配備部６２は、ＣＰＵ使用率の最も低い物理マシン２を移動元の物理マシン２として決定することにしたので、移動元のＶＭを移動先に高速に移動することができ、移動元の物理マシン２を早期に物理マシン環境に配備できる。この結果、押し退け配備部６２は、バッチ処理を実行するような場合に、配備された物理マシン環境のもとで、バッチ処理を高速に行うことができる。
【０１１０】
なお、実施例２では、サーバ１Ａでは、バッチジョブ制御部６１が、キューに蓄積されるバッチジョブの溜まり具合に基づいて、ＲＭ管理制御部２１に対してリソース配備要求を出力し、バッチジョブ用の計算サーバとして物理マシン環境のＲＭを配備させた。しかしながら、サーバ１Ａでは、これに限定されず、ウェブブラウザからＲＭ管理制御部２１に対してリソース配備要求を出力し、バッチジョブ用の計算サーバとして物理マシン環境のＲＭを配備させるようにしても良い。
【０１１１】
［プログラムなど］
なお、サーバ１、１Ａは、既知のパーソナルコンピュータ、ワークステーションなどの情報処理装置に、上記した制御部２０と、記憶部１０などの各機能を搭載することによって実現することができる。
【０１１２】
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、ＲＭイメージバックアップ部２２とＲＭ停止部２５とを１個の部として統合しても良い。一方、押し退け配備部６２を、押し退け対象となるＲＭを決定する決定部と決定部によって決定されたＲＭを物理マシン環境に切り替える第１の切替部と元の仮想マシン環境に戻す第２の切替部とに分散しても良い。また、ＲＭ管理マスタＤＢ１１などの記憶部１０をサーバ１、１Ａの外部装置としてネットワーク３経由で接続するようにしても良い。
【０１１３】
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１に示したサーバ１と同様の機能を実現する移動制御プログラムを実行するコンピュータの一例を説明する。図２０は、移動制御プログラムを実行するコンピュータの一例を示す図である。
【０１１４】
図２０に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０１と、ユーザからのデータの入力を受け付ける入力装置２０２と、ディスプレイ２０３を有する。また、コンピュータ２００は、記憶媒体からプログラムなどを読取る読み取り装置２０４と、ネットワーク３を介して他のコンピュータとの間でデータの授受を行うインタフェース装置２０５とを有する。また、コンピュータ２００は、各種情報を一時記憶するＲＡＭ２０６と、ハードディスク装置２０７を有する。そして、各装置２０１〜２０７は、バス２０８に接続される。
【０１１５】
ハードディスク装置２０７は、移動制御プログラム２０７ａおよび移動制御関連情報２０７ｂを記憶する。ＣＰＵ２０１は、移動制御プログラム２０７ａを読み出して、ＲＡＭ２０６に展開する。移動制御プログラム２０７ａは、移動制御プロセス２０６ａとして機能する。
【０１１６】
例えば、移動制御プロセス２０６ａは、ＲＭイメージバックアップ部２２、ＲＭイメージ書込部２３、ＲＭ起動部２４およびＲＭ停止部２５に対応する。移動制御関連情報２０７ｂは、ＲＭ管理マスタＤＢ１１に対応する。
【０１１７】
なお、移動制御プログラム２０７ａについては、必ずしも最初からハードディスク装置２０７に記憶させておかなくても良い。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ２００がこれらから移動制御プログラム２０７ａを読み出して実行するようにしても良い。
【符号の説明】
【０１１８】
１、１Ａ  サーバ
２  物理マシン
９、９Ａ  移動制御システム
１０  記憶部
１１  ＲＭ管理マスタＤＢ
１２  ＲＭ管理テーブル
１３  ＲＭイメージファイル
１４  運用ログ
２０  制御部
２１  ＲＭ管理制御部
２２  ＲＭイメージバックアップ部
２３  ＲＭイメージ書込部
２４  ＲＭ起動部
２５  ＲＭ停止部
３０  入力部
４０  出力部
５０  ＨＤＤ
６１  バッチジョブ制御部
６２  押し退け配備部
６３  ＲＭ状態出力部
６４  ＲＭ状態管理テーブル
６５  ＶＭイメージファイル
【図１】
0005998566.tif 000002
【図２】
0005998566.tif 000003
【図３】
0005998566.tif 000004
【図４】
0005998566.tif 000005
【図５】
0005998566.tif 000006
【図６】
0005998566.tif 000007
【図７】
0005998566.tif 000008
【図８】
0005998566.tif 000009
【図９】
0005998566.tif 000010
【図１０】
0005998566.tif 000011
【図１１】
0005998566.tif 000012
【図１２】
0005998566.tif 000013
【図１３】
0005998566.tif 000014
【図１４】
0005998566.tif 000015
【図１５】
0005998566.tif 000016
【図１６】
0005998566.tif 000017
【図１７】
0005998566.tif 000018
【図１８】
0005998566.tif 000019
【図１９】
0005998566.tif 000020
【図２０】
0005998566.tif 000021