(57)【特許請求の範囲】
【請求項１】
複数のネットワーク装置から構成される複数の装置群と接続され、前記装置群に対しパケットを送受信することによりネットワークに発生する障害を監視するネットワーク障害監視装置であって、
監視対象となる装置群の情報が格納される監視対象装置情報と、前記パケットを送受信する監視パケット送受信スレッドを同時に稼動可能な最大数を示す送信中スレッド最大数を含むスレッド制御情報と、を記憶する記憶部と、
前記パケットの送受信処理を実行し、前記装置群毎に障害の発生を監視する複数の前記監視パケット送受信スレッドと、
前記複数の監視パケット送受信スレッドの前記パケットの送受信処理の開始を少なくとも制御する送受信スレッド群管理部と、を備え、
前記監視パケット送受信スレッドは、
前記監視対象の装置群の１つに対し、前記監視対象装置情報に基づき、監視パケットを送信し前記監視パケットに対応する応答パケットを受信する前記パケットの送受信処理を繰り返し、前記応答パケットを受信できない場合に、前記監視パケットを所定の回数再送し、前記所定の回数の最終再送を実行したとき、最終応答待ちに入ったことを示す最終応答待ちメッセージを前記送受信スレッド群管理部に送信し、
前記送受信スレッド群管理部は、
前記最終応答待ちメッセージを受信すると、前記パケットの送受信処理を現在実行していない他の前記監視パケット送受信スレッドに実行させた場合に、前記送信中スレッド最大数を超えるか否かを判定し、前記送受信スレッド最大数を超えない場合に、前記他の監視パケット送受信スレッドに送受信開始メッセージを送信し、
前記他の監視パケット送受信スレッドは、
前記送受信開始メッセージを受信し、前記監視対象装置情報に基づき、まだ監視が実行されていない前記監視対象の装置群の１つに対し、前記パケットの送受信処理を開始すること
を特徴とするネットワーク障害監視装置。
【請求項２】
前記監視パケット送受信スレッドは、送信処理部と受信処理部とを備え、
前記送信処理部が、前記監視対象の装置群に対する前記監視パケットの送信処理を実行し、
前記受信処理部が、前記応答パケットの受信処理を実行し、前記送信処理部が、前記所定の回数の前記監視パケットの最終再送を実行したとき、前記最終応答待ちメッセージを前記送受信スレッド群管理部に送信すること
を特徴とする請求項１に記載のネットワーク障害監視装置。
【請求項３】
前記送受信スレッド群管理部は、
現時点で前記パケットの送受信処理を実行している前記監視パケット送受信スレッドの数を、使用中スレッド管理用変数として記憶しており、
前記監視パケット送受信スレッドから、前記最終応答待ちメッセージを受信すると、前記使用中スレッド管理用変数を１減算し、
前記他の監視パケット送受信スレッドに前記送受信開始メッセージを送信するに際し、前記使用中スレッド管理用変数を１加算し、
前記１加算した後の使用中スレッド管理用変数が、前記送受信スレッド最大数を超えない場合に、前記他の監視パケット送受信スレッドに送受信開始メッセージを送信すること
を特徴とする請求項１または請求項２に記載のネットワーク障害監視装置。
【請求項４】
複数のネットワーク装置から構成される複数の装置群と接続され、前記装置群に対しパケットを送受信することによりネットワークに発生する障害を監視するネットワーク障害監視装置のネットワーク障害監視方法であって、
前記ネットワーク障害監視装置は、
監視対象となる装置群の情報が格納される監視対象装置情報と、前記パケットを送受信する監視パケット送受信スレッドを同時に稼動可能な最大数を示す送信中スレッド最大数を含むスレッド制御情報と、を記憶する記憶手段と、
前記パケットの送受信処理を実行し、前記装置群毎に障害の発生を監視する複数の前記監視パケット送受信スレッドと、
前記複数の監視パケット送受信スレッドの前記パケットの送受信処理の開始を少なくとも制御する送受信スレッド群管理手段と、を備えており、
前記監視パケット送受信スレッドは、
前記監視対象の装置群の１つに対し、前記監視対象装置情報に基づき、監視パケットを送信し前記監視パケットに対応する応答パケットを受信する前記パケットの送受信処理を繰り返し、前記応答パケットを受信できない場合に、前記監視パケットを所定の回数再送し、前記所定の回数の最終再送を実行したとき、最終応答待ちに入ったことを示す最終応答待ちメッセージを前記送受信スレッド群管理手段に送信するステップを実行し、
前記送受信スレッド群管理手段は、
前記最終応答待ちメッセージを受信すると、前記パケットの送受信処理を現在実行していない他の前記監視パケット送受信スレッドに実行させた場合に、前記送信中スレッド最大数を超えるか否かを判定し、前記送受信スレッド最大数を超えない場合に、前記他の監視パケット送受信スレッドに送受信開始メッセージを送信するステップを実行し、
前記他の監視パケット送受信スレッドは、
前記送受信開始メッセージを受信し、前記監視対象装置情報に基づき、まだ監視が実行されていない前記監視対象の装置群の１つに対し、前記パケットの送受信処理を開始するステップを実行すること
を特徴とするネットワーク障害監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークからデータを収集し、ネットワークに発生する障害を監視する、ネットワーク障害監視装置およびネットワーク障害監視方法に関する。
【背景技術】
【０００２】
ネットワークを運用、管理する場合においては、ネットワークで発生する障害を検出等するため、ネットワーク内の装置（ネットワーク装置）やそのパッケージ（装置内の部品）の稼動の確認や、ＣＰＵ（Central Processing Unit）、メモリの稼動状態、装置間のトラフィック量等の情報の収集が行われる。このうち、装置等の稼動確認にはＩＣＭＰ（Internet Control Message Protocol：非特許文献１）によるｐｉｎｇ（Packet INternet Groper）ツール、ＣＰＵ、メモリ等の情報の収集にはＳＮＭＰ（Simple Network Management Protocol：非特許文献２）ツール、といったポーリングによる監視ツールが主に用いられる。
【０００３】
このｐｉｎｇやＳＮＭＰ等を用いた一般的な監視ツール群では、１装置ずつ稼動確認や情報収集を実行する。このとき、監視ツール群には、監視対象装置のＩＰ（Internet Protocol）アドレス等の一意なキーと、情報を収集するために必要なオプション（例えば、再送回数やタイムアウト時間等）が情報として渡される。監視ツール群からは、装置の稼動の有無や稼動状況等に関する要求情報が送信され、各装置から応答情報を受信することにより、各装置を監視する。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“INTERNET CONTROL MESSAGE PROTOCOL”,[online], September 1981, IETF RFC792, ［平成２４年３月１２日検索］,インターネット<URL:http://www.ietf.org/rfc/rfc792.txt>
【非特許文献２】“An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks”,[online], December 2002, IETF RFC3411, ［平成２４年３月１２日検索］,インターネットURL:http://www.ietf.org/rfc/rfc3411.txt>
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年、ＶＰＮ（Virtual Private Network）の普及やネットワークの規模拡大に伴い、ネットワーク管理においては、多くのネットワークに属する多くの装置を監視しなければならなくなってきている。そこで、従来の監視ツールの単独実行では、要求時間内に１監視サイクルを終了できない場合や、相互にパケットの到達性が無い複数のネットワークを監視する場合等は、１つのサーバ内で監視ツールを多重起動させ、それぞれの監視ツールに監視対象装置群を割り当て、並列実行させることが多い。
【０００６】
しかしながら、多重起動数を増やすと、それに応じてトータルの性能は高くなるが、サーバ内のリソースを使い切ると、それ以降は起動数を増やしてもタスク切り替え等のオーバーヘッドが増大することから、結果としてトータルの性能が低下することになる。図６に示すように、例えば、監視ツール（＃１〜＃ｎ）の処理負荷をそれぞれ「３」とし、ＣＰＵコアの処理能力を「１０」とすると、ＣＰＵコアを２台備えるネットワーク監視サーバでは、１０×２＜３×ｎとなるような状況において、監視ツールの起動数をさらに増やしても（ｎを７以上）、サーバの処理能力を超えるため、全体としての性能は低下してしまう。
【０００７】
このような背景に鑑みて本発明がなされたのであり、本発明は、ネットワーク障害監視装置内のリソースの使い切りによる処理性能の低下を防ぎ、かつ、トータルでネットワーク装置の監視に要する時間を短縮することができる、ネットワーク障害監視装置およびネットワーク障害監視方法を提供することを課題とする。
【課題を解決するための手段】
【０００８】
前記した課題を解決するため、請求項１に記載の発明は、複数のネットワーク装置から構成される複数の装置群と接続され、前記装置群に対しパケットを送受信することによりネットワークに発生する障害を監視するネットワーク障害監視装置であって、監視対象となる装置群の情報が格納される監視対象装置情報と、前記パケットを送受信する監視パケット送受信スレッドを同時に稼動可能な最大数を示す送信中スレッド最大数を含むスレッド制御情報と、を記憶する記憶部と、前記パケットの送受信処理を実行し、前記装置群毎に障害の発生を監視する複数の前記監視パケット送受信スレッドと、前記複数の監視パケット送受信スレッドの前記パケットの送受信処理の開始を少なくとも制御する送受信スレッド群管理部と、を備え、前記監視パケット送受信スレッドが、前記監視対象の装置群の１つに対し、前記監視対象装置情報に基づき、監視パケットを送信し前記監視パケットに対応する応答パケットを受信する前記パケットの送受信処理を繰り返し、前記応答パケットを受信できない場合に、前記監視パケットを所定の回数再送し、前記所定の回数の最終再送を実行したとき、最終応答待ちに入ったことを示す最終応答待ちメッセージを前記送受信スレッド群管理部に送信し、前記送受信スレッド群管理部が、前記最終応答待ちメッセージを受信すると、前記パケットの送受信処理を現在実行していない他の前記監視パケット送受信スレッドに実行させた場合に、前記送信中スレッド最大数を超えるか否かを判定し、前記送受信スレッド最大数を超えない場合に、前記他の監視パケット送受信スレッドに送受信開始メッセージを送信し、前記他の監視パケット送受信スレッドが、前記送受信開始メッセージを受信し、前記監視対象装置情報に基づき、まだ監視が実行されていない前記監視対象の装置群の１つに対し、前記パケットの送受信処理を開始することを特徴とするネットワーク障害監視装置とした。
【０００９】
また、請求項４に記載の発明は、複数のネットワーク装置から構成される複数の装置群と接続され、前記装置群に対しパケットを送受信することによりネットワークに発生する障害を監視するネットワーク障害監視装置のネットワーク障害監視方法であって、前記ネットワーク障害監視装置が、監視対象となる装置群の情報が格納される監視対象装置情報と、前記パケットを送受信する監視パケット送受信スレッドを同時に稼動可能な最大数を示す送信中スレッド最大数を含むスレッド制御情報と、を記憶する記憶手段と、前記パケットの送受信処理を実行し、前記装置群毎に障害の発生を監視する複数の前記監視パケット送受信スレッドと、前記複数の監視パケット送受信スレッドの前記パケットの送受信処理の開始を少なくとも制御する送受信スレッド群管理手段と、を備えており、前記監視パケット送受信スレッドが、前記監視対象の装置群の１つに対し、前記監視対象装置情報に基づき、監視パケットを送信し前記監視パケットに対応する応答パケットを受信する前記パケットの送受信処理を繰り返し、前記応答パケットを受信できない場合に、前記監視パケットを所定の回数再送し、前記所定の回数の最終再送を実行したとき、最終応答待ちに入ったことを示す最終応答待ちメッセージを前記送受信スレッド群管理手段に送信するステップを実行し、前記送受信スレッド群管理手段が、前記最終応答待ちメッセージを受信すると、前記パケットの送受信処理を現在実行していない他の前記監視パケット送受信スレッドに実行させた場合に、前記送信中スレッド最大数を超えるか否かを判定し、前記送受信スレッド最大数を超えない場合に、前記他の監視パケット送受信スレッドに送受信開始メッセージを送信するステップを実行し、前記他の監視パケット送受信スレッドが、前記送受信開始メッセージを受信し、前記監視対象装置情報に基づき、まだ監視が実行されていない前記監視対象の装置群の１つに対し、前記パケットの送受信処理を開始するステップを実行することを特徴とするネットワーク障害監視方法とした。
【００１０】
このようにすることで、ネットワーク障害監視装置は、装置群を監視している監視パケット送受信スレッドが、監視パケットの所定の回数の最終転送を実行したとき、最終応答待ちに入ったことを示す最終応答待ちメッセージを送受信スレッド群管理部に送信する。送受信スレッド群管理部は、送受信スレッド最大数を超えない場合に、他の監視パケット送受信スレッドに対し送受信開始メッセージを送信して、監視対象の装置群の１つについて送受信処理を開始させる。よって、ネットワーク内の装置群に対するトータルの監視時間を短縮することができる。
また、送受信スレッド群管理部は、送信中スレッド最大数を超えない場合に、他の監視パケット送受信スレッドに対し送受信開始メッセージを送信することにより、ネットワーク障害監視装置内のリソースの使い切りによる処理性能の低下を防ぐことができる。
【００１１】
請求項２に記載の発明は、前記監視パケット送受信スレッドが、送信処理部と受信処理部とを備え、前記送信処理部が、前記監視対象の装置群に対する前記監視パケットの送信処理を実行し、前記受信処理部が、前記応答パケットの受信処理を実行し、前記送信処理部が、前記所定の回数の前記監視パケットの最終再送を実行したとき、前記最終応答待ちメッセージを前記送受信スレッド群管理部に送信することを特徴とする請求項１に記載のネットワーク障害監視装置とした。
【００１２】
このようにすることで、監視パケット送受信スレッドは、パケットの送受信処理を、送信処理部が行う監視パケットの送信処理と、受信処理部が行う応答パケットの受信処理と分けて実行させることができる。よって、監視パケット送受信スレッドは、監視パケットの最終再送後の最終応答待ち完了を待たずに、最終応答待ちに入った時点で、受信処理部による、送受信スレッド群管理部への最終応答待ちメッセージの送信を実行させることができる。
【００１３】
請求項３に記載の発明は、前記送受信スレッド群管理部が、現時点で前記パケットの送受信処理を実行している前記監視パケット送受信スレッドの数を、使用中スレッド管理用変数として記憶しており、前記監視パケット送受信スレッドから、前記最終応答待ちメッセージを受信すると、前記使用中スレッド管理用変数を１減算し、前記他の監視パケット送受信スレッドに前記送受信開始メッセージを送信するに際し、前記使用中スレッド管理用変数を１加算し、前記１加算した後の使用中スレッド管理用変数が、前記送受信スレッド最大数を超えない場合に、前記他の監視パケット送受信スレッドに送受信開始メッセージを送信することを特徴とする請求項１または請求項２に記載のネットワーク障害監視装置とした。
【００１４】
このように、送受信スレッド群管理部が、使用中スレッド管理用変数を記憶することにより、送信中スレッド最大数を超えないように、現時点でパケットの送受信を実行している監視パケット送受信スレッドの数を、制御することができる。
【発明の効果】
【００１５】
本発明によれば、ネットワーク障害監視装置内のリソースの使い切りによる処理性能の低下を防ぎ、かつ、トータルでネットワーク装置の監視に要する時間を短縮することができる、ネットワーク障害監視装置およびネットワーク障害監視方法を提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本実施形態に係るネットワーク障害監視装置の処理概要を説明するためのシーケンス図である。
【図２】本実施形態に係るネットワーク障害監視装置の構成例を示す機能ブロック図である。
【図３】本実施形態に係る監視対象装置情報のデータ構成の一例を示す図である。
【図４】本実施形態に係るネットワーク障害監視装置の送受信スレッド群管理部が行う処理の流れを示すフローチャートである。
【図５】本実施形態に係るネットワーク障害監視装置が行う処理の具体例を示すシーケンス図である。
【図６】監視ツールを多重起動させた従来のネットワーク監視サーバの例を説明するための図である。
【発明を実施するための形態】
【００１７】
次に、本発明を実施するための形態（以下、「本実施形態」という）におけるネットワーク障害監視装置１等について説明する。
【００１８】
＜概要＞
まず、本実施形態に係るネットワーク障害監視装置１が実行する処理の概要について説明する。ネットワーク障害監視装置１は、ポーリングによりネットワークの装置群を監視する複数のスレッド（後記する「監視パケット送受信スレッド２３」）を備える。また、各スレッドは送信部と受信部とを分離して備える（後記する、「送信処理部２３１」と「受信処理部２３２」）。
そして、各スレッド（監視パケット送受信スレッド２３）の送信部が、監視対象装置に対してパケット（以下、「監視パケット」という場合がある）を周期的に（連続して）送信し、受信部が、監視対象装置から返信されるパケット（以下、「応答パケット」という場合がある）を連続受信する。ネットワークにおいては、監視対象装置の一部が故障等することにより、応答パケットが返信されないことがある。このため、各スレッド（監視パケット送受信スレッド２３）の受信部では、稼動している装置からの応答パケットの受信後、所定時間を過ぎても次の応答パケットを受信できないこと、または、送信部からの監視パケットの送信の後、所定時間を過ぎても対応する応答パケットを受信できないこと、を検知して応答パケットの受信待ちを終了する。そして、受信部が応答パケットを受信できない場合に、各スレッド（監視パケット送受信スレッド２３）は、送信部による監視パケットの再送処理を所定の回数に亘って実行する。
【００１９】
このスレッド（監視パケット送受信スレッド２３）の受信部（受信処理部２３２）が、応答パケットの受信待ちの状態に入ると、ネットワーク障害監視装置１のリソースをほとんど消費しない。
また、一般的には、再送回数を重ねる度に、応答パケットが返信される可能性が減少するため、所定の再送回数における最終再送では、監視パケットを送信しても応答パケットを受信できる可能性は極めて低く、最終再送後の応答待ち（受信処理のみ）の時間は、リソース消費が少なくなる。このため、本実施形態に係るネットワーク障害監視装置１では、ある監視対象の装置群に対する送受信処理の最終再送後の応答待ちの入る時点で、他の監視対象の装置群に対する送受信処理を開始し、ネットワーク障害監視装置１全体としての障害監視の処理時間を短縮する。
【００２０】
図１は、本実施形態に係るネットワーク障害監視装置１の処理概要を説明するためのシーケンス図である。
本実施形態１に係るネットワーク障害監視装置１は、装置群をポーリングにより監視する監視パケット送受信スレッド２３を「ｎ」個立ち上げ、そのうち、ネットワーク障害監視装置１のリソースを使い切らないように予め設定された送信中スレッド最大数「Ｍ」以下の監視パケット送受信スレッド２３を使用して、監視パケットおよび応答パケットの送受信処理を行う。
また、ネットワーク障害監視装置１は、各監視パケット送受信スレッド２３の送受信処理の開始や終了等を制御する送受信スレッド群管理部２２を備える。そして、この送受信スレッド群管理部２２が、現時点で送受信処理を実行している監視パケット送受信スレッド２３の数を、使用中スレッド管理用変数「Ｄ」として記憶することにより、送受信処理を実行中の監視パケット送受信スレッド２３の数が、送信中スレッド最大数「Ｍ」以下となるように制御する。
【００２１】
ネットワーク障害監視装置１では、図１に示すように、例えば、監視パケット送受信スレッド２３（＃１）が、最終再送を実行し、最終応答待ちに入ると（ステップＳ１）、監視パケット送受信スレッド２３（＃１）から、送受信スレッド群管理部２２に向けて、最終再送後の最終応答待ちに入ったことを示す最終応答待ちメッセージ（MSG_FIN_SEND）が送信される（ステップＳ２）。
【００２２】
送受信スレッド群管理部２２は、最終応答待ちメッセージを受信すると、使用中スレッド管理用変数「Ｄ」を「１」減算し（ステップＳ３）、新たな監視対象の装置群の情報を未使用の他の監視パケット送受信スレッド２３（ここでは、「＃Ｍ＋１」）に割り当て、使用中スレッド管理用変数Ｄに「１」加算し（ステップＳ４）、割り当てた監視パケット送受信スレッド２３（＃Ｍ＋１）に向けて、送受信開始メッセージ（MSG_START_SEND）を送信する（ステップＳ５）。そして、監視パケット送受信スレッド２３（＃Ｍ＋１）は、送受信開始メッセージ（MSG_START_SEND）を受信し、監視対象の装置群に対する送受信処理を開始する（ステップＳ６）。
【００２３】
一方、監視パケット送受信スレッド２３（＃１）は、所定時間の経過後に最終応答待ちを完了し（ステップＳ７）、監視対象の装置群についての監視結果を示す結果通知メッセージ（MSG_RESULT）を送受信スレッド群管理部２２に送信する（ステップＳ８）。
【００２４】
このように、ネットワーク障害監視装置１は、監視パケット送受信スレッド２３（＃１）の最終応答待ちの完了（ステップＳ７）を待たずに、最終再送を実行し最終応答待ちに入った時点において（ステップＳ１）、他の監視パケット送受信スレッド２３（＃Ｍ＋１）の送受信処理を開始（ステップＳ６）することができる。従って、ネットワーク障害監視装置１のトータルの監視時間を短縮することができる。
【００２５】
また、ネットワーク障害監視装置１は、送受信処理中となる監視パケット送受信スレッド２３の数を、使用中スレッド管理用変数「Ｄ」を用いて管理することにより、送信中スレッド最大数「Ｍ」を超えないように制御することができる。従って、ネットワーク障害監視装置１内のリソースの使い切りによる処理性能の低下を防ぐことができる。
以下、具体的に、ネットワーク障害監視装置１の構成および処理について説明する。
【００２６】
＜ネットワーク障害監視装置の構成＞
図２は、本実施形態に係るネットワーク障害監視装置１の構成例を示す機能ブロック図である。
【００２７】
ネットワーク障害監視装置１は、ネットワーク内の各装置の稼動状態を監視する装置であり、入出力部１０と、制御部２０と、記憶部３０とを備える。
【００２８】
入出力部１０は、通信回線を介して情報の送受信を行う通信インタフェースと、不図示のキーボード等の入力手段やモニタ等の出力手段等との間で情報の入出力を行う入出力インタフェースとから構成され、情報入力部１１、結果出力部１２および装置アクセス部１３（＃１〜＃ｎ）を備える。
【００２９】
情報入力部１１は、キーボード等の入力手段（不図示）や、ネットワーク管理装置（不図示）に格納された監視対象装置ファイル等から、後記する監視対象装置情報３１０やスレッド制御情報３２０を受信し、制御部２０（後記する「監視対象装置解析部２１」）に引き渡す。なお、監視対象装置情報３１０およびスレッド制御情報３２０は、監視対象装置解析部２１により記憶部３０に記憶される。
【００３０】
図３は、本実施形態に係る監視対象装置情報３１０のデータ構成の一例を示す図である。
図３に示すように、監視対象装置情報３１０には、ネットワーク障害監視装置１が監視対象とする装置群のネットワーク内における固有な番号である装置群番号３１１毎に、その装置群に含まれる各ネットワーク装置のＩＰアドレス３１２が記憶される。
【００３１】
また、スレッド制御情報３２０は、制御部２０内で起動するスレッド（「監視パケット送受信スレッド２３」）の数である起動スレッド数（NUM_THREAD_ON）「ｎ」、および、実際にパケットの送受信処理を実行するスレッドの同時に稼動可能な最大数を示す送信中スレッド最大数（MAX_NUM_THREAD_SEND）「Ｍ」を含む情報である。スレッド制御情報３２０のその他の情報として、例えば、パケットの再送回数や、タイムアウト時間等を含むことができる。
【００３２】
図２に戻り、結果出力部１２は、制御部２０（後記する「送受信スレッド群管理部２２」）から、各装置群に対する監視結果を取得し、モニタ等の出力手段（不図示）に出力したり、ネットワーク管理装置（不図示）の試験結果ファイル等に、その監視結果を出力したりする。
【００３３】
装置アクセス部１３（＃１〜＃ｎ）は、制御部２０内の後記する監視パケット送受信スレッド２３（＃１〜＃ｎ）に対応付けて設けられる通信インタフェースであり、ネットワーク内の監視対象となる装置群（＃１〜＃ｎ）の各装置に対して、監視のためのパケットの送受信を行う。
【００３４】
制御部２０は、ネットワーク障害監視装置１全体の制御を司り、監視対象装置解析部２１と、送受信スレッド群管理部２２と、監視パケット送受信スレッド２３（＃１〜＃ｎ）とを含んで構成される。
【００３５】
監視対象装置解析部２１は、情報入力部１１から、監視対象装置情報３１０やスレッド制御情報３２０等の情報を取得し、取得した情報のフォーマット等が正しいか否かを解析した上で、正しい場合は、取得した情報を記憶部３０に記憶する。なお、監視対象装置解析部２１は、取得した情報のフォーマット等が正しくない場合は、その旨を、結果出力部を介して出力する。
【００３６】
送受信スレッド群管理部２２は、監視パケット送受信スレッド２３（＃１〜＃ｎ）によるネットワーク装置の監視処理の全般を制御する。
具体的には、送受信スレッド群管理部２２は、記憶部３０内のスレッド制御情報３２０を参照し、監視パケット送受信スレッド２３の起動スレッド数「ｎ」、および、送信中スレッド最大数「Ｍ」を読み込む。
なお、送受信スレッド群管理部２２は、監視パケット送受信スレッド２３（＃１〜＃ｎ）がパケットの送受信処理を行うために必要となるオプション（例えば、再送回数やタイムアウト時間等）も併せて読み込み、監視パケット送受信スレッド２３（＃１〜＃ｎ）に設定する。
【００３７】
送受信スレッド群管理部２２は、監視パケット送受信スレッド２３を起動スレッド数「ｎ」個立ち上げる。そして、送受信スレッド群管理部２２は、立ち上げた「ｎ」個の監視パケット送受信スレッド２３のうち、送信中スレッド最大数「Ｍ」を超えない数の監視パケット送受信スレッド２３それぞれについて、記憶部３０に記憶された監視対象となる装置群の監視対象装置情報３１０（装置群番号３１１とＩＰアドレス３１２の組）のうちの１つを割り当て、監視のための送受信処理を開始させる。
【００３８】
このとき、送受信スレッド群管理部２２は、送受信処理を実行中の監視パケット送受信スレッド２３のうちの１つが、最終再送を実行し最終応答待ちに入ると、送受信処理を行っていない（待機の状態にある）他の監視パケット送受信スレッド２３の１つに、新たな装置群の監視対象装置情報３１０を割り当て、監視のための送受信処理を開始させる。
【００３９】
また、送受信スレッド群管理部２２は、送受信処理を実行している監視パケット送受信スレッド２３の数を、使用中スレッド管理用変数（NUM_THREAD_SEND）「Ｄ」として記憶しており、使用中スレッド管理用変数「Ｄ」が、送信中スレッド最大数「Ｍ」を超えないように制御する。さらに、送受信スレッド群管理部２２は、監視パケット送受信スレッド２３（＃１〜＃ｎ）それぞれから、各装置群の監視結果を受け取り、その監視結果の情報を、結果出力部１２を介して、出力する。
なお、送受信スレッド群管理部２２が行う処理の詳細は、図４において説明する。
【００４０】
監視パケット送受信スレッド２３（＃１〜＃ｎ）それぞれは、装置群ごとに監視を実行する。
具体的には、監視パケット送受信スレッド２３は、送受信スレッド群管理部２２から監視対象となる装置群の監視対象装置情報３１０（装置群番号３１１とＩＰアドレス３１２の組）を受け取り、監視対象の装置を監視するためのパケットの送受信を行う。このとき、監視パケット送受信スレッド２３は、例えば、ｐｉｎｇやＳＮＭＰ等に基づきパケットの送受信を行うようにしてもよい。
この監視パケット送受信スレッド２３は、送信処理部２３１および受信処理部２３２を備える。送信処理部２３１は、送受信スレッド群管理部２２から、送受信開始メッセージ（MSG_START_SEND）を受信すると、監視対象の装置群に対して、監視パケットを送信する。受信処理部２３２は、監視対象の装置群からの監視パケットに対応する応答パケットを受信する。また、受信処理部２３２は、稼動している装置からの応答パケットの受信後、所定時間を過ぎても次の応答パケットを受信できないこと、または、送信処理部２３１からの監視パケットの送信の後、所定時間を過ぎても対応する応答パケットを受信できないこと、を検知した場合に、応答パケットの受信待ちを完了する。そして、監視パケット送受信スレッド２３は、受信処理部２３２が応答パケットを受信できず受信待ちを完了した場合に、送信処理部２３１による監視パケットの再送処理を所定の回数に亘って実行する。
また、受信処理部２３２は、設定された所定の再送回数の最後となる最終送信を、送信処理部２３１が実行した場合に、最終応答待ちに入ったことを示すメッセージ（最終応答待ちメッセージ（MSG_FIN_SEND））を送受信スレッド群管理部２２に送信する。また、受信処理部２３２は、最終応答待ちが完了した場合に、監視対象となる装置群の監視結果を、結果通知メッセージ（MSG_RESULT）として、送受信スレッド群管理部２２に送信する。
【００４１】
記憶部３０には、前記した監視対象装置情報３１０と、スレッド制御情報３２０とを含む情報が記憶される。また、記憶部３０は、ＲＡＭ（Random Access Memory）や、ＨＤＤ（Hard Dick Drive）、フラッシュメモリ等の記憶媒体から構成される。
なお、ネットワーク障害監視装置１をプログラム実行処理により実現する場合、記憶部３０には、ネットワーク障害監視装置１の制御部２０の機能を実現するためのプログラムが格納される。そして、制御部２０は、記憶部３０に記憶されたプログラムを、不図示のＣＰＵが、ＲＡＭ等に展開し実行することで実現される。
【００４２】
＜ネットワーク障害監視装置の処理＞
次に、本実施形態に係るネットワーク障害監視装置１が行うネットワーク障害監視処理について説明する。
【００４３】
図４は、本実施形態に係るネットワーク障害監視装置１の送受信スレッド群管理部２２が行う処理の流れを示すフローチャートである。なお、ここでは、監視対象装置解析部２１により、情報入力部１１を介して取得した、監視対象装置情報３１０やスレッド制御情報３２０等の情報が記憶部３０に記憶されているものとする。また、送受信スレッド群管理部２２は、スレッド制御情報３２０を参照することにより、起動スレッド数（NUM_THREAD_ON）「ｎ」、および、送信中スレッド最大数（MAX_NUM_THREAD_SEND）「Ｍ」の情報を取得しており、さらに、各監視パケット送受信スレッド２３に、パケットの再送回数や、タイムアウト時間等を設定済みとする。
【００４４】
まず、ネットワーク障害監視装置１の送受信スレッド群管理部２２は、監視パケット送受信スレッド２３を、起動スレッド数「ｎ」個立ち上げる（ステップＳ１０）。
【００４５】
次に、送受信スレッド群管理部２２は、使用中スレッド管理用変数「Ｄ」に、初期値として「１」を設定する（ステップＳ１１）。
【００４６】
続いて、送受信スレッド群管理部２２は、起動した「ｎ」個の監視パケット送受信スレッド２３のうち未使用のものを１つ選択し、記憶部３０に記憶された監視対象となる装置群の監視対象装置情報３１０（装置群番号３１１とＩＰアドレス３１２の組）のうちの１つを割り当て、その選択した監視パケット送受信スレッド２３に対し、送受信開始メッセージ（MSG_START_SEND）を送信する（ステップＳ１２）。送受信開始メッセージを受け取った監視パケット送受信スレッド２３は、割り当てられた装置群に対するパケットの送受信処理（送信処理部２３１による監視パケットの送信、および、受信処理部２３２による応答パケットの受信等）を開始する。
【００４７】
そして、送受信スレッド群管理部２２は、使用中スレッド管理用変数「Ｄ」と送信中スレッド最大数「Ｍ」とを比較し、Ｄ＜Ｍが成り立つか否かを判定する（ステップＳ１３）。
ここで、Ｄ＜Ｍが成り立つ場合は（ステップＳ１３→Ｙｅｓ）、次のステップＳ１４に進む。
【００４８】
ステップＳ１４において、送受信スレッド群管理部２２は、使用中スレッド管理用変数Ｄを「１」加算し、ステップＳ１２に戻り、未使用の監視パケット送受信スレッド２３の送受信処理を開始させる処理を続ける。
【００４９】
一方、ステップＳ１３において、Ｄ＜Ｍが成り立たない場合（ステップＳ１３→Ｎｏ）、つまり、使用中スレッド管理用変数「Ｄ」が、送信中スレッド最大数「Ｍ」に達した場合は、次のステップＳ１５に進む。
【００５０】
ステップＳ１５において、送受信スレッド群管理部２２は、所定の時間間隔毎に、１つでも、送信処理部２３１が最終再送を実行することにより最終応答待ちに入った監視パケット送受信スレッド２３があるか否かを判定する。具体的には、送受信スレッド群管理部２２は、いずれかの監視パケット送受信スレッド２３（受信処理部２３２）から最終応答待ちメッセージ（MSG_FIN_SEND）を受信したか否か判定する。
【００５１】
ステップＳ１５において、最終再送を実行した監視パケット送受信スレッド２３がない場合（ステップＳ１５→Ｎｏ）、送受信スレッド群管理部２２は、所定の時間間隔を待って、ステップＳ１５の判定を再び行う。
【００５２】
一方、ステップＳ１５において、送受信スレッド群管理部２２が、最終再送を実行して最終応答待ちに入った監視パケット送受信スレッド２３が１つでもあると判定した場合（ステップＳ１５→Ｙｅｓ）、つまり、監視パケット送受信スレッド２３のうちのいずれか１つからでも、最終応答待ちメッセージ（MSG_FIN_SEND）を受信した場合には、送受信スレッド群管理部２２は、使用中スレッド管理用変数Ｄを「１」減算し（ステップＳ１６）、次のステップＳ１７へ進む。
【００５３】
ステップＳ１７において、送受信スレッド群管理部２２は、記憶部３０内の監視対象装置情報３１０を参照し、まだ監視パケット送受信スレッド２３に割り当てていない装置群の情報（装置群番号３１１とＩＰアドレス３１２の組）があるか否かを判定する。
【００５４】
まだ、割り当てていない装置群の情報がある場合に（ステップＳ１７→Ｙｅｓ）、送受信スレッド群管理部２２は、現在送受信処理を実行していない、つまり未使用の監視パケット送受信スレッド２３があるか否かを判定する（ステップＳ１８）。そして、送受信処理を実行していない監視パケット送受信スレッド２３がない場合には（ステップＳ１８→Ｎｏ）、ステップＳ１５に戻る。
【００５５】
一方、送受信スレッド群管理部２２は、ステップＳ１８において、現在送受信処理を実行していない監視パケット送受信スレッド２３がある場合には（ステップＳ１８→Ｙｅｓ）、使用中スレッド管理用変数Ｄを「１」加算する（ステップＳ１９）。
【００５６】
続いて、送受信スレッド群管理部２２は、現在送受信処理を実行していない監視パケット送受信スレッド２３のうちの１つを選択し、記憶部３０に記憶された監視対象装置情報３１０を参照して、まだ割り当てていない監視対象となる装置群の監視対象装置情報３１０（装置群番号３１１とＩＰアドレス３１２の組）のうちの１つを割り当てる。そして、送受信スレッド群管理部２２は、その選択した監視パケット送受信スレッド２３に対し、送受信開始メッセージ（MSG_START_SEND）を送信する（ステップＳ２０）。送受信開始メッセージ（MSG_START_SEND）を受け取った監視パケット送受信スレッド２３は、割り当てられた装置群に対する監視パケットの送受信処理を開始する。そして、ステップＳ１５に戻り処理を続ける。
【００５７】
一方、送受信スレッド群管理部２２は、ステップＳ１７において、記憶部３０内の監視対象装置情報３１０を参照し、監視パケット送受信スレッド２３に割り当てていない装置群の情報（装置群番号３１１とＩＰアドレス３１２の組）がない場合（ステップＳ１７→Ｎｏ）、つまり、監視対象装置情報３１０のすべてが割り当て済みの場合は、次のステップＳ２１へ進む。
【００５８】
ステップＳ２１において、送受信スレッド群管理部２２は、現在使用している（送受信処理を行っている）すべての監視パケット送受信スレッド２３の送受信処理が完了するまで待ち、処理を終える。
【００５９】
以上説明した、本実施形態に係るネットワーク障害監視装置１が行うネットワーク障害監視処理の具体例を、図５を参照して説明する。
図５は、本実施形態に係るネットワーク障害監視装置１が行う処理の具体例を示すシーケンス図である。図５においては、起動スレッド数「ｎ」＝３、送信中スレッド最大数「Ｍ」＝２、監視対象となる装置群数を「３」とした場合の例を示している。
【００６０】
ここで、図５（ａ）は、比較例として、最終応答待ち完了後、具体的には、監視パケット送受信スレッド２３（＃１）の受信処理部２３２が結果通知メッセージ（MSG_RESULT）を送受信スレッド群管理部２２送信してから、次の監視対象の装置群に対しての送受信処理を、監視パケット送受信スレッド２３（＃３）において開始する例を示している。一方、図５（ｂ）は、本実施形態に係るネットワーク障害監視装置１の具体例であり、最終再送後の応答待ちに入った時点で、監視パケット送受信スレッド２３（＃１）の受信処理部２３２が最終応答待ちメッセージ（MSG_FIN_SEND）を送受信スレッド群管理部２２に送信することにより、新たな監視対象の装置群に対しての送受信処理を、監視パケット送受信スレッド２３（＃３）において開始する例を示している。
【００６１】
このように本実施形態に係るネットワーク障害監視装置１では、監視パケット送受信スレッド２３の受信処理部２３２が、送信処理部２３１による監視パケットの送信（再送）とは独立して、応答パケットの受信の有無を確認することにより、最終再送後の応答待ちに入った時点で、最終応答待ちメッセージ（MSG_FIN_SEND）を送受信スレッド群管理部２２に送信することができる。そして、送受信スレッド群管理部２２は、新たな監視対象の装置群の情報を未使用の監視パケット送受信スレッド２３（＃３）に割り当て、送受信開始メッセージ（MSG_START_SEND）を送信し、送受信処理を開始させることができる。
よって、図５に示すように、本実施形態に係るネットワーク障害監視装置１は、比較例と比べ、ネットワーク装置の監視に要する時間を短縮することができる。また、ネットワーク障害監視装置１の送受信スレッド群管理部２２により、使用中スレッド管理用変数「Ｄ」が、送信中スレッド最大数「Ｍ」を超えないように監視パケット送受信スレッド２３の使用数を制御することができる。
【００６２】
以上より、本実施形態に係るネットワーク障害監視装置１およびネットワーク障害監視方法によれば、ネットワーク障害監視装置１内のリソースの使い切りによる処理性能の低下を防ぎ、かつ、トータルでネットワーク装置の監視に要する時間を短縮することができる。
【符号の説明】
【００６３】
１      ネットワーク障害監視装置
１０    入出力部
１１    情報入力部
１２    結果出力部
１３    装置アクセス部
２０    制御部
２１    監視対象装置解析部
２２    送受信スレッド群管理部
２３    監視パケット送受信スレッド
３０    記憶部
２３１  送信処理部
２３２  受信処理部
３１０  監視対象装置情報
３２０  スレッド制御情報
【図１】
0005476415.tif 000002
【図２】
0005476415.tif 000003
【図３】
0005476415.tif 000004
【図４】
0005476415.tif 000005
【図５】
0005476415.tif 000006
【図６】
0005476415.tif 000007