特許第5788597号(P5788597)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アルカテル−ルーセントの特許一覧

特許5788597高信頼性のセッションマイグレーションのための方法および装置
<>
  • 特許5788597-高信頼性のセッションマイグレーションのための方法および装置 図000002
  • 特許5788597-高信頼性のセッションマイグレーションのための方法および装置 図000003
  • 特許5788597-高信頼性のセッションマイグレーションのための方法および装置 図000004
  • 特許5788597-高信頼性のセッションマイグレーションのための方法および装置 図000005
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5788597
(24)【登録日】2015年8月7日
(45)【発行日】2015年10月7日
(54)【発明の名称】高信頼性のセッションマイグレーションのための方法および装置
(51)【国際特許分類】
   H04L 12/891 20130101AFI20150917BHJP
   H04W 36/14 20090101ALI20150917BHJP
【FI】
   H04L12/891
   H04W36/14
【請求項の数】9
【全頁数】16
(21)【出願番号】特願2014-522830(P2014-522830)
(86)(22)【出願日】2012年6月20日
(65)【公表番号】特表2014-525205(P2014-525205A)
(43)【公表日】2014年9月25日
(86)【国際出願番号】US2012043260
(87)【国際公開番号】WO2013015915
(87)【国際公開日】20130131
【審査請求日】2014年3月24日
(31)【優先権主張番号】13/189,914
(32)【優先日】2011年7月25日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】391030332
【氏名又は名称】アルカテル−ルーセント
(74)【代理人】
【識別番号】110001173
【氏名又は名称】特許業務法人川口國際特許事務所
(72)【発明者】
【氏名】ハンペル,カール・ゲオルク
【審査官】 安藤 一道
(56)【参考文献】
【文献】 特開2000−156674(JP,A)
【文献】 特開2000−124881(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/891
H04W 36/14
(57)【特許請求の範囲】
【請求項1】
マルチパス通信システムにおいて、ストリーム指向の通信セッションにおいて第1の経路から第2の経路にマイグレーションするための方法であって、
デジタルデータ記憶装置に通信可能に結合されるプロセッサで、第1の経路を介する選択された経路モードで動作するために通信セッションを設定するステップと、
デジタルデータ記憶装置と協働するプロセッサにより、第1の経路を介して複数のパケットを送信または受信するステップと、
デジタルデータ記憶装置と協働するプロセッサにより、少なくとも部分的には送信または受信するステップの間に行われる、複数のパケットに基づいて第1のチェックサムを合算するステップと、
デジタルデータ記憶装置と協働するプロセッサにより、第1のチェックサムに基づいてチェックサム一致を遂行するステップと、
デジタルデータ記憶装置と協働するプロセッサにより、チェックサム一致に基づいて第1の経路から第2の経路に通信セッションをマイグレーションさせるステップと
を含み、
第1および第2の経路が異種のアクセスネットワークにわたる、方法。
【請求項2】
チェックサム一致を遂行するステップの活動が、
デジタルデータ記憶装置と協働するプロセッサにより、第1のチェックサムを含む選択された経路モード終端パケットを別のエンドノードに送信するステップと、
デジタルデータ記憶装置と協働するプロセッサにより、別のエンドノードから、チェックサム肯定応答を受信するステップと
を含む、請求項1に記載の方法。
【請求項3】
選択された経路モード終端パケットが、第1のチェックサム、現在のDSN、および現在のSSNを含む遡及的DSSパケットである、請求項2に記載の方法。
【請求項4】
チェックサム一致を遂行するステップの活動が、
デジタルデータ記憶装置と協働するプロセッサにより、別のエンドノードから、再送信要求を受信するステップと、
デジタルデータ記憶装置と協働するプロセッサにより、複数の送信されたパケットの一部分を別のエンドノードに再送信するステップと
をさらに含む、請求項3に記載の方法。
【請求項5】
選択された経路モードで動作するために通信セッションを設定するステップの活動が、
デジタルデータ記憶装置と協働するプロセッサにより、第1の経路上で、チェックサム合算開始指示子、現在のDSN、および現在のSSNを含む選択された経路モード開始パケットを送信するステップ
を含む、請求項1に記載の方法。
【請求項6】
マルチパス通信システムにおいて、第1の経路から第2の経路にストリーム指向の通信セッションをマイグレーションさせるための装置であって、
デジタルデータ記憶装置と、
デジタルデータ記憶装置に通信可能に結合されるプロセッサとを備え、プロセッサおよびデジタルデータ記憶装置が、
第1の経路を介する選択された経路モードで動作するために通信セッションを設定し、
第1の経路を介して複数のパケットを送信し、
複数のパケットに基づいて、少なくとも部分的には複数のパケットの送信の間に合算されるように第1のチェックサムを合算し、
第1のチェックサムに基づくチェックサム一致を遂行し、
チェックサム一致に基づいて第1の経路から第2の経路に通信セッションをマイグレーションさせるように構成され、
第1および第2の経路が異種のアクセスネットワークにわたる、装置。
【請求項7】
シグナリングパケットのみが第1のチェックサムを包含する、請求項6に記載の装置。
【請求項8】
チェックサム一致を遂行するために、プロセッサおよびデジタルデータ記憶装置が、
第1のチェックサムを含む選択された経路モード終端パケットを別のエンドノードに送信し、
別のエンドノードから、チェックサム肯定応答を受信するように
さらに構成される、請求項6に記載の装置。
【請求項9】
選択された経路モード終端パケットが、第1のチェックサム、現在のDSN、および現在のSSNを含む遡及的DSSパケットである、請求項に記載の装置
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的には、高信頼性のセッションマイグレーションを提供するための方法および装置に関する。
【背景技術】
【0002】
本節では、本発明のより良い理解を容易にするのに役立ち得る態様を紹介する。したがって本節の記載は、この観点で読まれるべきであり、何が従来技術であるか、または何が従来技術でないかに関する自認と理解されるべきではない。
【0003】
アクセスネットワークにわたるストリーム指向のIPベースのトランスポートセッションのエンドポイントマイグレーションをサポートする数多くの技法が存在する。これらの技法の一部は、追加的な置換(superseding)シーケンス番号およびチェックサム体系を導入することにより、トランスポート層の上方でセッションエンドポイントマイグレーションを遂行する。そのような置換シーケンス番号およびチェックサムは、すべてのデータにわたって、それらのデータが通過する経路に無関係に付与される、追加的なトランスポート層オプションヘッダに含まれ得る。置換シーケンス番号体系によって、異なる経路から到着するパケットの順序付けが可能になる。チェックサムは、パケットが適正に配送されたかどうかを識別する。理解され得るように、あらゆるパケットに追加的なトランスポート層オプションヘッダを含むことによって、エンドノードでの相当な処理のオーバーヘッドおよび帯域幅の非効率性が加わる。
【0004】
オーバーヘッドを低減するために、一部の他の技法では、パケットのブロック全体に対するチェックサムおよびレンジが決定され得るまで送信を留め置く。理解され得るように、この解決策によって、レンジおよびチェックサムを、これらの値がブロックの最初のパケットに挿入され得る前に計算するために、すべてのパケットが送信側で留め置かれなければならないので、遅延が加わる。
【発明の概要】
【課題を解決するための手段】
【0005】
様々な実施形態が、各々のパケットに対する追加的なオプションヘッダを必要としない、または送信遅延を引き起こさない、高信頼性のセッションマイグレーションの方法および装置を提供する。このことは、マイグレーションイベントを基にしたセッションマイグレーションを容易にする合算されたチェックサムを利用することにより実現される。有利には一部のそのような実施形態は、エンドポイントデバイスが1つのアクセスネットワークから別のアクセスネットワークに物理的に移動するときに、アプリケーションが継続することを可能にし得る。同様に一部のそのような実施形態は、負荷、価格設定、または他の要因に基づく動的なマイグレーションアクセスネットワークを可能にし得る。その上一部のそのような実施形態は、トラフィックが、合算スループットを増大するように複数の経路に沿って分割されることを可能にし得る。
【0006】
一実施形態では、ストリーム指向の通信セッションにおいて第1の経路から第2の経路にマイグレーションするための方法および装置が提供される。方法は、第1の経路を介する選択された経路モードで動作するために通信セッションを設定するステップと、送信または受信の間に送信または受信されるパケットのストリームの第1のチェックサムを合算するステップとを含む。方法は、第1のチェックサムに基づくチェックサム一致に基づいて第2の経路に通信セッションをマイグレーションさせるステップをさらに含む。
【0007】
一部の実施形態では、複数のパケットの相当な部分が第1のチェックサムを包含しない。
【0008】
一部の実施形態では、第1および第2の経路が異種のネットワークにわたる。
【0009】
一部の実施形態では、チェックサム一致は、別のエンドノードに、選択された経路モード終端パケットを送信するステップと、別のエンドノードから、チェックサム肯定応答を受信するステップとを含む。選択された経路モード終端パケットは、第1のチェックサムを含む。
【0010】
一部の実施形態では、選択された経路モード終端パケットは遡及的DSSパケットである。遡及的DSSパケットは、第1のチェックサム、現在のDSN、および現在のSSNを含む。
【0011】
一部の実施形態では、チェックサム一致を遂行するステップは、別のエンドノードから、再送信要求を受信するステップと、別のエンドノードに、複数の送信されたパケットの一部分を再送信するステップとをさらに含む。
【0012】
一部の実施形態では、選択された経路モードで動作するために通信セッションを設定するステップは、第1の経路上で、選択された経路モード終端パケットを送信するステップを含む。選択された経路モード終端パケットは、チェックサム合算開始指示子、現在のDSN、および現在のSSNを含む。
【0013】
一部の実施形態では、装置はモバイルコンピューティングデバイスである。
【0014】
一部の実施形態では、装置はネットワーク化されたホストである。
【0015】
様々な実施形態が、添付の図面において例示されている。
【図面の簡単な説明】
【0016】
図1】一例としての高信頼性のトランスポートセッションシステムを例示する図である。
図2】高信頼性のトランスポートセッションマイグレーションを提供するための方法の実施形態を例示するフローチャートである。
図3図2による高信頼性のトランスポートセッションマイグレーションを提供するための方法のさらなる実施形態を例示するフローチャートである。
図4図1のエンドノード100−1および/または110−2の一実施形態を概略的に例示するブロック図である。
【発明を実施するための形態】
【0017】
理解を容易にするために、同一の参照番号が、実質的に同じもしくは同様の構造、および/または、実質的に同じもしくは同様の機能を有する要素を指定するように使用されている。
【0018】
図1は、一例としての高信頼性のトランスポートセッションシステム100を例示する。高信頼性のトランスポートセッションシステム100は、マルチパス通信プロトコルを使用して2つのノード間でデータを伝達する、2つのエンドノード110−1および110−2を含む。マルチパス通信プロトコルは、複数の経路120−1および120−2にわたるストリーム指向のセッションのエンドポイントマイグレーションをサポートする。
【0019】
2つのエンドノード110−1および110−2は、ストリーム指向のトランスポート機構によって、1つのエンドノードから別のエンドノードにパケットデータを伝達するように構成される。ストリーム指向のトランスポート機構は、ストリーム指向のセッションを確立するためのTCPまたはSCTPのような任意の適したプロトコルを含み得る。ストリーム指向のセッションは、エンドノード110−1と110−2との間で双方向通信を確立することが可能であり、したがって任意の時点で、エンドノード110−1または110−2のいずれも、パケットデータの送信器または受信器であり得る。
【0020】
様々なアクセスネットワークが、エンドノード110−2との通信セッションに参加してセッションパケットデータを伝達するために、エンドノード110−1に利用可能であり得る。2つのそのような経路の例が、経路120−1および120−2により提供される。通信セッションは、経路120−1および120−2の各々を介する、少なくとも1つのストリーム指向のトランスポートセッション(すなわちフロー)を含む。マルチパス通信プロトコルは、高信頼性の順序通りの配送、および異なるフローにわたるパケットデータの集成を制御するために、ストリーム指向のトランスポートセッションを覆う。経路120−1および120−2は、エンドノード110−1にセッションパケットを直接ルーティングすること、またはその後、エンドノード110−2にインターネットクラウド170を通してパケットをルーティングすることが可能である、アクセスネットワーク150および160を含む。
【0021】
アクセスネットワーク150および160ならびにインターネットクラウド170を通してルーティングされるセッションパケットは、ネットワーク内に存在する性能拡張プロキシ(performance enhancing proxy)および/またはアプリケーション層ゲートウェイのようなミドルボックスにより変造される場合がある。セッションパケットのそのような変造は、複数のフローから到着する送信されたパケットデータを高い信頼性で再集成するためにマルチパス通信プロトコルにより利用される番号処理体系を変化させる、またはその体系に影響を及ぼす。それらのことがさらに、転送される情報のセマンティックスに影響を及ぼすペイロードの内容を変化させる場合がある。したがってセッションエンドポイントマイグレーションプロトコルは、様々な経路からのパケットを整列させるときに、そのようなデータ変造が起こっていたかどうかを認識しなければならない。そのようなイベントにおいて、マイグレーションプロトコルは、対応するトランスポート経路または接続を完全に最終的に中断する場合がある。
【0022】
有利には、一部の実施形態は、追加的なオプションヘッダを必要としないで、またはパケットがミドルボックスにより変造されたときを依然として検出しながら、送信遅延を引き起こさないで高信頼性のセッションマイグレーションを提供することが可能である。これらの実施形態の一部は、エンドポイントデバイスが1つのアクセスネットワークから物理的に移動するときに、アプリケーションが継続することを可能にし得る。同様にこれらの実施形態の一部は、負荷、価格設定、または他の要因に基づく、アクセスネットワークにわたる動的なセッションマイグレーションを可能にし得る。その上これらの実施形態の一部は、トラフィックが、合算スループットを増大するように複数の経路に沿って分割されることを可能にし得る。
【0023】
一部の実施形態では、エンドノード110−1および/または110−2はモバイルコンピューティングデバイスである。モバイルコンピューティングデバイスは、携帯電話、タブレット、コンピュータ、携帯情報端末(PDA)、モバイルゲーミングシステム、電子リーダ等々のような任意の適したモバイルデバイスであり得る。
【0024】
一部の実施形態では、エンドノード110−1および/または110−2はネットワーク化されたホストである。ネットワーク化されたホストは、クラウド内の単一のサーバおよび複数のサーバのような任意の適したホストであり得る。
【0025】
一部の実施形態では、経路120−1および120−2は異種のアクセスネットワークを含み得る。異種のアクセスネットワークは、W−CDMA、LTE、UMTS、広帯域ネットワーク等々のようなアクセスネットワークを含み得る。例えばエンドノード110−1は、Verizonによりサービス提供されるワイヤレスアクセスネットワークのようなワイヤレスアクセスネットワーク150によって、CDMAワイヤレス接続を確立することが可能である。この実施形態のさらなる実施形態では、経路120−2上でエンドノード110−1は、Comcastによりサービス提供されるIPアクセスネットワークのような広帯域アクセスネットワーク160によって、WiFi接続を確立することが可能である。
【0026】
一部の実施形態では、マルチパス通信プロトコルは、マルチパスTCP(MPTCP)またはマルチパスSCTPのような従来のマルチパスプロトコルであり得る。
【0027】
図2は、図1の高信頼性のトランスポートセッションシステム100により例示されるような、高信頼性のトランスポートセッションマイグレーションを提供するための方法200を示す。方法200は、第1の経路を介する選択された経路モードで動作するためにエンドノードを設定するステップ(ステップ210)を含む。選択された経路モードの動作において、エンドノードは、エンドノードが、エンドノードが第2の経路にマイグレーションさせられるべきであると決定し(ステップ250)、チェックサム一致を検証する(ステップ260)まで、第1の経路を介してパケットを送信または受信し(ステップ220)、送信/受信されるパケットの第1のチェックサムを合算する(ステップ230)。次いでエンドノードは、第1の経路から第2の経路に通信セッションをマイグレーションさせる(ステップ270)。
【0028】
方法200においてステップ210は、第1の経路を介する選択された経路モードで動作するためにエンドノードを設定するステップを含む。図1に戻って参照すると、エンドノード110−1または110−2は、選択された経路モード開始値を含む第1の選択された経路モード開始パケットを送信することにより、第1の経路を介する選択された経路モードで動作するための通信経路の設定を告知することが可能である。選択された経路モードで動作するために切り替わることに合意すると、両方の送信および受信するエンドノードは、それらの動作モードを、第1の経路を介する選択された経路モードに設定する。
【0029】
選択された経路モードでは、利用可能な経路のすべて、または少なくとも一部分が通じている可能性があるが、ただ1つの選択された経路が、パケットストリームの送信および受信のために使用される。ただ1つの経路を選択する利点は、以下のように幾重にもなったものであり得る:1)再集成を簡単にするため、2)他のより弱い経路が、取り落とされた(1つまたは複数の)パケットに起因して、すべての他のパケットは失われたパケットが再送信されるまで待機しなければならないので、「ヘッドオブラインブロッキング」を生成する場合がある、3)他の経路が、(例えばインターフェース料金(interface charge)に起因して)必要以上に不経済である場合がある、4)複数の無線は、増大されるバッテリ電力のようにコストを増大してサポートされなければならない場合がある。他の利用可能な経路は、他の通信セッションにおいてパケットストリームからのパケットを送信および/または受信するために使用され得ることが理解されるであろう。
【0030】
送信または受信するエンドノードのいずれも、第1の経路を介する選択された経路モードでの動作のための通信経路の設定を告知することが可能であることが理解されるであろう。プロトコルによって、エンドノードが、第1の選択された経路モード開始パケットに基づいて、さらなるシグナリングを必要とせずに、それらのエンドノードの動作モードを選択された経路モードに設定することに合意することが可能になり得ることがさらに理解されるであろう。有利にはプロトコルは、さらなる従来のマルチパスチェックサムおよびシーケンス番号が、選択された経路モードでのときに、通信セッションにおいてオプションヘッダの相当な割合に追加されることを求められないように構成される。「相当な割合」により示唆されるのは、シグナリングパケットのみが、合算されたチェックサムおよびマルチパスシーケンス番号を必要とするということである。例えば、(本明細書で説明される)選択された経路モード開始パケットおよび選択された経路モード終端パケットは、オプションヘッダ内に追加的なチェックサムおよびマルチパスシーケンス番号情報を包含し得る。
【0031】
方法200においてステップ220および230は、第1の経路を介してパケットを送信または受信するステップ、および、第1のチェックサムを合算するステップを含む。方法200は、方法が、方法が第2の経路にマイグレーションすべきであると決定する(ステップ250)まで、パケットを送信/受信すること、および、送信/受信されるパケットのチェックサムを合算すること(ステップ220および230)を継続する。有利には、パケットが送信/受信される際にチェックサムを合算するこの技法は、送信されるべきデータのシーケンス長に関して何かを事前に知っていることを不必要にし、その技法は、各々のフローの方向に対して各々のエンドノードにより蓄えられることになるただ1つの値(すなわち合算されたチェックサム)を必要とする。
【0032】
ステップ210において、選択された経路モードで動作するためにエンドノードの設定を開始すると、送出器および受信器のエンドノードは各々、選択された経路モードが終結させられるまで、通信セッションのすべてのパケットにわたって合算チェックサムを計算する。送信側でのエンドノードに関しては、送信されるパケットのチェックサムが決定され、通信フローの間送信エンドノードにより記憶されている合算されたチェックサム値に合算される。受信側でのエンドノードに関しては、受信されるパケットのチェックサムが決定され、通信フローの間受信エンドノードにより記憶される合算されたチェックサム値に合算される。チェックサムは、合算されたチェックサムに現在のパケットチェックサムを加算するような、任意の適した形で合算され得る。一実施形態では合算チェックサムは、トランスポート層チェックサムがパケットデータにわたるチェックサムとして形成されるのと同じ形で、パケットごとのチェックサムにわたるチェックサムとして形成される。
【0033】
ステップ220および230は、任意の順序で遂行される場合があり、または並列で遂行される場合があることが理解されるであろう。
【0034】
方法200においてステップ250および260は、第1の経路から第2の経路に通信セッションをマイグレーションさせるべきかどうかを決定するステップを含む。マイグレーション決定は、マイグレーションイベント(ステップ250)に、およびチェックサム一致(ステップ260)に基づく。
【0035】
方法200においてステップ250は、選択された経路モードで動作することから切り替わることの選好を指示するマイグレーションイベントが検出されたかどうかを決定するステップを含む。マイグレーションイベントは、動作の選択された経路モードから切り替わることの選好のエンドノードによる決定であり得る。選択された経路モードから切り替わることの選好は、環境パラメータ、ユーザインターフェースからの受信されたユーザメッセージ、または別のエンドノードからの受信されたメッセージに基づくものであり得る。環境パラメータは、利用可能な経路の信号強度、コストパラメータ、レイテンシ値、帯域幅値および/または類するもの、または、現在アクティブなフローの輻輳制御から取得される情報であり得る。
【0036】
方法200においてステップ260は、通信セッションパケットが変造されていないことを決定するためにチェックサム一致を使用するステップを含む。チェックサム一致は、エンドノードにより合算された第1のチェックサムが別のエンドノードにより合算された第2のチェックサムに一致する(例えば、パケットに包含されるバイトの数および値が、ミドルボックスにより変造されていない)ということの指示である。エンドノードは、そのエンドノードの第1のチェックサムを別のエンドノードに送信し、別のエンドノードからチェックサムが一致するということの指示を受信することにより、チェックサム一致を決定することが可能である。あるいはエンドノードは、別のエンドノードから第2のチェックサムを受信し、内部比較からチェックサムが一致するということの指示を受信することにより、チェックサム一致を決定することが可能である。チェックサム一致ステップ260は、通信セッションパケットが変造されていないことを、したがって通信セッションが、別の選択された経路モードに、またはマルチパスモードに切り替わることが可能であることを確認する。
【0037】
方法200においてステップ270は、第1の経路から第2の経路に通信セッションをマイグレーションさせるステップを含む。チェックサム一致ステップ260が、送信/受信されるパケットを検証すると、エンドノードは、第2の経路を介する選択された経路モードに通信セッションを設定することが可能である。ステップ210に関して本明細書で説明されたように、エンドノードは、選択された経路モード開始値を含む第1の選択された経路モード開始パケットを送信することにより、第2の経路を介する選択された経路モードで動作するための通信経路の設定を告知することが可能である。
【0038】
一部の実施形態ではエンドノードは、第2の経路を介する選択された経路モードにマイグレーションする前に、マルチパスモードで動作するために切り替わることが可能である。しかしながら、チェックサム一致ステップ260の成功裏の結果に応じてマルチパスモードが検証されるまで、エンドノード送信器は、第1の経路上でのパケットデータの対象ブロックの送信が許され得るのみであることが理解されるであろう。その上エンドノードは、第2の経路を介する選択された経路モードで動作するための切り替わりが実施されてしまう前に、ある時間の期間の間、マルチパスモードで通信可能であることがさらに理解されるであろう。実際エンドノードは、第2の経路を介する選択された経路モードに切り替わる代わりに、マルチパスモードで送信することを継続することを決める場合がある。
【0039】
マイグレーションすることを決定するステップ(ステップ250)、チェックサム一致を検証するステップ(ステップ260)、および第2の経路にマイグレーションするステップ(ステップ270)の活動は別個に遂行される場合があり、または有利には、活動の各々の一部分が、単一の処理に組み合わされる場合があることが理解されるであろう。例えばステップ250からのマイグレーションイベントは、ステップ260のチェックサム一致指示でもあり得る。例えば、エンドノードが別のエンドノードから第2のチェックサムを受信する場合、第2のチェックサムを包含するパケットの受信は、マイグレーションイベントを構成し得るものであり、第2のチェックサムが第1のチェックサムに一致するという決定は、チェックサム指示を構成し得るものである。
【0040】
ステップ270の後、方法200はステップ220に戻って、第2の経路上でパケットを送信することを継続する。方法200は反復型であるので、成功裏にマイグレーションさせられた所与の送信に関しては、図においてステップ220で言及されている「第1の経路」は、前の送信がマイグレーションさせられた先の「第2の経路」と同一になり得ることが理解されるであろう。
【0041】
方法200の一部の実施形態では、ステップ210は、従来のMPTCPマルチパスプロトコルを使用するステップを含む。この実施形態では、第1の選択された経路モード開始パケットの選択された経路モード開始値は、「無限設定(infinity setting)」を用いるDSSオプションであり得る。「無限設定」においてDSSオプションは、レンジ=0、チェックサム=0、ならびに、データシーケンス番号(DSN)およびサブフローシーケンス番号(SSN)の現在値を設定する。
【0042】
方法200の一部の実施形態では、ステップ230は、TCP、SCTP、UDP等々のような基本的なトランスポートプロトコルによりすでに供給されている、パケットごとのチェックサムを使用するステップを含む。さらなる実施形態では、ステップ230は、TCPヘッダ内の基本的なトランスポートチェックサムを使用する。有利には、合算チェックサムの計算は、パケットチェックサムは別々に決定される必要はないので、すでに存在するパケットごとのチェックサムを使用することにより、より不経済でない。
【0043】
ステップ250、260、および/または270の一部の実施形態では、エンドノードは、別のエンドノードに、第1のチェックサムを含む選択された経路モード終端パケットを送信可能である。通信セッションにおけるいずれのエンドノードも、選択された経路モード終端パケットを送信可能であることが理解されるであろう。
【0044】
さらなる実施形態では、選択された経路モード終端パケットは、シーケンスのデータレンジまたは置換番号処理の体系に関係するパラメータをさらに含み得る。有利にはそのようなパラメータは、データパケットを受信するエンドノードに、チェックサムを搬送するパケットが到着するときに、(例えばパケット損失に起因して)いくつのパケットが依然として未解決であるかに関する情報を提供し得る。この実施形態のさらなる実施形態では、受信するエンドノードは、第1の経路上で、または別の経路上で、再送信体系を開始することが可能である。
【0045】
ステップ250、260、および/または270の一部の実施形態では、選択された経路モード終端パケットは第2の経路上で送出され得る。有利には、第1の経路が利用不可能になった場合、エンドノードは、第2の経路上で通信セッションを継続することが可能になり得る。本明細書で説明されるように、ただ1つの経路が、選択された経路モードにおいて利用されるが、他の経路は(アイドル状態であるが)通じており利用され得ることが理解されるであろう。有利には、第1の経路が利用不可能になった場合、通信は依然として検証され、マルチパスモードまたは第2の経路にマイグレーションさせられ得る。
【0046】
図3は、従来のMPTCPマルチパスプロトコルを使用する、図2のステップ250、260、および270のさらなる実施形態において、第1の経路から第2の経路に通信セッションをマイグレーションさせるための方法300を示す。方法300は、エンドノードが、マイグレーションイベントを受信するステップ(ステップ310)を基に、遡及的DSSを伴うパケットを送信するステップ(ステップ320)を含む。マイグレーションイベントが受信されないならば、または、マイグレーションイベントがいいえに設定されている(すなわち許されていない)ならば、方法は「いいえ」を返し、図1のステップ220に戻る(ステップ315)。肯定応答または失敗のメッセージを受信するために待機している間(ステップ340)、エンドノードは、第1の経路上でさらなるパケットを送信することが可能である(ステップ330)。失敗メッセージが受信されるならば、マイグレーションイベントは「いいえ」に設定され(すなわち、これ以上のセッションマイグレーションは許されない)、図1のステップ220に戻る(ステップ355)。エンドノードが遡及的DSSの肯定応答を受信するならば(ステップ350)、マルチパスモードは確認される(ステップ360)。次いでエンドノードは、すべての経路が送信のために利用可能であるマルチパスモードに随意にとどまることが可能である(ステップ370)。マルチパスモードである間、エンドノードが第2の経路を介する選択された経路モードで動作するためにマイグレーションする決定を行うまで、エンドノードはマルチパスモードでパケットを送信することが可能であり、またはエンドノードは、マルチパスモードで通信セッションを継続することが可能である。エンドノードが、第2の経路を介する選択された経路モードにマイグレーションすることを一度決定すると、エンドノードは、選択された経路モード開始パケットを送信し(ステップ380)、選択された経路モードの動作を第2の経路に設定し、図1のステップ220に戻る(ステップ390)。
【0047】
方法300においてステップ310は、本明細書ですでに説明されたように、マイグレーションイベントを受信するステップを含む。加えて、マイグレーションイベントは抑制される場合がある。例えばマイグレーションイベントは、(例えば前のチェックサム確認により決定されるように)通信セッションでの送信されるパケットの一部分が変造されているとエンドノードが決定した場合に抑制される場合がある。
【0048】
方法300においてステップ315は、受信されているマイグレーションイベントがないならば、図1のステップ220に戻るステップを含む。
【0049】
方法300においてステップ320は、遡及的DSSを伴うパケットを送信するステップを含む。MPTCPは、エンドノードが、選択された経路モードからマルチパスモードに戻ることを可能にする機構(すなわちMPTCPにおいての「フォールバックモード」)を有さないので、「遡及的DSS」と呼ばれる新しいDSSオプションが生成され得る。遡及的DSSは、選択された経路モードからマルチパスモードに戻る切り替わりを要求する、選択された経路モード終端パケットである。この新しいDSSオプションは、その新しいDSSオプションが、すでに送信された複数のパケットにチェックサムを遡及的に提供するので、「遡及的DSS」と呼ばれる。遡及的DSSは、サブフローに関係のある現在のDSNおよびSSNを保持する。チェックサムフィールドは合算されたチェックサムを包含し、一方でレンジフィールドはゼロに設定される。非ゼロのチェックサムおよびゼロ値のレンジの組み合わせは、これが「遡及的DSS」であることを、受信するエンドノードに対して指示する。
【0050】
方法300においてステップ330および340は、エンドノードが、送信された遡及的DSSに対して別のエンドノードから肯定応答または失敗のメッセージを受信するまで、第1の経路上でさらなるパケットを送信するステップを含む。そのようなさらなるパケットは合算チェックサムにより保護されないので、それらのパケットは各々、それらのパケットの個々のチェックサムを伴うトランスポートヘッダを個々に搬送しなければならない。このことによって受信器が、これらのさらなるパケットが変造されない状態で到着したことを確かめることが可能になる。さらなるパケットは、従来のマルチパスの個々のチェックサムを含んで配送され得る。その上、送信されるパケットのチェックサムが、検証(すなわち、パケットが変造されない状態で配送されたことを検証)されていない以上は、エンドノードは、第1の経路に対する送信を制限する場合がある。
【0051】
方法300においてステップ350は、別のエンドノードからの受信されたメッセージ(ステップ340)が、肯定応答メッセージであるか、それとも失敗メッセージであるかを決定するステップを含む。肯定応答メッセージは、送出および受信するエンドノードが合算したチェックサムが一致すること、ならびに、方法がステップ360に進むことを指示する。失敗メッセージは、送出および受信するエンドノードが合算したチェックサムが一致しないこと、ならびに、方法がステップ355に進むことを指示する。失敗メッセージは、遡及的DSSの否定応答、または返信の受信に関する時間切れであり得る。例えば失敗メッセージは、MP_FAILメッセージであり得る。
【0052】
方法300においてステップ355は、送信されたパケットが変造された可能性があることを指示する不一致のチェックサムに起因して、第1の経路を介する選択された経路モードにエンドノードを制限するステップを含む。一部の実施形態では、第2の経路を使用する選択された経路モードに、またはマルチパスモードに通信セッションをマイグレーションさせるための、エンドノードによるいかなる後続の試みもステップ310は抑制すべきであることを指示する「いいえ」に、マイグレーションイベントパラメータが設定され得る。
【0053】
方法300においてステップ360は、遡及的DSSの肯定応答を基に通信セッションに関する動作可能なモードを決定するステップを含む。エンドノードは、第2の経路を使用する選択された経路モードに通信セッションをマイグレーションさせる(ステップ380)こと、マルチパスモードに通信セッションをマイグレーションさせる(ステップ370)こと、または、任意の他の適した送信モードに通信セッションをマイグレーションさせる(例えば、第1の経路を介してさらなるパケットを送信することを継続する、または、第1の経路を介する選択された経路モードに戻る)ことが可能である。
【0054】
方法300は、ステップ370を随意に含む。ステップ370は、マルチパスモードに通信セッションをマイグレーションさせるステップを含む。一部の実施形態ではエンドノードは、通信セッションのすべてまたは一部分に対してマルチパスモードにとどまることが有益になると決定する場合がある。その後エンドノードは、第2の経路を介する選択された経路モードに通信セッションをマイグレーションさせることを決定する場合がある。エンドノードが、第2の経路を介する選択された経路モードにマイグレーションする決定を行うならば、方法はステップ380に進む。
【0055】
方法300においてステップ380は、第2の経路を介する選択された経路モードで動作するためにエンドノードを設定するステップを含む。選択された経路モードは、本明細書で前に説明されたような、「無限設定」を用いるDSSオプションを使用して設定される。一部の実施形態では、第1の経路は第2の経路にマイグレーションさせられ得る。他の実施形態ではエンドノードは、同じ経路上で継続することを、および、元の第1の経路を介する選択された経路モードを復帰させることを決定する場合がある。この第2の実施形態では、第1の経路および第2の経路は同じ経路であり得る。
【0056】
方法300においてステップ390は、図1のステップ220に方法を戻すステップを含む。現在の送信シーケンスにおける方法の動作可能な第1の経路が、前の送信シーケンスのマイグレーションさせられた第2の経路に設定されることになることが理解されるであろう。
【0057】
ステップ330の一部の実施形態では、受信器エンドノードは、遡及的DSS内のDSNおよびSSN値に基づいて、パケット損失に起因してシーケンスのパケットがいくつ失われているかを推定することが可能である。次いで受信するエンドノードは、従来のサブフローまたは接続のレベルの処理手順を使用して、これらのパケットの再送信を要求することが可能である。欠落したパケットの受信の後、次いで受信器エンドノードは、遡及的DSS内に保持される合算チェックサムを、その受信器エンドノード自体の合算されたチェックサムと比較し、引き続いて遡及的DSSの肯定応答を送出することが可能である。
【0058】
主として個別のシーケンスにおいて図示および説明されているが、方法200および300において示されるステップは、任意の適したシーケンスにおいて遂行され得ることが理解されるであろう。その上1つのボックスにより識別されるステップは、シーケンス内の2つ以上の場所で遂行される場合もある。
【0059】
様々な上記で説明された方法のステップが、プログラムされたコンピュータにより遂行され得ることが理解されるであろう。本明細書では一部の実施形態は、機械またはコンピュータ可読であり、命令の機械実行可能またはコンピュータ実行可能なプログラムを符号化し、前記命令が、前記上記で説明された方法のステップの一部またはすべてを遂行する、プログラム記憶デバイス、例えばデジタルデータ記憶媒体に及ぶことがさらに意図される。プログラム記憶デバイスは、例えば、デジタルメモリ、磁気ディスクおよび磁気テープのような磁気記憶媒体、ハードドライブ、または光可読デジタルデータ記憶媒体であり得る。実施形態は、上記で説明された方法の前記ステップを遂行するようにプログラムされたコンピュータに及ぶことがさらに意図される。
【0060】
図4は、図1のエンドノード110−1および110−2の一実施形態(すなわちエンドノード110)の機能ブロックを概略的に例示する。エンドノード110は、例えば方法200、および随意には300を使用して、マルチパス通信セッションに参加することが可能である。エンドノード400は、プロセッサ410、デジタルデータ記憶装置411、およびデータインターフェース430を含む。
【0061】
プロセッサ410は、エンドノード110の動作を制御する。プロセッサ410は、デジタルデータ記憶装置411およびデータインターフェース430と協働する。
【0062】
デジタルデータ記憶装置411は、合算されたチェックサムを記憶する。デジタルデータ記憶装置411は、プロセッサ410により実行可能なプログラム420をさらに記憶する。
【0063】
プロセッサ実行可能プログラム420は、通信セッションプログラム422およびデータインターフェースプログラム425を含み得る。プロセッサ410は、プロセッサ実行可能プログラム420と協働して、方法200および300のステップを遂行する。例えばプロセッサ410は、通信セッションプログラム422を実行することにより、方法200および300の通信セッションステップを遂行することが可能である。したがって通信セッションプログラム422は、方法200および300のステップの各々のすべてまたは一部分を制御するようにプログラムされ得る。加えてプロセッサ410は、デジタルプロセッサ実行可能プログラム420と協働して、エンドノード110を制御する。例えばプロセッサ410は、データインターフェースプログラム425を実行して、データインターフェース430を制御することが可能である。
【0064】
データインターフェース430は、通信チャネル435を介して、エンドノード110と別のエンドノードとの間でデータを索出または送信するように構成される。通信チャネル435は、データ接続性をサポートする任意の従来の通信経路/通信プロトコルであり得る。単一の通信チャネル435として図示および説明されているが、データインターフェース430は、本明細書で説明されるように、任意の適した数(複数可)のセッション(例えば任意の適した数のIPフロー)をサポートする任意の適した数の通信チャネルをサポートするように構成され得る。通信チャネルは、データインターフェース430、および/または、通信チャネル435を介した別のエンドノードのような、通信の任意の他の適した外部ソースの間に向けられたものであり得る。
【0065】
データインターフェース430は、方法200および300の様々なステップにおいて、データの索出および送信をサポートすることが可能である。例えばプロセッサ410は、データインターフェースプログラム425を実行して、方法200のステップ210、220、250、および270のすべてまたは一部分、ならびに、方法300のステップ310、320、330、340、350、および380のすべてまたは一部分を遂行することが可能である。
【0066】
一部の実施形態ではデータインターフェース430は、以下の通信チャネル435、すなわち、ワイヤレス通信(例えばLTE、GSM(登録商標)、CDMA、bluetooth)、フェムトセル通信(例えばWiFi)、パケットネットワーク通信(例えばIP)、広帯域通信(例えばDOCSISおよびDSL)等々のうちの1つまたは複数によって、データを索出または送信することをサポートすることが可能である。
【0067】
一部の実施形態ではエンドノード110は、モバイルコンピューティングデバイス上で実行する命令の機械実行可能プログラムである。モバイルコンピューティングデバイスは、携帯電話、タブレット、コンピュータ、携帯情報端末(PDA)、電子リーダ等々のような任意の適したモバイルデバイスであり得る。
【0068】
一部の実施形態ではエンドノード110は、ネットワーク化されたホスト上で実行する命令の機械実行可能プログラムである。ネットワーク化されたホストは、クラウドコンピューティングネットワーク内の単一のサーバおよび複数のサーバのような任意の適したホストであり得る。
【0069】
例えば、プログラムおよび論理がデジタルデータ記憶装置内部に記憶され、メモリがプロセッサに通信可能に接続される実施形態に関して、本明細書で図示および説明されているが、そのような情報は、任意の適した配置構成のデバイスに通信可能に結合される任意の適した配置構成のメモリ、記憶装置、またはデータベースを使用する、メモリ(複数可)、記憶装置(複数可)、および/または内部もしくは外部のデータベース(複数可)の任意の適した組み合わせに情報を記憶する、あるいは、任意の適した数のアクセス可能な外部のメモリ、記憶装置、またはデータベースを使用する、(例えば任意の適した数のメモリ、記憶装置、またはデータベースを使用する)任意の他の適した様式で記憶され得ることが理解されるであろう。したがって、本明細書で言及されているデジタルデータ記憶装置という用語は、メモリ(複数可)、記憶装置(複数可)、およびデータベース(複数可)のすべての適した組み合わせを網羅するように定められたものである。
【0070】
説明および図面は、本発明の原理を例示するものに過ぎない。したがって、たとえ本明細書で明示的に説明されなくとも、または示されなくとも、本発明の原理を実施し、本発明の趣旨および範囲の範囲内に含まれる様々な配置構成を当業者が考案可能になることが理解されるであろう。さらに、本明細書に列挙されるすべての例は、当技術分野の振興のために(1人または複数の)発明者により与えられる本発明の原理および概念を読者が理解する際に一助となるための、教育的な目的のためのものであるに過ぎないことが明確に主として意図されるものであり、そのような具体的に列挙される実施例および条件への限定を伴わないと解釈されるべきである。その上、本発明の原理、態様、および実施形態、ならびにそれらの具体例を列挙する本明細書でのすべての記載は、それらの均等物を網羅することが意図される。
【0071】
「プロセッサ」と名付けられた任意の機能ブロックを含む、図面に示される様々な要素の機能は、専用ハードウェア、および、適切なソフトウェアと共同したソフトウェアを実行可能なハードウェアの使用によって提供され得る。プロセッサにより提供される場合、機能は、単一の専用プロセッサにより、単一の共有プロセッサにより、または、それらのうちのいくつかが共有されている場合がある複数の個々のプロセッサにより提供され得る。さらに用語「プロセッサ」または「コントローラ」を明示的に使用することは、ソフトウェアを実行可能なハードウェアを排他的に指すと解釈されるべきではなく、限定はしないが、デジタル信号プロセッサ(DSP)ハードウェア、ネットワークプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ソフトウェアを記憶するための読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、および不揮発性記憶装置を暗黙に含み得る。従来の、および/または特注の他のハードウェアもまた含まれ得る。同様に、図に示される任意のスイッチは、単に概念的なものである。それらの機能は、プログラム論理の動作によって、専用論理によって、プログラム制御および専用論理の相互作用によって、または手動でも実行され得るものであり、個別の技法は、背景状況からより具体的に理解されるように実装者により選択可能である。
【0072】
本明細書の任意のブロック図が、本発明の原理を実施する例示的な回路網の概念図を表すことが理解されるであろう。同様に、任意のフローチャート、フロー図、状態遷移図、擬似コード等々が様々な処理を表し、それらの処理は、コンピュータ可読媒体の形で実質的に表され、その結果コンピュータまたはプロセッサにより、そのようなコンピュータまたはプロセッサが明示的に示されようとそうでなかろうと実行され得るものであることが理解されるであろう。
図1
図2
図3
図4