(57)【要約】【課題】接続状態の同期方法：ノードが、接続された相手ターミナルノードから接続状態情報を要求する。ノードは、戻された接続状態情報に基づき、ローカル接続状態を更新する。通信ノードが本方法を採用する。本発明は、同期していないノードと相手ターミナルノードとの同期化の可能な接続状態情報に基づき、接続状態同期を実現する。接続を維持するという条件で同期化を再開することができる。そして本発明は、高い可用性の頻繁な接続状態同期をシステムにおいて必要とせず、システムの帯域幅および処理機能を節約する。また、第１およびバックアップ装置のランダムな切り替えによって元の接続を再開させることができる。【選択図】図４
2009525013.tif 000002
【特許請求の範囲】
【請求項１】
ノードによって、接続する相手ノードから接続状態情報を要求するステップと、
前記ノードによって、前記相手ノードによって戻された接続状態情報に基づきローカル接続状態を更新するステップとを含む、データ通信における接続状態を同期するための方法。
【請求項２】
前記ノードは第１通信ユニットおよび少なくとも１つの第２通信ユニットを備え、
前記ノードが前記相手ノードから接続状態情報を要求する前に、前記第１通信ユニットは相手ノードとの接続の接続パラメータを第２通信ユニットに通知する、請求項１に記載の接続状態を同期するための方法。
【請求項３】
前記ノードによって相手ノードから接続状態情報を要求するステップは、前記第１通信ユニットの代わりに、相手ノードと接続した後、少なくとも１つの第２通信ユニットが接続パラメータに基づき相手ノードから接続状態情報を要求することを含み、
前記第２通信ユニットは、相手ノードによって戻された接続状態情報に基づきローカル接続状態を更新する、請求項２に記載の接続状態を同期するための方法。
【請求項４】
前記接続パラメータは送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号および宛先ポート番号を備える、請求項２または３に記載の接続状態を同期するための方法。
【請求項５】
前記相手ノードから接続状態情報を要求するステップおよび戻された接続状態情報に基づきローカル接続状態を更新するステップのプロセスが、相手ノードと現在接続する第１通信ユニットまたは第２通信ユニットによって実行される、請求項２に記載の接続状態を同期するための方法。
【請求項６】
前記接続状態情報はローカルシーケンス番号および相手シーケンス番号を備える、請求項１〜５のいずれかに記載の接続状態を同期するための方法。
【請求項７】
前記相手ノードから前記接続状態情報を要求する間、前記ノードによってローカルウィンドウ値を送信するステップをさらに含み、
相手ノードによって戻された接続状態情報が相手ノードのウィンドウ値を備える、請求項６に記載の接続状態を同期するための方法。
【請求項８】
ローカル接続状態を更新した後、前記ノードは相手ノードとの接続状態同期を認識する、請求項１〜５のいずれかに記載の接続状態を同期するための方法。
【請求項９】
前記相手ノードから接続状態情報を要求するためのメッセージがＴＣＰを介して確立された接続の第１ＳＹＮメッセージの形式であり、
前記接続状態同期を認識するためのメッセージがＴＣＰを介して確立された接続の第３ＳＹＮメッセージの形式である、請求項８に記載の接続状態を同期するための方法。
【請求項１０】
ノードによって、確立されている接続を用いて、相手ノードからの接続状態情報要求を受信するステップと、
および、前記ノードによって、現在のローカル接続状態情報を前記相手ノードへ戻すステップとを含む、データ通信における接続状態を同期するための方法。
【請求項１１】
前記接続状態情報を前記相手ノードへ戻す前に、前記ノードは相手ノードから接続状態情報要求を受信するとき接続中のデータ送信を一時中断する、請求項１０に記載の接続状態を同期するための方法。
【請求項１２】
前記相手ノードからの前記接続状態情報要求は相手ノードのウィンドウサイズを備え、
ノードは相手ノードからの接続状態情報要求のなかのウィンドウ値に基づいてローカルウィンドウサイズを更新し、
相手ノードへ戻された現在の接続状態情報は相手シーケンス番号、ローカルシーケンス番号およびローカルで記録されるローカルウィンドウサイズを備える、請求項１０または１１に記載の接続状態を同期するための方法。
【請求項１３】
前記現在の接続状態情報はＴＣＰを介して確立された接続の第２ＳＹＮメッセージの形式で前記相手ノードに戻され、認識シーケンス番号領域がローカルで記録される相手シーケンス番号である、請求項１２に記載の接続状態を同期するための方法。
【請求項１４】
接続モジュールおよび同期要求モジュールを備え、
前記接続モジュールは相手ノードとの接続を介して通信するために適応し、
前記同期要求モジュールは、接続状態情報要求を、接続モジュールを介して相手ノードへ送信し、同期し、および接続モジュールによって相手ノードから受信した接続状態情報に基づいてローカル接続状態を更新するために適応する、通信ノード。
【請求項１５】
ローカル接続状態情報が相手ノードによって戻された接続状態情報と同様にセットされ、
接続状態情報同期が接続モジュールを介して相手ノードに認識される、請求項１４に記載の通信ノード。
【請求項１６】
接続状態情報要求はローカルウィンドウサイズを備え、相手ノードによって戻された接続状態情報は、ローカルシーケンス番号、相手シーケンス番号、および相手ノードによって記録された相手ウィンドウサイズを備える、請求項１４または１５に記載の通信ノード。
【請求項１７】
第１通信ユニットおよび少なくとも１つの第２通信ユニットを備え、
前記第１通信ユニットは相手ノードとの接続の接続パラメータを前記第２通信ユニットに送信し、
前記第２通信ユニットは、前記接続パラメータに基づき相手ノードとの接続を確立し、相手ノードへ接続状態情報要求を送信し、相手ノードから受信した接続状態情報に基づいて接続状態を更新する、通信ノード。
【請求項１８】
現在のユニットの接続状態情報が、相手ノードによって戻された接続状態情報と同様にセットされ、
接続状態同期が相手ノードに認識される、請求項１７に記載の通信ノード。
【請求項１９】
前記相手ノードから受信された前記接続状態情報は、ローカルシーケンス番号および相手ノードに記録された相手シーケンス番号を備え、前記接続パラメータは送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号および宛先ポート番号を備える、請求項１７または１８に記載の通信ノード。
【請求項２０】
接続モジュールおよび同期応答モジュールを備え、
前記接続モジュールは相手ノードとの接続を介して通信するために適応し、
前記同期応答モジュールは、接続モジュールによる出力である相手ノードからの接続状態情報要求を受信し、接続モジュールを介して相手ノードへ現在のローカル接続状態情報を送信するために適応する、通信ノード。
【請求項２１】
前記通信ノードは通信制御モジュールをさらに備え、前記通信制御モジュールは、前記接続モジュールが前記相手ノードから前記接続状態情報要求を受信した後に接続モジュールのデータ通信を一時中断し、通信制御モジュールは、接続モジュールが相手ノードから接続状態情報要求を受信した後に接続モジュールのデータ通信を一時中断し、接続モジュールが相手ノードから接続状態同期認識を受信した後に接続モジュールのデータ通信を続けるために適応する、請求項２０に記載の通信ノード。
【請求項２２】
前記現在のローカル接続状態情報は、相手シーケンス番号、ローカルシーケンス番号およびローカルで記録されるローカルウィンドウサイズを備える、請求項２１に記載の通信ノード。
【請求項２３】
通信ノードに格納されるコンピュータプログラムであって、前記通信ノードが、
通信ノードと接続する相手ノードから接続状態情報を要求する手順と、
前記相手ノードによって戻された接続状態情報に基づいてローカル接続状態を更新する手順とを実行する、データ通信における接続状態同期を実現するためのコンピュータプログラム製品。
【請求項２４】
前記通信ノードは活性通信ユニットおよびスタンバイ通信ユニットを備え、前記スタンバイ通信ユニットは前記活性通信ユニットによって付与される接続パラメータに基づき接続状態情報を相手ノードから要求し、次に、取得された接続状態情報に基づきローカル接続状態を更新する、請求項２３に記載のコンピュータプログラム製品。
【請求項２５】
前記接続パラメータは、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号および宛先ポート番号を備える、請求項２４に記載のコンピュータプログラム製品。
【請求項２６】
前記接続状態情報はローカルシーケンス番号および相手シーケンス番号を備える、請求項２３に記載のコンピュータプログラム製品。
【請求項２７】
前記通信ノードは、前記相手ノードから接続状態情報を要求する間、ローカルウィンドウ値を送信し、
相手ノードから戻された接続状態情報は相手ノードのローカルウィンドウ値を備える、請求項２６に記載のコンピュータプログラム製品。
【請求項２８】
前記ローカル接続状態を更新した後、前記ノードは前記相手ノードとの接続状態同期を認識する、請求項２３に記載のコンピュータプログラム製品。
【請求項２９】
前記相手ノードから接続状態情報を要求するためのメッセージが、ＴＣＰを介して確立された接続の第１ＳＹＮメッセージの形式であり、
前記接続状態同期を確認するためのメッセージが、ＴＣＰを介して確立された接続の第３ＳＹＮメッセージの形式である、請求項２３に記載のコンピュータプログラム製品。
【請求項３０】
通信ノードに格納されるコンピュータプログラムであって、前記通信ノードが、
現在の通信ノードとの接続を確立している相手ノードから接続状態情報要求を受信する手順と、
前記通信ノードによって現在のローカル接続状態情報を前記相手ノードへ戻す手順とを実行する、データ通信における接続状態同期を実現するためのコンピュータプログラム製品。
【請求項３１】
接続状態情報を前記相手ノードへ戻す前に、前記ノードは接続中のデータ送信を、相手ノードから前記接続状態情報要求を受信した後に一時中断する、請求項３０に記載のコンピュータプログラム製品。
【請求項３２】
前記相手ノードからの接続状態情報要求は相手ノードのウィンドウサイズを備え、
前記ノードは、相手ノードからの接続状態情報要求のなかのウィンドウ値に基づき、ローカルの相手ウィンドウサイズを更新し、
相手ノードへ戻された現在の接続状態情報は、相手シーケンス番号、ローカルシーケンス番号およびローカルで記録されたローカルウィンドウサイズを備える、請求項３０に記載のコンピュータプログラム製品。
【請求項３３】
現在の接続状態情報はＴＣＰを介して確立された接続の第２ＳＹＮメッセージの形式で前記相手ノードへ戻され、認識シーケンス番号領域はローカルで記録される相手シーケンス番号である、請求項３０に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークと通信の技術分野に関し、特に、データ通信における接続状態を同期する方法、および、それを用いた通信ノードに関する。
【背景技術】
【０００２】
ＴＣＰ（通信制御プロトコル）は現在のネットワーク世界において使用される最も一般的な通信層プロトコルであり、インターネットの２点間の信頼性の高いデータ通信を提供する。現在では、テルネット（Telnet）、ＦＴＰ（File Transfer Protocol）ＨＴＴＰ（Hyper Text Transfer Protocol）等のような最も一般的なプロトコルは、ＴＣＰ技術に基づいている。ＴＣＰはコネクション型のプロトコルである。ＴＣＰ接続は２つのネットワークノード間でデータが通信される前に確立される必要があり、データ通信は現在のＴＣＰ接続状態に従って実行される。
【０００３】
ネットワーク上での実行されている重要なアプリケーションはますます多くなり、各種のキーネットワークノードが一般的に、ダウンタイムを減らすために活性／スタンバイ切替えモードで作動する高い可用性システムを採用している。図１において、ノードＢは活性ボードとスタンバイボードとを含む分配装置であり、ＴＣＰ接続はノードＡとノードＢとの間で確立される。通常操作においては、ノードＡとノードＢとの間の論理ＴＣＰ接続はノードＡとノードＢの活性ボードによって実際に達成されている。活性ボードに問題が生じると、スタンバイボードが活性ボードに代わって担当する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＴＣＰ接続に対して元のＴＣＰ接続が続行される前に、スタンバイボードは、送信者と受信者によって使用されているシーケンス番号のような活性／スタンバイスイッチング中の接続状態を知っていなければならない。そうでなければ、スタンバイボードはノードＡを使って新しいＴＣＰ接続を再確立しなければならないためである。しかしながら、ＴＣＰ接続の再確立はある場合には深刻な問題を引き起こす可能性がある。たとえば、ノードＡとノードＢとが２つのルータでＴＣＰ接続がＢＧＰ（Boader Gateway Protocol）を有するために使用される場合は、ひとたび、ＴＣＰ接続が再確立されると、ルートオシレーションが一時期生じうる。それゆえ、ＴＣＰ接続の状態同期は重要な問題となる。
【０００５】
先行技術においては、ＴＣＰ接続状態を同期するために通常２つの方法が採用されている。図１に示すノードＡとノードＢとを再び例として考えると、第１同期方法は図２に示すとおりであり、ＴＣＰメッセージがノードＡとノードＢの活性ボードに送信される毎に活性ボードは、活性ボードとスタンバイボード間のＴＣＰ同期メッセージを介して各メッセージに含まれているＴＣＰ接続の状態情報をスタンバイボードに通知する。これにより、スタンバイボードは、バックアップ接続状態情報を介して元のＴＣＰ接続を続行し得る。第２同期方法は図３に示すとおりで、ノードＢの活性ボードはノードＡから受信したＴＣＰメッセージをコピーしてそれをスタンバイボードへ送信し、同様に、ノードＢの活性ボードはノードＡに送信されるメッセージをコピーし、それをスタンバイボードに送信し、スタンバイボードは活性ボードから受信したコピーされたメッセージにしたがって、スタンバイボードはＴＣＰ接続状態を活性ボードと同期させる。
【０００６】
これら２つの方法はある程度までＴＣＰ接続状態同期の問題を解決するかもしれない。しかし、すべての場合に有効であるわけではない。なぜなら、活性ボードは同期情報を発生させるか、または、メッセージをコピーしてノードＡからのＴＣＰメッセージを受信した後でのみそれをスタンバイボードに送信するからであり、ＴＣＰメッセージをノードＡに送信しているときに活性ボードがコピーしたメッセージまたは同期情報をスタンバイボードに送信したとしても、活性ボードは同時に大きい負荷サービスを行なう必要があり、２つの送信されたプロセスが、オペレーティングシステムの予定されたプロセスメカニズムに応じて同時になされているということを保証するのは困難である。言い替えると、ノードＡおよびノードＢのメッセージ送信と、活性／スタンバイボードの状態同期との間にはある時間差がどうしても存在するのは基本的に避けられない。さらに、活性ボードが故障した場合に活性／スタンバイの切り替えが生じたときは制御できず、スタンバイボードは常時活性ボードに代わる。それゆえ、スタンバイボードがうまく元のＴＣＰ接続を続けられるかどうかは、切替が起こったときに状態同期条件がメッセージ送信条件と一致しているかどうかによる。２つの条件が一致しないと、元のＴＣＰ接続状態は回復不能になり、ノードＡとノードＢとの間でＴＣＰ接続を再確立しなければならない。
【０００７】
また、これら２つの方法は、共に、活性ボードとスタンバイボードとの間にＴＣＰ接続のリアルタイムの同期が実現されるということを要求しているため、多くの情報が活性ボードとスタンバイボードとの間に送信される。したがって、活性ボードとスタンバイボードとの間に大量の帯域幅を必要とし、ＣＰＵ（Central Processing Unit）資源が消費され、装置の性能が低下してしまう。
【課題を解決するための手段】
【０００８】
本発明の実施形態は、データ通信における接続状態を同期するための方法およびこの方法を用いるネットワークノード装置を提供する。これにより、適時に信頼性の高い切り替えを実現することが可能になり、ネットワーク通信の信頼性および安全性が改善される。
【０００９】
本発明の１の局面で、データ通信において、接続状態を同期するための方法を提供する。この方法は以下を含む。
【００１０】
ノードは、このノードと接続する相手ノードからの接続状態情報を要求する。
【００１１】
そして、ノードは、相手ノードからの接続状態情報に基づいてローカル接続状態を更新する。
【００１２】
ノードは、第１通信ユニットおよび少なくとも１つの第２通信ユニットを含む。
【００１３】
ノードが相手ノードから接続状態情報を要求する前に、第１通信ユニットは、第２通信ユニットに、相手ノードとの接続の接続パラメータを通知する。
【００１４】
ノードが相手ノードから接続状態情報を要求するプロセスは、相手ノードとの接続を第１通信ユニットから引き継いだ後に、１つの第２通信ユニットが接続パラメータに基づき相手ノードから接続状態情報を要求する。
【００１５】
そして、第２通信ユニットは、相手ノードから戻された接続状態情報に基づいてローカル接続状態を更新する。
【００１６】
接続パラメータは、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号および宛先ポート番号を含む。
【００１７】
相手ノードから接続状態情報を要求し戻された接続状態情報に基づいてローカル接続状態を更新するプロセスは、相手ノードと現在接続する第１通信ユニットまたは前記第２通信ユニットによって実行される。
【００１８】
接続状態情報はローカルシーケンス番号および相手シーケンス番号を含む。
【００１９】
好ましくは、前記方法はさらに以下を含む。
【００２０】
ノードは、相手ノードから接続状態情報を要求する間、ローカルウィンドウ値を送信する。
【００２１】
そして、相手ノードから戻された接続状態情報は相手ノードのローカルウィンドウ値を含む。
【００２２】
ローカル接続状態を更新した後、ノードは相手ノードとの接続状態同期を認識する。
【００２３】
好ましくは、相手ノードからの接続状態情報を要求するメッセージは、ＴＣＰを介して確立された接続の第１ＳＹＮ（同期化）メッセージの形式である。
【００２４】
接続状態情報を確認するためのメッセージは、ＴＣＰを介して確立された接続の第３ＳＹＮメッセージの形式である。
【００２５】
本発明の実施形態はさらに、データ通信における接続状態を同期するための他の方法を提供し、以下を含む。
【００２６】
確立された接続を有するノードは相手ノードからの接続状態情報要求を受信する。
【００２７】
そして、ノードは現在のローカル接続状態情報を相手ノードへ戻す。
【００２８】
好ましくは、相手ノードに接続状態情報を戻す前に、ノードは、相手ノードからの接続状態情報要求を受信後、接続中のデータ送信を一時中断する。
【００２９】
相手ノードからの接続状態情報要求は相手ノードのウィンドウサイズを含む。
【００３０】
ノードは、相手ノードからの接続状態情報要求のなかのウィンドウ値に基づきローカルにおける相手ウィンドウサイズを更新する。
【００３１】
そして、相手ノードへ戻された現在の接続状態情報は、相手シーケンス番号、ローカルシーケンス番号およびローカルで記録されるローカルウィンドウサイズを含む。
【００３２】
好ましくは、現在の接続状態情報は、ＴＣＰを介して確立された接続の第２ＳＹＮメッセージの形式で相手ノードに戻される。ＴＣＰのなかで、認識シーケンス番号領域はローカルで記録される相手シーケンス番号である。
【００３３】
他の局面で、接続モジュールおよび同期要求モジュールを含む通信ノードを含む。
【００３４】
ここで、接続モジュールは、相手ノードとの接続を介して通信するために適応する。
【００３５】
そして、同期要求モジュールは、接続状態情報要求を、接続モジュールを介して送信し、同期し、および接続モジュールによって相手ノードから受信した接続状態情報に基づいてローカル接続状態を更新するために適応する。
【００３６】
通信ノードのなかで、ローカル接続状態情報が、受信された接続状態情報と同様にセットされる。
【００３７】
そして、接続状態情報同期が接続モジュールを介して相手ノードに認識される。
【００３８】
接続状態情報要求はローカルウィンドウサイズを含む。受信された接続状態情報は、ローカルシーケンス番号、相手シーケンス番号、および相手ノードによって記録された相手ウィンドウサイズを含む。
【００３９】
本発明の実施形態はさらに、もう１つの通信ノードを提供し、この通信ノードは第１通信ユニットおよび少なくとも１つの第２通信ユニットを含む。
【００４０】
ここで、第１通信ユニットは、第２通信ユニットに、相手ノードとの接続の接続パラメータを送信する。
【００４１】
そして、第２通信ユニットは、接続パラメータに基づき相手ノードとの接続を確立し、相手ノードへ接続状態情報要求を送信し、相手ノードから受信した接続状態情報に基づいて接続状態を更新する。
【００４２】
好ましくは、現在のユニットの接続状態情報が、受信された接続状態情報と同様にセットされる。
【００４３】
そして、接続状態同期が相手ノードに認識される。
【００４４】
相手ノードから受信された接続状態情報は、ローカルシーケンス番号および相手ノードに記録された相手シーケンス番号を含む。そして、接続パラメータは送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号および宛先ポート番号を含む。
【００４５】
本発明の実施形態はさらに、もう１つの通信ノードを提供し、この通信ノードは接続モジュールおよび同期応答モジュールを含む。
【００４６】
ここで、接続モジュールは、相手ノードとの接続を介して通信するために適応する。
【００４７】
そして、同期応答モジュールは、接続モジュールからの出力である相手ノードからの接続状態情報要求を受信し、接続モジュールを介して相手ノードへローカル接続状態情報を送信するために適応する。
【００４８】
通信ノードは通信制御モジュールをさらに含む。通信制御モジュールは、接続モジュールが相手ノードから接続状態情報要求を受信した後に接続モジュールのデータ通信を一時中断し、接続モジュールが相手ノードから接続状態同期認識を受信した後に接続モジュールのデータ通信を続けるために適応する。
【００４９】
現在のローカル接続状態情報は、相手シーケンス番号、ローカルシーケンス番号およびローカルで記録されるローカルウィンドウサイズを含む。
【００５０】
本発明の実施形態は、データ通信における接続状態同期を実現するためのコンピュータプログラムを提供する。コンピュータプログラムは通信ノードに格納され、これにより通信ノードが以下の手順を実行してもよい。
【００５１】
通信ノードと接続する相手ノードから接続状態情報を要求すること。
【００５２】
相手ノードから戻された接続状態情報に基づいてローカル接続状態を更新すること。
【００５３】
コンピュータプログラムのなかで、関連する通信ノードは活性通信ユニットおよびスタンバイ通信ユニットを含む。スタンバイ通信ユニットは、活性通信ユニットからの接続パラメータに基づき接続状態情報を相手ノードから要求し、次に、取得された接続状態情報に基づきローカル接続状態を更新する。
【００５４】
関連する接続パラメータは、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号および宛先ポート番号を含む。
【００５５】
関連する接続状態情報はローカルシーケンス番号および相手シーケンス番号を含む。
【００５６】
通信ノードは、相手ノードから接続状態情報を要求する間、ローカルウィンドウ値を送信する。
【００５７】
そして、相手ノードから戻された接続状態情報は相手ノードのローカルウィンドウ値を含む。
【００５８】
ローカル接続状態を更新した後、ノードは相手ノードとの接続状態同期を認識する。
【００５９】
相手ノードからの接続状態情報を要求するメッセージは、ＴＣＰを介して確立された接続の第１ＳＹＮメッセージの形式である。
【００６０】
そして、接続状態同期を確認するためのメッセージは、ＴＣＰを介して確立された接続の第３ＳＹＮメッセージの形式である。
【００６１】
本発明の実施形態はさらに、データ通信における接続状態同期を実現するためのもう１つのコンピュータプログラムを提供する。コンピュータプログラムは通信ノードに格納され、これにより通信ノードが以下の手順を実行することができる。
【００６２】
現在の通信ノードとの接続を確立している相手ノードから接続状態情報要求が受信される。
【００６３】
そして、通信ノードは現在のローカル接続状態情報を上述した相手ノードへ戻す。
【００６４】
接続状態情報を相手ノードへ戻す前に、ノードは接続中のデータ送信を、相手ノードから接続状態情報要求を受信した後に一時中断する。
【００６５】
相手ノードからの接続状態情報要求は相手ノードのウィンドウサイズを含む。
【００６６】
ノードは、相手ノードからの接続状態情報要求のなかのウィンドウ値に基づき、ローカルの相手ウィンドウサイズを更新する。
【００６７】
そして、相手ノードへ戻された現在の接続状態情報は、相手シーケンス番号、ローカルシーケンス番号およびローカルで記録されたローカルウィンドウサイズを含む。
【００６８】
現在の接続状態情報はＴＣＰを介して確立された接続の第２ＳＹＮメッセージの形式で相手ノードへ戻される。ＴＣＰのなかで、認識シーケンス番号領域はローカルで記録される相手シーケンス番号である。
【００６９】
本発明によれば、同期していないノードと該ノードと接続する相手ノードとの間で接続状態情報を同期することにより、接続状態同期の問題をほぼ解消することができる。すなわち、接続さえ残っていれば、同期化を回復することができる。さらに本発明によれば、高い可用性システム内部における頻繁な接続状態同期をなくして、適時に信頼性の高い活性／スタンバイ切り替えを実現することが可能になる。それゆえ、システムの帯域幅および処理能力を確保することができ、活性／スタンバイ切り替えが生じたときはいつでも元の接続を回復することができる。これにより、ネットワーク通信の信頼性および安全性が改善される。
【発明を実施するための最良の形態】
【００７０】
従来技術では、高い可用性システムの接続状態同期はすべて、活性およびスタンバイボード間の厳格な状態同期を目的としている。このため、スタンバイボードは活性ボードとの同期を維持してもよく、切り替えが生じたときに活性ボードに取って代わり相手ノードと通信することができた。しかし、コネクション型のデータ送信において、相手ノードとの接続が活性ボードからスタンバイボードへ切り替わってもよくデータ送信が続いてもよいという状態は、活性ボードの接続状態と一致するというよりむしろ、スタンバイボードの接続状態が相手ノードのそれと同期することである。もし、ある理由による切り替えが生じたとき活性ボードの接続状態が相手ノードと同期しないと、たとえスタンバイボードの接続状態が活性ボードの接続状態と完全に一致していても、接続は中断されたままであってもよい。相手ノードの接続状態が実際にローカル同期の目的であり、接続状態がローカルの活性／スタンバイ切り替えと無関係の場合を考慮すると、接続状態同期は、大きな負荷を伴ったローカル状態バックアップを実行するよりも、スタンバイボードと相手ノードとの間で実現されるであろう。また、相手ノードの状態と、活性ボードおよびスタンバイボードがちょうど同期するときにタイム切り替えが生じるか否かにもよるであろう。それゆえ、そのような問題は根本的に解決しうるものである。
【００７１】
以下、同期要求ノードとは、相手ノードとの接続状態を同期することを必要とする接続の一方のノードをいい、同期応答ノードとは、同期要求ノードによって要求されたローカル接続状態情報を送信する相手ノードをいう。実際の適用にあっては、同期要求ノードは通常、活性ボードおよびスタンバイボードを含むルータといった高い可用性システムや、単一の論理要素を操作するサーバを複数含むクラスタである。同期応答ノードは、単一の装置であってもよく、高い可用性システムであってもよい。
【００７２】
本発明の原理、特徴および利点を一層明らかにするため、具体的な実施形態に沿って本発明を詳細に説明する。
【００７３】
同期要求ノードは高い可用性システムであって、第１通信ユニットおよび少なくとも１つの第２通信ユニットを含むと理解される。ここで、第１通信ユニットは相手ノードと接続関係を有する。第２通信ユニットは第１通信ユニットに取って代わって相手ノードと接続し接続中のデータ送信を負担し続ける。
【００７４】
図４は、実施形態における同期要求ノードのフローを示し、以下の操作ステップを含む。
【００７５】
ステップＳ４１０：現在のノードが相手ノードとの接続を確立する。本発明の実施形態では、接続が確立されている場合に接続状態同期が生じる。
【００７６】
ＴＣＰプロトコルが採用されると、データ送信が実行される前に２つの通信ノード間でＴＣＰ接続を確立することが必要になる。ＴＣＰ接続は、ＩＰ（Internet Protocol）アドレスおよび接続された２者の送信および受信アプリケーションプロセスを識別するためのポート番号によって一意に決定されてもよい。それゆえ、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号および宛先ポート番号がＴＣＰ接続の接続パラメータとして通常用いられる。
【００７７】
ステップＳ４２０：接続が確立された後のある時に、第１通信ユニットと相手ノードとの間でノードの接続が存在する。第１通信ユニットは、第２通信ユニットに、当該接続の接続パラメータを通知する。これにより、切り替えが生じたときに第２通信ユニットは、接続パラメータによって接続を回復してもよい。
【００７８】
ステップＳ４３０：第２通信ユニットは、第１通信ユニットに取って代わって相手ノードと接続する。このとき、接続パラメータは、第２通信ユニットによって、既にローカルに記録されている。
【００７９】
接続のため第２通信ユニットが第１通信ユニットに取って代わる時は、同期要求ノードの作動モードに関わり、第１通信ユニットが故障したとき、あるいは第１通信ユニットが正常に作動するときであっても負荷の平滑化の要求に応じて、生じてもよい。複数の第２通信ユニットが存在するとき、どの第２通信ユニットが接続のために取って代わるかは、同期要求ノードでの切り替えのセッティングにより決定される。
【００８０】
第２通信ユニットは第１通信ユニットに取って代わり、同じ接続パラメータでＴＣＰ接続する。これは、第２通信ユニットが第１通信ユニットのＩＰアドレスを使用しなければならないことを意味する。第１通信ユニットがまだ正常に作動する場合、同期要求ノードは、２つのユニットがそれぞれ同じＩＰアドレスを用いて相手ノードとコネクション型通信を実行することを保証する。
【００８１】
ステップＳ４４０：第２通信ユニットは、切り替えがなされる接続の接続パラメータに基づき接続状態情報要求を相手ノードへ送信する。ＴＣＰプロトコルのため、接続状態情報はローカルシーケンス番号および相手シーケンス番号を含む他、ローカルおよび相手ウィンドウサイズも含む。
【００８２】
図５は、ＴＣＰ／ＩＰメッセージにおけるＴＣＰヘッダの領域構造を示す。１６ビット送信元ポート番号は送信者のポート番号である。１６ビット宛先ポート番号は受信者のポート番号である。ＩＰヘッダで送信元ＩＰアドレスおよび宛先ＩＰアドレスが一緒になったこれら２つの領域は、ＴＣＰ接続の接続パラメータとして用いられる。
【００８３】
送信者および受信者のアプリケーションはＴＣＰ接続を介して８ビットバイトのストリームを交換する。ＴＣＰ接続の各エンドノードはローカルで送信され、相手ノードからシーケンス番号および認識シーケンス番号を介してそれぞれ受信されたバイトストリームをカウントする。３２ビットシーケンス番号は、メッセージの最初のデータバイト内のメッセージの送信者によって用いられるシーケンス番号を表す。３２ビット認識シーケンス番号は、認識の受信の終了によって期待される相手ノードによって送信された次のデータバイトのシーケンス番号、すなわち送信者のメッセージ、を表す。データバイトはＴＣＰ接続を介して送信されるペイロード部分である。
【００８４】
ＴＣＰ接続へフロー制御を提供するため１６ビットウィンドウサイズが用いられる。これは送信者のメッセージのバッファサイズを表し、すなわち、相手ノードから受信してもよいデータ量である。ＴＣＰ接続の２つのエンドノードはまた、ウィンドウ拡張オプションを介して１６ビットを超えるウィンドウサイズを取り決めてもよい。
【００８５】
４ビットヘッダ長は、ＴＣＰメッセージの全長である。また、６ビット予約領域に続いて６つのフラッグビットがある。６つのフラッグビット中、ＳＹＮ（同期化）フラッグビットは存在するＴＣＰ内で用いられて接続が開始されたことを表し、ＡＣＫ（認識）フラッグビットは３２ビット認識シーケンス番号領域が有効であることを表す。なぜなら、認識機構がＴＣＰプロトコルに設けられており、ＡＣＫフラッグビットが常時設定されているからである。
【００８６】
このため、第２通信ユニットは、第１通信ユニットに取って代わって相手ノードとデータ送信を実行する前に、現在のＴＣＰ接続のローカルシーケンス番号および相手シーケンス番号を知る必要がある。同時に、接続状態同期の間に現在のウィンドウサイズを互いに交換することによって、フロー制御も実施されてもよい。それゆえ、第２通信ユニットは、現在のローカルウィンドウサイズの情報を相手ノードに送信される接続状態情報要求メッセージに置いてもよい。
【００８７】
第１通信ユニットは、現在のローカルシーケンス番号を接続状態情報要求に置いてもよい。あるいは、ローカルシーケンス番号は空であってもよく、次に相手ノードによって用意される。
【００８８】
ステップＳ４５０：再び図４を参照して、第２通信ユニットは、相手ノードによって戻された接続状態情報を受信する。
【００８９】
ステップＳ４６０：第２通信ユニットは、相手ノードから受信した接続状態情報に基づいてローカル接続状態を更新する。ＴＣＰ接続のため、相手ノードから戻されたメッセージ中のＴＣＰヘッダのシーケンス番号領域は相手シーケンス番号であり、認識シーケンス番号領域は、ローカルシーケンス番号であり、ウィンドウサイズ領域は相手ウィンドウサイズである。
【００９０】
ステップＳ４７０（任意）：第２通信ユニットは、接続状態同期認識を相手ノードへ送信する。
【００９１】
接続状態同期認識は相手ノードにデータ送信を続けることを通知するのに適応するものであってもよい。接続状態同期認識が送信されない場合、同期要求ノードがデータ送信回復を開始してもよく、あるいは接続状態情報を送信した後にタイムアウト機構を介して相手ノードがデータ送信を続けてもよく、あるいは要求に応じて２つのモードを組み合わせて用いてもよい。
【００９２】
接続状態同期が完了した後、ノードは相手ノードとの元の接続のデータ送信を続ける。
【００９３】
この実施形態では、接続切り替えが完了した後、第２通信ユニットが現在の第１通信ユニットになってもよく、高い可用性システム中にあり現在の第１通信ユニットに取って代わり得る通信ユニットが現在の第２通信ユニットになってもよい。そのような形態は、ステージ毎のバックアップ機能を備え、あるいは動的負荷の平坦化を支援する高い可用性システムに適している。
【００９４】
上述した実施形態では、同期応答ノードのフローが図６に示される。
【００９５】
ステップＳ６１０：ノードは相手同期要求ノードとの接続を確立する。
【００９６】
ステップＳ６２０：ノードは相手ノードから接続状態情報要求を受信する。上述のように、本発明の実施形態では、接続が確立されている場合に接続状態同期が生じる。
【００９７】
ステップＳ６３０：ノードは接続中のデータ送信を一時中断する。なぜなら、コネクション型のプロトコルは通常、認識して再送信するタイムアウト機構を採用し、同期応答ノードが接続中のデータ送信を中断するとき不必要なネットワークフローを回避してもよい。
【００９８】
ステップＳ６４０：相手ノードからの接続状態情報要求が相手ウィンドウサイズを含むとき、ノードは受信した相手ウィンドウサイズに基づきローカル接続状態情報にある相手ウィンドウサイズを更新する。
【００９９】
ステップＳ６５０：ノードはその接続状態情報要求に応答して相手ノードに現在のローカル接続状態情報を送信する。
【０１００】
相手ノードへ戻された現在のＴＣＰ接続状態情報は、ノードに記録され相手ノードに認識されたローカルシーケンス番号および相手シーケンス番号を含む。このため、相手ノードが接続状態情報要求を送信する前に、ＴＣＰ接続のデータ送信を完了したバイトストリームから続けてもよい。しかしながら２つの通信者のアプリケーションの通信機構に基づいて、既に送信された一部のバイトストリームが再送信されてもよい。相手ノードに戻されたＴＣＰ接続状態情報はノードの現在のウィンドウサイズをさらに含んでいてもよい。
【０１０１】
ステップＳ６６０：ノードは相手ノードから接続状態同期認識を受信する。このステップもステップＳ４７０と協働する任意のステップである。
【０１０２】
ステップＳ６７０：ノードは接続中のデータ送信を続ける。
【０１０３】
本発明の他の実施形態に基づく接続状態を同期するための方法を説明する。この実施形態では、同期要求ノードおよび同期応答ノードが個々の装置であってもよく、あるいは高い可用性システムであってもよい。ここでは、同期要求ノード内部の異なる接続ユニット間の切り替えを考慮せず、異なる接続ユニットを同期していない接続状態にある一体のものとみなしてもよい。例えば、同期要求ノードにある複数のユニットが同期応答ノードと接続を確立してもよい。もし現在の接続ユニットの送信プロセスが幾つかの理由によって遮断されても、現在の接続ユニットが送信プロセスを再開した後で、接続はまだ有効であるが、当該接続の接続状態は失われる。このとき、接続切り替えが生じないが、接続状態同期の実施がまだ必要とされる。
【０１０４】
この実施形態と前述した実施形態との違いは、同期要求ノードの接続パラメータがローカルで記録され、接続状態を同期する前に当該接続の接続パラメータを得る必要がないということである。
【０１０５】
本発明のこの実施形態で、同期要求ノードの一部のフローが前述した実施形態のフローとほぼ一致することから、これらの詳細な図解は前述した実施形態の対応するステップを参照することとし、ここでは再度の説明をしない。同期応答ノードのフローは前述した実施形態と同様である。
【０１０６】
本発明のこの実施形態で、同期要求ノードのフローは図７に示される。このフローは特に、以下の操作ステップを含む。
【０１０７】
ステップＳ７１０：ノードが相手ノードとの接続を確立する。
【０１０８】
ステップＳ７２０：ノードが同期しない、あるいはノードが相手ノードの接続状態と同期していないことを、特に自身の理由により非同期が生じる場合にノードが発見すると、ノードは接続状態情報要求を相手ノードへ送信する。ＴＣＰ接続の接続状態情報要求の送信時に、ノードは要求メッセージにローカルウィンドウサイズを置いてもよい。
【０１０９】
ステップＳ７３０：ノードは相手ノードから接続状態情報を受信する。ＴＣＰ接続の相手ノードから戻された接続状態情報は現在の接続のローカルシーケンス番号および相手シーケンス番号を含み、相手ウィンドウサイズも含む。
【０１１０】
ステップＳ７４０：ノードは、相手ノードによって戻された接続状態情報と一致するようローカル接続状態を更新する。
【０１１１】
ステップＳ７５０：ノードは、接続状態同期認識を相手ノードへ送信する。同じように、このステップも任意のステップである。
【０１１２】
接続状態同期が完了した後、ノードおよび相手ノードが元の接続のデータ送信を続ける。
【０１１３】
前の実施形態では、同期要求ノードによって接続が切り替わる前に、第１通信ユニットがこの実施形態の方法を用いて接続の回復を実行してもよいことが本質的に理解される。接続が切り替わった後、第２通信ユニットもこの実施形態の方法を用いて接続の回復を実行してもよい。
【０１１４】
図８は、本発明の実施形態に基づき接続を同期するための方法を採用した同期要求ノードおよび同期応答ノードを示す模式図である。同期要求ノード８１０は、互いに接続する第１通信ユニット８１１および第２通信ユニット８１２を含み、両者は同期応答ノード８２０の接続モジュール８２１と接続する。接続モジュール８２１に加え、同期応答ノード８２０は、同期応答モジュール８２２および通信制御モジュール８２３をさらに含み、両者は接続モジュール８２１と接続する。同期要求ノード８１０および同期応答ノード８２０は互いにとって相手ノードである。
【０１１５】
第１通信ユニット８１１および同期応答ノード８２０の接続モジュール８２１間には接続が存在し、この接続の接続パラメータが第２通信ユニット８１２へ送信される。ＴＣＰ接続の接続パラメータは、この接続の送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号および宛先ポート番号を含む。
【０１１６】
第１通信ユニット８１１に取って代わり同期応答ノード８２０と接続するとき、第２通信ユニット８１２は第１通信ユニット８１１から受信した接続の接続パラメータを用いて同期応答ノード８２０へ接続状態情報要求を送信する。そして、現在の第２通信ユニット８１２のウィンドウサイズが接続状態情報要求で満たされてもよい。
【０１１７】
同期応答ノード８２０の接続モジュール８２１および同期要求ノード８１０はこれらの間の接続を介し互いに通信する。第２通信ユニット８１２から接続状態情報要求を受信した後、接続モジュール８２１は要求を同期応答モジュール８２２へ送信する。もし同期応答ノードが通信制御モジュール８２３を有するのであれば、通信制御モジュール８２３は接続モジュール８２１のデータ送信を一時中断する。
【０１１８】
同期応答モジュール８２２はローカルで記録された現在の接続状態情報を接続モジュール８２１へ送信し、接続モジュール８２１は第２通信ユニット８１２に対して応答する。第２通信ユニット８１２のウィンドウサイズを含む接続状態情報要求のため、同期応答モジュール８２１はさらに、受信したウィンドウサイズに一致するようローカル接続状態の相手ウィンドウサイズを更新する。同期応答ノード８２０によって応答された接続状態情報は、ローカルシーケンス番号およびそれが記録する相手シーケンス番号、およびローカルウィンドウサイズを含む。
【０１１９】
同期応答ノード８２０から接続状態情報を受信した後、第２通信ユニット８１２は接続状態情報に基づき接続状態同期を実行する。第２通信ユニット８１２は受信した接続状態情報に一致するようローカル接続状態を更新する。次に、特定のアプリケーションによって要求がされると、通信する双方のノードは、第２通信ユニット８１２が接続状態同期認識を同期応答ノード８２０に送信するか否かを決定してもよい。
【０１２０】
第２通信ユニット８１２が接続状態同期認識を送信する場合、接続モジュール８２１が接続状態同期認識を受信した後で、通信制御モジュール８２３が接続モジュール８２１のデータ送信を回復してもよい。
【０１２１】
図９は、本発明の実施形態に基づき接続状態を同期するための方法を採用する同期要求ノードおよび同期応答ノードの模式図である。同期要求ノード８３０は互いに接続する接続モジュール８３１および同期要求モジュール８３２を含み、接続モジュール８３１は同期応答ノード８２０の接続モジュール８２１と接続する。接続モジュール８２１に加えて、同期応答ノード８２０は同期応答モジュール８２２および通信制御モジュール８２３をさらに含み、これら両者は接続モジュール８２１と接続する。同期要求ノード８３０および同期応答ノード８２０は互いにとって相手ノードである。
【０１２２】
同期要求ノード８３０の接続モジュール８３１および同期応答ノード８２０の接続モジュール８２１はそれらの間の接続を介して互いに通信する。同期応答ノード８２０の接続状態と同期していない、あるいは同期していなかったと同期要求ノード８３０が見なすとき、同期要求モジュール８３２は接続モジュール８３１へ接続状態情報要求を送信し、接続モジュール８３１は同期応答ノード８２０へ接続状態情報要求を送信する。接続状態要求の中に、現在の同期要求ノード８３０のウィンドウサイズが満たされてもよい。
【０１２３】
同期要求ノード８３０から接続状態情報要求を受信した後で、同期応答ノード８２０の接続モジュール８２１は同期応答モジュール８２２へ接続状態情報要求を送信する。もし同期応答ノードが通信制御モジュール８２３を有するのであれば、次に、通信制御モジュール８２３は接続モジュール８２１のデータ送信を一時中断する。
【０１２４】
同期応答モジュール８２２はローカルで記録された現在の接続状態情報を接続モジュール８２１へ送信し、接続モジュール８２１は同期要求ノード８３０へ応答する。同期要求ノード８３０のウィンドウサイズを含む接続状態情報要求のために、同期応答モジュール８２２は、受信したウィンドウサイズと一致するようローカル接続状態の中の相手ウィンドウサイズをさらに更新する。同期応答ノード８２０によって応答された接続状態情報はローカルシーケンス番号およびそれが記録する相手シーケンス番号、およびローカルウィンドウサイズを含む。
【０１２５】
同期応答ノード８２０から接続状態情報を受信した後、同期要求ノード８３０の接続モジュール８３１は接続状態情報を同期要求モジュール８３２へ送信する。同期要求モジュール８３２は接続状態情報に基づき同期要求ノード８３０の接続状態を同期する。同期要求モジュール８３２は受信した接続状態情報に一致するようローカル接続状態を更新する。次に、特定のアプリケーションによって要求されると、通信する双方のノードは、同期要求モジュール８３２が接続状態同期認識を同期応答ノード８２０に送信するか否かを決定してもよい。
【０１２６】
同期要求モジュール８３２が接続状態同期認識を送信する場合、同期応答ノード８２０の接続モジュール８２１が接続状態同期認識を受信した後、通信制御モジュール８２３が接続モジュール８２１のデータ送信を回復してもよい。
【０１２７】
図８に示す同期要求ノード８１０の第１通信ユニットおよび第２通信ユニットの双方が第２実施形態の接続状態を同期するための方法を支持するとき、第１通信ユニット８１１および第２通信ユニット８１２がユニットおよび同期応答ノード８２０間の接続を回復するため接続モジュールおよび同期要求モジュールをそれぞれ含んでもよい。
【０１２８】
接続状態を同期するための上記の実施形態のため、ならびに適用例の同期要求ノードおよび同期応答ノード、接続状態情報要求、接続状態情報要求および接続状態同期認識のための応答はすべて接続中に送信されるメッセージを介して実現される必要がある。さらに、接続状態同期中に２つのエンドノード間で交換される情報は、接続の確立中の情報と似ている。そして、これら双方は２つの接続者の状態情報をマッチさせ次のデータ送信を準備することを採用することから、実現される機能も似ている。それゆえ、本発明の実施形態で、接続を確立するためのメッセージフォーマットを、接続状態を同期するために使用することが推奨される。そしてヘッダ領域の異なる内容を満たすことによって接続状態情報を交換してもよい。
【０１２９】
ＴＣＰプロトコルで、２つの通信ノード間の接続を確立するためにスリーウェイ  ハンドシェイク  プロセスが採用される。第１ハンドシェイクで、接続を開始するノードが第１ＳＹＮメッセージを相手ノードへ送信する。第１ＳＹＮメッセージで、ＳＹＮフラグビットがセットされＡＣＫフラグビットがクリアされる。接続を開始するノードのイニシャルシーケンス番号がシーケンス番号領域のなかで満たされ、現在のノードのウィンドウサイズがウィンドウサイズ領域のなかで満たされる。もし相手ノードが第１ＳＹＮメッセージを受信した後にノードとの接続を確立するつもりであれば、第２ＳＹＮメッセージが戻される。第２ＳＹＮメッセージで、ＳＹＮフラグビットおよびＡＣＫフラグビットがセットされる。相手ノードのイニシャルシーケンス番号がシーケンス番号領域のなかで満たされ、第１ＳＹＮメッセージを認識するよう、プラス１で受信されるノードのイニシャルシーケンス番号が認識シーケンス番号フィールドのなかで満たされる。そして現在の相手ノードのウィンドウサイズがウィンドウサイズ領域で満たされる。第２ＳＹＮメッセージを受信した後、接続を開始するノードは第３ＳＹＮメッセージを相手ノードへ送信する。第３ＳＹＮメッセージのなかで、ＡＣＫフラグビットがセットされる。第２シーケンス番号を認識するよう相手ノードのプラス１のイニシャルシーケンス番号が認識シーケンス番号領域のなかでセットされる。現在のノードのウィンドウサイズはウィンドウサイズ領域のなかで満たされる。これら３つのＳＹＮメッセージ間でＴＣＰ接続が確立されている。
【０１３０】
ＴＣＰ接続同期のプロセスで、接続状態情報要求メッセージが第１ＳＹＮメッセージを採用してもよく、同期要求ノードによって現在使用されるシーケンス番号は、シーケンス番号領域のなかで満たされ、もし現在使用されるシーケンス番号が未知であれば、値０が満たされてもよい。値０は認識シーケンス番号領域のなかで満たされる。ＳＹＮフラグビットがセットされる。ＡＣＫフラグビットがクリアされ、同期要求ノードの現在のウィンドウサイズはウィンドウサイズ領域のなかで満たされる。
【０１３１】
同期要求ノードによって応答される接続状態情報応答メッセージが第２ＳＹＮメッセージのフォーマットを採用してもよく、同期要求ノードによって現在使用されるシーケンス番号はシーケンス番号領域のなかで満たされる。ローカルで記録される同期要求ノードのシーケンス番号は認識シーケンス番号領域のなかで満たされる。ＳＹＮフラグビットおよびＡＣＫフラグビットがセットされる。そして同期応答ノードの現在のウィンドウサイズがウィンドウサイズ領域のなかで満たされる。
【０１３２】
同期要求ノードの接続状態同期認識メッセージは第３ＳＹＮメッセージのフォーマットを採用してもよく、各領域のなかを満たされた内容もまた第３ＳＹＮメッセージの内容と同様であってもよい。
【０１３３】
本発明の実施形態において、接続が確立されている場合に接続状態同期が生じると理解されたい。それゆえ、双方の通信者のノードは、メッセージが接続を確立するためのメッセージあるいは接続状態を同期するためのメッセージであるかどうかを、上記３つのメッセージが送信あるいは受信されるときの接続の状況次第で、対応して作動するよう、決定してもよい。加えて、先行技術では、接続が確立されている場合に接続のＳＹＮメッセージを受信するとき、ＴＣＰ接続の一方端にあるノードが通常、リセットメッセージを使用する接続を終了する。しかしながら、本発明の実施形態によれば、接続が確立されている場合にＳＹＮメッセージを受信するノードが、接続状態情報を相手ノードに応答する。
【０１３４】
ＴＣＰ接続の後で接続状態を同期するための状態マシンが図１０に示すように確立される。確立されているＴＣＰ接続は確立状態にある。接続確立のプロセス中のＳＹＮ  ＲＣＶＤ状態（すなわち、ＳＹＮメッセージが受信されている状態）およびＳＹＮ  ＳＥＮＴ状態（すなわち、ＳＹＮメッセージが送信されている状態）と異ならせるため、接続状態同期のプロセス中、ＥＳＴ  ＳＹＮ  ＲＣＶＤ状態（すなわち、接続が確立されてＳＹＮメッセージが受信されている状態）およびＥＳＴ  ＳＹＮ  ＳＥＮＴ状態（すなわち、接続が確立されてＳＹＮメッセージが送信されている状態）のように参照される。
【０１３５】
接続状態が同期されることが必要なとき、確立状態のなかのノードは、接続状態情報要求メッセージを送信した後でＥＳＴ  ＳＹＮ  ＳＥＮＴ状態に入り、相手ノードから接続状態情報応答を受信した後で接続を同期し、そして次に接続状態同期認識メッセージを送信した後で確立状態へ戻す。接続状態情報要求メッセージを受信し、および接続状態情報応答メッセージを相手ノードへ戻すとき、確立状態のなかのノードがＥＳＴ  ＳＹＮ  ＲＣＶＤ状態に入り、次に、相手ノードから接続状態同期認識メッセージを受信した後で確立状態に戻る。
【０１３６】
本発明の実施形態に基づき、データ通信で接続状態同期を実現するためにコンピュータプログラムが設計される。コンピュータプログラムは通信ノードに格納され、これにより通信ノードが以下のステップを実行してもよい。
【０１３７】
通信ノードと接続された相手ノードから接続状態情報の要求を作成するステップ。
【０１３８】
相手ノードから戻された接続状態情報に基づきローカル接続状態を更新するステップ。
【０１３９】
コンピュータプログラムのなかで、関連する通信ノードが活性通信ユニットおよびスタンバイ通信ユニットを含む。スタンバイ通信ユニットは活性通信ユニットによって用意された接続パラメータに基づき相手ノードから接続状態情報を要求し、次に、得られた接続状態情報に基づきローカル接続状態を更新する。
【０１４０】
関連する接続状態情報は送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号および宛先ポート番号を含む。
【０１４１】
関連する接続状態情報はローカルシーケンス番号および相手シーケンス番号を含む。
【０１４２】
相手ノードから接続状態情報を要求する間、通信ノードはローカルウィンドウ値を相手ノードへ送信する。
【０１４３】
相手ノードから戻された接続状態情報は相手ノードのウィンドウ値を含む。
【０１４４】
ローカル接続状態を更新した後、ノードは相手ノードへの接続状態同期を認識する。
【０１４５】
相手ノードから接続状態情報を要求するためのメッセージは、ＴＣＰを介して確立された接続の第１ＳＹＮメッセージの形式を採用する。
【０１４６】
接続状態同期を認識するためのメッセージはＴＣＰを介して確立された接続の第３ＳＹＮメッセージ形式を採用する。
【０１４７】
本発明の実施形態に基づくもう１つのコンピュータプログラムも、データ通信のなかで接続状態同期を実現するために提供される。コンピュータプログラムは通信ノードのなかに格納され、これにより通信ノードは以下のステップを実行する。
【０１４８】
この通信ノードと接続を確立している相手ノードから接続状態情報要求を受信するステップ。
【０１４９】
および、現在のローカル接続状態情報を相手ノードへ戻すステップ。
【０１５０】
相手ノードから接続状態情報要求を受信するとき、通信ノードは相手ノードへ接続状態情報を戻す前に接続中のデータ送信を一時中断する。
【０１５１】
相手ノードからの接続状態情報要求は相手ノードのウィンドウサイズを含む。
【０１５２】
ノードは相手ノードからの接続状態情報要求のなかのウィンドウ値に基づきローカルの相手ウィンドウサイズを更新する。
【０１５３】
そして、相手ノードへ戻された現在の接続状態情報は相手シーケンス番号、ローカルシーケンス番号およびローカルで記録されたローカルウィンドウサイズを含む。
【０１５４】
現在の接続状態情報はＴＣＰを介して確立された接続の第２ＳＹＮメッセージの形式で相手ノードへ戻され、ＴＣＰで認識シーケンス番号領域はローカルで記録された相手シーケンス番号である。
【０１５５】
発明の適用を２つの特定例によって図示する。
【０１５６】
適用例１：図１に示す配分システムのＴＣＰ接続、および図１１に示すその接続状態同期のフローを参照されたい。ノードＢの活性ボードに故障が生じると、スタンバイボードが活性ボードに取って代わり作動する。元のＴＣＰ接続の宛先ＩＰアドレス、送信元ＩＰアドレス、宛先ポート番号および送信元ポート番号を単に知ることによって、スタンバイボードはノードＡへ接続状態情報要求メッセージを送信してもよく、ノードＡから接続状態情報応答メッセージを受信し、次に接続状態同期認識メッセージをノードＡへ送信する。このようにして、接続状態同期プロセスが達成されてもよい。それ以降、ノードＢはノードＡとデータ送信を続けてよい。このプロセスは上位アプリケーションにとってほとんど微小である。
【０１５７】
適用例２：ノードＣとノードＤとの間でＴＣＰ接続を介してデータ送信が実行される。ノードＣまたはその中のプロセスが再開するとき、接続の宛先ＩＰアドレス、送信元ＩＰアドレス、宛先ポート番号および送信元ポート番号が残存している場合、ノードＤと相互に作用する接続状態情報要求メッセージ、接続状態情報応答メッセージおよび接続状態同期認識メッセージによって接続状態が同期されてもよく、これによりＴＣＰ接続が回復されてもよい。言いかえれば、ノードＣでの短時間の再開行為が接続に基づいたデータ送信に影響を与えない。
【０１５８】
本発明の実施形態によれば、いつでもいかなる場合でも高い可用性システムの切り替えのために、元の接続を続けてよい。そして、集中型のシステムの短時間の故障によって引き起こされた同期していない接続状態を回復する効果が達成されてもよい。加えて、本発明の実施形態で、高い可用性システムの各接続ユニット間の接続状態のリアルタイム同期がなくても、接続の接続パラメータがバックアップ接続ユニットへ一度送信されてもよい。このようにして、システムのサービス処理機能を確保するために、プロセッサと高い可用性システムの内部帯域幅を公開してもよい。
【０１５９】
本発明の以上の実施形態は、本発明の範囲を限定することを意図するものではない。本発明の思想および原理のなかで、さまざまな修正、均等な変形および改善が、本発明の権利請求に含まれる。
【図面の簡単な説明】
【０１６０】
【図１】高い可用性システムのＴＣＰ接続の模式図である。
【図２】従来において接続状態を同期するための第１の方法の模式図である。
【図３】従来において接続状態を同期するための第２の方法の模式図である。
【図４】本発明の１実施形態による同期要求ノードのフローチャートである。
【図５】ＴＣＰ／ＩＰプロトコルにおけるメッセージ領域の構造を示す図である。
【図６】本発明の１実施形態による同期応答ノードのフローチャートである。
【図７】本発明の他の実施形態による同期要求ノードのフローチャートである。
【図８】本発明の１実施形態に基づき接続状態を同期するための方法を採用する同期要求ノードおよび同期応答ノードの模式図である。
【図９】本発明の１実施形態に基づき接続状態を同期するための方法を採用する同期要求ノードおよび同期応答ノードの模式図である。
【図１０】本発明に付加されるＴＣＰ状態機器の模式図である。
【図１１】本発明の１適用例における接続状態同期のためのメッセージのフローチャートである。
【図１２】本発明の他の適用例における接続状態同期のためのメッセージのフローチャートである。
【図１】
2009525013.tif 000003
【図２】
2009525013.tif 000004
【図３】
2009525013.tif 000005
【図４】
2009525013.tif 000006
【図５】
2009525013.tif 000007
【図６】
2009525013.tif 000008
【図７】
2009525013.tif 000009
【図８】
2009525013.tif 000010
【図９】
2009525013.tif 000011
【図１０】
2009525013.tif 000012
【図１１】
2009525013.tif 000013
【図１２】
2009525013.tif 000014
【手続補正書】
【提出日】平成20年7月30日(2008.7.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ノードによって、接続する相手ノードから接続状態情報を要求するステップと、
接続が確立された前記相手ノードによって、前記ノードから接続状態情報要求を受信するステップと、
前記相手ノードによって、現在のローカル接続状態情報を前記ノードへ戻すステップと、
前記ノードによって、前記相手ノードによって戻された接続状態情報に基づきローカル接続状態を更新するステップとを含む、データ通信における接続状態を同期するための方法。
【請求項２】
前記ノードは第１通信ユニットおよび少なくとも１つの第２通信ユニットを備え、
前記第１通信ユニットは前記相手ノードとの接続の接続パラメータを第２通信ユニットに通知し、
前記少なくとも１つの第２通信ユニットの１つは接続パラメータに基づき相手ノードから接続状態情報を要求し、
前記第２通信ユニットは、相手ノードによって戻された接続状態情報に基づきローカル接続状態を更新する、請求項１に記載の接続状態を同期するための方法。
【請求項３】
前記接続パラメータは送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号および宛先ポート番号を備える、請求項２に記載の接続状態を同期するための方法。
【請求項４】
前記接続状態情報はローカルシーケンス番号および相手シーケンス番号を備える、請求項１〜３のいずれかに記載の接続状態を同期するための方法。
【請求項５】
前記相手ノードから前記接続状態情報を要求する間、前記ノードによってローカルウィンドウ値を送信するステップと、
前記相手ノードによって、前記ノードからの接続状態情報要求のウィンドウ値に基づいて更新するステップとをさらに含み、
相手ノードによって戻された接続状態情報が相手ノードのウィンドウ値を備える、請求項４に記載の接続状態を同期するための方法。
【請求項６】
前記相手ノードによって戻された接続状態情報を受信した後、前記ノードは相手ノードとの接続状態同期を認識する、請求項１〜３のいずれかに記載の接続状態を同期するための方法。
【請求項７】
前記相手ノードから接続状態情報を要求するためのメッセージがＴＣＰを介して確立された接続の第１ＳＹＮメッセージの形式であり、
前記ノードの要求に応答するためのメッセージがＴＣＰを介して確立された接続の第２ＳＹＮメッセージの形式であり、
前記接続状態同期を認識するためのメッセージがＴＣＰを介して確立された接続の第３ＳＹＮメッセージの形式である、請求項６に記載の接続状態を同期するための方法。
【請求項８】
前記接続状態情報を前記相手ノードへ戻す前に、前記ノードは相手ノードから接続状態情報要求を受信するとき接続中のデータ送信を一時中断する、請求項１に記載の接続状態を同期するための方法。
【請求項９】
接続モジュールおよび同期要求モジュールを備え、
前記接続モジュールは相手ノードとの接続を介して通信するために適応し、
前記同期要求モジュールは、接続状態情報要求を、接続モジュールを介して相手ノードへ送信し、同期し、および接続モジュールによって相手ノードから受信した接続状態情報に基づいてローカル接続状態を更新するために適応する、通信ノード。
【請求項１０】
ローカル接続状態情報が相手ノードによって戻された接続状態情報と同様にセットされ、
接続状態情報同期が接続モジュールを介して相手ノードに認識される、請求項９に記載の通信ノード。
【請求項１１】
接続状態情報要求はローカルウィンドウサイズを備え、相手ノードによって戻された接続状態情報は、ローカルシーケンス番号、相手シーケンス番号、および相手ノードによって記録された相手ウィンドウサイズを備える、請求項９または１０に記載の通信ノード。
【請求項１２】
第１通信ユニットおよび少なくとも１つの第２通信ユニットを備え、
前記第１通信ユニットは相手ノードとの接続の接続パラメータを前記第２通信ユニットに送信し、
前記第２通信ユニットは、前記接続パラメータに基づき相手ノードとの接続を確立し、相手ノードへ接続状態情報要求を送信し、相手ノードから受信した接続状態情報に基づいて接続状態を更新する、通信ノード。
【請求項１３】
現在のユニットの接続状態情報が、相手ノードによって戻された接続状態情報と同様にセットされ、
接続状態同期が相手ノードに認識される、請求項１２に記載の通信ノード。
【請求項１４】
前記相手ノードから受信された前記接続状態情報は、ローカルシーケンス番号および相手ノードに記録された相手シーケンス番号を備え、前記接続パラメータは送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号および宛先ポート番号を備える、請求項１２または１３に記載の通信ノード。
【請求項１５】
接続モジュールおよび同期応答モジュールを備え、
前記接続モジュールは相手ノードとの接続を介して通信するために適応し、
前記同期応答モジュールは、接続モジュールによる出力である相手ノードからの接続状態情報要求を受信し、接続モジュールを介して相手ノードへ現在のローカル接続状態情報を送信するために適応する、通信ノード。
【請求項１６】
前記通信ノードは通信制御モジュールをさらに備え、前記通信制御モジュールは、前記接続モジュールが前記相手ノードから前記接続状態情報要求を受信した後に接続モジュールのデータ通信を一時中断し、通信制御モジュールは、接続モジュールが相手ノードから接続状態情報要求を受信した後に接続モジュールのデータ通信を一時中断し、接続モジュールが相手ノードから接続状態同期認識を受信した後に接続モジュールのデータ通信を続けるために適応する、請求項１５に記載の通信ノード。
【請求項１７】
前記現在のローカル接続状態情報は、相手シーケンス番号、ローカルシーケンス番号およびローカルで記録されるローカルウィンドウサイズを備える、請求項１６に記載の通信ノード。
【請求項１８】
データ通信における接続状態同期を実現するためのコンピュータ実行命令を有し、
前記コンピュータ実行命令が通信ノードにロードされたとき、前記通信ノードが、
通信ノードと接続する相手ノードから接続状態情報を要求する手順と、
前記相手ノードによって戻された接続状態情報に基づいてローカル接続状態を更新する手順とを実行する、コンピュータ読み取り可能メディア。
【請求項１９】
前記通信ノードは活性通信ユニットおよびスタンバイ通信ユニットを備え、前記スタンバイ通信ユニットは前記活性通信ユニットによって付与される接続パラメータに基づき接続状態情報を相手ノードから要求し、次に、取得された接続状態情報に基づきローカル接続状態を更新する、請求項１８に記載のコンピュータ読み取り可能メディア。
【請求項２０】
前記接続パラメータは、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号および宛先ポート番号を備える、請求項１９に記載のコンピュータ読み取り可能メディア。
【請求項２１】
前記接続状態情報はローカルシーケンス番号および相手シーケンス番号を備える、請求項２０に記載のコンピュータ読み取り可能メディア。
【請求項２２】
前記通信ノードは、前記相手ノードから接続状態情報を要求する間、ローカルウィンドウ値を送信し、
相手ノードから戻された接続状態情報は相手ノードのローカルウィンドウ値を備える、請求項２１に記載のコンピュータ読み取り可能メディア。
【請求項２３】
前記ローカル接続状態を更新した後、前記ノードは前記相手ノードとの接続状態同期を認識する、請求項１８に記載のコンピュータ読み取り可能メディア。
【請求項２４】
前記相手ノードから接続状態情報を要求するためのメッセージが、ＴＣＰを介して確立された接続の第１ＳＹＮメッセージの形式であり、
前記接続状態同期を確認するためのメッセージが、ＴＣＰを介して確立された接続の第３ＳＹＮメッセージの形式である、請求項１８に記載のコンピュータ読み取り可能メディア。
【請求項２５】
データ通信における接続状態同期を実現するためのコンピュータ実行命令を有し、
前記コンピュータ実行命令が通信ノードにロードされたとき、前記通信ノードが、
現在の通信ノードとの接続を確立している相手ノードから接続状態情報要求を受信する手順と、
前記通信ノードによって現在のローカル接続状態情報を前記相手ノードへ戻す手順とを実行する、コンピュータ読み取り可能メディア。
【請求項２６】
接続状態情報を前記相手ノードへ戻す前に、前記ノードは接続中のデータ送信を、相手ノードから前記接続状態情報要求を受信した後に一時中断する、請求項２５に記載のコンピュータ読み取り可能メディア。
【請求項２７】
前記相手ノードからの接続状態情報要求は相手ノードのウィンドウサイズを備え、
前記ノードは、相手ノードからの接続状態情報要求のなかのウィンドウ値に基づき、ローカルの相手ウィンドウサイズを更新し、
相手ノードへ戻された現在の接続状態情報は、相手シーケンス番号、ローカルシーケンス番号およびローカルで記録されたローカルウィンドウサイズを備える、請求項２５に記載のコンピュータ読み取り可能メディア。
【請求項２８】
現在の接続状態情報はＴＣＰを介して確立された接続の第２ＳＹＮメッセージの形式で前記相手ノードへ戻され、認識シーケンス番号領域はローカルで記録される相手シーケンス番号である、請求項２５に記載のコンピュータ読み取り可能メディア。
【国際調査報告】
2009525013.tif 000015
2009525013.tif 000016
2009525013.tif 000017
2009525013.tif 000018