(57)【特許請求の範囲】
【請求項１】
所定の機能を実現する動作環境を仮想マシンに構築させるための構成情報を、管理者の操作入力に従って設定する構成情報設定部と、
前記構成情報設定部により設定された仮想マシンの構成情報を、この仮想マシンと連携する仮想マシンのグループに関連付けて記録する管理部と、
仮想マシンに組み込まれた構成変更モジュールと通信を行って、前記構成情報設定部により設定された構成情報を送信する構成情報送信部と、
いずれかの仮想マシンの変化が検知された場合に、この仮想マシンのグループに関連付けられた他の仮想マシンの構成情報を更新する連携管理部と
を有する仮想マシン管理装置。
【請求項２】
前記連携管理部は、いずれかの仮想マシンのＩＰアドレスが変化した場合に、この仮想マシンのグループに関連付けられた他の仮想マシンの構成情報のうち、接続先を示す構成情報を、変化後のＩＰアドレスに基づいて更新する
請求項１に記載の仮想マシン管理装置。
【請求項３】
前記連携管理部は、いずれかの仮想マシンが管理者の意図に反して停止した場合に、この仮想マシンの構成情報に基づいて、新たに仮想マシンを起動させ、起動した仮想マシンのＩＰアドレスに基づいて、停止した仮想マシンのグループに関連付けられた他の仮想マシンの構成情報を更新し、
前記管理部は、新たに起動させた仮想マシンの構成情報を、停止した仮想マシンのグループに関連付ける
請求項１に記載の仮想マシン管理装置。
【請求項４】
管理者の操作入力に従って、ハードウェア資源を複数のユーザに共有させる仮想化システム内の仮想マシンで実行される起動スクリプトを生成する起動スクリプト生成部と、
前記起動スクリプト生成部により生成された起動スクリプトを仮想化システムに送信する起動スクリプト送信部と
をさらに有し、
前記連携管理部は、前記起動スクリプト送信部により送信された起動スクリプトに基づいて仮想マシン内に組み込まれた構成変更モジュールと通信を行って、仮想マシンの変化を検知する
請求項１に記載の仮想マシン管理装置。
【請求項５】
ハードウェア資源を複数のユーザに共有させる仮想化システムと、
前記仮想化システム内で稼働する仮想マシンを管理する仮想マシン管理装置と
を含み、
前記仮想マシン管理装置は、
所定の機能を実現する動作環境を仮想マシンに構築させるための構成情報を、管理者の操作入力に従って設定する構成情報設定部と、
前記構成情報設定部により設定された仮想マシンの構成情報を、この仮想マシンと連携する仮想マシンのグループに関連付けて記録する管理部と、
仮想マシンに組み込まれた構成変更モジュールと通信を行って、前記構成情報設定部により設定された構成情報を送信する構成情報送信部と、
いずれかの仮想マシンの変化が検知された場合に、この仮想マシンのグループに関連付けられた他の仮想マシンの構成情報を更新する連携管理部と
を有する
仮想マシン管理システム。
【請求項６】
所定の機能を実現する動作環境を仮想マシンに構築させるための構成情報を、管理者の操作入力に従って設定する構成情報設定ステップと、
前記構成情報設定ステップにおいて設定された仮想マシンの構成情報を、この仮想マシンと連携する仮想マシンのグループに関連付けて記録するグループ管理ステップと、
仮想マシンに組み込まれた構成変更モジュールと通信を行って、前記構成情報設定ステップにおいて設定された構成情報を送信する構成情報送信ステップと、
いずれかの仮想マシンに変化が検知された場合に、この仮想マシンのグループに関連付けられた他の仮想マシンの構成情報を更新する連携管理ステップと
をコンピュータに実行させるプログラム。
【請求項７】
コンピュータが、所定の機能を実現する動作環境を仮想マシンに構築させるための構成情報を、管理者の操作入力に従って設定する構成情報設定ステップと、
コンピュータが、前記構成情報設定ステップにおいて設定された仮想マシンの構成情報を、この仮想マシンと連携する仮想マシンのグループに関連付けて記録するグループ管理ステップと、
コンピュータが、仮想マシンに組み込まれた構成変更モジュールと通信を行って、前記構成情報設定ステップにおいて設定された構成情報を送信する構成情報送信ステップと、
コンピュータが、いずれかの仮想マシンに変化が検知された場合に、この仮想マシンのグループに関連付けられた他の仮想マシンの構成情報を更新する連携管理ステップと
を有する仮想マシン管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想化システム内に仮想マシンを起動させる仮想マシン管理装置、仮想マシン管理システム、仮想マシン管理方法、及びプログラムに関する。
【背景技術】
【０００２】
例えば、特許文献１には、複数台の物理計算機を結合機構によって連結する分散形仮想計算機システムであって、複数台の物理計算機のうち少なくとも１台は仮想計算機制御プログラムの制御下で複数の仮想計算機が動作しているものであり、結合機構に物理計算機と仮想計算機とを一括してシミュレーション制御する制御プログラムを内蔵し、制御プログラムは各計算機との通信伝文上の識別子により物理計算機か仮想計算機かを識別して各計算機を制御することを特徴とする分散形仮想計算機システムが開示されている。
【特許文献１】再表９７／０３５２５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
互いに連携する複数の仮想マシンを効率的に管理する。
【課題を解決するための手段】
【０００４】
本発明は、互いに連携する複数の仮想マシンを効率的に管理する仮想マシン管理装置、仮想マシン管理方法、及びプログラムを提供する。
本発明の仮想マシン管理装置は、所定の機能を実現する動作環境を仮想マシンに構築させるための構成情報を、管理者の操作入力に従って設定する構成情報設定部と、前記構成情報設定部により設定された仮想マシンの構成情報を、この仮想マシンと連携する仮想マシンのグループに関連付けて記録する管理部と、仮想マシンに組み込まれた構成変更モジュールと通信を行って、前記構成情報設定部により設定された構成情報を送信する構成情報送信部と、いずれかの仮想マシンの変化が検知された場合に、この仮想マシンのグループに関連付けられた他の仮想マシンの構成情報を更新する連携管理部とを有する。【０００５】
好適には、前記連携管理部は、いずれかの仮想マシンのＩＰアドレスが変化した場合に、この仮想マシンのグループに関連付けられた他の仮想マシンの構成情報のうち、接続先を示す構成情報を、変化後のＩＰアドレスに基づいて更新する。
好適には、前記連携管理部は、いずれかの仮想マシンが管理者の意図に反して停止した場合に、この仮想マシンの構成情報に基づいて、新たに仮想マシンを起動させ、起動した仮想マシンのＩＰアドレスに基づいて、停止した仮想マシンのグループに関連付けられた他の仮想マシンの構成情報を更新し、前記管理部は、新たに起動させた仮想マシンの構成情報を、停止した仮想マシンのグループに関連付ける。
好適には、管理者の操作入力に従って、ハードウェア資源を複数のユーザに共有させる仮想化システム内の仮想マシンで実行される起動スクリプトを生成する起動スクリプト生成部と、前記起動スクリプト生成部により生成された起動スクリプトを仮想化システムに送信する起動スクリプト送信部とをさらに有し、前記連携管理部は、前記起動スクリプト送信部により送信された起動スクリプトに基づいて仮想マシン内に組み込まれた構成変更モジュールと通信を行って、仮想マシンの変化を検知する。【０００６】
本発明の仮想マシン管理システムは、ハードウェア資源を複数のユーザに共有させる仮想化システムと、前記仮想化システム内で稼働する仮想マシンを管理する仮想マシン管理装置とを含み、前記仮想マシン管理装置は、所定の機能を実現する動作環境を仮想マシンに構築させるための構成情報を、管理者の操作入力に従って設定する構成情報設定部と、前記構成情報設定部により設定された仮想マシンの構成情報を、この仮想マシンと連携する仮想マシンのグループに関連付けて記録する管理部と、仮想マシンに組み込まれた構成変更モジュールと通信を行って、前記構成情報設定部により設定された構成情報を送信する構成情報送信部と、いずれかの仮想マシンの変化が検知された場合に、この仮想マシンのグループに関連付けられた他の仮想マシンの構成情報を更新する連携管理部とを有する。【０００７】
本発明のプログラムは、所定の機能を実現する動作環境を仮想マシンに構築させるための構成情報を、管理者の操作入力に従って設定する構成情報設定ステップと、前記構成情報設定ステップにおいて設定された仮想マシンの構成情報を、この仮想マシンと連携する仮想マシンのグループに関連付けて記録するグループ管理ステップと、仮想マシンに組み込まれた構成変更モジュールと通信を行って、前記構成情報設定ステップにおいて設定された構成情報を送信する構成情報送信ステップと、いずれかの仮想マシンに変化が検知された場合に、この仮想マシンのグループに関連付けられた他の仮想マシンの構成情報を更新する連携管理ステップとをコンピュータに実行させる。【０００８】
本発明の仮想マシン管理方法は、所定の機能を実現する動作環境を仮想マシンに構築させるための構成情報を、管理者の操作入力に従って設定する構成情報設定ステップと、前記構成情報設定ステップにおいて設定された仮想マシンの構成情報を、この仮想マシンと連携する仮想マシンのグループに関連付けて記録するグループ管理ステップと、仮想マシンに組み込まれた構成変更モジュールと通信を行って、前記構成情報設定ステップにおいて設定された構成情報を送信する構成情報送信ステップと、いずれかの仮想マシンに変化が検知された場合に、この仮想マシンのグループに関連付けられた他の仮想マシンの構成情報を更新する連携管理ステップとを有する。
【発明の効果】
【０００９】
互いに連携する複数の仮想マシンを効率的に管理することができる。
【図面の簡単な説明】
【００１０】
【図１】仮想マシン管理システム１の全体構成を例示する図である。
【図２】仮想マシン管理プログラム１００、仮想化プログラム２００、及び仮想マシンプログラム２１０の機能構成を例示する図である。
【図３】構成情報ＤＢ１０４を例示する図である。
【図４】仮想マシン管理ＤＢ１０８を例示する図である。
【図５】イベント管理ＤＢを１１４例示する図である。
【図６】仮想マシン起動処理Ｓ１０のフローチャートである。
【図７】構成情報送信処理Ｓ２０のフローチャートである。
【図８】仮想マシン管理プログラム３００、仮想化プログラム２００、及び仮想マシンプログラム２１０の機能構成を例示する図である。
【図９】バージョン管理ＤＢ３２２を例示する図である。
【図１０】仮想マシン管理ＤＢ３０８を例示する図である。
【図１１】グループ単位で仮想マシンを運用する方法を説明する図である。
【図１２】仮想マシン管理プログラム５００、仮想化プログラム２００、及び仮想マシンプログラム２１０の機能構成を例示する図である。
【図１３】テンプレートＤＢ５２４を例示する図である。
【図１４】テンプレートによる仮想マシン連携システムの構築方法を説明する図である。
【図１５】構成情報の設定画面７００を例示する図である。
【図１６】仮想マシンの起動画面８００を例示する図である。
【図１７】イベント設定画面９００を例示する図である。
【符号の説明】
【００１１】
１      仮想サーバ管理システム
１００  仮想マシン管理プログラム（実施例１）
１０２  構成情報設定部
１０４  構成情報ＤＢ
１０６  起動スクリプト生成部
１０８  仮想マシン管理ＤＢ
１１０  起動スクリプト送信部
１１２  構成情報送信部
１１４  イベント設定部
１１６  イベント管理部
１１８  イベント管理ＤＢ
２００  仮想化プログラム
２０２  起動スクリプト実行部
２１０  仮想マシンプログラム
２１２  構成情報取得部
２１４  イベント処理部
３００  仮想マシン管理プログラム（実施例２）
３０２  構成情報設定部（実施例２）
３０６  起動スクリプト生成部（実施例２）
３０８  仮想マシン管理ＤＢ（実施例２）
３２０  バージョン管理部
３２２  バージョン管理ＤＢ
４３０  開発グループ
４３２  テストグループ
４３４  本番グループ
４４０、４４２、４４４  仮想マシン
５００  仮想マシン管理プログラム（実施例３）
５０２  構成情報設定部（実施例３）
５２４  テンプレートＤＢ
６１０  販売システム用テンプレート
６１２  予約システム用テンプレート
６１４  業務システム用テンプレート
６３０、６３２、６３４  仮想マシン
【発明を実施するための最良の形態】
【００１２】
（実施例１）
図１は、仮想マシン管理システム１の全体構成を例示する図である。
図１に例示するように、仮想マシン管理システム１は、管理端末１０と、仮想マシン管理装置２０と、仮想化システム３０と、ユーザ端末４０とを有する。管理者端末１０、仮想マシン管理装置２０、仮想化システム３０、及びユーザ端末４０は、通信ネットワーク５０を介して、相互に接続している。なお、通信ネットワーク５０は、特に限定するものではなく、例えば、インターネット、専用線、携帯電話通信網、及びＬＡＮなどの組み合わせにより構成されればよい。
以下、本図に示される各構成について説明する。【００１３】
管理者端末１０は、ＣＰＵ及び記憶媒体などを備えたコンピュータである。管理者端末１０は、仮想マシン管理装置２０に接続し、仮想マシン管理装置２０を介して、仮想化システム３０が有するハードウェア資源をユーザ間で共有するための設定を行う。
本例では、管理者端末１０は、管理者の操作入力に従って、構成情報を仮想マシン管理装置２０に設定させる。また、管理者端末１０は、管理者の操作入力に従って、仮想化システム３０内に仮想マシンを起動するための処理を仮想マシン管理装置２０に実行させる。
なお、構成情報は、所定の機能を実現する動作環境を仮想化システム３０内に起動した仮想マシンに構築させるための情報である。【００１４】
仮想マシン管理装置２０は、ＣＰＵ及び記憶媒体などを備えたコンピュータであり、図２を用いて後述する仮想マシン管理プログラム１００がインストールされている。仮想マシン管理装置２０は、管理者端末１０における管理者の操作入力を通信ネットワーク５０を介して受け付け、受け付けた操作入力に従って仮想化システム３０内の仮想マシンを管理する。
本例では、仮想マシン管理装置２０は、仮想マシン管理プログラム１００により実現される機能により、主に、仮想マシンに動作環境を構築させるための構成情報の設定、仮想化システム３０内の仮想マシンの起動、及び各種イベント情報を契機にしたアップデート処理などを行う。【００１５】
仮想化システム３０は、多数のコンピュータ、ストレージ、及びネットワーク回線などを相互に関連付けて構成されるハードウェア資源を、仮想化技術を用いて複数のユーザに共有させる手段を提供する。例えば、仮想化システム３０は、クラウド・コンピューティング又はグリッド・コンピューティングなどにより実現される。なお、仮想化技術とは、単一の物理リソース（コンピュータ、ストレージ、及びネットワーク回線など）を複数の論理リソースとしたり、複数の物理リソースを単一の論理リソースとしたりするための技術である。本例では、仮想化システム３０がＩａａＳ（Infrastructure as a Service）である場合を具体例として説明する。
本例では、仮想化システム３０は、マシンイメージを保有し、仮想マシン管理装置２０から送信された起動スクリプトを実行して、このマシンイメージに基づき仮想マシンを起動する。起動した仮想マシンは、仮想マシン管理装置２０から構成情報を取得し、取得した構成情報に基づいて所定の機能を実現する動作環境を構築し、以後その動作環境で動作する。本例ではマシンイメージが仮想化システム３０により保有される形態を説明するが、仮想マシン管理装置２０が、マシンイメージを保有し仮想化システム３０に送信するようにしてもよい。
なお、マシンイメージは、仮想マシンの動作環境を表わすデータである。マシンイメージは、直接修正することができず、実際に動作しているコンピュータの動作環境を反映させて生成されるものである。このため、従来から、仮想マシンの動作環境の変更のたびに、マシンイメージを修正する作業は、多大な人的コスト及び時間を要するものであった。本例では、マシンイメージで仮想マシンのバリエーションを実現する代わりに、仮想マシンをカスタマイズする構成情報で仮想マシンのバリエーションを実現する。これにより、マシンイメージそのものに対する修正作業を減らすことができる。仮想マシンには、仮想サーバ、仮想ネットワーク機器、仮想ストレージ機器、仮想データベースなどが含まれる。
また、起動スクリプトは、仮想化システム３０が有するマシンイメージに基づいて仮想マシンを起動することを仮想化システム３０に命令するプログラムである。【００１６】
ユーザ端末４０は、ＣＰＵ及び記憶媒体などを備えたコンピュータである。ユーザ端末４０は、通信ネットワーク５０を介して、管理者により設定された仮想化システム３０内の仮想マシンに接続し、その仮想マシンにより実現されるシステムをユーザに利用させるユーザインターフェースの役を担う。【００１７】
以上説明した構成によれば、管理者は、仮想マシン管理装置２０を通じて、通信ネットワーク５０を介して管理者端末１０から仮想化システム３０内の仮想マシンを管理することができる。【００１８】
図２は、仮想マシン管理プログラム１００、仮想化プログラム２００、及び仮想マシンプログラム２１０の機能構成を例示する図である。
図２に例示するように、仮想マシン管理プログラム１００は、構成情報設定部１０２と、起動スクリプト生成部１０６と、起動スクリプト送信部１１０と、構成情報送信部１１２と、イベント設定部１１４と、イベント管理部１１６とを有する。また、仮想マシン管理プログラム１００は、上述した各部として機能する際、構成情報データベース（構成情報ＤＢ）１０４と、仮想マシン管理データベース（仮想マシン管理ＤＢ）１０８と、イベント管理データベース（イベント管理ＤＢ）１１８とを参照及び改変できる。なお、仮想マシン管理プログラム１００の一部又は全部の機能は、ＡＳＩＣ等のハードウェアにより実現されてもよい。
また、仮想化システム３０において仮想マシンを動作させるコンピュータは、仮想化プログラム２００を実行する。仮想化プログラム２００は、起動スクリプト実行部２０２を有する。さらに、起動スクリプト実行部２０２により仮想化システム３０内で起動した仮想マシンは、仮想マシンプログラム２１０を実行する。仮想マシンプログラム２１０は、構成情報取得部２１２と、イベント処理部２１４とを有する。
以下、本図に示される各構成について説明する。【００１９】
仮想マシン管理プログラム１００の構成情報設定部１０２は、管理者の操作入力に従って構成情報を設定する。
本例では、構成情報設定部１０２は、管理者端末１０のブラウザで構成情報の設定画面を管理者端末１０に表示させ、この設定画面を通じて管理者の操作入力を受け付ける。そして、構成情報設定部１０２は、受け付けた管理者の操作入力に従って、管理者により入力された情報を構成情報の雛型に埋め込んで構成情報を生成し、又は、管理者端末１０のアップロード操作により構成情報を取得して、その生成又は取得した構成情報を、設定画面を通じて管理者により入力されたグループ名及び仮想マシン名と、構成情報設定部１０２が割り当てる構成情報ＩＤとに関連付けて構成情報ＤＢ１０４に格納する。【００２０】
構成情報ＤＢ１０４は、図３に例示するように、データ項目として、グループ名と、仮想マシン名と、構成情報と、構成情報ＩＤとを有する。構成情報は、仮想マシンに実現させる機能の種別に応じて共通となる共通部分と、仮想マシンごとに共通部分に付加する付加部分とから構成される。さらに、共通部分及び付加部分は、それぞれ構成定義と構成データとから構成される。
グループ名は、１又は複数の仮想マシンをひとまとまりにしたグループを特定するための名称である。例えば、グループ名には、複数の仮想マシンが連携して所定の機能を実現する各種情報システムの名称などが設定される。
仮想マシン名は、仮想マシンを特定するための名称である。
構成定義は、所定の機能を実現する動作環境を仮想マシンに構築させるための設定操作を表わすデータである。例えば、構成定義は、ファイルサーバから取得したファイルを配置する、ファイルの所有権を変更する、ディレクトリを作成する、ユーザーアカウントを登録する、コマンドを実行する、サービスを開始する、ネットワーク情報を最新にする、及び構成情報を仮想マシン管理装置２０に要求するなどの設定操作を表わす。また、構成定義は、複数の各種設定操作を、組み合わせて表わしてもよい。
構成データは、所定の機能を実現する動作環境において参照されるデータである。例えば、構成データは、所定の機能を実現するプログラムにより参照される設定データ、又は画像若しくは音声などのリソースデータなどである。
構成情報ＩＤは、構成情報を一意に識別する情報である。例えば、構成情報ＩＤは、文字、数字、及び記号などの組み合わせにより表わされる。【００２１】
起動スクリプト生成部１０６は、管理者の操作入力に従って、仮想化システム３０内に仮想マシンの起動に関連して実行させる起動スクリプトを生成する。起動スクリプトは、仮想マシンの起動をトリガーとして実行させるスクリプトであってもよいし、仮想マシンを起動させるスクリプトであってもよい。
本例では、起動スクリプト生成部１０６は、管理者端末１０のブラウザで、仮想化システム３０に所定の仮想マシンの起動を指示するための起動画面を、管理者端末１０に表示させ、この起動画面を通じて管理者の操作入力を受け付ける。そして、起動スクリプト生成部１０６は、受け付けた管理者の操作入力に従って、起動スクリプトを生成する。
また、起動スクリプト生成部１０６は、生成した起動スクリプトに関連する仮想マシン（具体的には、この起動スクリプトが送信される仮想マシン）に送信すべき構成情報を特定する情報を、生成した起動スクリプトが送信される仮想マシンを特定する情報に関連付けて記録する。
本例では、起動スクリプト生成部１０６は、構成情報ＤＢ１０４から、生成する起動スクリプトにより起動される仮想マシンを特定するグループ名及び仮想マシン名を、起動画面を通じて管理者により選択させ、選択されたグループ名及び仮想マシン名を、構成情報ＤＢ１０４において選択されたグループ名及び仮想マシン名に関連付けられている構成情報ＩＤに関連付けて仮想マシン管理ＤＢ１０８に格納する。
また、起動スクリプト生成部１０６は、管理者の操作入力のみならず、イベント管理部１１６からの指示にも従って、仮想化システム３０内の所定の仮想マシン内で、この仮想マシンの起動時に実行される起動スクリプトを生成する。【００２２】
仮想マシン管理ＤＢ１０８は、図４に例示するように、データ項目として、グループ名と、仮想マシン名と、構成情報ＩＤとを有する。
グループ名は、構成情報ＤＢ１０４におけるグループ名と同一である。
仮想マシン名は、構成情報ＤＢ１０４における仮想マシン名と同一である。
構成情報ＩＤは、構成情報ＤＢ１０４における構成情報ＩＤと同一である。【００２３】
起動スクリプト送信部１１０は、起動スクリプト生成部１０６により生成された起動スクリプトを仮想化システム３０に送信する。
本例では、起動スクリプト送信部１１０は、起動スクリプト生成部１０６により生成された起動スクリプトを、管理者により選択されたグループ名及び仮想マシン名とともに仮想化プログラム２００における起動スクリプト実行部２０２に送信する。【００２４】
構成情報送信部１１２は、起動スクリプトを用いて仮想化システム内でカスタマイズした仮想マシンからの要求に応じて、構成情報設定部１０２により設定された構成情報を、要求した仮想マシンに送信する。このとき、構成情報送信部１１２は、仮想マシンからの要求とともに送信されてくる仮想マシンを特定する情報に関連付けられている構成情報を特定する情報が、起動スクリプト生成部１０６により起動スクリプトの生成時に記録した構成情報を特定する情報と一致しているか否かにより、起動スクリプト生成部１０６により生成された起動スクリプトを実行した仮想マシンからの要求であるか否かを判定し、当該仮想マシンからの要求であると判定した場合にのみ、要求した仮想マシンに構成情報を送信する。
本例では、構成情報送信部１１２は、仮想化システム３０内に起動スクリプトを実行した仮想マシンからの要求とともに仮想マシンから送信されて来たグループ名及び仮想マシン名に関連付けられている構成情報ＩＤを仮想マシン管理ＤＢ１０８から取得しようと試みる。そして、構成情報送信部１１２は、仮想マシン管理ＤＢ１０８から構成情報ＩＤを取得できた場合にのみ、起動スクリプト生成部１０６により生成された起動スクリプトによって起動した仮想マシンからの要求であると判定し、取得した構成情報ＩＤに関連付けられている構成情報を構成情報ＤＢ１０４から取得し、取得した構成情報を、要求した仮想マシンに送信する。【００２５】
イベント設定部１１４は、管理者の操作入力に従って、所定の動作状態になったことを表わすイベント情報を契機にして実行される処理を設定する。
本例では、イベント設定部１１４は、管理者端末１０のブラウザでイベント情報を契機にして実行される処理を設定するための設定画面を管理者端末１０に表示させ、この設定画面を通じて管理者の操作入力を受け付ける。そして、イベント設定部１１４は、受け付けた管理者の操作入力に従って、イベント情報と、このイベント情報に対するイベント対応処理とを設定し、設定したイベント情報及びイベント対応処理を互いに関連付けてイベント処理ＤＢ１１８に格納する。【００２６】
イベント管理ＤＢ１１８は、図５に例示するように、データ項目として、イベント情報と、イベント対応処理とを有する。
イベント情報は、所定の動作状態になったことを表わす情報である。
イベント対応処理は、自身に関連付けられているイベント情報が表わす所定の動作状態になったことを契機にして実行される処理を表わす情報である。例えば、イベント対応処理は、仮想化システム３０内の所定の仮想マシンに、構成情報の要求、又は起動若しくは停止などを指示することを表わす。【００２７】
イベント管理部１１６は、所定の動作状態になったことを表わすイベント情報を契機にして、仮想化システム３０内の所定の仮想マシンを操作する。
本例では、イベント管理部１１６は、管理者端末１０からの要求、仮想マシン管理装置２０における動作状態、及び仮想化システム３０内の仮想マシンからの通知に基づいて発生するイベント情報を契機にして、仮想化システム３０内の所定の仮想マシンに、構成情報の要求、又は起動若しくは停止などを指示する。
管理者端末１０からの要求には、例えば、所定の仮想マシンにおける構成情報の変更、所定の仮想マシンの起動又は停止などがある。これらの要求は、管理者端末１０における管理者による操作入力に従って、イベント管理部１１６に送信される。この場合、イベント管理部１１６は、イベント情報を契機にして、管理者端末１０からの要求に従って、仮想化システム３０内の所定の仮想マシンに、構成情報の要求、又は起動若しくは停止などを指示する。
また、仮想マシン管理装置２０における動作状態には、例えば、現在時刻が所定の時間になったことなどがある。この場合、イベント管理部１１６は、イベント情報を契機にして、イベント管理ＤＢ１１８を参照し、仮想マシン管理装置２０における動作状態に対応する構成情報の要求指示などの処理を行う。
また、仮想化システム３０内の仮想マシンからの通知には、仮想マシンの起動の完了若しくは停止の完了、又は構成情報の取得若しくは変更の完了などの通知がある。この場合、イベント管理部１１６は、イベント情報を契機にして、イベント管理ＤＢ１１８を参照し、仮想化システム３０内の仮想マシンからの通知に対応する構成情報の要求指示などの処理を行う。
なお、イベント管理部１１６は、構成情報の要求又は停止などを仮想化システム３０内の所定の仮想マシンに指示する場合、仮想マシンの仮想マシンプログラム２１０におけるイベント処理部２１４に構成情報の要求又は停止などを表わす指示情報を送信する。また、イベント管理部１１６は、仮想化システム３０内の所定の仮想マシンに起動を指示する場合、起動スクリプト生成部１０６に、仮想化システム３０内の所定の仮想マシンを起動する起動スクリプトを生成するように指示する。【００２８】
仮想化プログラム２００の仮想マシン起動処理部は、管理者からの起動指示に応じて、予め用意されたマシンイメージの中から、指定されたマシンイメージに基づいて、仮想マシン（図２の起動スクリプト実行部２０２を含む）を起動させる。本例の仮想マシン起動処理部は、仮想マシン管理プログラム１００（起動スクリプト送信部１１０）から、仮想マシンの起動指示及び起動スクリプトを受信すると、マシンイメージを用いて仮想マシンを起動させ、起動スクリプト送信部１１０から受信した起動スクリプトを、仮想マシンプログラム２１０の起動スクリプト実行部２０２に引き渡す。
起動スクリプト実行部２０２は、仮想マシン管理装置２０から送信された起動スクリプトを受信し、受信した起動スクリプトを、仮想マシン内で実行し、構成変更モジュールが組み込まれた仮想マシンを生成する。
本例では、起動スクリプト実行部２０２は、仮想マシン管理装置２０における起動スクリプト送信部１１０から送信された起動スクリプト（グループ名及び仮想マシン名が含まれている）を、仮想マシン起動処理部を経由して取得し、取得した起動スクリプトに基づいて、マシンイメージから起動した仮想マシンを、グループ名及び仮想マシン名が付与され、かつ、構成変更モジュールが起動した仮想マシンにカスタマイズする。かかる仮想マシンは、付与されたグループ名により特定される論理的なグループに属することとなる。【００２９】
仮想マシンプログラム２１０の構成情報取得部２１２（構成変更モジュール）は、起動スクリプトの実行によって構成される機能モジュールであり、仮想マシン管理装置２０から構成情報を取得する。
本例では、構成情報取得部２１２は、自身を実行する仮想マシンが属するグループを特定するグループ名及び自身を実行する仮想マシンを特定する仮想マシン名とともに、構成情報の要求を、仮想マシン管理装置２０における構成情報送信部１１２に送信する。そして、構成情報取得部２１２は、仮想マシン管理装置２０における構成情報送信部１１２から送信されてくる構成情報を受信し、受信した構成情報に基づき所定の機能を実現するための動作環境を構築する。換言すると、構成情報取得部２１２は、受信した構成情報に基づいて、マシンイメージから構成された汎用的な仮想マシン（仮想サーバ、仮想ネットワーク機器、仮想ストレージ機器、仮想データベース）を、所望の機能を有する仮想マシンにカスタマイズする。【００３０】
イベント処理部２１４（構成変更モジュール）は、起動スクリプトの実行によって構成される機能モジュールであり、仮想マシン管理装置２０から構成情報を取得したことにより、自身を実行する仮想マシンが所定の動作状態になったことを仮想マシン管理装置２０に通知する。また、イベント処理部２１４は、仮想マシン管理装置２０から受信した指示情報に従って仮想マシンの操作処理を行う。
本例では、イベント処理部２１４は、仮想マシン管理装置２０における構成情報送信部１１２から受信した構成情報に基づき、自身を実行する仮想マシンの起動の完了若しくは停止の完了、又は構成情報の取得若しくは変更の完了などを仮想マシン管理装置２０におけるイベント管理部１１８に通知する。また、イベント処理部２１４は、仮想マシン管理装置２０におけるイベント管理部１１８から受信した指示情報に従って、構成情報の要求又は自身を実行する仮想マシンの停止などを行う。【００３１】
図６は、仮想マシン起動処理Ｓ１０のフローチャートである。
図６に例示するように、ステップ１００（Ｓ１００）において、起動スクリプト生成部１０６は、管理者端末１０から接続されたか否かを判定する。仮想マシン管理プログラム１００は、起動スクリプト生成部１０６が管理端末１０から接続されたと判定した場合、Ｓ１０２に移行し、起動スクリプト生成部１０６が管理端末１０から接続されていないと判定した場合、Ｓ１００を繰り返す。【００３２】
ステップ１０２（Ｓ１０２）において、起動スクリプト生成部１０６は、構成情報ＤＢ１０４から、生成する起動スクリプトにより起動される仮想マシンを特定するグループ名及び仮想マシン名を、起動画面を通じて管理者により選択させる。【００３３】
ステップ１０４（Ｓ１０４）において、起動スクリプト生成部１０６は、起動画面を通じて管理者により選択されたグループ名及び仮想マシン名を、構成情報ＤＢ１０４において選択されたグループ名及び仮想マシン名に関連付けられている構成情報ＩＤに関連付けて仮想マシン管理ＤＢ１０８に格納する。【００３４】
ステップ１０６（Ｓ１０６）において、起動スクリプト生成部１０６は、起動画面を通じて管理者から受け付けた操作入力に従って、起動スクリプトを生成する。【００３５】
ステップ１０８（Ｓ１０８）において、起動スクリプト送信部１１０は、Ｓ１０６において生成された起動スクリプトを、Ｓ１０２において管理者により選択されたグループ名及び仮想マシン名とともに、仮想化プログラム２００における仮想マシン起動処理部に送信する。
仮想マシン起動処理部は、仮想化システム内で、マシンイメージに基づいて仮想マシンを起動させ、起動した仮想マシン内の起動スクリプト実行部２０２に、受信した起動スクリプト、グループ名及び仮想マシン名を引き渡す。起動スクリプト実行部２０２は、仮想マシン起動処理部から引き渡された起動スクリプトを実行して、構成変更モジュール（構成情報取得部２１２及びイベント処理部２１４）を起動させると共に、この仮想マシンを、引き渡されたグループ名及び仮想マシン名に関連付ける。起動した構成変更モジュールは、関連付けられたグループ名及び仮想マシン名を用いて、仮想マシン管理プログラム３００と通信を行うようになる。【００３６】
図７は、構成情報送信処理Ｓ２０のフローチャートである。
図７に例示するように、ステップ２００（Ｓ２００）において、構成情報送信部１１２は、仮想マシンから構成情報を要求されたか否かを判定する。仮想化マシン管理プログラム１００は、構成情報送信部１１２が仮想マシンから構成情報を要求されたと判定した場合、Ｓ２０２に移行し、構成情報送信部１１２が仮想マシンから構成情報を要求されていないと判定した場合、Ｓ２００を繰り返す。【００３７】
ステップ２０２（Ｓ２０２）において、構成情報送信部１１２は、起動スクリプトにより仮想化システム３０内に起動した仮想マシンからの要求とともに仮想マシンから送信されて来たグループ名及び仮想マシン名に関連付けられている構成情報ＩＤを仮想マシン管理ＤＢ１０８から取得しようと試みる。【００３８】
ステップ２０４（Ｓ２０４）において、構成情報送信部１１２は、Ｓ２０２において構成情報ＩＤを仮想マシン管理ＤＢ１０８から取得できたか否かを判定する。仮想化マシン管理プログラム１００は、構成情報送信部１１２が構成情報ＩＤを取得できたと判定した場合、Ｓ１０６において生成された起動スクリプトにより起動された仮想マシンから構成情報を要求されたとみなし、Ｓ２０６に移行し、構成情報送信部１１２が構成情報ＩＤを取得できなかったと判定した場合は、Ｓ１０６において生成された起動スクリプトにより起動された仮想マシンから構成情報を要求されたのではないとみなし、Ｓ２００に移行する。【００３９】
ステップ２０６（Ｓ２０６）において、構成情報送信部１１２は、Ｓ２０２において取得された構成情報ＩＤに関連付けられている構成情報を構成情報ＤＢ１０４から取得する。
ステップ２０８（Ｓ２０８）において、構成情報送信部１１２は、Ｓ２０２において取得した構成情報を、Ｓ２００において構成情報を要求してきた仮想マシンに送信する。【００４０】
上記のように仮想マシン管理装置２０が各仮想マシンの構成情報を管理する環境において、例えば、互いに連携する複数の仮想マシンの一つが意図に反してダウンし復帰できない場合に、ダウンした仮想マシンのイベント処理部２１４は、復帰不可能な状態である旨をグループ名に関連付けた状態でイベント管理部１１６に通知し、イベント管理部１１６は、イベント処理部２１４からの通知に基づいて、ダウンした仮想マシンと同じグループ（すなわち、連携中の仮想マシン群）に属する仮想マシンを特定し、特定された他の仮想マシンに対して、連携に必要な構成情報の更新がある旨を通知する。さらに、イベント管理部１１６は、構成情報送信部１１２に、ダウンした仮想マシンの構成情報及びマシンイメージを用いて、新たに仮想マシン（ダウンした仮想マシンと実質的に同じ）を起動させ、その起動を検知すると、起動した仮想マシンのＩＰアドレス等を、特定された他の仮想マシンに対して配信して、連携に必要な構成情報の更新を促す。【００４１】
以上説明した構成によれば、仮想化システム３０内に仮想マシンプログラム２１０を実行するための汎用的なマシンイメージがあらかじめ用意されており、管理者は、各種機能を実現する仮想マシンを起動するためのマシンイメージを多数用意する必要がない。代わりに、管理者は、管理者端末１０を用いて、仮想マシン管理装置２０に構成情報を設定する。構成情報は、設定操作の組み合わせと動作環境において参照されるデータとから構成されるものであり、管理者により柔軟に編集することが可能である。これにより、管理者は、仮想マシン管理システム１において、構成情報によって、各種機能を実現する仮想マシンを効率的に起動、運用、及び管理することができる。【００４２】
（実施例２）
図８は、仮想マシン管理プログラム３００、仮想化プログラム２００、及び仮想マシンプログラム２１０の機能構成を例示する図である。なお、本図に示された各構成のうち、図２に示された構成と実質的に同一のものには同一の符号が付されている。
図８に例示するように、仮想マシン管理プログラム３００は、構成情報設定部３０２と、起動スクリプト生成部３０６と、起動スクリプト送信部１１０と、構成情報送信部３１２と、イベント設定部１１４と、イベント管理部１１６と、バージョン管理部３２０とを有する。また、仮想マシン管理プログラム３００は、上述した各部として機能する際、構成情報データベース（構成情報ＤＢ）１０４と、仮想マシン管理データベース（仮想マシン管理ＤＢ）３０８と、イベント管理データベース（イベント管理ＤＢ）１１８と、バージョン管理データベース（バージョン管理ＤＢ）３２２とを参照及び改変できる。なお、仮想マシン管理プログラム３００の一部又は全部の機能は、ＡＳＩＣ等のハードウェアにより実現されるとしてもよい。
以下、本図に示される各構成のうち、図２に示された構成と異なるものについて説明する。【００４３】
構成情報設定部３０２は、所定の機能を実現する動作環境を仮想マシンに構築させるための構成情報を、管理者の操作入力に従って設定し、設定した該構成情報を設定時における変更を表わすバージョンに関連付けて記録する。
本例では、構成情報設定部３０２は、管理者端末１０のブラウザで構成情報の設定画面を管理者端末１０に表示させ、この設定画面を通じて管理者の操作入力を受け付ける。そして、構成情報設定部１０２は、受け付けた管理者の操作入力に従って、管理者により入力された情報を構成情報の雛型に埋め込んで構成情報を生成し、又は、管理者端末１０のアップロード操作により構成情報を取得して、その生成又は取得した構成情報を、設定画面を通じて管理者により入力されたグループ名及び仮想マシン名と、構成情報設定部１０２が割り当てる構成情報ＩＤとに関連付けて構成情報ＤＢ１０４に格納する。
また、本例では、構成情報設定部３０２は、構成情報ＤＢ１０４に格納した構成情報を、バージョン管理部３２０によりバージョン管理ＤＢ３２２に格納させる。【００４４】
バージョン管理部３２０は、構成情報設定部３０２により設定された構成情報を、この構成情報の設定時における変更を表わすバージョンに関連付けて記録する。
本例では、バージョン管理部３２０は、構成情報設定部３０２から受け取った構成情報を、構成情報ＤＢ１０４においてこの構成情報に関連付けられている構成情報ＩＤと、この構成情報の各設定時における変更を表わすバージョンと、この構成情報の設定日時とに関連付けてバージョン管理ＤＢ３２２に格納する。また、バージョン管理部３２０は、起動スクリプト生成部３０６、構成情報送信部３１２、及びイベント設定部３１４から要求されたデータを、バージョン管理ＤＢ３２２から取得する。【００４５】
バージョン管理ＤＢ３２２は、図９に例示に例示するように、データ項目として、構成情報ＩＤと、変更情報と、バージョンと、変更日時とを有する。
構成情報ＩＤは、構成情報ＤＢ１０４における構成情報ＩＤと同一である。
変更情報は、各設定時における構成情報を表わす。なお、変更情報は、初回設定時における構成情報からの変更差分を表わすものであってもよい。この場合、バージョン管理部３２０は、バージョン管理ＤＢ３２２から構成情報を取得するとき、初回設定時における構成情報に、変更差分を反映したものを取得すればよい。
バージョンは、構成情報の各設定時における変更を表わす。なお、バージョンは、例えば、バージョン管理部３２０により自動付与されてもよいし、又は管理者により指定されてもよい。
変更日時は、構成情報の各設定時における変更日時を表わす。【００４６】
起動スクリプト生成部３０６は、管理者の操作入力に従って、仮想マシンの起動時に実行させる起動スクリプトを生成する。
本例では、起動スクリプト生成部３０６は、管理者端末１０のブラウザで、仮想化システム３０に所定の仮想マシンの起動を指示するための起動画面を、管理者端末１０に表示させ、この起動画面を通じて管理者の操作入力を受け付ける。そして、起動スクリプト生成部３０６は、受け付けた管理者の操作入力に従って、起動スクリプトを生成する。
また、起動スクリプト生成部３０６は、生成した起動スクリプトにより起動した仮想マシンに送信すべき構成情報を特定する情報を、この構成情報のバージョンと、生成した起動スクリプトにより起動される仮想マシンを特定する情報とに関連付けて記録する。
本例では、起動スクリプト生成部３０６は、構成情報ＤＢ１０４から、生成する起動スクリプトにより起動される仮想マシンを特定するグループ名及び仮想マシン名を、起動画面を通じて管理者により選択させ、選択されたグループ名及び仮想マシン名を、構成情報ＤＢ１０４において選択されたグループ名及び仮想マシン名に関連付けられている構成情報ＩＤに関連付けて仮想マシン管理ＤＢ３０８に格納する。また、起動スクリプト生成部３０６は、バージョン管理部３２０に、仮想マシン管理ＤＢ３０８に格納した構成情報ＩＤに関連するバージョンの一覧を、バージョン管理ＤＢ３２０から取得させ、起動画面を通じて、この取得したバージョンの一覧から１つのバージョンを、管理者により選択させる。そして、起動スクリプト生成部３０６は、管理者により選択されたバージョンを、先に格納した構成情報ＩＤに関連付けて、仮想マシン管理ＤＢ３０８に格納する。
また、起動スクリプト生成部３０６は、イベント管理部１１６からの指示に従って、仮想化システム３０内の所定の仮想マシンの起動時に実行させる起動スクリプトを生成する。【００４７】
仮想マシン管理ＤＢ３０８は、図１０に例示するように、データ項目として、グループ名と、仮想マシン名と、構成情報ＩＤと、バージョンとを有する。
グループ名は、構成情報ＤＢ１０４におけるグループ名と同一である。
仮想マシン名は、構成情報ＤＢ１０４における仮想マシン名と同一である。
構成情報ＩＤは、構成情報ＤＢ１０４における構成情報ＩＤと同一である。
バージョンは、バージョン管理ＤＢ３２２におけるバージョンと同一である。【００４８】
構成情報送信部３１２は、起動スクリプトを用いて仮想化システム内で起動した仮想マシンからの要求に応じて、バージョン管理部により所定のバージョンに関連付けられた構成情報を、要求した仮想マシンに送信する。このとき、構成情報送信部３１２は、仮想マシンからの要求とともに送信されてくる仮想マシンを特定する情報に、関連付けられている構成情報を特定する情報が、起動スクリプト生成部３０６により起動スクリプトの生成時に記録されているか否かにより、起動スクリプト生成部３０６により生成された起動スクリプトを実行した仮想マシンからの要求であるか否かを判定し、当該仮想マシンからの要求であると判定した場合にのみ、要求した仮想マシンに構成情報を送信する。
本例では、構成情報送信部３１２は、起動スクリプトを実行した仮想マシンからの要求とともに仮想マシンから送信されて来たグループ名及び仮想マシン名に関連付けられている構成情報ＩＤ及びバージョンを仮想マシン管理ＤＢ１０８から取得しようと試みる。構成情報送信部３１２は、仮想マシン管理ＤＢ１０８から構成情報ＩＤを取得できた場合にのみ、起動スクリプト生成部１０６により生成された起動スクリプトを実行した仮想マシンからの要求であると判定し、取得した構成情報ＩＤ及びバージョンに関連付けられている構成情報を、バージョン管理部３２０によりバージョン管理ＤＢ３２２から取得させる。そして、構成情報送信部３１２は、取得された構成情報を、要求した仮想マシンに送信する。【００４９】
図１１は、グループ単位で仮想マシンを運用する方法を説明する図である。
図１１に例示するように、バージョン管理ＤＢ３２２は、バージョン１の構成情報４１０とバージョン２の構成情報４２０とを格納している。仮想化システム３０では、仮想マシン４４０、４４２、及び４４４は、それぞれ論理的なグループである、開発グループ４３０、テストグループ４３２、及び本番グループ４３４に属している。そして、本番グループ４３４に属する仮想マシンは、仮想マシン管理装置２０から取得したバージョン１の構成情報４１０を取得し、取得した構成情報に基づき動作環境を構築して動作している。
このような環境において、管理者は、まず、（１）開発グループ４３０に属する仮想マシン４４０に、開発における変更を反映したバージョン２の構成情報４２０を取得させて動作させる。ここで、開発における動作上の問題がなければ、管理者は、次に、（２）テストグループ４３２に属する仮想マシン４４２に、開発において問題のなかったバージョン２の構成情報４４２を取得させて動作させる。ここで、テストにおける動作上の問題がなければ、管理者は、最後に、（３）本番グループ４３４に属する仮想マシン４４４に、テストにおいて問題のなかったバージョン２の構成情報４２０を、バージョン１の構成情報に代えて取得させて動作させる。
なお、同一バージョンの構成情報は、この構成情報を取得させる仮想マシンが属するグループに応じて、一部改変されてもよい。例えば、開発及びテストでは、仮想マシンを利用させるユーザを、それぞれ開発者及びテスト者に限定させるため、管理者は、構成情報４２０を一部改変し、開発グループ４３０に属する仮想マシン４４０には開発者のみ、テストグループ４３２に属する仮想マシン４４２にはテスト者のみがアクセスできるようにアクセス制限を行ってもよい。【００５０】
このように、管理者は、本番グループ４３４に属する仮想マシンを運用させた状態で、本番グループ４３４とは異なる独立したグループである、開発グループ４３０及びテストグループ４３２に属する仮想マシン４４０及び４４２を用いて、新しいバージョンの構成情報を開発及びテストさせることができる。そして、管理者は、本番グループ４３４に属する仮想マシン４４４の運用を止めることなく、開発及びテストさせた新しい構成情報を、本番グループ４３４に属する仮想マシン４４４に取得させて動作させることができる。
また、同一の仮想化システム３０内で、各開発段階（開発段階、テスト段階、本番運用段階（開発完了段階））の仮想マシンを並存させることにより、本番環境と同じハードウェア環境で、開発やテストを行うことができる。すなわち、仮想化システム３０ではハードウェア資源が抽象化されており、開発用システムやテスト用システムが併存していても、ハードウェア資源の奪い合いによる影響が無視できるため、完全に同じハードウェア環境で、システムの本番運用と、テスト運用と、システム開発とを行うことができる。【００５１】
以上説明したように、管理者は、仮想マシン管理システム２を利用することで、指定したバージョンの構成情報に基づいて、仮想化システム３０内の仮想マシンを動作させることができる。このように、仮想マシン管理装置２０がバージョンを管理することにより、管理者は、仮想システムに障害が発生した場合、以前の安全なバージョンの構成情報を仮想マシンに取得させて動作させることにより、障害から復旧させることができる。
また、管理者は、構成情報の開発、テスト、及び本番運用などの各フェーズごとに、論理的なグループを割り当て、各グループに属する仮想マシンに取得させる構成情報のバージョンを管理することができる。これにより、管理者は、各グループ間での、新しい構成情報に対する開発、テスト、及び運用などの流れ作業及び協調作業を行わせることができる。【００５２】
（実施例３）
図１２は、仮想マシン管理プログラム５００、仮想化プログラム２００、及び仮想マシンプログラム２１０の機能構成を例示する図である。なお、本図に示された各構成のうち、図２に示された構成と実質的に同一のものには同一の符号が付されている。
図１２に例示するように、仮想マシン管理プログラム５００は、構成情報設定部５０２と、起動スクリプト生成部１０６と、起動スクリプト送信部１１０と、構成情報送信部１１２と、イベント設定部１１４と、イベント管理部１１６とを有する。また、仮想マシン管理プログラム５００は、上述した各部として機能する際、構成情報データベース（構成情報ＤＢ）１０４と、仮想マシン管理データベース（仮想マシン管理ＤＢ）１０８と、イベント管理データベース（イベント管理ＤＢ）１１８と、バージョン管理データベース（バージョン管理ＤＢ）１２２と、テンプレートデータベース（テンプレートＤＢ）５２４とを参照及び改変できる。なお、仮想マシン管理プログラム３００の一部又は全部の機能は、ＡＳＩＣ等のハードウェアにより実現されるとしてもよい。
以下、本図に示される各構成のうち、図２に示された構成と異なるものについて説明する。【００５３】
構成情報設定部５０２は、所定の機能を実現する動作環境を仮想マシンに構築させる複数の構成情報を、複数の仮想マシンが連携して所定の機能を実現するように組み合わせてなるテンプレートを、管理者の操作入力に従って設定する。
本例では、構成情報設定部５０２は、管理者端末１０のブラウザで構成情報の設定画面を管理者端末１０に表示させ、この設定画面を通じて、テンプレートＤＢ５２４から、テンプレートを選択させる。そして、構成情報設定部５０２は、管理者により選択されたテンプレートに含まれる構成情報を、設定画面を通じて管理者により入力されたグループ名及び仮想マシン名と、構成情報設定部１０２が割り当てる構成情報ＩＤとに関連付けて構成情報ＤＢ１０４に格納する。テンプレートには、互いに連携する複数の仮想マシンの構成情報（相互連携に要する構成情報を含む）の他に、各仮想マシンのマシンイメージが含まれてもよい。
また、構成情報設定部５０２は、管理者の必要に応じて、設定画面を通じて、構成情報ＤＢ１０４に格納したテンプレートに含まれる構成情報を管理者により修正させる。【００５４】
テンプレートＤＢ５２４は、図１３に例示するように、データ項目として、テンプレートを有する。
テンプレートは、１又は複数の構成情報を組み合わせたものである。
本例では、テンプレートは、業務システムなどの各種情報システムを実現するための構成情報の組み合わせである。【００５５】
図１４は、テンプレートによる各種情報システムの構築方法を説明する図である。
図１４に例示するように、テンプレートＤＢ５２４は、販売システム用テンプレート６１０、予約システム用テンプレート６１２、及び業務システム用テンプレート６１４などを格納している。
本例では、管理者は、まず、（１）管理者端末１０を通じて、仮想マシン管理装置２０により、テンプレートＤＢ５２４に格納されているテンプレートのうち、販売システム用テンプレート６１０を選択し、選択された販売システム用テンプレート６１０に含まれる構成情報６２０、６２２、及び６２４を構成情報ＤＢ１０４に格納させる。次に、管理者は、（２）管理者端末１０を通じて、仮想マシン管理装置２０により、仮想化システム３０内に仮想マシン６３０、６３２、及び６３４を起動させ、起動した仮想マシン６３０、６３２、及び６３４それぞれに構成情報ＤＢ１０４に格納されている構成情報６２０、６２２、及び６２４を取得させる。このようにして、仮想化システム３０内には、構成情報６２０、６２２、及び６２４に基づき動作する仮想マシン６３０、６３２、及び６３４による販売システムが構築される。これらの仮想マシン６３０、６３２、及び６３４は、同一のグループ名に関連付けて仮想マシン管理装置２０により管理されている。さらに、仮想マシン管理装置２０は、所定のタイミングで、同一グループに属する仮想マシン群の構成情報を、システムのリカバリポイントのデータ（すなわち、システムのバックアップデータ）としてバージョン管理ＤＢ３２２又は構成情報ＤＢ１０４に記録する。システムを構成する仮想マシン群のマシンイメージに比べて、これら仮想マシン群の構成情報のデータ量は小さいため、比較的多くのタイミングでシステムのバックアップ（システムのスナップショット）をとることができる。最後に、利用者は、（３）ユーザ端末４０を通じて、仮想化システム３０内に構築された販売システムを利用することができる。【００５６】
図１５は、構成情報の設定画面７００を例示する図である。
図１５に例示するように、設定画面７００は、グループ名の入力域７０２と、仮想マシン名の入力域７０４と、構成情報の共通部分における構成定義の表示域７０６と、構成情報の共通部分における構成データの表示領域７０８と、構成情報の付加部分における構成定義の入力域７１０と、構成情報の付加部分における構成データの入力域７１２と、構成情報の共通部分の選択ボタン７１４と、構成情報の付加部分における構成定義の生成ボタン７１６と、構成情報の付加部分における構成定義の参照ボタン７１８と、構成情報の付加部分における構成データの参照ボタン７２０と、構成情報の設定ボタン７２２とを有する。なお、設定画面７００は、構成情報設定部１０２が管理者の操作入力を受け付けるために管理者端末１０に表示させる画面である。
以下、本図に示される各構成について説明する。【００５７】
グループ名の入力域７０２は、グループ名の入力を受け付ける領域である。本例では、グループ名の入力域７０２は、管理者に、グループ名を文字列で入力させる。
仮想マシン名の入力域７０４は、仮想マシン名の入力を受け付ける領域である。本例では、仮想マシン名の入力域７０４は、管理者に、仮想マシン名を文字列で入力させる。
構成情報の共通部分における構成定義の表示域７０６は、構成情報の共通部分における構成定義のデータ名を表示する領域である。本例では、構成定義の表示域７０６は、選択ボタン７１４により選択された構成定義のデータ名を表示する。
構成情報の共通部分における構成データの表示域７０８は、構成情報の共通部分における構成データのデータ名を表示する領域である。本例では、構成データの表示域７０８は、選択ボタン７１４により選択された構成データのデータ名を表示する。
構成情報の付加部分における構成定義の入力域７１０は、構成情報の付加部分における構成定義の入力を受け付ける領域である。本例では、構成定義の入力域７１０は、生成ボタン７１６により構成定義を生成する場合は、構成定義のデータ名を管理者に入力させ、参照ボタン７１８により構成定義の格納場所を取得する場合は、構成定義の格納場所を表示する。
構成情報の付加部分における構成データの入力域７１２は、構成データの付加部分における構成定義の入力を受け付ける領域である。本例では、構成データの入力域７１２は、参照ボタン７２０により取得された構成データの格納場所を表示する。
構成情報の共通部分の選択ボタン７１４は、仮想マシンに実現させる機能の種別に応じて共通となる構成情報の共通部分の一覧から、構成情報の共通部分を選択させるためのボタンである。
構成情報の付加部分における構成定義の生成ボタン７１６は、構成情報の付加部分における構成定義を、管理者から入力された情報を構成定義の雛型に埋め込んで生成するためのボタンである。
構成情報の付加部分における構成定義の参照ボタン７１８は、構成情報の付加部分における構成定義の格納場所を取得するためのボタンである。
構成情報の付加部分における構成データの参照ボタン７２０は、構成情報の付加部分における構成データの格納場所を取得するためのボタンである。
構成情報の設定ボタン７２２は、入力域７０２に入力されたグループ名と、入力域７０４に入力された仮想マシン名と、選択ボタン７１４により選択された構成情報の共通部分と、生成ボタン７１６により生成された構成定義、又は参照ボタン７１８により取得された格納場所にある構成定義と、参照ボタン７２０により取得された格納場所にある構成データとを、仮想マシン管理装置２０に設定させるためのボタンである。【００５８】
図１６は、仮想マシンの起動画面８００を例示する図である。
図１６に例示するように、起動画面８００は、仮想マシンの一覧８０２と、起動ボタン８０４と、スクロールバー８０６とを有する。なお、起動画面８００は、仮想スクリプト生成部１０６が管理者の操作入力を受け付けるために管理者端末１０に表示させる画面である。
以下、本図に示される各構成について説明する。
仮想マシンの一覧８０２は、グループ名及び構成情報に関連付けられた仮想マシン名の一覧を表示する領域である。本例では、仮想マシンの一覧８０２は、スクロールバー８１０により縦方向にスクロール可能である。また、仮想マシンの一覧８０２に表示される各行は、選択可能な領域にもなっている。
起動ボタン８０４は、仮想マシンの一覧８０２において選択された行の隣に表示される。起動ボタン８０４は、仮想マシンの一覧８０２において選択された行に含まれるグループ名及び仮想マシン名により特定される仮想マシンに対して起動を指示するためのボタンである。【００５９】
図１７は、イベント設定画面９００を例示する図である。
図１７に例示するように、イベント設定画面９００は、イベント対応処理の一覧９０２と、追加ボタン９０４と、修正ボタン９０６と、削除ボタン９０８とを有する。なお、イベント設定画面９００は、イベント設定部１１４が管理者の操作入力を受け付けるために管理者端末１０に表示させる画面である。
以下、本図に示される各構成について説明する。
イベント対応処理の一覧９０２は、イベント情報に関連付けられたイベント対応処理の一覧を表示する領域である。本例では、イベント対応処理の一覧９０２は、スクロールバー９１０により縦方向にスクロール可能である。また、イベント対応処理の一覧９０２に表示される各行は、選択可能な領域にもなっている。
追加ボタン９０４は、イベント対応処理の一覧９０２に、新規にイベント情報に関連付けられたイベント対応処理を追加するためのボタンである。
修正ボタン９０６は、イベント対応処理の一覧９０２において選択された行に含まれるイベント情報及びイベント対応処理を修正するためのボタンである。
削除ボタン９０８は、イベント対応処理の一覧９０２において選択された行に含まれるイベント情報及びイベント対応処理を削除するためのボタンである。【００６０】
以上説明した構成によれば、仮想マシン管理装置２０は、テンプレートＤＢ５２４に汎用的な各種情報システムのテンプレートを格納することにより、管理者により容易に素早く仮想化システム３０内に各種情報システムを構築させることができる。 
【図１】
0005403447.tif 000002
【図２】
0005403447.tif 000003
【図３】
0005403447.tif 000004
【図４】
0005403447.tif 000005
【図５】
0005403447.tif 000006
【図６】
0005403447.tif 000007
【図７】
0005403447.tif 000008
【図８】
0005403447.tif 000009
【図９】
0005403447.tif 000010
【図１０】
0005403447.tif 000011
【図１１】
0005403447.tif 000012
【図１２】
0005403447.tif 000013
【図１３】
0005403447.tif 000014
【図１４】
0005403447.tif 000015
【図１５】
0005403447.tif 000016
【図１６】
0005403447.tif 000017
【図１７】
0005403447.tif 000018