(57)【要約】      （修正有）【課題】最適なパッチを選定する。【解決手段】管理サーバは、仮想イメージより生成された仮想サーバの情報、および当該仮想サーバで動作するソフトウェアの情報を記憶するサーバ情報管理を参照し、所定の仮想イメージより生成される特定の仮想サーバの情報および前記特定の仮想マシンで動作するソフトウェアの情報に基づき他の仮想サーバを選択する。そして、管理サーバは、該選択する処理によって選択された他の仮想サーバに適用されたパッチの内容に基づき、特定の仮想サーバに適用するパッチを抽出する。【選択図】図１４
2015007842.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
仮想イメージより生成された仮想マシンの情報、および当該仮想マシンで動作するソフトウェアの情報を記憶する記憶部を参照し、所定の仮想イメージより生成される特定の仮想マシンの情報および前記特定の仮想マシンで動作するソフトウェアの情報に基づき他の仮想マシンを選択し、
該選択する処理によって選択された他の仮想マシンに適用されたソフトウェア修正パッチの内容に基づき、前記特定の仮想マシンに適用するソフトウェア修正パッチを抽出する
処理を実行させることを特徴とするソフトウェア修正パッチ抽出プログラム。
【請求項２】
前記記憶部は、仮想マシンの情報として仮想マシンが用いられる用途および動作実績を含む情報、当該仮想マシンで動作するソフトウェアの情報としてＯＳおよびミドルウェアを含む情報を記憶し、
該選択する処理は、前記記憶部を参照し、前記特定の仮想マシンと用途、ＯＳおよびミドルウェアの構成が同一である他の仮想マシンを選択し、
該抽出する処理は、該選択する処理によって選択された他の仮想マシンが複数ある場合、複数の他の仮想マシンでそれぞれ適用されたソフトウェア修正パッチのうち共通するソフトウェア修正パッチを前記特定の仮想マシンに適用するソフトウェア修正パッチとして抽出するとともに、複数の他の仮想マシンのいずれかで適用されたソフトウェア修正パッチを選択し、選択したソフトウェア修正パッチの内容に基づき、前記特定の仮想マシンに適用するソフトウェア修正パッチをさらに抽出する
処理を実行させることを特徴とする請求項１に記載のソフトウェア修正パッチ抽出プログラム。
【請求項３】
該選択する処理は、前記特定の仮想マシンと用途、ＯＳおよびミドルウェアの構成が同一である他の仮想マシンを選択できない場合、前記記憶部を参照し、前記特定の仮想マシンと用途、ＯＳおよびいずれかのミドルウェアが同一である他の仮想マシンを選択し、
該抽出する処理は、前記特定の仮想マシンで動作するミドルウェア毎に、ミドルウェアが同一である他の仮想マシンが複数ある場合、複数の他の仮想マシンでそれぞれ適用されたソフトウェア修正パッチのうち共通するソフトウェア修正パッチを選択し、選択したソフトウェア修正パッチの内容に基づき、前記特定の仮想マシンに適用するソフトウェア修正パッチを抽出する
処理を実行させることを特徴とする請求項２に記載のソフトウェア修正パッチ抽出プログラム。
【請求項４】
該抽出する処理は、選択したソフトウェア修正パッチの内容が、最も重要であり、いずれかの他の仮想マシンで削除されたことがなく、最も新しい場合に、当該ソフトウェア修正パッチを前記特定の仮想マシンに適用するソフトウェア修正パッチとして抽出する
処理を実行させることを特徴とする請求項２または請求項３に記載のソフトウェア修正パッチ抽出プログラム。
【請求項５】
コンピュータが、
仮想イメージより生成された仮想マシンの情報、および当該仮想マシンで動作するソフトウェアの情報を記憶する記憶部を参照し、所定の仮想イメージより生成される特定の仮想マシンの情報および前記特定の仮想マシンで動作するソフトウェアの情報に基づき他の仮想マシンを選択し、
該選択する処理によって選択された他の仮想マシンに適用されたソフトウェア修正パッチの内容に基づき、前記特定の仮想マシンに適用するソフトウェア修正パッチを抽出する
各処理を実行することを特徴とするソフトウェア修正パッチ抽出方法。
【請求項６】
仮想イメージより生成された仮想マシンの情報、および当該仮想マシンで動作するソフトウェアの情報を記憶する記憶部と、
前記記憶部に記憶された情報を参照し、所定の仮想イメージより生成される特定の仮想マシンの情報および前記特定の仮想マシンで動作するソフトウェアの情報に基づき他の仮想マシンを選択する選択部と、
前記選択部によって選択された他の仮想マシンに適用されたソフトウェア修正パッチの内容に基づき、前記特定の仮想マシンに適用するソフトウェア修正パッチを抽出する抽出部と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア修正パッチ抽出プログラムに関する。
【背景技術】
【０００２】
物理マシン上に仮想マシンが生成される際、仮想マシンに対してソフトウェア修正パッチ（パッチ）が適用されてから、仮想マシンが運用に用いられる。パッチは、ソフトウェアの一部を修正する。
【０００３】
適用されるパッチは、例えば、利用者によって選定される。すなわち、利用者は、仮想マシンで動作するソフトウェアのベンダから提供されるパッチのうち、生成された仮想マシンに未適用のパッチを選定する。
【０００４】
また、最新状態にない停止中の仮想マシンを更新する技術がある。かかる技術では、仮想マシンは、最新状態にないソフトウェア構造体を含んでいる。そして、最新状態にない停止中の仮想マシンは、ライブラリから取り出され、メンテナンスホスト上でリスタートされる。そして、メンテナンスホストは、必要とするソフトウェア更新を、対応する更新ソースからパッチとして取得することによって、各々の最新状態にないソフトウェア構造体を更新する（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２００９−５３８４６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、パッチを選定する従来の技術では、最適なパッチを選定することができないという問題がある。
【０００７】
一例として、仮想マシンに適用されるパッチは、利用者によって選定されるが、利用者がＯＳやミドルウェアなどのマシン環境に精通していない場合、最適なパッチを選定できない。
【０００８】
別の例として、最新状態にない停止中の仮想マシンを更新するための技術では、単に最新状態にないソフトウェアのパッチを取得し、更新するだけであるので、パッチの更新によってその後の動作に不具合が生じるおそれがある。すなわち、最新状態にない停止中の仮想マシンを更新するための技術であっても、最適なパッチを選定できない。
【０００９】
１つの側面では、パッチの選定の適正化を図ることを目的とする。
【課題を解決するための手段】
【００１０】
１つの案では、ソフトウェア修正パッチ抽出プログラムは、コンピュータに、仮想イメージより生成された仮想マシンの情報、および当該仮想マシンで動作するソフトウェアの情報を記憶する記憶部を参照し、所定の仮想イメージより生成される特定の仮想マシンの情報および前記特定の仮想マシンで動作するソフトウェアの情報に基づき他の仮想マシンを選択し、該選択する処理によって選択された他の仮想マシンに適用されたソフトウェア修正パッチの内容に基づき、前記特定の仮想マシンに適用するソフトウェア修正パッチを抽出する処理を実行させる。
【発明の効果】
【００１１】
１つの態様によれば、パッチの選定の適正化を図ることができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例に係る管理サーバを含む管理システムの全体構成を示す図である。
【図２】図２は、パッチ管理ＤＢのデータ構造の一例を示す図である。
【図３】図３は、メディアライブラリの一例を示す図である。
【図４】図４は、テンプレート管理ＤＢのデータ構造の一例を示す図である。
【図５】図５は、サーバ情報管理ＤＢのデータ構造の一例を示す図である。
【図６】図６は、サーバ一覧データのデータ構造の一例を示す図である。
【図７】図７は、最適パッチ一覧データのデータ構造の一例を示す図である。
【図８】図８は、実施例に係るパッチ抽出処理の具体例を示す図である。
【図９】図９は、実施例に係るサーバ情報収集処理の全体の手順を示すフローチャートである。
【図１０】図１０は、実施例に係るサーバ情報収集処理の手順を示すフローチャートである。
【図１１】図１１は、ミドルウェア稼働状況取得処理の手順を示すフローチャートである。
【図１２】図１２は、実施例に係る仮想サーバ配備処理の全体の手順を示すフローチャートである。
【図１３】図１３は、パッチ抽出処理の手順を示すフローチャートである。
【図１４】図１４は、同一構成サーバのパッチ抽出処理の手順を示すフローチャートである。
【図１５】図１５は、類似構成サーバのパッチ抽出処理の手順を示すフローチャートである。
【図１６】図１６は、削除パッチ抽出処理の手順を示すフローチャートである。
【図１７】図１７は、パッチ抽出プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示するソフトウェア修正パッチ抽出プログラム、ソフトウェア修正パッチ抽出方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
【実施例】
【００１４】
［実施例に係る管理システムの構成］
図１は、実施例に係る管理サーバを含む管理システムの全体構成を示す図である。図１に示すように、管理システム９は、管理サーバ１と複数の仮想サーバ２とを有する。管理サーバ１と複数の仮想サーバ２とは、ネットワーク３で接続される。なお、仮想サーバ２は、仮想マシン（ＶＭ：Virtual  Machine）であり、物理サーバ上に搭載される。複数の仮想サーバ２は、１台の物理サーバ上に搭載されても良いし、それぞれ１台の物理サーバ上に搭載されても良い。
【００１５】
仮想サーバ２は、仮想イメージ（テンプレート）から配備される。ここでいう仮想イメージとは、仮想サーバ２に配備されるＯＳ（Operation  System）やＭＷ（Middleware）のイメージであり、実際のマシン上にインストールされる。仮想イメージには、仮想サーバ２に適用されるパッチが適用される。なお、仮想イメージには、仮想サーバ２に配備されるアプリケーションがインストールされていても良い。
【００１６】
仮想サーバ２は、ＯＳ２１、ＭＷ２２、パッチ２３およびエージェント部２４を有する。ＯＳ２１、ＭＷ２２、パッチ２３およびエージェント部２４は、仮想サーバ２が運用される前に、仮想イメージから配備される。配備される仮想イメージは、例えば、利用者によって選択される。パッチ２３は、仮想サーバ２が運用されると、運用後、新たに適用されたり、削除されたりする。パッチ２３は、ＯＳ２１のパッチやＭＷ２２のパッチを含む。パッチ２３の新たな適用や削除は、後述するエージェント部２４によって実施される。なお、エージェント部２４は、全ての仮想イメージに予めインストールされている。
【００１７】
エージェント部２４は、管轄する仮想サーバ２について、例えば、稼働状況、インストールされているＭＷの情報およびパッチ適用情報を適宜収集するとともに、パッチ２３の新たな適用や削除を実施する。そして、エージェント部２４は、収集した情報を管理サーバ１に送信する。
【００１８】
一例として、エージェント部２４は、管理サーバ１から指示があると、管轄する仮想サーバ２の各種情報を収集する。ここでいう各種情報とは、例えば、仮想サーバ２の稼働情報、ＭＷを起動するサービスまたはプロセスのログ情報およびパッチの適用状況である。仮想サーバ２の稼働情報には、仮想サーバ２の稼働率が含まれる。ＭＷを起動するサービスまたはプロセスのログ情報には、ＭＷを起動するサービスまたはプロセスのログのサイズが含まれる。各種情報にＭＷを起動するサービスまたはプロセスのログ情報が含まれるのは、後述するサーバ情報収集部１２１に当該ＭＷの稼働状況を判断させるためである。すなわち、ログ情報に含まれるログのサイズが日々異なれば、サーバ情報収集部１２１に、当該ログに対応するＭＷが稼働していると判断させることができる。
【００１９】
別の一例として、エージェント部２４は、管轄する仮想サーバ２への仮想イメージの配備時に、当該仮想サーバ２の各種情報を収集する。ここでいう各種情報とは、例えば、仮想サーバ２の識別名、ＯＳ、用途、ＭＷのインストール状況およびインストール先、ＭＷを起動するサービスまたはプロセスの情報並びにパッチの適用状況が含まれる。具体的には、エージェント部２４は、ＭＷのインストール状況およびインストール先を、ＯＳ毎に異なる領域から収集する。例えば、ＯＳが「Ｗｉｎｄｏｗｓ（登録商標）」の場合、レジストリから取得され、ＯＳが「Ｕｎｉｘ（登録商標）」の場合、パッケージ情報から収集される。また、エージェント部２４は、ＭＷを起動するサービスまたはプロセスの情報を、ＯＳ毎に異なる領域から収集する。例えば、ＯＳが「Ｗｉｎｄｏｗｓ」の場合、ＭＷを起動するサービスの情報は、レジストリから収集される。ＯＳが「Ｕｎｉｘ」の場合、ＭＷを起動するプロセスの情報は、インストール先のモジュールから収集される。
【００２０】
別の一例として、エージェント部２４は、管轄する仮想サーバ２への新たなＭＷの追加時に、当該仮想サーバ２の各種情報を収集する。ここでいう各種情報とは、例えば、新たなＭＷのインストール状況およびインストール先、ＭＷを起動するサービスまたはプロセスの情報が含まれる。
【００２１】
管理サーバ１は、既存の仮想サーバ２について、稼働情報、ＭＷの情報、パッチ適用情報を収集し、同一構成または類似構成の仮想サーバ２を選択する。そして、管理サーバ１は、選択した仮想サーバ２に適用されているパッチの中から、配備される仮想サーバ２に適用するパッチを抽出する。管理サーバ１は、記憶部１１および制御部１２を有する。
【００２２】
記憶部１１は、例えばフラッシュメモリ（Flash  Memory）やＦＲＡＭ（登録商標）（Ferroelectric  Random  Access  Memory）などの不揮発性の半導体メモリ素子などの記憶装置に対応する。記憶部１１は、パッチ管理ＤＢ（DataBase）１１１、メディアライブラリ１１２、テンプレート管理ＤＢ１１３、サーバ情報管理ＤＢ１１４、サーバ一覧データ１１５および最適パッチ一覧データ１１６を有する。
【００２３】
パッチ管理ＤＢ１１１は、ＯＳやＭＷの各ベンダが公開しているパッチの情報を、製品およびバージョンと対応付けて管理する。ここで、パッチ管理ＤＢ１１１のデータ構造を、図２を参照して説明する。図２は、パッチ管理ＤＢのデータ構造の一例を示す図である。図２に示すように、パッチ管理ＤＢ１１１は、パッチ１１１ａ、製品１１１ｂ、種別１１１ｃ、概要１１１ｄ、公開日１１１ｅおよびパッチ格納場所１１１ｆを対応付けて記憶する。パッチ１１１ａは、パッチの識別名を示す。製品１１１ｂは、パッチを適用すべき製品名およびバージョンからなる製品の識別名を示す。種別１１１ｃは、パッチの種別である。例えば、種別１１１ｃは、セキュリティ上のパッチであるか否か、または、パッチが重要であるか否かを示す。概要１１１ｄは、パッチの概要を示す。公開日１１１ｅは、パッチの最新の公開日を示す。パッチ格納場所１１１ｆは、パッチの格納場所を示す。
【００２４】
一例として、パッチ１１１ａが「パッチＡ」である場合、製品１１１ｂとして「ＸＸＸＸ２００８」、種別１１１ｃとして「セキュリティ」、公開日１１１ｅとして「２０ＸＸ／０６／０１」と記憶している。また、パッチ格納場所１１１ｆとして「／Ｐａｔｃｈ／ＯＳ／ＸＸＸＸ／・・・」と記憶している。
【００２５】
図１に戻って、メディアライブラリ１１２は、パッチの実体とパッチを適用するために用いられるスクリプトとをセットで管理する。ここで、メディアライブラリ１１２の一例を、図３を参照して説明する。図３は、メディアライブラリの一例を示す図である。図３に示すように、メディアライブラリ１１２には、パッチ毎に、修正ファイルと適用スクリプトとを対応付けて記憶する。修正ファイルは、パッチの実体がある格納場所である。適用スクリプトは、パッチを適用するために用いられるスクリプトがある格納場所である。一例として、パッチＡの修正ファイルおよび適用スクリプトは、「／Ｐａｔｃｈ／ＯＳ／ＸＸＸＸ／パッチＡ」配下に格納されている。すなわち、パッチ毎の修正ファイルおよび適用スクリプトの格納場所は、パッチ管理ＤＢ１１１のパッチ格納場所１１１ｆに対応する。
【００２６】
図１に戻って、テンプレート管理ＤＢ１１３は、仮想イメージのテンプレートを管理する。すなわち、テンプレート管理ＤＢ１１３は、仮想イメージにインストールされたＯＳおよびＭＷの情報、並びに仮想イメージに適用済みのパッチを管理する。ここで、テンプレート管理ＤＢ１１１のデータ構造を、図４を参照して説明する。図４は、テンプレート管理ＤＢのデータ構造の一例を示す図である。図４に示すように、テンプレート管理ＤＢ１１３は、テンプレート１１３ａ、ＯＳ１１３ｂ、ＭＷ情報１１３ｃおよび適用済パッチ１１３ｇを対応付けて記憶する。ＭＷ情報１１３ｃには、インストールＭＷ１１３ｄ、インストール先１１３ｅおよびサービス／プロセス１１３ｆが含まれる。
【００２７】
テンプレート１１３ａは、仮想イメージに対応するテンプレートの識別名である。ＯＳ１１３ｂは、テンプレートを構成するＯＳを示す。ＭＷ情報１１３ｃは、テンプレートを構成するＭＷの情報を示す。インストールＭＷ１１３ｄは、テンプレートに対応する仮想イメージにインストールされているＭＷを示す。インストール先１１３ｅは、インストールＭＷ１１３ｄがテンプレートに対応する仮想イメージにインストールされている場所を示す。サービス／プロセス１１３ｆは、インストールＭＷ１１３ｄが起動されるサービスまたはプロセスの情報を示す。適用済パッチ１１３ｇは、テンプレートに対応する仮想イメージに適用済みのパッチを示す。
【００２８】
一例として、テンプレート１１３ａが「テンプレート１」である場合、ＯＳ１１３ｂとして「ＸＸＸＸ２００８」と記憶している。インストールＭＷ１１３ｄとして「ＡＢＣ  Ｖ２」、インストール先１１３ｅとして「Ｃ：￥ＡＢＣ」、サービス／プロセス１１３ｆとして「ＡＢＣサービス」と記憶している。適用済みパッチ１１３ｇとして「パッチＡ  パッチＣ」と記憶している。
【００２９】
図１に戻って、サーバ情報管理ＤＢ１１４は、仮想サーバ２毎に、ＯＳ、選択されたテンプレート、用途、稼働実績、ＭＷの情報およびパッチの情報を管理する。サーバ一覧データ１１５は、後述するパッチ抽出部１２３によってパッチが抽出される際に、一時的に用いられる仮想サーバの一覧である。最適パッチ一覧データ１１６は、後述するパッチ抽出部１２３によって抽出された最適なパッチの一覧である。なお、サーバ情報管理ＤＢ１１４、サーバ一覧データ１１５および最適パッチ一覧データ１１６の詳細な説明は、後述する。
【００３０】
制御部１２は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。そして、制御部１２は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路の電子回路に対応する。または、制御部１２は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路に対応する。さらに、制御部１２は、サーバ情報収集部１２１、仮想サーバ配備部１２２、パッチ抽出部１２３およびパッチ適用部１２４を有する。
【００３１】
サーバ情報収集部１２１は、仮想サーバ２毎に、各種情報を収集する。一例として、サーバ情報収集部１２１は、定期的（一例として、毎日１回）に、サーバ情報管理ＤＢ１１３で管理している全ての仮想サーバ２に対して、エージェント部２４を通じて各種情報を収集する。ここでいう各種情報とは、例えば、仮想サーバ２の稼働情報、ＭＷを起動するサービスまたはプロセスのログ情報およびパッチの適用状況である。
【００３２】
また、サーバ情報収集部１２１は、仮想サーバ２からの情報収集の可否により、仮想サーバ２の稼働状況を判定する。すなわち、サーバ情報収集部１２１は、仮想サーバ２から情報収集ができた場合、当該仮想サーバ２が稼働していると判定する。サーバ情報収集部１２１は、仮想サーバ２から情報収集ができなかった場合、当該仮想サーバ２が稼働していないと判定する。そして、サーバ情報収集部１２１は、判定結果をサーバ情報管理ＤＢ１１４に格納する。
【００３３】
また、サーバ情報収集部１２１は、仮想サーバ２に対応するＭＷの稼働状況を判定する。例えば、サーバ情報収集部１２１は、仮想サーバ２に対応する、今回収集したＭＷを起動するサービスまたはプロセスのログのサイズと、前回収集した同じＭＷを起動するサービスまたはプロセスのログのサイズとを比較し、当該ＭＷの稼働状況を判定する。サーバ情報収集部１２１は、ＭＷについて、今回収集したログのサイズと前回収集したログのサイズとが異なる場合、当該ＭＷが稼働していると判定する。サーバ情報収集部１２１は、ＭＷについて、今回収集したログのサイズと前回収集したログのサイズとが同じである場合、当該ＭＷが稼働していないと判定する。そして、サーバ情報収集部１２１は、判定結果をサーバ情報管理ＤＢ１１４に格納する。
【００３４】
また、サーバ情報収集部１２１は、仮想サーバ２に対応する仮想イメージのＭＷ情報と今回収集したＭＷ情報とを比較し、配備後に追加または削除されたＭＷを判定する。一例として、サーバ情報収集部１２１は、今回収集したＭＷにおけるＭＷ情報が仮想イメージのＭＷ情報にない場合、当該ＭＷが追加されたと判定する。一方、サーバ情報収集部１２１は、仮想イメージのＭＷ情報が今回収集したＭＷにおけるＭＷ情報にない場合、当該ＭＷが削除されたと判定する。
【００３５】
また、サーバ情報収集部１２１は、仮想サーバ２に対応する仮想イメージに適用されたパッチの情報と今回収集したパッチの情報とを比較し、配備後に追加または削除されたパッチを判定する。加えて、サーバ情報収集部１２１は、前回収集したパッチの情報と今回収集したパッチの情報とを比較し、前回収集後に追加または削除されたパッチを判定する。
【００３６】
ここで、サーバ情報管理ＤＢ１１４のデータ構造を、図５を参照して説明する。図５は、サーバ情報管理ＤＢのデータ構造の一例を示す図である。図５に示すように、サーバ情報管理ＤＢ１１４は、ＯＳ１１４ｂ、テンプレート１１４ｃ、用途１１４ｄ、稼働実績（最終確認日）１１４ｅ、稼働率１１４ｆ、ＭＷ情報１１４ｇをサーバ１１４ａに対応付けて記憶する。さらに、サーバ情報管理ＤＢ１１４は、最終パッチ適用日１１４ｌ、適用済パッチ１１４ｍおよび削除パッチ１１４ｎをサーバ１１４ａに対応付けて記憶する。また、ＭＷ情報１１４ｇには、インストール済ＭＷ１１４ｈ、稼働状況１１４ｉ、インストール先１１４ｊおよびサービス／プロセス（ログサイズ）１１４ｋが含まれる。
【００３７】
サーバ１１４ａは、仮想サーバの識別名である。ＯＳ１１４ｂは、サーバ１１４ａに配備されたＯＳを示す。テンプレート１１４ｃは、サーバ１１４ａが配備された際に用いられたテンプレートである。なお、サーバ１１４ａ、ＯＳ１１４ｂ、テンプレート１１４ｃは、例えば、あらかじめ、サーバ１１４ａが示す仮想サーバ２への仮想イメージの配備時に収集され、記憶される。
【００３８】
用途１１４ｄは、サーバ１１４ａの用途を示す。例えば、用途１１４ｄには、Ｗｅｂサーバとして用いられる場合「Ｗｅｂ」、アプリケーションサーバとして用いられる場合「アプリケーション（ＡＰ）」、データベースサーバとして用いられる場合「データベース（ＤＢ）」が記憶される。記憶されるタイミングは、例えば、サーバ１１４ａが示す仮想サーバ２への仮想イメージの配備時である。なお、サーバ１１４ａが示す仮想サーバ２の用途が、配備時に「ＡＰ」であった場合でも、後にＤＢのソフトウェアがインストールされれば、「ＡＰ＋ＤＢ」に更新される。
【００３９】
稼働実績（最終確認日）１１４ｅは、サーバ１１４ａが示す仮想サーバ２の稼働状況である。例えば、稼働実績（最終確認日）１１４ｅには、稼働していることを示す「○」、稼働していないことを示す「×」が記憶される。加えて、稼働状況の最終確認日が記憶される。稼働率１１４ｆは、サーバ１１４ａが示す仮想サーバ２の稼働率を示す。稼働実績（最終確認日）１１４ｅおよび稼働率１１４ｆは、サーバ情報収集部１２１によって収集され、記憶される。
【００４０】
インストール済ＭＷ１１４ｈは、サーバ１１４ａが示す仮想サーバ２にインストール済みのＭＷを示す。稼働状況１１４ｉは、インストール済ＭＷ１１４ｈが示すＭＷの稼働状況を示す。例えば、稼働状況１１４ｉには、稼働していることを示す「○」、稼働していないことを示す「×」が記憶される。インストール先１１４ｊは、インストール済ＭＷ１１４ｈが示すＭＷがサーバ１１４ａにインストールされている場所を示す。サービス／プロセス（ログサイズ）１１４ｋは、インストール済ＭＷ１１４ｈが示すＭＷが起動されるサービスまたはプロセスを示す。サービス／プロセス（ログサイズ）１１４ｋには、ＭＷが起動されるサービスまたはプロセスの名称が設定されるとともに、当該サービスまたはプロセスの収集時のログサイズが設定される。稼働状況１１４ｉは、サーバ情報収集部１２１によって格納される。そして、インストール済ＭＷ１１４ｈおよびインストール先１１４ｊは、サーバ１１４ａが示す仮想サーバ２への仮想イメージの配備時またはＭＷの追加時に記憶される。サービス／プロセス（ログサイズ）１１４ｋは、サーバ１１４ａが示す仮想サーバ２への仮想イメージの配備時またはＭＷの追加時、サーバ情報収集部１２１による収集時に記憶される。
【００４１】
最終パッチ適用日１１４ｌは、後述する適用済パッチ１１４ｍが最終的に適用された日を示す。適用済パッチ１１４ｍは、サーバ１１４ａが示す仮想サーバ２に適用済みのパッチを示す。削除パッチ１１４ｎは、サーバ１１４ａが示す仮想サーバ２から削除されたパッチを示す。最終パッチ適用日１１４ｌおよび適用済パッチ１１４ｍは、サーバ情報収集部１２１によって収集され、記憶される。そして、削除パッチ１１４ｎには、サーバ情報収集部１２１によって判定された削除パッチが記憶される。
【００４２】
図１に戻って、仮想サーバ配備部１２２は、利用者によって選択される仮想イメージを用いて、仮想サーバ２に配備を実行する。これにより、仮想サーバ配備部１２２は、仮想イメージとしてインストールされたＯＳおよびＭＷ、仮想イメージとして適用されたパッチを仮想サーバ２に配備する。
【００４３】
パッチ抽出部１２３は、サーバ情報管理ＤＢ１１４を参照し、仮想サーバ配備部１２２によって配備される仮想サーバ２の情報およびＭＷの情報に基づき他の仮想サーバ２を選択する。例えば、パッチ抽出部１２３は、仮想サーバ配備部１２２によって配備される仮想サーバ２のテンプレートの識別名、ＯＳ、用途およびＭＷ情報を取得する。そして、パッチ抽出部１２３は、サーバ情報管理ＤＢ１１４を参照し、配備される仮想サーバ２と、テンプレートの識別名、ＯＳ、用途およびＭＷの構成が同一の他の仮想サーバ２を選択する。このとき、パッチ抽出部１２３は、サーバ情報管理ＤＢ１１４を参照し、過去の一定期間、稼働実績およびパッチ適用の実績がない他の仮想サーバ２を除外する。過去の一定期間、稼働実績およびパッチ適用の実績がない仮想サーバ２は、メンテナンスされていないおそれがあり、必要なパッチを抽出できない可能性があるからである。過去の一定期間とは、例えば６ヶ月であるが、メンテナンスされていないと判断できる期間であれば良い。そして、パッチ抽出部１２３は、選択した全ての他の仮想サーバ２をサーバ一覧データ１１５に格納する。
【００４４】
ここで、サーバ一覧データ１１５のデータ構造を、図６を参照して説明する。図６は、サーバ一覧データのデータ構造の一例を示す図である。図６に示すように、サーバ一覧データ１１５は、ＯＳ１１５ｂ、テンプレート１１５ｃ、用途１１５ｄおよびインストール済ＭＷ１１５ｅをサーバ１１５ａに対応付けて記憶する。サーバ１１５ａ、ＯＳ１１５ｂ、テンプレート１１５ｃ、用途１１５ｄおよびインストール済ＭＷ１１５ｅは、サーバ情報管理ＤＢ１１４のサーバ１１４ａ、ＯＳ１１４ｂ、テンプレート１１４ｃ、用途１１４ｄおよびインストール済ＭＷ１１４ｈに対応する。すなわち、パッチ抽出部１２３は、サーバ情報管理ＤＢ１１４に記憶された、選択した全ての他の仮想サーバ２の情報をサーバ一覧データ１１５にコピーする。
【００４５】
一例として、サーバ１１５ａが「サーバ４」である場合、ＯＳ１１５ｂとして「ＸＸＸＸ２００８」、テンプレート１１５ｃとして「テンプレート１」、用途１１５ｄとして「ＡＰ」と記憶している。また、インストール済ＭＷ１１５ｅとして「ＡＢＣ  Ｖ２  ＸＹＺ  Ｖ１０」と記憶している。
【００４６】
図１に戻って、パッチ抽出部１２３は、選択された他の仮想サーバ２が複数ある場合、複数の他の仮想サーバ２でそれぞれ適用されたパッチのうち共通に適用されているパッチを適用対象パッチとして抽出する。また、パッチ抽出部１２３は、複数の他の仮想サーバ２のいずれかで適用されたパッチを選択する。そして、パッチ抽出部１２３は、選択したパッチのうち、パッチの種別が「重要」であり、他の仮想サーバ２で削除されたことがなく、仮想サーバ２の稼働率が所定の割合を超え、且つ最新であるが公開されたばかりでないパッチを適用対象パッチとして抽出する。パッチの種別が「重要」であるか否か、最新であるがパッチが公開されたばかりでないか否かは、パッチ管理ＤＢ１１１を用いて判定される。他の仮想サーバ２で削除されたことがないか否か、仮想サーバ２の稼働率が所定の割合を超えているか否かは、サーバ情報管理ＤＢ１１４を用いて判定される。なお、他の仮想サーバ２で削除されたことがないパッチを抽出するのは、当該パッチが業務の運用に影響しないと推測されるからである。また、仮想サーバ２の稼働率が所定の割合を超えているパッチを抽出するのは、当該パッチを適用してもパッチ適用による影響がないと推測されるからである。最新であるが公開されたばかりでないパッチを抽出するのは、当該パッチの実績があると推測されるからである。そして、パッチ抽出部１２３は、抽出した適用対象パッチを、最適パッチ一覧データ１１６に格納する。
【００４７】
また、パッチ抽出部１２３は、配備される仮想サーバ２と、テンプレートの識別名、ＯＳ、用途およびＭＷの構成が同じ他の仮想サーバ２を選択できない場合、配備される仮想サーバ２と類似構成の他の仮想サーバ２を選択する。例えば、パッチ抽出部１２３は、サーバ情報管理ＤＢ１１４を参照し、配備される仮想サーバ２と、ＯＳおよび用途が同一であり、いずれかのＭＷが同一である他の仮想サーバ２を選択する。このとき、パッチ抽出部１２３は、サーバ情報管理ＤＢ１１４を参照し、過去の一定期間、稼働実績およびパッチ適用の実績がない他の仮想サーバ２を除外する。過去の一定期間、稼働実績およびパッチ適用の実績がない仮想サーバ２は、メンテナンスされていないおそれがあり、必要なパッチを抽出できない可能性があるからである。過去の一定期間とは、例えば６ヶ月であるが、メンテナンスされていないと判断できる期間であれば良い。そして、パッチ抽出部１２３は、選択した全ての他の仮想サーバ２をサーバ一覧データ１１５に格納する。
【００４８】
また、パッチ抽出部１２３は、選択された他の仮想サーバ２が複数ある場合、複数の他の仮想サーバ２でそれぞれ適用されたパッチのうち共通に適用されているパッチを選択する。そして、パッチ抽出部１２３は、選択したパッチのうち、パッチの種別が「重要」であり、他の仮想サーバ２で削除されたことがなく、且つ最新であるが公開されたばかりでないパッチを適用対象パッチとして抽出する。パッチの種別が「重要」であるか否か、最新であるがパッチが公開されたばかりでないか否かは、パッチ管理ＤＢ１１１を用いて判定される。他の仮想サーバ２で削除されたことがないか否かは、サーバ情報管理ＤＢ１１４を用いて判定される。そして、パッチ抽出部１２３は、抽出した適用対象パッチを、最適パッチ一覧データ１１６に格納する。
【００４９】
また、パッチ抽出部１２３は、仮想サーバ配備部１２２によって配備されたパッチのうち、不要なパッチを削除する。すなわち、パッチ抽出部１２３は、テンプレートの仮想イメージにあらかじめ適用されているパッチの中で、他の仮想サーバ２の運用中に削除されたパッチがあれば、そのパッチを適用解除パッチとする。例えば、パッチ抽出部１２３は、サーバ情報管理ＤＢ１１４を参照し、選択された他の仮想サーバ２から削除済みのパッチを選択する。そして、パッチ抽出部１２３は、テンプレート管理ＤＢ１１３を参照し、選択した削除済みのパッチが、配備する仮想サーバ２のテンプレートに適用されているか否かを判定する。そして、パッチ抽出部１２３は、適用されているパッチを、適用解除パッチとして最適パッチ一覧データ１１６に登録する。
【００５０】
ここで、最適パッチ一覧データ１１６のデータ構造を、図７を参照して説明する。図７は、最適パッチ一覧データのデータ構造の一例を示す図である。図７に示すように、最適パッチ一覧データ１１６は、ＯＳ１１６ｂ、用途１１６ｃ、ＭＷ１１６ｄ、適用済パッチ１１６ｅ、最適パッチ１１６ｆおよび適用解除パッチ１１６ｇをテンプレート１１６ａに対応付けて記憶する。テンプレート１１６ａ、ＯＳ１１６ｂ、ＭＷ１１６ｄ、適用済パッチ１１６ｅは、テンプレート管理ＤＢ１１３の、テンプレート１１３ａ、ＯＳ１１３ｂ、インストールＭＷ１１３ｄおよび適用済パッチ１１３ｇに対応する。用途１１６ｃは、サーバ情報管理ＤＢ１１４の、用途１１４ｄに対応する。最適パッチ１１６ｆは、パッチ抽出部１２３によって抽出された適用対象パッチのうち適用済パッチ以外のパッチを示す。適用解除パッチ１１６ｇは、パッチ抽出部１２３によって抽出された適用解除パッチを示す。なお、テンプレート１１６ａ、ＯＳ１１６ｂ、ＭＷ１１６ｄ、適用済パッチ１１６ｅには、テンプレート管理ＤＢ１１３に記憶された、配備する仮想サーバ２に対応するテンプレート１１３ａ、ＯＳ１１３ｂ、インストールＭＷ１１３ｄおよび適用済パッチ１１３ｇが格納される。すなわち、用途１１６ｃには、サーバ情報管理ＤＢ１１４に記憶された、配備する仮想サーバ２に対応する用途１１４ｄが格納される。
【００５１】
一例として、テンプレート１１６ａが「テンプレート１」である場合、ＯＳ１１６ｂとして「ＸＸＸＸ２００８」、用途１１６ｃとして「ＡＰ」、ＭＷ１１６ｄとして「ＸＹＺ  Ｖ１０」と記憶している。また、適用済パッチ１１６ｅとして「パッチＡ  パッチＣ」、最適パッチ１１６ｆとして「パッチＢ  パッチＥ  パッチＧ」、適用解除パッチ１１６ｇとして「パッチＣ」と記憶している。
【００５２】
図１に戻って、パッチ適用部１２４は、配備した仮想サーバ２に最適なパッチを適用する。パッチ適用部１２４は、配備した仮想サーバ２に適用されたパッチのうち、適用解除するパッチを削除する。例えば、パッチ適用部１２４は、最適パッチ一覧データ１１６を参照し、仮想サーバ配備部１２２によって配備された仮想サーバ２に対して、エージェント部２４を通じて最適パッチ１１６ｆを適用する。また、パッチ適用部１２４は、最適パッチ一覧データ１１６を参照し、仮想サーバ配備部１２２によって配備された仮想サーバ２に対して、エージェント部２４を通じて適用解除パッチ１１６ｇを削除する。
【００５３】
［パッチ抽出処理の具体例］
図８は、実施例に係るパッチ抽出処理の具体例を示す図である。図８では、仮想サーバ（４）にテンプレート１の仮想イメージを配備する。図８に示すように、テンプレート１の仮想イメージには、ＯＳ、ＭＷａ，ｂがインストールされ、パッチＡ，Ｂ，Ｃが適用されている。そして、テンプレート管理ＤＢ１１３は、仮想イメージのテンプレート１を管理している。
【００５４】
このような状況の下、サーバ情報収集部１２１は、サーバ情報管理ＤＢ１１３で管理している全ての仮想サーバ２に対して、定期的に、各種情報を収集する。ここでは、サーバ情報収集部１２１は、仮想サーバ（１），（２）に対して、ＭＷ情報としてサービスまたはプロセスのログサイズ、およびパッチの適用状況を収集している。
【００５５】
サーバ情報収集部１２１は、収集した各種情報をサーバ情報管理ＤＢ１１４に格納する。ここでは、仮想サーバ（１）について、ＭＷａに対応するＭＷ情報として、ＭＷａを起動するサービスのログサイズ１１４ｋ０を１００と記憶している。ＭＷｂに対応するＭＷ情報として、ＭＷｂを起動するサービスのログサイズ１１４ｋ０を１２０と記憶している。ＭＷｃに対応するＭＷ情報として、ＭＷｃを起動するサービスのログサイズ１１４ｋ０を１１０と記憶している。適用済みパッチ１１４ｍとして「Ａ  Ｂ  Ｄ  Ｅ」を記憶している。仮想サーバ（２）について、ＭＷａに対応するＭＷ情報として、ＭＷａを起動するサービスのログサイズ１１４ｋ０を１００と記憶している。適用済みパッチ１１４ｍとして「Ａ  Ｂ  Ｃ  Ｅ」を記憶している。
【００５６】
そして、サーバ情報収集部１２１は、仮想サーバ２に対応する、今回収集したＭＷを起動するサービスのログサイズと前回収集した同一のＭＷを起動するサービスのログサイズとを比較し、当該ＭＷの稼働／未稼働を判定する。そして、サーバ情報収集部１２１は、仮想サーバ２毎、ＭＷ毎の判定結果を、サーバ情報管理ＤＢ１１４に格納する。ここでは、仮想サーバ（１）に対応するＭＷａの前回と今回のログサイズが同じ値であるので、ＭＷａは、未稼働であると判定され、「×」が記憶される。仮想サーバ（１）に対応するＭＷｂの前回と今回のログサイズが異なる値であるので、ＭＷｂは、稼働していると判定され、「○」が記憶される。同様に、仮想サーバ（１）に対応するＭＷｃは、稼働していると判定され、「○」が記憶される。仮想サーバ（２）に対応するＭＷａは、稼働していると判定され、「○」が記憶される。
【００５７】
そして、サーバ情報収集部１２１は、仮想サーバ２に対応する仮想イメージのＭＷの構成と今回収集したＭＷの構成とを比較し、配備後に追加または削除されたＭＷを判定する。ここでは、仮想サーバ（１）では、配備時に「テンプレート１」が用いられている。したがって、サーバ情報収集部１２１は、テンプレート管理ＤＢ１１３のテンプレート１に対応するＭＷの構成（ＭＷａ、ＭＷｂ）と今回のサーバ情報管理ＤＢ１１４の仮想サーバ（１）に対応するＭＷの構成（ＭＷａ，ＭＷｂ，ＭＷｃ）とを比較する。そして、サーバ情報収集部１２１は、配備後にＭＷｃが追加されたと判定する。同様に、サーバ情報収集部１２１は、仮想サーバ（２）について、配備後にＭＷｂが削除されたと判定する。
【００５８】
そして、サーバ情報収集部１２１は、一例として、仮想サーバ２に対応する仮想イメージに適用されたパッチの情報と今回収集したパッチの情報とを比較し、配備後に追加または削除されたパッチを判定する。そして、サーバ情報収集部１２１は、仮想サーバ２毎、の判定結果を、サーバ情報管理ＤＢ１１４に格納する。ここでは、仮想サーバ（１）では、前回収集したパッチの情報が「Ａ  Ｂ  Ｃ  Ｄ  Ｅ」、今回収集したパッチの情報が「Ａ  Ｂ  Ｄ  Ｅ」である。したがって、サーバ情報収集部１２１は、削除されたパッチを「Ｃ」と判定し、削除パッチ１１４ｎに「Ｃ」を格納する。
【００５９】
そして、仮想サーバ配備部１２２は、仮想イメージを用いて、仮想サーバ（４）に配備を実行する。ここでは、仮想サーバ（４）にＯＳ、ＭＷａ，ｂが配備され、パッチＡ，Ｂ，Ｃが適用される。
【００６０】
そして、パッチ抽出部１２３は、テンプレート管理ＤＢ１１３を参照し、配備される仮想サーバ（４）のテンプレートの識別名、ＯＳ、用途、ＭＷの構成を取得する。パッチ抽出部１２３は、サーバ情報管理ＤＢ１１４を参照し、配備される仮想サーバ（４）と、テンプレートの識別名、ＯＳ、用途、ＭＷの構成が同一の他の仮想サーバ２を選択する。ここでは、配備される仮想サーバ（４）のＭＷの構成は、「ＭＷａ  ＭＷｂ」である。一方、仮想サーバ（１）のＭＷの構成が「ＭＷａ  ＭＷｂ  ＭＷｃ」、仮想サーバ（２）のＭＷの構成が「ＭＷａ」である。したがって、パッチ抽出部１２３は、配備される仮想サーバ（４）とテンプレートの識別名、ＯＳ、用途、ＭＷの構成が同一の他の仮想サーバ２を選択することができない。
【００６１】
そこで、パッチ抽出部１２３は、配備される仮想サーバ（４）と類似構成の他の仮想サーバ２を選択する。例えば、パッチ抽出部１２３は、サーバ情報管理ＤＢ１１４を参照し、配備される仮想サーバ（４）と、ＯＳおよび用途が同一であり、いずれかのＭＷが同一である他の仮想サーバ２を選択する。ここでは、仮想サーバ（１）と仮想サーバ（２）とが選択される。
【００６２】
そして、パッチ抽出部１２３は、選択された他の仮想サーバ２が複数あるので、複数の他の仮想サーバ２でそれぞれ適用されたパッチのうち共通に適用されているパッチを選択する。ここでは、仮想サーバ（１）で適用されたパッチが「Ａ  Ｂ  Ｄ  Ｅ」であり、仮想サーバ（２）で適用されたパッチが「Ａ  Ｂ  Ｃ  Ｅ」であるので、共通に適用されているパッチとして「Ａ  Ｂ  Ｅ」が選択される。
【００６３】
そして、パッチ抽出部１２３は、選択されたパッチのうち、仮想イメージにあらかじめ適用されているパッチを除外する。ここでは、テンプレート１の仮想イメージに「Ａ  Ｂ  Ｃ」が適用されているので、「Ａ  Ｂ  Ｅ」のうち「Ａ  Ｂ」が除外される。したがって、パッチ「Ｅ」が選択される。
【００６４】
そして、パッチ抽出部１２３は、選択されたパッチのうち、パッチの種別が「重要」であり、他の仮想サーバ２で削除されたことがなく、且つ最新であるが公開されたばかりでないパッチを適用対象パッチとして抽出する。ここでは、選択されたパッチ「Ｅ」が、適用対象パッチとして抽出されるとする。
【００６５】
そして、パッチ抽出部１２３は、仮想イメージにあらかじめ適用されているパッチの中で、他の仮想サーバ２の運用中に削除されたパッチがあれば、そのパッチを適用解除パッチとする。ここでは、サーバ情報管理ＤＢ１１４の削除パッチ１１４ｎにパッチ「Ｃ」が記憶されているので、パッチ抽出部１２３は、パッチ「Ｃ」を適用解除パッチとする。
【００６６】
この結果、パッチ抽出部１２３は、最適パッチとして「Ｅ」を抽出し、適用解除パッチとして「Ｃ」を抽出する。その後、パッチ適用部１２４は、最適パッチとして抽出された「Ｅ」を仮想サーバ（４）に適用し、適用解除パッチとして抽出された「Ｃ」を仮想サーバ（４）から削除することになる。
【００６７】
［サーバ情報収集処理のフローチャート］
次に、図９を参照して、サーバ情報収集処理の全体の手順を説明する。図９は、実施例に係るサーバ情報収集処理の全体の手順を示すフローチャートである。
【００６８】
まず、サーバ情報収集部１２１は、サーバ情報の収集要求があったか否かを判定する（ステップＳ１１）。サーバ情報の収集要求がなかったと判定した場合（ステップＳ１１；Ｎｏ）、サーバ情報収集部１２１は、サーバ情報の収集要求があるまで、判定処理を繰り返す。
【００６９】
一方、サーバ情報の収集要求があったと判定した場合（ステップＳ１１；Ｙｅｓ）、サーバ情報収集部１２１は、サーバ情報収集処理を実行する（ステップＳ１２）。例えば、サーバ情報収集部１２１は、サーバ情報管理ＤＢ１１４に記憶されている全ての仮想サーバ２に対して、サーバ情報の収集指示を行い、仮想サーバ２からサーバ情報を収集する。その後、サーバ情報収集部１２１は、処理を終了する。
【００７０】
次に、図１０を参照して、サーバ情報収集処理の手順を説明する。図１０は、実施例に係るサーバ情報収集処理の手順を示すフローチャートである。なお、サーバ情報収集部１２１は、仮想サーバ２へのサーバ情報の収集指示に対する応答を受け取ったものとする。
【００７１】
サーバ情報の収集指示に対する応答を仮想サーバ２から受け取ったサーバ情報収集部１２１は、サーバ情報管理ＤＢ１１４に記憶されている全ての仮想サーバ２のうち、仮想サーバ２を１つ選択する（ステップＳ２１）。
【００７２】
そして、サーバ情報収集部１２１は、選択した仮想サーバ２の稼働状況をチェックする（ステップＳ２２）。例えば、サーバ情報収集部１２１は、選択した仮想サーバ２から応答を受け取っているか否かを判定する。そして、サーバ情報収集部１２１は、選択した仮想サーバ２から応答を受け取ったと判定した場合、稼働していると判定する。一方、サーバ情報収集部１２１は、選択した仮想サーバ２から応答を受け取っていないと判定した場合、稼働していないと判定する。
【００７３】
そして、サーバ情報収集部１２１は、稼働しているか否かを判定する（ステップＳ２３）。稼働していないと判定した場合（ステップＳ２３；Ｎｏ）、サーバ情報収集部１２１は、稼働していないことをサーバ情報管理ＤＢ１１４に記憶すべく、ステップＳ２７に移行する。一方、稼働していると判定した場合（ステップＳ２３；Ｙｅｓ）、サーバ情報収集部１２１は、ミドルウェア稼働状況取得処理を実行する（ステップＳ２４）。
【００７４】
続いて、サーバ情報収集部１２１は、適用されたパッチの情報を取得する（ステップＳ２５）。そして、サーバ情報収集部１２１は、パッチの差分を確認する（ステップＳ２６）。例えば、サーバ情報収集部１２１は、選択した仮想サーバ２に対応する仮想イメージ（テンプレート）に適用されたパッチの情報と今回取得されたパッチの情報とを比較し、配備後に追加または削除されたパッチを判定する。加えて、サーバ情報収集部１２１は、前回取得されたパッチの情報と今回取得されたパッチの情報とを比較し、前回取得後に追加または削除されたパッチを判定する。
【００７５】
そして、サーバ情報収集部１２１は、収集した各種情報をサーバ情報管理ＤＢ１１４に登録する（ステップＳ２７）。例えば、仮想サーバ２が稼働していない場合、サーバ情報収集部１２１は、稼働していないことをサーバ情報管理ＤＢ１１４に設定する。また、仮想サーバ２が稼働している場合、サーバ情報収集部１２１は、仮想サーバ２の稼働状況をサーバ情報管理ＤＢ１１４に設定する。サーバ情報収集部１２１は、ＭＷの稼働状況をサーバ情報管理ＤＢ１１４に設定する。サーバ情報収集部１２１は、パッチの適用状況をサーバ情報管理ＤＢ１１４に設定する。
【００７６】
そして、サーバ情報収集部１２１は、全ての仮想サーバ２を選択したか否かを判定する（ステップＳ２８）。全ての仮想サーバ２を選択したと判定した場合（ステップＳ２８；Ｙｅｓ）、サーバ情報収集部１２１は、処理を終了する。一方、全ての仮想サーバ２を選択していないと判定した場合（ステップＳ２８；Ｎｏ）、サーバ情報収集部１２１は、次の仮想サーバ２を選択し（ステップＳ２９）、ステップＳ２２に移行する。
【００７７】
［ミドルウェア稼働状況取得処理の手順］
次に、図１１を参照して、ミドルウェア（ＭＷ）稼働状況取得処理の手順を説明する。図１１は、ミドルウェア稼働状況取得処理の手順を示すフローチャートである。
【００７８】
サーバ情報収集部１２１は、選択した仮想サーバ２からＭＷのインストール情報を取得する（ステップＳ３１）。例えば、サーバ情報収集部１２１は、選択した仮想サーバ２からＭＷのインストール状況、インストール先を取得する。ＭＷのインストール状況、インストール先は、エージェント部２４によってＯＳ毎に異なる領域（レジストリ／パッケージ情報）から収集される。なお、サーバ情報収集部１２１は、ＭＷのインストール情報を定期的に収集する際には、ここでＭＷのインストール情報を取得しないようにしても良い。
【００７９】
そして、サーバ情報収集部１２１は、ＭＷを起動するサービスまたはプロセスのログ情報を取得する（ステップＳ３２）。これは、ＭＷの稼働状況を得るためである。そして、サーバ情報収集部１２１は、仮想サーバ２に対応するテンプレートのＭＷ情報と、今回収集したＭＷ情報とを比較し、配備後のＭＷの追加または削除を判断する（ステップＳ３３）。ここでいうＭＷ情報とは、テンプレート管理ＤＢ１１３に記憶された、仮想サーバ２に対応するテンプレートのＭＷ情報１１３ｃおよびサーバ情報管理ＤＢ１１４に記憶された、仮想サーバ２に対応するＭＷ毎のＭＷ情報を意味する。
【００８０】
続いて、サーバ情報収集部１２１は、今回収集したＭＷ情報を１つ選択する（ステップＳ３４）。そして、サーバ情報収集部１２１は、選択したＭＷ情報について、今回収集時のログ情報と前回収集したログ情報とを比較し、ＭＷの稼働状況を判断する（ステップＳ３５）。例えば、サーバ情報収集部１２１は、選択したＭＷ情報に対応するＭＷについて、今回収集時のログのサイズと前回収集したログのサイズとが異なる場合、当該ＭＷが稼働していると判断する。一方、サーバ情報収集部１２１は、選択したＭＷ情報に対応するＭＷについて、今回収集時のログのサイズと前回収集したログのサイズとが同じである場合、当該ＭＷが稼働していないと判断する。
【００８１】
そして、サーバ情報収集部１２１は、今回収集したＭＷ情報を全て選択したか否かを判定する（ステップＳ３６）。今回収集したＭＷ情報を全て選択したと判定した場合（ステップＳ３６；Ｙｅｓ）、サーバ情報収集部１２１は、処理を終了する。一方、今回収集したＭＷ情報を全て選択していないと判定した場合（ステップＳ３６；Ｎｏ）、サーバ情報収集部１２１は、次のＭＷ情報を選択し（ステップＳ３７）、ステップＳ３５に移行する。
【００８２】
［仮想サーバ配備処理の全体の手順］
次に、図１２を参照して、仮想サーバ配備処理の全体の手順を説明する。図１２は、実施例に係る仮想サーバ配備処理の全体の手順を示すフローチャートである。
【００８３】
まず、仮想サーバ配備部１２２は、利用者によって仮想イメージ（テンプレート）が選択されると、選択された仮想イメージを用いて仮想サーバ２を配備する（ステップＳ４１）。そして、パッチ抽出部１２３は、配備した仮想サーバ２に関し、パッチ抽出処理を実行する（ステップＳ４２）。その後、パッチ適用部１２４は、抽出されたパッチを配備した仮想サーバ２に適用すべく、パッチ適用処理を実行する（ステップＳ４３）。
【００８４】
［パッチ抽出処理の手順］
次に、図１３を参照して、パッチ抽出処理の手順を説明する。図１３は、パッチ抽出処理の手順示すフローチャートである。
【００８５】
まず、パッチ抽出部１２３は、配備した仮想サーバ２と同一構成の仮想サーバ２を対象に、パッチ抽出処理を実行する（ステップＳ５１）。次に、パッチ抽出部１２３は、配備した仮想サーバ２と同一構成の仮想サーバ２がない場合、配備した仮想サーバ２と類似構成の仮想サーバ２を対象に、パッチ抽出処理を実行する（ステップＳ５２）。そして、パッチ抽出部１２３は、パッチ抽出処理によって抽出されたパッチから削除する削除パッチを抽出する（ステップＳ５３）。
【００８６】
［同一構成サーバのパッチ抽出処理の手順］
次に、図１４を参照して、同一構成サーバのパッチ抽出処理の手順を説明する。図１４は、同一構成サーバのパッチ抽出処理の手順を示すフローチャートである。
【００８７】
まず、パッチ抽出部１２３は、配備した仮想サーバ２の配備時のテンプレート、用途、ＭＷの情報を取得する（ステップＳ６１）。そして、パッチ抽出部１２３は、サーバ情報管理ＤＢ１１４を参照し、取得したテンプレート、ＯＳ、用途、使用するＭＷが同じ仮想サーバ２を選択する（ステップＳ６２）。そして、パッチ抽出部１２３は、選択した仮想サーバ２をサーバ一覧データ１１５に格納する。
【００８８】
そして、パッチ抽出部１２３は、選択した仮想サーバ２のうち過去ｎヶ月稼働実績がない仮想サーバ２を除外する（ステップＳ６３）。例えば、パッチ抽出部１２３は、サーバ情報管理ＤＢ１１４の稼働実績１１４ｅの最終確認日を参照し、サーバ一覧データ１１５に記憶された仮想サーバ２のうち過去ｎヶ月稼働実績がない仮想サーバ２を削除する。
【００８９】
さらに、パッチ抽出部１２３は、選択した仮想サーバ２のうち過去ｎヶ月パッチ適用実績がない仮想サーバ２を除外する（ステップＳ６４）。例えば、パッチ抽出部１２３は、サーバ情報管理ＤＢ１１４の最終パッチ適用日１１４ｌを参照し、サーバ一覧データ１１５に記憶された仮想サーバ２のうち過去ｎヶ月パッチ適用実績がない仮想サーバ２を削除する。
【００９０】
そして、パッチ抽出部１２３は、サーバ一覧データ１１５を参照し、仮想サーバ２を選択できたか否かを判定する（ステップＳ６５）。仮想サーバ２を選択できなかったと判定した場合（ステップＳ６５；Ｎｏ）、パッチ抽出部１２３は、処理を終了する。
【００９１】
一方、仮想サーバ２を選択できたと判定した場合（ステップＳ６５；Ｙｅｓ）、パッチ抽出部１２３は、サーバ情報管理ＤＢ１１４を参照し、選択した各仮想サーバ２に適用済のパッチの論理積を抽出する（ステップＳ６６）。すなわち、パッチ抽出部１２３は、仮想サーバ２が複数選択された場合、選択された複数の仮想サーバ２でそれぞれ適用されたパッチのうち共通に適用されているパッチを抽出する。
【００９２】
そして、パッチ抽出部１２３は、抽出したパッチの一覧から、配備した仮想サーバ２の配備時のテンプレートに適用済のパッチを除外し、最適パッチ一覧データ１１６に追加する（ステップＳ６７）。さらに、パッチ抽出部１２３は、サーバ情報管理ＤＢ１１４を参照し、選択した各仮想サーバ２に適用済のパッチの論理和を抽出する（ステップＳ６８）。すなわち、パッチ抽出部１２３は、複数の仮想サーバ２のいずれかで適用されたパッチを抽出する。そして、パッチ抽出部１２３は、論理和で抽出したパッチ一覧から、論理積で抽出したパッチを除外する（ステップＳ６９）。
【００９３】
続いて、パッチ抽出部１２３は、論理和で抽出したパッチ一覧から、パッチを１つ選択する（ステップＳ７０）。そして、パッチ抽出部１２３は、パッチ管理ＤＢ１１１を参照し、選択したパッチの種別が「重要」であるか否かを判定する（ステップＳ７１）。選択したパッチの種別が「重要」でないと判定した場合（ステップＳ７１；Ｎｏ）、パッチ抽出部１２３は、次の抽出パッチを選択すべく、ステップＳ７６に移行する。
【００９４】
一方、選択したパッチの種別が「重要」であると判定した場合（ステップＳ７１；Ｙｅｓ）、パッチ抽出部１２３は、選択したパッチが削除されたことがあるか否かを判定する（ステップＳ７２）。これは、選択したパッチが削除されたことがあれば、選択したパッチを適用することで業務の運用に影響するおそれがあるので、このパッチの適用を排除するためである。例えば、パッチ抽出部１２３は、サーバ情報管理ＤＢ１１４の削除パッチ１１４ｎを参照し、選択したパッチが削除パッチに含まれているか否かを判定する。
【００９５】
選択したパッチが削除されたことがあると判定した場合（ステップＳ７２；Ｙｅｓ）、パッチ抽出部１２３は、次の抽出パッチを選択すべく、ステップＳ７６に移行する。
【００９６】
一方、選択したパッチが削除されたことがないと判定した場合（ステップＳ７２；Ｎｏ）、パッチ抽出部１２３は、選択したパッチを適用している仮想サーバ２の稼働率がｘ％以下であるか否かを判定する（ステップＳ７３）。これは、選択したパッチを適用している仮想サーバ２の稼働率がｘ％以下であれば、選択したパッチを適用することで業務の稼働に影響するおそれがあるので、このパッチの適用を排除するためである。例えば、パッチ抽出部１２３は、サーバ情報管理ＤＢ１１４の稼働率１１４ｆを参照し、選択したパッチを適用している仮想サーバ２の稼働率がｘ％以下であるか否かを判定する。
【００９７】
選択したパッチを適用している仮想サーバ２の稼働率がｘ％以下であると判定した場合（ステップＳ７３；Ｙｅｓ）、パッチ抽出部１２３は、次の抽出パッチを選択すべく、ステップＳ７６に移行する。
【００９８】
一方、選択したパッチを適用している仮想サーバ２の稼働率がｘ％以下であると判定した場合（ステップＳ７３；Ｎｏ）、パッチ抽出部１２３は、選択したパッチの最新の公開日がｎ月未満であるか否かを判定する（ステップＳ７４）。これは、選択したパッチの最新の公開日がｎ月未満であれば、選択したパッチを適用することで業務の運用に影響するおそれがあるので、このパッチの適用を排除するためである。例えば、パッチ抽出部１２３は、パッチ管理ＤＢ１１１の公開日１１１ｅを参照し、選択したパッチの公開日がｎ月未満である否かを判定する。
【００９９】
選択したパッチの最新の公開日がｎ月未満であると判定した場合（ステップＳ７４；Ｙｅｓ）、パッチ抽出部１２３は、次の抽出パッチを選択すべく、ステップＳ７６に移行する。一方、選択したパッチの最新の公開日がｎ月未満でないと判定した場合（ステップＳ７４；Ｎｏ）、パッチ抽出部１２３は、選択したパッチを最適パッチ一覧データ１１６に追加する（ステップＳ７５）。
【０１００】
そして、パッチ抽出部１２３は、論理和で抽出したパッチ一覧のパッチを全て選択したか否かを判定する（ステップＳ７６）。全て選択したと判定した場合（ステップＳ７６；Ｙｅｓ）、パッチ抽出部１２３は、処理を終了する。一方、全て選択していないと判定した場合（ステップＳ７６；Ｎｏ）、パッチ抽出部１２３は、パッチ一覧から次のパッチを選択し（ステップＳ７７）、ステップＳ７１に移行する。
【０１０１】
［類似構成サーバのパッチ抽出処理の手順］
次に、図１５を参照して、類似構成サーバのパッチ抽出処理の手順を説明する。図１５は、類似構成サーバのパッチ抽出処理の手順を示すフローチャートである。
【０１０２】
まず、パッチ抽出部１２３は、配備した仮想サーバ２の配備時のテンプレート、用途、ＭＷの情報を取得する（ステップＳ８１）。そして、パッチ抽出部１２３は、テンプレートから、配備されたＭＷを１つ選択する（ステップＳ８２）。そして、パッチ抽出部１２３は、サーバ情報管理ＤＢ１１４を参照し、取得したＯＳおよび用途が同一の仮想サーバ２であって、選択したＭＷが稼働している仮想サーバ２を選択する（ステップＳ８３）。そして、パッチ抽出部１２３は、選択した仮想サーバ２をサーバ一覧データ１１５に格納する。
【０１０３】
そして、パッチ抽出部１２３は、選択した仮想サーバ２のうち過去ｎヶ月稼働実績がない仮想サーバ２を除外する（ステップＳ８４）。例えば、パッチ抽出部１２３は、サーバ情報管理ＤＢ１１４の稼働実績１１４ｅの最終確認日を参照し、サーバ一覧データ１１５に記憶された仮想サーバ２のうち過去ｎヶ月稼働実績がない仮想サーバ２を削除する。
【０１０４】
さらに、パッチ抽出部１２３は、選択した仮想サーバ２のうち過去ｎヶ月パッチ適用実績がない仮想サーバ２を除外する（ステップＳ８５）。例えば、パッチ抽出部１２３は、サーバ情報管理ＤＢ１１４の最終パッチ適用日１１４ｌを参照し、サーバ一覧データ１１５に記憶された仮想サーバ２のうち過去ｎヶ月パッチ適用実績がない仮想サーバ２を削除する。
【０１０５】
そして、パッチ抽出部１２３は、サーバ情報管理ＤＢ１１４を参照し、選択した各仮想サーバ２に適用済のパッチの論理積を抽出する（ステップＳ８６）。すなわち、パッチ抽出部１２３は、仮想サーバ２が複数選択された場合、選択された複数の仮想サーバ２でそれぞれ適用されたパッチのうち共通に適用されているパッチを抽出する。
【０１０６】
そして、パッチ抽出部１２３は、抽出したパッチの一覧から、配備した仮想サーバ２の配備時のテンプレートに適用済のパッチを除外する（ステップＳ８７）。そして、パッチ抽出部１２３は、テンプレートから、配備されたＭＷを全て選択したか否かを判定する（ステップＳ８８）。配備されたＭＷを全て選択していないと判定した場合（ステップＳ８８；Ｎｏ）、パッチ抽出部１２３は、次のＭＷをテンプレートから選択し（ステップＳ８９）、ステップＳ８３に移行する。
【０１０７】
一方、配備されたＭＷを全て選択したと判定した場合（ステップＳ８８；Ｙｅｓ）、パッチ抽出部１２３は、抽出したパッチの一覧から、パッチを１つ選択する（ステップＳ９０）。そして、パッチ抽出部１２３は、パッチ管理ＤＢ１１１を参照し、選択したパッチの種別が「重要」であるか否かを判定する（ステップＳ９１）。選択したパッチの種別が「重要」でないと判定した場合（ステップＳ９１；Ｎｏ）、パッチ抽出部１２３は、次の抽出パッチを選択すべく、ステップＳ９５に移行する。
【０１０８】
一方、選択したパッチの種別が「重要」であると判定した場合（ステップＳ９１；Ｙｅｓ）、パッチ抽出部１２３は、選択したパッチが削除されたことがあるか否かを判定する（ステップＳ９２）。これは、選択したパッチが削除されたことがあれば、選択したパッチを適用することで業務の運用に影響するおそれがあるので、このパッチの適用を排除するためである。例えば、パッチ抽出部１２３は、サーバ情報管理ＤＢ１１４の削除パッチ１１４ｎを参照し、選択したパッチが削除パッチに含まれているか否かを判定する。
【０１０９】
選択したパッチが削除されたことがあると判定した場合（ステップＳ９２；Ｙｅｓ）、パッチ抽出部１２３は、次の抽出パッチを選択すべく、ステップＳ９５に移行する。
【０１１０】
一方、選択したパッチが削除されたことがないと判定した場合（ステップＳ９２；Ｎｏ）、パッチ抽出部１２３は、選択したパッチの最新の公開日がｎ月未満であるか否かを判定する（ステップＳ９３）。これは、選択したパッチの最新の公開日がｎ月未満であれば、選択したパッチを適用することで業務の運用に影響するおそれがあるので、このパッチの適用を排除するためである。例えば、パッチ抽出部１２３は、パッチ管理ＤＢ１１１の公開日１１１ｅを参照し、選択したパッチの公開日がｎ月未満である否かを判定する。
【０１１１】
選択したパッチの最新の公開日がｎ月未満であると判定した場合（ステップＳ９３；Ｙｅｓ）、パッチ抽出部１２３は、次の抽出パッチを選択すべく、ステップＳ９５に移行する。一方、選択したパッチの最新の公開日がｎ月未満でないと判定した場合（ステップＳ９３；Ｎｏ）、パッチ抽出部１２３は、選択したパッチを最適パッチ一覧データ１１６に追加する（ステップＳ９４）。
【０１１２】
そして、パッチ抽出部１２３は、抽出したパッチの一覧のパッチを全て選択したか否かを判定する（ステップＳ９５）。全て選択したと判定した場合（ステップＳ９５；Ｙｅｓ）、パッチ抽出部１２３は、処理を終了する。一方、全て選択していないと判定した場合（ステップＳ９５；Ｎｏ）、パッチ抽出部１２３は、抽出したパッチの一覧から次のパッチを選択し（ステップＳ９６）、ステップＳ９１に移行する。
【０１１３】
［削除パッチ抽出処理の手順］
次に、図１６を参照して、削除パッチ抽出処理の手順を説明する。図１６は、削除パッチ抽出処理の手順を示すフローチャートである。
【０１１４】
パッチ抽出部１２３は、サーバ情報管理ＤＢ１１４を参照し、選択した各仮想サーバ２から削除済のパッチの論理和を抽出する（ステップＳ１０１）。そして、パッチ抽出部１２３は、抽出したパッチの一覧から、パッチを１つ選択する（ステップＳ１０２）。そして、パッチ抽出部１２３は、選択したパッチが配備時のテンプレートの適用済パッチに存在するか否かを判定する（ステップＳ１０３）。例えば、パッチ抽出部１２３は、テンプレート管理ＤＢ１１３を参照し、選択したパッチが配備時のテンプレートの適用済パッチ１１３ｇに存在するか否かを判定する。
【０１１５】
選択したパッチが配備時のテンプレートの適用済パッチに存在しないと判定した場合（ステップＳ１０３；Ｎｏ）、パッチ抽出部１２３は、次の抽出パッチを選択すべく、ステップＳ１０５に移行する。一方、選択したパッチが配備時のテンプレートの適用済パッチに存在すると判定した場合（ステップＳ１０３；Ｙｅｓ）、パッチ抽出部１２３は、選択したパッチを削除パッチとして最適パッチ一覧データ１１６に登録する（ステップＳ１０４）。
【０１１６】
そして、パッチ抽出部１２３は、抽出したパッチの一覧のパッチを全て選択したか否かを判定する（ステップＳ１０５）。全て選択したと判定した場合（ステップＳ１０５；Ｙｅｓ）、パッチ抽出部１２３は、処理を終了する。一方、全て選択していないと判定した場合（ステップＳ１０５；Ｎｏ）、パッチ抽出部１２３は、抽出したパッチの一覧から次のパッチを選択し（ステップＳ１０６）、ステップＳ１０３に移行する。
【０１１７】
［実施例の効果］
上記実施例によれば、管理サーバ１は、仮想イメージより配備された仮想サーバ２の情報、および当該仮想サーバ２で動作するソフトウェアの情報を、仮想サーバ２毎に記憶するサーバ情報管理ＤＢ１１４を有する。そして、管理サーバ１は、サーバ情報管理ＤＢ１１４を参照し、所定の仮想イメージより配備される特定の仮想マシンの情報および特定の仮想マシンで動作するソフトウェアの情報に基づき他の仮想マシンを選択する。そして、管理サーバ１は、選択された他の仮想マシンに適用されたパッチの内容に基づき、特定の仮想マシンに適用するパッチを抽出する。かかる構成によれば、管理サーバ１は、特定の仮想マシンに適用するパッチの適用可否を判定することができ、最適なパッチを抽出することが可能となる。
【０１１８】
また、上記実施例によれば、サーバ情報管理ＤＢ１１４は、仮想サーバ２の情報として仮想サーバ２が用いられる用途および動作実績を含む情報を記憶し、当該仮想サーバで動作するソフトウェアの情報としてＯＳおよびミドルウェアを含む情報を記憶する。そして、管理サーバ１は、サーバ情報管理ＤＢ１１４を参照し、特定の仮想サーバ２と用途、ＯＳおよびミドルウェアの構成が同一である他の仮想マシンを選択する。そして、管理サーバ１は、選択された他の仮想サーバ２が複数ある場合、複数の他の仮想サーバ２でそれぞれ適用されたパッチのうち共通するパッチを特定の仮想サーバ２に適用するパッチとして抽出する。加えて、管理サーバ１は、複数の他の仮想サーバ２のいずれかで適用されたパッチを選択し、選択したパッチの内容に基づき、特定の仮想サーバ２に適用するパッチをさらに抽出する。かかる構成によれば、管理サーバ１は、特定の仮想サーバ２と用途、ＯＳおよびミドルウェアの構成が同一である他の仮想サーバ２を対象に、特定の仮想サーバ２に適用するパッチを抽出するので、特定の仮想サーバ２に最適なパッチを適用することが可能となる。また、管理サーバ１は、用途が同一の他の仮想サーバ２を対象に、特定の仮想サーバ２に適用するパッチを抽出するので、用途の差異を考慮してパッチの選定を行うことができる。
【０１１９】
また、上記実施例によれば、管理サーバ１は、特定の仮想サーバ２と用途、ＯＳおよびミドルウェアの構成が同一である他の仮想サーバ２を選択できない場合、以下の処理を行う。すなわち、管理サーバ１は、サーバ情報管理ＤＢ１１４を参照し、特定の仮想サーバ２と用途、ＯＳおよびいずれかのミドルウェアが同一である他の仮想サーバ２を選択する。そして、管理サーバ１は、特定の仮想サーバ２に配備されたミドルウェア毎に、ミドルウェアが同一である他の仮想サーバ２が複数ある場合、複数の他の仮想サーバ２でそれぞれ適用されたパッチのうち共通するパッチを選択する。そして、管理サーバ１は、選択したパッチの内容に基づき、特定の仮想サーバ２に適用するパッチを抽出する。かかる構成によれば、管理サーバ１は、特定の仮想サーバ２と用途、ＯＳおよび動作するミドルウェアの構成が同一でない他の仮想サーバ２であっても、特定の仮想サーバ２に配備されたミドルウェアと同一の他の仮想サーバ２を対象に、特定の仮想サーバ２に適用するパッチを抽出するので、特定の仮想サーバ２に最適なパッチを適用することが可能となる。
【０１２０】
また、上記実施例によれば、管理サーバ１は、選択したパッチの内容が、最も重要であり、いずれかの他の仮想サーバ２で削除されたことがなく、最新である場合に、当該パッチを特定の仮想サーバ２に適用するパッチとして抽出する。かかる構成によれば、管理サーバ１は、抽出したパッチを適用することで、業務における運用を円滑に行えることができる。
【０１２１】
また、上記実施例によれば、管理サーバ１は、さらに、選択したパッチが適用されている他の仮想サーバ２の稼働率が所定の割合を超えている場合に、当該パッチを特定の仮想サーバ２に適用するパッチとして抽出する。かかる構成によれば、管理サーバ１はパッチ適用によって稼働に影響を及ぼさないようなパッチを抽出することができる。
【０１２２】
［その他］
なお、エージェント部２４は、ＭＷを起動するサービスまたはプロセスのログ情報を収集すると説明した。これは、ＭＷの稼働状況をサーバ情報収集部１２１に判断させるためである。しかしながら、エージェント部２４は、これに限定されず、同じ目的のために、ＭＷを起動するサービスまたはプロセスが生成するファイルの構成情報を収集するようにしても良い。そして、サーバ情報収集部１２１では、今回収集したＭＷを起動するサービスまたはプロセスが生成するファイルの構成情報と、前回収集した同じＭＷを起動するサービスまたはプロセスが生成するファイルの構成情報とを比較し、当該ＭＷの稼働状況を判定すれば良い。すなわち、サーバ情報収集部１２１は、前回収集したＭＷに対応するファイルの構成情報と前回収集した同じＭＷに対応するファイルの構成情報とが異なれば、当該ＭＷが稼働していると判定する。一方、サーバ情報収集部１２１は、前回収集したＭＷに対応するファイルの構成情報と前回収集した同じＭＷに対応するファイルの構成情報とが異ならなければ、当該ＭＷが稼働していないと判定する。
【０１２３】
また、管理サーバ１は、既知のパーソナルコンピュータ、ワークステーションなどの情報処理装置に、上記したサーバ情報収集部１２１、仮想サーバ配備部１２２およびパッチ抽出部１２３などの各機能を搭載することによって実現することができる。
【０１２４】
また、図示した装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、パッチ抽出部１２３とパッチ適用部１２４とを１個の部として統合しても良い。一方、パッチ抽出部１２３を、同一構成の仮想サーバ２からパッチを抽出する第１のパッチ抽出部と類似構成の仮想サーバ２からパッチを抽出する第２のパッチ抽出部とを分散しても良い。また、パッチ管理ＤＢ１１１、メディアライブラリ１１２、テンプレート管理ＤＢ１１３およびサーバ情報管理ＤＢ１１４を管理サーバ１の外部装置としてネットワーク経由で接続するようにしても良い。
【０１２５】
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１に示した管理サーバ１と同様の機能を実現するパッチ抽出プログラムを実行するコンピュータの一例を説明する。図１７は、パッチ抽出プログラムを実行するコンピュータの一例を示す図である。
【０１２６】
図１７に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０３と、ユーザからのデータの入力を受け付ける入力装置２１５と、表示装置２０９を制御する表示制御部２０７とを有する。また、コンピュータ２００は、記憶媒体からプログラムなどを読取るドライブ装置２１３と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部２１７とを有する。また、コンピュータ２００は、各種情報を一時記憶するメモリ２０１と、ＨＤＤ２０５を有する。そして、メモリ２０１、ＣＰＵ２０３、ＨＤＤ２０５、表示制御部２０７、ドライブ装置２１３、入力装置２１５、通信制御部２１７は、バス２１９で接続されている。
【０１２７】
ドライブ装置２１３は、例えばリムーバブルディスク２１１用の装置である。ＨＤＤ２０５は、パッチ抽出プログラム２０５ａおよびパッチ抽出関連情報２０５ｂを記憶する。
【０１２８】
ＣＰＵ２０３は、パッチ抽出プログラム２０５ａを読み出して、メモリ２０１に展開し、プロセスとして実行する。かかるプロセスは、管理サーバ１の各機能部に対応する。パッチ抽出関連情報２０５ｂは、パッチ関連ＤＢ１１１、メディアライブラリ１１２、テンプレート管理ＤＢ１１３、サーバ情報管理ＤＢ１１４、サーバ一覧データ１１５および最適パッチ一覧データ１１６に対応する。そして、例えばリムーバブルディスク２１１が、パッチ抽出プログラム２０５ａなどの各情報を記憶する。
【０１２９】
なお、パッチ抽出プログラム２０５ａについては、必ずしも最初からＨＤＤ２０５に記憶させておかなくても良い。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ２００がこれらからパッチ抽出プログラム２０５ａを読み出して実行するようにしても良い。
【０１３０】
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
【０１３１】
（付記１）コンピュータに、
仮想イメージより生成された仮想マシンの情報、および当該仮想マシンで動作するソフトウェアの情報を記憶する記憶部を参照し、所定の仮想イメージより生成される特定の仮想マシンの情報および前記特定の仮想マシンで動作するソフトウェアの情報に基づき他の仮想マシンを選択し、
該選択する処理によって選択された他の仮想マシンに適用されたソフトウェア修正パッチの内容に基づき、前記特定の仮想マシンに適用するソフトウェア修正パッチを抽出する
処理を実行させることを特徴とするソフトウェア修正パッチ抽出プログラム。
【０１３２】
（付記２）前記記憶部は、仮想マシンの情報として仮想マシンが用いられる用途および動作実績を含む情報、当該仮想マシンで動作するソフトウェアの情報としてＯＳおよびミドルウェアを含む情報を記憶し、
該選択する処理は、前記記憶部を参照し、前記特定の仮想マシンと用途、ＯＳおよびミドルウェアの構成が同一である他の仮想マシンを選択し、
該抽出する処理は、該選択する処理によって選択された他の仮想マシンが複数ある場合、複数の他の仮想マシンでそれぞれ適用されたソフトウェア修正パッチのうち共通するソフトウェア修正パッチを前記特定の仮想マシンに適用するソフトウェア修正パッチとして抽出するとともに、複数の他の仮想マシンのいずれかで適用されたソフトウェア修正パッチを選択し、選択したソフトウェア修正パッチの内容に基づき、前記特定の仮想マシンに適用するソフトウェア修正パッチをさらに抽出する
処理を実行させることを特徴とする付記１に記載のソフトウェア修正パッチ抽出プログラム。
【０１３３】
（付記３）該選択する処理は、前記特定の仮想マシンと用途、ＯＳおよびミドルウェアの構成が同一である他の仮想マシンを選択できない場合、前記記憶部を参照し、前記特定の仮想マシンと用途、ＯＳおよびいずれかのミドルウェアが同一である他の仮想マシンを選択し、
該抽出する処理は、前記特定の仮想マシンで動作するミドルウェア毎に、ミドルウェアが同一である他の仮想マシンが複数ある場合、複数の他の仮想マシンでそれぞれ適用されたソフトウェア修正パッチのうち共通するソフトウェア修正パッチを選択し、選択したソフトウェア修正パッチの内容に基づき、前記特定の仮想マシンに適用するソフトウェア修正パッチを抽出する
処理を実行させることを特徴とする付記２に記載のソフトウェア修正パッチ抽出プログラム。
【０１３４】
（付記４）該抽出する処理は、選択したソフトウェア修正パッチの内容が、最も重要であり、いずれかの他の仮想マシンで削除されたことがなく、最も新しい場合に、当該ソフトウェア修正パッチを前記特定の仮想マシンに適用するソフトウェア修正パッチとして抽出する
処理を実行させることを特徴とする付記２または付記３に記載のソフトウェア修正パッチ抽出プログラム。
【０１３５】
（付記５）該抽出する処理は、さらに、当該ソフトウェア修正パッチが適用されている他の仮想マシンの稼働率が所定の割合を超えている場合に、当該ソフトウェア修正パッチを前記特定の仮想マシンに適用するソフトウェア修正パッチとして抽出する
処理を実行させることを特徴とする付記４に記載のソフトウェア修正パッチ抽出プログラム。
【０１３６】
（付記６）コンピュータが、
仮想イメージより生成された仮想マシンの情報、および当該仮想マシンで動作するソフトウェアの情報を記憶する記憶部を参照し、所定の仮想イメージより生成される特定の仮想マシンの情報および前記特定の仮想マシンで動作するソフトウェアの情報に基づき他の仮想マシンを選択し、
該選択する処理によって選択された他の仮想マシンに適用されたソフトウェア修正パッチの内容に基づき、前記特定の仮想マシンに適用するソフトウェア修正パッチを抽出する
各処理を実行することを特徴とするソフトウェア修正パッチ抽出方法。
【０１３７】
（付記７）仮想イメージより生成された仮想マシンの情報、および当該仮想マシンで動作するソフトウェアの情報を記憶する記憶部と、
前記記憶部に記憶された情報を参照し、所定の仮想イメージより生成される特定の仮想マシンの情報および前記特定の仮想マシンで動作するソフトウェアの情報に基づき他の仮想マシンを選択する選択部と、
前記選択部によって選択された他の仮想マシンに適用されたソフトウェア修正パッチの内容に基づき、前記特定の仮想マシンに適用するソフトウェア修正パッチを抽出する抽出部と、
を有することを特徴とする情報処理装置。
【符号の説明】
【０１３８】
１  管理サーバ
１１  記憶部
１１１  パッチ管理ＤＢ
１１２  メディアライブラリ
１１３  テンプレート管理ＤＢ
１１４  サーバ情報管理ＤＢ
１１５  サーバ一覧データ
１１６  最適パッチ一覧データ
１２  制御部
１２１  サーバ情報収集部
１２２  仮想サーバ配備部
１２３  パッチ抽出部
１２４  パッチ適用部
２  仮想サーバ
２１  ＯＳ
２２  ＭＷ
２３  パッチ
２４  エージェント部
３  ネットワーク
９  管理システム
【図１】
2015007842.tif 000003
【図２】
2015007842.tif 000004
【図３】
2015007842.tif 000005
【図４】
2015007842.tif 000006
【図５】
2015007842.tif 000007
【図６】
2015007842.tif 000008
【図７】
2015007842.tif 000009
【図８】
2015007842.tif 000010
【図９】
2015007842.tif 000011
【図１０】
2015007842.tif 000012
【図１１】
2015007842.tif 000013
【図１２】
2015007842.tif 000014
【図１３】
2015007842.tif 000015
【図１４】
2015007842.tif 000016
【図１５】
2015007842.tif 000017
【図１６】
2015007842.tif 000018
【図１７】
2015007842.tif 000019