(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5972980
(24)【登録日】2016年7月22日
(45)【発行日】2016年8月17日
(54)【発明の名称】ワイヤレス通信ネットワークにおけるマルチパストランスポート接続のための動的なサブフロー制御
(51)【国際特許分類】
H04W 4/00 20090101AFI20160804BHJP
H04W 28/10 20090101ALI20160804BHJP
H04W 28/04 20090101ALI20160804BHJP
H04W 80/06 20090101ALI20160804BHJP
H04W 88/04 20090101ALI20160804BHJP
【FI】
H04W4/00 111
H04W28/10
H04W28/04 110
H04W80/06
H04W88/04
【請求項の数】19
【全頁数】28
(21)【出願番号】特願2014-531886(P2014-531886)
(86)(22)【出願日】2012年9月14日
(65)【公表番号】特表2014-530564(P2014-530564A)
(43)【公表日】2014年11月17日
(86)【国際出願番号】US2012055558
(87)【国際公開番号】WO2013043506
(87)【国際公開日】20130328
【審査請求日】2014年5月30日
(31)【優先権主張番号】13/241,149
(32)【優先日】2011年9月22日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100109830
【弁理士】
【氏名又は名称】福原 淑弘
(74)【代理人】
【識別番号】100103034
【弁理士】
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100075672
【弁理士】
【氏名又は名称】峰 隆司
(74)【代理人】
【識別番号】100153051
【弁理士】
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100140176
【弁理士】
【氏名又は名称】砂川 克
(74)【代理人】
【識別番号】100158805
【弁理士】
【氏名又は名称】井関 守三
(74)【代理人】
【識別番号】100179062
【弁理士】
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100124394
【弁理士】
【氏名又は名称】佐藤 立志
(74)【代理人】
【識別番号】100112807
【弁理士】
【氏名又は名称】岡田 貴志
(74)【代理人】
【識別番号】100111073
【弁理士】
【氏名又は名称】堀内 美保子
(72)【発明者】
【氏名】クリシュナスワミー、ディリップ
(72)【発明者】
【氏名】カベンディシュ、ディルセウ・ジー.
(72)【発明者】
【氏名】ソリマン、サミア・エス.
【審査官】
田部井 和彦
(56)【参考文献】
【文献】
特開2009−296084(JP,A)
【文献】
国際公開第2011/041798(WO,A1)
【文献】
特開2007−043678(JP,A)
【文献】
特表2010−504047(JP,A)
【文献】
殿内 雅晴 Masaharu Tonouchi,モバイル通信を指向したDynamic Multi Link TCPの設計 Design of Dynamic Multi Link TCP for Mobile Communication,マルチメディア,分散,協調とモバイル(DICOMO)シンポジウム論文集 1997年〜2006年版 Ver.1.1 [DVD−ROM] Multimedia,Distributed,Cooperative and Mobile Symposium,日本,社団法人情報処理学会,2003年 6月,第2003巻
【文献】
A. Ford, C. Raiciu, M. Handley, S. Barre, J. Iyengar,Architecture guideline for multipath TCP Development,Internet Engineering Task Force (IETF), Request for Comments: 6182,2011年 3月,ISSN: 2070-1721,URL,http://tools.ietf.org/pdf/rfc6182.pdf
【文献】
殿内 雅晴 MASAHARU TONOUCHI,TCPを拡張した複数経路通信における再送制御に関する検討 A Study on retransmission control of multipath-extended TCP,情報処理学会研究報告 Vol.2004 No.21 IPSJ SIG Technical Reports,日本,社団法人情報処理学会 Information Processing Society of Japan,2004年 3月 5日,第2004巻
(58)【調査した分野】(Int.Cl.,DB名)
H04B 7/24− 7/26
H04W 4/00−99/00
3GPP TSG RAN WG1−4
SA WG1−2
CT WG1
(57)【特許請求の範囲】
【請求項1】
マルチパスTCP接続にわたるワイヤレス通信の方法であって、前記方法は、装置が実行し、前記方法は、
第1のワイヤレスリンクを備える第1のパス上の第1のサブフローを通じて通信することと、
第2のパス上の第2のサブフローを通じて通信することと、
前記第1のワイヤレスリンクの品質に対応するヘルスメトリックを前記装置と異なる別の装置に提供することと
を備え、前記ヘルスメトリックは、前記第1のパスまたは前記第2のパスのうちの少なくとも1つのパス上の第3のサブフローで提供され、前記ヘルスメトリックは、ごく最近受信したヘルスメトリックを利用し、望まれる場合にヘルスメトリックのより古いバージョンが破棄されることができるように、レポートされたメトリックに関連するタイムスタンプおよびカウントインデックスを含む
方法。
【請求項2】
前記第1のワイヤレスリンクの前記品質は、前記第1のワイヤレスリンクに対応するビットエラーレート、パケットエラーレート、物理レイヤスループット、信号強度、コーディングスキーム、または符号化スキームのうちの少なくとも1つを備える、前記第1のワイヤレスリンクのリンクレイヤ特徴を備える、
請求項1に記載の方法。
【請求項3】
前記第1のワイヤレスリンクの前記品質は、前記第1のワイヤレスリンクに対応するグッドプットを備える、
請求項1に記載の方法。
【請求項4】
前記第1のワイヤレスリンクの前記品質は、再送信待ち行列に対応するパケットのナンバー、トランスポートレベルスループット、平滑化されたラウンドトリップ時間、ラウンドトリップ時間、または輻輳ウィンドウのうちの少なくとも1つを備える、前記第1のパスのTCPレイヤ特徴を備える、
請求項1に記載の方法。
【請求項5】
前記第2のパスは、第2のワイヤレスリンクを備え、前記ヘルスメトリックは、前記第2のワイヤレスリンクの品質にさらに対応する、
請求項1に記載の方法。
【請求項6】
前記第1のサブフローは、マルチパスTCPフローに対応するTCPサブフローを備え、
前記第2のサブフローは、前記マルチパスTCPフローに対応するTCPサブフローに対応する、
請求項1に記載の方法。
【請求項7】
前記第3のサブフローは、UDPオーバレイを備える、
請求項1に記載の方法。
【請求項8】
前記第3のサブフローは、TCPオーバレイを備える、
請求項1に記載の方法。
【請求項9】
前記第3のサブフローは、マルチパスTCPエンティティによって管理されるTCPサブフローを備える、
請求項1に記載の方法。
【請求項10】
前記第3のサブフローは、マルチパスTCPエンティティによって管理されるUDPサブフローを備える、
請求項1に記載の方法。
【請求項11】
前記第1のサブフローまたは前記第2のサブフローのうちの1つを通じて受信されたパケットに対応する肯定応答を送ることをさらに備える、
請求項1に記載の方法。
【請求項12】
前記受信パケットが肯定応答が既に送られた複製パケットであるかどうか決定することをさらに備える、
請求項11に記載の方法。
【請求項13】
前記第1のパスは、ソースでの第1のIPアドレスおよび宛先での第2のIPアドレスを備え、前記第2のパスは、前記ソースでの第3のIPアドレスおよび前記宛先での第4のIPアドレスを備える、
請求項1に記載の方法。
【請求項14】
前記第1のIPアドレスは、前記第3のIPアドレスと異なる、
請求項13に記載の方法。
【請求項15】
前記第2のIPアドレスは、前記第4のIPアドレスと異なる、
請求項13に記載の方法。
【請求項16】
前記ヘルスメトリックは、ラウンドトリップ時間および輻輳ウィンドウにさらに対応する、
請求項1に記載の方法。
【請求項17】
マルチパスTCP接続にわたるワイヤレス通信の装置であって、
第1のワイヤレスリンクを備える第1のパス上の第1のサブフローを通じて通信するための手段と、
第2のパスの第2のサブフローを通じて通信するための手段と、
前記第1のワイヤレスリンクの品質に対応するヘルスメトリックを前記装置と異なる別の装置に提供するための手段と
を備え、前記ヘルスメトリックは、前記第1のパスまたは前記第2のパスのうちの少なくとも1つのパス上の第3のサブフローで提供され、前記ヘルスメトリックは、ごく最近受信したヘルスメトリックを利用し、望まれる場合にヘルスメトリックのより古いバージョンが破棄されることができるように、レポートされたメトリックに関連するタイムスタンプおよびカウントインデックスを含む、
装置。
【請求項18】
マルチパスTCP接続にわたるワイヤレス通信のためのコンピュータプログラムであって、
コンピュータに、第1のワイヤレスリンクを備える第1のパス上の第1のサブフローを通じて通信させるための命令と、
コンピュータに、第2のパス上の第2のサブフローを通じて通信させるための命令と、
コンピュータに、前記第1のワイヤレスリンクの品質に対応するヘルスメトリックを前記コンピュータと異なる別のコンピュータに提供させるための命令と
を備え、前記ヘルスメトリックは、前記第1のパスまたは前記第2のパスのうちの少なくとも1つのパス上の第3のサブフローで提供され、前記ヘルスメトリックは、ごく最近受信したヘルスメトリックを利用し、望まれる場合にヘルスメトリックのより古いバージョンが破棄されることができるように、レポートされたメトリックに関連するタイムスタンプおよびカウントインデックスを含む、
コンピュータプログラム。
【請求項19】
マルチパスTCP接続にわたるワイヤレス通信のための装置であって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに接続されるメモリと
を備え、前記少なくとも1つのプロセッサは、
第1のワイヤレスリンクを備える第1のパス上の第1のサブフローを通じて通信することと、
第2のパスの第2のサブフローを通じて通信することと、
前記第1のワイヤレスリンクの品質に対応するヘルスメトリックを前記装置と異なる別の装置に提供することと
を行うように構成され、前記ヘルスメトリックは、前記第1のパスまたは前記第2のパスのうちの少なくとも1つのパス上の第3のサブフローで提供され、前記ヘルスメトリックは、ごく最近受信したヘルスメトリックを利用し、望まれる場合にヘルスメトリックのより古いバージョンが破棄されることができるように、レポートされたメトリックに関連するタイムスタンプおよびカウントインデックスを含む、
装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の態様は、一般に、ワイヤレス通信に関し、特に、ワイヤレス通信ネットワークにおけるマルチパストランスポート制御に関する。
【背景技術】
【0002】
伝送制御プロトコル(TCP)は、ウェブブラウジング、FTP、IMAPなどのためのHTTPのような非リアルタイムサービスに頻繁に使用されるトランスポートプロトコルである。TCP接続は、クライアント、例えば、ユーザ機器(UE)と、サーバとの間でセットアップすることができる。TCPは、IPレイヤの上にあり、IPレイヤの信頼性を改善するために再送信、フロー制御および輻輳制御を使用する。
【0003】
フロー制御に対して、TCP接続における受信機側は、データが送られるのと同じだけ受信機がデータのためのバッファ容量を有することができるように送信機を制御する。したがって、送信機側は、受信機からの肯定応答にしたがって送信レートを動的に調節する。さらに、送信機側の輻輳制御は、送信機側が送信することができるデータの量を決定するために、遅い開始および輻輳回避アルゴリズムによって制御される輻輳ウィンドウ(CW)および受信機がデータのためのバッファを有するサイズで提示されるウィンドウを使用しうる。
【0004】
インターネットのような現代のネットワークでは、ホストは、マルチパスによってしばしば接続される。ここで、各パスは、ソースおよび宛先アドレスのペアによって定義される。例えば、移動局は、W−CDMA(登録商標)、LTE、CDMA2000、およびWiMAXのような2つ以上のプロトコルのためのWWANリンク、あるいはWLANまたはWPANリンクのような複数のワイヤレスリンクを含みうる。同様に、ネットワークサーバーは、ネットワークに対する任意の数のリンクを有する。
【0005】
しかしながら、TCPは、トランスポート接続毎に通信を単一パスに制限する。ネットワーク内のリソース使用法の効率を改善するために、マルチパスTCPプロトコルは、複数のトランスポートパスにわたって情報を分割することによって同時に使用されることができる、これらのマルチパスを可能にするために記述される。複数のパスを使用することによって、マルチパスTCPは、ネットワーク障害および増加したスループットに対する改善した復元力を通じてユーザエクスペリエンスを向上させることができる。
【0006】
TCP接続を通じてルートされるに情報は、データおよび制御シグナリングを含む。制御メッセージは、マルチパスをセットアップするまたは維持するために任意の情報交換、例えば、マルチパス接続をセットアップするために追加のIPアドレスに関して問い合わせることを含みうる。データ情報は、マルチパストランスポートを通じて通信されているアプリケーションレイヤデータを含む。
【0007】
マルチパスTCPが様々な改良を提供するが、データおよび制御シグナリング配信、特に、独立に変化する信号品質を有するワイヤレスリンクを含むマルチパスを通じて接続するためのデータおよび制御シグナリング配信をさらに改善する要望が依然として残ったままである。すなわち、そのようなマルチパス接続とともに、制御メッセージの交換は、これらの制御メッセージを搬送するパスが対応するワイヤレスリンク上で深いフェードにより作動しなくなる場合に妨げになりうる。ここで、マルチパスセッションセットアップおよび維持は、遅らせられることができる。さらに、1つのパス上のデータが落ちる場合、窮乏が別の良いパスで起こり、アプリケーション性能およびユーザエクスペリエンスを妨害しうる。
【発明の概要】
【0008】
ワイヤレス通信ネットワーク中のマルチパストランスポート制御の発展を進めるために、マルチパスTCPのようなマルチパストランスポートプロトコルは、それぞれのパスを通じてデータおよび制御シグナリングを動的に割り当てるために、異なるパス上で使用される1つまたは複数のワイヤレスリンクのリンクレイヤ条件に対応するメトリクスを利用することができる。このように、フロー制御およびデータフローが向上させられるにつれて、マルチパスTCP接続は、より信頼でき、効率的になりうる。
【0009】
開示の1つの態様では、マルチパスTCP接続にわたるワイヤレス通信の方法は、第1のワイヤレスリンクを備える第1のパス上の第1のサブフローを通じて通信することと、第2のパス上の第2のサブフローを通じて通信することと、第1のワイヤレスリンクの品質に対応するヘルスメトリックを提供することとを含み、ヘルスメトリックは、第1のパスまたは第2のパスのうちの少なくとも1つのパス上の第3のサブフローで提供される。
【0010】
開示の別の態様では、マルチパスTCP接続にわたるワイヤレス通信の方法は、第1のワイヤレスリンクの品質に対応するヘルスメトリックを受信することと、第1のワイヤレスリンクを備える第1のパス上の第1のサブフローにTCPフローの第1の部分を割り当てることと、第2のパス上の第2のサブフローにTCPフローの第2の部分を割り当てることとを含み、第1の部分の量と第2の部分の量は、ヘルスメトリックに従って決定される。
【0011】
また開示の別の態様では、複数のパスを含むマルチパスTCP接続にわたるワイヤレス通信の方法が提供される。ここで、方法は、複数のパスのうちの第1のパス上の第1のサブフローを通じてデータフローの第1の部分を送信することと、複数のパスのうちの第2のパス上の第2のサブフローを通じてデータフローの第2の部分を送信することと、複数のパスのうちの少なくとも2つのパス上の第1のサブフローおよび第2のサブフローに対応する制御情報を送信することとを含み、制御情報は、少なくとも2つのパスの各々にわたって複製される。
【0012】
また開示の別の態様では、マルチパスTCP接続にわたるワイヤレス通信のための装置は、第1のワイヤレスリンクを備える第1のパス上の第1のサブフローを通じて通信するための手段と、第2のパス上の第2のサブフローを通じて通信するための手段と、第1のワイヤレスリンクの品質に対応するヘルスメトリックを提供するための手段とを含み、ヘルスメトリックは、第1パスまたは第2のパスの少なくとも1つのパス上の第3のサブフローで提供される。
【0013】
また開示の別の態様では、マルチパスTCP接続にわたるワイヤレス通信のための装置は、第1のワイヤレスリンクの品質に対応するヘルスメトリックを受信するための手段と、第1のワイヤレスリンクを備える第1のパス上の第1のサブフレームにTCPフローの第1の部分割り当てるための手段と、第2のパス上の第2のサブフローにTCPフローの第2の部分を割り当てるための手段とを含み、第1の部分および第2の部分の量は、ヘルスメトリックに従って決定される。
【0014】
また開示の別の態様では、複数のパスを含むマルチパスTCP接続にわたるワイヤレス通信のための装置が提供される。ここで、装置は、複数のパスのうちの第1のパス上の第1のサブフローを通じてデータフローの第1の部分を送信するための手段と、複数のパスのうちの第2のパス上の第2のサブフローを通じてデータフローの第2の部分を送信するための手段と、複数のパスのうちの少なくとも2つのパスを通じて第1サブフローおよび第2のサブフローに対応する制御情報を送信するための手段とを含み、制御情報は、少なくとも2つのパスの各々にわたって複製される。
【0015】
また開示の別の態様では、マルチパスTCP接続にわたるワイヤレス通信のためのコンピュータプログラム製品が提供される。ここで、コンピュータプログラム製品は、コンピュータに、第1のワイヤレスリンクを備える第1のパス上の第1のサブフローを通じて通信させるための命令と、コンピュータに、第2のパス上の第2のサブフローを通じて通信させるための命令と、コンピュータに、第1のワイヤレスリンクの品質に対応するヘルスメトリックを提供させるための命令とを有するコンピュータ可読媒体を含み、ヘルスメトリックは、第1パスまたは第2のパスのうちの少なくとも1つの上の第3のサブフロー上で提供される。
【0016】
また開示の別の態様では、マルチパスTCP接続にわたるワイヤレス通信のためのコンピュータプログラム製品が提供される。ここで、コンピュータプログラム製品は、コンピュータに、第1のワイヤレスリンクの品質に対応するヘルスメトリックを受信させるための命令と、コンピュータに、第1のワイヤレスリンクを備える第1のパス上の第1のサブフローにTCPフローの第1の部分を割り当てさせるための命令と、コンピュータに、第2のパス上の第2のサブフローにTCPの第2の部分を割り当てさせるための命令とを有するコンピュータ可読媒体を含み、第1の部分の量と第2の部分の量は、ヘルスメトリックに従って決定される。
【0017】
また開示の別の態様では、複数のパスを含むマルチパスTCP接続にわたるワイヤレス通信のためのコンピュータプログラム製品が提供される。ここで、コンピュータプログラム製品は、コンピュータに、複数のパスのうちの第1のパスの第1のサブフローを通じてデータフローの第1の部分を送信させるための命令と、コンピュータに、複数のパスのうちの第2のパスの第2のサブフローを通じてデータフローの第2の部分を送信させるための命令と複数のパスのうちの少なくとも2つのパス上の第1サブフローおよび第2のサブフローに対応する制御情報を送信させるための命令とを有するコンピュータ可読媒体を含み、制御情報は、少なくとも2つのパスの各々にわたって複製される。
【0018】
また開示の別の態様では、マルチパスTCP接続にわたるワイヤレス通信のための装置は、少なくとも1つのプロセッサと少なくとも1つのプロセッサに接続されるメモリとを含む。ここで、少なくとも1つのプロセッサは、第1のワイヤレスリンクを備える第1のパス上の第1のサブフローを通じて通信することと、第2のパスの第2のサブフローを通じて通信することと、第1のワイヤレスリンクの品質に対応するヘルスメトリックを提供することとを行うように構成され、ヘルスメトリックは、第1のパスまたは第2のパスのうちの少なくとも1つのパス上の第3のサブフローで提供される。
【0019】
また開示の別の態様では、マルチパスTCP接続にわたるワイヤレス通信のための装置は、少なくとも1つのプロセッサと、少なくとも1つのプロセッサに接続されるメモリとを含む。ここで、少なくとも1つのプロセッサは、第1のワイヤレスリンクの品質に対応するヘルスメトリックを受信することと、第1のワイヤレスリンクを備える第1のパス上の第1のサブフローにTCPフローの第1の部分を割り当てることと、第2のパス上の第2のサブフローにTCPフローの第2の部分を割り当てることとを行うように構成され、第1の部分の量および第2の部分の量は、ヘルスメトリックに従って決定される。
【0020】
また開示の別の態様では、複数のパスを含むマルチパスTCP接続にわたるワイヤレス通信のための装置が提供される。ここで、装置は、少なくとも1つのプロセッサと、少なくとも1つのプロセッサに接続されるメモリを含む。少なくとも1つのプロセッサは、複数のパスのうちの第1のパス上の第1のサブフローを通じてデータフローの第1の部分を送信することと、複数のパスのうちの第2のパス上の第2のサブフローを通じてデータフローの第2の部分を送信することと、複数のパスのうちの少なくとも2つのパス上の第1サブフローおよび第2のサブフローに対応する制御情報を送信することとを行うように構成され、制御情報は、少なくとも2つのパスの各々にわたって複製される。
【0021】
発明のこれらの態様および他の態様は、以下の詳細な記述レビューによりより完全に理解することができるようになることになる。
【図面の簡単な説明】
【0022】
【
図1】処理システムを用いる装置のためのハードウェア実装の例を説明するブロック図。
【
図2】規準TCPおよびマルチパスTCPのためのプロトコルスタックを比較する図表の例である。
【
図3】ワイヤレス通信ネットワーク中のマルチパスTCP接続を説明する、単純化されたブロック図。
【
図4】マルチパスTCP接続を通じて例示のクライアントサーバ通信におけるプロトコルスタックを説明する概略図。
【
図5】少なくとも1つのワイヤレスリンクの品質に対応するヘルスメトリックを利用するマルチパスTCP通信の方法を説明するフローチャート。
【
図6】ヘルスメトリックに従ってシグナリングを動的に調節するためのマルチパスTCP通信の方法を説明するフローチャート。
【
図7】複数のパスを通じて複製された制御シグナリングパケットを利用するマルチパスTCP通信の方法を説明するフローチャート。
【
図8】ワイヤレス通信ネットワーク中のトンネリングを利用するマルチパスTCP接続を説明する、単純化されたブロック図。
【
図9】ワイヤレス通信ネットワーク中のトンネリングを利用するマルチパスTCP接続にわたる例示のクライアントサーバ通信におけるプロトコルスタックを説明する概略図。
【0023】
添付図面に関連して以下に述べられる詳細な説明は、さまざまな構成の説明として意図されたものであり、本明細書において説明される概念が行われうる唯一の構成を表すことを意図したものではない。詳細な説明は、様々な概念の完全な理解を提供することを目的とする特定の詳細を含む。しかしながら、これらの概念がこれらの具体的な詳細がなくても実行され得ることは当業者には明らかになる。いくつかのインスタンスでは、既知の構造およびコンポーネントは、このような概念を不明瞭にすることを回避するために、ブロック図形式で示される。
【0024】
開示の様々な対応に従って、要素または要素の任意の一部、あるいは要素の任意の組み合わせは、1つまたは複数のプロセッサを含む「処理システム」を用いて実装されうる。プロセッサの例示は、マイクロプロセッサと、マイクロコントローラと、デジタル信号プロセッサ(DSP)と、フィールドプログラマブルゲートアレイ(FPGA)と、プログラマブル論理デバイス(PLD)と、ステートマシンと、ゲート論理と、離散ハードウェア回路と、本開示にわたって説明される様々な機能を実行するように構成されるその他任意のハードウェアとを含む。
【0025】
処理システムにおける1または複数のプロセッサは、ソフトウェアを実行しうる。ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェ記述言語あるいはそれら以外と称されることに関わりなく、ソフトウェアは、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行ファイル、実行のスレッド、手順、機能などを意味するように広く解釈されるものとするソフトウェアはコンピュータ可読媒体上に存在しうる。コンピュータ可読媒体は、非一時的なコンピュータ可読媒体でありうる。非一時的なコンピュータ可読媒体は、一例として、磁気記憶デバイス(たとえば、ハードディスク、フロッピー(登録商標)ディスク、磁気ストリップ)、光学ディスク(たとえば、コンパクトディスク(CD)、デジタル多用途ディスク(DVD))、スマートカード、フラッシュメモリデバイス(たとえば、カード、スティック、キードライブ)、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、プログラマブルROM(PROM)、消去可能なPROM(EPROM)、電気的に消去可能なPROM(EEPROM)、レジスタ、リムーバブルディスク、およびコンピュータによってアクセスおよび読取可能なソフトウェアおよび/または命令を記憶するための任意の他の適切な媒体を含む。コンピュータ可読媒体は、また、一例として、キャリア波、送信ライン、及び、コンピュータによってアクセスおよび読取られうる命令および/またはソフトウェアを送信する任意の他の適切な媒体を含みうる。コンピュータ可読媒体は、処理システムの内部、処理システムの外部に存在することができ、または、処理システムを含む複数のエンティティにわたって分散されることができる。コンピュータ可読媒体は、コンピュータプログラム製品に組み込まれうる。一例として、コンピュータプログラム製品は、パッケージマテリアル内のコンピュータ可読媒体を含みうる。当業者は、システム全体に課された特定のアプリケーションおよび全体的な設計制約に依存して、本開示を通じて表わされる説明される機能をどのように実現することが最善かを認識するだろう。
【0026】
図1は、処理システム114を用いる装置100に対するハードウェア実装の例を図示している概念図である。この例において、処理システム114は、概してバス102によって表されるバスアーキテクチャで実装されうる。バス102は、処理システム114の特定の用途と全体的な設計制約に依存して、任意の数の相互接続バスおよびブリッジを含みうる。バス102は、プロセッサ104によって一般的に表される1つまたは複数のプロセッサと、メモリと、コンピュータ可読媒体106によって一般的に表されるコンピュータ可読媒体とを含む、さまざまな回路を共にリンクされる。バス102は、さらに、当技術分野では既知であり、従ってこれ以上は説明されない、タイミングソース、周辺機器、電圧調節器、及び電力管理回路のような様々な他の回路とリンクしうる。バスインターフェース108は、バス102とトランシーバ110との間のインターフェースを提供する。トランシーバ110は、送信ケーブルを通じて様々な他の装置と通信するための手段を提供しうる。装置の性質に依存して、ユーザインターフェース112(たとえば、キーパッド、ディスプレイ、スピーカ、マイクロフォン、ジョイスティック)がさらに提供されうる。
【0027】
プロセッサ104は、バス102を管理することと、一般的な処理とを担っており、コンピュータ可読媒体106に記憶されるソフトウェアの実行を含む。ソフトウェアは、プロセッサ104によって実行されるとき、処理システム114に、任意の特定の装置のために以下に説明される様々な機能を実行させる。また、コンピュータ可読媒体106は、ソフトウェアを実行するときにプロセッサ104によって操作されるデータを記憶させるために使用されうる。
【0028】
本開示の様々な態様を組み込むために適した装置の例は、ワイヤレスネットワーク、WWANクライアントなどにおいて動作することができるユーザ機器(UE)を含むが、これに限定されない。UEは、ワイヤレス端末、携帯電話、ユーザ端末、移動局、モバイルデバイス、加入者局、ワイヤレスデバイス、ワイヤレスノード、端末、アクセス端末、ノード、ハンドヘルドデバイス、タブレット、または他のある適切な専門用語で呼ばれうる。本発明の様々な態様を組み込むために適した装置の例示は、任意の適切なネットワーク接続でサーバまたはコンピュータを含むが、これらに限定されない。そのようなコンピュータは、ホスト、ノード、または他の適切な専門用語で呼ばれうる。本開示の全体を通じて説明される様々な概念は、装置がそれらの特定の学術用語に関わらずすべての適切に適用されるように意図される。
【0029】
インターネットのような現代のネットワークでは、ネットワークを使用する複数のホスト、またはコンピュータは、1つまたは複数の通信パスを通じて互いと通信する。ここで、パスは、データの送り手と受け手との間のリンクのシーケンスを広く言及し、ソースアドレスおよび宛先アドレスに従って指定されうる。ソースおよび宛先アドレスのペアは、例えば(IP
source、IP
destination)のような、IPアドレスによって指定されうる。それぞれのソースと宛先ホストとの間のリンクのシーケンスは、任意の数の個別の物理リンクを含み、最近になって、モバイルユーザ機器と基地局との間のセルの接続のような少なくとも1つのワイヤレスエアインターフェースを頻繁に含みうる。すなわち、パスは、ワイヤレス広域ネットワーク(WWAN)接続を含みうる。
【0030】
本開示の様々な態様では、用語「サブフロー」は、アプリケーションレイヤでのオーバレイ、またはトランスポートレイヤでのセグメントを含みうる。すなわち、さらに詳細に以下で議論されるように、アプリケーションレイヤ接続またはトランスポートレイヤ接続は、サブフローと呼ばれうる。任意の場合において、サブフローは、個別のパスにわたって動作するフローを指す。
【0031】
マルチパストランスポートプロトコルは、インターネットのようなネットワーク上のソースと宛先との間のトランスポートレイヤで管理される複数のサブフローへのサポートを行う。ここで、マルチパストランスポートレイヤサブフローは、従来のトランスポートレイヤフローであるネットワークのように見えるが、実際には、より大きなマルチパストランスポート接続の一部のみを形成する。
【0032】
当業者に対して既知のマルチパストランスポートプロトコルの例示は、マルチパスTCP(MPTCP)およびストリーム制御転送プロトコル(SCTP)を含む。特に、広い興味は、パスを横断して性能をアグリゲートするソースと宛先との間のインターネット上の複数のパスを使用するためのマルチパスTCPに向けられたものである。それにもかかわらず、本開示の様々な態様がマルチパスTCPを利用する特定の実装に関連する詳細を提供するが、本明細に開示された広い概念は、任意のマルチパストランスポートプロトコルに広く適用可能である。
【0033】
図2は、その全体を参照によって本明細書に公に利用でき、組み込まれるIETFインターネットドラフト、マルチパス発展のためのTCPアーキテクチュアルガイドライン(Architectural Guidelines for Multipath TCP Development)、に従って従来のTCP接続202および従来のマルチパスTCP接続252のためのプロトコルスタックを説明する概略図である。TCP接続202では、アプリケーションレイヤ204は、単一のパスを横断してフローを管理する、単一のIPレイヤ208と通信するためにTCPレイヤ206を利用する。対照的に、マルチパスTCP接続252は、複数のIPレイヤ接続260を通じてデータを送るために、複数のサブフロー258を利用する。ここで、複数のサブフロー258の各々は、TCP202接続のような従来のTCP接続であるネットワークのように見える。これらのサブフロー258は、マルチパスTCP(MPTCP)レイヤ256によって管理される。マルチパスTCP(MPTCP)レイヤ256は、アプリケーションレイヤ254より下の拡張レイヤであり、このレイヤより下の複数のTCPサブフローを管理するように構成される。マルチパスTCPレイヤ256は、アプリケーションレイヤの変更が必要ないように、従来のTCPレイヤであるアプリケーションレイヤ254のように見えるように構成されうる。さらに、マルチパスTCPレイヤ256は、パス管理、パケットスケジューリング、サブフローインターフェースの提供、および複数のサブフロー258のための輻輳制御のような機能を取り扱うように構成されうる。
【0034】
図3は、本開示のいくつかの態様に従って、アプリケーションサーバ302とクライアントデバイス304との間の複数のパスを含む例示のネットワークを説明する、単純化されたブロック図である。ここで、マルチパスTCPに必要な能力のあるクライアント(multipath TCP-capable client)304は、1つまたは複数のWWANアクセスポイント306および308およびWWANアクセスポイント310に接続されるプロキシまたはヘルパーノード312経由でマルチパスTCPに必要な能力のあるアプリケーションサーバ302に直接接続される(以下で説明され、
図8−9に示されるトンネリングを利用する接続とは対照的に、直接接続される)。説明される例示では、WWANアクセスポイント306、308および310の各々は、アプリケーションサーバ302がさらに通信可能に接続される、インターネットのようなネットワーククラウド314に接続される。
【0035】
ここで、実例となる例として、クライアント304は、2つのWWANアクセスポイント306および308と通信するためにデュアルWWANモデムを含む。WWAN技術の例は、ロングタームエボリューション(LTE)、高速パケットアクセス(HSPA)およびその発展、CDMA2000、EV−DO Rev.A/B、ワールドワイドインターオペラビリティフォーマイクロウェーブアクセス(WiMAX)、UMTS、GPRS/EDGEなどを含むがこれらに限定されない。概して、クライアント304のようなモバイルプラットフォームにおける複数のWWANモデムの各々は、WWANにアクセスすることができ、その結果、モバイルプラットフォームは、それに利用可能なWWANモデムの各々を使用して帯域幅をアグリゲートする能力がありうる。ユーザに関連した利用可能なモデムは、1つのデバイス、つまりクライアント304に備わっていうる。追加のモデムは、デバイス304および312がお互いのワイヤードまたはワイヤレス近傍内に来た場合に動的に関連付けられる1つまたは複数のプロキシまたはヘルパーデバイス312上に存在しうる。
【0036】
さらに、クライアント304は、プロキシ312と通信するためにWPANモデムを含みうる。ここで、プロキシ312は、第3のWWANアクセスポイント310と通信するためのWWANモデムを含む。1つの例では、プロキシ312と通信するためのWPANモデムは、ブルートゥース(Bluetooth(登録商標))または他の適切な低出力通信インターフェースでありうる。したがって、クライアント304およびプロキシ312は、WPANリンクのようなワイヤードまたはワイヤレスインクを通じて共に協調される(例えば、トラフィック合併することまたは分割することは、デバイスのうちの1つで実行されることができる)。
【0037】
開示のいくつかの態様において、WWANアクセスポイント306および308を有するワイヤレスエアインターフェースの各々およびプロキシ312を有する低出力のエアインターフェースは、アドレス、例えばIPアドレスによって識別されうる。例えば、クライアント304とWWAN 0Aアクセスポイント306との間のインターフェースは、IP1によって識別され、クライアント304とWWAN 0Bアクセスポイント308との間のインターフェースは、IP2によって識別され、クライアント304とプロキシ312との間のインターフェースはIP3によって識別されうる。このように、マルチパスに必要な能力のあるアプリケーションサーバ302が3つのアドレスIP4、IP5、およびIP6で識別されると仮定すると、クライアント304は、各サブフローがそれぞれのパス、すなわち、(IP1,IP4)、(IP2,IP5)、および(IP3,IP6)にわたるものである、3つのサブフローを含むマルチパスTCP接続を利用するアプリケーションサーバ302と通信しうる。もちろん、クライアント304およびアプリケーションサーバ302からの複数のパスのうちのいくつかは、例えば、複数のパスのうちのいくつかがアドレスペア(IP1,IP4)および(IP2,IP4)によって識別されるように、同じIPアドレスで終了しうる。
【0038】
図4は、ノードうちある1つ中のプロトコルスタックの一部を説明する概略図において、
図3で示されるホストのうちのいくつかを説明する。クライアントは、携帯電話、タブレット、携帯情報端末(PDA)、1つまたは複数のWWANアクセスカードを含むパーソナルコンピュータなどのような任意の適切なユーザ機器でありうる。本開示の態様では、クライアント304は、アプリケーションレイヤ402、マルチパスTCPレイヤ404、複数のTCPサブフロー406、1つまたは複数のWWANインターフェース408、および1つまたは複数のWLANまたはWPANインターフェース410を有するプロトコルスタックを含む。WWANインターフェース408およびWLAN/WPANインターフェース410は、IPレイヤ、データリンクレイヤ、およびTCPレイヤ406より下の物理レイヤを表わす。クライアント304のために説明される特定のインターフェースは、性質の単なる例示であり、開示の様々な態様において、クライアント304は、ネットワーククラウドと通信するための任意の数の適切なワイヤードまたは通信インターフェースを含みうる。
【0039】
説明される例では、クライアント304中のマルチパスTCPレイヤ404は、4つのサブフロー406a、406b、406c、および406dを管理する。ここで、第1のサブフロー406aは、マルチパスTCPレイヤ404によって管理されるUDPサブフローである。以下のさらなる詳細に記述される、本開示の他の態様では、UDPサブフローは、アプリケーションレイヤオーバレイでありうる。第2のサブフロー406bは、TCPサブフローである。ここで、第1サブフロー406aおよび第2のサブフロー406bは、第1のWWANアクセスポイント306と通信するために第1のWWANインターフェース408aを利用する。すなわち、開示の態様では、複数のサブフローは、1つの物理通信インターフェースを利用しうる。第3のサブフロー406cは、第2のWWANアクセスポイント308と通信するために第2のWWANインターフェース408bを利用する。第4のサブフロー406dは、プロキシ312と通信するWLAN/WPANインターフェースを利用し、プロキシは、次に第3のWWANアクセスポイント310と通信する。もちろん、様々な例示において、プロキシ312は、クライアント304とアプリケーションサーバ302との間のパスの一部を確立するために任意の適切なワイヤードまたはワイヤレスインターフェースを利用しうる。
【0040】
ヘルパーノードと称されうる、プロキシ312は、携帯電話、タブレット、PDA、パーソナルコンピュータなどのような任意の適切なデバイスであり、いくつかの例示において、クライアントデバイス304と同じデバイスのタイプでありうる。プロキシ312は、クライアント304のWWANインターフェースでのアグリゲーションにおいて、クライアントデバイス304に対して増加したデータレートを提供することができる、相対的により高い帯域幅WWANインターフェースをプロキシ312が利用することができるように、クライアント304と接続を確立するように構成されうる。
【0041】
WWANアクセスポイント306、308および310は、同じまたは異なる通信基準を利用することができ、基地局、ノードB、eNode B、ベーストランシーバ基地局(BTS)、またはWWAN通信のための任意の他の適切なアクセスポイントでありうる。
【0042】
図3および4に説明される例示では、アプリケーションサーバ302は、アプリケーションレイヤ418が複数のTCPサブフロー414通じて通信することを可能にするためのマルチパスTCPレイヤ416を含む、マルチパスに必要な能力のあるアプリケーションサーバである。説明される例示では、アプリケーションサーバ302は、WWANアクセスポイント306、308および310の数に対応する複数のインターフェースレイヤ412を含むが、本開示の範囲内の様々な例示において、任意の数のインターフェース412がネットワークと通信するために利用されうる。
【0043】
本開示の様々な態様に従って、1つまたはマルチパスTCPレイヤ416または404のうちの1つまたは両方は、マルチパスマネージャ420を含みうる。説明の便宜上、以下の記述は、アプリケーションサーバ302のマルチパスTCPレイヤ416中に含まれるマルチパスマネージャ420を指すことになるが、当業者は、記述される特徴のいくつかまたはすべてがクライアントデバイス304のマルチパスTCPレイヤ404中に含まれるマルチパスマネージャ420に対して等しく適用できることを理解することになるだろう。
【0044】
マルチパスマネージャ420は、マルチパスTCPレイヤ416が単一のTCP接続としてアプリケーションレイヤ418に見えるような方法で、1つまたは複数のサブフローを管理するように構成される。さらに、複数のサブフローは、マルチパスTCPを取り扱うために特定の変更を必要することなくネットワーク互換性を保持するために、基準TCPセッションとしてより低いレイヤに見える(またはサブフローのうちの1つが406aで説明されるようにUDPサブフローである場合において、それぞれのサブフローは、基準UDPセッションとしてより低いレイヤに見える)。
【0045】
開示の態様では、マルチパスマネージャ420は、パス管理機能、パケットスケジューリング機能、サブフローインターフェース、および輻輳制御を含む機能コンポーネントを含む。パス管理機能は、クライアント304とリモートホスト、この場合、アプリケーションサーバ302との間の複数のパスを検出し使用しうる。パケットスケジューリング機能は、利用可能なサブフロー414のうちの1つの上で送信されることになる、アプリケーションレイヤ418からの受信されたパケットのフローをセグメントに分解される。すなわち、パケットスケジューリング機能は、アプリケーションサーバレベルデータを接続レベルセグメントに分割し、これらのセグメントに接続レベルシーケンスナンバーを付加しうる。接続レベルシーケンスナンバーは、以下でさらに詳細に議論されるサブフローレベルシーケンスナンバーから識別されるために、グローバルシーケンスナンバーと称されうる。
【0046】
マルチパスマネージャ420のサブフローインターフェース機能は、パケットスケジューリング機能から割り当てられたセグメントを獲得し、指定されたサブフローを通じてそれらを送信しうる。マルチパスマネージャ420の輻輳制御機能は、一般に、スケジュールされたパケットをどのくらいのレートで、そしてどのサブフローで送るかをスケジュールするパケットスケジューリング機能を助けることによって、複数のサブフロー414の間の輻輳制御を調整する。
【0047】
本開示の態様では、マルチパスマネージャ420によってそれぞれのサブフローに割り当てられたデータ量は、ヘルスメトリックに従って決定されることができる。ここで、ヘルスメトリックは、ワイヤレスリンクを含む1つまたは複数のパスのためのワイヤレスリンク条件、ラウンドトリップ時間(RTT)、輻輳ウィンドウ(CW)、サブフローに対応する再送信待ち行列中のパケットのナンバー、などのような様々なファクタの関数に従って決定されることができる。いくつかの例示において、ヘルスメトリックは、レポートされたメトリックに関連するタイムスタンプまたはカウントインデックスを含み、その結果、ごく最近受信したヘルスメトリックが利用することができ、望まれる場合にヘルスメトリックのより古いバージョンが廃棄されるまたはヘルスメトリックの任意の複製のバージョンが廃棄されることができる。さらに、ヘルスメトリックは、ヘルスメトリックがレポートされることに対応するパスに関連したインジケータを含みうる。いくつかの例示では、ヘルスメトリックは、単一のパスに対応する情報を含む一方で、他の例において、ヘルスメトリックは、複数のパスに対応する情報を含みうる。ここで、複数のパスに対応する情報をレポートする場合、各パスに関連したタイムスタンプまたはカウントインデックスおよびパスインジケータは、対応するパスのためのヘルスメトリックとともに送られうる。すべてのパスのためのヘルスメトリクスが提供される例示では、カウントインデックスまたはタイムスタンプは、メッセージ全体に関連付けられる。なお、パスインジケータの後に各パスのためのヘルスメトリック情報が続く。
【0048】
図5は、マルチパスTCP接続のための本開示の態様に従ってワイヤレス通信のための例示の処理500を説明するフローチャートである。処理500は、処理システム114(
図1を参照)によって、または記述される機能を実行するための任意の他の適切な手段によって、マルチパスマネージャ420によって実装されうる。
【0049】
ブロック502で、処理は、ワイヤレスリンクを含む第1のパス上の第1のサブフローを通じて通信しうる。例えば、マルチパスマネージャ420は、WWANインターフェース408aとWWANアクセスポイント306との間のワイヤレスリンクを含む第1のパス上で、サブフロー406bを通じて通信しうる。ブロック504で、処理は、第2のパス上の第2のサブフローを通じて通信しうる。ここで、第2のパスは、第2のワイヤレスリンクを含みうる。例えば、マルチパスマネージャ420は、WWANインターフェース408bとWWANアクセスポイント308との間のワイヤレスリンクを含む、第2のパス上で、サブフロー406cを通じて通信しうる。
【0050】
ブロック506で、処理は、第1パスまたは第2のパスの少なくとも1つの上の第3のサブフロー上で、第1のワイヤレスリンクの品質に対応するヘルスメトリックを提供しうる。ここで、ヘルスメトリックは、第2のワイヤレスリンクの品質にさらに対応しうる。例えば、第3のサブフローは、第1のパス上のUDPサブフロー406aに対応しうる。いくつかの例では、第3のサブフローは、第1のサブフローまたは第2のサブフローのうちの1つと同じサブフローであり、他の例では、第3のサブフローは、第1のサブフローまたは第2のサブフローのいずれかとも異なる、個別のサブフローでありうる。さらに他の例では、ヘルスメトリックは、複数のサブフローで、例えば、第1のサブフローおよび第2のサブフローの両方で送られうる。ここで、複製ヘルスメトリックメッセージは、廃棄されうる。ヘルスメトリックが提供される、第3のサブフローがデータパケットを送る第1または第2のサブフローのうちの1つと同じサブフローである例示では、ヘルスメトリックは、例えば、所有権トランスポートレイヤメッセージ(proprietary transport layer message)のような任意の適切なフォーマットに提供されうる。
【0051】
すなわち本開示のいくつかの態様では、ヘルスメトリックのような、制御シグナリングの送信は、制御シグナリングパケットのために確立される個別のサブフローを利用しうる。制御シグナリングパケッのための個別のサブフローの構築は、遅延の低減された尤度、キューバックログ、またはデータのために利用されるサブフロー上のTCP輻輳のために提供されうる。ここで、制御シグナリングのためのサブフローは、データパケットのための1つまたは複数のサブフローと同じパス上のものである、またはデータパケットのために利用されるこれらのものと異なるパス上のものでありうる。説明される例では、サブフロー406aは、サブフロー406bと同じパスを利用する、つまり、第1のワイヤレスインターフェース408aとWWANアクセスポイント306との間のワイヤレスリンクを含む。サブフロー406b、406cおよび406dは、サブフロー406a上で送られた制御パケットに対応するデータパケットのために指定されうる。
【0052】
1つの例として、限定ではなく、サブフロー406aは、ヘルスメトリックのような制御シグナリングパケット搬送するために確立されるUDPサブフローでありうる。このように、制御シグナリングのためのUDPを利用することによって、それが当業者に対して既知であるものとして、時間センシティブな制御情報の送信は、信頼性の可能な経費で促進されうる。すなわち、UDPがTCPに与えられた信頼性セーフガードおよび誤り訂正のうちのいくつかが欠けるので、より少ないオーバヘッドが要求され、したがって、このプロトコルを利用する制御パケットはより早く到着しうる。ここで、本開示のいくつかの態様では、冗長性は、例えば、情報の配信の信頼性を改善するためにリードソロモンコーディングにおけるもののような誤り訂正コードを利用する制御情報を符号化することによって、UDPサブフロー上で利用されうる。
【0053】
本開示のさらなる態様に従って、対応するサブフローの確立および制御シグナリングの送信のための特定のパスの選択は、ヘルスメトリックによって示されるようなパスの品質に従って行われうる。すなわち、マルチパスマネージャ420は、特定のパスが最良パスであること、または制御シグナリングを送信する任意の適切な理由のために望ましいパスであることを示すヘルスメトリックに基づいて、制御情報のためのサブフローを確立するために特定のパスを選択しうる。
【0054】
以上で議論されるように、本開示の態様に従って、UDPサブフロー406aは、マルチパスTCPレイヤによって管理されうる。
図4の中の説明は、マルチパスTCPレイヤ404によって管理されるUDPサブフロー406aを示す。開示の別の態様では、制御シグナリングのためのUDPサブフローは、アプリケーションレイヤで管理されるUDPオーバレイでありうる。また開示の別の態様では、制御シグナリングのためのサブフローは、マルチパスTCPレイヤによって管理されるTCPサブフローでありうる。また開示の別の態様では、制御シグナリングのためのサブフローは、アプリケーションレイヤで管理されるTCPオーバレイでありうる。したがって、開示の様々な態様では、制御シグナリングのためのサブフローは、TCPまたはUDP接続を通じて提供され、マルチパスTCPレイヤ下にあるまたはありえない。
【0055】
開示のさらなる態様では、マルチパスマネージャ420は、TCPサブフローから、データパケットがUDPサブフローを通じて配信されうるようなUDPサブフローに、サブフロー406b−406dに関連して以上で記述されるようなデータトラフィックを一時的または永遠に切り替えうる。例えば、TCPサブフローが、UDPサブフローになるように変更されうる、または特定のTCPサブフローに割り当てられるTCPフローの一部が、確立したUDPサブフローにリダイレクトされうる。ここで、UDPサブフローを通じて提供される制御情報に関して以上で議論されるように、UDPサブフローを通じて提供されるデータパケットは、配信の信頼性を改善するために、リードソロモンまたはラプターコードなどのような適切な誤り訂正コードを利用して符号化されうる。
【0056】
図6は、複数のサブフローの間のTCPフローの一部の割り当てに関する開示の別の態様に従うワイヤレス通信のための例示的な処理600を説明するフローチャートを提供する。ここで、処理600は、マルチパスマネージャ420、またはより広くマルチパスTCPレイヤ416によって実装されうる。概して、処理600は、
図1で説明示されるような適切な処理システム114、または記述される機能の実行のための任意の他の適切な手段によって実装されうる。
【0057】
処理600に従って、ブロック602では、マルチパスマネージャ420は、第1のワイヤレスリンクの品質に対応するヘルスメトリックを受信しうる。ここで、ヘルスメトリックは、例えば、WWANインターフェース408aまたは408bによって利用される情報のような、任意の数のワイヤレスリンクの品質に関する情報、WPANインターフェース410によって利用されるWPANワイヤレスリンク、またはプロキシ312によって利用されるWWANインターフェース、をさらに含みうる。どんな場合でも、ヘルスメトリックは、それぞれのワイヤレスリンクのリンクレイヤ性能特徴を含む様々な情報を提供しうる。例えば、ヘルスメトリックは、変調、コーディングスキーム、リンクの物理レイヤスループット、パケットエラーレート、ビットエラーレート、または任意の他の適切なMACまたはリンクレイヤ性能メトリックスを示しうる。
【0058】
開示のさらなる態様では、ワイヤレスリンク条件は、どれだけ多くの「良い(good)」バイトがリンクを経由して成功裏に合格したか、つまり再送信される否定肯定応答されるパケットを考慮することに関連する、いわゆるグッドプット(goodput)を含みうる。例えば、再送信されることになるパケットは、グッドプットにおいてカウントされうる。
【0059】
開示のまたさらなる態様では、ヘルスメトリックに関連した増加傾向または減少傾向は、パスを横断するさらなるパケット分散のために計画するために、マルチパスマネージャ420によって検出されうる。例えば、f(t)が時間tで特定のパスのためのヘルスメトリックを表わす場合、f
p(t)は、現在値f(t
0)および推定された傾向f´(t
0)に基づいてf(t)の予測されるバージョンを表わすことができる。例えば:f
p(t)=f(t
0)+f´(t
0)(t−t
0)である。
【0060】
さらなる例示では、f´´(t
0)のようなより高次の項は、望まれる場合に利用されうる。ヘルスメトリックにおけるそのような傾向を予測する場合、マルチパスマネージャ420は、新しい更新が到来する時間まで特定のパスのためのヘルスメトリックの所定のバージョンを利用し、新しい更新時間で、新しいヘルスメトリックが利用されうる。
【0061】
ここで、マルチパスマネージャ420によってTCPのためのパケットの割り当ての相対的により迅速な適応を可能にすると、これらのリンクレイヤメトリックスは、例えば、数10ミリ秒から数100ミリ秒のオーダで、相対的に迅速に通信することができる。これは、一般に、フィードバックバーストの間の数秒に対して数百ミリ秒のオーダで通信されることができる、トランスポートレベルメトリックと有利に比較する。さらに、本開示の態様に従って、利用可能な場合、ワイヤレスリンク条件は、RTTまたは平滑化RTT(SmRTT)、CW、トランスポートレベルスループット、およびトランスポートレベル再送信待ち行列中のパケットのナンバーなどのような測定値を含む、トランスポートレベルメトリックを含むことができる。
【0062】
ブロック602において受信されたヘルスメトリックは、任意の適切なサブフローを通じて受信されうるが、開示のいくつかの態様では、ヘルスメトリックは、制御シグナリングのために指定されたUDPサブフロー406aを通じて受信されうる。
【0063】
ブロック604では、マルチパスマネージャ420は、受信ヘルスメトリックに従って複数のサブフローの各々に割り当てるTCPフローの量を決定しうる。ブロック606では、マルチパスマネージャ420は、第1のワイヤレスリンクを含む第1のパスの第1のサブフローにTCPフローの第1の部分を割り当て、ブロック608では、マルチパスマネージャ420は、第2のパスの第2のサブフローにTCPフローの第2の部分を割り当てうる。したがって、処理600は、ヘルスメトリックに基づいてサブフロー中のデータの割り当ての適応を提供しうる。
【0064】
一旦
図4に再び戻って、以上で議論されるように、マルチパスTCPレイヤ416中のマルチパスマネージャ420のパケットスケジューリング機能は、データの接続レベルセグメントのためのグローバルシーケンスナンバーを供給しうる。マルチパスTCPは、各サブフロー414のより低いレベルシーケンスナンバーを利用しうる。すなわち、マルチパスTCPは、グローバルシーケンスナンバー空間およびサブフローシーケンスナンバー空間を含む、2つのシーケンスナンバー空間を利用しうる。2つのシーケンスナンバー空間で、紛失したパケットのセグメント化、再アセンブリ、再送信は、マルチパスTCPレイヤ416またはサブフローレイヤ414のいずれかで実行されうる。
【0065】
開示の態様では、TCPスコアボードは、サブフローレベル肯定応答および再送信の目的のために送信されたパケットの跡を追い続けるために、各サブフロー414でさらに利用されうる。さらに、再送信スコアボードは、以下に議論されるように、接続レベル肯定応答および再送信の跡を追い続けるためにマルチパスTCPレベルで利用されうる。
【0066】
シーケンスナンバー空間の異なるレベルの使用の1つの特徴は、マルチパスTCPがサブフローレベルと同様に接続レベルでの確認応答および再送信を可能にするということである。本開示の態様では、第2のサブフローが使用するパスが第1サブフローが使用するパスより高品質であることをマルチパスマネージャ420によって受信されたヘルスメトリックが示す場合に、この特徴は、1つのサブフロー上で送信されるサブフローレベルパケットが第2のサブフロー上で再送信されることを可能にするために拡張されうる。
【0067】
従来のマルチパスTCPでは、再送信の管理は、サブフローレベルで生じ、一旦パケットが肯定応答されれば、それは、その後、マルチパスレベルまで通過しうる。しかしながら、本開示の態様では、少なくとも再送信管理機能の一部は、マルチパスTCPレイヤ416まで引き寄せられことができる。この方法では、マルチパスTCPレイヤ416が複数のパスに対応するヘルスメトリックスを受信したことに続いて、特定のサブフロー上の送信がそのサブフローに対応するパス条件によって失敗していることをヘルスメトリックが示す場合、パケット再送信は、他のパケット上で試みられることができる。したがって、再送信は、利用されたパスのオリジナル送信と無関係に最良の利用可能なパス上で試みられることができる。
【0068】
今度
図6に戻って、第2のフローチャートは、第2のサブフロー上で、元々は第1のサブフロー上で送られたパケットの再送信に関する開示の態様に従うワイヤレス通信のための例示の処理650を説明することを提供する。上記のように、処理650は、マルチパスマネージャ420、またはより広くマルチパスTCPレイヤ416によって実装されうる。概して、処理650は、
図1中で示されるような適切な処理システム114、または説明される機能を実行する任意の他の適切な手段によって実装されうる。
【0069】
開示の1つの態様では、処理650は、処理600が実行されたと仮定する。したがって、第1のサブフローは、TCPフローの少なくとも一部が割り当てられたサブフローに対応し、パケットは、第1のパスを利用する第1のサブフローを通じて送信されている。処理650に従って、ブロック610では、マルチパスマネージャ420は、第1のサブフローを通じて送信されたパケットのロスを検出しうる。ここで、パケットロスを決定するための任意の適切なプロセスは、例えば、同じシーケンスナンバーを肯定応答する複数の複製肯定応答を検出することによって利用されうる。このようなストール(stall)またはパケットロスは、ディープフェード、干渉などにより、貧弱なWWAN信号を有する領域に入っているクライアントデバイス304のような任意の数の理由に対して生じうる。ブロック612では、マルチパスマネージャ420は、第2のパスが第1パスより高品質を有することを示すヘルスメトリックを受信しうる。パスの品質は、ワイヤレスリンク条件、SmRTT、CWなどを含むがこれらに限定されないヘルスメトリック上で提供される以上で議論されたパラメータの任意の組み合わせに対応することができる。
【0070】
ブロック614では、マルチパスマネージャ420は、第2のパスのサブフローを通じてストールされたパケットを再送信しうる。このように、第2のパスが第1のパスより高品質であるという情報に基づいて、パケットが受信されることになる可能性が改善される。したがって、ブロック616では、パケットが受信側で第2のサブフローを通じて成功裏に受信した後、マルチパスマネージャ420は、第2のパス上で送信されたパケットに対応する受信側からの肯定応答を受信しうる。パケットが受信されたことに続いて、ブロック618では、マルチパスマネージャ420は、元々は第1のパス上で送信されたパケットが第2のパスを通じて受信されたこととして肯定応答される、パケットを示すために再送信スコアボードを更新しうる。
【0071】
すなわち、マルチパスTCPレベル再送信スコアボードは、再送信が第2のサブフローを通じて成功したことを示すように更新される。ここで、再送信スコアボードは、パケットのグローバルシーケンスナンバーもパケットのサブフローレベルシーケンスナンバーも含む再送信待ち行列に対応しうる。パケットは、パケットが第1のサブフロー上で送信され、第2のサブフロー上で再送達された時の複数のサブフローレベルシーケンスナンバーを有する。このように、再送信スコアボードは、サブフローレベルシーケンスナンバーをグローバルシーケンスナンバーと関連付けうるので、パケットが1つのサブフロー上で肯定応答されるとき、マルチパスレベルは、それらが生じる場合の他のサブフロー上での複製肯定応答を管理することができる。すなわち、第2のサブフローを通じてパケットの再送信が肯定応答された後、第1のパスが回復することになりパケットのオリジナル送信が結局成功することになり、サブフローレベルで肯定応答される可能性がある。従って、再送信スコアボードは、複製された肯定応答の取り扱いのために提供される。ここで、再送信スコアボードは、グローバルシーケンスナンバーに基づいて、第2のパス上で、パケットが第2のサブフローを通じた再送信に従ってすでに肯定応答されたことを認識しうる。したがって、複製肯定応答によって生じた潜在的なエラーは、低減されるまたは回避されることができる。
【0072】
開示の態様に従って、再送信待ち行列は、個別の専用再送信サブフロー上で実装されることができる。ここで、再送信サブフローは、TCPサブフロー、UDPサブフロー、またはオーバレイ(例えば、TCPオーバレイまたはUDPオーバレイ)でありうる。
【0073】
開示のさらなる態様では、再送信サブフローのためのパスのうちの1つの選択は、ヘルスメトリックに従って行われうる。すなわち、特定のパスが最良のパスであることまたは任意の理由で望ましいパスであることを受信ヘルスメトリックが示す場合、マルチパスマネージャ420は、対応するパス上で再送信サブフローを確立しうる(または、別の態様では、再送信サブフローになる既存のサブフローを指定しうる)。この方法では、再送信されたパケットは、良いパス上で提供され、再送信されたパケットが成功裡に受信される可能性を増加させうる。
【0074】
本開示の別の態様では、制御情報は、パスのうちの1つの潜在的な障害にもかかわらず制御情報の信頼性を改善するために、複数のパス上の複数のサブフローを通じて複製され提供されうる。すなわち、マルチパスTCPは、典型的に、複数のパスを通じてデータフローの一部を割り当てるが、対応する制御シグナリングパケットは、典型的に、単一のパスを通じて送信される。ここで、制御情報が送られるパスがヘルスメトリックに従って動的に適応される本開示の態様を利用するときでさえ、そのパスの障害は、制御情報の少なくとも一時的なロスに帰着する場合がある。
【0075】
この態様において、複数のパスが複製された制御情報を搬送するために利用されるので、ヘルスメトリックが制御情報のためにどの複数パスを利用するべきかの決定をアシストしうるが、ヘルスメトリックは、制御シグナリングの信頼性を改善するのに必要となりえない。ここで、パス条件に関するフィードバックの除去は、オーバヘッドを縮小しうる。しかしながら、本開示のいくつかの態様では、ヘルスメトリックの利用は、制御情報を受信する信頼性をさらに改善するために、複数パスを通じて制御情報の複製と組み合されうる。
【0076】
図7は、複製された制御情報が複数のパス上のサブフローを通じて送られる本開示の態様に従うワイヤレス通信の例示的な処理700を説明するフローチャートを提供する。ここで、処理700は、マルチパスマネージャ420によって、処理システム114によって(
図1を参照)、または本明細書に開示される機能を実行するための任意の手段によって実行されうる。
【0077】
ブロック702では、処理は、第1のパス上の第1のサブフローを通じてデータフローの第1の部分を送信し;ブロック704では、処理は、第2のパス上の第2のサブフローを通じてデータフローの第2の部分を送信しうる。例えば、マルチパスマネージャ420は、第1および第2のサブフローを通じてデータフローのそれぞれの部分を割り当てうる。ブロック706では、処理は、少なくとも2つのパスを通じて、第1サブフローおよび第2のサブフローに対応する複製された制御情報を送信しうる。例えば、複製された制御情報は、第1のパスおよび第2のパスを通じて送られうる。いくつかの例示において、複製された制御情報は、フローのデータ部分のために利用されたパスと異なる他のパスを利用しうる。さらに次の例において、制御情報は、マルチパスTCPレイヤ、UDPオーバレイ、TCPオーバレイ、または以上の任意の組み合わせによって管理されたTCPまたはUDPのサブフロー上で搬送されうる。このように、パケットの複製バージョンが別のパスでさらに提供されるので、複製されたサブフローのうちの1つの制御シグナリングパケットのロスは、必ずしも制御シグナリングパケットのロスに帰着しえない。
【0078】
図8および9は、トンネリングを利用する開示の別の態様を説明するブロック図である。すなわち、以上で記述された例示において、ソースおよび宛先ノード(例えば、アプリケーションサーバ302およびクライアント304)の両方は、マルチパスTCPに必要な能力がある。言いかえれば、アプリケーションサーバ302およびクライアント304は、マルチパスTCP準拠ソフトウェアスタックを含む。しかしながら、本開示の様々な態様において、アプリケーションサーバ802は、レガシTCPスタックを有し、マルチパスTCP機能性を欠きうる。ここで、マルチパスTCP準拠ソフトウェアスタックを含むクライアントデバイス804を配備することは比較的に簡単なことであるが、マルチパスTCP機能を有するアプリケーションサーバの利用は、選択肢になりえない。したがって、トンネリングは、レガシTCPスタックを有するサーバとともに本開示の様々な態様に従うマルチパスTCPを実装するために利用されうる。
【0079】
図8では、クライアントデバイス804、プロキシ812、WWANアクセスポイント806、808および810は、
図3および4で説明されるこれらに対応するノードと実質的に同じでありうる。さらに、ネットワーククラウド814は、インターネットのような任意の適切なネットワークでありうる。ここで、ネットワーククラウド814は、マルチパスTCPフローのトンネリングがアプリケーションサーバ802に対して可能にするためにマルチパストランスポートトンネリングサーバ816を含む。
図9は、トンネリングをさらに説明するためにマルチパストランスポートトンネリングサーバ816およびアプリケーションサーバ802でのソフトウェアスタックを示すために
図8のノードのうちのいくつかを説明する概略図である。
【0080】
ここで、マルチパストランスポートトンネリングサーバ816は、それぞれのWWANアクセスポイント806、808、および810とインターフェースで接続することを含む、マルチパスに必要な能力のあるアプリケーションサーバ302の役割の一部を引き受ける。マルチパストランスポートトンネリングサーバ816は、複数のサブフロー820を管理するためのマルチパスTCPレイヤ818を含む。ここで、マルチパストランスポートトンネリングサーバは、サブフローを組み合わせ、アプリケーションサーバ802に対するフローを提示しうる。本開示の態様では、フローは、従来のTCPフローとしてアプリケーションサーバ802に表されうる。このように、本開示の対応、ここで、ワイヤレスリンク条件に対応するヘルスメトリック、または複数のパスを通じた制御シグナリングパケットの複製を含む、マルチパストランスポートの利点は、マルチパスTCP能力を欠くクライアント804と従来のアプリケーションサーバ802との間のフローに提供されうる。
【0081】
以上の記述は、任意の当業者が本明細書で説明される様々な態様を実施することを可能にするために提供される。これらの態様への様々な変更は、当業者には容易に明らかになり、本明細書で定義される包括的な原理は、他の態様に適用され得る。このように、特許請求の範囲は、本明細書において示された態様を限定するように意図されたものではなく、特許請求の範囲の用語と一致する最大範囲であると認められるべきである。ここにおいて、単数における要素の言及は、そうと明確に述べられない限りは「1つ及び1つだけ」を意味するのではなく、むしろ「1つまたは複数」を意味することが意図されている。そうでないことが特に述べられていない限り、“いくつか”という用語は、1つまたは複数のことを指している。項目のリストのうちの「少なくとも1つ」に言及するフレーズは、単一のメンバを含む、それらの項目のうちの任意の組み合わせに言及するものである。例示として、「a、b、cのうちの少なくとも1つ」は、a、b、c、aおよびb、aおよびc、bおよびc、a、bおよびcをカバーするように意図される。当業者に対して既知であるまたは既知に後程なるこの開示全体に記述される様々な態様の要素に対するすべての構造および機能の均等物は、参照によって本明細書に明示的に組み込まれ、特許請求の範囲に取り込まれることが意図される。さらには本明細書で開示されるものはどれも、そのような開示が特許請求の範囲において明白に記載されているかどうかに関わらず、公に捧げられるように意図されていない。請求項の要素はどれも、要素が「のための手段」というフレーズを使用して明示的に記載されていない限り、もしくは方法の請求項の場合、要素が「のためのステップ」というフレーズを使用して記載されない限り、米国特許法112条第6段落の既定の下で解釈されるべきでない。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
マルチパスTCP接続にわたるワイヤレス通信の方法であって、
第1のワイヤレスリンクを備える第1のパス上の第1のサブフローを通じて通信することと、
第2のパス上の第2のサブフローを通じて通信することと、
前記第1のワイヤレスリンクの品質に対応するヘルスメトリックを提供することと
を備え、前記ヘルスメトリックは、前記第1のパスまたは前記第2のパスのうちの少なくとも1つのパス上の第3のサブフローで提供される、
方法。
[C2]
前記第1のワイヤレスリンクの前記品質は、前記第1のワイヤレスリンクに対応するビットエラーレート、パケットエラーレート、物理レイヤスループット、信号強度、コーディングスキーム、または符号化スキームのうちの少なくとも1つを備える、前記ワイヤレスリンクのリンクレイヤ特徴を備える、
[C1]に記載の方法。
[C3]
前記第1のワイヤレスリンクの前記品質は、前記第1のワイヤレスリンクに対応するグッドプットを備える、
[C1]に記載の方法。
[C4]
前記第1のワイヤレスリンクの前記品質は、再送信待ち行列に対応するパケットのナンバー、トランスポートレベルスループット、平滑化されたラウンドトリップ時間、ラウンドトリップ時間、または輻輳ウィンドウのうちの少なくとも1つを備える、前記第1のパスのTCPレイヤ特徴を備える、
[C1]に記載の方法。
[C5]
前記第2のパスは、第2のワイヤレスリンクを備え、前記ヘルスメトリックは、前記第2のワイヤレスリンクの品質にさらに対応する、
[C1]に記載の方法。
[C6]
前記第1のサブフローは、マルチパスTCPフローに対応するTCPサブフローを備え、
前記第2のサブフローは、前記マルチパスTCPフローに対応するTCPサブフローに対応する、
[C1]に記載の方法。
[C7]
前記第3のサブフローは、UDPオーバレイを備える、
[C1]に記載の方法。
[C8]
前記第3のサブフローは、TCPオーバレイを備える、
[C1]に記載の方法。
[C9]
前記第3のサブフローは、マルチパスTCPエンティティによって管理されるTCPサブフローを備える、
[C1]に記載の方法。
[C10]
前記第3のサブフローは、マルチパスTCPエンティティによって管理されるUDPサブフローを備える、
[C1]に記載の方法。
[C11]
前記第1のサブフローまたは前記第2のサブフローのうちの1つを通じて受信されたパケットに対応する肯定応答を送ることをさらに備える、
[C1]に記載の方法。
[C12]
前記受信パケットが肯定応答が既に送られた複製パケットであるかどうか決定することをさらに備える、
[C11]に記載の方法。
[C13]
前記第1のパスは、ソースでの第1のIPアドレスおよび宛先での第2のIPアドレスを備え、前記第2のパスは、前記ソースでの第3のIPアドレスおよび前記宛先での第4のIPアドレスを備える、
[C1]に記載の方法。
[C14]
前記第1のIPアドレスは、前記第3のIPアドレスと異なる、
[C13]に記載の方法。
[C15]
前記第2のIPアドレスは、前記第4のIPアドレスと異なる、
[C13]に記載の方法。
[C16]
前記ヘルスメトリックは、ラウンドトリップ時間および輻輳ウィンドウにさらに対応する、
[C1]に記載の方法。
[C17]
マルチパスTCP接続にわたるワイヤレス通信の方法であって、
第1のワイヤレスリンクの品質に対応するヘルスメトリックの受信することと、
前記第1のワイヤレスリンクを備える第1のパス上の第1のサブフローにTCPフローの第1の部分を割り当てることと、
第2のパス上の第2のサブフローに前記TCPフローの第2の部分を割り当てることと
を備え、前記第1の部分の量と前記第2の部分の量は、前記ヘルスメトリックに従って決定される、
方法。
[C18]
前記第2のパスが前記第1のパスより高い品質を有することを示す前記ヘルスメトリックに従って前記第2のサブフロー上で、前記第1のサブフローを通じて送信されたパケットを再送信することをさらに備える、
[C17]に記載の方法。
[C19]
前記再送信することは、前記第2のパス上の前記第2のサブフローを利用することをさらに備える、
[C18]に記載の方法。
[C20]
前記再送信することは、前記第2のパス上の第3のサブフローを利用することをさらに備える、
[C18]に記載の方法。
[C21]
前記第2のパス上で送信された前記パケットに対応する肯定応答を受信することと、
前記第1のパスを通じて送信された前記パケットが前記第2のパス上で肯定応答されたことを示すために再送スコアボードを更新することと
をさらに備える、[C18]に記載の方法。
[C22]
前記ヘルスメトリックを前記受信することは、UDPオーバレイを通じて情報を受信することを備える、
[C17]に記載の方法。
[C23]
前記ヘルスメトリックを前記受信することは、前記第1のパスまたは前記第2のパスの内の少なくとも1つのパス上の第3のサブフローを通じて情報を受信することを備える、
[C17]に記載の方法。
[C24]
前記ヘルスメトリックにおける傾向に対応する予測されたヘルスメトリックを決定することをさらに備え、前記傾向は、時間にわたる前記ヘルスメトリックにおける変化に対応し、前記第1の部分の前記量および前記第2の部分の前記量は、前記予測されたヘルスメトリックに従ってさらに決定される、
[C17]に記載の方法。
[C25]
複数のパスを備えるマルチパスTCP接続にわたるワイヤレス通信の方法であって、
前記複数のパスの第1のパス上の第1のサブフローを通じてデータフローの第1の部分を送信することと、
前記複数のパスの第2のパス上の第2のサブフローを通じてデータフローの第2の部分を送信することと、
前記複数のパスのうち少なくとも2つのパス上の前記第1のサブフローおよび前記第2のサブフローに対応する制御情報を送信することと
を備え、前記制御情報は、前記少なくとも2つのパスの各々にわたって複製される、
方法。
[C26]
マルチパスTCP接続にわたるワイヤレス通信の装置であって、
第1のワイヤレスリンクを備える第1のパス上の第1のサブフローを通じて通信するための手段と、
第2のパスの第2のサブフローを通じて通信するための手段と、
前記第1のワイヤレスリンクの品質に対応するヘルスメトリックを提供するための手段と
を備え、前記ヘルスメトリックは、前記第1のパスまたは前記第2のパスのうちの少なくとも1つのパス上の第3のサブフローで提供される、
装置。
[C27]
マルチパスTCP接続にわたるワイヤレス通信の装置であって、
第1のワイヤレスリンクの品質に対応するヘルスメトリックを受信するための手段と、
前記第1のワイヤレスリンクを備える第1のパス上の第1のサブフローにTCPフローの第1の部分を割り当てるための手段と、
第2のパス上の第2のサブフローに前記TCPフローの第2の部分を割り当てるための手段と
を備え、前記第1の部分の量および前記第2の部分の量は、前記ヘルスメトリックに従って決定される、
装置。
[C28]
複数のパスを備えるマルチパスTCP接続にわたるワイヤレス通信の装置であって、
前記複数のパスの第1のパス上の第1のサブフローを通じてデータフローの第1の部分を送信するための手段と、
前記複数のパスの第2のパス上の第2のサブフローを通じてデータフローの第2の部分を送信するための手段と、
前記複数のパスのうちの少なくとも2つを通じて前記第1のサブフローおよび前記第2のサブフローに対応する制御情報を送信するための手段と
を備え、前記制御情報は、前記少なくとも2つのパスの各々にわたって複製される、
装置。
[C29]
マルチパスTCP接続にわたるワイヤレス通信のためのコンピュータプログラム製品であって、
コンピュータ可読媒体を備え、前記コンピュータ可読媒体は、
コンピュータに、第1のワイヤレスリンクを備える第1のパス上の第1のサブフローを通じて通信させるための命令と、
コンピュータに、第2のパス上の第2のサブフローを通じて通信させるための命令と、
コンピュータに、前記第1のワイヤレスリンクの品質に対応するヘルスメトリックを提供させるための命令と
を備え、前記ヘルスメトリックは、前記第1のパスまたは前記第2のパスのうちの少なくとも1つのパス上の第3のサブフローで提供される、
コンピュータプログラム製品。
[C30]
マルチパスTCP接続にわたるワイヤレス通信のためのコンピュータプログラム製品であって、
コンピュータ可読媒体を備え、前記コンピュータ可読媒体は、
コンピュータに、第1のワイヤレスリンクの品質に対応するヘルスメトリックを受信させるための命令と、
コンピュータに、前記第1のワイヤレスリンクを備える第1のパス上の第1のサブフローにTCPフローの第1の部分を割り当てさせるための命令と、
コンピュータに、第2のパス上の第2のサブフローに前記TCPフローの第2の部分を割り当てさせるための命令と
を備え、前記第1の部分の量および前記第2の部分の量は、前記ヘルスメトリックに従って決定される、
コンピュータプログラム製品。
[C31]
複数のパスを備えるマルチパスTCP接続にわたるワイヤレス通信のためのコンピュータプログラム製品であって、
コンピュータ可読媒体を備え、前記コンピュータ可読媒体は、
コンピュータに、前記複数のパスの第1のパス上の第1のサブフローを通じてデータフローの第1の部分を送信させるための命令と、
コンピュータに、前記複数のパスの第2のパス上の第2のサブフローを通じてデータフローの第2の部分を送信させるための命令と、
コンピュータに、前記複数のパスのうち少なくとも2つのパスを通じて前記第1のサブフローおよび前記第2のサブフローに対応する制御情報を送信させるための命令と
を備え、前記制御情報は、前記少なくとも2つのパスの各々にわたって複製される、
コンピュータプログラム製品。
[C32]
マルチパスTCP接続にわたるワイヤレス通信のための装置であって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに接続されるメモリと
を備え、前記少なくとも1つのプロセッサは、
第1のワイヤレスリンクを備える第1のパス上の第1のサブフローを通じて通信することと、
第2のパスの第2のサブフローを通じて通信することと、
前記第1のワイヤレスリンクの品質に対応するヘルスメトリックを提供することと
を行うように構成され、前記ヘルスメトリックは、前記第1のパスまたは前記第2のパスのうちの少なくとも1つのパス上の第3のサブフローで提供される、
装置。
[C33]
マルチパスTCP接続にわたるワイヤレス通信のための装置であって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに接続されるメモリと
を備え、前記少なくとも1つのプロセッサは、
第1のワイヤレスリンクの品質に対応するヘルスメトリックの受信することと、
前記第1のワイヤレスリンクを備える第1のパス上の第1のサブフローにTCPフローの第1の部分を割り当てることと、
第2のパス上の第2のサブフローに前記TCPフローの第2の部分を割り当てることと
を行うように構成され、前記第1の部分の量と前記第2の部分の量は、前記ヘルスメトリックに従って決定される、
装置。
[C34]
複数のパスを備えるマルチパスTCP接続にわたるワイヤレス通信のための装置であって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに接続されるメモリと
を備え、前記少なくとも1つのプロセッサは、
前記複数のパスのうちの第1のパス上の第1のサブフローを通じてデータフローの第1の部分を送信することと、
前記複数のパスのうちの第2のパス上の第2のサブフローを通じてデータフローの第2の部分を送信することと、
前記複数のパスのうちの少なくとも2つのパスを通じて前記第1のサブフローおよび前記第2のサブフローに対応する制御情報を送信することと
を行うように構成され、前記制御情報は、前記少なくとも2つのパスの各々にわたって複製される、
装置。