(57)【要約】      （修正有）【課題】計算機システムに問題が発生したとき、アプリケーションプログラムの中で影響を受ける処理を特定する。【解決手段】アプリケーションプログラム２５０を実行する計算機システム２を管理する管理サーバ２０１は、プログラムを実行するプロセッサと、プログラムを格納する記憶装置とを備える。プロセッサは、アプリケーションプログラムに含まれる処理の特性を抽出し、処理の特性と計算機システムの構成要素との相関の分析によって、アプリケーションプログラムに含まれる処理と計算機システムの構成要素との相関を特定し、プロセッサは、特定された相関に基づいて、計算機システムの稼働状況とアプリケーションプログラムに含まれる処理の特性との関係を特定する。【選択図】図１
2018063518.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムを実行する計算機システムに接続された管理サーバであって、
プログラムを実行するプロセッサと、前記プログラムを格納する記憶装置とを備え、
前記プロセッサは、前記アプリケーションプログラムに含まれる処理の特性を抽出し、前記処理の特性と前記計算機システムの構成要素との相関の分析によって、前記アプリケーションプログラムに含まれる処理と前記計算機システムの構成要素との相関を特定し、
前記プロセッサは、前記特定された相関に基づいて、前記計算機システムの稼働状況と前記アプリケーションプログラムに含まれる処理の特性との関係を特定することを特徴とする管理サーバ。
【請求項２】
請求項１に記載の管理サーバであって、
前記プロセッサは、前記計算機システムの構成変更を検出した場合、前記処理の特性の抽出、及び前記処理の特性と前記計算機システムの構成要素との相関の分析の少なくとも一つを実行することを特徴とする管理サーバ。
【請求項３】
請求項１に記載の管理サーバであって、
前記プロセッサは、前記アプリケーションプログラムの利用傾向の変化を検出した場合、前記処理の特性の抽出、及び前記処理の特性と前記計算機システムの構成要素との相関の分析の少なくとも一つを実行することを特徴とする管理サーバ。
【請求項４】
請求項１に記載の管理サーバであって、
前記プロセッサは、前記計算機システムの異常又は異常の予兆を検出した場合、前記特定された相関に基づいて、前記異常によって影響を受けるアプリケーションプログラムの処理を特定することを特徴とする管理サーバ。
【請求項５】
請求項４に記載の管理サーバであって、
前記プロセッサは、前記計算機システムの異常又は異常の予兆と、前記異常によって影響を受けるアプリケーションプログラムの処理とを表示するための画面データを出力することを特徴とする管理サーバ。
【請求項６】
請求項１に記載の管理サーバであって、
前記プロセッサは、前記アプリケーションプログラムでの問題を検出した場合、前記特定された相関に基づいて、前記問題の原因である前記計算機システムの構成要素を特定することを特徴とする管理サーバ。
【請求項７】
アプリケーションプログラムを実行する計算機システムを管理サーバが管理する管理方法であって、
前記管理サーバは、プログラムを実行するプロセッサと、前記プログラムを格納する記憶装置とを有し、
前記管理方法は、
前記プロセッサが、前記アプリケーションプログラムに含まれる処理の特性を抽出し、前記処理の特性と前記計算機システムの構成要素との相関の分析によって、前記アプリケーションプログラムに含まれる処理と前記計算機システムの構成要素との相関を特定するステップと、
前記プロセッサが、前記特定された相関に基づいて、前記計算機システムの稼働状況と前記アプリケーションプログラムに含まれる処理の特性との関係を特定するステップとを含むことを特徴とする管理方法。
【請求項８】
請求項７に記載の管理方法であって、
前記プロセッサは、前記計算機システムの構成変更を検出した場合、前記処理の特性の抽出、及び前記処理の特性と前記計算機システムの構成要素との相関の分析の少なくとも一つを実行することを特徴とする管理方法。
【請求項９】
請求項７に記載の管理方法であって、
前記プロセッサは、前記アプリケーションプログラムの利用傾向の変化を検出した場合、前記処理の特性の抽出、及び前記処理の特性と前記計算機システムの構成要素との相関の分析の少なくとも一つを実行することを特徴とする管理方法。
【請求項１０】
請求項７に記載の管理方法であって、
前記プロセッサは、前記計算機システムの異常又は異常の予兆を検出した場合、前記特定された相関に基づいて、前記異常によって影響を受けるアプリケーションプログラムの処理を特定することを特徴とする管理方法。
【請求項１１】
請求項１０に記載の管理方法であって、
前記プロセッサが、前記計算機システムの異常又は異常の予兆と、前記異常によって影響を受けるアプリケーションプログラムの処理とを表示するための画面データを出力するステップを含むことを特徴とする管理方法。
【請求項１２】
請求項７に記載の管理方法であって、
前記プロセッサが、前記アプリケーションプログラムでの問題を検出した場合、前記特定された相関に基づいて、前記問題の原因である前記計算機システムの構成要素を特定するステップを含むことを特徴とする管理方法。
【請求項１３】
アプリケーションプログラムを実行する計算機システムを管理サーバが管理するためのプログラムであって、
前記管理サーバは、前記プログラムを実行するプロセッサと、前記プログラムを格納する記憶装置とを有し、
前記プログラムは、
前記アプリケーションプログラムに含まれる処理の特性を抽出し、前記処理の特性と前記計算機システムの構成要素との相関の分析によって、前記アプリケーションプログラムに含まれる処理と前記計算機システムの構成要素との相関を特定する手順と、
前記プロセッサは、前記特定された相関に基づいて、前記計算機システムの稼働状況と前記アプリケーションプログラムに含まれる処理の特性との関係を特定する手順とを、前記プロセッサに実行させるためのプログラム。
【請求項１４】
請求項１３に記載のプログラムであって、
前記プロセッサは、前記計算機システムの異常又は異常の予兆を検出した場合、前記特定された相関に基づいて、前記異常によって影響を受けるアプリケーションプログラムの処理を特定する手順を前記プロセッサに実行させるためのプログラム。
【請求項１５】
請求項１３に記載のプログラムであって、
前記プロセッサは、前記アプリケーションプログラムでの問題を検出した場合、前記特定された相関に基づいて、前記問題の原因である前記計算機システムの構成要素を特定する手順を前記プロセッサに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムを管理するための管理サーバに関する。
【背景技術】
【０００２】
計算機システムで問題が発生したとき、計算機システム上で稼動するアプリケーションプログラムへの影響を分析する管理システムがある（例えば、特許文献１を参照）。特許文献１に記載された障害原因抽出装置は、記憶部と、相関破壊伝播検出部とを含む。ここで、記憶部は、システムにおける複数種別の性能値を含む性能情報の時系列をもとに生成された、入力となる種別の性能値から出力となる種別の性能値への変換を行う相関関数を１以上含む相関モデルを記憶する。相関破壊伝播検出部は、一つの種別である基点の性能値から直接または間接的に変換可能であり、かつ、相関関数の入力とならない、他の種別の性能値への変換に使用される相関関数である基点伝播関数の数をもとに、基点の性能値がシステムに与える影響度を算出する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第１１／０９９３４１号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
アプリケーションプログラムは様々な処理を含むため、アプリケーションプログラムの管理者は、計算機システム上で問題が発生した場合、影響が生じる処理とその理由を特定し、迅速に対策を講じたい。しかし、前述した特許文献１では、計算機システム上で問題が発生した場合、アプリケーション単位での性能と計算機システムの稼働データとの相関の高さから影響の有無を判定するため、影響が生じる処理とその理由の特定が困難である。
【課題を解決するための手段】
【０００５】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、アプリケーションプログラムを実行する計算機システムを管理する管理サーバであって、プログラムを実行するプロセッサと、前記プログラムを格納する記憶装置とを備え、前記プロセッサは、前記アプリケーションプログラムに含まれる処理の特性を抽出し、前記処理の特性と前記計算機システムの構成要素との相関の分析によって、前記アプリケーションプログラムに含まれる処理と前記計算機システムの構成要素との相関を特定し、前記プロセッサは、前記特定された相関に基づいて、前記計算機システムの稼働状況と前記アプリケーションプログラムに含まれる処理の特性との関係を特定する。
【発明の効果】
【０００６】
本発明の代表的な実施の形態によれば、アプリケーションプログラムの中で影響を受ける処理を特定できる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【０００７】
【図１】第一の実施形態にかかる計算機システムにおける影響分析処理の効果を示す図である。
【図２】第一の実施例におけるシステムの構成例を示すブロック図である。
【図３】第一の実施例における処理特性の一例を示す図である。
【図４】第一の実施例における相関データの一例を示す図である。
【図５】第一の実施例における計算機システムの構成情報の一例を示す図である。
【図６】第一の実施例におけるアプリケーションの構成情報の一例を示す図である。
【図７】第一の実施例における相関学習処理のフローチャートである。
【図８】第一の実施例における影響分析処理のフローチャートである。
【図９】第一の実施例における関連アプリの特定処理の概要を示す図である。
【図１０】第一の実施例における処理毎の影響分析処理の概要を示す図である。
【図１１】第一の実施例における管理サーバ出力する画面の例を示す図である。
【図１２】第二の実施例におけるシステムの構成例を示すブロック図である。
【図１３】第二の実施例における原因分析処理のフローチャートである。
【発明を実施するための形態】
【０００８】
以後の説明では「ａａａテーブル」、「ａａａリスト」、「ａａａＤＢ（Ｄａｔａｂａｓｅ）」、（ａａａは任意の文字列）等の表現にて本実施例の情報を説明するが、これら情報は必ずしもその形式で情報が保存されている必要は無く、テーブル、リスト、ＤＢ、キュー、等のデータ構造以外で表現されていてもよい。そのため、データ構造に依存しないことを示すために「ａａａテーブル」、「ａａａリスト」、「ａａａＤＢ」等について「ａａａ情報」と称することがある。
【０００９】
また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）」という表現を用いるが、これらについてはお互いに置換が可能である。
【００１０】
また、以後の説明では「プログラム」を主語として説明を行う場合があるが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート（通信制御デバイス）を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理は管理サーバ等の計算機、情報処理装置が行う処理としてもよい。また、プログラムの一部又は全ては専用ハードウェアによって実現されてもよい。
【００１１】
また、各種プログラムは、プログラム配布サーバや、計算機が読み取り可能な記憶メディアによって各計算機にインストールされてもよい。この場合、プログラム配布サーバは、プロセッサと記憶資源を含み、記憶資源はさらに配布プログラムと配布対象であるプログラムを記憶する。そして、配布プログラムをプロセッサが実行することで、プログラム配布サーバのプロセッサは、配布対象のプログラムを他の計算機に配布する。
【００１２】
また、計算機は入出力装置を有する。入出力装置の例としてはディスプレイと、キーボードと、ポインタデバイスと、タブレット端末と、スマートフォンとが考えられるが、これ以外のデバイスであってもよい。また、入出力デバイスの代替としてシリアルインタフェースやイーサーネットインタフェースを入出力デバイスとし、当該インタフェースにディスプレイ又はキーボード又はポインタデバイスを有する表示用計算機を接続し、表示用情報を表示用計算機に送信したり、入力用情報を表示用計算機から受信することで、表示用計算機で表示を行ったり、入力を受け付けることで入出力装置での入力及び表示を代替してもよい。なお、以後インタフェースのことをＩ／Ｆと記述することがある。
【００１３】
また、計算機は通信Ｉ／Ｆを有する。通信Ｉ／Ｆの例としては、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）接続端子と、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）の接続端子と、無線通信の接続装置と、が考えられるが、これら以外のデバイスであってもよい。
【００１４】
以後、情報処理システムを管理し、本実施例の表示用情報を表示する一つ以上の計算機の集合を管理システムと呼ぶことがある。管理用の計算機（以下、管理計算機）が表示用情報を表示する場合は管理計算機が管理システムである、また、管理計算機と表示用計算機の組み合わせも管理システムである。また、管理処理の高速化や高信頼化のために複数の計算機で管理計算機と同等の処理を実現してもよく、この場合は当該複数の計算機（表示を表示用計算機が行う場合は表示用計算機も含む）が管理システムである。
【００１５】
＜問題解決処理の例＞
図１は、本発明の第一の実施形態にかかる計算機システムにおける影響分析処理の効果を示す図である。
【００１６】
計算機システム１は、本実施例が適用されない計算機システムの例である。計算機システム１は、管理されるサーバ装置２０３と、管理されるストレージ装置２０４と、サーバ装置２０３上で稼動するアプリケーションプログラム２５０と、各装置を管理する管理サーバ２０１と、管理される装置上で稼動するミドルウェアアプリケーションとアプリケーションとを含む。
【００１７】
管理サーバ２０１は、管理されるストレージ装置２０４における問題が発生を検知して、アプリケーション性能と管理されるＩＴリソースの稼働状況との相関分析によって、影響を受けるアプリケーションがアプリ２及びアプリ３であることを算出する。しかしながら、アプリ２及びアプリ３のどの処理に影響が生じるかは特定できない。
【００１８】
また、新規のアプリケーションに関しては、アプリケーション性能とＩＴリソース稼働状況との相関に関する学習データが不十分なため、ＩＴリソースであるストレージ装置２０４で発生した問題の影響を受けるか否かを判定できない。ここで、計算機システム１での問題とは、何らかの異常の発生や、異常の予兆である。アプリケーション管理者は、ＩＴリソースで問題が発生した場合、アプリケーションの利用者に影響が生じる前に対処したいが、通常、アプリケーションは複数の処理を含むサービスを提供しており、同じＩＴリソースの問題であっても処理によって影響の有無や程度が異なる。例えば、ディスクＩＯがボトルネックである場合、長期間の傾向データを検索するような大量のディスクアクセスが発生する処理は影響を受けるが、インメモリシミュレーションのようなディスクアクセスが発生しない処理は影響を受けない。
【００１９】
そのため、計算機システム１では、アプリケーション単位で影響の有無が分かっても、影響が生じる処理が分からず、必要な対応が判断できず、有効な対策を講ずるまでに時間がかかる。また、新規のアプリケーションに関しては、相関に関する学習データが不十分なため、相関分析によって影響の有無や程度を分析できない。
【００２０】
計算機システム２は、本実施例が適用された計算機システムの例である。従来の計算機システム１ではアプリケーション性能とＩＴリソースの稼働状況の相関により影響を分析するが、計算機システム２ではアプリケーションから処理特性を抽出し、処理特性とＩＴリソースとの相関により影響を分析する。これにより、ＩＴリソースで問題が発生した時に、アプリケーションの処理単位での影響の有無を分析できる。また、アプリケーションに含まれる処理と処理の特性とを関連付けることによって、新規のアプリケーションでも、既存の相関関係を用いて影響を分析できる。
【００２１】
前述の通り、本実施例の方法は、影響分析処理において、アプリケーションの処理の特性を利用し、処理単位での影響の有無を判定できる効果を有する。
【００２２】
なお、図１に例示するシステム構成は、説明の簡易化のために、図２以降で説明する詳細なシステム構成の一部を省略し、一部を誇張して表している。
【００２３】
＜実施例１＞
図２は、本発明の第一の実施例におけるシステムの構成例を示すブロック図である。
【００２４】
第一の実施例のシステムは、管理サーバ２０１と、管理サーバ２０１が管理する計算機システムを含む。管理サーバ２０１が管理する計算機システムは、サーバ装置２０３と、ストレージ装置２０４と、ネットワーク装置２０５と、クラウドサービス２０６とが、ネットワーク２０７やＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を介して相互に接続されて構成される。
【００２５】
また、例えば、管理サーバ２０１や、管理サーバ２０１内のプロセッサ２１１、主記憶デバイス２１２など、システムに含まれる各コンポーネントは、それぞれ一つずつしか図示していないが、それぞれが複数設けられてもよい。
【００２６】
管理サーバ２０１は、プロセッサ２１１と、主記憶デバイス２１２と、補助記憶装置２１３と、通信インタフェースとを有するコンピュータである。
【００２７】
プロセッサ２１１は、主記憶デバイス２１２に格納されたプログラムを実行する。具体的には、プロセッサ２１１は、相関学習処理プログラム２２０と、影響分析処理プログラム２２１と、イベント検出プログラム２２２とを実行する。なお、相関学習処理プログラム２２０と、影響分析処理プログラム２２１と、イベント検出プログラム２２２との一部又は全部は、プロセッサ２１１で実行される代わりに、例えば集積回路（Field-Programmable Gate Array）などのハードウェアで実現してもよい。
【００２８】
主記憶デバイス２１２は、不揮発性の記憶デバイスであるＲＯＭ及び揮発性の記憶デバイスであるＲＡＭを含む。ＲＯＭは、不変のプログラム（例えば、ＢＩＯＳ）などを格納する。ＲＡＭは、ＤＲＡＭ（Dynamic Random Access Memory）のような高速かつ揮発性の記憶デバイスであり、プロセッサ２１１が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。具体的には、主記憶デバイス２１２は、相関学習処理プログラム２２０と、影響分析処理プログラム２２１と、イベント検出プログラム２２２と、対策生成プログラム２２４とを記憶する。
【００２９】
補助記憶装置２１３は、例えば、磁気記憶装置（ＨＤＤ）、フラッシュメモリ（ＳＳＤ）等の大容量かつ不揮発性の記憶デバイスによって構成され、プログラムの実行時に使用されるデータを格納する。補助記憶装置２１３は、外部装置へのＩ／Ｆ（不図示）や通信インタフェース２１６を介して管理サーバ２０１に接続される外部の記憶装置、例えばストレージ装置２０４でもよい。また、主記憶デバイス２１２と補助記憶デバイス２０３とが同一デバイスでもよい。
【００３０】
具体的には、補助記憶装置２１３は、処理特性２３１と、相関データ２３２と、構成情報２３３と、稼働データ２３４と、対策データ２３５とを格納する。処理特性２３１と、相関データ２３２と、構成情報２３３と、稼働データ２３４とは、それぞれ異なる補助記憶装置２１３に格納されてもよいし、その一部又は全部が主記憶２１１に格納されてもよいし、ネットワーク２０７を介して接続される別のサーバ装置２０３上の主記憶２５３や補助記憶装置２５４に格納されてもよいし、ネットワーク２０７を介して接続される別のストレージ装置２０４の補助記憶装置２６３に格納されてもよい。
【００３１】
処理特性２３１は、処理の種類の違いや、処理するデータ量や、扱うデータの種類などの処理の特徴量の情報である、例えば、処理特性２３１は、データベースに対する検索処理であるか、登録処理であるか、更新処理であるか、削除処理であるかなどの処理の種類でよい。処理特性２３１の詳細は図３で後述する。
【００３２】
相関データ２３２は、管理サーバが監視する計算機システムの監視情報間の相互の関係の情報である。例えば、相関データ２３２は、アプリケーションプログラムの応答時間とサーバ装置２０３のプロセッサの使用率との相互の関係の情報でよい。相関データ２３２の詳細は図４で後述する。
【００３３】
また、相関データ２３２は、管理サーバ２０１の稼働データ間の相関を含んでもよい。例えば、相関データ２３２は、サーバ装置２０３のアプリケーションプログラム２５０の応答時間が遅いときにクラウドサービス２０６の応答時間も遅いという関係や、ストレージ装置２０４の論理ボリューム２６０のＩＯＰＳが高いときにアプリケーションプログラム２５０のジョブの実行時間が遅いという関係や、サーバ装置２０３のアプリケーションプログラムの単位時間あたりのログ件数が多いときにアプリケーションプログラムの応答時間が遅いという関係の情報でよい。なお、相関データ２３２は、管理サーバ２０１が管理する計算機システムで使用されるデータ間の相関が分かればよい。この相関は、相関式の形式でもよいし、相関度が高い、低いなどの定性的な値でもよい。
【００３４】
システム構成情報２３３は、管理される装置間の接続関係や、管理されるアプリケーションプログラムと管理される装置との関係の情報である。システム構成情報２３３の詳細は図５、図６で後述する。
【００３５】
稼動データ２３４は、管理サーバ２０１が管理する装置群や、当該装置で実行されるプログラムの稼働データである。例えば、アプリケーションプログラム２５０が出力する稼動ログや、仮想マシン２５１の構成変更ログや、ストレージ装置２０４の論理ボリューム２６０の時系列のＩＯＰＳ実績データでよい。
【００３６】
対策データ２３５は、影響範囲の分析結果とともに表示される対策案のデータである。
【００３７】
また、補助記憶装置２１３は、プロセッサ２１１が実行するプログラムを格納してもよい。すなわち、プログラムは、補助記憶装置２１３から読み出されて、主記憶デバイス２１２にロードされて、プロセッサ２１１によって実行される。
【００３８】
通信インタフェース２１６は、所定のプロトコルに従って、ネットワーク２０７に接続された他の装置（操作端末２０２、サーバ装置２０３など）との通信を制御するネットワークインタフェース装置（ＮＩＣ）である。
【００３９】
管理サーバ２０１は、入力インタフェース及び出力インタフェースを有してもよい。入力インタフェースは、キーボードやマウスなどが接続され、管理者からの入力を受けるインタフェースである。出力インタフェースは、ディスプレイ装置やプリンタなどが接続され、管理サーバ２０１の状態やプログラムの実行結果を管理者が視認可能な形式で出力するインタフェースである。
【００４０】
プロセッサ２１１が実行するプログラムは、リムーバブルメディア（ＣＤ−ＲＯＭ、フラッシュメモリなど）又はネットワークを介して管理サーバ２０１に提供され、非一時的記憶媒体である不揮発性の補助記憶装置２１３に格納される。このため、管理サーバ２０１は、リムーバブルメディアからデータを読み込むインタフェースを有するとよい。
【００４１】
管理サーバ２０１は、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。また、管理サーバ２０１上で実行されるプログラムは、同一の計算機上で別個のスレッドで動作してもよい。
【００４２】
また、管理サーバ２０１には、操作端末２０２が接続されてもよい。操作端末２０２は、管理計算機２０１を操作するコンピュータである。操作端末２０２は、入出力装置２４１を有する。入出力装置２４１は、管理者の操作によりデータを入出力する装置（例えば、キーボード、マウス、ディスプレイ装置、プリンタなど）である。入出力装置２４１に入力されたデータは、ネットワーク２０７を介して管理サーバ２０１に送信される。出力装置２４２は、管理サーバ２０１からのデータを出力するディスプレイ装置やプリンタなどである。
【００４３】
サーバ装置２０３は、管理サーバ２０１に監視されるコンピュータであり、アプリケーションプログラムを実行する。サーバ装置２０３は、アプリケーションプログラム２５０と、プロセッサ２５１と、主記憶デバイス２５２と、補助記憶装置２５３とを含む。
【００４４】
アプリケーションプログラム２５０は、例えば、資材発注アプリケーションや電子商取引アプリケーションなどの業務サービスを提供するアプリケーションや、業務サービスを提供するアプリケーションが内部的に利用するアプリケーション（データベースなど）や、仮想マシンを提供するアプリケーション（Ｈｙｐｅｒｖｉｓｏｒなど）や、コンテナサービスを提供するＯＳなど、様々なアプリケーションプログラムを含む。サーバ装置２０３は、アプリケーションプログラムを実行できればよく、例えば、仮想計算機やコンテナなど、必ずしも物理的なサーバ装置の形態でなくてもよい。そのため、サーバ装置２０３は、必ずしも、物理的なプロセッサ２５１や主記憶デバイス２５２や補助記憶装置２５３を含まなくてもよいし、不図示のコンポーネントを含んでもよい。
【００４５】
ストレージ装置２０４は、管理サーバ２０１に管理される装置であり、サーバ２０３上で動作するプログラムや、管理サーバ２０１上で動作するプログラムが利用する記憶領域を提供する。ストレージ装置２０４は、論理ボリューム２６０と、通信Ｉ／Ｆ２６１と、ＩＯ処理ユニット２６２と、補助記憶装置２６３とを有する。
【００４６】
補助記憶装置２６３は複数の不揮発性記憶デバイスを、例えばＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）などによって冗長化して、論理ボリューム２６０として提供してもよい。また、複数のＲＡＩＤ化された補助記憶装置２６３が仮想的に一つの補助記憶装置２６３として制御されてもよい。論理ボリューム２６０は、補助記憶装置２６３の記憶領域によって構成される。論理ボリューム２６０へのデータは、通信Ｉ／Ｆ２６１を経由して入出力され、ＩＯ処理ユニット２６２がデータの入出力を制御する。ストレージ装置２０４は、例えば主記憶デバイスなど、不図示のコンポーネントを含んでもよい。
【００４７】
ネットワーク装置２０５は、管理サーバ２０１に管理される装置であり、複数の通信Ｉ／Ｆ２７０を有する。ネットワーク装置２０５は、計算機システム中で、複数の装置を接続して、データを転送する。例えば、ネットワーク装置２０５は、複数のサーバ装置２０３間を接続したり、複数のストレージ装置２０４間を接続したり、サーバ装置２０３とストレージ装置２０４とを接続する。代表的なネットワーク装置として、例えばＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）スイッチやＦＣ（Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ）スイッチがあるが、ネットワーク装置２０５は他の種類の装置でもよい。
【００４８】
クラウドサービス２０６は、管理サーバ２０１に管理される仮想的な装置であり、インターネットを介してサービスを提供するコンピュータである。クラウドサービス２０６の代表的な例としては、インターネットを介して提供されるサーバ装置２０３の機能や、インターネットを介して提供されるストレージ装置２０４の機能があるが、他のサービスを提供する機能でもよい。
【００４９】
なお、イベント検出プログラム２２２は、管理サーバ２０１ではなく、管理サーバ２０１が管理する計算機システム上に存在していてもよい。
【００５０】
図３は、第一の実施例における処理特性２３１の一例を示す図である。
【００５１】
処理特性２３１は、アプリケーションプログラムの処理の特徴量を分類した情報が、例えばテーブル形式で保持されており、予め手動又は他のプログラムによって用意される。以後、処理特性と処理の特徴量との二通りの表現をすることがあるが、同じ情報を意味する。処理特性２３１は、ＩＤフィールド３０１と、処理内容フィールド３０２と、データ量フィールド３０３と、データ保存形式３０４フィールド３０４とを含む。
【００５２】
ＩＤフィールド３０１は、処理特性の分類を一意に特定する識別情報を格納する。処理内容フィールド３０２と、データ量フィールド３０３と、データ保存形式フィールド３０４とは、アプリケーションによる処理の特徴量を格納する。処理の特徴量は、アプリケーションから抽出される。処理特性２３１は、例示したフィールドの一部を含まなくてもよいし、不図示の他のフィールドを含んでもよい。また、処理特性２３１に含まれるフィールドが複数のテーブルに分割して保存されてもよい。
【００５３】
図４は、相関データ２３２の一例を示す図である。
【００５４】
相関データ２３２は、処理特性により分類されるアプリケーションの性能と計算機システムの稼働データとの相関の情報が、例えばテーブル形式で保持されており、予め手動又は他のプログラムによって用意される。相関データ２３２は、ＩＤフィールド４０１と、ＳＶ  ＣＰＵフィールド４０２と、ＳＶ  Ｍｅｍフィールド４０３と、ＳＴ  ＬＵフィールド４０４とを含む。
【００５５】
ＩＤフィールド４０１は、処理特性２３１の分類を一意に特定する識別情報であり、処理特性２３１のＩＤフィールド３０１と共通の値を格納する。ＳＶ  ＣＰＵフィールド４０２と、ＳＶ  Ｍｅｍフィールド４０３と、ＳＴ  ＬＵフィールド４０４とは、管理サーバ２０１が監視する計算機システムの稼働データの監視項目に関連する情報である。相関データ２３２は、例示したフィールドのうち一部のフィールドを含まなくてもよいし、不図示の他のフィールドを含んでもよい。また、これらのフィールドが複数のテーブルに分割して保存されてもよい。
【００５６】
ＳＶ  ＣＰＵフィールド４０２は、サーバ装置２０３のプロセッサ２１１の稼働データと処理特性３０１のアプリケーション性能との相関情報を格納する。また、ＳＶ  Ｍｅｍフィールド４０３は、サーバ装置２０３の主記憶２１２の稼働データと処理特性３０１のアプリケーション性能との相関情報を格納し、ＳＴ  ＬＵフィールド４０４は、ストレージ装置２０４の論理ボリューム２６０の稼働データと処理特性３０１のアプリケーション性能との相関情報を格納する。ここでは簡易化のために、相関データを大中といったレベルを示す文字列で格納しているが、例えば相関式などの計算式の形で相関を保持してもよいし、相関度をクラスタリングなどの処理でクラス分けして算出したクラスの形で相関を保持してもよいし、その他の形式で相関を保持してもよい。
【００５７】
また、論理ボリューム２６０の稼働データには、例えば応答時間やＩＯＰＳ（単位時間当たりの入出力処理リクエスト数）など、複数の監視項目が存在しているが、本実施例では簡易化のために省略して記載する。計算機システムの構成要素の監視項目ごとに、処理特性との相関データを保持してもよい。
【００５８】
次に、図５及び図６を用いて、前述した構成情報２３３の一例を説明する。構成情報２３３は、図５に示す計算機システムの構成情報テーブル５００と、図６に示すアプリケーションの構成情報６００とを含む。
【００５９】
図５は、計算機システムの構成情報テーブル５００の一例を示す図である。
【００６０】
計算機システムの構成情報テーブル５００は、管理サーバ２０１が管理する計算機システムの構成要素の論理的又は物理的な接続関係の情報が、例えばテーブル形式で保持されており、予め手動又は他のプログラムによって用意される。計算機システムの構成情報テーブル５００は、アプリフィールド５０１と、サーバフィールド５０２と、プロセッサフィールド５０３と、ストレージフィールド５０４と、論理ボリュームフィールド５０５とを含む。
【００６１】
アプリフィールド５０１は、アプリケーションを一意に特定するための識別情報を格納する。サーバフィールド５０２は、アプリケーションが稼働しているサーバ装置２０３を特定するための識別情報を格納する。プロセッサフィールド５０３は、アプリケーションを実行しているプロセッサ２１１を特定するための識別情報を格納する。ストレージフィールド５０４は、アプリケーションが利用するデータを保存するストレージ装置２０４を特定するための識別情報を格納する。論理ボリュームフィールド５０５は、アプリケーションが利用するデータを保存する論理ボリューム２６０を特定するための識別情報を格納する。
【００６２】
計算機システムの構成情報テーブル５００は、例示したフィールドの一部を含まなくてもよいし、不図示の他のフィールドを含んでもよい。また、これらのフィールドが複数のテーブルに分割して保存されてもよい。不図示の他のフィールドとして、例えば、クラウドサービス２０６に関するサービスのバージョン情報やＡＰＩ仕様のバージョンの情報が記録されてもよいし、ストレージ装置２０４の補助記憶装置２６３の記憶媒体の種類（ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）であるか、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｉｓｋ）であるか等）や、サーバ装置２０３のプロセッサ２５１の性能（動作周波数など）の情報が記録されてもよい。計算機システムの構成情報テーブル５００は、管理サーバ２０１が管理する計算機システムのコンポーネント、例えば、サーバ装置２０３のアプリケーションプログラム２５０や、ストレージ装置２０４の論理ボリューム２６０など、稼働データを取得する対象であれば、全てのコンポーネントのデータが記録されていることが望ましい。
【００６３】
図６は、アプリケーションの構成情報テーブル６００の一例を示す図である。
【００６４】
アプリケーションの構成情報テーブル６００は、管理サーバ２０１が管理するアプリケーションにおいて実行される処理と処理特性との対応関係の情報が、例えばテーブル形式で保持されており、予め手動又は他のアプリケーションプログラムによって用意される。アプリケーションの構成情報テーブル６００は、ＩＤフィールド６０１と、アプリフィールド６０２と、処理フィールド６０３と、処理特性フィールド６０４とを含む。ＩＤフィールド６０１は、アプリケーションにおいて実行される処理を一意に特定する識別情報を格納する。アプリフィールド６０２は、処理がどのアプリケーションに含まれるのかを特定する識別情報を格納する。処理６０３フィールドは、処理が実行される目的を人が認識できる見出しを格納する。処理特性フィールド６０４は、処理の特性を格納する。一つの処理に複数の処理特性が対応する場合もある。アプリケーションの構成情報テーブル６００は、例示したフィールドの一部を含まなくてもよいし、不図示の他のフィールドを含んでもよい。また、これらのフィールドが複数のテーブルに分割して保存されてもよい。
【００６５】
次に、管理計算機２０１が実行する相関学習処理を説明する。相関学習処理は、管理計算機２０１のプロセッサ２１１が相関学習処理プログラム２２０を実行することによって実現される処理である。
【００６６】
図７は、管理サーバ２０１が実行する相関学習処理の手順例を示すフローチャートである。
【００６７】
まず、相関学習処理が実行される際のトリガを説明する。相関学習処理は、管理者からの指示によって実行されてよい。管理者の指示は、操作端末２０２の入出力装置２４１又は管理サーバ２０１の不図示の入出力装置から入力される。また、管理サーバ２０１が他のプログラムの出力結果を受けて、相関学習処理を実行してもよい。また、相関学習処理は、所定のタイミングで実行されてもよい。所定のタイミングは、定期的（例えば、１時間ごと）であったり、スケジューラに指定された時刻の到来を契機でよい。また、管理サーバ２０１が、管理される計算機システムの構成変更（例えば、アプリケーションプログラムの更新、仮想マシンのマイグレーションなど）を検出した場合に相関学習処理を実行してもよい。また、管理サーバ２０１が、管理される計算機システムの挙動の変化（例えば、ユーザからアプリケーションへのアクセスの傾向の変化、アクセスするデータ量の変化、管理される計算機システムの稼働データが閾値を超過、管理される計算機システムの稼働データが特定のパターンに一致など）を検出した場合に相関学習処理を実行してもよい。また、管理者による障害対策の実行の完了を検出した場合に相関学習処理を実行してもよい。また、管理サーバ２０１が記憶している相関データに基づいて算出された予測値と実測値との差異を検出した場合に相関学習処理を実行してもよい。これらの相関学習処理の契機となる事象は、イベント検出プログラム２２２によって検出されるとよい。
【００６８】
図７に示すように、管理サーバ２０１は、処理特性の抽出処理（ステップＳ７０１）、構成情報の更新処理（ステップＳ７０２）及び相関の分析処理（ステップＳ７０３）を実行する。相関学習処理フロー７００は、不図示の他の処理ステップを含んでもよい。また、各処理ステップは、影響分析処理２２１が実行されるまでに１回以上実行さればよく、２回目以降に相関学習処理フロー７００が実行される場合は、図示する処理ステップの一部が実行されなくてもよい。また、相関学習処理フロー７００では、図示する処理ステップを実行する順序が異なってもよい。
【００６９】
処理特性の抽出処理（ステップＳ７０１）では、管理サーバ２０１は、アプリケーションが実行する処理の特徴量を抽出し、抽出した処理の特徴量を処理特性２３１に登録する。例えば、アプリケーションの稼働データから処理の実行時間を取得して、取得した実行時間を他のアプリケーションによりクラスタリングして特徴量を抽出する。また、データベースへのアクセスログから、処理が登録処理か、読み込み処理か、更新処理か、削除処理かを分類して特徴量を抽出してもよい。また、アプリケーションの稼働データからアクセスするデータ量を比較して特徴量を抽出してもよい。また、ユーザのアプリケーションのログイン履歴から、アプリケーションユーザ数を取得して特徴量を抽出してもよい。これらの特徴量の抽出処理は、手動で行ってもよい。処理特性の抽出処理（ステップＳ７０１）によって、処理の新たな特徴量が抽出できない場合、処理特性２３１に処理の特徴量が登録されなくてもよい。処理特性の抽出処理（ステップＳ７０１）の実行によって、新たにデータレコードが追加されてもよい。処理の新たな特徴量が検出され、データフィールドが増加してもよい。処理の特徴量の再計算によりデータフィールドが減少してもよい。
【００７０】
構成情報の更新処理（ステップＳ７０２）では、管理サーバ２０１は、管理される計算機システムの構成情報を取得する。例えば、管理サーバ２０１は、仮想マシンがマイグレーションして、稼働するサーバ装置２０３が変更されたことを検出し、構成情報２３３に含まれる計算機システムの構成情報テーブル５００を更新する。また、アプリケーションが同じ処理を実行しても、データ量の増加に伴い処理特性が変化した場合、構成情報２３３に含まれるアプリケーションの構成情報テーブル６００の処理特性６０４を再度算出してもよい。また、アプリケーションの更新に伴い新機能が追加された場合、構成情報２３３に含まれるアプリケーションの構成情報テーブル６００に新たなデータレコードを追加してもよい。また、クラウドサービス２０６の更新に伴ってＡＰＩ仕様の変更を検出して、構成情報２３３に含まれる計算機システムの構成情報テーブル５００を更新してもよい。また、異常に例示した以外の処理を実行してもよい。
【００７１】
相関の分析処理（ステップＳ７０３）では、管理サーバ２０１は、管理される計算機システムの稼働データと、処理特性２３１の特徴量を有するアプリケーションの処理性能との相関を分析し、相関データ２３２を更新する。例えば、ストレージ装置２０４の論理ボリュームへのＩＯＰＳが所定の値を超えた場合、処理特性２３１のＩＤ３０１がＣ２に該当するアプリケーションの処理群の応答時間が一様に増加する場合、ストレージ装置２０４の論理ボリュームのＩＯＰＳの増加と処理特性Ｃ２とを分析し、両者の相関度が高いという情報を記憶する。相関の分析処理は、手動又は他のプログラムによって実行されてもよい。相関の分析処理（ステップＳ７０３）で新たな相関関係が検出されなかった場合、相関データ２３２が更新されなくてもよい。また、相関の分析処理（ステップＳ７０３）では、相関データ２３２のデータフィールドに対応する相関を分析するのに十分な学習データが無い場合、例えば、相関データ２３２において図４に不図示のデータフィールドとしてストレージ装置２０４のＩＯ処理ユニット２６２に対応するＳＴ  ＣＰＵフィールドが追加された場合に、相関を分析するために充分な量の稼働データ２３４として、ＩＯ処理ユニット及びアプリケーションプログラムの稼働データが存在しない場合、管理サーバ２０１が管理する計算機システムで他のプログラムによる処理を実行し、相関の分析に充分な稼働データを生成し、相関の分析処理（ステップＳ７０３）による効果を高めてもよい。
【００７２】
次に、管理計算機２０１が実行する影響分析処理を説明する。影響分析処理は、管理計算機２０１のプロセッサ２１１が影響分析処理プログラム２２１を実行することによって実現される処理である。
【００７３】
図８は、管理サーバ２０１が実行する影響分析処理の手順例を示すフローチャートである。影響分析処理は、管理計算機２０１の入力装置２１４から入力される管理者からの指示によって実行されてもよい。また、影響分析処理は、他のプログラムからの指示を受けて、管理サーバ２０１が実行してもよい。また、管理サーバ２０１が管理する計算機システムが送信した問題発生の通知を、管理サーバ２０１は、通信インタフェース２１６を介して受信した場合に、影響分析処理を実行してもよい。
【００７４】
図８に示すように、管理サーバ２０１は、計算機システムの問題検出処理（ステップＳ８０１）、関連アプリの特定処理（ステップＳ８０２）、処理毎の影響分析処理（ステップＳ８０３）、対策の生成処理（ステップＳ８０４）及び対策の実行処理（ステップＳ８０５）を実行する。影響分析処理フロー８００は、不図示の他の処理ステップを含んでもよい。また、図示する処理ステップの一部が実行されなくてもよい。
【００７５】
計算機システムの問題検出処理（ステップＳ８０１）では、管理サーバ２０１は、管理される計算機システムで発生している問題を検出する。例えば、収集した計算機システムの稼働データと当該稼働データの閾値とを比較し、稼働データが閾値を超えている場合に、問題が発生したことを検出する。また、例えば、計算機システムの稼働データのテキストを解析し、「Ｅｒｒｏｒ」や「警告」などの特定の文字列が含まれる場合に、問題が発生したことを検出してもよい。また、例えば、稼働データの増加傾向から、数日以内に稼働データが閾値を超過することが予測される場合に、問題発生の予兆を検出してもよい。計算機システムの問題検出処理は、イベント検出プログラム２２２によって実行されるとよい。計算機システムの問題を検出した場合、問題が発生した箇所として、構成情報２３３の計算機システムの構成情報テーブル５００のレコードを特定可能な情報を出力する。例えば、名称がストレージ１であるストレージ装置２０４内の名称がＬＵ２である論理ボリュームで問題が発生したことが分かる情報である。
【００７６】
関連アプリの特定（ステップＳ８０２）では、管理サーバ２０１は、問題が発生している計算機システムと関連するアプリケーションを特定する。管理サーバ２０１は、構成情報２３３の計算機システム構成情報テーブル５００のうち、計算機システムの問題検出（ステップＳ８０１）で検出した問題が発生したフィールドに該当する計算機システムと接続関係にあるアプリフィールド５０１を抽出し、出力する。例えば、図５に図示する計算機システムの構成情報テーブル５００のうち、ストレージ５０４がストレージ１であり、論理ボリュームフィールド５０５がＬＵ２に該当するのはアプリＡとアプリＢである。従って、ストレージ１に存在するＬＵ２の問題に関連のあるアプリケーションはアプリＡとアプリＢであることが分かる。
【００７７】
関連アプリの特定処理（ステップＳ８０２）の概要を図９に示す。図９に示すように、管理サーバが管理する計算機システムでは、アプリＡと、アプリＢと、アプリＣと、アプリＤと、アプリＥと、アプリＦとが稼働している。アプリＡと、アプリＢと、アプリＣと、アプリＤとはサーバ１で稼動しており、アプリＥと、アプリＦとがサーバ２で稼動している。また、アプリＡと、アプリＢと、アプリＣと、アプリＤと、アプリＥと、アプリＦとのいずれもストレージ１にデータを保存しており、アプリＣがストレージ１内の通信Ｉ／Ｆ１を利用しており、アプリＡとアプリＤとがストレージ１内の通信Ｉ／Ｆ２を利用しており、アプリＢがストレージ１内の通信Ｉ／Ｆ３を利用しており、アプリＥがストレージ１内の通信Ｉ／Ｆ４を利用しており、アプリＦがストレージ１内の通信Ｉ／Ｆ５を利用している。また、アプリＣとアプリＤとがＩＯ処理ユニット１を利用しており、アプリＡとアプリＢとアプリＥとアプリＦとがＩＯ処理ユニット２を利用している。また、アプリＣとアプリＤとが論理ボリュームＬＵ１上にデータを格納しており、アプリＡとアプリＢとが論理ボリュームＬＵ２上にデータを格納しており、アプリＥとアプリＦとが論理ボリュームＬＵ３上にデータを格納している。
【００７８】
また、論理ボリュームＬＵ１は、補助記憶装置１と補助記憶装置２と補助記憶装置３とを冗長化して構成されており、論理ボリュームＬＵ２は、補助記憶装置４と補助記憶装置５と補助記憶装置６とを冗長化して構成されており、論理ボリュームＬＵ３は、補助記憶装置７と補助記憶装置８と補助記憶装置９とを冗長化して構成されている。図示するようにアプリケーション毎に利用する計算機システムの構成要素の組み合わせが異なっている。関連アプリの特定処理（ステップＳ８０２）では、例えば、論理ボリュームＬＵ２で問題が発生した場合、ストレージ１を共有しているアプリケーションでもアプリＣとアプリＤとアプリＥとアプリＦとは、論理ボリュームＬＵ２と関連がなく、アプリＡとアプリＢとは、論理ボリュームＬＵ２と関連があることを特定するための処理である。
【００７９】
処理毎の影響分析（ステップＳ８０３）では、計算機システムの問題検出（ステップＳ８０１）で出力された問題が発生している計算機システムの構成要素を特定するための識別情報と、関連アプリの特定（ステップＳ８０２）の出力である計算機システムの問題の影響をうけるアプリケーションを特定するための識別情報とを入力として受け付け、影響を受けるアプリケーションのうち、影響を受ける処理を特定するための識別情報を出力する。
【００８０】
処理毎の影響分析処理（ステップＳ８０３）では、管理サーバ２０１は、相関データ２３２のうち、問題が発生している計算機システムの構成要素と一致するフィールドの相関データを参照し、相関度が高い処理特性を特定することによって影響を受ける処理特性を算出する。相関度が高い処理特性の特定は、相関度が文字で記録されている場合は高い相関度を示す文字の処理特性を一致するかによって判定するとよいし、相関度が数値で記録されている場合は閾値との比較によって判定するとよいし、相関度が式で定められている場合は式によって算出された値が所定の条件に一致するかによって判定するとよい。
【００８１】
次に、管理サーバ２０１は、構成情報２３２のアプリケーションの構成情報テーブル６００のうち、アプリフィールド６０２が影響を受けるアプリケーションと一致するレコードを取得し、取得したレコードのうち、影響を受ける処理特性と処理特性フィールド６０４が一致するレコードを、影響を受ける処理として出力する。
【００８２】
例えば、図１０に例示するように、相関データ２３２を用いた場合、問題が発生している計算機システムの構成要素はストレージの論理ボリュームである、ストレージの論理ボリュームに対応するフィールドはＳＴ  ＬＵフィールド４０４であり、処理特性Ｃ２及びＣ３が影響を受ける処理特性であると判定できる。そして、アプリケーションの構成情報テーブル６００を参照して、アプリＡとアプリＢに該当するレコードのうち、処理特性フィールド６０４がＣ２又はＣ３であるレコードは、ＩＤがＦ２の処理とＩＤがＦ３の処理であることが分かり、当該処理のＩＤであるＦ２とＦ３を出力する。
【００８３】
対策の生成処理（ステップＳ８０４）では、管理サーバ２０１は、問題が発生している計算機システムの構成要素と影響を受けるアプリと処理特性を入力し、対策を出力する。対策の生成処理は、対策生成処理プログラム２２４によって実行されるとよい。例えば、ストレージ１の論理ボリュームＬＵ２のＩＯＰＳが問題となって、アプリＡ及びアプリＢの処理特性Ｃ２及びＣ３の処理が影響を受けるという情報を入力した場合、アプリＢが利用する論理ボリュームをＬＵ２からＬＵ３に変更するという対策を出力する。対策の生成処理（ステップＳ８０４）は、手動又は他のプログラムによって実行されてもよい。また、処理毎の影響分析処理（ステップＳ８０３）において有意な影響がある処理が無いと判定された場合は、対策の生成処理（ステップＳ８０４）は実行されなくてもよい。また、管理サーバ２０１は影響分析処理フロー８００のここまでの処理の結果を、操作端末２０２の入出力装置２４１を介して管理者に出力してもよい。例えば、図１１に例示する画面を出力してもよい。
【００８４】
図１１に例示する画面には、大別すると、問題１１０１と影響１１０２と対策１１０３との３つの情報が表示される。問題１１０１は、計算機システムの問題検出処理（ステップＳ８０１）の出力を可視化した情報である。影響１１０２は、関連アプリの特定処理（ステップＳ８０２）の出力と、処理毎の影響分析処理（ステップＳ８０３）と出力と、処理特性２３１とを合わせて可視化した情報である。対策１１０３は、対策の生成処理（ステップＳ８０４）の出力を可視化した情報である。これらの情報を合わせて参照することによって、管理者は発生している問題、その影響、影響を解決するための対策案を容易に理解でき、どの対策案を実行すれば良いかを判断できる。
【００８５】
しかし、これらの情報は、問題１１０１と影響１１０２と対策１１０３とのそれぞれが別の画面で表示されてもよい。また、これらの情報のいくつかが別の管理サーバによって提供される場合には、一部の情報が表示されなくてもよい。また、生成された対策を自動的に実行する場合には、全て又は一部の情報が表示されなくてもよい。
【００８６】
対策の実行処理（ステップＳ８０５）では、管理サーバ２０１は、対策の生成（ステップＳ８０４）で出力された対策を入力とし、対策を実行するような命令手順を出力する。例えば、アプリＢが利用する論理ボリュームをＬＵ２からＬＵ３に変更する対策が入力された場合、アプリＢが利用しているデータを格納する論理ボリュームをＬＵ２からＬＵ３に変更する命令をストレージ装置２０４に出力する。本ステップは手動又は他のプログラムによって実行されてもよい。
【００８７】
また、対策の実行処理（ステップＳ８０５）は実行されなくてもよい。例えば、対策の生成処理（ステップＳ８０４）が実行されなかった場合や、計算機システムの管理者が対策の生成処理（ステップＳ８０４）の出力を参照して、対策の実行が不要と判断した場合は、対策の実行処理（ステップＳ８０５）を実行しない。
【００８８】
以上説明したように、本発明の第一の実施例によれば、管理サーバ２０１は、管理される計算機システムの稼働データ２３４と、管理されるアプリケーションの処理特性２３１とを用いて相関データ２３２を生成し、管理される計算機システムで問題が発生した場合に、相関データ２３２と構成情報２３３とを用いて影響を受けるアプリケーションの処理を特定できる。また、計算機システムの管理者は、影響をうける処理の特徴量を把握できるため、計算機システムで発生した問題とその影響の因果関係を容易に推定できる。そのため、計算機システムの管理者は、迅速に必要な対策を検討し実行し、アプリケーションの性能を維持できる。
【００８９】
＜実施例２＞
図１２は、本発明の第二の実施例におけるシステムの構成例を示すブロック図である。
【００９０】
第二の実施例の管理サーバ２０１の主記憶２１２は、影響分析処理プログラム２２１を記憶しておらず、原因分析処理プログラム２２３を記憶している。他の構成及び機能は第一の実施例と同じであるので、同じ符号を付し、それらの説明は省略する。
【００９１】
次に、管理計算機２０１の原因分析処理プログラムを説明する。原因分析処理は、管理計算機２０１のプロセッサ２１１が原因分析処理プログラム２２３を実行することによって実現される処理である。
【００９２】
図１３は、管理サーバ２０１が実行する原因分析処理の手順例を示すフローチャートである。原因分析処理は、管理計算機２０１の入力装置２１４から入力される管理者からの指示によって実行されてもよい。また、原因分析処理は、管理サーバ２０１が他のプログラムによる指示を受けて実行してもよい。また、管理サーバ２０１の管理される装置である計算機システムが送信した問題発生の通知を、管理サーバ２０１が通信インタフェース２１６を介して受信した際に原因分析処理を実行してもよい。
【００９３】
図１３に示すように、管理サーバ２０１は、アプリの問題検出処理（ステップＳ１３０１）、処理特性との対応検出処理（ステップＳ１３０２）、原因範囲の絞り込み処理（ステップＳ１３０３）及び原因箇所の算出処理（ステップＳ１３０４）を実行する。原因分析処理フロー１３００は、不図示の他の処理ステップを含んでもよい。
【００９４】
アプリの問題検出処理（ステップＳ１３０１）では、管理サーバ２０１は、管理されるアプリケーションプログラム２５０の特定の処理で発生した問題を検出し、問題が発生しているアプリケーションプログラムとその処理を特定可能な情報を出力する。例えば、アプリケーションのエンドユーザの出力画面を表示するための処理時間が閾値を超えた問題を検出し、構成情報２３３に含まれるアプリケーションの構成情報テーブル６００におけるアプリフィールド６０２と処理フィールド６０３とを出力する。アプリケーションプログラムで発生した問題の検出は、イベント検出プログラム２２２が実行してもよいし、管理者が手動で実行してもよい。
【００９５】
処理特性との対応検出処理（ステップＳ１３０２）では、管理サーバ２０１は、問題が発生している処理特性を特定する。具体的には、アプリの問題検出処理（ステップＳ１３０１）の出力を入力とし、構成情報２３３に含まれるアプリケーションの構成情報テーブル６００のうち、該当するアプリケーションの処理特性フィールド６０４を全て取得し、出力する。
【００９６】
原因範囲の絞り込み処理（ステップＳ１３０３）では、管理サーバ２０１は、アプリケーションプログラム２５０で発生している問題の原因範囲の候補を出力する。例えば、管理サーバ２０１は、処理特性との対応検出処理（ステップＳ１３０２）の出力を入力とし、相関データ２３２の各フィールドに記憶されている相関データのうち、計算機システムの各構成要素の稼働データとアプリケーション性能（処理特性）との相関があると記憶されているデータフィールドを、原因範囲の候補として取得する。入力された処理特性とデータ列とのいずれの組み合わせでも相関がない場合、原因範囲の候補としてデータフィールドを出力してもよい。
【００９７】
原因箇所の算出処理（ステップＳ１３０４）では、管理サーバ２０１は、構成情報２３２に含まれる計算機システムの構成情報テーブル５００のアプリフィールド５０１と、アプリの問題検出処理（ステップＳ１３０１）で出力されたアプリフィールド６０２とが一致する構成情報テーブル５００のデータレコードを取得し、取得したデータレコードにおいて、原因範囲の絞り込み処理（ステップＳ１３０３）で取得したデータフィールドと一致するデータレコードに記載されている計算機システムの構成要素を原因箇所の候補として出力する。原因箇所の候補として複数の構成要素が出力される場合、優先順位を付けて出力してもよい。例えば、原因箇所の候補として複数の構成要素が算出される場合、該当する構成要素における稼働データ２３４を参照し、通常通りの振る舞いと異なる傾向（例えば、ＣＰＵ使用率が通常よりも３０％高い、Ｄａｔａｂａｓｅのアクセスログの件数が閾値よりも多く記録されている）を検出した場合、原因箇所の候補として優先的に出力してもよい。
【００９８】
以上説明したように、本発明の第二の実施例によれば、管理サーバ２０１は、管理される計算機システムの稼働データ２３４と管理されるアプリケーションの処理特性２３１とを用いて相関データ２３２を生成し、管理されるアプリケーションプログラムで問題が発生した場合に、相関データ２３２と構成情報２３３とを用いて原因箇所である計算機システムの構成要素を特定する。このため、計算機システムの管理者は、迅速に必要な対策を検討し実行し、アプリケーションの性能を維持できる。
【００９９】
以上に説明したように、本発明の実施例によると、管理サーバ２０１は、アプリケーションプログラムに含まれる処理の特性を抽出し、処理の特性と計算機システムの構成要素との相関の分析によって、アプリケーションプログラムに含まれる処理と計算機システムの構成要素との相関を特定して相関データ２３２を生成し、相関データ２３２に基づいて、計算機システムの稼働状況とアプリケーションプログラムに含まれる処理の特性との関係を特定するので、アプリケーションプログラムに含まれる処理の単位で、計算機システムに生じた異常によって影響を受ける範囲が分かる。
【０１００】
また、管理サーバ２０１は、計算機システムの構成変更（例えば、ハードウェアの変更、仮想計算機のマイグレーション、ストレージのディスクの変更など）を検出した場合、処理の特性の抽出及び処理の特性と前記計算機システムの構成要素との相関の分析の少なくとも一つを実行するので、学習によって相関データ２３２の精度を向上できる。特に、クラウド構成で頻繁に行われる構成変更に相関データの更新が追随可能となる。
【０１０１】
また、管理サーバ２０１は、アプリケーションプログラムの利用傾向の変化（例えば、ユーザ数の増加、アプリケーションプログラムの機能の追加など）を検出した場合、処理の特性の抽出、及び処理の特性と前記計算機システムの構成要素との相関の分析の少なくとも一つを実行するので、学習によって相関データ２３２の精度を向上できる。特に、クラウド構成で頻繁に行われる構成変更に相関データの更新が追随可能となる。例えば、アプリケーションプログラムの機能追加によって、処理特性２３１になかった新たな処理が追加されたり、他の処理特性と相関関係が生じたり、処理特性２３１になかった新たな処理特性が追加され、当該処理特性と計算機システムの構成要素との相関が記録されたりする。
【０１０２】
また、管理サーバ２０１は、計算機システムの異常又は異常の予兆を検出した場合、相関データ２３２に基づいて、異常によって影響を受けるアプリケーションプログラムの処理を特定するので、異常発生時に影響が生じる範囲を処理単位で特定でき、アプリケーション側の対策が可能となる。また、異常の予兆段階で（異常の発生前に）アプリケーション側の対策が可能となる。
【０１０３】
また、管理サーバ２０１は、計算機システムの異常又は異常の予兆と、異常によって影響を受けるアプリケーションプログラムの処理とを表示するための画面データを出力するので、処理毎に異常によって生じる影響が分かる。また、計算機システムの異常によって影響を受ける処理の傾向が分かるので、計算機システム側の対策（ディスクの追加など）と、アプリケーション側の対策（アクセス制限など）とを連携して行うことができる。また、アプリケーションプログラムを改造するための情報を得ることができる。
【０１０４】
また、管理サーバ２０１は、アプリケーションプログラムでの問題を検出した場合、相関データ２３２に基づいて、問題の原因である前記計算機システムの構成要素を特定するので、アプリケーションの挙動から計算機システム側の原因箇所を特定できる。このため、計算機システム側の保守が容易になる。
【０１０５】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
【０１０６】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【０１０７】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。
【０１０８】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【図１】
2018063518.tif 000003
【図２】
2018063518.tif 000004
【図３】
2018063518.tif 000005
【図４】
2018063518.tif 000006
【図５】
2018063518.tif 000007
【図６】
2018063518.tif 000008
【図７】
2018063518.tif 000009
【図８】
2018063518.tif 000010
【図９】
2018063518.tif 000011
【図１０】
2018063518.tif 000012
【図１１】
2018063518.tif 000013
【図１２】
2018063518.tif 000014
【図１３】
2018063518.tif 000015