(57)【要約】      （修正有）【課題】監視中断時間の短縮によって監視制御システムの可用性を改善する。【解決手段】監視マネージャは、監視エージェントにおける障害の検知を行なう稼動監視手段と、前記稼動監視手段が前記監視エージェントにおける障害を検知した後で前記監視エージェントが担当するシステムの代替監視を実行する代替監視手段と、前記監視エージェントが再起動を実行するための制御情報を前記監視エージェントに送信する再起動指示手段と、前記制御情報を受信した監視エージェントから受信した再起動が正常終了した旨の通知に応じて、前記代替監視を終了する代替監視終了手段とを備え、監視エージェントは、前記システムの障害情報を記憶する第１の障害情報記憶手段と、前記監視マネージャから受信した前記制御情報に応じて再起動を実行する再起動手段と、前記監視マネージャに前記システムの再起動が正常に終了した旨を通知する再起動通知手段を備えた。【選択図】図１
2010146436.tif 000002
【特許請求の範囲】
【請求項１】
監視エージェントの稼動を管理する監視マネージャとシステムを監視する監視エージェントとが協働してシステムを監視する監視制御システムであって、
前記監視マネージャは、
前記監視エージェントにおける障害の検知を行なう稼動監視手段と、
前記稼動監視手段が前記監視エージェントにおける障害を検知した後で前記障害を検知された監視エージェントが担当するシステムの代替監視を前記障害を検知された監視エージェントに代わって実行する代替監視手段と、
前記障害を検知された監視エージェントが再起動を実行するための制御情報を前記障害を検知された監視エージェントに送信する再起動指示手段と、
前記再起動を実行するための制御情報を受信した監視エージェントから受信した再起動が正常終了した旨の通知に応じて、前記代替監視を終了する代替監視終了手段
とを備え、
前記監視エージェントは、
前記システムの障害情報を記憶する第１の障害情報記憶手段と、
前記監視マネージャから受信した前記再起動を実行するための制御情報に応じて再起動を実行する再起動手段と、
前記監視マネージャに前記システムの再起動が正常に終了した旨を通知する再起動通知手段を備える
ことを特徴とする監視制御システム。
【請求項２】
前記監視マネージャは、
前記代替監視手段は前記障害を検知された監視エージェントが担当するシステムの障害を検知した場合は、該検知した障害についての障害情報を第２の障害情報記憶手段に記憶し、
前記代替監視終了手段が前記代替監視を終了した後で、前記障害を検知された監視エージェントが担当するシステムの前記障害情報が前記第２の障害情報記憶手段に記憶されているかを判定する同期化要否判定手段と、
前記判定手段が前記障害を検知された監視エージェントが担当するシステムの前記障害情報が前記第２の障害情報記憶手段に記憶されていると判定した場合に、前記第１の障害情報記憶手段を更新すべく前記障害を検知された監視エージェントに前記障害を検知された監視エージェントが担当するシステムの前記障害情報を送信する障害情報送信手段とを
更に備え、
前記監視エージェントは、前記監視マネージャから受信した前記障害情報を用いて前記第１の障害情報記憶手段に記憶されている障害情報を更新する障害情報更新手段を更に備えることを特徴とする請求項１記載の監視制御システム。
【請求項３】
前記監視エージェントは、
受動監視機能と能動監視機能とを備えた通常モードと、受動監視機能を備えたセーフモードの何れかのモードで前記再起動を実行し、
前記監視マネージャは、
前記監視エージェントが前記通常モードと前記セーフモードの何れのモードで前記再起動を実行したかを判定する判定手段と、
前記監視エージェントが前記セーフモードで再起動した場合に、監視エージェントの自動再起動を含む自動化機能を抑止する自動化機能抑止手段とを
更に備えることを特徴とする請求項１又は請求項２記載の監視制御システム。
【請求項４】
監視エージェントの稼動を管理する監視マネージャとシステムを監視する監視エージェントとが協働してシステムを監視する監視制御システムの制御方法であって、
前記監視マネージャは、
前記監視エージェントにおける障害の検知を行なう稼動監視ステップと、
前記稼動監視ステップにおいて前記監視エージェントにおける障害を検知した後で前記障害を検知された監視エージェントが担当するシステムの代替監視を前記障害を検知された監視エージェントに代わって実行する代替監視ステップと、
前記障害を検知された監視エージェントが再起動を実行するための制御情報を前記障害を検知された監視エージェントに送信する再起動指示ステップと、
前記再起動を実行するための制御情報を受信した監視エージェントから受信した再起動が正常終了した旨の通知に応じて、前記代替監視を終了する代替監視終了ステップ
とを備え、
前記監視エージェントは、
前記システムの障害情報を記憶する第１の障害情報記憶ステップと、
前記監視マネージャから受信した前記再起動を実行するための制御情報に応じて再起動を実行する再起動ステップと、
前記監視マネージャに前記システムの再起動が正常に終了した旨を通知する再起動通知ステップを備える
ことを特徴とする監視制御システムの制御方法。
【請求項５】
監視エージェントの稼動を管理する監視マネージャとシステムを監視する監視エージェントとが協働してシステムを監視する監視制御システムの制御プログラムであって、
前記監視マネージャを、
前記監視エージェントにおける障害の検知を行なう稼動監視手段と、
前記稼動監視手段が前記監視エージェントにおける障害を検知した後で前記障害を検知された監視エージェントが担当するシステムの代替監視を前記障害を検知された監視エージェントに代わって実行する代替監視手段と、
前記障害を検知された監視エージェントが再起動を実行するための制御情報を前記障害を検知された監視エージェントに送信する再起動指示手段と、
前記再起動を実行するための制御情報を受信した監視エージェントから受信した再起動が正常終了した旨の通知に応じて、前記代替監視を終了する代替監視終了手段
として機能させ、
前記監視エージェントを、
前記システムの障害情報を記憶する第１の障害情報記憶手段と、
前記監視マネージャから受信した前記再起動を実行するための制御情報に応じて再起動を実行する再起動手段と、
前記監視マネージャに前記システムの再起動が正常に終了した旨を通知する再起動通知手段として機能させる
ことを特徴とする監視制御システムの制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコンピュータが接続されたコンピュータシステムに関し、特にコンピュータの運用状態を監視する監視ソフトウェアにおける監視制御を実行するための監視システム、及びその制御方法、プログラムに関する。
【背景技術】
【０００２】
情報システムの中核を構成する汎用機や大型サーバ等の各ハードウェア及びオペレーションシステム及びデータベース及びアプリケーションプログラムの稼動状況を監視する監視ソフトウェアはデータセンタを含む各種情報システムで広く用いられている。この監視ソフトウェア自体が障害を起こすと情報システムの状況が把握できなくなり、障害発生時の対処も困難になる。そのため、監視ソフトウェアには高い可用性が要求される。
【０００３】
監視ソフトウェアの可用性の向上を図るには、監視ソフトウェアの障害による監視中断時間を短縮する必要がある。一般的に、この可用性の向上を図る方法には、監視ソフトウェアを二重化してホットスタンバイ構成とし、待機系の監視ソフトウェアが現用系の監視ソフトウェアの障害を検知した際に切替える方式や、監視ソフトウェアの冗長構成を採用しない場合は、監視ソフトウェアの異常終了を検知した際に迅速に自動再起動を行なう技術等が知られている。
【０００４】
監視マネージャと監視エージェントで構成される監視ソフトウェアは、負荷分散の観点より、監視対象の各コンピュータ（コンピュータの中央処理演算装置が複数区画に論理分割された環境ではその区画）毎に監視エージェントを配置するソフトウェア構成を採用することがある。
【０００５】
このような環境では、監視マネージャの機能停止に伴う監視制御への影響度を考慮して、監視マネージャをホットスタンバイ構成とし、監視エージェントは、アプリケーションの自動再起動装置等を利用して可用性の向上を図る方法が一例として知られている。特許文献１には、アプリケーション自動再起動装置等を利用して異常終了したアプリケーションを自動再起動する方法が開示されている。
【特許文献１】特開平６−２０２８６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載のアプリケーション自動再起動装置は、「再起動判断手段でエラーコードを用いてもう一度再起動するかどうかを判断するために、異常終了状態によって、再起動する場合が限定可能となり、アプリケーションなどのバグでエラーループに落ち込むようなことは防止される」とあるため、本発明を監視ソフトウェアに適用した場合、監視エージェントの異常終了の原因によっては、自動再起動が停止され監視中断が長時間におよぶ可能性があった。
【０００７】
また、監視エージェントの可用性をアプリケーションの自動再起動で向上させる方法では、監視エージェントが異常終了せずに監視中断状態となるケースには対応できないという課題があった。本発明は上記の課題を解決するためになされたものであり、監視中断時間の短縮によって監視制御システムの可用性を改善することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、監視エージェントの稼動を管理する監視マネージャとシステムを監視する監視エージェントとが協働してシステムを監視する監視制御システムであって、
前記監視マネージャは、
前記監視エージェントにおける障害の検知を行なう稼動監視手段と、
前記稼動監視手段が前記監視エージェントにおける障害を検知した後で前記障害を検知された監視エージェントが担当するシステムの代替監視を前記障害を検知された監視エージェントに代わって実行する代替監視手段と、
前記障害を検知された監視エージェントが再起動を実行するための制御情報を前記障害を検知された監視エージェントに送信する再起動指示手段と、
前記再起動を実行するための制御情報を受信した監視エージェントから受信した再起動が正常終了した旨の通知に応じて、前記代替監視を終了する代替監視終了手段
とを備え、
前記監視エージェントは、
前記システムの障害情報を記憶する第１の障害情報記憶手段と、
前記監視マネージャから受信した前記再起動を実行するための制御情報に応じて再起動を実行する再起動手段と、
前記監視マネージャに前記システムの再起動が正常に終了した旨を通知する再起動通知手段を備える
ことを特徴とする。
【０００９】
上記課題を解決するために、好ましくは前記監視マネージャは、
前記代替監視手段は前記障害を検知された監視エージェントが担当するシステムの障害を検知した場合は、該検知した障害についての障害情報を第２の障害情報記憶手段に記憶し、
前記代替監視終了手段が前記代替監視を終了した後で、前記障害を検知された監視エージェントが担当するシステムの前記障害情報が前記第２の障害情報記憶手段に記憶されているかを判定する同期化要否判定手段と、
前記判定手段が前記障害を検知された監視エージェントが担当するシステムの前記障害情報が前記第２の障害情報記憶手段に記憶されていると判定した場合に、前記第１の障害情報記憶手段を更新すべく前記障害を検知された監視エージェントに前記障害を検知された監視エージェントが担当するシステムの前記障害情報を送信する障害情報送信手段とを
更に備え、
前記監視エージェントは、前記監視マネージャから受信した前記障害情報を用いて前記第１の障害情報記憶手段に記憶されている障害情報を更新する障害情報更新手段を更に備えることを特徴とする。
【００１０】
上記課題を解決するために、好ましくは前記監視エージェントは、
受動監視機能と能動監視機能とを備えた通常モードと、受動監視機能を備えたセーフモードの何れかのモードで前記再起動を実行し、
前記監視マネージャは、
前記監視エージェントが前記通常モードと前記セーフモードの何れのモードで前記再起動を実行したかを判定する判定手段と、
前記監視エージェントが前記セーフモードで再起動した場合に、監視エージェントの自動再起動を含む自動化機能を抑止する自動化機能抑止手段とを更に備えることを特徴とする。
【発明の効果】
【００１１】
請求項１記載の発明によれば、前記監視マネージャが前記監視エージェントにおける障害の検知を行なう稼動監視手段と、
前記稼動監視手段が前記監視エージェントにおける障害を検知した後で前記障害を検知された監視エージェントが担当するシステムの代替監視を前記障害を検知された監視エージェントに代わって実行する代替監視手段と、
前記障害を検知された監視エージェントが再起動を実行するための制御情報を前記障害を検知された監視エージェントに送信する再起動指示手段と、
前記再起動を実行するための制御情報を受信した監視エージェントから受信した再起動が正常終了した旨の通知に応じて、前記代替監視を終了する代替監視終了手段
とを備え、
前記監視エージェントが、
前記システムの障害情報を記憶する第１の障害情報記憶手段と、
前記監視マネージャから受信した前記再起動を実行するための制御情報に応じて再起動を実行する再起動手段と、
前記監視マネージャに前記システムの再起動が正常に終了した旨を通知する再起動通知手段を備えるので、監視エージェントの障害に伴う監視中断時間を短縮することができる。
【００１２】
さらに、請求項２記載の発明によれば、前記監視マネージャは、
前記代替監視手段は前記障害を検知された監視エージェントが担当するシステムの障害を検知した場合は、該検知した障害についての障害情報を第２の障害情報記憶手段に記憶し、
前記代替監視終了手段が前記代替監視を終了した後で、前記障害を検知された監視エージェントが担当するシステムの前記障害情報が前記第２の障害情報記憶手段に記憶されているかを判定する同期化要否判定手段と、
前記判定手段が前記障害を検知された監視エージェントが担当するシステムの前記障害情報が前記第２の障害情報記憶手段に記憶されていると判定した場合に、前記第１の障害情報記憶手段を更新すべく前記障害を検知された監視エージェントに前記障害を検知された監視エージェントが担当するシステムの前記障害情報を送信する障害情報送信手段とを
更に備え、
前記監視エージェントは、前記監視マネージャから受信した前記障害情報を用いて前記第１の障害情報記憶手段に記憶されている障害情報を更新する障害情報更新手段を更に備えるので、監視エージェントの一時的な監視中断時間を短縮することができる。
【００１３】
さらに、請求項３記載の発明によれば、前記監視エージェントは、
受動監視機能と能動監視機能とを備えた通常モードと、受動監視機能を備えたセーフモードの何れかのモードで前記再起動を実行し、
前記監視マネージャは、
前記監視エージェントが前記通常モードと前記セーフモードの何れのモードで前記再起動を実行したかを判定する判定手段と、
前記監視エージェントが前記セーフモードで再起動した場合に、監視エージェントの自動再起動を含む自動化機能を抑止する自動化機能抑止手段とを更に備えるので、監視エージェントの自動再起動の試行が成功する確率を高めることで、監視中断時間の短縮を可能としている。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して、本発明の実施形態を詳細に説明する。  図１は、本発明の実施形態に係る監視制御システムの全体構成図（監視エージェント障害発生状態）である。尚、図１の構成は一例であり、用途や目的に応じて様々な構成例があってもよい。
【００１５】
本発明に係る監視制御システムは、複数のコンピュータＡ１０１，コンピュータＢ１０２と、監視対象となるコンピュータ１０２のＣＰＵやメモリ等の資源や監視対象アプリケーション１１０の状況の変化を表示する監視端末１０３と、これらを相互に接続するネットワーク（通常時通信路１０４，緊急用通信路１０５）、コンピュータＡ１０１に接続される外部記憶装置１０６，コンピュータＢ１０２に接続される外部記憶装置１０７、システムコンソール１１１で構成される。同図ではコンピュータＡ１０１，コンピュータＢ１０２をそれぞれ一区画で記載しているが、ＣＰＵを論理的に複数区画に分割した構成でもよく、あるいはそれぞれが複数のＣＰＵを備え各ＣＰＵが一区画に対応する構成としても良い。以下、この区画を単にシステムと呼ぶことがある。
【００１６】
コンピュータＡ１０１では、システム監視用プログラムである監視マネージャ１０８が常時稼動し、コンピュータＢ１０２では、監視マネージャ１０８と協働してシステム監視を行なう監視エージェント１０９が常時稼動している。監視エージェント１０９は、各システムの状況の変化を監視し、状況の変化を検知すると監視結果を監視マネージャ１０８に送信する。監視マネージャ１０８は、監視エージェント１０９の制御や監視エージェント１０９より伝達された監視結果を監視端末１０３へ通知する処理等を実施する。
【００１７】
ネットワークは、通常時通信路１０４と緊急用通信路１０５で構成される。通常時通信路１０４は、監視マネージャ１０８と監視エージェント１０９との間をアプリケーションのレベルで通信する既存機能で実現可能な通信経路である。本発明が適用されたシステムでは、監視マネージャ１０８による監視エージェント１０９の稼動確認用の経路、監視エージェント１０９による監視結果を監視マネージャ１０８に伝達するための経路等で通常時通信路１０４を使用する。緊急用通信路１０５は、監視マネージャ１０８と監視対象となるコンピュータ１０２上のシステムコンソール１１１間を通信する既存機能で実現可能な通信経路である。本発明が適用されたシステムでは、監視マネージャ１０８による代替監視中のメッセージ受信用の経路、監視エージェント１０９の自動再起動指示時のコマンド発行用の経路等で緊急用通信路１０５を使用する。
【００１８】
図２は、コンピュータシステムＡ１０８及びコンピュータＢ１０９のハードウェア構成を示す図である。
【００１９】
ＣＰＵ２０１は、システムバス２０３に接続される各デバイスやコントローラを統括的に制御する。また、メモリ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をメモリ２０２にロードして、プログラムを実行することで各種動作を実現するものである。
【００２０】
また、入出力サブシステム２０４は、各種ハードウェア及びシステムバス２０３とのインタフェース回路を含んでいる。端末制御装置２０５は、システムコンソール１１１等の各種端末との入出力を制御する。ディスク制御装置２０６は、外部記憶装置（１０６、１０７）等との入出力を制御する。外部記憶装置（１０６、１０７）には、オペレーティングシステムプログラム（以下、ＯＳ）や、各コンピュータシステムの実行する機能を実現するために必要な後述する監視マネージャ用プログラム、監視エージェント用プログラム、及び各種アプリケーションプログラム（業務プログラム）等が記憶されている。
【００２１】
通信制御装置２０７は、入出力サブシステム２０４と接続され、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００２２】
本発明を実現するための監視マネージャ用及び監視エージェント用プログラムは外部記憶装置（１０６、１０７）に記録されており、必要に応じてメモリ２０２にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、本発明に係わる上記各プログラムが用いる定義ファイル及び各種情報テーブルは外部記憶装置（１０６、１０７）に格納されており、これらについての詳細な説明は後述する。
【００２３】
図３は、本発明を適用した監視制御システムにおける機能ブロック図である。監視マネージャ１０８の自動運転制御部３０１は、監視エージェント１０９の稼動状況を監視する監視エージェント稼動監視手段と、監視エージェント１０８の通知制御部３０４からの要求情報を代替監視制御部３０２に伝えるとともに、監視マネージャ１０８の代替監視制御部３０２からの制御情報に応じて、監視エージェント１０９が担当するシステムの監視を監視エージェント１０９に変わって実行する代替監視実施手段と、監視マネージャ１０８の自動再起動制御部３０３から受信した制御情報に基づいて監視エージェント１０９の自動再起動等の自動化機能を抑止する自動化機能抑止手段と、監視マネージャ１０８の代替監視制御部３０２の制御情報に基づいて監視対象のシステムの監視情報を監視情報テーブル１３０１に追加又は更新する監視情報更新手段と、代替監視中に検知した障害情報を外部記憶装置１０６に記憶している障害情報テーブル１４０１に追加又は更新する障害情報更新手段を有する。
【００２４】
監視マネージャ１０８の代替監視制御部３０２は、自動運転制御部３０１より特定のシステムについての要求情報を受け取り、該要求情報に応じて自動運転制御部３０１へ監視エージェント１０９から監視マネージャ１０８による監視に切替える旨又は監視エージェント１０９の監視に戻す旨の制御情報（切替指示）を送る代替監視切替指示手段と、自動再起動制御部に自動再起動を実行する旨の制御情報を送る自動再起動指示手段と、監視エージェント１０９の初期化制御部３０５へ障害情報及び該障害情報を用いて監視状況ファイル１５０１を更新する旨の制御情報を送る障害情報更新指示手段を有する。
【００２５】
監視マネージャ１０８の自動再起動制御部３０３は、代替監視制御部３０２から受信した制御情報を用いて再起動を実行するための制御情報を監視エージェント１０９に伝える自動再起動指示手段と、自動運転制御部３０１に対して監視エージェント１０９の自動再起動等の自動化機能を抑制するための制御情報を送る自動化機能抑止指示手段を有する。監視マネージャ１０８は、監視エージェント１０９の単体障害を検知した場合、監視エージェント１０９をそのシステム上で自動再起動する。システム障害を検知した場合、予め定義された内容に従い、監視エージェント１０９のシステム間移動を伴う自動再起動が可能である。当機能が使用されるのは、監視エージェント１０９が稼動するシステムが、アプリケーションのシステム間移動が可能な環境を想定している。監視マネージャ１０８は、監視エージェント１０９のセーフモードによる自動再起動が可能であり、セーフモードでの自動再起動が正常に完了した場合、監視マネージャ１０８による監視エージェント１０９への自動化指示を抑止する機能を持つ。
【００２６】
監視エージェント１０９の通知制御部３０４は、所定の状況の発生を検知した場合に監視マネージャ１０８へ監視の切換を要求するための切替要求を送信する代替監視切替指示手段を有する。監視エージェント１０９の初期化制御部３０５は、監視マネージャ１０８の代替監視制御部３０２からの制御情報と監視マネージャ１０８が代替監視中に発生した障害情報とにより監視状況ファイル１５０１に記憶している障害情報を更新する障害情報更新手段を有する。
【００２７】
以下、本発明の実施例について画面を参照しながら説明する。
【００２８】
[実施例１]
図４は、監視エージェント１０９が、監視エージェント１０９の自動化機能を抑止するセーフモードで起動中に、手動回復処理が必要な事象が発生した際の監視端末１０３における監視画面の一例である。同図では、監視エージェント１０９の自動化機能が抑止されているため、オペレータに手動により回復処理を実施するよう指示するメッセージが表示されている。
【００２９】
続いて、本発明が適用されたシステムにおける代替監視制御の基本的な流れについて説明する。監視マネージャ１０８の代替監視制御部３０２からの制御情報に応じて、自動運転制御部３０１の代替監視手段が監視エージェント１０９が担当するシステムの監視を監視エージェント１０９に変わって実行する契機は以下のようなケースがある。
【００３０】
第１のケースは、監視マネージャ１０８の自動運転制御部３０１が、監視エージェント１０９の通知制御部３０４から代替監視の切替要求や切替停止要求を受信した場合である。監視マネージャ１０８はこれらの切替要求や切替停止要求を監視エージェント１０９を特定するＩＤ（ＡＰＰＬ名）と共にメモリ２０２のワークエリア内のバッファに記憶する。第２のケースは、監視マネージャ１０８の自動運転制御部３０１が、監視マネージャ１０８と監視エージェント１０９間の通常時通信路１０４の切断を検知した場合である。監視マネージャ１０８はこの通常時通信路１０４の切断を検知した旨の情報をメモリ２０２のワークエリアに記憶する。第３のケースは、監視マネージャ１０８の自動運転制御部３０１より作動する監視エージェント稼動監視手段が、監視エージェント１０９からの応答なし等の異常を検知した場合である。
【００３１】
図５は、本発明が適用されたシステムの代替監視制御の基本的な流れを示すフローチャートである。監視マネージャ１０８の代替監視制御部３０２作動後の流れを同図で説明する。監視エージェント１０９は、計画停止する前に、予め当該監視エージェント１０９を特定するＩＤと計画停止である旨の情報と停止時刻とを含む通知を監視マネージャ１０８に送信し、監視マネージャ１０８は監視エージェント１０９からこの通知を受信し、外部記憶装置１０６上の不図示の運転状況ファイルに追加している。
【００３２】
監視マネージャ１０８の代替監視制御部３０２は、ステップＳ１００では、作動した契機が監視エージェント１０９の通知制御部３０４の代替監視切替指示手段から受信した切替指示（切替要求又は切替停止要求のいずれか）であるか否かを判定する。通知制御部３０４の代替監視切替指示手段からの切替指示である場合、処理をステップＳ６００に進める。代替監視切替指示手段から受信した通知が切替指示でない場合は処理をステップＳ２００に進める。
【００３３】
ステップＳ６００では、監視マネージャ１０８は、切替指示が切替要求である場合は自動運転制御部３０１に対して監視マネージャが代替監視を実行する旨の制御情報を送り、自動運転制御部３０１の代替監視手段は代替監視を開始してこの処理を終了する。代替監視切替指示が切替停止要求である場合、監視マネージャ１０８は、代替監視を停止してこの処理を終了する。
【００３４】
ステップＳ２００では、監視マネージャ１０８の代替監視制御部３０２は、作動した契機が監視エージェント１０９の通知制御部３０４からの切替指示でない場合、前述の不図示の運転状況ファイルを参照することにより監視エージェント１０９の計画停止によるものか、計画停止によるものでないか（従って障害による停止か）を判定する。計画停止と判定した場合、監視マネージャ１０８は、代替監視を不要と判断しこの処理を終了する。計画停止によるものではないと判定した場合処理をステップＳ３００に進める。
【００３５】
ステップＳ３００では、監視マネージャ１０８の代替監視制御部３０２は、監視エージェント１０９の障害と判断した場合、監視エージェント１０９単体の障害なのかシステム障害かを判定する。障害を判定する一例は、障害を検知したシステムへの緊急用通信路１０５が確立できない場合と、緊急用通信路１０５は確立できるがそのシステム上のＯＳに対するコマンド応答メッセージを受信できない場合とをシステム障害と判断し、それ以外を監視エージェント１０９の単体障害と判断する方法である。複数のコンピュータが専用の装置によって論理的に結合された環境であれば、監視マネージャ１０８が、システム障害を直接検知して判定してもよい。単体障害と判定した場合、該当する監視エージェント１０９のＡＰＰＬ名と単体障害である旨をメモリ２０２のワークエリアに記憶し、処理をステップＳ４００に進める。他方、システム障害と判定した場合、処理をステップＳ５００に進める。
【００３６】
障害種別が監視エージェント１０９の単体障害の場合、ステップＳ４００では、監視エージェント１０９が通常モードやセーフモードで自動再起動されるまでの間、監視マネージャ１０８による代替監視が継続される。
【００３７】
障害種別がシステム障害の場合、ステップＳ５００では、アプリケーションのシステム間移動が可能な環境であれば、監視エージェント１０９がシステム間移動を伴う通常モードやセーフモードで自動再起動されるまでの間、監視マネージャ１０８による代替監視が継続される。
【００３８】
ステップ（Ｓ４００、Ｓ５００）いずれの場合も、監視エージェント１０９の自動再起動が成功しない場合は、監視マネージャ１０９による代替監視を継続することで監視中断が長時間におよばないようにしている。
【００３９】
ここで、セーフモードの詳細について説明する。監視エージェント１０９は、起動に必要な情報が予め定義されたプロシージャを使用して起動される。このプロシージャは、通常モード用とセーフモード用で別々のプロシージャが外部記憶装置１０６上に用意されている。セーフモード用のプロシージャの定義内容は、ユーザーカスタマイズが可能であり、用途に応じて様々な内容を定義することが可能である。
【００４０】
セーフモードの一例として、監視対象のシステムやアプリケーション等の状態を変化させることなく監視する受動監視に必要な最低限の機能で監視エージェント１０９を起動するプロシージャがある。このプロシージャは、受動監視に必要でない機能であれば、必要により監視対象のシステムやアプリケーションに働きかけてその状態を変化させる能動監視のような能動的な処理や自動回復処理、自動再起動等の自動化処理が全て抑止された内容が定義されている。具体的には、このプロシージャには、受動監視に必要な最小構成の提供モジュールや監視情報等を定義している。ここで提供された監視エージェント１０９の初期化モジュールは、受動監視に必要な機能が起動するとその他の処理の起動を回避し、通常モード用とは異なるセーフモード専用の初期化完了メッセージを出力するように設計されている。一方、監視情報テーブル１３０１では、動作部に定義された能動的な処理等は、単に監視端末１０３へ通知するだけの処理に置換されている。
【００４１】
監視エージェント１０９をこの例のセーフモードで起動した場合、受動監視に必要な機能以外で発生した監視エージェントのバグや、ファイルのＩ／Ｏの長期化、コマンド応答の長期化による初期化遅延を回避できるため、迅速に自動再起動することが可能となる。メッセージ・トラフィックの負荷分散を考慮した監視制御システムでは、監視エージェント１０９の再起動の可能性が高まることで、監視マネージャ１０８による緊急用通信路１０５を使用した代替監視を監視エージェント１０９に引き継げるため、負荷分散を維持した状態で監視中断時間を短縮できる効果がある。
【００４２】
その他の例としては、監視エージェント１０９のバージョンアップや修正モジュールの適用作業を各システム段階的に移行する場合、フォールバック用に一世代前のプロシージャをセーフモードとして定義してもよい。監視エージェント１０９をこの例のセーフモードで起動した場合、通常モード用と同じ初期化完了メッセージが出力されるため、監視マネージャ１０８は監視エージェント１０９の自動化機能を抑止しない。そのため、このセーフモードで起動した監視エージェント１０９は、移行前と同等の機能を使用することが可能であり、監視機能レベルの低下時間を短縮することが可能となる。
【００４３】
図６は、本発明の実施形態の監視マネージャ１０８が、監視エージェント１０９の単体障害を検知した際の処理を示すフローチャートである。同図は、監視エージェント１０９が障害時にシステム間移動できない環境を想定しており、図５の障害種別の判定（ステップＳ３００）において既に緊急用通信路１０５を確立している場合を想定している。
【００４４】
まずステップＳ４１１では、監視マネージャ１０８は、障害中の監視エージェント１０９に替わって対象システムの代替監視を開始する。監視マネージャ１０８は、緊急用通信路１０５を使用して対象システムの状況の変化を受動監視する。
【００４５】
ステップＳ４１２では、監視マネージャ１０８の自動再起動制御部３０３は、障害中の監視エージェント１０９を通常モード、または、セーフモードでの再起動を行う旨の制御情報を監視エージェント１０９に送り、障害中の監視エージェント１０９に再起動を行なう旨の制御情報を送信した時刻と当該監視エージェントのＡＰＰＬ名をメモリ２０２のワークエリアに記憶する。、監視エージェント１０９の再起動及び初期化が正常に完了するのを待機する。具体的にはまず通常モードでの再起動を行なう旨の制御情報を送り、通常モードでの再起動及び初期化が正常に終了した旨の通知を受信しない場合はセーフモードでの再起動を行なう旨の制御情報を送り、それぞれ制御情報を送信した時刻と当該監視エージェント１０９のＡＰＰＬ名をメモリ２０２のワークエリアに記憶し、再度この通知を待つ。監視エージェント１０９より正常完了の通知を受信した場合は、代替監視制御部３０２に当該監視エージェント１０９の再起動及び初期化が正常に終了した旨の通知を送ると共に、監視マネージャ１０８による代替監視中である旨の通知を監視エージェント１０９に送信し、処理をステップＳ４１３に進める。監視エージェント１０９より正常完了の通知を受信しない場合は、所定時間（自動再起動管理テーブル１１０１に指定した初期化完了待機時間×自動再起動の試行回数の残回数）通知の受信を待機した後、処理をステップＳ４１３に進める。
【００４６】
他方、再起動された監視エージェント１０９の初期化制御部３０５は、ステップＳ４２１では、監視エージェント１０９の初期化が完了すると対象システムの監視を開始する。続いて、監視マネージャ１０８との通常時通信路１０４の接続を確立すると、初期化が完了した旨の通知を監視マネージャ１０８へ送信し、監視マネージャ１０８から監視マネージャ１０８による代替監視中である旨の通知を受信しメモリ２０２のワークエリアに記憶し、処理をステップＳ４２２に進める。
【００４７】
監視マネージャ１０８の処理の説明に戻る。ステップＳ４１３では、監視マネージャ１０８の代替監視制御部３０２は、監視エージェント１０９の初期化が正常に完了した旨の通知を受信できない場合、その旨のメッセージを監視端末１０３に通知し監視マネージャ１０８による代替監視状態を継続する。他方、監視マネージャ１０８の代替監視制御部３０２は、監視エージェント１０９の初期化が正常に完了したことを確認した場合、処理をステップＳ４１４に進める。ステップＳ４１４では、監視マネージャ１０８による代替監視を停止し、代替監視を停止する旨の通知を監視エージェント１０９に送信し、処理をステップＳ４１５に進める。ステップＳ４１５では、受動監視用の経路として接続を確立した緊急用通信路１０５を切断して処理をステップＳ４１６に進める。
【００４８】
ステップＳ４１６では、監視マネージャ１０８の代替監視制御部３０２は、外部記憶装置１０６のハードディスク上に記憶された障害情報１４０１を、代替監視対象システムを一意に特定可能なシステムＩＤで検索する。検索の結果このシステムＩＤに該当する障害情報が存在しない場合（代替監視中に新たな障害情報が追加されていない場合）は、監視エージェント１０９の初期化制御部３０５に同期化が不要な旨の通知を送信して代替監視制御の処理を終了する。
【００４９】
他方、該当する障害情報が存在する場合（代替監視中に新たな障害情報が追加された場合）は、処理をステップＳ４１７に進める。ステップＳ４１７では、該当する障害情報を自動運転制御部３０１を経由して監視エージェント１０９の初期化制御部３０５に送信後、障害情報テーブル１４０１より送信済の障害情報を削除する。
【００５０】
他方、監視エージェント１０９の初期化制御部３０５は、ステップＳ４２２では、メモリ２０２のワークエリアに記憶した監視マネージャ１０８の自動再起動制御部３０３からの通知により監視マネージャ１０８による代替監視中であるか否かを判定し、代替監視中の場合は処理をステップＳ４２３に進め、代替監視中でない場合は処理をステップＳ４２４に進める。
【００５１】
ステップＳ４２３では、監視エージェント１０９の初期化制御部３０５は、監視マネージャ１０８の代替監視制御部３０２からの同期化が不要な旨の通知、または、障害情報を受信する。障害情報を受信した場合は、外部記憶装置１０７上に記憶された監視状況ファイル１５０１を更新する。ステップＳ４２４では、監視エージェント１０９の初期化制御部３０５は、監視状況ファイル１５０１を読込み、監視対象システムの状況を（監視マネージャ１０８経由で）監視端末１０３へ通知してこの処理を終了する。
【００５２】
なお、監視マネージャ１０８の代替監視中に監視対象アプリケーション１１０に障害が発生し、監視エージェント１０９の再起動前に該当アプリケーションの障害回復を実施した場合は、オペレータが、コマンド等の手動操作で該当アプリケーションの状況を「異常（ＥＲＲＯＲ）」から「正常（ＵＰ）」に戻す。また、そのコマンドに応じた内部処理により、監視端末１０３へ「正常（ＵＰ）」を通知すると同時に、監視対象アプリケーション１１０に障害が発生した際に書き込まれた障害情報を削除する（又は削除フラグを追加する）。これらの対応により、監視エージェント１０９の再起動後に、アプリケーションの現状と、監視端末１０３に表示された状況の内容が不一致になることを防ぐことが可能である。
【００５３】
続いて、上述した監視マネージャ１０８による代替監視の開始（図６のステップＳ４１１）と代替監視の停止（図６のステップＳ４１４）の詳細を説明する。まず、代替監視で使用される監視情報テーブル（代替監視用）の詳細について説明する。監視マネージャ１０８には、外部記憶装置１０６上に監視情報テーブル（代替監視用）１３０１が予め定義され記憶されている。図１５に監視情報テーブル１３０１（代替監視用）の一例を示す。
【００５４】
監視情報テーブル（代替監視用）１３０１は、監視エージェント１０９の名前を指定するＡＰＰＬ名と、判定条件部、動作部で構成される。判定条件部には、監視対象システムの状況の変化を監視対象とするための判定条件が指定されている。動作部は、判定条件に合致した場合の動作が指定されている。監視情報テーブル（代替監視用）１３０１の動作部は、能動的な処理が抑止されている。例えば、動作部に自動回復を実施する処理などが指定されていた場合は、手動で回復処理が必要な旨の通知を監視端末１０３に送信する処理などに置換されている。
【００５５】
次に、監視マネージャ１０８による代替監視の開始（図６のステップＳ４１１）の詳細を、図１１のフローチャートを使用して説明する。ステップＳ４１１１では、監視マネージャ１０８の代替監視制御部３０２は、代替監視の開始を実施する際に）監視エージェント１０９のＡＰＰＬ名を含む代替監視の開始を要求する切替要求をメモリ２０２のワークエリアから取得する。
【００５６】
ステップＳ４１１２では、監視マネージャ１０８の代替監視制御部３０２は、メモリ２０２のワークエリアから取得した代替監視の切替要求に含まれるＡＰＰＬ名を用いて、外部記憶装置１０６に記憶された監視情報（代替監視用）１３０１より代替監視が必要な監視エージェント１０９用の監視情報を読込み、外部記憶装置１０６上に記憶された監視情報（監視マネージャ用）にその内容を追加し、監視マネージャ１０８の自動運転制御部３０１にメモリ２０２のワークエリアにあるバッファ内の監視情報を更新する旨の制御情報を送信する。
【００５７】
ステップＳ４１１３では、監視マネージャ１０８の自動運転制御部３０１が、受信した制御情報を用いてバッファ内の監視情報（監視マネージャ用）を更新すると、監視マネージャ１０８は、代替監視を開始する。以上で図１１の説明を終わる。次に、監視マネージャ１０８による代替監視の停止（Ｓ４１４）の詳細を、図１２を使用して説明する。ステップＳ４１４１では、監視マネージャ１０８の代替監視制御部３０２は、代替監視の停止を実施する際に指示内容（停止）と監視エージェント１０９の名前をメモリ２０２のワークエリアにあるバッファから取得する。
【００５８】
ステップＳ４１４２では、監視マネージャ１０８の代替監視制御部３０２は、外部記憶装置１０６上に記憶された監視情報（監視マネージャ用）を読み込み、監視情報テーブル１３０１のＡＰＰＬ名より該当監視エージェント１０９の監視項目を特定後、該当データを削除する。続いて、監視マネージャ１０８の自動運転制御部３０１にバッファ内の監視情報の更新を指示する。
【００５９】
監視マネージャ１０８の自動運転制御部３０１が、バッファ内の監視情報（監視マネージャ用）を更新すると、監視マネージャ１０８は、代替監視を停止する（Ｓ４１４３）。以上で図１１の説明を終わる。
【００６０】
続いて、上述した監視マネージャ１０８による監視エージェント１０９の自動再起動処理（図６のステップＳ４１２）の詳細を図１３及び図１０の詳細フローチャートを用いて説明する。
【００６１】
まず、自動再起動制御で使用する自動再起動管理テーブル１１０１の詳細を、図１３を使用して説明する。自動再起動管理テーブル１１０１は、監視エージェント１０９の名前、自動再起動の試行回数（最大回数、セーフモードで起動する回数、試行残り回数）、自動再起動の試行を許容する時間、監視エージェント１０９の初期化完了を待機する最大時間、通常モードで監視エージェント１０９を起動した場合に初期化の正常完了を確認するためのメッセージ、セーフモードで監視エージェント１０９を起動した場合に初期化の正常完了を確認するためのメッセージ等の項目で構成され外部記憶装置１０６上に記憶されている。これらの項目の値は、自動再起動の試行残り回数を除いて予め設定する必要がある。試行残り回数の項目は、自動再起動制御内で設定される項目である。
【００６２】
図１３の１行目を例に項目の意味を説明する。監視Ｅ１という名前の監視エージェント１０９は、監視マネージャ１０８によって１８００秒以内に最大３回まで自動再起動の試行が許容されている。この試行回数は、１８００秒以内に４回目の自動再起動は試行できないが、１回目の試行より１８００秒が経過すると再び自動再起動を試行することが可能である。最大３回の自動再起動がどのモードで行なわれるかの内訳は、１回目と２回目が通常モードであり、３回目だけがセーフモードとなる。他方、最大試行回数が３回でセーフモード試行回数が２の場合は、１回目だけが通常モードであり、２回目と３回目がセーフモードとなる。監視マネージャ１０８が、監視Ｅ１の自動再起動において初期化完了を待機する最大時間は３００秒である。３００秒以内に次の確認メッセージを受信できない場合は、異常ケースとみなされ自動再起動が繰り返し試行される。監視Ｅ１を通常モードで自動再起動した場合に初期化の正常完了を確認するためのメッセージはＭＳＧ００００Ｉである。同様に、セーフモードの場合は、ＭＳＧ０００１Ｉである。
【００６３】
図１０は、監視マネージャ１０８の自動再起動制御部３０３による監視エージェント１０９の自動再起動処理を示すフローチャートである。ステップＳ４１２０１では、監視マネージャ１０８の自動再起動制御部３０３は、外部記憶装置１０６上に記憶された自動再起動管理テーブル１１０１を読み込み、監視エージェント１０９を再起動するために必要な情報を把握する。自動再起動管理テーブル１１０１の自動再起動の試行回数の残回数の値が未定義であれば、自動再起動の最大試行回数を試行残回数に設定し、外部記憶装置１０６上の自動再起動管理テーブル１１０１の該当項目を更新する。
【００６４】
ステップＳ４１２０２では、監視マネージャ１０８の自動再起動制御部３０３は、監視エージェント１０９の自動再起動試行前に、監視エージェント１０９の強制終了が必要かを判断する。判断するひとつの方法は、監視エージェント１０９が稼動中か否かで強制終了の実施有無を判断する方法である。監視エージェント１０９が稼動中のケースとは、監視エージェント１０９の異常終了を伴わない単体障害（図５のステップＳ３００）を検知して自動再起動制御部３０３が実行されたケース（図５のステップＳ４００）や、監視エージェント１０９の自動再起動後に所定時間内に初期化が正常完了せず自動再起動を繰り返すケース（図７のステップＳ４１２）等がある。これらの各ステップでメモリ２０２のワークエリアに記憶された情報を参照し上記ケースであれば監視エージェント１０９の強制終了が必要と判断する。
【００６５】
ステップＳ４１２０３では、監視マネージャ１０８が監視エージェント１０９の強制終了が必要と判断した場合は、該当する監視エージェントが稼動しているシステムのオペレーションシステムに、該当する監視エージェントを強制終了させる旨の制御情報を送信し、該当する監視エージェントを強制終了させるる。ただし、この監視エージェント１０９の強制終了を検知して、代替監視制御部３０２が重複して作動しない考慮が必要である。具体的には自動再起動制御部３０３から当該監視エージェント１０９を強制終了させる旨を自動運転制御部３０１に通知し、自動運転制御部３０１は当該監視エージェント１０９が監視マネージャ１０８により強制終了されたことを外部記憶装置１０６上の不図示の運転状況ファイルに記録することで、代替監視制御部３０２が重複して作動しないようにする。
【００６６】
ステップＳ４１２０４では、監視マネージャ１０８の自動再起動制御部３０３は、自動再起動の実施判定を行なう。自動再起動管理テーブル１１０１の自動再起動の試行回数の残回数が０の場合、監視マネージャ１０８は、所定時間内に所定回数の監視エージェント１０９の自動再起動を試行したが正常に初期化を完了できなかったと判断し処理を終了する。これは、自動再起動と異常終了の永久ループを回避するためである。自動再起動の試行の残回数が０でない場合、処理をステップＳ４１２０５に進める。
【００６７】
ステップＳ４１２０５では、監視マネージャ１０８の自動再起動制御部３０３は、Ｓ４１２０４のエラー閾値判定（所定時間内に所定回数の自動再起動に失敗した場合は、それ以上の自動再起動を試行しない）のために、自動再起動の試行回数の残回数のリセット処理をタイマー設定するか判断する。具体的には監視マネージャ１０８の自動再起動制御部３０３は、自動再起動の試行回数の残回数と最大試行回数が等しい場合、処理をステップＳ４１２０６に進める。他方、自動再起動の試行回数の残回数と最大試行回数が等しくない場合、処理をステップＳ４１２０７に進める。
【００６８】
ステップＳ４１２０６では、試行残回数のリセット処理をタイマー設定する。具体的には、自動再起動管理テーブル１１０１の自動再起動の許容時間項目に指定された時間が経過すると、試行残回数は最大試行回数で上書きされる。そのため、自動再起動の許容時間を経過すると再び自動再起動の試行は可能となる。引き続き処理をステップＳ４１２０７に進める。
【００６９】
ステップＳ４１２０７では、監視マネージャ１０８の自動再起動制御部３０３は、監視エージェント１０９の自動再起動を通常モードで実施するか、セーフモードで実施するかの判断を行ない、通常モードかセーフモードかの判断結果をメモリ２０２のワークエリアに記憶する。自動再起動制御部３０３は、自動再起動管理テーブル１１０１のセーフモード試行回数の値が試行回数の残回数の値以上であれば、処理をステップＳ４１２０８に進める。他方、自動再起動管理テーブル１１０１のセーフモード試行回数の値が、試行回数の残回数の値未満であれば、処理をステップＳ４１２０９に進める。
【００７０】
ステップＳ４１２０８では、監視マネージャ１０８の自動再起動制御部３０３は、セーフモード用のプロシージャを、外部記憶装置１０６上に記憶された監視エージェント開始情報３１４より取得してメモリ２０２のワークエリアに記憶し、処理をステップＳ４１２１０へ進める。なお、プロシージャには、監視エージェント１０９を起動するために必要な情報が予め設定されている。
【００７１】
ステップＳ４１２０９では、監視マネージャ１０８の自動再起動制御部３０３は、通常モード用のプロシージャを、外部記憶装置１０６上に記憶された監視エージェント開始情報３１４より取得してメモリ２０２のワークエリアに記憶し、処理をステップＳ４１２１０へ進める。
【００７２】
ステップＳ４１２１０では、監視マネージャ１０８の自動再起動制御部３０３は、メモリ２０２のワークエリアに記憶したプロシージャを使用して監視エージェント１０９の自動再起動を試行し、処理をステップＳ４１２１１に進める。ステップＳ４１２１１では、監視マネージャ１０８の自動再起動制御部３０３は、自動再起動を試行すると自動再起動管理テーブル１１０１の自動再起動の試行回数の残回数を１つ減らし、処理をステップＳ４１２１２に進める。
【００７３】
ステップＳ４１２１２では、監視マネージャ１０８の自動再起動制御部３０３は、自動再起動管理テーブル１１０１の初期化完了の待機時間中、監視エージェント１０９からの通常モードの完了通知またはセーフモードの完了通知の受信を待機する。待機時間が経過するか又は監視エージェント１０９より正常完了の完了通知を受信した場合は、受信した完了通知をメモリ２０２のワークエリアに記憶し、処理をステップＳ４１２１３に進める。
【００７４】
ステップＳ４１２１３では、監視マネージャ１０８の自動再起動制御部３０３は、監視エージェント１０９の再起動及び初期化の正常完了が待機時間内に確認できない場合、初期化に失敗したと判断して処理をステップＳ４１２０１に戻し、自動再起動を再試行する。他方、監視エージェント１０９より再起動及び初期化が正常完了した旨の通知を受信した場合は、監視マネージャ１０８による代替監視中である旨を監視エージェント１０９に通知し、処理をステップＳ１４１２１４に進める。
【００７５】
ステップＳ４１２１４では、監視マネージャ１０８は、監視エージェント１０９を通常モードで再起動したのかあるいはセーフモードで再起動したのかを、ステップＳ４１２０７でメモリ２０２のワークエリアに記憶した判断結果を用いて判定し、監視エージェント１０９をセーフモードで起動したと判定した場合処理をステップＳ４１２１５に進める。監視エージェント１０９をセーフモードで起動した場合、監視エージェント１０９は自動化処理を実行できないため、その監視エージェント１０９に対する自動化処理の実行指示を抑止する必要があるからである。他方、監視エージェント１０９を通常モードで起動したと判定した場合処理をステップＳ４１２１６に進める。
【００７６】
ステップＳ４１２１５では、監視マネージャ１０８の自動再起動制御部３０３は、自動運転制御部３０１へ対象の監視エージェント１０９への自動化処理の実行指示を抑止する旨の制御情報を送信し、この自動再起動処理を終了する。ステップＳ４１２１６では、監視マネージャ１０８の自動再起動制御部３０３は、自動運転制御部３０１へ対象の監視エージェント１０９への自動化処理の実行指示の抑止を解除（自動化をＯＮ）する旨の制御情報を送信し、この自動再起動処理を終了する（Ｓ４１２１６）。以上で図１０の説明を終わる。
【００７７】
このように自動再起動処理を実行することで、監視エージェント１０９の単体障害時に監視マネージャ１０８の代替監視やセーフモードの自動再起動により、監視エージェント１０９が再起動されるまでの間に発生していた監視中断時間を短縮することが可能となる。以上で監視マネージャ１０８が監視エージェント１０９の単体障害をおこした場合を想定した実施例１の説明を終わる。
【００７８】
[実施例２]
実施例２は本発明の実施形態の監視マネージャ１０８が、システム障害を検知した場合（図５のステップＳ５００の場合）を想定している。図７は、本発明の実施形態の監視マネージャ１０８が、システム障害を検知した際の処理を示すフローチャートである。同図は、監視エージェント１０９がシステム障害で稼動不能になった場合に、監視エージェントを他のシステムで再起動することにより、監視エージェントをシステム間で移動できる環境（例えばアプリケーションプログラムやデータベースや各種業務ファイルが記憶されているハードディスク装置などの外部記憶装置を、複数のシステムから同様にアクセスできる環境）を想定しており、緊急用通信路１０５の接続を確立しなくてもシステム障害を検知できることを想定している。尚、図７において、図６と同一の処理については、同一のステップ番号を付加し、その説明については省略する。
【００７９】
監視マネージャ１０８は、監視エージェント１０９の障害時にシステム間移動できる環境では、システム間移動管理テーブル１２０１を使用して、監視エージェント１０９をセーフモード、または、通常モードで自動再起動を試行する移動先のシステムを特定する必要がある。まず、図１４のシステム間移動管理テーブル１２０１の詳細を説明する。
【００８０】
システム間移動管理テーブル１２０１は、外部記憶装置１０６に記憶されており、システムの名前（システムＩＤ）、システム間移動対象のアプリケーションの名前（ＡＰＰＬ名）、システム間移動対象アプリケーションのグループ名（グループ名）、移動先のシステム指定（移動先）、登録されているアプリケーションの起動を確認するためのメッセージ（他ＡＰＰＬ起動確認ＭＳＧ）等の項目で構成される。これらの項目は、予め定義する必要がある。
【００８１】
システム間移動管理テーブル１２０１の移動先の項目に「ＡＮＹ」が指定されている場合、不特定システム（不特定システムの場合は、同一筐体のみならず他の筐体への移動も想定している。）で監視エージェント１０９の自動再起動が試行されることを意味する。他方、システム間移動管理テーブル１２０１の移動先の項目に具体的なシステム名が指定されている場合、指定されたシステムで監視エージェント１０９の自動再起動が試行されることを意味する。
【００８２】
システム間移動管理テーブル１２０１の移動先の項目に「ＮＯ」が指定されている場合、システム間を移動した監視エージェント１０９の自動再起動を試行しないことを意味する。本発明の実施形態の監視マネージャ１０８は、監視エージェント１０９以外の自動再起動は試行しないため、システム間移動管理テーブル１２０１に登録する他のアプリケーションに関する情報は、システム間移動を担当する製品の定義内容と一致させる必要がある。
【００８３】
次にシステム間移動管理テーブル１２０１の１から３行目を例に項目の意味を説明する。システム間移動管理テーブル１２０１の１から３行目は、ＳＹＳ１というシステムで稼動していた監視Ｅ１という名前の監視エージェント１０９と、ＡＰＰＬ１ａ、ＡＰＰＬ２という名前のアプリケーションは、同じグループであるＧＲＰ１に属している。ＳＹＳ１でシステム障害が発生した際、監視マネージャ１０８は、ＡＰＰＬ１ａ、ＡＰＰＬ２が移動先のシステムで起動された際に出力されたＭＳＧ１０００Ｉ、ＭＳＧ２０００Ｉを受信し、メッセージ発行元のシステムを監視Ｅ１の移動先システムと特定して自動再起動を試行する。図１４の例に記載していないが、監視エージェント１０９の自動起動を試行する際にグループ内での優先度を考慮した設計としてもよい。
【００８４】
次に図７のフローチャート及び、図１４のシステム間移動管理テーブル１２０１を参照しつつ本発明の実施形態の監視マネージャ１０８が、システム障害を検知した際の代替監視制御について説明する。ステップＳ５１１では、監視マネージャ１０８の代替監視制御部３０２は、外部記憶装置１０６上に記憶されたシステム間移動管理テーブル１２０１を読み込み、監視対象エージェント１０９のシステム間移動を管理する上で必要な情報をメモリ２０２のワークエリアに記憶し、処理をステップＳ５１２に進める。
【００８５】
ステップＳ５１２では、監視マネージャ１０８の代替監視制御部３０２は、システム間移動管理テーブル１２０１の該当監視エージェント１０９の移動先項目に「ＮＯ」が指定されていた場合、代替監視制御を終了する。他方、該当監視エージェント１０９の移動先項目に「ＮＯ」が指定されていない場合、処理をステップＳ４１１に進める。
【００８６】
ステップＳ４１１の監視マネージャによる代替監視の開始は図６で既に説明したので詳細は省略する。ステップＳ４１１から処理をステップＳ５１３に進める。
【００８７】
ステップＳ５１３では、監視マネージャ１０８の代替監視制御部３０２は、システム間移動管理テーブル１２０１の該当監視エージェント１０９の移動先項目に「ＡＮＹ」または特定のシステム名が指定されていた場合、監視エージェント１０９の移動先システムを特定する。特定のシステム名が指定されていた場合、そのシステムを監視エージェント１０９の移動先システムと特定する。「ＡＮＹ」の場合は、他ＡＰＰＬ起動確認ＭＳＧに登録されているメッセージを受信待ちし、受信メッセージの発行元システムを移動先システムと特定し、処理をステップＳ４１２に進める。
【００８８】
ステップＳ４１２では、移動管理テーブル１２０１の該当監視エージェント１０９の移動先項目に記憶されているシステムにシステム障害を起こしたシステムの該等監視エージェント１０９を再起動させるための制御情報を送信する点が実施例１とは異なる。他の点はステップＳ４１２の監視エージェント１０９の自動再起動処理乃至ステップＳ４１４の監視マネージャ１０８による代替監視の停止は図６で既に説明したので詳細は省略するが、ステップＳ４１４では、代替監視を停止する旨の通知を移動先の監視エージェント１０９に送信する点が実施例１と異なる。
【００８９】
ステップＳ４１４からステップＳ４１６に処理を進める。ステップＳ４１６の障害情報の同期化とステップＳ４１７の監視エージェント１０９へ障害情報を送信するステップも図６で既に説明したので詳細は省略する。監視エージェント１０９側の処理であるステップＳ４２１乃至ステップＳ４２４も、監視エージェント１０９が移動先のシステムで稼動する点が異なるだけであり、図６で既に説明したので詳細は省略する。
【００９０】
このように処理することで、監視エージェント１０９の障害時にシステム間移動できる環境に本発明を適用することが可能である。このような環境に本発明を適用した場合、監視エージェント１０９が再起動されるまでの間に発生していた監視中断時間が、監視マネージャ１０８の代替監視によって短縮することが可能となる。
【００９１】
[実施例３]
図８、図９は、本発明の実施形態の監視マネージャ１０８が、監視エージェント１０９からの切替指示（切替要求又は切替停止要求）を契機に代替監視を開始／停止する処理のフローチャートである。実施例３は図５のステップＳ６００の場合に該当する。尚、図８、図９において、図６と同一の処理については、同一のステップ番号を付加し、その説明については省略する。
【００９２】
図８を使用して監視マネージャ１０８が、監視エージェント１０９からの切替指示を契機に代替監視を開始する処理の詳細を説明する。ステップＳ６１０では、監視エージェント１０９の通知制御部３０４は、必要に応じて監視マネージャ１０８の自動運転制御部３０１へ代替監視への切替要求を送信する。この切替要求には、送信元のシステム名と監視エージェント１０９の名前（ＡＰＰＬ名）が含まれている。
【００９３】
ステップＳ６２０では、監視マネージャ１０８の自動運転制御部３０１は、代替監視の切替要求を受信すると代替監視制御部３０２に切替要求を送信する。代替監視制御部３０２は、送信元のシステム名と監視エージェント１０９の名前の情報（ＡＰＰＬ名）を受信し、送信元のシステム名とＡＰＰＬ名とをメモリ２０２のワークエリアに記憶し、処理をステップＳ６３０に進める。
【００９４】
ステップＳ６３０では、監視マネージャ１０８の代替監視制御部３０２は、代替監視の開始通知を切替要求の送信元のシステムに対して送信し、受動監視経路のための緊急用通信路１０５を確立し、処理をステップＳ４１１に進める。ステップＳ４１１では代替監視状態を開始する。ステップＳ４１１の詳細は図６で説明したので省略する。
【００９５】
最後に図９を使用して監視マネージャ１０８が、監視エージェント１０９からの切替指示（切替停止要求）を契機に代替監視を停止する処理の詳細を説明する。まずステップＳ６４０では、監視エージェント１０９の通知制御部３０４は、必要に応じて監視マネージャ１０８の自動運転制御部３０１へ代替監視の切替停止要求を送信する。この停止通知電文には、送信元のシステム名と監視エージェント１０９の名前が含まれている（Ｓ６４０）。
【００９６】
ステップＳ６５０では、監視マネージャ１０８の自動運転制御部３０１は、代替監視の停止通知を受信すると代替監視制御部３０２を作動させる。代替監視制御部３０２は、作動時に送信元のシステム名と監視エージェント１０９の名前の情報を取得している。その後、ステップS４１４で監視マネージャ１０８による代替監視状態が停止され、ステップＳ４１６で障害情報の同期化が必要と判定した場合はステップＳ４１７に処理を進め、障害情報（監視マネージャ用）３１２が監視エージェント１０９へ送信される。ステップＳ４１４の監視マネージャ１０８による代替監視の停止乃至ステップＳ４１７の監視エージェント１０９への障害情報の送信は図６で既に説明したので詳細な説明は省略する。又監視エージェント１０９側の処理であるステップ４２３の障害情報の受信及び障害状況ファイル３１５の更新も図６で既に説明したので詳細は省略する。
【００９７】
このようにすれば、監視エージェント１０９が稼動するシステムで一時的に発生した大量メッセージが監視エージェント１０９内のデータスペース不足を招きメッセージ消失による監視中断が発生した場合でも、監視マネージャ１０８が代替監視することで監視中断時間を短縮することが可能となる。具体的には、監視エージェント１０９が、データスペース使用量の警告上限値と警告下限値を監視し、警告上限値に達した場合に監視マネージャ１０８による代替監視を開始し、警告下限値に収束した場合に代替監視を停止するようにすればメッセージ消失による監視中断時間を短縮することが可能となる。
【００９８】
[実施例４]
本実施形態における図５乃至図１１のフローチャートの各処理，図４の画面に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【００９９】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１００】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１０１】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１０２】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０１０３】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。
【０１０４】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０５】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０６】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１０７】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１０８】
以上説明したように本発明によれば、監視エージェント１０９の障害を検知した場合や異常終了を検知した場合、監視マネージャ１０８の代替監視やセーフモードでの自動再起動の試行によって、自動再起動の停止による監視中断時間を短縮することが可能である。また、監視エージェント１０９の代替監視終了手段によって、監視エージェント１０９が異常終了しない場合の監視中断時間を短縮することが可能である。
【図面の簡単な説明】
【０１０９】
【図１】本発明の実施形態に係る監視制御システムの全体構成図（監視エージェント障害発生時）を示す図である。
【図２】本発明の実施形態の各種端末のハードウエア構成を示す図である。
【図３】本発明を適用した監視制御システムにおける機能ブロック図を示す図である。
【図４】本発明を適用したシステムの監視端末１０３における監視画面の一例を示す図である。
【図５】本発明を適用したシステムの代替監視制御の基本的な処理を示すフローチャートである。
【図６】本発明の実施形態の監視エージェントの単体障害を検知した際の代替監視制御の処理を示すフローチャートである。
【図７】本発明の実施形態のシステム障害を検知した際の代替監視制御を示すフローチャートである。
【図８】本発明の実施形態の監視エージェントからの切替指示を契機に代替監視を開始する際のフローチャートである。
【図９】本発明の実施形態の監視エージェントからの切替指示を契機に代替監視を停止する際のフローチャートである。
【図１０】本発明の実施形態の監視マネージャによる監視エージェントの自動再起動を示すフローチャートである。
【図１１】本発明の実施形態の監視マネージャによる代替監視の開始を示す詳細フローチャートである。
【図１２】本発明の実施形態の監視マネージャによる代替監視の停止を示す詳細フローチャートである。
【図１３】本発明の実施形態の自動再起動管理テーブルの一例を示す図である。
【図１４】本発明の実施形態のシステム間移動管理テーブルの一例を示す図である。
【図１５】本発明の実施形態の監視情報テーブル（代替監視用）の一例を示す図である。
【図１６】本発明の実施形態の障害情報の一例を示す図である。
【図１７】本発明の実施形態の監視状況ファイルの一例を示す図である。
【符号の説明】
【０１１０】
１０１  コンピュータシステムＡ
１０２  コンピュータシステムＢ
１０３  監視端末
１０４  通常時通信路
１０５  緊急用通信路
１０６  外部記憶装置
１０７  外部記憶装置
１０８  監視マネージャ
１０９  監視エージェント
２０１  ＣＰＵ
２０２  メモリ
２０３  システムバス
２０４  入出力サブシステム
２０５  端末制御装置
２０６  ディスク制御装置
２０７  通信制御装置
【図１】
2010146436.tif 000003
【図２】
2010146436.tif 000004
【図３】
2010146436.tif 000005
【図４】
2010146436.tif 000006
【図５】
2010146436.tif 000007
【図６】
2010146436.tif 000008
【図７】
2010146436.tif 000009
【図８】
2010146436.tif 000010
【図９】
2010146436.tif 000011
【図１０】
2010146436.tif 000012
【図１１】
2010146436.tif 000013
【図１２】
2010146436.tif 000014
【図１３】
2010146436.tif 000015
【図１４】
2010146436.tif 000016
【図１５】
2010146436.tif 000017
【図１６】
2010146436.tif 000018
【図１７】
2010146436.tif 000019