(57)【特許請求の範囲】
【請求項１】
データを送信する複数のデータ送信装置とネットワークを通じて接続され、前記複数のデータ送信装置のそれぞれより送信されたデータを前記ネットワークから受信するデータ受信装置であって、
前記ネットワークからデータを受信するデータ受信部と、
前記データ受信部により受信された受信データについて送信元のデータ送信装置を判別する受信データ判別部と、
データ受信間隔に関する制限時間として所定のネットワーク受信間隔制限時間を適用し、前記データ受信部におけるデータ受信間隔が前記ネットワーク受信間隔制限時間以内であるか否かを監視するとともに、前記データ受信部におけるデータ受信間隔が前記ネットワーク受信間隔制限時間を超えた場合に前記ネットワークにおいて受信タイムアウトが発生したと判断するネットワーク受信間隔監視部と、
データ受信間隔に関する制限時間としてデータ送信装置ごとに所定のデータ送信装置受信間隔制限時間を適用し、前記受信データ判別部による判別結果に基づき、データ送信装置ごとにデータ受信間隔がそれぞれのデータ送信装置受信間隔制限時間以内であるか否かを監視するとともに、いずれかのデータ送信装置についてデータ受信間隔が対応するデータ送信装置受信間隔制限時間を超えた場合に該当するデータ送信装置において受信タイムアウトが発生したと判断するデータ送信装置受信間隔監視部と、
前記データ送信装置受信間隔監視部により特定のデータ送信装置において受信タイムアウトが発生したと判断された場合に、前記ネットワーク受信間隔監視部での受信タイムアウトの発生状況を確認し、前記ネットワーク受信間隔監視部により前記ネットワークにおいて受信タイムアウトが発生したと判断された場合に前記ネットワークに障害が発生していると判断し、前記ネットワーク受信間隔監視部により前記ネットワークにおいて受信タイムアウトが発生したと判断されていない場合に前記特定のデータ送信装置に障害が発生していると判断する障害判別部と、
前記障害判別部により前記ネットワークに障害が発生していると判断された場合に、前記ネットワークに対して障害対処処理を行うネットワーク障害対処処理部と、
前記障害判別部により特定のデータ送信装置に障害が発生していると判断された場合に、前記特定のデータ送信装置に対して障害対処処理を行うデータ送信装置障害対処処理部とを有し、
前記ネットワーク障害対処処理部は、前記ネットワークに対する障害対処処理として、段階的に、第一次ネットワーク障害対処処理及び第二次ネットワーク障害対処処理を行い、
前記ネットワーク受信間隔監視部は、前記ネットワーク障害対処処理部により前記第一次ネットワーク障害対処処理が行われた場合に、所定の対処処理後ネットワーク受信間隔制限時間を適用し、前記第一次ネットワーク障害対処処理の完了時から前記対処処理後ネットワーク受信間隔制限時間の経過時までに前記データ受信部においてデータ受信があるか否かを監視するとともに、前記対処処理後ネットワーク受信間隔制限時間の経過時までに前記データ受信部においてデータ受信がなかった場合に前記ネットワークにおいて受信タイムアウトが発生したと判断し、
前記データ送信装置障害対処処理部は、障害が発生した障害データ送信装置に対する障害対処処理として、段階的に、第一次データ送信装置障害対処処理及び第二次データ送信装置障害対処処理を行い、
前記データ送信装置受信間隔監視部は、前記データ送信装置障害対処処理部により前記第一次データ送信装置障害対処処理が行われた場合に、前記障害データ送信装置について所定の対処処理後データ送信装置受信間隔制限時間を適用し、前記第一次データ送信装置障害対処処理の完了時から前記対処処理後データ送信装置受信間隔制限時間の経過時までに前記障害データ送信装置からのデータ受信があるか否かを監視するとともに、前記対処処理後ネットワーク受信間隔制限時間の経過時までに前記障害発生データ送信装置からのデータ受信がなかった場合に前記障害データ送信装置に受信タイムアウトが発生したと判断し、
前記障害判別部は、前記データ送信装置受信間隔監視部により前記障害データ送信装置において受信タイムアウトが発生したと判断された場合に、前記ネットワーク受信間隔監視部での受信タイムアウトの発生状況を確認し、前記ネットワーク受信間隔監視部により前記ネットワークにおいて受信タイムアウトが発生したと判断された場合に前記ネットワークに障害が発生していると判断し、前記ネットワーク受信間隔監視部により前記ネットワークにおいて受信タイムアウトが発生したと判断されていない場合に前記障害データ送信装置に障害が発生していると判断し、
前記ネットワーク障害対処処理部は、前記障害判別部により前記ネットワークに障害が発生していると判断された場合に、前記ネットワークに対して前記第二次ネットワーク障害対処処理を行い、
前記データ送信装置障害対処処理部は、前記障害判別部により前記障害データ送信装置に障害が発生していると判断された場合に、前記障害データ送信装置に対して前記第二次データ送信装置障害対処処理を行うことを特徴とするデータ受信装置。
【請求項２】
前記受信データ判別部は、前記データ受信部におけるデータ受信間隔を測定するとともに、前記データ受信部により受信された受信データについて送信元のデータ送信装置を判別し、判別結果に基づきデータ送信装置ごとにデータ受信間隔を測定し、測定した前記データ受信部におけるデータ受信間隔に基づき前記ネットワーク受信間隔制限時間を設定し、測定したデータ送信装置ごとのデータ受信間隔に基づきデータ送信装置ごとに前記データ送信装置受信間隔制限時間を設定し、
前記ネットワーク受信間隔監視部は、前記受信データ判別部により設定された前記ネットワーク受信間隔制限時間を適用して前記データ受信部におけるデータ受信間隔を監視し、
前記データ送信装置受信間隔監視部は、前記受信データ判別部により設定されたデータ送信装置ごとのデータ送信装置受信間隔制限時間を適用してデータ送信装置ごとにデータ受信間隔を監視することを特徴とする請求項１に記載のデータ受信装置。
【請求項３】
前記受信データ判別部は、前記データ受信部におけるデータ受信間隔を測定するとともに、前記データ受信部により受信された受信データについて送信元のデータ送信装置を判別し、判別結果に基づきデータ送信装置ごとにデータ受信間隔を測定し、測定した前記データ受信部におけるデータ受信間隔に基づき前記対処処理後ネットワーク受信間隔制限時間を設定し、測定したデータ送信装置ごとのデータ受信間隔に基づきデータ送信装置ごとに前記対処処理後データ送信装置受信間隔制限時間を設定し、
前記ネットワーク受信間隔監視部は、前記受信データ判別部により設定された前記対処処理後ネットワーク受信間隔制限時間を適用して前記データ受信部においてデータ受信があるか否かを監視し、
前記データ送信装置受信間隔監視部は、前記受信データ判別部により設定されたデータ送信装置ごとの対処処理後データ送信装置受信間隔制限時間を適用してデータ送信装置ごとにデータ受信があるか否かを監視することを特徴とする請求項１に記載のデータ受信装置。
【請求項４】
前記データ受信部は、前記複数のデータ送信装置のそれぞれより、それぞれのデータ送信装置のデータ送信時間間隔が示されたデータ送信時間間隔情報を受信し、
前記受信データ判別部は、それぞれのデータ送信時間間隔情報に示されたそれぞれのデータ送信時間間隔に基づきデータ送信装置ごとに前記データ送信装置受信間隔制限時間を設定するとともに、複数のデータ送信時間間隔情報の中から特定のデータ送信時間間隔情報を選択し、選択したデータ送信時間間隔情報に示されたデータ送信時間間隔に基づき前記ネットワーク受信間隔制限時間を設定し、
前記ネットワーク受信間隔監視部は、前記受信データ判別部により設定された前記ネットワーク受信間隔制限時間を適用して前記データ受信部におけるデータ受信間隔を監視し、
前記データ送信装置受信間隔監視部は、前記受信データ判別部により設定されたデータ送信装置ごとのデータ送信装置受信間隔制限時間を適用してデータ送信装置ごとにデータ受信間隔を監視することを特徴とする請求項１に記載のデータ受信装置。
【請求項５】
前記データ受信部は、前記複数のデータ送信装置のそれぞれより、それぞれのデータ送信装置のデータ送信時間間隔が示されたデータ送信時間間隔情報を受信し、
前記受信データ判別部は、それぞれのデータ送信時間間隔情報に示されたそれぞれのデータ送信時間間隔に基づきデータ送信装置ごとに前記対処処理後データ送信装置受信間隔制限時間を設定するとともに、複数のデータ送信時間間隔情報の中から特定のデータ送信時間間隔情報を選択し、選択したデータ送信時間間隔情報に示されたデータ送信時間間隔に基づき前記対処処理後ネットワーク受信間隔制限時間を設定し、
前記ネットワーク受信間隔監視部は、前記受信データ判別部により設定された前記対処処理後ネットワーク受信間隔制限時間を適用して前記データ受信部においてデータ受信があるか否かを監視し、
前記データ送信装置受信間隔監視部は、前記受信データ判別部により設定されたデータ送信装置ごとの対処処理後データ送信装置受信間隔制限時間を適用してデータ送信装置ごとにデータ受信があるか否かを監視することを特徴とする請求項１に記載のデータ受信装置。
【請求項６】
前記データ受信装置は、更に、
ハートビートデータを生成し、生成したハートビートデータをデータ送信装置ごとにそれぞれのデータ送信装置からのデータ受信の合間に送信するハートビートデータ生成送信部を有することを特徴とする請求項１に記載のデータ受信装置。
【請求項７】
前記データ受信部は、いずれかのデータ送信装置より送信されたハートビートデータを前記ネットワークから受信し、
前記受信データ判別部は、前記データ受信部により受信された前記ハートビートデータについて送信元のデータ送信装置を判別し、
前記ネットワーク受信間隔監視部は、前記ネットワーク受信間隔制御時間が経過する前に前記データ受信部において前記ハートビートデータが受信された場合は、前記ネットワークにおいて受信タイムアウトが発生したと判断せず、
前記データ送信装置受信間隔監視部は、対応するデータ送信装置受信間隔制限時間が経過する前に前記データ受信部において前記ハートビートデータが受信された場合は、前記ハートビートデータの送信元であるデータ送信装置において受信タイムアウトが発生したと判断しないことを特徴とする請求項１に記載のデータ受信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、複数の計算機をネットワークで接続した計算機クラスタにより構成される情報処理システムの異常処理に関するもので、特に情報処理システムに余分な負荷を与えずに、ネットワークや計算機に発生した異常を短時間に検出し、異常原因を切り分け、その異常に対処する処理を行う技術に関するものである。
【０００２】
【従来の技術】
計算機間のデータ交換で異常を短時間に検出するための技術の例としては、例えば端末・サーバ間における障害監視方式として、特開平１０−１０５４９０号公報に示されるようなものがあった。図１９はこのサーバ障害監視方式の動作を示したものである。
【０００３】
この方式においては、ネットワークから到着するデータを監視するタイマを持ち、所定時間ネットワークからデータが来ないことにより、障害が発生したと判断し、対処することにより、高速な障害対処を実現する。
【０００４】
【発明が解決しようとする課題】
上記のような障害処理方式を計算機クラスタに適用した場合、計算機クラスタでは多数の計算機が通信を行うので、障害を起こした計算機を特定できない。
また、障害を起こしたのが計算機の一つか、ネットワーク自体かを判別することができない。
また、発生した現象が一時的な通信の停止か、障害かを切り分けることができないという問題があった。
【０００５】
この発明は上記のような問題点を解消するためになされたもので、データ受信側計算機に到着する全受信パケットの到着時間間隔を監視し、計算機間の通信コネクションに到着する受信パケットの到着時間間隔を監視することにより、計算機クラスタの異常を適切に検出することを目的とする。
【０００６】
また、受信パケットの監視状況により障害原因の切り分けを行い、適切な障害対処処理を行うことを目的とする。
【０００７】
また、２段階のタイムアウト時間に基づいて受信パケットの監視を行い、各段のタイムアウトに対応した障害対処処理を行うことにより、障害の確実な判定を可能にし、システム要求に応じた適切な障害対処処理を行うことを目的とする。
【０００８】
また、計算機クラスタの初期稼動中にネットワークからの受信データの到着時間間隔を記録し、この記録結果により受信パケットの監視時のタイムアウト時間を自動的に設定することを目的とする。
【０００９】
また、計算機間の通信コネクション設立時にデータ送信側計算機とデータ受信側計算機間で、データ送信周期情報を交換し、その情報をもとに受信パケット監視時のタイムアウト時間を設定することにより、適切なタイムアウト時間を自動的に設定することを目的とする。
【００１０】
また、データ受信側計算機が、所定周期でハートビートパケットを送信することにより、データ通信を妨げられることなくデータ送信側計算機がデータ受信側計算機の異常を検出可能とすることを目的とする。
【００１１】
また、一時的に送信データがなくなった場合に、データ送信側計算機が所定周期でハートビートパケットを送信することによりデータ受信側計算機の異常処理機構の判断を誤らせることがないようにすることを目的とする。
【００１２】
【課題を解決するための手段】
本発明に係るデータ受信装置は、
データを送信する複数のデータ送信装置とネットワークを通じて接続され、前記複数のデータ送信装置のそれぞれより送信されたデータを前記ネットワークから受信するデータ受信装置であって、
前記ネットワークからデータを受信するデータ受信部と、
前記データ受信部により受信された受信データについて送信元のデータ送信装置を判別する受信データ判別部と、
データ受信間隔に関する制限時間として所定のネットワーク受信間隔制限時間を適用し、前記データ受信部におけるデータ受信間隔が前記ネットワーク受信間隔制限時間以内であるか否かを監視するとともに、前記データ受信部におけるデータ受信間隔が前記ネットワーク受信間隔制限時間を超えた場合に前記ネットワークにおいて受信タイムアウトが発生したと判断するネットワーク受信間隔監視部と、
データ受信間隔に関する制限時間としてデータ送信装置ごとに所定のデータ送信装置受信間隔制限時間を適用し、前記受信データ判別部による判別結果に基づき、データ送信装置ごとにデータ受信間隔がそれぞれのデータ送信装置受信間隔制限時間以内であるか否かを監視するとともに、いずれかのデータ送信装置についてデータ受信間隔が対応するデータ送信装置受信間隔制限時間を超えた場合に該当するデータ送信装置において受信タイムアウトが発生したと判断するデータ送信装置受信間隔監視部と、
前記データ送信装置受信間隔監視部により特定のデータ送信装置において受信タイムアウトが発生したと判断された場合に、前記ネットワーク受信間隔監視部での受信タイムアウトの発生状況を確認し、前記ネットワーク受信間隔監視部により前記ネットワークにおいて受信タイムアウトが発生したと判断された場合に前記ネットワークに障害が発生していると判断し、前記ネットワーク受信間隔監視部により前記ネットワークにおいて受信タイムアウトが発生したと判断されていない場合に前記特定のデータ送信装置に障害が発生していると判断する障害判別部とを有することを特徴とする。
【００１３】
前記障害判別部は、前記データ送信装置別監視部により受信タイムアウトが発生したと判断されていない場合であって、前記ネットワーク受信間隔監視部により前記ネットワークにおいて受信タイムアウトが発生したと判断された場合に、前記ネットワークに障害が発生していると判断することを特徴とする。
【００１４】
前記データ受信装置は、更に、
前記障害判別部により前記ネットワークに障害が発生していると判断された場合に、前記ネットワークに対して障害対処処理を行うネットワーク障害対処処理部と、
前記障害判別部により特定のデータ送信装置に障害が発生していると判断された場合に、前記特定のデータ送信装置に対して障害対処処理を行うデータ送信装置障害対処処理部とを有することを特徴とする。
【００１５】
前記ネットワーク障害対処処理部は、前記ネットワークに対する障害対処処理として、段階的に、第一次ネットワーク障害対処処理及び第二次ネットワーク障害対処処理を行い、
前記ネットワーク受信間隔監視部は、前記ネットワーク障害対処処理部により前記第一次ネットワーク障害対処処理が行われた場合に、所定の対処処理後ネットワーク受信間隔制限時間を適用し、前記第一次ネットワーク障害対処処理の完了時から前記対処処理後ネットワーク受信間隔制限時間の経過時までに前記データ受信部においてデータ受信があるか否かを監視するとともに、前記対処処理後ネットワーク受信間隔制限時間の経過時までに前記データ受信部においてデータ受信がなかった場合に前記ネットワークにおいて受信タイムアウトが発生したと判断し、
前記データ送信装置障害対処処理部は、障害が発生した障害データ送信装置に対する障害対処処理として、段階的に、第一次データ送信装置障害対処処理及び第二次データ送信装置障害対処処理を行い、
前記データ送信装置受信間隔監視部は、前記データ送信装置障害対処処理部により前記第一次データ送信装置障害対処処理が行われた場合に、前記障害データ送信装置について所定の対処処理後データ送信装置受信間隔制限時間を適用し、前記第一次データ送信装置障害対処処理の完了時から前記対処処理後データ送信装置受信間隔制限時間の経過時までに前記障害データ送信装置からのデータ受信があるか否かを監視するとともに、前記対処処理後ネットワーク受信間隔制限時間の経過時までに前記障害発生データ送信装置からのデータ受信がなかった場合に前記障害データ送信装置に受信タイムアウトが発生したと判断し、
前記障害判別部は、前記データ送信装置受信間隔監視部により前記障害データ送信装置において受信タイムアウトが発生したと判断された場合に、前記ネットワーク受信間隔監視部での受信タイムアウトの発生状況を確認し、前記ネットワーク受信間隔監視部により前記ネットワークにおいて受信タイムアウトが発生したと判断された場合に前記ネットワークに障害が発生していると判断し、前記ネットワーク受信間隔監視部により前記ネットワークにおいて受信タイムアウトが発生したと判断されていない場合に前記障害データ送信装置に障害が発生していると判断し、
前記ネットワーク障害対処処理部は、前記障害判別部により前記ネットワークに障害が発生していると判断された場合に、前記ネットワークに対して前記第二次ネットワーク障害対処処理を行い、
前記データ送信装置障害対処処理部は、前記障害判別部により前記障害データ送信装置に障害が発生していると判断された場合に、前記障害データ送信装置に対して前記第二次データ送信装置障害対処処理を行うことを特徴とする。
【００１６】
前記受信データ判別部は、前記データ受信部におけるデータ受信間隔を測定するとともに、前記データ受信部により受信された受信データについて送信元のデータ送信装置を判別し、判別結果に基づきデータ送信装置ごとにデータ受信間隔を測定し、測定した前記データ受信部におけるデータ受信間隔に基づき前記ネットワーク受信間隔制限時間を設定し、測定したデータ送信装置ごとのデータ受信間隔に基づきデータ送信装置ごとに前記データ送信装置受信間隔制限時間を設定し、
前記ネットワーク受信間隔監視部は、前記受信データ判別部により設定された前記ネットワーク受信間隔制限時間を適用して前記データ受信部におけるデータ受信間隔を監視し、
前記データ送信装置受信間隔監視部は、前記受信データ判別部により設定されたデータ送信装置ごとのデータ送信装置受信間隔制限時間を適用してデータ送信装置ごとにデータ受信間隔を監視することを特徴とする。
【００１７】
前記受信データ判別部は、前記データ受信部におけるデータ受信間隔を測定するとともに、前記データ受信部により受信された受信データについて送信元のデータ送信装置を判別し、判別結果に基づきデータ送信装置ごとにデータ受信間隔を測定し、測定した前記データ受信部におけるデータ受信間隔に基づき前記対処処理後ネットワーク受信間隔制限時間を設定し、測定したデータ送信装置ごとのデータ受信間隔に基づきデータ送信装置ごとに前記対処処理後データ送信装置受信間隔制限時間を設定し、
前記ネットワーク受信間隔監視部は、前記受信データ判別部により設定された前記対処処理後ネットワーク受信間隔制限時間を適用して前記データ受信部においてデータ受信があるか否かを監視し、
前記データ送信装置受信間隔監視部は、前記受信データ判別部により設定されたデータ送信装置ごとの対処処理後データ送信装置受信間隔制限時間を適用してデータ送信装置ごとにデータ受信があるか否かを監視することを特徴とする。
【００１８】
前記データ受信部は、前記複数のデータ送信装置のそれぞれより、それぞれのデータ送信装置のデータ送信時間間隔が示されたデータ送信時間間隔情報を受信し、
前記受信データ判別部は、それぞれのデータ送信時間間隔情報に示されたそれぞれのデータ送信時間間隔に基づきデータ送信装置ごとに前記データ送信装置受信間隔制限時間を設定するとともに、複数のデータ送信時間間隔情報の中から特定のデータ送信時間間隔情報を選択し、選択したデータ送信時間間隔情報に示されたデータ送信時間間隔に基づき前記ネットワーク受信間隔制限時間を設定し、前記ネットワーク受信間隔監視部は、前記受信データ判別部により設定された前記ネットワーク受信間隔制限時間を適用して前記データ受信部におけるデータ受信間隔を監視し、
前記データ送信装置受信間隔監視部は、前記受信データ判別部により設定されたデータ送信装置ごとのデータ送信装置受信間隔制限時間を適用してデータ送信装置ごとにデータ受信間隔を監視することを特徴とする。
【００１９】
前記データ受信部は、前記複数のデータ送信装置のそれぞれより、それぞれのデータ送信装置のデータ送信時間間隔が示されたデータ送信時間間隔情報を受信し、
前記受信データ判別部は、それぞれのデータ送信時間間隔情報に示されたそれぞれのデータ送信時間間隔に基づきデータ送信装置ごとに前記対処処理後データ送信装置受信間隔制限時間を設定するとともに、複数のデータ送信時間間隔情報の中から特定のデータ送信時間間隔情報を選択し、選択したデータ送信時間間隔情報に示されたデータ送信時間間隔に基づき前記対処処理後ネットワーク受信間隔制限時間を設定し、
前記ネットワーク受信間隔監視部は、前記受信データ判別部により設定された前記対処処理後ネットワーク受信間隔制限時間を適用して前記データ受信部においてデータ受信があるか否かを監視し、
前記データ送信装置受信間隔監視部は、前記受信データ判別部により設定されたデータ送信装置ごとの対処処理後データ送信装置受信間隔制限時間を適用してデータ送信装置ごとにデータ受信があるか否かを監視することを特徴とする。
【００２０】
前記データ受信装置は、更に、
ハートビートデータを生成し、生成したハートビートデータをデータ送信装置ごとにそれぞれのデータ送信装置からのデータ受信の合間に送信するハートビートデータ生成送信部を有することを特徴とする。
【００２１】
前記データ受信部は、いずれかのデータ送信装置より送信されたハートビートデータを前記ネットワークから受信し、
前記受信データ判別部は、前記データ受信部により受信された前記ハートビートデータについて送信元のデータ送信装置を判別し、
前記ネットワーク受信間隔監視部は、前記ネットワーク受信間隔制御時間が経過する前に前記データ受信部において前記ハートビートデータが受信された場合は、前記ネットワークにおいて受信タイムアウトが発生したと判断せず、
前記データ送信装置受信間隔監視部は、対応するデータ送信装置受信間隔制限時間が経過する前に前記データ受信部において前記ハートビートデータが受信された場合は、前記ハートビートデータの送信元であるデータ送信装置において受信タイムアウトが発生したと判断しないことを特徴とする。
【００２２】
本発明に係るデータ送信装置は、
データを受信する複数のデータ受信装置とネットワークを通じて接続され、前記複数のデータ受信装置のそれぞれに対してデータを送信するデータ送信装置であって、
前記複数のデータ受信装置のそれぞれに対してデータ受信装置ごとに所定の制限時間以内のデータ送信間隔でデータを送信するデータ送信部と、
前記データ送信部におけるデータ送信がデータ受信装置ごとに所定の制限時間以内のデータ送信間隔で行われているか否かを監視するとともに、特定のデータ受信装置に対するデータ送信間隔が所定の制限時間を超えた場合にハートビートデータの送信を指示する送信間隔監視部と、
前記送信間隔監視部からの指示に基づき、前記ハートビートデータを生成し、生成した前記ハートビートデータを前記特定のデータ受信装置に対して送信するハートビートデータ生成送信部とを有することを特徴とする。
【００２３】
本発明に係るデータ受信方法は、
データを送信する複数のデータ送信装置とネットワークを通じて接続され、前記複数のデータ送信装置のそれぞれより送信されたデータを前記ネットワークから受信するデータ受信方法であって、
前記ネットワークからデータを受信するデータ受信ステップと、
前記データ受信ステップにより受信された受信データについて送信元のデータ送信装置を判別する受信データ判別ステップと、
データ受信間隔に関する制限時間として所定のネットワーク受信間隔制限時間を適用し、前記データ受信ステップにおけるデータ受信間隔が前記ネットワーク受信間隔制限時間以内であるか否かを監視するとともに、前記データ受信ステップにおけるデータ受信間隔が前記ネットワーク受信間隔制限時間を超えた場合に前記ネットワークにおいて受信タイムアウトが発生したと判断するネットワーク受信間隔監視ステップと、
データ受信間隔に関する制限時間としてデータ送信装置ごとに所定のデータ送信装置受信間隔制限時間を適用し、前記受信データ判別ステップによる判別結果に基づき、データ送信装置ごとにデータ受信間隔がそれぞれのデータ送信装置受信間隔制限時間以内であるか否かを監視するとともに、いずれかのデータ送信装置についてデータ受信間隔が対応するデータ送信装置受信間隔制限時間を超えた場合に該当するデータ送信装置において受信タイムアウトが発生したと判断するデータ送信装置受信間隔監視ステップと、
前記データ送信装置受信間隔監視ステップにより特定のデータ送信装置において受信タイムアウトが発生したと判断された場合に、前記ネットワーク受信間隔監視ステップでの受信タイムアウトの発生状況を確認し、前記ネットワーク受信間隔監視ステップにより前記ネットワークにおいて受信タイムアウトが発生したと判断された場合に前記ネットワークに障害が発生していると判断し、前記ネットワーク受信間隔監視ステップにより前記ネットワークにおいて受信タイムアウトが発生したと判断されていない場合に前記特定のデータ送信装置に障害が発生していると判断する障害判別ステップとを有することを特徴とする。
【００２４】
本発明に係るデータ送信方法は、
データを受信する複数のデータ受信装置とネットワークを通じて接続され、前記複数のデータ受信装置のそれぞれに対してデータを送信するデータ送信方法であって、
前記複数のデータ受信装置のそれぞれに対してデータ受信装置ごとに所定の制限時間以内のデータ送信間隔でデータを送信するデータ送信ステップと、
前記データ送信ステップにおけるデータ送信がデータ受信装置ごとに所定の制限時間以内のデータ送信間隔で行われているか否かを監視するとともに、特定のデータ受信装置に対するデータ送信間隔が所定の制限時間を超えた場合にハートビートデータの送信を指示する送信間隔監視ステップと、
前記送信間隔監視ステップからの指示に基づき、前記ハートビートデータを生成し、生成した前記ハートビートデータを前記特定のデータ受信装置に対して送信するハートビートデータ生成送信ステップとを有することを特徴とする。
【００２５】
【発明の実施の形態】
実施の形態１．
以下、この発明の実施の形態１を図にしたがって説明する。
図１はこの発明の実施の形態１による計算機クラスタの構成図である。
ここでは、入出力装置などから入力データを得る計算機と、演算を行う計算機が異なり、計算機間で送受されるデータが一方向でかつ連続的もしくは周期的に送信されるようなシステムを想定している。
図中の１０１、１０２〜１０ｎは、主として演算を行う受信側計算機である。１１１、１１２〜１１ｎは、主としてデータを生成する送信側計算機である。全ての計算機はネットワークスイッチ１２１により接続され、計算機間のデータ送受を可能とする。
なお、受信側計算機は、データ受信装置に相当し、送信側計算機はデータ送信装置に相当する。
【００２６】
この発明の実施の形態１による計算機クラスタの異常処理を実現する受信側計算機の内部構成を図２に示す。図２では、例として受信側計算機１０１の内部構成を示しているが、他の受信側計算機も同様の構成となっている。
図２において、２０１、２０２はネットワークスイッチからデータを送受するネットワークコントローラである。計算機クラスタの構成によって、一つの計算機が複数のネットワークコントローラを持つ場合もある。
２１１は、ネットワークコントローラを制御し、データ受信に必要な通信プロトコル処理を行う、受信処理部である。また、受信処理部２１１は、それぞれの受信データがいずれの送信側計算機より送信されたのかを判断する。
２２１はネットワークコントローラが受信したパケット内のデータを一時的に保持するネットワーク受信バッファである。
２３１は、通信を行うアプリケーションに対して、通信コネクションごとにソフトウェアインタフェースを提供するソケットである。
２４１はそれぞれの通信コネクションの受信データを保持するソケット毎受信キューである。
２５１は、ネットワーク受信タイマであり、ネットワークコントローラごとに用意するタイマであり、ネットワークコントローラに到着する受信データの時間間隔を監視する。
２６１は、ソケット毎受信タイマであり、ソケットごとに用意するタイマで、各ソケットに到着する受信データの時間間隔を監視する。
２７１は、受信タイマのタイムアウト発生時に呼び出す障害判別処理部であり、ネットワークにおける障害、特定の送信側計算機における障害の有無を判断する。
２７２は、障害判別処理部２７１によりネットワークで障害が発生していると判断された場合にネットワークに対して障害対処処理を行うネットワーク障害対処処理部である。
２７３は、障害判別処理部２７１により特定の送信側計算機で障害が発生していると判断された場合にその送信側計算機に対して障害対処処理を行う計算機障害対処処理部である。
なお、ネットワークコントローラ２０１、２０２はデータ受信部に、受信処理部２１１は受信データ判別部に、ネットワーク受信タイマ２５１はネットワーク受信間隔監視部に、ソケット毎受信タイマ２６１はデータ送信装置受信間隔監視部に、障害判別処理部２７１は障害判別部に、計算機障害対処処理部２７３はデータ送信装置障害対処処理部に相当する。
【００２７】
次に、受信処理部２１１の動作を図３のフローチャートにしたがって説明する。
まずＳ１０１で、ネットワークコントローラからのパケット受信割込みにより受信処理部が起動される。
次にＳ１０２で、ネットワーク受信タイマ２５１をリセットし、所定のタイムアウト時間を再設定する。このタイムアウト時間は、ネットワーク受信間隔制限時間に相当する。
次にＳ１０３で、受信パケットのヘッダ情報により、通信コネクションを判別し（送信元の送信側計算機を判別し）、対応する受信ソケット２３１を探す。対応する受信ソケットがない場合は、Ｓ１０７でこの受信パケットは廃棄される。対応する受信ソケットがある場合は、Ｓ１０４で受信パケットをネットワーク受信バッファ２２１より取り出し、受信先となっているソケットのソケット毎受信キュー２４１に登録する。
次にＳ１０５で受信ソケットに対応するソケット毎受信タイマ２６１をリセットし、所定のタイムアウト時間を再設定する。このタイムアウト時間は、データ送信装置受信間隔制限時間に相当する。ソケット毎受信タイマ２６１のタイムアウト時間は、すべてのソケット毎受信タイマ２６１で共通の時間を適用してもよいし、また、ソケット毎受信タイマごとに個別の時間を適用してもよい。
その後Ｓ１０６で必要な受信プロトコル処理を行い、受信処理を完了する。
【００２８】
そして、設定したタイムアウト時間（ネットワーク受信間隔制限時間）が経過してもネットワークより受信パケットが到着しない場合は、ネットワーク受信タイマ２５１はネットワークにおいて受信タイムアウトが発生したと判断し、また、設定したタイムアウト時間（データ送信装置受信間隔制限時間）が経過しても特定の通信コネクションより受信パケットが到着しない場合は、ソケット毎受信タイマ２６１は特定の通信コネクションにおいて受信タイムアウトが発生したと判断する。
ネットワーク受信タイマ２５１又はいずれかのソケット毎受信タイマ２６１において受信タイムアウトが発生すると障害判別処理部２７１が呼び出される。
【００２９】
ここで、障害判別処理部２７１の動作を図４のフローチャートにしたがって説明する。
ソケット毎受信タイマ２６１のタイムアウトにより障害判別処理部２７１が呼び出された場合はＳ２０１から処理を始める。
Ｓ２０２でネットワーク受信タイマ２５１がタイムアウトしているかを確認する。ネットワーク受信タイマがタイムアウトしていない場合は送信側計算機の障害と判断し、Ｓ２０３を行う。
Ｓ２０３でタイムアウトしたソケット毎受信タイマに対応するソケットの通信コネクション情報より、通信相手となる送信側計算機を見つける。
そして、Ｓ２０４で計算機障害対処処理部２７３を呼び出し、所定の障害対処処理を実行させる。計算機障害対処処理部２７３の動作の例は図６に示し、後で説明する。
Ｓ２０２でネットワーク受信タイマ２５１がタイムアウトしている場合は、ネットワーク障害と判断し、Ｓ２０６を行う。
Ｓ２０６ではネットワーク障害対処処理部２７２を呼び出し、所定の障害対処処理を実行させる。ネットワーク障害対処処理部２７２の動作の例は図５に示し、後で説明する。
また、ネットワーク受信タイマのタイムアウトにより障害判別処理部が呼び出された場合はＳ２０５から開始し、ネットワーク障害と判断し、Ｓ２０６でネットワーク障害対処処理部２７２を呼び出す。
【００３０】
ネットワーク障害対処処理部２７２の動作の例を図５のフローチャートにしたがって説明する。
ネットワークの障害と判断した場合は、対応するネットワークコントローラを使った通信ができないことになるため、Ｓ３０１で使用するネットワークコントローラを変更する。図２の例では、例えば２０１のネットワークコントローラと２０２のネットワークコントローラを異なるネットワークスイッチに接続しておき、ネットワークコントローラを切り替えることによりネットワークを切り替える。
次にＳ３０２で変更したネットワークコントローラを使い、自計算機と通信する全送信側計算機に通信コネクションの再接続要求を発行する。これにより、以降２０２のネットワークコントローラを使って通信が再開される。
【００３１】
計算機障害対処処理部２７３の動作の例を図６のフローチャートにしたがって説明する。
通信相手である計算機の障害と判断した場合は、Ｓ４０１で送信側計算機の再起動要求を発行する。送信側計算機が再起動した後、Ｓ４０２で再起動した計算機に対して、通信コネクションの再接続要求を発行する。
Ｓ４０３で通信コネクションが再接続された場合は、障害対処処理は完了である。
Ｓ４０３で通信コネクションが接続できなかった場合は、恒久的な計算機障害と判断し、Ｓ４０４で別の計算機を送信側計算機とするために、送信側計算機変更要求を発行する。
そしてＳ４０５で選択された新しい計算機に対して通信コネクションの接続要求を発行する。
Ｓ４０６で通信コネクションが接続された場合は、障害対処処理は完了である。
Ｓ４０６で送信側計算機を変更したにも関わらず通信コネクションが接続できなかった場合は、ネットワーク自体に障害があると判断し、Ｓ４０７でネットワーク障害対処処理部２７２を呼び出す。
【００３２】
この実施の形態１によれば、ネットワーク受信タイマとソケット毎受信タイマの二つのタイマによるネットワークからの受信データの到着監視により、障害の発生を短時間で検出し、障害原因を切り分けることができる。
さらに、システム構成要素の種々の障害に対して、適切な障害対処処理を呼び出すことができる。
【００３３】
実施の形態２．
以下は、この発明の実施の形態２を図にしたがって説明する。
実施の形態２では、実施の形態１の受信側計算機を図７に示す構成に変える。実施の形態２では新たにネットワーク受信タイマのタイムアウト時間として第１段タイムアウト時間３０１および第２段タイムアウト時間３０２の二つのタイムアウト時間を持つ。同様に、ソケット毎受信タイマのタイムアウト時間も第１段タイムアウト時間３１１および第２段タイムアウト時間３１２の二つのタイムアウト時間を持つ。
この二つのタイムアウト時間によるネットワークからの受信データの監視を使い、適切な障害対処を行うために、受信処理部２１１、障害判別処理部３７１、ネットワーク障害対処処理部３７２、計算機障害対処処理部３７３を実施の形態１より変更する。その方法は、第１段のタイムアウト発生時には、本当に障害かどうかを確認する動作を行う障害対処処理を行い、第１段の確認対処を行ったにも関わらず第２段タイムアウトが発生した場合には、本当に障害が発生しているものと判断し、切替えなどの動作を行う障害対処処理を実行する。
なお、ネットワーク受信タイマ２５１における第１段タイムアウト時間３０１はネットワーク受信間隔制限時間に相当し、第２段タイムアウト時間３０２は対処処理後ネットワーク受信間隔制限時間に相当する。また、ソケット毎受信タイマ２６１における第１段タイムアウト時間３１１はデータ送信装置受信間隔制限時間に相当し、第２段タイムアウト時間３１２は対処処理後データ送信装置受信間隔制限時間に相当する。
また、第１段タイムアウトが発生した際にネットワーク障害対処処理部３７２で行う障害対処処理は第一次ネットワーク障害対処処理に相当し、第２段タイムアウトが発生した際に行う障害対処処理は第二次ネットワーク障害対処処理に相当する。
また、第１段タイムアウトが発生した際に計算機障害対処処理部３７３で行う障害対処処理は第一次データ送信装置障害対処処理に相当し、第２段タイムアウトが発生した際に行う障害対処処理は第二次データ送信装置障害対処処理に相当する。
【００３４】
実施の形態２における障害判別処理部３７１の動作を図８のフローチャートにしたがって説明する。
ソケット毎受信タイマのタイムアウトにより障害判別処理部３７１が呼び出された場合はＳ５０１から処理を始める。
次に、Ｓ５０３でネットワーク受信タイマ２５１がタイムアウトしているかを確認する。ネットワーク受信タイマがタイムアウトしていない場合は送信側計算機の障害と判断し、Ｓ５０４を行う。
Ｓ５０４でタイムアウトしたソケット毎受信タイマ２６１に対応するソケットの通信コネクション情報より、通信相手となる送信側計算機を見つける。
次に、Ｓ５０５で計算機障害対処処理部３７３に第１段タイムアウト発生時の障害対処処理を行わせる。
次に、Ｓ５０８でソケット毎受信タイマのタイムアウト時間に第２段タイムアウト時間３０２の値を設定する。これにより第２段タイムアウトの発生を待つ。第２段タイムアウトが発生する前にネットワークから受信パケットが到着した場合は、受信処理部２１１により受信タイマがリセットされ、障害判別処理部３７１は初期状態に戻る。
Ｓ５０３でネットワーク受信タイマがタイムアウトしている場合はネットワーク障害と判断し、Ｓ５０６を行う。
Ｓ５０６ではネットワーク障害対処処理部３７２に第１段タイムアウト発生時の障害対処処理を行わせる。
次にＳ５０７でネットワーク受信タイマに第２段タイムアウト時間３１２の値を設定する。そしてＳ５０８を行い、同様に第２段タイムアウトの発生を待つ。
【００３５】
ソケット毎受信タイマの第２段タイムアウトにより、再び障害判別処理部３７１が呼び出された場合はＳ５０９に入り、Ｓ５１１でネットワーク受信タイマが第２段タイムアウト時間がタイムアウトしているかを確認する。
ネットワーク受信タイマが第２段タイムアウトしていない場合は、Ｓ５１２で計算機障害対処処理部３７３に第２段タイムアウト発生時の障害対処処理を行わせる。
Ｓ５１１でネットワーク受信タイマが第２段タイムアウトしている場合はＳ５１３でネットワーク障害対処処理部３７２に第２段タイムアウト発生時の障害対処処理を行わせる。
【００３６】
障害判別処理部３７１がソケット毎受信タイマ２６１でなく、ネットワーク受信タイマ２５１のタイムアウトにより呼び出された場合は、第１段タイムアウトの場合はＳ５０２より、第２段タイムアウトの場合はＳ５１０より、同様にネットワーク障害対処処理を実行する。
【００３７】
実施の形態２におけるネットワーク障害対処処理部３７２の動作の例を図９のフローチャートにしたがって説明する。
第１段タイムアウトによりネットワーク障害対処処理部３７２が呼び出された場合は、Ｓ６０１で全計算機にチェックパケットを送信する。
チェックパケットを受信した計算機は確認パケットを返信する。ネットワークが正常であれば自計算機にパケットが到着し、受信処理部２１１によりネットワーク受信タイマのタイムアウトが解除される。これにより、ネットワークの障害の確認ができる。
第２段タイムアウトによりネットワーク障害対処処理部２７２が呼び出された場合は、実施の形態１の図５に示したネットワーク障害対処処理部３７２と同じ処理を実行する。
【００３８】
実施の形態２における計算機障害対処処理部３７３の動作の例を図１０のフローチャートにしたがって説明する。
第１段タイムアウトにより計算機障害対処処理部３７３が呼び出された場合は、Ｓ７０１で対応する通信コネクションの送信側計算機にチェックパケットを送信する。チェックパケットを受信した送信側計算機は正常に動作していれば確認パケットを返信する。このパケットを受信した場合は、受信処理部２１１により、ネットワーク受信タイマおよびソケット毎受信タイマはリセットされ、タイムアウトが解除される。これにより送信側計算機の障害の確認ができる。
第２段タイムアウトにより、計算機障害対処処理部３７３が呼び出された場合は、実施の形態１の図６に示した計算機障害対処処理部２７３と同じ処理を実行する。
【００３９】
この実施の形態２によれば、ネットワーク受信タイマ、ソケット毎受信タイマに２段階のタイムアウト時間を設定し、各タイムアウトの発生により、異なる異常対処処理を実行するようにしたので、確実な障害の検出と、それに合わせた柔軟な障害対処処理を行うことができる。
【００４０】
実施の形態３．
以下は、この発明の実施の形態３を図に従って説明する。実施の形態３では、実施の形態２に加えて、図１１に示すように受信処理部４１１内に、受信間隔検出処理４２１を持つ。受信間隔検出処理４２１は、計算機クラスタの稼動開始時のネットワークからの受信パケットの到着間隔を記録することにより、正常時における受信パケット周期を自動的に算出し、各タイマの適切な受信タイムアウト時間を設定する処理である。
【００４１】
この発明の実施の形態３の受信間隔検出処理４２１を含んだ受信処理部４１１の動作を図１２のフローチャートにしたがって説明する。
受信間隔検出処理４２１は、システムの稼動状態が受信間隔学習モードに設定されている間動作する。
まず、Ｓ８０１で稼動状態を判別する。状態が受信間隔学習モードである場合は、Ｓ８０２でネットワークからの受信パケットの到着を待つ。
ネットワークコントローラからパケット受信割込みを受信すると、Ｓ８０３で前回のパケット受信からの時間間隔を記録する。
次にＳ８０４で受信パケットに対応する受信ソケットがあるか確認し、受信ソケットがある場合はＳ８０５で受信パケットをネットワーク受信バッファから取り出し、受信先となっているソケットのソケット毎受信キューに登録する。
次にＳ８０６で受信ソケットごとに、前回の受信からの時間間隔を記録し、Ｓ８０７で所定の受信プロトコル処理を実行する。
Ｓ８０４で受信パケットに対応する受信ソケットがない場合は、Ｓ８１３で受信パケットを廃棄する。
実施の形態３ではＳ８０７の受信プロトコル処理完了後、Ｓ８０８で受信間隔学習モードを完了するか判断する。この判断は計算機クラスタシステムの稼動開始からの所定時間経過したことなどを条件にして決定する方法などが考えられる。受信間隔学習モードを完了しない場合は、この時の受信処理は完了する。Ｓ８０８で受信間隔学習モードを完了する場合は、Ｓ８０９で、Ｓ８０３で記録したデータ受信時間間隔によりネットワーク受信タイマのタイムアウト時間を計算し、第１段タイムアウト時間３０１、第２段タイムアウト時間３０２に設定する。次にＳ８１０で、Ｓ８０６で記録したデータ受信時間間隔により各ソケットのソケット毎受信タイマのタイムアウト時間を計算し、第１段タイムアウト時間３１１、第２段タイムアウト時間３１２に設定する。
次にＳ８１２で状態を通常受信モードに設定する。
Ｓ８０１で状態が通常受信モードの場合、Ｓ８１４で実施の形態１の図３で示した通常の受信処理を行い、受信タイマのタイムアウトによる異常検出を行う。
【００４２】
図１２のＳ８０９やＳ８１０で、データの受信間隔の変動が激しい場合は、通信の周期性がないと判断し、各受信タイマのタイムアウト時間を無限大、もしくは最大値に設定することにより、本発明の異常処理を動作させないことができる。
【００４３】
この発明の実施の形態３では、受信間隔検出処理により正常稼動時のデータ受信の時間間隔を検出し、それにより各受信タイマのタイムアウト時間を設定するようにしたので、自動的に適切なタイムアウト時間を設定させることができる。また、本発明の異常処理の動作が適さない場合は、自動的に停止させることができる。これにより、設定などの管理作業が軽減される。
【００４４】
実施の形態４．
以下は、この発明の実施の形態４を図に従って説明する。実施の形態４では、実施の形態３に加えて、図１３に示す受信処理部４１１内に、タイムアウト時間ネゴシエーション処理４３１を持つ。タイムアウト時間ネゴシエーション処理４３１は、送信側計算機との通信コネクション設立時に、通信データの送信時間間隔情報を得ることにより、各タイマの適切な受信タイムアウト時間を設定する処理である。
【００４５】
この発明の実施の形態４におけるタイムアウト時間ネゴシエーション処理４３１を含んだ通信コネクション設立処理の動作を図１４のフローチャートにしたがって説明する。
通信コネクション設立処理は、受信処理部４１１における受信プロトコル処理の一つである。
まず、Ｓ９０１で設立しようとする通信コネクションのデータ送信時間間隔情報を、ネットワークコントローラを経由して送信側計算機より受信する。
次に、Ｓ９０２でデータ送信時間間隔情報より対応するソケットのソケット毎受信タイマのタイムアウト時間を計算し、第１段タイムアウト時間３１１、第２段タイムアウト時間３１２に設定する。
次に、Ｓ９０３でソケット毎受信タイマのタイムアウト時間の中でもっとも時間が短いものからネットワーク受信タイマのタイムアウト時間を計算し、第１段タイムアウト時間３０１、第２段タイムアウト時間３０２に設定する。その後、Ｓ９０４で従来のコネクション設立処理を実行する。
【００４６】
この発明の実施の形態４では、タイムアウト時間ネゴシエーション処理により、通信コネクション設立時にデータ送信時間間隔情報を得て、それにより各受信タイマのタイムアウト時間を設定するようにしたので、自動的に適切なタイムアウト時間を設定させることができる。
【００４７】
実施の形態５．
以下は、この発明の実施の形態５を図に従って説明する。実施の形態５では、実施の形態２に加えて、図１５に示すように受信側ハートビート処理部（ハートビートデータ生成送信部）５０１を持つ。受信側ハートビート処理部５０１は、送信側計算機からの送信データがない間に、受信側計算機から送信側計算機にハートビートパケットの送信を行うことにより、送信側計算機が受信側計算機の異常を検出できるようにするものである。送信側計算機も、実施の形態１〜４に示した異常処理方式を持つことにより、受信側と同じ動作を行い、異常検出、異常対処を行うことができる。
ここで、本実施の形態におけるハートビートパケット（ハートビートデータ）とは、送信側計算機から受信側計算機へのデータ送信が所定期間ない場合に、受信側計算機から送信側計算機に向けて送信する空パケットであり、受信側計算機から周期的に送信することにより、受信側計算機が正常に稼動していること及びネットワークが正常に稼動していることを送信側計算機に認識させることができる。
【００４８】
受信側ハートビート処理部５０１の動作を図１６のフローチャートにしたがって説明する。
受信側ハートビート処理部はソケット毎受信タイマの第１段タイムアウトの発生によりＳ１００１に入る。
次にＳ１００２で、ハートビートパケットを生成するとともに、対応する通信コネクションの送信側計算機へハートビートパケットを送信する。これをＳ１００３でソケット毎受信タイマがデータ受信によりリセットするまで繰り返す。第１段タイムアウト時間３１１の値は、実施の形態２の場合よりも短い値にすることにより、送信側計算機が正常稼動中にも第１段タイムアウトが発生し、データの送信周期の合間に受信側ハートビート処理部５０１が動作する。
【００４９】
この発明の実施の形態５によれば、実施の形態１〜４に示した計算機クラスタの異常処理方式を送信側計算機でも使用して、送信側計算機からデータが送信されないネットワークの空いた時間に、受信側計算機が送信側計算機にハートビートを行うようにしたので、受信側計算機に発生した異常を送信側計算機で検出することができる。この際に実施の形態１〜４に示した異常処理方式の動作を利用することにより、本来のデータ通信を妨げることなく、異常検出のための動作を行うことができる。
【００５０】
実施の形態６．
以下は、この発明の実施の形態６を図に従って説明する。
実施の形態６では、実施の形態２に加えて、送信側計算機１１１が図１７に示すような構成を持つ。
なお、図１７では例として送信側計算機１１１の内部構成を示しているが、他の送信側計算機も同様の構成となっている。
６０１はネットワークからデータを送信する送信処理部である。
６１１は送信データを一時的に保持するネットワーク送信バッファである。
６２１は、受信側と同様に送信を行うアプリケーションに対して、通信コネクションごとにソフトウェアインタフェースを提供するソケットである。
６３１は通信コネクションごとの送信データをおくソケット毎送信キューである。
６４１はソケット毎送信タイマである。ソケット毎送信タイマ６４１はソケットごとに用意するタイマで、各ソケットから送信する時間間隔を監視し、特定の受信側計算機へのデータ送信間隔が、所定の制限時間を超える場合にハートビートパケットの送信を指示する。
６５１は所定の場合にハートビートパケットを生成し、送信する送信側ハートビート処理部である。
ここで、ネットワークコントローラ２０１、２０２は、データ送信部に相当し、ソケット毎送信タイマ６４１は送信間隔監視部に相当し、送信側ハートビート処理部６５１はハートビートデータ生成送信部に相当する。
実施の形態６の目的は、送信側計算機に一時的に送信データがない状態が生じた場合、その状態を検出して、ハートビートパケットを送信することにより、受信側計算機が誤った異常処理動作を行わないようにすることである。
【００５１】
送信側ハートビート処理部６５１の動作を図１８のフローチャートにしたがって説明する。送信側ハートビート処理部６５１は、通信コネクションに一定時間送信データがなくなった場合に動作させる。
ハートビートパケットの送信は、特定の受信側計算機へのデータ送信間隔が所定の制限時間を経過しソケット毎送信タイマ６４１でタイムアウトが発生した場合に、ソケット毎送信タイマ６４１が送信側ハートビート処理部６５１を呼び出し、ハートビートパケットの送信を指示することにより実現する。
具体的には、ソケット毎送信タイマ６４１でタイムアウトが発生すると、ソケット毎送信タイマ６４１からハートビート送信指示が送られ、送信側ハートビート処理部６５１は、ハートビート送信指示を取得することで、ソケット毎送信タイマ６４１でのタイムアウトの発生を検出する（Ｓ１１０１）。次にＳ１１０２で、ハートビートパケットを生成するとともに、対応する通信コネクションの受信側計算機へハートビートパケットを送信する。
これをＳ１１０３で対応するソケットに送信データがない間、繰り返す。ソケット毎送信タイマのタイムアウト時間の値は、受信側計算機のソケット毎受信タイマのタイムアウト時間よりも短い値にすることにより、受信側計算機が異常処理動作を行うことがなくなる。
すなわち、受信側計算機１０１〜１０ｎでは、一定間隔でハートビートパケットを受信している限りは、ネットワーク受信タイマ及びソケット毎受信タイマは受信タイムアウトと判断しないため、受信側計算機が異常処理動作を行わない。
【００５２】
この発明の実施の形態６によれば、送信側計算機に一時的に送信データがない状態が生じた場合でも、その状態を自動的に検出して、送信側ハートビート処理部がハートビートパケットを送信するので、受信側計算機が誤って異常処理動作を行う事態を回避することができる。
【００５３】
なお、以上の実施の形態１〜６では、本発明に係るデータ受信装置及びデータ送信装置について説明したが、実施の形態１〜６に示した処理手順と同様の処理手順で本発明に係るデータ受信方法、及びデータ送信方法も実現することができる。
【００５４】
ここで、実施の形態１〜６に示した計算機クラスタの異常クラスタの異常処理方式の特徴を以下にて再言する。
【００５５】
実施の形態１に記載の計算機クラスタの異常処理方式は、ネットワークで接続された複数の計算機によりデータ処理を行う計算機クラスタシステムにおいて、以下のような特徴を持つ
（ａ）ネットワークから計算機に到着する全受信パケットに対する到着時間間隔を測定するネットワーク受信タイマを持つ。
（ｂ）計算機に到着する受信パケットを通信コネクションごとに分けた後、各コネクションごとの受信データの到着時間間隔を測定するソケット毎受信タイマを持つ。
（ｃ）ネットワーク受信タイマとソケット毎受信タイマの２箇所で、所定時間受信データが到着しないことを監視することにより、計算機クラスタに生じた障害をネットワークの障害と計算機の障害に切り分けて検出する。
【００５６】
実施の形態１に記載の計算機クラスタの異常処理方式は、更に、以下のような特徴を持つ
（ａ）計算機クラスタのネットワークに障害が発生した場合に起動するネットワーク障害対処処理を持つ。
（ｂ）計算機クラスタのデータ送信側計算機に障害が発生した場合に起動する計算機障害対処処理を持つ。
（ｃ）ネットワーク受信タイマとソケット毎受信タイマの監視情報の差により、計算機クラスタの障害箇所を判断し対応する障害対処処理を呼び出す、障害判別処理を持つ。
【００５７】
実施の形態２に記載の計算機クラスタの異常処理方式は、以下のような特徴を持つ
（ａ）ネットワーク受信タイマが２段階のタイムアウト時間を持つ。
（ｂ）同様にソケット毎受信タイマが２段階のタイムアウト時間を持つ。
（ｃ）ネットワーク受信タイマまたはソケット毎受信タイマの第１段タイムアウトが発生した場合、第２段のタイムアウト時間を設定する。
（ｄ）各段階のタイムアウトにより、障害判別処理の動作を変え、異なる障害対処動作を行う。
【００５８】
実施の形態３に記載の計算機クラスタの異常処理方式は、以下のような特徴を持つ
（ａ）計算機クラスタの稼動中に、ネットワークからの受信データの到着時間間隔を学習する、受信間隔学習モードを持つ。
（ｂ）データ受信処理内に、受信間隔学習モード時に動作する受信時間間隔検出処理を持ち、ネットワーク受信タイマおよびソケット毎受信タイマのタイムアウト時間を自動的に設定する。
【００５９】
実施の形態３に記載の計算機クラスタの異常処理方式は、以下のような特徴を持つ
（ａ）受信時間間隔検出処理において、ソケットごとの受信時間間隔の変動が大きいことを検出した場合は、計算機異常対処処理を呼び出さないようにする。
【００６０】
実施の形態４に記載の計算機クラスタの異常処理方式は、以下のような特徴を持つ
（ａ）計算機間の通信コネクション設立時に、データ送信側計算機とデータ受信側計算機で、データ送信周期情報を交換するネゴシエーションフェーズを持つ。
（ｂ）データ受信処理内に、タイムアウト時間ネゴシエーション処理を持ち、通信コネクション設立時のデータ送信周期情報より、ネットワーク受信タイマおよびソケット毎受信タイマのタイムアウト時間を自動的に設定する。
【００６１】
実施の形態５に記載の計算機クラスタの異常処理方式は、以下のような特徴を持つ
（ａ）受信側計算機において、所定周期でパケットを送信する受信側ハートビート処理を持つ。
（ｂ）ソケット毎受信タイマの第１段タイムアウト時間を送信側計算機のデータ送信周期よりも短く設定し、ソケット毎受信タイマのタイムアウト発生時から、次の受信データ到着までの間に、対応する通信コネクションの送信側計算機に、受信側ハートビート処理がハートビートを行う。
（ｃ）受信側計算機のハートビートで送信側計算機が受信側計算機やネットワークの障害を検出する。
【００６２】
実施の形態６に記載の計算機クラスタの異常処理方式は、以下のような特徴を持つ
（ａ）データ送信側計算機において、各コネクションごとの送信データの到着時間間隔を測定するソケット毎送信タイマを持つ。
（ｂ）データ送信側計算機において、所定周期でパケットを送信する送信側ハートビート処理を持つ。
（ｃ）ソケット毎送信タイマのタイムアウト発生時に、データ送信側計算機がハートビート処理を行うことにより、送信データがない状態を検出し、データ受信側計算機に異常処理動作を行わせないようにする。
【００６３】
【発明の効果】
本発明によるデータ受信装置は、ネットワーク受信間隔監視部とデータ送信装置受信間隔監視部の二つによる監視結果により、障害の発生を短時間で検出し、障害原因を切り分けることをができる。
さらに、システム構成要素の種々の障害に対して、適切な障害対処処理を行うことができる。
【００６４】
また、本発明によるデータ受信装置は、ネットワーク受信間隔監視部とデータ送信装置受信間隔監視部の各々について二段階の受信間隔制限時間を設定し、各段階の受信間隔制限時間の受信タイムアウトの発生により、異なる障害対処処理を実行するようにしたので、確実な障害の検出と、それに合わせた柔軟な障害対処処理を行うことができる。
【００６５】
また、本発明によるデータ受信装置は、データ受信間隔を測定し、測定結果に基づき、ネットワーク受信間隔制限時間、対処処理後ネットワーク受信間隔制限時間、データ送信装置受信間隔制限時間及び対処処理後データ送信装置受信間隔制限時間を設定するようにしたので、それぞれの受信間隔制限時間について適切な時間を設定することができる。
【００６６】
また、本発明によるデータ受信装置は、各データ送信装置よりデータ送信時間間隔情報を受信し、受信したデータ送信時間間隔情報に基づき、ネットワーク受信間隔制限時間、対処処理後ネットワーク受信間隔制限時間、データ送信装置受信間隔制限時間及び対処処理後データ送信装置受信間隔制限時間を設定するようにしたので、それぞれの受信間隔制限時間について適切な時間を設定することができる。
【００６７】
また、本発明によるデータ受信装置は、データ受信の合間にデータ送信装置に対してハートビートデータを送信するようにしたので、データ送信装置は、本来のデータ通信を妨げられることなく、データ受信装置に発生した障害を検出することが可能となり、障害に対する処理を迅速に実施することが可能となる。
【００６８】
また、本発明によるデータ送信装置は、特定のデータ受信装置に対するデータ送信間隔が所定の制限時間を超えた場合に、ハートビートデータを特定のデータ受信装置に対して送信するため、データ受信装置が誤って障害対処処理を行う事態を回避することができる。
【００６９】
本発明によるデータ受信方法は、ネットワーク受信間隔監視ステップとデータ送信装置受信間隔監視ステップの二つによる監視結果により、障害の発生を短時間で検出し、障害原因を切り分けることをができる。
さらに、システム構成要素の種々の障害に対して、適切な障害対処処理を行うことができる。
【００７０】
また、本発明によるデータ送信方法は、特定のデータ受信装置に対するデータ送信間隔が所定の制限時間を超えた場合に、ハートビートデータを特定のデータ受信装置に対して送信するため、データ受信装置が誤って障害対処処理を行う事態を回避することができる。
【図面の簡単な説明】
【図１】  計算機クラスタの構成図。
【図２】  実施の形態１に係る受信側計算機の内部構成を示す図。
【図３】  受信処理の詳細を示すフローチャート図。
【図４】  障害判別処理の詳細を示すフローチャート図。
【図５】  ネットワーク障害対処処理の詳細を示すフローチャート図。
【図６】  計算機障害対処処理の詳細を示すフローチャート図。
【図７】  実施の形態２に係る受信側計算機の内部構成を示す図。
【図８】  障害判別処理の詳細を示すフローチャート図。
【図９】  第１段及び第２段タイムアウト用ネットワーク障害対処処理の詳細を示すフローチャート図。
【図１０】  第１段及び第２段タイムアウト用計算機障害対処処理の詳細を示すフローチャート図。
【図１１】  実施の形態３に係る受信側計算機の内部構成を示す図。
【図１２】  受信処理の詳細を示すフローチャート図。
【図１３】  実施の形態４に係る受信側計算機の内部構成を示す図。
【図１４】  コネクション設立処理の詳細を示すフローチャート図。
【図１５】  実施の形態５に係る受信側計算機の内部構成を示す図。
【図１６】  受信側ハートビート処理の詳細を示すフローチャート図。
【図１７】  実施の形態６に係る送信側計算機の内部構成を示す図。
【図１８】  送信側ハートビート処理の詳細を示すフローチャート図。
【図１９】  従来のサーバ障害監視方式の処理を示すフローチャート図。
【符号の説明】
１０１  受信側計算機、１０２  受信側計算機、１０３  受信側計算機、１０４  受信側計算機、１１１  送信側計算機、１１２  送信側計算機、１１３  送信側計算機、１１４  送信側計算機、１２１  ネットワークスイッチ、２０１  ネットワークコントローラ、２０２  ネットワークコントローラ、２１１  受信処理部、２２１  ネットワーク受信バッファ、２３１  ソケット、２４１  ソケット毎受信キュー、２５１  ネットワーク受信タイマ、２６１  ソケット毎受信タイマ、２７１  障害判別処理部、２７２  ネットワーク障害対処処理部、２７３  計算機障害対処処理部、３７１  障害判別処理部、３７２  ネットワーク障害対処処理部、３７３  計算機障害対処処理部、４１１  受信処理部、４２１  受信間隔検出処理、４３１  タイムアウト時間ネゴシエーション処理、５０１  受信側ハートビート処理部、６０１  送信処理部、６１１  ネットワーク送信バッファ、６２１  ソケット、６３１  ソケット毎送信キュー、６４１  ソケット毎送信タイマ、６５１  送信側ハートビート処理部。
【図１】
0004102060.tif 000002
【図２】
0004102060.tif 000003
【図３】
0004102060.tif 000004
【図４】
0004102060.tif 000005
【図５】
0004102060.tif 000006
【図６】
0004102060.tif 000007
【図７】
0004102060.tif 000008
【図８】
0004102060.tif 000009
【図９】
0004102060.tif 000010
【図１０】
0004102060.tif 000011
【図１１】
0004102060.tif 000012
【図１２】
0004102060.tif 000013
【図１３】
0004102060.tif 000014
【図１４】
0004102060.tif 000015
【図１５】
0004102060.tif 000016
【図１６】
0004102060.tif 000017
【図１７】
0004102060.tif 000018
【図１８】
0004102060.tif 000019
【図１９】
0004102060.tif 000020