(57)【特許請求の範囲】
【請求項１】
第１の情報処理装置から監視対象の項目に対する監視のための要求を受信すると、前記項目の監視を行う条件を前記第１の情報処理装置に問い合わせるとともに、他の情報処理装置の識別情報に対応付けて前記他の情報処理装置による監視対象項目と監視を行う条件とを記憶する記憶部を参照して、自身に対して前記項目と同じ項目の監視を行う第２の情報処理装置が存在するか確認し、
前記第２の情報処理装置が存在する場合、前記第１の情報処理装置および前記第２の情報処理装置の何れか１つの情報処理装置に、前記１つの情報処理装置以外の情報処理装置が前記項目の監視を行う条件で、前記項目の監視を行うよう指示するとともに、前記１つの情報処理装置以外の情報処理装置に前記項目に対する監視のための要求を送信しないよう指示する、
処理をコンピュータに実行させる情報処理プログラム。
【請求項２】
前記第１の情報処理装置および前記第２の情報処理装置に関する所定の指標に基づいて、前記１つの情報処理装置を選択する、処理をコンピュータに実行させる請求項１記載の情報処理プログラム。
【請求項３】
前記指標は、前記第１の情報処理装置と前記第２の情報処理装置それぞれとの間の通信の応答速度である、請求項２記載の情報処理プログラム。
【請求項４】
前記１つの情報処理装置以外の情報処理装置の識別情報を前記１つの情報処理装置に通知する、処理をコンピュータに実行させる請求項１乃至３の何れか一項に記載の情報処理プログラム。
【請求項５】
自身が監視する第１の情報処理装置から、自身が監視する項目と同じ項目に対して監視を行う条件と第２の情報処理装置の識別情報とを受信して記憶部に格納し、
前記記憶部に格納された前記条件に基づいて、前記第１の情報処理装置の前記項目の監視を行い、
前記監視の結果を前記第２の情報処理装置に送信する、
処理をコンピュータに実行させる情報処理プログラム。
【請求項６】
前記記憶部に格納された前記項目の監視を行う自身の条件および前記第１の情報処理装置から受信した前記条件に基づいて、前記監視を行う監視スケジュールを決定する、処理をコンピュータに実行させる請求項５記載の情報処理プログラム。
【請求項７】
前記自身の条件が第１の周期で監視を行うことを示し、前記第１の情報処理装置から受信した前記条件が第２の周期で監視を行うことを示すとき、第１の周期による監視タイミングと第２の周期による監視タイミングとが合うように前記監視スケジュールを決定する、処理をコンピュータに実行させる請求項６記載の情報処理プログラム。
【請求項８】
前記第１の情報処理装置から、前記第２の情報処理装置が前記項目の監視結果につき異常と判断するための通知条件を受信して、記憶部に格納し、
前記記憶部に格納された前記通知条件に基づいて、前記監視の結果が異常と判断されたときに、前記監視の結果を前記第２の情報処理装置に送信する、
処理をコンピュータに実行させる請求項５乃至７の何れか一項に記載の情報処理プログラム。
【請求項９】
第１の情報処理装置から監視対象の項目に対する監視のための要求を受信すると、前記項目の監視を行う条件を前記第１の情報処理装置に問い合わせるとともに、他の情報処理装置の識別情報に対応付けて前記他の情報処理装置による監視対象項目と監視を行う条件とを記憶する記憶部を参照して、自身に対して前記項目と同じ項目の監視を行う第２の情報処理装置が存在するか確認する制御部と、
前記第２の情報処理装置が存在する場合、前記第１の情報処理装置および前記第２の情報処理装置の何れか１つの情報処理装置に、前記１つの情報処理装置以外の情報処理装置が前記項目の監視を行う条件で、前記項目の監視を行うよう指示するとともに、前記１つの情報処理装置以外の情報処理装置に前記項目に対する監視のための要求を送信しないよう指示する指示部と、
を有する情報処理装置。
【請求項１０】
自身が監視する第１の情報処理装置から、自身が監視する項目と同じ項目に対して監視を行う条件と第２の情報処理装置の識別情報とを受信して記憶部に格納し、前記記憶部に格納された前記条件に基づいて、前記第１の情報処理装置の前記項目の監視を行う監視実行部と、
前記監視の結果を前記第２の情報処理装置に送信する送信部と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は装置の運用管理を行うための情報処理プログラムおよび情報処理装置に関する。
【背景技術】
【０００２】
従来、種々の情報処理システムが利用されている。情報処理システムでは、安定稼働のための運用管理が行われる。例えば、運用管理を行う装置が、情報処理システムに含まれる装置やプログラムの動作状況を監視する。監視により、異常箇所を早期に発見し対処できる。
【０００３】
情報処理システムでは、監視対象を容易に管理する方法が考えられている。例えば、クライアントモジュールが監視対象項目、監視間隔および監視指示などをモニタモジュールに与え、モニタモジュールが当該指示などに基づいて管理対象のモジュールを監視することで、監視対象などの追加に容易に対応する方法が提案されている。
【０００４】
また、例えば、監視や制御に関する処理を行うための機能処理部のうち、予め決められた代表機能処理部が、他の機能処理部を代表して配信処理部との送受信データの受け渡しを行うことで、配信処理部における負荷の軽減を図る方法が提案されている。
【０００５】
更に、例えば、被監視マシンが、該被監視マシン上の監視対象のエージェントの起動に伴って、該エージェントに割り当てられたポート番号を監視マシンに送信することで、被監視マシンのポート番号の変更に対応する方法が提案されている。監視マシンは、受信したポート番号に基づいて、該エージェントとポート番号との対応関係を更新して、被監視マシンの監視を行う。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−２４３３８９号公報
【特許文献２】特開２００１−６７３３４号公報
【特許文献３】特開２００６−１３９６４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、複数の監視元装置（監視する側）が１つの監視先装置（監視される側）に対して、同じ項目を監視することがある。例えば、各監視元装置で異なった目的がある場合には、各監視元装置が、同じ項目の監視結果を監視先装置から別個に取得することがある。また、例えば、各監視元装置上の各アプリケーションが、各アプリケーションの処理のために、同じ項目の監視結果を監視先装置から別個に取得することがある。
【０００８】
しかしながら、１つの監視先装置の同じ項目について重複して監視が行われると効率が悪いという問題がある。例えば、監視のための要求がある期間に集中して監視先装置に送出され、ネットワークや監視先装置の負荷が高まるおそれがある。
【０００９】
本発明はこのような点に鑑みてなされたものであり、効率的に装置の監視を行えるようにした情報処理プログラムおよび情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
情報処理プログラムが提供される。この情報処理プログラムは、第１の情報処理装置から監視対象の項目に対する監視のための要求を受信すると、該項目の監視を行う条件を第１の情報処理装置に問い合わせるとともに、他の情報処理装置の識別情報に対応付けて他の情報処理装置による監視対象項目と監視を行う条件とを記憶する記憶部を参照して、自身に対して該項目と同じ項目の監視を行う第２の情報処理装置が存在するか確認し、第２の情報処理装置が存在する場合、第１の情報処理装置および第２の情報処理装置の何れか１つの情報処理装置に、該１つの情報処理装置以外の情報処理装置が該項目の監視を行う条件で、該項目の監視を行うよう指示するとともに、該１つの情報処理装置以外の情報処理装置に該項目に対する監視のための要求を送信しないよう指示する、処理をコンピュータに実行させる。
【００１１】
また、情報処理プログラムが提供される。この情報処理プログラムは、自身が監視する第１の情報処理装置から、自身が監視する項目と同じ項目に対して監視を行う条件と第２の情報処理装置の識別情報とを受信して記憶部に格納し、記憶部に格納された該条件に基づいて、第１の情報処理装置の該項目の監視を行い、該監視の結果を第２の情報処理装置に送信する、処理をコンピュータに実行させる。
【００１２】
また、制御部と指示部とを有する情報処理装置が提供される。制御部は、第１の情報処理装置から監視対象の項目に対する監視のための要求を受信すると、該項目の監視を行う条件を第１の情報処理装置に問い合わせるとともに、他の情報処理装置の識別情報に対応付けて他の情報処理装置による監視対象項目と監視を行う条件とを記憶する記憶部を参照して、自身に対して該項目と同じ項目の監視を行う第２の情報処理装置が存在するか確認する。指示部は、第２の情報処理装置が存在する場合、第１の情報処理装置および第２の情報処理装置の何れか１つの情報処理装置に、該１つの情報処理装置以外の情報処理装置が該項目の監視を行う条件で、該項目の監視を行うよう指示するとともに、該１つの情報処理装置以外の情報処理装置に該項目に対する監視のための要求を送信しないよう指示する。
【００１３】
また、監視実行部と送信部とを有する情報処理装置が提供される。監視実行部は、自身が監視する第１の情報処理装置から、自身が監視する項目と同じ項目に対して監視を行う条件と第２の情報処理装置の識別情報とを受信して記憶部に格納し、記憶部に格納された該条件に基づいて、第１の情報処理装置の項目の監視を行う。送信部は、該監視の結果を第２の情報処理装置に送信する。
【発明の効果】
【００１４】
効率的に装置の監視を行える。
【図面の簡単な説明】
【００１５】
【図１】第１の実施の形態の情報処理システムを示す図である。
【図２】第２の実施の形態の情報処理システムを示す図である。
【図３】サーバ装置のハードウェア例を示す図である。
【図４】第２の実施の形態のサーバ装置の機能を示すブロック図である。
【図５】アクセス記録テーブルのデータ構造例を示す図である。
【図６】監視先装置の処理を示すフローチャートである。
【図７】監視元装置の処理を示すフローチャートである。
【図８】監視代行依頼の処理を示すシーケンス図である。
【図９】監視代行の処理を示すシーケンス図である。
【図１０】スケジュールの調整例を示す図である。
【図１１】監視処理例を示す図である。
【図１２】第３の実施の形態のサーバ装置の機能を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下、本実施の形態を図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態の情報処理システムを示す図である。この情報処理システムでは、情報処理装置１，２，３それぞれがネットワークを介して通信可能に接続されている。情報処理装置２，３は、情報処理装置１を監視する。例えば、情報処理装置２，３は、情報処理装置１上の所定の機能の死活監視、情報処理装置１上の所定のデバイス・プログラムの動作や状態の監視などを行う。情報処理装置１は、記憶部１ａ、制御部１ｂおよび指示部１ｃを有する。
【００１７】
記憶部１ａは、情報処理装置の識別情報に対応付けて該情報処理装置による監視対象項目と監視を行う条件（以下、監視条件ということがある）とを記憶する。
情報処理装置の識別情報は、情報処理システム内で各情報処理装置を一意に特定するための情報である。例えば、情報処理装置の識別情報は、ＩＰ（Internet Protocol）アドレスである。情報処理装置の識別情報は、所定のプログラム（例えば、ＯＳ（Operating System）やアプリケーションのプログラム）が情報処理装置に付与した識別情報でもよい。
【００１８】
監視対象項目は、監視対象の項目である（以下、監視項目ということがある）。例えば、監視対象となり得る項目としては、所定の機能の死活監視や、所定のデバイスの状態監視などがある。例えば、通信機能の死活監視は、ＩＣＭＰ（Internet Control Message Protocol）により行える。また、例えば、デバイスの状態監視は、ＳＮＭＰ（Simple Network Management Protocol）により行える。
【００１９】
記憶部１ａは、ＲＡＭ（Random Access Memory）やＨＤＤ（Hard Disk Drive）として実装してもよい。
制御部１ｂは、情報処理装置３から監視対象の項目に対する監視のための要求（以下、監視要求ということがある）を受信すると、該項目の監視条件を情報処理装置３に問い合わせる。また、制御部１ｂは、記憶部１ａを参照し、自身に対して該項目と同じ項目の監視を行う情報処理装置２が存在するか確認する。
【００２０】
指示部１ｃは、情報処理装置２が存在する場合、情報処理装置２，３のうちの１つの情報処理装置に、該１つの情報処理装置以外の情報処理装置による該項目の監視条件で、該項目の監視を行うよう指示する。例えば、指示部１ｃは、情報処理装置２に対して、情報処理装置３が監視を行う条件での該項目の監視を指示する。このとき、指示部１ｃは、情報処理装置２，３の性能や能力などを示す指標に基づいて何れかを選択し、該指示を行うようにしてもよい。例えば、応答時間の短い方を選択してもよい。
【００２１】
また、指示部１ｃは、該１つの情報処理装置以外の情報処理装置に対して、該項目の監視要求を送信しないように指示する。例えば、指示部１ｃは、情報処理装置２に対して監視の指示を行った場合、情報処理装置３に対して、該項目の監視要求を送信しないように指示する。
【００２２】
ここで、制御部１ｂおよび指示部１ｃは、ＣＰＵ（Central Processing Unit）とＲＡＭを用いて実行されるプログラムとして実装してもよい。
情報処理装置１によれば、制御部１ｂにより、情報処理装置３から監視対象の項目に対する監視のための要求が受信されると、情報処理装置３に該項目の監視を行う条件の問い合わせが行われるとともに、記憶部１ａが参照されて、自身に対して該項目と同じ項目の監視を行う情報処理装置２が存在するか確認される。情報処理装置２が存在する場合、指示部１ｃにより、情報処理装置２，３のうちの１つの情報処理装置に、該１つの情報処理装置以外の情報処理装置が該項目の監視を行う条件で、該項目の監視を行うよう指示されるとともに、該１つの情報処理装置以外の情報処理装置に該項目の監視要求を送信しないよう指示される。
【００２３】
これにより、効率的に監視を行える。具体的には、情報処理装置１に対し同じ項目について監視を行う情報処理装置２，３が存在するとき、情報処理装置１が情報処理装置２に情報処理装置３の分の監視を依頼することで、該項目の監視元を情報処理装置２に集約できる。監視元を集約すれば、情報処理装置１は情報処理装置３からの監視要求に応答しなくてもよくなる。また、情報処理装置３に監視要求を送信しないように指示することで、余分な監視要求の送出を抑制できる。よって、ネットワークの負荷や監視先である情報処理装置１の負荷を軽減できる。
【００２４】
このとき、監視元を情報処理装置２，３の何れに集約するかを、情報処理装置２，３に関する性能などの指標に基づいて選択すれば、より高速に監視を行える監視元装置を容易に選択可能となる。
【００２５】
［第２の実施の形態］
図２は、第２の実施の形態の情報処理システムを示す図である。この情報処理システムは、サーバ装置１００，２００，３００を有する。サーバ装置１００，２００，３００は、ネットワーク１０を介して、相互にデータ通信可能に接続されている。サーバ装置１００，２００，３００は、所定のサービスを提供する機能を備えた情報処理装置である。
【００２６】
サーバ装置１００は、業務アプリケーションのプログラムを実行する。
サーバ装置２００，３００は、サーバ装置１００上のデバイスの動作状況およびＯＳやアプリケーションのプログラムの実行状況などを監視する。サーバ装置２００，３００は、サーバ装置１００上の同じ項目を監視対象にしている。
【００２７】
ここで、サーバ装置１００は、サーバ装置２００，３００により監視される監視先装置である。サーバ装置２００，３００は、サーバ装置１００を監視する監視元装置である。
図３は、サーバ装置のハードウェア例を示す図である。サーバ装置１００は、ＣＰＵ１０１、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ１０３、ＨＤＤ１０４、グラフィック処理装置１０５、入力インタフェース１０６、ディスクドライブ１０７および通信インタフェース１０８を有する。
【００２８】
ＣＰＵ１０１は、ＯＳやアプリケーションのプログラムを実行して、サーバ装置１００全体を制御する。
ＲＯＭ１０２は、サーバ装置１００の起動時に実行されるＢＩＯＳ（Basic Input / Output System）プログラムなどの所定のプログラムを記憶する。ＲＯＭ１０２は、書き換え可能な不揮発性メモリであってもよい。
【００２９】
ＲＡＭ１０３は、ＣＰＵ１０１が実行するＯＳやアプリケーションのプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ１０３は、ＣＰＵ１０１の処理に用いられるデータの少なくとも一部を一時的に記憶する。
【００３０】
ＨＤＤ１０４は、ＯＳプログラムやアプリケーションプログラムを記憶する。また、ＨＤＤ１０４は、ＣＰＵ１０１の処理に用いられるデータを記憶する。なお、ＨＤＤ１０４に代えて（または、ＨＤＤ１０４と併せて）、ＳＳＤ（Solid State Drive）など他の種類の不揮発性の記憶装置を用いてもよい。
【００３１】
グラフィック処理装置１０５は、モニタ１１に接続される。グラフィック処理装置１０５は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１に表示させる。
入力インタフェース１０６は、キーボード１２やマウス１３などの入力デバイスに接続される。入力インタフェース１０６は、入力デバイスから送られる入力信号をＣＰＵ１０１に出力する。
【００３２】
ディスクドライブ１０７は、記録媒体１４に格納されたデータを読み取る読取装置である。記録媒体１４には、例えば、サーバ装置１００に実行させるプログラムが記録されている。サーバ装置１００は、例えば、記録媒体１４に記録されたプログラムを実行することで、後述するような機能を実現できる。すなわち、当該プログラムはコンピュータ読み取り可能な記録媒体１４に記録して配布可能である。
【００３３】
記録媒体１４としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリを使用できる。磁気記録装置には、ＨＤＤ、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＣＤ（Compact Disc）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−Ｒ／ＲＷ／ＲＡＭなどがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。半導体メモリには、ＵＳＢ（Universal Serial Bus）メモリなどのフラッシュメモリがある。
【００３４】
通信インタフェース１０８は、ネットワーク１０に接続される。通信インタフェース１０８は、ネットワーク１０を介してサーバ装置２００，３００とデータ通信を行える。
なお、サーバ装置２００，３００もサーバ装置１００と同様のハードウェア構成により実現できる。
【００３５】
図４は、第２の実施の形態のサーバ装置の機能を示すブロック図である。サーバ装置１００は、記憶部１１０および監視制御部１２０を有する。サーバ装置１００の構成要素の機能は、例えばＣＰＵ１０１が所定のプログラムを実行することにより、サーバ装置１００上に実現される。サーバ装置１００の構成要素の機能の全部または一部を専用のハードウェアで実装してもよい。
【００３６】
記憶部１１０は、アクセス記録テーブルを記憶する。アクセス記録テーブルは、１つの監視先装置に対する監視元装置を管理するためのデータである。アクセス記録テーブルには、各監視元装置の識別情報（例えば、ＩＰアドレス）、監視項目および監視条件などが設定される。アクセス記録テーブルは、監視先装置ごとに設けられる。第２の実施の形態では、監視先装置としてサーバ装置１００が存在する。このため、記憶部１１０は、サーバ装置１００を監視する監視元装置を管理するためのアクセス記録テーブルを記憶する。ここで、以下では、アクセス記録テーブルに設定される識別情報、監視項目および監視条件などの情報を監視情報ということがある。
【００３７】
監視制御部１２０は、サーバ装置２００，３００から監視要求を受信する。監視制御部１２０は、記憶部１１０に記憶されたアクセス記録テーブルを参照して、自身に対し、当該監視要求に係る項目と同じ項目の監視を行う他のサーバ装置が存在するか確認する。同じ項目の監視を行う他のサーバ装置が存在する場合には、何れかのサーバ装置に該項目の監視を集約する。
【００３８】
例えば、サーバ装置３００から監視要求を受信したとき、該監視要求に係る項目と同じ項目の監視を行うサーバ装置２００が存在する場合、監視制御部１２０は、サーバ装置３００の条件で該項目の監視を代行するようサーバ装置２００に依頼する。監視代行の依頼には、サーバ装置３００による該項目の監視についての監視情報が含まれる。
【００３９】
監視代行の依頼先を決定するとき、監視制御部１２０は、サーバ装置２００，３００の性能や能力を示す指標（例えば、通信の応答時間）に基づいて、依頼先を選択する。監視制御部１２０は、監視の代行を依頼しなかった方のサーバ装置に対し、監視要求の送信を停止するよう指示する。監視制御部１２０は、第１の実施の形態で説明した制御部１ｂおよび指示部１ｃの機能を含む。
【００４０】
サーバ装置２００は、記憶部２１０、監視実行部２３０および通知処理部２４０を有する。サーバ装置２００の構成要素の機能は、例えばサーバ装置２００が備えるＣＰＵが所定のプログラムを実行することにより、サーバ装置２００上に実現される。サーバ装置２００の構成要素の機能の全部または一部を専用のハードウェアで実装してもよい。
【００４１】
記憶部２１０は、アクセス記録テーブルを記憶する。アクセス記録テーブルは、上述したように１つの監視先装置に対する監視元装置を管理するためのデータである。アクセス記録テーブルは、監視先装置ごとに設けられる。第２の実施の形態では、監視先装置としてサーバ装置１００が存在する。このため、記憶部２１０は、サーバ装置１００を監視する監視元装置を管理するためのアクセス記録テーブルを記憶する。
【００４２】
例えば、アクセス記録テーブルには、管理者がサーバ装置２００に入力した所定の監視情報が予め設定される。サーバ装置２００は、そのような操作入力を受け付けるためのＧＵＩ（Graphical User Interface）をサーバ装置２００に接続されたモニタ（あるいは、他の情報処理装置に接続されたモニタ）に表示させてもよい。例えば、管理者は、該ＧＵＩに沿ってサーバ装置２００（あるいは、他の情報処理装置）に接続された入力装置を操作し、所望の監視情報をサーバ装置２００に入力できる。
【００４３】
監視実行部２３０は、記憶部２１０に記憶されたアクセス記録テーブル上の監視情報を参照して、監視のためのスケジュールを決定し、サーバ装置１００の監視を行う。具体的には、監視実行部２３０は、監視情報に含まれる監視項目につき該項目を監視する条件が成立したときに、サーバ装置１００に対して、監視要求を送信する。サーバ装置１００では、該要求に応じて監視制御部１２０により、該項目の観測が行われる。そして、監視実行部２３０は、サーバ装置１００から観測により得られた情報（以下、監視結果という）を受信する。監視実行部２３０は、監視結果に基づいて、サーバ装置１００の異常の有無を確認する。監視実行部２３０は、異常を検知したときは、該異常に対処するための所定の処理（以下、異常時処理ということがある）を実行する。あるいは、異常時処理の実行を他の処理部に依頼してもよい。
【００４４】
監視実行部２３０は、サーバ装置３００による該項目の監視代行を、監視制御部１２０から依頼されることがある。このとき、監視実行部２３０は、その依頼とともに、サーバ装置３００の監視情報を受信し、アクセス記録テーブルに記録する。監視実行部２３０は、アクセス記録テーブルに記録された監視情報に基づいて、監視のためのスケジュールを決定し、該項目の監視を行う。監視実行部２３０は、自身の監視条件とサーバ装置３００の監視条件と併せて該スケジュールを決定する。
【００４５】
また、監視実行部２３０は、ある項目に対する監視要求の送信を停止するよう監視制御部１２０から指示されると、該項目に対する監視要求の送信を停止する。この場合、監視実行部２３０は、サーバ装置３００から取得した該項目の監視結果に基づいて、サーバ装置１００の異常を検知する。
【００４６】
通知処理部２４０は、監視実行部２３０がサーバ装置３００による監視を代行したとき、その監視結果をサーバ装置３００に通知する。また、サーバ装置３００がサーバ装置２００による監視を代行するとき、通知処理部２４０は、サーバ装置３００から該項目に関する監視結果を受信する。その場合、通知処理部２４０は、監視実行部２３０に該監視結果を出力する。
【００４７】
サーバ装置３００は、記憶部３１０、監視実行部３３０および通知処理部３４０を有する。サーバ装置３００の構成要素の機能は、例えばサーバ装置３００が備えるＣＰＵが所定のプログラムを実行することにより、サーバ装置３００上に実現される。ただし、サーバ装置３００の構成要素の機能の全部または一部を専用のハードウェアで実装してもよい。
【００４８】
ここで、記憶部３１０、監視実行部３３０および通知処理部３４０は、それぞれ記憶部２１０、監視実行部２３０および通知処理部２４０と同様の機能を実現する。ただし、サーバ装置２００，３００の一方が他方の監視を代行して行うことがある。その場合には、代行する側のサーバ装置と代行される側のサーバ装置とでは、同じ機能を有する構成要素であっても、実行する処理が異なる。
【００４９】
例えば、代行する側がサーバ装置２００であり、代行される側がサーバ装置３００である場合、次のようになる。
監視実行部２３０は、監視実行部３３０による監視を代行する。通知処理部２４０は、監視実行部２３０が監視実行部３３０の監視を代行すると、監視結果を通知処理部３４０に送信する。
【００５０】
通知処理部３４０は、通知処理部２４０が送信した監視結果を監視実行部３３０に出力する。監視実行部３３０は、通知処理部３４０を介して取得した監視結果に基づいて、サーバ装置１００の異常を検知する。
【００５１】
代行する側がサーバ装置３００であり、代行される側がサーバ装置２００である場合には、監視実行部２３０，３３０の役割を入れ替え、通知処理部２４０，３４０の役割を入れ替えればよい。
【００５２】
以下では代行する側がサーバ装置２００であり、代行される側がサーバ装置３００である場合を想定する。次に、記憶部１１０，２１０，３１０に記憶されたアクセス記録テーブルを説明する。
【００５３】
図５は、アクセス記録テーブルのデータ構造例を示す図である。図５（Ａ）は、アクセス記録テーブル１１１を示している。アクセス記録テーブル１１１は、記憶部１１０に格納される。図５（Ｂ）は、アクセス記録テーブル２１１を示している。アクセス記録テーブル２１１は、記憶部２１０に格納される。図５（Ｃ）は、アクセス記録テーブル３１１を示している。アクセス記録テーブル３１１は、記憶部３１０に格納される。アクセス記録テーブル１１１，２１１，３１１は、監視先装置ごとに設けられる。アクセス記録テーブル１１１，２１１，３１１は、サーバ装置１００が監視先装置である場合のテーブルである。他のサーバ装置が監視先装置として存在する場合、当該他のサーバ装置に対応するアクセス記録テーブルが記憶部１１０，２１０，３１０に格納される。
【００５４】
ここで、アクセス記録テーブル１１１，２１１，３１１のデータ構造は同一である。以下では、アクセス記録テーブル１１１のデータ構造を説明するが、アクセス記録テーブル２１１，３１１も同様である。
【００５５】
アクセス記録テーブル１１１には、アクセスＩＤ（IDentifier）、監視項目、監視条件および通知条件の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの監視元装置の情報を示す。
【００５６】
アクセスＩＤの項目には、監視元装置を識別するための識別情報が設定される。該識別情報は、例えばＩＰアドレスである。ここで、サーバ装置１００のＩＰアドレスは“１９２．１６８．０．１”とする。サーバ装置２００のＩＰアドレスは“１９２．１６８．０．２”とする。サーバ装置３００のＩＰアドレスは“１９２．１６８．０．３”とする。
【００５７】
監視項目の項目には、監視対象の項目が設定される。監視条件の項目には、該項目の監視を実行するタイミングを示す情報が設定される。通知条件の項目には、監視先装置での監視結果が正常か異常かを判断するための条件が設定される。
【００５８】
例えば、アクセス記録テーブル１１１には、アクセスＩＤが“１９２．１６８．０．２”、監視項目が“死活監視”、監視条件が“監視周期：１０（ｍｓｅｃ（millisecond））”、通知条件が“応答遅延が１０（ｍｓｅｃ）以内：正常、それ以外：異常”という情報が設定される。
【００５９】
これは、サーバ装置１００に対する監視元装置として、サーバ装置２００（ＩＰアドレス“１９２．１６８．０．２”）が存在していることを示す。サーバ装置２００により監視対象とされている項目が“死活監視”（ここでは、通信機能の死活監視とする）であることを示す。通信機能の死活監視は、例えばｐｉｎｇコマンドの実行（ＩＣＭＰのエコー要求の送信およびエコー応答の受信）により行える。また、該項目の監視を実行するタイミングが、１０ミリ秒ごとの周期であることを示す。また、エコー要求に対するエコー応答の応答遅延が１０ミリ秒以内であれば、正常とみなし、該応答遅延がそれ以外（１０ミリ秒よりも大きい）であれば、異常とみなすことを示す。
【００６０】
ここで、アクセス記録テーブル１１１には、監視元装置であるサーバ装置２００の情報が設定されている。監視先装置であるサーバ装置１００は、自身に対して“死活監視”を行うサーバ装置２００の情報を管理する。
【００６１】
アクセス記録テーブル２１１には、監視元装置であるサーバ装置２００，３００の情報が設定されている。サーバ装置２００は、サーバ装置３００の監視情報も管理することで、サーバ装置３００の監視を代行する。
【００６２】
アクセス記録テーブル３１１には、監視元装置であるサーバ装置３００の情報が設定されている。サーバ装置３００は、サーバ装置２００から監視結果を取得するので、デフォルトの（自身についての）監視情報を管理する。
【００６３】
なお、アクセスＩＤはサーバ装置を一意に識別できれば、ＩＰアドレス以外としてもよい。例えば、ＯＳや所定のアプリケーションが付与した各サーバ装置の所定の識別情報としてもよい。
【００６４】
また、アクセス記録テーブル１１１，２１１，３１１では、監視項目として死活監視を例示したが、他の項目を監視対象としてもよい。例えば、ＣＰＵやディスクの利用率などのシステムリソースの利用状況、ネットワークトラフィックなどのネットワークの利用状況、所定のアプリケーションのサービスなどの稼働状況およびシステムログのメッセージなどを監視項目としてもよい。これら以外の項目を監視対象としてもよい。これらの項目は、例えば、ＳＮＭＰにより監視できる。具体的には、監視実行部２３０はＳＮＭＰのマネージャとして機能し、該監視項目に関する観測結果をサーバ装置１００に要求する。監視制御部１２０はＳＮＭＰのエージェントとして機能し、該要求に応じた観測結果を監視実行部２３０に応答する。また、通知条件の項目には、該監視項目に応じ、ＣＰＵなどの利用率が閾値割合を超えた場合、所定のサービスが停止している場合、所定のメッセージがシステムログに出力された場合、の各場合に異常とするなどの条件を設定してもよい。
【００６５】
次に、以上の構成の情報処理システムの処理手順を説明する。
図６は、監視先装置の処理を示すフローチャートである。以下、図６に示す処理をステップ番号に沿って説明する。
【００６６】
［ステップＳ１１］監視制御部１２０は、監視要求を受信する。監視要求には、監視元装置のアクセスＩＤや監視項目の情報が含まれる。例えば、通信の死活監視であれば、ＩＣＭＰのエコー要求が監視要求に対応する。
【００６７】
［ステップＳ１２］監視制御部１２０は、記憶部１１０に記憶されたアクセス記録テーブル１１１を参照して、該監視要求に含まれるアクセスＩＤと同じアクセスＩＤ（ＩＰアドレス）に対応付けて該監視要求に含まれる監視項目と同じ監視項目が記録済か判定する。記録済の場合、処理をステップＳ１６に進める。記録済でない場合、処理をステップＳ１３に進める。
【００６８】
［ステップＳ１３］監視制御部１２０は、監視要求を送信した監視元装置に該監視要求に関する監視情報を問い合わせる。監視制御部１２０は、該監視元装置から監視情報を受信する。
【００６９】
［ステップＳ１４］監視制御部１２０は、アクセス記録テーブル１１１を参照して、ステップＳ１１で要求された監視項目と同じ項目を監視する他の監視元装置が存在するか否かを判定する。存在する場合、処理をステップＳ１７に進める。存在しない場合、処理をステップＳ１５に進める。
【００７０】
［ステップＳ１５］監視制御部１２０は、ステップＳ１３で受信した監視情報をアクセス記録テーブル１１１に記録する。
［ステップＳ１６］監視制御部１２０は、ステップＳ１２の監視要求に対して結果を応答する。例えば、通信機能の死活監視であれば、ＩＣＭＰのエコー応答が該結果の応答に対応する。その後、処理を終了する。
【００７１】
［ステップＳ１７］監視制御部１２０は、ステップＳ１２の監視要求に対して結果を応答する。具体例は、ステップＳ１６と同様である。
［ステップＳ１８］監視制御部１２０は、監視の代行を依頼する監視元装置を選択する。具体的には、監視制御部１２０は、アクセス記録テーブル１１１に設定された該項目の監視を行っている監視元装置と、ステップＳ１１の監視要求の送信元の監視元装置との何れかのうち、通信の応答時間の短い方を代行依頼先として選択する。例えば、監視制御部１２０は、ｐｉｎｇコマンドを各監視元装置に対して実行して各々の応答時間を取得することで、通信の応答時間を比較できる。
【００７２】
［ステップＳ１９］監視制御部１２０は、ステップＳ１８で代行依頼先としなかった方の監視元装置に対し、該監視項目につき、監視要求を送信しないよう指示する。
［ステップＳ２０］監視制御部１２０は、ステップＳ１７で代行依頼先として選択した監視元装置に監視代行を依頼する。このとき、監視制御部１２０は、他の監視元装置の監視情報を、依頼先の監視元装置に送信する。
【００７３】
このようにして、サーバ装置１００は、監視要求を受け付けたとき、同じ項目について監視する他の監視元装置を検知する。サーバ装置１００は、同じ項目を監視する複数の監視元装置のうちの１つに、他の監視元装置の分の監視を代行するよう依頼する。これにより、同じ項目を監視する監視元装置を、１つの監視元装置に集約する。
【００７４】
例えば、サーバ装置３００による監視をサーバ装置２００に代行させることで、該項目を監視する監視元装置をサーバ装置２００に集約できる。
なお、例えばＳＮＭＰによりサーバ装置１００の監視を行う場合には、サーバ装置１００は監視要求としてＳＮＭＰによる要求を受信する（ステップＳ１１）。サーバ装置１００は、該要求に対してＳＮＭＰによる応答を監視元装置に送信する（ステップＳ１６）。
【００７５】
図７は、監視元装置の処理を示すフローチャートである。以下、図７に示す処理をステップ番号に沿って説明する。なお、以下では、サーバ装置２００を例示して説明するが、サーバ装置３００も同様の手順となる。
【００７６】
［ステップＳ２１］監視実行部２３０は、記憶部２１０に記憶されたアクセス記録テーブル２１１を参照して、監視中の項目で、監視条件が成立したか否かを判定する。監視条件が成立した場合、処理をステップＳ２２に進める。監視条件が成立していない場合、処理をステップＳ２３に進める。
【００７７】
［ステップＳ２２］監視実行部２３０は、アクセス記録テーブル２１１を参照して、該監視条件に対応する監視要求をサーバ装置１００（監視先装置）に送信する。
［ステップＳ２３］監視実行部２３０は、サーバ装置１００から監視情報の問い合わせ（監視項目を指定する情報を含む）を受けたか否かを判定する。監視情報の問い合わせを受けた場合、処理をステップＳ２４に進める。監視情報の問い合わせを受けていない場合、処理をステップＳ２５に進める。
【００７８】
［ステップＳ２４］監視実行部２３０は、監視情報の問い合わせに応じ、アクセス記録テーブル２１１を参照して、指定された監視項目についての監視情報をサーバ装置１００に送信する。
【００７９】
［ステップＳ２５］監視実行部２３０は、サーバ装置１００から監視要求に対する応答（監視結果）を受信したか否かを判定する。監視要求に対する応答を受信した場合、処理をステップＳ２６に進める。監視要求に対する応答を受信していない場合、処理をステップＳ２８に進める。
【００８０】
［ステップＳ２６］監視実行部２３０は、アクセス記録テーブル２１１に設定された通知条件と監視結果とを比較して、異常の有無を判定する。異常ありの場合、処理をステップＳ２７に進める。異常なしの場合、処理をステップＳ２８に進める。
【００８１】
［ステップＳ２７］監視実行部２３０は、先にサーバ装置１００に送信した監視要求が自身の監視条件によって送信されたものである場合、所定の異常時処理を実行する。例えば監視実行部２３０は、管理者に異常を通知する、所定の異常時処理を実行する、などが考えられる。通知処理部２４０は、先にサーバ装置１００に送信した監視要求が他の監視元装置（サーバ装置３００）の監視条件によって送信されたものである場合、監視実行部２３０から監視結果を取得して、該監視元装置（サーバ装置３００）に通知する。
【００８２】
［ステップＳ２８］監視実行部２３０は、サーバ装置１００からある項目に対する監視要求の停止指示を受信したか否かを判定する。停止指示を受信した場合、処理をステップＳ２９に進める。停止指示を受信していない場合、処理をステップＳ３０に進める。
【００８３】
［ステップＳ２９］監視実行部２３０は、指示を受けた項目につき監視要求の送信を停止する。この場合、該項目の監視が他の監視元装置（サーバ装置３００）に代行依頼されたことを意味する。すなわち、以後、該項目の監視結果は該他の監視元装置（サーバ装置３００）から通知される。
【００８４】
［ステップＳ３０］監視実行部２３０は、他の監視元装置（サーバ装置３００）から監視結果の通知を受信したか否かを判定する。監視結果の通知を受信した場合、処理をステップＳ２６に進める。監視結果の通知を受信していない場合、処理をステップＳ３１に進める。
【００８５】
［ステップＳ３１］監視実行部２３０は、サーバ装置１００から監視代行依頼を受信したか否かを判定する。監視代行依頼を受信した場合、処理をステップＳ３２に進める。監視代行依頼を受信していない場合、処理をステップＳ３４に進める。
【００８６】
［ステップＳ３２］監視実行部２３０は、監視代行依頼とともに受信した監視情報をアクセス記録テーブル２１１に記録する。
［ステップＳ３３］監視実行部２３０は、アクセス記録テーブル２１１を参照し、同じ項目を監視する他の監視元装置の監視条件に基づいて、監視スケジュールを調整する。監視スケジュールの調整方法は後述する。
【００８７】
［ステップＳ３４］監視実行部２３０は、自身の監視機能が停止されたか否かを判定する。停止された場合、処理を終了する。停止されていない場合、処理をステップＳ２１に進める。
【００８８】
このようにして、サーバ装置２００は、サーバ装置１００の監視を行う。サーバ装置３００では、監視実行部３３０が監視実行部２３０の処理を行い、通知処理部３４０が通知処理部２４０の処理を行う。
【００８９】
なお、ステップＳ１３，Ｓ１４は順序を逆にしてもよい。すなわち、ステップＳ１４の処理の後、ステップＳ１５，Ｓ１７の直前にステップＳ１３を実行してもよい。
更に、ステップＳ１９，Ｓ２０は順序を逆にしてもよい。
【００９０】
次に、監視処理全体の具体的な流れを説明する。
図８は、監視代行依頼の処理を示すシーケンス図である。以下、図８に示す処理をステップ番号に沿って説明する。なお、ステップＳＴ１０１の直前において、アクセス記録テーブル１１１には、何れの監視元装置も設定されていないとする（サーバ装置１００は監視されていない状態）。ステップＳＴ１０１の直前において、アクセス記録テーブル２１１にはサーバ装置２００の監視情報が設定されており、アクセス記録テーブル３１１にはサーバ装置３００の監視情報が設定されているとする。
【００９１】
［ステップＳＴ１０１］サーバ装置２００は、サーバ装置１００に監視要求を送信する。該監視要求は、通信機能の死活監視を行うためのものであるとする（例えば、ＩＣＭＰのエコー要求）。サーバ装置１００は、該監視要求を受信する。
【００９２】
［ステップＳＴ１０２］サーバ装置１００は、監視要求の内容に基づき、該監視要求を送信したサーバ装置２００のアクセスＩＤ（ＩＰアドレス）および要求された監視項目を対応付けた状態で、アクセス記録テーブル１１１に設定済であるかを確認する。サーバ装置１００は、該ＩＰアドレスおよび監視項目がアクセス記録テーブル１１１に未設定であると判断する。すると、サーバ装置１００は、サーバ装置２００に対して、監視情報を問い合わせる。
【００９３】
［ステップＳＴ１０３］サーバ装置２００は、問い合わせに応じて、監視情報をサーバ装置１００に送信する。サーバ装置１００は、該監視情報を受信する。
［ステップＳＴ１０４］サーバ装置１００は、サーバ装置２００の監視情報をアクセス記録テーブル１１１に記録する。
【００９４】
［ステップＳＴ１０５］サーバ装置１００は、ステップＳＴ１０１で受信した監視要求に対して応答する（例えば、ＩＣＭＰのエコー応答）。サーバ装置２００は、該応答を受信する。サーバ装置２００は、アクセス記録テーブル２１１を参照して、自身の該監視項目の通知条件に基づき、監視結果が異常であるか判断する。サーバ装置２００は、異常を検知した場合には、所定の異常時処理を実行する。
【００９５】
［ステップＳＴ１０６］サーバ装置３００は、サーバ装置１００に監視要求を送信する。該監視要求は、通信機能の死活監視を行うためのものであるとする（例えば、ＩＣＭＰエコー要求）。サーバ装置１００は、該監視要求を受信する。
【００９６】
［ステップＳＴ１０７］サーバ装置１００は、監視要求の内容に基づき、該監視要求を送信したサーバ装置３００のアクセスＩＤ（ＩＰアドレス）および要求された監視項目を対応付けた状態で、アクセス記録テーブル１１１に設定済であるかを確認する。サーバ装置１００は、該ＩＰアドレスおよび監視項目がアクセス記録テーブル１１１に未設定であると判断する。すると、サーバ装置１００は、サーバ装置３００に対して、監視情報を問い合わせる。
【００９７】
［ステップＳＴ１０８］サーバ装置３００は、問い合わせに応じて、監視情報をサーバ装置１００に送信する。サーバ装置１００は、該監視情報を受信する。
［ステップＳＴ１０９］サーバ装置１００は、アクセス記録テーブル１１１を参照して、サーバ装置３００から受信した監視要求により要求された監視項目（通信機能の死活監視）と同じ項目が他の監視元装置により監視されているか確認する。サーバ装置１００は、同じ項目がサーバ装置２００からも監視されていることを検知する。
【００９８】
［ステップＳＴ１１０］サーバ装置１００は、ステップＳＴ１０６で受信した監視要求に対して応答する（例えば、ＩＣＭＰのエコー応答）。サーバ装置３００は、該応答を受信する。サーバ装置３００は、アクセス記録テーブル３１１を参照して、自身の該監視項目の通知条件に基づき、監視結果が異常であるか判断する。サーバ装置３００は、異常を検知した場合には、所定の異常時処理を実行する。
【００９９】
［ステップＳＴ１１１］サーバ装置１００は、サーバ装置３００の応答時間を測定する。例えば、サーバ装置１００は、サーバ装置３００に対してｐｉｎｇコマンドを実行し、ＩＣＭＰのエコー要求を送信する。サーバ装置１００は、サーバ装置３００からＩＣＭＰのエコー応答を受信する。サーバ装置１００は、エコー要求からエコー応答までの時間を計測して応答時間を測定する。
【０１００】
［ステップＳＴ１１２］サーバ装置１００は、サーバ装置２００の応答時間を測定する。測定方法の具体例は、ステップＳＴ１１１と同様である。
［ステップＳＴ１１３］サーバ装置１００は、ステップＳＴ１１１，ＳＴ１１２の計測結果に基づいて、代行依頼先の監視元装置を選択する。具体的には、応答時間の短い方を代行依頼先として選択する。ここでは、サーバ装置２００の応答時間の方が、サーバ装置３００の応答時間よりも、短かったとする。サーバ装置１００は、サーバ装置２００を代行依頼先として選択する。
【０１０１】
［ステップＳＴ１１４］サーバ装置１００は、ステップＳＴ１０６で受信した監視要求に係る項目につき監視要求の停止を、サーバ装置３００に指示する。サーバ装置３００は、この指示を受けた後、該項目につきサーバ装置１００への監視要求の送信を停止する。
【０１０２】
［ステップＳＴ１１５］サーバ装置１００は、ステップＳＴ１０８で受信した監視情報をサーバ装置２００に送信して監視代行を依頼する。サーバ装置２００は、監視情報を受信し、アクセス記録テーブル２１１に記録する。これにより、アクセス記録テーブル２１１に、サーバ装置３００の監視情報が設定される。
【０１０３】
このようにして、サーバ装置１００は、サーバ装置３００による監視を代行するようサーバ装置２００に依頼する。このとき、応答時間の短い方を代行依頼先として選択するので、情報処理システムにおける監視のための処理時間を短縮できる。
【０１０４】
なお、ステップＳＴ１１１，ＳＴ１１２は、逆の順で行ってもよいし、並行して行ってもよい。ステップＳＴ１１４，ＳＴ１１５は、逆の順で行ってもよいし、並行して行ってもよい。
【０１０５】
また、ステップＳＴ１１１，ＳＴ１１２では、応答時間以外の指標を監視元装置から取得してもよい。ステップＳＴ１１３では、該応答時間以外の指標に基づいて代行依頼先を選択してもよい。例えば、応答時間以外の指標として、サーバ装置２００，３００の負荷を示す情報（例えば、ＣＰＵ利用率やＲＡＭ利用率など）を取得してもよい。例えば、負荷の小さい方を代行依頼先として選択すれば、サーバ装置２００，３００の負荷を分散できる。
【０１０６】
また、ステップＳＴ１１１〜ＳＴ１１５において、サーバ装置２００よりもサーバ装置３００の応答時間の方が、サーバ装置２００の応答時間よりも、短いこともある。その場合は、次のような流れとなる。サーバ装置１００は、サーバ装置３００を代行依頼先として選択する。サーバ装置１００は、該監視項目につき監視要求の停止をサーバ装置２００に指示する。サーバ装置１００は、ステップＳＴ１０６で受信した監視要求に係る監視項目についての監視情報を、サーバ装置２００に問い合わせる。このとき、サーバ装置２００が自身以外の他の監視元装置の監視を代行していれば、該他の監視元装置の監視情報もサーバ装置１００に送信する。サーバ装置１００は、サーバ装置２００から取得した監視情報をサーバ装置３００に送信する（監視代行依頼）。サーバ装置３００は、該監視情報をアクセス記録テーブル３１１に記録する。
【０１０７】
更に、ステップＳＴ１０８において、サーバ装置１００は、サーバ装置３００から受信した監視情報をアクセス記録テーブル１１１に記録しておいてもよい。このように、監視情報の問い合わせを行った場合に、受信した監視情報を全てアクセス記録テーブル１１１に記録しておけば、例えば、何れの監視元装置が他の何れの監視元装置の監視を代行しているかサーバ装置１００側で管理できる。したがって、代行依頼先を現在監視代行を行っている監視元装置と異なる監視元装置とする場合に、サーバ装置１００はアクセス記録テーブル１１１を参照して監視情報を取得し、監視代行依頼を行える。よって、現在監視代行を行っている監視元装置に監視情報を問い合わせる処理を省け、手順を簡略化できる。
【０１０８】
上記ステップＳＴ１１５の後、サーバ装置２００は、サーバ装置３００の監視を代行する。具体的には、サーバ装置２００は、アクセス記録テーブル２１１を参照して、自身の監視条件が成立したとき、または、サーバ装置３００の監視条件が成立したときに、対応する項目の監視要求をサーバ装置３００に送信する。次に、その流れを説明する。
【０１０９】
図９は、監視代行の処理を示すシーケンス図である。以下、図９に示す処理をステップ番号に沿って説明する。
［ステップＳＴ１２１］サーバ装置２００は、アクセス記録テーブル２１１を参照して、自身のアクセスＩＤに対応する監視条件が成立したことを検知する。ここで、通信機能の死活監視を行うための条件が成立したとする。
【０１１０】
［ステップＳＴ１２２］サーバ装置２００は、サーバ装置１００に該監視項目（通信機能の死活監視）についての監視要求（例えば、ＩＣＭＰのエコー要求）をサーバ装置１００に送信する。サーバ装置１００は、該監視要求を受信する。
【０１１１】
［ステップＳＴ１２３］サーバ装置１００は、アクセス記録テーブル１１１を参照して、サーバ装置１００のアクセスＩＤに対応付けて該要求に係る監視項目が設定されていることを確認する。すると、サーバ装置１００は、ステップＳＴ１２２で受信した監視要求に対する応答（例えば、ＩＣＭＰのエコー応答）をサーバ装置２００に送信する。サーバ装置２００は、該応答を受信する。サーバ装置２００は、アクセス記録テーブル２１１を参照して、自身の該監視項目の通知条件に基づき、監視結果が異常であるか判断する。サーバ装置２００は、異常を検知した場合には、所定の異常時処理を実行する。
【０１１２】
［ステップＳＴ１２４］サーバ装置２００は、アクセス記録テーブル２１１を参照して、サーバ装置３００のアクセスＩＤに対応する監視条件が成立したことを検知する。ここで、通信機能の死活監視を行うための条件が成立したとする。
【０１１３】
［ステップＳＴ１２５］サーバ装置２００は、サーバ装置１００に該監視項目（通信機能の死活監視）についての監視要求（例えば、ＩＣＭＰのエコー要求）をサーバ装置１００に送信する。サーバ装置１００は、該監視要求を受信する。
【０１１４】
［ステップＳＴ１２６］サーバ装置１００は、アクセス記録テーブル１１１を参照して、サーバ装置１００のアクセスＩＤに対応付けて該要求に係る監視項目が設定されていることを確認する。すると、サーバ装置１００は、ステップＳＴ１２５で受信した監視要求に対する応答（例えば、ＩＣＭＰのエコー応答）をサーバ装置２００に送信する。サーバ装置２００は、該応答を受信する。
【０１１５】
［ステップＳＴ１２７］サーバ装置２００は、アクセス記録テーブル２１１を参照して、サーバ装置３００の該監視項目の通知条件に基づき、監視結果が異常であるか判断する。サーバ装置２００は、サーバ装置３００の通知条件により異常を検知したとする。すると、サーバ装置２００は、監視結果をサーバ装置３００に通知する。サーバ装置３００は、該監視結果を異常と判断し、所定の異常時処理を実行する。
【０１１６】
このようにして、サーバ装置２００は、サーバ装置３００の監視を代行する。
ここで、ステップＳＴ１２１では、サーバ装置２００自身の監視条件が成立していると同時に、サーバ装置３００の監視条件が成立していることもある。その場合、ステップＳＴ１２３において、サーバ装置２００は、サーバ装置３００の通知条件による異常検知も行う。サーバ装置３００の通知条件で異常が検知されれば、サーバ装置２００は、サーバ装置３００に監視結果を通知する。同様に、ステップＳＴ１２４では、サーバ装置３００の監視条件が成立していると同時に、サーバ装置２００自身の監視条件が成立していることもある。その場合、ステップＳＴ１２７において、サーバ装置２００は、自身の通知条件による異常検知も行う。自身の通知条件で異常が検知されれば、サーバ装置２００は、所定の異常時処理を実行する。
【０１１７】
なお、ステップＳＴ１２７では、サーバ装置２００がサーバ装置３００の通知条件により異常と判断したときにサーバ装置３００に監視結果を通知するものとした。一方、通知条件により正常と判断したときにもサーバ装置３００に監視結果を通知してもよい。
【０１１８】
あるいは、サーバ装置２００が自身の通知条件で異常が発生したと判断したとき、サーバ装置３００の通知条件では異常でなくても、サーバ装置３００に監視結果を通知してもよい。また、サーバ装置２００が自身の通知条件で異常が発生したと判断したとき、サーバ装置３００の監視条件が成立していなくても、サーバ装置３００に監視結果を通知してもよい。
【０１１９】
ところで、サーバ装置２００は、監視スケジュールを調整して、より効率的に監視を行える。次に、その具体例を説明する。
図１０は、スケジュールの調整例を示す図である。監視スケジュールＡは、サーバ装置２００自身の監視条件に基づく監視スケジュールである。監視スケジュールＢは、サーバ装置３００の監視条件に基づく監視スケジュールの第１の例である。監視スケジュールＣは、サーバ装置３００の監視条件に基づく監視スケジュールの第２の例である。
【０１２０】
まず、監視スケジュールＡに対する監視スケジュールＢの調整例を説明する。
監視スケジュールＡは、タイミングＴ１１，Ｔ１２，Ｔ１３，Ｔ１４，Ｔ１５，Ｔ１６でサーバ装置１００の通信機能の死活監視を行うことを示す。各タイミングの周期は、例えば１０ミリ秒である。
【０１２１】
監視スケジュールＢは、タイミングＴ２１，Ｔ２２，Ｔ２３でサーバ装置１００の通信機能の死活監視を行うことを示す。各タイミングの周期は、例えば２０ミリ秒である。
監視実行部２３０が監視制御部１２０から監視の代行依頼を受けたとき、新たに監視スケジュールＢを生成して監視を行うとする。すると、監視実行部２３０は、タイミングＴ１１〜Ｔ１６，Ｔ２１〜Ｔ２３の各タイミングで監視制御部１２０に監視要求を送信する。しかし、これらの各タイミングで監視要求を送信すると、サーバ装置１００およびネットワークの負荷に影響を及ぼし得る。
【０１２２】
そこで、監視実行部２３０は、監視スケジュールＢを監視スケジュールＡに集約する。具体的には、タイミングＴ２１，Ｔ２２，Ｔ２３を、タイミングＴ２１ａ，Ｔ２２ａ，Ｔ２３ａにずらし、タイミングＴ１２，Ｔ１４，Ｔ１６の各タイミングで１回ずつの死活監視を行うようにする。タイミングＴ１２，Ｔ１４，Ｔ１６で送信した監視要求に対して応答を受けた場合、監視実行部２３０は、自身およびサーバ装置３００の両方の通知条件で異常を検知する。
【０１２３】
このように、１つの監視要求に対する監視結果により、複数の監視元装置の通知条件による異常検知を行えば、サーバ装置１００に集中する監視要求の数やネットワークを流れる監視要求のパケット量を低減できる。よって、サーバ装置１００やネットワークの負荷を一層低減でき、監視の効率化を図れる。
【０１２４】
次に、監視スケジュールＡに対する監視スケジュールＣの調整例を説明する。
監視スケジュールＣは、タイミングＴ３１，Ｔ３２，Ｔ３３でサーバ装置１００の通信機能の死活監視を行うことを示す。各タイミングの周期は、例えば、２５ミリ秒である。ここで、タイミングＴ３１，Ｔ３３は、タイミングＴ１１，Ｔ１６に同期している。よって、タイミングＴ３１，Ｔ３３は、監視スケジュールＢと同様に監視スケジュールＡに集約できる。しかし、タイミングＴ３２は、監視スケジュールＡの何れのタイミングとも同期していない。そこで、監視実行部２３０は、該タイミングＴ３２については、監視スケジュールＡにおける直前のタイミングＴ１３からの差分としてスケジュールを管理する。例えば、タイミングＴ３２をタイミングＴ１３から５ミリ秒後として管理する。このように、監視スケジュールＣの一部を監視スケジュールＡに集約し、他の一部を監視スケジュールＡからの差分として管理することで、サーバ装置１００やネットワークの負荷を低減できる。併せて、監視実行部２３０は、監視スケジュールＣに含まれる各監視タイミングを適切にカバーして監視代行を行える。
【０１２５】
また、監視スケジュールを集約すれば、サーバ装置２００は複数の監視スケジュールを管理しなくてよくなる。よって、サーバ装置２００の監視処理に伴う負荷も軽減できる。
図１１は、監視処理例を示す図である。第２の実施の形態の情報処理システムは、サーバ装置１００，２００，３００を含むとしたが、更に多数のサーバ装置を含み得る。例えば、監視先装置としてサーバ装置１００ａを、監視元装置としてサーバ装置３００ａを含むとする。サーバ装置１００ａは、サーバ装置１００と同様の構成により実現できる。サーバ装置３００ａは、サーバ装置３００と同様の構成により実現できる。サーバ装置３００，３００ａは、ネットワーク１０に配置されたネットワーク装置３０，２０を介してサーバ装置１００，１００ａ，２００と接続されている。
【０１２６】
サーバ装置２００，３００，３００ａは、サーバ装置１００，１００ａに対して通信機能の死活監視を行っている。このとき、サーバ装置２００は、次のようにしてサーバ装置３００，３００ａの監視を代行する。図１１（Ａ）は、サーバ装置２００が監視代行する前の情報処理システムを示す。
【０１２７】
図１１（Ａ）において、サーバ装置１００は、監視元装置であるサーバ装置２００，３００のうち、通信の応答時間の短い方を選択して、通信機能の監視代行を依頼する。ここでは、サーバ装置３００，３００ａは、ネットワーク装置３０，２０を介してサーバ装置１００と接続している。このため、サーバ装置１００，１００ａに対する応答時間は、サーバ装置２００よりもサーバ装置３００，３００ａの方が長くなる可能性が高い。サーバ装置１００は、サーバ装置２００の方がサーバ装置３００よりも応答時間が短いと判断すると、サーバ装置２００にサーバ装置３００の監視の代行を依頼する。サーバ装置１００ａは、サーバ装置２００の方がサーバ装置３００ａよりも応答時間が短いと判断すると、サーバ装置２００にサーバ装置３００ａの監視の代行を依頼する。
【０１２８】
図１１（Ｂ）は、サーバ装置２００が監視代行しているときの情報処理システムを示す。サーバ装置２００は、サーバ装置３００，３００ａの監視を代行する。その場合、サーバ装置２００は、サーバ装置３００の監視条件で、サーバ装置１００の監視を行う。その結果が、サーバ装置３００の通知条件に照らして異常であれば、サーバ装置３００に監視結果を通知する。同様に、サーバ装置２００は、サーバ装置３００ａの監視条件で、サーバ装置１００ａの監視を行う。その結果が、サーバ装置３００ａの通知条件に照らして異常であれば、サーバ装置３００ａに監視結果を通知する。
【０１２９】
このように、サーバ装置２００は、複数の監視元装置の監視を代行することもできる。
以上で説明したように第２の実施の形態では、情報処理システムに含まれる装置の監視を効率的に行える。
【０１３０】
具体的には、ある監視先装置に対して、同じ項目の監視を行う複数の監視元装置が存在する場合、そのうちの１つの監視元装置に、他の監視元装置の監視を代行させる。このため、例えば、監視先装置では、該１つの監視元装置に対して応答すればよくなる。また、監視先装置は、該１つの監視元装置以外の監視元装置には、該項目につき監視要求の停止を指示することで、ネットワーク上への余分な監視要求の送出を抑制できる。このため、監視先装置やネットワークの負荷を軽減できる。
【０１３１】
また、監視先装置は、複数の監視元装置のうち、各監視元装置の性能や能力などを示す指標に基づいて、代行依頼先を選択する。このため、情報処理システムにおける監視に係る処理の高速化を図れる。
【０１３２】
また、代行依頼を受けた監視元装置は、他の監視元装置の監視条件に基づいて、監視スケジュールを調整する。具体的には、複数の監視スケジュールを集約して、監視先装置に対する監視要求の送出の低減を図る。このため、監視元装置、監視先装置およびネットワークの負荷を一層軽減できる。
【０１３３】
［第３の実施の形態］
次に、第３の実施の形態を説明する。前述の第２の実施の形態との相違点を主に説明し、同様の事項は説明を省略する。
【０１３４】
第２の実施の形態では、サーバ装置１００を監視先装置（監視される側）、サーバ装置２００，３００を監視元装置（監視する側）として説明した。これに対し、サーバ装置１００，２００，３００が相互に監視を行い合う場合も考え得る。すなわち、サーバ装置１００，２００，３００の何れもが、監視先装置および監視元装置の両方または何れか一方となり得る。第３の実施の形態では、このような情報処理システムを想定する。
【０１３５】
ここで、第３の実施の形態の情報処理システムの全体構成は、図２で説明した第２の実施の形態の情報処理システムの全体構成と同一であるため説明を省略する。第３の実施の形態の情報処理システムに含まれるサーバ装置を、便宜的に第２の実施の形態と同一の符号を付して説明する。第３の実施の形態のサーバ装置１００，２００，３００のハードウェア例は、図３で説明した第２の実施の形態のサーバ装置１００のハードウェア例と同一であるため説明を省略する。
【０１３６】
図１２は、第３の実施の形態のサーバ装置の機能を示すブロック図である。サーバ装置１００は、記憶部１１０、監視制御部１２０、監視実行部１３０および通知処理部１４０を有する。
【０１３７】
ここで、記憶部１１０および監視制御部１２０は、図４で同一の符号・名称を付して説明した構成要素と同一である。監視実行部１３０は、図４で説明した監視実行部２３０，３３０と同じ機能を有する。通知処理部１４０は、図４で説明した通知処理部２４０，３４０と同じ機能を有する。
【０１３８】
サーバ装置２００は、記憶部２１０、監視制御部２２０、監視実行部２３０および通知処理部２４０を有する。
ここで、記憶部２１０、監視実行部２３０および通知処理部２４０は、図４で同一の符号・名称を付して説明した構成要素と同一である。監視制御部２２０は、図４で説明した監視制御部１２０と同じ機能を有する。
【０１３９】
サーバ装置３００は、記憶部３１０、監視制御部３２０、監視実行部３３０および通知処理部３４０を有する。
ここで、記憶部３１０、監視実行部３３０および通知処理部３４０は、図４で同一の符号・名称を付して説明した構成要素と同一である。監視制御部３２０は、図４で説明した監視制御部１２０と同じ機能を有する。
【０１４０】
このように、サーバ装置１００，２００，３００に監視先装置および監視元装置の両方の機能を担う構成要素を設ける。これにより、サーバ装置１００，２００，３００それぞれが相互に監視可能とする。サーバ装置１００は、監視元装置として機能する場合、図７で示した処理手順により、監視先装置の監視を行う。サーバ装置２００，３００は、監視先装置として機能する場合、図６で示した処理手順により、監視元装置に監視の代行依頼を行う。
【０１４１】
これにより、サーバ装置１００，２００，３００が相互に監視を行う情報処理システムにおいても、第２の実施の形態と同様の効果を得られる。すなわち、情報処理システムに含まれる装置の監視を効率的に行える。
【０１４２】
具体的には、同じ監視先装置の同じ項目を監視する複数の監視元が存在する場合、そのうちの１つの監視元装置に、他の監視元装置の監視を代行させる。また、監視先装置は、該１つの監視元装置以外の監視元装置には、該項目につき監視要求の停止を指示する。これにより、監視先装置に監視要求が集中するのを抑制し、監視先装置の負荷を軽減できる。また、ネットワーク上への余分な監視要求の送出を抑制でき、ネットワークの負荷を軽減できる。
【０１４３】
第３の実施の形態の情報処理システムでは、サーバ装置１００，２００，３００の何れもが監視元装置となり得る。このため、監視要求の送出数が過大となる可能性がある。したがって、余分な監視要求の送出を抑えて監視先装置やネットワークの負荷を軽減する利点は、特に有用である。
【０１４４】
また、監視先装置は、複数の監視元装置のうち、各監視元装置の性能や能力などを示す指標に基づいて、代行依頼先を選択する。このため、情報処理システムにおける監視に係る処理の高速化を図れる。
【０１４５】
また、代行依頼を受けた監視元装置は、他の監視元装置の監視条件に基づいて、監視スケジュールを調整する。具体的には、複数の監視スケジュールを集約して、監視先装置に対する監視要求の送出の低減を図る。このため、監視元装置、監視先装置およびネットワークの負荷を一層軽減できる。
【０１４６】
なお、第３の実施の形態のサーバ装置１００，２００，３００の構成要素の機能は、第２の実施の形態で説明したように、例えば各サーバ装置が備えるＣＰＵが所定のプログラムを実行することで各サーバ装置上に実現される。各サーバ装置の構成要素の機能を、専用のハードウェアによって実現してもよい。
【０１４７】
また、第２，第３の実施の形態では、サーバ装置が監視先装置および監視元装置となる場合を例示したがサーバ装置に限られない。例えば、ネットワーク装置を監視元装置としてもよい。より具体的には、例えばサーバ装置の死活監視を行って、処理要求を分散する負荷分散装置を監視元装置としてもよい。また、ネットワーク装置、複数の記録媒体を管理するライブラリ装置、サーバ装置のデータを格納する外部記憶装置およびパーソナルコンピュータなどを監視先装置としてもよい。
【符号の説明】
【０１４８】
１，２，３  情報処理装置
１ａ  記憶部
１ｂ  制御部
１ｃ  指示部
【図１】
0005682502.tif 000002
【図２】
0005682502.tif 000003
【図３】
0005682502.tif 000004
【図４】
0005682502.tif 000005
【図５】
0005682502.tif 000006
【図６】
0005682502.tif 000007
【図７】
0005682502.tif 000008
【図８】
0005682502.tif 000009
【図９】
0005682502.tif 000010
【図１０】
0005682502.tif 000011
【図１１】
0005682502.tif 000012
【図１２】
0005682502.tif 000013