(57)【要約】      （修正有）【課題】情報処理システムの障害箇所をいち早く絞り込むことが可能な情報処理装置、情報処理装置の制御方法、及びプログラムを提供する。【解決手段】コンピュータと、データを記憶するストレージ装置とが、プログラム毎にそれぞれ割り当てられる複数のデータ転送経路で通信可能に接続されてなる情報処理システムに通信可能に接続され、各データ転送経路を構成する情報処理システムの各構成要素と各構成要素をデータ転送経路として使用するプログラムとを対応付けて記憶するシステム構成記憶部と、プログラムの実行に際して異常が検出されたことを示す異常検出情報をコンピュータから受信する異常検出情報受信部と、各構成要素の中で最も多くのプログラムが対応付けられる構成要素を検査対象として選定する検査対象選定部と、検査対象として選定された構成要素に対して検査した結果を記憶する検査結果記憶部と、を備える。【選択図】図１０
2006133983.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つのアプリケーションプログラムを実行する少なくとも一つのコンピュータとデータを記憶する少なくとも一つのストレージ装置とが、前記アプリケーションプログラム毎にそれぞれ割り当てられる複数のデータ転送経路で通信可能に接続されてなる情報処理システムに通信可能に接続され、
前記各データ転送経路を構成する前記情報処理システムの各構成要素と、前記各構成要素をデータ転送経路として使用するアプリケーションプログラムとを対応付けて記憶するシステム構成記憶部と、
アプリケーションプログラムの実行に際して異常が検出されたことを示す異常検出情報を前記コンピュータから受信する異常検出情報受信部と、
前記各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素を検査対象として選定する検査対象選定部と、
前記検査対象として選定された構成要素に対して検査した結果を記憶する検査結果記憶部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記検査対象選定部は、
前記検査対象の構成要素に異常が検出されなかった場合には、前記検査対象の構成要素と前記各コンピュータとの間を通信可能に接続するデータ転送経路上に並ぶ各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素を次の検査対象として選定し、
前記検査対象の構成要素に異常が検出された場合には、前記検査対象の構成要素と前記各ストレージ装置との間を通信可能に接続するデータ転送経路上に並ぶ各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素を次の検査対象として選定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記検査対象選定部は、
前記各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素が複数あった場合には、当該各構成要素の中で、当該各構成要素と前記各ストレージ装置との間の各データ転送経路上にそれぞれ並ぶ構成要素の数が最も少ない構成要素を検査対象として選定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記検査対象選定部は、
前記各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素が複数あった場合には、当該各構成要素の中で、当該各構成要素と前記各コンピュータとの間の各データ転送経路上にそれぞれ並ぶ構成要素の数が最も少ない構成要素を検査対象として選定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記検査対象を選定する際に、前記各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素が複数あった場合に、
当該各構成要素の中で、当該各構成要素と前記各ストレージ装置との間の各データ転送経路上にそれぞれ並ぶ構成要素の数が最も少ない構成要素を検査対象として選定するアルゴリズムにより前記検査対象を選定するか、当該各構成要素の中で、当該各構成要素と前記各コンピュータとの間の各データ転送経路上にそれぞれ並ぶ構成要素の数が最も少ない構成要素を検査対象として選定するアルゴリズムにより前記検査対象を選定するか、を示す選定アルゴリズム選択情報の入力をユーザインタフェースから受ける選定アルゴリズム入力部と、
を備え、
前記検査対象選定部は、前記選定アルゴリズム選択情報に応じて、検査対象を選定するアルゴリズムを切り替える
ことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記検査対象選定部は、
前記検査対象の構成要素に異常が検出されなかった場合には、前記検査対象の構成要素と前記各ストレージ装置との間を通信可能に接続するデータ転送経路上に並ぶ各構成要素、前記検査対象の構成要素、及び前記検査対象の構成要素と前記データ転送経路で通信可能に接続されるストレージ装置については異常がない旨の情報をそれぞれ記憶すると共に、まだ検査対象として選定されていない構成要素のうち、まだ異常がない旨の情報が記憶されていない各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素を次の検査対象として選定し、
前記検査対象の構成要素に異常が検出された場合には、前記検査対象の構成要素と前記各コンピュータとの間を通信可能に接続するデータ転送経路上に並ぶ各構成要素、及び前記検査対象の構成要素と前記データ転送経路で通信可能に接続されるコンピュータについては異常がない旨の情報をそれぞれ記憶すると共に、まだ検査対象として選定されていない構成要素のうち、まだ異常がない旨の情報が記憶されていない各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素を次の検査対象として選定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記検査対象選定部は、
まだ検査対象として選定されていない構成要素のうち、まだ異常がない旨の情報が記憶されていない各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素が複数あった場合には、前記各構成要素の中で、前記異常が検出されたアプリケーションプログラムと対応付けられる構成要素を検査対象として選定する
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記検査対象選定部は、
まだ検査対象として選定されていない構成要素のうち、まだ異常がない旨の情報が記憶されていない各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素が複数あった場合には、前記各構成要素の中で、前記各構成要素と前記各ストレージ装置との間の各データ転送経路上にそれぞれ並ぶ構成要素の数が最も少ない構成要素を検査対象として選定する
ことを特徴とする請求項６に記載の情報処理装置。
【請求項９】
前記検査対象選定部は、
まだ検査対象として選定されていない構成要素のうち、まだ異常がない旨の情報が記憶されていない各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素が複数あった場合には、前記各構成要素の中で、前記各構成要素と前記各コンピュータとの間の各データ転送経路上にそれぞれ並ぶ構成要素の数が最も少ない構成要素を検査対象として選定する
ことを特徴とする請求項６に記載の情報処理装置。
【請求項１０】
前記検査の結果をユーザインタフェースに出力する検査結果出力部と、
を備える
ことを特徴とする請求項１に記載の情報処理装置。
【請求項１１】
前記検査の結果に応じて、前記情報処理システムの自律制御を行う自律ポリシー制御部と、
を備える
ことを特徴とする請求項１に記載の情報処理装置。
【請求項１２】
まだ検査対象として選定されていない構成要素のうち、異常がない旨の情報が記憶されていない構成要素がない場合には、直近に異常が検出された構成要素を、前記アプリケーションプログラムの実行に際して検出された異常の原因となる構成要素であると特定する異常箇所特定部と、
を備える
ことを特徴とする請求項６に記載の情報処理装置。
【請求項１３】
前記検査対象選定部は、
前記アプリケーションプログラムの実行に際して検出された異常の原因となる構成要素であると過去に特定された構成要素をまず検査対象として選定する
ことを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
前記アプリケーションプログラムの実行に際して検出された異常の原因となる構成要素であると特定された構成要素をデータ転送経路として使用する各アプリケーションプログラムのそれぞれに関する前記異常検出情報の受信有無の組み合わせに応じて、前記構成要素における前記異常の原因となる部位を特定する異常箇所詳細特定部と、
を備える
ことを特徴とする請求項１２に記載の情報処理装置。
【請求項１５】
前記特定された異常の原因となる部位をユーザインタフェースに出力する異常箇所出力部と、
を備える
ことを特徴とする請求項１４に記載の情報処理装置。
【請求項１６】
前記特定された異常の原因となる部位に応じて、前記情報処理システムの自律制御を行う自律ポリシー制御部と、
を備える
ことを特徴とする請求項１４に記載の情報処理装置。
【請求項１７】
少なくとも一つのアプリケーションプログラムを実行する少なくとも一つのコンピュータとデータを記憶する少なくとも一つのストレージ装置とが、前記アプリケーションプログラム毎にそれぞれ割り当てられる複数のデータ転送経路で通信可能に接続されてなる情報処理システムに通信可能に接続される情報処理装置の制御方法であって、
前記各データ転送経路を構成する前記情報処理システムの各構成要素と、前記各構成要素をデータ転送経路として使用するアプリケーションプログラムとを対応付けて記憶し、
アプリケーションプログラムの実行に際して異常が検出されたことを示す異常検出情報を前記コンピュータから受信し、
前記各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素を検査対象として選定し、
前記検査対象として選定された構成要素に対して検査した結果を記憶する
ことを特徴とする情報処理装置の制御方法。
【請求項１８】
少なくとも一つのアプリケーションプログラムを実行する少なくとも一つのコンピュータとデータを記憶する少なくとも一つのストレージ装置とが、前記アプリケーションプログラム毎にそれぞれ割り当てられる複数のデータ転送経路で通信可能に接続されてなる情報処理システムに通信可能に接続される情報処理装置に、
前記各データ転送経路を構成する前記情報処理システムの各構成要素と、前記各構成要素をデータ転送経路として使用するアプリケーションプログラムとを対応付けて記憶するシステム構成記憶部と、
アプリケーションプログラムの実行に際して異常が検出されたことを示す異常検出情報を前記コンピュータから受信する異常検出情報受信部と、
前記情報処理システムの各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素を検査対象として選定する検査対象選定部と、
前記検査対象として選定された構成要素に対して検査した結果を記憶する検査結果記憶部と、
を実現するためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、企業等における多くの業務が情報処理システムを用いて行われており、情報処理システムには高い信頼性と可用性が求められている。一方で情報処理システムに障害や異常が発生した場合には、業務停止等による経済損失や顧客等からの信用低下を最小限に留めるため、情報処理システムの管理者には、迅速かつ的確な原因究明と対策の実施が求められる。
【０００３】
そのため、情報処理システムに障害が発生した場合における障害状況の診断等を行う様々な技術が開発されている（例えば特許文献１参照）。
【特許文献１】特開平８−３０５６００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところが、今日の大規模かつ複雑な構成の情報処理システムにおいては、障害の原因箇所の見当をつけることすら容易ではない場合も多い。例えば情報処理システムを構成するアプリケーションサーバやストレージ装置、ネットワーク機器等の各構成要素が地理的に離れた場所に設置されている場合もある。また情報処理システムを構成する各構成要素のメーカが異なる場合には、各メーカの協力が得られない場合もある。
【０００５】
このような状況において、ある日突然、情報処理システムの各構成要素から異常を詳細に知らせるメッセージが管理者の元に大量に送信されてくる。この場合、管理者は障害の原因箇所を特定するだけでも相当の時間と労力を費やさなければならない。
【０００６】
そのため、情報処理システムに障害が発生した場合に、障害の原因となっている構成要素をいち早く早く絞り込むための技術が求められている。また、情報処理システムの自律制御を行い、発生した障害を自律的に回復させることを可能とする技術においては、障害の発生箇所のいち早い絞り込みが行えることは特に重要である。
【０００７】
本発明は上記課題を鑑みてなされたものであり、情報処理装置、情報処理装置の制御方法、及びプログラムを提供することを主たる目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明は、少なくとも一つのアプリケーションプログラムを実行する少なくとも一つのコンピュータとデータを記憶する少なくとも一つのストレージ装置とが、前記アプリケーションプログラム毎にそれぞれ割り当てられる複数のデータ転送経路で通信可能に接続されてなる情報処理システムに通信可能に接続され、前記各データ転送経路を構成する前記情報処理システムの各構成要素と、前記各構成要素をデータ転送経路として使用するアプリケーションプログラムとを対応付けて記憶するシステム構成記憶部と、前記アプリケーションプログラムの実行に際して異常を検出したコンピュータから、異常を検出したことを示す異常検出情報を受信する異常検出情報受信部と、前記各構成要素の中で、最も多くのアプリケーションプログラムが対応付けられる構成要素を検査対象として選定する検査対象選定部と、前記検査対象として選定された構成要素に対して検査した結果を記憶する検査結果記憶部と、を備えることを特徴とする情報処理装置に関する。
【０００９】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための最良の形態の欄、及び図面により明らかにされる。
【発明の効果】
【００１０】
情報処理システムの障害箇所をいち早く絞り込むことが可能な情報処理装置、情報処理装置の制御方法、及びプログラムを提供することができる。
【発明を実施するための最良の形態】
【００１１】
＝＝＝全体構成例＝＝＝
本実施の形態に係るコンピュータシステムの全体構成を図１に示す。  
本実施の形態に係るコンピュータシステムは、管理コンピュータ（本発明の情報処理装置に相当）２００と情報処理システムとがネットワーク５００を介して通信可能に接続されてなる。
【００１２】
管理コンピュータ２００は情報処理システムを管理するコンピュータである。  
情報処理システムは、クライアント１００とアプリケーションサーバ（本発明のコンピュータに相当）３００とデータベースサーバ４００とストレージ装置６００とネットワーク５００とＳＡＮ５１０とを構成要素として含んで構成される。クライアント１００とアプリケーションサーバ３００とデータベースサーバ４００とはネットワーク５００を介して通信可能に接続される。またデータベースサーバ４００とストレージ装置６００とは、ＳＡＮ（Storage Area Network）５１０を介して通信可能に接続される。
【００１３】
クライアント１００は、企業等における従業員などが業務を遂行する際に使用するコンピュータである。アプリケーションサーバ３００は、アプリケーションプログラムを実行するコンピュータである。図１には、アプリケーションサーバ３００としてＡＰサーバ１（３００）、ＡＰサーバ２（３００）、ＡＰサーバ３（３００）が例示されている。データベースサーバ４００はストレージ装置６００に記憶されるデータを読み書きするためのコンピュータである。ストレージ装置６００はデータを記憶するための装置である。データベースサーバ４００はストレージ装置６００に記憶されるデータに対する読み書きの要求をアプリケーションサーバ３００から受けることにより、アプリケーションサーバ３００とストレージ装置６００との間のデータの授受を仲介する。このようにして、アプリケーションサーバ３００とストレージ装置６００とは通信可能に接続される。なお詳しくは後述するが、アプリケーションサーバ３００とストレージ装置６００との間は、アプリケーションサーバ３００により実行されるアプリケーションプログラム毎にそれぞれ割り当てられる複数のデータ転送経路で通信可能に接続される。
【００１４】
なお、ストレージ装置６００がネットワーク５００に接続可能な機能を備えている場合には、ストレージ装置６００をネットワーク５００に接続し、データベースサーバ４００を介さずにアプリケーションサーバ３００とストレージ装置６００との間でデータの授受を行うようにすることも可能である。この場合は情報処理システムにデータベースサーバ４００及びＳＡＮ５１０が含まれない構成とすることもできる。
【００１５】
＜アプリケーションサーバ＞
アプリケーションサーバ３００は、上述したように、アプリケーションプログラムを実行するコンピュータである。アプリケーションプログラムは、例えば給与計算プログラムや勤務時間管理プログラム、売り上げ管理プログラム、商品在庫管理プログラム等に代表される各種業務用プログラムとすることができる。アプリケーションプログラムの実行形態としては、一つのアプリケーションプログラムが一つのアプリケーションサーバ３００で実行される場合もあるし、複数のアプリケーションプログラムが一つのアプリケーションサーバ３００で実行される場合もある。情報処理システムは少なくとも一つのアプリケーションサーバ３００を含んで構成されている。アプリケーションサーバ３００は、クライアント１００から送信される様々な要求に応じて、これらのアプリケーションプログラムを実行する。またアプリケーションサーバ３００は、アプリケーションプログラムの実行によりストレージ装置６００に対してデータの読み書きが必要になった場合には、データベースサーバ４００に対してデータの読み書きの要求を送信する。
【００１６】
＜クライアント＞
クライアント１００は、企業等における従業員などが業務を遂行する際に使用するコンピュータである。例えば、各従業員は毎日の勤務時間を記録するために、勤務時間管理プログラムを実行しているアプリケーションサーバ３００に対して、出勤時刻と退社時刻とをクライアント１００から送信する。この場合、勤務時間管理プログラムを実行しているアプリケーションサーバ３００は、データベースサーバ４００を通じてストレージ装置６００に対して出勤時刻や退社時刻、その他勤務時間管理のためのデータを書き込む。
【００１７】
＜ネットワーク＞
ネットワーク５００は、アプリケーションサーバ３００、クライアント１００、管理コンピュータ２００、データベースサーバ４００を相互に通信可能に接続する通信網である。ネットワーク５００は、例えば企業内におけるＬＡＮ（Local Area Network）とすることができる。また例えばＷＡＮ（Wide Area Network）とすることもできる。ネットワーク５００は、通信ケーブルや、各種ネットワーク機器等を構成要素として含んで構成される。
【００１８】
＜データベースサーバ＞
データベースサーバ４００は、上述したように、ストレージ装置６００に記憶されるデータを読み書きするためのコンピュータである。データベースサーバ４００はストレージ装置６００に記憶されるデータに対する読み書きの要求をアプリケーションサーバ３００から受け付けることにより、アプリケーションサーバ３００とストレージ装置６００との間のデータの授受を仲介する。
【００１９】
＜ストレージ装置＞
ストレージ装置６００はデータを記憶するための装置であり、データベースサーバ４００からの要求を受けて、データの読み書きを行う。データはストレージ装置６００の構成要素の一つである記憶ボリュームに記憶される。記憶ボリュームは、ハードディスクドライブ等により提供される物理的な記憶領域である物理ボリュームと、物理ボリューム上に論理的に設定される記憶領域である論理ボリュームとを含む、データを記憶するための記憶領域である。本実施の形態においては図１に示すように、ストレージ装置６００は１台であるが、複数台のストレージ装置６００を設けるようにすることもできる。
【００２０】
＜ＳＡＮ＞
ＳＡＮ５１０は、データベースサーバ４００とストレージ装置６００とを通信可能に接続する通信網である。通信は例えばファイバチャネルプロトコルにより行うことができる。ＳＡＮ５１０は、通信ケーブルや各種ネットワーク機器等を構成要素として含んで構成される。
【００２１】
＜管理コンピュータ＞
管理コンピュータ２００は、情報処理システムを管理するコンピュータである。情報処理システムを管理するシステム管理者等のオペレータにより使用される。管理コンピュータ２００には、情報処理システムを構成するアプリケーションサーバ３００やネットワーク５００、ストレージ装置６００等の各構成要素から、情報処理システムを管理するために用いられる様々な情報が送信される。例えば各構成要素の稼働状況を示す情報や、送受信されるデータ量を示す情報、ＣＰＵ（Central Processing Unit）利用率、記憶ボリュームの記憶容量、記憶ボリュームの使用率等である。また各構成要素で障害が検出された場合には、障害の発生を知らせるメッセージなども送信されてくる。
【００２２】
＝＝＝機器構成＝＝＝
次に、管理コンピュータ２００、アプリケーションサーバ３００、データベースサーバ４００、クライアント１００、ネットワーク５００、ＳＡＮ５１０、ストレージ装置６００のそれぞれの構成について説明する。
【００２３】
管理コンピュータ２００、アプリケーションサーバ３００、データベースサーバ４００、クライアント１００はいずれもコンピュータであり、ハードウェア構成は基本的に同様である。そのため、これらのハードウェア構成を一つのブロック図にまとめて図２に示す。またこれらの各機能をそれぞれ実現するための制御プログラム等やテーブル等について、図３ないし図６に示す。  
ネットワーク５００及びＳＡＮ５１０については、ハブやルータ等に代表されるネットワーク機器の構成を図７に示す。ネットワーク５００及びＳＡＮ５１０はいずれも通信網であり、各ネットワーク機器の構成はそれぞれ同様である。そのため図７には、ネットワーク５００を構成するネットワーク機器とＳＡＮ５１０を構成するネットワーク機器との構成を一つのブロック図にまとめて示す。  
ストレージ装置６００の構成については、図８に示す。
【００２４】
＜管理コンピュータの構成＞
管理コンピュータ２００は、ＣＰＵ２１０、メモリ２２０、ポート２３０、記録媒体読取装置２４０、入力装置２５０、出力装置２６０、記憶装置２８０を備える。
【００２５】
ＣＰＵ２１０は管理コンピュータ２００の全体の制御を司るもので、記憶装置２８０に記憶される本実施の形態に係る各種の動作を行うためのコードから構成される自律ポリシー制御プログラム９００、業務アプリケーション制御プログラム９１０、業務アプリケーション監視制御プログラム９２０、管理コンピュータ制御プログラム９３０をメモリ２２０に読み出して実行することにより、管理コンピュータ２００としての各種機能を実現する。例えばＣＰＵ２１０により業務アプリケーション監視制御プログラム９２０や管理コンピュータ制御プログラム９３０が実行され、メモリ２２０やポート２３０、入力装置２５０、出力装置２６０、記憶装置２８０等のハードウェア機器と協働することにより、システム構成記憶部、異常検出情報受信部、検査対象選定部、検査結果記憶部、選定アルゴリズム入力部、検査結果出力部、異常箇所特定部、異常箇所詳細特定部、異常箇所出力部、自律ポリシー制御部が実現される。メモリ２２０は例えば半導体記憶装置により構成することができる。
【００２６】
自律ポリシー制御プログラム９００は、情報処理システムの自律制御を行うためのプログラムである。自律制御とは、システム管理者からの具体的な指示によることなく、情報処理システムの管理を行う制御である。自律制御の一例としては、情報処理システムに発生した障害や異常に対して自律的に対応する制御が挙げられる。例えば図９に示すように、情報処理システムにおいて障害や異常が検知された場合に、障害や異常発生箇所の絞り込みや原因の推定を自律的に行い、その結果に基づいて適切な対策を選択、実行し、その結果を評価する。これらの一連の手順を自律的に実施することにより、発生した障害を自律的に回復させ、システム管理者の管理負担軽減、障害の早期原因究明、障害からの早期回復を実現する。自律制御は、自律ポリシー制御プログラム９００が、業務アプリケーション制御プログラム９１０や業務アプリケーション監視制御プログラム９２０、管理コンピュータ制御プログラム９３０と相互に連携して実行されることにより実現される。
【００２７】
業務アプリケーション制御プログラム９１０は、アプリケーションサーバ３００によるアプリケーションプログラムの実行開始や停止等の制御を行う。  
業務アプリケーション監視制御プログラム９２０は、情報処理システムの各構成要素から管理コンピュータ２００に送信されてくる様々な情報に基づいて、アプリケーションプログラムの実行に際して障害が発生していないかを監視し、障害が発生したことを検知した場合には、障害が発生した部位の絞り込みを行う。詳しくは後述する。  
管理コンピュータ制御プログラム９３０は、例えばオペレーティングシステムのように管理コンピュータ２００を制御するためのプログラムである。これにより、管理コンピュータ２００が備える各種ハードウェア機器の制御やソフトウェアの制御が行われる。
【００２８】
記録媒体読取装置２４０は、記録媒体７００に記録されているプログラムやデータを読み取るための装置である。読み取られたプログラムやデータはメモリ２２０や記憶装置２８０に格納される。従って、例えば記録媒体７００に記録された自律ポリシー制御プログラム９００や、業務アプリケーション制御プログラム９１０、業務アプリケーション監視制御プログラム９２０、管理コンピュータ制御プログラム９３０を、記録媒体読取装置２４０を用いて上記記録媒体７００から読み取って、メモリ２２０や記憶装置２８０に記憶するようにすることができる。
【００２９】
記録媒体７００としてはフレキシブルディスクや磁気テープ、コンパクトディスク等を用いることができる。記録媒体読取装置２４０は管理コンピュータ２００に内蔵されている形態とすることもできるし、外付されている形態とすることもできる。
【００３０】
記憶装置２８０は、例えばハードディスク装置や半導体記憶装置等とすることができる。記憶装置２８０には、自律ポリシー制御プログラム９００、業務アプリケーション制御プログラム９１０、業務アプリケーション監視制御プログラム９２０、管理コンピュータ制御プログラム９３０、システム構成管理テーブル８００、オブジェクト管理テーブル８１０、探索ツリー管理テーブル８２０が記憶される。その様子を図３に示す。詳細については後述するが、システム構成管理テーブル８００を図１１に示す。オブジェクト管理テーブル８１０を図１２に示す。探索ツリー管理テーブル８２０を図１３に示す。
【００３１】
入力装置２５０は管理コンピュータ２００へのデータ入力等のために用いられる装置でありユーザインタフェースとして機能する。入力装置２５０としては例えばキーボードやマウス等を用いることができる。  
出力装置２６０は情報を外部に出力するための装置でありユーザインタフェースとして機能する。出力装置２６０としては例えばディスプレイやプリンタ等を用いることができる。
【００３２】
ポート２３０は通信を行うための装置である。例えばネットワーク５００を介して行われる、アプリケーションサーバ３００、データベースサーバ４００、クライアント１００等の他のコンピュータとの通信は、ポート２３０を介して行われるようにすることができる。また例えば、自律ポリシー制御プログラム９００、業務アプリケーション制御プログラム９１０、業務アプリケーション監視制御プログラム９２０、管理コンピュータ制御プログラム９３０をポート２３０を通じて他のコンピュータからネットワーク５００を介して受信して、メモリ２２０や記憶装置２８０に記憶するようにすることもできる。
【００３３】
＜アプリケーションサーバの構成＞
次に、アプリケーションサーバ３００の構成について説明する。アプリケーションサーバ３００は、ＣＰＵ３１０、メモリ３２０、ポート３３０、記録媒体読取装置３４０、入力装置３５０、出力装置３６０、記憶装置３８０を備える。これらの各装置の機能は、上述した管理コンピュータ２００が備える各装置と同様である。
【００３４】
図４に示すように、アプリケーションサーバ３００が備える記憶装置３８０には、業務アプリケーション実行プログラム（アプリケーションプログラム）９４０、ＡＰサーバ制御プログラム９５０、エージェントプログラム９６０が記憶される。ＣＰＵ３１０が業務アプリケーション実行プログラム９４０、ＡＰサーバ制御プログラム９５０、エージェントプログラム９６０を実行することにより、アプリケーションサーバ３００としての各種機能が実現される。
【００３５】
業務アプリケーション実行プログラム９４０は、従業者等が各種業務を遂行する際の情報処理を行うためのプログラムである。業務アプリケーション実行プログラム９４０は、業務アプリケーション制御プログラム９１０が実行される管理コンピュータ２００からの指示により実行が開始される。なお、従業者により遂行される業務を業務アプリケーションとも記す。  
ＡＰサーバ制御プログラム９５０は、例えばオペレーティングシステムのようにアプリケーションサーバ３００を制御するためのプログラムである。これにより、アプリケーションサーバ３００が備える各種ハードウェア機器の制御やソフトウェアの制御が行われる。  
エージェントプログラム９６０は、アプリケーションサーバ３００を監視するための各種情報を収集し、それらの情報を管理コンピュータ２００に送信するプログラムである。例えばアプリケーションサーバ３００の稼働状況やＣＰＵ利用率、メモリ使用量、記憶装置３８０の記憶容量、障害や異常の発生状況等に関する情報を収集して管理コンピュータ２００に送信する。
【００３６】
＜データベースサーバの構成＞
次に、データベースサーバ４００の構成について説明する。データベースサーバ４００は、ＣＰＵ４１０、メモリ４２０、ポート４３０、記録媒体読取装置４４０、入力装置４５０、出力装置４６０、記憶装置４８０を備える。これらの各装置の機能は、上述した管理コンピュータ２００が備える各装置と同様である。
【００３７】
図５に示すように、データベースサーバ４００が備える記憶装置４８０には、ＤＢＭＳ（DataBese Management System）９７０、データベースサーバ制御プログラム９８０、エージェントプログラム９６０が記憶される。ＣＰＵ４１０がＤＢＭＳ９７０、データベースサーバ制御プログラム９８０、エージェントプログラム９６０を実行することにより、データベースサーバ４００としての各種機能が実現される。なお、データベースサーバ４００を以下ＤＢ４００とも記す。
【００３８】
ＤＢＭＳ９７０は、アプリケーションサーバ３００から送信されるストレージ装置６００に記憶されるデータの読み書き要求に応じて、ストレージ装置６００に記憶されるデータを読み書きするためのプログラムである。  
データベースサーバ制御プログラム９８０は、例えばオペレーティングシステムのようにデータベースサーバ４００を制御するためのプログラムである。これにより、データベースサーバ４００が備える各種ハードウェア機器の制御やソフトウェアの制御が行われる。  
エージェントプログラム９６０は、データベースサーバ４００を監視するための各種情報を収集し、それらの情報を管理コンピュータ２００に送信するプログラムである。例えばデータベースサーバ４００の稼働状況やＣＰＵ利用率、メモリ使用量、記憶装置４８０の記憶容量、障害や異常の発生状況等に関する情報を収集して管理コンピュータ２００に送信する。
【００３９】
＜クライアントの構成＞
次に、クライアント１００の構成について説明する。クライアント１００は、ＣＰＵ１１０、メモリ１２０、ポート１３０、記録媒体読取装置１４０、入力装置１５０、出力装置１６０、記憶装置１８０を備える。これらの各装置の機能は、上述した管理コンピュータ２００が備える各装置と同様である。  
図６に示すように、クライアント１００が備える記憶装置１８０には、クライアント制御プログラム９９０が記憶される。ＣＰＵ１１０がクライアント制御プログラム９９０を実行することにより、クライアント１００としての各種機能が実現される。  
クライアント制御プログラム９９０は、従業員などがアプリケーションサーバ３００を用いて業務を遂行するための各種データの入出力や送受信などを行うためのプログラムである。オペレーティングシステムとしての制御を行う機能も含まれるようにすることもできる。
【００４０】
＜ネットワークの構成、ＳＡＮの構成＞
次に、ネットワーク５００、ＳＡＮ５１０の構成について説明する。ネットワーク５００やＳＡＮ５１０は、ハブやルータ等の各種ネットワーク機器５２０が通信ケーブルで接続されて構成される。ネットワーク機器５２０の構成を示すブロック図を図７に示す。
【００４１】
ネットワーク機器５２０は、ＣＰＵ５２１、メモリ５２２、スイッチ５２３、データポート５２４、管理ポート５２５を備えて構成される。  
ＣＰＵ５２１はネットワーク機器５２０の全体の制御を司るもので、メモリ５２２に記憶される本実施の形態に係る各種の動作を行うためのコードから構成されるネットワーク機器制御プログラム１０００、エージェントプログラム９６０を実行することにより、ネットワーク機器５２０としての各種機能を実現する。  
データポート５２４は、他のネットワーク機器５２０やアプリケーションサーバ３００、管理コンピュータ２００、データベースサーバ４００、ストレージ装置６００と通信ケーブルにより接続される。  
スイッチ５２３はデータポート５２４間を相互に接続する。スイッチ５２３は例えばクロスバスイッチにより構成される。
【００４２】
ネットワーク機器制御プログラム１０００は、例えばスイッチ５２３を制御し、データポート５２４間の回線切り替えを行う。これにより、ネットワーク５００やＳＡＮ５１０を介して授受されるデータの送信先や送信元に応じたデータ転送経路の制御を行うことができる。またネットワーク機器制御プログラム１０００は、ネットワーク５００やＳＡＮ５１０を介して授受されるデータのエラー検出や訂正などを行うこともできる。
【００４３】
エージェントプログラム９６０は、ネットワーク機器５２０を監視するための各種情報を収集し、それらの情報を管理コンピュータ２００に送信するプログラムである。例えばネットワーク機器５２０の稼働状況やＣＰＵ利用率、メモリ使用量、障害や異常の発生状況等に関する情報を収集して管理コンピュータ２００に送信する。
【００４４】
管理ポート５２５は、管理コンピュータ２００との間で通信を行うための通信ポートである。管理ポート５２５は、他のネットワーク機器５２０や管理コンピュータ２００と通信ケーブルにより接続される。そして例えば上述したエージェントプログラム９６０により収集された各種情報は、管理ポート５２５を通じて管理コンピュータ２００に送信される。
【００４５】
＜ストレージ装置＞
次にストレージ装置６００の構成について図８に示すブロック図に従い説明する。ストレージ装置６００は、ストレージ制御部６１０、記憶ボリューム６２０、データポート６３０、管理ポート６４０を備えて構成される。
【００４６】
ストレージ制御部６１０は、ストレージ装置６００の全体を制御する。例えばデータベースサーバ４００から送信されてくるデータの書き込み要求や読み出し要求に従って、記憶ボリューム６２０の所定のアドレスへのデータの書き込み、あるいは所定のアドレスからのデータの読み出しを行う。また読み書きされるデータの送受信をデータベースサーバ４００との間で行う。このようなストレージ制御部６１０としての機能は、ストレージ制御部６１０が備えるＣＰＵ６１１が、メモリ６１２に記憶されるストレージ装置制御プログラム１０１０を実行することにより実現される。
【００４７】
またＣＰＵ６１１がエージェントプログラム９６０を実行することにより、ストレージ装置６００を監視するための各種情報が収集され、それらの情報が管理コンピュータ２００に送信される。例えばストレージ装置６００の稼働状況やＣＰＵ利用率、メモリ使用量、記憶ボリュームの記憶容量、記憶ボリュームの使用量、障害や異常の発生状況等に関する情報が収集されて管理コンピュータ２００に送信される。
【００４８】
なお、情報処理システムの上記各構成要素、つまりアプリケーションサーバ３００、データベースサーバ４００、ネットワーク機器５２０、ストレージ装置６００においてそれぞれ実行される各エージェントプログラム９６０は、全て同一のプログラムとすることもできるし、それぞれの構成要素に専用のプログラムとすることもできる。もちろん、一部の構成要素には共通なプログラムとすることもできる。
【００４９】
記憶ボリューム６２０は、ハードディスクドライブ等により提供される物理的な記憶領域である物理ボリュームと、物理ボリューム上に論理的に設定される記憶領域である論理ボリュームとを含む、データを記憶するための記憶領域である。記憶ボリューム６２０は、アプリケーションサーバ３００で実行される業務アプリケーション実行プログラム９４０と対応付けることができる。対応付けが行われた場合、その業務アプリケーション実行プログラム９４０の実行に伴うデータは、その記憶ボリューム６２０に記憶される。なお記憶ボリューム６２０との対応付けは、業務アプリケーション実行プログラム９４０のみならず、例えばアプリケーションサーバ３００や、クライアント１００、従業員と行うようにすることも可能である。
【００５０】
データポート６３０は、ＳＡＮ５１０を構成するネットワーク機器５２０と通信ケーブルにより接続される。これによりストレージ装置６００はＳＡＮ５１０を介してデータベースサーバ４００と通信可能に接続される。なお上述したが、ストレージ装置６００はネットワーク５００と通信可能に構成されるようにすることもできる。この場合は、データポート６３０はネットワーク５００を構成するネットワーク機器５２０と通信ケーブルにより接続される。
【００５１】
管理ポート６４０は、管理コンピュータ２００との間で通信を行うための通信ポートである。管理ポート６４０は、ネットワーク５００を構成するネットワーク機器５２０や管理コンピュータ２００と通信ケーブルにより接続される。そして例えば上述したエージェントプログラム９６０により収集された各種情報は、管理ポート６４０を通じて管理コンピュータ２００に送信される。
【００５２】
＝＝＝業務アプリケーションを実行するための構成要素＝＝＝
以上説明した情報処理システムを用いて業務アプリケーション（業務）が実行される。業務アプリケーションが実行される際には、図１０に示すように、各業務アプリケーションを実行するためのアプリケーションプログラムと対応付けられた情報処理システムの各構成要素が、アプリケーションサーバ３００とストレージ装置６００との間のデータ転送経路として用いられる。
【００５３】
例えば図１０に示す例では、業務アプリケーションＡは、ＡＰサーバ１（３００）で実行される。そして業務アプリケーションＡの実行に伴いストレージ装置６００にデータの書き込みが行われる場合には、ＡＰサーバ１（３００）で実行されるＯＳ（Operating System）１（９５０）の制御の下、まずネットワーク１（５００）を経由してＤＢ（データベース）サーバ１（４００）にデータが送られる。そしてＤＢサーバ１（４００）で実行されるＤＢＭＳ１（９７０）及びＯＳ４（９８０）の制御の下、ネットワーク２（ＳＡＮ）（５１０）を経由してストレージ装置６００にデータが送られる。そしてストレージ装置６００が備える論理ボリューム１の所定のアドレスにデータが書き込まれる。
【００５４】
業務アプリケーションＡの実行に伴いストレージ装置６００からデータの読み出しが行われる場合には、データが論理ボリューム１から読み出され、上記各構成要素を経由してＡＰサーバ１（３００）に送信される。  
業務アプリケーションＢや業務アプリケーションＣについても同様である。このように本実施の形態に係る情報処理システムにおいては、アプリケーションサーバ３００とストレージ装置６００とが、アプリケーションプログラム毎にそれぞれ割り当てられる複数のデータ転送経路で通信可能に接続される。各データ転送経路は、情報処理システムの各構成要素により構成される。
【００５５】
このような、各データ転送経路を構成する情報処理システムの各構成要素と、各構成要素をデータ転送経路として使用するアプリケーションプログラムとを対応付けて記憶したのが、図１１に示すシステム構成管理テーブル８００である。
【００５６】
図１１に示すシステム構成管理テーブル８００においては、業務アプリケーション毎に、データ転送経路を構成する各構成要素（以下、オブジェクトとも記載する）が記憶されている。各オブジェクトには、下位オブジェクトが対応付けて記憶されている。これによりデータ転送経路が特定される。下位オブジェクトとは、そのオブジェクトよりもストレージ装置６００側に並ぶオブジェクトをいう。上位オブジェクトとはそのオブジェクトよりもアプリケーションサーバ３００側に並ぶオブジェクトをいう。
【００５７】
図１１において、「ステータス」欄には、各オブジェクトの稼働状態を示す情報が記載される。各オブジェクトの稼働状態を示す情報は、各オブジェクトにおいてエージェントプログラム９６０が実行されることにより、管理コンピュータ２００に送信される。ステータスとしては例えば、「障害」、「警告」、「正常」、「一時障害」等とすることができる。「障害」とは例えば当該オブジェクトの機能が停止している状態であることを示すものをいう。「警告」とは例えば当該オブジェクトの機能が低下（例えば所定の性能が所定値以下に低下）している状態であることを示すものをいう。「一時障害」とは例えば当該オブジェクトの機能が過去において停止している状態にあったものであることを示すものをいう。「正常」とは例えば当該オブジェクトの稼働状態が「障害」でもなく、「警告」でもなく、「一時障害」でもない状態であるものをいう。
【００５８】
なお図１０において破線で囲んで示したオブジェクトのように、情報処理システムを構成する構成要素（オブジェクト）の中には複数の業務アプリケーションにデータ転送経路として共用されるオブジェクトがある。例えばネットワーク１（５００）は、業務アプリケーションＡ、業務アプリケーションＢ、業務アプリケーションＣに共用される。また一つの業務アプリケーションにしか使用されないオブジェクトもある。このように、各オブジェクトはそれぞれ、データ転送経路として使用する業務アプリケーションの数が異なっている。そのため、各オブジェクトのそれぞれについて、データ転送経路として使用する業務アプリケーションの数を記憶したものが図１２に示すオブジェクト管理テーブル８１０である。データ転送経路として使用する業務アプリケーションの数は、「オブジェクト共有数」欄に記載される。「検証優先順位」欄は、管理コンピュータ２００が、アプリケーションプログラムの実行に際して異常が検出されたことを示す異常検出情報をアプリケーションサーバ３００から受信した場合に、異常の原因箇所を絞り込むために、情報処理システムの各構成要素を検査する際の検査順序が記載される。なお、オブジェクト管理テーブル８１０は業務アプリケーションが起動される毎に更新されるものとする。
【００５９】
＝＝＝障害箇所の絞り込み＝＝＝
次に、本実施の形態に係る情報処理システムのいずれかの構成要素において障害や異常が発生した場合の障害箇所の絞り込みの制御について説明する。フローチャートを図１６に示す。
【００６０】
まず、情報処理システムのいずれかの構成要素において障害や異常が発生した場合には、その構成要素をデータ転送経路として使用している各業務アプリケーションの実行に何らかの不具合が生じる。そのため、当該業務アプリケーションを実行しているアプリケーションサーバ３００で実行されるエージェントプログラム９６０により、業務アプリケーションの異常が検知され、その情報が管理コンピュータ２００に送信される（S2000、S2010）。また、ある構成要素に発生した障害や異常の影響が他の構成要素に波及し、他の構成要素をデータ転送経路として使用している業務アプリケーションの実行に不具合が生じる場合もある。この場合には、当該業務アプリケーションを実行しているアプリケーショサーバ３００で実行されるエージェントプログラム９６０によっても、その業務アプリケーションの異常が検知され、その情報が管理コンピュータ２００に送信される（S2000、S2010）。また、各構成要素において実行されるエージェントプログラム９６０によってもそれぞれ障害や異常が検出され、それらの情報が管理コンピュータに送信される（S2000、S2010）。  
S2020ないしS2040の各処理については後述する。
【００６１】
＜検証ツリーの作成＞
管理コンピュータ２００は、業務アプリケーションを監視するエージェントプログラム９６０を実行するアプリケーションサーバ３００よりイベント（例えば障害発生）を示す情報を受信した際に、当該業務アプリケーションに対応付けられた情報処理システムの各構成要素を示すシステム構成管理テーブル８００及びオブジェクト管理テーブル８１０を参照して、障害箇所を絞り込むための検証順位を示す検証ツリーを作成する（S2050）。
【００６２】
業務アプリケーションは複数稼動しており、リソース（構成要素）を共有しているため、オブジェクト管理テーブル８１０を参照して、複数の業務アプリケーションにより共有されるオブジェクト（リソース）を優先的に検証していく。検証したオブジェクトに問題が無い（異常が検出されない）ときには、そのオブジェクトに関連をもつオブジェクトを検証する。
【００６３】
以下に、検証ツリーの作成手順を図１５に示すフローチャートに従って説明する。なお、ＯＳのオブジェクトは検証の対象外とすることもできる。  
まず検証ツリーのトップ（ルート）を決める（S1000）。ここでは、障害の発生した業務アプリケーションのシステム構成情報の中で、共有数が最も多くかつ最下位のレイヤのオブジェクトをトップ（ルート）とする。
【００６４】
次に、検証ツリーの左要素側を作成する（S1010）。ここでは、S1000のオブジェクトより上位レイヤの共有数が最も多いオブジェクトかつ下位のレイヤから順に検証ツリーの左要素に設定する。さらに、共有数の最も多いオブジェクトの上位レイヤに共有数のあるオブジェクトが存在する場合には続けて左要素に設定する。さらに、共有数のあるオブジェクトの上位レイヤに共有数のないオブジェクトがある場合は続けて左要素に設定する。
【００６５】
次に、検証ツリーの右要素側を作成する（S1020）。ここでは、S1000のオブジェクトより下位レイヤの共有数が最も多いオブジェクトかつ下位のレイヤから順に検証ツリーの右要素に設定する。さらに、共有数の最も多いオブジェクトの下位レイヤに共有数のあるオブジェクトが存在する場合には続けて右要素に設定する。さらに、共有数のあるオブジェクトの下位レイヤに共有数のないオブジェクトがある場合は続けて右要素に設定する（このとき下位レイヤのオブジェクトを優先する）。
【００６６】
次に、S1010で作成した左要素の各オブジェクトに関連するオブジェクトを設定する（S1030）。ここでは、S1010の作成時にスキップされたオブジェクト（左要素間のオブジェクト）のうち下位のオブジェクトを右要素に設定する。このときにも共有数と下位レイヤのオブジェクトを優先する。ここで上記の設定したオブジェクトに上位レイヤのオブジェクトがあれば左要素に設定する。下位のオブジェクトが存在すれば右要素に設定する。他業務システムの同一レイヤのオブジェクトがあれば左要素に設定する。なお、障害の発生した業務アプリケーションと複数の業務アプリケーションが共有されている場合は、影響度を考慮して共有するオブジェクトが多い業務アプリケーションを優先する。図１０を例にした場合、業務アプリケーションＢ、業務アプリケーションＣの順に扱う。
【００６７】
次に、S1020で作成した右要素の各オブジェクトに関連するオブジェクトを設定する（S1040）。ここでは、S1020の作成時にスキップされたオブジェクト（右要素間のオブジェクト）のうち下位のオブジェクトを左要素に設定する。このときにも共有数と下位レイヤのオブジェクトを優先する。ここで上記の設定したオブジェクトに上位レイヤのオブジェクトがあれば左要素に設定する。下位のオブジェクトが存在すれば右要素に設定する。他業務システムの同一レイヤのオブジェクトがあれば左要素に設定する。
【００６８】
次に、S1030のように左要素の検証ツリーについて、未設定のオブジェクトを検証ツリーに設定する（S1050）。  
そして、S1040のように右要素の検証ツリーについて、未設定のオブジェクトを検証ツリーに設定する（S1060）。
【００６９】
以上の手順に従い、図１０に示すシステム構成情報をもとに、業務アプリケーションＡのエージェントが高負荷イベントを検知した時の検証ツリーの作成例を示す。また作成した検証ツリーを図１４に示す。
【００７０】
まず、イベントを受信した”業務アプリケーションＡ”のシステム構成情報と共有リソースをもつ業務アプリケーションのシステム構成情報を取得する。図１０では”業務アプリケーションＢ”と”業務アプリケーションＣ”が共有リソースをもつため、それぞれのシステム構成情報を取得する。また、共有されるオブジェクトを求め、共有数の高い”ストレージ装置”、”ネットワーク２”、”ネットワーク１”のうち、最下位のレイヤである”ストレージ装置”を、検証ツリーのトップにする。  
次に左要素の検証ツリーを作る。”ネットワーク２”、”ネットワーク１”を”ストレージ装置”の左要素としてそれぞれ設定する。”ネットワーク１”の上位レイヤに共有のない”ＡＰ１”が存在するため、続けて左要素として追加する。  
次に右要素の検証ツリーを作る。”ストレージ装置”の下位レイヤである”論理ボリューム１”、”論理ボリューム２”のうち共有数の高い”論理ボリューム１”を”ストレージ装置”の右要素として設定する。  
次に”ネットワーク２”の下位のレイヤには”ストレージ装置”があるが、検証ツリーに設定済みであるため右の要素として何も追加しない。”ネットワーク１”の下位レイヤに共有オブジェクトである”ＤＢＭＳ１”があるので、右要素として設定し、”ＤＢＭＳ１”の上位レイヤである”ＤＢ１”、”ＤＢ２”、”ＤＢＭＳ１”と同一レイヤの”ＤＢＭＳ２”とを左要素として設定する。”ＤＢ３”は”ＤＢＭＳ２”の上位レイヤであるため、”ＤＢＭＳ２”の左要素に設定する。  
次に、検証ツリーの右要素を更新する。”論理ボリューム１”に関連するオブジェクトはないが、他業務システムに”論理ボリューム２”があるので、”論理ボリューム１”の左要素に追加する。
【００７１】
以上の手順により作成した検証ツリーを図１４に示す。なお、この検証ツリーは、管理コンピュータ２００上においては、図１３に示す検索ツリー管理テーブル８２０として記憶される。
【００７２】
＜検証の実行＞
次に、上記作成した検証ツリーを用いて障害箇所の絞り込みを行う（S2060、S2070）。  
まず、検証ツリーのトップから、検証対象となるオブジェクトをチェックする。チェックは、当該オブジェクトの監視エージェントに状態を確認することにより行う。  
当該オブジェクトに異常が検出された場合には、右の要素に進み、その要素であるオブジェクトチェックを行う。右の要素に進めない場合は、そのオブジェクトを障害の発生箇所と判定する。チェックの結果が確認できず障害状態の場合は、そのオブジェクトを原因と判定する。判定結果はメモリ２２０に記憶される。  
当該オブジェクトに異常が検出されない場合は、左の要素に進み、その要素であるオブジェクトのチェックを行う。異常が検出されない場合は左の要素を次々に検証していく。これ以上左の要素が存在しない場合で、右要素分岐の処理をした場合は、右分岐を処理したオブジェクトを障害発生箇所と判定する。一度も右分岐がされていない場合は、異常が検出されたオブジェクトが存在しないことになる。この場合は、一時的障害が発生したものとみなし、過去のログ情報（各構成要素のエージェントプログラム９６０からそれぞれ送信された情報）などから、異常が発生したオブジェクトを検証する（S2100）。
【００７３】
上記検証処理において行われる各オブジェクトのチェックの内容は、アプリケーションサーバ３００から送信された障害を示す情報の内容に応じて異なる様にすることができる。例えば、アプリケーションサーバ３００から管理コンピュータ２００に送信された障害を示す情報の内容が高負荷を示すものであった場合には、検証対象となるオブジェクトに設定された応答時間のスレッショルドを超えているかどうかにより、オブジェクトのチェックを行うようにすることができる。また例えば、アプリケーションサーバ３００から管理コンピュータ２００に送信された障害を示す情報の内容が障害（書き込みエラーなど）の発生を示すものであった場合には、検証対象となるオブジェクトが障害状態（不稼動状態またはリソース不足状態）かつＩ／Ｏ（Input/Output）の形跡があるかどうかにより、オブジェクトのチェックを行うようにすることができる。この場合には、障害状態でなく、Ｉ／Ｏの形跡がない場合は左の要素のオブジェクトを処理する。障害状態でなく、Ｉ／Ｏの形跡がある場合は右の要素のオブジェクトを処理する。障害状態の場合は、そのオブジェクトを異常が発生したオブジェクトと判定する。
【００７４】
＜検証結果の表示＞
管理コンピュータ２００は、メモリ２２０に記憶された上記検証の結果に基づいて、障害又は異常の原因となったオブジェクトをディスプレイ等の出力装置２６０に表示する（S2080、S2110）。その際、障害や異常の原因となったオブジェクトや、そのオブジェクトに関連するオブジェクトを強調表示する。強調表示するとは、例えば当該オブジェクトを他のオブジェクトとは異なった色で表示することや、当該オブジェクトを点滅するように表示することを含む。当該オブジェクトの表示の色を他のオブジェクトと異ならせる場合には、例えば他のオブジェクトを黒色で表示し、当該オブジェクトのステータスが「障害」である場合には当該オブジェクトを赤色で表示し、「警告」あるいは「一時障害」である場合には当該オブジェクトを黄色で表示する。
【００７５】
上記検証により特定された障害又は異常の原因となったオブジェクトがディスプレイ等の出力装置２６０に表示される様子を図１７に示す。図１７では”業務アプリケーションＡ”に関連する業務アプリケーションのみを示しているが、稼動中の全業務アプリケーションを表示して、その表示中に障害箇所について表示することもできる。
【００７６】
管理コンピュータ２００は、メモリ２２０に記憶された上記検証の結果に基づいて、原因のオブジェクトを自律ポリシー制御部へ渡し、自律ポリシーに従って自律制御を行うこともできる。S2080の部分を自律制御処理にすることで実現できる。
【００７７】
＜ステータスの記憶＞
以上の処理により障害の発生したオブジェクトを特定し、障害状態を確認した場合、システム構成管理テーブル８００に障害状態のステータスを記録する（S2090）。
【００７８】
＜次回障害発生時の処理＞
そして次回、障害イベントが発生した時には、上記特定された当該オブジェクトを優先的に検証する（S2020、S2030）。当該オブジェクトが障害状態であれば、上記検証処理を行わずに当該オブジェクトを障害の発生箇所であると判定し、障害状態でなかった場合には、上記の検証処理を行う（S2040）。
【００７９】
＝＝＝具体例＝＝＝
次に図１０に示すシステム構成情報の状態で、以下に示すオブジェクトで障害が発生し”業務アプリケーションＡ”で障害を検知した場合の障害箇所の特定手順を示す。
【００８０】
＜例１＞
まず、他の業務アプリケーションに割り当てられている構成要素が障害の原因となっている場合について説明する。具体的には、”業務アプリケーションＣ”の”ＤＢＭＳ２”が高負荷状態になっている場合について説明する。なお検証ツリーは図１４に示すものを用いる。
【００８１】
まず、検証ツリーのトップである”ストレージ装置”のスレッショルドの状態を検証する。”ストレージ装置”では負荷が掛かっていないので、左要素の”ネットワーク２“を検証する。そして”ネットワーク２”のスレッショルドの状態を検証する。”ネットワーク２”も負荷が掛かっていないので、左要素の”ネットワーク１”を検証する。  
”ネットワーク１”のスレッショルドの状態を検証すると、”ネットワーク１”は”ＤＢＭＳ２”の影響で負荷が掛かっている状態になっているので、右要素の”ＯＳ４”を検証する。  
”ＯＳ４”のスレッショルドの状態を検証すると、”ＯＳ４”には負荷が掛かっていないので、左要素の”ＤＢＭＳ１”を検証する。”ＤＢＭＳ１”のスレッショルドの状態を検証すると、”ＤＢＭＳ１”も負荷が掛かっていないので、左要素の”ＤＢ１”を検証する。”ＤＢ１”のスレッショルドの状態を検証すると、”ＤＢ１”も負荷が掛かっていないので、左要素の”ＤＢ２”を検証する。”ＤＢ２”のスレッショルドの状態を検証すると、”ＤＢ２”も負荷が掛かっていないので、左要素の”ＯＳ５”を検証する。”ＯＳ５”のスレッショルドの状態を検証すると、”ＯＳ５”も負荷が掛かっていないので、左要素の”ＤＢＭＳ２”を検証する。  
”ＤＢＭＳ２”のスレッショルドの状態を検証する。”ＤＢＭＳ２”がもともとの原因であるため、負荷が掛かっている状態である。しかし、このオブジェクトには右要素がないので、このオブジェクトを原因と判定する。
【００８２】
＜例２＞
ここでは、”業務アプリケーションＡ”の”ＯＳ４”が障害となっている場合について説明する。ここでも図１４に示す検証ツリーを使用して説明する。  
まず、検証ツリーのトップである”ストレージ装置”の障害状態とＩ／Ｏの履歴を検証する。”ストレージ装置”では障害状態ではなく、Ｉ／Ｏの履歴が無いことから、左要素の”ネットワーク２”を検証する。  
”ネットワーク２”の障害状態とＩ／Ｏの履歴を検証する。”ネットワーク２”も障害状態ではなく、Ｉ／Ｏの履歴が無いことから、左要素の”ネットワーク１”を検証する。
【００８３】
”ネットワーク１”の障害状態とＩ／Ｏの履歴を検証する。”ネットワーク１”では、障害状態ではないが、”ＤＢ１”へのＩ／Ｏの履歴があるので、左要素の”ＯＳ４“を検証する。  
そして”ＯＳ４”の障害状態とＩ／Ｏの履歴を検証する。”ＯＳ４”は障害状態であるため、このオブジェクトを原因と判定する。
【００８４】
＝＝＝検証ツリーを作成しない場合＝＝＝
上記障害箇所の絞込み処理においては、検証ツリーを作成した後に検証を行っていたが、検証ツリーを作成せずに検証を行うことも可能である。その場合の処理の流れを図１８に示すフローチャートを用いて説明する。
【００８５】
まず管理コンピュータ２００は、システム構成管理テーブル８００を参照して、障害や異常が検出された業務アプリケーションと関連性のある全ての業務アプリケーションのオブジェクトについて、共有数を算出する（S3000）。共有数とは、各構成要素に対応付けられるアプリケーションプログラムの数をいう。  
そして各オブジェクトの共有数をオブジェクト管理テーブル８１０に記憶する（S3010）。
【００８６】
次に管理コンピュータ２００は、共有数の最も大きいオブジェクトを検査対象として選定し、そのオブジェクトについて、障害・異常の有無をチェックする（S3020）。チェックは、当該オブジェクトにおいてエージェントプログラム９６０が実行されることにより行われる。管理コンピュータ２００は、当該オブジェクトから送信されるチェック結果により、そのオブジェクトについての障害・異常の有無のチェックを行う。
【００８７】
なお、共有数の最も大きいオブジェクトが複数あった場合には、当該各オブジェクトの中で当該各オブジェクトと各ストレージ装置６００との間の各データ転送経路上にそれぞれ並ぶオブジェクトの数が最も少ないデータ転送経路を構成するオブジェクトすなわち下位のオブジェクトを検査対象として選定するようにすることができる。下位のオブジェクトに障害や異常が発生すると、上位のオブジェクトに障害や異常が発生した場合に比べて、障害や異常の影響が広範囲に及ぶことになる。例えばストレージ装置６００に障害が発生した場合には、そのストレージ装置６００に記憶されているデータを用いる全ての業務アプリケーションが影響を受けることになる。このように、下位のオブジェクトを先に検査対象として選定することにより、障害発生時の影響の大きなオブジェクトから先に障害の有無を検査することが可能となる。
【００８８】
一方で、共有数の最も大きいオブジェクトが複数あった場合には、当該各オブジェクトの中で当該各オブジェクトと各アプリケーションサーバ３００との間の各データ転送経路上にそれぞれ並ぶオブジェクトの数が最も少ないデータ転送経路を構成するオブジェクトすなわち上位のオブジェクトを検査対象として選定するようにすることもできる。企業における業務担当者あるいは業務責任者にとっては、自分が担当している業務になんらかの障害が発生した場合には、まずその原因が自分にあるのかないのかを知りたいと考える。これは、障害の原因が自分にあるならば、直ちに原因調査を開始し、対策を講じなければならないからであり、障害の原因が自分に無いならば、原因調査や対策は他の担当者に任せておくことができるからである。情報処理システムを構成するアプリケーションプログラムやアプリケーションサーバ３００等の上位オブジェクトに不具合があった場合には、その業務担当者が対策を講じなければならない。このように、上位のオブジェクトを先に検査対象として選定することにより、業務担当者に障害の責任があるのか、そうでないのかをいち早く切り分けることが可能となる。
【００８９】
また、共有数の最も大きいオブジェクトが複数あった場合に、上位のオブジェクトを先に検査対象として選定するか、下位のオブジェクトを先に検査対象として選定するかを切り替えることができるようにすることも可能である。これは例えば、共有数の最も大きい複数の各オブジェクトの中で、当該各オブジェクトと各ストレージ装置６００との間の各データ転送経路上にそれぞれ並ぶオブジェクトの数が最も少ないデータ転送経路を構成するオブジェクトを検査対象として選定するアルゴリズムにより検査対象を選定するか、当該各オブジェクトの中で、当該各オブジェクトと各アプリケーションサーバ３００との間の各データ転送経路上にそれぞれ並ぶオブジェクトの数が最も少ないデータ転送経路を構成するオブジェクトを検査対象として選定するアルゴリズムにより検査対象を選定するかを示す選定アルゴリズム選択情報の入力を入力装置２５０から受けるようにし、その選定アルゴリズム選択情報に応じて、検査対象を選定するアルゴリズムを切り替えるようにすることにより実現することができる。このようにすることにより、障害発生時における障害部位特定に対する企業としての様々な考え方に柔軟に対応することが可能となる。
【００９０】
さらに、共有数の最も大きいオブジェクトが複数あった場合には、それらの中で、異常が検出されたアプリケーションプログラムと対応付けられるオブジェクトを検査対象として選定するようにすることもできる。これは、アプリケーションプログラムの実行に異常を生じさせた原因となるオブジェクトは、そのアプリケーションプログラムがデータ転送経路として使用するオブジェクトの中にある場合が多いと考えられるからである。このようにすることにより、いち早く障害部位の特定を行うことが可能となる。
【００９１】
このようにして選定されたオブジェクトについてチェックした結果、障害や異常が検出されなかった場合には（S3030）、直前にチェックしたオブジェクト及びそのオブジェクトよりも下位のオブジェクトについては、障害・異常なしと判定する（S3040）。具体的には、直前にチェックしたオブジェクト（検査対象の構成要素）と各ストレージ装置６００との間を通信可能に接続するデータ転送経路上に並ぶ各構成要素、直前にチェックしたオブジェクト、及び直前にチェックしたオブジェクトとデータ転送経路で通信可能に接続されるストレージ装置６００については異常がない旨の情報をそれぞれメモリ３２０に記憶する。
【００９２】
そしてチェックがまだ行われていない各オブジェクトのうち、まだ障害・異常なしと判定されていないオブジェクトがある場合には（S3050）、それらのオブジェクトの中で共有数の最も大きなオブジェクトを次の検査対象として選定し、障害・異常の有無をチェックする（S3060）。チェックがまだ行われていない各オブジェクトのうち、まだ障害・異常なしと判定されていないオブジェクトは、直前にチェックしたオブジェクト（検査対象の構成要素）と各アプリケーションサーバ３００との間を通信可能に接続するデータ転送経路上に並ぶ各オブジェクトのうち、まだ異常がない旨の情報が記憶されていない各オブジェクトである。S3050において、全てのオブジェクトが障害・異常無しと判定されている場合には、一過性の障害・異常であると判定する（S3100）。
【００９３】
S3060におけるチェックの結果、そのオブジェクトに異常が検出された場合には（S3070）、そのオブジェクトよりも下位の各オブジェクトのうち、障害・異常なしと判定されていない各オブジェクトのいずれかに、障害・異常の原因があると判定する（S3080）。これにより、障害の原因となるオブジェクトを、上記異常が検出されたオブジェクトよりも下位の各オブジェクトのうち、すでに障害・異常なしと判定済みのオブジェクトを除いた各オブジェクトに絞り込むことができる。そして絞り込まれた各オブジェクトつまり検査の結果を管理コンピュータ２００のディスプレイ等の出力装置２６０に表示する（S3090）。
【００９４】
一方、S3070において、障害・異常が検出されなかった場合には、S3040以降の処理を繰り返す。これにより、障害・異常が検出されるまで検査対象を上位のオブジェクトに絞り込んでゆくことができる。このように、本実施の形態においては、極めて効率良く障害・異常の原因たるオブジェクトを絞り込んでゆくことが可能となる。
【００９５】
一方、S3020においてオブジェクトのチェックが行われた結果、障害や異常が検出された場合には（S3030）、直前にチェックしたオブジェクトよりも上位のオブジェクトについては、障害・異常なしと判定する（S3110）。具体的には、直前にチェックしたオブジェクト（検査対象の構成要素）と各アプリケーションサーバ３００との間を通信可能に接続するデータ転送経路上に並ぶ各オブジェクト、及び直前にチェックしたオブジェクトとデータ転送経路で通信可能に接続されるアプリケーションサーバ３００については異常がない旨の情報をそれぞれメモリ３２０に記憶する。
【００９６】
そしてチェックがまだ行われていない各オブジェクトのうち、まだ障害・異常なしと判定されていないオブジェクトがある場合には（S3120）、それらのオブジェクトの中で共有数の最も大きなオブジェクトを次の検査対象として選定し、障害・異常の有無をチェックする（S3130）。チェックがまだ行われていない各オブジェクトのうち、まだ障害・異常なしと判定されていないオブジェクトは、直前にチェックしたオブジェクト（検査対象の構成要素）と各ストレージ装置６００との間を通信可能に接続するデータ転送経路上に並ぶ各オブジェクトのうち、まだ異常がない旨の情報が記憶されていない各オブジェクトである。S3120において、全てのオブジェクトが障害・異常無しと判定されている場合には、最後に障害・異常ありと判定されたオブジェクトを障害・異常の原因であると判定する（S3170）。そしてそのオブジェクトつまり検査の結果を管理コンピュータ２００のディスプレイ等の出力装置２６０に表示する（S3180）。
【００９７】
S3130におけるチェックの結果、そのオブジェクトに異常が検出されなかった場合には（S3140）、そのオブジェクトよりも上位の各オブジェクトのうち、障害・異常なしと判定されていない各オブジェクトのいずれかに、障害・異常の原因があると判定する（S3150）。これにより、障害の原因となるオブジェクトを、上記異常が検出されなかったオブジェクトよりも上位の各オブジェクトのうち、すでに障害・異常なしと判定済みのオブジェクトを除いた各オブジェクトに絞り込むことができる。そして絞り込まれた各オブジェクトつまり検査の結果を管理コンピュータ２００のディスプレイ等の出力装置２６０に表示する（S3160）。
【００９８】
一方、S3140において、障害・異常が検出された場合には、S3110以降の処理を繰り返す。これにより、障害・異常が検出されるまで検査対象を下位のオブジェクトに絞り込んでゆくことができる。このように、本実施の形態においては、極めて効率良く障害・異常の原因たるオブジェクトを絞り込んでゆくことが可能となる。
【００９９】
また、検証ツリーを作成せずに検証を行う場合の処理を下記のように行うことも可能である。その場合の処理の流れを図１９に示すフローチャートを用いて説明する。  
まず管理コンピュータ２００は、システム構成管理テーブル８００を参照して、障害や異常が検出された業務アプリケーションと関連性のある全ての業務アプリケーションのオブジェクトについて、共有数を算出する（S4000）。  
そして各オブジェクトの共有数をオブジェクト管理テーブル８１０に記憶する（S4010）。
【０１００】
次に管理コンピュータ２００は、共有数の最も大きいオブジェクトを検査対象として選定し、そのオブジェクトについて、障害・異常の有無をチェックする（S4020）。チェックは、当該オブジェクトにおいてエージェントプログラム９６０が実行されることにより行われる。管理コンピュータ２００は、当該オブジェクトから送信されるチェック結果により、そのオブジェクトについての障害・異常の有無のチェックを行う。
【０１０１】
なおここでも、共有数の最も大きいオブジェクトが複数あった場合には、当該各オブジェクトの中で当該各オブジェクトと各ストレージ装置６００との間の各データ転送経路上にそれぞれ並ぶオブジェクトの数が最も少ないデータ転送経路を構成するオブジェクトすなわち下位のオブジェクトを検査対象として選定するようにすることができる。下位のオブジェクトを先に検査対象として選定することにより、故障時の影響の大きなオブジェクトから先に障害の有無を検査することが可能となる。
【０１０２】
さらに同様に、共有数の最も大きいオブジェクトが複数あった場合には、当該各オブジェクトの中で当該各オブジェクトと各アプリケーションサーバ３００との間の各データ転送経路上にそれぞれ並ぶオブジェクトの数が最も少ないデータ転送経路を構成するオブジェクトすなわち上位のオブジェクトを検査対象として選定するようにすることもできる。上位のオブジェクトを先に検査対象として選定することにより、業務担当者に障害の責任があるのか、そうでないのかをいち早く切り分けることが可能となる。
【０１０３】
またさらに、共有数の最も大きいオブジェクトが複数あった場合に、上位のオブジェクトを先に検査対象として選定するか、下位のオブジェクトを先に検査対象として選定するかを切り替えることができるようにすることも可能である。このようにすることにより、障害発生時における障害部位特定に対する企業としての様々な考え方に柔軟に対応することが可能となる。
【０１０４】
このようにして選定されたオブジェクトについてチェックした結果、障害や異常が検出されなかった場合には（S4030）、直前にチェックしたオブジェクト及びそのオブジェクトよりも下位のオブジェクトについては、障害・異常なしと判定する（S4040）。具体的には、直前にチェックしたオブジェクト（検査対象の構成要素）と各ストレージ装置６００との間を通信可能に接続するデータ転送経路上に並ぶ各構成要素、直前にチェックしたオブジェクト、及び直前にチェックしたオブジェクトとデータ転送経路で通信可能に接続されるストレージ装置６００については異常がない旨の情報をそれぞれメモリ３２０に記憶する。
【０１０５】
そしてチェックがまだ行われていない各オブジェクトのうち、まだ障害・異常なしと判定されていないオブジェクトがある場合には（S4050）、それらのオブジェクトの中で共有数の最も大きなオブジェクトを次の検査対象として選定し、障害・異常の有無をチェックする（S4060）。チェックがまだ行われていない各オブジェクトのうち、まだ障害・異常なしと判定されていないオブジェクトは、直前にチェックしたオブジェクト（検査対象の構成要素）と各アプリケーションサーバ３００との間を通信可能に接続するデータ転送経路上に並ぶ各オブジェクトのうち、まだ異常がない旨の情報が記憶されていない各オブジェクトである。S4050において、全てのオブジェクトが障害・異常無しと判定されている場合には、最後に障害・異常ありと判定されたオブジェクトを障害・異常の原因であると特定する（S4100）。そしてそのオブジェクトつまり検査の結果を管理コンピュータ２００のディスプレイ等の出力装置２６０に表示する（S4110）。
【０１０６】
S4060におけるチェックの結果、そのオブジェクトに障害・異常が検出されなかった場合には、S4040以降の処理を繰り返す。これにより、障害・異常が検出されるまで検査対象を上位のオブジェクトに絞り込んでゆくことができる。このように、本実施の形態においては、極めて効率良く障害・異常の原因たるオブジェクトを絞り込んでゆくことが可能となる。
【０１０７】
一方、S4060におけるチェックの結果、そのオブジェクトに異常が検出された場合には（S4030）、直前にチェックしたオブジェクトよりも上位のオブジェクトについては、障害・異常なしと判定する（S4070）。具体的には、直前にチェックしたオブジェクト（検査対象の構成要素）と各アプリケーションサーバ３００との間を通信可能に接続するデータ転送経路上に並ぶ各構成要素、及び直前にチェックしたオブジェクトとデータ転送経路で通信可能に接続されるアプリケーションサーバ３００については異常がない旨の情報をそれぞれメモリ３２０に記憶する。
【０１０８】
そしてチェックがまだ行われていない各オブジェクトのうち、まだ障害・異常なしと判定されていないオブジェクトがある場合には（S4080）、それらのオブジェクトの中で共有数の最も大きなオブジェクトを次の検査対象として選定し、障害・異常の有無をチェックする（S4090）。チェックがまだ行われていない各オブジェクトのうち、まだ障害・異常なしと判定されていないオブジェクトは、直前にチェックしたオブジェクト（検査対象の構成要素）と各ストレージ装置６００との間を通信可能に接続するデータ転送経路上に並ぶ各オブジェクトのうち、まだ異常がない旨の情報が記憶されていない各オブジェクトである。S4080において、全てのオブジェクトが障害・異常無しと判定されている場合には、最後に障害・異常ありと判定されたオブジェクトを障害・異常の原因であると特定する（S4100）。そしてそのオブジェクトつまり検査の結果を管理コンピュータ２００のディスプレイ等の出力装置２６０に表示する（S4110）。
【０１０９】
S4090におけるチェックの結果、そのオブジェクトに障害・異常が検出された場合には、S4070以降の処理を繰り返す。S4090におけるチェックの結果、そのオブジェクトに障害・異常が検出されなかった場合には、S4040以降の処理を繰り返す。このようにすることにより、障害・異常が検出されるまで検査対象を絞り込んでゆくことができる。このように、本実施の形態においても、極めて効率良く障害・異常の原因たるオブジェクトを絞り込んでゆくことが可能となる。
【０１１０】
また管理コンピュータ２００は、上記のようにして障害・異常の原因であると特定できたオブジェクトを自律ポリシー制御部へ渡し、自律ポリシーに従って自律制御を行うこともできる。
【０１１１】
＝＝＝オブジェクトのより詳細な障害部位の特定＝＝＝
上記の処理により障害や異常の発生したオブジェクトを特定することができた場合には、さらにそのオブジェクトにおいてより詳細に障害部位を特定することも可能である。
【０１１２】
以下本実施の形態においては、情報処理システムの構成要素のうち、一例としてストレージ装置６００が障害・異常が発生したオブジェクトであると特定できた場合に、さらに障害部位を詳細に特定する場合について説明する。もちろん、他の構成要素が障害・異常が発生したオブジェクトであると特定できた場合でも同様である。
【０１１３】
図２０に示すように、ストレージ装置６００は業務アプリケーションＡと業務アプリケーションＢとに共用される情報処理システムの構成要素である。そしてストレージ装置６００の構成要素例えば論理ボリュームなどは、業務アプリケーションＡが専用する部位と、業務アプリケーションＢが専用する部位と、業務アプリケーションＡと業務アプリケーションＢとが共用する部位とに分けることができる。
【０１１４】
従って、管理コンピュータ２００がアプリケーションサーバ３００から、業務アプリケーションの障害を知らせる情報を受信した場合に、その情報が、業務アプリケーションＡの障害を知らせるもののみであるか、業務アプリケーションＢの障害を知らせるもののみであるか、業務アプリケーションＡの障害を知らせるものと業務アプリケーションＢの障害を知らせるものの両方であるのかによって、ストレージ装置６００の内部における構成要素の障害部位をさらに詳細に特定することが可能である。
【０１１５】
具体的には、図２０に示すように、業務アプリケーションの障害を知らせる情報が業務アプリケーションＡの障害を知らせるもののみである場合には、業務アプリケーションＡが専用する構成要素に障害が発生したものと特定することができる。また業務アプリケーションの障害を知らせる情報が業務アプリケーションＢの障害を知らせるもののみである場合には、業務アプリケーションＢが専用する構成要素に障害が発生したものと特定することができる。また、業務アプリケーションの障害を知らせる情報が業務アプリケーションＡの障害を知らせるものと業務アプリケーションＢの障害を知らせるものの両方である場合には、業務アプリケーションＡと業務アプリケーションＢとが共用する構成要素に障害が発生したものであるか、業務アプリケーションＡが専用する構成要素と業務アプリケーションＢが専用する構成要素との両方に障害が発生したものか、業務アプリケーションＡと業務アプリケーションＢとが共用する構成要素と業務アプリケーションＡが専用する構成要素と業務アプリケーションＢが専用する構成要素とのすべてに障害が発生したものかのいずれかであることを特定することができる。
【０１１６】
このように、本実施の形態においては、障害部位として特定されたオブジェクトをデータ転送経路として使用する各アプリケーションプログラムのそれぞれに関して、アプリケーションサーバ３００から送信されてくる異常検出情報の受信有無の組み合わせに応じて、当該オブジェクトにおける異常の原因となる部位をさらに詳細に特定する。
【０１１７】
＜処理の流れ＞
以上の処理の流れを図２１に示すフローチャートを参照しながら説明する。  
まず、管理コンピュータ２００は障害箇所の特定を行う（S5000）。これは、上述した例えば図１６に示す処理を実行することにより行うことができる。障害箇所が特定できたら（S5010）、障害箇所として特定されたオブジェクトをデータ転送経路として使用する各業務アプリケーションをシステム構成情報より全て求める（S5020）。そしてS5020で求めた業務アプリケーションの状態をエージェントより取得する（S5030）。つまり、障害部位として特定されたオブジェクトをデータ転送経路として使用する各アプリケーションプログラムのそれぞれに関して、アプリケーションサーバ３００から送信されてくる異常検出情報の受信有無を調べる。そして各業務アプリケーションの状態の組み合わせにより、障害箇所の各部位の状態を判断する（S5040）。障害箇所の各部位の状態が判断できたら、障害箇所と業務アプリケーションの関連を表示し（S5050）、障害となっている業務アプリケーションを、出力装置２６０に強調表示する（S5060）。オペレータから、詳細表示の指示が有った場合には（S5070）、障害箇所の各部位について詳細表示する（S5080）。
【０１１８】
これらの各情報が管理コンピュータ２００のディスプレイ等の出力装置２６０に表示されている様子を図２２に示す。図２２には、ストレージ装置６００の構成要素のうち業務アプリケーションＡが専用する部位に障害が発生した場合の例が示される。  
また管理コンピュータ２００は、上記のようにして障害・異常の原因であると詳細に特定できた障害部位を自律ポリシー制御部へ渡し、自律ポリシーに従って自律制御を行うこともできる。
【０１１９】
このように本実施の形態においては、より詳細に障害部位をシステム管理者に知らせることが可能となる。これにより、情報処理システムに障害が発生した場合の対応をより一層的確なものとすることが可能となる。また情報処理システムを構成する各構成要素について専任の管理者が存在する場合に、その専任者向けの表示機能を提供することも可能となる。
【０１２０】
以上本実施の形態について説明したが、本実施の形態によれば、情報処理システムに障害が発生した場合に、障害の原因となっている構成要素をいち早く早く絞り込むことが可能となる。これは、より多くのアプリケーションプログラムに共用されている構成要素から先に障害有無をチェックしてゆくことにより実現できる。より多くのアプリケーションプログラムに共用されている構成要素ほど障害発生の可能性が高く、また他の構成要素で発生した障害の影響を受け易いからである。
【０１２１】
特に、Ｗｅｂ２／３階層アプリケーションのように複数のサーバ、ＤＢＭＳ、ストレージ装置等のリソースにより業務システムが構成され、複数の業務アプリケーションがこれらのリソースを共有しながら稼動している業務システムにおいては、ある業務アプリケーションで障害状態（高負荷状態、障害）を検知したときに障害発生箇所を位置早く絞込めることは重要である。業務アプリケーションで障害が検知された場合に、障害の原因が業務アプリケーションにあるのではなく、業務アプリケーションを構成する業務システムのどこかの部分で、もしくは共有する他の業務アプリケーションの業務システム上で発生している可能性があるからである（例えば、業務アプリケーションで書き込みエラーを検知したとしても、書き込み先のＤＢＭＳで障害が発生していた場合には、エラーの原因は業務アプリケーションではなくＤＢＭＳである）。
【０１２２】
本実施の形態によれば、業務アプリケーションが実行される業務システムを構成するそれぞれの構成要素（サーバ、ＤＢＭＳ、ストレージなど）をオブジェクト化し、またそのオブジェクトの関連情報をシステム構成情報として保持し、複数の業務アプリケーションが稼動中の業務システム上の上記システム構成情報から、障害の本来の原因となっている構成要素を検証、特定し、トラブルシュートを容易とすることを可能とすることができる。
【０１２３】
以上発明を実施するための最良の形態について説明したが、上記実施の形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
【図面の簡単な説明】
【０１２４】
【図１】本実施の形態に係るコンピュータシステムの全体構成を示すブロック図である。
【図２】本実施の形態に係るクライアント、管理コンピュータ、アプリケーションサーバ、データベースサーバの構成を示すブロック図である。
【図３】本実施の形態に係る管理コンピュータの記憶装置を示す図である。
【図４】本実施の形態に係るアプリケーションサーバの記憶装置を示す図である。
【図５】本実施の形態に係るデータベースサーバの記憶装置を示す図である。
【図６】本実施の形態に係るクライアントの記憶装置を示す図である。
【図７】本実施の形態に係るネットワーク機器の構成を示すブロック図である。
【図８】本実施の形態に係るストレージ装置の構成を示すブロック図である。
【図９】本実施の形態に係るポリシー制御を説明するための図である。
【図１０】本実施の形態に係るシステム構成を示す図である。
【図１１】本実施の形態に係るシステム構成管理テーブルを示す図である。
【図１２】本実施の形態に係るオブジェクト管理テーブルを示す図である。
【図１３】本実施の形態に係る探索ツリー管理テーブルを示す図である。
【図１４】本実施の形態に係る探索ツリーを示す図である。
【図１５】本実施の形態に係る探索ツリーを作成する処理の流れを示すフローチャートである。
【図１６】本実施の形態に係る障害オブジェクトを絞り込む処理の流れを示すフローチャートである。
【図１７】本実施の形態に係る障害オブジェクトを表示する場合の表示例である。
【図１８】本実施の形態に係る障害オブジェクトを絞り込む処理の流れを示すフローチャートである。
【図１９】本実施の形態に係る障害オブジェクトを絞り込む処理の流れを示すフローチャートである。
【図２０】本実施の形態に係る障害オブジェクトにおいてさらに詳細に障害部位を探索する場合の処理を説明するための図である。
【図２１】本実施の形態に係る障害オブジェクトにおいてさらに詳細に障害部位を探索する場合の処理の流れを示すフローチャートである。
【図２２】本実施の形態に係る障害オブジェクトにおいてさらに詳細に障害部位を表示する場合の表示例である。
【符号の説明】
【０１２５】
１００    クライアント
２００    管理コンピュータ
３００    アプリケーションサーバ
４００    データベースサーバ
５００    ＬＡＮ
５１０    ＳＡＮ
５２０    ネットワーク機器
６００    ストレージ装置
７００    記録媒体
８００    システム構成管理テーブル
８１０    オブジェクト管理テーブル
８２０    探索ツリー管理テーブル
９００    自律ポリシー制御プログラム
９１０    業務アプリケーション制御プログラム
９２０    業務アプリケーション監視制御プログラム
９３０    管理コンピュータ制御プログラム
９４０    業務アプリケーション実行プログラム
９５０    ＡＰサーバ制御プログラム
９６０    エージェントプログラム
９７０    ＤＢＭＳ
９８０    データベースサーバ制御プログラム
９９０    クライアント制御プログラム
１０００  ネットワーク機器制御プログラム
１０１０  ストレージ装置制御プログラム
【図１】
2006133983.tif 000003
【図２】
2006133983.tif 000004
【図３】
2006133983.tif 000005
【図４】
2006133983.tif 000006
【図５】
2006133983.tif 000007
【図６】
2006133983.tif 000008
【図７】
2006133983.tif 000009
【図８】
2006133983.tif 000010
【図９】
2006133983.tif 000011
【図１０】
2006133983.tif 000012
【図１１】
2006133983.tif 000013
【図１２】
2006133983.tif 000014
【図１３】
2006133983.tif 000015
【図１４】
2006133983.tif 000016
【図１５】
2006133983.tif 000017
【図１６】
2006133983.tif 000018
【図１８】
2006133983.tif 000019
【図１９】
2006133983.tif 000020
【図２０】
2006133983.tif 000021
【図２１】
2006133983.tif 000022
【図１７】
2006133983.tif 000023
【図２２】
2006133983.tif 000024