説明

冗長の接続を除去する方法

冗長の接続を除去する方法及びシステムが記載され、2つの接続をマージする要求を送信し、第1の接続の第1の部分を終了させ、第1の接続は、第1の装置と第2の装置との間で通信を実施し、第2の接続の第1の部分を終了させ、第2の接続は、第1の装置と第3の装置との間で通信を実施し、第1及び第2の接続のそれぞれは、第4の装置を通じて実施され、第1及び第2の接続のそれぞれの第2の部分をマージすることを有する。接続をマージする方法及びシステムも記載され、2つの接続をマージする要求を受信し、第1の接続の第1の部分を終了させ、第1の接続は、第1の装置と第2の装置との間で通信を実施し、第2の接続の第1の部分を終了させ、第2の接続は、第1の装置と第3の装置との間で通信を実施し、第1及び第2の接続のそれぞれは、第4の装置を通じて実施され、第1及び第2の接続のそれぞれの第2の部分をマージすることを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーキングに関し、特にTCP/UDP接続を使用した装置に関する。
【背景技術】
【0002】
ネットワーキング技術の進展は、様々な装置の通信を容易にしており、アプリケーションが複数の装置に関与することを可能にしている。通常では異なる目的のための設計されたこれらの装置は、異なる計算機能、メモリ容量及び消費電力を有する。その結果、これらの装置がアプリケーション(ファイル共有及びファイルダウンロード)に関与するときに、これらの装置について異なる要件が存在する。
【0003】
図1は、無線アクセスポイントが(ネットワークアドレス変換(NAT:Network Address Translation)型ルータ(ネットワーク変換装置)を介して)インターネットに接続される例示的なホームネットワーキング環境を示している。また、ネットワーク接続ストレージ(NAS:network attached storage)装置(宛先ストレージ装置/ストレージ装置)、デスクトップコンピュータ及び複数の無線クライアント(例えば、ラップトップ、PDA(personal digital assistant))も存在する。ここで用いられる“/”は、構成要素の代替名を示すものとして解釈されるべきである。図1に示す例示的な環境で、ファイル共有アプリケーションは、4つの装置(遠隔ファイル(データ)サーバ(ソースデータサーバ/ソース装置)、ネットワーク接続ストレージ(NAS)、アクセスポイント及び少なくとも1つの移動クライアント(例えば、ラップトップ又はPDA))に関与する。ラップトップ及びPDAは強力なCPUとユーザフレンドリーなインタフェースとを備えているが、これらは常に電源オンになるように設計されていない。他方、無線アクセスポイント及びNASは、通常では遅いCPU及び小さいメモリを備えた小型の組み込み型システムである。これらは、ほとんどの時間に電源オンになる。
【0004】
これらの装置により使用される通信プロトコルは、通常ではTCPである。しかし、TCPのエンド・ツー・エンドの性質は、全ての参加する装置を一緒に結び付け、これらがセッションの期間中にアクティブであることを要求する。しかし、必ずしも常に全ての装置が必要であるとは限らない。例えば、PDAは、ファイルダウンロードを開始するために使用され得る。実際に望ましいことは、ファイルが遠隔ファイル(データ)サーバ(ソース装置)からNASディスク(ストレージ装置)に直接ダウンロードされ、これにより、ダウンロードが始まったときにPDAが一時停止できることである。複数の理由で、NASに直接これを行うことを命令することは可能でないことがある。まず、NASは、ダム装置(dumb device)であることがあり、接続を開始するように制御され得ない。次に、初期接続設定処理は、複雑な認証を必要とするため、人間の相互作用(例えば、ユーザ名及びパスワードの記入、スクリプト(例えば、Java(登録商標)スクリプト)の解釈、又は図表によるパズルの解決)を必要とすることがある。
【発明の概要】
【発明が解決しようとする課題】
【0005】
通常では、アプリケーションが適切に動作するために、複数の接続が設定されて維持される。しかし、この手法には複数の欠点が存在する。まず、全ての参加者がセッション中にアクティブであるという要件は、移動装置の移動性を制限する。アプリケーションの適切な機能がアクティブなTCPエンドポイント/装置に依存するため、装置が切断又は一時停止されることは不可能である。しかし、これらの装置を常に電源オンに保持することは、通常では望ましくない。例えば、ノートブックコンピュータを仕事に持ち歩くことが必要である又は望ましいことがあり、又はPDAが限られた電池寿命を有することがある。次に、冗長の接続は、多くのリソースを消費する。これらの装置をアクティブに保持する際に電力が消費され、装置の間でデータを送信するために余分な帯域が必要になり、チェックサム計算を実行するためにCPUサイクルが必要になり、パケットをバッファに入れるためにメモリが必要になる。最後に、冗長の接続は、通常ではアプリケーションの信頼性及び性能を増加させないが、冗長の接続は、多い障害のポイント、多いボトルネックのリンク及び大きい待ち時間を導入する。例えば、無線接続は、パケット損失及び接続のドロップをしばしば受けやすい。アプリケーションが関与する無線リンクが多くなるほど、実際にデータ通信の信頼性が低くなる。
【0006】
従来技術の手法では、プロキシがネットワークアドレス変換装置に配置されている。外部への接続は、プロキシにより行われて保持される。まず、複数の装置は、ネットワークアドレス変換装置に接続し、同じ接続を要求することができる。従って、移動装置は、接続を設定し、他の装置にこの接続を使用するように命令することができる。しかし、この手法は、特定のホストの間での接続の共有のみを可能にし、接続の数を減少させない。更に、いくつかのダム装置(例えば、NAS)は、ネットワークアドレス変換装置への接続を開始することすらできないことがある。更に、ネットワークアドレス変換装置の余分な数の接続のため、ネットワーク変換装置は、多くのリソース(例えば、データコピー及びチェックサム計算、パケットのバッファリング等)を必要とする。TCPスプライシング(TCP splicing)は、同様の従来技術の手法であるが、この焦点は、クライアントとサーバとの間の接続のプロキシの性能を改善することにある。これは、3つの装置(クライアント、サーバ及びプロキシ)のみに関与する。他の従来技術の手法であるMsocksは、同じ装置の移動性の問題を解決するために、TCPスプライシングを利用する。すなわち、ホストが移動すると、その接続はトランスポートレベルで維持される。Msocksはまた、特別のライブラリとリンクするために移動装置のアプリケーションを変更することを必要とする。
【課題を解決するための手段】
【0007】
本発明は、複数の装置がアプリケーションに関与するときに、冗長のTCP/UDP接続を除去する方法を対象とし、1つの装置から他の装置への通信セッションのトランスペアレントな移行を可能にし、移動装置の移動性を容易にする。
【0008】
本発明による方法は、移動装置のTCPの実装における制限のないことを含み、複数の利点を有する。2つの接続がマージ(合併又は併合)できるように整合させるために、接続は同様の拡張機能(例えば、ウィンドウスケール(window scale)、選択性の承認(selective acknowledgement)、タイムスタンプ)を有するべきである。ある程度の余分のオーバーヘッドで、これらの機能のいくつかをネットワークアドレス変換装置に実装することは可能である。
【0009】
冗長の接続を除去する方法及びシステムが記載され、2つの接続をマージする要求を送信し、第1の接続の第1の部分を終了させ、第1の接続は、第1の装置と第2の装置との間で通信を実施し、第2の接続の第1の部分を終了させ、第2の接続は、第1の装置と第3の装置との間で通信を実施し、第1及び第2の接続のそれぞれは、第4の装置を通じて実施され、第1及び第2の接続のそれぞれの第2の部分をマージすることを有する。接続をマージする方法及びシステムも記載され、2つの接続をマージする要求を受信し、第1の接続の第1の部分を終了させ、第1の接続は、第1の装置と第2の装置との間で通信を実施し、第2の接続の第1の部分を終了させ、第2の接続は、第1の装置と第3の装置との間で通信を実施し、第1及び第2の接続のそれぞれは、第4の装置を通じて実施され、第1及び第2の接続のそれぞれの第2の部分をマージすることを有する。本発明は、半分の接続である接続部分について記載されている点に留意すべきである。
【0010】
接続をマージする方法及びシステムも記載され、第1の装置と第2の装置との間で第1のマッピングを終了させ、第1の装置と第3の装置との間で第2のマッピングを終了させ、第2の装置と第3の装置との間でマッピングを生成することを有する。
【図面の簡単な説明】
【0011】
【図1】例示的なホームネットワーキング環境
【図2】本発明の原理による接続マージ処理の概略図
【発明を実施するための形態】
【0012】
本発明は、添付図面と共に読まれたときに以下の詳細な説明から最も良く理解できる。
【0013】
図1は、無線アクセスポイントがインターネットに接続される例示的なホームネットワーキング環境を示している。アクセスポイントは、インターネットに直接接続されてもよく、ネットワークアドレス変換(NAT:Network Address Translation)型ルータ(ネットワークアドレス変換装置)を介して接続されてもよい。また、ネットワーク接続ストレージ(NAS:network attached storage)装置(宛先ストレージ装置)、デスクトップコンピュータ及び複数の無線クライアント(例えば、ラップトップ、PDA)も存在する。図1に示す例示的な環境で、ファイル共有アプリケーションは、4つの装置(遠隔ファイル(データ)サーバ、ネットワーク接続ストレージ(NAS)装置、アクセスポイント及び少なくとも1つの移動クライアント(例えば、ラップトップ又はPDA(personal digital assistant)))に関与する。ラップトップ及びPDAは強力なCPUとユーザフレンドリーなインタフェースとを備えているが、これらは常に電源オンになるように設計されていない。他方、無線アクセスポイント及びNASは、通常では遅いCPU及び小さいメモリを備えた小型の組み込み型システムである。これらは、ほとんどの時間に電源オンになる。
【0014】
本発明は、冗長の接続を有するデータ/ファイル共有又はデータ/ファイルダウンロード形式のアプリケーションを対象とする。これは、TCP及びUDP通信プロトコルの双方で典型的に生じる。ほとんどのデータ/ファイル共有又はファイルダウンロードアプリケーションでは、データは、インタラクティブアプリケーションのように迅速には必要にならない。しかし、本発明は、ストリーミング及びVoIPアプリケーションでも使用され得る。本発明はファイル/データダウンロードに関して記載されるが、本発明は、同様にファイル/データアップロードアプリケーションでも動作する点に留意すべきである。この場合、装置の役目が逆になる。ソース装置は宛先装置になり、その逆も同様である。
【0015】
一実施例では、本発明は、TCP型アプリケーションを扱う。図2を参照すると、移動装置は、第1の接続を使用してソースデータサーバ(ソース装置)Sへの接続を開始し、第2の接続を使用して宛先ストレージサーバ/ストレージ装置Dにコンテンツを保存する。双方の接続は、ネットワークアドレス変換装置を通過する。すなわち、移動装置とソース装置との間の接続は、移動装置とストレージ装置との間の接続と同様に、ネットワークアドレス変換装置を通過する。接続の確立の後に、移動装置は、ネットワークアドレス変換装置に対してこれらの2つの接続をマージするように要求する。これにより、ソース装置Sは、データをストレージ装置Dに直接転送する。図2の接続は、通信が双方向であることを示す両方向の矢印を有する点に留意すべきである。本発明の方法の説明で、以下の記号が使用される。
S:ソース装置/ソースデータサーバ
M:移動装置
D:宛先ストレージサーバ/ストレージ装置
N:ネットワークアドレス変換ホスト/ネットワークアドレス変換装置
接続の方向毎にプロトコル状態情報を記録するためにタプル(tuple)が規定される。タプルは2つのフィールドから構成される。
T(snd_max,ack_max)
タプルは、接続の一方向についてネットワークアドレス変換装置により検出された最大シーケンス番号と最大承認番号とを記録する。各タプルは、対応する装置のプロトコル状態の遅延したミラーとして考えられてもよい。しかし、状態の正確性を維持しなければならないエンド装置とは異なり、ネットワークアドレス変換装置は、記録を付けさえすればよい。例えば、エンド装置は、順序が狂ったパケットをバッファに入れなければならないが、ネットワークアドレス変換装置は、通常の動作中にパケットをバッファに入れない。従って、状態は遅延していると考えられる。これは、エンド装置とネットワークアドレス変換装置との間のネットワーク内に依然としてパケットが存在するからである。この手法の利点は、ネットワークアドレス変換装置のプロキシを必要とせずに、プロトコルの複雑性がエンド装置で保持されるという点にある。
【0016】
本発明の原理に従って設定されたネットワークアドレス変換装置で使用される4つのタプルが存在する。
Tsm:ソースホストから移動装置への半分の接続のためのタプル
Tms:移動ホストからソース装置への半分の接続のためのタプル
Tmd:移動ホストから宛先装置への半分の接続のためのタプル
Tdm:宛先ホストから移動装置への半分の接続のためのタプル
これらの4つのタプルは、2つの接続(ネットワークアドレス変換装置を介したソース装置と移動装置との間の接続の(Tms,Tsm)、及びネットワークアドレス変換装置を介した移動装置と宛先/ストレージ装置との間の(Tmd,Tdm))に対応する。従って、設定中に、移動装置は、ソース装置(ソースデータサーバ又はデータサーバ)への第1の接続を開始する。次に、移動装置は、ストレージ装置への第2の接続を開始する。これらの2つのステップは交換されてもよい。次に、移動装置は、ソース装置からファイル/データを取得する。最後に、移動装置は、ファイル/データをストレージ装置に転送する。
【0017】
移動装置がこれらの2つの接続をマージすることを決定すると、まず、移動装置は、2つの接続がマージされることを示すメッセージをネットワークアドレス変換装置に送信する。この場合、マージにより、移動装置に関与する接続を除去する。ネットワークアドレス変換装置は、未承認データが承認されるのを待機し、移動装置とソース装置との間の接続の移動装置側を終了させる(terminate)。受信したバッファのデータを処理した後に、移動装置は、ストレージ装置との通信の終了を示す他のメッセージをネットワークアドレス変換装置に送信する。第2のメッセージを受信すると、ネットワークアドレス変換装置は、接続をマージし始めることができる。接続は以下の段階でマージされる。
【0018】
段階1:通常の動作
ネットワークアドレス変換装置で、プロトコル情報は、他の接続とマージされる可能性があるマージ毎に追跡される必要がある。SYNフラグセットを有するパケットのシーケンス番号から始めて、ネットワークアドレス変換装置が検出した最大のシーケンス番号及び承認番号が記録される。しかし、パケット損失又は並び替えのため、反対側で全ての以前のパケットを受信していない可能性がある。エンド装置は、損失したパケットの再送信を処理する。例えば、シーケンス番号Psm.seq及び承認番号Psm.ackでソース装置から移動装置に送信したパケットPsmは、以下のように対応するタプルを更新する。
(Tsm.snd_max<Psm.seq)である場合、Tsm.snd_max=Psm.seq
(Tsm.ack_max<Psm.ack)である場合、Tsm.ack_max=Psm.ack
段階2:第1の接続の“終了”
移動装置が2つの接続のマージを要求する場合、ネットワークアドレス変換装置に通知するメッセージを送信する。ネットワークアドレス変換装置は、移動装置とソース装置との間の第1の接続についての2つのタプルをフリーズする。この時点から、低いシーケンス番号及び承認番号を有するパケットのみがこれらの間で転送され得る。これらのパケットは、ネットワーク内で遅延しているか、エラーのため再送信されている。特定のペイロードのシーケンス番号が対応するタプルの“snd_max”を超える場合、ペイロードは切り捨てられる。移動ホスト/装置及びソースホスト/装置の双方は、ネットワークアドレス変換装置により検出された最大シーケンス番号より大きいシーケンス番号を検出できないため、対応するタプルの“ack_max”より大きい承認番号を有するパケットは破棄される。マージ動作を実行するために要する時間は、TCPのタイムアウト値より小さくなるべきであるため、エンド装置は、破棄されたパケットを損失したものとして検出し、再送信を実行することができるべきである。実装の改善として、ネットワークアドレス変換装置は、ネットワークアドレス変換装置の利用可能なメモリに応じて“snd_max”を超えるペイロードを有するいくつかのパケットをバッファに入れるように選択してもよい。
【0019】
パケットが正確に受信された後に、ネットワークアドレス変換装置は、アクティブ・クローズ(active close)を開始し、FINを移動装置に送信する。移動装置の観点から、接続が終了する。ネットワークアドレス変換装置は、移動装置からFIN、ACKを待機し、ネットワークアドレス変換装置は、最終的なACKを送信する。すなわち、移動装置がソース装置からデータを受信する移動装置とソース装置との間の接続の半分が終了する。
【0020】
段階3:第2の接続の“終了”
移動装置は、ソース装置からのバッファのデータを処理し続け、ストレージ装置との接続の終了を示すメッセージをネットワークアドレス変換装置に送信する。このメッセージはアプリケーションにより規定され、ストレージ装置に送信された全てのデータが承認された後に送信される。すなわち、ストレージ装置が移動装置からデータを受信する移動装置とストレージ装置との間の接続の半分が終了する。
【0021】
他の実施例では、移動装置は、FINを有するパケットをストレージ装置に送信する。この実施例では、ネットワークアドレス変換装置は、宛先に転送せずに、FINメッセージを傍受する。これは、基本的にパッシブ・クローズ(passive close)であり、ネットワークアドレス変換装置は、FIN及びACKで移動装置に応答し、移動装置から最終的なACKを待機する。アプリケーションがFINメッセージを使用せずにメッセージを送信すると、ネットワークアドレス変換装置は、前の段階と同様に移動装置への半分の接続を終了させる。
【0022】
この段階で、終了メッセージ又はFINメッセージを有するパケットが受信されるまで、第2の接続のタプルが更新される。次に、第2の接続のタプルがフリーズされる。この時点から、snd_maxより小さいシーケンス番号及びack_maxより小さい承認番号を有するパケットのみが前の段階と同様に受け付けられる。
【0023】
移動装置が移動装置とストレージ装置との間の接続の半分を終了させた後に、ネットワークアドレス変換装置は、ストレージ装置とソース装置との間に新しいマッピングを生成し、これらの間でパケットを転送する準備をする。FINメッセージが接続を終了させるために使用される場合、snd_maxがFIN-1のシーケンス番号として指定される。
【0024】
段階4:マージの完了
これらの2つの接続のシーケンス番号及び承認番号は独立している。パケットは、ソース装置と移動装置との間で単に直接転送できない。移動装置がこれらの2つの接続に関与していなくても、パケットが移動装置からのものであるように見えるように、パケットは変更される必要がある。例えば、ソース装置から生じたパケットでは、シーケンス空間を送信するソース装置は、パケットをストレージ装置に送信するために移動装置により使用される送信シーケンス空間にマッピングされる。承認もまた、ストレージ装置により使用される送信空間に入るように変更される。シーケンス番号は以下のように変更される。
Psm.seq=Psm.seq-Tsm.snd_max+Tmd.snd_max
ACKは以下のように変更される。
Psm.ack=Psm.ack-Tms.snd_max+Tdm.snd_max
ソース装置から移動装置へのパケットの詳細な動作は以下のようになる。
Psm.dst_ip=D.ip(宛先ipを宛先(ストレージ装置)に変更)
Psm.dst_port=D.port
Psm.src_ip=M.ip
Psm.src_port=M.port(Dと通信するために使用されるポート)
Psm.seq=Psm.seq-Tsm.snd_max+Tmd.snd_max
Psm.ack=Psm.ack-Tms.snd_max+Tdm.snd_max
第3及び第4の命令は併せて、データ/ファイルが移動装置からのものであるが、データ/ファイルが実際にソース装置から生じるように思わせるために、宛先(ストレージ装置)をだます。ストレージ装置から移動装置へのパケットの詳細な動作は以下のようになる。
Pdm.dst_ip=S.ip
Pdm.dst_port=S.port
Pdm.src_ip=N.ip
Pdm.dst_port=N.port
Pdm.seq=Pdm.seq-Tdm.snd_max+Tms.snd_max
Pdm.ack=Pdm.ack-Tmd.snd_max+Tms.snd_max
前述の動作で実現するものは、第1及び第2の接続のそれぞれ他の(第2の)半分のマージである。すなわち、ソース装置は、ネットワークアドレス変換装置を介してデータ/ファイル/パケットをストレージ装置に送信する。ネットワークアドレス変換装置は、もはや関与していない移動装置からデータ/パケットが生じるようにストレージ装置に見えるように、パケットヘッダを変更する。このことは、移動装置からソース装置へ及びストレージ装置から移動装置への通信を効率的にマージ又は終了させる。
【0025】
N.portは、遠隔データソースサーバ(遠隔ソース装置)に見えるポートである点に留意すべきである。ネットワークアドレス変換装置の実装に応じて、ソース装置に接続するために移動装置により使用されるポートと異なってもよい。M.portは、ストレージ装置に見えるポートである。前述の例では、ストレージ装置は移動装置と同じネットワーク内にあるため、M.portは、移動装置により使用されるポートと同じである。前述の変更の後で、TCPヘッダ及びIPヘッダのチェックサムが計算される、又はインクリメントして再計算される。
【0026】
他の実施例では、アプリケーションは、トランスポートプロトコルとしてUDPを使用する。まず、移動装置はソース装置に接続し、ネットワークアドレス変換装置は、移動装置により使用されるUDPポートとソース装置により使用されるポートとの間のマッピングを維持する。移動装置がストレージ装置にセッションを移行することを決定すると、まず、移動装置は、ストレージ装置へのUDPセッションを活性化する(実装に応じて、移動装置又はストレージ装置がセッションを開始することができる)。次に、移動装置は、移動装置Mとソース装置Sとの間のマッピングをストレージ装置Dとソース装置Sとの間のマッピングに変更するように、ネットワークアドレス変換装置に命令する。
【0027】
ソース装置から移動装置に送信されるパケットでは、ネットワークアドレス変換装置は以下の動作を実行する。
Psm.src_ip=M.ip
Psm.src_port=M.port(Dと通信するために使用されるポート)
Psm.dst_port=D.port
Psm.dst_ip=D.ip
ストレージ装置から移動装置に送信されるパケットでは、ネットワークアドレス変換装置は以下の動作を実行する。
Pdm.dst_ip=S.ip
Pdm.dst_port=S.port
Pdm.src_ip=N.ip
Pdm.dst_port=N.port
本発明による方法で示したファイル共有アプリケーションの他に、本発明の方法は、例えば以下のような他の用途を有する。
1.1つの装置から他の装置にストリーミングセッションをトランスペアレントに切り替える。本発明の方法を使用して、ユーザがパーソナルコンピュータ(PC)又はPDAからストリーミングビデオを視聴することを可能にするストリーミングクライアントは、後で、TCP/UDPを使用するTV(又はセットトップボックス付きTV)に移行することができる。ストリーミングアプリケーションがTCPのみを使用する場合(例えば、RTP over RTSP)、まず、移動装置はアプリケーション状態をストレージ装置に転送し、TCP接続をストレージ装置に移行する。ストリーミングアプリケーションがTCP(例えば、RTSP)及びUDP(RTP)を使用する場合、まず、移動装置はアプリケーション状態(RTSP状態)及びRTP状態をストレージ装置に転送し、TCP及びUDP接続をストレージ装置に移行する。
2.ストリーミングセッションの“視聴”からストリーミングセッションの“格納”にトランスペアレントに切り替える。この用途は、ストレージ装置が装置(例えば、TV)で処理/表示する代わりにローカルのストレージにストリームを格納する点を除いて、前述のものと同様である。
3.1つの装置から他の装置に又は1つのユーザ電話機から他のユーザ電話機にVoIP呼をトランスペアレントに切り替える。この用途は、前述の2つの用途と同様であり、まず、アプリケーション状態をストレージ装置に転送し、次に、TCP/UDP接続を移行することにより実装される。
【0028】
更なる状態を使用しないアプリケーション又はセッションの開始時にのみいくつかの状態を使用するアプリケーションでは、移動装置とストレージ装置との双方で動作するアプリケーションは、不変のままでもよい。しかし、セッション中にいくつかの状態を維持しなければならないアプリケーションでは、アプリケーションは、これらの状態を転送し、前述のように本発明による方法を使用して基礎となる接続を移行するように変更されなければならない。
【0029】
接続のマージを開始するために、ネットワークアドレス変換装置は、共通ゲートウェイインタフェース(CGI:common gateway interface)型のウェブインタフェースを提供してもよい。クライアントは、CGIスクリプトにアクセスし、現在追跡されている接続のリストを取得し、ネットワークアドレス変換装置がマージすべき接続を示してもよい。他の実施例は、ネットワークアドレス変換装置にデーモンプロセスを配置し、マージ命令を送信する移動装置用の通信インタフェースを規定することである。
【0030】
本発明は、様々な形式のハードウェア、ソフトウェア、ファームウェア、専用目的プロセッサ又はこれらの組み合わせで実装されてもよい。本発明は、ソフトウェアとハードウェアとの組み合わせとして実装されることが好ましい。更に、ソフトウェアは、プログラムストレージ装置に明確に具現されたアプリケーションプログラムとして実装されることが好ましい。アプリケーションプログラムは、何らかの適切なアーキテクチャを有する機械にアップロードされて実行されてもよい。機械は、1つ以上の中央処理装置(CPU)、ランダムアクセスメモリ(RAM)及び入出力(I/O)インタフェースのようなハードウェアを有するコンピュータプラットフォームに実装されることが好ましい。コンピュータプラットフォームはまた、オペレーティングシステムとマイクロ命令コードとを含む。ここに記載する様々な処理及び機能は、マイクロ命令コードの一部でもよく、オペレーティングシステムを介して実行されるアプリケーションプログラムの一部でもよい(これらの組み合わせでもよい)。更に、更なるデータストレージ装置及び印刷装置のように、様々な他の周辺装置がコンピュータプラットフォームに接続されてもよい。
【0031】
添付図面に示すいくつかの構成要素のシステム構成要素及び方法のステップは、ソフトウェアで実装されることが好ましいため、システム構成要素(又は処理ステップ)の間の実際の接続は、本発明がプログラムされる方法に応じて異なってもよいことが更にわかる。ここでの教示を踏まえて、当業者は、本発明の前記及び同様の実装又は構成を検討することができる。

【特許請求の範囲】
【請求項1】
冗長の接続を除去する方法であって、
2つの接続をマージする要求を送信し、
第1の接続の第1の部分を終了させ、前記第1の接続は、第1の装置と第2の装置との間で通信を実施し、
第2の接続の第1の部分を終了させ、前記第2の接続は、前記第1の装置と第3の装置との間で通信を実施し、前記第1及び第2の接続のそれぞれは、第4の装置を通じて実施され、
前記第1及び第2の接続のそれぞれの第2の部分をマージすることを有する方法。
【請求項2】
前記第1の接続の前記第1の部分を終了させることは、
前記第1の装置と前記第2の装置との間の接続を終了させ、
前記第1の装置により前記第2の装置から受信したバッファのデータを処理し、
前記第2の装置との通信の終了を示すメッセージを送信することを更に有する、請求項1に記載の方法。
【請求項3】
前記第2の接続の前記第1の部分を終了させることは、
バッファのデータを前記第3の装置に送信し、
前記第3の装置との通信の終了を示すメッセージを送信することを更に有する、請求項2に記載の方法。
【請求項4】
前記第1の装置と前記第2の装置との間に前記第1の接続を確立し、前記第1の装置と前記第3の装置との間に前記第2の接続を確立することを更に有する、請求項1に記載の方法。
【請求項5】
前記第2の接続の前記第1の部分を終了させることは、
接続メッセージの終了を第3の装置に送信し、
前記接続メッセージの終了の承認を受信し、
最終的な承認を送信することを更に有する、請求項2に記載の方法。
【請求項6】
接続をマージする方法であって、
2つの接続をマージする要求を受信し、
第1の接続の第1の部分を終了させ、前記第1の接続は、第1の装置と第2の装置との間で通信を実施し、
第2の接続の第1の部分を終了させ、前記第2の接続は、前記第1の装置と第3の装置との間で通信を実施し、前記第1及び第2の接続のそれぞれは、第4の装置を通じて実施され、
前記第1及び第2の接続のそれぞれの第2の部分をマージすることを有する方法。
【請求項7】
前記第1の接続の前記第1の部分を終了させることは、
何らかの以前に送信したが未承認のデータの受信の承認を待機し、
前記第1の接続を介して通信する装置の間のプロトコル状態に関する情報をフリーズし、
前記第1の装置と前記第2の装置との間の通信の終了を示すメッセージを受信することを更に有する、請求項6に記載の方法。
【請求項8】
前記第2の接続の前記第1の部分を終了させることは、
前記第2の装置を介して通信する装置の間のプロトコル状態に関する情報を更新し、
前記第1の装置と前記第3の装置との間の通信の終了を示すメッセージを受信し、
前記第2の接続を介して通信する前記装置の間のプロトコル状態に関する情報をフリーズすることを更に有する、請求項7に記載の方法。
【請求項9】
前記第2の装置と前記第3の装置との間に新しいマッピングを生成することを更に有する、請求項8に記載の方法。
【請求項10】
前記新しいマッピングは、データパケットのシーケンス番号及び承認番号を変更し、これにより、前記パケットが前記第1の装置により送信されたかのように前記第3の装置に見えるようにする、請求項9に記載の方法。
【請求項11】
最大シーケンス番号が接続毎に記録される、請求項6に記載の方法。
【請求項12】
最大承認番号が接続毎に記録される、請求項6に記載の方法。
【請求項13】
冗長の接続を除去するシステムであって、
2つの接続をマージする要求を送信する手段と、
第1の接続の第1の部分を終了させる手段であり、前記第1の接続は、第1の装置と第2の装置との間で通信を実施する手段と、
第2の接続の第1の部分を終了させる手段であり、前記第2の接続は、前記第1の装置と第3の装置との間で通信を実施し、前記第1及び第2の接続のそれぞれは、第4の装置を通じて実施される手段と、
前記第1及び第2の接続のそれぞれの第2の部分をマージする手段と
を有するシステム。
【請求項14】
前記第1の接続の前記第1の部分を終了させる手段は、
前記第1の装置と前記第2の装置との間の接続を終了させる手段と、
前記第1の装置により前記第2の装置から受信したバッファのデータを処理する手段と、
前記第2の装置との通信の終了を示すメッセージを送信する手段と
を更に有する、請求項13に記載のシステム。
【請求項15】
前記第2の接続の前記第1の部分を終了させる手段は、
バッファのデータを前記第3の装置に送信する手段と、
前記第3の装置との通信の終了を示すメッセージを送信する手段と
を更に有する、請求項14に記載のシステム。
【請求項16】
前記第1の装置と前記第2の装置との間に前記第1の接続を確立する手段と、
前記第1の装置と第3の装置との間に前記第2の接続を確立する手段と
を更に有する、請求項13に記載のシステム。
【請求項17】
前記第2の接続の前記第1の部分を終了させる手段は、
接続メッセージの終了を前記第3の装置に送信する手段と、
前記接続メッセージの終了の承認を受信する手段と、
最終的な承認を送信する手段と
を更に有する、請求項14に記載のシステム。
【請求項18】
接続をマージするシステムであって、
2つの接続をマージする要求を受信する手段と、
第1の接続の第1の部分を終了させる手段であり、前記第1の接続は、第1の装置と第2の装置との間で通信を実施する手段と、
第2の接続の第1の部分を終了させる手段であり、前記第2の接続は、前記第1の装置と第3の装置との間で通信を実施し、前記第1及び第2の接続のそれぞれは、第4の装置を通じて実施される手段と、
前記第1及び第2の接続のそれぞれの第2の部分をマージする手段と
を有するシステム。
【請求項19】
前記第1の接続の前記第1の部分を終了させる手段は、
何らかの以前に送信したが未承認のデータの受信の承認を待機する手段と、
前記第1の接続を介して通信する装置の間のプロトコル状態に関する情報をフリーズする手段と、
前記第1の装置と前記第2の装置との間の通信の終了を示すメッセージを受信する手段と
を更に有する、請求項18に記載のシステム。
【請求項20】
前記第2の接続の前記第1の部分を終了させる手段は、
前記第2の装置を介して通信する装置の間のプロトコル状態に関する情報を更新する手段と、
前記第1の装置と前記第3の装置との間の通信の終了を示すメッセージを受信する手段と、
前記第2の接続を介して通信する前記装置の間のプロトコル状態に関する情報をフリーズする手段と
を更に有する、請求項19に記載のシステム。
【請求項21】
前記第2の装置と前記第3の装置との間に新しいマッピングを生成することを更に有する、請求項20に記載のシステム。
【請求項22】
前記新しいマッピングは、データパケットのシーケンス番号及び承認番号を変更し、これにより、前記パケットが前記第1の装置により送信されたかのように前記第3の装置に見えるようにする、請求項21に記載のシステム。
【請求項23】
最大シーケンス番号が接続毎に記録される、請求項18に記載のシステム。
【請求項24】
最大承認番号が接続毎に記録される、請求項18に記載のシステム。
【請求項25】
チェックサムを計算する手段を更に有する、請求項18に記載のシステム。
【請求項26】
接続をマージする方法であって、
第1の装置と第2の装置との間で第1のマッピングを終了させ、
前記第1の装置と第3の装置との間で第2のマッピングを終了させ、
前記第2の装置と前記第3の装置との間でマッピングを生成することを有する方法。
【請求項27】
接続をマージするシステムであって、
第1の装置と第2の装置との間で第1のマッピングを終了させる手段と、
前記第1の装置と第3の装置との間で第2のマッピングを終了させる手段と、
前記第2の装置と前記第3の装置との間でマッピングを生成する手段と
を有するシステム。

【図1】
image rotate

【図2】
image rotate


【公表番号】特表2010−510715(P2010−510715A)
【公表日】平成22年4月2日(2010.4.2)
【国際特許分類】
【出願番号】特願2009−537131(P2009−537131)
【出願日】平成18年11月20日(2006.11.20)
【国際出願番号】PCT/US2006/044941
【国際公開番号】WO2008/063166
【国際公開日】平成20年5月29日(2008.5.29)
【出願人】(501263810)トムソン ライセンシング (2,848)
【氏名又は名称原語表記】Thomson Licensing 
【住所又は居所原語表記】1−5, rue Jeanne d’Arc, 92130 ISSY LES MOULINEAUX, France
【Fターム(参考)】