(57)【要約】【課題】アプリケーションの動作に必要なＯＳとミドルウェアについてはセットアップを自動化できるが、アプリケーションソフトウェアの設定作業は自動化できない。【解決手段】アプリケーションソフトウェアをＶＭに導入する際、アプリケーションソフトウェア毎に予め用意したプログラムにより、テンプレート内の設定対象項目の一部の値をユーザ毎に用意した設定値で自動的に置換し、当該置換によって生成される設定ファイルと設定スクリプトをＶＭに導入する。【選択図】図１
2011060035.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションソフトウェアの動作に必要な１つ又は複数のソフトウェアを導入した仮想マシンイメージファイルと、前記アプリケーションソフトウェアの設定ファイルテンプレートと、前記アプリケーションソフトウェアの設定スクリプトテンプレートとを保持する記憶媒体と、
ユーザ操作を通じて入力を受け付けたアプリケーションソフトウェアの設定情報に基づいて、当該設定情報に関する内部設定情報を自動的に生成する第１の手段と、
生成された内部設定情報を前記設定ファイルテンプレートと前記設定スクリプトテンプレートに挿入して、設定ファイルと設定スクリプトを生成する第２の手段と、
アプリケーションソフトウェアの導入先として選択された物理マシンに仮想マシンイメージファイルを展開して仮想マシンを作成する第３の手段と、
作成された仮想マシンに対して設定ファイルと設定スクリプトを送信してアプリケーションを設定する第４の手段と
を有することを特徴とする仮想マシンにアプリケーションソフトウェアをデプロイするシステム。
【請求項２】
請求項１に記載のアプリケーションデプロイシステムにおいて、
前記設定ファイルテンプレートと前記設定スクリプトテンプレートには、前記内部設定情報を対応付ける置換キーワードが予め記述されており、
前記第２の手段は、前記内部設定情報の生成後に、前記設定ファイルテンプレートと前記設定スクリプトテンプレート内の各置換キーワードを、対応する内部設定情報で置換することにより前記設定ファイルと前記設定スクリプトを生成する
ことを特徴とするアプリケーションデプロイシステム。
【請求項３】
請求項１に記載のアプリケーションデプロイシステムにおいて、
前記第４の手段は、
仮想マシンで動作するＯＳのファイルシステムに接続して前記設定ファイルを指定された位置に保存する手段と、
前記設定スクリプトを指定された位置に保存して実行することにより、又は、前記仮想マシンを再起動させた後に、前記設定スクリプトを指定された位置に保存して実行することによりアプリケーションの設定を更新する手段と
を有することを特徴とするアプリケーションデプロイシステム。
【請求項４】
請求項１〜４のいずれか１項に記載のアプリケーションデプロイシステムにおいて、
前記仮想マシンイメージファイルは、
アプリケーションソフトウェアの動作に必要なＯＳ、ミドルウェア、アプリケーションソフトウェアを導入した仮想マシンのイメージファイルである
ことを特徴とするアプリケーションデプロイシステム。
【請求項５】
請求項１〜４のいずれか１項に記載のアプリケーションデプロイシステムにおいて、
前記仮想マシンイメージファイルは、
アプリケーションソフトウェアの動作に必要なＯＳとミドルウェアが導入済みで、かつ、ＯＳのファイルシステム上にアプリケーションのインストーラが保存された仮想マシンのイメージファイルであり、さらに、
前記設定スクリプトテンプレートには、前記アプリケーションのインストーラを実行する命令が記述されており、仮想マシンの作成後に、アプリケーションの導入処理が実行される
ことを特徴とするアプリケーションデプロイシステム。
【請求項６】
請求項１〜４のいずれか１項に記載のアプリケーションデプロイシステムにおいて、
前記仮想マシンイメージファイルは、
アプリケーションソフトウェアの動作に必要なＯＳが導入済みで、かつ、ＯＳのファイルシステム上にアプリケーションソフトウェアの動作に必要なミドルウェアのインストーラと、アプリケーションソフトウェアのインストーラが保存された仮想マシンのイメージファイルであり、さらに、
前記設定スクリプトテンプレートには、前記ミドルウェアのインストーラを実行する命令と、前記アプリケーションのインストーラを実行する命令が記述されており、仮想マシンの作成後に、ミドルウェアとアプリケーションソフトウェアの導入処理が実行される
ことを特徴とするアプリケーションデプロイシステム。
【請求項７】
アプリケーションソフトウェアの動作に必要な１つ又は複数のソフトウェアを導入した仮想マシンイメージファイルと、前記アプリケーションソフトウェアの設定ファイルテンプレートと、前記アプリケーションソフトウェアの設定スクリプトテンプレートとが記憶媒体に保持されている場合に、
ユーザ操作を通じて入力を受け付けたアプリケーションソフトウェアの設定情報に基づいて、当該設定情報に関する内部設定情報を自動的に生成する第１のステップと、
生成された内部設定情報を前記設定ファイルテンプレートと前記設定スクリプトテンプレートに挿入して、設定ファイルと設定スクリプトを生成する第２のステップと、
アプリケーションソフトウェアの導入先として選択された物理マシンに仮想マシンイメージファイルを展開して仮想マシンを作成する第３のステップと、
作成された仮想マシンに対して設定ファイルと設定スクリプトを送信してアプリケーションを設定する第４のステップと
を有することを特徴とする仮想マシンにアプリケーションソフトウェアをデプロイする方法。
【請求項８】
請求項７に記載のアプリケーションデプロイ方法において、
前記設定ファイルテンプレートと前記設定スクリプトテンプレートには、前記内部設定情報を対応付ける置換キーワードが予め記述されており、
前記第２のステップは、前記内部設定情報の生成後に、前記設定ファイルテンプレートと前記設定スクリプトテンプレート内の各置換キーワードを、対応する内部設定情報で置換することにより前記設定ファイルと前記設定スクリプトを生成する
ことを特徴とするアプリケーションデプロイ方法。
【請求項９】
請求項７に記載のアプリケーションデプロイ方法において、
前記第４のステップは、
仮想マシンで動作するＯＳのファイルシステムに接続して前記設定ファイルを指定された位置に保存するステップと、
前記設定スクリプトを指定された位置に保存して実行することにより、又は、前記仮想マシンを再起動させた後に、前記設定スクリプトを指定された位置に保存して実行することによりアプリケーションの設定を更新するステップと
を有することを特徴とするアプリケーションデプロイ方法。
【請求項１０】
アプリケーションソフトウェアの動作に必要な１つ又は複数のソフトウェアを導入した仮想マシンイメージファイルと、前記アプリケーションソフトウェアの設定ファイルテンプレートと、前記アプリケーションソフトウェアの設定スクリプトテンプレートとが記憶媒体に保持されている場合に、
ユーザ操作を通じて入力を受け付けたアプリケーションソフトウェアの設定情報に基づいて、当該設定情報に関する内部設定情報を自動的に生成する第１のステップと、
生成された内部設定情報を前記設定ファイルテンプレートと前記設定スクリプトテンプレートに挿入して、設定ファイルと設定スクリプトを生成する第２のステップと、
アプリケーションソフトウェアの導入先として選択された物理マシンに仮想マシンイメージファイルを展開して仮想マシンを作成する第３のステップと、
作成された仮想マシンに対して設定ファイルと設定スクリプトを送信してアプリケーションを設定する第４のステップと
をコンピュータに実行させることにより、仮想マシンにアプリケーションソフトウェアをデプロイさせるプログラム。
【請求項１１】
請求項１０に記載のプログラムにおいて、
前記設定ファイルテンプレートと前記設定スクリプトテンプレートには、前記内部設定情報を対応付ける置換キーワードが予め記述されており、
前記第２のステップは、前記内部設定情報の生成後に、前記設定ファイルテンプレートと前記設定スクリプトテンプレート内の各置換キーワードを、対応する内部設定情報で置換することにより前記設定ファイルと前記設定スクリプトを生成する
ことを特徴とするプログラム。
【請求項１２】
請求項１０に記載のプログラムにおいて、
前記第４のステップは、
仮想マシンで動作するＯＳのファイルシステムに接続して前記設定ファイルを指定された位置に保存するステップと、
前記設定スクリプトを指定された位置に保存して実行することにより、又は、前記仮想マシンを再起動させた後に、前記設定スクリプトを指定された位置に保存して実行することによりアプリケーションの設定を更新するステップと
を有することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク経由で接続された仮想マシンに外部からアプリケーションソフトウェアを導入する際の設定作業を自動化するシステム、方法及びプログラムに関する。
【背景技術】
【０００２】
従来、サーバ装置へのソフトウェアのセットアップは、管理者がセットアップ用のメディアをサーバ装置に挿入して実行する手法が一般的である。このセットアップ手法は、サーバ装置の数が少ない場合には十分機能する。しかし、この手法は、データセンタその他の多数のサーバ装置を要する施設では、ソフトウェアのセットアップ回数が非常に多くなり、手間や時間の増大が顕著になる。
【０００３】
この課題を解決する技術に、仮想マシン（Virtual Machine、以下、「ＶＭ」という。）イメージファイルを使用した自動セットアップシステムがある。この自動セットアップシステムは、一度作成したＶＭの構成をファイルとして保存することができるサーバ仮想化技術の特性を利用する。具体的には、ソフトウェアをインストールしたＶＭイメージファイルを予め多数用意し、ソフトウェアが必要になった時点でＶＭイメージファイルを物理マシンに展開することにより、サーバ装置とソフトウェアとの一括利用を可能にする。
【０００４】
ＶＭイメージファイルを使用したソフトウェアのセットアップ技術には、例えば特許文献１及び特許文献２がある。特許文献１には、ＶＭイメージファイルを物理マシンの記憶領域内で移動させることによりＶＭの再配置を実行し、複数のＶＭで構成されるソフトウェアを提供する技術が開示されている。特許文献２には、コピー元サーバ装置から取得したディスクイメージに基づいて、コピー元サーバ装置と同じハードウェア構成のＶＭイメージファイルを作成し、このＶＭイメージファイルを物理マシンの記憶領域に展開することにより、サーバ装置とソフトウェアの一括利用を可能にする技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許３８６１０８７号公報
【特許文献２】特開２００９−１２２９６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、いずれの従来技術の場合にも、ソフトウェアのインストール作業の自動化はできているが、ＶＭ作成後のソフトウェアの設定作業については自動化できていない。このため、従来は、ＶＭ作成後のソフトウェアの設定作業、特にアプリケーションソフトウェアの設定作業を管理者が手動で行う必要があり、設定に手間がかかっている。
【０００７】
実際、サーバ装置にソフトウェアをセットアップする場合、ＯＳとデータベース等のミドルウェア及びアプリケーションソフトウェアのインストール後に、各ソフトウェアの設定を実行する必要がある。ＯＳとミドルウェアの設定に関しては、多くのユーザ（顧客を含む。）で設定内容を共通化することができる。従って、ＶＭイメージファイルに含めるように設定内容を予め作成しておくことは容易である。
【０００８】
しかし、アプリケーションソフトウェアの設定は、アプリケーションを使用するユーザ（顧客を含む。）の要求に応じて設定する値が多い。このため、ＶＭイメージファイルに含めるように設定内容を予め作成しておくことは難しい。ここで、アプリケーションの設定とは、例えばサービスを公開するＩＰアドレスの設定、ドメイン名の設定、アプリケーションの管理者ユーザＩＤとパスワードの設定、ユーザパスワードポリシーの設定、初期登録ユーザの設定等をいう。
【０００９】
すなわち、従来技術は、アプリケーションの動作に必要なＯＳとミドルウェアのセットアップまでを自動化できるものの、アプリケーションソフトウェアのセットアップ（導入作業及び設定作業）の全体を自動化することはできなかった。
【００１０】
そこで、発明者は、アプリケーションソフトウェアを含むソフトウェアのＶＭへのセットアップを自動化できる仕組みを提供する。
【課題を解決するための手段】
【００１１】
本発明は、アプリケーションソフトウェアをＶＭに導入する際、アプリケーションソフトウェア毎に予め用意したプログラムにより、テンプレート内の設定対象項目の一部の値をユーザ毎に用意した設定値で自動的に置換し、当該置換によって生成される設定ファイルと設定スクリプトをＶＭに導入する。
【００１２】
なお、アプリケーションソフトウェアの動作に必要な１つ又は複数のソフトウェアを導入した仮想マシンイメージファイルと、アプリケーションソフトウェアの設定ファイルテンプレートと、アプリケーションソフトウェアの設定スクリプトテンプレートとは予め用意されているものとする。ここでのプログラムは、操作入力を通じて受け付けたユーザに固有の設定情報に基づいて、当該設定情報に関する内部設定情報を自動的に生成する機能と、生成された内部設定情報を設定ファイルテンプレートと設定スクリプトテンプレートに挿入して設定ファイルと設定スクリプトを生成する機能と、アプリケーションソフトウェアの導入先として選択された物理マシンに仮想マシンイメージファイルを展開して仮想マシンを作成すると共に、作成された仮想マシンに対して設定ファイルと設定スクリプトを送信してアプリケーションを設定する機能を有する。
【発明の効果】
【００１３】
本発明により、管理者は、アプリケーションソフトウェアの設定作業を含めたＶＭへのソフトウェアのセットアップ作業を自動化することができる。この結果、アプリケーションソフトウェアのＶＭへのセットアップに要する作業コスト、作業品質、作業時間の短縮を実現できる。
【図面の簡単な説明】
【００１４】
【図１】本発明に係るアプリケーションデプロイシステムの実施の形態で使用するシステム構成の一例を示す図。
【図２】アプリケーションテンプレートフォルダの内部構成例を示す図。
【図３】サーバ内に確保する保存領域の内部データ構造例を示す図。
【図４】アプリケーションテンプレートフォルダの生成処理手順の概要を説明するフローチャート。
【図５】アプリケーションデプロイプログラムの処理動作の概要を説明するフローチャート。
【図６】設定ファイル・設定スクリプト生成プログラムの処理動作の概要を説明するフローチャート。
【図７】アプリケーション設定プログラムの処理動作の概要を説明するフローチャート。
【図８】設定ファイルテンプレートと設定スクリプトテンプレートの内部構成例を示す図。
【図９】設定ファイルと設定スクリプトの内部構成例を示す図。
【図１０】設定スクリプトパス定義ファイルの内部構成例を示す図。
【図１１】置換キーワード定義ファイルの内部構成例を示す図。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明の実施の形態を説明する。なお、後述する本発明の実施の形態は一例であって、公知又は周知の技術との組み合わせや置換によって他の形態を実現することもできる。
【００１６】
（用語の定義）
本明細書においては、サーバ装置にアプリケーションソフトウェアの動作に必要な一連のソフトウェアのインストールと設定処理を実行し、ユーザがアプリケーションを使える状態にすることをアプリケーションソフトウェアのデプロイという。
【００１７】
（アプリケーションデプロイシステム）
以下に示す実施の形態は、インターネット等のネットワークを通じてＶＭ上で動作するアプリケーションソフトウェアを顧客に提供するデータセンタにアプリケーションソフトウェアをデプロイする場合を想定する。なお、アプリケーションソフトウェアのデプロイは、顧客からのアプリケーションソフトウェアの利用申し込みに基づいて、データセンタの管理者が対応するプログラムの実行を指示することにより開始される。
【００１８】
図１に、アプリケーションデプロイシステムの概略構成例を示す。図１に示すアプリケーションデプロイシステムは、クライアント端末１０１と、アプリケーションデプロイサーバ１０２と、アプリケーションレポジトリ１０３と、物理マシン１０５と、これらを接続する管理用ネットワーク１０４とで構築されている。なお、物理マシン１０５上で動作するＶＭ１１２は、サービス提供用ネットワーク１０６とインターネットを介し、アプリケーションを利用する顧客側の端末（以下、「顧客端末」という。）と接続されている。
【００１９】
クライアント端末１０１は、アプリケーションデプロイシステムを利用するユーザ（管理者）が操作する端末である。クライアント端末１０１は、コンピュータを基本構成とし、ネットワークとの通信機能を有している。クライアント端末１０１は、アプリケーションデプロイサーバ１０２にパラメータを渡すためのキーボードその他の入力手段（ハードウェアだけでなく、ＧＵＩを含む。）と、アプリケーションデプロイサーバ１０２の処理結果を表示するディスプレイ等の表示手段とを少なくとも備える。
【００２０】
アプリケーションデプロイサーバ１０２は、アプリケーションデプロイプログラム１０８、ＶＭ管理ソフトウェア１０９、保存領域１１０を備え、アプリケーションソフトウェアのデプロイ処理を実行するサーバ装置である。このアプリケーションデプロイサーバ１０２の基本構成もコンピュータであり、ネットワークとの通信機能を有している。
【００２１】
アプリケーションレポジトリ１０３は、アプリケーションテンプレートフォルダ１０７を格納するデータベースシステムである。アプリケーションテンプレートフォルダ１０７は、全ての顧客に共通するアプリケーションの設定値と、顧客毎に異なる設定値をアプリケーションに反映させるためのプログラムを集約的に保存するフォルダである。
【００２２】
物理マシン１０５は、ＶＭ１１２を実行するコンピュータであり、ネットワークとの通信機能も有している。
【００２３】
アプリケーションデプロイプログラム１０８は、ＶＭ１１２上で動作するアプリケーションソフトウェアを物理マシン１０５に導入するプログラムである。処理動作の詳細は後述する。
【００２４】
ＶＭ管理ソフトウェア１０９は、ＶＭ制御ソフトウェア１１１をインストールした物理マシン１０５と、物理マシン上で動作するＶＭ１１２を統合管理するソフトウェアである。また、ＶＭ管理ソフトウェア１０９は、指定した物理マシン１０５にＶＭ１１２を作成するＡＰＩ（Application Programing Interface）や、管理下にある物理マシン１０５からＶＭ１１２の状態を取得するＡＰＩを提供する。ＶＭ管理ソフトウェア１０９には、例えばVMware VirtualCenter（登録商標）がある。
【００２５】
ＶＭ制御ソフトウェア１１１は、物理マシン１０５のハードウェア構成をソフトウェア技術でエミュレートし、任意のハードウェア構成をもつＶＭ１１２を動作可能にするソフトウェアである。また、ＶＭ制御ソフトウェア１１２は、ＶＭ１１２の電源をコントロールするＡＰＩやＶＭ１１２上で動作するＯＳのファイルシステムを操作するＡＰＩを提供する。ＶＭ制御ソフト１１２には、例えばVMware ESX（登録商標）がある。
【００２６】
（アプリケーションテンプレートフォルダの内部構成）
図２に、アプリケーションテンプレートフォルダ１０７の内部構成例を示す。アプリケーション名２０１は、アプリケーションテンプレートフォルダ１０７に格納されているアプリケーションを識別するために付与されるフォルダ名である。ＶＭイメージファイル２０２は、ＶＭ管理ソフトウェア１０９がＶＭ１１２を作成する際に使用するＶＭ構成を保存するファイルである。
【００２７】
ＶＭスペック記述ファイル２０３は、ＶＭイメージファイル２０２の展開に必要なＣＰＵ、メモリ、ディスク容量といったコンピュータリソースの使用量を記述するファイルである。設定ファイル・設定スクリプト生成プログラム２０４は、ＶＭ１１２に送信する設定ファイルと設定スクリプトを生成するプログラムである。
【００２８】
アプリケーション設定プログラム２０５は、設定ファイルと設定スクリプトをＶＭ１１２に送信し、アプリケーションの設定を更新するプログラムである。設定ファイルパス定義ファイル２０６は、ＶＭ１１２に送信する全ての設定ファイルのパスを記述したファイルである。図１０に、設定ファイルパス定義ファイルの構成例を示す。
【００２９】
置換キーワード定義ファイル２０７は、設定ファイル・設定スクリプト生成プログラム２０４で使用する置換キーワードが記述されたファイルである。図１１に、置換キーワード定義ファイル２０７の構成例を示す。例えば「＃ＩＰＡＤＤＲＥＳＳ＃」、「＃ＨＯＳＴＮＡＭＥ＃」、「＃ＦＱＤＮ＃」、「＃ＡＤＭＩＮＵＳＥＲＮＡＭＥ＃」、「＃ＡＤＭＩＮＰＡＳＳＷＯＲＤ＃」で構成される。これらの置換キーワードは、設定ファイルテンプレートや設定スクリプトテンプレートの記述に使用される。最終的に、置換キーワードは、ユーザ（管理者）が個別に設定した値（設定値）又はユーザ（管理者）の設定に基づいて自動的に設定される値（内部設定情報）と置換される。
【００３０】
設定スクリプトテンプレート２０８は、設定ファイル・設定スクリプト生成プログラム２０４が設定スクリプトを生成する際に使用するファイルである。設定スクリプトテンプレート２０８には、置換キーワード定義ファイル２０７で定義された置換キーワードが挿入されている。図８に、設定スクリプトテンプレート８０２の構成例を示す。図８に示すように、設定スクリプトテンプレート８０２の構成項目のうちユーザ毎に設定する必要がある情報部分に置換キーワードが埋め込まれている。図８では、該当する情報を太字で示す。図８に示す設定スクリプトテンプレート８０２の場合、「＃ＡＤＭＩＮＵＳＥＲＮＡＭＥ＃」と「＃ＡＤＭＩＮＰＡＳＳＷＯＲＤ＃」の２つが置換キーワードである。
【００３１】
設定ファイルテンプレート２１０は、設定ファイル・設定スクリプト生成プログラム２０４が設定ファイルを生成する際に使用するファイルである。設定ファイルテンプレートは、設定ファイルパス定義ファイル２０６が示すフォルダ構成に従い、設定ファイルテンプレートフォルダ２０９内に保存される。また、設定ファイルテンプレート２１０には、置換キーワード定義ファイル２０７で定義された置換キーワードが挿入されている。図８に設定ファイルテンプレート８０１の構成例を示す。図８に示すように、設定ファイルテンプレート８０１の構成項目のうちユーザ毎に設定する必要がある情報部分に置換キーワードが埋め込まれている。図８では、該当する情報を太字で示す。図８に示す設定ファイルテンプレート８０１の場合、「＃ＩＰＡＤＤＲＥＳＳ＃」、「＃ＦＱＤＮ＃」、「＃ＨＯＳＴＮＡＭＥ＃」の３つが置換キーワードである。
【００３２】
（保存領域の内部構成例）
図３に、保存領域１１０の内部構成例を示す。保存領域１１０には、設定ファイル・設定スクリプト生成プログラム２０４の実行結果が、アプリケーション名２０１を付したフォルダ内に保存される。フォルダ内には、設定スクリプト３０１と設定ファイル３０３が保存される。設定ファイル３０３は、設定ファイルフォルダ３０２に格納される。なお、設定ファイルフォルダ３０２は、設定ファイルテンプレートフォルダ２０９と同じフォルダ構成を有している。
【００３３】
図９に、設定ファイル９０１と設定スクリプト９０２の構成例を示す。図９は、図８と対応する。図９と図８を対比して分かるように、図９に示す設定ファイル９０１と設定スクリプト９０２では、設定ファイルテンプレート８０１と設定スクリプトテンプレート８０２の置換キーワードが、それぞれ対応する内部設定情報の値（ユーザ（管理者）が設定入力した顧客に固有の値）に置換されている。例えば「＃ＩＰＡＤＤＲＥＳＳ＃」は「133.108.0.1」に、「＃ＦＱＤＮ＃」は「mailApp.companyA.co.jp」に、「＃ＨＯＳＴＮＡＭＥ＃」は「mailApp」に、「＃ＡＤＭＩＮＵＳＥＲＮＡＭＥ＃」は「MailAppRoot」に、「＃ＡＤＭＩＮＰＡＳＳＷＯＲＤ＃」は「MailAppPassword」に置換されている。
【００３４】
（アプリケーションデプロイ動作）
続いて、アプリケーションデプロイシステムで実行されるアプリケーションデプロイ動作の一例を説明する。なお、以下の説明では、アプリケーションデプロイシステムは、物理マシン１０５をアプリケーションサーバとして動作させる上で必要なＯＳ、ミドルウェア、アプリケーションの全てがインストール済みのＶＭイメージファイル２０２を使用する場合について説明する。
【００３５】
また、以下の説明では、本システムを利用するユーザ（管理者）が入力するアプリケーションソフトウェアの設定情報は、ＩＰアドレス、ホスト名、ドメイン名、管理者ＩＤ、管理者パスワードであり、アプリケーションソフトウェアの内部設定情報は、ＩＰアドレス、ホスト名、ＦＱＤＮ（Fully Qualified Domain Name）、管理者ＩＤ、管理者パスワードであるものとする。さらに、以下の説明では、アプリケーションソフトウェアの内部設定情報は、設定情報に基づいてＶＭ管理ソフトウェア１０９が自動的に生成するものとする。
【００３６】
(1)初期設定動作例
図４に、アプリケーションデプロイシステムの初期設定手順、すなわちアプリケーションテンプレートフォルダ１０７の作成手順を説明する。この初期設定は、１つのアプリケーションソフトウェアに付き１度だけ実施される。
【００３７】
まず、ＶＭ管理ソフトウェア１０９が、アプリケーションソフトウェアの稼動に必要なコンピュータリソースを備えたＶＭを作成する（ステップ４０１）。
【００３８】
ＶＭ管理ソフトウェア１０９は、ステップ４０１で作成したＶＭのスペックをファイルに書き出し、ＶＭスペック記述ファイル２０３を作成する（ステップ４０２）。
【００３９】
この後、ＶＭ管理ソフトウェア１０９は、ステップ４０１で作成したＶＭに、Ｗｉｎｄｏｗｓ（登録商標）やＬｉｎｕｘ（登録商標）等のＯＳと、データベースソフト等のミドルウェア及びアプリケーションをインストールする。次に、ＶＭ管理ソフト１０９は、インストールが完了したＶＭからＶＭイメージファイル２０２を作成する（ステップ４０３）。
【００４０】
次に、ＶＭ管理ソフトウェア１０９は、ステップ４０３でインストール作業を終えたＶＭから内部設定情報の設定に必要な設定ファイルと設定スクリプトを抽出する。例えばＬｉｎｕｘＯＳのＩＰアドレスを内部設定情報とする場合、ＶＭ管理ソフトウェア１０９は、「/etc/hosts」や「/etc/sysconfig/network」、「/etc/sysconfig/network-scripts/ifcfg-eth0」といったファイルを抽出する（ステップ４０４）。
【００４１】
次に、ＶＭ管理ソフトウェア１０９は、ステップ４０４で抽出した全ての設定ファイルのパスをファイルに書き出し、設定ファイルパス定義ファイル２０６を作成する（ステップ４０５）。
【００４２】
この後、ＶＭ管理ソフトウェア１０９は、内部設定情報と置換キーワードとの対応関係を決定し、使用する全ての置換キーワードをファイルに書き出して置換キーワード定義ファイル２０７を作成する（ステップ４０６）。
【００４３】
次に、ＶＭ管理ソフトウェア１０９は、ステップ４０４で抽出した設定ファイルと設定スクリプトの内部設定情報の記述箇所に、ステップ４０６で決定された置換キーワードを挿入する。ＶＭ管理ソフトウェア１０９は、置換キーワードを挿入した設定ファイルと設定スクリプトをファイルに書き出し、設定ファイルテンプレート２１０と設定スクリプトテンプレート２０８を作成する。さらに、ＶＭ管理ソフトウェア１０９は、設定ファイルテンプレートフォルダ２０９を作成し、設定ファイルテンプレートを設定ファイルパス定義ファイル２０６に記載したパスの通りに、設定ファイルテンプレートフォルダに格納する（ステップ４０７）。
【００４４】
次に、ＶＭ管理ソフトウェア１０９は、設定ファイル・設定スクリプト生成プログラム２０４と、アプリケーション設定プログラム２０５を実装する。ここで、設定ファイル・設定スクリプト生成プログラム２０４には、例えば置換キーワード「＃ＩＰＡＤＤＲＥＳＳ＃」をＩＰアドレスに置き換えるといった、置換キーワードと内部設定情報との対応関係を含めた置換処理を記述する（ステップ４０８）。
【００４５】
この後、ＶＭ管理ソフトウェア１０９は、アプリケーション名２０１をフォルダ名とするアプリケーションテンプレートフォルダ１０７を作成し、このフォルダにステップ４０１〜４０８で作成したファイルとプログラムを格納して、アプリケーションレポジトリ１０３に保存する（ステップ４０９）。
【００４６】
(2)アプリケーションデプロイプログラムの動作例
図５に、アプリケーションデプロイプログラム１０８の処理動作例を示す。なお、実施の形態に係るアプリケーションデプロイシステムの場合、アプリケーションデプロイプログラム１０８は、設定ファイル・設定スクリプト生成プログラム２０４とアプリケーション設定プログラム２０５を呼び出して動作する。
【００４７】
アプリケーションデプロイプログラム１０８は、クライアント端末１０１からの要求に基づき実行される。アプリケーションデプロイプログラム１０８は、アプリケーションレポジトリ１０３内にある全てのアプリケーションテンプレートフォルダ１０７を参照し、アプリケーション名２０１の一覧をクライアント端末１０１に表示する（ステップ５０１）。
【００４８】
次に、アプリケーションデプロイプログラム１０８は、クライアント端末１０１にアプリケーションの選択画面を表示し、デプロイ対象とするアプリケーションソフトウェアの選択をユーザ（管理者）に要求する（ステップ５０２）。ここで、ユーザ（管理者）は、選択画面に従い、キーボードやマウスカーソル等を使用して、特定のアプリケーションソフトウェアを選択入力する。
【００４９】
アプリケーションデプロイプログラム１０８は、ステップ５０２で選択されたアプリケーションについて用意されているアプリケーションテンプレートフォルダ１０７を読み込み、設定ファイル・設定スクリプト生成プログラム２０４を実行する。次に、アプリケーションデプロイプログラム１０８は、実行結果として、設定スクリプト３０１と設定ファイル３０３を保存領域１１０に取得する。また、アプリケーションデプロイプログラム１０８は、戻り値としてデプロイ先ＶＭ名を取得する（ステップ５０３）。
【００５０】
この後、アプリケーションデプロイプログラム１０８は、ステップ５０２で選択されたアプリケーションソフトウェアのＶＭスペック記述ファイル２０３を読み込む。さらに、ＶＭ管理ソフト１０９が提供するＡＰＩを使用してＶＭ管理ソフトウェア１０９の管理下にある全ての物理マシン１０５のコンピュータリソース情報を取得する。その後、アプリケーションデプロイプログラム１０８は、ＶＭスペック記述ファイル２０３に記述された情報と、物理マシン１０５のコンピュータリソース情報とを比較し、ＶＭ１１２の作成に必要な未使用のコンピュータリソースを有する物理マシンを選択する（ステップ５０４）。
【００５１】
次に、アプリケーションデプロイプログラム１０８は、ステップ５０２で選択されたアプリケーションソフトウェアのＶＭイメージファイル２０２と、ステップ５０３で取得したデプロイ先ＶＭ名を引数に、ＶＭ管理ソフト１０９が提供するＡＰＩを使用してＶＭイメージファイル２０２を物理マシン１０５に展開する。この処理により、物理マシン１０５には、アプリケーションソフトウェアの実行に必要なＯＳ、ミドルウェア、アプリケーションがインストールされ、かつデプロイ先ＶＭ名を名前とするＶＭ１１２が作成される（ステップ５０５）。
【００５２】
この後、アプリケーションデプロイプログラム１０８は、ステップ５０３で取得したデプロイ先ＶＭ名とステップ５０４で選択されたデプロイ先物理マシン名を引数に、ステップ５０２で選択されたアプリケーションソフトウェアのアプリケーション設定プログラム２０５を実行する。そして、実行結果として、アプリケーションデプロイプログラム１０８は、デプロイの完了通知を取得する（ステップ５０６）。
【００５３】
アプリケーションデプロイプログラム１０８は、デプロイの完了通知を受けてクライアント端末にデプロイ完了のメッセージを表示し、実行を終了する（ステップ５０７）。
【００５４】
(3)設定ファイル・設定スクリプト生成プログラムの動作例
図６に、設定ファイル・設定スクリプト生成プログラム２０４で実行される動作の一例を説明する。
【００５５】
アプリケーションデプロイプログラム１０８から呼び出されると、設定ファイル・設定スクリプト生成プログラム２０４は、クライアント端末１０１にデプロイ先ＶＭ名と設定情報の入力画面を表示し、ユーザ（管理者）に入力を要求する。この実施の形態の場合、設定ファイル・設定スクリプト生成プログラム２０４は、設定情報としてＩＰアドレス、ホスト名、ドメイン名、アプリケーションソフトウェアの管理者ＩＤ、アプリケーションソフトウェアの管理者パスワードの入力を要求する（ステップ６０１）。
【００５６】
次に、設定ファイル・設定スクリプト生成プログラム２０４は、ステップ６０１で取得した設定情報に基づいて内部設定情報を生成して変数に格納する。この実施の形態の場合、内部設定情報としてＩＰアドレス、ホスト名、ＦＱＤＮ、アプリケーションソフトウェアの管理者ＩＤ、アプリケーションソフトウェアの管理者パスワードを採用する。ここで、ＦＱＤＮは、ホスト名の入力値とドメイン名の入力値とを連結して生成する。その他の内部設定情報は、ステップ６０１で取得した設定情報の値をそのまま変数に格納する（ステップ６０２）。
【００５７】
この後、設定ファイル・設定スクリプト生成プログラム２０４は、以下に示すステップ６０３〜ステップ６０９の処理動作を実行する。ステップ６０３〜ステップ６０９は、設定ファイルフォルダ３０２と設定ファイル３０３を生成する処理である。
【００５８】
まず、設定ファイル・設定スクリプト生成プログラム２０４は、設定ファイルパス定義ファイル２０６を１行読み込み、設定ファイルパスを取得する（ステップ６０３）。
【００５９】
次に、設定ファイル・設定スクリプト生成プログラム２０４は、設定ファイルテンプレートフォルダ２０９から、ステップ６０３で取得した設定ファイルパスが示す設定ファイルテンプレート２１０を読み込む（ステップ６０４）。
【００６０】
続いて、設定ファイル・設定スクリプト生成プログラム２０４は、置換キーワード定義ファイル２０７を１行読み込み、置換キーワードとして変数に取得する（ステップ６０５）。
【００６１】
次に、設定ファイル・設定スクリプト生成プログラム２０４は、ステップ６０４で読み込んだ設定ファイルテンプレート内の置換キーワードを検索する。この検索後、設定ファイル・設定スクリプト生成プログラム２０４は、発見した全ての置換キーワードを対応する内部設定情報の値に置換する（ステップ６０６）。
【００６２】
ここで、置換キーワード定義ファイル２０７に未処理の行が残っている場合、設定ファイル・設定スクリプト生成プログラム２０４は、読み込む行を１行進めてステップ６０５へ戻る。置換キーワード定義ファイルの全ての行について処理が完了した場合、設定ファイル・設定スクリプト生成プログラム２０４は、ステップ６０８へ進む（ステップ６０７）。
【００６３】
続いて、設定ファイル・設定スクリプト生成プログラム２０４は、置換キーワードの置き換えが完了した設定ファイルテンプレートの内容を設定ファイル３０３として、設定ファイルフォルダ３０２内のステップ６０３で読み込んだ設定ファイルパスが示す位置に保存する。このとき、設定ファイル・設定スクリプト生成プログラム２０４は、アプリケーション名のフォルダ、設定ファイルフォルダ、設定ファイルパス等の経路上のフォルダが存在しない場合は作成する（ステップ６０８）。
【００６４】
一方、設定ファイルパス定義ファイル２０６に未処理の行が残っている場合、設定ファイル・設定スクリプト生成プログラム２０４は、読み込む行を１行進めてステップ６０３へ戻る。一方、設定ファイルパス定義ファイルの全ての行について処理が完了した場合、設定ファイル・設定スクリプト生成プログラム２０４は、ステップ６１０へ進む（ステップ６０９）。
【００６５】
ステップ６１０〜ステップ６１４は、設定スクリプト３０１を生成する処理である。設定ファイル・設定スクリプト生成プログラム２０４は、設定スクリプトテンプレート２０８を読み込む（ステップ６１０）。
【００６６】
次に、設定ファイル・設定スクリプト生成プログラム２０４は、置換キーワード定義ファイル２０７を１行読み込み、置換キーワードを取得する（ステップ６１１）。
【００６７】
続いて、設定ファイル・設定スクリプト生成プログラム２０４は、ステップ６１０で読み込んだ設定スクリプトテンプレート内の置換キーワードを検索する。この検索後、設定ファイル・設定スクリプト生成プログラム２０４は、発見した全ての置換キーワードを、対応する内部設定情報の値に置き換える（ステップ６１２）。
【００６８】
置換キーワード定義ファイル２０７に未処理の行が残っている場合、設定ファイル・設定スクリプト生成プログラム２０４は、読み込む行を１行進めてステップ６１１へ戻る。一方、置換キーワード定義ファイル２０７の全ての行について処理が完了した場合、設定ファイル・設定スクリプト生成プログラム２０４は、ステップ６１４へ進む。（ステップ６１３）。
【００６９】
この後、設定ファイル・設定スクリプト生成プログラム２０４は、置換キーワードの置き換えが完了した設定スクリプトテンプレートの内容を、設定スクリプト３０１として、保存領域１１０に保存する。さらに、設定ファイル・設定スクリプト生成プログラム２０４は、ステップ６０１で取得したデプロイ先ＶＭ名を返却して実行を完了する（ステップ６１４）。
【００７０】
(4)アプリケーション設定プログラムの動作例
図７に、アプリケーション設定プログラム２０５の処理動作例を示す。アプリケーションデプロイプログラム１０８から呼び出されると、アプリケーション設定プログラム２０５は、デプロイ先ＶＭ名とデプロイ先物理マシン名を引数から取得し、これをＶＭ管理ソフト１０９に問い合わせてステップ５０５で作成したＶＭを制御するＶＭ制御ソフト１１１を特定する（ステップ７０１）。
【００７１】
次に、アプリケーション設定プログラム２０５は、ＶＭ制御ソフト１１１が提供するＡＰＩを使用してＶＭに接続し、ＶＭの電源を入れる（ステップ７０２）。さらに、アプリケーション設定プログラム２０５は、ＶＭ制御ソフト１１１が提供するＡＰＩを使用して、ＶＭ１１２上で動作するＯＳに接続する（ステップ７０３）。
【００７２】
この後、アプリケーション設定プログラム２０５は、設定ファイルパス定義ファイル２０６を１行読み込み、設定ファイルパスを取得する（ステップ７０４）。次に、アプリケーション設定プログラム２０５は、ステップ７０４で読み込んだ設定ファイルパスで示される設定ファイル３０３を保存領域１１０から読み込む（ステップ７０５）。
【００７３】
次に、アプリケーション設定プログラム２０５は、ＶＭ制御ソフト１１１が提供するＡＰＩを使用して、ＶＭ１１２上で動作するＯＳのファイルシステムにアクセスし、ステップ７０４で読み込んだ設定ファイルパスで示される既存の設定ファイルを削除する（ステップ７０６）。
【００７４】
続いて、アプリケーション設定プログラム２０５は、ＶＭ制御ソフト１１１が提供するＡＰＩを使用して、ステップ７０５で読み込んだ設定ファイルをＶＭ上で動作するＯＳに送信する。この際、アプリケーション設定プログラム２０５は、設定ファイルを、ステップ７０４で読み込んだ設定ファイルパスが示す場所に保存する（ステップ７０７）。
【００７５】
この時点で、設定ファイルパス定義ファイル２０６に未処理の行が残っている場合、アプリケーション設定プログラム２０５は、読み込む行を１行進めてステップ７０４へ戻る。一方、設定ファイルパス定義ファイル２０６の全ての行について処理が完了した場合、アプリケーション設定プログラム２０５はステップ７０９に進む（ステップ７０８）。
【００７６】
次に、アプリケーション設定プログラム２０５は、ステップ７０７で送信した設定ファイルの内容を反映させるため、ＶＭ制御ソフト１１１が提供するＡＰＩを使用してＶＭを再起動する（ステップ７０９）。ＶＭ制御ソフト１１１が提供するＡＰＩを使用して、ＶＭ１１１上で動作するＯＳに接続する（ステップ７１０）。
【００７７】
この後、アプリケーション設定プログラム２０５は、保存領域１１０から設定スクリプト３０１を読み込む（ステップ７１１）。次に、アプリケーション設定プログラム２０５は、ＶＭ制御ソフト１１１が提供するＡＰＩを使用して、ＶＭ１１２上で動作するＯＳのファイルシステムにアクセスし、ステップ７１１で読み込んだ設定スクリプトを送信し、実行する（ステップ７１２）。
【００７８】
ステップ７１２で実行した設定スクリプトの完了が通知されると、アプリケーション設定プログラム２０５は、呼び出し元のプログラムに対してアプリケーションソフトウェアのデプロイの完了通知を返却し、実行を終了する（ステップ７１３）。
【００７９】
（まとめ）
以上説明した実施の形態に係るシステム及び処理手法の採用により、アプリケーションソフトウェアの設定作業を含めたＶＭへのソフトウェアのセットアップを自動化することができる。すなわち、多数のＶＭにアプリケーションソフトウェアをセットアップする場合でも、個々の顧客に固有の内部設定情報で、設定ファイルと設定スクリプトに埋め込まれた置換キーワードの置換を通じて自動的に実行することができる。この結果、アプリケーションソフトウェアのＶＭへのセットアップに要する作業コスト、作業品質、作業時間を大幅に短縮できる。
【００８０】
（他の実施の形態）
(1) 前述した実施の形態では、ＯＳ、ミドルウェア、アプリケーションソフトウェアをインストールしたＶＭイメージファイル２０２を使用してアプリケーションソフトウェアをデプロイする例を説明した。しかし、本発明に係るアプリケーションデプロイシステムは、ＯＳとミドルウェアだけをインストールしたＶＭイメージファイルや、ＯＳのみをインストールしたＶＭイメージファイルを使用してアプリケーションソフトウェアのデプロイを実行することができる。
【００８１】
例えばＯＳとミドルウェアをインストールしたＶＭイメージファイルを使用する場合には、ＯＳとミドルウェアをインストール済みで、かつ、アプリケーションソフトウェアのインストーラファイルを保存したＶＭイメージファイルを使用し、さらに、設定スクリプトテンプレートにはアプリケーションソフトウェアのインストーラファイルを実行するスクリプトを記述すれば良い。また、ＯＳだけをインストールしたＶＭイメージファイルを使用する場合には、ＯＳをインストール済みで、かつ、ミドルウェアとアプリケーションソフトウェアのインストーラファイルを保存したＶＭイメージファイルを使用し、さらに、設定スクリプトテンプレートにはミドルウェアとアプリケーションソフトウェアのインストーラファイルを実行するスクリプトを記述すれば良い。
【００８２】
(2) また、前述した実施の形態では、１台のＶＭで構成されるアプリケーションソフトウェアをデプロイする例を説明した。しかし、本発明に係るアプリケーションデプロイシステムは、アプリケーションデプロイプログラムを繰り返し実行することにより、複数のＶＭで構成されるアプリケーションソフトウェアをデプロイすることもできる。この場合、図２に説明したアプリケーション名２０１を除くアプリケーションテンプレートフォルダ１０７の構成要素をそれぞれＶＭ数分だけ用意し、アプリケーションデプロイプログラムのステップ５０３〜ステップ５０６の処理をそれぞれＶＭ数分繰り返し実行し、最後のＶＭのデプロイ完了通知を受けた時点で、ステップ５０７へ進めば良い。
【００８３】
(3) また、前述した実施の形態におけるステップ５０４では、ＶＭスペック記述ファイル２０３を使用してアプリケーションデプロイプログラム１０８がデプロイ先物理マシンを決定する例を説明した。しかし、このデプロイ先物理マシンはユーザ（管理者）が入力しても良い。この場合、例えば設定ファイル・設定スクリプト生成プログラム２０４はステップ６０１でデプロイ先ＶＭ名と設定情報に加えてデプロイ先物理マシン名の入力をユーザ（管理者）に要求し、更にユーザ（管理者）が入力した物理マシン名をステップ６１４で返却するものする。さらに、アプリケーションデプロイプログラム１０８では、ステップ５０４を省き、ステップ５０５で設定ファイル・設定スクリプト生成プログラムから返却された物理マシンにＶＭイメージファイルを展開するものとする。
【００８４】
(4) また、前述した実施の形態におけるステップ６０１では、設定情報としてＩＰアドレスをユーザ（管理者）が直接入力する例を説明した。しかし、この処理は、ＶＭ管理ソフト１０９に問い合わせを行い、どの物理マシン１０５とＶＭ１１２にも割り当てられていないＩＰアドレスのリストを取得した上で、ユーザ（管理者）に選択させるようにしても良い。すなわち、ステップ６０１の設定情報の取得処理は、設定ファイル・設定スクリプト生成プログラム内で閉じた処理だけでなく、ＶＭ管理ソフト１０９やＶＭ制御ソフト１１１など他のソフトへの問い合わせを含む処理であっても良い。同様に、ステップ６０２の設定情報からの内部設定情報の生成処理に関しても、ＶＭ管理ソフト１０９やＶＭ制御ソフト１１１など他のソフトへの問い合わせを含む処理であっても良い。
【００８５】
(5) また、前述の実施の形態においては、アプリケーションデプロイシステムの管理者が顧客の要求に応じてＶＭの設定情報を入力する場合について説明した。すなわち、管理者とアプリケーションソフトウェアの利用者が異なる場合を想定した。しかし、管理者と利用者が同じ場合にも、同様の手順を適用できる。
【００８６】
(6) また、前述の実施の形態においては、仮想マシンを再起動した後に、設定スクリプトを指定した位置に保存して実行する場合について説明した。しかし、仮想マシンの再起動を省略して設定スクリプトを保存して実行しても良い。
【符号の説明】
【００８７】
１０１  クライアント端末
１０２  アプリケーションデプロイサーバ
１０３  アプリケーションレポジトリ
１０５  物理マシン
１０７  アプリケーションテンプレートフォルダ
１０８  アプリケーションデプロイプログラム
１０９  ＶＭ管理ソフトウェア
１１０  保存領域
１１１  ＶＭ制御ソフトウェア
１１２  ＶＭ
２０２  ＶＭイメージファイル
２０４  設定ファイル・設定スクリプト生成プログラム
２０５  アプリケーション設定プログラム
２０８  設定スクリプトテンプレート
２１０  設定ファイルテンプレート
３０１  設定スクリプト
３０２  設定ファイル
【図１】
2011060035.tif 000003
【図２】
2011060035.tif 000004
【図３】
2011060035.tif 000005
【図４】
2011060035.tif 000006
【図５】
2011060035.tif 000007
【図６】
2011060035.tif 000008
【図７】
2011060035.tif 000009
【図８】
2011060035.tif 000010
【図９】
2011060035.tif 000011
【図１０】
2011060035.tif 000012
【図１１】
2011060035.tif 000013