(57)【特許請求の範囲】
【請求項１】
二重化されたゲートウェイシステムにおいて、
主装置として動作し同期用コマンドと共にこの同期用コマンドの送信回数を送信する一方のゲートウェイ装置と、
この一方のゲートウェイ装置とネットワークで相互に接続され従装置として動作し前記同期用コマンドを受信すると共に前記送信回数を抽出して前記同期用コマンドを受信した受信回数と比較し、一致していない場合で、且つ、前記受信回数と前記送信回数のずれの発生した回数が予め設定された値以上若しくは超えている場合に前記一方のゲートウェイ装置と同期が取れていないと判断する他方のゲートウェイ装置とを備え、
前記他方のゲートウェイ装置は、前記一方のゲートウェイ装置と同期が取れていないと判断した場合に、前記一方のゲートウェイ装置からセッションテーブルを全て受信して前記主装置に切り替わることを特徴とするゲートウェイシステム。
【請求項２】
前記他方のゲートウェイ装置が、
前記ネットワークに接続され通信を行う通信部と、
前記受信回数をカウントする計数器の機能及び前記送信回数と前記計数器の値のずれが発生した回数を持つ第１の累算器の機能を有すると共に前記判断を行う演算制御部とから構成されることを特徴とする
請求項１記載のゲートウェイシステム。
【請求項３】
二重化されたゲートウェイシステムにおいて、
主装置として動作し同期用コマンドと共にこの同期用コマンドの送信回数を送信する一方のゲートウェイ装置と、
この一方のゲートウェイ装置とネットワークで相互に接続され従装置として動作し前記同期用コマンドを受信すると共に前記送信回数を抽出して前記同期用コマンドを受信した受信回数と比較し、一致していない場合で、且つ、前記受信回数と前記送信回数のずれの積算値が予め設定された値以上若しくは超えている場合に前記一方のゲートウェイ装置と同期が取れていないと判断する他方のゲートウェイ装置とを備え、
前記他方のゲートウェイ装置は、前記一方のゲートウェイ装置と同期が取れていないと判断した場合に、前記一方のゲートウェイ装置からセッションテーブルを全て受信して前記主装置に切り替わることを特徴とするゲートウェイシステム。
【請求項４】
前記他方のゲートウェイ装置が、
前記ネットワークに接続され通信を行う通信部と、
前記受信回数をカウントする計数器の機能及び前記送信回数と前記計数器の値のずれの積算値を持つ第２の累算器の機能を有すると共に前記判断を行う演算制御部とから構成されることを特徴とする
請求項３記載のゲートウェイシステム。
【請求項５】
前記他方のゲートウェイ装置が、
複数のゲートウェイ装置から構成されることを特徴とする
請求項１乃至請求項４のいずれかに記載のゲートウェイシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二重化されたゲートウェイシステムに関し、特にゲートウェイ装置間で正確に同期を取ることができ、信頼性の向上が可能なゲートウェイシステムに関する。
【背景技術】
【０００２】
従来のゲートウェイシステムに関連する先行技術文献としては次のようなものがある。
【０００３】
【特許文献１】特開２０００−２４４５２６号公報
【特許文献２】特開２００５−２９５１２４号公報
【０００４】
図９はこのような従来のゲートウェイシステムの一例を示す構成ブロック図である。図９において１はサーバアプリケーションソフトが動作するサーバ、２及び３はプロトコルが異なるデータを相互に変換するゲートウェイ装置、４はクライアントアプリケーションソフトが動作するクライアントである。
【０００５】
また、１００及び１０１はインターネット、若しくは、イントラネット等のネットワーク、１０２はゲートウェイ装置２及びゲートウェイ装置３の同期を取るために使用するネットワークである。
【０００６】
サーバ１はネットワーク１００に相互に接続され、ゲートウェイ装置２及びゲートウェイ装置３はネットワーク１００に相互に接続されると共にネットワーク１０１及びネットワーク１０２とも相互に接続される。クライアント４はネットワーク１０１に相互に接続される。
【０００７】
ゲートウェイ装置２は”主装置”としてクライアント４−サーバ１間の通信を処理し、ゲートウェイ装置３は”従装置”としてゲートウェイ装置２を監視する。ゲートウェイ装置３は、ゲートウェイ装置２が正常な時はクライアント４−サーバ１間のパケット処理を行わず、ゲートウェイ装置２が異常な時はゲートウェイ装置２に代わってパケット処理を行う。
【０００８】
ここで、図９に示す従来例の動作を図１０を用いて説明する。図１０はクライアント４−サーバ１間の通信の動作を示すフロー図である。
【０００９】
図１０中”Ｓ００１”においてゲートウェイ装置３は、ゲートウェイ装置２に対してセッションテーブルを全て送るように要求し、図１０中”Ｓ００２”においてゲートウェイ装置２は、全てのセッションテーブルをゲートウェイ装置３に送信する。
【００１０】
図１０中”Ｓ００３”においてクライアント４は、サーバ１に対してパケットを送信して通信を開始する。図１０中”Ｓ００４”においてゲートウェイ装置２は、クライアント４から受信したパケットが処理対象であるか否かを判断し、もし、処理対象である場合には、セッションテーブルを更新してパケットを処理し、サーバ１に対してパケットを転送する。
【００１１】
図１０中”Ｓ００５”においてゲートウェイ装置２は、図１０中”Ｓ００４”においてセッションテーブルを更新した場合には、更新内容をゲートウェイ装置３に送信する。ゲートウェイ装置３はこの更新内容を受信し、自身のセッションテーブルを更新する。
【００１２】
そして、図１０中”Ｓ００３”から”Ｓ００５”の処理を繰り返す。この間に、何らかの障害が発生し、ゲートウェイ装置２が正常な処理を続けることができなくなった。ゲートウェイ装置２を監視していたゲートウェイ装置３は、ゲートウェイ装置２の異常を検知し、”主装置”に切り替わり、パケット処理を開始する。
【００１３】
図１０中”Ｓ００６”においてクライアント４は、サーバ１に対してパケットを送信し、図１０中”Ｓ００７”においてゲートウェイ装置３は、クライアント４から受信したパケットが処理対象であるか否かを判断し、もし、処理対象である場合には、セッションテーブルを更新してパケットを処理し、サーバ１に対してパケットを転送する。
【００１４】
この結果、ゲートウェイ装置２が何らかの障害により、正常な処理を続けることができなくなった場合には、ゲートウェイ装置３が”主装置”に切り替わることにより、パケットの処理を継続することができるので、クライアント４−サーバ１間の通信が可能になる。
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかし、図９に示す従来例では、ゲートウェイ装置２から送信された同期用コマンドの一部が回線障害等の理由によりゲートウェイ装置３に届かなかった場合に、次のような不具合が発生する可能性がある。ただし、障害は短時間で終わり、障害回復以降は、同期用コマンドはゲートウェイ装置３に届くものとする。
【００１６】
ゲートウェイ装置２から送信された同期用コマンドの一部が、ゲートウェイ装置３に届いていないため、ゲートウェイ装置２とゲートウェイ装置３との間でセッションテーブルの同期はとれておらず、セッションテーブルの内容が異なっている。
【００１７】
そのため、ゲートウェイ装置３で行われる処理は、障害が発生しなかった場合のゲートウェイ装置２で行われる処理とは異なるので、図１０中”Ｓ００７”においてゲートウェイ装置３がパケットを転送することができない、若しくは、サーバ１がパケットを受信しても図１０中”Ｓ００３”で開始した通信の一部であると認識できずにパケットを捨てるということが起き、クライアント４とサーバ１の間での通信の継続が不可能になるという問題点があった。
【００１８】
また、これらの不具合の発生を防ぐために、ハッシュ関数の１つであるＭＤ５（Message Digest 5）等を利用してセッションテーブルを基に生成したハッシュ値を、定期的にゲートウェイ装置２からゲートウェイ装置３に対して送信するようにすれば、このずれを検出することはできる。しかし、ハッシュ値を計算すること自体が時間のかかることであり、セッションテーブルのサイズが大きい場合には、この方法は不適当である。
【００１９】
従って本発明が解決しようとする課題は、ゲートウェイ装置間で正確に同期を取ることができ、信頼性の向上が可能なゲートウェイシステムを実現することにある。
【課題を解決するための手段】
【００２０】
このような課題を達成するために、本発明のうち請求項１記載の発明は、
二重化されたゲートウェイシステムにおいて、
主装置として動作し同期用コマンドと共にこの同期用コマンドの送信回数を送信する一方のゲートウェイ装置と、この一方のゲートウェイ装置とネットワークで相互に接続され従装置として動作し前記同期用コマンドを受信すると共に前記送信回数を抽出して前記同期用コマンドを受信した受信回数と比較し、一致していない場合で、且つ、前記受信回数と前記送信回数のずれの発生した回数が予め設定された値以上若しくは超えている場合に前記一方のゲートウェイ装置と同期が取れていないと判断する他方のゲートウェイ装置とを備え、前記他方のゲートウェイ装置は、前記一方のゲートウェイ装置と同期が取れていないと判断した場合に、前記一方のゲートウェイ装置からセッションテーブルを全て受信して前記主装置に切り替わることにより、ゲートウェイ装置間で正確に同期を取ることができ、信頼性の向上が可能になる。
【００２１】
請求項２記載の発明は、
請求項１記載のゲートウェイシステムにおいて、
前記他方のゲートウェイ装置が、
前記ネットワークに接続され通信を行う通信部と、前記受信回数をカウントする計数器の機能及び前記送信回数と前記計数器の値のずれが発生した回数を持つ第１の累算器の機能を有すると共に前記判断を行う演算制御部とから構成されることにより、ゲートウェイ装置間で正確に同期を取ることができ、信頼性の向上が可能になる。
【００２２】
請求項３記載の発明は、
二重化されたゲートウェイシステムにおいて、
主装置として動作し同期用コマンドと共にこの同期用コマンドの送信回数を送信する一方のゲートウェイ装置と、この一方のゲートウェイ装置とネットワークで相互に接続され従装置として動作し前記同期用コマンドを受信すると共に前記送信回数を抽出して前記同期用コマンドを受信した受信回数と比較し、一致していない場合で、且つ、前記受信回数と前記送信回数のずれの積算値が予め設定された値以上若しくは超えている場合に前記一方のゲートウェイ装置と同期が取れていないと判断する他方のゲートウェイ装置とを備え、前記他方のゲートウェイ装置は、前記一方のゲートウェイ装置と同期が取れていないと判断した場合に、前記一方のゲートウェイ装置からセッションテーブルを全て受信して前記主装置に切り替わることにより、ゲートウェイ装置間で正確に同期を取ることができ、信頼性の向上が可能になる。
【００２３】
請求項４記載の発明は、
請求項３記載のゲートウェイシステムにおいて、
前記他方のゲートウェイ装置が、
前記ネットワークに接続され通信を行う通信部と、前記受信回数をカウントする計数器の機能及び前記送信回数と前記計数器の値のずれの積算値を持つ第２の累算器の機能を有すると共に前記判断を行う演算制御部とから構成されることにより、ゲートウェイ装置間で正確に同期を取ることができ、信頼性の向上が可能になる。
【００２４】
請求項５記載の発明は、
請求項１乃至請求項４のいずれかに記載のゲートウェイシステムにおいて、
前記他方のゲートウェイ装置が、
複数のゲートウェイ装置から構成されることにより、信頼性の向上が可能になる。
【発明の効果】
【００２８】
請求項１及び請求項２の発明によれば、一方のゲートウェイ装置から同期用コマンドと共に同期用コマンドの送信回数を送信し、他方のゲートウェイ装置が同期用コマンドを受信すると共に送信回数を抽出して同期用コマンドを受信した受信回数とのずれの発生した回数が予め設定された値以上若しくは超えている場合に一方のゲートウェイと同期が取れていないと判断することにより、パケット落ちを正確に検出することができるので、ゲートウェイ装置間で正確に同期を取ることができ、信頼性の向上が可能になる。
【００２９】
請求項３及び請求項４の発明によれば、一方のゲートウェイ装置から同期用コマンドと共に同期用コマンドの送信回数を送信し、他方のゲートウェイ装置が同期用コマンドを受信すると共に送信回数を抽出して同期用コマンドを受信した受信回数とのずれの積算値が予め設定された値以上若しくは超えている場合に一方のゲートウェイと同期が取れていないと判断することにより、パケット落ちを正確に検出することができるので、ゲートウェイ装置間で正確に同期を取ることができ、信頼性の向上が可能になる。
【００３０】
請求項５の発明によれば、他方のゲートウェイ装置を複数のゲートウェイ装置で構成することにより、信頼性の向上が可能になる。
【発明を実施するための最良の形態】
【００３１】
以下本発明を図面を用いて詳細に説明する。図１は本発明に係るゲートウェイシステムの一実施例を示す構成ブロック図である。
【００３２】
図１において１，４，１００及び１０１は図９と同一符号を付してあり、５及び６はプロトコルが異なるデータを相互に変換するゲートウェイ装置である。また、１０３はゲートウェイ装置５及びゲートウェイ装置６の同期を取るために使用するネットワークである。
【００３３】
サーバ１はネットワーク１００に相互に接続され、ゲートウェイ装置５及びゲートウェイ装置６はネットワーク１００に相互に接続されると共にネットワーク１０１及びネットワーク１０３とも相互に接続される。クライアント４はネットワーク１０１に相互に接続される。
【００３４】
ゲートウェイ装置５は”主装置”としてクライアント４−サーバ１間の通信を処理し、ゲートウェイ装置６は”従装置”としてゲートウェイ装置５を監視する。ゲートウェイ装置６は、ゲートウェイ装置５が正常な時はクライアント４−サーバ１間のパケット処理を行わず、ゲートウェイ装置５が異常な時はゲートウェイ装置５に代わってパケット処理を行う。
【００３５】
ここで、図１に示す実施例の動作を図２、図３、図４、図５及び図６を用いて説明する。図２はゲートウェイ装置６の構成を示す構成ブロック図、図３はクライアント４−サーバ１間の通信の動作を示すフロー図、図４はゲートウェイ装置間の同期が正常であるか否かを判断するフロー図、図５及び図６はゲートウェイ装置６の”計数器”、”累算器１”及び”累算器２”の動作を説明する説明図である。
【００３６】
図２において７はネットワーク１００を経由して通信を行う通信部、８はネットワーク１０３を経由して通信を行う通信部、９はネットワーク１０１を経由して通信を行う通信部、１０はＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory)、フラッシュメモリ（電気的に書き換え可能なＲＯＭ）、若しくは、ハードディスク等の記憶部、１１はＣＰＵ（Central Processing Unit）等の演算制御部である。
【００３７】
通信部７、通信部８、通信部９、記憶部１０及び演算制御部１１はゲートウェイ装置６を構成している。
【００３８】
演算制御部１１は通信部７、通信部８、通信部９及び記憶部１０にそれぞれ接続される。通信部７はネットワーク１００に相互に接続され、通信部８はネットワーク１０３に相互に接続される。通信部９はネットワーク１０１に相互に接続される。
【００３９】
演算制御部１１は”計数器”、”累算器１”、及び”累算器２”の機能を有している。”計数器”はゲートウェイ装置５から送信される同期用コマンドの受信回数を持ち、ゲートウェイ装置５からセッションテーブルと共に送られてくる同期用コマンドの送信回数を初期値として設定する。その後、ゲートウェイ装置５からの同期用コマンドを受信する毎に”１”を加算する。なお、ゲートウェイ装置５から送られるセッションテーブル及び同期用コマンドはパケットの形で送信される。
【００４０】
”累算器１”は同期用コマンドと共に送られてくる同期用コマンドの送信回数と”計数器”でカウントされる受信回数のずれが発生した回数、すなわち、パケット落ちを検出してから受信したパケット数を持つ。初期値は”０”である。
【００４１】
”累算器２”は同期用コマンドと共に送られてくる同期用コマンドの送信回数と”計数器”でカウントされる受信回数のずれの積算値、すなわち、落ちたパケット数を持つ。初期値は”０”である。
【００４２】
図３中”Ｓ１０１”においてゲートウェイ装置６は、ゲートウェイ装置５に対してセッションテーブルを全て送るように要求し、図３中”Ｓ１０２”においてゲートウェイ装置５は、全てのセッションテーブルをゲートウェイ装置６に送信する。この時、セッションテーブルと共に同期用コマンドの送信回数も送信される。
【００４３】
図３中”Ｓ１０３”においてクライアント４は、サーバ１に対してパケットを送信して通信を開始する。図３中”Ｓ１０４”においてゲートウェイ装置５は、クライアント４から受信したパケットが処理対象であるか否かを判断し、もし、処理対象である場合には、セッションテーブルを更新してパケットを処理し、サーバ１に対してパケットを転送する。
【００４４】
図３中”Ｓ１０５”においてゲートウェイ装置５は、図３中”Ｓ１０４”においてセッションテーブルを更新した場合には、更新内容及び同期用コマンドの送信回数をゲートウェイ装置６に送信する。図３中”Ｓ１０４”においてセッションテーブルを更新しない場合には、更新内容及び同期用コマンドの送信回数をゲートウェイ装置６に送信しない。
【００４５】
ゲートウェイ装置６は同期用コマンドと共に同期用コマンドの送信回数を受信し、受信回数等を比較して同期が取れていると判断した場合には、自身のセッションテーブルを更新する。
【００４６】
そして、図３中”Ｓ１０３”から”Ｓ１０５”の処理を繰り返す。この間に、何らかの障害が発生し、ゲートウェイ装置５から送信された同期用コマンドの一部がゲートウェイ装置６に届かなかった。ただし、障害は短時間で終わり、障害回復以降は、同期用コマンドはゲートウェイ装置６に届くものとする。
【００４７】
図３中”Ｓ１０６”においてクライアント４は、サーバ１に対してパケットを送信する。このパケットは図３中”Ｓ１０３”で開始した通信の一部である。図３中”Ｓ１０７”においてゲートウェイ装置５は、クライアント４から受信したパケットが処理対象であるか否かを判断し、もし、処理対象である場合には、セッションテーブルを更新してパケットを処理し、サーバ１に対してパケットを転送する。
【００４８】
図３中”Ｓ１０８”においてゲートウェイ装置５は、図３中”Ｓ１０７”においてセッションテーブルを更新した場合には、更新内容及び同期用コマンドの送信回数をゲートウェイ装置６に送信する。図３中”Ｓ１０７”においてセッションテーブルを更新しない場合には、更新内容及び同期用コマンドの送信回数をゲートウェイ装置６に送信しない。
【００４９】
ゲートウェイ装置６は同期用コマンドと共に同期用コマンドの送信回数を受信し、受信回数等を比較する。この時、前述に示す障害により、同期が取れていないと判断し、ゲートウェイ装置５に対してセッションテーブルを全て送信するように要求する。この要求内容は図３中”Ｓ１０１”においてゲートウェイ装置６が送信したものと同じである。
【００５０】
図３中”Ｓ１１０”においてゲートウェイ装置５は、全てのセッションテーブルをゲートウェイ装置６に送信する。この時、ゲートウェイ装置５が送信するセッションテーブルは図３中”Ｓ１０２”において送信したセッションテーブルとは異なっている可能性がある。
【００５１】
そして、何らかの障害が発生し、ゲートウェイ装置５が正常な処理を続けることができなくなった。ゲートウェイ装置５を監視していたゲートウェイ装置６は、ゲートウェイ装置５の異常を検知し、”主装置”に切り替わり、パケット処理を開始する。
【００５２】
図３中”Ｓ１１１”においてクライアント４は、サーバ１に対してパケットを送信し、図３中”Ｓ１１２”においてゲートウェイ装置６は、クライアント４から受信したパケットが処理対象であるか否かを判断し、もし、処理対象である場合には、セッションテーブルを更新してパケットを処理し、サーバ１に対してパケットを転送する。
【００５３】
ここで、図３中”Ｓ１０５”及び”Ｓ１０８”においてゲートウェイ装置６がゲートウェイ装置５と同期が取れているか否かを判断する時の処理の流れを図４を用いて説明する。
【００５４】
図４中”Ｓ２０１”においてゲートウェイ装置６の演算制御部１１は、通信部８を経由して同期用コマンドと共に同期用コマンドの送信回数を受信し、”計数器”の値に”１”を加算する。そして、パケットから抽出した同期用コマンドの送信回数と”計数器”の値を比較して一致しているか否かを判断し、もし、一致している場合には図４中”Ｓ２０４”においてゲートウェイ装置６の演算制御部１１は、同期は正常であると判断する。
【００５５】
一方、図４中”Ｓ２０１”においてゲートウェイ装置６の演算制御部１１は、通信部８を経由して同期用コマンドと共に同期用コマンドの送信回数を受信し、”計数器”の値に”１”を加算する。そして、パケットから抽出した同期用コマンドの送信回数と”計数器”の値を比較して一致しているか否かを判断し、もし、一致していない場合には図４中”Ｓ２０２”に進む。
【００５６】
図４中”Ｓ２０２”においてゲートウェイ装置６の演算制御部１１は、”累算器１”の値に”１”を加算し、加算後の値が予め設定してある値”ｎ”を超えているか否かを判断し、もし、超えている場合には図４中”Ｓ２０５”においてゲートウェイ装置６の演算制御部１１は、同期は異常であると判断する。
【００５７】
すなわち、”累算器１”ではパケット落ちを検出してから受信したパケット数をカウントしているので、このカウント値が予め設定してある上限値”ｎ”を超えているか否かを判断している。
【００５８】
一方、図４中”Ｓ２０２”においてゲートウェイ装置６の演算制御部１１は、”累算器１”の値に”１”を加算し、加算後の値が予め設定してある値”ｎ”を超えているか否かを判断し、もし、超えていない場合には図４中”Ｓ２０３”に進む。
【００５９】
図４中”Ｓ２０３”においてゲートウェイ装置６の演算制御部１１は、”累算器２”の値に、同期用コマンドの送信回数と自身が持っている受信回数の差の絶対値を加算し、加算後の値が予め設定してある値”ｍ”を超えているか否かを判断し、もし、超えている場合には図４中”Ｓ２０５”においてゲートウェイ装置６の演算制御部１１は、同期は異常であると判断する。
【００６０】
一方、図４中”Ｓ２０３”においてゲートウェイ装置６の演算制御部１１は、”累算器２”の値に、同期用コマンドの送信回数と自身が持っている受信回数の差の絶対値を加算し、加算後の値が予め設定してある値”ｍ”を超えているか否かを判断し、もし、超えていない場合には図４中”Ｓ２０４”においてゲートウェイ装置６の演算制御部１１は、同期は正常であると判断する。
【００６１】
図４に示すフロー図の動作を図５及び図６を用いて具体的に説明する。まず、図５はゲートウェイ装置５からゲートウェイ装置６へのパケットが１回だけ届かなかった場合を示している。例えば、図４中”Ｓ２０２”において、判断に用いられている”ｎ”の値を”９”とする。すなわち、”累算器１”の値が”１０”以上であれば、ゲートウェイ装置５−ゲートウェイ装置６間の同期は異常であると判断される。
【００６２】
図５中”パケット１”はゲートウェイ装置５からゲートウェイ装置６へ届いたので、受信回数を示す”計数器”は”１”がカウントされ、”累算器１”及び”累算器２”は”０”のままである。図５中”パケット２”はゲートウェイ装置５からゲートウェイ装置６へ届かなかったので、”計数器”、”累算器１”及び”累算器２”の値は”パケット１”の状態のままである。
【００６３】
そして、図５中”パケット３”はゲートウェイ装置５からゲートウェイ装置６へ届いたので、受信回数を示す”計数器”は”２”、送信回数と受信回数のずれを示す”累算器１”は”１”、送信回数と受信回数の差の絶対値を示す”累算器２”も”１”がカウントされる。
【００６４】
図５中”パケット４”から”パケット６”まではゲートウェイ装置５からゲートウェイ装置６へ届いたので、”計数器”、”累算器１”及び”累算器２”はそれぞれ”＋１”される。図５中”パケット７”はゲートウェイ装置５からゲートウェイ装置６へ届かなかったので、”計数器”、”累算器１”及び”累算器２”の値は”パケット６”の状態のままである。
【００６５】
そして、図５中”パケット８”はゲートウェイ装置５からゲートウェイ装置６へ届いたので、受信回数を示す”計数器”は”６”、送信回数と受信回数のずれを示す”累算器１”は”５”、送信回数と受信回数の差の絶対値を示す”累算器２”は”６”がカウントされる。
【００６６】
図５中”パケット９”から”パケット１２”まではゲートウェイ装置５からゲートウェイ装置６へ届いたので、”計数器”及び”累算器１”はそれぞれ”＋１”、”累算器２”は”＋２”される。
【００６７】
最後に、図５中”パケット１３”はゲートウェイ装置５からゲートウェイ装置６へ届いたので、受信回数を示す”計数器”は”１１”、送信回数と受信回数のずれを示す”累算器１”は”１０”となり、この時点で”ｎ”の値である”９”を超えたので、ゲートウェイ装置５−ゲートウェイ装置６間の同期は異常であると判断される。
【００６８】
もし、”ｎ”の値が”０”に設定されている場合には、パケット落ちが１回発生する毎にゲートウェイ装置５−ゲートウェイ装置６間の同期は異常であると判断される。そして、図５に示すように短い期間にパケット落ちが発生する場合には、その度にゲートウェイ装置５からゲートウェイ装置６に全てのセッションテーブルが送信されることになり、ネットワーク１０３に多大な負荷をかけることになる。
【００６９】
しかし、”ｎ”の値を大きくすることにより、パケット落ちを故意に見過ごす”不感期間”、すなわち、ゲートウェイ装置５からゲートウェイ装置６に全てのセッションテーブルが送信される間隔を長くすることができ、ネットワーク１０３にかかる負荷を低減することが可能になる。
【００７０】
次に、図６はゲートウェイ装置５からゲートウェイ装置６へのパケットが連続して届かなかった場合を示している。例えば、図４中”Ｓ２０３”において、判断に用いられている”ｍ”の値を”９”とする。すなわち、”累算器２”の値が”１０”以上であれば、ゲートウェイ装置５−ゲートウェイ装置６間の同期は異常であると判断される。
【００７１】
図６中”パケット１”はゲートウェイ装置５からゲートウェイ装置６へ届いたので、受信回数を示す”計数器”は”１”がカウントされ、”累算器１”及び”累算器２”は”０”のままである。図６中”パケット２”から”パケット１１”はゲートウェイ装置５からゲートウェイ装置６へ届かなかったので、”計数器”、”累算器１”及び”累算器２”の値は”パケット１”の状態のままである。
【００７２】
最後に、図６中”パケット１２”はゲートウェイ装置５からゲートウェイ装置６へ届いたので、受信回数を示す”計数器”は”２”、送信回数と受信回数のずれを示す”累算器１”は”１”、送信回数と受信回数の差の絶対値を示す”累算器２”は”１０”となり、この時点で”ｍ”の値である”９”を超えたので、ゲートウェイ装置５−ゲートウェイ装置６間の同期は異常であると判断される。
【００７３】
この結果、ゲートウェイ装置６が同期用コマンドと共に同期用コマンドの送信回数を受信し、送信回数と受信回数を比較し、送信回数と受信回数のずれを予め設定された値と比較し、さらに、送信回数と受信回数の差の絶対値を予め設定された値と比較する。そして、ゲートウェイ装置５との同期が取れていないと判断した場合に、ゲートウェイ装置５からセッションテーブルを全て受信することにより、ゲートウェイ装置５が何らかの障害で正常な処理を続けることができなくなった場合には、ゲートウェイ装置６が”主装置”に切り替わることにより、クライアント４−サーバ１間のパケットの処理を継続することができるので、ゲートウェイ装置間で正確に同期を取ることができ、信頼性の向上が可能になる。
【００７４】
図７は本発明に係るゲートウェイシステムの他の一実施例を示す構成ブロック図である。図７において１，４，１００及び１０１は図１と同一符号を付してあり、１２，１３及び１４はプロトコルが異なるデータを相互に変換するゲートウェイ装置である。また、１０４はゲートウェイ装置１２、ゲートウェイ装置１３及びゲートウェイ装置１４の同期を取るために使用するネットワークである。
【００７５】
サーバ１はネットワーク１００に相互に接続され、ゲートウェイ装置１２、ゲートウェイ装置１３及びゲートウェイ装置１４はネットワーク１００に相互に接続されると共にネットワーク１０１及びネットワーク１０４とも相互に接続される。クライアント４はネットワーク１０１に相互に接続される。
【００７６】
ゲートウェイ装置１２は”主装置”としてクライアント４−サーバ１間の通信を処理し、ゲートウェイ装置１３及びゲートウェイ装置１４は”従装置”としてゲートウェイ装置１２を監視する。ゲートウェイ装置１３及びゲートウェイ装置１４は、ゲートウェイ装置１２が正常な時はクライアント４−サーバ１間のパケット処理を行わず、ゲートウェイ装置１２が異常な時はゲートウェイ装置１２に代わってゲートウェイ装置１３がパケット処理を行う。さらに、ゲートウェイ装置１３が異常な時はゲートウェイ装置１３に代わってゲートウェイ装置１４がパケット処理を行う。
【００７７】
ここで、図７に示す実施例の動作を説明する。図７に示す実施例の動作は図１の実施例とほぼ同一であり、異なる点は”従装置”として動作するゲートウェイ装置が２台あることである。
【００７８】
”主装置”であるゲートウェイ装置１２から”従装置”であるゲートウェイ装置１３及びゲートウェイ装置１４にパケットを送信する場合には、マルチキャストアドレス宛に送信するので、”従装置”であるゲートウェイ装置が複数ある場合でも”主装置”であるゲートウェイ装置１２の負荷は変わらない。
【００７９】
また、”主装置”であるゲートウェイ装置１２に負荷がかかるのは、障害発生時にセッションテーブルを全て”従装置”であるゲートウェイ装置に送信する場合であり、複数の”従装置”であるゲートウェイ装置が同時に通信障害を起こす可能性はかなり低いと考えられるので、”従装置”であるゲートウェイ装置を複数使用している場合でも、”主装置”であるゲートウェイ装置１２の負荷は”従装置”であるゲートウェイ装置が１台の時と比べてそれほど大きくはならない。
【００８０】
この結果、ゲートウェイ装置１３及びゲートウェイ装置１４が同期用コマンドと共に同期用コマンドの送信回数を受信して受信回数等を比較し、ゲートウェイ装置１２との同期が取れていないと判断した場合に、ゲートウェイ装置１２からセッションテーブルを全て受信することにより、ゲートウェイ装置１２が何らかの障害で正常な処理を続けることができなくなった場合には、ゲートウェイ装置１３が”主装置”に切り替わり、さらに、ゲートウェイ装置１３が何らかの障害で正常な処理を続けることができなくなった場合には、ゲートウェイ装置１４が”主装置”に切り替わることにより、クライアント４−サーバ１間のパケットの処理を継続することができるので、ゲートウェイ装置間で正確に同期を取ることができ、信頼性の向上が可能になる。
【００８１】
図８はゲートウェイ装置間の同期が正常であるか否かを判断する他のフロー図である。この場合のゲートウェイ装置は図２に示す構成と同じである。
【００８２】
ここで、図８に示す実施例の動作を説明する。図８に示す実施例の動作は図４の実施例とほぼ同一であり、異なる点はゲートウェイ装置間の通信において、連続したパケット落ちを検出することを目的としていることである。
【００８３】
すなわち、ゲートウェイ装置間の通信において、パケット落ちが散発的に発生するのは構わないが、まとまった量のパケットが落ちると困る場合の判断のフローであり、動画データ等のストリーム系のデータを送信する時に使うことができる。
【００８４】
図８中”Ｓ３０１”においてゲートウェイ装置６の演算制御部１１は、通信部８を経由して同期用コマンドと共に同期用コマンドの送信回数を受信し、”計数器”の値に”１”を加算する。そして、パケットから抽出した同期用コマンドの送信回数と”計数器”の値を比較して一致しているか否かを判断し、もし、一致している場合には図８中”Ｓ３０４”においてゲートウェイ装置６の演算制御部１１は、受信は成功したと判断する。
【００８５】
一方、図８中”Ｓ３０１”においてゲートウェイ装置６の演算制御部１１は、通信部８を経由して同期用コマンドと共に同期用コマンドの送信回数を受信し、”計数器”の値に”１”を加算する。そして、パケットから抽出した同期用コマンドの送信回数と”計数器”の値を比較して一致しているか否かを判断し、もし、一致していない場合には図８中”Ｓ３０２”に進む。
【００８６】
図８中”Ｓ３０２”においてゲートウェイ装置６の演算制御部１１は、同期用コマンドの送信回数から”計数器”の値を差し引いた値が予め設定してある値”ｐ”より小さいか否かを判断し、もし、この値が”ｐ”より小さい場合には図８中”Ｓ３０４”においてゲートウェイ装置６の演算制御部１１は、受信は成功したと判断する。
【００８７】
一方、図８中”Ｓ３０２”においてゲートウェイ装置６の演算制御部１１は、同期用コマンドの送信回数から”計数器”の値を差し引いた値が予め設定してある値”ｐ”より小さいか否かを判断し、もし、この値が”ｐ”以上の場合には図８中”Ｓ３０３”においてゲートウェイ装置６の演算制御部１１は、受信は失敗したと判断する。
【００８８】
最後に、図８中”Ｓ３０５”においてゲートウェイ装置６の演算制御部１１は、同期用コマンドの送信回数を”計数器”に設定する。すなわち、パケット落ちが”ｐ”個以下であれば受信は成功したとみなして”計数器”に送信回数を設定し、続けてパケット落ちを検出するようにしている。
【００８９】
この結果、ゲートウェイ装置６が同期用コマンドと共に同期用コマンドの送信回数を受信し、同期用コマンドの送信回数から”計数器”の値を差し引いた値と予め設定してある値”ｐ”を比較することにより、ゲートウェイ装置間の連続したパケット落ちを検出することができるので、ゲートウェイ装置間で正確に同期を取ることができ、信頼性の向上が可能になる。
【００９０】
また、本発明に係る他の実施例として、ネットワークに相互に接続され、通信が可能な”機器Ａ”及び”機器Ｂ”があり、”機器Ａ”が”機器Ｂ”にパケットを送信する場合を説明する。”機器Ａ”と”機器Ｂ”の間のネットワークは帯域が狭い、若しくは、電力消費の問題から”機器Ａ”が”機器Ｂ”に対して大量のデータを送信することは好ましくない状況を想定した場合、”機器Ａ”は最初にまとまったデータを”機器Ｂ”に送信しておき、その後は差分だけ送信するという方法が考えられる。
【００９１】
ここで、”機器Ｂ”に”計数器”、”累算器１”及び”累算器２”の機能を持たせて図１に示す実施例と同じ動作を行うことにより、”機器Ｂ”は”機器Ａ”からのデータを取りこぼさずに受信していることを、ネットワークに大きな負荷を掛けることなく、確認することが可能になる。
【００９２】
同様に、本発明に係る他の実施例として、工場や建物に設置してある煙や熱等を感知する感知装置がネットワークに相互に接続されている場合を説明する。感知装置は小さく、データを送信するだけの機能しか持っておらず、データを送信する周期も不定期であるとすると、この送信データに送信回数を付加することにより、受信側で感知装置からのデータを全て受信しているかを判断することが可能になる。
【００９３】
また、本発明に係る他の実施例として、１つの音源、若しくは、映像源からデータを配送する場合を説明する。通常、このようなデータはＵＤＰ（User Datagram Protocol）を使用して転送されるため、アプリケーションで検出しなければ、パケットが落ちたことを検出することができない。
【００９４】
この場合、図１に示す実施例と同じように、送信側から送信されるデータに送信回数を付加すれば、受信側でパケット落ちを検出することができ、アプリケーションにそのことを通知することができる。また、”累算器１”と比較する値”ｎ”及び”累算器２”と比較する値”ｍ”を適切に設定することにより、ある一定量までのパケット落ちを許容することが可能になる。
【００９５】
なお、図１に示す実施例においてゲートウェイ装置間の同期が取れていない場合にゲートウェイ装置５からゲートウェイ装置６へ全てのセッションテーブルを送信しているが、必ずしもこのように限定されるものでは無く、別の方法で同期を取るようにしてもよい。
【００９６】
また、図２に示す実施例において通信部を３つに分けているが、必ずしもこのように限定されるものでは無く、通信部を１つ、若しくは、２つにまとめてもよい。
【００９７】
また、図１から図８に示す実施例において同期用コマンドの送信回数をセッションテーブル、若しくは、同期用コマンドと共に送信しているが、必ずしも同時に送信する必要は無く、分割されたパケットでそれぞれ送信してもよい。
【図面の簡単な説明】
【００９８】
【図１】本発明に係るゲートウェイシステムの一実施例を示す構成ブロック図である。
【図２】ゲートウェイ装置の構成を示す構成ブロック図である。
【図３】クライアント−サーバ間の通信の動作を示すフロー図である。
【図４】ゲートウェイ装置間の同期が正常であるか否かを判断するフロー図である。
【図５】ゲートウェイ装置の計数器、累算器１及び累算器２の動作を説明する説明図である。
【図６】ゲートウェイ装置の計数器、累算器１及び累算器２の動作を説明する説明図である。
【図７】本発明に係るゲートウェイシステムの他の一実施例を示す構成ブロック図である。
【図８】ゲートウェイ装置間の同期が正常であるか否かを判断する他のフロー図である。
【図９】従来のゲートウェイシステムの一例を示す構成ブロック図である。
【図１０】クライアント−サーバ間の通信の動作を示すフロー図である。
【符号の説明】
【００９９】
１  サーバ
２，３，５，６，１２，１３，１４  ゲートウェイ装置
４  クライアント
７，８，９  通信部
１０  記憶部
１１  演算制御部
１００，１０１，１０２，１０３，１０４  ネットワーク
【図１】
0004687570.tif 000002
【図２】
0004687570.tif 000003
【図３】
0004687570.tif 000004
【図４】
0004687570.tif 000005
【図５】
0004687570.tif 000006
【図６】
0004687570.tif 000007
【図７】
0004687570.tif 000008
【図８】
0004687570.tif 000009
【図９】
0004687570.tif 000010
【図１０】
0004687570.tif 000011