(57)【要約】  計算機システムにおいて生じるイベントの種類として、性能データの表示が将来要求されることになるイベントタイプが予め定義される。管理システムが、性能データの表示が将来要求されることになると定義されたイベントタイプに属するイベントの発生を検出した場合に、検出されたイベントが発生したコンポーネントであるイベントコンポーネントと、イベントコンポーネントに直接的又は間接的に接続されているコンポーネントである関連コンポーネントとのうちの少なくとも１つを、先読み対象として選択する。選択されたコンポーネントの性能データがメモリに無い場合、管理システムは、選択されたコンポーネントの性能データを性能ストアからメモリに読み出しておく。
2016194119.tif 000002
【特許請求の範囲】
【請求項１】
複数のコンポーネントを含んだ計算機システムの管理システムであって、
メモリを含む記憶部と、
前記複数のコンポーネントの性能データのうち表示対象の性能データが前記メモリに無い場合、前記複数のコンポーネントの性能データが格納されているストアである性能ストアから前記表示対象の性能データを前記メモリに読み出し、前記メモリ内の表示対象の性能データを表示するプロセッサと
を有し、
前記プロセッサが、性能データの表示が将来要求されることになると定義されたイベントタイプに属するイベントの発生を検出した場合に、
（Ａ）イベントコンポーネントの関連コンポーネントのうちの少なくとも１つを、先読み対象として選択し、前記イベントコンポーネントは、前記イベントが発生したコンポーネントであり、前記関連コンポーネントは、前記イベントコンポーネントに直接的又は間接的に接続されているコンポーネントであり、
（Ｂ）前記イベントコンポーネントの性能データの他に、前記選択された関連コンポーネントの性能データを前記性能ストアから前記メモリに読み出しておく、
管理システム。
【請求項２】
各性能データは、時刻と性能値とを含み、
前記記憶部は、前記イベントタイプに属するイベントが発生した時刻とそのイベントが発生したコンポーネントとを表す情報であるイベント履歴情報を記憶し、
前記プロセッサは、（Ａ）において、
（ａ１）性能値の傾向が所定度合以上に変化した時刻である変化時刻を、前記イベントコンポーネントの時系列の性能データを基に特定し、
（ａ２）前記関連コンポーネントのうちの、前記変化時刻を基準とした時間帯に前記イベントタイプに属するイベントが発生した関連コンポーネントを、前記イベント履歴管理情報を基に特定し、
（Ａ）において先読み対象として選択された関連コンポーネントは、（ａ２）で特定されたコンポーネントのうちの少なくとも１つである、
請求項１記載の管理システム。
【請求項３】
前記プロセッサは、
前記イベントの発生を検出した場合に、前記イベントコンポーネントの前記時系列の性能データを前記性能ストアから前記メモリに読み出しておき、
（ａ１）では、前記メモリ内の前記時系列の性能データを基に前記変化時刻を特定し、
その後の（Ｂ）で、（Ａ）において先読み対象として選択された関連コンポーネントの性能データを前記メモリに読み出しておく、
請求項２記載の管理システム。
【請求項４】
（ａ２）で特定された関連コンポーネントの各々と、性能データがメモリに格納済のコンポーネントの各々とについて、前記プロセッサによりスコアが算出され、
（Ａ）において先読み対象として選択されたコンポーネントは、算出されたスコアに基づいており、
スコア算出対象のコンポーネントについて算出されたスコアは、（ｓ１）〜（ｓ３）のうちの少なくとも１つ、
（ｓ１）そのコンポーネントと前記イベントコンポーネント間のホップ数、
（ｓ２）前記トポロジーの複数のレイヤのうちそのコンポーネントが属するレイヤの高さ、
（ｓ３）そのコンポーネントについてイベント発生時刻より過去に発生したイベントが属するイベントタイプ、
に基づいている。
請求項３記載の管理システム。
【請求項５】
前記記憶部は、前記性能ストアから前記メモリに読み出された性能データに対応したコンポーネントのＩＤとそのＩＤの登録時刻とが登録されるメモリ管理情報とを記憶し、
前記プロセッサは、性能データが前記性能ストアから前記メモリに読み出されたコンポーネントの情報を前記メモリ管理情報に追加するようになっており、
前記プロセッサは、スコアが相対的に低い格納済コンポーネントについて、性能データを前記メモリから削除し、
前記格納済コンポーネントの各々について算出されたスコアは、その格納済コンポーネントの情報が前記メモリ管理情報に登録された時点のスコアと、その格納済コンポーネントに対応した登録時刻からの経過時間と、その格納済コンポーネントが前記関連コンポーネントに含まれているか否かとに基づいて算出されたスコアである、
請求項３記載の管理システム。
【請求項６】
前記プロセッサは、前記時間帯に保守点検が予定されているコンポーネントについて、性能データを前記メモリから削除する、スコアを変更しない、又はスコアを最低値にする、
請求項５記載の管理システム。
【請求項７】
各コンポーネントのスコアは、
（ｓ１）に基づく場合、そのコンポーネントと前記イベントコンポーネント間のホップ数が相対的に小さいと、高い傾向にあり、
（ｓ２）に基づく場合、そのコンポーネントが属するレイヤが相対的に低いと、高い傾向にあり、
（ｓ３）に基づく場合、そのコンポーネントについて発生したイベントが属するイベントタイプが障害であると、そのコンポーネントについて発生したイベントが属するイベントタイプが構成変更であることに比して、高い傾向にある、
請求項４記載の管理システム。
【請求項８】
前記イベントタイプとして、障害と、構成変更とがあり、
前記時間帯は、前記イベントタイプが構成変更であると、前記イベントタイプが障害であることに比べて、長い、
請求項２記載の管理システム。
【請求項９】
前記計算機システムは、複数のネットワークスイッチに接続されたストレージ装置及び計算機を含み、
少なくとも１つの計算機において、少なくとも１つのストレージ装置が提供する複数の論理ボリュームに対して入出力を行う複数の仮想計算機が実行され、
前記複数のコンポーネントは、複数の仮想計算機を含む、
請求項１記載の管理システム。
【請求項１０】
複数のコンポーネントを含んだ計算機システムの管理システムにより、前記複数のコンポーネントのうちの少なくとも１つで発生したイベントであって、性能データの表示が将来要求されることになると定義されたイベントタイプに属するイベントの発生を検出し、前記管理システムは、前記複数のコンポーネントの性能データのうち表示対象の性能データが、前記管理システムのメモリに無い場合、前記複数のコンポーネントの性能データが格納されているストアである性能ストアから前記表示対象の性能データを前記計算機システムの管理システムのメモリに読み出して表示するようになっており、
前記イベントが検出された場合、
（Ａ）イベントコンポーネントの関連コンポーネントのうちの少なくとも１つを、先読み対象として選択し、前記イベントコンポーネントは、前記イベントが発生したコンポーネントであり、前記関連コンポーネントは、前記イベントコンポーネントに直接的又は間接的に接続されているコンポーネントであり、
（Ｂ）前記イベントコンポーネントの性能データの他に、前記選択された関連コンポーネントの性能データを前記性能ストアから前記メモリに読み出しておく、
管理方法。
【請求項１１】
複数のコンポーネントを含んだ計算機システムの管理システムであり、前記複数のコンポーネントの性能データのうち表示対象の性能データが、前記管理システムのメモリに無い場合、前記複数のコンポーネントの性能データが格納されているストアである性能ストアから前記表示対象の性能データを前記計算機システムの管理システムのメモリに読み出して表示するようになっている管理システム、で実行されるコンピュータプログラムであって、
前記複数のコンポーネントのうちの少なくとも１つで発生したイベントであって、性能データの表示が将来要求されることになると定義されたイベントタイプに属するイベントの発生を検出し、
前記イベントが検出された場合、
（Ａ）イベントコンポーネントの関連コンポーネントのうちの少なくとも１つを、先読み対象として選択し、前記イベントコンポーネントは、前記イベントが発生したコンポーネントであり、前記関連コンポーネントは、前記イベントコンポーネントに直接的又は間接的に接続されているコンポーネントであり、
（Ｂ）前記イベントコンポーネントの性能データの他に、前記選択された関連コンポーネントの性能データを前記性能ストアから前記メモリに読み出しておく、
ことを前記管理システムに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、計算機システムの管理に関する。
【背景技術】
【０００２】
計算機システムの大規模化／複雑化に伴って、計算機システム内のコンポーネント（例えば物理的又は仮想的な機器）をいかに管理（例えば監視）するかが重要となっている。例えば、或るコンポーネントに障害が発生した場合、障害は他のコンポーネントに波及するため、管理画面（例えばＧＵＩ（Graphical User Interface））上では、実際に障害が発生したコンポーネントより多くのコンポーネントで障害が発生したように見える。そのため、管理者は、管理画面に表示された情報を参照しながら、どのコンポーネントが根本的な障害の原因となっているかや障害の影響範囲を分析する。【０００３】
障害が発生したコンポーネントと関連性のあるコンポーネント（正確には、例えばコンポーネントのオブジェクト）を表示したり、コンポーネント（例えば管理者から指定されたコンポーネント）の性能データを表示したりすることが、管理者による分析の一助となる（例えば、根本原因を探るヒントとなる情報の表示となる）。【０００４】
ここで、管理画面に表示される対象となる性能データが、表示が必要とされた時点（例えば、コンポーネントがユーザから指定された時点）には、管理システムのメモリ（例えばキャッシュメモリ）にあることが望ましい。表示が必要とされた時点から短時間で性能データを表示できるからである。【０００５】
しかし、管理対象の計算機システムが大規模又は複雑であれば、通常、管理システムのメモリに、その計算機システムの全てのコンポーネントの性能データを格納しておくことはできない。メモリの容量よりも、計算機システムのコンポーネントの性能データの総量の方が多いためである（その総量は、コンポーネントの数等に依存するが、例えば、数百ギガバイト〜数テラバイトである）。そのため、一般に、性能データは、メモリより容量の大きいストア（１以上の記憶デバイス）に格納され、そのストアから、表示対象の性能データがメモリに読み出される。【０００６】
特許文献１の技術では、管理計算機が、記憶装置内のファイルにアクセスする計算機のアクセス履歴を基に、記憶装置に、その計算機がアクセスし得るファイルを記憶装置のキャッシュメモリに先読みさせる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開2005-157711号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１の先読み技術を利用しても、表示対象とされる性能データを先読み対象として選択すること（別の言い方をすれば、表示対象とされる性能データを予測すること）は難しい。理由は、例えば次の通りである。一般に、性能データは、定期的又は不定期的に収集（例えば測定）され、結果として、増えていくデータである（例えば、異なる複数の時点でそれぞれ収集された複数の性能データが複数の時系列データ、すなわちストリームデータである）。このため、複数のコンポーネントの複数の性能データのうち同一の性能データが繰り返し表示対象とされる可能性は低い。また、時系列の複数の性能データが表す性能値は時間によって異なっている。故に、表示対象とされる性能データをアクセス履歴に基づいて予測することは難しい。
【課題を解決するための手段】
【０００９】
計算機システムにおいて生じるイベントの種類として、性能データの表示が将来要求されることになるイベントタイプが予め定義される。管理システムが、性能データの表示が将来要求されることになると定義されたイベントタイプに属するイベントの発生を検出した場合に、検出されたイベントが発生したコンポーネントであるイベントコンポーネントに直接的又は間接的に接続されているコンポーネントである関連コンポーネントのうちの少なくとも１つとを、先読み対象として選択する。選択されたコンポーネントの性能データがメモリに無い場合、管理システムは、選択されたコンポーネントの性能データを性能ストアからメモリに読み出しておく。なお、「選択されたコンポーネントの性能データがメモリに無い場合」とは、選択されたコンポーネントの全ての性能データがメモリに無い場合であってもよいし、選択されたコンポーネントの一部の性能データがメモリに無い場合であってもよい。後者の場合、先読みされる性能データは、その一部の性能データのみでもよいし、選択されたコンポーネントの全ての性能データであってもよい。
【発明の効果】
【００１０】
管理対象の計算機システムの複数のコンポーネントの性能データのうち表示対象とされる性能データの先読みの精度を向上することができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態に係る計算機システム及び管理計算機の構成例を示す。
【図２】サーバの仮想コンポーネントの一例を示す。
【図３】ストレージの仮想コンポーネントの一例を示す。
【図４】構成テーブルの構成例を示す。
【図５】構成変更履歴テーブルの構成例を示す。
【図６】操作履歴テーブルの構成例を示す。
【図７】障害発生履歴テーブルの構成例を示す。
【図８】先読み管理テーブルの構成例を示す。
【図９】先読み制御処理の流れの一例を示す。
【図１０】処理Ａの流れの一例を示す。
【図１１】処理Ｂの流れの一例を示す。
【図１２】処理Ｃの流れの一例を示す。
【図１３】処理ＢのＳ１００３及びＳ１００４（処理ＣのＳ１１０３及びＳ１１０４）の説明図の一例を示す。
【図１４】実施形態に係る管理計算機の概要を示す。
【発明を実施するための形態】
【００１２】
以下の説明では、「ａｂｃテーブル」の表現にて情報を説明することがあるが、情報は、テーブル以外のデータ構成で表現されていてもよい。データ構成に依存しないことを示すために「ａｂｃテーブル」のうちの少なくとも１つを「ａｂｃ情報」と呼ぶことができる。また、以下の説明において、各テーブルの構成は一例であり、１つのテーブルは、２以上のテーブルに分割されてもよいし、２以上のテーブルの全部又は一部が１つのテーブルであってもよい。
【００１３】
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ（例えばＣＰＵ（Central  Processing  Unit））によって実行されることで、定められた処理を、適宜に記憶資源（例えばメモリ）及び／又は通信インターフェースデバイス（例えば通信ポート）等を用いながら行うため、処理の主語がプロセッサとされてもよい。プログラムを主語として説明された処理は、プロセッサあるいはそのプロセッサを有する装置が行う処理としてもよい。また、プロセッサは、処理の一部または全部を行うハードウエア回路を含んでもよい。プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサ（例えばＣＰＵ）と記憶資源を含み、記憶資源はさらに配布プログラムと配布対象であるプログラムとを記憶している。そして、プログラム配布サーバのプロセッサが配布プログラムを実行することで、プログラム配布サーバのプロセッサは配布対象のプログラムを他の計算機に配布する。
【００１４】
また、管理システムは、一以上の計算機で構成されてよい。具体的には、例えば、管理計算機が情報を表示する場合（具体的には、管理計算機が自分の表示デバイスに情報を表示する、或いは、管理計算機が表示用情報を遠隔の表示用計算機に送信する場合）、管理計算機が管理システムである。また、例えば、複数の計算機で管理計算機と同等の機能が実現されている場合は、当該複数の計算機（表示を表示用計算機が行う場合は表示用計算機を含んでよい）が、管理システムである。計算機への情報の入力や、計算機からの情報の出力は、計算機が有する入出力デバイスにより行われてよい。入出力デバイスの例としては、表示デバイス、キーボード及びポインティングデバイスが考えられるが、これらのうちの少なくとも１つに代えて又は加えて別のデバイスが採用されてよい。また、入出力デバイスの代替として、シリアルインターフェースデバイスやイーサーネットインターフェースデバイス（イーサネットは登録商標）が採用され、そのようなインターフェースデバイスに、表示デバイスとキーボード及びポインティングデバイスとを有する表示用計算機が接続され、計算機が表示用情報を表示用計算機に送信したり、計算機が入力用情報を表示用計算機から受信したりすることで、情報の出力（例えば表示）及び入力が行われてよい。
【００１５】
また、以下の説明において、「コンポーネント」とは、計算機システムのエレメント（例えば特に管理対象）を意味し、具体的には、計算機システムを構成する複数のノード（装置）の各々、及び、各ノードが有する複数のモジュールの各々の総称である。ノードとして、物理的なノード（例えばネットワークスイッチ）もあれば仮想的なノード（例えば仮想計算機）もある。同様に、モジュールとして、物理的なモジュール（例えばマイクロプロセッサ）もあれば仮想的なモジュール（例えばＬＤＥＶ（論理ボリューム））もある。
【００１６】
また、以下の説明において、コンポーネントの「関連コンポーネント」（コンポーネントに関連するコンポーネント）とは、コンポーネントに直接的又は間接的に接続したコンポーネントである。コンポーネントに関連コンポーネントが「直接的に」接続している場合、コンポーネントと関連コンポーネントの間に他のコンポーネントが介在せず（ホップ数＝１）、コンポーネントに関連コンポーネントが「間接的に」接続している場合、コンポーネントと関連コンポーネントの間に他の１以上のコンポーネントが介在する（ホップ数＝２以上の整数）。コンポーネントよりも上位の関連コンポーネントを、「上位関連コンポーネント」と言うことができ、コンポーネントよりも下位の関連コンポーネントを、「下位関連コンポーネント」と言うことができる。また、上位関連コンポーネントのうち、コンポーネントに直接的に接続している関連コンポーネントを「親コンポーネント」と言うことができ、下位関連コンポーネントのうち、コンポーネントに直接的に接続している関連コンポーネントを「子コンポーネント」と言うことができる。なお、「上位／下位」や「親／子」の概念は、ユーザ（管理者）が何を管理（例えば監視）する立場であるかによって変化する場合があり、また省略されてもかまわない。例えば、関連が、サーバとストレージシステムとのＦＣ（Fibre  Channel）スイッチを介した「接続関係」の場合、単に接続されているというレベルで見ればサーバとストレージシステムはどちらが上位や親かは一意に定まるものではなく、ユーザの立場によってサーバを上位と考えるか、ストレージシステムを上位と考えるか、又は上下という概念を持ち込まないかが決まってよい。一方、関連が、包含（例えばノードがコンポーネントを含む）場合は、ノードの下位（又は子）はコンポーネントであるという概念はユーザの立場によらず共通である場合が多い。また、コンポーネントは、物理的なコンポーネントであることもあれば仮想的なコンポーネントであることもあるので、コンポーネント同士の接続は、物理的な接続（例えば、物理的なポート同士の接続）であることもあれば、論理的な接続（例えば、ＶＭ（仮想計算機）が論理ボリュームを認識すること）であることもある。
【００１７】
また、以下の説明では、計算機システムの管理画面としてのＧＵＩ（Graphical  User  Interface）に対してユーザ（例えば管理者）が入力デバイスを使用して行う操作を、「ユーザ操作」と言うことができる。ユーザ操作に使用される入力デバイスは、一般に、ポインティングデバイス或いはタッチスクリーンである。ユーザ操作の一例として、指定したコンポーネントの構成変更操作がある。
【００１８】
まず、本実施形態の概要を説明する。
【００１９】
近年、例えば下記のうちの少なくとも１つが要因となり、計算機システムは大規模化及び複雑化している。
（＊）計算機システムでハンドルする処理が大規模化する。
（＊）クラウドサービスのように多数の処理が計算機システムによって実行される。
（＊）計算機システム内のノードのタイプが増えた。
（＊）ノードの内部構成が複雑になり、ノードを構成するコンポーネント（例えば仮想的なコンポーネント及び物理的なコンポーネント）のタイプが増え、さらにこれらを管理する必要が出てきた。
（＊）仮想化技術（例えば、サーバ仮想化、ネットワーク仮想化、ストレージ仮想化、データセンタ仮想化）が浸透し、装置の分割や集約が可能となった。
（＊）デプロイ及びマイグレーション技術が進歩している。
【００２０】
ここで「大規模化」とは、計算機システムを構成するノード、当該ノードのコンポーネントといった、計算機システム内の管理対象となるコンポーネントの数が増えたことを指す。また、「複雑化」とは、管理対象コンポーネントのタイプが増加することによりコンポーネント間の関係がＭ：１、１：Ｎ、Ｍ：Ｎの関係となること（Ｍ及びＮはそれぞれ２以上の整数）、Ｍ及びＮのうちの少なくとも１つの値が大きくなること、及び、コンポーネント間の関係が時々刻々と変化すること、のうちの少なくとも１つを指す。
【００２１】
このような環境において、管理計算機は、管理画面（ＧＵＩ）に、コンポーネントのオブジェクト（例えば、アイコン、文字列等）を表示したり、管理画面を介して、ユーザからコンポーネントの性能データの表示の要求を受け付け、要求された性能データを表示したりする。ユーザは、管理画面を見て、コンポーネントの状態チェックや、障害分析等を行うことができる。
【００２２】
ここで、表示対象の性能データは、表示が必要とされた時点（例えば、コンポーネントがユーザから指定された時点）には、管理計算機のメモリ（例えばキャッシュメモリ）にあることが望ましい。表示が必要とされた時点から短時間で性能データを管理画面に表示できるからである。
【００２３】
しかし、計算機システムが大規模又は複雑であれば、通常、管理計算機のメモリに、その計算機システムの全てのコンポーネントの性能データを格納しておくことはできない。メモリの容量よりも、計算機システムのコンポーネントの性能データの総量の方が多いためである（その総量は、コンポーネントの数等に依存するが、例えば、数百ギガバイト〜数テラバイトである）。そのため、一般に、性能データは、メモリより容量の大きいストア（１以上の記憶デバイス（例えば補助記憶デバイス））に格納され、そのストア（以下、性能ストア）から、表示対象の性能データが管理計算機のメモリに読み出される。
【００２４】
表示対象とされる性能データを先読み対象として選択すること（別の言い方をすれば、表示対象とされる性能データを予測してメモリに先読みしておくこと）は難しい。理由は、例えば次の通りである。一般に、性能データは、定期的又は不定期的に収集（例えば測定）され、結果として、増えていくデータである（例えば、異なる複数の時点でそれぞれ収集された複数の性能データが複数の時系列データ、すなわちストリームデータである）。このため、複数のコンポーネントの複数の性能データのうち同一の性能データが繰り返し表示対象とされる可能性は低い。また、時系列の複数の性能データが表す性能値は時間によって異なっている。
【００２５】
そこで、本実施形態に係る管理計算機は、以下に説明する処理を行う。
【００２６】
図１４は、管理計算機の概要を示す。
【００２７】
管理計算機１３１（管理システムの一例）が管理する計算機システム１０１は、複数のコンポーネントを含む。図１４の例によれば、複数のコンポーネントは、ＩＰ−ＳＷ（インターネットプロトコルスイッチ）、ＶＭ（仮想計算機）、ＨＶ（ハイパバイザ）を含む。複数のコンポーネントは、異なる複数のコンポーネントタイプに属する。複数のコンポーネントタイプが、階層関係を有していて、複数のコンポーネントは、コンポーネントタイプの階層に沿ってツリー状に関連付けられている。ツリー状の構成が、複数のコンポーネントのトポロジーの構成の一例である。複数のコンポーネントタイプが階層関係を有しているので、各コンポーネントは、そのコンポーネントのコンポーネントタイプが属するレイヤに属する。
【００２８】
性能ストア１４６１が存在する。性能ストア１４６１は、複数のコンポーネントの性能データが格納されるストア（１以上の記憶デバイス）である。性能ストア１４６１内の性能データは、管理計算機１３１により収集され格納された性能データでもよいし、各コンポーネントにより格納された性能データでもよい。性能ストア１４６１は、典型的には、管理計算機１３１の外部のストア（例えば、通信ネットワーク１４７１を介してアクセスされるリモートのストア）であるが、管理計算機１３１内の補助記憶デバイスであってもよい。
【００２９】
本実施形態において、各コンポーネントについて、１件の性能データは、例えば、時刻（例えば測定時刻）、メトリックタイプ（例えば「メモリ使用率」）、及び、メトリック値（例えば６５％）を含む。同一のメトリックタイプについて一定の時間帯に属する時刻の複数の性能データがそれぞれ表す複数のメトリック値が時系列に並ぶことで、メトリック値の時系列の変化を把握することができる。各コンポーネントについて、所定の周期で（例えば、そのコンポーネントのコンポーネントタイプに応じた周期で）、又は、不定期的に、例えば管理計算機１３１のＣＰＵ１８６により、性能データが収集され、性能ストア１４６１に追加される。性能ストア１４６１内の性能データのうち、不要になった性能データ（例えば、現在時刻から一定時間以上前の時刻が記録されている性能データ）は、例えばＣＰＵ１８６により、性能ストア１４６１から削除されてよい。時系列の性能データが表すメトリック値の時系列変化から、計算機システム１０１においてコンポーネントが正常に稼働しているか否か等を把握できる。メトリックタイプとしては、ＣＰＵ使用率、メモリ使用率、ディスク使用率、スループット（単位時間当たりの処理量）及びレスポンスタイム等を採用することができる。メトリックタイプは、性能タイプの一例である。メトリック値は、性能値の一例である。
【００３０】
性能データの表示が将来要求されることになるイベントタイプが定義されている。そのように定義されたイベントタイプを表す情報が、例えば管理計算機１３１のメモリ１８４を含む記憶部に格納されている。本実施形態において、「性能データの表示が将来要求されることになると定義されたイベントタイプ」は、障害及び構成変更のいずれかである。
【００３１】
管理計算機１３１は、既存管理情報１４１１と先読み管理情報１４１２とを有する。既存管理情報１４１１は、本実施形態に係る先読み機能が無くても計算機システム１０１の管理のために使用される管理情報である。既存管理情報１４１１は、複数のコンポーネントのトポロジーの構成を表す情報を含む。既存管理情報１４１１は、更に、上記定義されたイベントタイプに属するイベントが発生した時刻とそのイベントが発生したコンポーネントとを表す情報であるイベント履歴情報を含む。先読み管理情報１４１２は、本実施形態に係る先読み機能により先読み対象として選択されたコンポーネントの性能データがメモリ１８４に先読みされたことを管理するための情報である。先読み管理情報１４１２は、例えば、コンポーネントのＩＤと、そのコンポーネントの性能データがメモリ１８４に読み出された時刻（登録時刻）等を含む。既存管理情報１４１１及び先読み管理情報１４１２は、メモリ１８４を含む記憶部に格納される。
【００３２】
管理計算機１３１のＣＰＵ１８６は、メモリ１８４に格納された情報を基に、管理画面（例えばＧＵＩ）１４００を表示する。管理画面１４００には、例えば、コンポーネントトポロジー１４０１が表示される。コンポーネントトポロジー１４０１は、例えば、基点コンポーネントのオブジェクト（図１４では太字枠のブロック）と基点コンポーネントの関連コンポーネントのオブジェクトとがマルチカラム形式で表示される。「基点コンポーネント」は、ユーザから選択（指定）されたコンポーネントであることもあれば、イベントコンポーネント（性能データの表示が将来要求されることになると定義されたイベントタイプに属するイベントが発生したコンポーネント）であることもある。ユーザから基点コンポーネントとして選択（指定）されたコンポーネントが、イベントコンポーネントであることもある。イベントコンポーネントは、ユーザからの指定により基点コンポーネントとなってもよいし、ユーザからの指定無しに基点コンポーネントとなってもよい。
【００３３】
ＣＰＵ１８６は、性能データの表示のためのユーザ操作を受け付ける。言い換えれば、ＣＰＵ１８６は、性能データの表示要求を、管理画面１４００経由（又は非経由）で受け付ける。例えば、ＣＰＵ１８６は、コンポーネント（図１４の例では、ＶＭ＃２）と、メトリックタイプ（図１４の例では、メモリ１８４使用量）とを、表示対象として、指定を受ける。その場合、ＣＰＵ１８６は、表示対象の性能データ（指定されたコンポーネントの性能データのうち、指定されたメトリックタイプに該当する性能データ）がメモリ１８４にキャッシュ済か否かを、先読み管理情報１４１２を参照して判断する（参照符号１４５０）。判断の結果が肯定の場合、ＣＰＵ１８６は、性能ストア１４６１へのアクセス無しに、メモリ１８４内の表示対象性能データを表示する（破線矢印１４５１）。判断の結果が否定の場合、ＣＰＵ１８６は、表示対象の性能データを性能ストア１４６１からメモリ１８４に読み出し（破線矢印１４５２Ａ及び１４５２Ｂ）、メモリ１８４に読み出された性能データを表示する（破線矢印１４５２Ｃ）。図１４の例によれば、表示対象の性能データの表示は、時系列の複数の性能データが表す複数のメトリック値の変化を示すグラフ１４０２の表示である。
【００３４】
なお、判断の結果が否定のケースは、表示対象の性能データのうち一部の性能データだけがメモリ１８４に無いケースを含んでもよい。この場合、ＣＰＵ１８６は、その一部の性能データだけを性能ストア１４６１からメモリ１８４に読み出してもよいし、その一部の性能データを含む全ての表示対象の性能データ（或いは、表示対象の性能データを含む、指定されたコンポーネントの全ての性能データ）を、性能ストア１４６１からメモリ１８４に読み出してよい。また、ＣＰＵ１８６は、表示のために一部の性能データをまず性能ストア１４６１からメモリ１８４に読み出して表示し、性能データの表示と非同期に、指定されたコンポーネントの全ての（又は残りの性能データ）を性能ストア１４６１からメモリ１８４に読み出してもよい。ＣＰＵ１８６は、性能ストア１４６１からメモリ１８４に読み出された性能データに対応したコンポーネント（つまり指定されたコンポーネント）の情報を先読み管理情報１４１２に登録する（図示せず）。
【００３５】
上記のように、管理計算機１３１が性能データの表示要求を受けた時点で、表示対象の性能データがメモリ１８４にあれば、性能ストア１４６１へのアクセスが不要なので、迅速に性能データを表示できる。そこで、本実施形態では、上述したように、性能データの表示が将来要求されることになるイベントタイプが定義されており、ＣＰＵ１８６は、その定義されたイベントタイプに属するイベントの発生を検出したことを契機に（参照符号１４６０）、先読み処理を開始する。その先読み処理では、ＣＰＵ１８６は、そのイベントが発生したコンポーネントであるイベントコンポーネントと、そのイベントコンポーネントの関連コンポーネントのうちの少なくとも１つとをそれぞれ先読み対象として選択する（参照符号１４６１）。そして、ＣＰＵ１８６は、先読み対象として選択されたコンポーネントの性能データを、性能ストア１４６１からメモリ１８４に読み出しておく（先読みしておく）（実線矢印１４６２）。ＣＰＵ１８６は、先読みされた性能データに対応したコンポーネントの情報を先読み管理情報１４１２に登録する。なお、選択されたコンポーネントの性能データが既にメモリ１８４にあれば、その選択されたコンポーネントの性能データの先読みは不要であるか、又は、先読み対象として選択されないかであってよい。或いは、選択されたコンポーネントの性能データが既にメモリ１８４にあっても、その選択されたコンポーネントの性能データ（例えば、全ての性能データ、又は、メモリ１８４内の性能データとの差分に該当する性能データのみ）が、性能ストア１４６１からメモリ１８４に読み出されてもよい。
【００３６】
このように、本実施形態によれば、性能データの表示が将来要求されることになるイベントタイプが定義されており、そのイベントタイプに属するイベントの発生が検出されたことを契機に先読み処理が開始される。そのようなイベントタイプとして、本実施形態では、コンポーネントの障害と構成変更が採用されている。障害が発生した場合、ユーザは、障害の根本原因の解析（又は他の目的）のために、障害が発生したコンポーネント及びそのコンポーネントの関連コンポーネントとのうちの少なくとも１つのコンポーネントの性能データを閲覧することが考えられる。構成変更が行われた場合、ユーザは、構成変更後の状況確認（又は他の目的）のために、構成変更がされたコンポーネントとそのコンポーネントの関連コンポーネントとのうちの少なくとも１つのコンポーネントの性能データを閲覧することが考えられる。従って、上記の定義されたイベントタイプに属するイベントの発生が検出されたことを契機に先読み処理を開始することは、そのイベントタイプに属するイベントが発生した場合にユーザは性能データを閲覧する傾向にあるという特性に適している。
【００３７】
更に、本実施形態では、先読み対象が、コンポーネント単位で選択される。これは、計算機システム１０１の管理（例えば、障害の根本原因解析のための作業、又は、構成変更後の状況チェックのための作業）では性能データの表示のためにコンポーネントがユーザにより指定されるという特性に適しており、以って、先読み精度の向上に貢献する。なお、指定されたコンポーネントの全ての性能データが性能ストア１４６１からメモリ１８４に先読みされることが好ましいと考えられる。なぜなら、コンポーネントの性能データのうちのいずれの性能データが表示対象とされるかを正確に予測できなくても、そのコンポーネントのいずれの性能データもメモリ１８４に先読み済となるからである。
【００３８】
また、本実施形態では、イベントコンポーネントの関連コンポーネントは、既存管理情報１４１１を基に特定することができる。また、先読み対象のコンポーネントの選択は、既存管理情報１４１１内のイベント履歴情報に基づいて行うことができる。すなわち、本実施形態では、先読み対象とするコンポーネントの選択を、先読み機能が無くても計算機システム１０１の管理のために使用される情報である既存管理情報１４１１を基に行うことができる。
【００３９】
以下、本実施形態を詳細に説明する。なお、以下の説明において、イベントコンポーネントは、障害が発生したコンポーネントと、構成変更が発生したコンポーネントのいずれかである。「構成変更が発生したコンポーネント」とは、そのコンポーネントそれ自体の構成は変更されていなくても、数が増えた又は減ったコンポーネントのように全体として構成が変更されたコンポーネントのうちの少なくとも１つを含むとする。
【００４０】
図１は、計算機システム１０１及び管理計算機１３１の構成例を示す。
【００４１】
計算機システム１０１は、通信ネットワーク１１４（例えば複数のネットワークスイッチ１１１）と、通信ネットワーク１１４に接続された複数のサーバ１１３と、通信ネットワーク１１４に接続された複数のストレージ１１２とを含む。サーバ１１３及びストレージ１１２は、それぞれ１つでもよい。ネットワークスイッチ、サーバ１１３及びストレージ１１２の各々は、物理コンポーネントの一例である。
【００４２】
管理計算機１３１は、計算機システム１０１（例えば通信ネットワーク１１４）及び性能ストア１４６１に接続されたインターフェースデバイス（Ｉ／Ｆ）１８２と、ユーザにより使用される入力デバイス（例えばキーボード及びマウス）１８１と、管理画面等が表示される表示デバイス１８３と、メモリ１８４と、ＨＤＤ（Hard Disk Drive）１８５と、それらに接続されたＣＰＵ１８６とを有する。管理計算機１３１は、計算機システム１０１の通信ネットワーク１１４とは別の通信ネットワークを通じて計算機システム１０１のサーバ１１３及びストレージ１１２等に接続されてよい。入力デバイス１８１及び表示デバイス１８３がタッチパネルであってもよい。ＣＰＵ１８６は、プロセッサの一例（例えば、プロセッサ内のマイクロプロセッサの一例）である。メモリ１８４及びＨＤＤは、メモリ１８４を含む記憶部の一例である。なお、「メモリ１８４を含む記憶部」は、メモリ１８４だけであってもよいし、メモリ１８４とメモリ１８４以外の記憶デバイスを含んでもよい。
【００４３】
メモリ１８４及びＨＤＤのうちの少なくとも１つが、既存管理情報１４１１及び先読み管理情報１４１２を記憶する。
【００４４】
既存管理情報１４１１は、構成テーブル１９１、構成変更履歴テーブル１９２、操作履歴テーブル１９３、障害発生履歴テーブル１９４、及び、ユーザ定義テーブル１９５を含む。構成テーブル１９１は、複数のコンポーネントのトポロジーの構成を表す。構成変更履歴テーブル１９２は、コンポーネントの構成変更の履歴を表す。操作履歴テーブル１９３は、ユーザ操作（構成変更操作を除いてよい）の履歴を表す。障害発生履歴テーブル１９４は、障害発生の履歴を表す。構成変更履歴テーブル１９２、操作履歴テーブル１９３及び障害発生履歴テーブル１９４が、イベント履歴情報の一例である。ユーザ定義テーブル１９５は、ユーザ定義を表す。ユーザ定義は、例えば、ユーザが前もって指定したコンポーネント（例えば重要度が最も高いコンポーネント）を表す情報と、障害及び構成変更が性能データの表示が将来要求されることになるイベントタイプであるとの定義と、後述するスコア算出ルールと、保守点検スケジュール（例えば、保守点検対象のコンポーネント及び保守点検予定時刻の組）とのうちの少なくとも１つでよい。
【００４５】
先読み管理情報１４１２は、先読み管理テーブル１９６を含む。先読み管理テーブル１９６は、先読み対象として選択され性能データがメモリ１８４に先読みされたコンポーネントに関する情報を保持する。
【００４６】
メモリ１８４に、管理プログラム１９９が記憶される。管理プログラム１９９がＣＰＵ１８６により実行されることで、ＣＰＵ１８６が先読み処理等の処理を実行できる。メモリ１８４に、キャッシュ領域が設けられてよく、管理画面に表示される情報（例えば性能データ）はキャッシュ領域に格納されてよい。
【００４７】
図２は、サーバ１１３の仮想コンポーネントの一例を示す。
【００４８】
サーバ１１３は、コンポーネント（例えば物理コンポーネント）の一例である。サーバ１１３の仮想コンポーネントとして、例えば、ＶＭ、仮想スイッチ、ハイパバイザ及びＯＳ（Operating System）がある。これらの仮想コンポーネントは、サーバ１１３の物理コンポーネント（例えばＣＰＵ及びメモリ等）に基づき実行される。
【００４９】
図３は、ストレージ１１２の仮想コンポーネントの一例を示す。
【００５０】
ストレージ１１２は、コンポーネント（例えば物理コンポーネント）の一例である。ストレージ１１２の仮想コンポーネントとして、複数のプールボリュームと、複数のプールボリュームの集合としてのプールと、プールに関連付けられた複数の仮想ボリューム（例えばThin Provisioningに従う論理ボリューム）とがある。これらの仮想コンポーネントは、複数の物理記憶デバイス（例えばＨＤＤ及びＳＳｄ（Solid State Drive）のうちの少なくとも１つ）と、複数の物理記憶デバイスに接続されたストレージコントローラ（例えばＣＰＵ及びメモリを含む）とに基づく。例えば、プールは複数の物理記憶デバイスに基づき、複数の仮想ボリュームはストレージコントローラにより提供される。
【００５１】
以下、上述したテーブルの構成例を説明する。
【００５２】
図４は、構成テーブル１９１の構成例を示す。
【００５３】
構成テーブル１９１は、コンポーネント毎にエントリを有する。各エントリが、コンポーネントＩＤ４０１、コンポーネントタイプ４０２、コンポーネント名４０３、仮想／物理（Ｖ／Ｐ）４０４、及び、関連先コンポーネントＩＤ４０５という情報を保持する。
【００５４】
コンポーネントＩＤ４０１は、コンポーネントのＩＤである。コンポーネントタイプ４０２は、コンポーネントのタイプを表す。コンポーネント名４０３は、コンポーネントの名前を表す。仮想／物理４０４は、コンポーネントが仮想コンポーネントであるか物理コンポーネントであるかを表す。関連先コンポーネントＩＤ４０５は、コンポーネントの子コンポーネントのＩＤのリストである。
【００５５】
このような構成テーブル１９１は、コンポーネントに直接的又は間接的に接続されているコンポーネントを特定できる。なお、この構成テーブル１９１に登録されている情報のうちの少なくとも一部（例えば、コンポーネントＩＤ４０１、コンポーネントタイプ４０２等）は、管理画面に表示されてよい。
【００５６】
図５は、構成変更履歴テーブル１９２の構成例を示す。
【００５７】
構成変更履歴テーブル１９２は、構成変更操作（ユーザ操作の一例）毎にエントリを有する。各エントリが、構成変更時刻５０１、コンポーネントＩＤ５０２、コンポーネントタイプ５０３、変更タイプ５０４、変更前５０５、変更後５０６、及び、変更者５０７という情報を保持する。
【００５８】
構成変更時刻５０１は、構成変更がされた時刻（変更操作を受け付けた時刻でもよい）を表す。なお、本実施形態において、時刻の単位は、年月日時分秒であるが、その単位に限られないでよい。コンポーネントＩＤ５０２は、構成変更がされたコンポーネントのＩＤである。コンポーネントタイプ５０３は、構成変更がされたコンポーネントのタイプを表す。変更タイプ５０４は、構成変更のタイプ（構成変更操作の内容）を表す。変更前５０５は、構成変更前のコンポーネントの内容を表す。変更後５０６は、構成変更後のコンポーネントの内容を表す。変更者５０７は、構成変更操作を行ったユーザのＩＤを表す。
【００５９】
図６は、操作履歴テーブル１９３の構成例を示す。
【００６０】
操作履歴テーブル１９３は、ユーザ操作（構成変更操作を除く）毎にエントリを有する。各エントリが、操作時刻６０１、コンポーネントＩＤ６０２、コンポーネントタイプ６０３、操作箇所６０４、操作タイプ６０５、操作詳細６０６、及び、変更者６０７という情報を保持する。
【００６１】
操作時刻６０１は、ユーザ操作がされた時刻を表す。コンポーネントＩＤ６０２は、ユーザ操作の対象として指定されたコンポーネントのＩＤである。コンポーネントタイプ６０３は、ユーザ操作の対象として指定されたコンポーネントのタイプを表す。操作箇所６０４は、ユーザ操作の対象として指定された箇所（コンポーネントに関わる箇所）を表す。操作タイプ６０５は、操作のタイプを表す。操作詳細６０６は、ユーザ操作の詳細を表す。変更者６０７は、ユーザ操作を行ったユーザのＩＤ（又は名前）を表す。
【００６２】
図７は、障害発生履歴テーブル１９４の構成例を示す。
【００６３】
障害発生履歴テーブル１９４は、障害が発生したコンポーネント毎にエントリを有する。各エントリが、障害発生時刻７０１、コンポーネントＩＤ７０２、コンポーネントタイプ７０３、障害メトリックタイプ７０４、障害タイプ７０５、仮想／物理（Ｖ／Ｐ）７０６、及び、障害レベル７０７という情報を保持する。
【００６４】
障害発生時刻７０１は、障害が発生した時刻を表す。コンポーネントＩＤ７０２は、障害が発生したコンポーネントのＩＤである。コンポーネントタイプ７０３は、障害が発生したコンポーネントのタイプを表す。障害メトリックタイプ７０４は、障害としての異常なメトリック値が属するメトリックタイプを表す。障害タイプ７０５は、障害のタイプを表す。仮想／物理（Ｖ／Ｐ）７０６は、コンポーネントが仮想コンポーネントであるか物理コンポーネントであるかを表す。障害レベル７０７は、障害のレベルを表す。
【００６５】
図８は、先読み管理テーブル１９６の構成例を示す。
【００６６】
先読み管理テーブル１９６は、先読み対象として選択されたコンポーネント毎にエントリを有する。各エントリが、登録時刻８０１、コンポーネントＩＤ８０２、コンポーネントタイプ８０３、イベントタイプ８０４、登録時スコア８０５、及び、仮想／物理（Ｖ／Ｐ）８０６を保持する。
【００６７】
登録時刻８０１は、コンポーネントのＩＤ等が先読み管理テーブル１９６のエントリに登録された時刻（又は、コンポーネントの性能データがメモリ１８４に読み出された時刻）を表す。コンポーネントＩＤ８０２は、メモリ１８４に読み出された性能データに対応したコンポーネント（例えば先読み対象として選択されたコンポーネント）のＩＤである。コンポーネントタイプ８０３は、そのコンポーネントのタイプを表す。イベントタイプ８０４は、検出されたイベントのタイプ（障害又は構成変更）を表す。登録時スコア８０５は、コンポーネントのスコアであって先読み管理テーブル１９６にそのコンポーネントの情報が登録された時点でのスコアを表す。仮想／物理（Ｖ／Ｐ）８０６は、コンポーネントが仮想コンポーネントであるか物理コンポーネントであるかを表す。
【００６８】
本実施形態では、先読み管理テーブル１９６には、上述したように、先読みされた性能データに対応したコンポーネントの情報に加えて、表示対象として性能ストア１４６１からメモリ１８４に読み出された性能データに対応するコンポーネントの情報も登録される。このため、先読み管理テーブル１９６は、格納管理テーブル（キャッシュ管理テーブル）が拡張されたテーブルでよい。
【００６９】
以上、テーブルの構成例の説明である。図５〜図８のテーブルにおいて、コンポーネントＩＤ４０１をキーに図４の構成テーブル１９１から特定可能な情報のカラム（例えばコンポーネントタイプ）は、無くてもよい。また、先読み管理テーブル１９６には、メモリ１８４に読み出された性能データ範囲（例えば測定時刻範囲）のカラムがあってもよい。
【００７０】
以下、本実施形態で行われる処理を説明する。
【００７１】
図９は、先読み制御処理の流れの一例を示す。
【００７２】
先読み制御処理は、定期的又は不定期的に開始される。管理プログラム１９９が、イベント（障害及び構成変更のいずれか）の発生を検出したか否かを判断する（Ｓ９０１）。障害の発生は、例えば、障害の発生したコンポーネントを有するノードから障害を意味する通知（例えば、障害を意味するステータス）を管理プログラム１９９が受けることにより、検出可能である。構成変更は、例えば、構成変更操作を管理プログラム１９９が受けることで、検出可能である。Ｓ９０１の判断結果が否定の場合、処理を終了する。
【００７３】
Ｓ９０１の判断結果が肯定の場合、先読み処理（Ｓ９０２〜Ｓ９１０）が開始される。管理プログラム１９９は、Ｓ９０１で検出されたイベントが発生したコンポーネントであるイベントコンポーネントの全ての性能データ（或いは、イベントコンポーネントの性能データのうちイベント発生時刻より一定期間過去に属する時刻が記録されている性能データ）を、性能ストア１４６１からメモリ１８４に読み出し（先読みし）、そのインベントコンポーネントの情報を先読み管理テーブル１９６に登録する（Ｓ９０２）。なお、Ｓ９０２で読み出された性能データは、処理Ａ及び処理Ｂにおいて使用されるデータなので、Ｓ９０２に代えて処理Ａ及び処理Ｂのうちの少なくとも１つにおいて行われてもよいが、Ｓ９０２が行われることで、イベントコンポーネントの性能データというユーザから表示対象とされる可能性が高い性能データをより早くにメモリ１８４に読み出しておくことができる。また、イベントコンポーネントの情報が先読み管理テーブル１９６に登録されていれば（イベントコンポーネントの性能データが既にメモリ１８４にあれば）、Ｓ９０２はスキップされてもよい。
【００７４】
検出されたイベントのイベントタイプが障害であれば（Ｓ９０３：Ａ）、管理プログラム１９９は、障害発生履歴テーブル１９４を更新し（Ｓ９０４）、処理Ａを行う（Ｓ９０５）。Ｓ９０４では、管理プログラム１９９は、エントリを追加し、追加したエントリに、検出した障害に関する情報を登録する。Ｓ９０５（処理Ａ）では、管理プログラム１９９は、コンポーネントの絞込みと、コンポーネントについてのスコア算出とを行う。なお、コンポーネントについて算出される「スコア」は、コンポーネントの性能データをメモリ１８４に先読みする又は残すことの優先度に相当する。スコアが大きいほど優先度が高い。
【００７５】
検出されたイベントのイベントタイプが構成変更であれば（Ｓ９０３：Ｂ）、管理プログラム１９９は、構成変更履歴テーブル１９２を更新し（Ｓ９０６）、処理Ｂを行う（Ｓ９０７）。Ｓ９０６では、管理プログラム１９９は、エントリを追加し、追加したエントリに、検出した構成変更操作に関する情報を登録する。Ｓ９０７（処理Ｂ）では、管理プログラム１９９は、コンポーネントの絞込みと、コンポーネントについてのスコア算出とを行う。
【００７６】
Ｓ９０４及びＳ９０５の後、又は、Ｓ９０６及びＳ９０７の後、管理プログラム１９９は、処理Ｃを行う（Ｓ９０８）。Ｓ９０８（処理Ｃ）では、管理プログラム１９９は、先読み管理テーブル１９６に情報が登録されているコンポーネント（以下、キャッシュ済コンポーネント）の各々についてスコアを算出し、それらのスコアと、処理Ａ又は処理Ｂで算出されたスコアとをソートする。キャッシュ済コンポーネントは、格納済コンポーネントの一例であり、少なくとも先読み済コンポーネントである。キャッシュ済コンポーネントは、表示対象の性能データが表示が要求された時点でメモリ１８４に無かったために性能ストア１４６１からメモリ１８４に読み出された性能データに対応したコンポーネントでもよい。
【００７７】
管理プログラム１９９は、キャッシュ済コンポーネントのうち所定の削除条件に適合するコンポーネントの性能データをメモリ１８４から削除し、且つ、そのキャッシュ済コンポーネントの情報を先読み管理テーブル１９６から削除する（Ｓ９０９）。メモリ１８４の空き容量が所定容量を超えている等の削除不要条件が満たされていれば、Ｓ９０９はスキップされてよい。Ｓ９０９がスキップされると、より多くの性能データがメモリ１８４に残ることになるので、表示が必要になった場合に性能ストア１４６１にアクセスする必要性を減らすことが期待できる。また、Ｓ９０９について、「所定の削除条件」に該当するキャッシュ済コンポーネントは、例えば、先読み管理テーブル１９６の登録時刻からの経過時間が一定時間（例えば１週間）を超えているキャッシュ済コンポーネントと、処理Ａ又は処理Ｂで決定された時間帯に保守点検が予定されているキャッシュ済コンポーネント（例えばユーザ定義テーブル１９５から特定されたコンポーネント）、相対的にスコアが低いキャッシュ済コンポーネントである。「相対的にスコアが低い」とは、スコアが所定の閾値未満であること、又は、処理Ａ又は処理Ｂにおいて絞り込まれたコンポーネント及びキャッシュ済コンポーネントのうちスコアが下位Ｘ％に該当する（Ｘは、例えば０より大きく５０未満の値）ことでよい。
【００７８】
管理プログラム１９９は、処理Ａ又は処理Ｂでスコアが付与されたコンポーネントのうち、先読み管理テーブル１９６に情報が登録されていないコンポーネントの性能データを、性能ストア１４６１からメモリ１８４に先読みし、メモリ１８４に先読みされた性能データに対応したコンポーネントの情報を先読み管理テーブル１９６に登録する（Ｓ９１０）。なお、処理Ａ又は処理Ｂでスコアが付与されたコンポーネントのうち、先読み管理テーブル１９６に情報が登録されているコンポーネントの性能データも、性能ストア１４６１からメモリ１８４に読み出されてもよい。その際、読み出される性能データは、そのコンポーネントの全ての性能データでもよいし、メモリ１８４内の性能データとの差分に相当する性能データのみでもよい。Ｓ９１０において、管理プログラム１９９は、性能ストア１４６１からメモリ１８４に読み出された性能データに対応するコンポーネントのＩＤ等を先読み管理テーブル１９６に登録して良い。
【００７９】
図１０は、処理Ａの流れの一例を示す。図１０において、例えば、Ｓ１００２と、Ｓ１００３〜１００５は、どのような順番で行われてもよいし、並行して行われてもよい。
【００８０】
管理プログラム１９９は、イベントコンポーネント（障害発生コンポーネント）の関連コンポーネントを、構成テーブル１９１を基に特定する（Ｓ１００１）。
【００８１】
管理プログラム１９９は、イベントコンポーネントと、Ｓ１００１で特定された関連コンポーネントの各々についてスコアを算出する（Ｓ１００２）。スコアの算出は、所定のスコア算出ルール（例えばユーザ定義テーブル１９５に登録されているルール）に従う。具体的には、例えば、対象コンポーネント（スコア算出対象のコンポーネント）について算出されたスコアは、（ｓ１）対象コンポーネント（例えば関連コンポーネント）とイベントコンポーネント間のホップ数、及び、（ｓ２）トポロジーの複数のレイヤのうち対象コンポーネントが属するレイヤの高さ、のうちの少なくとも１つに基づく。（ｓ１）に基づく場合、対象コンポーネントとイベントコンポーネント間のホップ数が相対的に小さい（例えば閾値未満）と、スコアは高い傾向（例えば加算される値が相対的に高い）にある。なぜなら、イベントコンポーネントに距離的に近いコンポーネントは表示対象になり易いと考えられるからである。（ｓ２）に基づく場合、対象コンポーネントが属するレイヤが相対的に低い（例えば所定レイヤ未満）と、スコアは高い傾向にある。なぜなら、下位のレイヤに属するコンポーネントは、影響が大きいと考えられ、そのため、表示対象になり易いと考えられるからである。
【００８２】
管理プログラム１９９は、Ｓ１００１で特定された関連コンポーネントを絞り込む。具体的には、例えば、管理プログラム１９９は、Ｓ１００３及びＳ１００４を行う。Ｓ１００３で、管理プログラム１９９は、図９のＳ９０２で読み出された性能データ（イベントコンポーネントの時系列の性能データ）を用いて、メトリック値の傾向が所定度合以上に変化した時刻である変化時刻を特定する。Ｓ１００４で、管理プログラム１９９は、Ｓ１００１で特定された関連コンポーネントのうちの、変化時刻を基準とした時間帯にイベントタイプに属するイベントが発生したコンポーネントを、構成変更履歴テーブル１９２及び障害発生履歴テーブル１９４を基に特定する。
【００８３】
Ｓ１００３及びＳ１００４により、Ｓ１００１で特定された関連コンポーネントを、表示対象として将来ユーザに指定される可能性の高い関連コンポーネントに絞り込むことが期待できる。その理由の一例を、図１３を参照して説明する。時刻ｔ１に障害が発生するよりも過去において、障害発生の原因があったと考えられる。そして、メトリック値の変化率が一定であれば、やがて障害が発生すること（及び障害発生時刻）は、例えば既存技術により予測可能であろう。しかし、メトリック値の変化率は一定ではないこともあり、このようなケースにおいて障害発生の原因を特定することは容易ではない。そこで、本実施形態では、メトリック値の傾向が所定度合以上に変化した時刻（例えば、変曲点、不連続点、又は、二次微分値が0ではない点などに該当する時刻）ｔ２が、障害の原因が発生した時刻であると定義される。そして、その時刻ｔ２を基準とした時間帯（例えば、変化時刻ｔ２を含んだ一定の時間帯）Ｔにおいてイベント（障害又は構成変更）が発生した関連コンポーネントが、障害発生の原因の可能性が高く故に将来ユーザに性能データの表示対象として指定されるコンポーネントであると考えられる。以上の理由により、Ｓ１００３及びＳ１００４に従う関連コンポーネント絞込みが行われる。
【００８４】
管理プログラム１９９は、絞り込まれた関連コンポーネントの各々について、スコアを算出する（例えば、Ｓ１００２で算出されたスコアを調整する）（Ｓ１００５）。具体的には、例えば、対象コンポーネントについて算出されたスコアは、（ｓ３）対象コンポーネントについてイベント発生時刻より過去に発生したイベントが属するイベントタイプ、のうちの少なくとも１つに基づく。構成変更よりも障害の方が、スコアが高い傾向にある、なぜなら、障害があったコンポーネントの方が、構成変更があったコンポーネントよりも、近い将来にユーザから表示対象として選択され易いと考えられるためである。なお、スコアの算出に関して、Ｓ１００５及びＳ１００２のうちの一方がスキップされてよい。言い換えれば、上述の（ｓ１）〜（ｓ３）のうちの少なくとも１つに基づいてスコアが算出されてよい。
【００８５】
管理プログラム１９９は、先読み対象とするコンポーネントの指定がユーザ定義テーブル１９５にあれば、そのコンポーネントに、Ｓ１００３及びＳ１００４で絞り込まれた関連コンポーネントのスコアのうちの最高のスコア（又はそれより高いスコア）を付与する（Ｓ１００６）。この後のＳ９０８〜Ｓ９１０において、ユーザ定義テーブル１９５において指定されているコンポーネントが先読み対象として選択されることの確実性を高めるためである。
【００８６】
管理プログラム１９９は、先読み候補コンポーネント（絞り込まれた関連コンポーネント、及び、ユーザ定義テーブル１９５から特定されたコンポーネント）の各々についてＩＤとスコアをメモリ１８４に登録しておく。先読み候補コンポーネントの並びは、スコアの高い順でよい。
【００８７】
図１１は、処理Ｂの流れの一例を示す。図１１において、例えば、Ｓ１１０２と、Ｓ１１０３〜１１０５は、どのような順番で行われてもよいし、並行して行われてもよい。
【００８８】
図１１のＳ１１０１〜Ｓ１１０６は、図１０のＳ１００１〜Ｓ１００６と、下記の点を除いて、それぞれ同じである。
・イベントコンポーネントが、障害発生コンポーネントではなく、構成変更が発生したコンポーネントであること。
【００８９】
なお、Ｓ１１０４での時間帯（変化時刻を基準とした時間帯）は、Ｓ１００４での時間帯（変化時刻を基準とした時間帯）よりも長い。その理由の一例は、次の通りである。すなわち、イベントが障害の場合、刻々と変わるメトリック値の因果関係を調べるために、時間的に細かい粒度で時系列になったメトリック値がチェックされることが好ましい。一方、イベントが構成変更の場合、構成変更の定常的な変化を見るため、時間的に粗い粒度で時系列になったメトリック値がチェックされることが好ましい。このように、発生したイベントのイベントタイプの違いに応じて、関連コンポーネントの絞込みの基準となる時間帯の長さが調整され、故に、これは、先読み精度の向上に貢献する。
【００９０】
図１２は、処理Ｃの流れの一例を示す。Ｓ１２０２とＳ１２０３は、逆の順番で行われてもよいし、並行して行われてもよい。
【００９１】
管理プログラム１９９は、先読み管理テーブル１９６を参照する（Ｓ１２０１）。
【００９２】
管理プログラム１９９は、キャッシュ済コンポーネント（先読み管理テーブル１９６から特定されるコンポーネント）に対応した登録時スコアを更新する（Ｓ１２０２）。登録時スコアは、上述した（ｓ１）〜（ｓ３）のうちの少なくとも１つに基づいて算出されたスコアでよく、そのようなスコアが、Ｓ１２０２で、例えば、キャッシュ済コンポーネントの登録時刻からの経過時間（言い換えれば、現在時刻から登録時刻までの時間）に応じて更新される。経過時間が比較的長いと、登録時スコアから値が減算される。
【００９３】
管理プログラム１９９は、処理Ａ又は処理Ｂにおいて得られた先読み候補コンポーネントのうち、情報が先読み管理テーブル１９６に登録されている先読み候補コンポーネントがあれば、その先読み候補コンポーネントに対応した登録時スコアに値を加算する（Ｓ１２０３）。
【００９４】
管理プログラム１９９は、キャッシュ済コンポーネントのＩＤと処理Ａ又は処理Ｂで得られた先読み候補コンポーネントのＩＤを、メモリ１８４に登録し、それらのＩＤを、スコアの高い順に並べ変える。
【００９５】
以上、一実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば、処理Ａ又は処理Ｂの時間帯に保守点検が行われることがユーザ定義テーブル１９５等により特定されたコンポーネントである保守点検コンポーネントについては、以下のように処理されてよい。すなわち、保守点検コンポーネントの情報が先読み管理テーブル１９６に無ければ、管理プログラム１９９は、保守点検コンポーネントについてスコアを算出しないでよい。保守点検コンポーネントの情報が先読み管理テーブル１９６にあれば、管理プログラム１９９は、保守点検コンポーネントの登録時スコアを変更しない又は最低値にする、或いは、保守点検コンポーネントの性能データをメモリ１８４から削除してよい。保守点検コンポーネントは、ユーザにより性能データが閲覧される対象として指定される可能性は低く、そのようなコンポーネントの性能データを優先的にメモリ１８４から削除することができる。
【符号の説明】
【００９６】
１０１：計算機システム  １３１：管理計算機
【図１】
2016194119.tif 000003
【図２】
2016194119.tif 000004
【図３】
2016194119.tif 000005
【図４】
2016194119.tif 000006
【図５】
2016194119.tif 000007
【図６】
2016194119.tif 000008
【図７】
2016194119.tif 000009
【図８】
2016194119.tif 000010
【図９】
2016194119.tif 000011
【図１０】
2016194119.tif 000012
【図１１】
2016194119.tif 000013
【図１２】
2016194119.tif 000014
【図１３】
2016194119.tif 000015
【図１４】
2016194119.tif 000016
【国際調査報告】
2016194119.tif 000017
2016194119.tif 000018