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