"ミドルウェアを有した装置のシステムを復旧させるための自動復旧システムであって、操作者から前記ミドルウェアの指定を受け付ける操作受付部と、受け付けられた前記ミドルウェアのミドルウェア名に基づいて、前記ミドルウェアを構成するプログラムおよび設定ファイルのパターンを定義したパターン定義ファイルを取得し、取得した前記パターン定義ファイルを解析して前記ミドルウェアに合致した設定ファイルをリポジトリサーバから取得し、前記パターン定義ファイルに示されたプログラムをプログラム管理サーバから取得する解析部と、前記解析部が解析した前記プログラムを実行し、前記設定ファイルをデプロイして前記システムを復旧させる生成部と、を備えることを特徴とする自動復旧システム。前記パターン定義ファイルには前記設定ファイルのバージョン情報が含まれ、前記操作受付部は、さらに前記バージョン情報の指定を受け付け、前記解析部は、受け付けられた前記バージョン情報に合致する設定ファイルを前記リポジトリサーバから取得する、ことを特徴とする請求項1に記載の自動復旧システム。前記生成部は、前記解析部が解析した前記プログラムが依存している他のプログラムが存在する場合には、前記他のプログラムのプログラム名に基づいて、前記プログラム管理サーバから前記他のプログラムを取得し、前記プログラムと前記他のプログラムとを実行する、ことを特徴とする請求項1または2に記載の自動復旧システム。前記パターン定義ファイルは、複数のミドルウェアの種類ごとに設けられ、前記解析部は、前記複数のミドルウェアの種類ごとに設けられたパターン定義ファイルの中から、受け付けられた前記ミドルウェアのパターン定義ファイルを取得する、ことを特徴とする請求項1~3のいずれか1項に記載の自動復旧システム。ミドルウェアを有した装置のシステムを復旧させるための自動復旧システムで行われる自動復旧方法であって、操作者から前記ミドルウェアの指定を受け付けるステップと、受け付けられた前記ミドルウェアのミドルウェア名に基づいて、前記ミドルウェアを構成するプログラムおよび設定ファイルのパターンを定義したパターン定義ファイルを取得するステップと、取得した前記パターン定義ファイルを解析して前記ミドルウェアに合致した設定ファイルをリポジトリサーバから取得し、前記パターン定義ファイルに示されたプログラムをプログラム管理サーバから取得するステップと、解析された前記プログラムを実行し、前記設定ファイルをデプロイして前記システムを復旧させるステップと、を含むことを特徴とする自動復旧方法。上述した特許文献1では、仮想化技術のスナップショットにより現行のバージョンを管理しており、障害時には、そのスナップショットより復元可能となっている。しかしながら、例えば、複数のスナップショットを取得して保持する場合、復元の際に古いスナップショットを一旦削除した上で変更内容の差分をマージするが、この際には、削除するスナップショットの順番を意識しておく必要が生じる。また、復元先のサーバ等で、復元対象となるスナップショットのファイルのバージョンに対応していない場合には、その順番により差分内容が仮想マシンに反映されない場合がある。したがって、スナップショットのファイルの管理のバージョンを把握しておく必要がある。スナップショットの内容は、あくまで仮想マシンの一時点の状態を管理しているに過ぎないため、例えば、あるサーバやシステムがミドルウェアを使用している場合には、そのミドルウェアのバージョンや設定内容等のパターンは、実際に復元して比較しない限り、正しく復元されているか否か判断がつかないことが多い。特に、ミドルウェアはOSOperationSystemやアプリケーションとの間の階層に位置するものであり、それ自体でバージョンや設定内容等のパターンを確認することが難しく、上述したように、実際に復元して比較してはじめて正しく復元されたことがわかる場合が多い。本発明は、上記に鑑みてなされたものであって、ミドルウェアのパターンに応じて自動的に適切にシステムやサーバの復旧を可能とする自動復旧システム、および自動復旧方法を提供することを目的とする。上述した課題を解決し、目的を達成するために、本発明にかかる自動復旧システムは、ミドルウェアを有した装置のシステムを復旧させるための自動復旧システムであって、操作者から前記ミドルウェアの指定を受け付ける操作受付部と、受け付けられた前記ミドルウェアのミドルウェア名に基づいて、前記ミドルウェアを構成するプログラムおよび設定ファイルのパターンを定義したパターン定義ファイルを取得し、取得した前記パターン定義ファイルを解析して前記ミドルウェアに合致した設定ファイルをリポジトリサーバから取得し、前記パターン定義ファイルに示されたプログラムをプログラム管理サーバから取得する解析部と、前記解析部が解析した前記プログラムを実行し、前記設定ファイルをデプロイして前記システムを復旧させる生成部と、を備えることを特徴とする。また、本発明は、上記自動復旧システムで行われる自動復旧方法である。本発明によれば、ミドルウェアのパターンに応じて自動的に適切にシステムやサーバの復旧を可能とする自動復旧システム、および自動復旧方法を提供することができるという効果を奏する。以下に添付図面を参照して、本発明にかかる自動復旧システム、および自動復旧方法の実施の形態を詳細に説明する。図1は、本実施の形態における自動復旧システム1000の構成を示す図である。図1に示すように、自動復旧システム1000は、自動ツールサーバ100と、パターン管理サーバ110と、プログラム管理サーバ120と、リポジトリサーバ130と、を有して構成されている。これらの各装置は、LANLocalAreaNetworkやWANWideAreaNetwork等の一般的なセットワークNによって接続されている。また、後述する処理を行うことにより、復旧対象となったサーバ復旧サーバ200と、パターン管理サーバ110とが、上述したネットワークNによって接続されている。以下に示すように、自動復旧システム1000は、第一に、プログラム管理サーバ120に記憶されたミドルウェアの復旧に必要なプログラム、およびリポジトリサーバ130に記憶されたミドルウェアの設定を定めた設定ファイルから定義したパターン管理サーバ110に記憶されたミドルウェアパターンを利用して、サーバやシステムを自動的に復旧する点、第二に、リポジトリサーバ130によりライブラリ管理しているミドルウェアの設定ファイルのバージョンに併せて自動的にサーバやシステムを復旧する点の2点である。自動ツールサーバ100は、操作者からの指示を受け付けてサーバやシステムを復旧するための処理を行うものである。図2は、自動ツールサーバ100の機能的な構成および概念を示すブロック図である。図2に示すように、自動ツールサーバ100は、機能的には、解析部101と、生成部102と、を有している。なお、特に図示していないが、自動ツールサーバ100は、操作者からの操作ミドルウェアの指定やそのバージョンの指定等を受け付けるキーボードやマウス等の操作受付部や、他の装置との間で通信するためのNICNetworkInterfaceCard等の通信部を有しているものとする。解析部101は、不図示の操作受付部により指定されたミドルウェアを特定するためのミドルウェア名、そのミドルウェアのバージョンを参照してパターン管理サーバ110にアクセスし、ミドルウェア名およびバージョンをキーとして、ミドルウェアパターン定義ファイル111Apache用やミドルウェアパターン定義ファイル112MySQL用を取得してその内容を解析する。そして、解析部101は、解析した内容から必要となるプログラムおよび設定ファイルを特定する。そして、解析部101は、そのプログラムのプログラム名をキーとして、プログラム管理サーバ120にアクセスし、必要なプログラム121Apache用やプログラム122MySQL用を取得する。また、解析部101は、特定された設定ファイルのファイル名をキーとして、リポジトリサーバ130にアクセスし、必要な設定ファイル131Apache用や設定ファイル132MySQL用を取得する。なお、以下ではApache用のミドルウェアを前提として説明しているが、MySQL用のミドルウェアやこれ以外の種々のミドルウェアについてもこれと同様に処理することができる。生成部102は、解析部101が取得したプログラム121および設定ファイル131を実行し、復旧対象となっているサーバやシステムを自動的に復旧させる。また、生成部102は、解析部101から受け取ったプログラムが依存している他のプログラム例えば、そのプログラムの実行に必要となるサブモジュール等である依存関係プログラム123が存在する場合には、その依存関係プログラム123のプログラム名をキーとして、再度プログラム管理サーバ120にアクセスし、その依存関係プログラム123を取得した後に実行し、復旧対象となっているサーバやシステムを自動的に復旧させる。なお、自動ツールサーバ100は、復旧対象とするサーバやシステムで用いられるミドルウェア名およびバージョンを標準構成とした指示を受けることにより、後述する各種の処理を実行する。なお、ミドルウェア名を複数指定する場合には、,区切りで複数指定することも可能である。また、バージョンには、リポジトリサーバ130が管理している設定ファイルのバージョンが指定される。自動ツールサーバ100が有する上述した各部は、解析部101、および生成部102の各機能を実現するためのソフトウェアプログラムにより実行される。これらのソフトウェアプログラムは、例えば、上述した各部を含むモジュール構成となっており、実際のハードウェアとしては、CPU等の制御部がHDD等の記録装置からこれらのソフトウェアプログラムを読み出して実行することにより、上記各部が主記憶装置上にロードされ、解析部101、および生成部102の各部が主記憶装置上に生成されるようになっている。また、上述したソフトウェアプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、フレキシブルディスクFD、CD-R、DVDDigitalVersatileDisc等のコンピュータで読み取り可能な記録媒体に記録されて提供することも可能である。さらに、これらのソフトウェアプログラムを、ネットワーク経由でダウンロードさせて提供または配布するように構成してもよい。続いて、パターン管理サーバ110について説明する。パターン管理サーバ110は、ミドルウェアを構成するプログラムおよび設定ファイルのパターンを定義したXMLExtensibleMarkupLanguage形式のファイルであるミドルウェアパターン定義ファイルミドルウェアパターン定義ファイル111Apache用やミドルウェアパターン定義ファイル112MySQL用を記憶するものである。例えば、ミドルウェアパターン定義ファイル111には、リポジトリサーバ130が管理しているそのミドルウェアパターン定義ファイル111に対応する設定ファイルのバージョンが記述されている。通常、設定ファイルは複数のバージョンによって管理されているため、同一のファイル名であっても複数の設定ファイルについて記述されている場合もある。これにより、指定された任意のバージョンの設定ファイルを用いて、ミドルウェアを搭載するシステムやサーバの自動復旧が可能となる。図3は、上述したミドルウェアパターン定義ファイル111の例を示す図である。ミドルウェアパターン定義ファイル111は、復旧対象のミドルウェアごと種類ごとに設けられ、そのミドルウェアを定義するものであり、図3に示すように、OSの指定WindowsまたはLinux、復旧すべきファイルのタイプの指定設定ファイルおよびプログラム、バージョンの指定を含む種々の定義が対応付けて記述されている。このような定義を記述することにより、ミドルウェアの自動復旧する際に必要となるプログラムおよび設定ファイルを把握できるようになっている。図3に示す例では、OSの指定としてLinux、復旧すべきファイルのタイプの指定としてconfigおよびprogram、バージョンの指定として5000あるいは6000が記述されていることを示している。続いて、図1に戻り、プログラム管理サーバ120について説明する。プログラム管理サーバ120は、ミドルウェアのプログラム本体およびそれに付随するプログラムを管理するものである。本実施の形態においては、プログラム管理サーバ120には、Windows対象およびLinux対象のミドルウェアを保持しているが、特にこれに限定されることはない。また、ある1つのミドルウェアのプログラムであっても、プログラム管理サーバ120は、そのミドルウェアが実行される環境のOSに対応した複数のミドルウェアを記憶するので、そのOSに応じたサーバやシステムの自動復旧が可能となる。リポジトリサーバ130は、上述した設定ファイルを管理するものである。リポジトリサーバ130は、例えば、ミドルウェアのバージョンを管理するための管理ソフトウェアのSVNSubversionを利用し、各ミドルウェアに対応する設定ファイルを管理する。リポジトリサーバ130は、デフォルトの状態から随時変更した設定ファイルをSVN上に管理することにより、異なるバージョンの設定ファイルを保持することが可能となる。リポジトリサーバ130が管理する設定ファイルは、仮想化技術のシステムバックアップやスナップショットに比べ、ファイルサイズも小さく管理しやすいという利点がある。さらに、データセンタ内のリソースを追加利用することがないため、より小さな容量のリソースで管理することができるという利点がある。続いて、自動復旧システム1000で行われる処理について説明する。図4は、自動復旧システム1000の自動ツールサーバ100が有する解析部101が行う解析処理の処理手順を示すフローチャートである。図4に示すように、まず、解析部101は、不図示の操作受付部により利用者から指定されたミドルウェア名のミドルウェア、バージョンをロードして取得するステップS401。その後、解析部101は、パターン管理サーバ110にアクセスし、指定されたミドルウェア名のミドルウェアパターン定義ファイルをロードするステップS402。そして、解析部101は、ステップS401においてバージョンの指定があるか否かを判定しステップS403、バージョンの指定があると判定した場合ステップS403;Yes、指定されたそのバージョンに合致した設定ファイルを取得するステップS404。一方、解析部101は、バージョンの指定がない省略されていると判定した場合ステップS403;No、最新バージョンの設定ファイルを取得するステップS405。ステップS404またはS405のいずれかの処理が終了すると、解析部101は、ロードしたミドルウェアパターン定義ファイルに記載されたプログラムを取得しステップS406、そのプログラムと設定ファイルとを生成部102に引き渡すステップS407。このステップS407の処理が終了すると、図4に示した解析処理の全ての処理が終了する。続いて、自動復旧システム1000の自動ツールサーバ100が有する生成部102が行う生成処理について説明する。図5は、自動復旧システム1000の自動ツールサーバ100が有する生成部102が行う生成処理の処理手順を示すフローチャートである。図5に示すように、生成部102は、解析部101が取得したプログラムを解析し、依存関係プログラムがあるか否かを判定しステップS501、依存関係プログラムがないと判定した場合ステップS501;No、ステップS503に進み、解析部101から受け取ったプログラムを実行しステップS503、ステップS505に進む。一方、生成部102は、依存関係プログラムがないと判定した場合ステップS501;No、その依存関係プログラム123のプログラム名をキーとして、再度プログラム管理サーバ120にアクセスしてその依存関係プログラム123を取得しステップS502、その後、解析部101から受け取ったプログラムと取得した依存関係プログラム123とを実行するステップS504。そして、生成部102は、解析部101から受け取った設定ファイルをデプロイしステップS505、ミドルウェアのサービスをリロードしステップS506、復旧対象となっているサーバやシステムを自動的に復旧させる。このように、本実施の形態においては、ミドルウェアの自動復旧に必要な、プログラム本体、ミドルウェアの設定ファイルのパターンを管理したミドルウェアパターン定義ファイルを用いてサーバやシステムの自動復旧を可能とし、さらに、ミドルウェアパターン定義ファイルをロードする為、自動ツールサーバで復旧対象のミドルウェアのみあるいは必要に応じてそのバージョンを指定することにより、独立性が確保できる構造としている。また、ミドルウェアパターン定義ファイルに設定ファイルのバージョンを保持することにより、任意のバージョンの設定ファイルで復旧することを可能としている。これにより、仮想化技術のシステムバックアップ機能やスナップショット機能のようにデータセンタ内のリソースを使用せず、設定ファイルをライブラリ管理しておくことだけで済むようになっている。すなわち、本発明では、論理障害等により、ミドルウェアの再構築が必要な際に、ミドルウェアパターンにより、自動復旧することが可能になる。また、ミドルウェアパターン定義ファイルで設定したバージョンにより、設定ファイルリポジトリに管理している任意のバージョンの設定ファイルを用いてピンポイントの状態の復旧が可能になる。設定ファイルの管理のみ行えばよいのでメンテナンスを極小化できる。なお、本発明は障害時を想定した発明ではあるが、新規サーバ構築する際にも利用ができるなど汎用性が高いといえる。なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。例えば、上述した各種のサーバを1台のサーバとして構成したり、これらを適宜組み合わせても良い。"