(57)【要約】【課題】  監視処理の負荷を効果的に低減するネットワーク監視装置、ネットワーク監視システム、及びネットワーク監視方法を提供する。【解決手段】  ネットワーク監視装置は、監視対象の１以上のセッションのうち、要求メッセージに対応する応答メッセージが、前記要求メッセージの検出時刻から制限時間内に検出されないセッションを異常と判断する装置であり、前記１以上のセッションの各々について、前記応答メッセージが検出されたか否かを周期的に判定し、前記応答メッセージが検出されていないセッションのうち、当該判定処理が次に行われるときまでに前記制限時間が経過するセッションについて、前記制限時間の経過により満了するタイマを起動する周期処理部と、前記タイマが満了したときに前記応答メッセージが検出されていない場合、当該セッションを異常と判断する判断処理部とを有する。【選択図】図５
2015089046.tif 000002
【特許請求の範囲】
【請求項１】
監視対象の１以上のセッションのうち、要求メッセージに対応する応答メッセージが、前記要求メッセージの検出時刻から制限時間内に検出されないセッションを異常と判断するネットワーク監視装置において、
前記１以上のセッションの各々について、前記応答メッセージが検出されたか否かを周期的に判定し、前記応答メッセージが検出されていないセッションのうち、当該判定処理が次に行われるときまでに前記制限時間が経過するセッションについて、前記制限時間の経過により満了するタイマを起動する周期処理部と、
前記タイマが満了したときに前記応答メッセージが検出されていない場合、当該セッションを異常と判断する判断処理部とを有することを特徴とするネットワーク監視装置。
【請求項２】
前記周期処理部は、前記１以上のセッションのうち、前記応答メッセージが検出されておらず、前記制限時間が経過したセッションを判別し、
前記判断処理部は、当該セッションを異常と判断することを特徴とする請求項１に記載のネットワーク監視装置。
【請求項３】
前記１以上のセッションの各々について、前記要求メッセージの検出時刻及び前記制限時間が登録されたテーブルを記憶する記憶部を、さらに有し、
前記周期処理部は、前記テーブルから取得した前記要求メッセージの検出時刻及び前記制限時間と、現在時刻と、前記判定処理の周期とに基づき、前記１以上のセッションのうち、前記判定処理が次に行われるときまでに前記制限時間が経過するセッションを判別することを特徴とする請求項１または２に記載のネットワーク監視装置。
【請求項４】
１以上のセッションを実行して、要求メッセージ及び応答メッセージを送受信する２つの通信装置と、
前記１以上のセッションのうち、前記要求メッセージに対応する前記応答メッセージが、前記要求メッセージの検出時刻から制限時間内に検出されないセッションを異常と判断するネットワーク監視装置とを有し、
前記ネットワーク監視装置は、
前記１以上のセッションの各々について、前記応答メッセージが検出されたか否かを周期的に判定し、前記応答メッセージが検出されていないセッションのうち、当該判定処理が次に行われるときまでに前記制限時間が経過するセッションについて、前記制限時間の経過により満了するタイマを起動する周期処理部と、
前記タイマが満了したときに前記応答メッセージが検出されていない場合、当該セッションを異常と判断する判断処理部とを有することを特徴とするネットワーク監視システム。
【請求項５】
監視対象の１以上のセッションのうち、要求メッセージに対応する応答メッセージが、前記要求メッセージの検出時刻から制限時間内に検出されないセッションを異常と判断するネットワーク監視方法において、
前記１以上のセッションの各々について、前記応答メッセージが検出されたか否かを周期的に判定し、前記応答メッセージが検出されていないセッションのうち、当該判定処理が次に行われるときまでに前記制限時間が経過するセッションについて、前記制限時間の経過により満了するタイマを起動する工程と、
前記タイマが満了したときに前記応答メッセージが検出されていない場合、当該セッションを異常と判断する工程とを、コンピュータが実行することを特徴とするネットワーク監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、ネットワーク監視装置、ネットワーク監視システム、及びネットワーク監視方法に関する。
【背景技術】
【０００２】
通信技術の進歩に伴い、ＶｏＩＰ（Voice over Internet Protocol）などを用いた音声通話サービスが普及している。この種の音声通話サービスでは、音声データを収容するパケットが遅延すると、音声も遅延する。
【０００３】
このため、サービスの質の低下を防ぐために、例えば、ネットワーク監視装置により、通話セッションの開始から終了まで、タイマによるパケット（メッセージ）の監視が行われる。なお、パケットとしては、例えばＩＰパケットやイーサネット（登録商標、以下同様）フレームが挙げられるが、これに限定されず、ＡＴＭ（Asynchronous Transfer Mode）セルなどの他の形態のデータでもよい。
【０００４】
タイマ処理に関し、例えば特許文献１には、タイムアウト時間ごとに対応する複数のタイマエントリに、コネクション制御表をキューイングすることにより、表中のコネクションにまとめてタイムアウトを通知する点が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−１７５３５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
タイマ処理では、メッセージの制限時刻になるまで、常時、計時処理（カウント処理）が行われるので、監視対象となるセッション数（例えば数十万〜数百万）に応じて、ネットワーク監視装置の負荷が増加する。これに対し、負荷を軽減するため、一定の監視周期でメッセージを検出することも可能である。
【０００７】
しかし、この監視方法を用いた場合、ネットワーク監視装置は、周期的な監視処理が行われる時点でメッセージが検出済みであれば、仮に、当該検出時刻が制限時間を超えていても、セッションはタイムアウトしていないと判断するので、監視精度に問題を生ずる。したがって、監視精度を維持しつつ、監視処理の負荷を低減し得る監視方法が望まれる。なお、この問題は、監視対象が、ＶｏＩＰなどの音声通信プロトコルである場合に限定されず、他種のプロトコルを用いた場合にも生ずる。
【０００８】
そこで本件は上記の課題に鑑みてなされたものであり、監視処理の負荷を効果的に低減するネットワーク監視装置、ネットワーク監視システム、及びネットワーク監視方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本明細書に記載のネットワーク監視装置は、監視対象の１以上のセッションのうち、要求メッセージに対応する応答メッセージが、前記要求メッセージの検出時刻から制限時間内に検出されないセッションを異常と判断する装置であり、前記１以上のセッションの各々について、前記応答メッセージが検出されたか否かを周期的に判定し、前記応答メッセージが検出されていないセッションのうち、当該判定処理が次に行われるときまでに前記制限時間が経過するセッションについて、前記制限時間の経過により満了するタイマを起動する周期処理部と、前記タイマが満了したときに前記応答メッセージが検出されていない場合、当該セッションを異常と判断する判断処理部とを有する。
【００１０】
本明細書に記載のネットワーク監視システムは、１以上のセッションを実行して、要求メッセージ及び応答メッセージを送受信する２つの通信装置と、前記１以上のセッションのうち、前記要求メッセージに対応する前記応答メッセージが、前記要求メッセージの検出時刻から制限時間内に検出されないセッションを異常と判断するネットワーク監視装置とを有し、前記ネットワーク監視装置は、前記１以上のセッションの各々について、前記応答メッセージが検出されたか否かを周期的に判定し、前記応答メッセージが検出されていないセッションのうち、当該判定処理が次に行われるときまでに前記制限時間が経過するセッションについて、前記制限時間の経過により満了するタイマを起動する周期処理部と、前記タイマが満了したときに前記応答メッセージが検出されていない場合、当該セッションを異常と判断する判断処理部とを有する。
【００１１】
本明細書に記載のネットワーク監視方法は、監視対象の１以上のセッションのうち、要求メッセージに対応する応答メッセージが、前記要求メッセージの検出時刻から制限時間内に検出されないセッションを異常と判断する方法であり、前記１以上のセッションの各々について、前記応答メッセージが検出されたか否かを周期的に判定し、前記応答メッセージが検出されていないセッションのうち、当該判定処理が次に行われるときまでに前記制限時間が経過するセッションについて、前記制限時間の経過により満了するタイマを起動する工程と、前記タイマが満了したときに前記応答メッセージが検出されていない場合、当該セッションを異常と判断する工程とを、コンピュータが実行する。
【発明の効果】
【００１２】
本明細書に記載のネットワーク監視装置、ネットワーク監視システム、及びネットワーク監視方法は、監視処理の負荷を効果的に低減するという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】実施例に係るネットワーク監視システムを示す構成図である。
【図２】各セッションで送受信されるメッセージの一例を示すラダーチャートである。
【図３】第１比較例に係るネットワーク監視方法を示すタイムチャートである。
【図４】第２比較例に係るネットワーク監視方法を示すタイムチャートである。
【図５】実施例に係るネットワーク監視方法を示すタイムチャートである。
【図６】実施例に係るネットワーク監視装置の構成を示す構成図である。
【図７】ネットワーク監視装置の機能構成例を示す構成図である。
【図８】セッション管理テーブルの一例を示す表である。
【図９】監視処理の一例を示すフローチャートである。
【図１０】周期処理スレッドの処理の一例を示すフローチャートである。
【図１１】タイマ処理スレッドの処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
図１は、実施例に係るネットワーク監視システムを示す構成図である。本実施例において、ＶｏＩＰが実行されるネットワークを監視対象の一例として挙げるが、これに限定されず、他種のプロトコルが実行されるネットワークを監視対象としてもよい。
【００１５】
ネットワーク監視システムは、ネットワーク監視装置１と、ＴＡＰ２と、第１サーバ装置（通信装置）３１と、第２サーバ装置（通信装置）３２とを有する。第１サーバ装置３１及び第２サーバ装置３２は、例えば業務サーバであり、無線ＬＡＮ（Local Area Network）などのネットワークＮＷを介して複数のクライアント装置４１〜４３，４４〜４６にそれぞれ接続されている。第１サーバ装置３１及び第２サーバ装置３２は、第１サーバ装置３１側のクライアント装置４１〜４３と、第２サーバ装置３２側のクライアント装置４４〜４６との間において、ＶｏＩＰのセッション（呼）ＳＮ１〜ＳＮ３を実行する。
【００１６】
クライアント装置４４〜４６は、例えばスマートフォンや携帯電話機などの端末装置であり、ＶｏＩＰにより互いに音声通信（通話）が可能である。本例では、クライアント装置４１，４４は、ＶｏＩＰに基づくセッションＳＮ１を実行することにより、音声通信を行う。これと同様に、クライアント装置４２，４５は、セッションＳＮ２を実行し、クライアント装置４３，４６は、セッションＳＮ３を実行する。なお、本例では、３つのセッションＳＮ１〜ＳＮ３を例に挙げるが、セッション数に限定はなく、クライアント装置の台数も、同様に限定されない。
【００１７】
第１サーバ装置３１及び第２サーバ装置３２は、ＴＡＰ２を介し、例えばＬＡＮケーブルＲにより互いに接続され、要求メッセージ及び応答メッセージを含むパケットを送受信する。ＴＡＰ２は、ＬＡＮケーブルＲに接続され、第１サーバ装置３１及び第２サーバ装置３２の間において送受信されるパケットを検出して複製する。なお、パケットとしては、例えばＩＰパケットやイーサネットフレームが挙げられるが、これに限定されず、ＡＴＭセルなどの他の形態のデータでもよい。
【００１８】
ＴＡＰ２は、複製により得たパケットをネットワーク監視装置１に出力する。このとき、ＴＡＰ２は、第１サーバ装置３１から入力された複製元のパケットを、そのまま第２サーバ装置３２に出力し、第２サーバ装置３２から入力された複製元のパケットを、そのまま第１サーバ装置３１に出力する。
【００１９】
ネットワーク監視装置１は、ＴＡＰ２から入力されたパケットを検出することにより、各セッションＳＮ１〜ＳＮ３において送受信されるパケット（つまり要求メッセージ及び応答メッセージ）を監視する。ネットワーク監視装置１は、セッションＳＮ１〜ＳＮ３のうち、要求メッセージに対応する応答メッセージが、要求メッセージの検出時刻から制限時間内に検出されないセッションＳＮ１〜ＳＮ３を異常（つまり通信品質の劣化）と判断する。
【００２０】
図２は、各セッションＳＮ１〜ＳＮ３で送受信されるメッセージの一例を示すラダーチャートである。図２は、一例としてＶｏＩＰのセッションにおいて送受信されるメッセージを示す。
【００２１】
まず、第１サーバ装置３１は、第２サーバ装置３２に「ＩＮＶＩＴＥ」メッセージを送信する。第２サーバ装置３２は、「ＩＮＶＩＴＥ」メッセージを受信すると、第１サーバ装置３１に「２００ＯＫ」メッセージを送信する。第１サーバ装置３１は、「２００ＯＫ」メッセージを受信すると、第２サーバ装置３２に「ＡＣＫ」メッセージを送信する。これにより、セッションＳＮ１〜ＳＮ３が確立される。
【００２２】
次に、第１サーバ装置３１は、第２サーバ装置３２に「ＢＹＥ」メッセージを送信する。第２サーバ装置３２は、「ＢＹＥ」メッセージを受信すると、第１サーバ装置３１に「ＡＣＫ」メッセージを送信する。これにより、セッションＳＮ１〜ＳＮ３が終了する。なお、以降の説明において、上記の２つの「ＡＣＫ」メッセージを区別するため、第２サーバ装置３２から送信される「ＡＣＫ」メッセージを「第２ＡＣＫ」と表記し、第１サーバ装置３１から送信される「ＡＣＫ」メッセージを「第１ＡＣＫ」と表記する。
【００２３】
ネットワーク監視装置１は、上記の各メッセージの検出時刻の間隔Ｔａ１〜Ｔａ４を指標として、通信品質（音声通話サービスの質）を判断する。ネットワーク監視装置１は、例えば、「ＩＮＶＩＴＥ」メッセージを要求メッセージとして、「ＩＮＶＩＴＥ」メッセージの検出時刻と、その応答メッセージである「２００ＯＫ」の検出時刻の間隔Ｔａ１を計測する。また、ネットワーク監視装置１は、例えば、「２００ＯＫ」メッセージを要求メッセージとして、「２００ＯＫ」メッセージの検出時刻と、その応答メッセージである「第１ＡＣＫ」メッセージの検出時刻の間隔Ｔａ２を計測する。
【００２４】
（第１比較例）
図３は、第１比較例に係るネットワーク監視方法を示すタイムチャートである。本例は、セッションＳＮ１，ＳＮ２の各メッセージをタイマＴ１０〜Ｔ１３，Ｔ２０〜Ｔ２３により監視する方法を示す。図３において、横軸は時刻（秒）を示し、矢印の根元及び先端は、タイマＴ１０〜Ｔ１３，Ｔ２０〜Ｔ２３の開始時刻及び満了（終了）時刻を示す。このため、矢印の長さは、各メッセージの制限時間を示す。なお、制限時間は、メッセージの種類に応じて決定される。
【００２５】
セッションＳＮ１〜ＳＮ３の開始及び終了のタイミングは、セッションごとに異なるので、ネットワーク監視装置１は、各セッションＳＮ１〜ＳＮ３のメッセージごとにタイマＴ１０〜Ｔ１３，Ｔ２０〜Ｔ２３を起動して、メッセージを監視する。タイマＴ１０〜Ｔ１３，Ｔ２０〜Ｔ２３は、メッセージが検出されるたびに起動され、計時を開始する。
【００２６】
例えば、セッションＳＮ１について、「ＩＮＶＩＴＥ」メッセージが検出されると、タイマＴ１０が起動され、「２００ＯＫ」メッセージが検出されると、タイマＴ１１が起動される。また、「第１ＡＣＫ」メッセージが検出されると、タイマＴ１２が起動され、「ＢＹＥ」メッセージが検出されると、タイマＴ１３が起動される。なお、セッションＳＮ２のメッセージを監視するタイマＴ２０〜Ｔ２３も、上記と同様である。
【００２７】
セッションＳＮ２は、「第１ＡＣＫ」メッセージが、タイマＴ２１の制限時間内に検出されないため、タイムアウトと判断される。したがって、ネットワーク監視装置１は、セッションＳＮ２を異常と判断する。
【００２８】
このように、ネットワーク監視装置１は、各セッションＳＮ１〜ＳＮ３のメッセージを、個別のタイマＴ１０〜Ｔ１３，Ｔ２０〜Ｔ２３により監視する。タイマ処理は、例えばタイマ数分のスレッド（一連の処理群）により行われる。このため、セッション数が、例えば数十万〜数百万に及ぶ場合、多数のタイマの計時処理によって、ネットワーク監視装置１の監視処理の負荷が増加する。したがって、第１比較例に係る監視方法によると、プロセッサ及びメモリなどのリソースが不足し、装置全体の処理能力が低下し得る。
【００２９】
（第２比較例）
監視処理に負荷を低減するため、一定の監視周期でメッセージを検出することも可能である。図４は、第２比較例に係るネットワーク監視方法を示すタイムチャートである。本例において、各セッションＳＮ１〜ＳＮ３のメッセージの監視周期を１（秒）とする。また、図４において、横軸は時刻（秒）を示し、「ＣＨＫ」は、監視処理が実行される時刻を示す。監視周期は１（秒）であるため、監視処理は、時刻が０（秒），１（秒），２（秒），・・・，８（秒）のときに行われる。
【００３０】
また、図４において、矢印の根元及び先端は、各メッセージの検出時刻及びタイムアウト時刻を示す。言い換えれば、矢印の長さは、各メッセージの制限時間を示す。なお、各メッセージの検出時刻は、当該矢印の根元近傍に記載されている。また、以降の説明において、時刻は、時及び分を省略して、秒のみを単位とする。
【００３１】
ネットワーク監視装置１は、一定の監視周期（１（秒））ごとに各メッセージの監視処理を行う。監視処理では、各セッションＳＮ１〜ＳＮ３のメッセージが検出済みであるか否かが判定される。ここで、メッセージの検出処理は、ＴＡＰ２を介して行われる。期待されるメッセージが検出されておらず、かつ、監視処理が行われた時刻がタイムアウト時刻を過ぎている場合、当該セッションＳＮ２のタイムアウトが検出される。タイムアウトしたセッションＳＮ２は、異常と判断される。
【００３２】
ネットワーク監視装置１は、上述した監視処理を行うため、セッションＳＮ１〜ＳＮ３ごとに、メッセージの検出時刻及び当該メッセージに対応する応答メッセージの制限時間が登録されたセッション管理テーブルを保持する。ネットワーク監視装置１は、監視処理を行うとき、セッション管理テーブルを参照して、監視処理が行われた時刻（現在時刻）とメッセージの検出時刻の差分が制限時間より大きい場合、タイムアウト時刻が経過したと判断する。
【００３３】
例えば、セッションＳＮ１において、「ＩＮＶＩＴＥ」メッセージの検出時刻は、０．２（秒）であるので、制限時間を１（秒）とすると、時刻が１（秒）の時点で、経過時刻は、１−０．２＝０．８≦１である。このため、ネットワーク監視装置１は、タイムアウト時刻（０．２（秒）＋１（秒）＝１．２（秒））が未経過であると判断する。
【００３４】
また、時刻が２（秒）の時点で、経過時刻は、２−０．２＝１．８＞１であるため、ネットワーク監視装置１は、タイムアウト時刻が経過したと判断する。しかし、「ＩＮＶＩＴＥ」メッセージに対応する応答メッセージである「２００ＯＫ」が、時刻が１．２（秒）のときに検出されているため、セッション管理テーブルの検出時刻が更新されている。このため、ネットワーク監視装置１は、「２００ＯＫ」メッセージのタイムアウトを検出せず、セッションＳＮ１を異常と判断しない。
【００３５】
また、セッションＳＮ２において、「２００ＯＫ」メッセージの検出時刻は、２．５（秒）であるので、制限時間を２（秒）とすると、時刻が５（秒）の時点で、経過時刻は、５−２．５＝２．５＞２である。このため、ネットワーク監視装置１は、タイムアウト時刻が経過したと判断する。このとき、「２００ＯＫ」メッセージに対応する応答メッセージである「第１ＡＣＫ」は、検出済みではないため、セッション管理テーブルの検出時刻が更新されていない。「第１ＡＣＫ」メッセージの検出時刻は、５．２（秒）であり、時刻が５（秒）の時点で行われる監視処理の終了後である。このため、ネットワーク監視装置１は、「第１ＡＣＫ」メッセージのタイムアウトを検出し（「タイムアウト」参照）、セッションＳＮ２を異常と判断する。
【００３６】
また、セッションＳＮ３において、「２００ＯＫ」メッセージの検出時刻は、２．５（秒）であるので、制限時間を２（秒）とすると、時刻が５（秒）の時点で、経過時刻は、５−２．５＝２．５＞２である。このため、ネットワーク監視装置１は、タイムアウト時刻が経過したと判断する。しかし、「２００ＯＫ」メッセージに対応する応答メッセージである「第１ＡＣＫ」は、時刻が４．６（秒）のときに検出されているため、セッション管理テーブルの検出時刻が更新されている。このため、ネットワーク監視装置１は、「第１ＡＣＫ」メッセージのタイムアウトを検出せず、セッションＳＮ３を異常と判断しない。
【００３７】
しかし、実際には、「第１ＡＣＫ」メッセージの検出時刻（４．６（秒））は、タイムアウト時刻（２．５（秒）＋２（秒）＝４．５（秒））を経過しているため、正確には、「第１ＡＣＫ」メッセージは、タイムアウトである。「第１ＡＣＫ」メッセージのタイムアウトが検出されないのは、周期的な監視処理において、監視周期内にメッセージが検出済みであるか否かのみが判定されるからである。
【００３８】
このように、ネットワーク監視装置１は、タイマを用いずに、一定の監視周期ごとに監視処理を行うことにより、各セッションＳＮ１〜ＳＮ３のメッセージを監視する。このため、第１比較例の場合より監視処理の負荷が低減される。
【００３９】
しかし、ネットワーク監視装置１は、周期的な監視処理が行われる時点でメッセージが検出済みであれば、仮に、当該検出時刻が制限時間を超えていても、セッションはタイムアウトしていないと判断するので、監視精度に問題を生ずる。
【００４０】
上述したように、第１比較例に係るネットワーク監視方法によると、各セッションＳＮ１〜ＳＮ３のメッセージごとにタイマを用いて監視を行うため、メッセージのタイムアウトを正確に検出することができる。しかし、セッション数が増加するほど、多くのタイマが用いられて、監視処理の負荷が増加するため、リソース不足により、処理可能なセッション数が制限される。したがって、第１比較例に係るネットワーク監視方法は、スケーラビリティに乏しい。
【００４１】
一方、第２比較例に係るネットワーク監視方法によると、タイマを用いずに、一定の監視周期ごとに監視処理を行うため、第１比較例の場合より監視処理の負荷が低減される。このため、処理可能なセッション数が、第１比較例より増加し、スケーラビリティが向上する。しかし、監視周期ごとにしか、メッセージの検出判定を行わないため、当該検出時刻が制限時間を超えていても、タイムアウトを検出することができない。したがって、第２比較例に係るネットワーク監視方法は、第１比較例の場合より監視精度が低い。
【００４２】
（実施例）
そこで、実施例に係るネットワーク監視方法は、周期的に実行される処理により各セッションのメッセージの検出有無を判定し、未検出の場合、次の処理までに制限時間が経過するセッションのメッセージを監視するタイマを起動する。これにより、実施例に係るネットワーク監視方法は、監視精度を維持しつつ、監視処理の負荷を低減する。
【００４３】
図５は、実施例に係るネットワーク監視方法を示すタイムチャートである。図５において、横軸は時刻（秒）を示し、矢印の根元及び先端は、タイマＴ１０〜Ｔ１３，Ｔ３０〜Ｔ３３の開始時刻及び満了（終了）時刻を示す。また、黒丸は、メッセージの検出時刻を示し、黒丸から矢印の根元まで延びる線は、メッセージ検出後の時刻の経過を示す。つまり、黒丸から矢印の先端までの長さは、各メッセージの制限時間を示す。なお、各メッセージの検出時刻は、当該黒丸の根元近傍に記載されている。
【００４４】
また、「ＣＨＫ」は、監視処理が実行される時刻Ｔｐを示す。監視周期は１（秒）であるため、監視処理は、時刻が０（秒），１（秒），２（秒），・・・，８（秒）のときに行われる。
【００４５】
ネットワーク監視装置１は、監視対象の１以上のセッションＳＮ１〜ＳＮ３のうち、要求メッセージに対応する応答メッセージが、要求メッセージの検出時刻Ｔｄから制限時間Ｔｏｕｔ内に検出されないセッションを異常と判断する。ネットワーク監視装置１は、１以上のセッションＳＮ１〜ＳＮ３の各々について、応答メッセージが検出されたか否かを周期的に判定する。より具体的には、ネットワーク監視装置１は、監視周期Ｔｗ（本例では１（秒））ごとに行われる監視処理において、応答メッセージが検出済みであるか否かを判定する。
【００４６】
応答メッセージの検出に関する判定処理は、セッション管理テーブル（図８参照）に基づいて行われる。セッション管理テーブルは、セッションＳＮ１〜ＳＮ３ごとに、メッセージの検出時刻Ｔｄ及び当該メッセージに対応する応答メッセージの制限時間Ｔｏｕｔが登録されている。メッセージの検出時刻Ｔｄは、メッセージが検出されるたびに更新される。このため、ネットワーク監視装置１は、メッセージの検出時刻Ｔｄが更新されているか否かを判定し、更新されている場合、当該メッセージが検出済みであると判定し、更新されていない場合、当該メッセージが検出されていないと判定する。
【００４７】
ネットワーク監視装置１は、応答メッセージが検出されていないセッションＳＮ１〜ＳＮ３のうち、応答メッセージの検出有無の判定処理が次に行われるときまでに制限時間が経過するセッションを判別する。より具体的には、ネットワーク監視装置１は、次の監視処理の時刻までに、タイムアウト時刻（つまりＴｄ＋Ｔｏｕｔ）が経過するセッションを判別する。この判別処理は、以下の式（１）に基づいて、タイムアウト時刻までの残り時間Ｔｒを算出することにより行われる。ここで、検出時刻Ｔｄ及び制限時間Ｔｏｕｔは、上記のセッション管理テーブルから取得される。
【００４８】
Ｔｒ＝Ｔｏｕｔ−（Ｔｐ−Ｔｄ）     式（１）
【００４９】
ネットワーク監視装置１は、周期的な監視処理において、セッションＳＮ１〜ＳＮ３ごとに、残り時間Ｔｒを監視周期Ｔｗと比較する。ネットワーク監視装置１は、Ｔｒ＜Ｔｗの場合、当該セッションを、次の監視処理の時刻までにタイムアウト時刻が経過するものと判別する。
【００５０】
そして、ネットワーク監視装置１は、当該セッションについて、制限時間Ｔｏｕｔの経過により満了（終了）するタイマＴ１０〜Ｔ１３，Ｔ３０〜Ｔ３３を起動する。タイマＴ１０〜Ｔ１３，Ｔ３０〜Ｔ３３は、タイムアウト時刻（つまりＴｄ＋Ｔｏｕｔ）の経過により満了する。なお、Ｔｒ≧Ｔｗが成立するセッションについては、タイマＴ１０〜Ｔ１３，Ｔ３０〜Ｔ３３は、起動されない。
【００５１】
ネットワーク監視装置１は、タイマＴ１０〜Ｔ１３，Ｔ３０〜Ｔ３３が満了したときに応答メッセージが検出されていない場合、当該セッションＳＮ１〜ＳＮ３を異常と判断する。応答メッセージが検出済みであるか否かの判定は、セッション管理テーブルの検出時刻Ｔｄの更新の有無に基づいて行われる。
【００５２】
例えば、セッションＳＮ１において、「２００ＯＫ」メッセージの検出時刻Ｔｄ＝１．２（秒）であるので、制限時間Ｔｏｕｔ＝２（秒）とすると、時刻Ｔｐ＝２（秒）の監視処理において、残り時間Ｔｒ＝２−（２−１．２）＝１．２（式（１）参照）である。このため、残り時間Ｔｒ＜Ｔｗが成立しないので、時刻Ｔｐ＝２（秒）において、「２００ＯＫ」メッセージに対応する応答メッセージ「第１ＡＣＫ」を監視するタイマＴ１１は、起動されない（符号Ｐ１参照）。
【００５３】
次に、時刻Ｔｐ＝３（秒）の監視処理において、残り時間Ｔｒ＝２−（３−１．２）＝０．２（式（１）参照）である。このため、残り時間Ｔｒ＜Ｔｗが成立するので、時刻Ｔｐ＝３（秒）において、「２００ＯＫ」メッセージに対応する応答メッセージ「第１ＡＣＫ」を監視するタイマＴ１１が起動される（符号Ｐ２参照）。なお、タイマＴ１１の満了時刻（終了時刻）は、検出時刻Ｔｄと制限時間Ｔｏｕｔの和から３．２（秒）（＝１．２（秒）＋２（秒））である。
【００５４】
このように、セッションＳＮ１は、時刻Ｔｐ＝３（秒）の監視処理において、監視処理が次に行われる時刻（４（秒））までに、制限時間Ｔｏｕｔが経過するため、タイマＴ１１が起動される。「第１ＡＣＫ」メッセージの検出時刻は３．１（秒）であり、制限時間Ｔｏｕｔの経過前であるため、ネットワーク監視装置１は、セッションＳＮ１のタイムアウトを検出しない。
【００５５】
また、例えば、セッションＳＮ２において、「２００ＯＫ」メッセージの検出時刻Ｔｄ＝２．５（秒）であるので、制限時間Ｔｏｕｔ＝２（秒）とすると、時刻Ｔｐ＝３（秒）の監視処理において、残り時間Ｔｒ＝２−（３−２．５）＝１．５（式（１）参照）である。このため、残り時間Ｔｒ＜Ｔｗが成立しないので、時刻Ｔｐ＝３（秒）において、「２００ＯＫ」メッセージに対応する応答メッセージ「第１ＡＣＫ」を監視するタイマＴ３１は、起動されない（符号Ｐ３参照）。
【００５６】
次に、時刻Ｔｐ＝４（秒）の監視処理において、残り時間Ｔｒ＝２−（４−２．５）＝０．５（式（１）参照）である。このため、残り時間Ｔｒ＜Ｔｗが成立するので、時刻Ｔｐ＝４（秒）において、「２００ＯＫ」メッセージに対応する応答メッセージ「第１ＡＣＫ」を監視するタイマＴ３１が起動される（符号Ｐ４参照）。なお、タイマＴ３１の満了時刻（終了時刻）は、検出時刻Ｔｄと制限時間Ｔｏｕｔの和から４．５（秒）（＝２．５（秒）＋２（秒））である。
【００５７】
このように、セッションＳＮ２は、時刻Ｔｐ＝４（秒）の監視処理において、監視処理が次に行われる時刻（５（秒））までに、制限時間Ｔｏｕｔが経過するため、タイマｔ３１が起動される。「第１ＡＣＫ」メッセージの検出時刻は４．６（秒）であり、制限時間Ｔｏｕｔの経過後であるため、ネットワーク監視装置１は、セッションＳＮ２のタイムアウトを検出し（「タイムアウト」参照）、セッションＳＮ２を異常と判断する。
【００５８】
次に、実施例に係るネットワーク監視装置１の構成を説明する。図６は、実施例に係るネットワーク監視装置の構成を示す構成図である。
【００５９】
ネットワーク監視装置１は、例えばサーバ装置などのコンピュータ装置である。ネットワーク監視装置１は、ＣＰＵ１０、ＲＯＭ（Read Only Memory）１１、ＲＡＭ（Random Access Memory）１２、ＨＤＤ１３、通信処理部１４、可搬型記憶媒体用ドライブ１５、入力処理部１６、及び画像処理部１７などを備えている。
【００６０】
ＣＰＵ１０は、演算処理手段であり、ネットワーク監視プログラムに従って、上述したネットワーク監視方法を実行する。ＣＰＵ１０は、各部１１〜１７とバス１８を介して通信可能に接続されている。なお、ネットワーク監視装置１は、ソフトウェアにより動作するものに限定されず、ＣＰＵ１０に代えて、特定用途向け集積回路などのハードウェアが用いられてもよい。
【００６１】
ＲＡＭ１２は、ＣＰＵ１０のワーキングメモリとして用いられる。また、ＲＯＭ１１及びＨＤＤ１３は、ＣＰＵ１０を動作させるネットワーク監視プログラムなどを記憶する記憶手段として用いられる。通信処理部１４は、例えばネットワークカードであり、ＬＡＮなどのネットワークを介して、ＴＡＰ２などの外部装置と通信を行う通信手段である。
【００６２】
可搬型記憶媒体用ドライブ１５は、可搬型記憶媒体１５０に対して、情報の書き込みや情報の読み出しを行う装置である。可搬型記憶媒体１５０の例としては、ＵＳＢメモリ（USB: Universal Serial Bus）、ＣＤ−Ｒ（Compact Disc Recordable）、及びメモリカードなどが挙げられる。なお、ネットワーク監視プログラムは、可搬型記憶媒体１５０に格納されてもよい。
【００６３】
ネットワーク監視装置１は、情報の入力操作を行うための入力デバイス１６０、及び、画像を表示するためのディスプレイ１７０を、さらに備える。入力デバイス１６０は、キーボード及びマウスなどの入力手段であり、入力された情報は、入力処理部１６を介して
ＣＰＵ１０に出力される。ディスプレイ１７０は、液晶ディスプレイなどの画像表示手段であり、表示される画像データは、ＣＰＵ１０から画像処理部１７を介してディスプレイに出力される。なお、入力デバイス１６０及びディスプレイ１７０に代えて、これらの機能を備えるタッチパネルなどのデバイスを用いることもできる。
【００６４】
ＣＰＵ１０は、ＲＯＭ１１、またはＨＤＤ１３などに格納されているプログラム、または可搬型記憶媒体用ドライブ１５が可搬型記憶媒体１５０から読み取ったプログラムを実行する。このプログラムには、ＯＳ（Operating System）だけでなく、上記のネットワーク監視プログラムも含まれる。なお、プログラムは、通信処理部１４を介してダウンロードされたものであってもよい。
【００６５】
ＣＰＵ１０は、ネットワーク監視プログラムを実行すると、複数の機能が形成される。図７は、ネットワーク監視装置１の機能構成例を示す構成図である。図７には、ＣＰＵ１０に形成される機能及びＨＤＤ１３の格納情報の一例が示されている。
【００６６】
ＣＰＵ１０は、キャプチャ処理部１００と、解析部１０１と、スレッド起動判断部１０２と、スレッド起動処理部１０３と、周期処理スレッド１０４と、１以上のタイマ処理スレッド１０５と、タイムアウト通知部１０６とを有する。このうち、周期処理スレッド１０４及びタイマ処理スレッド１０５は、スレッド起動処理部１０３により生成される。周期処理スレッド１０４は、ネットワーク監視プログラムの実行開始時に生成され、タイマ処理スレッド１０５は、必要に応じて生成される。
【００６７】
また、ＨＤＤ（記憶部）１３は、セッション管理テーブル（テーブル）１３０を記憶する。なお、セッション管理テーブル１３０の記憶手段は、ＨＤＤ１３に限定されず、ＲＯＭ１１や可搬型記憶媒体１５０であってもよい。
【００６８】
図８には、セッション管理テーブル１３０の一例が示されている。セッション管理テーブル１３０は、セッションＳＮ１〜ＳＮ３ごとに、メッセージの検出時刻、制限時間Ｔｏｕｔ、及び監視種別が登録されている。メッセージの検出時刻及び制限時間Ｔｏｕｔは、メッセージが検出されるごとに更新される。制限時間Ｔｏｕｔは、当該メッセージに応じて異なる。図８では、セッションＳＮ１〜ＳＮ３の各制限時間Ｔｏｕｔを、仮にＴｏｕｔ１，Ｔｏｕｔ２，Ｔｏｕｔ３として記載している。監視種別は、「０」である場合、当該応答メッセージが、タイマ処理スレッド１０５によるタイマ監視の対象であることを示し、「１」である場合、当該応答メッセージが、周期処理スレッド１０４による周期的な監視の対象であることを示す。
【００６９】
キャプチャ処理部１００は、通信処理部１４を介して、ＴＡＰ２からパケットを取得する。キャプチャ処理部１００は、取得したパケットを解析部１０１に出力する。
【００７０】
解析部（判断処理部）１０１は、パケットの解析を行い、各セッションＳＮ１〜ＳＮ３のメッセージの監視結果に基づいて、通信品質を判断する。例えば、解析部１０１は、タイムアウト通知部１０６からセッションＳＮ１〜ＳＮ３のタイムアウトが通知された場合、当該セッションを異常と判断する。また、解析部１０１は、キャプチャ処理部１００から入力されたメッセージの種類などの情報に基づいて、セッション管理テーブル１３０を更新する。
【００７１】
スレッド起動判断部１０２は、上記の式（１）に基づいて、タイマ処理スレッド１０５の起動可否を判断する。スレッド起動判断部１０２は、タイマ処理スレッド１０５を起動すると判断した場合、スレッド起動処理部１０３に起動処理を依頼する。
【００７２】
スレッド起動処理部１０３は、周期処理スレッド１０４及びタイマ処理スレッド１０５を生成し、起動する。周期処理スレッド１０４は、一定の監視周期Ｔｗで、各セッションＳＮ１〜ＳＮ３のメッセージのタイムアウトを監視する。周期処理スレッド１０４は、１以上のセッションＳＮ１〜ＳＮ３の各々について、メッセージが検出されたか否かを周期的に判定する。このため、周期処理スレッド１０４による監視処理の負荷は、第１比較例のように、セッションごとの個別のタイマにより応答メッセージを監視する場合より低い。
【００７３】
周期処理スレッド１０４は、メッセージが検出されていないセッションのうち、メッセージ検出の判定処理が次に行われるときまでに制限時間Ｔｏｕｔが経過するセッションについて、制限時間Ｔｏｕｔの経過により満了するタイマＴ１０〜Ｔ１３、Ｔ３０〜Ｔ３３を起動する。より具体的には、周期処理スレッド１０４は、タイマＴ１０〜Ｔ１３、Ｔ３０〜Ｔ３３により、当該セッションのメッセージを監視するタイマ処理スレッド１０５を起動する。
【００７４】
タイマ処理スレッド１０５は、タイムアウトまでの残り時間Ｔｒ（式（１）参照）が監視周期Ｔｗより少ないセッションＳＮ１〜ＳＮ３について、タイマＴ１０〜Ｔ１３、Ｔ３０〜Ｔ３３を用いてメッセージのタイムアウトを監視する。
【００７５】
タイムアウト通知部１０６は、周期処理スレッド１０４またはタイマ処理スレッド１０５がタイムアウトを検出した場合、その旨を解析部１０１に通知する。以下に、ネットワーク監視プログラムの各処理のフローチャートを参照して、各部を説明する。
【００７６】
図９は、監視処理の一例を示すフローチャートである。まず、スレッド起動処理部１０３は、周期処理スレッド１０４を生成し、起動する（ステップＳｔ１）。周期処理スレッド１０４は、ネットワーク監視プログラムの実行中、常時、処理を行う。なお、周期処理スレッド１０４の処理は、後述する。
【００７７】
次に、キャプチャ処理部１００は、通信処理部１４を介して、ＴＡＰ２からパケットを取得する（ステップＳｔ２）。取得されたパケットは、解析部１０１により解析される（ステップＳｔ３）。解析では、パケットから、セッション番号（ＳＮ１〜ＳＮ３）やメッセージの種類などの情報が抽出される。
【００７８】
解析の結果、パケットが、セッションを切断するものである場合（ステップＳｔ４のＹｅｓ）、解析部１０１は、セッション管理テーブル１３０から当該セッションの登録を削除する（ステップＳｔ１４）。すなわち、解析部１０１は、メッセージの種類に基づいて、セッションが終了するか否かを判定し、セッションが終了する場合、セッション管理テーブル１３０からセッションの登録を削除する。その後、ステップＳｔ１３の処理（後述）が行われる。
【００７９】
一方、解析の結果、パケットが、セッションを切断するものではない場合（ステップＳｔ４のＮｏ）、解析部１０１は、パケットが、新規のセッションのものであるか否かを判定する（ステップＳｔ５）。パケットが新規のセッションのものである場合（ステップＳｔ５のＹｅｓ）、解析部１０１は、セッション管理テーブル１３０に当該セッションを登録して、メッセージの検出時刻Ｔｄ及び制限時間Ｔｏｕｔを入力する（ステップＳｔ１５）。すなわち、解析部１０１は、メッセージの種類に基づいて、当該セッションが新規か否かを判定し、新規セッションの場合、セッション管理テーブル１３０に当該セッションを登録する。その後、ステップＳｔ１０の処理（後述）が行われる。
【００８０】
パケットが新規のセッションのものではない場合（ステップＳｔ５のＮｏ）、解析部１０１は、当該セッションについて、セッション管理テーブル１３０のメッセージの検出時刻Ｔｄ及び制限時間Ｔｏｕｔを更新する（ステップＳｔ６）。すなわち、解析部１０１は、メッセージの種類に基づいて、当該セッションが既存か否かを判定し、既存セッションの場合、セッション管理テーブル１３０の当該セッションの検出時刻Ｔｄ及び制限時間Ｔｏｕｔを更新する。
【００８１】
次に、スレッド起動判断部１０２は、セッション管理テーブル１３０を参照し、当該セッションの監視種別が「０」（タイマ監視）である場合（ステップＳｔ７のＹｅｓ）、スレッド起動処理部１０３に、当該タイマ処理スレッド１０５の終了を要求する（ステップＳｔ８）。そして、スレッド起動判断部１０２は、監視種別を「１」（周期監視）に変更する（ステップＳｔ９）。
【００８２】
次に、スレッド起動判断部１０２は、上記の式（１）により残り時間Ｔｒを算出し、残り時間Ｔｒ（＝Ｔｏｕｔ−（Ｔｐ−Ｔｄ））が監視周期Ｔｗより小さいか否かを判定する（ステップＳｔ１０）。これにより、既存セッションのメッセージが検出された場合、使用中のタイマを停止し、周期処理スレッド１０４による監視処理が行われる前に、タイマ起動の可否が改めて判定される。また、スレッド起動判断部１０２は、当該セッションの監視種別が「０」（タイマ監視）ではない場合（ステップＳｔ７のＮｏ）、ステップＳｔ８，Ｓｔ９の処理を行わずに、ステップＳｔ１０の処理を行う。
【００８３】
残り時間Ｔｒが監視周期Ｔｗより小さい場合（ステップＳｔ１０のＹｅｓ）、スレッド起動判断部１０２は、セッション管理テーブルの当該セッションの監視種別を「０」（タイマ監視）にする（ステップＳｔ１１）。そして、スレッド起動判断部１０２は、スレッド起動処理部１０３に、当該セッションを監視するタイマ処理スレッド１０５の起動を依頼する（ステップＳｔ１２）。
【００８４】
次に、ＣＰＵ１０は、監視処理を終了しない場合（ステップＳｔ１３のＮｏ）、ステップＳｔ２の処理を再び実行し、そうでない場合（ステップＳｔ１３のＹｅｓ）、監視処理を終了する。ステップＳｔ１３の処理は、残り時間Ｔｒが監視周期Ｔｗ以上である場合（ステップＳｔ１０のＮｏ）も行われる。このようにして、監視処理は行われる。
【００８５】
次に、周期処理スレッド（周期処理部）１０４の処理を説明する。図１０は、周期処理スレッドの処理の一例を示すフローチャートである。
【００８６】
まず、周期処理スレッド１０４は、監視周期Ｔｗだけ待機する（ステップＳｔ３１）。次に、周期処理スレッド１０４は、セッション管理テーブル１３０に登録されたセッションＳＮ１〜ＳＮ３の有無を判定する（ステップＳｔ３２）。
【００８７】
セッションＳＮ１〜ＳＮ３が有る場合（ステップＳｔ３２のＹｅｓ）、周期処理スレッド１０４は、セッションＳＮ１〜ＳＮ３の１つを選択して、セッション管理テーブル１３０から検出時刻Ｔｄ、制限時間Ｔｏｕｔ、及び監視種別を取得する（ステップＳｔ３３）。セッションＳＮ１〜ＳＮ３が無い場合（ステップＳｔ３２のＮｏ）、ステップＳｔ４１の処理（後述）が行われる。
【００８８】
周期処理スレッド１０４は、選択したセッションの監視種別が「１」（周期監視）である場合（ステップＳｔ３４のＹｅｓ）、当該セッションの検出時刻Ｔｄが更新済みであるか否かを判定する（ステップＳｔ３５）。周期処理スレッド１０４は、前回の判定における検出時刻Ｔｄを保持し、検出時刻Ｔｄが前回の値と異なる場合、検出時刻Ｔｄが更新済みであると判定する。これにより、周期処理スレッド１０４は、各セッションＳＮ１〜ＳＮ３について、メッセージが検出されたか否かを周期的に判定する。
【００８９】
当該セッションの検出時刻Ｔｄが更新済みである場合（ステップＳｔ３５のＹｅｓ）、ステップＳｔ４０の処理（後述）が行われる。つまり、当該セッションのメッセージが検出済みである場合、他のセッションが選択され、同様の処理が行われる。
【００９０】
当該セッションの検出時刻Ｔｄが更新済みではない場合（ステップＳｔ３５のＮｏ）、現在時刻Ｔｐと検出時刻Ｔｄの差分が、制限時間Ｔｏｕｔより大きいか否かを判定する（ステップＳｔ３６）。すなわち、周期処理スレッド１０４は、監視処理を行う時刻（図５の１（秒）、２（秒）、３（秒）・・・・）において、当該セッションのタイムアウトが発生しているか否かを判定する。これにより、周期処理スレッド１０４は、複数のセッションＳＮ１〜ＳＮ３のうち、メッセージが検出されておらず、制限時間Ｔｏｕｔが経過したセッションを判別する。
【００９１】
現在時刻Ｔｐと検出時刻Ｔｄの差分が、制限時間Ｔｏｕｔより大きい場合（ステップＳｔ３６のＹｅｓ）、周期処理スレッド１０４は、タイムアウト通知部１０６に、タイムアウトの通知を依頼する（ステップＳｔ４２）。解析部１０１は、タイムアウト通知部１０６からタイムアウトを通知されると、当該セッションを異常と判断する。したがって、周期処理スレッド１０４は、周期的な監視処理の間に発生したタイムアウトを検出できる。
【００９２】
現在時刻Ｔｐと検出時刻Ｔｄの差分が、制限時間Ｔｏｕｔ以下である場合（ステップＳｔ３６のＮｏ）、周期処理スレッド１０４は、上記の式（１）により残り時間Ｔｒを算出し、残り時間Ｔｒが監視周期Ｔｗより小さいか否かを判定する（ステップＳｔ３７）。すなわち、周期処理スレッド１０４は、メッセージが検出されていないセッションＳＮ１〜ＳＮ３のうち、ステップＳｔ３５の判定処理が次に行われるときまでに制限時間Ｔｏｕｔが経過するセッションを判別する。このとき、周期処理スレッド１０４は、セッション管理テーブル１３０から取得した検出時刻Ｔｄ及び制限時間Ｔｏｕｔと、現在時刻Ｔｐと、監視周期Ｔｗとに基づき、上記の判別処理を容易に行うことができる。
【００９３】
残り時間Ｔｒが監視周期Ｔｗより小さい場合（ステップＳｔ３７のＹｅｓ）、周期処理スレッド１０４は、セッション管理テーブル１３０の当該セッションの監視種別を「０」（タイマ監視）に変更する（ステップＳｔ３８）。次に、周期処理スレッド１０４は、スレッド起動処理部１０３に、タイマ処理スレッド１０５の起動を依頼する（ステップＳｔ３９）。すなわち、周期処理スレッド１０４は、ステップＳｔ３５の判定処理が次に行われるときまでに制限時間Ｔｏｕｔが経過するセッションについて、制限時間Ｔｏｕｔの経過により満了するタイマＴ１０〜Ｔ１３、Ｔ３０〜Ｔ３３を起動する。
【００９４】
このため、タイマＴ１０〜Ｔ１３、Ｔ３０〜Ｔ３３は、メッセージが未検出である全てのセッションではなく、次の一周期Ｔｗ内に制限時間Ｔｏｕｔが経過するセッションだけについて起動される。したがって、起動されるタイマ数が少なくて済むので、監視処理の負荷が低減される。
【００９５】
次に、周期処理スレッド１０４は、セッション管理テーブル１３０に登録されたセッションＳＮ１〜ＳＮ３のうち、未選択のセッションが有るか否かを判定する（ステップＳｔ４０）。ステップＳｔ４０の処理は、残り時間Ｔｒが監視周期Ｔｗ以上である場合（ステップＳｔ３７のＮｏ）も行われる。
【００９６】
未選択のセッションが有る場合（ステップＳｔ４０のＹｅｓ）、周期処理スレッド１０４は、ステップＳｔ３３の処理を再び実行する。すなわち、周期処理スレッド１０４は、他のセッションについても、上述した処理を行う。
【００９７】
未選択のセッションが無い場合（ステップＳｔ４０のＮｏ）、ＣＰＵ１０は、監視処理を終了するか否かを判定する（ステップＳｔ４１）。ＣＰＵ１０は、監視処理を終了しない場合（ステップＳｔ４１のＮｏ）、ステップＳｔ３１の処理を再び実行し、そうでない場合（ステップＳｔ４１のＹｅｓ）、監視処理を終了する。このようにして、周期処理スレッド１０４の処理は行われる。
【００９８】
次に、タイマ処理スレッド１０５の処理を説明する。図１１は、タイマ処理スレッドの処理の一例を示すフローチャートである。
【００９９】
まず、タイマ処理スレッド１０５は、セッション管理テーブル１３０から、当該セッションの検出時刻Ｔｄ及び制限時間Ｔｏｕｔを取得する（ステップＳｔ２１）。次に、タイマ処理スレッド１０５は、制限時間Ｔｏｕｔと検出時刻Ｔｄの差分（Ｔｏｕｔ−Ｔｄ）だけ待機する（ステップＳｔ２２）。
【０１００】
この待機処理は、タイマＴ１０〜Ｔ１３、Ｔ３０〜Ｔ３３の計時処理により行われる。タイマＴ１０〜Ｔ１３、Ｔ３０〜Ｔ３３の長さ（満了までの計時する時間量）は、タイマ処理スレッド１０５の起動条件（Ｔｒ＜Ｔｗ）により、監視周期Ｔｗより小さい。このため、タイマＴ１０〜Ｔ１３、Ｔ３０〜Ｔ３３による監視処理の負荷は、第１比較例の場合より小さい。
【０１０１】
待機処理の終了後、つまり、タイマＴ１０〜Ｔ１３、Ｔ３０〜Ｔ３３の満了後、タイマ処理スレッド１０５は、当該セッションが終了したか、またはセッション管理テーブル１３０の検出時刻Ｔｄが更新済みであるか否かを判定する（ステップＳｔ２３）。すなわち、タイマ処理スレッド１０５は、メッセージが検出済みであるか否かを判定する。
【０１０２】
当該セッションが終了しておらず、かつセッション管理テーブル１３０の検出時刻Ｔｄが更新済みではない場合（ステップＳｔ２３のＮｏ）、タイマ処理スレッド１０５は、タイムアウト通知部１０６に、タイムアウトの通知を依頼する（ステップＳｔ２４）。つまり、タイマ処理スレッド１０５は、タイマＴ１０〜Ｔ１３、Ｔ３０〜Ｔ３３が満了したときに、メッセージが検出されていない場合、当該セッションのタイムアウトを検出する。
【０１０３】
解析部１０１は、タイムアウト通知部１０６からタイムアウトを通知されると、当該セッションを異常と判断する。つまり、解析部１０１は、タイマＴ１０〜Ｔ１３、Ｔ３０〜Ｔ３３が満了したときにメッセージが検出されていない場合、当該セッションを異常と判断する。
【０１０４】
このように、タイマ処理スレッド１０５は、タイマＴ１０〜Ｔ１３、Ｔ３０〜Ｔ３３によりセッションＳＮ１〜ＳＮ３のタイムアウトを検出するので、メッセージの監視精度が、第２比較例より良好であり、第１比較例と同程度に維持される。
【０１０５】
次に、タイマ処理スレッド１０５は、セッション管理テーブル１３０の当該セッションの監視種別を「１」（周期監視）に変更する（ステップＳｔ２５）。そして、タイマ処理スレッド１０５は、処理を終了する。つまり、タイマ処理スレッド１０５のプロセスは、ＣＰＵ１０から削除される。
【０１０６】
一方、当該セッションが終了し、またはセッション管理テーブル１３０の検出時刻Ｔｄが更新済みである場合（ステップＳｔ２３のＹｅｓ）、タイマ処理スレッド１０５は、ステップＳｔ２４の処理を行わずに、ステップＳｔ２５の処理を行う。この場合、メッセージが検出済みであるため、タイマ処理スレッド１０５は、タイムアウトを検出せずに、処理を終了する。このようにして、タイマ処理スレッド１０５の処理は行われる。
【０１０７】
これまで述べたように、実施例に係るネットワーク監視装置１は、監視対象の１以上のセッションＳＮ１〜ＳＮ３のうち、要求メッセージに対応する応答メッセージが、要求メッセージの検出時刻Ｔｄから制限時間Ｔｏｕｔ内に検出されないセッションを異常と判断する。このため、ネットワーク監視装置１は、セッションＳＮ１〜ＳＮ３ごとに通信品質を判断できる。
【０１０８】
周期処理部（周期処理スレッド）１０４は、１以上のセッションＳＮ１〜ＳＮ３の各々について、応答メッセージが検出されたか否かを周期的に判定する。このため、ネットワーク監視装置１は、セッションごとの個別のタイマにより応答メッセージを監視する場合より、監視処理の負荷が低減される。
【０１０９】
周期処理部は、応答メッセージが検出されていないセッションのうち、当該判定処理が次に行われるときまでに制限時間Ｔｏｕｔが経過するセッションについて、制限時間の経過により満了するタイマＴ１０〜Ｔ１３、Ｔ３０〜Ｔ３３を起動する。判断処理部（解析部）１０１は、タイマＴ１０〜Ｔ１３、Ｔ３０〜Ｔ３３が満了したときに応答メッセージが検出されていない場合、当該セッションを異常と判断する。
【０１１０】
このため、ネットワーク監視装置１は、応答メッセージが未検出である全てのセッションではなく、次の一周期Ｔｗ内に制限時間Ｔｏｕｔが経過するセッションだけについてタイマＴ１０〜Ｔ１３、Ｔ３０〜Ｔ３３を起動する。したがって、タイマ数だけでなく、タイマＴ１０〜Ｔ１３、Ｔ３０〜Ｔ３３の計時する時間量も少なく、監視処理の負荷が低減される。さらに、ネットワーク監視装置１は、タイマＴ１０〜Ｔ１３、Ｔ３０〜Ｔ３３を用いることにより、応答メッセージの監視精度を維持することができる。
【０１１１】
よって、実施例に係るネットワーク監視装置１によると、監視処理の負荷を効果的に低減することができる。
【０１１２】
また、実施例に係るネットワーク監視システムは、２つの通信装置（第１及び第２サーバ）３１，３２と、ネットワーク監視装置１とを有する。２つの通信装置３１，３２は、１以上のセッションＳＮ１〜ＳＮ３を実行して、要求メッセージ及び応答メッセージを送受信する。ネットワーク監視装置１は、１以上のセッションＳＮ１〜ＳＮ３のうち、要求メッセージに対応する応答メッセージが、要求メッセージの検出時刻Ｔｄから制限時間Ｔｏｕｔ内に検出されないセッションを異常と判断する。
【０１１３】
ネットワーク監視装置１は、周期処理部（周期処理スレッド）１０４と、判断処理部（解析部）１０１とを有する。周期処理部１０４は、１以上のセッションＳＮ１〜ＳＮ３の各々について、応答メッセージが検出されたか否かを周期的に判定する。周期処理部１０４は、応答メッセージが検出されていないセッションのうち、当該判定処理が次に行われるときまでに制限時間Ｔｏｕｔが経過するセッションについて、制限時間Ｔｏｕｔの経過により満了するタイマＴ１０〜Ｔ１３、Ｔ３０〜Ｔ３３を起動する。判断処理部１０１は、タイマＴ１０〜Ｔ１３、Ｔ３０〜Ｔ３３が満了したときに応答メッセージが検出されていない場合、当該セッションを異常と判断する。
【０１１４】
実施例に係るネットワーク監視システムは、上記のネットワーク監視装置１を含むので、上述した内容と同様の作用効果を奏する。
【０１１５】
また、実施例に係るネットワーク監視方法は、監視対象の１以上のセッションＳＮ１〜ＳＮ３のうち、要求メッセージに対応する応答メッセージが、要求メッセージの検出時刻Ｔｄから制限時間Ｔｏｕｔ内に検出されないセッションを異常と判断する方法である。実施例に係るネットワーク監視方法では、以下の工程（１），（２）をコンピュータが実行する。
【０１１６】
工程（１）：１以上のセッションＳＮ１〜ＳＮ３の各々について、応答メッセージが検出されたか否かを周期的に判定する。応答メッセージが検出されていないセッションのうち、当該判定処理が次に行われるときまでに制限時間Ｔｏｕｔが経過するセッションについて、制限時間Ｔｏｕｔの経過により満了するタイマＴ１０〜Ｔ１３、Ｔ３０〜Ｔ３３を起動する。
【０１１７】
工程（２）：タイマＴ１０〜Ｔ１３、Ｔ３０〜Ｔ３３が満了したときに応答メッセージが検出されていない場合、当該セッションを異常と判断する。
【０１１８】
実施例に係るネットワーク監視方法は、上記のネットワーク監視装置１と同様の構成を含むので、上述した内容と同様の作用効果を奏する。
【０１１９】
以上、好ましい実施例を参照して本発明の内容を具体的に説明したが、本発明の基本的技術思想及び教示に基づいて、当業者であれば、種々の変形態様を採り得ることは自明である。
【０１２０】
なお、以上の説明に関して更に以下の付記を開示する。
（付記１）  監視対象の１以上のセッションのうち、要求メッセージに対応する応答メッセージが、前記要求メッセージの検出時刻から制限時間内に検出されないセッションを異常と判断するネットワーク監視装置において、
前記１以上のセッションの各々について、前記応答メッセージが検出されたか否かを周期的に判定し、前記応答メッセージが検出されていないセッションのうち、当該判定処理が次に行われるときまでに前記制限時間が経過するセッションについて、前記制限時間の経過により満了するタイマを起動する周期処理部と、
前記タイマが満了したときに前記応答メッセージが検出されていない場合、当該セッションを異常と判断する判断処理部とを有することを特徴とするネットワーク監視装置。
（付記２）  前記周期処理部は、前記１以上のセッションのうち、前記応答メッセージが検出されておらず、前記制限時間が経過したセッションを判別し、
前記判断処理部は、当該セッションを異常と判断することを特徴とする付記１に記載のネットワーク監視装置。
（付記３）  前記１以上のセッションの各々について、前記要求メッセージの検出時刻及び前記制限時間が登録されたテーブルを記憶する記憶部を、さらに有し、
前記周期処理部は、前記テーブルから取得した前記要求メッセージの検出時刻及び前記制限時間と、現在時刻と、前記判定処理の周期とに基づき、前記１以上のセッションのうち、前記判定処理が次に行われるときまでに前記制限時間が経過するセッションを判別することを特徴とする付記１または２に記載のネットワーク監視装置。
（付記４）  １以上のセッションを実行して、要求メッセージ及び応答メッセージを送受信する２つの通信装置と、
前記１以上のセッションのうち、前記要求メッセージに対応する前記応答メッセージが、前記要求メッセージの検出時刻から制限時間内に検出されないセッションを異常と判断するネットワーク監視装置とを有し、
前記ネットワーク監視装置は、
前記１以上のセッションの各々について、前記応答メッセージが検出されたか否かを周期的に判定し、前記応答メッセージが検出されていないセッションのうち、当該判定処理が次に行われるときまでに前記制限時間が経過するセッションについて、前記制限時間の経過により満了するタイマを起動する周期処理部と、
前記タイマが満了したときに前記応答メッセージが検出されていない場合、当該セッションを異常と判断する判断処理部とを有することを特徴とするネットワーク監視システム。
（付記５）  前記周期処理部は、前記１以上のセッションのうち、前記応答メッセージが検出されておらず、前記制限時間が経過したセッションを判別し、
前記判断処理部は、当該セッションを異常と判断することを特徴とする付記４に記載のネットワーク監視システム。
（付記６）  前記ネットワーク監視装置は、前記１以上のセッションの各々について、前記要求メッセージの検出時刻及び前記制限時間が登録されたテーブルを記憶する記憶部を、さらに有し、
前記周期処理部は、前記テーブルから取得した前記要求メッセージの検出時刻及び前記制限時間と、現在時刻と、前記判定処理の周期とに基づき、前記１以上のセッションのうち、前記判定処理が次に行われるときまでに前記制限時間が経過するセッションを判別することを特徴とする付記４または５に記載のネットワーク監視システム。
（付記７）  監視対象の１以上のセッションのうち、要求メッセージに対応する応答メッセージが、前記要求メッセージの検出時刻から制限時間内に検出されないセッションを異常と判断するネットワーク監視方法において、
前記１以上のセッションの各々について、前記応答メッセージが検出されたか否かを周期的に判定し、前記応答メッセージが検出されていないセッションのうち、当該判定処理が次に行われるときまでに前記制限時間が経過するセッションについて、前記制限時間の経過により満了するタイマを起動する工程と、
前記タイマが満了したときに前記応答メッセージが検出されていない場合、当該セッションを異常と判断する工程とを、コンピュータが実行することを特徴とするネットワーク監視方法。
（付記８）  前記タイマを起動する工程において、前記１以上のセッションのうち、前記応答メッセージが検出されておらず、前記制限時間が経過したセッションを判別し、
前記セッションの異常を判断する工程において、当該セッションを異常と判断することを特徴とする付記７に記載のネットワーク監視方法。
（付記９）  前記タイマを起動する工程において、前記１以上のセッションの各々について、テーブルから取得した前記要求メッセージの検出時刻及び前記制限時間と、現在時刻と、前記判定処理の周期とに基づき、前記１以上のセッションのうち、前記判定処理が次に行われるときまでに前記制限時間が経過するセッションを判別することを特徴とする付記７または８に記載のネットワーク監視方法。
【符号の説明】
【０１２１】
１                                    ネットワーク監視装置
１０                                  ＣＰＵ
１３                                  ＨＤＤ（記憶部）
３１                                  第１サーバ装置（通信装置）
３２                                  第２サーバ装置（通信装置）
１０１                                解析部（判断処理部）
１０４                                周期処理スレッド（周期処理部）
１０５                                タイマ処理スレッド
１３０                                セッション管理テーブル（テーブル）
ＳＮ１〜ＳＮ３                        セッション
Ｔｏｕｔ                              制限時間
Ｔ１０〜Ｔ１３、Ｔ３０〜Ｔ３３        タイマ
【図１】
2015089046.tif 000003
【図２】
2015089046.tif 000004
【図３】
2015089046.tif 000005
【図４】
2015089046.tif 000006
【図５】
2015089046.tif 000007
【図６】
2015089046.tif 000008
【図７】
2015089046.tif 000009
【図８】
2015089046.tif 000010
【図９】
2015089046.tif 000011
【図１０】
2015089046.tif 000012
【図１１】
2015089046.tif 000013