(57)【要約】【課題】  中継ノードの障害に対して迅速に対応可能な通信システムを提供する。【解決手段】  運用状態監視部１８は監視対象となる中継ノードの運用状態を管理し、通信継続性有無判定部１９は監視対象となる中継ノードを経由するセッションが障害中継ノードを迂回しても通信が継続可能かどうかを判定する。通信継続性有無判定データ受信部２０は監視対象となる中継ノードを経由するセッションが障害中継ノードを迂回しても通信が継続可能かどうかを判定するためのデータを受信する。通信継続性有無判定データ送信部２１は監視対象となる中継ノードを経由するセッションが障害中継ノードを迂回しても通信が継続可能かどうかを判定するためのデータを送信する。リセット生成・送信部２２は監視対象である中継ノードが障害を起こした場合に通信のリセットを行う。【選択図】      図２
2006229399.tif 000002
【特許請求の範囲】
【請求項１】
送信端末と受信端末との間の通信を複数の中継ノードを介して行う通信システムであって、
前記中継ノード各々は、監視対象の中継ノードの運用状態を監視する手段と、前記監視対象の中継ノードにおいて障害が発生したことを検知した時に前記送信端末と前記受信端末との間で行われている通信を終了させる手段とを有することを特徴とする通信システム。
【請求項２】
前記中継ノード各々は、前記監視対象の中継ノードにおいて障害が発生したことを検知した時に前記監視対象の中継ノードを経由する通信セッションが通信継続可能かどうかを判定する手段を含み、
通信継続不可能と判定された通信セッションを終了させることを特徴とする請求項１記載の通信システム。
【請求項３】
前記通信を終了させる手段は、前記監視対象の中継ノードにおいて前記障害が発生した後に前記送信端末から送信されるデータ及び前記受信端末から送信される確認応答から前記通信を終了させるデータ及び確認応答を作成することを特徴とする請求項１または請求項２記載の通信システム。
【請求項４】
前記監視対象の中継ノードを経由する通信セッションが通信継続可能かどうかを判定する手段は、前記送信端末から送られてくるデータ及び前記受信端末から送られてくる確認応答が前記監視対象の中継ノードと通信するための同期が取れている場合に前記通信継続可能と判定すること特徴とする請求項２または請求項３記載の通信システム。
【請求項５】
前記監視対象の中継ノードを経由する通信セッションが通信継続可能かどうかを判定する手段は、前記送信端末に対して前記監視対象の中継ノードが送信すべき確認応答のシーケンス番号をずらして送信することを特徴とする請求項２から請求項４のいずれか記載の通信システム。
【請求項６】
前記監視対象の中継ノードを経由する通信セッションが通信継続可能かどうかを判定する手段は、前記送信端末に対して前記監視対象の中継ノードが送信すべき確認応答のシーケンス番号を進めて送信することを特徴とする請求項２から請求項４のいずれか記載の通信システム。
【請求項７】
送信端末と受信端末との間の通信を複数の中継ノードを介して行う通信システムであって、
前記中継ノード各々は、監視対象の中継ノードの運用状態を監視する手段と、前記監視対象の中継ノードの障害を検知した時に前記監視対象の中継ノードを経由する通信セッションを識別する手段と、その識別した前記監視対象の中継ノードを経由する通信セッションのみに対して通信を終了させる手段とを有することを特徴とする通信システム。
【請求項８】
前記監視対象の中継ノードを経由する通信セッションを識別する手段は、前記複数の中継ノード間で経路制御が行われている場合に経路制御情報を交換し、前記通信セッションが経由する中継ノードを特定することを特徴とする請求項７記載の通信システム。
【請求項９】
前記監視対象の中継ノードを経由する通信セッションを識別する手段は、通信確立を行う際のデータに前記中継ノードの情報を付加することを特徴とする請求項８記載の通信システム。
【請求項１０】
前記監視対象の中継ノードを経由する通信セッションを識別する手段は、通信中のデータ及び確認応答に前記中継ノードの情報を付加することを特徴とする請求項８記載の通信システム。
【請求項１１】
送信端末と受信端末との間の通信を複数の中継ノード及び複数の振り分け・集約ノードを介して行う通信システムであって、
前記中継ノード各々は、自ノードを経由していない通信セッションに対して通信継続可能かどうかを判定する手段と、通信継続不可能と判定された通信セッションを終了させる手段とを有することを特徴とする通信システム。
【請求項１２】
送信端末と受信端末との間の通信を複数の中継ノード及び複数の振り分け・集約ノードを介して行う通信システムであって、
前記中継ノード各々は、並列運用されている他の中継ノードの障害に備えて前記他の中継ノードを経由していた通信セッションのデータ及び確認応答を受信して通信継続可能かどうかを判断する手段と、通信継続不可能と判断された通信セッションを終了させる手段とを有することを特徴とする通信システム。
【請求項１３】
送信端末と受信端末との間の通信を中継する中継ノードであって、
監視対象の中継ノードの運用状態を監視する手段と、前記監視対象の中継ノードにおいて障害が発生したことを検知した時に前記送信端末と前記受信端末との間で行われている通信を終了させる手段とを有することを特徴とする中継ノード。
【請求項１４】
前記監視対象の中継ノードにおいて障害が発生したことを検知した時に前記監視対象の中継ノードを経由する通信セッションが通信継続可能かどうかを判定する手段を含み、
通信継続不可能と判定された通信セッションを終了させることを特徴とする請求項１３記載の中継ノード。
【請求項１５】
前記通信を終了させる手段は、前記監視対象の中継ノードにおいて前記障害が発生した後に前記送信端末から送信されるデータ及び前記受信端末から送信される確認応答から前記通信を終了させるデータ及び確認応答を作成することを特徴とする請求項１３または請求項１４記載の中継ノード。
【請求項１６】
前記監視対象の中継ノードを経由する通信セッションが通信継続可能かどうかを判定する手段は、前記送信端末から送られてくるデータ及び前記受信端末から送られてくる確認応答が前記監視対象の中継ノードと通信するための同期が取れている場合に前記通信継続可能と判定すること特徴とする請求項１４または請求項１５記載の中継ノード。
【請求項１７】
前記監視対象の中継ノードを経由する通信セッションが通信継続可能かどうかを判定する手段は、前記送信端末に対して前記監視対象の中継ノードが送信すべき確認応答のシーケンス番号をずらして送信することを特徴とする請求項１４から請求項１６のいずれか記載の中継ノード。
【請求項１８】
前記監視対象の中継ノードを経由する通信セッションが通信継続可能かどうかを判定する手段は、前記送信端末に対して前記監視対象の中継ノードが送信すべき確認応答のシーケンス番号を進めて送信することを特徴とする請求項１４から請求項１６のいずれか記載の中継ノード。
【請求項１９】
送信端末と受信端末との間の通信を中継する中継ノードであって、
監視対象の中継ノードの運用状態を監視する手段と、前記監視対象の中継ノードの障害を検知した時に前記監視対象の中継ノードを経由する通信セッションを識別する手段と、その識別した前記監視対象の中継ノードを経由する通信セッションのみに対して通信を終了させる手段とを有することを特徴とする中継ノード。
【請求項２０】
前記監視対象の中継ノードを経由する通信セッションを識別する手段は、前記複数の中継ノード間で経路制御が行われている場合に経路制御情報を交換し、前記通信セッションが経由する中継ノードを特定することを特徴とする請求項１９記載の中継ノード。
【請求項２１】
前記監視対象の中継ノードを経由する通信セッションを識別する手段は、通信確立を行う際のデータに前記中継ノードの情報を付加することを特徴とする請求項２０記載の中継ノード。
【請求項２２】
前記監視対象の中継ノードを経由する通信セッションを識別する手段は、通信中のデータ及び確認応答に前記中継ノードの情報を付加することを特徴とする請求項２０記載の中継ノード。
【請求項２３】
送信端末と受信端末との間の通信を複数の振り分け・集約ノードとともに中継する中継ノードであって、
自ノードを経由していない通信セッションに対して通信継続可能かどうかを判定する手段と、通信継続不可能と判定された通信セッションを終了させる手段とを有することを特徴とする中継ノード。
【請求項２４】
送信端末と受信端末との間の通信を複数の振り分け・集約ノードとともに中継する中継ノードであって、
並列運用されている他の中継ノードの障害に備えて前記他の中継ノードを経由していた通信セッションのデータ及び確認応答を受信して通信継続可能かどうかを判断する手段と、通信継続不可能と判断された通信セッションを終了させる手段とを有することを特徴とする中継ノード。
【請求項２５】
送信端末と受信端末との間の通信を複数の中継ノードを介して行う通信システムに用いられる通信方法であって、
前記中継ノード各々が、監視対象の中継ノードの運用状態を監視する処理と、前記監視対象の中継ノードにおいて障害が発生したことを検知した時に前記送信端末と前記受信端末との間で行われている通信を終了させる処理とを実行することを特徴とする通信方法。
【請求項２６】
前記中継ノード各々が、前記監視対象の中継ノードにおいて障害が発生したことを検知した時に前記監視対象の中継ノードを経由する通信セッションが通信継続可能かどうかを判定する処理を実行し、通信継続不可能と判定された通信セッションを終了させることを特徴とする請求項２５記載の通信方法。
【請求項２７】
前記通信を終了させる処理は、前記監視対象の中継ノードにおいて前記障害が発生した後に前記送信端末から送信されるデータ及び前記受信端末から送信される確認応答から前記通信を終了させるデータ及び確認応答を作成することを特徴とする請求項２５または請求項２６記載の通信方法。
【請求項２８】
前記監視対象の中継ノードを経由する通信セッションが通信継続可能かどうかを判定する処理は、前記送信端末から送られてくるデータ及び前記受信端末から送られてくる確認応答が前記監視対象の中継ノードと通信するための同期が取れている場合に前記通信継続可能と判定すること特徴とする請求項２６または請求項２７記載の通信方法。
【請求項２９】
前記監視対象の中継ノードを経由する通信セッションが通信継続可能かどうかを判定する手段は、前記送信端末に対して前記監視対象の中継ノードが送信すべき確認応答のシーケンス番号をずらして送信することを特徴とする請求項２６から請求項２８のいずれか記載の通信方法。
【請求項３０】
前記監視対象の中継ノードを経由する通信セッションが通信継続可能かどうかを判定する手段は、前記送信端末に対して前記監視対象の中継ノードが送信すべき確認応答のシーケンス番号を進めて送信することを特徴とする請求項２６から請求項２８のいずれか記載の通信方法。
【請求項３１】
送信端末と受信端末との間の通信を複数の中継ノードを介して行う通信システムに用いられる通信方法であって、
前記中継ノード各々が、監視対象の中継ノードの運用状態を監視する処理と、前記監視対象の中継ノードの障害を検知した時に前記監視対象の中継ノードを経由する通信セッションを識別する処理と、その識別した前記監視対象の中継ノードを経由する通信セッションのみに対して通信を終了させる処理とを実行することを特徴とする通信方法。
【請求項３２】
前記監視対象の中継ノードを経由する通信セッションを識別する手段は、前記複数の中継ノード間で経路制御が行われている場合に経路制御情報を交換し、前記通信セッションが経由する中継ノードを特定することを特徴とする請求項３１記載の通信方法。
【請求項３３】
前記監視対象の中継ノードを経由する通信セッションを識別する手段は、通信確立を行う際のデータに前記中継ノードの情報を付加することを特徴とする請求項３２記載の通信方法。
【請求項３４】
前記監視対象の中継ノードを経由する通信セッションを識別する手段は、通信中のデータ及び確認応答に前記中継ノードの情報を付加することを特徴とする請求項３２記載の通信方法。
【請求項３５】
送信端末と受信端末との間の通信を複数の中継ノード及び複数の振り分け・集約ノードを介して行う通信システムに用いられる通信方法であって、
前記中継ノード各々が、自ノードを経由していない通信セッションに対して通信継続可能かどうかを判定する処理と、通信継続不可能と判定された通信セッションを終了させる処理とを実行することを特徴とする通信方法。
【請求項３６】
送信端末と受信端末との間の通信を複数の中継ノード及び複数の振り分け・集約ノードを介して行う通信システムに用いられる通信方法であって、
前記中継ノード各々が、並列運用されている他の中継ノードの障害に備えて前記他の中継ノードを経由していた通信セッションのデータ及び確認応答を受信して通信継続可能かどうかを判断する処理と、通信継続不可能と判断された通信セッションを終了させる処理とを実行することを特徴とする通信方法。
【請求項３７】
送信端末と受信端末との間の通信を複数の中継ノードを介して行う通信システムに用いられる通信方法のプログラムであって、前記中継ノード各々のコンピュータに、監視対象の中継ノードの運用状態を監視する処理と、前記監視対象の中継ノードにおいて障害が発生したことを検知した時に前記送信端末と前記受信端末との間で行われている通信を終了させる処理とを実行させるためのプログラム。
【請求項３８】
送信端末と受信端末との間の通信を複数の中継ノードを介して行う通信システムに用いられる通信方法のプログラムであって、前記中継ノード各々のコンピュータに、監視対象の中継ノードの運用状態を監視する処理と、前記監視対象の中継ノードの障害を検知した時に前記監視対象の中継ノードを経由する通信セッションを識別する処理と、その識別した前記監視対象の中継ノードを経由する通信セッションのみに対して通信を終了させる処理とを実行させるためのプログラム。
【請求項３９】
送信端末と受信端末との間の通信を複数の中継ノード及び複数の振り分け・集約ノードを介して行う通信システムに用いられる通信方法のプログラムであって、前記中継ノード各々のコンピュータに、自ノードを経由していない通信セッションに対して通信継続可能かどうかを判定する処理と、通信継続不可能と判定された通信セッションを終了させる処理とを実行させるためのプログラム。
【請求項４０】
送信端末と受信端末との間の通信を複数の中継ノード及び複数の振り分け・集約ノードを介して行う通信システムに用いられる通信方法のプログラムであって、前記中継ノード各々のコンピュータに、並列運用されている他の中継ノードの障害に備えて前記他の中継ノードを経由していた通信セッションのデータ及び確認応答を受信して通信継続可能かどうかを判断する処理と、通信継続不可能と判断された通信セッションを終了させる処理とを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信システム、中継ノード及びそれらに用いる通信方法並びにそのプログラムに関し、特に通信システムを構成するいずれかの構成要素に発生する障害に対して耐性の高い通信システムに関する。
【背景技術】
【０００２】
従来、通信装置の障害対策としては、障害装置の切離しや冗長化等が行われている。この障害対策としては、例えば、装置内に迂回経路を用意しておき、障害発生時に迂回経路に切替えて通信を行う方法がある（例えば、非特許文献１参照）。また、冗長化に関しては、複数の装置を用意して、現用系と予備系として稼動させる方式がある（例えば、非特許文献２参照）。
【０００３】
特に、ＳＯＣＫＳサーバのように、通信装置が送受信端末間で行われている通信状態を管理し、かつ送信側に対して確認応答を送信する場合、通信状態を考慮した障害対策が必要となる。ここで述べられている通信状態とは、送受信端末間でどこからどこまで送られたという状態を表している。このような通信装置を介した通信において、通信装置に障害が発生した場合には、送受信端末間の通信状態のずれを解消することができず、通信断を引き起こす。
【０００４】
この障害について具体的に図５を参照して説明する。図５（ａ），（ｂ）は送信端末２と受信端末３との間で、トランスポート層でＴＣＰ（Ｔｒａｎｓｐｏｒｔ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）を用いた通信に関して中継ノード１−１，１−２が中継している様子を表している。
【０００５】
ここで、中継ノード１−１において障害が発生し、中継ノード１−２によって中継ノード１−１が切り離された後の通信について説明する。中継ノード１−１が切り離されると、送信端末２と中継ノード１−２との間、中継ノード１−２と受信端末３との間でそれぞれ通信が行われる。ここでは、送信端末２と中継ノード１−２との間、中継ノード１−２と受信端末３との間で行われる通信についてそれぞれ順を追って説明する。
【０００６】
まず、送信端末２と中継ノード１−２との間の通信について説明する。中継ノード１−１において障害が発生した時、送信端末２と中継ノード１−１との間のネットワーク上に送信端末２から送信された１３１番から１４０番までのデータと中継ノード１−１から送信された１２１番から１３０番までの確認応答が存在している。
【０００７】
また、中継ノード１−１と中継ノード１−２との間のネットワーク上には、中継ノード１−１から送信された１１１番から１２０番のデータと中継ノード１−２から送信された１０１番から１１０番の確認応答が存在している。さらに、送信端末２から送信された１２１番から１３０番のデータは消失してしまう。
【０００８】
障害発生後、送信端末２は１２１番から１３０番までの確認応答を受信する。この時、送信端末２は１３０番までのデータを廃棄する。中継ノード１−２は１１１番から１２０番のデータを受信して１１１番から１２０番までの確認応答を送信する。
【０００９】
送信端末２は中継ノード１−２から送信された１０１番から１１０番の確認応答と、１１１番から１２０番までの確認応答とを受信するが、すでに１３０番までの確認応答を受信して１３０番までのデータを廃棄しているので、無視する。中継ノード１−２では送信端末２から送信された１３１番から１４０番までのデータを受信するが、中継ノード１−２では１２１番から１３０番までのデータを受信していないので、１２０番の確認応答を送信する（送信端末２に対して１２１番のデータ要求を行う）。
【００１０】
送信端末２は１２１番の確認応答を受信するが、１２１番のデータはすでに確認応答受信済みなので無視する。送信端末２ではＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）のタイムアウトによって送信したが、確認応答を受信していない１３０番のデータを再送する。それに対して中継ノード１−２は送信端末２から送信された１３０番のデータを受信するが、１２１番を受信していないので、１２０番の確認応答を送信して１２１番のデータを送信端末２に要求する。
【００１１】
結局、中継ノード１−１の障害によって、送信端末は１３０番のデータを送信、中継ノード１−２は１２０番の確認応答を送信するという状態が続き、通信状態の同期が取れなくなる。これは１２１番から１３０番のデータが中継ノード１−１の障害によって失われたことに起因する。
【００１２】
次に、中継ノード１−２と受信端末３との間の通信について説明する。中継ノード１−１において障害が発生した時、中継ノード１−２と受信端末３との間のネットワーク上に、中継ノード１−２から送信された９１番から１００番までのデータと受信端末３から送信された８１番から９０番までのデータが存在する。
【００１３】
受信端末３は中継ノード１−２から送信されていた９１番から１００番までのデータを受信して９１番から１００番までのデータを送信する。中継ノード１−２は受信端末３から送信された８１番から１００番までの確認応答を受信する。中継ノード１−２は１２０番までのデータを送信する。受信端末３は１２０番までのデータを受信し、１２０番までの確認応答を送信する。中継ノード１−２は１２１番以降のデータを受信していないので、１２０番以降のデータは送信しない。
【００１４】
したがって、上記の動作では通信状態のずれを解消することができない。障害発生後、通信状態のずれによって無応答状態が続き、最終的には、送受信端末のアプリケーションが通信継続不可能であることを判断して通信を終了させるため、単純な切り離しでは、迅速な障害対策が行えないという問題がある。
【００１５】
また、通信装置を冗長化し、現用系と予備系とを用意し、双方の状態を同期させて運用する方法もある。この場合、現用系障害時に予備系に切替えて通信を継続することが可能であるが、常に現用系と予備系とでセッション毎に通信状態の同期を取らなければならず、処理コストが高いという問題がある。
【００１６】
【非特許文献１】“Ｐａｃｋｅｔ  Ｓｈａｐｅｒ技術情報”＜ｈｔｔｐ：／／ｗｗｗ．ｍａｃｎｉｃａ．ｎｅｔ／ｐａｃｋｅｔｅｅｒ／ｐａｃｋｅｔｓｈｐ＿ｔｅｃｈ．ｈｔｍｌ＞
【非特許文献２】Ｓ．Ｋｎｉｇｈｔ，ｅｔ  ａｌ．“Ｖｉｒｔｕａｌ  Ｒｏｕｔｅｒ  Ｒｅｄｕｎｄａｎｃｙ  Ｐｒｏｔｏｃｏｌ”（ＲＦＣ２３３８，Ａｐｒｉｌ  １９９８）＜ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ２３３８．ｔｘｔ＞
【発明の開示】
【発明が解決しようとする課題】
【００１７】
上述した従来の通信装置の障害対策では、中継ノードの障害に対して、送受信端末が障害を認識して通信をやり直さない限り通信を再開することができないため、迅速な障害対策が行われないという問題がある。
【００１８】
また、従来の通信装置の障害対策では、中継ノードの冗長化を行い、現用系と予備系とを配置して現用系障害時に切替えて障害対策を行うことが可能であるが、セッション毎に現用系と予備系とで通信状態の同期を取る必要があるため、処理負荷が増大するという問題が発生する。さらに、従来の通信装置の障害対策では、冗長化によって複数の装置を用意しなければならず、高コストであるということも問題となる。
【００１９】
そこで、本発明の目的は上記の問題点を解消し、中継ノードの障害に対して迅速に対応することができる通信システム、中継ノード及びそれらに用いる通信方法並びにそのプログラムを提供することにある。
【００２０】
また、本発明の他の目的は、低コストで耐障害性の高いシステムを実現することができる通信システム、中継ノード及びそれらに用いる通信方法並びにそのプログラムを提供することにある。
【課題を解決するための手段】
【００２１】
本発明による第１の通信システムは、送信端末と受信端末との間の通信を複数の中継ノードを介して行う通信システムであって、
前記中継ノード各々は、監視対象の中継ノードの運用状態を監視する手段と、前記監視対象の中継ノードにおいて障害が発生したことを検知した時に前記送信端末と前記受信端末との間で行われている通信を終了させる手段とを備えている。
【００２２】
本発明による第２の通信システムは、送信端末と受信端末との間の通信を複数の中継ノードを介して行う通信システムであって、
前記中継ノード各々は、監視対象の中継ノードの運用状態を監視する手段と、前記監視対象の中継ノードの障害を検知した時に前記監視対象の中継ノードを経由する通信セッションを識別する手段と、その識別した前記監視対象の中継ノードを経由する通信セッションのみに対して通信を終了させる手段とを備えている。
【００２３】
本発明による第３の通信システムは、送信端末と受信端末との間の通信を複数の中継ノード及び複数の振り分け・集約ノードを介して行う通信システムであって、
前記中継ノード各々は、自ノードを経由していない通信セッションに対して通信継続可能かどうかを判定する手段と、通信継続不可能と判定された通信セッションを終了させる手段とを備えている。
【００２４】
本発明による第４の通信システムは、送信端末と受信端末との間の通信を複数の中継ノード及び複数の振り分け・集約ノードを介して行う通信システムであって、
前記中継ノード各々は、並列運用されている他の中継ノードの障害に備えて前記他の中継ノードを経由していた通信セッションのデータ及び確認応答を受信して通信継続可能かどうかを判断する手段と、通信継続不可能と判断された通信セッションを終了させる手段とを備えている。
【００２５】
本発明による第１の中継ノードは、送信端末と受信端末との間の通信を中継する中継ノードであって、
監視対象の中継ノードの運用状態を監視する手段と、前記監視対象の中継ノードにおいて障害が発生したことを検知した時に前記送信端末と前記受信端末との間で行われている通信を終了させる手段とを備えている。
【００２６】
本発明による第２の中継ノードは、送信端末と受信端末との間の通信を中継する中継ノードであって、
監視対象の中継ノードの運用状態を監視する手段と、前記監視対象の中継ノードの障害を検知した時に前記監視対象の中継ノードを経由する通信セッションを識別する手段と、その識別した前記監視対象の中継ノードを経由する通信セッションのみに対して通信を終了させる手段とを備えている。
【００２７】
本発明による第３の中継ノードは、送信端末と受信端末との間の通信を複数の振り分け・集約ノードとともに中継する中継ノードであって、
自ノードを経由していない通信セッションに対して通信継続可能かどうかを判定する手段と、通信継続不可能と判定された通信セッションを終了させる手段とを備えている。
【００２８】
本発明による第４の中継ノードは、送信端末と受信端末との間の通信を複数の振り分け・集約ノードとともに中継する中継ノードであって、
並列運用されている他の中継ノードの障害に備えて前記他の中継ノードを経由していた通信セッションのデータ及び確認応答を受信して通信継続可能かどうかを判断する手段と、通信継続不可能と判断された通信セッションを終了させる手段とを備えている。
【００２９】
本発明による第１の通信方法は、送信端末と受信端末との間の通信を複数の中継ノードを介して行う通信システムに用いられる通信方法であって、
前記中継ノード各々が、監視対象の中継ノードの運用状態を監視する処理と、前記監視対象の中継ノードにおいて障害が発生したことを検知した時に前記送信端末と前記受信端末との間で行われている通信を終了させる処理とを実行している。
【００３０】
本発明による第２の通信方法は、送信端末と受信端末との間の通信を複数の中継ノードを介して行う通信システムに用いられる通信方法であって、
前記中継ノード各々が、監視対象の中継ノードの運用状態を監視する処理と、前記監視対象の中継ノードの障害を検知した時に前記監視対象の中継ノードを経由する通信セッションを識別する処理と、その識別した前記監視対象の中継ノードを経由する通信セッションのみに対して通信を終了させる処理とを実行している。
【００３１】
本発明による第３の通信方法は、送信端末と受信端末との間の通信を複数の中継ノード及び複数の振り分け・集約ノードを介して行う通信システムに用いられる通信方法であって、
前記中継ノード各々が、自ノードを経由していない通信セッションに対して通信継続可能かどうかを判定する処理と、通信継続不可能と判定された通信セッションを終了させる処理とを実行している。
【００３２】
本発明による第４の通信方法は、送信端末と受信端末との間の通信を複数の中継ノード及び複数の振り分け・集約ノードを介して行う通信システムに用いられる通信方法であって、
前記中継ノード各々が、並列運用されている他の中継ノードの障害に備えて前記他の中継ノードを経由していた通信セッションのデータ及び確認応答を受信して通信継続可能かどうかを判断する処理と、通信継続不可能と判断された通信セッションを終了させる処理とを実行している。
【００３３】
本発明による第１の通信方法のプログラムは、送信端末と受信端末との間の通信を複数の中継ノードを介して行う通信システムに用いられる通信方法のプログラムであって、前記中継ノード各々のコンピュータに、監視対象の中継ノードの運用状態を監視する処理と、前記監視対象の中継ノードにおいて障害が発生したことを検知した時に前記送信端末と前記受信端末との間で行われている通信を終了させる処理とを実行させている。
【００３４】
本発明による第２の通信方法のプログラムは、送信端末と受信端末との間の通信を複数の中継ノードを介して行う通信システムに用いられる通信方法のプログラムであって、前記中継ノード各々のコンピュータに、監視対象の中継ノードの運用状態を監視する処理と、前記監視対象の中継ノードの障害を検知した時に前記監視対象の中継ノードを経由する通信セッションを識別する処理と、その識別した前記監視対象の中継ノードを経由する通信セッションのみに対して通信を終了させる処理とを実行させている。
【００３５】
本発明による第３の通信方法のプログラムは、送信端末と受信端末との間の通信を複数の中継ノード及び複数の振り分け・集約ノードを介して行う通信システムに用いられる通信方法のプログラムであって、前記中継ノード各々のコンピュータに、自ノードを経由していない通信セッションに対して通信継続可能かどうかを判定する処理と、通信継続不可能と判定された通信セッションを終了させる処理とを実行させている。
【００３６】
本発明による第４の通信方法のプログラムは、送信端末と受信端末との間の通信を複数の中継ノード及び複数の振り分け・集約ノードを介して行う通信システムに用いられる通信方法のプログラムであって、前記中継ノード各々のコンピュータに、並列運用されている他の中継ノードの障害に備えて前記他の中継ノードを経由していた通信セッションのデータ及び確認応答を受信して通信継続可能かどうかを判断する処理と、通信継続不可能と判断された通信セッションを終了させる処理とを実行させている。
【００３７】
すなわち、本発明の第１の通信システムは、中継ノード同士で運用状態を監視し、中継ノードの障害発生時に、監視している中継ノードが送受信端末で行われている通信を終了させる手段と、障害を起こした中継ノードを経由して通信が行われていた各セッションに関して障害を起こした中継ノードを迂回しても通信継続可能かどうかを判定し、通信継続可能なセッションに関して通信を継続させる手段とを有することで、中継ノードの障害に対して迅速に対応することが可能となり、低コストで耐障害性の高いシステムが実現可能となる。
【００３８】
本発明の第２の通信システムは、障害を起こした中継ノードを経由するセッションを特定する手段を有することで、障害を起こした中継ノードを経由するセッションのみに対して障害対策を行うことが可能となり、障害を起こした中継ノードを経由しないセッションに対して影響を与えない。また、本発明の第２の通信システムでは、ネットワークに対して余計なデータ及び確認応答を送出することを防ぐことが可能となる。
【００３９】
本発明の第３の通信システムは、中継ノードが並列接続されて運用されている場合、並列接続されている中継ノードの中で、生存している中継ノードが障害を起こした中継ノードを経由するデータ及び確認応答の受信のみで、通信継続可能かどうかを判定し、通信継続不可能なセッションに対して通信を終了させる手段を有することで、ネットワークに対して余計なデータ及び確認応答を送出するのを防ぐことが可能となる。
【００４０】
上記の如く、本発明の通信システムでは、中継ノード障害時に、生存している中継ノードが送受信端末間の通信セッションを終了させることで、送受信端末における無通信状態を解消し、即時、通信をやり直すことが可能となる。
【００４１】
また、本発明の通信システムでは、中継ノード障害時に、生存している中継ノードが、通信継続可能かどうかを判定し、通信継続不可能な通信セッションのみ通信を終了させることで、通信継続可能な通信セッションを終了させることがないため、通信効率低下を防ぐことが可能となる。
【００４２】
さらに、本発明の通信システムでは、障害を起こした中継ノードを経由する通信に対してのみ、障害対策を行うことで、障害対策用のデータ送出を抑制することが可能となり、ネットワークの負荷増大を防ぐことが可能となる。
【００４３】
したがって、本発明の通信システムでは、中継ノード障害時に、送受信端末に対して通信の再度やり直しを促すべく障害通知を行うことで、中継ノードの障害に対して迅速に対応することが可能となる。
【００４４】
また、本発明の通信システムでは、中継ノードを冗長化することなく、中継ノード同士で障害監視及び対策を講じることによって、低コストで耐障害性の高いシステムが実現可能となる。
【発明の効果】
【００４５】
本発明の通信システムは、以下に述べるような構成及び動作とすることで、
中継ノードの障害に対して迅速に対応することができるという効果が得られる。
【００４６】
また、本発明の他の通信システムは、以下に述べるような構成及び動作とすることで、低コストで耐障害性の高いシステムを実現することができるという効果が得られる。
【発明を実施するための最良の形態】
【００４７】
次に、本発明の実施の形態について図面を参照して説明する。図１は本発明の実施の形態による通信システムの構成を示すブロック図である。図１において、本発明の実施の形態による通信システムは中継ノード１−１，１−２と、送信端末２と、受信端末３とから構成されている。
【００４８】
本発明の実施の形態による通信システムでは、送信端末２と受信端末３との間の通信において、送達確認を行う通信を想定している。この通信システムにおいて、本実施の形態では、中継ノード１−１と中継ノード１−２とが互いの運用状態を監視しており、いずれか一方の中継ノード（図１では中継ノード１−１）が障害を起こした場合には、他方の中継ノード（図１では中継ノード１−２）が通信継続可能なセッションの通信を継続させ、通信継続不可能なセッションに対して送信端末２と受信端末３との間で行われている通信を終了させる。
【００４９】
上記のように、本発明の実施の形態による通信システムでは、中継ノード１−１，１−２のいずれかの障害時に、送信端末２と受信端末３とに対して通信の再度やり直しを促すべく障害通知を行うことで、中継ノード１−１，１−２の障害に対して迅速に対応することができる。
【００５０】
また、本発明の実施の形態による通信システムでは、中継ノード１−１，１−２を冗長化することなく、中継ノード１−１，１−２同士で障害監視及び対策を講じることによって、低コストで耐障害性の高いシステムを実現することができる。
【実施例１】
【００５１】
図２は本発明の第１の実施例による中継ノードの構成を示すブロック図である。図２において、中継ノード１は入力部１１と、データ処理部１２と、状態保持部１３と、確認応答送信部１４と、バッファ部１５と、確認応答受信部１６と、出力部１７と、運用状態監視部１８と、通信継続性有無判定部１９と、通信継続性有無判定データ受信部２０と、通信継続性有無判定データ送信部２１と、リセット生成・送信部２２とから構成されている。尚、本発明の第１の実施例による通信システムは上記の図１に示す本発明の実施の形態による通信システムと同様であるので、その構成についての説明は省略する。また、図２では、中継ノード１に対して図の左から右への通信に関する構成のみを図示し、図の右から左への通信に関する構成は省略している。
【００５２】
入力部１１は受信したデータを入力し、データ処理部１２は入力部１１からの受信データを処理し、状態保持部１３はデータ処理部１２による処理結果の状態を保持する。確認応答送信部１４はデータの受信状況を確認して確認応答を送信する。バッファ部１５はデータ処理部１２からの出力データを一時的に蓄積しておく。
【００５３】
確認応答受信部１６は送信したデータに対する確認応答を受信する。出力部１７はバッファ部１５から取出したデータ及び入力部１１から受信したデータを出力する。運用状態監視部１８は監視対象となる中継ノードの運用状態を管理し、通信継続性有無判定部１９は監視対象となる中継ノードを経由するセッションが障害中継ノードを迂回しても通信が継続可能かどうかを判定する。
【００５４】
通信継続性有無判定データ受信部２０は監視対象となる中継ノードを経由するセッションが障害中継ノードを迂回しても通信が継続可能かどうかを判定するためのデータを受信する。通信継続性有無判定データ送信部２１は監視対象となる中継ノードを経由するセッションが障害中継ノードを迂回しても通信が継続可能かどうかを判定するためのデータを送信する。リセット生成・送信部２２は監視対象である中継ノードが障害を起こした場合に通信のリセットを行う。
【００５５】
図３は図２の状態保持部１３で保持するデータの保持形式を示す図である。図３において、状態保持部１３にはセッションを特定する情報と、受信側シーケンス（番号）と、送信側シーケンス（番号）と、送信元情報と、宛先情報とが保持されている。
【００５６】
図４（ａ），（ｂ）は本発明の第１の実施例において中継ノードにおいて障害が発生した場合の通信状況を示す図であり、図５（ａ），（ｂ）は本発明の第１の実施例による中継ノード１において障害が発生した場合の通信状況を示す図である。図６及び図７は本発明の第１の実施例による中継ノード１における監視処理を示すフローチャートであり、図８は図２の通信継続性有無判定部１９における判定処理を示すフローチャートである。
【００５７】
これら図１〜図８を参照して本発明の第１の実施例の動作について説明する。尚、図６〜図８に示す処理は、中継ノード１が図示せぬＣＰＵ（中央処理装置）及びメモリから構成される場合、ＣＰＵがメモリに格納されたプログラムを実行するとともに、各記憶部に保持されたデータを用いることで実現される。
【００５８】
まず、運用状態管理部１８における状態監視について説明する。運用状態監視部１８は監視対象となる中継ノードの識別情報を保持しており、監視対象となる中継ノードに対して監視パケットを送信し（図６ステップＳ２）、これに対する応答がない場合（図６ステップＳ３）、もしくは障害が発生したことを通知する応答がある場合（図６ステップＳ４）、その監視対象となる中継ノードを障害状態として登録する（図６ステップＳ５）。ここで述べられている障害とは、中継ノードの故障、ＣＰＵ（中央処理装置）過負荷状態、メモリ使用率が高い場合、トラヒック量がある一定の値を越える場合等、中継ノードが通常の運用状態とは異なる状態のことを示す。
【００５９】
一方、中継ノード１が監視対象となる中継ノードから監視パケットを受信した場合（図６ステップＳ１）、中継ノード１は障害が発生していなければ（図７ステップＳ１１）、通常の応答を行い（図７ステップＳ１２）、障害が発生していれば（図７ステップＳ１１）、障害を通知する応答を行う（図７ステップＳ１３）。
【００６０】
通常動作時、中継ノード１は入力されるデータに対して、通信に必要な処理を行って出力する。入力部１１において受信されたデータは運用状態監視部１８からの指示に応じてデータ処理部１２に出力される。データ処理部１２では中継ノード１でのデータ受信状況、送信元、宛先を一意に特定する情報を読取って状態保持部１３に通知する。状態保持部１３ではデータ処理部１２から通知された結果を図３に示すような形式にて保持する。また、データ処理部１２で処理されたデータはバッファ部１５に蓄積される。
【００６１】
確認応答受信部１６は中継ノード１から送信したデータに対する確認応答を確認し、出力すべきデータを出力部１７に指示する。また、確認応答受信部１６は状態情報保持部１３に対しても通知を行う。出力部１７は確認応答受信部１６の指示にしたがってバッファ部１５からデータを取出して出力する。
【００６２】
次に、監視対象となる中継ノードが障害を起こした場合の中継ノード１の動作について説明する。まず、監視対象となる中継ノードの動作について説明する。監視対象となる中継ノードでは運用状態監視部１８において障害と認識した場合に障害として登録し、監視している中継ノードに障害を通知する。また、運用状態監視部１８は入力部１１に対して受信したデータを出力部１７に出力するように指示する（図７ステップＳ１４）。
【００６３】
障害発生時に対処する中継ノード（監視している中継ノード）の動作について説明する。中継ノード１は監視対象となる中継ノードにおいて障害発生という通知を受けるか（図６ステップＳ４）、あるいは監視対象となる中継ノードからの運用状態通知がない場合（図６ステップＳ３）、運用状態監視部１８にて監視対象となる中継ノードの状態を障害として登録し（図６ステップＳ５）、その障害状態を通信継続性有無判定データ判定部１９と通信継続性有無データ受信部２０と通信継続性有無データ送信部２１とにそれぞれ通知する（図６ステップＳ６）。
【００６４】
通信継続性有無判定部１９は送信端末２と受信端末３との間の通信において、監視対象となる中継ノードを経由する通信に関して通信継続可能なセッションと継続不可能なセッションとの判定を行う（図６ステップＳ７）。これらのセッションの判定方法については以下の通りである。
【００６５】
まず、通信継続性有無判定部１９及び通信継続性有無データ送信部２１は運用状態監視部１８から障害通知を受けた後、状態保持部１３の情報を取得して保持する。通信継続性有無判定データ受信部２０は送信端末２及び受信端末３側から送出されたデータ及び確認応答を受信すると、受信したデータに付加されている送信元、宛先、同一セッション中のデータ及び確認応答を一意に識別する情報［例えば、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）のシーケンス番号等］を通信継続性有無判定部１９へ送信する。
【００６６】
通信継続性有無判定部１９では、障害前に取得したセッション毎の情報と通信継続性有無判定データ受信部２０から取得したデータとを比較し（図８ステップＳ２１）、送信端末２及び受信端末３と通信状態の同期が取れている場合に、通信継続可能なセッションと判定して、その判定結果を保持する（図８ステップＳ２２，Ｓ２３）。逆に、通信継続性有無判定部１９では、送信端末２及び受信端末３と通信状態の同期が取れていない場合に、通信継続不可能なセッションと判定し（図５に示す状態）、その判定結果を保持する（図８ステップＳ２２，Ｓ２４）。その際、判定に使った通信継続性有無判定データ受信部２０から取得したデータをリセット生成・送信部２２へ通知する（図６ステップＳ８，Ｓ９）。
【００６７】
ここで、通信状態の同期について図４及び図５を用いて説明する。まず、図４を用いて中継ノード１−１に障害が発生して切離しを行っても通信状態の同期が取れている場合について説明する。送信端末２と中継ノード１−２との間、中継ノード１−２と受信端末３との間に分けて通信状態の同期に関して説明する。
【００６８】
送信端末２と中継ノード１−２との間での通信状態の同期について述べると、中継ノード１−１において障害が発生した時、送信端末２と中継ノード１−１との間のネットワーク上に送信端末２から送信されていた１３１番から１４０番のデータと、中継ノード１−１から送信されていた１２１番から１３０番までの確認応答とが存在している。
【００６９】
送信端末２は中継ノード１−１から送信されていた１２１番から１３０番の確認応答を受信し、１３０番までのデータを送信済みと判定して廃棄する。送信端末２は中継ノード１−２から送信された１２１番から１３０番の確認応答を受信するが、すでに受信済みなので無視する。
【００７０】
中継ノード１−２は送信端末２から送信されていた１３１番から１４０番までのデータを受信し、１３１番から１４０番までの確認応答を受信する。送信端末２は１３１番から１４０番までの確認応答を受信すると、１４１番以降のデータを送信する。
【００７１】
このように、中継ノード１−２の確認応答に対して、中継ノード１−１が受信を期待するデータが送信端末２から送信されている状態を通信状態の同期が取れているという。この場合、中継ノード１−２が１３１番以降のデータを受信したことで、送信端末２と通信状態の同期が取れていると判断する。
【００７２】
中継ノード１−２と受信端末３との間での通信状態の同期について述べると、中継ノード１−１において障害が発生した時、中継ノード１−２と受信端末３との間のネットワーク上に中継ノード１−２から送信された１２１番から１３０番のデータと受信端末３から送信された１１１番から１２０番の確認応答とが存在している。
【００７３】
受信端末３は中継ノード１−２から送信されていた１２１番から１３０番までのデータを受信し、１２１番から１３０番までの確認応答を受信する。このように、中継ノード１−２から送信されているデータに対して、中継ノード１−２が期待する確認応答を受信している状態を通信状態の同期が取れているという。この場合、中継ノード１−２が１１１番以降の確認応答を受信したことで、受信端末３と同期が取れていると判断する。
【００７４】
図４に示すような状況においては、中継ノード１−１において障害発生後に、中継ノード１−２と送信端末２との間、中継ノード１−２と受信端末３との間において通信状態の同期が取れているので、このようなセッションは通信継続可能である。
【００７５】
次に、図５を用いて中継ノードに障害が発生して切離しを行い、通信状態の同期が取れない場合について説明する。送信端末２と中継ノード１−２との間、中継ノード１−２と受信端末３との間に分けて通信状態の同期に関して説明する。
【００７６】
送信端末２と中継ノード１−２との間での通信状態の同期について述べると、中継ノード１−１において障害が発生した時、送信端末２と中継ノード１−１との間のネットワーク上に送信端末２から送信された１３１番から１４０番までのデータと中継ノード１−１から送信された１２１番から１３０番までの確認応答とが存在している。また、中継ノード１−１と中継ノード１−２との間のネットワーク上には、中継ノード１−１から送信された１１１番から１２０番のデータと中継ノード１−２から送信された１０１番から１１０番の確認応答とが存在している。
【００７７】
中継ノード１−１の障害発生後、送信端末２は１２１番から１３０番までの確認応答を受信する。この時、送信端末２は１３０番までのデータを廃棄する。中継ノード１−２は１１１番から１２０番のデータを受信し、１１１番から１２０番までの確認応答を送信する。
【００７８】
送信端末２は中継ノード１−２から送信された１０１番から１１０番の確認応答と、１１１番から１２０番までの確認応答とを受信するが、すでに１３０番までの確認応答を受信し、１３０番までのデータを廃棄しているので、それらの確認応答を無視する。
【００７９】
中継ノード１−２では送信端末２から送信された１３１番から１４０番までのデータを受信するが、１２１番から１３０番までのデータを受信していないので、１２０番の確認応答を送信する（送信端末２に対して１２１番のデータ要求を行う）。
【００８０】
送信端末２は１２１番の確認応答を受信するが、１２１番のデータがすでに確認応答受信済みなので、その確認応答を無視する。送信端末２ではＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）のタイムアウトによって、送信したが確認応答を受信していない１３０番のデータを再送する。それに対して、中継ノード１−２は送信端末２から送信された１３０番のデータを受信するが、１２１番を受信していないので、１２０番の確認応答を送信して１２１番のデータを送信端末２に要求する。
【００８１】
結局、中継ノード１−１の障害によって、送信端末２は１３０番のデータを送信、中継ノード１−２は１２０番の確認応答を送信するという状態が続き、通信状態の同期が取れなくなる。これは、１２１番から１３０番のデータが中継ノード１−１の障害によって失われたことに起因する。
【００８２】
中継ノード１−２と受信端末３との間での通信状態の同期について述べると、中継ノード１−１において障害が発生した時、中継ノード１−２と受信端末３との間のネットワーク上に、中継ノード１−２から送信された９１番から１００番までのデータと、受信端末３から送信された８１番から９０番までの確認応答とが存在する。
【００８３】
受信端末３は中継ノード１−２から送信されていた９１番から１００番までのデータを受信して９１番から１００番までのデータを送信する。中継ノード１−２は受信端末３から送信された８１番から１００番までの確認応答を受信する。中継ノード１−２は１２０番までのデータを送信する。受信端末３は１２０番までのデータを受信し、１２０番までの確認応答を送信する。中継ノード１−２は１２１番以降のデータを受信していないので、１２０番以降のデータを送信しない。
【００８４】
このように、中継ノード１−２から送信されているデータに対して、中継ノード１−２が期待する確認応答を受信している状態を通信状態の同期が取れているという。この場合、中継ノード１−２は１１１番以降の確認応答を受信することで、受信端末３と同期が取れていると判断する。これは、中継ノード１−２と受信端末３との間の通信が中継ノード１−１の障害に関係がないためである。
【００８５】
図５に示すような状況においては、中継ノード１−１において障害発生後に、中継ノード１−２と受信端末３との間において通信状態の同期が取れているが、中継ノード１−２と送信端末２との間において通信状態の同期が取れない場合、このようなセッションは、通信継続不可能と判定する。
【００８６】
ここでは、図４及び図５において送信端末２側の中継ノード１−１において障害が発生した場合を例に挙げて説明したが、受信端末３側の中継ノード１−２が障害を起こした場合も、上述した動作と同様の動作が行われる。
【００８７】
尚、受信端末３側の中継ノード１−２が障害を起こした場合には、送信端末２及び受信端末３から送信されてくるデータ及び確認応答において、順次の逆転が生じたり、廃棄される可能性がある。そのため、障害発生後に送られてくる単一のデータ及び確認応答だけで通信状態の同期の有無を判定すると、誤った判定を出してしまう可能性が高い。そこで、通信状態の同期の有無を判定する場合には、一定数以上のデータ及び確認応答を受信するか、一定時間内に受信するデータ及び確認応答を用いて判定を行う。
【００８８】
また、一定期間、送信端末２及び受信端末３側からデータ及び確認応答を受信することができず、中継ノード１が送信端末２及び受信端末３と通信状態の同期が取れているかどうか不明な場合（送信端末２と中継ノード１−２との間での通信状態の同期で記載されている図４において、１３１番から１４０番のデータが、障害を起こした中継ノード１−１の切離しを行う際に失われた場合）、通信継続性有無判定データ送信部２０は送信端末２に対して、図５に示すように、中継ノード１−２よりも送信状態が進んでいる可能性が高いため、中継ノード１−２の状態保持部１３で保持されているシーケンス番号よりも進めて確認応答を送信し、送信端末２からデータが送信されるようにする。例えば、図５に示すような状況においては、１３１番以降の確認応答を送信する。
【００８９】
すると、送信端末２から１３１番以降のデータが送信されるので、通信を終了させるためのデータを取得することができる。受信端末３に対しては、中継ノード１−２が直接通信を行っているので、シーケンスをずらしてデータを送信する必要はない。
【００９０】
図５において、中継ノード１−２が障害を起こして、中継ノード１−１が対処する場合、中継ノード１−１に保持しているデータを送信すれば、受信端末３が１００番の確認応答を送信するので、通信を終了させるため確認応答を取得することができる。
【００９１】
リセット生成・送信部２２は通信継続性有無判定部１９において通信継続不可能と判定されたセッションに対して、障害発生後に送信端末２及び受信端末３から得られるデータ及び確認応答からデータ及び確認応答を生成し、通信を終了させるデータを付加して送信する（図６ステップＳ１０）。
【００９２】
図５に示すような状況では、送信端末２の通信を終了させる場合、送信端末２から得られる１３１番から１４０番のデータのうちいずれかに対する確認応答を生成し、通信を終了させるデータを付加する。受信端末３の通信を終了させる場合、８１番から１２０番の確認応答のうちいずれかに対するデータを作成し、通信を終了させるデータを付加する。
【００９３】
本実施例においては、データに対する確認応答を例として説明しているが、それらの代わりに、アプリケーション層のリクエストとそれに対するレスポンスを用いても良い。
【００９４】
このように、本実施例では、中継ノード１−１，１−２を冗長化することなく、運用されている中継ノード１−１，１−２同士で障害を監視し、障害が発生した場合に、通信継続性有無判定部１９で通信継続可能なセッションの通信を継続させ、通信継続不可能なセッションの通信を終了させることで、迅速な障害対策を行うことができる。
【００９５】
尚、本実施例では、通信システムが、シーケンス番号を付け直してデータを送信する中継ノードで構成されている場合、中継ノードにおいて障害が発生すると、監視していた中継ノードが通信継続不可能と判定し、送受信側から送られてくるデータ及び確認応答を利用して通信セッションを終了させる。また、本実施例では、中継ノードにおいて、ＩＰアドレス、ポート番号、通信セッションのオプション情報が異なる場合、上記と同様に、中継ノードにおいて障害が発生すると、監視していた中継ノードが通信継続不可能と判定し、送受信側から送られてくるデータ及び確認応答を利用して通信セッションを終了させる。
【実施例２】
【００９６】
図９は本発明の第２の実施例による中継ノードの構成を示すブロック図である。図９において、本発明の第２の実施例による中継ノード４は、処理部１２の代わりに、自ノード情報付加部４１ａを具備する処理部４１を設けた以外は図２に示す本発明の第１の実施例による中継ノード１と同様の構成となっており、同一構成要素には同一符号を付してある。
【００９７】
自ノード情報付加部４１ａは処理部４１が入力部１１にて受信したデータの処理を行ってバッファ部１５に出力する際に、自ノードを経由したという情報を付加するものである。
【００９８】
図１０は図９の状態保持部１３に保持されている情報を示す図である。図１０において、本発明の第２の実施例による状態保持部１３には上記の図３に示す本発明の第１の実施例による状態保持部１３に保持されているデータに加えて、経由中継ノードの情報が保持されている。
【００９９】
図１１は本発明の第２の実施例による通信システムの構成を示すブロック図である。図１１において、本発明の第２の実施例による通信システムは送信端末２−１，２−２と、受信端末３と、中継ノード４−１〜４−３とから構成されている。中継ノード４−１〜４−３は互いに運用状態を監視し、障害対策を行っている。
【０１００】
図１２〜図１４は本発明の第２の実施例による中継ノード４における監視処理を示すフローチャートである。これら図９〜図１４を参照して本発明の第２の実施例による通信システムの動作について説明する。本発明の第２の実施例による中継ノード４は、上述した本発明の第１の実施例による中継ノード１と略同一の動作となっているので、その動作の差分について説明する。
【０１０１】
尚、図１２〜図１４に示す処理は、中継ノード４が図示せぬＣＰＵ（中央処理装置）及びメモリから構成される場合、ＣＰＵがメモリに格納されたプログラムを実行するとともに、各記憶部に保持されたデータを用いることで実現される。また、図１２のステップＳ３１〜Ｓ３６と図１３のステップＳ３９〜Ｓ４２と図１４のステップＳ４３〜Ｓ４６との処理は上述した図６のステップＳ１〜Ｓ１０と図７のステップＳ１１〜Ｓ１４との処理と同様の動作であるのでその説明を省略する。
【０１０２】
中継ノード４がデータを受信すると、自ノード情報付加部４１ａにおいてデータに中継ノード４を一意に識別する情報を付加してバッファ部１５に送出する。この場合の情報の付加方法としては、送信端末２−１，２−２と受信端末３との間において、コネクション開設時のデータに、例えば、ＴＣＰのコネクション開設の際の３ウェイハンドシェイク時のデータに、自ノード情報を付加させる方法、または通信中のデータ及び確認応答に付加させる方法がある。
【０１０３】
また、データ処理部４１ではデータに付加されている送信元、宛先、セッションにおい、てデータを一意に識別する情報（例えば、ＴＣＰのシーケンス番号等）と、中継ノード４で受信するまでに経由してきた中継ノードを一意に識別する情報とを状態保持部１３に通知する。その際、状態保持部１３には、図７に示すような形式でデータを保持しておく。
【０１０４】
次に、障害発生時の一連の動作について説明する。中継ノード４−３は監視対象として中継ノード４−１，４−２を監視している。監視対象である中継ノード４−１において障害が発生すると、中継ノード４−３は運用状態監視部１８から中継ノード４−１において障害が発生したという通知を通信継続性有無判定部１９に通知する（図１２ステップＳ３１〜Ｓ３６）。
【０１０５】
通信継続性有無判定部１９は状態保持部１３と通信継続性有無判定データ受信部２０とから取得した情報と、運用状態監視部１８から取得した情報とを比較し（図１２ステップＳ３７）、障害を起こした中継ノード４−１を経由してきたセッションに対してのみ（図１１におけるセッションＡ）、通信継続可能かどうかを判定する（図１２ステップＳ３８）。通信継続不可能な場合には通信を終了させ、通信継続可能な場合には通信を継続させる（図１３ステップＳ３９〜Ｓ４２）。
【０１０６】
このように、本実施例では、上述した本発明の第１の実施例と同様に、迅速な障害対策を行うことができる。また、本実施例では、自ノード情報付加部４１ａによって通信セッションがどの中継ノードを経由してきたかという情報が得られるため、中継ノードに障害が発生した場合、障害が発生した中継ノードを経由する通信セッションのみに対して障害対策を行うことができるので、中継ノードの障害に関係のない通信セッションに影響を与えることなく、障害対策用のデータ及び確認応答を必要最小限にとどめることができる。
【実施例３】
【０１０７】
図１５は本発明の第３の実施例による中継ノードの構成を示すブロック図である。図１５において、本発明の第３の実施例による中継ノード５は各セッションが経由する中継ノードを特定するための経路制御情報交換部５１及び経路制御情報蓄積部５２を加えた以外は図１に示す本発明の第１の実施例による中継ノード１と同様の構成となっており、同一構成要素には同一符号を付してある。尚、本発明の第３の実施例による通信システムは上記の図１１に示す本発明の第２の実施例による通信システムと同様の構成となっているので、その構成については説明を省略する。
【０１０８】
図１６は図１５の経路情報蓄積部５２に蓄積されている経路情報のデータ形式を示す図である。図１６において、経路情報蓄積部５２には中継ノード、宛先、転送先中継ノード各々の情報が蓄積されている。
【０１０９】
これら図１５及び図１６を参照して本発明の第３の実施例による通信システムの動作について説明する。本発明の第３の実施例による中継ノード５は、上述した本発明の第１の実施例による中継ノード１及び本発明の第２の実施例による中継ノード４と略同一の動作となっているので、その動作の差分について説明する。
【０１１０】
中継ノード５ではルータのように中継ノード間で経路制御を行っているものとする。中継ノード４−１〜４−３において、経路制御情報交換部５１は経路制御情報の交換を行い、経路制御情報蓄積部５２に、図１６に示すようなデータ形式で経路制御情報を蓄積する。経路制御情報蓄積部５２に蓄積されたデータは状態保持部１３に通知される。
【０１１１】
状態保持部１３は経路制御情報蓄積部５２から取得した経路制御情報と、データ受信時にデータ処理部１２から得られる送信元、宛先情報とを用いて、セッションがどの中継ノードを経由してきたか特定して情報を保持しておく。これによって、上述した本発明の第２の実施例と同様に、障害を起こした中継ノード経由のセッションのみに対して、障害対策を行うことができる。
【０１１２】
このように、本実施例では、本発明の第１の実施例と同様に、迅速な障害対策を行うことができる。また、本実施例では、中継ノード間で経路制御が行われている場合、経路制御情報交換部５１によって通信セッションがどの中継ノードを経由してきたかという情報が得られるため、中継ノードに障害が発生した場合、障害が発生した中継ノードを経由する通信セッションのみに対して障害対策を行うことができるので、中継ノードの障害に関係のない通信セッションに影響を与えることなく、障害対策用のデータ及び確認応答を必要最小限にとどめることができる。
【実施例４】
【０１１３】
図１７は本発明の第４の実施例による中継ノードの構成を示すブロック図である。図１７において、本発明の第４の実施例による中継ノード６は入力部６１と、データ処理部６２と、状態保持部６３と、確認応答送信部６４と、バッファ部６５と、確認応答受信部６６と、出力部６７と、他中継ノード経由通信継続性有無判定データ受信部６８と、他中継ノード経由通信継続性有無判定部６９と、リセット生成・送信部７０と、運用状態監視部７１とから構成されている。尚、図１７では、中継ノード６に対して図の左から右への通信に関する構成のみを図示しており、図１１の右から左への通信に関する構成を省略している。
【０１１４】
中継ノード６において、入力部６１は受信したデータを入力し、データ処理部６２は入力部６１からの受信データを処理する。状態保持部６３はデータ処理部６２の処理結果の状態を保持する。確認応答送信部６４はデータの受信状況を確認して確認応答を送信する。バッファ部６５はデータ処理部６２からの出力データを一時的に蓄積しておく。確認応答受信部６６は送信したデータに対する確認応答を受信する。出力部６７はバッファ部６５から取出したデータを出力する。
【０１１５】
他中継ノード経由通信継続性有無判定データ受信部６８は自中継ノード以外で障害が発生し、障害を起こした中継ノードを経由するセッションのデータを受信する。他中継ノード経由通信継続性有無判定部６９は障害を起こした中継ノードを経由するセッションを自中継ノードで中継して通信継続可能かどうかを判定する。リセット生成・送信部７０は他中継ノード経由通信継続性有無判定部６９で通信継続不可能と判定されたセッションに対して通信を終了させるためのデータ及び確認応答を生成して送信する。運用状態監視部７１は自中継ノードの運用状態を関して図示せぬ振り分け・集約ノードに通知する。
【０１１６】
図１８は本発明の第４の実施例による振り分け・集約ノードの構成を示すブロック図である。図１８において、本発明の第４の実施例による振り分け・集約ノード８は受信したデータを入力する入力部８１と、データに付加されている送信元、宛先等の情報を読出すデータ処理部８２と、データを出力する出力部８３と、データ処理部８２から得られる送信元、宛先等の情報からデータの振り分けを行うための情報を保持しておく振り分け情報保持部８４と、中継ノード６の運用状態を監視する運用状態監視部８５とから構成されている。
【０１１７】
図１９は本発明の第４の実施例による通信システムの構成を示すブロック図である。図１９において、本発明の第４の実施例による通信システムは送信端末２と、受信端末３と、中継ノード６−１〜６−４と、振り分け・集約ノード８−１〜８−４とから構成されている。
【０１１８】
図２０は図１８の振り分け情報保持部８４に蓄積されているデータ形式を示す図である。図２０において、振り分け情報保持部８４にはセッション、送信元、宛先、ポート番号、振分先各々の情報が蓄積されている。
【０１１９】
図２１は本発明の第４の実施例による中継ノード６における監視処理を示すフローチャートである。これら図１７〜図２１を参照して本発明の第４の実施例による通信システムの動作について説明する。まず、中継ノード６の動作について説明する。本発明の第４の実施例による中継ノード６の動作は上述した本発明の第１の実施例による中継ノード１と略同一となっているので、本発明の第１の実施例による中継ノード１の動作との差分について説明する。
【０１２０】
尚、図２１に示す処理は、中継ノード６が図示せぬＣＰＵ（中央処理装置）及びメモリから構成される場合、ＣＰＵがメモリに格納されたプログラムを実行するとともに、各記憶部に保持されたデータを用いることで実現される。また、図２１のステップＳ５４〜Ｓ５８の処理は上述した図６のステップＳ５，Ｓ７〜Ｓ１０の処理と同様の動作であるのでその説明を省略する。
【０１２１】
運用状態監視部７１は監視対象となる中継ノードの運用状態を監視し、その監視結果を振り分け・集約ノード８に通知する。つまり、運用状態監視部７１は監視対象となる中継ノードに障害が発生すると、障害として登録し、その障害を振り分け・集約ノード８に通知する。
【０１２２】
他中継ノード経由通信継続性有無データ受信部６８は自ノードが中継していなかったセッションのデータ及び確認応答が送信されてきた場合、そのデータ及び確認応答を受信する。具体的には、セッション開始時のデータ及び確認応答（例えば、ＴＣＰの３ｗａｙ  ｈａｎｄｓｈａｋｅ）を受信していないのに、通信途中のデータ及び確認応答が送信されてきた時に、他中継ノード経由通信継続性有無データ受信部６８はそれらのデータ及び確認応答を受信する。また、他中継ノード経由通信継続性有無データ受信部６８は受信したデータ及び確認応答を他中継ノード経由通信継続性有無判定部６９へ送信する。
【０１２３】
他中継ノード経由通信継続性有無判定部６９はデータ及び確認応答を受信すると（図２１ステップＳ５１，Ｓ５２）、並列に接続された他中継ノードにおいて障害が発生したと認識し（図２１ステップＳ５３）、その中継ノードで中継している通信が継続可能かどうかを判定する。この判定方法としては、上述した本発明の第１の実施例で用いられる方法（図８のステップＳ２１〜Ｓ２４の処理）と同様である。他中継ノード経由通信継続性有無判定部６９において通信継続不可能と判定されたデータに関しては、上述した本発明の第１の実施例と同様に、データ及び確認応答を作成し、それらのデータ及び確認応答に通信を終了させるデータ付加して、送信端末２及び受信端末３側に送信する（図２１ステップＳ５４〜Ｓ５８）。
【０１２４】
次に、振り分け・集約ノード８の動作について説明する。振り分け・集約ノード８の運用状態監視部８５は並列運用されている中継ノードを登録し、それらの中継ノードの運用状態を登録しておく。運用状態監視部８５は中継ノードから障害という通知を受信した場合、または中継ノードから運用状態監視データを受信しない場合には、その中継ノードを障害として登録する。また、運用状態監視部８５は対になって運用されている振り分け・集約ノード８−１〜８−４に対してどの中継ノード６−１〜６−４に振り分け先を変更するかを通知する。
【０１２５】
受信したデータは入力部８１からデータ処理部８２に入力する。データ処理部８２ではデータ及び確認応答に付加されている送信元、宛先、セッションを識別する番号（例えば、ポート番号）等の情報を読出し、振り分け情報保持部８４に通知する。また、運用状態監視部８５からは運用されている中継ノード情報が振り分け情報保持部８４に通知される。
【０１２６】
振り分け情報保持部８４では、図２０に示すような形式でデータを保持する。出力部８３では振り分け情報保持部８４からの指示にしたがって、データを中継ノードに出力する。中継ノードにおいて障害が発生した場合、運用状態監視部８５は障害を起こした中継ノードの情報を振り分け保持部８４に通知するので、振り分け情報保持部８４は稼動状態の中継ノード振り分け先を変更する。
【０１２７】
このように、本実施例では、上述した本発明の第１の実施例と同様に迅速な障害対策を行うことができる。また、本実施例では、他中継ノード経由通信継続性有無判定部７０によって、並列に運用されている中継ノードが、障害を起こした中継ノードの通信セッションのデータ及び確認応答を振り分け・集約ノード８から受信して通信継続性判定を行うことで、他の中継ノードを経由していた通信セッションを終了させたり、通信継続可能なセッションに対して、中継ノードを切替えて通信を継続させることができる。
【図面の簡単な説明】
【０１２８】
【図１】本発明の実施の形態による通信システムの構成を示すブロック図である。
【図２】本発明の第１の実施例による中継ノードの構成を示すブロック図である。
【図３】図２の状態保持部で保持するデータの保持形式を示す図である。
【図４】（ａ），（ｂ）は本発明の第１の実施例において中継ノードにおいて障害が発生した場合の通信状況を示す図である。
【図５】（ａ），（ｂ）は本発明の第１の実施例による中継ノード１において障害が発生した場合の通信状況を示す図である。
【図６】本発明の第１の実施例による中継ノードにおける監視処理を示すフローチャートである。
【図７】本発明の第１の実施例による中継ノードにおける監視処理を示すフローチャートである。
【図８】図２の通信継続性有無判定部における判定処理を示すフローチャートである。
【図９】本発明の第２の実施例による中継ノードの構成を示すブロック図である。
【図１０】図９の状態保持部に保持されている情報を示す図である。
【図１１】本発明の第２の実施例による通信システムの構成を示すブロック図である。
【図１２】本発明の第２の実施例による中継ノードにおける監視処理を示すフローチャートである。
【図１３】本発明の第２の実施例による中継ノードにおける監視処理を示すフローチャートである。
【図１４】本発明の第２の実施例による中継ノードにおける監視処理を示すフローチャートである。
【図１５】本発明の第３の実施例による中継ノードの構成を示すブロック図である。
【図１６】図１５の経路情報蓄積部に蓄積されている経路情報のデータ形式を示す図である。
【図１７】本発明の第４の実施例による中継ノードの構成を示すブロック図である。
【図１８】本発明の第４の実施例による振り分け・集約ノードの構成を示すブロック図である。
【図１９】本発明の第４の実施例による通信システムの構成を示すブロック図である。
【図２０】図１８の振り分け情報保持部に蓄積されているデータ形式を示す図である。
【図２１】本発明の第４の実施例による中継ノード６における監視処理を示すフローチャートである。
【符号の説明】
【０１２９】
１，１−１，１−２，
４，４−１〜４−３，
５，６，
６−１〜６−４  中継ノード
２，２−１，２−２  送信端末
３  受信端末、
８，８−１〜８−４  振り分け・集約ノード
１１，６１，８１  入力部
１２，４１，６２，
８２  データ処理部
１３，６３  状態保持部
１４，６４  確認応答送信部
１５，６５  バッファ部
１６，６６  確認応答受信部
１７，６７，８３  出力部
１８，６８，８５  運用状態監視部
１９  通信継続性有無判定部
２０  無判定データ受信部
２１  通信継続性有無判定データ送信部
２２，７０  リセット生成・送信部
４１ａ  自ノード情報付加部
５１  経路制御情報交換部
５２  経路制御情報蓄積部
６８  他中継ノード経由通信継続性有無判定データ受信部
６９  他中継ノード経由通信継続性有無判定部
８４  振り分け情報保持部
【図１】
2006229399.tif 000003
【図２】
2006229399.tif 000004
【図３】
2006229399.tif 000005
【図４】
2006229399.tif 000006
【図５】
2006229399.tif 000007
【図６】
2006229399.tif 000008
【図７】
2006229399.tif 000009
【図８】
2006229399.tif 000010
【図９】
2006229399.tif 000011
【図１０】
2006229399.tif 000012
【図１１】
2006229399.tif 000013
【図１２】
2006229399.tif 000014
【図１３】
2006229399.tif 000015
【図１４】
2006229399.tif 000016
【図１５】
2006229399.tif 000017
【図１６】
2006229399.tif 000018
【図１７】
2006229399.tif 000019
【図１８】
2006229399.tif 000020
【図１９】
2006229399.tif 000021
【図２０】
2006229399.tif 000022
【図２１】
2006229399.tif 000023