(57)【要約】【課題】監視システムにおいて、オペレータの作業を効率的に支援する。【解決手段】監視装置２０において、メッセージ受信部２２が、ネットワークを介して監視対象に関するメッセージを受信すると、対応アクション判定部２６が、メッセージに応じて適切な対応アクションを判定する。対応アクション判定部２６は、アクション定義データベース３４を参照して、受信したメッセージに対応して実行すべき作業の単位であるアクション部品を複数組み合わせて構成されたアクションフローを選択する。対応アクション制御部２８は、選択されたアクションフローをアクション定義データベース３４から読み出して、コマンド発行制御部８０、自動電話発信制御部８２、自動メール送信制御部８４に実行させる。【選択図】図３５
2007079896.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して監視対象に関するメッセージを受信する受信部と、
前記メッセージに対応して実行すべき作業のうち、それぞれ異なる作業を自動的に実行する複数の実行部と、
前記複数の実行部のそれぞれにより実行される作業を単位部品として、前記単位部品を複数組み合わせて構成される作業フローのデータを格納する作業フロー格納部と、
前記作業フロー格納部に格納された作業フローのうち、いずれの作業フローを実行すべきかを判定するための条件を格納した条件格納部と、
前記条件格納部に格納された条件を参照して、前記受信部により受信されたメッセージに対応して実行すべき作業フローを判定する判定部と、
前記判定部により判定された前記作業フローのデータを前記作業フロー格納部から読み出して、その作業フローを構成する単位部品の作業を前記実行部に実行させる制御部と、
を備えることを特徴とする監視装置。
【請求項２】
前記実行部が自動的に実行する作業は、コマンドを発行する作業、メールを送信する作業、及び電話を発信する作業、のいずれかを含むことを特徴とする請求項１に記載の監視装置。
【請求項３】
前記制御部は、前記実行部により実行された作業の結果を受け付け、その結果に基づいて、次に実行すべき作業を判定することを特徴とする請求項１又は２に記載の監視装置。
【請求項４】
前記作業フロー格納部は、前記作業の結果と次に実行すべき作業とを対応づけて格納した遷移テーブルを格納し、
前記制御部は、前記遷移テーブルを参照して次に実行すべき作業を判定することを特徴とする請求項３に記載の監視装置。
【請求項５】
前記作業フロー格納部は、前記作業フローを構成する作業ごとに、前記実行部がその作業を自動的に実行するときに使用するプロパティ情報を格納したプロパティテーブルを格納し、
前記制御部は、前記プロパティテーブルを参照して前記作業の実行に使用されるプロパティ情報を取得し、前記実行部に前記作業を実行させるときに前記プロパティ情報を通知することを特徴とする請求項１から４のいずれかに記載の監視装置。
【請求項６】
ネットワークを介して監視対象に関するメッセージを受信するステップと、
受信した前記メッセージに対応して実行すべき作業のうち、それぞれ異なる作業を自動的に実行する複数の実行部のそれぞれにより実行される作業を単位部品として、前記単位部品を複数組み合わせて構成された作業フローのうち、いずれの作業フローを実行すべきかを判定するための条件が格納されたメモリから、前記条件を読み出して、受信したメッセージと前記条件から、実行すべき作業フローを判定するステップと、
判定された作業フローを構成する単位部品の作業を前記実行部に実行させるステップと、
を含むことを特徴とする監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視技術に関し、特に、ネットワークを介してコンピュータなどの装置を監視する監視装置及び監視方法に関する。
【背景技術】
【０００２】
近年、コンピュータのソフトウェアの多様化及びハードウェアの性能向上に伴い、システムの運用要件が複雑化してきている。このため、コンピュータシステムの運用監視を行う監視装置は、各ソフトウェア及びハードウェアからより多くの情報、例えば情報メッセージ及び障害メッセージなどを取得しなければならなくなっている。そのため、これらのメッセージを統括的に取り扱うために、ソフトウェア及びハードウェアごとに個別に運用される管理ツールを統合的に監視するツール（統合監視システム）が提案されている。
【０００３】
現状のシステムでは、雑多な障害メッセージが大量に発生する場合も多々あり、オペレータは、それらのメッセージの識別、対応に追われることになる。これは、オペレータの工数を引き上げる大きな要因となっている。また、ＩＴ基盤の複雑化に伴って、オペレータには、さまざまな障害に対処できるような技術が求められるようになっている。
【０００４】
監視業務を担うオペレータの工数を削減するために、エラーメッセージを診断して、エラー復旧に至るまでの対応時間を短縮する技術が提案されている（例えば、特許文献１参照）。特許文献１に開示されたエラーメッセージ診断装置では、診断対象メッセージが復旧を要するエラーメッセージであると判定され、エラー復旧情報が登録されているときには、復旧コマンド又は復旧プログラムを自動起動してエラー復旧を行う。
【特許文献１】特開平１１−１１０２５８号公報
【特許文献２】特開２００３−１４０９１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１の方法では、エラーメッセージに対応して起動されるのは、単体のコマンド又はプログラムであるが、上述したように、統合監視システムにおいては、発生するエラーメッセージは多岐に渡り、また、障害の原因を特定して復旧を行う作業は複雑化しているので、単体のコマンド又はプログラムでは適切に対処できない場合もある。また、統合監視システムでは、複数の顧客のネットワークシステムを統合的に監視することが想定されており、顧客ごとに障害対応策が異なる場合もあるので、それぞれの障害対応作業を単体のプログラムとして用意するのは効率的ではない。
【０００６】
本発明はこうした状況に鑑みてなされたものであり、その目的は、障害発生に対処する際の効率を向上させる技術を提供することにある。
【課題を解決するための手段】
【０００７】
本発明のある態様は、監視装置に関する。この監視装置は、ネットワークを介して監視対象に関するメッセージを受信する受信部と、前記メッセージに対応して実行すべき作業のうち、それぞれ異なる作業を自動的に実行する複数の実行部と、前記複数の実行部のそれぞれにより実行される作業を単位部品として、前記単位部品を複数組み合わせて構成される作業フローのデータを格納する作業フロー格納部と、前記作業フロー格納部に格納された作業フローのうち、いずれの作業フローを実行すべきかを判定するための条件を格納した条件格納部と、前記条件格納部に格納された条件を参照して、前記受信部により受信されたメッセージに対応して実行すべき作業フローを判定する判定部と、前記判定部により判定された前記作業フローのデータを前記作業フロー格納部から読み出して、その作業フローを構成する単位部品の作業を前記実行部に実行させる制御部と、を備えることを特徴とする。
【０００８】
監視対象は、例えば、サーバ装置、パーソナルコンピュータなどの端末装置、それらの装置で動作するプロセス、ネットワークに設けられた各種の通信装置などであってもよい。受信したメッセージに対応して実行すべき作業を適切に判定して自動的に実行することにより、オペレータの負担を大幅に軽減し、障害への対処の効率を向上させることができる。メッセージに対応して実行すべき作業を、単位部品である作業の組合せで表現するので、複雑な作業も自動的に実行することが可能となる。また、個々の作業部品を、他の対応作業を設計するときに再利用することができるので、障害対応作業のフローを生成、変更するときの効率を向上させることができる。また、障害対応の作業を適切に判定することができるので、監視業務の信頼性を向上させることができる。
【０００９】
前記制御部は、前記実行部により実行された作業の結果を受け付け、その結果に基づいて、次に実行すべき作業を判定してもよい。作業フローを構成する単位部品の作業を実行部が実行し、実行した結果を制御部に通知すると、制御部は、その結果に基づいて次にすべき作業を判定して実行部に指示するので、オペレータが介在せずとも適切な作業を自動的に実行することができる。これにより、オペレータの作業負担を低減することができる。
【００１０】
前記作業フロー格納部は、前記作業の結果と次に実行すべき作業とを対応づけて格納した遷移テーブルを格納してもよく、前記制御部は、前記遷移テーブルを参照して次に実行すべき作業を判定してもよい。作業フローを設計する際に、実行可能な作業の単位部品を適宜組み合わせ、次に実行すべき部品の遷移先を指定すればよいので、作業フローの設計が容易となり、工数を削減することができる。また、柔軟な作業の流れを定義することが可能となり、より適切な障害対応の作業フローを表現することができる。
【００１１】
前記作業フロー格納部は、前記作業フローを構成する作業ごとに、前記実行部がその作業を自動的に実行するときに使用するプロパティ情報を格納したプロパティテーブルを格納してもよく、前記制御部は、前記プロパティテーブルを参照して前記作業の実行に使用されるプロパティ情報を取得し、前記実行部に前記作業を実行させるときに前記プロパティ情報を通知してもよい。これにより、実行部に実行させる作業を容易にカスタマイズすることができるので、作業フローの設計を容易にすることができる。また、監視対象となる装置やシステムに合わせて適切なプロパティ情報を設定し、より適切な障害対応作業を実行させることができる。
【００１２】
本発明の別の態様は、監視方法に関する。この監視方法は、ネットワークを介して監視対象に関するメッセージを受信するステップと、受信した前記メッセージに対応して実行すべき作業のうち、それぞれ異なる作業を自動的に実行する複数の実行部のそれぞれにより実行される作業を単位部品として、前記単位部品を複数組み合わせて構成された作業フローのうち、いずれの作業フローを実行すべきかを判定するための条件が格納されたメモリから、前記条件を読み出して、受信したメッセージと前記条件から、実行すべき作業フローを判定するステップと、判定された作業フローを構成する単位部品の作業を前記実行部に実行させるステップと、を含むことを特徴とする。
【００１３】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１４】
本発明によれば、監視対象に障害が発生したときに効率良く対処する技術を提供することができる。
【発明を実施するための最良の形態】
【００１５】
まず、第１の実施の形態では、作業の内容をオペレータに提示するための画面を複数組み合わせたフローにより、オペレータの作業を誘導する技術について説明する。次に、第２の実施の形態では、作業を自動的に実行するためのモジュールを複数組み合わせたフローにより、オペレータの介在なしに作業を実行する技術について説明する。更に、第３の実施の形態では、それらを組み合わせて障害対応作業の進行を支援する技術を提案する。
【００１６】
（第１の実施の形態）
図１は、第１の実施の形態に係る監視システムの構成を示す。監視装置２０は、監視対象となる端末装置１４ａやサーバ装置１４ｂなど（以下、「監視対象装置１４」という）が設けられたネットワークシステム１２ａ、１２ｂ、・・・、を含む監視対象システム１０を統合的に監視する。ネットワークシステム１２ａ、１２ｂ、・・・、には、監視対象装置１４の異常を検知してメッセージを発信する監視プログラム等がインストールされた管理装置１６ａ、１６ｂ、・・・、がそれぞれ設けられており、そのプログラムに設定された条件に合致する状態が発生すると、管理装置１６から監視装置２０にメッセージが送信される。管理装置１６にインストールされた監視プログラムが監視対象装置１４を監視してもよいし、監視対象装置１４に自身の状態を監視するためのエージェントなどをインストールしておいてもよい。監視装置２０は、監視対象システム１０から発信されたメッセージを取得し、取得したメッセージを記録するとともに、オペレータにメッセージを提示し、障害の発生を通知する。オペレータは、提示されたメッセージの内容を見て、障害に対してなすべき対応の内容を判断する。
【００１７】
従来の監視システムでは、オペレータは、メッセージの内容が提示されると、障害対応の手順が記載された分厚いマニュアルを手でめくって、なすべき対応の内容を調べる必要があり、時には、適切な対応策を見つけ出せない場合もあった。しかし、障害対応にはパターン化できるものもあり、予め決まった対応作業のフローを用意しておくことにより、オペレータのスキルによらず、適切な対応をとることができるようになる。本実施の形態では、オペレータの作業を半自動化し、実行すべき対応のフローをオペレータに提示しつつ、オペレータの作業を的確に誘導することにより、オペレータによる障害対応作業を効率的に支援する技術を提案する。
【００１８】
具体的には、実行すべき作業の内容を判定するための切り分け条件と、その切り分け条件に合致したときに実行すべき作業の流れを提示するための画面フローを予め設定しておき、受信したメッセージに応じて、実行すべき作業のフローを、画面フローとしてオペレータに提示する。この画面フローは、オペレータの作業の内容を提示するための、カスタマイズ可能な画面の組合せにより構成される。画面フローにおいては、オペレータの作業の結果などに基づいて、次に提示すべき画面への遷移が定義される。本実施の形態の監視装置２０は、監視対象装置などから発信されたメッセージを受信すると、切り分け条件にしたがって適切な画面フローを起動する。起動された画面フローは、オペレータの作業の進行に伴って、次に実行すべき作業を示す画面を順次提示し、オペレータの作業を支援する。
【００１９】
まず、画面フローの例を示す。図２は、プロセスの異常を示すメッセージを受信したときに、オペレータが実行すべき作業のフローを示す。プロセスの異常を示すメッセージを受信すると、オペレータは、サービスの状態を確認する（Ｓ１１０）。サービスが既に復旧していれば（Ｓ１１２のＹ）、その旨を顧客へ報告する（Ｓ１２６）。サービスが復旧していなければ（Ｓ１１２のＮ）、つづいて、サービス復旧のための手順書を検索する（Ｓ１１４）。手順書があれば（Ｓ１１６のＹ）、その手順書に記述された復旧手順を実行する（Ｓ１１８）。復旧に成功しても（Ｓ１２０のＹ）、失敗しても（Ｓ１２０のＮ）、適切な連絡先へ報告する（Ｓ１２６）。また、手順書が無ければ（Ｓ１１６のＮ）、過去に同様の障害が発生したときの対応履歴を検索する（Ｓ１２２）。過去の対応実績があっても（Ｓ１２４のＹ）、無くても（Ｓ１２４のＮ）、適切な連絡先へ報告する（Ｓ１２６）。
【００２０】
監視装置２０は、このようなオペレータの作業を支援するために、作業の内容を示す画面を提示する。まず、プロセス異常の障害対応をオペレータが開始すると、最初の作業であるサービス状態の確認（Ｓ１１０）の実行を促すための画面Ｄ１を提示する。オペレータが、画面Ｄ１に提示された指示にしたがってサービス確認作業を実行し、実行結果を入力して次画面へ遷移するためのボタンをクリックすると、サービスが復旧していた場合は、その旨を顧客へ報告する作業（Ｓ１２６）を提示する画面Ｄ５へ遷移する。サービスが復旧していなかった場合は、サービス復旧のための手順書を検索する作業（Ｓ１１４）を提示する画面Ｄ２へ遷移する。このように、個々の作業の指示を提示するための画面を組み合わせた画面フローを用意しておき、オペレータによる実行結果に応じて次に実行すべき作業の指示を画面に提示して、オペレータの作業を支援する。
【００２１】
図３は、図２に示した作業フローのうち、サービス確認作業（Ｓ１１０）の手順を提示するための画面Ｄ１を示す。画面Ｄ１には、障害が発生しているプロセスが自動復旧しているかを確認する作業（Ｓ１１０）の指示が提示されている。画面Ｄ１には、サービスの状態を確認するコマンドを実行するためのボタンが用意されており、オペレータがこのボタンを押すと、コマンドの発行指示が監視対象装置１４へ通知され、監視対象装置１４でコマンドが実行される。コマンドが実行されると、コマンドの実行結果を示す戻り値が監視装置２０に通知され、画面Ｄ１のコマンド実行結果欄に表示される。コマンド実行結果イメージ欄に戻り値の説明を表示して、オペレータが実行結果を判断するための指標としてもよい。この説明は、予め任意に編集しておくことができる。画面Ｄ１には、実行結果を入力するためのラジオボタンが設けられており、オペレータがプロセスの状態を確認して、「自動復旧している」か「停止したまま」のいずれかのラジオボタンを選択し、「次へ」ボタンをクリックすると、実行結果に応じて適切な画面へ遷移する。
【００２２】
図４は、図２に示した作業フローのうち、復旧手順書検索作業（Ｓ１１４）の手順を提示するための画面Ｄ２を示す。画面Ｄ２には、プロセスの復旧手順書の有無を確認する作業（Ｓ１１４）の指示が提示されている。画面Ｄ２には、予め画面に登録されていた復旧手順書の候補が提示されてもよい。オペレータは、画面Ｄ２に提示された候補の中から適切な手順書を選択してもよいし、「手順書一覧」ボタンをクリックして、手順書の一覧の中から適切な手順書を検索してもよい。オペレータが、プロセスの復旧手順書を発見した場合、「有り」のラジオボタンを選択して「次へ」ボタンをクリックすると、手順書を実行する作業（Ｓ１１８）を提示する画面Ｄ３へ遷移する。オペレータが、プロセスの復旧手順書を発見できなかった場合、「無し」のラジオボタンを選択して「次へ」ボタンをクリックすると、過去の障害を検索する作業（Ｓ１２２）を提示する画面Ｄ４へ遷移する。
【００２３】
図５は、図２に示した作業フローのうち、手順書実行作業（Ｓ１１８）の手順を提示するための画面Ｄ３を示す。画面Ｄ３には、手順書に記述された手順を実行する作業（Ｓ１１８）の指示が提示されている。オペレータが、手順書に記述された手順を実行し、「正常終了」、「異常終了」、「その他」のいずれかのラジオボタンを選択して「次へ」ボタンをクリックすると、結果に応じて適切な連絡先へ報告する作業（Ｓ１２６）を提示する画面Ｄ５へ遷移する。
【００２４】
図６は、図２に示した作業フローのうち、過去障害検索作業（Ｓ１２２）の手順を提示するための画面Ｄ４を示す。画面Ｄ４には、過去の障害対応履歴を検索する作業（Ｓ１２２）の指示が提示されている。オペレータが、過去の障害対応履歴を検索し、「有り」又は「無し」のラジオボタンを選択して「次へ」ボタンをクリックすると、結果に応じて適切な連絡先へ報告する作業（Ｓ１２６）を提示する画面Ｄ５へ遷移する。
【００２５】
図７は、図２に示した作業フローのうち、報告作業（Ｓ１２６）の手順を提示するための画面Ｄ５を示す。画面Ｄ５には、障害を報告する指示が提示されている。この障害報告画面Ｄ５では、それまでの作業の実行結果に応じて、報告すべき内容がオペレータに提示されている。また、後述するように、連絡すべき相手が優先順位付きで予め登録されており、それまでの実行結果に応じて適切な連絡先が自動的に選択されてオペレータに提示される。また、それまで実行した作業の内容や結果を、対応履歴として表示することもできる。さらに、コマンド実行結果としての戻り値は、この欄から別ウィンドウで表示させるようにすることもできる。オペレータは、画面に提示された連絡先へ電話を発呼し、画面に提示された文章を読み上げればよい。オペレータのスキルに応じて、文章の内容を変えることもできる。
【００２６】
これらの画面は、カスタマイズ可能な部品として用意されており、後述するように、顧客システムごとに作業内容が異なる場合には、画面を適宜カスタマイズすることにより、顧客システムごとの作業内容に応じた画面を作成することができる。それぞれの画面は、名称やＩＤなどの基本データ、構成要素のプロパティデータ、遷移先を定義するための接続子データなどにより定義されており、これらのデータを設定することにより、画面フローの部品として利用可能となる。
【００２７】
ディスプレイに画面が順次表示されていくことは、監視装置２０から見ると、画面を構成して表示する処理を順次実行していくことに対応する。この意味で、画面フローを提示していくことを、画面フローを「実行」するともいう。また、画面フローのデータを読み出して、画面フローを提示する処理を開始することを、画面フローを「起動」するともいう。個々の画面を構成して表示する処理は、画面フロー全体を実行するための部品ととらえることができる。この意味で、画面を提示することを、画面部品を「実行」するともいう。前述した、画面を定義するための種々のデータは、画面部品の実行に用いられるデータでもある。画面が提示されるとき、「画面部品」のデータが読み出され、「画面」が構成されて、オペレータに提示される。文脈上、監視装置２０により実行されるフローの処理単位である「画面部品」という語と、その処理の実行結果として表示される「画面」という語を、とくに区別なく用いることもある。
【００２８】
画面の構成要素には、見出し表示領域、連絡先表示領域、特記事項入力用テキストボックス、「次へ」ボタン、「中断」ボタンなどがある。画面を作成、編集する場合は、これらの構成要素を指定すればよい。したがって、画面をカスタマイズする場合に、例えばＨＴＭＬにより画面の内容を記述する必要はなく、用意されている構成要素を画面に組み込むことにより、容易に画面を作成、編集することができる。
【００２９】
また、画面の構成要素として、ラジオボタンなどの選択入力用のインタフェイスが用意されており、それぞれの選択肢に対応する接続子に対して遷移先の画面が定義される。接続子には、それぞれを一意に識別するための接続子ＩＤが割り当てられている。監視装置２０には、画面フローにおける画面の遷移を定義するためのテーブルが用意されており、それぞれの画面の接続子に遷移先の画面を設定することにより、オペレータの作業に合わせた画面フローを構築することができる。
【００３０】
このように、実行すべき作業の流れを自動的に判定してオペレータに提示することにより、オペレータは、メッセージが提示される度に分厚いマニュアルを開いて対応を調べる手間から解放される。したがって、オペレータの作業を飛躍的に効率化することができる。また、対応作業が複雑であっても、オペレータに作業の内容を適切に指示する画面を提示することができるので、従来、専門家が行っていた作業をオペレータに移管することができ、専門家の負担も軽減することができる。
【００３１】
つづいて、本実施の形態の監視装置２０の構成と動作について説明する。
【００３２】
図８は、監視装置２０の内部構成を示す。監視装置２０は、メッセージ受信部２２、メッセージ解析部２４、対応アクション判定部２６、対応アクション制御部２８、アラート通知部３０、顧客システムデータベース３２、アクション定義データベース３４、障害管理データベース３６、及び連絡先データベース３８を含む。これらの構成は、ハードウエア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【００３３】
メッセージ受信部２２は、監視対象システム１０から発信されたメッセージを受信する。メッセージ解析部２４は、顧客システムデータベース３２及びアクション定義データベース３４を参照して、メッセージ受信部２２が受信したメッセージを解析する。メッセージ解析部２４は、受信したメッセージが、アクション定義データベース３４に格納された無視条件に合致した場合、メッセージをオペレータに提示せずに、無視メッセージとして障害管理データベース３６へ格納する。メッセージ解析部２４は、受信したメッセージが、自動電話、自動メール、自動コマンドなどの自動処理条件に合致した場合、設定された自動処理を実行するように、自動処理を実行する構成へ指示する。メッセージ解析部２４は、受信したメッセージが、無視条件及び自動処理条件に合致しない場合は、メッセージを障害管理データベース３６に格納するとともに、アラート通知部３０によりメッセージの受信を通知する。
【００３４】
アラート通知部３０により障害メッセージの受信を通知されたオペレータから、障害メッセージへの対応作業の開始を指示されると、対応アクション判定部２６は、アクション定義データベース３４を参照して、受信したメッセージに対応して実行すべきアクションの内容を判定する。具体的には、対応アクション判定部２６は、アクション定義データベース３４に格納された切り分け条件に基づいて、起動すべき画面フローを判定する。対応アクション判定部２６は、受信したメッセージがいずれの切り分け条件にも合致しなかった場合、すなわち、対応アクションが設定されていなかった場合、デフォルトとして設定された汎用的な画面フローを起動してもよい。この画面フローは、例えば、障害の発生を技術者などに報告する作業を提示するものであってもよい。
【００３５】
対応アクション制御部２８は、アクション定義データベース３４を参照して、対応アクション判定部２６により判定された画面フローを提示する。対応アクション制御部２８は、画面フローにより提示した作業の結果の入力を受け付け、その結果に基づいて画面を遷移させるとともに、作業の内容と結果を障害管理データベース３６に履歴として記録する。対応アクション制御部２８が、提示した画面ごとに作業の内容と結果を自動的に記録するので、オペレータが作業報告を作成しなくても、正確に履歴を残すことができる。顧客などにオペレータの作業報告を提出する場合にも、障害管理データベース３６に蓄積された障害情報及び対応履歴情報を抽出、編集することにより、作業報告を一括して作成することができる。これにより、オペレータの工数を削減することができる。アラート通知部３０は、パトランプや音声などによりオペレータにアラートを通知する。
【００３６】
図９は、顧客システムデータベース３２の内部データの例を示す。顧客システムデータベース３２には、システムＩＤ欄１０１、顧客名欄１０２、及び監視対象装置名欄１０３が設けられている。メッセージ解析部２４は、メッセージ受信部２２が受信したメッセージ中の監視対象装置名などをもとに、顧客システムデータベース３２を参照してメッセージの発信元のシステムＩＤを特定する。監視装置２０が、複数の顧客システムから発信されるメッセージを統合的に管理する場合であっても、メッセージの発信元の顧客システムのシステムＩＤを的確に特定することができ、顧客システム毎に適切な対応を行うことができる。
【００３７】
図１０は、アクション定義データベース３４のテーブル構成の例を示す。アクション定義データベース３４は、メッセージの切り分け条件を格納する切り分け条件テーブル４０、画面部品のデータを格納する部品データテーブル４１、画面フローのデータを格納するフローデータテーブル４７を含む。部品データテーブル４１は、監視装置２０において利用可能な画面部品の一覧とそれらの管理情報を格納した部品管理テーブル４２、それぞれの画面を構成する要素の情報を格納したプロパティテーブル４４、それぞれの画面に定義された接続子の情報を格納した接続子テーブル４６を含む。フローデータテーブル４７は、監視装置２０において利用可能な画面フローの一覧とそれらの管理情報を格納したフロー管理テーブル４８、それぞれの画面フローを構成する画面部品の情報を格納したフロー構成部品テーブル５０、それぞれの画面フローにおける画面の遷移を定義するための情報を格納した遷移テーブル５２を含む。切り分け条件テーブル４０は、条件格納部の一例であり、フローデータテーブル４７は、画面フロー格納部の一例である。
【００３８】
アクション定義データベース３４は、顧客システム毎に設けられてもよい。例えば、同じ障害が発生した場合であっても、ある顧客は、まずオペレータに復旧作業を実行させることを希望し、別の顧客は、迅速にネットワーク管理者などへ報告させることを希望するなど、障害対応作業の内容が異なる場合がある。このような場合であっても、システム毎にアクション定義データベース３４を設け、メッセージを発信した顧客システムを特定してそのシステムのアクション定義データベース３４を適用することにより、システム毎に柔軟に適切な障害対応の内容を設定することができる。
【００３９】
図１１は、切り分け条件テーブル４０の内部データの例を示す。切り分け条件テーブル４０は、受信したメッセージに対して適切な対応アクションを判定するために、メッセージを切り分けるための条件を格納する。切り分け条件テーブル４０には、システムＩＤ欄１１１、切り分けＩＤ欄１１２、切り分け区分欄１８０、優先順位欄１１３、切り分け名称欄１１４、条件（メッセージＩＤ）欄１１５、条件（装置ＩＤ）欄１１６、条件（内容）欄１１７、アクション区分欄１１８、フローＩＤ欄１１９、連絡先ブロックＩＤ欄１８１、メールテンプレートＩＤ欄１８２、及びコマンド欄１８３が設けられている。
【００４０】
システムＩＤ欄１１１は、顧客システムのＩＤを格納する。切り分けＩＤ欄１１２は、切り分け条件を識別するためのＩＤを格納する。切り分け区分欄１８０は、切り分け条件の区分を格納する。切り分け条件の区分には、オペレータにメッセージの受信が通知される前にメッセージ解析部２４において適用される「０次切り分け」と、オペレータにメッセージの受信が通知されオペレータがメッセージへの対応作業を開始した後に対応アクション判定部２６において適用される「１次切り分け」がある。優先順位欄１１３は、切り分け条件を適用する優先順位を格納する。優先順位は、「０次切り分け」と「１次切り分け」のそれぞれの区分の中で指定される。条件（メッセージＩＤ）欄１１５は、メッセージＩＤに関する切り分け条件を格納する。条件（装置ＩＤ）欄１１６は、監視対象の装置ＩＤに関する切り分け条件を格納する。条件（内容）欄１１７は、メッセージの内容に関する切り分け条件を格納する。アクション区分欄１１８は、切り分け条件に合致したときに実行すべきアクションの区分を格納する。アクション区分には、アラートを通知せずに無視する「無視」、適切な連絡先へ自動的に電話を発信する「自動電話」、適切な連絡先へ自動的にメールを発信する「自動メール」、適切なコマンドを自動的に発行する「自動コマンド」、適切な画面フローを起動する「画面フロー」などがある。
【００４１】
フローＩＤ欄１１９は、アクション区分が「画面フロー」である切り分け条件に合致したときに、実行すべき画面フローのＩＤを格納する。連絡先ブロックＩＤ欄１８１は、アクション区分が「自動電話」又は「自動メール」である切り分け条件に合致したときに、自動的に電話又はメールを発信すべき連絡先のブロックＩＤを格納する。メールテンプレートＩＤ欄１８２は、アクション区分が「自動メール」である切り分け条件に合致したときに、自動的に発信するメールのテンプレートとして使用されるメールテンプレートのＩＤを格納する。コマンド欄１８３は、アクション区分が「自動コマンド」である切り分け条件に合致したときに、自動的に発行されるコマンドを格納する。
【００４２】
メッセージ解析部２４は、切り分け条件テーブル４０の条件（メッセージＩＤ）欄１１５、条件（装置ＩＤ）欄１１６、及び条件（内容）欄１１７を参照して、受信したメッセージが、切り分け区分が「０次切り分け」である無視条件又は自動処理条件に合致するか否かを解析する。合致した切り分け条件のアクション区分が「０（無視）」であった場合は、メッセージ解析部２４は、メッセージの受信をアラート通知部３０に通知せずに、無視メッセージとして障害管理データベース３６へ格納する。合致した切り分け条件のアクション区分が「１（自動電話）」、「２（自動メール）」、「３（自動コマンド）」などの自動処理条件であった場合、メッセージ解析部２４は、設定された自動処理を実行するように、自動処理を実行する構成へ指示する。これにより、画面フローを起動するまでもなく、自動的に障害対応処理を実行可能な場合は、オペレータの手を介さずに自動処理を行うことができる。
【００４３】
対応アクション判定部２６は、切り分け条件テーブル４０の条件（メッセージＩＤ）欄１１５、条件（装置ＩＤ）欄１１６、及び条件（内容）欄１１７を参照して、受信したメッセージが、切り分け区分が「１次切り分け」である切り分け条件に合致するか否かを解析し、合致する切り分け条件のうち優先順位が最も高いものを対応アクションとして判定する。合致した切り分け条件のアクション区分が「４（画面フロー）」であった場合は、対応アクション判定部２６は、対応アクション制御部２８に、実行すべき画面フローのＩＤを通知する。対応アクション制御部２８は、画面フローＩＤで特定される画面フローをオペレータに提示する。
【００４４】
例えば、図１１の例では、システムＩＤが「SYSA」の顧客システムから、装置ＩＤが「NODEA01」で、かつ、正規表現で「*異常*(PROC01)*」という文字列を含むメッセージを受信したとき、切り分けＩＤ「101」の切り分け条件が適用され、画面フローＩＤ「PROC01_RECOV_01」の画面フローが起動される。この画面フローは、図２に示した作業フローを提示する画面フローである。こうして、プロセス異常を示すメッセージを受信したときに、図３から図７に示した画面フローがオペレータに提示される。
【００４５】
図１２は、部品管理テーブル４２の内部データの例を示す。部品管理テーブル４２は、監視装置２０により提示される画面フローで使用される部品の一覧とそれらの基本情報を格納する。部品管理テーブル４２には、システムＩＤ欄１２１、部品ＩＤ欄１２２、部品区分欄１２３、及び部品名称欄１２４が設けられている。
【００４６】
システムＩＤ欄１２１は、画面部品が使用されるシステムのＩＤを格納する。部品ＩＤ欄１２２は、画面部品を識別するためのＩＤを格納する。部品名称欄１２４は、画面部品の名称を格納する。部品区分欄１２３は、画面部品の区分を格納する。画面部品の区分には、例えば、「コマンド実行部品」、「メール送信部品」、「手順書実行部品」、「障害報告部品」、「汎用部品」、「連絡確認部品」などがある。一例として、システムＩＤ「SYSA」の顧客システムで用いられる部品ＩＤ「PROC01_EXEC_CHECK」の画面部品は、部品区分が「コマンド実行」であり、部品名称が「PROC01サービス稼働状況確認」である。この画面部品は、図３に示した画面Ｄ１を提示するための画面部品である。
【００４７】
「コマンド実行部品」は、コマンドを実行するための画面部品である。コマンド実行部品により実行されるコマンドには、「ping」など、監視装置２０自身が実行可能なコマンドと、プロセスの再起動やＣＰＵ稼働率の調査など、管理装置１６又は監視対象装置１４が実行主体となるコマンドがある。「メール送信部品」は、障害報告や復旧報告などを電子メールで送信する場合に、メール送信を支援するための画面部品である。「手順書実行部品」は、電子化された手順書の中から、適切な個所を検索して表示させるための画面部品である。「障害報告部品」は、障害の発生などを適切な相手に報告する作業を支援するための画面部品である。「汎用部品」は、汎用的なスクリプト表示、値入力、選択肢の選択、分岐処理、手順書選択などを行うための画面部品である。「連絡確認部品」は、障害の発生などをベンダなどの連絡先に連絡し、状況を確認するための画面部品である。
【００４８】
後述するフロー編集機能を用いて、新たな画面部品が生成されると、その画面部品の情報が部品管理テーブル４２に登録され、以降、画面フローを構成する画面部品として利用することが可能となる。
【００４９】
図１３は、プロパティテーブル４４の内部データの例を示す。プロパティテーブル４４は、画面を構成する要素のプロパティを格納する。プロパティテーブル４４には、部品ＩＤ欄１３１、キー欄１３２、及び設定値欄１３３が設けられている。
【００５０】
部品ＩＤ欄１３１は、画面部品のＩＤを格納する。キー欄１３２は、画面を構成する要素の種別を示すキー情報を格納する。設定値欄１３３は、キー欄１３２に格納された要素の種別に応じて、必要な設定値を格納する。例えば、キー情報が「navi_title」のレコードの設定値には、画面部品のタイトルである「インフォメーション確認（プロセス）」が格納されている。対応アクション制御部２８は、実行する画面部品の部品ＩＤをもとに、プロパティテーブル４４を検索し、その画面部品により提示される画面を構成する要素の情報を読み出して、画面を構成する。
【００５１】
図１３には、一例として、部品ＩＤ「PROC01_EXEC_CHECK」の画面部品により提示される画面、すなわち、図３に示した画面Ｄ１の構成要素の一部を示している。対応アクション制御部２８は、これらの情報を読み出して、構成要素を画面に配置し、画面Ｄ１を構成する。
【００５２】
図１３に示した画面の構成要素のうち、キー「sel_exp_1」及び「sel_exp_2」は、実行結果を入力するためのラジオボタンであり、「sel_exp_1」の末尾の番号「１」は、このラジオボタンの接続子ＩＤが「１」であることを示し、「sel_exp_2」の末尾の番号「２」は、このラジオボタンの接続子ＩＤが「２」であることを示している。図１３に示した例では、「自動復旧している」と書かれたラジオボタンには、その接続子を識別する接続子ＩＤとして「１」が割り当てられ、「停止したまま」と書かれたラジオボタンには、接続子ＩＤ「２」が割り当てられる。
【００５３】
図１４は、接続子テーブル４６の内部データの例を示す。接続子テーブル４６は、ある画面部品から複数の画面部品へ遷移する可能性がある場合に、それぞれの遷移先を設定するために、画面部品の接続子の情報を格納する。接続子テーブル４６には、部品ＩＤ欄１４１及び接続子ＩＤ欄１４２が設けられている。
【００５４】
部品ＩＤ欄１４１は、画面部品のＩＤを格納する。接続子ＩＤ欄１４２は、画面部品の接続子を識別するためのＩＤを格納する。一例として、部品ＩＤ「PROC01_EXEC_CHECK」の画面部品により提示される画面、すなわち、図３に示した画面Ｄ１には、接続子ＩＤ「１」と「２」の２つの接続子が用意されている。図１３のプロパティテーブル４４において定義されているように、オペレータが処理を実行した結果として、「自動復旧している」と書かれたラジオボタンを選択して画面遷移を要求すると、対応アクション制御部２８は、画面部品「PROC01_EXEC_CHECK」の接続子ＩＤ「１」に対応づけられた遷移先に画面を遷移させる。それぞれの接続子ＩＤに対応づけられた遷移先の画面は、図１７に示す遷移テーブル５２に設定されている。この接続子ＩＤは、後述するフローの編集機能においても、接続子を識別するために使用される。
【００５５】
図１５は、フロー管理テーブル４８の内部データの例を示す。フロー管理テーブル４８は、監視装置２０により提示される画面フローの一覧とそれらの基本情報を格納する。フロー管理テーブル４８には、システムＩＤ欄１５１、フローＩＤ欄１５２、フロー名称欄１５３、及びノードＩＤ欄１５４が設けられている。
【００５６】
システムＩＤ欄１５１は、画面フローが使用されるシステムのＩＤを格納する。フローＩＤ欄１５２は、画面フローを識別するためのＩＤを格納する。フロー名称欄１５３は、画面フローの名称を格納する。ノードＩＤ欄１５４は、画面フローが起動されたときに、最初に実行される画面部品のノードＩＤを格納する。この画面部品から後の画面フローについては、図１７の遷移テーブル５２に基づいて決定される。ここで、画面フローに組み込まれた画面部品を「ノード」と呼び、画面フローに組み込まれた個々の画面部品を識別するためのＩＤを「ノードＩＤ」と呼ぶ。
【００５７】
対応アクション制御部２８は、対応アクション判定部２６により起動すべき画面フローが判定されると、その画面フローのＩＤをもとに、フロー管理テーブル４８を参照して、最初に実行すべき画面部品のノードＩＤを取得する。例えば、図１５の例では、システムＩＤ「SYSA」の顧客システムにおいて、フローＩＤ「PROC01_RECOV_01」の画面フローを起動するとき、最初に実行する画面部品のノードＩＤは「00001」である。ノードＩＤと、部品ＩＤとの対応は、図１６に示すフロー構成部品テーブル５０に格納されている。
【００５８】
図１６は、フロー構成部品テーブル５０の内部データの例を示す。フロー構成部品テーブル５０は、それぞれの画面フローを構成する画面部品の一覧と、それらの基本情報を格納する。フロー構成部品テーブル５０には、ノードＩＤ欄１６１、フローＩＤ欄１６２、及び部品ＩＤ欄１６３が設けられている。
【００５９】
ノードＩＤ欄１６１は、画面フローに配置された画面部品を識別するためのＩＤを格納する。フローＩＤ欄１６２は、画面フローを識別するためのＩＤを格納する。部品ＩＤ欄１６３は、画面部品のＩＤを格納する。対応アクション制御部２８は、次に実行すべき画面部品のノードＩＤを図１５のフロー管理テーブル４８及び図１７の遷移テーブル５２を参照して特定すると、ノードＩＤをもとにフロー構成部品テーブル５０を参照して、その画面部品の部品ＩＤを取得する。
【００６０】
例えば、図１６の例では、フローＩＤ「PROC01_RECOV_01」の画面フローには、部品ＩＤが「PROC01_EXEC_CHECK」、「PROC01_RECOVERY_SEARCH」、「PROC01_RECOVERY」、「PROC01_OBS_SEARCH」、「PROC01_REPORT」である５種の画面部品が含まれており、それぞれにノードＩＤが割り当てられている。このうち、画面部品「PROC01_REPORT」は、５つの異なる接続子の遷移先として設定されているため、５つのノードＩＤが割り当てられている。同種の画面部品であっても、画面フローにおいて複数のノードに設定されている場合は、それぞれ異なるノードＩＤが割り当てられる。これらの画面部品の遷移関係は、図１７に示す遷移テーブル５２に格納されている。
【００６１】
図１７は、遷移テーブル５２の内部データの例を示す。遷移テーブル５２は、画面フローにおける画面部品の遷移を定義するための情報を格納する。遷移テーブル５２には、ノードＩＤ欄１７１、接続子ＩＤ欄１７２、及び遷移先ノードＩＤ欄１７３が設けられている。
【００６２】
ノードＩＤ欄１７１は、遷移元の画面部品のノードＩＤを格納する。接続子ＩＤ欄１７２は、画面部品の接続子を識別するためのＩＤを格納する。遷移先ノードＩＤ欄１７３は、接続子ＩＤに対応した遷移先の画面部品のノードＩＤを格納する。対応アクション制御部２８は、オペレータが入力した作業結果を示す接続子ＩＤをもとに、遷移テーブル５２を参照して、遷移先ノードＩＤを取得する。
【００６３】
例えば、図１７の例では、ノードＩＤが「00001」の画面部品、すなわち、図１６を参照すると、部品ＩＤが「PROC01_EXEC_CHECK」の画面部品（画面Ｄ１）の遷移先として、２つの画面部品が設定されている。接続子ＩＤ「１」、すなわち、「自動復旧している」場合の遷移先は、ノードＩＤが「00005」の画面部品、すなわち、図１６を参照すると、部品ＩＤが「PROC01_REPORT」の画面部品（画面Ｄ５）が設定されている。接続子ＩＤ「２」、すなわち、「停止したまま」の場合の遷移先は、ノードＩＤが「00002」の画面部品、すなわち、図１６を参照すると、部品ＩＤが「PROC01_RECOVERY_SEARCH」の画面部品（画面Ｄ２）が設定されている。
【００６４】
図１８は、連絡先データベース３８のテーブル構成の例を示す。連絡先データベース３８は、メールテンプレートテーブル５４、連絡先管理テーブル５６、連絡先ブロックテーブル５８、電話連絡先順位テーブル６０、及びメール宛先テーブル６２を含む。これらの情報は、「メール送信部品」、「障害報告部品」、「汎用部品」、「連絡確認部品」などの画面部品において、連絡先を予め画面部品に設定しておき、オペレータに提示するために用いられる。また、切り分け条件テーブル４０において、「自動電話」機能や「自動メール」機能が選択された場合に、自動的に電話やメールを発信するために用いられる。
【００６５】
図１９は、メールテンプレートテーブル５４の内部データの例を示す。メールテンプレートテーブル５４は、障害発生の報告や障害回復の報告などに用いる電子メールのテンプレートに関する情報を格納する。メールテンプレートテーブル５４には、テンプレートＩＤ欄２２１、テンプレート名欄２２２、本文欄２２３が設けられている。テンプレートＩＤ欄２２１は、メールテンプレートを識別するためのＩＤを格納する。テンプレート名欄２２２は、メールテンプレートの名称を格納する。本文欄２２３は、電子メールのテンプレートとして使用される文章の内容を格納する。テンプレートとして使用される文章は、メッセージの内容や作業結果などの可変値を本文内に埋め込むための予約語を含んでもよい。
【００６６】
対応アクション制御部２８は、画面部品にメールテンプレートが指定されている場合、該当するメールテンプレートの本文をメールテンプレートテーブル５４を参照して取得し、その本文の内容を読み出して設定する。
【００６７】
図２０は、連絡先管理テーブル５６の内部データの例を示す。連絡先管理テーブル５６は、障害発生や障害回復などを連絡すべき相手の情報を格納する。連絡先管理テーブル５６には、連絡先ＩＤ欄２３１、会社名欄２３２、所属欄２３３、氏名欄２３４、メール属性１欄２３５、メールアドレス１欄２３６、メール属性２欄２３７、メールアドレス２欄２３８、電話属性１欄２３９、電話番号１欄２４０、電話属性２欄２４１、電話番号２欄２４２、電話属性３欄２４３、電話番号３欄２４４が設けられている。連絡先ＩＤ欄２３１は、連絡先を識別するためのＩＤを格納する。会社名欄２３２は、連絡先が属する会社の名称を格納する。所属欄２３３は、連絡先の所属を格納する。氏名欄２３４は、連絡先の氏名を格納する。メール属性１欄２３５及びメール属性２欄２３７は、メールアドレスの種別を格納する。メールアドレス１欄２３６及びメールアドレス２欄２３８は、連絡先のメールアドレスを格納する。電話属性１欄２３９、電話属性２欄２４１、及び電話属性３欄２４３は、電話の種別や属性などを示す文字列を格納する。電話番号１欄２４０、電話番号２欄２４２、及び電話番号３欄２４４は、連絡先の電話番号を格納する。
【００６８】
対応アクション制御部２８は、画面部品に連絡先が指定されている場合、該当する連絡先の電話番号又はメールアドレスを、連絡先管理テーブル５６を参照して取得し、画面に提示する。
【００６９】
図２１は、連絡先ブロックテーブル５８の内部データの例を示す。連絡先ブロックテーブル５８は、複数の連絡先の集合である連絡先ブロックの一覧とそれらの基本情報を格納する。連絡先ブロックテーブル５８には、システムＩＤ欄２５１、連絡先ブロックＩＤ欄２５２、ブロック名称欄２５３、有効開始日欄２５４が設けられている。システムＩＤ欄２５１は、システムのＩＤを格納する。連絡先ブロックＩＤ欄２５２は、連絡先ブロックを識別するためのＩＤを格納する。ブロック名称欄２５３は、連絡先ブロックの名称を格納する。有効開始日欄２５４は、連絡先ブロックを有効とする日を格納する。
【００７０】
対応アクション制御部２８は、画面部品に連絡先ブロックが指定されている場合、連絡先ブロックテーブル５８を参照して有効開始日を確認し、後述する電話連絡先順位テーブル６０又はメール宛先テーブル６２を参照して、その連絡先ブロックに属する連絡先を取得し、画面に提示する。
【００７１】
図２２は、電話連絡先順位テーブル６０の内部データの例を示す。電話連絡先順位テーブル６０は、連絡先ブロックに属する連絡先と、それらの連絡先に電話連絡を行う際の優先順位を格納する。電話連絡先順位テーブル６０には、連絡先ブロックＩＤ欄２６１、連絡先ＩＤ欄２６２、電話属性番号欄２６３、順位（営業日＋日中）欄２６４、順位（営業日＋夜間）欄２６５、順位（休日＋日中）欄２６６、順位（休日＋夜間）欄２６７が設けられている。連絡先ブロックＩＤ欄２６１は、連絡先ブロックのＩＤを格納する。連絡先ＩＤ欄２６２は、連絡先ブロックに属する連絡先のＩＤを格納する。電話属性番号欄２６３は、連絡先の電話番号の種別や属性などを示す文字列を格納する。順位（営業日＋日中）欄２６４、順位（営業日＋夜間）欄２６５、順位（休日＋日中）欄２６６、及び順位（休日＋夜間）欄２６７は、連絡先へ電話をかける際の時間帯別の優先順位を格納する。
【００７２】
図２３は、メール宛先テーブル６２の内部データの例を示す。メール宛先テーブル６２は、連絡先ブロックに属するメールの宛先を格納する。メール宛先テーブル６２には、連絡先ブロックＩＤ欄２７１、連絡先ＩＤ欄２７２、メール属性番号欄２７３、宛先区分欄２７４が設けられている。連絡先ブロックＩＤ欄２７１は、連絡先ブロックのＩＤを格納する。連絡先ＩＤ欄２７２は、連絡先ブロックに属する連絡先のＩＤを格納する。メール属性番号欄２７３は、連絡先のメールアドレスの種別を格納する。宛先区分欄２７４は、メールアドレスを指定する宛先区分を格納する。
【００７３】
このように、連絡先を予め登録し、画面の構成要素として画面部品に設定できるようにしておくことにより、受信したメッセージや作業の内容に応じて適切な連絡先をオペレータに提示することができる。これにより、オペレータが連絡先を調べる手間を省き、工数を削減させることができる。
【００７４】
図２４は、メッセージを受信してから解析するまでの手順を示すフローチャートである。メッセージ受信部２２が監視対象システム１０から発信された障害メッセージを受信すると（Ｓ１０）、メッセージ解析部２４は、顧客システムデータベース３２を参照して、受信したメッセージがいずれの顧客システムから発信されたものであるかを特定する（Ｓ１２）。顧客システムが特定されると、その顧客システムに対して設定されたアクション定義データベース３４の切り分け条件テーブル４０を参照して、受信したメッセージが０次切り分け条件に合致するかマッチングする（Ｓ１４）。無視条件のポリシーに合致する場合（Ｓ１６のＹ）、メッセージ解析部２４は、そのメッセージを無視障害として障害管理データベース３６に登録し（Ｓ２０）、そのメッセージに対する処理を終了する。無視条件のポリシーに合致しない場合（Ｓ１６のＮ）、メッセージ解析部２４は、そのメッセージを障害として障害管理データベース３６に登録する（Ｓ１８）。受信したメッセージが自動処理条件のポリシーに合致する場合（Ｓ２２のＹ）、メッセージ解析部２４は、自動電話、自動メール、自動コマンドなどの自動処理を実行させる（Ｓ２４）。自動処理条件にも合致しなかった場合（Ｓ２２のＮ）、メッセージ解析部２４は、アラート通知部３０によりメッセージの受信をオペレータへ通知する（Ｓ２６）。障害の発生を知ったオペレータが対応作業を開始すると、図２５に示す対応アクション判定処理へ移る。
【００７５】
このように、まず、顧客システムを特定し、顧客システム毎に設定されたアクション定義データベース３４を適用することにより、顧客システムごとに適切にメッセージをフィルタリングすることができる。また、顧客システム毎に対応策が異なる場合であっても、障害が発生した顧客システムに応じた適切な対応策を画面フローとして提示することができる。
【００７６】
図２５は、対応アクション判定の手順を示すフローチャートである。オペレータにより障害メッセージに対する作業の開始が指示されると、対応アクション判定部２６は、アクション定義データベース３４の切り分け条件テーブル４０を参照して、受信したメッセージが合致する１次切り分け条件を検索する（Ｓ３０）。切り分け条件のポリシーに合致しない場合（Ｓ３２のＮ）、対応アクション判定部２６は、汎用的な画面フローを対応アクションとして選択する（Ｓ３６）。切り分け条件のポリシーに合致した場合（Ｓ３２のＹ）、対応アクション判定部２６は、合致した切り分け条件のうち優先順位が最も高いものを、対応アクションとして判定し、そのアクション区分が「４（画面フロー）」であった場合は、フローＩＤを取得して対応アクション制御部２８に通知する（Ｓ３４）。
【００７７】
このように、受信したメッセージの切り分け条件を設定しておくことにより、メッセージに応じて適切な画面フローを自動的に判定することができるので、オペレータの工数を激減させることができる。また、オペレータの判定ミスを防止することができる。
【００７８】
図２６は、対応アクション制御の手順を示すフローチャートである。対応アクション制御部２８は、対応アクション判定部２６からフローＩＤを通知されると、フロー管理テーブル４８を参照して、最初に実行すべき画面部品のノードＩＤを取得する（Ｓ４０）。つづいて、対応アクション制御部２８は、フロー構成部品テーブル５０を参照して、取得したノードＩＤに該当する画面部品の部品ＩＤを取得する（Ｓ４２）。さらに、対応アクション制御部２８は、プロパティテーブル４４を参照して、取得した部品ＩＤの画面部品を構成する要素を読み出し、画面を構成して提示する（Ｓ４４）。
【００７９】
オペレータが、画面に提示された作業を実行し、その結果を入力して画面遷移を要求すると（Ｓ４６のＹ）、対応アクション制御部２８は、接続子テーブル４６を参照して、入力された結果に対応する接続子ＩＤを取得する（Ｓ４８）。つづいて、対応アクション制御部２８は、遷移テーブル５２を参照して、取得した接続子ＩＤに該当する遷移先の画面部品のノードＩＤを取得する（Ｓ５０）。このとき、ノードＩＤが指定されておらず、対応アクションを終了する旨のデータが格納されていた場合は（Ｓ５２のＹ）、対応アクションを終了して、作業の内容と結果を障害管理データベース３６に記録する。ノードＩＤが取得された場合は（Ｓ５２のＮ）、Ｓ４２に戻り、次の画面部品の部品ＩＤを取得して画面部品を実行し、画面を提示する。
【００８０】
ここで、図２に示した作業フローを提示する画面フローが、図８から図１７に示した構成により実現される過程を更に説明する。図２７は、図２に示した作業フローを提示するための画面フローを示す。まず、メッセージ受信部２２が、「Ａ社」の顧客システムの監視対象装置「NODEA01」から、プロセス「PROC01」の異常を示すメッセージを受信したとする。このとき、メッセージ解析部２４が、メッセージに含まれる装置ＩＤ「NODEA01」をキーにして、図９の顧客システムデータベース３２を検索し、このメッセージの発信元の顧客システムのシステムＩＤが「SYSA」であることを特定する。つづいて、メッセージ解析部２４は、図１１の切り分け条件テーブル４０を検索して、このメッセージが無視条件や自動処理条件に合致するか否かを判定するが、このメッセージは無視条件や自動処理条件に合致しないので、アラート通知部３０によりアラートが発せられる。
【００８１】
オペレータがアラートに気づいて対応作業を開始すると、対応アクション判定部２６は、図１１の切り分け条件テーブル４０を検索して、このメッセージが切り分けＩＤ「101」の切り分け条件に合致することを特定し、起動すべき画面フローのフローＩＤ「PROC01_RECOV_01」を対応アクション制御部２８へ通知する。対応アクション制御部２８は、図１５のフロー管理テーブル４８を参照して、システムＩＤが「SYSA」でフローＩＤが「PROC01_RECOV_01」の画面フローにおいて、最初に実行すべき画面部品のノードＩＤ「00001」を取得する。対応アクション制御部２８は、さらに、図１６のフロー構成部品テーブル５０を参照して、フローＩＤ「PROC01_RECOV_01」を構成する画面部品のうち、ノードＩＤが「00001」である画面部品の部品ＩＤ「PROC01_EXEC_CHECK」を取得する。対応アクション制御部２８は、部品ＩＤ「PROC01_EXEC_CHECK」の画面部品を実行するために、図１３のプロパティテーブル４４から、部品ＩＤが「PROC01_EXEC_CHECK」であるレコードを全て読み出し、それらの構成要素により画面を構成して提示する。こうして、図３の画面Ｄ１がオペレータに提示される。
【００８２】
オペレータが、画面Ｄ１に提示された指示を実行し、「自動復旧している」のラジオボタンを選択して「次へ」ボタンをクリックすると、対応アクション制御部２８は、「自動復旧している」のラジオボタンに割り当てられた接続子ＩＤ「１」を取得する。対応アクション制御部２８は、図１７の遷移テーブル５２を参照して、ノードＩＤが「00001」である画面部品において、接続子ＩＤ「１」の接続子に対応づけられた遷移先ノードＩＤ「00005」を取得する。対応アクション制御部２８は、さらに、図１６のフロー構成部品テーブル５０を参照して、ノードＩＤが「00005」である画面部品の部品ＩＤ「PROC01_REPORT」を取得する。対応アクション制御部２８は、部品ＩＤ「PROC01_REPORT」の画面部品を実行するために、図１３のプロパティテーブル４４から、画面の構成要素を読み出して画面を構成する。こうして、自動復旧していた場合の画面として、図７の画面Ｄ５がオペレータに提示される。
【００８３】
オペレータが、画面Ｄ１に提示された指示を実行し、「停止したまま」のラジオボタンを選択して「次へ」ボタンをクリックすると、対応アクション制御部２８は、「停止したまま」のラジオボタンに割り当てられた接続子ＩＤ「２」を取得する。対応アクション制御部２８は、図１７の遷移テーブル５２を参照して、ノードＩＤが「00001」である画面部品において、接続子ＩＤ「２」の接続子に対応づけられた遷移先ノードＩＤ「00002」を取得する。対応アクション制御部２８は、さらに、図１６のフロー構成部品テーブル５０を参照して、ノードＩＤが「00002」である画面部品の部品ＩＤ「PROC01_RECOVERY_SEARCH」を取得する。対応アクション制御部２８は、部品ＩＤ「PROC01_RECOVERY_SEARCH」の画面部品を実行するために、図１３のプロパティテーブル４４から、画面の構成要素を読み出して画面を構成する。こうして、プロセスが停止したままであった場合の画面として、図４の画面Ｄ２がオペレータに提示される。以降、同様にして、図２７に示した画面フローの画面部品が順次実行され、図３から図７に示した画面のいずれかが提示される。
【００８４】
このように、複数の画面部品を適宜組み合わせ、作業の結果に応じて次に実行すべき画面部品を指定可能であるので、画面フローの設計が容易となり、設計の工数を削減することができる。また、柔軟な画面の流れを定義することが可能となり、より適切な作業の流れを表現することができる。また、個々の画面部品についても、用意された構成要素を配置して画面を設計することができるので、画面の設計が容易となり、工数を削減することができる。
【００８５】
つづいて、画面フローを生成、編集する機能について説明する。上述したように、画面フローは、複数の画面部品を含んでおり、それらの画面部品の間で遷移関係と遷移条件を定義することにより、一連の作業フローを提示するための画面フローが実現される。
【００８６】
図２８は、フロー編集ユニットの構成を示す。フロー編集ユニット７０は、フロー編集装置の一例であり、画面フローを編集するためのグラフィカルユーザインタフェイス（Graphical User Interface：ＧＵＩ）を提供する。フロー編集ユニット７０は、画面のフローを有向グラフの形式で視覚化して編集画面に表示し、マウスなどのポインティングデバイスによるユーザの編集操作を受け付け、画面フローを構成する画面部品の構成、遷移関係などを編集する。フロー編集ユニット７０は、図８に示した監視装置２０の内部に設けられてもよいし、監視装置２０のメンテナンス用のアプリケーションとして、監視装置２０の機能を実現するアプリケーションとは別個に設けられてもよい。
【００８７】
フロー編集ユニット７０は、画面フローの名称、画面フローを使用するシステムのＩＤ、分類、備考などの基本情報を受け付け、フロー管理テーブル４８に格納する。フロー編集ユニット７０は、編集画面表示部７１、部品検索部７２、部品編集部７４、部品組込部７６、遷移先設定部７８を含む。まず、図２９から図３１を参照して編集の手順を説明した後、個々の構成の機能を整理することにする。
【００８８】
図２９は、フロー編集ユニット７０が提示する画面フローの編集画面の例を示す。図２９は、画面フローを新規に作成するときに提示される編集画面９０を示す。編集される画面フローには、まだ画面部品が組み込まれていないので、有向グラフは表示されていない。画面左側のボタン９１をクリックすると、画面部品の検索画面が表示される。「ＭｙＤｏｃｋ」画面９９には、よく使用する画面部品を登録できるようになっており、登録された画面部品の一覧が表示される。編集画面の左上には、表示の縮尺を変更するためのスライドバーが設けられており、自由に縮尺を変更して編集画面に表示させることができる。また、巨大なフローの一部が編集画面に表示されている場合に、フロー全体における現在表示中の位置が提示される。
【００８９】
図３０は、部品検索部７２が提示する画面部品の検索画面の例を示す。ユーザが検索画面９２において検索条件を入力して検索を要求すると、部品検索部７２は、部品管理テーブル４２を参照して、検索条件に合致する画面部品をリストにして検索結果画面９３に表示する。このリストの中から、又は、「ＭｙＤｏｃｋ」画面９９に登録された画面部品の中から、ユーザが画面フローに組み込みたい画面部品を編集画面９０にドラッグアンドドロップすると、部品組込部７６がこの編集操作を受け付け、その画面部品を編集中の画面フローに組み込む。編集画面表示部７１は、組み込まれた画面部品のノードと、その画面部品に定義された接続子の数のエッジを編集画面９０に表示する。図３０の編集画面９０において、画面部品を示すノード９４は四角形で示され、四角形の内部には、その画面部品のＩＤ及び名称が表示されている。四角形の下部には、画面部品に定義された接続子に対応するエッジが表示されている。エッジの近傍にポインタがロールオーバーしたときに、そのエッジの接続子名称などを表示してもよい。画面フローを構成する画面部品の情報は、フロー構成部品テーブル５０に格納される。
【００９０】
図３１は、画面の遷移関係が設定される様子を示す。編集画面９０において、ユーザがポインティングデバイスなどを用いて、ノード９５に対応する画面部品から出ている２本のエッジのうち、接続子ＩＤ「１」に対応するエッジ９７の矢印の終点をドラッグし、画面部品を示すノード９６にドロップすると、矢印の始点のノード９５に対応する画面部品に定義された接続子ＩＤ「１」の接続子の遷移先として、ノード９６に対応する画面部品が設定される。この情報は、遷移テーブル５２に格納される。また、画面フローの最初に実行される画面部品の情報はフロー管理テーブル４８に格納される。
【００９１】
図２８に戻り、各構成の動作及び機能を整理する。編集画面表示部７１は、画面フローを構成する画面部品をノードとする有向グラフを生成して編集画面に表示し、ユーザから画面フローに対する編集操作を受け付ける。編集画面表示部７１は、画面部品に対応するノードを四角形や円などの図形を用いて表示し、画面の遷移関係を示すエッジを矢印などの図形を用いて表示してもよい。編集画面表示部７１は、画面部品に対応するノードを示す図形の内部に、その画面部品のＩＤ又は名称などを表示してもよい。編集画面表示部７１は、画面の遷移関係を示すエッジの近傍に、そのエッジに対応する遷移条件、接続子の名称、又は接続子ＩＤなどを表示してもよい。編集画面表示部７１は、エッジの近傍にポインタがロールオーバーしたときに、そのエッジの接続子名称などを表示してもよい。
【００９２】
部品検索部７２は、ユーザから画面部品の検索条件を受け付けるための画面を提示し、ユーザから検索条件を受け付けると、アクション定義データベース３４の部品管理テーブル４２に登録されている画面部品の中から、ユーザが指定した検索条件に合致する画面部品を検索して提示する。部品編集部７４は、画面部品の基本情報や構成要素を編集するためのユーザインタフェイスを提示し、ユーザから編集操作を受け付ける。部品編集部７４は、画面部品の基本情報が編集されると、アクション定義データベース３４の部品管理テーブル４２の該当項目を変更する。部品編集部７４は、画面部品の構成要素が編集されると、アクション定義データベース３４のプロパティテーブル４４の該当項目を変更する。部品編集部７４は、画面部品の遷移条件や接続子の数などが編集されると、アクション定義データベース３４の接続子テーブル４６の該当項目を変更する。
【００９３】
部品組込部７６は、ユーザから画面フローに組み込む画面部品の指定を受け付け、指定された画面部品を示すノードを、編集画面に表示された画面フローの有向グラフに追加するよう編集画面表示部７１に指示する。部品組込部７６は、部品検索部７２が提示した検索結果画面に提示された画面部品を、画面フローの有向グラフを表示した画面フローの編集画面にドラッグアンドドロップする操作により、画面部品を画面フローに組み込む指示を受け付けてもよい。部品組込部７６は、画面部品のＩＤ、名前などを直接受け付けて、画面フローに組み込む画面部品を特定してもよい。部品組込部７６は、画面フローに組み込む画面部品の指定を受け付けると、その画面部品に対してノードＩＤを割り当て、フロー構成部品テーブル５０に登録する。
【００９４】
編集画面表示部７１は、部品組込部７６から、画面部品を画面フローに組み込む指示を受け付けると、その画面部品に対応するノードを有向グラフに追加する。このとき、編集画面表示部７１は、部品組込部７６から画面部品を特定する情報を取得し、その画面部品のＩＤ又は名称を部品管理テーブル４２から読み出して、ノードを示す図形の内部に表示してもよい。また、その画面部品に定義された接続子の数を接続子テーブル４６から読み出して、その数のエッジをノードとともに表示してもよい。また、それぞれの接続子に対応する遷移条件、接続子の名称、又は接続子ＩＤを接続子テーブル４６から読み出して、エッジの近傍に表示してもよい。
【００９５】
遷移先設定部７８は、画面フローを構成する画面部品をノードとする有向グラフが表示された編集画面において、ノード間をエッジで結ぶ編集操作を受け付けると、エッジで結ばれたノードに対応する画面部品間における遷移関係を設定する。遷移先設定部７８は、あるノードから出ているエッジの終点を他のノードに結ぶ編集操作を受け付けると、そのエッジの始点のノードに対応する画面部品から、そのエッジの終点に結ばれたノードに対応する画面部品への遷移を、遷移テーブル５２に設定するようにしてもよい。このとき、そのエッジに対応づけられた接続子ＩＤ又は遷移条件に合致したときの遷移先として、エッジの終点に結ばれたノードに対応する画面部品を設定してもよい。
【００９６】
フロー編集ユニット７０は、画面フローの編集終了時に又は編集中にユーザから設定情報の保存を要求されると、フロー管理テーブル４８、フロー構成部品テーブル５０、及び遷移テーブル５２に、必要な情報を格納する。
【００９７】
このように、画面フローを有向グラフを用いて表示し、有向グラフに対するユーザの編集操作を受け付けて画面フローを編集することが可能なグラフィカルユーザインタフェイスを提供する。これにより、ユーザは視覚的に分かりやすい方法で容易に画面フローを生成、編集することができる。監視装置２０を新規導入する際に、標準的な障害対応作業を提示する画面フローが予め登録されていてもよい。監視装置２０の管理者は、画面フロー編集機能を用いて、顧客システムに応じた作業の内容に合うように画面フローをカスタマイズすればよい。これにより、監視システムの品質及び信頼性を向上させることができる。
【００９８】
監視装置２０において、対応アクション制御部２８が画面フローをオペレータに提示するときに、フロー編集ユニット７０により生成された有向グラフを提示し、その画面フローのうち現在提示されている画面を、他の画面と識別可能に提示してもよい。例えば、現在表示されている画面に対応するノードを示す図形の表示色を他のノードの図形とは異なる色に変更するなどして強調表示してもよい。また、画面フローにおいて、現在の画面に至るまでに提示された画面の経路を強調表示してもよい。
【００９９】
図３２は、監視装置２０が画面フローを提示する画面の例を示す。図３２に示した画面Ｄ３には、図５に示した画面Ｄ３に加えて、画面の左下に、実行中の画面フローの全容を示す有向グラフＤ０が表示されており、その中で、既に表示された画面を示すノードとエッジが太い線で表示されており、現在表示されている画面を示すノードは斜線を付して表示されている。これにより、オペレータは、画面フローの全容と現在の進行状況を容易に把握することができる。画面フローの全容を示す有向グラフＤ０は、画面Ｄ３とは別のウインドウに表示されてもよい。
【０１００】
対応アクション制御部２８は、フロー構成部品テーブル５０及び遷移テーブル５２を参照して、画面フローの全容を示す有向グラフＤ０を新たに生成して提示してもよいし、フロー編集ユニット７０により画面フローが編集されたときの編集画面に提示されていた有向グラフを保持しておき、画面フローを提示するときに合わせて提示してもよい。後者の場合、フロー編集ユニット７０は、画面フローを生成、編集したときに、フロー管理テーブル４８及びフロー構成部品テーブル５０に、有向グラフにおける各画面部品のノードの位置を示す座標をさらに格納しておいてもよい。対応アクション制御部２８は、この座標をフロー管理テーブル４８及びフロー構成部品テーブル５０から読み出して、画面フローの有向グラフＤ０を表示すればよい。
【０１０１】
なお、例えば、専門家などに指示を仰いだ後に実行する作業などは、事前に予測することができないので、障害対応作業の終了までの画面フローを定義できない場合もある。また、さまざまな作業の選択肢を考慮した画面フローを用意するとすれば、画面フローが肥大化し、画面を部品化したメリットが薄れてしまう。このような場合を考慮して、指示された内容に応じて別の画面フローへ移行するためのインタフェイスを備えた画面部品を用意しておいてもよい。この画面部品を「対応クラウド部品」と呼ぶ。図７に示した障害報告画面Ｄ５において、「確認」という項に設けられた多数のラジオボタンは、別の画面フローを起動するためのインタフェイスに当たる。オペレータが、例えば電話連絡した相手から「手順書実行」を指示されると、「手順実行」のラジオボタンを選択して次画面へ遷移する。対応アクション制御部２８は、「手順書実行」の接続子に対応づけられた画面フローを起動し、画面を提示する。遷移した後の画面フローにおいても、オペレータが行った作業の内容は障害管理データベース３６に記録されるので、作業の終了までを定義していないような画面フローを実行する場合であっても、実際に行った作業の内容は自動的に記録される。この履歴を後から参照して、適切な画面フローを設計することもできる。
【０１０２】
（第２の実施の形態）
本実施の形態では、従来オペレータが行っていた作業の一部を自動化し、オペレータの手を介さずに適切な作業を自動的に実行することにより、オペレータの作業負担を大幅に軽減する技術を提案する。
【０１０３】
具体的には、第１の実施の形態と同様に、実行すべき作業の内容を判定するための切り分け条件と、その切り分け条件に合致したときに実行すべき作業のフローを予め設定しておき、受信したメッセージに応じて、実行すべき作業のフローを判定する。このフローは、自動電話、自動メール、自動コマンド発行など、自動的に実行可能な作業の単位であるアクション部品の組合せにより構成される。以下、アクション部品を組み合わせて構成される作業のフローのことを「アクションフロー」と呼ぶ。アクションフローでは、自動的に実行された作業の結果などに基づいて、次に実行すべきアクション部品への遷移が定義される。本実施の形態の監視装置２０は、監視対象装置などから発信されたメッセージを受信すると、切り分け条件にしたがって適切なアクションフローを起動する。起動されたアクションフローは、個々のアクション部品の作業の結果に応じて、次に実行すべきアクション部品を順次判定し、オペレータに代わって障害対応作業を実行する。
【０１０４】
図３３は、プロセスの異常を示すメッセージを受信したときに、従来、オペレータが実行すべき作業のフローの例を示す。プロセスの異常を示すメッセージを受信すると、オペレータは、サービスの状態を調査するためのコマンドを発行する（Ｓ２１０）。サービスの状態が正常であれば（Ｓ２１２のＹ）、正常であることを通知するための電子メールを適切な連絡先へ送信する（Ｓ２１４）。サービスの状態が正常でなければ（Ｓ２１２のＮ）、つづいて、オペレータは、サービスを復旧させるためのコマンドを発行する（Ｓ２２０）。復旧コマンドの戻り値が正常でなければ（Ｓ２２２のＮ）、復旧に失敗したことを通知するための電子メールを適切な連絡先へ送信する（Ｓ２２４）とともに、適切な連絡先へ電話で連絡する（Ｓ２２６）。
【０１０５】
復旧コマンドの戻り値が正常であれば（Ｓ２２２のＹ）、つづいて、オペレータは、復旧コマンドによりプロセスが正常に復旧されたことを確認するために、再び調査コマンドを発行する（Ｓ２３０）。調査コマンドの戻り値が正常であれば（Ｓ２３２のＹ）、復旧に成功したことを通知するための電子メールを適切な連絡先へ送信する（Ｓ２３８）。調査コマンドの返値が正常でなければ（Ｓ２３２のＮ）、復旧に失敗したことを通知するための電子メールを適切な連絡先へ送信する（Ｓ２３４）とともに、適切な連絡先へ電話で連絡する（Ｓ２３６）。
【０１０６】
本実施の形態では、図３３に示したような、従来オペレータの手で実行されていた作業を、監視装置２０が自動的に実行する。監視装置２０により実行されるアクションフローは、アクション部品を組み合わせて構成される。図３４は、図３３に示した作業を自動的に実行するアクションフローの例を示す。図３３に示した障害対応作業を構成する個々の作業がアクション部品により実現されている。アクション部品を示す長方形の内部に示される文字列は、上段がアクション部品の名称を示し、下段はアクション部品のＩＤを示す。また、左上の四角形の内部の数字は、アクションフローにおけるアクション部品の遷移を定義するときに個々のアクション部品を識別するためのノードＩＤを示す。右上の四角形の内部の文字列は、アクション部品の区分を示す。
【０１０７】
このようなアクションフローを構築するために、個々の作業を実行するためのアクション部品がカスタマイズ可能に用意されている。後述するように、顧客システムごとに作業内容が異なる場合には、アクション部品を適宜カスタマイズすることにより、顧客システムごとの作業内容に応じたアクションフローを準備することができる。監視装置２０には、アクションフローにおけるアクション部品の実行順序を定義するためのテーブルが用意されており、それぞれのアクション部品の接続子に、次に実行すべきアクション部品を設定することにより、適切な障害対応のアクションフローを構築することができる。
【０１０８】
このように、実行すべき作業の流れを予め定義しておき、個々の作業の結果に基づいて次に実行する作業を自動的に判定するので、オペレータは、メッセージが提示される度に分厚いマニュアルを開いて対応を調べる手間から解放される。したがって、オペレータの作業を飛躍的に効率化することができる。
【０１０９】
つづいて、本実施の形態の監視装置２０の構成と動作について説明する。
【０１１０】
図３５は、本実施の形態の監視装置２０の内部構成を示す。本実施の形態の監視装置２０は、図８に示した第１の実施の形態の監視装置２０の構成に加えて、コマンド発行制御部８０、自動電話発信制御部８２、自動メール送信制御部８４、及びコマンド実行結果管理データベース８６を更に含む。これらの構成も、ハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。以下、第１の実施の形態と異なる点を中心に説明する。
【０１１１】
対応アクション制御部２８は、アクション定義データベース３４を参照して、対応アクション判定部２６により判定されたアクションフローを実行する。対応アクション制御部２８は、アクション部品による作業の結果を取得し、その結果に基づいて次のアクション部品へ遷移させるとともに、作業の内容と結果を障害管理データベース３６に履歴として記録する。対応アクション制御部２８は、アクションフローの実行中に異常が発生した場合などに、アラート通知部３０によりアラートを通知し、以降の作業の実施をオペレータに促してもよい。
【０１１２】
コマンド発行制御部８０は、コマンドの自動発行を制御する。後述するように、アクション定義データベース３４には、それぞれのネットワークシステム１２の管理装置１６や監視対象装置１４が実行可能なコマンドが部品として登録されている。コマンド発行制御部８０は、アクション定義データベース３４に格納されたコマンドの発行をコマンドの実行主体に指示する。このとき、コマンド発行制御部８０は、コマンドごとに識別番号を採番し、コマンド実行結果管理データベース８６に登録しておく。そして、コマンドの実行結果をコマンドの実行主体から受領すると、その実行結果に付された識別番号からコマンドを特定し、コマンド実行結果管理データベース８６に実行結果を登録する。これにより、非同期的なコマンドの発行制御が可能となり、複数のコマンドを並行して実行させることができる。コマンド実行結果管理データベース８６は、コマンド発行制御部８０が発行したコマンドと実行結果の履歴を格納する。自動電話発信制御部８２は、登録された連絡先に対して自動的に電話を発信し、必要な情報を読み上げて連絡先に伝達する。自動メール送信制御部８４は、メールテンプレートを用いて電子メールを自動的に編集し、登録されたメールアドレスに宛てて送信する。
【０１１３】
顧客システムデータベース３２の内部データは、第１の実施の形態と同様である。本実施の形態においても、メッセージ解析部２４は、メッセージ受信部２２が受信したメッセージ中の監視対象装置名をもとに、顧客システムデータベース３２を参照してメッセージの発信元のシステムＩＤを特定し、顧客システムを特定する。監視装置２０が、複数の顧客システムから発信されるメッセージを統合的に管理する場合であっても、メッセージの発信元の顧客システムのシステムＩＤを的確に特定することができ、顧客システム毎に適切な対応を行うことができる。
【０１１４】
アクション定義データベース３４のテーブル構成も、第１の実施の形態と同様である。以下、個々のテーブルの内部データについて、第１の実施の形態と異なる点を中心に説明する。
【０１１５】
図３６は、切り分け条件テーブル４０の内部データの例を示す。切り分け条件テーブル４０は、受信したメッセージに対して適切な対応アクションを判定するために、メッセージを切り分けるための条件を格納する。内部データの構成は、図１１に示した第１の実施の形態の切り分け条件テーブル４０と同様であるが、アクション区分欄１１８に格納されるアクション区分として、「アクションフロー」が指定可能になっており、フローＩＤ欄１１９には、アクション区分が「アクションフロー」である切り分け条件に合致したときに実行すべきアクションフローのＩＤが格納される。
【０１１６】
対応アクション判定部２６は、切り分け条件テーブル４０の条件（メッセージＩＤ）欄１１５、条件（ノードＩＤ）欄１１６、及び条件（内容）欄１１７を参照して、受信したメッセージが合致する切り分け条件のうち優先順位が最も高いものを対応アクションとして判定する。合致した切り分け条件のアクション区分が「５（アクションフロー）」であった場合は、対応アクション判定部２６は、対応アクション制御部２８に、実行すべきアクションフローのＩＤを通知する。対応アクション制御部２８は、アクションフローＩＤで特定されるアクションフローを自動的に実行する。
【０１１７】
例えば、図３６の例では、システムＩＤが「SYSA」の顧客システムから、ノードＩＤが「NODEA01」で、かつ、正規表現で「*異常*(PROC10)*」という文字列を含むメッセージを受信したとき、切り分け条件ＩＤ「102」の切り分け条件が適用され、フローＩＤ「PROC10_RECOV_01」のアクションフローが起動される。このアクションフローは、図３４に示したアクションフローである。
【０１１８】
図３７は、部品管理テーブル４２の内部データの例を示す。部品管理テーブル４２は、監視装置２０により自動的に実行されるアクションフローで使用されるアクション部品の一覧とそれらの基本情報を格納する。内部データの構成は、図１２に示した第１の実施の形態の部品管理テーブル４２と同様である。アクション部品の区分には、例えば、「コマンド部品」、「自動電話部品」、「自動メール部品」などがある。
【０１１９】
一例として、システムＩＤ「SYSA」の顧客システムで用いられる部品ＩＤ「PROC10_EXEC_CHECK」のアクション部品は、部品区分が「コマンド部品」であり、部品名称が「PROC10サービス稼働状況確認」である。このアクション部品は、図３４に示した、図３３の調査コマンド発行作業（Ｓ２１０）を実行するアクション部品である。
【０１２０】
コマンド部品が実行するコマンドには、「ping」など、監視装置２０自身が実行可能なコマンドと、プロセスの再起動やＣＰＵ稼働率の調査など、管理装置１６又は監視対象装置１４が実行主体となるコマンドがある。
【０１２１】
図３８は、プロパティテーブル４４の内部データの例を示す。プロパティテーブル４４は、アクション部品を構成する要素のプロパティ情報を格納する。内部データの構成は、図１３に示した第１の実施の形態のプロパティテーブル４４と同様であるが、部品ＩＤ欄１３１には、アクション部品のＩＤが、キー欄１３２は、アクション部品に設定するプロパティ情報の種別が、設定値欄１３３には、キー欄１３２に格納されたプロパティ情報の種別に応じて、必要な設定値が格納される。
【０１２２】
例えば、部品ＩＤ「PROC10_EXEC_CHECK」のコマンド部品のプロパティ情報として、キー「01A」はコマンドＩＤを示し、設定値「COM_PROC10_CHECK」が設定されている。また、キー「01B」はコマンドの引数を示すが、このコマンドでは設定されていない。対応アクション制御部２８は、実行するアクション部品の部品ＩＤをもとに、プロパティテーブル４４を検索し、そのアクション部品に設定されたプロパティ情報を読み出して、アクション部品を実行する。このような構成により、コマンド引数などのプロパティ情報を容易にカスタマイズすることが可能となり、アクションフローの設計や変更の際の効率を向上させることができる。
【０１２３】
図３９は、接続子テーブル４６の内部データの例を示す。接続子テーブル４６は、あるアクション部品から複数のアクション部品へ遷移する可能性がある場合に、それぞれの遷移先を定義するために、アクション部品に設定可能な接続子の情報を格納する。内部データの構成は、図１４に示した第１の実施の形態の接続子テーブル４６と同様である。
【０１２４】
一例として、部品ＩＤ「PROC10_EXEC_CHECK」のアクション部品、すなわち、図３４に示したアクションフローにおける最初のアクション部品には、接続子ＩＤ「１」と「２」の２つの接続子が用意されている。接続子ＩＤは、アクション部品の実行主体であるコマンド発行制御部８０、自動電話発信制御部８２、自動メール送信制御部８４などが、アクション部品の実行結果を対応アクション制御部２８へ通知するための戻り値（リターンコード）であってもよく、例えば、アクション部品が正常に終了したときは「１」、異常終了したときは「２」を接続子ＩＤとして通知してもよい。
【０１２５】
図４０は、フロー管理テーブル４８の内部データの例を示す。フロー管理テーブル４８は、監視装置２０により実行されるアクションフローの一覧とそれらの基本情報を格納する。内部データの構成は、図１５に示した第１の実施の形態のフロー管理テーブル４８と同様である。
【０１２６】
対応アクション制御部２８は、対応アクション判定部２６により起動すべきアクションフローが判定されると、そのアクションフローのＩＤをもとに、フロー管理テーブル４８を参照して、最初に実行すべきアクション部品のノードＩＤを取得する。例えば、図４０の例では、システムＩＤ「SYSA」の顧客システムにおいて、フローＩＤ「PROC10_RECOV_01」のアクションフローを起動するとき、最初に実行するアクション部品のノードＩＤは「00001」である。ノードＩＤと、部品ＩＤとの対応は、図４１に示すフロー構成部品テーブル５０に格納されている。
【０１２７】
図４１は、フロー構成部品テーブル５０の内部データの例を示す。フロー構成部品テーブル５０は、それぞれのアクションフローで用いられるアクション部品の一覧と、それらの基本情報を格納する。内部データの構成は、図１６に示した第１の実施の形態のフロー構成部品テーブル５０と同様である。
【０１２８】
対応アクション制御部２８は、次に実行すべきアクション部品のノードＩＤを図４０のフロー管理テーブル４８又は図４２の遷移テーブル５２を参照して特定すると、ノードＩＤをもとにフロー構成部品テーブル５０を参照して、そのアクション部品の部品ＩＤを取得する。
【０１２９】
例えば、図４１の例では、フローＩＤ「PROC10_RECOV_01」のアクションフローには、部品ＩＤが「PROC10_EXEC_CHECK」、「PROC10_RECOVERY」、「AUTO_MAIL_001」、「AUTO_TEL_001」などのアクション部品が含まれており、それぞれにノードＩＤが割り当てられている。これらのアクション部品の遷移関係は、図４２に示す遷移テーブル５２に格納されている。
【０１３０】
図４２は、遷移テーブル５２の内部データの例を示す。遷移テーブル５２は、アクションフローにおけるアクション部品の遷移を定義するための情報を格納する。内部データの構成は、図１７に示した第１の実施の形態の遷移テーブル５２と同様である。
【０１３１】
対応アクション制御部２８は、コマンド発行制御部８０、自動電話発信制御部８２、自動メール送信制御部８４などによる作業結果を示す接続子ＩＤをもとに、遷移テーブル５２を参照して、遷移先ノードＩＤを取得する。
【０１３２】
例えば、図４２の例では、ノードＩＤが「00001」のアクション部品、すなわち、図４１を参照すると、部品ＩＤが「PROC10_EXEC_CHECK」であるアクション部品の遷移先として、２つのアクション部品が設定されている。接続子ＩＤ「１」、すなわち、作業が正常終了した場合の遷移先は、ノードＩＤが「00003」のアクション部品、すなわち、図４１を参照すると、部品ＩＤが「AUTO_MAIL_001」であるアクション部品「障害自動復旧メール」が設定されている。接続子ＩＤ「２」、すなわち、作業が異常終了した場合の遷移先は、ノードＩＤが「00002」のアクション部品、すなわち、図４１を参照すると、部品ＩＤが「PROC10_RECOVERY」であるアクション部品「PROC10プロセス復旧」が設定されている。
【０１３３】
連絡先データベース３８のテーブル構成、及びそれぞれのテーブルの内部データの構成は、第１の実施の形態と同様である。これらの情報は、「自動メール部品」、「自動電話部品」などのアクション部品において、適切な連絡先を予めアクション部品に設定しておき、自動的にメールや電話を発信するために用いられる。
【０１３４】
自動電話発信制御部８２及び自動メール送信制御部８４は、自動電話部品又は自動メール部品に連絡先ブロックが指定されている場合、連絡先ブロックテーブル５８を参照して有効開始日を確認し、後述する電話連絡先順位テーブル６０又はメール宛先テーブル６２を参照して、その連絡先ブロックに属する連絡先を取得する。
【０１３５】
自動メール送信制御部８４は、自動メール部品のプロパティとしてメールテンプレートが指定されている場合、該当するメールテンプレートの本文をメールテンプレートテーブル５４を参照して取得し、その本文の内容を読み出して電子メールに設定する。
【０１３６】
自動電話発信制御部８２は、自動電話部品のプロパティとして連絡先が指定されている場合、該当する連絡先の電話番号を、連絡先管理テーブル５６を参照して取得し、その番号を自動的に発呼して、設定されたテキストを読み上げる。自動メール送信制御部８４は、自動メール部品のプロパティとして連絡先が指定されている場合、該当する連絡先のメールアドレスを、連絡先管理テーブル５６を参照して取得し、そのメールアドレスに宛てて自動的にメールを送信する。
【０１３７】
このように、連絡先を予め登録し、アクション部品のプロパティとして設定できるようにしておくことにより、受信したメッセージや作業の内容に応じて適切な連絡先を自動的に選択して発信することができる。これにより、オペレータが連絡先を調べる手間を省き、工数を削減させることができる。
【０１３８】
図４３は、メッセージを受信してから解析するまでの手順を示すフローチャートである。
メッセージ受信部２２が監視対象システム１０から発信された障害メッセージを受信すると（Ｓ１０）、メッセージ解析部２４は、顧客システムデータベース３２を参照して、受信したメッセージがいずれの顧客システムから発信されたものであるかを特定する（Ｓ１２）。顧客システムが特定されると、その顧客システムに対して設定されたアクション定義データベース３４の切り分け条件テーブル４０を参照して、受信したメッセージが０次切り分け条件に合致するかマッチングする（Ｓ１４）。無視条件のポリシーに合致する場合（Ｓ１６のＹ）、メッセージ解析部２４は、そのメッセージを無視障害として障害管理データベース３６に登録し（Ｓ２０）、そのメッセージに対する処理を終了する。無視条件のポリシーに合致しない場合（Ｓ１６のＮ）、メッセージ解析部２４は、そのメッセージを障害として障害管理データベース３６に登録する（Ｓ１８）。受信したメッセージが自動処理条件のポリシーに合致する場合（Ｓ２２のＹ）、メッセージ解析部２４は、自動電話、自動メール、自動コマンドなどの自動処理を実行させる（Ｓ２４）。自動処理条件にも合致しなかった場合（Ｓ２２のＮ）、図４４に示す対応アクション判定処理へ移る。第１の実施の形態では、オペレータにアラートを通知したが、本実施の形態では、オペレータの介在なしにアクションフローを自動実行するので、ここではアラートを通知しなくてもよい。
【０１３９】
このように、まず、顧客システムを特定し、顧客システム毎に設定されたアクション定義データベース３４を適用することにより、顧客システムごとに適切にメッセージをフィルタリングすることができる。また、顧客システム毎に対応策が異なる場合であっても、障害が発生した顧客システムに応じた適切な対応策をアクションフローとして自動的に実行することができる。
【０１４０】
図４４は、対応アクション判定の手順を示すフローチャートである。対応アクション判定部２６は、アクション定義データベース３４の切り分け条件テーブル４０を参照して、受信したメッセージが合致する１次切り分け条件を検索する（Ｓ３０）。切り分け条件のポリシーに合致しない場合（Ｓ３２のＮ）、対応アクション判定部２６は、アラート通知部３０によりアラートを通知し、オペレータに障害対策作業を委譲する（Ｓ３８）。切り分け条件のポリシーに合致した場合（Ｓ３２のＹ）、対応アクション判定部２６は、合致した切り分け条件のうち優先順位が最も高いものを、対応アクションとして判定し、そのアクション区分が「５（アクションフロー）」であった場合は、フローＩＤを取得して対応アクション制御部２８に通知する（Ｓ３４）。
【０１４１】
このように、受信したメッセージの切り分け条件を設定しておくことにより、メッセージに応じて適切なアクションフローを自動的に判定することができるので、オペレータの工数を激減させることができる。また、オペレータの判定ミスを防止することができる。
【０１４２】
図４５は、対応アクション制御の手順を示すフローチャートである。対応アクション制御部２８は、対応アクション判定部２６からフローＩＤを通知されると、フロー管理テーブル４８を参照して、最初に実行すべきアクション部品のノードＩＤを取得する（Ｓ４０）。つづいて、対応アクション制御部２８は、フロー構成部品テーブル５０を参照して、取得したノードＩＤに該当するアクション部品の部品ＩＤを取得する（Ｓ４２）。さらに、対応アクション制御部２８は、プロパティテーブル４４を参照して、取得した部品ＩＤのアクション部品のプロパティ情報を読み出し、実行すべきアクション部品が「コマンド部品」であればコマンド発行制御部８０へ、「自動電話部品」であれば自動電話発信制御部８２へ、「自動メール部品」であれば自動メール送信制御部８４へ、アクション部品の実行を指示する（Ｓ４５）。
【０１４３】
コマンド発行制御部８０、自動電話発信制御部８２、又は自動メール送信制御部８４がアクション部品を実行し、その結果を対応アクション制御部２８に通知すると（Ｓ４７のＹ）、対応アクション制御部２８は、接続子テーブル４６を参照して、通知された結果に対応する接続子ＩＤを取得する（Ｓ４８）。対応アクション制御部２８に接続子ＩＤが通知される場合は、このステップは省略されてもよい。つづいて、対応アクション制御部２８は、遷移テーブル５２を参照して、取得した接続子ＩＤに該当する遷移先のアクション部品のノードＩＤを取得する（Ｓ５０）。このとき、ノードＩＤが指定されておらず、対応アクションを終了する旨のデータが格納されていた場合は（Ｓ５２のＹ）、対応アクションを終了して、作業の内容と結果を障害管理データベース３６に記録する。ノードＩＤが取得された場合は（Ｓ５２のＮ）、Ｓ４２に戻り、次のアクション部品の部品ＩＤを取得して、アクション部品を実行する。
【０１４４】
図４６は、コマンド発行制御部８０の動作を示すフローチャートである。コマンド発行制御部８０は、対応アクション制御部２８からコマンドの自動発行を指示されると、コマンドを識別するためのコマンド発行番号を採番し（Ｓ６０）、コマンドの発行を管理装置１６などに指示する（Ｓ６２）。コマンド発行制御部８０は、発行を指示したコマンドの種別、システムＩＤ、日時などの情報を、採番したコマンド発行番号と対応づけてコマンド実行結果管理データベース８６に登録する（Ｓ６４）。コマンドの発行を指示された管理装置１６などは、そのコマンドを発行し、実行結果を取得すると、監視装置２０へ送信する。コマンド発行制御部８０は、コマンドの実行結果を受信すると（Ｓ６６）、その実行結果に付されたコマンド発行番号をもとにコマンド実行結果管理データベース８６を検索し、いずれのコマンドの実行結果であるかを特定する。コマンド発行制御部８０は、コマンドの実行結果をコマンド実行結果管理データベース８６に登録するとともに、対応アクション制御部２８に通知する（Ｓ６８）。このように、コマンド実行結果管理データベース８６によりコマンド発行番号を管理することにより、複数のコマンドを並列して実行させることができる。
【０１４５】
図４７は、自動電話発信制御部８２の動作を示すフローチャートである。自動電話発信制御部８２は、対応アクション制御部２８から電話の自動発信を指示されると、連絡先データベース３８から発信すべき電話番号を取得して、自動電話プログラムなどに電話の発信を指示する（Ｓ７０）。自動電話プログラムとしては、既知の技術を利用可能である。自動電話プログラムは、指示された電話番号に発呼し（Ｓ７２）、所定のテキスト情報を読み上げる（Ｓ７４）。このテキスト情報は、対応アクション制御部２８がアクション定義データベース３４や障害管理データベース３６などを参照して生成し、自動電話発信制御部８２に通知する。自動電話プログラムは、自動電話の結果、すなわち、発呼が成功したか否かを自動電話発信制御部８２に通知する。自動電話発信制御部８２は、自動電話プログラムから結果を受領すると（Ｓ７６）、それを対応アクション制御部２８に通知する。
【０１４６】
図４８は、自動メール送信制御部８４の動作を示すフローチャートである。自動メール送信制御部８４は、対応アクション制御部２８からメールの自動送信を指示されると、連絡先データベース３８から送信すべきメールアドレスと、メールテンプレートを取得して、電子メールを編集する（Ｓ８０）。自動メール送信制御部８４は、編集した電子メールを送信し（Ｓ８２）、送信結果を判定して（Ｓ８４）、対応アクション制御部２８に通知する。
【０１４７】
ここで、図３３に示した作業フローを実行するための、図３４に示したアクションフローが、図３５から図４２に示した構成により実現される過程を更に説明する。まず、メッセージ受信部２２が、「Ａ社」の顧客システムのノード「NODEA01」から、プロセス「PROC10」の異常を示すメッセージを受信したとする。このとき、メッセージ解析部２４が、メッセージに含まれるノードＩＤ「NODEA01」をキーにして、図９の顧客システムデータベース３２を検索し、このメッセージの発信元の顧客システムのシステムＩＤが「SYSA」であることを特定する。つづいて、メッセージ解析部２４は、図３６の切り分け条件テーブル４０を検索して、このメッセージが無視条件や自動処理条件に合致するか否かを判定するが、このメッセージは無視条件や自動処理条件に合致しないので、対応アクション判定部２６にメッセージの受信が通知される。
【０１４８】
対応アクション判定部２６は、図３６の切り分け条件テーブル４０を検索して、このメッセージが切り分けＩＤ「102」の切り分け条件に合致することを特定し、起動すべきアクションフローのフローＩＤ「PROC10_RECOV_01」を対応アクション制御部２８へ通知する。対応アクション制御部２８は、図４０のフロー管理テーブル４８を参照して、システムＩＤが「SYSA」でフローＩＤが「PROC10_RECOV_01」のアクションフローにおいて、最初に実行すべきアクション部品のノードＩＤ「00001」を取得する。対応アクション制御部２８は、さらに、図４１のフロー構成部品テーブル５０を参照して、フローＩＤ「PROC10_RECOV_01」のアクションフローに含まれるアクション部品のうち、ノードＩＤが「00001」であるアクション部品の部品ＩＤ「PROC10_EXEC_CHECK」を取得する。対応アクション制御部２８は、部品ＩＤ「PROC10_EXEC_CHECK」のアクション部品を実行するために、図３８のプロパティテーブル４４から、部品ＩＤが「PROC10_EXEC_CHECK」であるレコードを全て読み出し、それらのプロパティ情報をコマンド発行制御部８０に通知する。こうして、図３４の最初のアクション部品「PROC10サービス稼働状況確認」がコマンド発行制御部８０により実行される。
【０１４９】
コマンド発行制御部８０が、コマンドが正常終了したことを対応アクション制御部２８に通知すると、対応アクション制御部２８は、コマンドの正常終了に対応する接続子ＩＤ「１」を取得する。対応アクション制御部２８は、図４２の遷移テーブル５２を参照して、ノードＩＤが「00001」であるアクション部品において、接続子ＩＤ「１」の接続子に対応づけられた遷移先ノードＩＤ「00003」を取得する。対応アクション制御部２８は、さらに、図４１のフロー構成部品テーブル５０を参照して、ノードＩＤが「00003」であるアクション部品の部品ＩＤ「AUTO_MAIL_001」を取得する。対応アクション制御部２８は、部品ＩＤ「AUTO_MAIL_001」のアクション部品を実行するために、図３８のプロパティテーブル４４からプロパティ情報を読み出して自動メール送信制御部８４に通知する。こうして、サービスが自動復旧していた場合の作業として、「障害自動復旧メール」部品が実行される。
【０１５０】
コマンド発行制御部８０が、コマンドが異常終了したことを対応アクション制御部２８に通知すると、対応アクション制御部２８は、コマンドの異常終了に対応する接続子ＩＤ「２」を取得する。対応アクション制御部２８は、図４２の遷移テーブル５２を参照して、ノードＩＤが「00001」であるアクション部品において、接続子ＩＤ「２」の接続子に対応づけられた遷移先ノードＩＤ「00002」を取得する。対応アクション制御部２８は、さらに、図４１のフロー構成部品テーブル５０を参照して、ノードＩＤが「00002」であるアクション部品の部品ＩＤ「PROC10_RECOVERY」を取得する。対応アクション制御部２８は、部品ＩＤ「PROC10_RECOVERY」のアクション部品を実行するために、図３８のプロパティテーブル４４からプロパティ情報を読み出してコマンド発行制御部８０に通知する。こうして、プロセスが停止したままであった場合の作業として、「PROC10プロセス復旧」部品が実行される。以降、同様にして、図３４に示したアクションフローが順次自動実行される。
【０１５１】
このように、複数のアクション部品を適宜組み合わせ、作業の結果に応じて次に実行すべきアクション部品を指定可能であるので、アクションフローの設計が容易となり、設計の工数を削減することができる。また、柔軟な作業の流れを定義することが可能となり、より適切な障害対応作業を実行することができる。また、個々のアクション部品についても、プロパティ情報をテーブル化してカスタマイズすることができるので、アクション部品の設計が容易となり、工数を削減することができる。
【０１５２】
本実施の形態のアクションフローも、第１の実施の形態で説明したフロー編集ユニット７０により編集可能である。第１の実施の形態では、画面部品を組み合わせて画面フローを編集する技術について説明したが、画面部品をアクション部品に置き換えれば、同様の方法によりアクションフローを編集することができる。
【０１５３】
監視装置２０がアクションフローを実行する際にも、アクションフローの全容を有向グラフで表示し、現在実行中のアクション部品を他のアクション部品と識別可能に表示してもよい。これにより、オペレータは、監視装置２０により自動的に行われるアクションフローの進行状況を把握することができる。
【０１５４】
（第３の実施の形態）
本実施の形態では、第１の実施の形態で説明した画面部品と、第２の実施の形態で説明したアクション部品とを組み合わせて、受信メッセージに対して実行すべき作業フローを表現する技術を提案する。
【０１５５】
図４９は、本実施の形態に係る監視装置２０の構成を示す。本実施の形態の監視装置２０の構成は、図３５に示した第２の実施の形態の監視装置２０の構成と同様であり、同様の構成には同じ符号を付している。フローのデータを格納するアクション定義データベース３４や、連絡先のデータを格納する連絡先データベース３８などのテーブル構成や、各テーブルの内部データの構成も、第１及び第２の実施の形態と同様である。
【０１５６】
メッセージ受信部２２がメッセージを受信すると、メッセージ解析部２４により０次切り分け条件に合致するか否かが判定され、対応アクション判定部２６により起動すべきフローが判定される。対応アクション制御部２８は、第１及び第２の実施の形態と同様にして、判定されたフローを起動すると、フロー管理テーブル４８から最初の部品のノードＩＤを読み出し、フロー構成部品テーブル５０を参照してその部品の部品ＩＤを得る。その部品が画面部品であれば、対応アクション制御部２８は、プロパティテーブル４４から画面の構成要素を読み出し、画面を構成して提示する。その部品がアクション部品であれば、対応アクション制御部２８は、プロパティテーブル４４からプロパティ情報を読み出し、コマンド発行制御部８０、自動電話発信制御部８２、又は自動メール送信制御部８４に、アクション部品の実行を指示する。
【０１５７】
対応アクション制御部２８は、画面部品を実行した場合は、オペレータから作業結果の入力を受け付けて接続子ＩＤを取得し、次の部品を特定する。アクション部品を実行した場合は、アクション部品の実行主体から実行結果を示す戻り値の通知を受けて接続子ＩＤを取得し、次の部品を特定する。
【０１５８】
このように、作業内容を画面に表示する処理や、コマンドなどを自動実行する処理が部品化されているので、オペレータに作業させる場合には画面部品により画面を提示し、オペレータの介在なしに自動実行可能な作業の場合にはアクション部品により作業を実行するようなフローを設計することができる。これにより、作業の内容に応じて適切な部品を選択し、より効率のよい作業フローを実現することができる。アクション部品の実行中にエラーが生じた場合には、画面部品へ移行してもよい。
【０１５９】
本実施の形態のフローも、フロー編集ユニット７０により編集可能である。また、本実施の形態においても、フローの実行中に全容を示す有向グラフを提示してもよい。このとき、画面部品とアクション部品を識別可能に表示してもよい。
【０１６０】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【０１６１】
実施の形態では、主としてオペレータの障害対応作業を支援することを目的としたフローについて説明したが、専門家などが障害対応作業を行う場合であっても、実施の形態で説明した技術を利用可能である。このように、オペレータ、技術者の別を問わず、実施の形態の技術を広く利用可能とすることで、作業の属人化を防ぐことができる。例えば、主担当ではない他のオペレータが作業する場合や、経験の浅い担当者が作業する場合に、作業が属人化していると対応できないことになってしまう。実施の形態で説明した技術を利用することにより、主担当ではない人が適切に対応することが可能となる。
【図面の簡単な説明】
【０１６２】
【図１】実施の形態に係る監視システムの構成を示す図である。
【図２】プロセスの異常を示すメッセージを受信したときに、オペレータが実行すべき作業のフローを示す図である。
【図３】図２に示した作業フローのうち、サービス確認作業の手順を提示するための画面を示す図である。
【図４】図２に示した作業フローのうち、復旧手順書検索作業の手順を提示するための画面を示す図である。
【図５】図２に示した作業フローのうち、手順書実行作業の手順を提示するための画面を示す図である。
【図６】図２に示した作業フローのうち、過去障害検索作業の手順を提示するための画面を示す図である。
【図７】図２に示した作業フローのうち、報告作業の手順を提示するための画面を示す図である。
【図８】第１の実施の形態の監視装置の内部構成を示す図である。
【図９】顧客システムデータベースの内部データの例を示す図である。
【図１０】アクション定義データベースのテーブル構成の例を示す図である。
【図１１】切り分け条件テーブルの内部データの例を示す図である。
【図１２】部品管理テーブルの内部データの例を示す図である。
【図１３】プロパティテーブルの内部データの例を示す図である。
【図１４】接続子テーブルの内部データの例を示す図である。
【図１５】フロー管理テーブルの内部データの例を示す図である。
【図１６】フロー構成部品テーブルの内部データの例を示す図である。
【図１７】遷移テーブルの内部データの例を示す図である。
【図１８】連絡先データベースのテーブル構成の例を示す図である。
【図１９】メールテンプレートテーブルの内部データの例を示す図である。
【図２０】連絡先管理テーブルの内部データの例を示す図である。
【図２１】連絡先ブロックテーブルの内部データの例を示す図である。
【図２２】電話連絡先順位テーブルの内部データの例を示す図である。
【図２３】メール宛先テーブルの内部データの例を示す図である。
【図２４】メッセージを受信してから解析するまでの手順を示すフローチャートである。
【図２５】対応アクション判定の手順を示すフローチャートである。
【図２６】対応アクション制御の手順を示すフローチャートである。
【図２７】図２に示した作業フローを提示する画面フローを示す図である。
【図２８】フロー編集ユニットの構成を示す図である。
【図２９】フロー編集ユニットが提示する画面フローの編集画面の例を示す図である。
【図３０】部品検索部が提示する画面部品の検索画面の例を示す図である。
【図３１】画面の遷移関係が設定される様子を示す図である。
【図３２】監視装置が画面フローを提示する画面の例を示す図である。
【図３３】プロセスの異常を示すメッセージを受信したときに、オペレータが実行すべき作業のフローの例を示す図である。
【図３４】図３３に示した作業を自動的に実行するアクションフローの例を示す図である。
【図３５】第２の実施の形態の監視装置の内部構成を示す図である。
【図３６】切り分け条件テーブルの内部データの例を示す図である。
【図３７】部品管理テーブルの内部データの例を示す図である。
【図３８】プロパティテーブルの内部データの例を示す図である。
【図３９】接続子テーブルの内部データの例を示す図である。
【図４０】フロー管理テーブルの内部データの例を示す図である。
【図４１】フロー構成部品テーブルの内部データの例を示す図である。
【図４２】遷移テーブルの内部データの例を示す図である。
【図４３】メッセージを受信してから解析するまでの手順を示すフローチャートである。
【図４４】対応アクション判定の手順を示すフローチャートである。
【図４５】対応アクション制御の手順を示すフローチャートである。
【図４６】コマンド発行制御部の動作を示すフローチャートである。
【図４７】自動電話発信制御部の動作を示すフローチャートである。
【図４８】自動メール送信制御部の動作を示すフローチャートである。
【図４９】第３の実施の形態の監視装置の内部構成を示す図である。
【符号の説明】
【０１６３】
１０  監視対象システム、２０  監視装置、２２  メッセージ受信部、２４  メッセージ解析部、２６  対応アクション判定部、２８  対応アクション制御部、３０  アラート通知部、３２  顧客システムデータベース、３４  アクション定義データベース、３６  障害管理データベース、３８  連絡先データベース、４０  切り分け条件テーブル、４２  部品管理テーブル、４４  プロパティテーブル、４６  接続子テーブル、４８  フロー管理テーブル、５０  フロー構成部品テーブル、５２  遷移テーブル、５４  メールテンプレートテーブル、５６  連絡先管理テーブル、５８  連絡先ブロックテーブル、６０  電話連絡先順位テーブル、６２  メール宛先テーブル、７０  フロー編集ユニット、７１  編集画面表示部、７２  部品検索部、７４  部品編集部、７６  部品組込部、７８  遷移先設定部、８０  コマンド発行制御部、８２  自動電話発信制御部、８４  自動メール送信制御部、８６  コマンド実行結果管理データベース。
【図１】
2007079896.tif 000003
【図２】
2007079896.tif 000004
【図３】
2007079896.tif 000005
【図４】
2007079896.tif 000006
【図５】
2007079896.tif 000007
【図６】
2007079896.tif 000008
【図７】
2007079896.tif 000009
【図８】
2007079896.tif 000010
【図９】
2007079896.tif 000011
【図１０】
2007079896.tif 000012
【図１１】
2007079896.tif 000013
【図１２】
2007079896.tif 000014
【図１３】
2007079896.tif 000015
【図１４】
2007079896.tif 000016
【図１５】
2007079896.tif 000017
【図１６】
2007079896.tif 000018
【図１７】
2007079896.tif 000019
【図１８】
2007079896.tif 000020
【図１９】
2007079896.tif 000021
【図２０】
2007079896.tif 000022
【図２１】
2007079896.tif 000023
【図２２】
2007079896.tif 000024
【図２３】
2007079896.tif 000025
【図２４】
2007079896.tif 000026
【図２５】
2007079896.tif 000027
【図２６】
2007079896.tif 000028
【図２７】
2007079896.tif 000029
【図２８】
2007079896.tif 000030
【図２９】
2007079896.tif 000031
【図３０】
2007079896.tif 000032
【図３１】
2007079896.tif 000033
【図３２】
2007079896.tif 000034
【図３３】
2007079896.tif 000035
【図３４】
2007079896.tif 000036
【図３５】
2007079896.tif 000037
【図３６】
2007079896.tif 000038
【図３７】
2007079896.tif 000039
【図３８】
2007079896.tif 000040
【図３９】
2007079896.tif 000041
【図４０】
2007079896.tif 000042
【図４１】
2007079896.tif 000043
【図４２】
2007079896.tif 000044
【図４３】
2007079896.tif 000045
【図４４】
2007079896.tif 000046
【図４５】
2007079896.tif 000047
【図４６】
2007079896.tif 000048
【図４７】
2007079896.tif 000049
【図４８】
2007079896.tif 000050
【図４９】
2007079896.tif 000051