(57)【要約】【課題】ネットワークのトラフィック量を増大させることなく、データ送信システムにおける障害状況が監視できるようにする。【解決手段】トランザクション送信管理部１１１は、ネットワークを介して接続している送信先へのデータの送信失敗により送信先の障害を検出する。また、障害監視部１１２は、トランザクション送信管理部１１１が障害を検出した送信先における障害の復旧を監視して送信先の復旧を検出する。また、障害監視部１１２は、トランザクション送信管理部１１１が検出した障害および障害監視部１１２が検出した結果をネットワークを介して接続する他のサーバへ通知する。また、障害監視部１１２は、トランザクション送信管理部１１１が検出した障害および障害監視部１１２が検出した結果を、自サーバの他のプロセスへ通知する。【選択図】  図１
2009238137.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続している送信先へのデータの送信失敗により前記送信先の障害を検出するトランザクション送信管理手段と、
前記障害を検出した前記送信先における障害の復旧を監視して前記送信先の復旧を検出する障害監視手段と、
前記トランザクション送信管理手段が検出した障害および前記障害監視手段が検出した結果を前記ネットワークを介して接続する他のサーバへ通知する障害情報管理手段と
を備えることを特徴とするデータ送信サーバ。
【請求項２】
請求項１記載のデータ送信サーバにおいて、
前記障害情報管理手段は、前記結果を自サーバの他のプロセスへ通知する
ことを特徴とするデータ送信サーバ。
【請求項３】
請求項１または２記載のデータ送信サーバにおいて、
前記トランザクション送信管理手段が検出した前記送信先の障害が記憶される障害情報テーブルを備える
ことを特徴とするデータ送信サーバ。
【請求項４】
請求項１〜３のいずれか１項に記載のデータ送信サーバにおいて、
前記他のサーバの情報が記憶された同士情報テーブルを備えることを特徴とするデータ送信サーバ。
【請求項５】
請求項４記載のデータ送信サーバにおいて、
前記同士情報テーブルは、前記他のプロセスの情報が記憶されていることを特徴とするデータ送信サーバ。
【請求項６】
ネットワークを介して接続している送信先へのデータの送信失敗により前記送信先の障害を検出し、
前記障害を検出した前記送信先における障害の復旧を監視して前記送信先の復旧を検出し、
検出した結果を前記ネットワークを介して接続する他のサーバへ通知する
ことを特徴とする障害復旧制御方法。  
【請求項７】
請求項６記載の障害復旧制御方法において、
検出した結果を自サーバの他のプロセスへ通知する
ことを特徴とする障害復旧制御方法。  
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコンピュータから構成されるデータ送信システムにおける障害を復旧するための障害復旧制御方法およびデータ送信サーバに関するものである。
【背景技術】
【０００２】
複数のコンピュータから構成されるデータ送信システムにおいて、重要な課題の１つに障害状況の監視があり、分散システムに対して障害状況を監視する技術がある(特許文献１参照）。この関連する技術では、障害監視サーバが存在し、各コンピュータの中に設けられている監視モジュールから、定期的に監視サーバへハートビートを送信することにより、各コンピュータの障害状況を監視している。
【０００３】
【特許文献１】特開２００７−２７２３２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した技術では、まず、各コンピュータと障害監視サーバの間に常にハートビート通信を行うため、システムのトラフィック量が増大してしまうという問題があった。また、自律的な復旧情報の通報手段を持たないため、復旧作業の効率が悪くなるという問題があった。
【０００５】
本発明は、以上のような問題点を解消するためになされたものであり、ネットワークのトラフィック量を増大させることなく、データ送信システムにおける障害状況が監視できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係るデータ送信サーバは、ネットワークを介して接続している送信先へのデータの送信失敗により送信先の障害を検出するトランザクション送信管理手段と、障害を検出した送信先における障害の復旧を監視して送信先の復旧を検出する障害監視手段と、トランザクション送信管理手段が検出した障害および障害監視手段が検出した結果をネットワークを介して接続する他のサーバへ通知する障害情報管理手段とを備える。
【０００７】
本発明に係る障害復旧制御方法は、ネットワークを介して接続している送信先へのデータの送信失敗により送信先の障害を検出し、障害を検出した送信先における障害の復旧を監視して送信先の復旧を検出し、検出した結果をネットワークを介して接続する他のサーバへ通知する。
【発明の効果】
【０００８】
以上説明したように、本発明によれば、ネットワークを介して接続している送信先へのデータの送信失敗により送信先の障害を検出し、障害を検出した送信先における障害の復旧を監視して送信先の復旧を検出し、検出した結果をネットワークを介して接続する他のサーバへ通知するようにしたので、ネットワークのトラフィック量を増大させることなく、データ送信システムにおける障害状況が監視できるようになるという優れた効果が得られる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態について図を参照して説明する。図１は、本発明の実施の形態におけるデータ送信サーバの構成例を示す構成図である。データ送信サーバ１００は、障害情報管理部１０１，障害情報テーブル１０２，同士情報テーブル１０３，プロセス１０４，プロセス１０５，およびプロセス１０６を備える。また、プロセス１０４は、データ送信トランザクションを管理するプロセスであり、トランザクション送信管理部１１１および障害監視部１１２を備える。なお、プロセス１０５，プロセス１０６も同様である。
【００１０】
トランザクション送信管理部１１１は、ネットワークを介して接続している送信先へのデータの送信失敗により送信先の障害を検出する。また、障害監視部１１２は、トランザクション送信管理部１１１が障害を検出した送信先における障害の復旧を監視して送信先の復旧を検出する。また、障害監視部１１２は、トランザクション送信管理部１１１が検出した障害および障害監視部１１２が検出した結果をネットワークを介して接続する他のサーバへ通知する。また、障害監視部１１２は、トランザクション送信管理部１１１が検出した障害および障害監視部１１２が検出した結果を、自サーバの他のプロセスへ通知する。
【００１１】
データ送信サーバ１００は、例えば、図２に示すように、同様のデータ送信サーバ２００とともに、ネットワーク２０１を経由してデータ受信サーバ２１１、データ受信サーバ２１２、データ受信サーバ２１３に接続している。
【００１２】
また、例えば、障害情報テーブル１０２には、表１に示すような情報が記憶されている。表１は、例えば、データ受信サーバ２１１とデータ受信サーバ２１３とに、同時に障害が発生した場合に、データ送信サーバ１００の障害情報テーブル１０２に記憶される内容を示している。表１のハートビート発信者欄には、障害を監視しているプロセス（プロセスの識別情報）が記述される。
【００１３】
【表１】
2009238137.tif 000003
【００１４】
また、例えば、同士情報テーブル１０３には、表２に示すように、プロセス間のデータ送信のための情報が記憶されている。表２に示すように、再送信フラグの欄には、該当プロセスは、障害復旧の直後に再送信が必要か否かが記述される。再送信フラグが１である場合、再送信が必要である場合を表す。再送信が不要の場合は、記入しない。
【００１５】
【表２】
2009238137.tif 000004
【００１６】
以下、データ送信サーバ１００の動作について説明する。はじめに、障害情報管理部１０１の基本的な動作例について説明する。図３のフローチャートに示すように、データ送信サーバ１００の障害情報管理部１０１が受信すると、受信情報を取り出して障害登録要求であるかを判断する（ステップＳ３０１）。障害登録要求であると判断した場合、障害登録処理（ステップＳ３０２）を実行し、結果をリターンし（ステップＳ３１３）、終了する。
【００１７】
ステップＳ３０１で障害登録要求ではないと判断した場合、復旧登録要求であるかを判断する（ステップＳ３０３）。復旧登録要求であると判断した場合、復旧先の情報を取得し（ステップＳ３０４）、障害情報テーブルの中に復旧先に応じるハートビート発信者を削除する（ステップＳ３０５）。次に、結果をリターンし（ステップＳ３１３）、終了する。
【００１８】
次に、ステップＳ３０３で復旧登録要求ではないと判断した場合、他のサーバからの通知（サーバ同士の通知）であるかを判断する（ステップＳ３０６）。サーバ同士の通知であると判断した場合、障害通知であるかを判断する（ステップＳ３０７）。障害通知であると判断した場合、障害登録処理を実行し（ステップＳ３０８）、結果をリターンし（ステップＳ３１３）、終了する。
【００１９】
次に、ステップＳ３０７で障害通知ではないと判断した場合、復旧先を取得し（ステップＳ３０４）、障害情報テーブル１０２の中の復旧先に応じるハートビート発信者を削除する（ステップＳ３０５）。次いで、結果をリターンし（ステップＳ３１３）、終了する。
【００２０】
次に、ステップＳ３０６でサーバ同士の通知ではないと判断した場合、情報提供要求であるかを判断する（ステップＳ３０９）。情報提供要求であると判断した場合、同士情報テーブル１０３から要求された情報を取得し、返信する（ステップＳ３１０）。次いで、結果をリターンし（ステップＳ３１３）、終了する。
【００２１】
次に、ステップＳ３０９で情報提供要求ではないと判断した場合、障害照会であるかを判断する（ステップＳ３１１）。障害照会と判断した場合、障害情報テーブル１０２から要求に応じる情報を取得し（ステップＳ３１２）、結果を返信し（ステップＳ３１３）、終了する。また、ステップＳ３１１で障害照会要求ではないと判断した場合、結果をリターンし（ステップＳ３１３）、終了する。
【００２２】
次に、障害情報管理部１０１における上述した障害登録の処理について、より詳細に説明する。まず、障害登録処理が実行されると、図４のフローチャートに示すように、障害先の情報を取得し（ステップＳ４０１）、障害情報テーブル１０２に応じる情報を取得する（ステップＳ４０２）。次いで、問い合わせ先が障害中であるかを判断する（ステップＳ４０３）。障害中であると判断した場合、監視不要フラグを返信し（ステップＳ４０４）、終了する。ステップＳ４０３で障害中ではないと判断した場合、障害情報テーブル１０２に障害先に応じるハートビート発信者を登録する（ステップＳ４０５）。さらに、同士情報テーブル１０３から他のサーバの送信先情報を取得し（ステップＳ４０６）、情報を取得した他のサーバへ障害情報を通知する（ステップＳ４０７）。この後、要監視フラグを返信し（ステップＳ４０８）、終了する。
【００２３】
次に、各プロセスに備えられているトランザクション送信管理部１１１の動作について説明する。トランザクション送信管理部１１１の動作が開始されると、図５のフローチャートに示すように、まず、データ送信要求であるか（があるか）を判断する（ステップＳ５０１）。データ送信要求であると判断した場合、データ送信要求処理を行い（ステップＳ５０２）、終了する。また、ステップＳ５０１でデータ送信要求ではないと判断した場合、復旧登録要求であるかを判断する（ステップＳ５０３）。ここで、復旧登録であると判断した場合、障害復旧登録要求処理を行い（ステップＳ５０４）、終了する。
【００２４】
また、ステップＳ５０３で復旧登録要求ではないと判断した場合、他のプロセスからの通知（プロセス同士の通知）であるかを判断する（ステップＳ５０５）。ここで、プロセス同士の通知であると判断した場合、プロセス同士の通知処理を行い（ステップＳ５０６）、終了する。
【００２５】
次に、トランザクション送信管理部１１１におけるデータ送信要求処理について、より詳細に説明する。図６のフローチャートに示すように、データ送信要求処理が実行されると、送信先の情報を取得し（ステップＳ６０１）、障害情報管理部１０１に障害状況を確認する（ステップＳ６０２）。次いで、ステップＳ６０２の確認に対応する返信に対し、送信先が障害中であるかを判断する（ステップＳ６０３）。ここで、障害中であると判断した場合、処理中の情報を削除し（ステップＳ６０４）、終了する。ステップＳ６０３で障害中ではないと判断した場合、データ送信処理を実行する（ステップＳ６０５）。次いで、データ送信処理を実行した結果に対し、成功であるかを判断する（ステップＳ６０６）。成功であると判断した場合、終了する。ステップＳ６０６で成功ではないと判断した場合、障害情報管理部１０１に障害登録を依頼する（ステップＳ６０７）。
【００２６】
次いで、登録された結果に対し、要監視であるかを判断する（ステップＳ６０９）。要監視であると判断した場合、障害監視部１１２へ通知する（ステップＳ６１０）。さらに、障害情報管理部１０１に他のプロセスの送信先情報を要求し（ステップＳ６１１）、他の各プロセスへ障害を通知する（ステップＳ６１２）。ステップＳ６０９で要監視ではないと判断した場合、ステップＳ６１０を実行せず、ステップＳ６１１及びステップＳ６１２を実行して終了する。
【００２７】
次に、トランザクション送信管理部１１１における障害復旧登録要求処理について、より詳細に説明する。障害復旧登録要求処理が実行されると、図７のフローチャートに示すように、障害情報管理部１０１に復旧登録を要求する（ステップＳ７０１）。次に、障害情報管理部１０１にたのプロセスの送信先情報を要求し（ステップＳ７０２）、他の各プロセスに対して復旧情報を通知する（ステップＳ７０３）。さらに、障害情報管理部１０１にトランザクションの再送信フラグを要求する（ステップＳ７０４）。次いで、再送信が必要であるかを判断する（ステップＳ７０５）。再送信が必要であると判断した場合、データ送信要求処理を実行し（ステップＳ７０６）、終了する。
【００２８】
次に、トランザクション送信管理部１１１におけるプロセス同士の通知処理について、より詳細に説明する。プロセス同士の通知処理が実行されると、図８のフローチャートに示すように、まず、障害通知であるかを判断する（ステップＳ８０１）。障害通知であると判断した場合、データ送信処理中の送信先を確認し（ステップＳ８０２）、処理中の送信先が、障害先であるかを判断する（ステップＳ８０３）。障害先であると判断した場合、データ送信処理を中止し（ステップＳ８０４）、終了する。ステップＳ８０３で障害先ではないと判断した場合、ステップＳ８０４を実行せず、データ送信処理を継続する。
【００２９】
また、ステップＳ８０１で障害通知ではないと判断した場合、障害情報管理部１０１にトランザクションの再送信フラグを要求する（ステップＳ８０５）。次いで、この返信結果により、再送信が必要であるかを判断する（ステップＳ８０６）。再送信が必要であると判断した場合、データ送信処理を行い（ステップＳ８０７）、終了する。ステップＳ８０６で再送信が必要ではないと判断した場合、ステップＳ８０７を実行しないで終了する。
【００３０】
次に、障害監視部１１２の動作例について説明する。障害監視部１１２が動作を開始すると（実行されると）、図９のフローチャートに示すように、まず、障害先の情報を取得する（ステップＳ９０１）。ハートビート送信インターバルを取得し（ステップＳ９０２）、障害監視処理を実行し（ステップＳ９０３）、終了する。
【００３１】
次に、障害監視部１１２による上述した障害監視処理について、より詳細に説明する。障害監視部１１２において障害監視処理が実行されると、図１０のフローチャートに示すように、まず、障害先へ定期的にハートビートを送信する（ステップ８０１）。次いで、この送信の結果により、復旧できたかを判断する（ステップ８０２）。復旧ができていないと判断した場合、ステップ８０１まで戻り、ハートビートの送信を継続する。ステップ８０２で復旧ができたと判断した場合、トランザクション送信管理部１１１へ障害復旧登録を依頼し（ステップ８０３）、終了する。
【００３２】
以上に説明したように、本実施の形態では、データ送信サーバやデータ受信サーバなど複数のサーバ（コンピュータ）から構成されるデータ送信システムにおいて、各サーバで、データの送信の失敗により送信先のサーバの障害を検出し、また、障害が検出されたサーバが復旧されたことを検出するなど、障害が検出されたデータ送信先のサーバの障害を監視するようにした。加えて、障害の発生を検出すると、検出した障害の情報を、他のサーバや、他のプロセスへ通知するようにした。
【００３３】
この結果、本実施の形態によれば、障害監視サーバを用いる場合のように、各サーバと障害監視サーバとの間の定常的なハートビート通信を行うことがない。また、障害の状態が他のプロセスや他のサーバに対して通知されるので、障害が検出されたサーバへの他のプロセスや他のサーバからのデータの送信がなくなる。これらのことにより、ネットワークのトラフィック量が大幅に減少されるようになり、ネットワークの性能を向上させることができる。
【００３４】
また、本実施の形態では、障害の復旧を検出すると、他のサーバや、他のプロセスへ復旧情報を通知（展開）するので、トランザクションの再開が必要なプロセスは、自動的に再送信も可能になるため、復旧作業が効率的に行えるようになる。
【００３５】
なお、データ送信サーバ１００は、ＣＰＵと主記憶装置と外部記憶装置とネットワーク接続装置となどを備えたコンピュータ機器であり、主記憶装置に展開されたプログラムによりＣＰＵが動作することで、上述した各機能が実現される。また、各機能は、複数のコンピュータ機器に分散させるようにしてもよい。
【産業上の利用可能性】
【００３６】
本発明によれば、複数のサーバから構成されるデータ送信システムにおいて、障害監視や、障害復旧といった用途に適用可能である。
【図面の簡単な説明】
【００３７】
【図１】本発明の実施の形態におけるデータ送信サーバの構成例を示す構成図である。
【図２】本発明の実施の形態におけるデータ送信サーバのネットワーク接続の構成例を示す構成図である。
【図３】データ送信サーバ１００の動作例について示すフローチャートである。
【図４】データ送信サーバ１００の動作例について示すフローチャートである。
【図５】データ送信サーバ１００の動作例について示すフローチャートである。
【図６】データ送信サーバ１００の動作例について示すフローチャートである。
【図７】データ送信サーバ１００の動作例について示すフローチャートである。
【図８】データ送信サーバ１００の動作例について示すフローチャートである。
【図９】データ送信サーバ１００の動作例について示すフローチャートである。
【図１０】データ送信サーバ１００の動作例について示すフローチャートである。
【符号の説明】
【００３８】
１０１…障害情報管理部、１０２…障害情報テーブル、１０３…同士情報テーブル、１０４，１０５，１０６…プロセス、１１１…トランザクション送信管理部、１１２…障害監視部。
【図１】
2009238137.tif 000005
【図２】
2009238137.tif 000006
【図３】
2009238137.tif 000007
【図４】
2009238137.tif 000008
【図５】
2009238137.tif 000009
【図６】
2009238137.tif 000010
【図７】
2009238137.tif 000011
【図８】
2009238137.tif 000012
【図９】
2009238137.tif 000013
【図１０】
2009238137.tif 000014