(57)【要約】  管理システムが、複数の構成情報エントリと複数の変更情報エントリとを保持する。複数の構成情報エントリの各々は、計算機システムから定期的に収集された情報に含まれている情報と、計算機システムから第１及び第２の収集においてそれぞれ収集された第１及び第２の情報に基づいて特定された情報とのうちの少なくとも一部を含み、計算機システムの構成変更を表す情報である。複数の変更情報エントリの各々は、計算機システムの構成変更に関して手動で入力された情報を含み、計算機システムの構成変更を表す情報である。管理システムは、複数の構成情報エントリのうちの少なくとも１つに複数の変更情報エントリのうちの少なくとも１つを対応付けて管理する。
2017154063.tif 000002
【特許請求の範囲】
【請求項１】
複数のコンポーネントと前記複数のコンポーネントを有する複数のノードとを含む複数のエレメントを有する計算機システムに接続された１以上のインターフェースを含んだインターフェース部と、
１以上のメモリを含んだ記憶部と、
前記インターフェース部及び前記記憶部に接続された１以上のプロセッサを含んだプロセッサ部と
を有し、
前記プロセッサ部は、前記インターフェース部を介して前記計算機システムから情報を定期的に収集し、
前記記憶部が、複数の構成情報エントリと複数の変更情報エントリとを記憶し、
前記複数の構成情報エントリの各々は、前記計算機システムから収集された情報に含まれている情報と、前記計算機システムから第１及び第２の収集においてそれぞれ収集された第１及び第２の情報に基づいて特定された情報とのうちの少なくとも一部を含み、前記計算機システムの構成変更を表す情報であり、
前記複数の変更情報エントリの各々は、前記計算機システムの構成変更に関して手動で入力された情報を含み、前記計算機システムの構成変更を表す情報であり、
前記プロセッサ部は、前記複数の構成情報エントリのうちの少なくとも１つに前記複数の変更情報エントリのうちの少なくとも１つを対応付けて管理する、
管理システム。
【請求項２】
前記複数の構成情報エントリの各々は、その構成情報エントリについて前記第１及び第２の収集開始時刻を表し、
前記複数の変更情報エントリの各々は、その変更情報エントリが表す構成変更の時刻である構成変更時刻を表し、
前記プロセッサ部は、下記の条件（ｃ０１）を満たす構成情報エントリと変更情報エントリとを対応付ける、
（ｃ０１）前記構成変更時刻が、前記第１の収集の収集開始時刻と同じかそれより新しく前記第２の収集の収集開始時刻より古い時刻である、
請求項１記載の管理システム。
【請求項３】
前記複数の構成情報エントリの各々は、更に、構成変更対象として検出されたエレメントのＩＤである検出エレメントＩＤと、検出された構成変更内容である検出変更内容とを表し、
前記複数の変更情報エントリの各々は、更に、構成変更対象として入力されたエレメントＩＤである入力エレメントＩＤと、入力された構成変更内容である入力変更内容とを表し、
前記プロセッサ部は、前記条件（ｃ０１）だけでなく下記条件（ｃ１１）及び（ｃ１２）を満たす構成情報エントリと変更情報エントリとを対応付ける、
（ｃ１１）前記入力エレメントＩＤが前記検出エレメントＩＤに一致する、
（ｃ１２）前記入力変更内容が前記検出変更内容に適合する、
請求項２記載の管理システム。
【請求項４】
前記条件（ｃ１１）及び（ｃ１２）を満たす構成情報エントリ及び変更情報エントリが無い場合、前記プロセッサ部は、少なくとも１つの変更情報エントリに基づく１以上の仮想変更情報エントリを生成し、
前記１以上の仮想変更情報エントリの各々は、その仮想変更情報エントリの基になった１以上の変更情報エントリの各々の入力エレメントＩＤに従うエレメントＩＤである仮想エレメントＩＤと、その仮想変更情報エントリの基になった１以上の変更情報エントリの各々の入力変更内容に従う構成変更内容である仮想変更内容とを表し、
前記プロセッサ部は、下記条件（ｃ２１）及び（ｃ２２）を満たす構成情報エントリと仮想変更情報エントリとがあれば、その構成情報エントリと、その仮想変更情報エントリの基になった変更情報エントリとを対応付ける、
（ｃ２１）前記仮想エレメントＩＤが前記検出エレメントＩＤに一致する、
（ｃ２２）前記仮想変更内容が前記検出変更内容に適合する、
請求項３記載の管理システム。
【請求項５】
前記記憶部は、１以上のルールエントリを記憶し、
前記１以上のルールエントリの各々は、仮想変更情報エントリのタイプである仮想タイプと、その仮想タイプの仮想変更情報エントリが適用されるエレメントタイプであるルールエレメントタイプと、その仮想タイプの仮想変更情報エントリが適用される構成変更タイプであるルール変更タイプとで定義されたルールを表す情報であり、
前記プロセッサ部は、下記条件（ｃ３１）及び（ｃ３２）を満たす変更情報エントリとルールエントリとを基に、そのルールエントリが表す仮想タイプの仮想変更情報エントリを生成する、
（ｃ３１）前記入力エレメントＩＤに対応したエレメントタイプが前記ルールエレメントタイプに一致する、
（ｃ３２）前記入力変更内容が表す構成変更タイプが前記ルール変更タイプに一致する、
請求項４記載の管理システム。
【請求項６】
前記仮想タイプとして、１以上の変更情報エントリにおける１以上の入力変更内容を結合することにより得られた１つの仮想変更情報エントリを意味する第１のタイプがある、
請求項５記載の管理システム。
【請求項７】
前記仮想タイプとして、１以上の入力エレメントＩＤを含んだ１つの変更情報エントリを入力エレメントＩＤ毎に分割することにより得られた複数の仮想変更情報エントリを意味する第２のタイプがある、
請求項５記載の管理システム。
【請求項８】
前記仮想タイプとして、１以上の入力エレメントＩＤを含んだ１つの変更情報エントリを入力エレメントＩＤ毎に分割することにより得られた複数の仮想変更情報エントリにおける複数の入力変更内容を結合することにより得られた１つの仮想変更情報エントリを意味する第３のタイプがある、
請求項５記載の管理システム。
【請求項９】
前記複数の構成情報エントリの各々は、構成変更対象として検出されたエレメントのＩＤである検出エレメントＩＤと、検出された構成変更内容である検出変更内容とを表し、
前記複数の変更情報エントリの各々は、構成変更対象として入力されたエレメントＩＤである入力エレメントＩＤと、入力された構成変更内容である入力変更内容とを表し、
前記プロセッサ部は、下記条件（ｃ１１）及び（ｃ１２）を満たす構成情報エントリと変更情報エントリとを対応付ける、
（ｃ１１）前記入力エレメントＩＤが前記検出エレメントＩＤに一致する、
（ｃ１２）前記入力変更内容が前記検出変更内容に適合する、
請求項１記載の管理システム。
【請求項１０】
前記複数の構成情報エントリの各々は、構成変更対象として検出されたエレメントのＩＤである検出エレメントＩＤと、検出された構成変更内容である検出変更内容とを表し、
前記複数の変更情報エントリの各々は、構成変更対象として入力されたエレメントＩＤである入力エレメントＩＤと、入力された構成変更内容である入力変更内容とを表し、
前記プロセッサ部は、少なくとも１つの変更情報エントリに基づく１以上の仮想変更情報エントリを生成し、
前記１以上の仮想変更情報エントリの各々は、その仮想変更情報エントリの基になった１以上の変更情報エントリの各々の入力エレメントＩＤに従うエレメントＩＤである仮想エレメントＩＤと、その仮想変更情報エントリの基になった１以上の変更情報エントリの各々の入力変更内容に従う構成変更内容である仮想変更内容とを表し、
前記プロセッサ部は、下記条件（ｃ２１）及び（ｃ２２）を満たす構成情報エントリと仮想変更情報エントリとがあれば、その構成情報エントリと、その仮想変更情報エントリの基になった変更情報エントリとを対応付ける、
（ｃ２１）前記仮想エレメントＩＤが前記検出エレメントＩＤに一致する、
（ｃ２２）前記仮想変更内容が前記検出変更内容に適合する、
請求項１記載の管理システム。
【請求項１１】
前記複数の変更情報エントリの各々において、前記手動で入力された情報は、その変更情報エントリが表す構成変更に関連する情報であって、その変更情報エントリが表す構成変更の時刻と同じかそれより古い収集開始時刻とその次に新しい収集開始時刻とでそれぞれ収集された情報からは特定不可能な情報である変更詳細情報を含む、
請求項１記載の管理システム。
【請求項１２】
前記変更詳細情報は、構成変更の時刻、構成変更の目的、構成変更のタイトル、構成変更者、構成変更の結果、構成変更の重要度、構成変更にかかる費用、構成変更の影響、構成変更を実施するかどうかの審議内容、及び、他の構成変更との関連、のうちの少なくとも１つを表す情報を含む、
請求項１１記載の管理システム。
【請求項１３】
複数のコンポーネントと前記複数のコンポーネントを有する複数のノードとを含む複数のエレメントを有する計算機システムの管理用法であって、
（Ａ）前記計算機システムから情報を定期的に収集し、
（Ｂ）下記の複数の構成情報エントリのうちの少なくとも１つに下記の複数の変更情報エントリのうちの少なくとも１つを対応付けて管理する、
前記複数の構成情報エントリの各々は、前記計算機システムから収集された情報に含まれている情報と、前記計算機システムから第１及び第２の収集においてそれぞれ収集された第１及び第２の情報に基づいて特定された情報とのうちの少なくとも一部を含み、前記計算機システムの構成変更を表す情報である、
前記複数の変更情報エントリの各々は、前記計算機システムの構成変更に関して手動で入力された情報を含み、前記計算機システムの構成変更を表す情報である、
管理方法。
【請求項１４】
複数のコンポーネントと前記複数のコンポーネントを有する複数のノードとを含む複数のエレメントを有する計算機システムを管理するためのコンピュータに、
（Ａ）前記計算機システムから情報を定期的に収集し、
（Ｂ）下記の複数の構成情報エントリのうちの少なくとも１つに下記の複数の変更情報エントリのうちの少なくとも１つを対応付けて管理する、
前記複数の構成情報エントリの各々は、前記計算機システムから収集された情報に含まれている情報と、前記計算機システムから第１及び第２の収集においてそれぞれ収集された第１及び第２の情報に基づいて特定された情報とのうちの少なくとも一部を含み、前記計算機システムの構成変更を表す情報である、
前記複数の変更情報エントリの各々は、前記計算機システムの構成変更に関して手動で入力された情報を含み、前記計算機システムの構成変更を表す情報である、
ことを実行させるためのコンピュータプログラムを記録したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、計算機システムの管理に関する。
【背景技術】
【０００２】
計算機システムの管理技術として、例えば特許文献１が知られている。特許文献１では、以下の処理が行われる。すなわち、管理対象コンピュータ上に常駐のエージェントが、当該管理対象コンピュータの資源が変更したことの検知を契機に、その資源変化の内容を、運用管理サーバ上のマネージャへ通知する。運用管理サーバの変更計画ＤＢ（データベース）には、各管理対象コンピュータについての個々の資源変更の計画について、その計画された資源変更の内容が、登録されている。マネージャは、エージェントから通知された資源変化の内容が、変更計画ＤＢに登録されている資源変更の計画通りであるかどうかをチェックし、計画通りであれば、変更計画ＤＢに登録されている資源変更が計画通り完了した旨を登録する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2007-241873号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
計算機システムの管理システムとして、計算機システムからポーリング間隔で（定期的に）情報を収集する管理システムが知られている。収集される情報は、一般に、計算機システムの構成情報である。構成情報は、計算機システムの構成に関する情報である。【０００５】
ポーリング間隔は、計算機システムの規模（具体的には、計算機システムの規模に依存する情報量（収集対象の情報の量））に基づいて決定される。計算機システムの規模によって、ポーリング間隔は長い間隔（例えば「１日」）とされる。１回の情報収集に長い時間がかかってしまうからである。【０００６】
ポーリング間隔が長い場合、或るポーリング期間（或るポーリングの開始時刻から次のポーリングの開始時刻まで（但し次のポーリング時刻を含まない））の間に複数回にわたって計算機システムの構成が変更されることがある。今回のポーリング期間に収集された情報と前回のポーリング期間に収集された情報との比較から、構成変更を検出し得るが、検出された構成変更の詳細（例えば、検出された構成変更が１回の構成変更の結果であるのか複数回の構成変更の結果であるのか）は、わからない。これにより、少なくとも１つの問題、例えば、いずれかの構成変更が原因で計算機システムに障害が生じても障害原因の構成変更がわからず障害対応に時間がかかってしまうといった問題が生じ得る。【０００７】
このような問題は、情報の収集のタイプが、ポーリングのようなプル型に限らず、計算機システムが管理システムからの問合せ無しに情報を提供するプッシュ型であってもあり得る。
【課題を解決するための手段】
【０００８】
管理システムが、複数の構成情報エントリと複数の変更情報エントリとを保持する。複数の構成情報エントリの各々は、計算機システムから定期的に収集された情報に含まれている情報と、計算機システムから第１及び第２の収集においてそれぞれ収集された第１及び第２の情報に基づいて特定された情報とのうちの少なくとも一部を含み、計算機システムの構成変更を表す情報である。複数の変更情報エントリの各々は、計算機システムの構成変更に関して手動で入力された情報を含み、計算機システムの構成変更を表す情報である。管理システムは、複数の構成情報エントリのうちの少なくとも１つに複数の変更情報エントリのうちの少なくとも１つを対応付けて管理する。【０００９】
収集のタイプは、プル型（管理システムからの問合せに応答して計算機システムから情報を受信すること）であってもよいし、プッシュ型（管理システムからの問合せ無しに計算機システムから情報を受信すること）であってもよい。前者の場合、情報の収集の間隔（周期）は、ポーリング間隔である。
【発明の効果】
【００１０】
複数の構成情報エントリは、それぞれ、定期的に収集された情報に基づく情報、すなわち、機械的に収集された情報から得られた情報であり、故に、収集開始時刻での構成と次の収集開始時刻での構成との差分を全て構成変更として特定できるという網羅性がある。一方、複数の変更情報エントリは、それぞれ、手動で入力された情報を含んだ情報であり、故に、個々の構成変更に関してより詳細な情報が得られる。複数の構成情報エントリのうちの少なくとも１つに、複数の変更情報エントリのうちの少なくとも１つが対応付けられる。このため、機械的に得られた情報が表す構成変更についての詳細をユーザ（例えば管理者）が知ることができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態に係る計算機システム及び管理システムの構成を示す。
【図２】管理情報の構成を示す。
【図３】ノードテーブルの構成を示す。
【図４】ノード詳細テーブルの構成を示す。
【図５】コンポーネントテーブルの構成を示す。
【図６】変更イベントテーブルの構成を示す。
【図７】マッチングルールテーブルの構成を示す。
【図８】変更テーブルの構成を示す
【図９】マッチングテーブルの構成示す。
【図１０】マッチング全体処理の流れを示す。
【図１１】変更内容一致確認処理の流れを示す。
【図１２】マッチング判定処理の流れを示す。
【図１３】結合マッチング処理の流れを示す。
【図１４】分割マッチング処理の流れを示す。
【図１５】分割＆結合マッチング処理の流れを示す。
【図１６】一比較例に係る実際の構成変更の一例を示す。
【図１７】一比較例において検出される構成変更の一例を示す。
【図１８】イベントレコードの取得の一例を示す。
【図１９】変更レコードの取得の一例を示す。
【図２０】イベントレコードに対する変更レコードの関連付けの一例を示す。
【図２１】一比較例に係るレコードアンマッチの第１の例を示す。
【図２２】一比較例に係るレコードアンマッチの第２の例を示す。
【図２３】変更レコードの仮想化の一例を示す。
【図２４】変更レコードの仮想化の効果の一例を示す。
【発明を実施するための形態】
【００１２】
以下の説明では、「インターフェース部」は、１以上のインターフェースを含む。１以上のインターフェースは、１以上の同種のインターフェースデバイス（例えば１以上のＮＩＣ（Network Interface Card））であってもよいし２以上の異種のインターフェースデバイス（例えばＮＩＣとＨＢＡ（Host Bus Adapter））であってもよい。
【００１３】
また、以下の説明では、「プロセッサ部」は、１以上のプロセッサを含む。少なくとも１つのプロセッサは、典型的には、ＣＰＵ（Central Processing Unit）である。プロセッサは、処理の一部または全部を行うハードウェア回路を含んでもよい。
【００１４】
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ部によって実行されることで、定められた処理を、適宜に記憶部及びインターフェース部のうちの少なくとも１つを用いながら行うため、処理の主語が、プロセッサ部（或いは、プロセッサ部を有する計算機又は計算機システム）とされてもよい。プログラムは、プログラムソースから計算機にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバ又は計算機が読み取り可能な記録媒体であってもよい。また、以下の説明において、２以上のプログラムが１つのプログラムとして実現されてもよいし、１つのプログラムが２以上のプログラムとして実現されてもよい。
【００１５】
また、以下の説明では、「ｘｘｘテーブル」といった表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「ｘｘｘテーブル」を「ｘｘｘ情報」と言うことができる。また、以下の説明において、各テーブルの構成は一例であり、１つのテーブルは、２以上のテーブルに分割されてもよいし、２以上のテーブルの全部又は一部が１つのテーブルであってもよい。
【００１６】
また、以下の説明では、同種の要素を区別して説明する場合は、その要素の参照符号を使用し（例えば、イベントレコード１８Ａ１、１８Ａ２、…、１８Ｂ１、１８Ｂ２、…）、同種の要素を区別しないで説明する場合は、その要素の参照符号のうちの共通符号のみ使用する（例えば、イベントレコード１８、１８Ａ又は１８Ｂ）ことがある。
【００１７】
また、以下の説明では、管理システムは、１以上の計算機で構成されてよい。具体的には、例えば、管理計算機が情報を表示する場合（具体的には、管理計算機が自分の表示デバイスに情報を表示する、或いは、管理計算機が表示用情報を遠隔の表示用計算機に送信する場合）、管理計算機が管理システムである。また、例えば、複数の計算機で管理計算機と同等の機能が実現されている場合は、当該複数の計算機（表示を表示用計算機が行う場合は表示用計算機を含んでよい）が、管理システムである。計算機への情報の入力や、計算機からの情報の出力は、計算機が有する入出力デバイスにより行われてよい。入出力デバイスの例としては、表示デバイス、キーボード及びポインティングデバイスが考えられるが、これらのうちの少なくとも１つに代えて又は加えて別のデバイスが採用されてよい。また、入出力デバイスの代替として、シリアルインターフェースデバイスやイーサーネットインターフェースデバイス（イーサネットは登録商標）が採用され、そのようなインターフェースデバイスに、表示デバイスとキーボード及びポインタデバイスとを有する表示用計算機が接続され、計算機が表示用情報を表示用計算機に送信したり、計算機が入力用情報を表示用計算機から受信したりすることで、情報の出力（例えば表示）及び入力が行われてよい。以下の説明では、管理サーバ５５７が、管理計算機であり、管理クライアント５５５が、表示用計算機である。
【００１８】
また、以下の説明では、「エレメント」とは、計算機システムの構成要素を意味し、具体的には、計算機システムを構成する複数のノード（装置）の各々、及び、各ノードが有する複数のコンポーネントの各々の総称である。ノードとして、物理的なノード（例えばネットワークスイッチ）もあれば論理的なノード（例えば仮想マシン）もある。同様に、コンポーネントとして、物理的なコンポーネント（例えばマイクロプロセッサ）もあれば論理的なコンポーネント（例えばvolume（論理ボリューム））もある。
【００１９】
また、以下の説明では、エレメント間の関係を意味するために、「親エレメント」、「上位エレメント」、「子エレメント」及び「下位エレメント」のうちの少なくとも１つの用語を使用することがある。「親エレメント」とは、エレメントの１つ上位のエレメントを意味する。「上位エレメント」とは、エレメントより上位のエレメントを意味する。従って、親エレメントは、上位エレメントのうちの１つである。「子エレメント」とは、エレメントの１つ下位のエレメントを意味する。「下位エレメント」とは、エレメントより下位のエレメントを意味する。従って、子エレメントは、下位エレメントのうちの１つである。エレメント間の関係は、相対的なものであるため、各エレメントが、「親エレメント」、「上位エレメント」、「子エレメント」及び「下位エレメント」のいずれになるかは、当然に、着目されるエレメントによって変わる。
【００２０】
また、以下の説明では、識別情報として、名前或いはＩＤが使用されるが、それらは相互に置換可能であってもよいし、それらのうちの少なくとも１つに代えて又は加えて他種の識別情報が使用されてもよい。
【００２１】
また、以下の説明では、計算機システムからの情報の収集は、プル型及びプッシュ型のうちのプル型であるとし、ポーリングであるとする。情報の収集開始時刻を、「ポーリング時刻」と言うことにする。ポーリング時刻（第１の収集開始時刻の一例）から次のポーリング時刻（第２の収集開始時刻の一例）までに、計算機システムにおける各ノードから情報が収集されるとする。なお、情報の収集は、プル型の収集とプッシュ型の収集とが混在していてもよい。プッシュ型の収集に関わるノードは、定期的に、情報を管理システムに提供してよい。
【００２２】
図１は、実施形態に係る計算機システム及び管理システムの構成を示す。
【００２３】
計算機システム１００は、１以上のサーバ５５３と、１以上のサーバ５５３に接続された１以上のストレージ装置５５１とを含む。ストレージ装置５５１には、例えば、通信ネットワーク５２１（例えばＳＡＮ（Storage Area Network）又はＬＡＮ（Local Area Network））を介してサーバ５５３が接続される。通信ネットワーク５２１は、例えば、ノードの一例としてネットワークスイッチを含んでよい。
【００２４】
ストレージ装置５５１は、物理記憶デバイス群５６３と、物理記憶デバイス群５６３に接続されたコントローラ５６１とを有する。
【００２５】
物理記憶デバイス群５６３は、１以上のＰＧ（Parity Group）を有する。ＰＧは、ＲＡＩＤ（Redundant Array of Independent (or Inexpensive) Disks）グループと呼ぶこともある。ＰＧは、複数の物理記憶デバイスで構成されており、所定のＲＡＩＤレベルに従いデータを記憶する。物理記憶デバイスは、例えば、ＨＤＤ（Hard Disk Drive）或いはＳＳＤ（Solid State Drive）である。
【００２６】
ストレージ装置５５１は、複数の論理ボリュームを有する。論理ボリュームとしては、ＰＧに基づく実体的な論理ボリューム（実ボリューム）５６５もあれば、シンプロビジョニング或いはストレージ仮想化技術に従う仮想的な論理ボリューム（仮想ボリューム）５６７もある。１つのストレージ装置５５１が必ずしも複数種類の論理ボリュームを有さないでよい。例えば、ストレージ装置５５１は、論理ボリュームとして、実ボリューム５６５のみを有してもよい。シンプロビジョニングに従う仮想ボリュームにはプールから記憶領域が割り当てられる。プールは、１以上の物理記憶デバイス（例えばＰＧ）に基づく記憶領域群であり、例えば、１以上の論理ボリュームの集合でよい。プールは、シンプロビジョニングに従う仮想ボリュームに割り当てられる記憶領域を有するプールに代えて、オリジナルの論理ボリュームとそのスナップショットとの差分が格納されるプールでもよい。
【００２７】
コントローラ５６１は、複数のデバイス、例えば、ポート、ＭＰＢ（１又は複数のマイクロプロセッサ（ＭＰ）を有するブレード（回路基板））及びキャッシュメモリを有している。例えば、ポートが、サーバ５５３からＩ／Ｏ（Input/Output）コマンド（ライトコマンド又はリードコマンド）を受信し、ＭＰＢが有するＭＰが、そのＩ／Ｏコマンドに従うデータのＩ／Ｏを制御する。具体的には、例えば、ＭＰは、受信したＩ／ＯコマンドからＩ／Ｏ先の論理ボリュームを特定し、特定した論理ボリュームに対してデータのＩ／Ｏを行う。論理ボリュームに対して入出力されるデータは、一時的に、キャッシュメモリに格納される。
【００２８】
サーバ５５３は、物理計算機でも仮想計算機（仮想マシン（ＶＭ））でもよい。サーバ５５３で、１以上のアプリケーションプログラム（ＡＰＰ）５５２が実行される。ＡＰＰ５５２が実行されることにより、論理ボリュームを指定したＩ／Ｏコマンドがサーバ５５３からストレージ装置５５１に送信する。
【００２９】
以上のように、計算機システム１００は、階層的な複数のエレメントを有する。複数のエレメントは、具体的には、ＡＰＰ５５２、サーバ５５３、ストレージ装置５５１、コントローラ５６１、ポート、ＭＰＢ、キャッシュメモリ、論理ボリューム及びＰＧ等のうちの２つのエレメントタイプ以上のエレメントを含む。同じレイヤの複数のエレメントがグループ化されることでそのレイヤのエレメントより上位レイヤのエレメントが定義されてもよい。「エレメント」は、ＡＰＰや論理ボリュームのような実体的なエレメントと、複数の実体的なエレメントのグループである仮想的なエレメントとがあってよい。
【００３０】
管理システムは、管理サーバ５５７と、管理サーバ５５７に接続された１以上の管理クライアント５５５とを含む。管理サーバ５５７には、通信ネットワーク（例えばＬＡＮ、ＷＡＮ（World Area Network）又はインターネット）５２１を介して、管理クライアント５５５が接続される。
【００３１】
管理クライアント５５５は、入力デバイス５０１、表示デバイス１５０２、記憶デバイス（例えばメモリ）５０５、通信インターフェースデバイス（以下、Ｉ／Ｆ）５０７、及び、それらに接続されたプロセッサ（例えばＣＰＵ（Central Processing Unit））５０３を有する。入力デバイス５０１は、例えば、ポインティングデバイス及びキーボードである。表示デバイス１５０２は、例えば、情報が表示される物理画面を有するデバイスである。入力デバイス５０１及び表示デバイス１５０２が一体となったタッチスクリーンが採用されてもよい。Ｉ／Ｆ５０７は、通信ネットワーク５２１に接続され、Ｉ／Ｆ５０７を介して、管理クライアント５５５は管理サーバ５５７と通信することができる。なお、通信ネットワーク５２１と、サーバ５５３とストレージ装置５５１と、を接続するネットワークとは一部または全てが共通であってもよい。
【００３２】
記憶部５０５は、例えば、主記憶デバイス及び補助記憶デバイスのうちの少なくとも主記憶デバイス（典型的にはメモリ）を有する。記憶部５０５は、プロセッサ１５０３で実行されるコンピュータプログラム、及び、プロセッサ１５０３に使用される情報を記憶することができる。具体的には、例えば、記憶部５０５は、Ｗｅｂブラウザ５１１、及び、管理クライアントプログラム５１３を記憶する。管理クライアントプログラム５１３は、ＲＩＡ（Rich Internet Application）でよい。具体的には、例えば、管理クライアントプログラム５１３は、プログラムファイルであり、管理サーバ５５７（或いは他の計算機）からダウンロードされ、記憶部５０５に記憶されてよい。
【００３３】
管理サーバ５５７は、記憶部５３５、Ｉ／Ｆ５３７、及び、それらに接続されたプロセッサ（例えばＣＰＵ（Central Processing Unit））５３３を有する。Ｉ／Ｆ５３７は、インターフェース部の一例であり、通信ネットワーク５２１に接続され、Ｉ／Ｆ５３７を介して、管理サーバ５５７は管理クライアント５５５と通信することができる。管理サーバ５５７は、Ｉ／Ｆ５３７を介して、ユーザ操作に従う指示を受信したり、情報を表示したりすることができる。
【００３４】
記憶部５３５は、例えば、主記憶デバイス及び補助記憶デバイスのうちの少なくとも主記憶デバイス（典型的にはメモリ）を有する。記憶部５３５は、プロセッサ５３３で実行されるコンピュータプログラム、及び、プロセッサ５３３に使用される情報を記憶することができる。具体的には、例えば、記憶部５３５は、管理サーバプログラム５４１及び管理情報５４３を記憶する。管理情報５４３は、計算機システムが有する複数のエレメントの階層関係を表す情報や、各エレメントの障害情報等を含む。管理情報５４３の少なくとも一部の情報は、管理サーバプログラム５４１により収集されてよい。管理サーバプログラム５４１は、ユーザ操作に従う指示を管理クライアント５５５から受信したり、表示用情報を管理クライアント５５５に送信したりする。また、管理サーバプログラム５４１は、後述のイベントレコードと後述の変更レコードとのマッチング判定を行う（詳細は後述）。プロセッサ５３３は、プロセッサ部の一例である。管理サーバプログラム５４１と、Ｗｅｂブラウザ５１１（またはクライアントのＲＩＡ実行環境）と、管理クライアントプログラム５１３と、の連携処理によって、ユーザ操作に応じた表示が実現されてよい。
【００３５】
なお、図１では、説明の簡単のために、管理サーバ５５７及び管理クライアント５５５はそれぞれ１つのみ図示しているが、管理サーバ５５７及び管理クライアント５５５の各々が複数存在してもよい。例えば、管理サーバ５５７として、計算機システム１００から情報を収集して後述のイベントレコードを蓄積する第１の管理サーバ（構成管理サーバ）と、計算機システム１００の構成変更に関する手動入力をユーザ（例えば変更者）から受け付けて後述の変更レコードを蓄積する第２の管理サーバ（ＩＴプロセス管理サーバ）とが存在してもよい。同様に、管理クライアント５５５として、第１の管理サーバと通信する第１の管理クライアント（構成管理用の管理クライアント）と、第２の管理サーバと通信する第２の管理クライアント（ＩＴプロセス用の管理クライアント）とが存在してもよい。第１の管理サーバ、第２の管理サーバ、第１の管理クライアント及び第２のクライアントのうちの少なくとも１つが複数存在してもよい。
【００３６】
図２は、管理情報５４３の構成を示す。
【００３７】
管理情報５４３は、構成情報３１０、マッチングルールテーブル２２０、変更テーブル２３０及びマッチングテーブル２４０を含む。構成情報３１０は、ノードテーブル２１１、ノード詳細テーブル２１２、コンポーネントテーブル２１３及び変更イベントテーブル２１４を含む。
【００３８】
図３は、ノードテーブル２１１の構成を示す。
【００３９】
ノードテーブル２１１は、ノードに関する情報を保持するテーブルである。ノードテーブル２１１は、ノード毎にレコードを有する。各レコードは、ノードＩＤ３０１、ノードタイプ３０２及びポーリング時刻３０３といった情報を保持する。
【００４０】
ノードＩＤ３０１は、ノードを一意に識別する識別子である。ノードタイプ３０２は、ノードのタイプを表す。ノードのタイプとしては、例えば、サーバ計算機（SERVER）、ストレージ装置（STORAGE）及びファイバチャネルスイッチ（FCSWITCH）等がある。ファイバチャネルスイッチは、ネットワーク装置の一例である。ポーリング時刻３０３は、レコードの情報の収集開始時刻である。
【００４１】
図４は、ノード詳細テーブル２１２の構成を示す。
【００４２】
ノード詳細テーブル２１２は、ノードに関する詳細の情報を保持するテーブルである。ノード詳細テーブル２１２は、ノード毎にレコードを有する。各レコードは、ノードＩＤ４０１、ノード名４０２、ＯＳ名４０３、メモリ容量４０４、ＣＰＵ４０５、ディスク容量４０６、ＩＰアドレス４０７及びポーリング時刻４０８といった情報を保持する。
【００４３】
ノードＩＤ４０１は、ノードを一意に識別する識別子である。ノード名４０２は、ノードの名前である。ＯＳ名４０３は、ノードで実行されるＯＳ（Operating System）の名前である。メモリ容量４０４は、ノードが有するメモリの容量である。ディスク容量４０６は、ノードが有するディスクの容量である。ＩＰアドレス４０７は、ノードに割り振られたＩＰアドレスであり、そのノードから情報を収集するために使用されるＩＰアドレスである。ポーリング時刻４０８は、レコードの情報の収集開始時刻である。
【００４４】
管理サーバプログラム５４１は、ポーリング間隔で計算機システム１００から情報を収集するが、その際、ノードからの情報収集のためにノードのＩＰアドレスを用いる。また、ポーリング間隔で取得される情報は、（ａ）インフラエレメント（エレメントの一例）の情報、（ｂ）インフラエレメントを構成するコンポーネント（エレメントの一例）の情報、（ｃ）インフラエレメント又はコンポーネントに関する情報、（ｄ）インフラエレメント及びコンポーネント間の関連性を表す情報、等である。（ａ）の情報の具体例は、ハイパーバイザ、仮想マシン及びストレージ装置等の情報である。（ｂ）の情報の具体例は、インフラエレメントがハイパーバイザの場合、ハイパーバイザが管理する物理的又は仮想的なＣＰＵ、メモリ、ＮＩＣ及びディスク等の情報である。（ｃ）の情報の具体例は、ベンダ名、ＯＳ名、サーバ名、メモリ容量及びＣＰＵクロック数等の情報である。（ｄ）の情報の具体例は、ハイパーバイザと仮想マシン間の接続関係やハイパーバイザとストレージ装置間の接続関係等を表す情報である。収集された情報を基に、テーブル２１１〜２１４の少なくとも１つに対して、レコードの追加、削除又は変更が行われる。
【００４５】
図５は、コンポーネントテーブル２１３の構成を示す。
【００４６】
コンポーネントテーブル２１３は、ノードが有するコンポーネントに関する情報を保持するテーブルである。コンポーネントテーブル２１３は、コンポーネント毎にレコードを有する。各レコードは、コンポーネントＩＤ５０１、コンポーネントタイプ５０２、コンポーネント名５０３及び親ノードＩＤ５０４といった情報を保持する。
【００４７】
コンポーネントＩＤ５０１は、コンポーネントを一意に識別する識別子である。コンポーネントタイプ５０２は、コンポーネントのタイプである。コンポーネントのタイプとしては、例えば、LANアダプタ（LAN_ADAPTER）、ISCSIディスク（ISCSI_DISK）及びアプリケーション（APPLICATION）等がある。コンポーネント名５０３は、コンポーネントの名前である。親ノードＩＤ５０４は、コンポーネントを有するノード（コンポーネントの親エレメント）の識別子である。
【００４８】
図６は、 変更イベントテーブル２１４の構成を示す。
【００４９】
変更イベントテーブル２１４は、ポーリング間隔に発生したイベント（構成変更）に関する情報を保持するテーブルである。変更イベントテーブルは、イベント毎にレコードを保持する。以下、変更イベントテーブルのレコードを「イベントレコード」と言うことがある。各イベントレコードが、構成情報エントリの一例である。各イベントレコードは、イベントＩＤ６０１、ノードＩＤ６０２、コンポーネントＩＤ６０３、イベントタイプ６０４、変更内容６０５、前回ポーリング時刻６０６及び今回ポーリング時刻６０７といった情報を保持する。
【００５０】
イベントＩＤ６０１は、イベントを一意に識別する識別子である。ノードＩＤ６０２は、イベントに関連するノードの識別子である。コンポーネントＩＤ６０３は、検出エレメントＩＤの一例であり、イベントに関連するコンポーネントの識別子である。イベントタイプ６０４は、イベントのタイプである。イベントのタイプとしては、例えば、コンポーネントに対する変更、追加又は削除等がある。変更内容６０５は、コンポーネントに対して行った変更の内容であり、具体的には、例えば、前回ポーリング時刻で収集された情報である情報Ｘ（第１情報の一例）と今回ポーリング時刻で収集された情報である情報Ｙ（第２情報の一例）との差分から得られた内容である。前回ポーリング時刻６０６は、レコードが表す構成変更の基になる情報Ｘが収集されたポーリングのポーリング時刻である前回ポーリング時刻を表す。前回ポーリング時刻は、第１の収集開始時刻の一例である。今回ポーリング時刻６０７は、レコードが表す構成変更の基になる情報Ｙが収集されたポーリングのポーリング時刻である今回ポーリング時刻を表す。今回ポーリング時刻は、第２の収集開始時刻の一例である。
【００５１】
今回ポーリング時刻を、Ｎ回目のポーリングのポーリング時刻とした場合（Ｎは２以上の整数）、前回ポーリング時刻は、（Ｎ−１）回目のポーリングのポーリング時刻である。Ｎ回目のポーリングにおいて管理サーバプログラム５４１により追加されたイベントレコードが表す構成変更は、Ｎ回目のポーリングにより収集された第２情報と、（Ｎ−１）回目のポーリングにより収集された第１情報との差分が表す構成変更である。管理サーバプログラム５４１が、第２情報と第１情報とを比較することにより、第１情報と第２情報との差分を特定できる。
【００５２】
図７は、マッチングルールテーブル２２０の構成を示す。
【００５３】
マッチングルールテーブル２２０は、マッチングルールに関する情報を保持するテーブルである。マッチングルールテーブル２２０は、マッチングルール毎にレコードを保持する。マッチングルールテーブル２２０のレコードを「マッチングルールレコード」と言うことがある。各マッチングルールレコードは、ルールＩＤ７０１、対象コンポーネントタイプ７０２、仮想変更レコード作成方法７０３及び変更タイプ７０４といった情報を保持する。
【００５４】
ルールＩＤ７０１は、マッチングルールを一意に識別する識別子である。対象コンポーネントタイプ７０２は、マッチングルールを適用する変更レコード（後述）を特定するための情報であり、変更レコードが表す構成変更を行うコンポーネントのタイプである。仮想変更レコード作成方法７０３は、仮想変更レコードの作成方法を表し、そのタイプとして、“結合”、“分割”及び“分割＆結合”がある。変更タイプ７０４は、マッチングルールを適用する変更レコードを特定するための情報であり、変更のタイプである。変更のタイプとしては、例えば、コンポーネントに対する“追加”、“削除”及び“追加＆削除”がある。
【００５５】
図８は、変更テーブル２３０の構成を示す。
【００５６】
変更テーブル２３０は、構成変更に関する情報を保持するテーブルである。変更テーブル２３０は、構成変更毎にレコードを有する。変更テーブル２３０のレコードを「変更レコード」と言うことがある。各変更レコードは、変更ＩＤ８０１、コンポーネントＩＤ８０２、変更タイプ８０３、変更内容８０４及び変更詳細８０５といった情報を保持する。コンポーネントＩＤ８０２、変更タイプ８０３、変更内容８０４及び変更詳細８０５のうちの少なくとも変更詳細８０５は、手動で入力された情報である。手動入力は、テキスト入力でもよいし、プルダウンメニュー等のメニューからの選択等、種々の方法に従う入力でよい。
【００５７】
変更ＩＤ８０１は、変更レコードに割り振られた識別子である。コンポーネントＩＤ８０２は、構成変更が行われたコンポーネントの識別子である。変更タイプ８０３は、行われた構成変更のタイプである。変更のタイプとして、例えば、“変更”、“追加”及び“削除”がある。変更内容８０４は、構成変更の具体的な内容である。変更詳細８０５は、変更レコードが表す構成変更に関連する情報であって、その変更レコードが表す構成変更の時刻と同じかそれより古い前回ポーリング時刻とその次に新しい今回ポーリング時刻とでそれぞれ収集された情報からは特定不可能な情報である。具体的には、例えば、変更詳細８０５は、変更時刻８１１、タイトル８１２、変更者８１３及びイベントＩＤ８１４等のうちの変更時刻８１１を含む。変更時刻８１１は、構成変更の時刻である。タイトル８１２は、構成変更のタイトルである。変更者８１３は、構成変更を行った者のＩＤである。イベントＩＤ８１４は、変更レコードが表す構成変更としてのイベントの識別子である。変更詳細８０５は、変更時刻８１１以外の項目のうちの少なくとも１つに代えて又は加えて、構成変更の目的、構成変更の結果、構成変更の重要度、構成変更にかかる費用、構成変更の影響、構成変更を実施するかどうかの審議内容、及び、他の構成変更（他の変更レコード）との関連、のうちの少なくとも１つを表す項目（情報）を含んでもよい。
【００５８】
図９は、マッチングテーブル２４０の構成示す。
【００５９】
マッチングテーブル２４０は、イベントレコードと変更レコードとの関連付けであるレコード関連付けに関する情報を保持するテーブルである。マッチングテーブルは、レコード関連付け毎にレコードを保持する。以下、マッチングテーブルが保持するレコードを「マッチングレコード」と言うことがある。各マッチングレコードは、イベントＩＤ９０１及び変更ＩＤ９０２といった情報を保持する。イベントＩＤ９０１は、イベントレコードを一意に識別する識別子である。変更ＩＤ９０２は、変更レコードを一意に識別する識別子である。１つのマッチングレコードにおいて、イベントＩＤ及び変更ＩＤの各々は、１つでも複数でもよいが、典型的には、１つのイベントＩＤと１又は複数の変更ＩＤとが保持される。
【００６０】
以下、本実施形態で行われる処理の幾つかの例を説明する。
【００６１】
図１０は、マッチング全体処理の流れを示す。
【００６２】
マッチング全体処理とは、イベントレコードに変更レコードを関連付けるための処理、具体的には、マッチングレコードを作成するための処理である。
【００６３】
管理サーバプログラム５４１は、期間Ｔに属するイベントレコードを変更イベントテーブル２１４から取得し（Ｓ１００１）、且つ、期間Ｔに属する変更レコードを変更テーブル２３０から取得する（Ｓ１００２）。「期間Ｔ」は、マッチング対象の期間である。期間Ｔは、ユーザ（例えば管理者）から指定された期間であってよい。期間Ｔは、１以上のポーリング期間である。各ポーリング期間は、前回ポーリング時刻からその次の今回ポーリング時刻までの期間（但し今回ポーリング時刻を含まない）である。「期間Ｔに属するイベントレコード」は、期間Ｔに含まれるポーリング期間を表す前回ポーリング時刻６０６及び今回ポーリング時刻６０７を含んだイベントレコードである。「期間Ｔに属する変更レコード」は、期間Ｔに含まれる時刻を表す変更時刻８１１を含んだ変更レコードである。
【００６４】
Ｓ１００１で取得された全てのイベントレコードについて、ループＡが行われる。Ｓ１００２で取得された全ての変更レコードについて、ループＢが行われる。以下、１つのイベントレコード（図１０〜図１５の説明において「対象イベントレコード」）と１つの変更レコード（図１０及び図１１の説明において「対象変更レコード」）をそれぞれ例に取る。
【００６５】
管理サーバプログラム５４１は、対象イベントレコード内のイベントＩＤ６０１と対象変更レコード内のイベントＩＤ８１４が一致しているか判定する（Ｓ１００３）。
【００６６】
Ｓ１００３の判定結果が真の場合（Ｓ１００３：ＹＥＳ）、Ｓ１００７（マッチングしたか否かの判定）が行われる。なお、この場合、Ｓ１００７の判定結果も真となり（Ｓ１００７：ＹＥＳ）、管理サーバプログラム５４１は、対象イベントレコード内のイベントＩＤ６０１と対象変更レコード内の変更ＩＤ８０１とをそれぞれイベントＩＤ９０１及び変更ＩＤ９０２としてマッチングテーブル２４０のマッチングレコードに登録することになる（Ｓ１００８）。
【００６７】
Ｓ１００３の判定結果が偽の場合（Ｓ１００３：ＮＯ）、管理サーバプログラム５４１は、変更内容一致確認処理を実行する（Ｓ１００４）。
【００６８】
Ｓ１００４の結果、対象イベントレコード内の変更内容６０５と対象変更レコード内の変更内容８０４とが一致していれば（Ｓ１００５：ＹＥＳ）、管理サーバプログラム５４１は、Ｓ１００７（マッチングしたか否かの判定）が行われる。なお、この場合、Ｓ１００７の判定結果も真となり（Ｓ１００７：ＹＥＳ）、管理サーバプログラム５４１は、対象イベントレコード内のイベントＩＤ６０１と対象変更レコード内の変更ＩＤ８０１とをそれぞれイベントＩＤ９０１及び変更ＩＤ９０２としてマッチングテーブル２４０のマッチングレコードに登録することになる（Ｓ１００８）。
【００６９】
Ｓ１００４の結果、対象イベントレコード内の変更内容６０５と対象変更レコード内の変更内容８０４とが不一致であれば（Ｓ１００５：ＮＯ）、ループＢの終了後に（すなわち、Ｓ１００２で取得された全ての変更レコードについてＳ１００５まで行われた後に）、管理サーバプログラム５４１は、マッチング判定処理を実行する（Ｓ１００６）。
【００７０】
Ｓ１００３：ＹＥＳ、Ｓ１００５：ＹＥＳ、又はＳ１００６の後、管理サーバプログラム５４１は、Ｓ１００７（マッチングしたか否かの判定）を実行する。Ｓ１００７の判定結果が真の場合（Ｓ１００７：ＹＥＳ）、管理サーバプログラム５４１は、対象イベントレコード内のイベントＩＤ６０１と、対象イベントレコードにマッチングしたと判定された１以上の変更レコード内の１以上の変更ＩＤ８０１とを、それぞれ、イベントＩＤ９０１及び変更ＩＤ９０２としてマッチングテーブル２４０のマッチングレコードに登録する。
【００７１】
図１１は、変更内容一致確認処理（図１０のＳ１００４）の流れを示す。
【００７２】
管理サーバプログラム５４１は、対象イベントレコード内のコンポーネントＩＤ６０３と対象変更レコード内のコンポーネントＩＤ８０２が一致しているか否かを判定する（Ｓ１１０１）。
【００７３】
Ｓ１１０１の判定結果が真の場合（Ｓ１１０１：ＹＥＳ）、管理サーバプログラム５４１は、対象イベントレコード内のイベントタイプ６０４と対象変更レコード内の変更タイプ８０３が一致しているか否かを判定する（Ｓ１１０２）。
【００７４】
Ｓ１１０２の判定結果が真の場合（Ｓ１１０２：ＹＥＳ）、管理サーバプログラム５４１は、対象イベントレコード内の変更内容６０５と対象変更レコード内の変更内容８０４が一致しているか否かを判定する（Ｓ１１０３）。
【００７５】
Ｓ１１０３の判定結果が真の場合（Ｓ１１０３：ＹＥＳ）、管理サーバプログラム５４１は、一致という結果を戻す（Ｓ１１０４）。一方、Ｓ１１０１〜Ｓ１１０３のうちのいずれかの判定結果が偽の場合、管理サーバプログラム５４１は、不一致という結果を戻す（Ｓ１１０４）。
【００７６】
図１２は、マッチング判定処理（図１０のＳ１００６）の流れを示す。
【００７７】
管理サーバプログラム５４１は、マッチングルールテーブル２２０を取得し（Ｓ１２０１）、且つ、対象イベントレコード内のコンポーネントＩＤ６０３に対応するコンポーネントタイプ５０２をコンポーネントテーブル２１３から取得する（Ｓ１２０２）。具体的には、例えば、対象イベントレコードが、イベントＩＤ“E2”を含んだイベントレコードの場合、コンポーネントＩＤ６０３は“Server2/Memory2”である（図６参照）。同コンポーネントＩＤ６０３に対応したコンポーネントタイプ５０２は、“MEMORY”である（図５参照）。
【００７８】
管理サーバプログラム５４１は、取得したコンポーネントタイプ５０２と一致する対象コンポーネントタイプ７０２に対応したマッチングルールレコードをマッチングルールテーブル２２０から検索する（Ｓ１２０３）。例えば、取得したコンポーネントタイプ５０２が“MEMORY”の場合、対象コンポーネントタイプ７０２“MEMORY”に対応したマッチングルールレコードは、ルールＩＤ７０１として“R2”、“R3”及び“R4”をそれぞれ含んだ３つのマッチングルールレコードである（図７参照）。
【００７９】
Ｓ１２０３の結果、一致するマッチングルールレコードが１つも無ければ（Ｓ１２０４：ＮＯ）、管理サーバプログラム５４１は、マッチング失敗を戻す（Ｓ１２１２）。
【００８０】
Ｓ１２０３の結果、一致するマッチングルールが１つでもあれば（Ｓ１２０４：ＹＥＳ）、管理サーバプログラム５４１は、全ての一致するマッチングルールレコードについて、ループＣを実行する。以下、１つのマッチングルールレコード（図１２〜図１５の説明において「対象ルールレコード」）を例に取る。
【００８１】
管理サーバプログラム５４１は、対象ルールレコード内の仮想変更レコード作成方法７０３が“結合”の場合（Ｓ１２０５：ＹＥＳ）、結合マッチング処理を実行する（Ｓ１２０８）。例えば、対象ルールレコードが、ルールＩＤ７０１“R1”を含んだレコードの場合、仮想変更レコード作成方法７０３が“結合”なので、結合マッチング処理が実行される。
【００８２】
管理サーバプログラム５４１は、対象ルールレコード内の仮想変更レコード作成方法７０３が“分割”の場合（Ｓ１２０５：ＮＯ、Ｓ１２０６：ＹＥＳ）、分割マッチング処理を実行する（Ｓ１２０９）。例えば、対象ルールレコードが、ルールＩＤ７０１“R2”を含んだレコードの場合、仮想変更レコード作成方法７０３が“分割”なので、分割マッチング処理が実行される。
【００８３】
管理サーバプログラム５４１は、対象ルールレコード内の仮想変更レコード作成方法７０３が“分割＆結合”の場合（Ｓ１２０５：ＮＯ、Ｓ１２０６：ＮＯ、Ｓ１２０７：ＹＥＳ）、分割＆結合マッチング処理を実行する（Ｓ１２１０）。例えば、対象ルールレコードが、ルールＩＤ７０１“R4”を含んだレコードの場合、仮想変更レコード作成方法７０３が“分割＆結合”なので、分割＆結合マッチング処理が実行される。
【００８４】
Ｓ１２０８、Ｓ１２０９及びＳ１２１０のいずれかのマッチング処理において、マッチングに成功した場合（Ｓ１２１１：ＹＥＳ）、管理サーバプログラム５４１は、対象イベントレコードについて、マッチング成功を戻す（Ｓ１２１２）。一方、対象イベントレコードについていずれの一致のマッチングルールレコードについてもマッチングに失敗した場合、管理サーバプログラム５４１は、対象イベントレコードについて、マッチング失敗を戻す（Ｓ１２１２）。
【００８５】
図１３は、結合マッチング処理の流れを示す。
【００８６】
管理サーバプログラム５４１は、対象イベントレコード内のコンポーネントＩＤ６０３及び対象ルールレコード内の変更タイプ７０４とそれぞれ一致するコンポーネントＩＤ８０２及び変更タイプ８０３を含んだ変更レコードを検索する（Ｓ１３０１）。
【００８７】
Ｓ１３０１の結果、複数の変更レコードが見つからなければ（Ｓ１３０２：ＮＯ）、管理サーバプログラム５４１は、マッチング失敗を戻す（Ｓ１３０５）。
【００８８】
Ｓ１３０１の結果、複数の変更レコードが見つかれば（Ｓ１３０２：ＹＥＳ）、管理サーバプログラム５４１は、見つかった全ての変更レコード内の変更内容８０４を結合することにより１つの仮想変更レコードを作成する（Ｓ１３０３）。例えば、管理サーバプログラム５４１は、“Sever1/iSCSI_Disk1”というディスクに500GBを追加するという変更レコードと同じディスクに1TBを追加するという変更レコードがあった場合、500GBと1TBを結合させ、Sever1/iSCSI_Disk1というディスクに1.5TBを追加するという１つの仮想変更レコードを作成する。つまり、第１の変更レコード内の変更内容８０４“500GB追加”と、第２の変更レコード内の変更内容８０４“1TB追加”との結合により、変更内容“1.5TB追加”を含んだ１つの仮想変更レコードが作成される。この観点によれば、変更レコード内の変更内容８０４の構成として、“追加”及び“削除”等の内容タイプと、“500GB”、“1TB”等のパラメータ（数値）とを含んだ構成を採用することができる。同じ内容タイプに対応した複数のパラメータを結合（例えば加算）することが可能である。
【００８９】
その後、管理サーバプログラム５４１は、対象イベントレコード内の変更内容６０５と、Ｓ１３０３で作成された仮想変更レコード内の変更内容が一致しているか否かを判定する（Ｓ１３０４）。Ｓ１３０４の判定結果が偽の場合（Ｓ１３０４：ＮＯ）、管理サーバプログラム５４１は、マッチング失敗を戻す（Ｓ１３０５）。Ｓ１３０４の判定結果が真の場合（Ｓ１３０４：ＹＥＳ）、管理サーバプログラム５４１は、マッチング成功を戻す（Ｓ１３０５）。
【００９０】
図１４は、分割マッチング処理の流れを示す。
【００９１】
管理サーバプログラム５４１は、下記条件をすべて満たす変更レコードを取得する（Ｓ１４０１）。
・コンポーネントＩＤ８０２として複数の識別子を含んだ変更レコード。
・対象イベントレコード内のコンポーネントＩＤ６０３と一致する識別子を含んだコンポーネントＩＤ８０２を含んでいる変更レコード。
・対象ルールレコード内の変更タイプ７０４が表すタイプと一致するタイプを含んだ変更タイプ８０３を含む変更レコード。
【００９２】
Ｓ１４０１で変更レコードが１つも取得されなければ（Ｓ１４０２：ＮＯ）、管理サーバプログラム５４１は、マッチング失敗を戻す（Ｓ１４０７）。
【００９３】
Ｓ１４０１で１以上の変更レコードが取得されたならば（Ｓ１４０２：ＹＥＳ）、その取得された全ての変更レコードについて、ループＤが行われる。以下、１つの変更レコード（図１４の説明において「対象変更レコード」）を例に取る。なお、例えば、対象イベントレコードが、イベントＩＤ６０１“E3”を含んだイベントレコードの場合、上記条件を満たす変更レコードは、変更ＩＤ８０１“CI3”を含んだ変更レコードである（図６及び図８参照）。
【００９４】
管理サーバプログラム５４１は、対象変更レコード内のコンポーネントＩＤ８０２が含む複数の識別子にそれぞれ対応した複数の変更内容（変更内容８０４内の複数の変更内容）の各々について、仮想変更レコードを作成する。仮想変更レコードの構成は、変更レコードの構成と同じである。つまり、仮想変更レコードは、変更レコードが含む項目と同じ項目を含む。例えば、対象変更レコードが、変更ＩＤ８０１“CI3”を含んだ変更レコードの場合、管理サーバプログラム５４１は、“Server2/Memory3”に8G追加したという仮想変更レコードと、“Server3/Memory2”から8G削除したという仮想変更レコードとを作成する。その後、その作成された全ての仮想変更レコードについて、ループＥが行われる。以下、１つの仮想変更レコード（図１４の説明において「対象仮想変更レコード」）を例に取る。ループＥにおけるＳ１４０４〜Ｓ１４０６は、図１１のＳ１１０１〜Ｓ１１０３とそれぞれ同様の処理である。
【００９５】
すなわち、管理サーバプログラム５４１は、対象イベントレコード内のコンポーネントＩＤ６０３と対象仮想変更レコード内のコンポーネントＩＤが一致しているか否かを判定する（Ｓ１４０４）。
【００９６】
Ｓ１４０４の判定結果が真の場合（Ｓ１４０４：ＹＥＳ）、管理サーバプログラム５４１は、対象イベントレコード内のイベントタイプ６０４と対象仮想変更レコード内の変更タイプが一致しているか否かを判定する（Ｓ１４０５）。
【００９７】
Ｓ１４０５の判定結果が真の場合（Ｓ１４０５：ＹＥＳ）、管理サーバプログラム５４１は、対象イベントレコード内の変更内容と対象仮想変更レコード内の変更内容が一致しているか否かを判定する（Ｓ１４０６）。
【００９８】
Ｓ１４０６の判定結果が真の場合（Ｓ１４０６：ＹＥＳ）、管理サーバプログラム５４１は、マッチング成功という結果を戻す（Ｓ１４０７）。
【００９９】
図１５は、分割＆結合マッチング処理の流れを示す。
【０１００】
Ｓ１５０１〜Ｓ１５０３が行われる。Ｓ１５０１〜Ｓ１５０３は、図１４のＳ１４０１〜Ｓ１４０３とそれぞれ同じである。
【０１０１】
その後、Ｓ１５０４〜Ｓ１５０８が行われる。Ｓ１５０４〜Ｓ１５０８は、図１３のＳ１３０１〜Ｓ１３０５と同じである。但し、Ｓ１５０４〜Ｓ１５０８では、「変更レコード」は、変更レコード及び仮想変更レコードのいずれかである。また、Ｓ１５０８では、一致／不一致に代えて、マッチング成功／マッチング失敗が戻される。
【０１０２】
以下、実施形態を、図等を用いて総括する。なお、以下の説明では、適宜、実施形態の一変形例等が記載されてもよい。
【０１０３】
管理サーバプログラム５４１は、構成に関する情報をポーリング間隔で計算機システム１００から収集する。管理サーバプログラム５４１は、今回のポーリング期間で収集された情報と前回のポーリング期間で収集された情報とを比較する。それらの情報に差分があれば、管理サーバプログラム５４１は、その差分から特定される１以上の構成変更にそれぞれ対応した１以上のイベントレコード（構成情報エントリの一例）を作成できる。今回のポーリング期間で収集された情報と前回のポーリング期間で収集された情報とを比較することに代えて、収集された情報に、イベントレコード相当の情報が含まれていて、その情報の少なくとも一部がイベントレコードの少なくとも一部として登録されてもよい。特定された構成変更は、計算機システム１００に障害が発生した時の調査や影響範囲の特定などに用いられ得る。
【０１０４】
一般に、計算機システム１００が大規模又は複雑であると、障害の影響範囲が広く障害原因の特定が困難である。近年、例えば下記のうちの少なくとも１つが要因となり、計算機システムは大規模化及び複雑化している。
（＊）計算機システムでハンドルする処理が大規模化する。
（＊）クラウドサービスのように多数の処理が計算機システムによって実行される。
（＊）計算機システム内のノードのタイプが増えた。
（＊）ノードの内部構成が複雑になり、ノードを構成するコンポーネント（例えば論理的なコンポーネント及び物理的なコンポーネント）のタイプが増え、さらにこれらを管理する必要が出てきた。
（＊）仮想化技術（例えば、サーバ仮想化、ネットワーク仮想化、ストレージ仮想化、データセンタ仮想化）が浸透し、装置の分割や集約が可能となった。
（＊）デプロイ及びマイグレーション技術が進歩している。
【０１０５】
「大規模化」とは、計算機システムを構成するノード、当該ノードのコンポーネントといった、計算機システム内の管理対象となるエレメントの数が増えたことを指す。また、「複雑化」とは、管理対象エレメントのタイプが増加することによりエレメント間の関係がＭ：１、１：Ｎ、Ｍ：Ｎの関係となること（Ｍ及びＮはそれぞれ２以上の整数）、Ｍ及びＮのうちの少なくとも１つの値が大きくなること、及び、エレメント間の関係が時々刻々と変化すること、のうちの少なくとも１つを指す。
【０１０６】
ポーリング間隔は、計算機システム１００の規模（具体的には、計算機システム１００の規模に依存する情報量（収集対象の情報の量））に基づいて決定される。計算機システム１００の規模によって、ポーリング間隔は長い間隔（例えば「１日」）とされる。１回のポーリング（情報収集）に長い時間がかかってしまうからである。
【０１０７】
ポーリング間隔が長い場合、或るポーリング期間の間に複数回にわたって計算機システムの構成が変更されることがある。
【０１０８】
一比較例によれば、今回のポーリング期間に収集された情報と前回のポーリング期間に収集された情報との比較から、構成変更を検出できても、検出された構成変更の詳細（例えば、検出された構成変更が１回の構成変更の結果であるのか複数回の構成変更の結果であるのか）は、わからない。例えば、図１６に例示のように、或るポーリング期間ＰにおいてＶＭ１（仮想マシン１）の容量が複数回に渡って構成変更が行われた場合でも（例えば１０ＧＢの追加と９０ＧＢの追加といった２回の追加が行われた場合でも）、図１７に例示のように、容量変更が１回であったと認識されてしまう（１００ＧＢの追加といった１回の追加が行われたと認識されてしまう）。その結果、それら複数回の構成変更のうちのいずれかの構成変更によって障害が起きた場合でも、障害原因としての構成変更を特定することはできない。障害原因としての構成変更を特定できたとしても、その構成変更の詳細がわからない。このような理由から、一比較例によれば、障害対応に時間がかかってしまう等の問題がある。
【０１０９】
一方、構成変更が行われた場合、ユーザ（例えば変更者（構成変更を行った者））が、管理サーバ（例えば、構成管理サーバ及びＩＴプロセス管理サーバのうちのＩＴプロセス管理サーバ）に、変更レコード（変更情報エントリの一例）を登録する。具体的には、ユーザが、構成変更の詳細に関する情報を手動入力し、手動入力された情報の少なくとも一部を含んだ変更レコード（チケット）が登録される。変更レコードの一部の情報が自動入力された情報であることもある。変更レコードを登録する目的は、例えば、全ての構成変更を効率的かつ迅速に行うために、標準化された方法や手順が使われることを確実にすることと、変更に起因する問題が起きるのを避けるためである。変更レコードは、上述したように、コンポーネントＩＤ８０２、変更タイプ８０３及び変更内容８０４を含む。また、変更レコードは、上述したように、変更時刻８１１を含んだ変更詳細８０５を含む。変更詳細８０５は、上述したように、変更時刻８１１以外の項目のうちの少なくとも１つに代えて又は加えて、構成変更の目的、構成変更の結果、構成変更の重要度、構成変更にかかる費用、構成変更の影響、構成変更を実施するかどうかの審議内容、及び、他の構成変更（他の変更レコード）との関連、のうちの少なくとも１つを表す項目（情報）を含んでもよい。
【０１１０】
ポーリング間隔で取得された情報を基に取得されるイベントレコードと、手動入力された情報を含んだ変更レコードには、違いがある。
【０１１１】
イベントレコードは、図１８に例示のように、ポーリング期間毎に、そのポーリング期間で収集された情報と前回のポーリング期間で収集された情報との差分に基づき機械的に（自動的に）取得可能なレコードである。例えば、イベントレコード１８Ａ１、１８Ａ２、１８Ａ３、…は、ポーリング期間Ｐ１で収集された情報と前回のポーリング期間（図示せず）で収集された情報とに基づき取得されたレコードである。イベントレコード１８Ｂ１、１８Ｂ２、…は、ポーリング期間Ｐ２で収集された情報と前回のポーリング期間Ｐ１で収集された情報とに基づき取得されたレコードである。ポーリング期間Ｐ１は、ポーリング時刻ｔ１〜ポーリング時刻ｔ２（但しｔ２を含まない）期間であり、ポーリング期間Ｐ２は、ポーリング時刻ｔ２〜ポーリング時刻ｔ３（但しｔ３を含まない）期間である。各ポーリング期間は、ポーリング間隔相当の長さである。
【０１１２】
一方、変更レコードは、図１９に例示のように、構成変更が行われた場合に登録され、ポーリング間隔に依存しない。例えば、変更レコード１９Ａ〜１９Ｅの各々は、構成変更がユーザ（例えば変更者）によって行われた場合にそのユーザ（又は別のユーザ（例えば管理者））によって登録される。
【０１１３】
上述のように、イベントレコードは、ポーリング間隔で収集された情報に基づき自動で取得されるレコードであり、この観点から、網羅性があると言える。一方、変更レコードは、収集された情報からは特定できない情報を含んだ詳細な情報を含むが、構成変更が行われても入力忘れによって登録されていないこともあり、この観点から、網羅性が無いと言える。
【０１１４】
そこで、本実施形態では、管理サーバプログラム５４１が、比較的粗いが網羅性のあるイベントレコード内の１以上の項目と、網羅性が無いが比較的詳細である変更レコード内の１以上の項目とから、互いに関連性のあるイベントレコード及び変更レコードを特定し、少なくとも１つのイベントレコードに対して少なくとも１つの変更レコードを関連付ける。図２０の例示によれば、イベントレコード１８Ａ１、１８Ａ２及び１８Ａ３に、それぞれ、変更レコード１９Ａ、１９Ｂ及び１９Ｃが関連付けられ、イベントレコード１８Ｂ１及び１８Ｂ２に、それぞれ、変更レコード１９Ｄ及び１９Ｅが関連付けられる。これにより、ポーリング間隔で収集された情報に基づき自動で取得されたイベントレコードが表す構成変更についての詳細をユーザ（例えば管理者）が知ることができる。
【０１１５】
イベントレコードに対して変更レコードが関連付けられる利点として、例えば、下記の２つが考えられる。
（利点１）変更レコードのみでは網羅できない構成変更を網羅することができる。
（利点２）計算機システム１００が大規模又は複雑である場合、登録される変更レコードは多いと考えられるが、イベントレコードを用いて変更レコードを絞り込むことができ、故に、必要となる変更レコードを特定するのが容易である。
【０１１６】
なお、１つのイベントレコードに一意的に１つの変更レコードが関連付けられるとは限らない。
【０１１７】
例えば、図２１に例示の一比較例によれば、同一のポーリング期間について、“ＶＭ１に１０ＧＢ追加”を表す変更レコード１９Ｘ１と、“ＶＭ１に９０ＧＢ追加”を表す変更レコード１９Ｘ２は、“ＶＭ１に１００ＧＢ追加”を表すイベントレコード１８Ｘに対応するものの、それらの変更レコード１９Ｘ１及び１９Ｘ２の各々は、１：１には、イベントレコード１８Ｘには対応しない。つまり、イベントレコード１８Ｘから、２回の容量追加があったことはわからない。
【０１１８】
また、例えば、図２２に例示の一比較例によれば、同一のポーリング期間Ｐにおいて、ＨＶ＃１〜ＨＶ＃３（複数のハイパーバイザの一例）間で、ＶＭが複数回移動されても、イベントレコードからは、ＶＭの正確な移動はわからない。具体的には、ＶＭ１が、ＨＶ＃１からＨＶ＃３に移動し、ＨＶ＃３からＨＶ＃２に移動した場合、イベントレコードからは、ＶＭ１は、ＨＶ＃１からＨＶ＃２に移動したと判断される。また、ＶＭ２が、ＨＶ＃３からＨＶ＃１に移動し、ＨＶ＃１からＨＶ＃２に移動し、ＨＶ＃２からＨＶ＃３に移動した場合、ＶＭ２が移動したことを表すイベントレコードは取得されない。ＶＭ２は、ＨＶ＃３から移動していないと判断されるためである。
【０１１９】
そこで、本実施形態では、図２１及び図２２に例示の場合であってもイベントレコード１８と変更レコード１９とをマッチングさせるために、図２３に示すように、管理サーバプログラム５４１が、マッチングルールテーブル２２０を用いたマッチング判定処理（図１０のＳ１００６）を実行する。これにより、１以上の変更レコード１９の少なくとも一部が仮想化された仮想変更レコード２３が作成され、管理サーバプログラム５４１が、仮想変更レコード２３を用いて、仮想変更レコード２３の基になった１以上の変更レコードに関連した１以上のイベントレコード１８を特定できる。具体的には、例えば、図２３に例示のように、管理サーバプログラム５４１が、上述の変更レコード１９Ｘ１及び１９Ｘ２を結合することにより、“ＶＭ１に１００ＧＢ追加”を表す仮想変更レコード２３Ｘを作成する。仮想変更レコード２３Ｘ内の“１００ＧＢ”は、変更レコード１９Ｘ１内の“１０ＧＢ”と変更レコード１９Ｘ２内の“９０ＧＢ”との合計である。この結果、図２４に例示のように、変更レコード１９Ｘ１及び１９Ｘ２が仮想化された仮想変更レコード２３Ｘが、イベントレコード１８Ｘにマッチすることとなる。
【０１２０】
なお、変更レコード１９の仮想化方法（仮想変更レコード作成方法）は、“結合”だけでなく、“分割”及び“分割＆結合”のような他種の仮想化方法もある。例えば、図２２に例示のケースでは、ＶＭ１及びＶＭ２の各々について、ＶＭ移動のための各操作が変更レコード１９として作成されていれば、仮想化方法として“結合”を採用できる。しかし、しかし、ＶＭ１をＨＶ＃１からＨＶ＃３へ移動させるという操作と、ＶＭ２をＨＶ＃３からＨＶ＃１へ移動させるという操作が１つの変更レコードに記述されている場合、仮想化方法“結合”だけでは、ＶＭ１をＨＶ＃１からＨＶ＃２へ移動させるという仮想変更レコード２３を作成することができない。そこで、１つの変更レコードを分割した上で結合するという仮想化方法である“分割＆結合”を採用し、その仮想化方法に従い作成された仮想変更レコード２３を用いたマッチング判定を行うことで、適切なマッチングを行うことができる。
【０１２１】
変更レコード１９は、コンポーネントＩＤ８０２、変更タイプ８０３及び変更内容８０４の他に、変更時刻８１１を含んだ変更詳細８０５を含んでいる。このような変更レコード１９が、イベントレコード１８に関連付けられる。管理サーバプログラム５４１は、イベントレコードに関連付いている変更レコードを特定し、そのイベントレコードが表す情報と、そのイベントレコードに関連付いている特定された変更レコードが表す情報（イベントレコードが持っていない詳細な情報のうちの少なくとも一部を含んだ情報）とを表示できる。表示された情報を見たユーザ（例えば管理者）は、例えば下記のうちの少なくとも１つを知ることができる。
・イベントレコード１８に対応した実際の１以上の構成変更の各々の変更時刻。
・イベントレコード１８に対応した実際の１以上の構成変更の各々について、変更者と、構成変更の理由。
・イベントレコード１８が表す１つの構成変更が、実際には複数の構成変更の結果であるか否か。（この点は、変更した構成をロールバックするのに使用することが期待できる。）
・イベントレコードの変更内容は毎回同じだが、変更者が変わっている等の情報。
【０１２２】
以上、一実施形態を説明したが、本発明は、その実施形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上述の実施形態が有用な環境の一例として、次の環境が考えられる。
【０１２３】
すなわち、計算機システム１００（例えば、クラウドシステム）について、複数の利用者が存在し、インフラは、複数の利用者がいる計算機システム１００である。ユーザとして、利用者（インフラの利用者）、変更者（インフラのオペレータ又は専門の技術者）、及び、管理者（インフラの管理者）がいる。インフラの変更タイミングは、任意である。具体的には、利用者が追加されたり（例えば、管理すべきノードが追加されたり）、利用者の依頼によりノードの構成変更が行われたりするが、そのタイミングは任意である。このため、通常、インフラの変更は管理者ではなく変更者により行われたり、インフラ変更を自動的に行うシステムが使用されたりする。管理者が必ずしも変更をリアルタイムで監視するわけではない。
【０１２４】
このような環境では、インフラで障害が発生した場合、インフラ変更を行ったタイミングが詳細に把握できることで、障害の原因調査のため、調査すべき範囲（例えば、時間、対象及び関連ノード）が絞りやすい。
【０１２５】
また、変更理由を、障害の対処方法の検討に利用できる。例えば、顧客の重要度などから対処する優先度を決めることができる。また、対処の粒度を細かく調整できる。具体的には、例えば、構成管理上１００ＧＢだが、変更は９０ＧＢと１０ＧＢに分けることで、１０ＧＢのみ元に戻すといったことも可能である。
【符号の説明】
【０１２６】
５５７：管理サーバ
【図１】
2017154063.tif 000003
【図２】
2017154063.tif 000004
【図３】
2017154063.tif 000005
【図４】
2017154063.tif 000006
【図５】
2017154063.tif 000007
【図６】
2017154063.tif 000008
【図７】
2017154063.tif 000009
【図８】
2017154063.tif 000010
【図９】
2017154063.tif 000011
【図１０】
2017154063.tif 000012
【図１１】
2017154063.tif 000013
【図１２】
2017154063.tif 000014
【図１３】
2017154063.tif 000015
【図１４】
2017154063.tif 000016
【図１５】
2017154063.tif 000017
【図１６】
2017154063.tif 000018
【図１７】
2017154063.tif 000019
【図１８】
2017154063.tif 000020
【図１９】
2017154063.tif 000021
【図２０】
2017154063.tif 000022
【図２１】
2017154063.tif 000023
【図２２】
2017154063.tif 000024
【図２３】
2017154063.tif 000025
【図２４】
2017154063.tif 000026
【国際調査報告】
2017154063.tif 000027
2017154063.tif 000028