(57)【要約】【課題】ネットワークにおける障害発生の誤検知を低減することができるようにする。【解決手段】所定の周期時間ごとに所定の通信データを送信するように動作する１以上の計算機に、ネットワーク１３０を介して接続される通信障害検出計算機１０１において、計算機からの所定の通信データを受信した場合に、前回受信した時点からの経過時間を特定し、特定した経過時間がデータ送信周期時間を超過し、かつ、データ送信周期時間よりも長い計算機保守作業停止判断時間以内である場合に、計算機との間で障害が発生していると判定し、経過時間がデータ送信周期時間を超過し、計算機保守作業停止判断時間を超過している場合に、障害が発生していないと判定する通信障害検出部２０２と、通信障害検出部２０２により、前記障害が発生していると判定された場合に、障害に関する情報を記録するログ記録処理部２０３と、を備えるように構成する。【選択図】図２
2018121232.tif 000002
【特許請求の範囲】
【請求項１】
所定の周期時間ごとに所定の通信データを送信するように動作する１以上の計算機に、ネットワークを介して接続される通信障害管理装置であって、
前記計算機からの前記通信データを受信した場合に、前記通信データを前回受信した時点からの経過時間を特定する経過時間特定部と、
前記特定した経過時間が前記周期時間に基づく所定の第１時間を超過し、かつ、前記第１時間よりも長い第２時間以内である場合に、前記計算機との間で障害が発生していると判定し、前記特定した経過時間が前記第１時間を超過し、かつ、前記第２時間を超過している場合には、障害が発生していないと判定する障害判定部と、
前記障害判定部により前記障害が発生していると判定された場合に、前記障害に関する情報を記録する障害記録部と、
を備える通信障害管理装置。
【請求項２】
前記第２時間は、この時間より長いと前記計算機における保守に係る作業が発生している可能性が高いと想定される時間である
請求項１に記載の通信障害管理装置。
【請求項３】
前記障害記録部は、前記障害判定部により前記障害が発生していると判定された場合に、障害が発生したこと及び発生した時刻を含む障害発生メッセージを記録する
請求項１又は請求項２に記載の通信障害管理装置。
【請求項４】
前記障害記録部は、前記障害判定部により前記障害が発生していると判定された場合に、前記障害が発生していると判定した時点における、前記通信障害管理装置のメモリ使用率と、前記通信障害管理装置のプロセッサの負荷率と、前記通信障害管理装置による通信に関する統計情報と、前記通信障害管理装置において発生したエラー状況とのうちの少なくとも１種以上を記録する
請求項１から請求項３のいずれか一項に記載の通信障害管理装置。
【請求項５】
障害が発生していると判定された前記計算機からの前記通信データの受信が、障害が回復したと判定する基準となる第３時間以上の時間にわたって、前回受信した時点からの経過時間が前記第１時間を超過していない場合に、前記計算機との間の障害が回復したと判定する通信障害回復判定部をさらに有する
請求項１から請求項４のいずれか一項に記載の通信障害管理装置。
【請求項６】
前記第２時間の指定を受け付ける時間指定受付部をさらに有する
請求項１から請求項５のいずれか一項に記載の通信障害管理装置。
【請求項７】
所定の周期時間ごとに所定の通信データを送信するように動作する１以上の計算機と、前記計算機とネットワークを介して接続される通信障害管理装置とを備える通信システムであって、
前記通信障害管理装置は、
前記計算機からの前記通信データを受信した場合に、前記通信データを前回受信した時点からの経過時間を特定する経過時間特定部と、
前記特定した経過時間が前記周期時間に基づく所定の第１時間を超過し、かつ、前記第１時間よりも長い第２時間以内である場合に、前記計算機との間で障害が発生していると判定し、前記特定した経過時間が前記第１時間を超過し、かつ、前記第２経過時間を超過している場合に、障害が発生していないと判定する障害判定部と、
前記障害判定部により前記障害が発生していると判定された場合に、前記障害に関する情報を記録する障害記録部と、
を備える通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して接続された計算機との間の通信障害を検出する通信障害管理装置等に関する。
【背景技術】
【０００２】
従来、複数の計算機が接続されているネットワークシステムにおいて、計算機が定周期にデータを送信するようにし、定周期で送信されるデータを利用して、各計算機やネットワークにおける障害の発生を検出する技術が知られている。このような技術では、例えば、定周期で送信されるデータが所定時間以上受信できない場合に、通信障害が発生していると判定し、通信障害に関する各種状況等をログファイルに記憶するようにしている。
【０００３】
また、複数のノード装置で構成されたネットワークにおいて、ノード装置間でハローメッセージを送受信することにより、ハローメッセージを所定時間以上受信できない場合に、ノード装置に障害が発生したと判定するとともに、その障害が発生したノード装置を経由する他のノード装置を直接アクセスして障害が発生しているか否かを判定する技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−９８５９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
例えば、複数の計算機が接続されているネットワークシステムにおいては、定周期で送信される通信データが所定時間以上受信できない場合を常に通信障害として検知し、その際の状況等の情報をログファイルに記録するようにしているので、ログファイルを格納するために比較的大きな容量の記憶装置を用意しなくてはならず、さもなければ、古い情報が上書きされて、直近の限られた短期間の情報しか保存されていないこととなる。
【０００６】
ここで、通信データが所定時間以上受信できない場合に、障害として判定してログファイルに記録するようにすると、例えば、計算機を保守する作業等において、計算機自体を再起動したり、計算機の電源を一時的に停止させたり、計算機の通信機能を一時的に停止させたりした場合等のように、実際には障害が発生していない場合においても、障害として誤検知され、ログファイルに記録されることとなる。
【０００７】
このように、障害が発生していない場合についての情報までログファイルに記録されてしまうと、このような障害とは関係のない不要なデータのために、限られた記憶装置の容量が無駄に消費されてしまい、本当に必要な情報が短期間で消失してしまう虞もある。また、ログファイルを確認する際においても、障害と関係ないデータが多いと、実際の障害に関するデータを高精度に判別することが困難となる。
【０００８】
本発明は、上記事情に鑑みなされたものであり、その目的は、ネットワークにおける障害発生の誤検知を低減することのできる技術を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、第１の観点に係る通信障害管理装置は、所定の周期時間ごとに所定の通信データを送信するように動作する１以上の計算機に、ネットワークを介して接続される通信障害管理装置であって、計算機からの通信データを受信した場合に、通信データを前回受信した時点からの経過時間を特定する経過時間特定部と、特定した経過時間が周期時間に基づく所定の第１時間を超過し、かつ、第１時間よりも長い第２時間以内である場合に、計算機との間で障害が発生していると判定し、特定した経過時間が第１時間を超過し、かつ、第２時間を超過している場合に、障害が発生していないと判定する障害判定部と、障害判定部により障害が発生していると判定された場合に、障害に関する情報を記録する障害記録部と、を備える。
【発明の効果】
【００１０】
本発明によれば、ネットワークにおける障害発生における誤検知を適切に低減することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、一実施形態に係る通信システムの全体構成図である。
【図２】図２は、一実施形態に係る通信障害検出計算機の機能構成図である。
【図３】図３は、一実施形態に係るデータ受信時刻管理テーブルの構成図である。
【図４】図４は、一実施形態に係るデータ受信時処理のフローチャートである。
【図５】図５は、一実施形態に係る通信障害検出処理のフローチャートである。
【図６】図６は、一実施形態に係るログ記録処理のフローチャートである。
【図７】図７は、一実施形態に係る通信障害回復検出処理のフローチャートである。
【図８】図８は、一実施形態に係る通信障害検出計算機の動作の具体例を説明する第１の図である。
【図９】図９は、一実施形態に係る通信障害検出計算機の動作の具体例を説明する第２の図である。
【図１０】図１０は、一実施形態に係る通信障害検出計算機の動作の具体例を説明する第３の図である。
【発明を実施するための形態】
【００１２】
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１３】
以下の説明では、「ＡＡＡテーブル」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「ＡＡＡテーブル」を「ＡＡＡ情報」と呼ぶことができる。
【００１４】
図１は、一実施形態に係る通信システムの全体構成図である。
【００１５】
通信システム１００は、１以上の計算機１１１（１１１Ａ，１１１Ｂ）と、通信障害管理装置の一例としての通信障害検出計算機１０１とを備えている。計算機１１１（１１１Ａ，１１１Ｂ）と、通信障害検出計算機１０１とは、ネットワーク１３０を介して接続されている。ネットワーク１３０は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）でも、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であってもよい。
【００１６】
通信障害検出計算機１０１は、プロセッサの一例としてのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０２と、メモリ１０３と、補助記憶装置１０４と、通信Ｉ／Ｆ（インターフェース）１０５と、入力デバイス１０６と、表示デバイス１０７とを備える。
【００１７】
通信Ｉ／Ｆ１０５は、ネットワーク１３０を介して、他の装置（計算機１１１Ａ，１１１Ｂ等）と通信するためのインターフェースである。
【００１８】
ＣＰＵ１０２は、メモリ１０３及び／又は補助記憶装置１０４に格納されているプログラムに従って各種処理を実行する。
【００１９】
メモリ１０３は、例えば、ＲＡＭ（ＲＡＮＤＯＭ  ＡＣＣＥＳＳ  ＭＥＭＯＲＹ）であり、ＣＰＵ１０２で実行されるプログラムや、ＣＰＵ１０２で利用されるデータを記憶する。
【００２０】
補助記憶装置１０４は、例えば、バードディスクやフラッシュメモリなどであり、ＣＰＵ１０２で実行されるプログラムや、ＣＰＵ１０２に利用されるデータを記憶する。
【００２１】
入力デバイス１０６は、例えば、マウス、キーボード等の装置であり、通信障害検出計算機１０１のユーザによる入力操作を受け付ける。表示デバイス１０７は、例えば、液晶ディスプレイ等の表示装置であり、各種情報を表示する。
【００２２】
ここで、計算機１１１（１１１Ａ，１１１Ｂ）について説明する。なお、計算機１１１Ａと、計算機１１１Ｂとは、同様な構成をしており、いずれかを区別しない場合には、計算機１１１として表記する。
【００２３】
計算機１１１は、ＣＰＵ１１２と、メモリ１１３と、補助記憶装置１１４と、通信Ｉ／Ｆ１１５と、入力デバイス１１６と、表示デバイス１１７とを備える。
【００２４】
通信Ｉ／Ｆ１１５は、ネットワーク１３０を介して、他の装置（通信障害検出計算機１０１、計算機１１１等）と通信するためのインターフェースである。
【００２５】
ＣＰＵ１１２は、メモリ１１３及び／又は補助記憶装置１１４に格納されているプログラムに従って各種処理を実行する。本実施形態では、ＣＰＵ１１２は、所定の周期時間（例えば、１秒以下の時間（１ｍｓ等））ごとに、所定の通信データを通信Ｉ／Ｆ１１５を介してネットワーク１３０に送信する。ここで、通信データは、例えば、計算機１１１が動作していることを示すデータであり、宛先を指定していないデータである。この通信データについては、ネットワーク１３０を介して、通信障害検出計算機１０１が受信できるようになっている。
【００２６】
メモリ１１３は、例えば、ＲＡＭであり、ＣＰＵ１１２で実行されるプログラムや、ＣＰＵ１１２で利用されるデータを記憶する。
【００２７】
補助記憶装置１１４は、例えば、バードディスクやフラッシュメモリなどであり、ＣＰＵ１１２で実行されるプログラムや、ＣＰＵ１１２に利用されるデータを記憶する。
【００２８】
入力デバイス１１６は、例えば、マウス、キーボード等の装置であり、計算機１１１のユーザによる入力操作を受け付ける。表示デバイス１１７は、例えば、液晶ディスプレイ等の表示装置であり、各種情報を表示する。
【００２９】
図２は、一実施形態に係る通信障害検出計算機の機能構成図である。
【００３０】
通信障害検出計算機１０１は、通信処理部２０１と、経過時間特定部、障害判定部、及び通信障害回復判定部の一例としての通信障害検出部２０２と、障害記録部の一例としてのログ記録処理部２０３と、データ受信時刻管理テーブル２０４と、メッセージログファイル２０５と、計算機動作情報ログファイル２０６とを備える。通信処理部２０１と、通信障害検出部２０２と、ログ記録処理部２０３とは、メモリ１０３又は補助記憶装置１０４に記憶されているプログラムをＣＰＵ１０２が実行することにより構成される。データ受信時刻管理テーブル２０４と、メッセージログファイル２０５と、計算機動作情報ログファイル２０６とは、メモリ１０３又は補助記憶装置１０４の少なくとも一方に格納される。
【００３１】
通信処理部２０１は、ネットワーク１３０を介してデータの送受信を行う。なお、通信処理部２０１の詳細な動作については後述する。
【００３２】
通信障害検出部２０２は、計算機１１１との間の通信ができなくなる通信障害を検出する。ここで、通信障害には、計算機１１１自体の障害や、ネットワーク１３０の障害、通信障害検出計算機１０１の障害のいずれかが原因の障害が含まれる。通信障害検出部２０２の詳細な動作については後述する。
【００３３】
ログ記録処理部２０３は、通信障害が検出されたことや、通信障害が回復したことを示すメッセージや、障害に関する各種情報をログファイルに記録する。ログ記録処理部２０３の詳細な動作については後述する。
【００３４】
メッセージログファイル２０５は、各種メッセージの履歴を格納する。
【００３５】
計算機動作情報ログファイル２０６は、障害に関する情報として、障害発生時における計算機の動作に関する情報等を格納する。
【００３６】
データ受信時刻管理テーブル２０４は、データの受信に関する各種情報を管理する。
【００３７】
図３は、一実施形態に係るデータ受信時刻管理テーブルの構成図である。
【００３８】
データ受信時刻管理テーブル２０４は、送信元となる各計算機毎に、送信元計算機３０１と、前回受信時刻３０２と、最新受信時刻３０３と、通信障害検出時刻３０４と、通信復旧検出時刻３０５とのフィールドを有するエントリを格納する。
【００３９】
送信元計算機３０１には、通信データの送信元の計算機を識別可能な識別情報が格納される。前回受信時刻３０２には、前回の通信データを受信した時刻（前回受信時刻）が格納される。最新受信時刻３０３には、最新の通信データを受信した時刻（最新受信時刻）が格納される。通信障害検出時刻３０４には、通信障害の発生が検出された時刻（通信障害検出時刻）が格納される。通信復旧検出時刻３０５には、通信障害の発生後、最初に通信データが正常に受信されたことを検出した時刻（通信復旧検出時刻）が格納される。本実施形態では、各フィールドに格納される時刻としては、例えば、年、月、日、時、分、秒、ｍ秒が含まれている時刻となっているが、時刻の形式は、これに限らない。
【００４０】
次に、本実施形態に係る通信障害検出計算機１０１の処理動作について説明する。
【００４１】
図４は、一実施形態に係るデータ受信時処理のフローチャートである。    
【００４２】
データ受信時処理は、計算機１１１からネットワーク１３０に送信された所定の通信データを受信する際に通信処理部２０１により実行される処理である。
【００４３】
まず、通信処理部２０１は、ネットワーク１３０から計算機１１１が送信した通信データを受信する（ステップＳ１０１）。
【００４４】
次いで、通信処理部２０１は、データ受信時刻管理テーブル２０４の各エントリを参照し、エントリの送信元計算機３０１に、受信した通信データの送信元の計算機１１１の識別情報があるか否かを判定する（ステップＳ１０２）。いずれのエントリの送信元計算機３０１にも送信元の計算機１１１の識別情報が無い場合（ステップＳ１０２：ＮＯ）には、データ受信時刻管理テーブル２０４に送信元の計算機１１１に対応するエントリ（図４、図５、及び図７の説明において対応エントリという）がないことを意味するので、通信処理部２０１は、データ受信時刻管理テーブル２０４に新たなエントリを追加し、追加したエントリの送信元計算機３０１に、送信元の計算機１１１の識別情報を記録することにより対応エントリを作成し（ステップＳ１０３）、処理をステップＳ１０４に進める。
【００４５】
一方、いずれかのエントリの送信元計算機３０１に送信元の計算機１１１の識別情報があった場合（ステップＳ１０２：ＹＥＳ）には、対応エントリがあることを意味するので、通信処理部２０１は、処理をステップＳ１０４に進める。
【００４６】
ステップＳ１０４では、通信処理部２０１は、データ受信時刻管理テーブル２０４の対応エントリの最新受信時刻３０３に記録があるか否かを判定する。この結果、対応エントリの最新受信時刻３０３に記録がある場合（ステップＳ１０４：ＹＥＳ）には、通信処理部２０１は、この対応エントリの最新受信時刻３０３の最新受信時刻を、前回受信時刻３０２に記録し（ステップＳ１０５）、処理をステップＳ１０６に進める。
【００４７】
一方、対応エントリの最新受信時刻３０３に記録がない場合（ステップＳ１０４：ＮＯ）には、通信処理部２０１は、処理をステップＳ１０６に進める。
【００４８】
ステップＳ１０６では、通信処理部２０１は、ステップＳ１０１で受信した通信データの受信時刻（データ受信時刻）を対応エントリの最新受信時刻３０３に記録する。
【００４９】
次いで、通信処理部２０１は、この送信元の計算機１１１との間の通信障害が検出されており（すなわち、対応エントリの通信障害検出時刻に時刻が記録されており）、且つ、対応エントリの通信復旧検出時刻３０５に記録が無いか否かを判定する（ステップＳ１０７）。
【００５０】
この結果、この送信元の計算機１１１との間の通信障害が検出されており、且つ、対応エントリの通信復旧検出時刻３０５に記録が無い場合（ステップＳ１０７：ＹＥＳ）には、通信処理部２０１は、データ受信時刻を対応エントリの通信復旧検出時刻３０５に記録し（ステップＳ１０８）、処理を終了する。
【００５１】
一方、この送信元の計算機１１１との間の通信障害が検出されていない場合や、対応エントリの通信復旧検出時刻３０５に記録がある場合（ステップＳ１０７：ＮＯ）には、通信処理部２０１は、処理を終了する。
【００５２】
図５は、一実施形態に係る通信障害検出処理のフローチャートである。
【００５３】
通信障害検出処理は、データ受信時処理の実行後に、通信障害検出部２０２により実行される処理である。
【００５４】
まず、通信障害検出部２０２は、データ受信時刻管理テーブル２０４の対象エントリの前回受信時刻３０２に記録があるか否かを判定する（ステップＳ２０１）。この結果、対象エントリの前回受信時刻３０２に記録がある場合（ステップＳ２０１：ＹＥＳ）には、通信障害検出部２０２は、対象エントリの前回受信時刻３０２の前回受信時刻と、最新受信時刻３０３の最新受信時刻との差分（すなわち、前回受信からの経過時間）を算出（特定）する（ステップＳ２０２）。なお、対象エントリの前回受信時刻３０２に記録がない場合（ステップＳ２０１：ＮＯ）には、通信障害検出部２０２は、通信障害検出処理を終了する。
【００５５】
次いで、通信障害検出部２０２は、差分がデータ送信周期時間（第１時間）を超過しているか否かを判定する（ステップＳ２０３）。ここで、データ送信周期時間とは、計算機１１１から所定の送信周期で送信する通信データの差分（経過時間）として許容されている時間であり、例えば、通信データの送信周期と同じ時間としてもよく、送信周期に対して所定の許容時間を加算した時間としてもよい。
【００５６】
この結果、差分がデータ送信周期時間を超過している場合（ステップＳ２０３：ＹＥＳ）には、さらに通信障害か否かを判定するために、通信障害検出部２０２は、処理をステップＳ２０４に進める。一方、差分がデータ送信周期時間を超過していない場合（ステップＳ２０３：ＮＯ）には、通信障害が発生していないことを意味しているので、通信障害検出部２０２は、通信障害検出処理を終了する。
【００５７】
ステップＳ２０４では、通信障害検出部２０２は、差分が計算機保守作業停止判断時間（第２時間）以内か否かを判定する。ここで、計算機保守作業停止判断時間とは、データ送信周期時間よりも長い時間であって、この時間よりも長いと、通信障害とは異なる原因（例えば、計算機１１１の保守作業等により一時的に計算機１１１を停止させたこと等）により、通信データの遅延が発生した可能性が比較的高いと想定される時間である。計算機保守作業停止判断時間としては、例えば、３０秒としてもよい。この計算機保守作業停止判断時間については、予め通信障害検出部２０２が表示デバイス１０７に入力用の画面を表示させ、入力デバイス１０６によるユーザの入力を受け付けて、メモリ１０３に格納させておくようにしてもよい。このようにすると、ユーザが適切であると考えられる計算機保守作業停止判断時間を基準として、適切に通信障害の判定を行うことができる。このようにした場合には、通信障害検出部２０２が時間指定受付部に相当する。
【００５８】
この結果、差分が計算機保守作業停止判断時間以内である場合（ステップＳ２０４：ＹＥＳ）には、保守作業等のように通信障害とは異なる原因による可能性が低いことを意味しているので、通信障害検出部２０２は、通信障害が発生していると判定し、ログ記録処理部２０３に通信障害が発生したことを通知する（ステップＳ２０５）。一方、差分が計算機保守作業停止判断時間以内でない場合（ステップＳ２０４：ＮＯ）には、保守作業等のように通信障害とは異なる原因による可能性が比較的高いことを意味しているので、通信障害検出部２０２は、通信障害が発生していないと判定して通信障害検出処理を終了する。
【００５９】
次いで、通信障害検出部２０２は、対応エントリの通信復旧検出時刻３０５に記録があるか否かを判定し（ステップＳ２０６）、通信復旧検出時刻３０５に記録がある場合（ステップＤ２０６：ＹＥＳ）には、通信障害が回復していないので、通信障害検出部２０２は、通信復旧検出時刻３０５の通信復旧検出時刻を消去し（ステップＳ２０７）、通信障害検出処理を終了する。一方、通信復旧検出時刻３０５に記録がない場合（ステップＳ２０６：ＮＯ）には、通信障害検出部２０２は、通信障害検出処理を終了する。
【００６０】
図６は、一実施形態に係るログ記録処理のフローチャートである。
【００６１】
ログ記録処理は、ログ記録処理部２０３により実行される処理である。
【００６２】
ログ記録処理部２０３は、通信障害検出部２０２から通信障害が発生したことの通知があるか否かを判定する（ステップＳ３０１）。この結果、通信障害が発生したことの通知がない場合（ステップＳ３０１：ＮＯ）には、ログ記録処理部２０３は、処理をステップＳ３０７に進める。
【００６３】
一方、通信障害が発生したことの通知がある場合（ステップＳ３０１：ＹＥＳ）には、ログ記録処理部２０３は、通信障害の発生を示す通信障害メッセージをメッセージログファイル２０５に記録する（ステップＳ３０２）。ここで、通信障害メッセージには、例えば、通信障害の発生時刻、送信元の計算機１１１の識別情報、通信障害が発生したとの内容等が含まれている。
【００６４】
次いで、ログ記録処理部２０３は、通信障害検出時刻における通信障害検出計算機１０１のメモリ１０３の使用量（メモリ使用量）を取得し、計算機動作情報ログファイル２０６に記録する（ステップＳ３０３）。
【００６５】
次いで、ログ記録処理部２０３は、通信障害検出時刻における通信障害検出計算機１０１のＣＰＵ１０２の負荷率（ＣＰＵ負荷率）を取得し、計算機動作情報ログファイル２０３に記録する（ステップＳ３０４）。
【００６６】
次いで、ログ記録処理部２０３は、通信障害検出時刻における通信障害検出計算機１０１によるネットワーク１３０を介しての通信に関する統計情報（例えば、通信データ量、通信エラー発生回数等）を取得し、計算機動作情報ログファイル２０６に記録する（ステップＳ３０５）。
【００６７】
次いで、ログ記録処理部２０３は、通信障害検出時刻における通信障害検出計算機１０１におけるエラー発生状況に関する情報（例えば、通信障害検出計算機１０１におけるプログラムの実行エラー等）を取得し、計算機動作情報ログファイル２０３に記録し（ステップＳ３０６）、処理をステップＳ３０７に進める。なお、メモリ１０３の使用量、ＣＰＵ負荷率、通信に関する統計情報、エラー発生状況に関する情報については、例えば、ＣＰＵ１０２で実行されている図示しないＯＳ（オペレーティングシステム）に問い合わせて取得することができる。上記したステップＳ３０２〜Ｓ３０６の処理により、通信障害の発生時点と、通信障害の原因を特定するために利用できる情報を適切にメッセージログファイル２０５と計算機動作情報ログファイル２０６とに記録することができる。
【００６８】
ステップＳ３０７では、ログ記録処理部２０３は、通信障害検出部２０２から通信障害が回復したとの通知があるか否かを判定する。この結果、通信障害が回復したことの通知がない場合（ステップＳ３０７：ＮＯ）には、ログ記録処理部２０３は、ログ記録処理を終了する。
【００６９】
一方、通信障害が回復したことの通知がある場合（ステップＳ３０７：ＹＥＳ）には、ログ記録処理部２０３は、通信障害が回復したことを示す通信障害回復メッセージをメッセージログファイル２０５に記録する（ステップＳ３０８）。ここで、通信障害回復メッセージには、例えば、通信障害の回復した時刻、通信障害が回復した計算機１１１の識別情報、通信障害が回復したとの内容等が含まれている。
【００７０】
図７は、一実施形態に係る通信障害回復検出処理のフローチャートである。
【００７１】
通信障害回復検出処理は、データ受信時処理の実行後に、通信障害検出部２０２により実行される処理である。
【００７２】
まず、通信障害検出部２０２は、データ受信時刻管理テーブル２０４の対象エントリの通信復旧検出時刻３０５に記録があるか否かを判定する（ステップＳ４０１）。この結果、対象エントリの通信復旧検出時刻３０５に記録がある場合（ステップＳ４０１：ＹＥＳ）には、通信障害検出部２０２は、対象エントリの通信復旧検出時刻３０５の通信復旧検出時刻と、最新受信時刻３０３の最新受信時刻との差分（経過時間）を算出する（ステップＳ４０２）。なお、対象エントリの通信復旧時刻３０５に記録がない場合（ステップＳ４０１：ＮＯ）には、通信障害検出部２０２は、通信障害回復検出処理を終了する。
【００７３】
次いで、通信障害検出部２０２は、差分が通信障害回復判断時間（第３時間）を超過しているか否かを判定する（ステップＳ４０３）。ここで、通信障害回復判断時間とは、通信障害が回復したか否かを判断する時間であり、この時間において、計算機１１１からの通信データが常にデータ送信周期時間以内で受信できている場合に、通信障害が回復したと判断するようにしている。
【００７４】
この結果、差分が通信障害回復判断時間を超過している場合（ステップＳ４０３：ＹＥＳ）には、通信障害が回復していることを意味しているので、通信障害検出部２０２は、通信障害が回復したと判定して、ログ記録処理部２０３に通信障害が回復したことを通知する（ステップＳ４０４）。これにより、通信障害が回復したことを適切に判定することができる。一方、差分が通信障害回復判断時間を超過していない場合（ステップＳ４０３：ＮＯ）には、通信障害が回復していないことを意味しているので、通信障害検出部２０２は、通信障害回復検出処理を終了する。
【００７５】
次に、通信障害検出計算機１０１の動作の具体例を説明する。
【００７６】
図８は、一実施形態に係る通信障害検出計算機の動作の具体例を説明する第１の図である。図９は、一実施形態に係る通信障害検出計算機の動作の具体例を説明する第２の図である。図１０は、一実施形態に係る通信障害検出計算機の動作の具体例を説明する第３の図である。
【００７７】
まず、計算機１１１Ａが通信データをネットワーク１３０に送信すると、通信障害検出計算機１０１がネットワーク１３０を介して、計算機１１１Ａから送信された通信データを受信する。通信データを受信すると通信障害検出計算機１０１の通信処理部２０１は、受信した通信データの内容を判断し、図８に示すように、データ受信時刻管理テーブル２０４に新たなエントリを追加し、追加したエントリの送信元計算機３０１に計算機１１１Ａの識別情報（図では、計算機Ａ）を記録する。また、通信処理部２０１は、追加したエントリの最新受信時刻３０３に通信データを受信した時刻（データ受信時刻）を記録する。
【００７８】
次に、計算機１１１Ａが所定の送信周期に従って次の通信データを送信すると、通信障害検出計算機１０１がネットワーク１３０を介して、計算機１１１Ａから送信された次の通信データを受信する。
【００７９】
次の通信データを受信すると、通信障害検出計算機１０１の通信処理部２０１は、データ受信時刻管理テーブル２０４のエントリの中から、送信元計算機３０１が計算機１１１Ａの識別情報（計算機Ａ）のエントリを検索し、図９に示すように、このエントリの最新受信時刻３０３に記録されている受信時刻を、前回受信時刻３０２に記録し、前回受信時刻３０２への記録完了後、最新受信時刻３０３にこの通信データの受信時刻を記録する。
【００８０】
最新受信時刻３０３への受信時刻の記録の完了後、通信障害検出部２０２が、計算機１１１Ａに対応するエントリの前回受信時刻３０２の前回受信時刻と、最新受信時刻３０３の最新受信時刻との差分を算出する。そして、この差分がデータ送信周期時間を超過しており、且つ計算機保守作業停止判断時間以内である場合には、通信障害検出部２０２は通信障害と判断し、データ受信時刻管理テーブル２０４の計算機１１１Ａに対応するエントリの通信障害検出時刻３０４に通信障害を検出した時刻を記録すると共に、ログ記録処理部２０３に通信障害が発生したことを通知する。
【００８１】
通信障害が発生したことの通知を受信したログ記録処理部２０３は、通信障害検出のメッセージをメッセージログファイル２０５に記録する。また、ログ記録処理部２０３は、この時点（通信障害が検出された時刻）の通信障害検出計算機１０１のメモリ使用量、ＣＰＵ負荷率、通信障害検出計算機１０１によるネットワーク１３０における通信に関する統計情報、通信障害検出計算機１０１のエラー発生状況等を計算機動作情報ログファイル２０６に記録する。
【００８２】
これに対し、計算機１１１Ａに対応するエントリの前回受信時刻３０２の前回受信時刻と、最新受信時刻３０３の最新受信時刻との差分が計算機保守作業停止判断時間を超過している場合には、通信障害検出部２０２は、計算機１１１Ａにおける保守作業に伴う計算機停止によるデータの遅延である可能性が高く、通信障害ではないと判断し、通信障害検出部２０２は、計算機１１１Ａに対応するエントリの通信障害検出時刻３０４への通信障害検出時刻の記録を行わず、また、ログ記録処理部２０３への通信障害が発生したことの通知を行わない。
【００８３】
このように通信障害が検出された後に、通信処理部２０１が計算機１１１Ａから送信された通信データをデータ送信周期時間内にネットワーク１３０を介して受信した場合には、通信処理部２０１は、図１０に示すように、データ受信時刻管理テーブル２０４の計算機Ａ１１１に対応するエントリの通信復旧検出時刻３０５に通信データを受信した時刻を記録する。ただし、この時点においては、エントリの通信復旧検出時刻３０５に、正常に通信が行われた初回の時刻を記録するのみであり、この時点では、通信障害が回復したとは判断されない。
【００８４】
この後、エントリの通信復旧検出時刻３０５の時刻から通信障害回復判断時間が経過するまでの間において、逐次受信している通信データの受信間隔がデータ送信周期時間を超過することがなければ、通信障害検出部２０２は、計算機１１１Ａとの間の通信障害が回復したと判断し、ログ記録処理部２０３に通信障害が回復したことを通知する。この通信障害が回復したことの通知を受信すると、ログ記録処理部２０３は、通信障害が回復したことを示すメッセージをメッセージログファイル２０５に記録する。なお、エントリの通信復旧検出時刻３０５の時刻から通信障害回復判断時間が経過するまでの間において、再度、通信データの受信において遅延が発生した場合には、通信障害検出部２０２は、通信障害が回復していないと判断し、エントリにおける通信復旧検出時刻３０５の時刻を消去する。
【００８５】
以上説明したように、本実施形態に係る通信システムによると、通信データを前回受信した時点からの経過時間がデータ送信周期時間を超過し、且つ、計算機保守作業停止判断時間以内である場合に、障害が発生していないと判定し、経過時間がデータ送信周期時間を超過し、且つ、計算機保守作業停止判断時間を超過している場合に、障害が発生していないと判定するようにしたので、例えば、計算機１１１の保守作業による停止等といった通信障害とは異なる原因により通信データが遅延した場合において、通信障害であると誤検出されてしまうことを適切に防止できる。また、このように、通信障害であると誤検出されてしまうことを防止できるので、誤検出によるメッセージや各種情報がメッセージログファイル２０５や計算機動作情報ログファイル２０６に格納されずに済み、通信障害に関するメッセージや各種情報をメッセージログファイル２０５や計算機動作情報ログファイル２０６に適切に格納することができる。これにより、メッセージログファイル２０５や計算機動作情報ログファイル２０６のメッセージや情報により、精度よく通信障害の要因を特定することが可能となる。
【００８６】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。
【００８７】
例えば、上記実施形態では、計算機１１１が送信する通信データを、宛先を指定していないデータとしていたが、本発明はこれに限られず、通信データを、通信障害検出計算機１０１を宛先とする通信データとしてもよい。
【００８８】
また、上記実施形態において、計算機１１１が送信する通信データ中に、他の計算機における処理に使用するデータを含ませるようにしてもよい。
【００８９】
また、上記実施形態では、ログ記録処理部２０３は、障害に関する情報として、通信障害検出計算機１０１のメモリ使用率と、プロセッサの負荷率と、通信障害検出計算機１０１による通信に関する統計情報と、通信障害検出計算機１０１において発生したエラー状況とを計算機動作情報ログファイル２０６に格納するようにしていたが、本発明はこれに限られず、これらの情報のうちの少なくとも１種以上を計算機動作情報ログファイル２０６に記録するようにしてもよい。
【００９０】
また、上記実施形態において、通信障害検出計算機１０１のＣＰＵ１０２が行っていた処理の一部又は全部を、ハードウェア回路で行うようにしてもよい。また、上記実施形態におけるプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記憶メディア（例えば可搬型の記憶メディア）であってもよい。
【符号の説明】
【００９１】
１００…通信システム、１０１…通信障害検出計算機、１０２…ＣＰＵ、１０３…メモリ、１０６…入力デバイス、１０７…表示デバイス、１１１，１１１Ａ，１１１Ｂ…計算機、２０１…通信処理部、２０２…通信障害検出部、２０３…ログ記録処理部、２０４…データ受信時刻管理テーブル、２０５…メッセージログファイル、２０６…計算機動作情報ログファイル
【図１】
2018121232.tif 000003
【図２】
2018121232.tif 000004
【図３】
2018121232.tif 000005
【図４】
2018121232.tif 000006
【図５】
2018121232.tif 000007
【図６】
2018121232.tif 000008
【図７】
2018121232.tif 000009
【図８】
2018121232.tif 000010
【図９】
2018121232.tif 000011
【図１０】
2018121232.tif 000012