(57)【特許請求の範囲】
【請求項１】
監視対象装置の監視に関する情報を記憶する監視対象情報記憶部と、
前記監視対象装置からの受信結果を前記監視対象装置に対応付けて記憶する受信結果情報記憶部と、
前記監視対象情報記憶部に記憶された情報に基づいて、所定の監視周期において自装置に割り当てられた複数の監視対象装置に監視要求パケットを少なくとも１回送信する送信部と、
前記送信部の動作に依存しないタイミングで前記各監視対象装置により送信された監視応答パケットを受信して取得し、前記監視応答パケットを取得したことに応じて前記受信結果を更新する受信部と、
前記受信結果情報記憶部に記憶された受信結果に基づいて、前記各監視対象装置を監視する監視部と、を備える回線監視装置であって、前記監視部における前記監視対象装置の監視結果を送信する回線監視装置を複数備え、
前記回線監視装置により送信された監視結果に基づいて、前記回線監視装置に割り当てる前記監視対象装置の監視数を調整するサーバ管理部と、
を備える回線監視システム。
【請求項２】
前記監視対象情報記憶部には、複数の前記監視対象装置の監視に関する情報をリスト化した監視対象リストが記憶され、
前記監視部は、前記監視対象リストに含まれる各情報を繰り返して取得して前記送信部の送信メモリに記憶させ、
前記送信部は、前記監視周期内の所定の送信周期ごとに前記各監視対象装置に前記監視要求パケットを送信し、
前記受信部は、前記監視周期および前記送信周期とは独立した受信周期ごとに前記監視応答パケットを取得する、
ことを特徴とする請求項１に記載の回線監視システム。
【請求項３】
前記受信部は、前記監視応答パケットに含まれる前記監視要求パケットの送信時刻に基づいて前記監視応答パケットの応答時間を算出し、前記応答時間が閾値を超えていない場合には前記受信結果を前記受信結果情報記憶部に登録し、
前記監視部は、前記受信結果情報記憶部における受信結果の有無に基づいて前記各監視対象装置を監視する、
ことを特徴とする請求項１または２に記載の回線監視システム。
【請求項４】
監視対象装置の監視に関する情報を記憶する監視対象情報記憶部と、
前記監視対象装置からの受信結果を前記監視対象装置に対応付けて記憶する受信結果情報記憶部と、を備える複数の回線監視装置と、サーバ管理部と、を含む回線監視システムにおける回線監視方法であって、
各回線監視装置のコンピュータが、
前記監視対象情報記憶部に記憶された情報に基づいて、所定の監視周期において自装置に割り当てられた複数の監視対象装置に監視要求パケットを少なくとも１回送信する送信処理を行うと共に、前記送信処理の動作に依存しないタイミングで前記各監視対象装置により送信された監視応答パケットを受信して取得し、前記監視応答パケットを取得したことに応じて前記受信結果を更新する受信処理を行い、
前記受信結果情報記憶部に記憶された受信結果に基づいて、前記各監視対象装置を監視し、
前記監視対象装置の監視結果を送信し、
前記サーバ管理部のコンピュータが、
前記回線監視装置により送信された監視結果に基づいて、前記回線監視装置に割り当てる前記監視対象装置の監視数を調整する
ことを特徴とする回線監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回線監視装置、回線監視システム、回線監視方法、およびコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、多数の監視対象装置を、通信回線を介して監視する回線監視技術が知られている。回線監視技術の一つとして、通信技術を利用して多数の監視対象装置を監視することが知られている。この回線監視技術は、多数の監視対象装置とサーバ装置とを通信接続し、監視対象装置とサーバ装置との間で通信を行うことにより、監視対象装置の死活に関する情報の収集を行う。この回線監視技術は、例えばルータ等の中継装置、サーバ、およびデータベースを監視対象とする際に、応答を要求するパケットを送信して応答の有無を確認することにより装置が稼働していることを確認する。また、回線監視技術として、監視対象端末が接続されている回線をハード的に監視する方法が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開昭５６−０５０６８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述の通信技術を利用した回線監視技術は、各監視対象装置を監視するために、サーバ装置において監視用パケットの送信処理から監視用パケットの受信処理までを一つの処理単位としている。すなわち、ある監視対象装置を監視するタイミングから監視用パケットの送信処理が起動し、その後、監視用パケットの受信処理により監視対象装置から監視用パケットを受信するまで待機状態となり、所定のタイムアウト時間が経過するまで待機状態を継続させる必要がある。この結果、サーバ装置においては、同時に実行することができる処理数の上限が抑圧されてしまい、１台当たりに監視することができる監視対象装置の上限を多くすることができないという問題がある。
また、上述した通信技術を利用して、監視に特化した専用のハードウェアを用いて監視している規模（例えば数百万台）の端末を当該ハードウェアにより監視可能な短い間隔で監視しようとすると、大量のサーバ装置を準備する必要がある。
【０００５】
本発明は上記の点に鑑みてなされたものであり、少ないサーバ装置で、より多くの監視対象装置を監視することができる回線監視装置、回線監視システム、回線監視方法、およびコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は上記の課題を解決するためになされたものであり、本発明の一態様は、監視対象装置に関連する情報を記憶する監視対象情報記憶部と、前記監視対象装置からの受信結果を前記監視対象装置に対応付けて記憶する受信結果情報記憶部と、前記監視対象情報記憶部に記憶された情報に基づいて、所定の監視周期において自装置に割り当てられた複数の監視対象装置に監視要求パケットを少なくとも１回送信する送信部と、前記送信部の動作に依存しないタイミングで前記各監視対象装置により送信された監視応答パケットを受信して取得し、前記監視応答パケットを取得したことに応じて前記受信結果を更新する受信部と、前記受信結果情報記憶部に記憶された受信結果に基づいて、前記各監視対象装置を監視する監視部と、を備える回線監視装置であって、前記監視部における前記監視対象装置の監視結果を送信する回線監視装置を複数備え、前記回線監視装置により送信された監視結果に基づいて、前記回線監視装置に割り当てる前記監視対象装置の監視数を調整するサーバ管理部と、を備える回線監視システムである。
【０００７】
また、本発明の一態様は、上記の回線監視システムにおいて、前記監視対象情報記憶部には、複数の前記監視対象装置に関連する情報をリスト化した監視対象リストが記憶され、前記監視部は、前記監視対象リストに含まれる各監視対象情報を繰り返して取得して前記送信部の送信メモリに記憶させ、前記送信部は、前記監視周期内の所定の送信周期ごとに前記各監視対象装置に前記監視要求パケットを送信し、前記受信部は、前記監視周期および前記送信周期とは独立した受信周期ごとに前記監視応答パケットを取得する、ことを特徴とする。
【０００８】
また、本発明の一態様は、上記の回線監視システムにおいて、前記受信部は、前記監視応答パケットに含まれる前記監視要求パケットの送信時刻に基づいて前記監視応答パケットの応答時間を算出し、前記応答時間が閾値を超えていない場合には前記受信結果を前記受信結果情報記憶部に登録し、前記監視部は、前記受信結果情報記憶部における受信結果の有無に基づいて前記各監視対象装置を監視する、ことを特徴とする。
【００１０】
また、本発明の一態様は、監視対象装置に関連する情報を記憶する監視対象情報記憶部と、前記監視対象装置からの受信結果を前記監視対象装置に対応付けて記憶する受信結果情報記憶部と、を備える複数の回線監視装置と、サーバ管理部と、を含む回線監視システムにおける回線監視方法であって、各回線監視装置のコンピュータが、前記監視対象情報記憶部に記憶された情報に基づいて、所定の監視周期において自装置に割り当てられた複数の監視対象装置に監視要求パケットを少なくとも１回送信する送信処理を行うと共に、前記送信処理の動作に依存しないタイミングで前記各監視対象装置により送信された監視応答パケットを受信して取得し、前記監視応答パケットを取得したことに応じて前記受信結果を更新する受信処理を行い、前記受信結果情報記憶部に記憶された受信結果に基づいて、前記各監視対象装置を監視し、前記監視対象装置の監視結果を送信し、前記サーバ管理部のコンピュータが、前記回線監視装置により送信された監視結果に基づいて、前記回線監視装置に割り当てる前記監視対象装置の監視数を調整する、ことを特徴とする回線監視方法である。
【発明の効果】
【００１２】
本発明によれば、少ないサーバ装置で、より多くの監視対象装置を監視することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態の回線監視システム１を示すブロック図である。
【図２】本発明の実施形態の回線監視サーバ１００の構成を示すブロック図である。
【図３】本発明を適用した回線監視サーバ１００における監視対象情報の一例を示す図である。
【図４】本発明を適用した回線監視サーバ１００におけるＰｉｎｇ結果情報の一例を示す図である。
【図５】本発明を適用した回線監視サーバ１００におけるＰｉｎｇ送信情報の一例を示す図である。
【図６】本発明を適用した実施形態の回線監視サーバ１００における監視処理の処理手順を示すフローチャートである。
【図７】本発明を適用した実施形態の回線監視サーバ１００におけるＰｉｎｇ要求パケットの送信処理の処理手順を示すフローチャートである。
【図８】本発明を適用した実施形態の回線監視サーバ１００におけるＰｉｎｇ応答パケットの受信処理の処理手順を示すフローチャートである。
【図９】本発明の実施形態の監視制御サーバ２００における管理テーブルを示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態としての回線監視装置、回線監視システム、回線監視方法、およびコンピュータプログラムを、図面を参照して説明する。図１は、本発明の実施形態の回線監視システム１の構成を示すブロック図である。
図１に示すように、回線監視システム１は、複数の回線監視サーバ１００Ａ、・・・、１００Ｎと、監視制御サーバ２００と、監視対象装置３００Ａ、・・・、３００Ｎと、を備える。なお、以下の説明において、回線監視サーバを他と区別しない場合には「回線監視サーバ１００」と記載し、監視対象装置を他と区別しない場合には単に「監視対象装置３００」と記載する。
【００１５】
回線監視サーバ１００は、自装置に割り当てられた複数の監視対象装置３００を監視することにより、自装置と複数の監視対象装置３００とを接続する通信回線を監視する。実施形態において、回線監視サーバ１００Ａには複数の監視対象装置３００Ａ、・・・、３００Ｋが割り当てられ、回線監視サーバ１００Ｎには複数の監視対象装置３００Ｋ＋１、・・・、３００Ｎが割り当てられる。なお、本実施形態において回線監視サーバ１００および監視対象装置３００の台数を表す「Ｋ」および「Ｎ」は任意の整数である。各回線監視サーバ１００が監視する対象としての監視対象装置３００の割り当ては、監視制御サーバ２００によって管理される。回線監視サーバ１００は、自装置に割り当てられた監視対象装置３００との間で通信を行うことにより監視結果を生成し、各監視対象装置３００の監視結果を監視制御サーバ２００に送信する。
【００１６】
図２は、本発明の実施形態の回線監視サーバ１００の構成を示すブロック図である。回線監視サーバ１００は、Ｐｉｎｇ送信処理部１１０と、Ｐｉｎｇ受信処理部１２０と、監視処理部１３０と、監視対象リスト記憶部１４０と、Ｐｉｎｇ結果情報リスト記憶部１５０と、を備える。なお、Ｐｉｎｇ送信処理部１１０、Ｐｉｎｇ受信処理部１２０、および監視処理部１３０は、演算回路および制御回路としてのＣＰＵ（Central  Processing  Unit）等のプロセッサが、メモリに記憶されたプログラムを実行することで機能するソフトウェア機能部であってもよいし、ＬＳＩ（Large Scale Integration）やＡＳＩＣ（Application Specific Integrated Circuit）等のハードウェア機能部であってもよい。
【００１７】
監視対象リスト記憶部１４０およびＰｉｎｇ結果情報リスト記憶部１５０は、情報を記憶する記憶部であり、例えば、ＨＤＤ（Hard  Disc  Drive）、フラッシュメモリ、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read  Only  Memory）等により実現される。監視対象リスト記憶部１４０とＰｉｎｇ結果情報リスト記憶部１５０とは、回線監視サーバ１００の記憶領域が別領域に区分されている。
【００１８】
監視対象リスト記憶部１４０には、複数の監視対象情報を含む監視対象リスト１４０ａが記憶される（監視対象情報記憶部）。監視対象情報は、自装置に割り当てられた監視対象装置３００ごとのＰｉｎｇ（監視）に関する監視対象情報を保持している。監視対象情報には、監視対象装置３００のＩＰアドレス、監視ステータス、前回Ｐｉｎｇ実行時刻、Ｐｉｎｇ実行ステータス、ＮＧ連続カウンタ、およびＰｉｎｇのシーケンス番号である。このＰｉｎｇのシーケンス番号は、回線監視サーバ１００の内部で独自に生成している番号である。すなわち、監視対象情報におけるＰｉｎｇのシーケンス番号には、ＩＣＭＰ（Internet Control Message Protocol）シーケンスとは別に本回線監視サーバ１００が送信する各Ｐｉｎｇデータを特定するためのシーケンス番号が含まれる。
【００１９】
監視対象情報に設定されるＩＰアドレスは、監視制御サーバ２００におけるサーバ管理部２１０により送信されて、回線監視サーバ１００の通信インターフェース（不図示）により受信される。監視対象リスト記憶部１４０は、受信したＩＰアドレスを監視対象情報におけるＩＰアドレスとして初期設定する。また、監視対象リスト記憶部１４０は、監視対象情報における前回Ｐｉｎｇ実行時刻を現在時刻から監視周期を差し引いた値にランダムな時刻を加算して初期設定する。
【００２０】
監視ステータスは、監視結果が正常であることを表す値（ＰｉｎｇＯＫ）と、監視結果が正常ではないことを表す値（ＰｉｎｇＮＧ）とに区別される。前回Ｐｉｎｇ実行時刻は、Ｐｉｎｇ要求パケット（監視要求パケット）が送信された時刻を表す。Ｐｉｎｇ実行ステータスは、Ｐｉｎｇ要求パケットを送信してＰｉｎｇ応答パケット（監視応答パケット）の受信を待っているオン状態と、Ｐｉｎｇ要求パケットを送信した後にＰｉｎｇ応答パケットを受信しているオフ状態とに区別される。ＮＧ連続カウンタは、Ｐｉｎｇ要求パケットの送信後にＰｉｎｇタイムアウト時間内にＰｉｎｇ応答パケットが受信されなかった累計回数を示す。シーケンス番号は、Ｐｉｎｇ要求パケットおよびＰｉｎｇ応答パケットを識別するための情報である。図３は、本発明を適用した回線監視サーバ１００における監視対象情報の一例を示す図である。
【００２１】
Ｐｉｎｇ結果情報リスト記憶部１５０には、複数のＰｉｎｇ結果情報を含むＰｉｎｇ結果情報リスト１５０ａが記憶される（受信結果情報記憶部）。Ｐｉｎｇ結果情報は、監視対象装置３００からの受信結果を監視対象装置３００に対応づけて記憶した情報である。本実施形態において、Ｐｉｎｇ結果情報には、監視対象装置３００のＩＰアドレス、Ｐｉｎｇ応答時間、およびシーケンス番号が含まれる。Ｐｉｎｇ結果情報リスト１５０ａは、Ｐｉｎｇ受信処理部１２０によって各Ｐｉｎｇ結果情報が更新される。また、Ｐｉｎｇ結果情報リスト１５０ａは、自装置に監視処理スレッドとして起動された各監視処理部１３０によって各Ｐｉｎｇ結果情報が繰り返して読み込まれる。図４は、本発明を適用した回線監視サーバ１００におけるＰｉｎｇ結果情報の一例を示す図である。
【００２２】
Ｐｉｎｇ送信処理部１１０は、送信メモリ部１１２と、Ｐｉｎｇパケット生成部１１４と、Ｐｉｎｇパケット送信部１１６とを備える。送信メモリ部１１２は、例えば自装置の通信インターフェース回路に実装されたＲＡＭである。Ｐｉｎｇ送信処理部１１０におけるＰｉｎｇパケット生成部１１４およびＰｉｎｇパケット送信部１１６は、自装置においてシングルスレッドとして起動された送信処理スレッドとして実現される。
【００２３】
送信メモリ部１１２には、監視処理部１３０からＰｉｎｇ要求パケットに格納するＰｉｎｇ送信情報としてのＩＰアドレス、Ｐｉｎｇ送信時間およびシーケンス情報が送信キューとして格納される。図５は、本発明を適用した回線監視サーバ１００におけるＰｉｎｇ送信情報の一例を示す図である。Ｐｉｎｇパケット生成部１１４は、Ｐｉｎｇ送信情報を格納したＰｉｎｇ要求パケットを生成する。Ｐｉｎｇパケット送信部１１６は、送信ソケットを開き、Ｐｉｎｇパケット生成部１１４により生成されたＰｉｎｇ要求パケットを送信する。この所定の送信周期は、Ｐｉｎｇ応答パケットの受信周期とは独立した周期が設定されている。
【００２４】
Ｐｉｎｇ受信処理部１２０は、受信メモリ部１２２と、受信結果処理部１２４とを備える。受信結果処理部１２４は、Ｐｉｎｇ結果取得部１２４ａと、Ｐｉｎｇ結果分析部１２４ｂと、Ｐｉｎｇ結果登録部１２４ｃとを備える。受信メモリ部１２２は、例えば自装置の通信インターフェース回路に実装されたＲＡＭ（Random  Access  Memory）である。Ｐｉｎｇ受信処理部１２０における受信結果処理部１２４は、自装置においてマルチスレッドとして起動された複数の受信処理スレッドとして実現され、同時に複数の受信処理を実施する。
【００２５】
受信メモリ部１２２には、Ｐｉｎｇ受信処理部１２０により受信したＰｉｎｇ応答パケットを受信キューとして記憶する。Ｐｉｎｇ結果取得部１２４ａは、受信ソケットを開き、受信メモリ部１２２に受信キューとして記憶されたＰｉｎｇ応答パケットを読み込む。Ｐｉｎｇ結果取得部１２４ａは、Ｐｉｎｇ送信処理部１１０の動作に依存しないタイミングでＰｉｎｇ応答パケットを受信して、取得する。Ｐｉｎｇ送信処理部１１０の動作に依存しないタイミングは、Ｐｉｎｇ送信処理部１１０とは独立したトリガによりＰｉｎｇ応答パケットを受信する、またはＰｉｎｇ送信処理部１１０の送信周期とは異なる周期でＰｉｎｇ応答パケットを取得することである。
【００２６】
本実施形態において、Ｐｉｎｇ結果取得部１２４ａは、所定の受信周期でＰｉｎｇ応答パケットを読み込む。この所定の受信周期は、Ｐｉｎｇ送信処理部１１０における所定の送信周期とは独立した周期が設定されている。Ｐｉｎｇ結果分析部１２４ｂは、Ｐｉｎｇ結果取得部１２４ａにより取得されたＰｉｎｇ応答パケットに基づいて、Ｐｉｎｇ要求パケットに対する応答結果を分析する。Ｐｉｎｇ結果登録部１２４ｃは、Ｐｉｎｇ結果分析部１２４ｂにおける分析結果に基づいてＰｉｎｇ結果情報を生成して、Ｐｉｎｇ結果情報リスト記憶部１５０に登録する。
【００２７】
監視処理部１３０は、監視対象情報取得部１３２と、判定処理部１３４とを備える。監視対象情報取得部１３２および判定処理部１３４は、自装置に監視処理スレッドを起動することより実現される。また、監視処理部１３０は、自装置においてマルチスレッドとして起動された複数の監視処理スレッドとして実現され、同時に複数の監視処理を実施する。監視処理部１３０は、各監視処理スレッドに対し、自装置に割り当てられた全ての監視対象装置３００のうち複数の監視対象装置３００を割り当てる。各監視処理スレッドは、自身に割り当てられた複数の監視対象装置３００について、監視対象情報取得部１３２および判定処理部１３４により実現される処理を実行する。
【００２８】
監視対象情報取得部１３２は、自身に割り当てられた複数の監視対象装置３００の監視対象情報のうち、最初のエントリに対応した監視対象情報から最後のエントリに対応した監視対象情報を順次読み込む。監視対象情報取得部１３２は、各監視対象情報を所定の読込周期で読み込む。この読込周期は、監視対象装置３００の監視周期よりも短い。監視対象情報取得部１３２は、最初のエントリに対応した監視対象情報から最後のエントリに対応した監視対象情報までを、所定の監視周期で読み込む。例えば少なくとも５秒に１回は確認が必要との条件の場合、この所定の監視周期は１ミリ秒といった期間が設定される。この結果、複数の監視処理スレッドに対応した複数の監視処理部１３０は、自装置に割り当てられた全ての監視対象装置３００に対応する監視対象情報を所定の監視周期において少なくとも１回読み込む。監視対象情報取得部１３２は、監視対象リスト記憶部１４０から読み込んだ監視対象情報を判定処理部１３４に受け渡す。
【００２９】
判定処理部１３４は、Ｐｉｎｇ送信部１３４ａと、Ｐｉｎｇ結果確認部１３４ｂとを備える。Ｐｉｎｇ送信部１３４ａは、監視対象情報取得部１３２から監視対象情報が供給されたことに応じてＰｉｎｇ要求パケットを識別するためシーケンス番号を生成する。また、Ｐｉｎｇ送信部１３４ａは、Ｐｉｎｇ要求パケットの送信を依頼した時刻にＰｉｎｇ送信時間を設定する。Ｐｉｎｇ送信部１３４ａは、シーケンス番号、Ｐｉｎｇ送信時間、および監視対象装置３００のＩＰアドレスを含むＰｉｎｇ送信情報を送信キューとして送信メモリ部１１２に格納する。これにより、Ｐｉｎｇ送信部１３４ａは、Ｐｉｎｇ送信処理部１１０にＰｉｎｇ要求パケットの送信を依頼する。
また、判定処理部１３４は、Ｐｉｎｇ要求パケットの送信を依頼したことに応じて、監視対象情報のうち当該Ｐｉｎｇ要求パケットの送信先の監視対象装置３００のＩＰアドレスに対応したシーケンス番号およびＰｉｎｇ送信時間を更新する。
【００３０】
Ｐｉｎｇ結果確認部１３４ｂは、監視対象情報およびＰｉｎｇ結果情報に基づいて監視対象装置３００の監視結果を確認する。この監視結果は、回線監視サーバ１００と監視対象装置３００とを接続する回線が正常であるか否かを表す。また、結果通知部１３４ｃは、監視制御サーバ２００に監視結果に基づく通知情報を生成して、監視制御サーバ２００に送信する。
【００３１】
以下、本発明を適用した実施形態の回線監視サーバ１００における監視処理について説明する。図６は、本発明を適用した実施形態の回線監視サーバ１００における監視処理の処理手順を示すフローチャートである。この監視処理は、各監視処理スレッドがそれぞれ独立して処理を開始する。
【００３２】
監視処理部１３０は、監視対象情報取得部１３２により監視対象リスト記憶部１４０から監視対象情報を取得する（ステップＳ１００）。判定処理部１３４は、ステップＳ１００において取得された監視対象情報に含まれるＰｉｎｇ実行ステータスを参照して、ステータスの値が「オン」であるか否かを判定する（ステップＳ１０２）。Ｐｉｎｇ実行ステータスの値が「オン」ではない場合には、Ｐｉｎｇ送信部１３４ａは、Ｐｉｎｇ要求パケットの送信周期が到来したか否かを判定する（ステップＳ１０４）。このとき、Ｐｉｎｇ送信部１３４ａは、現在時刻が、前回Ｐｉｎｇ実行時刻に監視周期を加算した時刻を経過しているか否かを判定する。判断Ｐｉｎｇ要求パケットの送信周期が到来したと判定した場合にはステップＳ１０６に処理を進め、Ｐｉｎｇ要求パケットの送信周期が到来していないと判定した場合にはステップＳ１００に処理を戻して待機する。
【００３３】
判定処理部１３４がＰｉｎｇ実行ステータスの値が「オン」であると判断した場合には、Ｐｉｎｇ結果確認部１３４ｂは、現在時刻が前回Ｐｉｎｇ実行時刻にＰｉｎｇタイムアウト時間を加算した時刻を超えるまで待機する（ステップＳ１０８）。Ｐｉｎｇタイムアウト時間は、Ｐｉｎｇ要求パケットの送信時刻からＰｉｎｇ応答パケットの受信時刻まで期間が正常であると判定される期間が設定される。Ｐｉｎｇタイムアウト時間は、サーバ管理部２１０により送信され、回線監視サーバ１００に設定される。本実施形態は、Ｐｉｎｇタイムアウト時間は、一定値であると説明するが、監視対象装置３００ごとに設定されていてもよい。
【００３４】
なお、Ｐｉｎｇタイムアウト時間の経過まで待機してＰｉｎｇ結果情報の確認を行わないことにより、Ｐｉｎｇ履歴ログの書き込みによるＰｉｎｇ結果情報リスト記憶部１５０に対する書き込み処理のばらつきを抑える。例えば、監視対象装置３００により送信されたＰｉｎｇ応答パケットを受信したタイミングで監視対象リスト記憶部１４０に書き込みを行うと、監視対象リスト記憶部１４０に対する書き込みが集中する可能性があるが、Ｐｉｎｇタイムアウト時間の到来タイミングにおいてＰｉｎｇ履歴ログ情報を書き込むことにより監視対象リスト記憶部１４０への書き込みタイミングを平準化させる。
【００３５】
Ｐｉｎｇ結果確認部１３４ｂは、現在時刻が前回Ｐｉｎｇ実行時刻にＰｉｎｇタイムアウト時間を加算した時刻を超えたことに応じて、Ｐｉｎｇ実行ステータスをオフに変更し（ステップＳ１１０）、Ｐｉｎｇ結果情報を検索する（ステップＳ１１２）。Ｐｉｎｇ結果確認部１３４ｂは、監視対象情報におけるＩＰアドレスおよびシーケンス番号に一致するＰｉｎｇ結果情報をＰｉｎｇ結果情報リスト１５０ａから検索する。Ｐｉｎｇ結果確認部１３４ｂは、一致するＰｉｎｇ結果情報が存在した場合に、当該Ｐｉｎｇ結果情報を取得する。
【００３６】
Ｐｉｎｇ結果確認部１３４ｂは、Ｐｉｎｇ結果情報を検索した結果、Ｐｉｎｇ結果情報を取得したか否かを判定し（ステップＳ１１４）、Ｐｉｎｇ結果情報を取得した場合にはＮＧ連続カウンタを初期化する（ステップＳ１１６）。次にＰｉｎｇ結果確認部１３４ｂは、監視対象情報における監視ステータスが「ＰｉｎｇＯＫ」であるか否かを判定する（ステップＳ１１８）。これによりＰｉｎｇ結果確認部１３４ｂは、サーバ管理部２１０に通知情報を送信するか否かを判定する。Ｐｉｎｇ結果確認部１３４ｂは、監視ステータスが「ＰｉｎｇＯＫ」ではない場合には、監視ステータスを「ＰｉｎｇＯＫ」に更新し、結果通知部１３４ｃにより「ＰｉｎｇＯＫ」であることを含む通知情報を送信させる（ステップＳ１２０）。通知情報には、宛先情報としてサーバ管理部２１０のＩＰアドレスが設定される。
【００３７】
Ｐｉｎｇ結果確認部１３４ｂは、Ｐｉｎｇ結果情報が取得されなかった場合には、ＮＧ連続カウンタをインクリメントして監視対象情報を更新し（ステップＳ１２４）、ＮＧ連続カウンタがＮＧ上限回数を超えたか否かを判定する（ステップＳ１２６）。ＮＧ上限回数は、サーバ管理部２１０により送信され、予め回線監視サーバ１００に設定される。ＮＧ連続カウンタがＮＧ上限回数を超えている場合には、判定処理部１３４は、監視ステータスを「ＰｉｎｇＮＧ」に更新し、結果通知部１３４ｃにより「ＰｉｎｇＮＧ」であることを含む通知情報を送信させる（ステップＳ１２８）。通知情報には、宛先情報としてサーバ管理部２１０のＩＰアドレスが設定される。なお、監視処理部１３０は、ＮＧ上限回数が上限回数を超えた場合には、Ｐｉｎｇ要求パケットの送信を停止させてもよい。
【００３８】
Ｐｉｎｇ結果確認部１３４ｂは、ステップＳ１１８、ステップＳ１２０、またはステップＳ１２８の処理後、Ｐｉｎｇ履歴ログ情報をＰｉｎｇ結果情報リスト記憶部１５０に出力する（ステップＳ１２２）。Ｐｉｎｇ履歴ログ情報は、例えば、ＩＰアドレス、Ｐｉｎｇ要求パケットの送信時刻、およびＰｉｎｇ応答パケットの受信時刻等を含む。Ｐｉｎｇ履歴ログ情報は、例えば監視制御サーバ２００により送信された読込命令に対して返信してもよい。
【００３９】
以下、本発明を適用した実施形態の回線監視サーバ１００におけるＰｉｎｇ要求パケットの送信処理を説明する。図７は、本発明を適用した実施形態の回線監視サーバ１００におけるＰｉｎｇ要求パケットの送信処理の処理手順を示すフローチャートである。図７の送信処理は、単一の送信処理スレッドによって所定の送信周期ごとに繰り返して起動される。
【００４０】
まずＰｉｎｇ送信処理部１１０は、Ｐｉｎｇ送信用ソケットを開き（ステップＳ１３０）、Ｐｉｎｇパケット生成部１１４は、送信キューとしてのＰｉｎｇ送信情報を取得する（ステップＳ１３２）。送信キューとしてのＰｉｎｇ送信情報が取得されたことに応じて、Ｐｉｎｇパケット生成部１１４は、図５に示したＩＰアドレス、Ｐｉｎｇ送信時間およびシーケンス番号を含むＰｉｎｇ要求パケットを生成し（ステップＳ１３８）、Ｐｉｎｇパケット送信部１１６は、生成されたＰｉｎｇ要求パケットを送信する（ステップＳ１４０）。なお、ステップＳ１３２において取得された送信キューは、当該取得されたタイミングにおいて送信メモリ部１１２から削除される。一方、送信キューが送信メモリ部１１２に格納されていない場合には、Ｐｉｎｇ送信処理部１１０はスリープ状態に遷移する（ステップＳ１３６）。
【００４１】
以下、本発明を適用した実施形態の回線監視サーバ１００におけるＰｉｎｇ応答パケットの受信処理を説明する。図８は、本発明を適用した実施形態の回線監視サーバ１００におけるＰｉｎｇ応答パケットの受信処理の処理手順を示すフローチャートである。図８の受信処理は、各受信処理スレッドが所定の受信周期ごとに起動されて、各受信処理スレッドにより実施される。
【００４２】
まずＰｉｎｇ受信処理部１２０はＰｉｎｇ受信用ソケットを開き（ステップＳ１５０）、Ｐｉｎｇ結果取得部１２４ａはＰｉｎｇ受信用ソケットからＰｉｎｇ応答パケットを取得する（ステップＳ１５２）。Ｐｉｎｇ受信用ソケットからＰｉｎｇ応答パケットが取得されたことに応じて、Ｐｉｎｇ結果分析部１２４ｂは、Ｐｉｎｇ応答パケットを分析する（ステップＳ１５８）。このとき、Ｐｉｎｇ結果分析部１２４ｂは、Ｐｉｎｇ応答パケットからＩＰアドレス、シーケンス番号、およびＰｉｎｇ送信時間を取得する。Ｐｉｎｇ結果分析部１２４ｂは、現在時刻からＰｉｎｇ送信時間を差し引いて、Ｐｉｎｇ応答時間（Round-Trip  Time；RTT）を算出する。
【００４３】
Ｐｉｎｇ結果登録部１２４ｃは、Ｐｉｎｇ応答時間がＰｉｎｇタイムアウト時間を超えているか否かを判定し（ステップＳ１６０）、Ｐｉｎｇ応答時間がＰｉｎｇタイムアウト時間を超えている場合には登録処理をせずにステップＳ１５２に処理を戻す。このとき、Ｐｉｎｇ結果登録部１２４ｃは、タイムアウトのエラーログを監視対象リスト記憶部１４０に記憶させてもよい。
【００４４】
Ｐｉｎｇ結果登録部１２４ｃは、Ｐｉｎｇ応答時間がＰｉｎｇタイムアウト時間を超えていない場合には、図４に示したＩＰアドレス、Ｐｉｎｇ応答時間、およびシーケンス番号を含むＰｉｎｇ結果情報を監視対象リスト記憶部１４０に登録する（ステップＳ１６２）。
【００４５】
以上説明したように、本発明を適用した実施形態における回線監視サーバ１００によれば、監視周期内における送信周期ごとに各監視対象装置３００にＰｉｎｇ要求パケットを送信すると共に、送信周期とは独立した受信周期ごとにＰｉｎｇ応答パケットを取得するので、送信処理と受信処理とを独立したものとすることができる。この結果、回線監視サーバ１００によれば、要求パケットの送信時刻と応答パケットの受信時刻との期間において処理が占有されることがないので、より多くの監視対象装置３００を監視することができる。すなわち、多数の監視対象装置３００を複数の回線監視サーバ１００間で分担して監視するシステムであっても、少ない回線監視サーバ１００で、より多くの監視対象装置３００を監視することができる。
【００４６】
また、回線監視サーバ１００によれば、監視対象リスト１４０ａを記憶する監視対象リスト記憶部１４０とＰｉｎｇ結果情報リスト１５０ａを記憶するＰｉｎｇ結果情報リスト記憶部１５０とを区分したので、情報の読込処理が干渉することを抑制することができ、より高速に監視処理部１３０により監視対象リスト１４０ａを読み込み、監視処理部１３０によって送信周期に従ってＰｉｎｇ送信処理部１１０によりＰｉｎｇ要求パケットを送信させることができる。
【００４７】
さらに、回線監視サーバ１００によれば、Ｐｉｎｇ応答時間がＰｉｎｇタイムアウト時間を超えていない場合にＰｉｎｇ結果情報をＰｉｎｇ結果情報リスト記憶部１５０に記憶させるので、Ｐｉｎｇ要求パケットの送信時間からＰｉｎｇタイムアウト時間の経過後におけるＰｉｎｇ結果情報の有無に基づいて監視対象装置３００を監視することができる。これにより、回線監視サーバ１００によれば、Ｐｉｎｇ要求パケットの送信後において常時Ｐｉｎｇ応答パケットを受信したか否かを監視する必要が無く、Ｐｉｎｇ要求パケットの送信処理を高速にすることができる。
【００４８】
図９は、本発明の実施形態の監視制御サーバ２００における管理テーブルを示す図である。サーバ管理部２１０は、図９に示すように、回線監視サーバ１００を識別するサーバＩＤに対応づけて、監視上限数および監視数を管理する。監視数は、回線監視サーバ１００により監視されている監視対象装置３００の数である。監視上限数は、回線監視サーバ１００のリソースに基づいて設定され、回線監視サーバ１００により送信された監視ステータスに基づいて調整される。
【００４９】
サーバ管理部２１０は、サーバＩＤに対応づけて、回線監視サーバ１００におけるＰｉｎｇ結果情報リスト１５０ａと同期されたＰｉｎｇ結果情報リストを記憶する。サーバ管理部２１０は、ある回線監視サーバ１００により送信された監視ステータスが「ＰｉｎｇＮＧ」である場合、当該回線監視サーバ１００の監視数を削減すると共に、削減され監視数を他の回線監視サーバ１００に割り当てる。また、サーバ管理部２１０は、回線監視サーバ１００間において監視対象の割り当てを変更し、各回線監視サーバ１００において記憶しているＰｉｎｇ結果情報リストを更新し、更新後の監視対象情報を各回線監視サーバ１００に通知する。これにより、各回線監視サーバ１００は、サーバ管理部２１０により送信された更新後の監視対象情報に基づいて、自装置のＰｉｎｇ結果情報リスト１５０ａを更新する。
【００５０】
上述した実施形態における回線監視サーバ１００をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＦＰＧＡ（Field Programmable Gate Array）等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【００５１】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００５２】
１  回線監視システム
１００  回線監視サーバ
１１０  送信処理部
１１２  送信メモリ部
１１４  パケット生成部
１１６  パケット送信部
１２０  受信処理部
１２２  受信メモリ部
１２４  受信結果処理部
１２４ａ  結果取得部
１２４ｂ  結果分析部
１２４ｃ  結果登録部
１３０  監視処理部
１３２  監視対象情報取得部
１３４  判定処理部
１３４ａ  送信部
１３４ｂ  結果確認部
１３４ｃ  結果通知部
１４０  監視対象リスト記憶部
１４０ａ  監視対象リスト
１５０  結果情報リスト記憶部
１５０ａ  結果情報リスト
２００  監視制御サーバ
２１０  サーバ管理部
３００  監視対象装置
【図１】
0006659226.tif 000002
【図２】
0006659226.tif 000003
【図３】
0006659226.tif 000004
【図４】
0006659226.tif 000005
【図５】
0006659226.tif 000006
【図６】
0006659226.tif 000007
【図７】
0006659226.tif 000008
【図８】
0006659226.tif 000009
【図９】
0006659226.tif 000010