JP2010504047A - マルチパス環境におけるトランスポートプロトコルの性能を改善するシステムおよび方法 - Google Patents
マルチパス環境におけるトランスポートプロトコルの性能を改善するシステムおよび方法 Download PDFInfo
- Publication number
- JP2010504047A JP2010504047A JP2009528475A JP2009528475A JP2010504047A JP 2010504047 A JP2010504047 A JP 2010504047A JP 2009528475 A JP2009528475 A JP 2009528475A JP 2009528475 A JP2009528475 A JP 2009528475A JP 2010504047 A JP2010504047 A JP 2010504047A
- Authority
- JP
- Japan
- Prior art keywords
- transport layer
- network device
- packet
- traffic distributor
- multipath traffic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/122—Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/125—Shortest path evaluation based on throughput or bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
マルチパス環境におけるトランスポートプロトコルの性能を改善するデバイス、システム、および方法が開示される。一ネットワークデバイスは、トランスポート層プロキシと、トランスポート層プロキシに連結されたマルチパストラフィックディストリビュータとを備える。トランスポート層プロキシは、トランスポート層接続にそれぞれ関連付けられたパケットを、トランスポート層エンドポイントから受信するように構成される。該プロキシは、受信されパケットの少なくとも一部を、マルチパストラフィックディストリビュータへ配信するようにさらに構成される。マルチパストラフィックディストリビュータは、配信されたパケットのそれぞれを、複数のデータフローの1つに割り当て、かつ、配信されたパケットのそれぞれを、割り当てられたデータフローに関連付けられた送信パス上で送信するように構成される。
Description
(関連出願の参照)
本出願は、米国仮特許出願第60/844,226号(2006年9月13日出願)の利益を主張し、該仮特許出願は、本明細書において参考として援用される。
本出願は、米国仮特許出願第60/844,226号(2006年9月13日出願)の利益を主張し、該仮特許出願は、本明細書において参考として援用される。
(技術分野)
本開示は、データ通信に関し、より詳細には、複数の並列データ通信パス上のデータ通信に関する。
本開示は、データ通信に関し、より詳細には、複数の並列データ通信パス上のデータ通信に関する。
送信制御プロトコル(Transmission Control Protocol;TCP)として知られているトランスポートプロトコルは、過去20年間にわたって、インターネット上における信頼できるデータ配信のための事実上のトランスポートプロトコルとして好成果を上げてきた。TCPによって使用されるアルゴリズムは、インターネット上における安定性、信頼性、および公平性を推進するように設計されたものであったが、これらの同じアルゴリズムが、通信システム間のエンドツーエンドパスに沿った一定の条件の存在下で、TCP性能の低下をもたらした。広帯域、大きな遅延、および/または著しい損失率を含むこれらの特性は、現在のインターネットにおいてますます一般的なものとなりつつある。TCPによって使用される基本アルゴリズムは、長年にわたって修正されてきたが、TCPを使用するシステムの、非常に大きなインストールされた基盤が存在するために、これらのアルゴリズムに対する著しい変化は起こりそうにない。
さらに、ほとんどのネットワークでは広大なリソースがあるにもかかわらず、大多数は、データを、2つのネットワークエンティティの間でシーケンシャルに通信している。例えば、広く利用されているインターネットプロトコル(IP)は、任意の2つのエンティティの間の単一パスルーティングのみをサポートする。したがって、概して、データネットワークは、また、特に、インターネットは、シーケンシャルなデータ通信プロパティを超越することによって、性能、コスト、機能性、および柔軟性の改善を潜在的に可能にする、本来的な特徴を有する。すなわち、並列のデータ通信の実行が、多くのパケットデータネットワークの機能に根本的な改善をもたらす。したがって、これらの、およびその他の課題に取り組む必要性が存在する。
(概要)
マルチパス環境におけるトランスポートプロトコル性能を改善するためのデバイス、システム、および方法が開示される。一ネットワークデバイスは、トランスポート層プロキシと、トランスポート層プロキシに結合されたマルチパストラフィックディストリビュータとを含む。トランスポート層プロキシは、れぞれトランスポート層接続に関連付けられたパケットを、トランスポート層エンドポイントから受信するように構成される。プロキシは、さらに、受信されたパケットの少なくとも一部分を、マルチパストラフィックディストリビュータへ配信するように構成される。マルチパストラフィックディストリビュータは、配信されたパケットのそれぞれを、複数のデータフローの1つに割り当て、さらに、配信されたパケットのそれぞれを、割り当てられたデータフローに関連付けられた送信パス上で送信するように構成される。
マルチパス環境におけるトランスポートプロトコル性能を改善するためのデバイス、システム、および方法が開示される。一ネットワークデバイスは、トランスポート層プロキシと、トランスポート層プロキシに結合されたマルチパストラフィックディストリビュータとを含む。トランスポート層プロキシは、れぞれトランスポート層接続に関連付けられたパケットを、トランスポート層エンドポイントから受信するように構成される。プロキシは、さらに、受信されたパケットの少なくとも一部分を、マルチパストラフィックディストリビュータへ配信するように構成される。マルチパストラフィックディストリビュータは、配信されたパケットのそれぞれを、複数のデータフローの1つに割り当て、さらに、配信されたパケットのそれぞれを、割り当てられたデータフローに関連付けられた送信パス上で送信するように構成される。
本開示の多くの局面が、以下の図面を参照してよりよく理解され得る。図面中の構成要素は必ずしも縮尺通りではなく、むしろ、本開示の原理を明瞭に示すために強調されている。
(詳細な説明)
マルチパス環境におけるトランスポートプロトコルの性能を改善するシステムおよび方法が開示される。全体のシステムアーキテクチャは、ローカルACK、フロー制御、および接続管理の組み合わせによってTCP接続を促進するように構成されるトランスポート層プロキシ、およびマルチパスリソースの集約を実行するように構成されるマルチパストラフィックディストリビュータを含む。これらの構成要素は、以下でさらに詳細に説明される。
マルチパス環境におけるトランスポートプロトコルの性能を改善するシステムおよび方法が開示される。全体のシステムアーキテクチャは、ローカルACK、フロー制御、および接続管理の組み合わせによってTCP接続を促進するように構成されるトランスポート層プロキシ、およびマルチパスリソースの集約を実行するように構成されるマルチパストラフィックディストリビュータを含む。これらの構成要素は、以下でさらに詳細に説明される。
これらの2つの構成要素を統合するためのいくつかの発明技術が、本明細書において開示される。一発明技術は、データパケットおよび閉接続パケット(例えば、TCP「FIN」制御パケット)が、トランスポート層プロキシからマルチパストラフィックディストリビュータへ送信され、複数のワイドエリアネットワーク(WAN)パス内に配信されるというものである。別の発明技術は、マルチパストラフィックディストリビュータが、トランスポート層プロキシに、WANパス特徴を通信するというものである。トランスポート層プロキシが、異なるパス上のWAN条件に基づいて適切なフロー制御を実行できるように、これらの特徴がトランスポート層プロキシフローコントローラモジュールに提供される。さらに別の発明的特徴はトリガマネージャを含み、トリガマネージャは、トランスポート層プロキシによって最適化されるように接続を選択する統一メカニズム、さらに、マルチパストラフィックディストリビュータによって最適化されるように接続を選択する統一メカニズムを提供する。
図1は、トランスポートプロトコル100の性能を改善するためのシステムおよび方法の一実施形態が置かれる環境のブロック図である。エンドポイントデバイス110は、トランスポート層(第4層)プロトコル120を使用し、ネットワーク130上で互いに通信を行う。本開示は、例示的なトランスポート層プロトコルとしてTCPについて考察するが、当業者は、本明細書において開示されるトランスポートプロトコルの性能を改善するための原理が、その他のトランスポート層プロトコルにも当てはまることを認識するはずである。ルータ140は、ネットワーク130を越えてトラフィックを運搬し、これは、インターネットプロトコル(IP)等のネットワーク層(第3層)プロトコルの使用を含み得る。本明細書において「ルータ」という用語が使用されるが、当業者は、ルータ140は代わりに第3層スイッチの形態を取り得ることを認識するはずである。
ネットワークデバイス150は、(論理的に)エンドポイント110とルータ140との間に置かれる。各ネットワークデバイス150は、トランスポートプロトコル160の性能を改善するためのロジックを含み、これは、ネットワークデバイス150が拡張トランスポートプロトコル170を使用してピアネットワークデバイス150と通信を行うことを可能にする。したがって、一対のエンドポイント110は、一対のネットワークデバイス150を介して通信を行う。
このために、システム100は、2つのエンドポイント110および2つのネットワークデバイス150を含む。エンドツーエンドの接続は、次の3つの区間、つまり、近端エンドポイント110Nとローカルネットワークデバイス150Lとの間の、第1のまたは近端の区間175、ローカルネットワークデバイス150Lとそのピアのリモートネットワークデバイス150Rとの間の、中間区間180、およびリモートネットワークデバイス150Rと遠端エンドポイント110Fとの間の、最後のまたは遠端の区間185、に分割され得る。
図1では、ネットワークデバイス150はエンドポイント110とルータ140との間に表示されるが、これは物理的表現ではなく論理的表現であり、パケットがネットワークデバイス150を通過することを示しているに過ぎない。以下で説明するように、ネットワークデバイス150の一部の実施形態は、実際にはエンドポイント110とルータ140との間にインラインに設置されておらず、代わりに、ルータ140にぶら下がるオフラインデバイスとして動作する。
当業者は、トランスポートプロトコル160の性能を改善するためのロジックが、いくつかの異なる手法でインスタンス化され得ることを理解するはずである。一実施例は、TCP通信端末デバイス110とアクセスルータ140との間に位置しているスタンドアロンデバイス150内に、ロジック160を実装する。トランスポートプロトコル160の性能を改善するためのロジックのもう1つのインスタンス化は、例えばカーネルドライバがTCPとカーネルプロトコルスタックのIP層との間に位置している場合には、エンドポイント110内で行われる。さらに別の実施例として、トランスポートプロトコル160の性能を改善するためのロジックは、TCPをエンドポイント110のプロトコルスタック内のトランスポート層として置換することができる。本明細書においては、スタンドアロンネットワークデバイス150のみが特に考察されるが、すべてのそのようなインスタンス化が、本開示の範囲内に含まれることが意図される。
ネットワークデバイス150の一部の実施形態において、拡張トランスポート層プロトコル170は、エンドポイント110によって使用されるトランスポート層プロトコル120とは異なる。ここで、エンドポイント110とその対応するネットワークデバイス150との間で使用されるプロトコルが、元のトランスポート層プロトコル120であり、ピアネットワークデバイス150の間で使用されるプロトコルが、拡張トランスポート層プロトコル170である。そのような実施形態において、ネットワークデバイス150は、エンドポイント110用のトランスポート層プロキシとして作用する。一部のプロキシ実施形態において、エンドポイント110は、当該ネットワークデバイス150が異なるトランスポート層プロトコルを使用していることに気付かず、この場合、ネットワークデバイス150は、エンドポイント110に対して透過性の(transparent)トランスポート層プロキシである。以下でさらに詳細に説明されるように、ネットワークデバイス150は、エンドポイントが、実際の受信者としてではなく、他の通信中のエンドポイントとしてのプロキシにのみ気付いているような手法で、TCPエンドポイントによって送信されたパケットに応答することによって、透過性を保持する。
一部の実施形態において、ネットワーク130内のリンクは、エンドポイント110へのリンクとは異なる性能特性を呈する。例えば、エンドポイント110へのリンクは、比較的高速の有線接続(例えば、100メガビットイーサネット(登録商標))を提供し得、一方では、ネットワーク130内のリンクは、低速の有線または無線接続(例えば、T1、WiFi)を提供し得る。拡張トランスポート層プロトコル165は、ネットワークデバイス150の間のリンクの性能特性に合わせて設計される。
これ以後、拡張トランスポートプロトコル170によって使用されるパケットに言及するときには、「拡張トランスポート層パケット」という用語が使用される。当業者は、そのようなプロトコルは、一般に、データを搬送するパケット(データパケット)と、データに確認応答するパケット(確認応答パケット)と、接続の設定/終了処理を行うために使用される制御パケットとを含むことを認識するはずである。したがって、本明細書においては、「拡張トランスポート層データパケット」と、「拡張トランスポート層確認応答パケット」と、「拡張トランスポート層制御パケット」とに言及する。これらのパケットは、元のトランスポート層プロトコルに対応するものであるが、それとは異なる。例えば、TCPデータパケットおよび拡張トランスポート層データパケットは、いずれもデータを搬送するが、TCPデータパケットはTCPエンドポイント110に由来し、またはそこへ配信されるものであり、一方では、拡張トランスポート層データパケットは、トランスポート層プロキシピア150の間で伝達される。
一部の実施形態において、拡張トランスポート層パケットは、元のトランスポート層プロトコルパケットにトレーラフィールドを追加することによって形成される。例えば、TCPデータパケットは、「拡張トランスポート層データ」の「プロトコルタイプ」フィールドを付加することによって拡張トランスポート層データパケットに変換され、一方では、TCP制御パケットは、「拡張トランスポート層制御パケット」の「プロトコルタイプ」フィールドを付加することによって拡張トランスポート層制御パケットに変換される。これは、カプセル化の一形態とみなされ得るが、しかし、エンドポイントに対して透過的であるという利点を有する。一部の場合において、拡張トランスポート層パケットは、カプセル化することなく、単独で伝達される。これらの場合において、IPヘッダ中のプロトコルタイプ(Protocol Type)フィールドは、拡張トランスポート層プロトコルの存在を示す特殊な値に設定され得る。すなわち、拡張トランスポート層プロトコル170は、IPまたはネットワーク層によって、TCPまたはUDPのようなプロトコルタイプとして見なされる。
図1に示されていないが、一対のエンドポイント110は、ピア間に複数の接続を含み得、これらの接続のそれぞれは、改善されたネットワークデバイス150Lおよび150Rを通過する。この場合、ネットワークデバイス150は、接続ごとに、ネットワークデバイス150の間の接続の区間に対して、拡張トランスポート層プロトコル165を使用するか元のトランスポート層プロトコル120を使用するかを決定する。一部の実施形態において、ユーザ(例えば、システム管理者)は、どの接続がどのトランスポート層プロトコルを使用するかを決定し、それに従ってネットワークデバイス150を構成する。
いくつかの構成例は、特定のエンドポイント110からのすべての接続が拡張トランスポート層プロトコル165を使用する;特定のエンドポイント110からの接続がいずれも拡張トランスポート層プロトコル165を使用しない;ヘッダフィールドの特定の組み合わせによって識別された特定のエンドポイント110からのそれらの接続が、拡張トランスポート層プロトコル165を使用する;ヘッダフィールドの特定の組み合わせによって識別されない特定のエンドポイント110からのそれらの接続が、拡張トランスポート層プロトコル165を使用しない;というものである。当業者は、これらは単なる例示に過ぎず、どの接続が拡張トランスポート層プロトコル165を使用するかを判断するための、その他の技術がまた可能であることを、認識するはずである。
図2は、図1のトランスポートプロトコル160の性能を改善するためのロジックの、選択された構成要素を図示するブロック図である。トランスポート層プロキシ210は、ローカルACK、フロー制御、および接続管理のような特徴を用いて、TCP接続を改善または促進するために、トランスポート層プロトコルエンドポイント110Sおよびピアネットワークデバイス150Pと相互に作用する。これらの特徴の一部が、同一人に譲渡され同時係属中の特許出願第820123−1010号に記載されている。マルチパストラフィックディストリビュータ220が、パケットを、ピアネットワークデバイス150Pに配信し、ローカルネットワークデバイス150によって提供される複数のパス230A〜230C上のリソースを集約する。バッファ240が、ローカルトランスポート層プロキシ210が(近端)TCPエンドポイント110Nから受信するデータの、送信に使用される。このデータは、最終的に(遠端)TCPエンドポイント110Fへ配信するために、ピアネットワークデバイス150P内のピアトランスポート層プロキシ(図示せず)へ送信される。バッファ250が、トランスポート層プロキシ210がピアトランスポート層プロキシから受信する、エンドポイント110Fから発するデータの、送信に使用される。このデータは(近端)TCPエンドポイント110N上に送信される。トランスポートプロトコル160の性能を改善するためのロジックの一部の実施形態は、バッファ240および250の状態についての情報がトランスポート層プロキシ210とマルチパストラフィックディストリビュータ220との間で共有され、このバッファ情報がフロー制御および輻輳制御に影響を及ぼすために使用されるという、発明的特徴を含む。この特徴が、以下でさらに詳細に説明される。
図3A〜図3Cは、ネットワークデバイス150の様々な実施形態のブロック図である。上述のように、トランスポート層プロキシ210は、(近端)TCPエンドポイント110N(図示せず)との相互作用に集中し、一方で、マルチパストラフィックディストリビュータ220は、遠方のネットワーク130に配置されているピアネットワークデバイス150とインタフェースをとる。これらの実施形態のそれぞれにおいて、マルチパストラフィックディストリビュータ220は、トランスポート層プロキシ210とインタフェースをとるコアエンジン310と、送信パス230とインタフェースをとる複数のパスエンジン320とにパーティション分割される。コアエンジン310は各最適化されたTCP接続325を1つ以上のデータフロー330に多重化し、これらのフローデータフロー330をパスエンジン320に分配する。各パスエンジン320は、特定のパス230に関連付けられたパイプ340を保持し、ここで、パイプ340はパス230の特性および状態情報を格納するために使用されるデータ構造である。
図3Aの実施形態は、単一の遠端物理的パス230をサポートする(遠端とは、近端TCPエンドポイント110Nから離れた端である)。典型的には、遠端パスはワイドエリアネットワーク(WAN)リンクであるが、当業者は、同じ原理がローカルエリアネットワーク(LAN)リンクに適用され得ることを理解するはずである。
これらの構成要素によるパケット処理の概要が以下に説明され、パケット処理の詳細は図4および図5に関連して後に記載される。パケットが受信されると、ネットワークデバイス150は、まず、パケットが最適化されたTCP接続325に属しているかどうかを判断する。このパケットが最適化接続325上にある場合には、トランスポート層プロキシ210は、パケットが属する特定のTCP接続325を識別し、パケットがシーケンスで並んでいるかどうかを判断する。シーケンスで並んでいる場合には、トランスポート層プロキシ210はパケットをコアエンジン310に受け渡す。コアエンジン310は、パケットをバッファし、送信パス230への送信のために、パスエンジン320の1つに受け渡す。
図3Aの実施形態は、単一の物理的送信パス230のみを含むために、すべてのパスエンジン320は(パイプ340を経由して)同じ単一の送信パス230に送出する。しかしながら、各パイプ340に沿った送信レートは、パイプデータ構造で保持されている、輻輳制御の現在の状態に依存する。各パスエンジン320はまた、送信パス230からの確認応答の受信を処理し、その各仮想パス上のレート制御を実行する。単一の物理的リンク上における複数のパイプ使用の一つの利点は、輻輳制御に関するものである。複数のパイプなしで、輻輳が発生するときには、単一のリンク上の送信者データレートは、例えば、50%減少する。しかしながら、同じデータが10個のパイプの間に分散され、損失がパイプの間に無作為に分配されるときには、各パイプ上の送信者データレートは、例えば、50/10=5%だけ減少する。
図3Bの実施形態は、複数の送信パス230をサポートする。TCP接続350および非TCP接続345に到達するデータパケットは、まず、トリガマネージャによって分類および処理され(図9および図10を参照)、次に、トランスポート層プロキシ210によって、さらに次に、コアエンジン310によって分類および処理される。かくして、一部のTCP接続がトランスポート層プロキシ210によって最適化されていなくても、コアエンジン310はすべてのパケット、つまり、最適化されたTCP接続325、ならびに、最適化されていないTCP接続、および接続345のような非TCP接続を処理する。かくして、この実施形態は、すべてのタイプのパケットにおいてパスレベルの最適化を実行することができる。
受信されたパケットが最適化接続上にある場合には、トランスポート層プロキシ210はパケットを処理し、受信されたパケットが最適化接続上にない場合には、パケットはトランスポート層プロキシ210をバイパスして、コアエンジン310によって直接処
理される。トランスポート層プロキシ210はパケットが属する特定のTCP接続325を識別し、パケットがシーケンスで並んでいるかどうかを判断する。シーケンスで並んでいる場合には、トランスポート層プロキシ210は、パケットをコアエンジン310に受け渡す。
理される。トランスポート層プロキシ210はパケットが属する特定のTCP接続325を識別し、パケットがシーケンスで並んでいるかどうかを判断する。シーケンスで並んでいる場合には、トランスポート層プロキシ210は、パケットをコアエンジン310に受け渡す。
コアエンジン310は、パスエンジン320と協力して行われるスケジューリングの決定に基づいて、各パケットをデータフロー330の1つに割り当てる。各パスエンジン320は送信パス230に送出し、2つ以上のパスエンジン320が同じ送信パス230に送出することが可能である。各送信パス230に沿った輻輳制御が、関連付けられた送信者のパスエンジン320によって実行され、これは、次に、対応するピア受信側のパスエンジン(図示せず)から受信される確認応答によってアシストされる。複数のパイプ340が、送信のために各送信パス230によって集められ、逆多重化される。
図3Cの実施形態は、複数の送信パス230と、サービス品質(QoS)とをサポートする。QoSマネージャ360は、異なるフローの間で使用可能なリソースを調停し、コアエンジン310とインタフェースを取る。フローまたはトラフィッククラスに対してQoSを適用するために、QoSマネージャ360によって使用されるプライマリ「制御ノブ」は、使用されるデータフロー330の数である。つまり、QoSマネージャ360は、任意の時点において使用されるデータフロー330の数を、規定されたQoSルールに収束するように、動的に適合させることによって動作する。
図3Aおよび図3Bの実施形態と同様に、TCP接続350および非TCP接続345に到達するデータパケットは、まず、トリガマネージャによって分類および処理され(図9および図10を参照)、次に、トランスポート層プロキシ210によって、さらに次に、コアエンジン310によって分類および処理される。しかしながら、図3Cの実施形態においては、QoSマネージャ360は、コアエンジン310と協力して動作し、異なるQoSクラスに属する、個々のTCP接続350によって実現されるサービスに応じて、動的に、作成されるデータフロー330の数を判断する。各パスエンジン320は、各送信パス230に沿って輻輳制御を実行する一方で、その関連する送信パス230によって実現される帯域幅をまた保持する。QoSマネージャ360およびコアエンジン310を含む制御ループを実装することによって、各パスエンジン320は、そのフローの定常状態のリソース割り当てに到達することができる。送信パス230からの確認応答の到達がまた、関連するパスエンジン320に対して、受信者によるデータパケットの正常な受信を示し、信頼性処理をトリガするために使用される(以下で説明される)。
図4は、トランスポートプロトコル160の性能を改善するためのロジックの、選択された構成要素をさらに詳細に示す、ブロック図である。パケット分類子410は、トランスポート層パケットを、DATA、ACKおよびその他の制御パケットに分類し、受信されパケットの性質に従って適切な処置を行う。トランスポート層プロキシ210内の接続マネージャ415、およびコアエンジン310内の接続マネージャ417は、接続に関連付けられた受信パケットに基づいて、接続状態を作成、保持および削除する。確認応答ジェネレータ/ターミネータ420は、TCP送信者エンドポイント110へ確認応答を送信し、TCP受信者エンドポイント110から確認応答を得る。プロキシフローコントローラ425は、マルチパストラフィックディストリビュータ220からの入力に基づいてTCP送信者エンドポイント110上でフロー制御を実行する。信頼性マネージャ430は、受信デバイス150と遠端TCP受信者エンドポイント110Fとの間の損失検出および回復を実行する。トリガマネージャ440は、トランスポート層プロキシ210によって最適化されるこれらの接続、およびマルチパストラフィックディストリビュータ220によって分配されるこれらの接続を規定するために、インタフェースを提供する。このようにして、ネットワークデバイス150は、一部のTCP接続に影響するように、かつその他の接続には影響しないように構成され得る。
パスコントローラ435は、そのパスの特性、および輻輳および信頼性メカニズムからの情報に基づいて、任意の所定のパスの未処理のパケットの数を判断する。パスモニタ450は、パスの帯域幅、損失および遅延(例えば、平均および分散)を計算する。一部の実施形態において、これらの2つの機能は、パスエンジン320にパッケージング(図3)され、その他の機能はコアエンジン310にパッケージング(図3)される。ピア検出装置460は、構成されたピアデバイス150がアクティブであるかどうか、およびピアがオーバーレイパスのリフレクタとして使用可能であるかどうかを検出する。バッファマネージャ455は、送信バッファおよび受信バッファ(図2の240および250)を提供する。ディストリビュータフローコントローラ465は、バッファマネージャ455からの入力に基づいて、送信パス230上でフロー制御を実行する。バッファマネージャ455からの情報はまた、プロキシフローコントローラ425を制御する。送信スケジューラ470は、パス230に沿って、送信バッファ240およびその他の内部バッファからのパケットを送信する。一部の実施形態において、この送信機能はパスストライピングを含む。このストライピング機能についてのさらなる詳細、およびパスコントローラ435およびパスモニタ450のその他の機能は、2005年2月22日出願の、同一人に譲渡され同時係属中の特許出願第11/063,284号(「Systems and Methods for Parallel Communication」)に記載されている。
図5は、トランスポートプロトコル160の性能を改善するためのロジックの、様々な構成要素の間の相互作用を示すデータフロー図である。トリガマネージャ440は、受信パケットの事前分類を実行し、様々なその他の構成要素とインタフェースをとる。トリガマネージャ440は、特定の設定トリガと一致するパケットの到達時に、新しい接続の作成(505)を接続マネージャ415に示す。トリガマネージャ440はまた、トリガ内で作成された任意の新しいQoSクラスの作成(510)を、QoSマネージャ360に伝達する。パケット分類に際して、トリガマネージャ440は、信頼性マネージャ530および輻輳コントローラ535に対して、それぞれ、データの確認応答(515)および輻輳制御メッセージ(520)の到達を示す。トリガマネージャからの新しい接続メッセージを受信すると、接続マネージャ415は、新しい接続状態を作成し、さらに、バッファ状態(540)を作成するためにバッファマネージャ455を呼び出す。このバッファ状態は、接続マネージャ415が接続を終了し、状態を削除するまで保持される。接続マネージャ415は、上述したように、TCP接続、およびパスオプティマイザ接続の両方の作成、保持、および終了を管理することに留意されたい。近端送信ネットワークデバイス150において、バッファマネージャ455は、バッファ占有率をモニタし、かつプロキシフローコントローラ425とインタフェースをとり、プロキシフローコントローラ425に、バッファ占有率が特定の高い閾値を超えているかどうか、またはいつそれが低い閾値よりも低くなるかを示すことによって(545)、近端TCP送信者エンドポイント110N上でレート制御を実行する。遠端受信ネットワークデバイス150において、バッファマネージャ455は、送信側のトランスポート層プロキシ210のレートを制御するために、ディストリビュータフローコントローラ465と協調する。QoSマネージャ360は、必要なサービス割り当てを実現するために使用されるデータパスの数を含むQoSクラスを構成するために(550)、輻輳コントローラ535とインタフェースをとる。この数は、動的に増減され得る。輻輳コントローラ535は、各サービスクラスで実現されるサービス割り当てを制御するために(555)、QoSマネージャ360とインタフェースをとる。輻輳コントローラ535はまた、トリガマネージャ440から輻輳制御メッセージ(520)を通じて受信された最大ウィンドウを、プロキシフローコントローラ425に示す(560)。
図6は、トランスポートプロトコル160の性能を改善するための、ロジックによってバッファを管理する方法を示すデータフロー図である。送信側のトランスポート層プロキシ210Sは、近端TCP送信者エンドポイント110Nから第1の区間175上で受信されたアウトオブオーダー(out−of−order)・パケットを格納するための、接続専用の送信バッファ610を保持する。送信側のトランスポート層プロキシ210Sは、次に、シーケンスで並んだパケット(620)を、送信側のマルチパストラフィックディストリビュータ220Sに受け渡し、それは、パケットをその非結合バッファ630に格納する。非結合バッファ630は、中間区間180上の任意の特定のパスに割り当てられていない、それ故に送信されていないパケットを含む。
送信側のマルチパストラフィックディストリビュータ220Sは、そのスケジューリングアルゴリズムを使用して、非結合バッファ内のパケットが送信される時期、および同パケットが送信されるパスを判断する。送信側のマルチパストラフィックディストリビュータ220Sがこのスケジューリングの決定を行うと、それは、非結合バッファ630から結合バッファ640へ特定のパケットを送信する。結合バッファ640のパケットは、受信側のマルチパストラフィックディストリビュータ220Rにおける正常受信を伝達する確認応答が到達すると、削除される(650)。一部の実施形態において、送信側のマルチパストラフィックディストリビュータ220Sはまた、中間区間180上の異なるパスに割り当てられるパケットの、パケットシーケンス番号を含む仮想バッファ(図示せず)を保持する。これらの仮想バッファは、中間区間180における輻輳制御および信頼できる配信の実行に役立つ。
受信側のマルチパストラフィックディストリビュータ220Rは、送信側のマルチパストラフィックディストリビュータ220Sから受信されたインオーダー(in−order)・パケット(660)を、受信側のトランスポート層プロキシ210Rに受け渡す。受信側のマルチパストラフィックディストリビュータ220Rは、シーケンスに並んでないパケットをアウトオブオーダー・受信バッファ670内に格納し、それは、遠端TCP受信者エンドポイント110Fへのデータのインオーダー配信を確実にする。インオーダー・パケットを受信すると、マルチパストラフィックディストリビュータ220Rは、トランスポート層プロキシ210Rへ受け渡し可能なさらなるパケット(680)がないか、アウトオブオーダー・バッファ670をチェックする。これらのパケットは、対応するTCP接続がアクティブである限り、受け渡しが行われる。
受信側のトランスポート層プロキシ210Rは、接続専用の受信バッファ690に、マルチパストラフィックディストリビュータ220Rから受信したパケットを格納する。受信側のトランスポート層プロキシ210Rは、最終区間の輻輳制御およびフロー制御(以下に記載される)と協力して行われるスケジューリング決定に基づいて、最終区間185上で遠端TCP受信者エンドポイント110Fへ向けて、これらのパケットを送信する。
図7は、システム100の一実施形態の輻輳制御を示すデータフロー図である。3つの区間の輻輳制御は3つの異なるエンティティによって実行される。第1の区間175上の輻輳制御は、近端TCP送信者エンドポイント110Nによって処理される。中間区間180上の輻輳制御は、送信側のマルチパストラフィックディストリビュータ220Sによって実行され、最終区間185上の輻輳制御は、受信側のトランスポート層プロキシ210Rによって実行される。
システム100の一部の実施形態の発明的特徴は、送信側のトランスポート層プロキシ210Sが、近端TCP送信者エンドポイント110Nに中間区間ループ輻輳制御情報を返信することに関して、間接的に関与するということである。この返信は、2つの輻輳制御ループ(第1の区間ループおよび中間区間ループ)のバランスを取り、定常状態の送信レートに到達するうえで役立つ。送信側のトランスポート層プロキシ210Sは、TCPウィンドウメッセージ710を使用して、近端TCP送信者エンドポイント110Nへ中間区間の輻輳情報を伝達する。送信側のトランスポート層プロキシ210Sによるこの中間区間輻輳制御情報の送信は、送信側のデバイス150Sの送信バッファ240が閾値に到達する(720)と、トリガされる。
同様に、受信側のマルチパストラフィックディストリビュータ220Rは、中間区間および最終区間の輻輳制御ループを安定化させるために、送信側のマルチパストラフィックディストリビュータ220Sへと最終区間185の輻輳制御情報(730)を返信する。一部の実施形態において、この輻輳制御情報は、最終区間185をまたぐマルチパスディストリビュータ(220S、220R)の間の、独自のフロー制御メッセージの中で伝達される。中間区間の輻輳制御の場合と同様に、受信側のデバイス150Rの受信バッファ250が閾値に到達する(740)と、受信側のマルチパストラフィックディストリビュータ220Rによるこの最終区間の輻輳制御情報の送信が、トリガされる。
図8は、システム100の一実施形態における、フロー制御を示すデータフロー図である。エンドツーエンド通信パスの3つの区間は、それぞれ制御ループを形成する送信者および受信者の3つの異なるペアによって特徴付けられる。これらの制御ループが次に説明される。
第1の区間175において、近端TCP送信者エンドポイント110Nは送信エンティティであり、送信側のトランスポート層プロキシ210Sは受信エンティティである。第1の区間175の受信者バッファ250は、送信側のマルチパストラフィックディストリビュータ220Sによるデータの送信(820)によってドレインされる(810)。これは、次に、上述したように中間区間180上の輻輳制御によって駆動される。このため、第1の区間175上のフロー制御は、送信側のデバイス150S上の受信バッファ250の占有率(840)に基づいて、送信側のトランスポート層プロキシ210Sによって、TCPウィンドウメッセージ(830)を使用して達成される。
中間区間180は、送信側および受信側のマルチパストラフィックディストリビュータ220Sおよび220Sにまたがっており、この受信バッファは、受信側のトランスポート層プロキシ210Rによる最終区間185上のパケットの送信(860)によってドレインされる(850)。受信側のマルチパストラフィックディストリビュータ220Rは、受信側のマルチパストラフィックディストリビュータ220Sへバッファ状態情報を伝達する(870)ことによって、中間区間180のフロー制御を処理する。
最後に、最終区間185は、送信者として受信側のトランスポート層プロキシ210Rを有し、受信エンティティとして遠端TCP受信者エンドポイント110Fを有する。TCP受信者エンドポイント110Fは、受信側のトランスポート層プロキシ210Rへ受信者バッファウィンドウを通知し(880)、受信側のトランスポート層プロキシ210Rによって、最終区間185上のパケット送信レートを制御する。
図9は、システム100の一実施形態における信頼性(QoS)処理を示すデータフロー図である。信頼性のあるパケット配信を実現するための責任は、3つの異なる論理的エンティティの間で共有される。第1の区間175上の信頼性は、近端TCP送信者エンドポイント110Nによって、中間区間180上の信頼性は、送信側および受信側のマルチパストラフィックディストリビュータ(220Sおよび220R)によって、および最終区間185上の信頼性は、トランスポート層プロキシ210によって処理される。
近端TCP送信者エンドポイント110Nは、データを送信側のトランスポート層プロキシ210Sへ送信する(910)。このデータに応答して、送信側のトランスポート層プロキシ210Sによって近端TCP送信者エンドポイント110Nへ送信されるDUPACKおよびSACK(920)は、第1の区間175上の信頼性を提供する。TCP送信者エンドポイント110Nは、送信側のトランスポート層プロキシ210Sへ損失パケットを再送信する(930)。トランスポート層プロキシ210Sは、次に、送信側のマルチパストラフィックディストリビュータ220Sへ、TCP送信者110Nからシーケンスに並んで到達するパケットを送信する。マルチパストラフィックディストリビュータ220Sは、次に、これらのパケットを中間区間180上に送信する。
送信側および受信側のマルチパストラフィックディストリビュータ220は、受信側のマルチパストラフィックディストリビュータ220Rから送信側のマルチパストラフィックディストリビュータ220Sへ送信されるSACKメッセージ(940)を使用して、中間区間180上のパケットの信頼できる配信を実現する責任を有する。(一部の実施形態において、これらのSACKメッセージはマルチレベルである。)送信側のマルチパストラフィックディストリビュータ220Sは、確認応答メッセージ940によって示される損失に応答して、結合バッファ640から受信側のマルチパストラフィックディストリビュータ220Rへパケットを再送信する(950)。
一部の実施形態において、マルチパストラフィックディストリビュータ220は、選択的な信頼性機能を含み、それは、トリガフィールドに一致する接続パケットのみに対して信頼性を提供するように、トリガが規定されるようにする。パス最適化に分類されるが、しかし信頼できる配信には分類されないその他のパケットが、結合バッファ640にコピーを格納することなく、非結合バッファ630から中間区間180に直接送信される。
受信側のマルチパストラフィックディストリビュータ220Rは、遠端TCP受信者エンドポイント110Fへ、信頼できるパケット配信を実行する。マルチパストラフィックディストリビュータ220Rは、TCP受信者エンドポイント110Fから受信されたUPACKおよびSACKパケット(960)を認識し、失われたパケットを適切に再送信(970)し、信頼性を達成する。
拡張トランスポート層プロトコル165のいくつかの特徴が、以下で説明される。透過性のトランスポート層プロキシの実施形態において、ネットワークデバイス150は、TCPエンドポイントから受信されるパケットに追加されるトレーラの追加および処理に基づいて、それらの動作を実行する。したがって、2つのネットワークデバイス150間を流れるパケットは、元の通信エンドポイントによって送信されたパケットと同様である。現存するネットワーク構成要素は、パケットを識別および処理するためにヘッダを使用するために、本発明の特徴は(上述したブリッジ機能性とともに)、拡張トランスポート層プロトコル165がその他のネットワーク構成要素に対して透過性を有することを可能にする。
トランスポートプロトコル160の性能を改善するためのロジックの動作全般について説明してきたが、ここで、いくつかの構成要素の特徴が、さらに詳細に説明される。トランスポート層プロキシ210および/またはマルチパストラフィックディストリビュータ220の両方は、異なる粒度(granularity)で接続の状態を保持する。一部の実施形態において、トランスポート層プロキシ210は、送信元および送信先のIPアドレスおよび送信元および送信先のポートから成る、一意的な4タプルとしてTCP接続を識別する。パケットが第1の区間175上で近端TCP送信者エンドポイント110Nから到達すると、送信側のトランスポート層プロキシ210Sは、パケットの上記の4タプルをハッシュし、これが属する接続を識別する。接続状態は、近端TCP送信者エンドポイント110Nまたは遠端TCP受信者エンドポイント110FからのTCP SYN−ACKパケットの到達をうけて、トランスポート層プロキシ210によって作成および保持される。
パスオプティマイザは、ユーザ構成トリガとのパケット一致に基づいて接続を保持する。トリガは、5タプル、つまり、送信元IPアドレス、送信先IPアドレス、送信元ポート、送信先ポート、およびプロトコルの任意の組み合わせであり得る。OUTBOUND区間の両側のパスオプティマイザは、トリガに基づく接続にパケットを分類し、接続ごとに上記のバッファを保持する。このために、TCPオプティマイザおよびパスオプティマイザ構成要素によって保持される接続は、パケットの同じセットの到達によって判断されるものの、パケット内の異なるフィールドに基づくものであることがわかる。
トリガマネージャ440は、トランスポート層プロキシ210および/またはマルチパストラフィックディストリビュータ220によって最適化されるように、接続を選択する統一メカニズムを提供する。トリガマネージャ440は、トランスポート層プロキシ210および/またはマルチパストラフィックディストリビュータ220の間の制御面において動作するが、それは、パケット分類がこれらの2つの構成要素によって最適化されるように、入力および分類子の異なるセットを取り得る。トリガマネージャ440はまた、各パケットが属する接続を判断することに対して責任を有する。この判断は、接続の作成、管理、および終了のためにパケットのフィールドの固定セットをチェックする接続マネージャ415と協力して行われる。
QoSマネージャ360は、異なる接続が受信する効率的なサービスを制御する。図4および図5に関連して上述されたトリガはまた、最小の帯域幅、優先度、および重みを有するように構成される。利用可能な帯域幅が最小帯域幅の合計よりも大きい場合には、帯域幅は重みの割合で共有される。QoSマネージャ360は、マルチパストラフィックディストリビュータ220と協力して動作し、異なるフローの間のサービスの差別化を実現する。QoSマネージャ360によって達成されるサービスの差別化の2つのタイプは、相対的なサービスの差別化と絶対的なサービスの差別化とである。
相対的なサービスの差別化において、トリガの重みは「w」であり、各エンドツーエンドパスのトリガのために「w」パイプが作成される。同じパスを通過する「w」パイプのすべてのパラメータは、パイプ番号以外は同じである。このようにして、各パス帯域幅は、各トリガが得る仮想パイプの数の比率で共有される。
絶対的なサービスの差別化において、利用可能な帯域幅が最小帯域幅の合計未満である場合には、絶対的な帯域幅差別化は、自動的にキックイン(kick in)する。最高の優先度を持つトリガがチェックされ、その構成された「min_bw」が利用可能であるかどうかを判断する。この最小帯域幅が利用可能である場合には、最小帯域幅に達していない、最大の優先度を持つトリガ(tmax)を優先的に見つけるために、トリガが処理される。次に、ゼロでない帯域幅を有する優先度の最も低いトリガ(tmin)を見つけるために、トリガが処理される。このとき、トリガtmaxの重みが1だけ増加され、トリガtminの重みが1だけ減少され、この手順が続けられる。
一部の実施形態において、トランスポート層プロキシ210、マルチパストラフィックディストリビュータ220、またはその両方に、性能モニタリングが実装される。トランスポート層プロキシ210のモニタは、TCP最適化のために構成されるトリガに基づいて作成および保持される、これらのTCPセッションによって生じる性能特性(例えば、スループット、損失および遅延)を追跡する。このモニタリングは、以下のような異なるフィルタ粒度、すなわち、事前構成されたフィルタ、静的フィルタ、動的フィルタ、および強力モニタリングフィルタ、で実行され得る。
トランスポートプロトコル160の性能を改善するためのロジックの動作全般について説明してきたが、ここで、このプロトコルのいくつかの特徴がさらに詳細に説明される。当業者は、これらの特徴は概して互いに独立しており、その結果として、拡張トランスポート層プロトコル165の特定の実施形態は、これらの特徴の一部の組み合わせを含み得ることを理解するはずである。拡張トランスポート層プロトコル165は、TCPとは異なり、その他のアプリケーションおよびサービスとメモリを共有することを要求されない。デバイスのメモリ全体が、アクティブな接続のパケットのバッファリングのために専用され得る。さらに、この大きいバッファは、接続のためのいかなる固定割り当てをも含まずに、複数のアクティブなエンドツーエンド接続の間で柔軟に共有される。ネットワーク内の最大未処理パケットに課される制限による、大きな帯域幅遅延結果を有するネットワークにおいて、TCP性能は制約を受ける。拡張トランスポート層プロトコルは、小型ウィンドウの制限事項を排除し、アクティブな接続のパケットをバッファするためのシステムに利用可能なメモリ全体の完全な共有を達成することによって、大きな帯域幅遅延結果を有するネットワークにおけるエンドツーエンド接続の性能を改善する。
上述のように、パケットは、処理のために様々な構成要素間で受け渡しされる。一部の実施形態において、メモリ使用の効率を増大させるゼロコピー技術が使用される。ゼロコピーパケット処理は、パケットにアクセスする構成要素の数を追跡するために、内部パケット表現の中の数参照(NumReferences)フィールドを使用する。構成要素がパケットを処理するときはいつでも、それは数参照フィールドを増加させる。構成要素が処理を終了するときには、それはnum_references値を減少させる。これによって、構成要素間でパケットを渡すときのコピーの必要性が回避される。
上述のように、送信側のマルチパストラフィックディストリビュータ220Sにおける確認応答の到達が、結合バッファ640からパケットの削除をもたらす。確認応答パケットは複数のパケットの正常受信を示すことができるので、これは、大量のパケット数のためのメモリをただちに空の状態にすることができ、この割り当て解除は、システム上でのドレインとなり得る。これを避けるために、トランスポートプロトコル160の性能を改善するためのロジックの一部の実施形態は、レイジーな(lazy)メモリ割り当て解除メカニズムを含む。このメカニズムは、確認応答の到達時に空になるパケットのシーケンス番号を格納し、次に、大量のメモリの割り当て解除を一時に行うのではなく、以降のパケット送信サイクルの間に、パケットメモリの実際の割り当て解除を拡大する。
トランスポート層プロキシ210とマルチパストラフィックディストリビュータ220との統合は、最終区間185上を移動するパケットの中で伝達される情報量を増加させる。これは、次いでは、各パケットの中で伝達され得るエンドユーザデータの量を減少させる。従来のソリューションは、元のパケットへ拡張トランスポートプロトコルヘッダを追加し、次に、従来のフラグメンテーションおよび再構成メカニズムを介して、中間区間180内のIP層に増加したセグメントサイズを引き受けさせる。インライン速度でのIPパケットのフラグメント化および再アセンブリに関するオーバーヘッドを考慮すれば、この従来のアプローチは非効率的である。本明細書で開示される方法およびシステムは、中間区間180上でサポートされるMTUを示す送信者へのICMPメッセージの返信を含み、この値は、中間区間180上の移動のためにパケットに追加される拡張トランスポートプロトコルのサイズだけ減少された、実際のMTUである。このICMPメッセージは、送信者に最適セグメントサイズを知らせ、中間区間180上のフラグメンテーションおよび再アセンブリのオーバーヘッドを減少させる。
一部の実施形態はまた、ピアおよびこれらのピアによってサポートされる機能を識別することに役立つ、自動検出機能を含む。一部の実施形態は、特定の選択された機能の有効化をサポートし、この場合には、ピアネットワークデバイス150は、どの機能が他のピアで有効化されるかを判断する。この機能判断は、任意の未知のホストへの制御メッセージ(「Are you there?」)の送信を含む。ホストへのパスに沿ってネットワークデバイス150が存在する場合には、ネットワークデバイス150は、ネットワークデバイス150の存在、さらに、そこにおいて有効化されている機能を示す、別の制御メッセージ(「I am here」)を用いて応答する。
一部の実施形態は、ネットワークアドレス変換(NAT)デバイスを通過するためのメカニズムとして、ハートビートを使用する。従来のNAT通過は、NATデバイスの後ろに配置されているピアの間の通信を調整する、セントラルサーバを使用する。本明細書で開示されるシステムおよび方法は、ネットワークデバイス150に、プライベートネットワーク内からのハートビートを送信させることによって、NAT通過を達成する。これらのハートビートは、NATデバイス内に「穴」を開け、その結果として、ピアネットワークデバイス150からの以降のハートビートメッセージ(およびプロトコルパケット)が、状態作成の結果として配信され得る。
図10は、本明細書において開示されるトランスポート層プロトコルの性能を改善するための、本システムおよび方法の一実施形態に従った、ネットワークデバイス150のハードウェアブロック図である。ネットワークデバイス150は、プロセッサ1010、ローカルネットワークインタフェース1020、リモートローカルインタフェース1030、メモリ1040、および非揮発性ストレージ1050を含む、データ通信の当該分野では周知の多数の構成要素を含む。不揮発性ストレージの例は、例えば、ハードディスク、フラッシュRAM、フラッシュROM、EEPROM、などを含む。これらの構成要素は、バス1160を介して連結される。メモリ1140は、図1のトランスポートプロトコル160の性能を改善するためのロジックを含む。
ネットワークデバイス150は、2つのネットワークインタフェースとともに示されている。ローカルネットワークインタフェース1020はエンドポイント110と通信し、リモートローカルインタフェース1030はネットワークデバイス150と通信する。当業者は、ネットワークインタフェースが、異なるタイプのものであり、異なる媒体および速度に対応し得ることを理解するはずである。当業者には公知の、ネットワークデバイス150の動作について説明するために必ずしも必要でない多数の従来の構成要素が、図10から省略されている。
フローチャート内の任意のプロセス記述またはブロックは、当該プロセスにおける特定の論理的機能またはステップを実装するための、1つ以上の実行可能命令を含むモジュール、セグメント、またはコードの部分を表すものとして理解されるべきである。ソフトウェア開発分野の当業者によって理解されるように、代替的実装がまた、本開示の範囲内に含まれる。これらの代替的実装において、機能は、含まれる機能性に応じて、実質的に同時または逆の順序を含む、図示または考察されているものとは異なる順序で実行され得る。
本明細書において開示されるシステムおよび方法は、命令実行システム、装置、もしくはデバイスによって使用するための、またはそれらと接続して使用するための任意のコンピュータ可読媒体において具現化され得る。そのような命令実行システムは、任意のコンピュータベースのシステム、プロセッサ包含システム、または、命令実行システムからの命令をフェッチおよび実行し得るその他のシステムを含む。本開示の文脈において、「コンピュータ可読媒体」は、命令実行システムによって使用するための、またはそれと接続して使用するためのプログラムを包含、格納、通信、伝搬、または運搬し得る任意の手段であり得る。コンピュータ可読媒体は、これらに限定するものではないが、例えば、電子、磁気、光学、電磁気、赤外線、または半導体技術に基づくシステムまたは伝搬媒体であり得る。
電子技術を使用するコンピュータ可読媒体の具体例は、(これらに限定するものではないが)1本以上のワイヤを有する電気的接続(電子)、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能リードオンリメモリ(EPROMまたはフラッシュメモリ)を含み得る。磁気技術を使用する具体例は、(これに限定するものではないが)ポータブルコンピュータディスケットを含む。光学技術を使用する具体例は、(これらに限定するものではないが)光ファイバおよびポータブルコンパクトディスクリードオンリメモリ(CD−ROM)を含む。
前述の記述は、図示および説明を目的として提示されたものである。それは、網羅的であることも、開示されている厳密な形態に本開示を限定することも意図していない。上記の教示に鑑みて、明らかな修正形態または変形形態が可能である。しかしながら、考察された実装は、本開示の原理およびその実践的応用を説明し、それによって当業者が、種々の実装において、および意図される特定の使用に適した種々の修正形態とともに、本開示を利用することを可能にするように、選択および説明されたものである。すべてのそのような修正形態および変形形態は、添付の請求項が公正かつ合法的に権利を与えられた範囲にしたがって解釈されるときの、特許請求の範囲によって決定される本開示の範囲内に含まれる。
Claims (20)
- トランスポート層プロキシと、
該トランスポート層プロキシに連結された、マルチパストラフィックディストリビュータと、
を備える、ネットワークデバイスであって、
該トランスポート層プロキシは、
トランスポート層接続にそれぞれ関連付けられたパケットを、トランスポート層エンドポイントから受信し、
かつ、該受信されたパケットの少なくとも一部を、該マルチパストラフィックディストリビュータへ配信するように構成され、
該マルチパストラフィックディストリビュータは、
該配信されたパケットのそれぞれを、複数のデータフローの1つに割り当て、
かつ、該割り当てられたデータフローに関連付けられた送信パス上で、該配信されたパケットのそれぞれを送信するように構成される、
ネットワークデバイス。 - 前記送信パスは、複数の送信パスの1つである、請求項1に記載のネットワークデバイス。
- 前記送信パスは、前記データフローのすべてに関連付けられた単一の送信パスである、請求項1に記載のネットワークデバイス。
- 前記受信されたパケットに対応するトランスポート層接続上で使用されるトラフィックのクラスによって規定されるサービス品質を達成するために、前記複数のデータフロー内のデータフローの数を設定するように構成されたサービス品質(QoS)マネージャをさらに備える、請求項1に記載のネットワークデバイス。
- 前記QoSマネージャは、相対的なサービスの差別化を図るために、データフローの前記数を設定するようにさらに構成される、請求項4に記載のネットワークデバイス。
- 前記QoSマネージャは、絶対的なサービスの差別化を図るために、データフローの前記数を設定するようにさらに構成される、請求項4に記載のネットワークデバイス。
- 前記送信パスは、複数の送信パスの1つである、請求項1に記載のネットワークデバイスであって、
所望のサービス品質に基づいて、該複数の送信パスのそれぞれと関連付けられた多数のデータフローを制御するように構成された、サービス品質(QoS)マネージャをさらに備える、ネットワークデバイス。 - トランスポート層プロキシと、
該トランスポート層プロキシに連結された、マルチパストラフィックディストリビュータと、
を備える、ネットワークデバイスであって、
該トランスポート層プロキシは、
トランスポート層接続にそれぞれ関連付けられたパケットを、トランスポート層エンドポイントから受信し、
該受信されたパケットを、対応する接続に関連付けられたバッファに格納するように構成され、
該マルチパストラフィックディストリビュータは、
パケットを、該バッファから送信パスへ送信し、
該送信パス上の輻輳を示す、輻輳制御情報を、ピアマルチパストラフィックディストリビュータから受信するように構成され、
該トランスポート層プロキシは、さらに、
該バッファの占有率に基づいて制御パケットを、該トランスポート層エンドポイントへ送信するように構成され、該制御パケットは、該輻輳制御情報を示す、
ネットワークデバイス。 - 前記マルチパストラフィックディストリビュータは、
前記ピアマルチパストラフィックディストリビュータと第2のトランスポート層エンドポイントとの間のパス上の輻輳を示す情報を、該ピアマルチパストラフィックディストリビュータから受信するようにさらに構成され、該情報の受信は、該ピアマルチパストラフィックディストリビュータ内のバッファの占有率に基づく、
請求項8に記載のネットワークデバイス。 - トランスポート層プロキシと、
該トランスポート層プロキシに連結された、マルチパストラフィックディストリビュータと、
を備える、ネットワークデバイスであって、
該トランスポート層プロキシは、
トランスポート層接続にそれぞれ関連付けられたパケットを、トランスポート層エンドポイントから受信し、
かつ、該受信されたパケットを、該対応する接続に関連付けられたバッファに格納するように構成され、
該マルチパストラフィックディストリビュータは、
送信パス上の輻輳を示す、ピアマルチパストラフィックディストリビュータから受信された輻輳制御情報に応答して、パケットを該バッファから該送信パスへ送信するように構成され、
該トランスポート層プロキシは、さらに、
該バッファの占有率に基づいてフロー制御パケットを、該トランスポート層エンドポイントへ送信するように構成される、
ネットワークデバイス。 - 前記マルチパストラフィックディストリビュータは、
前記ピアマルチパストラフィックディストリビュータ内の受信バッファ占有率を示す情報を、該ピアマルチパストラフィックディストリビュータから受信し、
かつ、該受信バッファ占有率を示す情報に応答して、パケットを該バッファから送信パスへ送信するように、さらに構成される、
請求項8に記載のネットワークデバイス。 - トランスポート層プロキシと、
該トランスポート層プロキシに連結された、マルチパストラフィックディストリビュータと、
を備える、ネットワークデバイスであって、
該トランスポート層プロキシは、
トランスポート層接続にそれぞれ関連付けられたパケットを、トランスポート層エンドポイントから受信し、
該受信されたパケットが欠落または誤パケットを含むかどうかに基づいて、再送信制御パケットを、該トランスポート層エンドポイントへ送信し、
かつ、該受信されたパケットの少なくとも一部を、該マルチパストラフィックディストリビュータへ配信するように構成され、
該マルチパストラフィックディストリビュータは、
該配信された各パケットを、送信パス上で送信し、
かつ、該制御パケットによって指示されるように、該配信されたパケットを再送信することによって、ピアマルチパストラフィックディストリビュータから受信された再送信制御パケットに応答するように構成される、
ネットワークデバイス。 - 前記トランスポート層プロキシおよび前記マルチパストラフィックディストリビュータは、それぞれ、トランスポート層接続に関連付けられた状態情報を、独立して維持するようにさらに構成される、請求項12に記載のネットワークデバイス。
- トランスポート層プロキシと、
該トランスポート層プロキシに連結された、マルチパストラフィックディストリビュータと、
を備える、ネットワークデバイスであって、
該トランスポート層プロキシは、
トランスポート層接続にそれぞれ関連付けられたパケットを、トランスポート層エンドポイントから受信し、
かつ、該パケットがシーケンスで並んでいる場合には、該受信されたパケットのそれぞれを、該マルチパストラフィックディストリビュータへ配信するように構成され、
該マルチパストラフィックディストリビュータは、
該配信されたパケットのそれぞれを、送信パスに割り当てられていない非結合バッファに格納し、
かつ、該配信されたパケットのそれぞれを、送信パス上で送信するように構成される、
ネットワークデバイス。 - 前記マルチパストラフィックディストリビュータは、さらに、
パケットを、ピアマルチパストラフィックディストリビュータから受信し、
シーケンスで並んでいない受信されたパケットを、アウトオブオーダー・バッファに格納し、
かつ、インオーダー・シーケンスを生成するために、前記ピアからさらなるパケットが受信されると、パケットを、該アウトオブオーダー・バッファから前記トランスポート層プロキシへ配信するように構成され、
該トランスポート層プロキシは、さらに、
アウトオブオーダー・バッファから配信されたパケットを、受信バッファに格納し、
かつ、該受信バッファに格納されたパケットを、前記トランスポート層エンドポイントへ送信するように構成される、
請求項14に記載のネットワークデバイス。 - 前記受信されたパケットの1つを格納するために使用されるパケットデータ構造は、各構成要素が該パケットの処理を開始すると増加し、各構成要素が該パケットの処理を完了すると減少する参照数フィールドを含む、請求項14に記載のネットワークデバイス。
- 送信されたパケットの確認応答を受信するように構成されたロジックであって、該確認応答は該送信されたパケットのシーケンス番号を含む、ロジックと、
該受信された確認応答に応答して、該シーケンス番号を格納するように構成されたロジックと、
該送信されたパケットに関連したメモリを空にすることを、該受信された確認応答よりも後の時点へと遅延させるように構成されたロジックと、
をさらに備える、請求項14に記載のネットワークデバイス。 - 前記マルチパストラフィックディストリビュータは、
前記送信パスに対する最大送信単位(MTU)を決定し、
ローカルMTUを、該マルチパストラフィックディストリビュータによって使用される拡張トランスポート層プロトコルヘッダのサイズ分だけ縮小された、該送信パスに対するMTUとなるように設定し、
かつ、該送信パス上のピアネットワークデバイスに、該ローカルMTUを通知するように、
さらに構成される
請求項14に記載のネットワークデバイス。 - 前記ネットワークデバイスは、前記送信パス上のピアネットワークデバイスの存在および機能を検出するように構成されたロジックをさらに備える
請求項14に記載のネットワークデバイス。 - 前記ネットワークデバイスは、前記送信パス上のピアネットワークデバイスへ、ハートビートメッセージを送信するように構成されたロジックをさらに備える、
請求項14に記載のネットワークデバイス。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US84422606P | 2006-09-13 | 2006-09-13 | |
PCT/US2007/078395 WO2008034000A1 (en) | 2006-09-13 | 2007-09-13 | Systems and methods of improving performance of transport protocols in a multi-path environment |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010504047A true JP2010504047A (ja) | 2010-02-04 |
Family
ID=39184137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009528475A Withdrawn JP2010504047A (ja) | 2006-09-13 | 2007-09-13 | マルチパス環境におけるトランスポートプロトコルの性能を改善するシステムおよび方法 |
Country Status (9)
Country | Link |
---|---|
US (1) | US8576875B2 (ja) |
EP (1) | EP2069950A4 (ja) |
JP (1) | JP2010504047A (ja) |
KR (1) | KR20090083339A (ja) |
CN (1) | CN101606141A (ja) |
AU (1) | AU2007296442A1 (ja) |
CA (1) | CA2663317A1 (ja) |
IL (1) | IL197556A0 (ja) |
WO (1) | WO2008034000A1 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012074928A (ja) * | 2010-09-29 | 2012-04-12 | Kddi Corp | 再送制御プロトコルを用いるデータ転送装置、プログラム及び方法 |
JP2014530564A (ja) * | 2011-09-22 | 2014-11-17 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | ワイヤレス通信ネットワークにおけるマルチパストランスポート接続のための動的なサブフロー制御 |
US9451415B2 (en) | 2011-06-17 | 2016-09-20 | Qualcomm Incorporated | Cooperative data transport |
US9455897B2 (en) | 2010-04-06 | 2016-09-27 | Qualcomm Incorporated | Cooperative bandwidth aggregation using multipath transport |
JP2022545453A (ja) * | 2019-08-23 | 2022-10-27 | 中興通訊股▲ふん▼有限公司 | メッセージ処理方法、装置およびコンピュータ記憶媒体 |
WO2023021634A1 (ja) * | 2021-08-18 | 2023-02-23 | 日本電信電話株式会社 | 通信制御システム、通信制御方法及び通信制御プログラム |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8065399B2 (en) | 2000-04-17 | 2011-11-22 | Circadence Corporation | Automated network infrastructure test and diagnostic system and method therefor |
US8996705B2 (en) | 2000-04-17 | 2015-03-31 | Circadence Corporation | Optimization of enhanced network links |
US8510468B2 (en) | 2000-04-17 | 2013-08-13 | Ciradence Corporation | Route aware network link acceleration |
US8024481B2 (en) * | 2000-04-17 | 2011-09-20 | Circadence Corporation | System and method for reducing traffic and congestion on distributed interactive simulation networks |
US7043563B2 (en) * | 2000-04-17 | 2006-05-09 | Circadence Corporation | Method and system for redirection to arbitrary front-ends in a communication system |
US8195823B2 (en) * | 2000-04-17 | 2012-06-05 | Circadence Corporation | Dynamic network link acceleration |
US20110128972A1 (en) | 2000-04-17 | 2011-06-02 | Randy Thornton | Peer to peer dynamic network link acceleration |
US8898340B2 (en) | 2000-04-17 | 2014-11-25 | Circadence Corporation | Dynamic network link acceleration for network including wireless communication devices |
EP1912402B1 (en) * | 2006-10-10 | 2019-08-28 | Mitsubishi Electric R&D Centre Europe B.V. | Protection of the data transmission network systems against buffer oversizing attacks |
CN101510816B (zh) * | 2009-03-05 | 2012-06-20 | 北京交通大学 | 基于路径关联化的多路径并行传输方法 |
US8553547B2 (en) * | 2009-03-30 | 2013-10-08 | Broadcom Corporation | Systems and methods for retransmitting packets over a network of communication channels |
US8706901B2 (en) * | 2009-04-13 | 2014-04-22 | International Business Machines Corporation | Protocols for high performance computing visualization, computational steering and forward progress |
US20110246692A1 (en) * | 2010-03-31 | 2011-10-06 | International Business Machines Corporation | Implementing Control Using A Single Path In A Multiple Path Interconnect System |
US8400923B2 (en) * | 2010-10-15 | 2013-03-19 | Telefonaktiebolaget L M Ericsson (Publ) | Multipath transmission control protocol proxy |
CN102457537B (zh) * | 2010-10-19 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 一种传输控制协议的通信方法及服务器 |
US9749175B2 (en) | 2011-12-06 | 2017-08-29 | Brocade Communications Systems, Inc. | TCP connection relocation |
CN103516694A (zh) * | 2012-06-28 | 2014-01-15 | 华为技术有限公司 | 通信方法、装置和*** |
US20140071802A1 (en) * | 2012-09-12 | 2014-03-13 | Telefonaktiebolaget L M Ericsson (Publ) | Node and method for managing a maximum transfer unit related path failure |
US8630204B1 (en) * | 2012-10-03 | 2014-01-14 | LiveQoS Inc. | System and method for a TCP mapper |
US9143454B2 (en) | 2012-10-03 | 2015-09-22 | LiveQoS Inc. | System and method for a TCP mapper |
US8711690B2 (en) | 2012-10-03 | 2014-04-29 | LiveQoS Inc. | System and method for a TCP mapper |
US8875287B2 (en) | 2012-10-04 | 2014-10-28 | Akamai Technologies, Inc. | Server with mechanism for reducing internal resources associated with a selected client connection |
KR102069501B1 (ko) * | 2012-10-19 | 2020-01-23 | 한국전자통신연구원 | 에너지 사용 효율을 향상할 수 있는 멀티패스 통신장치 및 이의 에너지 사용 효율 향상을 위한 트래픽 분배방법 |
US9219689B2 (en) | 2013-03-15 | 2015-12-22 | International Business Machines Corporation | Source-driven switch probing with feedback request |
US9253096B2 (en) * | 2013-03-15 | 2016-02-02 | International Business Machines Corporation | Bypassing congestion points in a converged enhanced ethernet fabric |
US9954781B2 (en) | 2013-03-15 | 2018-04-24 | International Business Machines Corporation | Adaptive setting of the quantized congestion notification equilibrium setpoint in converged enhanced Ethernet networks |
US9401857B2 (en) | 2013-03-15 | 2016-07-26 | International Business Machines Corporation | Coherent load monitoring of physical and virtual networks with synchronous status acquisition |
EP2784998B1 (en) * | 2013-03-29 | 2018-10-17 | Mitsubishi Electric R&D Centre Europe B.V. | Method and device for allocating resources in a mesh communications network for setting up a data stream transmission |
KR102051504B1 (ko) * | 2013-05-15 | 2019-12-03 | 삼성전자주식회사 | 무선 통신 시스템에서 데이터 패킷 송수신 방법 및 장치 |
US9888042B2 (en) * | 2013-05-21 | 2018-02-06 | Citrix Systems, Inc. | Systems and methods for multipath transmission control protocol connection management |
JP6105163B2 (ja) | 2013-06-27 | 2017-03-29 | 徐 正 煥SEO, Jeong Hoan | インターネットプロトコルを利用したサービスのための多重連結システム及びその方法 |
EP3958512A1 (en) * | 2013-07-31 | 2022-02-23 | Assia Spe, Llc | Method and apparatus for continuous access network monitoring and packet loss estimation |
KR101463695B1 (ko) * | 2013-09-09 | 2014-11-19 | 주식회사 엘지유플러스 | 트래픽 관리 시스템 및 그 제어방법 |
US10362148B2 (en) * | 2014-01-27 | 2019-07-23 | International Business Machines Corporation | Path selection using TCP handshake in a multipath environment |
US9866655B2 (en) | 2014-03-31 | 2018-01-09 | Akamai Technologies, Inc. | Server initiated multipath content delivery |
US9444754B1 (en) * | 2014-05-13 | 2016-09-13 | Chelsio Communications, Inc. | Method for congestion control in a network interface card |
US10320918B1 (en) * | 2014-12-17 | 2019-06-11 | Xilinx, Inc. | Data-flow architecture for a TCP offload engine |
US10491525B2 (en) * | 2015-03-10 | 2019-11-26 | Huawei Technologies Co., Ltd. | Traffic engineering feeder for packet switched networks |
KR101726357B1 (ko) * | 2015-07-08 | 2017-04-12 | 주식회사 엘지유플러스 | 다중 경로 패킷 데이터 서비스를 위한 응용 리스트 갱신 방법 및 장치 |
CA3001583C (en) * | 2015-10-14 | 2023-08-15 | Videolink Llc | Transport of time sensitive information using the internet |
KR102314382B1 (ko) * | 2015-12-02 | 2021-10-18 | 주식회사 엘지유플러스 | 다중 경로 패킷 데이터 서비스 제공 방법 및 장치 |
CN105610999A (zh) * | 2016-03-30 | 2016-05-25 | 上海斐讯数据通信技术有限公司 | 一种通过穿透nat实现p2p通信的方法、设备、服务器及*** |
EP3482547B1 (en) * | 2016-07-08 | 2023-11-08 | Alcatel Lucent | Flow aggregation and routing for multi-connectivity client devices |
JP6724641B2 (ja) * | 2016-08-03 | 2020-07-15 | 富士通株式会社 | 管理装置、通信システム及び割当方法 |
WO2018086076A1 (zh) * | 2016-11-11 | 2018-05-17 | 华为技术有限公司 | 数据传输方法及装置 |
WO2018165190A1 (en) | 2017-03-07 | 2018-09-13 | Akamai Technologies, Inc. | Cooperative multipath |
US20180287850A1 (en) * | 2017-03-31 | 2018-10-04 | Intel Corporation | Techniques for network multicasting with buffering |
US10581749B2 (en) * | 2017-07-13 | 2020-03-03 | Nicira, Inc. | Automatic discovery of maximum transmission unit size for a software defined network |
CN107634872B (zh) * | 2017-08-29 | 2021-02-26 | 深圳市米联科信息技术有限公司 | 一种快速精确计量网络链路质量的方法和装置 |
EP3544332B1 (en) * | 2018-03-19 | 2021-05-26 | Deutsche Telekom AG | Techniques for scheduling multipath data traffic |
CN109104479A (zh) * | 2018-08-01 | 2018-12-28 | 福州大学 | 一种基于多路并行传输技术的采集数据流传送方法与*** |
CN110875799B (zh) * | 2018-09-04 | 2023-07-07 | 华为技术有限公司 | 一种传输控制方法和装置 |
CN111654436B (zh) * | 2019-10-24 | 2021-07-13 | 北京大学 | 一种适用于高速移动环境的网络中继设备 |
EP4282152A1 (en) * | 2021-01-19 | 2023-11-29 | Dejero Labs Inc. | Systems and methods for push-based data communications |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6078564A (en) * | 1996-08-30 | 2000-06-20 | Lucent Technologies, Inc. | System for improving data throughput of a TCP/IP network connection with slow return channel |
US6075769A (en) * | 1997-11-26 | 2000-06-13 | Cisco Systems, Inc. | Method and apparatus for network flow control |
US6577596B1 (en) * | 1999-11-30 | 2003-06-10 | Telefonaktiebolaget Ln Ericsson (Publ) | Method and apparatus for packet delay reduction using scheduling and header compression |
US6826147B1 (en) * | 2000-07-25 | 2004-11-30 | Nortel Networks Limited | Method and apparatus for aggregate flow control in a differentiated services network |
US7120931B1 (en) * | 2000-08-31 | 2006-10-10 | Cisco Technology, Inc. | System and method for generating filters based on analyzed flow data |
US7092357B1 (en) * | 2001-11-13 | 2006-08-15 | Verizon Services Corp. | Anti-flooding flow-control methods and apparatus |
US20030103459A1 (en) * | 2001-11-16 | 2003-06-05 | Connors Dennis P. | Method and implementation for a flow specific modified selective-repeat ARQ communication system |
JP4126928B2 (ja) * | 2002-02-28 | 2008-07-30 | 日本電気株式会社 | プロキシサーバ及びプロキシ制御プログラム |
US7366100B2 (en) * | 2002-06-04 | 2008-04-29 | Lucent Technologies Inc. | Method and apparatus for multipath processing |
US20050071510A1 (en) * | 2003-09-29 | 2005-03-31 | Nokia Corporation | Transport layer communication |
WO2005039150A1 (ja) * | 2003-10-22 | 2005-04-28 | Nec Corporation | 通信装置およびその通信方法ならびにプログラム |
US20050102412A1 (en) * | 2003-11-10 | 2005-05-12 | Jan Hirsimaki | Transmission performance of a transport layer protocol connection |
US8516323B2 (en) * | 2004-04-05 | 2013-08-20 | Telefonaktiebolaget L M Ericsson (Publ) | Repair function for a broadcast service |
US7962623B2 (en) * | 2004-06-30 | 2011-06-14 | Microsoft Corporation | Sustaining session connections |
US7859996B2 (en) * | 2004-10-29 | 2010-12-28 | Broadcom Corporation | Intelligent congestion feedback apparatus and method |
US7539175B2 (en) * | 2004-11-19 | 2009-05-26 | The Trustees Of Stevens Institute Of Technology | Multi-access terminal with capability for simultaneous connectivity to multiple communication channels |
US20060198300A1 (en) * | 2005-03-03 | 2006-09-07 | Chia-Hsin Li | Multi-channel TCP connections with congestion feedback for video/audio data transmission |
-
2007
- 2007-09-13 JP JP2009528475A patent/JP2010504047A/ja not_active Withdrawn
- 2007-09-13 EP EP07842426.4A patent/EP2069950A4/en not_active Withdrawn
- 2007-09-13 CN CNA2007800420434A patent/CN101606141A/zh active Pending
- 2007-09-13 WO PCT/US2007/078395 patent/WO2008034000A1/en active Application Filing
- 2007-09-13 CA CA002663317A patent/CA2663317A1/en not_active Abandoned
- 2007-09-13 KR KR1020097007609A patent/KR20090083339A/ko not_active Application Discontinuation
- 2007-09-13 US US11/854,784 patent/US8576875B2/en active Active
- 2007-09-13 AU AU2007296442A patent/AU2007296442A1/en not_active Abandoned
-
2009
- 2009-03-12 IL IL197556A patent/IL197556A0/en unknown
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9455897B2 (en) | 2010-04-06 | 2016-09-27 | Qualcomm Incorporated | Cooperative bandwidth aggregation using multipath transport |
JP2012074928A (ja) * | 2010-09-29 | 2012-04-12 | Kddi Corp | 再送制御プロトコルを用いるデータ転送装置、プログラム及び方法 |
US8843654B2 (en) | 2010-09-29 | 2014-09-23 | Kddi Corporation | Data packet transfer over wide area network in fast and reliable manner |
US9451415B2 (en) | 2011-06-17 | 2016-09-20 | Qualcomm Incorporated | Cooperative data transport |
JP2014530564A (ja) * | 2011-09-22 | 2014-11-17 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | ワイヤレス通信ネットワークにおけるマルチパストランスポート接続のための動的なサブフロー制御 |
US9264353B2 (en) | 2011-09-22 | 2016-02-16 | Qualcomm Incorporated | Dynamic subflow control for a multipath transport connection in a wireless communication network |
JP2022545453A (ja) * | 2019-08-23 | 2022-10-27 | 中興通訊股▲ふん▼有限公司 | メッセージ処理方法、装置およびコンピュータ記憶媒体 |
JP7366240B2 (ja) | 2019-08-23 | 2023-10-20 | 中興通訊股▲ふん▼有限公司 | メッセージ処理方法、装置およびコンピュータ記憶媒体 |
WO2023021634A1 (ja) * | 2021-08-18 | 2023-02-23 | 日本電信電話株式会社 | 通信制御システム、通信制御方法及び通信制御プログラム |
Also Published As
Publication number | Publication date |
---|---|
EP2069950A4 (en) | 2017-06-21 |
EP2069950A1 (en) | 2009-06-17 |
KR20090083339A (ko) | 2009-08-03 |
IL197556A0 (en) | 2009-12-24 |
WO2008034000A1 (en) | 2008-03-20 |
US20080062879A1 (en) | 2008-03-13 |
CA2663317A1 (en) | 2008-03-20 |
CN101606141A (zh) | 2009-12-16 |
AU2007296442A1 (en) | 2008-03-20 |
US8576875B2 (en) | 2013-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010504047A (ja) | マルチパス環境におけるトランスポートプロトコルの性能を改善するシステムおよび方法 | |
US8605590B2 (en) | Systems and methods of improving performance of transport protocols | |
US9008100B2 (en) | Wavefront detection and disambiguation of acknowledgments | |
US7969876B2 (en) | Method of determining path maximum transmission unit | |
US8462630B2 (en) | Early generation of acknowledgements for flow control | |
CN104025525B (zh) | 用于发送分组的方法和设备以及交换机装置 | |
US8233392B2 (en) | Transaction boundary detection for reduction in timeout penalties | |
US7698453B2 (en) | Early generation of acknowledgements for flow control | |
US7656799B2 (en) | Flow control system architecture | |
US7630305B2 (en) | TCP selective acknowledgements for communicating delivered and missed data packets | |
Dong et al. | Multi-path load balancing in transport layer | |
US20150055482A1 (en) | TCP Extended Fast Recovery and Segment Timing | |
Dong et al. | Concurrency handling in TCP | |
Chang et al. | A load-sharing scheme in transport layer for improving throughput |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20101207 |