(57)【特許請求の範囲】
【請求項１】
ネットワークを介してデータ通信することが可能に接続してある外部コンピュータ上で稼働する仮想サーバごとに構成情報及びシステムログを取得する構成情報＆システムログ取得部と、
取得した構成情報に基づいて特定された仮想サーバから取得して記憶してある既存のシステムログと、取得したシステムログとを比較して解析する解析部と、
該解析部での解析結果に基づいて、取得した構成情報と、同じ仮想サーバから取得して記憶してある他の構成情報との関連に関する関連情報を抽出する関連情報抽出部と、
抽出した関連情報に基づいて、取得した構成情報を識別する識別情報を生成する識別情報生成部と、
前記仮想サーバの構成情報を識別する識別情報に対応付けて、取得した構成情報及びシステムログを記憶する構成情報記憶部と
を備える装置。
【請求項２】
前記識別情報生成部は、抽出した関連情報に基づいて、取得した構成情報と、同じ仮想サーバから取得して記憶してある既存の構成情報とを順序付けた識別情報を生成するようにしてある請求項１に記載の装置。
【請求項３】
生成した識別情報を、前記構成情報記憶部に記憶してある既存の構成情報及び前記外部コンピュータ上の前記仮想サーバごとのシステムログに書き込むようにしてある請求項１又は２に記載の装置。
【請求項４】
前記構成情報記憶部は、前記構成情報の変動履歴を、階層構造を有するツリー構造として記憶する請求項１乃至３のいずれか一項に記載の装置。
【請求項５】
外部コンピュータとネットワークを介してデータ通信することが可能に接続してある装置で実行することが可能な方法であって、
前記装置は、
前記外部コンピュータ上で稼働する仮想サーバごとに構成情報及びシステムログを取得する工程と、
取得した構成情報に基づいて特定された仮想サーバから取得して記憶してある既存のシステムログと、取得したシステムログとを比較して解析する工程と、
解析結果に基づいて、取得した構成情報と、同じ仮想サーバから取得して記憶してある他の構成情報との関連に関する関連情報を抽出する工程と、
抽出した関連情報に基づいて、取得した構成情報を識別する識別情報を生成する工程と、
前記仮想サーバの構成情報を識別する識別情報に対応付けて、取得した構成情報及びシステムログを記憶する工程と
を含む方法。
【請求項６】
抽出した関連情報に基づいて、取得した構成情報と、同じ仮想サーバから取得して記憶してある既存の構成情報とを順序付けた識別情報を生成する請求項５に記載の方法。
【請求項７】
生成した識別情報を、記憶してある既存の構成情報及び前記外部コンピュータ上の前記仮想サーバごとのシステムログに書き込む請求項５又は６に記載の方法。
【請求項８】
前記構成情報の変動履歴を、階層構造を有するツリー構造として記憶する請求項５乃至７のいずれか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構成管理データベース（Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｍａｎａｇｅｍｅｎｔ  ＤａｔａＢａｓｅ：以下、ＣＭＤＢ）で管理されている仮想サーバの構成情報のうち、同一の仮想サーバに関する複数のスナップショットを区別して管理することが可能な方法、及び該方法を具現化する装置に関する。
【背景技術】
【０００２】
仮想化技術の発展により、一のコンピュータ上で複数のオペレーションシステム（以下、ＯＳ）を同時に稼働させることが可能なシステムが多々開発されている。同時に稼働しているそれぞれのＯＳを、いわゆる仮想サーバと呼んでいる。
【０００３】
仮想サーバの稼働状態を監視するためには、ホストＯＳ、ハイパーバイザー等の管理プログラムを別個に稼働させる必要がある。これらの管理プログラムでは、特定の時点の仮想サーバの状態をスナップショットデータ（以下、スナップショット）として記憶することができる。記憶したスナップショットを入れ替えて用いることにより、仮想サーバを特定の時点の状態へ容易に戻すことができる。
【０００４】
また、管理プログラムによっては、特定の時点での仮想サーバの構成情報をイメージファイルとして記憶する。記憶したイメージファイルを入れ替えて用いることにより、仮想サーバを所望の時点の状態まで容易に戻すことができる。構成情報は、いつでも取得することができ、イメージファイルとして時系列に記憶することができる。
【０００５】
例えば特許文献１では、仮想サーバをロールバックするためにスナップショット及び設定変更情報を記憶しておく仮想サーバのシステム障害回復方法が開示されている。また、特許文献２では、２つの物理計算機を含む仮想計算機システムが開示されており、一の物理計算機に障害が発生した場合、スナップショットとログデータに基づいて他の物理計算機上にて障害発生直前の状態を再現することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２８８８３６号公報
【特許文献２】特開２００９−０８６７０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、一の仮想サーバで複数のスナップショットを用途に応じて入れ替えて用いる場合、スナップショットが時系列に正しく記憶されているとは限らず、どのスナップショットがどの時点の構成情報であるのかを正しく把握することが困難になるという問題点があった。例えば必要なパッチプログラムが適用されているスナップショットと適用されていないスナップショットとが混在する場合、スナップショットが入れ替えられることによりセキュリティリスクが生じるおそれがある。また、スナップショットの入れ替えにより生じる構成情報の変更により他のアプリケーションに影響が出た場合であっても、どのスナップショットに入れ替えたことが原因であるのか特定することもできない。
【０００８】
さらに、ネットワーク網を介して接続されているコンピュータから構成情報を取得する場合、ＯＳを特定する情報が同一であるときには複数のスナップショットを区別することができない。つまり、構成情報として、１つの仮想サーバに対しては１つのスナップショットしか取得することができず、それぞれのスナップショットを区別することができないという問題点もあった。
【０００９】
本発明は斯かる事情に鑑みてなされたものであり、一の仮想サーバで複数のスナップショットを用途に応じて入れ替えて用いる場合であっても、スナップショットを区別して記憶することができる、構成管理データベースを用いた仮想サーバのスナップショットを管理する方法、及び該方法を具現化する装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために第１発明に係る装置は、ネットワークを介してデータ通信することが可能に接続してある外部コンピュータ上で稼働する仮想サーバごとに構成情報及びシステムログを取得する構成情報＆システムログ取得部と、取得した構成情報に基づいて特定された仮想サーバから取得して記憶してある既存のシステムログと、取得したシステムログとを比較して解析する解析部と、該解析部での解析結果に基づいて、取得した構成情報と、同じ仮想サーバから取得して記憶してある他の構成情報との関連に関する関連情報を抽出する関連情報抽出部と、抽出した関連情報に基づいて、取得した構成情報を識別する識別情報を生成する識別情報生成部と、前記仮想サーバの構成情報を識別する識別情報に対応付けて、取得した構成情報及びシステムログを記憶する構成情報記憶部とを備える。
【００１２】
また、第２発明に係る装置は、第１発明において、前記識別情報生成部は、抽出した関連情報に基づいて、取得した構成情報と、同じ仮想サーバから取得して記憶してある既存の構成情報とを順序付けた識別情報を生成するようにしてある。
【００１３】
また、第３発明に係る装置は、第１又は第２発明において、生成した識別情報を、前記構成情報記憶部に記憶してある既存の構成情報及び前記外部コンピュータ上の前記仮想サーバごとのシステムログに書き込むようにしてある。
【００１４】
また、第４発明に係る装置は、第１乃至第３発明のいずれか１つにおいて、前記構成情報記憶部は、前記構成情報の変動履歴を、階層構造を有するツリー構造として記憶する。
【００１５】
次に、上記目的を達成するために第５発明に係る方法は、外部コンピュータとネットワークを介してデータ通信することが可能に接続してある装置で実行することが可能な方法であって、前記装置は、前記外部コンピュータ上で稼働する仮想サーバごとに構成情報及びシステムログを取得する工程と、取得した構成情報に基づいて特定された仮想サーバから取得して記憶してある既存のシステムログと、取得したシステムログとを比較して解析する工程と、解析結果に基づいて、取得した構成情報と、同じ仮想サーバから取得して記憶してある他の構成情報との関連に関する関連情報を抽出する工程と、抽出した関連情報に基づいて、取得した構成情報を識別する識別情報を生成する工程と、前記仮想サーバの構成情報を識別する識別情報に対応付けて、取得した構成情報及びシステムログを記憶する工程とを含む。
【００１７】
また、第６発明に係る方法は、第５発明において、抽出した関連情報に基づいて、取得した構成情報と、同じ仮想サーバから取得して記憶してある既存の構成情報とを順序付けた識別情報を生成する。
【００１８】
また、第７発明に係る方法は、第５又は第６発明において、生成した識別情報を、記憶してある既存の構成情報及び前記外部コンピュータ上の前記仮想サーバごとのシステムログに書き込む。
【００１９】
また、第８発明に係る方法は、第５乃至第７発明のいずれか１つにおいて、前記構成情報の変動履歴を、階層構造を有するツリー構造として記憶する。
【発明の効果】
【００２０】
本発明によれば、一の仮想サーバに関する複数のスナップショットを確実に区別することができるので、一の仮想サーバで複数のスナップショットを用途に応じて入れ替えて用いる場合であっても、仮想サーバ上で稼働するソフトウェアのライフサイクル管理、ＯＳへ適用されているパッチプログラムの適用レベルの管理、ハードウェアの着脱の繰り返し等に伴う構成情報の変更を正しく把握することが可能となる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施の形態１に係る構成情報管理装置を、ＣＰＵを用いて構成した例を示すブロック図である。
【図２】本発明の実施の形態１に係る構成情報管理装置の機能ブロック図である。
【図３】本発明の実施の形態１に係る構成情報管理装置のＣＰＵの構成情報及びシステムログを取得して記憶する処理の手順を示すフローチャートである。
【図４】本発明の実施の形態１に係る構成情報管理装置の構成情報及びシステムログを取得して記憶する処理の概念を示す模式図である。
【図５】本発明の実施の形態１に係る構成情報管理装置に記憶してあるシステムログの例示図である。
【図６】本発明の実施の形態１に係る構成情報管理装置のスナップショットを表す構成要素ごとのスナップショットＩＤの例示図である。
【図７】本発明の実施の形態１に係る構成情報管理装置のスナップショットを表す構成要素の派生状態を示すツリー構造図である。
【図８】複数のスナップショットを入れ替えて用いる場合の、本発明の実施の形態１に係る構成情報管理装置の構成情報及びシステムログを取得して記憶する処理の概念を示す模式図である。
【図９】本発明の実施の形態２に係る構成情報管理装置のＣＰＵの構成情報及びシステムログを取得して記憶する処理の手順を示すフローチャートである。
【図１０】本発明の実施の形態２に係る構成情報管理装置の構成情報及びシステムログを取得して記憶する処理の概念を示す模式図である。
【図１１】本発明の実施の形態２に係る構成情報管理装置の仮想サーバから取得するシステムログの例示図である。
【図１２】複数のスナップショットを入れ替えて用いる場合の、本発明の実施の形態２に係る構成情報管理装置の構成情報及びシステムログを取得して記憶する処理の概念を示す模式図である。
【発明を実施するための形態】
【００２２】
以下、本発明の実施の形態に係る、仮想サーバのスナップショットごとの構成情報を管理する装置について、図面に基づいて具体的に説明する。以下の実施の形態は、特許請求の範囲に記載された発明を限定するものではなく、実施の形態の中で説明されている特徴的事項の組み合わせの全てが解決手段の必須事項であるとは限らないことは言うまでもない。
【００２３】
また、本発明は多くの異なる態様にて実施することが可能であり、実施の形態の記載内容に限定して解釈されるべきものではない。実施の形態を通じて同じ要素には同一の符号を付している。
【００２４】
以下の実施の形態では、コンピュータシステムにコンピュータプログラムを導入した装置について説明するが、当業者であれば明らかな通り、本発明はその一部をコンピュータで実行することが可能なコンピュータプログラムとして実施することができる。したがって、本発明は、仮想サーバのスナップショットごとの構成情報を管理する装置というハードウェアとしての実施の形態、ソフトウェアとしての実施の形態、又はソフトウェアとハードウェアとの組み合わせの実施の形態をとることができる。コンピュータプログラムは、ハードディスク、ＤＶＤ、ＣＤ、光記憶装置、磁気記憶装置等の任意のコンピュータで読み取ることが可能な記録媒体に記録することができる。
【００２５】
本発明の実施の形態によれば、一の仮想サーバに関する複数のスナップショットを確実に区別することができるので、一の仮想サーバで複数のスナップショットを用途に応じて入れ替えて用いる場合であっても、仮想サーバ上で稼働するソフトウェアのライフサイクル管理、ＯＳへ適用されているパッチプログラムの適用レベルの管理、ハードウェアの着脱の繰り返し等に伴う構成情報の変更を正しく把握することが可能となる。
【００２６】
（実施の形態１）
図１は、本発明の実施の形態１に係る構成情報管理装置を、ＣＰＵを用いて構成した例を示すブロック図である。本発明の実施の形態１に係る構成情報管理装置１は、複数の外部コンピュータ３、３、・・・と、ネットワーク２を介してデータ通信することが可能に接続されている。
【００２７】
構成情報管理装置１は、少なくともＣＰＵ（中央演算装置）１１、メモリ１２、記憶装置１３、Ｉ／Ｏインタフェース１４、ビデオインタフェース１５、可搬型ディスクドライブ１６、通信インタフェース１７及び上述したハードウェアを接続する内部バス１８で構成されている。
【００２８】
ＣＰＵ１１は、内部バス１８を介して構成情報管理装置１の上述したようなハードウェア各部と接続されており、上述したハードウェア各部の動作を制御するとともに、記憶装置１３に記憶しているコンピュータプログラム１００に従って、種々のソフトウェア的機能を実行する。メモリ１２は、ＳＲＡＭ、ＳＤＲＡＭ等の揮発性メモリで構成され、コンピュータプログラム１００の実行時にロードモジュールが展開され、コンピュータプログラム１００の実行時に発生する一時的なデータ等を記憶する。
【００２９】
記憶装置１３は、内蔵される固定型記憶装置（ハードディスク）、ＲＯＭ等で構成されている。記憶装置１３に記憶しているコンピュータプログラム１００は、プログラム及びデータ等の情報を記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体９０から、可搬型ディスクドライブ１６によりダウンロードされ、実行時には記憶装置１３からメモリ１２へ展開して実行される。もちろん、通信インタフェース１７を介してネットワーク２に接続されている外部コンピュータ３、３、・・・からダウンロードされたコンピュータプログラムであっても良い。
【００３０】
記憶装置１３は、外部コンピュータ３、３、・・・上で稼働するＯＳごとに取得した構成情報及びシステムログを記憶する構成情報記憶部１３１を備えている。構成情報記憶部１３１に記憶される構成情報は、ＯＳの種類、バージョン、パッチプログラムの適用状況、稼働コンピュータ識別情報、ＩＰアドレス、アプリケーション識別情報等のハードウェア構成情報及びソフトウェア構成情報の両方を含む。なお、構成情報記憶部１３１は構成管理データベースとして構成しても良く、システムログ及び構成情報をスナップショットを表す構成要素として記憶しても良い。
【００３１】
通信インタフェース１７は内部バス１８に接続されており、インターネット、ＬＡＮ、ＷＡＮ等のネットワーク２に接続されることにより、外部コンピュータ３、３、・・・等とデータ送受信を行うことが可能となっている。
【００３２】
Ｉ／Ｏインタフェース１４は、キーボード２１、マウス２２等のデータ入力媒体と接続され、データの入力を受け付ける。また、ビデオインタフェース１５は、ＣＲＴモニタ、ＬＣＤ等の表示装置２３と接続され、所定の画像を表示する。
【００３３】
以下、上述した構成の構成情報管理装置１にて複数の外部コンピュータ３、３、・・・上で稼動するＯＳの構成情報を管理する方法について説明する。図２は、本発明の実施の形態１に係る構成情報管理装置１の機能ブロック図である。
【００３４】
なお、構成情報管理装置１は、複数の外部コンピュータ３、３、・・・とネットワーク２を介してデータ通信することが可能に接続されており、各外部コンピュータ３上では、一又は複数のＯＳを稼働することが可能となっている。各外部コンピュータ３上で稼働しているＯＳそれぞれを、本明細書では「仮想サーバ」と呼び、稼働しているＯＳごとに特定の時点における構成情報及びシステムログを取得する。また、スナップショットは、仮想サーバの所定のタイミングで記憶されたイメージを意味しており、スナップショットを表す構成要素が構成情報記憶部１３１に記憶される。
【００３５】
図２において、構成情報記憶部１３１は構成管理データベース（ＣＭＤＢ）として構成してある。すなわち、ＩＴＩＬ（登録商標）（ＩＴ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  Ｌｉｂｒａｒｙ）定義に準拠したデータベースであり、スナップショットを表す構成要素を種別ごとにクラス定義し、構成要素の属性を各クラスの属性情報として定義してある。スナップショットを表す構成要素及び該構成要素の属性情報を記憶することにより、システムログを構成要素の属性情報の１つとして記憶することができるとともに、スナップショットを表す構成要素間の関連に関する関連情報も属性情報の１つとして記憶することができる。関連情報には、スナップショットの派生関係に関する情報、発生順序に関する情報等を含む。
【００３６】
構成情報＆システムログ取得部１０１は、ネットワーク２を介してデータ通信することが可能に接続されている外部コンピュータ３、３、・・・上で稼動している仮想サーバを検索し、仮想サーバごとに詳細なハードウェア及びソフトウェアの構成情報及びシステムログを取得する。取得する構成情報は、例えばコンピュータの製造元、モデル、シリアル番号、システムボードＩＤ、ＭＡＣアドレス、ホスト名、ＯＳタイプ、ライセンス番号、ＯＳ導入日、アプリケーション名等である。
【００３７】
取得した構成情報及びシステムログは、記憶装置１３の構成情報記憶部１３１に記憶される。従来の方法では、一の仮想サーバに対して一の仮想サーバを表す構成要素しか記憶しておくことができない。したがって、例えばＯＳにパッチプログラムを適用した後に、適用していないスナップショットに入れ替えた場合、本来パッチプログラムを適用しているＯＳであるにもかかわらず、パッチプログラム適用前のＯＳの構成情報及びシステムログが仮想サーバを表す構成要素として構成情報記憶部１３１に記憶されてしまう。
【００３８】
そこで、本実施の形態１では、仮想サーバのスナップショットを表す構成要素を識別する識別情報に対応付けて、取得した構成情報及びシステムログを構成情報記憶部１３１に記憶する。具体的には、スナップショットを表す構成要素ごとにスナップショットＩＤを付与し、スナップショットＩＤをキー情報として記憶されている構成要素の世代管理等を実行する。
【００３９】
より具体的には、構成情報＆システムログ取得部１０１により、ネットワーク２を介してデータ通信することが可能に接続されている外部コンピュータ３、３、・・・上で稼働している仮想サーバごとに、構成情報及びシステムログを取得する。取得した構成情報及びシステムログは、構成情報記憶部（ＣＭＤＢ）１３１に仮想サーバごとのスナップショットを表す構成要素として記憶される。
【００４０】
システムログ解析部（解析部）１０２は、取得したシステムログを、プロセスを識別するプロセスＩＤ、タイムスタンプ等に基づいて解析する。具体的には、取得したシステムログと同じ仮想サーバから取得して記憶してある既存のシステムログとを比較する。また、関連情報抽出部１０３は、システムログを解析した解析結果に基づいて、取得した構成情報と記憶してある既存のスナップショットを表す構成要素（構成情報）との関連に関する関連情報を抽出する。具体的には、スナップショットの派生関係に関する情報、発生順序に関する情報等を抽出する。
【００４１】
識別情報生成部１０４は、抽出した関連情報に基づいて、取得した構成情報が新たなスナップショットであると判断された場合、取得した構成情報を識別する識別情報、すなわちスナップショットＩＤを生成する。例えば、構成情報の更新前のスナップショットと更新後のスナップショットとを順序付けたスナップショットＩＤを生成する。
【００４２】
なお、パッチ適用部１０６は、仮想サーバのスナップショットに対して適用されるべきであるにもかかわらず適用されていないパッチプログラムを適用する。また、管理部１０７は、表示装置２３に構成情報記憶部１３１に記憶されているスナップショットを表す構成要素を表示し、キーボード２１、マウス２２を介してデータ入力を受け付ける。
【００４３】
図３は、本発明の実施の形態１に係る構成情報管理装置１のＣＰＵ１１の構成情報及びシステムログを取得して記憶する処理の手順を示すフローチャートである。図３では、外部コンピュータ３上で一の仮想サーバが稼動している場合について説明する。
【００４４】
図３において、構成情報管理装置１のＣＰＵ１１は、外部コンピュータ３上で稼動している仮想サーバを検索して、仮想サーバごとに構成情報及びシステムログを取得する（ステップＳ３０１）。ＣＰＵ１１は、取得した構成情報が、構成情報記憶部１３１に記憶されている既存のスナップショットを表す構成要素と同一の仮想サーバであるか否かを判断する（ステップＳ３０２）。
【００４５】
既存のスナップショットを表す構成要素と同一の仮想サーバであるか否かの判断は、例えば記憶されている既存のスナップショットを表す構成要素に含まれるコンピュータの製造元、モデル、シリアル番号、システムボードＩＤ、ＭＡＣアドレス、ホスト名、ＯＳタイプ、ライセンス番号、ＯＳ導入日等が、取得した構成情報との間で一致しているか否かを判断する。一致していない場合には、全く別の仮想サーバの構成情報である、すなわち既存のスナップショットを表す構成要素と同一の仮想サーバではないと判断することができる。
【００４６】
図４は、本発明の実施の形態１に係る構成情報管理装置１の構成情報及びシステムログを取得して記憶する処理の概念を示す模式図である。図４に示すように、構成情報管理装置１の構成情報＆システムログ取得部１０１は、外部コンピュータ３上で稼働している仮想サーバを検索し、構成情報３１を読み出す。構成情報＆システムログ取得部１０１は、読み出した構成情報３１を、システムログとともにスナップショットを表す構成要素４１として、構成情報記憶部１３１に記憶する。
【００４７】
図４の例では、ホスト名が「ｔｅｓｔｓｙｓｔｅｍ」であり、アプリケーションとして「Ａｐｐ−Ａ」が起動されており、ＩＰアドレスが「１９２．１６８．０．１００」であるスナップショットＡが存在する。構成情報＆システムログ取得部１０１は、スナップショットＡから構成情報３１を読み出して、システムログとともにスナップショットを表す構成要素４１として構成情報記憶部１３１へ記憶する。
【００４８】
図３に戻って、構成情報管理装置１のＣＰＵ１１が、取得した構成情報が、構成情報記憶部１３１に記憶されている既存のスナップショットを表す構成要素と同一の仮想サーバではないと判断した場合（ステップＳ３０２：ＮＯ）、ＣＰＵ１１は、従来と同様、新たなスナップショットを表す構成要素として構成情報記憶部１３１に記憶する（ステップＳ３０４）。具体的には、新たな構成要素として構成情報記憶部１３１に追加する。この場合、スナップショットＩＤは、既存のスナップショットを表す構成要素に付与されているスナップショットＩＤと区別することができる別個のＩＤでありさえすれば特に限定されるものではなく、例えば構成情報記憶部１３１に記憶する時点で入力を受け付けても良い。
【００４９】
ＣＰＵ１１が、取得した構成情報が、構成情報記憶部１３１に記憶されている既存のスナップショットを表す構成要素と同一の仮想サーバであると判断した場合（ステップＳ３０２：ＹＥＳ）、ＣＰＵ１１は、新規のスナップショットであるか否かを判断する（ステップＳ３０３）。新規のスナップショットであるか否かは、システムログを解析した解析結果に基づいて判断する。より具体的には、同一の仮想サーバのスナップショットを表す構成要素として構成情報記憶部１３１に記憶されている既存のシステムログのイベントＩＤとタイムスタンプ、及び新規に取得したシステムログのイベントＩＤとタイムスタンプを、それぞれ比較して判断する。
【００５０】
例えば、同一の仮想サーバについて新規に取得したシステムログについて、記憶してあるログ情報の一部がなくなっている場合、記憶してあるタイムスタンプ以前のログ情報が追加されている場合等には、新規のスナップショットであると判断することができる。一方、記憶してあるタイムスタンプ以後のログ情報が追加されている場合等には、既存のスナップショットであると判断することができる。ＣＰＵ１１が、既存のスナップショットであると判断した場合（ステップＳ３０３：ＮＯ）、ＣＰＵ１１は、既存のスナップショットを表す構成要素と取得した構成情報とをマージして、一のスナップショットを表す構成要素として構成情報記憶部１３１に記憶する（ステップＳ３０４）。つまり、既存のスナップショットＩＤに対応付けて構成情報記憶部１３１に記憶してあるスナップショットを表す構成要素を更新する。
【００５１】
図５は、本発明の実施の形態１に係る構成情報管理装置１に記憶してあるシステムログの例示図である。図５（ａ）が既存のスナップショットを表す構成要素に含まれるシステムログの例示図であり、図５（ｂ）は取得したシステムログの例示図である。
【００５２】
図５（ａ）と図５（ｂ）とを比較した場合、ログ情報５２とログ情報５４とは一致していると、タイムスタンプ、イベントＩＤ等の遷移から判断することができる。すなわち、ログ情報５２でもログ情報５４でも、イベントＩＤは、‘７０３６’、‘７０３５’、‘７０３６’、‘７０３６’と遷移しており、タイムスタンプも一致していることが明らかである。したがって、ログ情報５４を含むスナップショットは、ログ情報５２を含むスナップショットと同一であると判断することができ、既存のスナップショットＩＤ５５に対応付けて構成情報記憶部１３１にスナップショットを表す構成要素として記憶される。
【００５３】
一方、ログ情報５１とログ情報５３とは全く別のログ情報であると、タイプスタンプ、イベントＩＤ等の遷移から判断することができる。すなわち、ログ情報５１とログ情報５３とでは、タイムスタンプ、イベントＩＤ等の遷移が全く異なることが明らかである。したがって、ログ情報５３を含むスナップショットは、ログ情報５１を含むスナップショットＩＤ５６とは別個にスナップショットＩＤ５７を生成する必要がある。
【００５４】
ＣＰＵ１１が、既存のスナップショットでない、すなわち新規のスナップショットであると判断した場合（ステップＳ３０３：ＹＥＳ）、ＣＰＵ１１は、スナップショットＩＤを新たに生成して（ステップＳ３０５）、生成したスナップショットＩＤに対応付けて構成情報記憶部１３１にスナップショットを表す構成要素として記憶する（ステップＳ３０６）。
【００５５】
ステップＳ３０５で生成するスナップショットＩＤは、例えば他のスナップショットと区別するレベル情報と、ログ情報に基づいて区別するタイムスタンプ情報のハッシュ値との組み合わせで生成しても良い。もちろん、ハッシュ値の代わりに、世代関係を示す世代ＩＤ、シリアル番号等を用いても良い。
【００５６】
図６は、本発明の実施の形態１に係る構成情報管理装置１のスナップショットを表す構成要素ごとのスナップショットＩＤの例示図である。図６では、説明を簡単にするために、ハッシュ値の代わりの世代ＩＤとして、サブスナップショットＩＤ‘１’、‘２’、‘３’等を用いている。
【００５７】
図６の例では、一の仮想サーバから取得したスナップショットを表す構成要素３２、３３、３４はすべてスナップショットＩＤとしてレベル１のサブスナップショットＩＤ‘１’を含んでいる。そして、構成要素３２、３３、３４のサブスナップショットＩＤ‘１’が共通していることから、３つの構成要素３２、３３、３４には共通のログ情報が存在することがわかる。
【００５８】
次に、構成要素３２、３３、３４はすべてスナップショットＩＤのレベル２のサブスナップショットＩＤを含んでいる。そして、構成要素３２のサブスナップショットＩＤが‘１’であるのに対して、構成要素３３、３４のサブスナップショットＩＤは‘２’と相違している。したがって、構成要素３２には存在しないが、構成要素３３、３４には存在する共通のログ情報があることがわかる。これにより、スナップショットＩＤのレベル１の構成要素は、レベル２のサブスナップショットＩＤ‘１’、‘２’の２つに分離、すなわち構成情報の変動により派生したスナップショットが存在することがわかる。
【００５９】
さらに、構成要素３３、３４はスナップショットＩＤのレベル３のサブスナップショットＩＤを含んでいる。そして、構成要素３３のサブスナップショットＩＤが‘１’であるのに対して、構成要素３４のサブスナップショットＩＤは‘２’と相違している。したがって、構成要素３３には存在しないが、構成要素３４には存在するログ情報があることがわかる。これにより、スナップショットＩＤのレベル２の構成要素は、レベル３のサブスナップショットＩＤ‘１’、‘２’の２つに分離、すなわち構成情報の変動により派生したスナップショットが存在することがわかる。
【００６０】
図７は、本発明の実施の形態１に係る構成情報管理装置１のスナップショットを表す構成要素の派生状態を示すツリー構造図である。図７に示すように、ホスト名「ｔｅｓｔｓｙｓｔｅｍ」の仮想サーバに対して、元来１個のスナップショットを表す構成要素３０が記憶されている。構成要素３０のスナップショットＩＤは、レベル１のサブスナップショットＩＤ‘１’となっている。
【００６１】
しかし、構成情報の変動により、ホスト名「ｔｅｓｔｓｙｓｔｅｍ」の仮想サーバに対して、２個のスナップショットを表す構成要素３２、３５が記憶される。構成要素３２、３５のスナップショットＩＤは、レベル１のサブスナップショットＩＤ‘１’に、レベル２のサブスナップショットＩＤ‘１’又は‘２’を追加した‘１−１’、‘１−２’となる。
【００６２】
そして、さらなる構成情報の変動により、ホスト名「ｔｅｓｔｓｙｓｔｅｍ」の仮想サーバに対して、さらに２個のスナップショットを表す構成要素３３、３４が記憶される。構成要素３３、３４のスナップショットＩＤは、レベル１のサブスナップショットＩＤ‘１’、レベル２のサブスナップショットＩＤ‘２’に、レベル３のサブスナップショットＩＤ‘１’又は‘２’を追加した‘１−２−１’、‘１−２−２’となる。
【００６３】
このように構成情報が変動するごとに、派生するスナップショットを表す構成要素に対応付けたサブスナップショットＩＤを順次追加していくことにより、構成情報の変動履歴を、階層構造を有するツリー構造で正しく把握することができ、例えばスナップショットの入れ替えにより、本来は適用されるべきであるパッチプログラムが、使用者が意図せずに適用されていない状態になる事態等の発生を未然に防止することが可能となる。
【００６４】
また、図８は、複数のスナップショットを入れ替えて用いる場合の、本発明の実施の形態１に係る構成情報管理装置１の構成情報及びシステムログを取得して記憶する処理の概念を示す模式図である。図８に示すように、外部コンピュータ３上で稼働している仮想サーバからは、入れ替えて用いるスナップショットごとに構成情報及びシステムログを取得することができる。すなわち、構成情報管理装置１の構成情報＆システムログ取得部１０１は、外部コンピュータ３上で稼働している仮想サーバを検索し、入れ替えて用いるスナップショットごとに構成情報３１又は３８を読み出す。構成情報＆システムログ取得部１０１は、読み出した構成情報３１又は３８を、それぞれシステムログとともに仮想サーバごとのスナップショットを表す構成要素４１又は４２として、構成情報記憶部１３１に記憶する。
【００６５】
図８の例では、ホスト名が「ｔｅｓｔｓｙｓｔｅｍ」であり、アプリケーションとして「Ａｐｐ−Ａ」が起動されており、ＩＰアドレスが「１９２．１６８．０．１００」であるスナップショットＡと、ホスト名が「ｔｅｓｔｓｙｓｔｅｍ」であり、アプリケーションとして「Ａｐｐ−Ａ」、「Ａｐｐ−Ｂ」の２つが起動されており、ＩＰアドレスが「１９２．１６８．０．１００」であるスナップショットＢとを入れ替えて用いている。ＣＰＵ１１（構成情報＆システムログ取得部１０１）は、入れ替えて用いているスナップショットＡ又はスナップショットＢから、それぞれ対応する構成情報３１又は３８を読み出して、システムログとともに仮想サーバごとのスナップショットを表す構成要素４１又は４２として構成情報記憶部１３１へ記憶する。
【００６６】
図３のステップＳ３０２では、構成情報管理装置１のＣＰＵ１１が、取得した構成情報が、構成情報記憶部１３１に記憶されている既存のスナップショットを表す構成要素と同一の仮想サーバであるか否かを判断する。すなわち、記憶されている既存のスナップショットを表す構成要素に含まれるコンピュータの製造元、モデル、シリアル番号、システムボードＩＤ、ＭＡＣアドレス、ホスト名、ＯＳタイプ、ライセンス番号、ＯＳ導入日等が、取得した構成情報との間で一致しているか否かを判断する。一致していない場合には、既存のスナップショットを表す構成要素と同一の仮想サーバではないと判断することができる。図８の例では、最初にスナップショットＡを表す構成要素を作成した場合には、同一の仮想サーバのスナップショットを表す既存の構成要素が存在しない。次にスナップショットＢを表す構成要素を作成した場合には、スナップショットＡを表す既存の構成要素４１が、同一の仮想サーバであると判断される。
【００６７】
次に、図３のステップＳ３０３では、構成情報管理装置１のＣＰＵ１１が、新規のスナップショットであるか否かを判断する。新規のスナップショットであるか否かは、システムログを解析した解析結果に基づいて判断する。より具体的には、同一の仮想サーバのスナップショットを表す構成要素として構成情報記憶部１３１に記憶されている既存のシステムログのイベントＩＤとタイムスタンプ、及び新規に取得したシステムログのイベントＩＤとタイムスタンプを、それぞれ比較して判断する。
【００６８】
例えば図８の例では、構成情報３１は、既存のスナップショットを表す構成要素４１として構成情報記憶部１３１に記憶されているものとする。そして、構成情報３８からスナップショットを表す構成要素４２が作成された場合、既存のスナップショットＡを表す構成要素４１と同一の仮想サーバであると判断することができる。次にそれぞれのシステムログを解析することで、スナップショットＢは新規のスナップショットであると判断することができ、ステップＳ３０５と同様の処理で新たなスナップショットＩＤを生成することになる。
【００６９】
以上のように本実施の形態１によれば、一の仮想サーバ上の複数のスナップショットを確実に区別することができるので、一の仮想サーバで複数のスナップショットを用途に応じて入れ替えて用いる場合であっても、仮想サーバ上で稼働するソフトウェアのライフサイクル管理、ＯＳへ適用されているパッチプログラムの適用レベルの管理、ハードウェアの着脱の繰り返し等に伴う構成情報の変更を正しく把握することが可能となる。
【００７０】
（実施の形態２）
本発明の実施の形態２に係る構成情報管理装置１の構成及び機能ブロック図は、実施の形態１と同様であることから同一の符号を付することにより詳細な説明は省略する。本実施の形態２は、スナップショットＩＤを生成して、生成したスナップショットＩＤを構成情報記憶部１３１に記憶されている既存のスナップショットを表す構成要素に付与するだけでなく、仮想サーバのシステムログにも書き込む点で実施の形態１とは相違する。
【００７１】
図９は、本発明の実施の形態２に係る構成情報管理装置１のＣＰＵ１１の構成情報及びシステムログを取得して記憶する処理の手順を示すフローチャートである。図９では、外部コンピュータ３上で一の仮想サーバが稼働している場合について説明する。
【００７２】
図９において、構成情報管理装置１のＣＰＵ１１は、外部コンピュータ３上で稼働している仮想サーバを検索して、仮想サーバごとに構成情報及びシステムログを取得する（ステップＳ９０１）。ＣＰＵ１１は、取得したシステムログに、スナップショットＩＤが含まれているか否かを判断する（ステップＳ９０２）。
【００７３】
ＣＰＵ１１が、スナップショットＩＤが含まれていないと判断した場合（ステップＳ９０２：ＮＯ）、ＣＰＵ１１は、スナップショットＩＤを生成し（ステップＳ９０４）、生成したスナップショットＩＤのシリアル番号を‘１’インクリメントして（ステップＳ９０５）、スナップショットＩＤを構成情報記憶部１３１に記憶されるスナップショットを表す構成要素に付与するだけでなく、仮想サーバのシステムログにも書き込む（ステップＳ９０６）。
【００７４】
図１０は、本発明の実施の形態２に係る構成情報管理装置１の構成情報及びシステムログを取得して記憶する処理の概念を示す模式図である。図１０に示すように、構成情報管理装置１の構成情報＆システムログ取得部１０１は、外部コンピュータ３上で稼働している仮想サーバを検索し、構成情報３１を読み出す。構成情報＆システムログ取得部１０１は、読み出した構成情報３１を、システムログとともにスナップショットを表す構成要素４１として構成情報記憶部１３１に記憶する。スナップショットＩＤが含まれていないと判断した場合、構成情報＆システムログ取得部１０１は、スナップショットＩＤを生成するだけでなく、生成したスナップショットＩＤを、構成情報記憶部１３１に記憶されるスナップショットを表す構成要素３１に付与するだけでなく、仮想サーバのシステムログにも書き込む。
【００７５】
図１０の例では、ホスト名が「ｔｅｓｔｓｙｓｔｅｍ」であり、アプリケーションとして「Ａｐｐ−Ａ」が起動されており、ＩＰアドレスが「１９２．１６８．０．１００」であるスナップショットＡが存在する。構成情報管理装置１のＣＰＵ１１は、スナップショットＡから構成情報３１及びシステムログを取得して、スナップショットＡを表す構成要素４１として構成情報記憶部１３１へ記憶する。
【００７６】
図９に戻って、構成情報管理装置１のＣＰＵ１１が、取得したシステムログに、スナップショットＩＤが含まれていると判断した場合（ステップＳ９０２：ＹＥＳ）、ＣＰＵ１１は、構成情報記憶部１３１に記憶されている既存のスナップショットを表す構成要素に含まれるスナップショットＩＤとシリアル番号が連続している（同一又は昇順）か否かを判断する（ステップＳ９０３）。ＣＰＵ１１が、構成情報記憶部１３１に記憶されている既存のスナップショットを表す構成要素に含まれるスナップショットＩＤとシリアル番号が連続していないと判断した場合（ステップＳ９０３：ＮＯ）、ＣＰＵ１１は、スナップショットＩＤを新たに生成する（ステップＳ９０４）。
【００７７】
ＣＰＵ１１が、構成情報記憶部１３１に記憶されている既存のスナップショットを表す構成要素に含まれるスナップショットＩＤとシリアル番号が連続していると判断した場合（ステップＳ９０３：ＹＥＳ）、ＣＰＵ１１は、既存のスナップショットであると判断することができ、ステップＳ９０４をスキップして、スナップショットＩＤに含まれるシリアル番号を‘１’インクリメントする（ステップＳ９０５）。この場合、ＣＰＵ１１は、既存のスナップショットを表す構成要素と取得した構成情報とをマージして、一のスナップショットを表す構成要素として構成情報記憶部１３１に記憶する。つまり、既存のスナップショットＩＤに対応付けて構成情報記憶部１３１に記憶されている既存のスナップショットを表す構成要素を更新する。さらに、ＣＰＵ１１は、シリアル番号を‘１’インクリメントしたスナップショットＩＤを、構成情報記憶部１３１に記憶されている既存のスナップショットを表す構成要素に付与するだけでなく、仮想サーバのシステムログにも書き込む（ステップＳ９０６）。
【００７８】
同一の仮想サーバのシステムログについて、最新のシステムログのログ情報にスナップショットＩＤが含まれている場合には、含まれているスナップショットＩＤを用いることができるが、含まれていない場合にはスナップショットＩＤそのものを生成する必要がある。例えばスナップショットＩＤをＩＰアドレスで生成する場合、世代管理を実行するためにシリアル番号を付与したスナップショットＩＤとしている。具体的には「ＩＤ＝‘１９２．１６８．０．１９９’、ｓｅｒｉａｌ＝‘０’」というスナップショットＩＤを生成する。シリアル番号が‘０’なのは、一の仮想サーバについて最初に取得したスナップショットであるという意味である。
【００７９】
ここではスナップショットＩＤを生成した直後であるのでシリアル番号が‘０’であり、一意的に‘１’インクリメントされ、シリアル番号が‘１’であるスナップショットＩＤが生成される。
【００８０】
生成されたスナップショットＩＤは、構成情報記憶部１３１に記憶されるスナップショットを表す構成要素に付与され、仮想サーバのシステムログにも書き込まれる。図１１は、本発明の実施の形態２に係る構成情報管理装置１の仮想サーバから取得するシステムログの例示図である。
【００８１】
図１１に示すように、仮想サーバのシステムログのログ情報に、「Ｄｅｓｃｒｉｐｔｉｏｎ」として「ＩＤ＝‘１９２．１６８．０．１００’、ｓｅｒｉａｌ＝‘１−２’」というスナップショットＩＤが含まれている。シリアル番号の‘１−２’は、実施の形態１で示した、レベル１のサブスナップショットＩＤ‘１’に、レベル２のサブスナップショットＩＤ‘２’を追加したスナップショットＩＤ‘１−２’と同義である。
【００８２】
また、図１２は、複数のスナップショットを入れ替えて用いる場合の、本発明の実施の形態２に係る構成情報管理装置１の構成情報及びシステムログを取得して記憶する処理の概念を示す模式図である。図１２に示すように、外部コンピュータ３上で稼働している仮想サーバからは、入れ替えて用いるスナップショットごとに構成情報及びシステムログを取得することができる。すなわち、構成情報管理装置１の構成情報＆システムログ取得部１０１は、外部コンピュータ３上で稼働している仮想サーバを検索し、入れ替えて用いるスナップショットごとの構成情報３１又は３８を読み出す。ここで、読み出した構成情報３１又は３８のうち、構成情報３１のスナップショットＩＤ３１１は既存のスナップショットを表す構成要素４１のスナップショットＩＤ４１１として、構成情報３８のスナップショットＩＤ３１２は既存のスナップショットを表す構成要素４２のスナップショットＩＤ４１２として、それぞれ構成情報記憶部１３１に記憶される。構成情報＆システムログ取得部１０１は、読み出した構成情報３１又は３８を、それぞれシステムログとともに仮想サーバごとのスナップショットを表す構成要素４１又は構成要素４２として構成情報記憶部１３１に記憶する。
【００８３】
図１２の例では、ホスト名が「ｔｅｓｔｓｙｓｔｅｍ」であり、アプリケーションとして「Ａｐｐ−Ａ」が起動されており、ＩＰアドレスが「１９２．１６８．０．１００」であるスナップショットＡと、ホスト名が「ｔｅｓｔｓｙｓｔｅｍ」であり、アプリケーションとして「Ａｐｐ−Ａ」、「Ａｐｐ−Ｂ」の２つが起動されており、ＩＰアドレスが「１９２．１６８．０．１００」であるスナップショットＢとを入れ替えて用いている。ＣＰＵ１１（構成情報＆システムログ取得部１０１）は、入れ替えて用いているスナップショットＡ又はスナップショットＢから、それぞれ対応する構成情報３１又は３８を読み出して、システムログとともに仮想サーバごとのスナップショットを表す構成要素４１、構成要素４２として構成情報記憶部１３１へ記憶する。
【００８４】
図９のステップＳ９０２では、構成情報管理装置１のＣＰＵ１１が、取得したシステムログにスナップショットＩＤが含まれているか否かを判断する。図１２の例では、２つのスナップショットＡ、スナップショットＢの構成情報３１、３８のいずれにもスナップショットＩＤ３１１、３１２がそれぞれ含まれている。そして、スナップショットＡのスナップショットＩＤ３１１が、例えば「ＩＤ＝‘１９２．１６８．０．１００’、ｓｅｒｉａｌ＝‘２’」として、構成情報記憶部１３１のスナップショットを表す構成要素４１のスナップショットＩＤ４１１として記憶されているものとする。
【００８５】
既存のスナップショットＡを表す構成要素４１のスナップショットＩＤ４１１が、例えば「ＩＤ＝‘１９２．１６８．０．１００’、ｓｅｒｉａｌ＝‘２’」であり、取得したスナップショットＢのスナップショットＩＤ３１２が、例えば「ＩＤ＝‘１９２．１６８．０．１００’、ｓｅｒｉａｌ＝‘１’」である場合、シリアル番号が降順になっていることから連続していないと判断され、ステップＳ９０４の処理により、新たなスナップショットＩＤを生成する。
【００８６】
図１２の例では、スナップショットＩＤ３１２が、構成情報記憶部１３１に記憶されているスナップショットＩＤ３１１「ＩＤ＝‘１９２．１６８．０．１００’、ｓｅｒｉａｌ＝‘２’」から派生したスナップショットであることを示すために、例えば「ＩＤ＝‘１９２．１６８．０．１００．２−１’、ｓｅｒｉａｌ＝‘０’」と更新する。ステップＳ９０５によりシリアル番号を‘１’インクリメントすることで、スナップショットＩＤ３１２を「ＩＤ＝‘１９２．１６８．０．１００．２−１’、ｓｅｒｉａｌ＝‘１’」とする。
【００８７】
構成情報管理装置１のＣＰＵ１１は、ステップＳ９０６の処理で、シリアル番号を‘１’インクリメントしたスナップショットＩＤ３１２を、構成情報記憶部１３１に記憶されているスナップショットを表す構成要素４２にスナップショットＩＤ４１２として付与し、同時にスナップショットＢの構成情報３８のシステムログにも書き込む。これにより、新たなスナップショットを、記憶されている既存のスナップショットと容易に区別することができる。
【００８８】
以上のように本実施の形態２によれば、一の仮想サーバに関する複数のスナップショットを確実に区別することができるので、一の仮想サーバで複数のスナップショットを用途に応じて入れ替えて用いる場合であっても、仮想サーバ上で稼働するソフトウェアのライフサイクル管理、ＯＳへ適用されているパッチプログラムの適用レベルの管理、ハードウェアの着脱の繰り返し等に伴う構成情報の変更を正しく把握することが可能となる。
【００８９】
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨の範囲内であれば多種の変更、改良等が可能である。例えば本実施の形態１及び２では、構成情報＆システムログ取得部１０１にて、構成情報及びシステムログを取得し、システムログを解析して、識別情報としてスナップショットＩＤを付与しているが、システムログを取得せずに構成情報のみを取得する構成情報取得部と、別個にシステムログのみを取得して解析し、スナップショットＩＤを付与する識別情報付与部とを、独立して備えていても良いことは言うまでもない。
【符号の説明】
【００９０】
１  構成情報管理装置
２  ネットワーク
３  外部コンピュータ
１１  ＣＰＵ
１２  メモリ
１３  記憶装置
１４  Ｉ／Ｏインタフェース
１５  ビデオインタフェース
１６  可搬型ディスクドライブ
１７  通信インタフェース
１８  内部バス
２３  表示装置
９０  可搬型記録媒体
１００  コンピュータプログラム
【図１】
0005648902.tif 000002
【図２】
0005648902.tif 000003
【図３】
0005648902.tif 000004
【図４】
0005648902.tif 000005
【図５】
0005648902.tif 000006
【図６】
0005648902.tif 000007
【図７】
0005648902.tif 000008
【図８】
0005648902.tif 000009
【図９】
0005648902.tif 000010
【図１０】
0005648902.tif 000011
【図１１】
0005648902.tif 000012
【図１２】
0005648902.tif 000013