JP2015517251A - リンクアグリゲーション装置 - Google Patents

リンクアグリゲーション装置 Download PDF

Info

Publication number
JP2015517251A
JP2015517251A JP2015502562A JP2015502562A JP2015517251A JP 2015517251 A JP2015517251 A JP 2015517251A JP 2015502562 A JP2015502562 A JP 2015502562A JP 2015502562 A JP2015502562 A JP 2015502562A JP 2015517251 A JP2015517251 A JP 2015517251A
Authority
JP
Japan
Prior art keywords
packet
delay
end host
processor
link aggregation
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.)
Pending
Application number
JP2015502562A
Other languages
English (en)
Inventor
ステファン ヘッグ
ステファン ヘッグ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2015517251A publication Critical patent/JP2015517251A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/41Flow control; Congestion control by acting on aggregated flows or links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

リンクアグリゲーション装置のタイムアウト値決定方法は、二つのエンドホストの間のパケットフローを流れるリンクアグリゲーションのパケットを複数のリンクから受信し、前記二つのホストのうちのリモートホストに関する遅延を決定し、前記パケットフローにおける順序に基づいて前記リンクアグリゲーションのパケットを並べ換え、プロセッサを用いて、前記複数のリンクのそれぞれに対応するタイムアウト値であって、対応するリンクからのパケットの受信を待つために使用されるタイムアウト値をパケットロスおよび前記遅延に基づいて計算することを含む。

Description

本発明は、リンクアグリゲーション装置に関する。
家庭又は企業利用のインドア無線カバレッジの改良、および無線ネットワークの全体的な容量の改良のために、現在、フェムトセル(スモール基地局)が開発および展開されている。無線ネットワークオペレータへのバックホールコネクションとして、フェムトセルは、ユーザの既存のインターネット接続,例えば、ADSL(Asymmetric Digital Subscriber Line)又はファイバインターネット接続を使用する。
将来的に、フェムトセルは、展開するカスタマに対する、3G(第3世代),4G(第4世代),又はより小さいセルラー技術の提供のみならず、IEEE802.11又はBluetooth(登録商標)のような他の無線接続技術を通じた家庭ネットワークへのアクセス
を提供するであろうと考えられている。なぜなら、それぞれの無線接続技術は他から独立して使用することができ、複数の無線アクセス技術は(複数の接続技術)はより速いトータル帯域を提供するために組み合わせることができるからである。より速いトータル帯域を提供するには、双方のリンクを結合し、ホストが利用可能な複数の無線リンク間のネットワークを超えて搬送されるパケットを分割するリンクアグリゲーションと呼ばれる技術の使用によって達成される。
特開2001−345718号公報
複数の無線リンク上でのリンクアグリゲーションの使用時には、複数の無線リンクに分配されたパケットを結合するときに、パケットの並べ換えに対し、幾つかのフォームを用いることが必要とされる。これは、無線技術の高度な可変性(送信/受信装置の干渉又は移動によって生じる)を原因とする、リンク上のパケットの到着の高い不一致があるからである。例えば、パケットのより遅い受信に続く無送信(送信エラーによる)の短いインターバルに続いて正確に受信されるパケットのバーストがあるかも知れない。通常、このような高いばらつきは、一つのリンクのみを使用するときにはあまり起こらない。しかしながら、一つの同じ送信フロー(例えばTCP/IP(Transmission Control Protocol/Internet Protocol)フロー)のパケットが様々な無線リンク上に分配されるとき、それら
の無線リンクの変動性のために生じる順序が逆転した到着は、TCPフローの性能に非常に大きな影響を与える。その性能への影響は、TCPがシーケンス番号によってパケットを確認するという動作によって引き起こされる。もし、幾つかのシーケンス番号が他よりも前に到着し、その中間の複数のパケットが或るタイムフレーム内に到着しなければ、TCPはこれらのパケットが失われたとみなす。これらのパケットが失われたと見なされたとき、TCPは、送信ホストへの再送要求を送信し、結果として、送信ホストは、その送信速度を小さくする。
中継装置(リンクアグリゲーションポイント:LAポイント)は、エンドホストへのコネクションを有する移動端末によって分割された二つの無線リンクからのTCPパケットを受信すると仮定する。そのLAポイントは、それらのTCPパケットを一つのフローに再び結合する。そのLAポイントにおいて、或る無線リンクからのパケットが他の無線リ
ンクからのパケットよりも早く到着する可能性がある。このとき、LAポイントは、パケットがエンドホストへ転送される前にパケット並べ替えのソートを行う。パケット並べ換えを行うとき、LAポイントは、遅れて到着するであろう幾つかのパケットを待つためのタイムアウト用の値を有するタイマを設定する。タイマが満了したとき、遅れて到着するパケットは無視される(ドロップされる)。
タイムアウト用の値には、固定値(ユニバーサル値)が適用されている。そのユニバーサル値は、以下に説明する問題を生じる。すなわち、TCPの性能は、コネクションのラウンドトリップタイムに大きく依存する。例えば、エンドホストが例えば10msのローカルエリアネットワークに配置されている場合、ラウンドトリップタイムはTCPの高いスループット速度を許容する一方で、海外に配置されたエンドホストの高い(長い)ラウンドトリップタイムはTCPの高いスループット速度を阻害する。もし、リンクアグリゲーションの使用時に、そのローカルエリアネットワークにおける低い(短い)ラウンドトリップタイムがパケット並べ換え用の高いタイムアウト値を原因として急激に増加するならば、スループットの低下が観察される。エンドホストが海外に配置されているときも同様のスループット低下を観察することができる。もし、スループットを増加させるために、低いタイムアウト値が使用されるならば、代わりに、不必要にパケットがドロップされ、スループットを低下させるかも知れない。
上述したように、タイムアウトのためのユニバーサル値は、スループットの低下を引き起こす。さらに、タイムアウトのためのユニバーサル値は、上位層に影響を与え、且つ通信性能の劣化を引き起こす可能性がある。
本発明の一態様の目的は、TCPパケットのリンクアグリゲーションの性能を改良する技術を提供することである。
本発明の態様は、リンクアグリゲーション装置である。リンクアグリゲーション装置は、二つのエンドホストの間のパケットフローを流れるリンクアグリゲーションのパケットを複数の無線リンクから受信する少なくとも二つのレシーバと、上記二つのエンドホストのうちのリモートホストに関係する遅延を判定する処理と、上記パケットフローにおける順序に基づいてリンクアグリゲーションのパケットを並べ換える処理と、パケットロスとその遅延に基づいて上記無線リンクのそれぞれに対応するタイムアウト値を算出する処理とを実行するプロセッサとを含み、各タイムアウト値は対応する無線リンクからのパケットの受信を待機するために使用される。
本発明の目的および利点は、クレームにおいて特に指摘された構成要素および組み合わせによって実現および獲得されるであろう。
上記した一般の記述および以下の詳細な記述の双方は例示的および説明的なものであり、クレームされたような本発明の限定ではないと理解されるべきである。
本発明の一態様によれば、TCPパケットのリンクアグリゲーションの性能を向上させる技術を提供することができる。
図1は、本発明の実施形態に関するリンクアグリゲーション装置(LAA)を用いるネットワークシステムを示す図である。 図2は、LAAの構成例を示す図である。 図3は、タイムアウト決定処理の例を示すフローチャートである。 図4は、宛先および遅延を記憶するテーブルを示す図である。 図5は、ホップ数および遅延を記憶するテーブルを示す図である。
本発明の実施形態は、図面を参照して記述される。実施形態の構成は例として与えられたものであり、本発明のあらゆる態様は、実施形態の構成に限定されない。
<ネットワークシステム>
図1は、本発明の実施形態に関するリンクアグリゲーション装置を用いるネットワークシステムを示す。図1において、ネットワークシステムは、移動端末(MT)1と、アクセスポイント(AP:基地局)2(2Aおよび2B)と、リンクアグリゲーション装置(LAA)3と、ルータ(又はレイヤ3スイッチ(L3 SW))4と、IPネットワーク4と、エンドホスト6(6Aおよび6B)とを含む。
MT1は、少なくとも、携帯電話に適用される3G又は4G(例えば、Long Term Evolution (LTE)),無線LAN用のIEEE802.11,およびBluetooth(登録商標
)の機構をサポートする無線端末である。MT1は、複数の無線通信方式(無線アクセス技術)の一つを用いることによってエンドホストとTCP通信を行うことができる。
図1に示された各エンドホスト6は、例えば、MT1の通信相手として機能するサーバマシン,パーソナルコンピュータ(PC),および中継装置(例えばルータ)の一つである。図1に示す例において、エンドホスト(E−HOST)6Aおよびエンドホスト(E−HOST)6Bは、サーバであると仮定する。エンドホスト6Aは、LAA3が属するローカルエリアネットワーク(LAN)内にある一方でエンドホスト6BはIPネットワーク5を介してLAA3に接続されている。例えば、エンドホスト6Bは、遠隔エリア(海外)に配置されている。パケットフローは、MT1とエンドホスト6A又はエンドホスト6Bとの間に確立される。このとき、MT1は、二つのエンドホストの一方となり、エンドホスト6A又はエンドホスト6Bは、リモートホストに相当する他のエンドホストとなる。
AP2AおよびAP2Bは、上述した無線アクセス技術の一つをそれぞれサポートしている。図1に示す例において、AP2Aは、MT1のフェムトセルを提供する。AP2Bは、3G又は4Gをサポートする一般セルを提供する。
さらに、MT1は、リンクアグリゲーション技術をサポートする。すなわち、MT1からエンドホスト(例えばエンドホスト6A又はエンドホス6B)へのアップリンク通信が行われる場合に、MT1は、MT1とAP2Aとの間の一方の無線リンク(無線リンク#1)およびMT1とAP2Bとの間の他方の無線リンク(無線リンク#2)上の一つのTCPパケットフローのパケットのスイッチ又はソートを行う。
LAA3は、無線リンク#1および無線リンク#2から到着するTCPパケットを受信し、受信されたTCPパケットの並べ換えをオリジナルの単一のパケットフローを作成するために行う。LAA3によって復元されたパケットフローのTCPパケットは、その宛先へ転送される。宛先がエンドホスト6Aであれば、TCPパケットは、同じネットワーク内にあるエンドホスト6Aに到着する。一方、宛先がエンドホスト6Bであれば、TCPパケットはルータ4およびIPネットワーク5を通じてエンドホスト6Bに到着する。このように、MT1はリングアグリゲーションポイント1(LAポイント1)となり、LAA3はLAポイント2となる。また、その逆もある(エンドホストからMT1へのダウンリンク通信が実行されるならば、LAA3は、スイッチング又はソーティング処理を行
い、MT1は上述した結合および並べ換え処理を行う)。
LAA3はTCPパケットのシーケンス番号に従って並べ換えを行う。無線リンク#1および無線リンク#2の一方からの幾つかのTCPパケットが既にLAA3に到着しているとき、無線リンク#1および無線リンク#2の他方からの幾つかのTCPパケットが未だ到着していなければ、LAA3は、当該TCPパケットの到着を待つタイムアウト値を有するタイマをセットする。
<LAAの構成>
図2は、LAA3の構成例を示す。図2において、LAA3は、基地局(例えばフェムトセルを生成する基地局),ルータ,L3スイッチ,又はレイヤ2スイッチ(L2 SW)のような中継装置である。LAA3は、無線インタフェース31,プロセッサ32,記憶装置33,記憶装置34,および通信インタフェース35を含んでいる。LAA3のこれらの部品31〜35はバスBによって相互に接続されている。プロセッサ32は、コントローラ又は制御装置の一例である。
無線インタフェース31は、AP2から又はAP2へのTCPパケットを送受信するための回路である。図2は、AP2Aに接続された無線インタフェース(無線IF)31Aと、AP2Bに接続された無線インタフェース(無線IF)31Bとを図示している。通信インタフェース(IF)35は、ルータ4およびエンドホスト6Aから又はルータ4およびエンドホストへのTCPパケットを送受信するための回路を含む。無線インタフェース31は、少なくとも二つのレシーバの一例である。
記憶装置33は、Random Access Memory (RAM)およびRead Only Memory (ROM)を含むメインメモリを含む。メインメモリは、プロセッサ32の作業領域として使用される。記憶装置34は、ハードディスク,フラッシュメモリ,Electrically Erasable Programmable Read-Only Memory (EEPROM)のような不揮発性記憶装置を含む。記憶装置34は、アクティブリンクのそれぞれの情報を記憶するデータベース(フローDB34A)を記憶する(保持する)。当該情報は、アクティブリンクに対応するタイムアウト値に関する情報を含む。記憶装置34は、プロセッサ32によって実行される1以上のプログラムおよびプログラムが実行されるときに使用されるデータをさらに記憶する。
プロセッサ32は、central processing unit(CPU)またはdigital processing unit(DSP)のようなマイクロプロセッサである。プロセッサ32は、記憶装置33にプログラムをロードし、当該プログラムを実行する。これによって、プロセッサ32は、少なくともタイムアウト決定処理32A,遅延判定処理32B,およびパケット並べ換え処理32Cを含む様々な処理を実行する。
LAA3がアップリンク通信におけるLAポイント2として機能するとき、プロセッサ32は、遅延判定処理32Bを実行することによって無線リンク#1および無線リンク#2のそれぞれに対応するタイムアウト値を決定する。無線リンク#1および無線リンク#2からのTCPパケットは無線IF31Aおよび無線IF31Bによって受信され、記憶装置33上に形成されたバッファ領域に蓄積される。プロセッサ32は、バッファ領域に記憶されたTCPパケットに関する並べ換え処理を実行する。このとき、タイムアウト決定処理32Aによって決定されたタイムアウト値は、無線リンク#1および無線リンク#2のそれぞれからのTCPパケットの到着を待つために適用される。
さらに、プロセッサは、TCPパケットの並べ換えおよび結合によってパケットフローを作成する(復元する)。その後、パケットフローにおけるTCPパケットの宛先が判定され、TCPパケットは通信IF35から宛先(ルータ4またはエンドホスト6A)へ送
信される。
タイムアウト決定処理32A,遅延判定処理32Bおよびパケット並べ換え処理32Cは、プロセッサ32の代わりの1以上のハードウェアによって実行される。例えば、ハードウェアは、Integrated Circuits(IC),Large Scale Integrated(LSI), Application Specific Integrated Circuits (ASIC),Field Programmable Gate Array
(FPGA)のようなLogic Programmable Devices (LPD)およびそれらの組み合わ
せである。さらに、LAA3は、少なくとも二つの無線インタフェースでサポートされていれば良いが、図2に比べて利用可能なさらなるインタフェースを有していても良い。
<LAA3における処理>
次に、LAA3における処理の詳細を以下に説明する。図2に示したようなLAA3の構成例は、LAポイント1(MT1)およびLAポイント2(LAA3)のために有効である。無線IF31Aおよび無線IF31Bは、無線リンク#1および無線リンク#2からリンクアグリゲーションのパケットを受信する。無線IF31Aは、第1無線アクセス技術をサポートし、無線IF31Bは第1無線アクセス技術と異なる第2無線アクセス技術をサポートする。
プロセッサ32は、リンクアグリゲーションのパケットにおいて発見されたシーケンス番号に従って受信されたTCP/IPパケットを再配置する。パケットの順序が逆転して到着したとき(例えば、シーケンス番号“2”を有するパケットが次の到着を期待されていたが、シーケンス番号“3”を有するパケットが到着した)、プロセッサ32は、記憶装置33および/または記憶装置34のバッファ領域に形成された特別なバッファ(待ちバッファ)内に当該パケットを格納し、期待されたパケットが到着するまで、またはタイムアウトタイマが満了するまで、パケットを保持する。タイムアウトタイマは、順序が逆転したパケットが到着したときはいつでも開始される。タイムアウトタイマは、待ちバッファが空になるか、タイムアウトタイマが満了したときにリセットされる。例えば、タイムアウトタイマはプロセッサ32によって制御される。
プロセッサ32は、遅延判定処理32Bを実行することによって、エンドホストに関する遅延を得る。「遅延」の用語は、エンドホスト又はネットワーク(サブネット単位)へのホップ数を単位とする物理的な距離を含む。また、「遅延」の用語は、パケットがエンドホストに到着し、エンドホストからLAA3に戻る時間に関する距離(間隔)、又はパケットがエンドホストへ行ったり来たりするためにどれ位時間が要求されるかの指示を与える時間又は空間のあらゆる他の手段を含む。
「遅延」に基づき、プロセッサ32は、タイムアウト決定処理32Aを実行することによって、パケット並べ換えのために最適なタイムアウト値をフロー毎に決定する。二つのホスト(例えばMT1とエンドホスト6A又はエンドホスト6B)の間のパケットフローが確立されたとき、または二つのホストの間のパケットフローが既に存在しており、「遅延」に関する新たな情報が遅延判定処理32Bによって得られたときに、タイムアウト値が決定されるようにしても良い。遅延を示す値は、フローDB34A内に記憶される。
遅延判定処理32Aにおいて、プロセッサ32は、リンクアグリゲーションされているフローに関する情報を得て、エンドホストに対する遅延に関するこれらのフローに関する情報を収集する。遅延はパケットフローを監視することによって得られる情報の判定または監視によって能動的に判定されるようにしても良い。例えば、新たなパケットフローが確立されたとき、プロセッサ32は、遅延判定処理32Aによって、エンドホストに対するラウンドトリップタイム(RTT)を判定するためにエンドホストへ“ping”パケットを送出するようにしても良い。さらに、プロセッサ32は、TCPパケットを監視す
るTCPパケットからRTTを調査しても良い(例えば、エンドホストへパケットが送られるとき、および同パケットの確認パケットがエンドホストから到着したとき)。プロセッサ32は、遅延判定処理32B,タイムアウト決定処理32Aおよびパケット並べ換え処理32CにおいてフローDB34A内に記憶された様々な情報を参照する。
<タイムアウト値を決定する例>
リンクアグリゲーションインタフェースによって要求されたトータルアグリゲート帯域およびエンドホストに対するRTTに基づくタイムアウトを算出するためのタイムアウト決定処理32Aの第1の例。
図3は、プロセッサ32によって実行されるタイムアウト決定処理32Aの例を示す。プロセッサ32は、特定のフローのためのタイムアウト値を計算する。図3に示すタイムアウト決定処理32Aは、二つのホスト(例えばMT1とエンドホスト6A又はエンドホスト6B)の間のパケットフローが確立されたとき、又は二つのホストの間のパケットフローが既に存在し、上述したような遅延に関する新たな情報が得られたときに開始される。
ステップS1において、プロセッサ32は、フローのアグリゲート帯域(aggregate bandwidth)を得る。プロセッサ32は、フローに利用可能な最大帯域を判定することによ
ってフローのアグリゲート帯域を算出することができる。例えば、無線リンク#1がLTE(10MHz,64QAM)を使用し、無線リンク#2がIEEE802.11gを使用し、利用可能な帯域は、96Mbps(54Mbps+42Mbps)である。これらの数(帯域)は、双方の標準の仕様から容易に利用可能であり、記憶装置33又は記憶装置34に記憶されているハードコートされたテーブルから容易に参照することができる。
ステップS2において、プロセッサ32は、ステップS1において算出された最大スループットでビットの受信ウィンドウ(RWIN)の設定を割ることによってTCPでの最大RTT(最大時間)を計算する。最大RTTは、エンド−エンドコネクションのセットアップ時にエンドホストへ通信されるTCPのセッティングによって容易に利用可能である。RWINの標準的な値は65536バイト(=524288ビット)である。96Mbpsの最大アグリゲート帯域のために、少なくともRTT“5.2ms”が要求される(524288/100663296=0.00052s=5.2ms)。
ステップS3において、プロセッサ32は、他のエンドホストに対するRTTを決定する。例えば、プロセッサ32は、pingメッセージを用いることによってRTTを測定する。エンドホストが同じ内部にあるとき(例えば、エンドホスト6A)、1又は2msの時間が容易にRTTとして得られる。エンドホストがインターネット上にあるとき(例えば、エンドホスト6B)、ラウンドトリップタイムが何になるかはエンドホストの物理的位置に依存する(例として、10msから500msの広範囲となり得る)。
ステップS4において、プロセッサ32は、順序が逆転した送信に関する確率分布を判定する。これは、特定のタイムアウト設定を使用するときにどれ位のパケットが、順序が逆転して転送されるであろうかを判定することによってリンク付けされる。例えば、タイムアウト設定が0ms(すなわち、他のパケットを待たない)であれば、その確率は、順序が逆転して到着するパケットの数と同じである。他の値を使用するとき、その値は順序が逆転して転送されるパケットの数を示す。パケットのタイムアウト値が増加させるとき、その確率は減少する一方でトータルリンクパケットロスより小さくならない。
ステップS5において、プロセッサ32は、最大パケットロス“A”(“A”は値を示す)を計算する。プロセッサ32は、TCPリンク上で許容される最大パケットロスを判
定する。スループット,受信ウィンドウ(RWIN),およびラウンドトリップタイム(RTT)の間の関係は、以下の式(1)によって表現される。
Figure 2015517251
さらに、スループット,セグメントサイズ(MSS),およびパケットロス"PLOSS"は
、以下の式(2)によって表現される。
Figure 2015517251
式(1)および式(2)に基づき、パケットロス"PLOSS"は以下の式(3)によって算
出される。
Figure 2015517251
パケットロスは、もしパケットロスが算出された値より大きければ、最大TCPスループットはRTTによってではなくパケットロスによって制限されることを示す。従って、パケットロスはいつもパケットロス値より小さいことを維持することが必要とされる。最大セグメントサイズが1500[byte] (標準Ethernet(登録商標)を有する)でウィンド
ウサイズが65536を有する一般的なTCPコネクションにおいて、パケットロスは約(1500/65536)2=0.05%である。
ステップS6において、確率分布を用いて、プロセッサ32は、許容された最大RTTがRTTより大きいかどうかをチェックする。もし最大RTTがRTTより大きくなければ、全ての増加した時間は最大スループットを減少させ、最大スループットは(たとえリンクアグリゲーションを使用するとしても)達成されない。このため、順序の逆転の確率が以前のステップS5にて算出された値“A”(一般的なケースでは0.05%)を超えないようにタイムアウト値が設定される。しかしながら、ヘッドルームがある場合には、プロセッサ32は、次のステップS6へ進む。
ステップS7において、プロセッサ32は、タイムアウト値のための順序の逆転の確率“RTT−最大時間”を計算する。もし“RTT−最大時間”の値が“A”より小さい場合には、“RTT−最大時間”値ができるだけ多くのヘッドルームを許容するようにタイムアウト値が設定される。しかしながら、そうでないときには、以前のステップS5において計算されたような“A”と同じ値に対してタイムアウト値が設定される。
<確率分布の決定>
図3において、ステップ4は、順序が逆転した送信のための確率分布を得ることを含む。確率分布を得る一つの方法は、使用中の各無線技術の特性を見て各パケットのドロップ(破棄)確率を見ることである。これは、幾つかの技術は再送技術を使う(パケットのドロップは再送を原因として幾らかの追加遅延をもたらす。パケットの遅延はそのドロップではない)一方で他はそれをしない(パケットのドロップはパケットのドロップで終わる)ので、ドロップ確率は無線技術毎に異なる。例えば、LTEにおいて、パケットは最大5回まで再送される(基地局の設定に依存する)。送信エラーが発生したとき、パケットはいくらかの追加ミリ秒の間遅延するが、パケットはドロップされない。しかしながら、再送機構が無いかも知れない幾つかの無線技術のために、遅延したパケットは、ドロップされるより高い機会を有する。そのとき、このドロップ確率の使用は、或る量の待機時間
の後にパケットが失われる機会を計算することによって順序が逆転する送信の分布を計算することを許容する。
<インタフェース上の最大スループットの決定>
ステップS2において、使用中の無線リンクの最大アグリゲートスループットは、トラフィックフローの最大タイムアウト値を決定するために使用される。その値は、インタフェース上で可能な最大スループットを得ることによって決定される(10MHz LTE
42MbpsおよびIEEE802.11 54Mbpsの場合)。しかし、実際にはこれらの速度は、制御チャネル,パケットヘッダ,およびリンク上で利用可能なその他のトラフィックのオーバヘッドのために殆ど得ることができない。一方、リンクの最大速度は、初回のタイムアウト値の計算時にインジケータとして使用することができ、LAポイント2によって観測されるフローの実速度を示すために適合させることができる。パケット並べ換え機能で観測されるパケットフロー速度は、タイムアウト値が増加したならばおそらく落ちるであろうリンクアグリゲーション速度による影響をこのフローが受けるので使用することができない。
タイムアウト決定処理32Aの第1の例において、プロセッサ32は、新たなフローが検出され、pingパケットを用いて能動的に測定されたRTT値に基づいてタイムアウト値を計算する。しかし、pingパケットはエンドホストによってブロックされる可能性がある。これは、新たなコネクションが作成されるときにRTT値を得る方法で防がれる。第2の例において、プロセッサ32は、pingパケットを使用することなくRTTに対応する「遅延」値を判定する。
エンドホストのIPアドレスが得られたとき、プロセッサ32は、エンドホストの位置を決定する。オリジナル送信と同じサブネット内にあるIPアドレスはローカルエリアネットワーク内にあり、非常に低いラウンドトリップタイムを持つ。しかし、同じサブネット内に無いIPアドレスは完全に異なる起源を持つかもしれない。そのとき、リバースDNSルックアップ(DNS(Domain Name System) サーバ)は、エンドホストの位置のさ
らなる情報を供給するかも知れない。DNSのトップドメインがエンドホストとしての同じ国(country)の中にあるならば、相対的に低いRTTを期待することができる。エン
ドホストが非常に遠いことをトップドメインが示すとき、エンドホストに対して高いラウンドトリップタイムがある。
図4は、宛先および宛先の一つに対応して予め設定された遅延を記憶するテーブル40の例を示す。例えば、テーブル40は、記憶装置34内に記憶される。遅延判定処理32Bにおいて、プロセッサ32は、エンドホストのIPアドレスに基づいてエンドホストの宛先(位置)を判定する。プロセッサ32は、テーブル40から宛先に対応する遅延を引き出す。プロセッサ32は、得られた遅延をタイムアウト決定処理32Aにおいて使用される遅延として決定する(図3におけるステップS3)。すなわち、エンドホストのIPアドレスのルックアップおよびこのIPが他のエンドホストとして同じサブネット内にあるかどうかのチェックによってローカルネットワークが決定される一方、エンドホストのIPアドレス又はDNSの情報に基づいて他のエントリが決定される。DNS情報は、リバースDNSルックアップ機構又は既に利用可能な“WHOIS”機構を用いることによって得ることができる。
次に、タイムアウト値を決定するための第3の例が説明される。図5は、ホップ数およびホップ数(ホップ量)に対応する予め設定された遅延を記憶するテーブル50の例を示す。図5において、ホップ数は、文字“a”から“d”によって表現されている。例えば、テーブル50は、記憶装置34内に記憶される。遅延判定処理32Bにおいて、プロセッサ32は、テーブル40の代わりにテーブル50を使用する。エンドホストのIPアド
レスが得られたとき、プロセッサはエンドホストへのホップ数を測定する。ホップ数の測定のために、“traceroute”技術(既知)を使用することができる。プロセッサ32は、テーブル50からホップ数に対応する遅延を引き出す。プロセッサ32は、得られた遅延をタイムアウト決定処理32Aにおいて使用される遅延として決定する(図3のステップS3)。
本発明の実施形態によれば、パケットロスおよび距離のような遅延に基づいてタイムアウト値が決定される。したがって、固定された(ユニバーサル)タイムアウト値が使用されることによって生じる問題を回避することができ、上位レイヤに対する影響が抑止される。
上述した実施形態において、LAA3は無線リンク#1および無線リンク#2を介してMT1と接続されていると説明した。しかし、LAAは無線リンクの代わりの有線リンクを介してMT1と接続されても良い。すなわち、「リンク」は、無線リンクと有線リンクの双方を含むことができる。
ここに記載された全ての例および条件を含む言語は、本発明の理解およびその分野の促進に対し発明者が貢献した着想において読み手を救済するための教育的な目的向けのものであり、そのような具体的に記載された例および条件に対して制限のないように解釈されるべきであり、明細書におけるそのような例の組織化は本発明の優位性および優位性の証明に関するものではない。本発明の実施例は詳細に記述されているけれども、様々な変更,置換,代替が発明の主旨および範囲から離れないところでなし得ることを理解すべきである。
1・・・移動端末
2・・・アクセスポイント
3・・・リンクアグリゲーション装置
4・・・ルータ
5・・・ネットワーク
6・・・エンドホスト
31・・・無線インタフェース
32・・・プロセッサ
33,34・・・記憶装置
35・・・通信インタフェース
40,50・・・テーブル
本発明は、リンクアグリゲーション装置に関する。
家庭又は企業利用のインドアモバイル無線カバレッジの改良、および無線ネットワークの全体的な容量の改良のために、現在、フェムトセル(スモール基地局)が開発および展開されている。無線ネットワークオペレータへのバックホールコネクションとして、フェムトセルは、ユーザの既存のインターネット接続,例えば、ADSL(Asymmetric Digital Subscriber Line)又はファイバインターネット接続を使用する。
将来的に、フェムトセルは、展開するカスタマに対する、3G(第3世代),4G(第4世代),又はより小さいセルラー技術の提供のみならず、IEEE802.11又はBluetooth(登録商標)のような他の無線接続技術を通じた家庭ネットワークへのアクセス
を提供するであろうと考えられている。なぜなら、それぞれの無線接続技術は他から独立して使用することができ、複数の無線アクセス技術は(複数の接続技術)は、より速いトータル帯域を提供するために組み合わせることができるからである。より速いトータル帯域を提供するには、双方のリンクを結合し、ホストが利用可能な複数の無線リンク間のネットワークを超えて搬送されるパケットを分割するリンクアグリゲーションと呼ばれる技術の使用によって達成される。
特開2001−345718号公報
複数の無線リンク上でのリンクアグリゲーションの使用時には、複数の無線リンクに分配されたパケットを結合するときに、パケットの並べ換えに対して幾つかのフォームを用
いることが必要とされる。これは、無線技術の高度な可変性(送信/受信装置の干渉又は移動によって生じる)を原因として、パケットの到着の順序が逆転するからである。例えば、パケットのより遅い受信に続く無送信(送信エラーによる)の短いインターバルに続いて正確に受信されるパケットのバーストがあるかも知れない。通常、このような受信におけるパケットの順序の逆転は、一つのリンクのみを使用するときにはあまり起こらない。しかしながら、一つの同じ送信フロー(例えばTCP/IP(Transmission Control Protocol/Internet Protocol)フロー)のパケットが様々な無線リンク上に分配されるとき
、それらの無線リンクの変動性のためにパケットの到着の順序の逆転が発生しやすい。これにより、TCPフローの性能に非常に大きな影響を与える。その性能への影響は、TCPがシーケンス番号によってパケットを確認するという動作によって引き起こされる。もし、幾つかのシーケンス番号が他よりも前に到着し、到着していないシーケンス番号が前の複数のパケットが或るタイムフレーム内に到着しなければ、TCPはこれらのパケットが失われたとみなす。これらのパケットが失われたと見なされたとき、TCPは、送信ホストへの再送要求を送信し、結果として、送信ホストは、その送信速度を小さくする。
中継装置(リンクアグリゲーションポイント:LAポイント)は、エンドホストへのコネクションを有する移動端末によって分割された二つの無線リンクからのTCPパケットを受信すると仮定する。そのLAポイントは、それらのTCPパケットを一つのフローに再び結合する。そのLAポイントにおいて、或る無線リンクからのパケットが他の無線リンクからのパケットよりも早く到着する可能性がある。このとき、LAポイントは、パケットがエンドホストへ転送される前にパケット並べ替えのソートを行う。パケット並べ換えを行うとき、LAポイントは、遅れて到着するであろう幾つかのパケットを待つためのタイムアウト用の値を有するタイマを設定する。タイマが満了したとき、遅れて到着するパケットは無視される(ドロップされる)。
タイムアウト用の値には、固定値(ユニバーサル値)適用されている。そのユニバーサル値は、以下に説明する問題を生じる。すなわち、TCPの性能は、コネクションのラウンドトリップタイムに大きく依存する。例えば、エンドホストが例えば10msのローカルエリアネットワークに配置されている場合、ラウンドトリップタイムはTCPの高いスループット速度を許容する一方で、海外に配置されたエンドホストの高い(長い)ラウンドトリップタイムはTCPの高いスループット速度を阻害する。もし、リンクアグリゲーションの使用時に、そのローカルエリアネットワークにおける低い(短い)ラウンドトリップタイムがパケット並べ換え用の高いタイムアウト値を原因として急激に増加するならば、スループットの低下が観察される。エンドホストが海外に配置されているときも同様のスループット低下を観察することができる。もし、スループットを増加させるために、低いタイムアウト値が使用されるならば、代わりに、不必要にパケットがドロップされ、スループットを低下させるかも知れない。
上述したように、タイムアウトのためのユニバーサル値は、スループットの低下を引き起こす。さらに、タイムアウトのためのユニバーサル値は、上位層に影響を与え、且つ通信性能の劣化を引き起こす可能性がある。
本発明の一態様の目的は、TCPパケットのリンクアグリゲーションの性能を改良する技術を提供することである。
本発明の態様は、リンクアグリゲーション装置である。リンクアグリゲーション装置は、二つのエンドホストの間のパケットフローを流れるリンクアグリゲーションのパケットを複数の無線リンクから受信する少なくとも二つのレシーバと、上記二つのエンドホストのうちのリモートホストに関係する遅延を判定する処理と、上記パケットフローにおける
順序に基づいてリンクアグリゲーションのパケットを並べ換える処理と、パケットロスとその遅延に基づいて上記無線リンクのそれぞれに対応するタイムアウト値を算出する処理とを実行するプロセッサとを含み、各タイムアウト値は対応する無線リンクからのパケットの受信を待機するために使用される。
本発明の目的および利点は、クレームにおいて特に指摘された構成要素および組み合わせによって実現および獲得されるであろう。
上記した一般の記述および以下の詳細な記述の双方は例示的および説明的なものであり、クレームされたような本発明の限定ではないと理解されるべきである。
本発明の一態様によれば、TCPパケットのリンクアグリゲーションの性能を向上させる技術を提供することができる。
図1は、本発明の実施形態に関するリンクアグリゲーション装置(LAA)を用いるネットワークシステムを示す図である。 図2は、LAAの構成例を示す図である。 図3は、タイムアウト決定処理の例を示すフローチャートである。 図4は、宛先および遅延を記憶するテーブルを示す図である。 図5は、ホップ数および遅延を記憶するテーブルを示す図である。
本発明の実施形態は、図面を参照して記述される。実施形態の構成は例として与えられたものであり、本発明のあらゆる態様は、実施形態の構成に限定されない。
<ネットワークシステム>
図1は、本発明の実施形態に関するリンクアグリゲーション装置を用いるネットワークシステムを示す。図1において、ネットワークシステムは、移動端末(MT)1と、アクセスポイント(AP:基地局)2(2Aおよび2B)と、リンクアグリゲーション装置(LAA)3と、ルータ(又はレイヤ3スイッチ(L3 SW))4と、IPネットワークと、エンドホスト6(6Aおよび6B)とを含む。
MT1は、少なくとも、携帯電話に適用される3G又は4G(例えば、Long Term Evolution (LTE)),無線LAN用のIEEE802.11,およびBluetooth(登録商標
)の機構をサポートする無線端末である。MT1は、複数の無線通信方式(無線アクセス技術)の一つを用いることによってエンドホストとTCP通信を行うことができる。
図1に示された各エンドホスト6は、例えば、MT1の通信相手として機能するサーバマシン,パーソナルコンピュータ(PC),および中継装置(例えばルータ)の一つである。図1に示す例において、エンドホスト(E−HOST)6Aおよびエンドホスト(E−HOST)6Bは、サーバであると仮定する。エンドホスト6Aは、LAA3が属するローカルエリアネットワーク(LAN)内にある一方でエンドホスト6BはIPネットワーク5を介してLAA3に接続されている。例えば、エンドホスト6Bは、遠隔エリア(海外)に配置されている。パケットフローは、MT1とエンドホスト6A又はエンドホスト6Bとの間に確立される。このとき、MT1は、二つのエンドホストの一方となり、エンドホスト6A又はエンドホスト6Bは、リモートホストに相当する他のエンドホストとなる。
AP2AおよびAP2Bは、上述した無線アクセス技術の一つをそれぞれサポートしている。図1に示す例において、AP2Aは、MT1のフェムトセルを提供する。AP2Bは、3G又は4Gをサポートする一般セルを提供する。
さらに、MT1は、リンクアグリゲーション技術をサポートする。すなわち、MT1からエンドホスト(例えばエンドホスト6A又はエンドホス6B)へのアップリンク通信が行われる場合に、MT1は、MT1とAP2Aとの間の一方の無線リンク(無線リンク#1)およびMT1とAP2Bとの間の他方の無線リンク(無線リンク#2)上の一つのTCPパケットフローのパケットのスイッチ又はソートを行う。
LAA3は、無線リンク#1および無線リンク#2から到着するTCPパケットを受信し、受信されたTCPパケットの並べ換えをオリジナルの単一のパケットフローを作成するために行う。LAA3によって復元されたパケットフローのTCPパケットは、その宛先へ転送される。宛先がエンドホスト6Aであれば、TCPパケットは、同じネットワーク内にあるエンドホスト6Aに到着する。一方、宛先がエンドホスト6Bであれば、TCPパケットはルータ4およびIPネットワーク5を通じてエンドホスト6Bに到着する。このように、MT1はリンクアグリゲーションポイント1(LAポイント1)となり、LAA3はLAポイント2となる。また、その逆もある(エンドホストからMT1へのダウンリンク通信が実行されるならば、LAA3は、スイッチング又はソーティング処理を行い、MT1は上述した結合および並べ換え処理を行う)。
LAA3はTCPパケットのシーケンス番号に従って並べ換えを行う。無線リンク#1および無線リンク#2の一方からの幾つかのTCPパケットが既にLAA3に到着しているとき、無線リンク#1および無線リンク#2の他方からの幾つかのTCPパケットが未だ到着していなければ、LAA3は、当該TCPパケットの到着を待つタイムアウト値を有するタイマをセットする。
<LAAの構成>
図2は、LAA3の構成例を示す。図2において、LAA3は、基地局(例えばフェムトセルを生成する基地局),ルータ,L3スイッチ,又はレイヤ2スイッチ(L2 SW)のような中継装置である。LAA3は、無線インタフェース31,プロセッサ32,記憶装置33,記憶装置34,および通信インタフェース35を含んでいる。LAA3のこれらの部品31〜35はバスBによって相互に接続されている。プロセッサ32は、コントローラ又は制御装置の一例である。
無線インタフェース31は、AP2から又はAP2へのTCPパケットを送受信するための回路である。図2は、AP2Aに接続された無線インタフェース(無線IF)31Aと、AP2Bに接続された無線インタフェース(無線IF)31Bとを図示している。通信インタフェース(IF)35は、ルータ4およびエンドホスト6Aから又はルータ4およびエンドホストへのTCPパケットを送受信するための回路を含む。無線インタフェース31は、少なくとも二つのレシーバの一例である。
記憶装置33は、Random Access Memory (RAM)およびRead Only Memory (ROM)を含むメインメモリを含む。メインメモリは、プロセッサ32の作業領域として使用される。記憶装置34は、ハードディスク,フラッシュメモリ,Electrically Erasable Programmable Read-Only Memory (EEPROM)のような不揮発性記憶装置を含む。記憶装置34は、アクティブな無線リンクのそれぞれの情報を記憶するデータベース(フローDB34A)を記憶する(保持する)。当該情報は、アクティブな各無線リンクに対応するタイムアウト値に関する情報を含む。記憶装置34は、プロセッサ32によって実行される1以上のプログラムおよびプログラムが実行されるときに使用されるデータをさらに記憶す
る。
プロセッサ32は、central processing unit(CPU)またはdigital processing unit(DSP)のようなマイクロプロセッサである。プロセッサ32は、記憶装置33にプログラムをロードし、当該プログラムを実行する。これによって、プロセッサ32は、少なくともタイムアウト決定処理32A,遅延判定処理32B,およびパケット並べ換え処理32Cを含む様々な処理を実行する。
LAA3がアップリンク通信におけるLAポイント2として機能するとき、プロセッサ32は、遅延判定処理32Bを実行することによって無線リンク#1および無線リンク#2のそれぞれに対応するタイムアウト値を決定する。無線リンク#1および無線リンク#2からのTCPパケットは無線IF31Aおよび無線IF31Bによって受信され、記憶装置33上に形成されたバッファ領域に蓄積される。プロセッサ32は、バッファ領域に記憶されたTCPパケットに関する並べ換え処理を実行する。このとき、タイムアウト決定処理32Aによって決定されたタイムアウト値は、無線リンク#1および無線リンク#2のそれぞれからのTCPパケットの到着を待つために適用される。
さらに、プロセッサは、TCPパケットの並べ換えおよび結合によってパケットフローを作成する(復元する)。その後、パケットフローにおけるTCPパケットの宛先が判定され、TCPパケットは通信IF35から宛先(ルータ4またはエンドホスト6A)へ送信される。
タイムアウト決定処理32A,遅延判定処理32Bおよびパケット並べ換え処理32Cは、プロセッサ32の代わりの1以上のハードウェアによって実行される。例えば、ハードウェアは、Integrated Circuits(IC),Large Scale Integrated(LSI), Application Specific Integrated Circuits (ASIC),Field Programmable Gate Array
(FPGA)のようなLogic Programmable Devices (LPD)およびそれらの組み合わ
せである。さらに、LAA3は、少なくとも二つの無線インタフェースでサポートされていれば良いが、図2に比べて利用可能なさらなるインタフェースを有していても良い。
<LAA3における処理>
次に、LAA3における処理の詳細を以下に説明する。図2に示したようなLAA3の構成例は、LAポイント1(MT1)およびLAポイント2(LAA3)のために有効である。無線IF31Aおよび無線IF31Bは、無線リンク#1および無線リンク#2からリンクアグリゲーションのパケットを受信する。無線IF31Aは、第1無線アクセス技術をサポートし、無線IF31Bは第1無線アクセス技術と異なる第2無線アクセス技術をサポートする。
プロセッサ32は、リンクアグリゲーションのパケットにおけるシーケンス番号に従って受信されたTCP/IPパケットを再配置する。パケットの順序が逆転して到着したとき(例えば、シーケンス番号“2”を有するパケットが次の到着を期待されていたが、シーケンス番号“3”を有するパケットが到着した)、プロセッサ32は、記憶装置33および/または記憶装置34のバッファ領域に形成された特別なバッファ(待ちバッファ)内に当該パケットを格納し、期待されたパケットが到着するまで、またはタイムアウトタイマが満了するまで、パケットを保持する。タイムアウトタイマは、順序が逆転したパケットが到着したときはいつでも開始される。タイムアウトタイマは、待ちバッファが空になるか、タイムアウトタイマが満了したときにリセットされる。例えば、タイムアウトタイマはプロセッサ32によって制御される。
プロセッサ32は、遅延判定処理32Bを実行することによって、エンドホストに関す
る遅延を得る。「遅延」の用語は、エンドホスト又はネットワーク(サブネット単位)へのホップ数を単位とする物理的な距離を含む。また、「遅延」の用語は、パケットがエンドホストに到着し、エンドホストからLAA3に戻る時間に関する距離(間隔)、又はパケットがエンドホストへ行ったり来たりするためにどれ位時間が要求されるかの指示を与える時間又は空間のあらゆる他の手段を含む。
「遅延」に基づき、プロセッサ32は、タイムアウト決定処理32Aを実行することによって、パケット並べ換えのために最適なタイムアウト値をフロー毎に決定する。二つのホスト(例えばMT1とエンドホスト6A又はエンドホスト6B)の間のパケットフローが確立されたとき、または二つのホストの間のパケットフローが既に存在しており、「遅延」に関する新たな情報が遅延判定処理32Bによって得られたときに、タイムアウト値が決定されるようにしても良い。遅延を示す値は、フローDB34A内に記憶される。
遅延判定処理32Bにおいて、プロセッサ32は、リンクアグリゲーションされているフローに関する情報を得て、エンドホストに対する遅延に関するこれらのフローに関する情報を収集する。遅延はパケットフローを監視することによって得られる情報の判定または監視によって能動的に判定されるようにしても良い。例えば、新たなパケットフローが確立されたとき、プロセッサ32は、遅延判定処理32Bによって、エンドホストに対するラウンドトリップタイム(RTT)を判定するためにエンドホストへ“ping”パケットを送出するようにしても良い。さらに、プロセッサ32は、TCPパケットを監視するTCPパケットからRTTを調査しても良い(例えば、エンドホストへパケットが送られるとき、および同パケットの確認パケットがエンドホストから到着したとき)。プロセッサ32は、遅延判定処理32B,タイムアウト決定処理32Aおよびパケット並べ換え処理32CにおいてフローDB34A内に記憶された様々な情報を参照する。
<タイムアウト値を決定する例>
リンクアグリゲーションインタフェースによって要求されたトータルアグリゲート帯域およびエンドホストに対するRTTに基づくタイムアウトを算出するためのタイムアウト決定処理32Aの第1の例。
図3は、プロセッサ32によって実行されるタイムアウト決定処理32Aの例を示す。プロセッサ32は、特定のフローのためのタイムアウト値を計算する。図3に示すタイムアウト決定処理32Aは、二つのホスト(例えばMT1とエンドホスト6A又はエンドホスト6B)の間のパケットフローが確立されたとき、又は二つのホストの間のパケットフローが既に存在し、上述したような遅延に関する新たな情報が得られたときに開始される。
ステップS1において、プロセッサ32は、フローのアグリゲート帯域(aggregate bandwidth)を得る。プロセッサ32は、フローに利用可能な最大帯域を判定することによ
ってフローのアグリゲート帯域を算出することができる。例えば、無線リンク#1がLTE(10MHz,64QAM)を使用し、無線リンク#2がIEEE802.11gを使用し、利用可能な帯域は、96Mbps(54Mbps+42Mbps)である。これらの数(帯域)は、双方の標準の仕様から容易に利用可能であり、記憶装置33又は記憶装置34に記憶されているハードコートされたテーブルから容易に参照することができる。
ステップS2において、プロセッサ32は、ステップS1において算出された最大スループットでビットの受信ウィンドウ(RWIN)の設定を割ることによってTCPでの最大RTT(最大時間)を計算する。最大RTTは、エンド−エンドコネクションのセットアップ時にエンドホストへ通信されるTCPのセッティングによって容易に利用可能である。RWINの標準的な値は65536バイト(=524288ビット)である。96M
bpsの最大アグリゲート帯域のために、少なくともRTT“5.2ms”が要求される(524288/100663296=0.00052s=5.2ms)。
ステップS3において、プロセッサ32は、他のエンドホストに対するRTTを決定する。例えば、プロセッサ32は、pingメッセージを用いることによってRTTを測定する。エンドホストが同じ内部にあるとき(例えば、エンドホスト6A)、1又は2msの時間が容易にRTTとして得られる。エンドホストがインターネット上にあるとき(例えば、エンドホスト6B)、ラウンドトリップタイムが何になるかはエンドホストの物理的位置に依存する(例として、10msから500msの広範囲となり得る)。
ステップS4において、プロセッサ32は、順序が逆転した送信に関する確率分布を判定する。これは、特定のタイムアウト設定を使用するときにどれ位のパケットが、順序が逆転して転送されるであろうかを判定することによってリンク付けされる。例えば、タイムアウト設定が0ms(すなわち、他のパケットを待たない)であれば、その確率は、順序が逆転して到着するパケットの数と同じである。他の値を使用するとき、その値は順序が逆転して転送されるパケットの数を示す。パケットのタイムアウト値が増加させるとき、その確率は減少する一方でトータルリンクパケットロスより小さくならない。
ステップS5において、プロセッサ32は、最大パケットロス“A”(“A”は値を示す)を計算する。プロセッサ32は、TCPリンク上で許容される最大パケットロスを判定する。スループット,受信ウィンドウ(RWIN),およびラウンドトリップタイム(RTT)の間の関係は、以下の式(1)によって表現される。
Figure 2015517251
さらに、スループット,セグメントサイズ(MSS),およびパケットロス"PLOSS"は
、以下の式(2)によって表現される。
Figure 2015517251
式(1)および式(2)に基づき、パケットロス"PLOSS"は以下の式(3)によって算
出される。
Figure 2015517251
パケットロスは、もしパケットロスが算出された値より大きければ、最大TCPスループットはRTTによってではなくパケットロスによって制限されることを示す。従って、パケットロスはいつもパケットロス値より小さいことを維持することが必要とされる。最大セグメントサイズが1500[byte] (標準Ethernet(登録商標)を有する)でウィンド
ウサイズが65536を有する一般的なTCPコネクションにおいて、パケットロスは約(1500/65536)2=0.05%である。
ステップS6において、確率分布を用いて、プロセッサ32は、許容された最大RTTがRTTより大きいかどうかをチェックする。もし最大RTTがRTTより大きくなければ、全ての増加した時間は最大スループットを減少させ、最大スループットは(たとえリンクアグリゲーションを使用するとしても)達成されない。このため、順序の逆転の確率が以前のステップS5にて算出された値“A”(一般的なケースでは0.05%)を超えないようにタイムアウト値が設定される。しかしながら、ヘッドルームがある場合には、プロセッサ32は、次のステップS6へ進む。
ステップS7において、プロセッサ32は、タイムアウト値のための順序の逆転の確率“RTT−最大時間”を計算する。もし“RTT−最大時間”の値が“A”より小さい場合には、“RTT−最大時間”値ができるだけ多くのヘッドルームを許容するようにタイムアウト値が設定される。しかしながら、そうでないときには、以前のステップS5において計算されたような“A”と同じ値に対してタイムアウト値が設定される。
<確率分布の決定>
図3において、ステップ4は、順序が逆転した送信のための確率分布を得ることを含む。確率分布を得る一つの方法は、使用中の各無線技術の特性を見て各パケットのドロップ(破棄)確率を見ることである。これは、幾つかの技術は再送技術を使う(パケットのドロップは再送を原因として幾らかの追加遅延をもたらす。パケットの遅延はそのドロップではない)一方で他はそれをしない(パケットのドロップはパケットのドロップで終わる)ので、ドロップ確率は無線技術毎に異なる。例えば、LTEにおいて、パケットは最大5回まで再送される(基地局の設定に依存する)。送信エラーが発生したとき、パケットはいくらかの追加ミリ秒の間遅延するが、パケットはドロップされない。しかしながら、再送機構が無いかも知れない幾つかの無線技術のために、遅延したパケットは、ドロップされるより高い機会を有する。そのとき、このドロップ確率の使用は、或る量の待機時間の後にパケットが失われる機会を計算することによって順序が逆転する送信の分布を計算することを許容する。
<インタフェース上の最大スループットの決定>
ステップS2において、使用中の無線リンクの最大アグリゲートスループットは、トラフィックフローの最大タイムアウト値を決定するために使用される。その値は、インタフェース上で可能な最大スループットを得ることによって決定される(10MHz LTE
42MbpsおよびIEEE802.11 54Mbpsの場合)。しかし、実際にはこれらの速度は、制御チャネル,パケットヘッダ,およびリンク上で利用可能なその他のトラフィックのオーバヘッドのために殆ど得ることができない。一方、リンクの最大速度は、初回のタイムアウト値の計算時にインジケータとして使用することができ、LAポイント2によって観測されるフローの実速度を示すために適合させることができる。パケット並べ換え機能で観測されるパケットフロー速度は、タイムアウト値が増加したならばおそらく低下するであろうリンクアグリゲーション速度による影響をこのフローが受けるので使用することができない。
タイムアウト決定処理32Aの第1の例において、プロセッサ32は、新たなフローが検出され、pingパケットを用いて能動的に測定されたRTT値に基づいてタイムアウト値を計算する。しかし、pingパケットはエンドホストによってブロックされる可能性がある。これは、新たなコネクションが作成されるときにRTT値を得る方法で防がれる。第2の例において、プロセッサ32は、pingパケットを使用することなくRTTに対応する「遅延」値を判定する。
エンドホストのIPアドレスが得られたとき、プロセッサ32は、エンドホストの位置を決定する。オリジナル送信と同じサブネット内にあるIPアドレスはローカルエリアネットワーク内にあり、非常に小さいラウンドトリップタイムを持つ。しかし、同じサブネット内に無いIPアドレスは完全に異なる起源を持つかもしれない。そのとき、リバースDNSルックアップ(DNS(Domain Name System) サーバ)は、エンドホストの位置の
さらなる情報を供給するかも知れない。DNSのトップドメインがエンドホストとしての同じ国(country)の中にあるならば、相対的に低いRTTを期待することができる。エ
ンドホストが非常に遠いことをトップドメインが示すとき、エンドホストに対して高いラウンドトリップタイムがある。
図4は、宛先および宛先の一つに対応して予め設定された遅延を記憶するテーブル40の例を示す。例えば、テーブル40は、記憶装置34内に記憶される。遅延判定処理32Bにおいて、プロセッサ32は、エンドホストのIPアドレスに基づいてエンドホストの宛先(位置)を判定する。プロセッサ32は、テーブル40から宛先に対応する遅延を引き出す。プロセッサ32は、得られた遅延をタイムアウト決定処理32Aにおいて使用される遅延として決定する(図3におけるステップS3)。すなわち、エンドホストのIPアドレスのルックアップおよびこのIPが他のエンドホストとして同じサブネット内にあるかどうかのチェックによってローカルネットワークが決定される一方、エンドホストのIPアドレス又はDNSの情報に基づいて他のエントリが決定される。DNS情報は、リバースDNSルックアップ機構又は既に利用可能な“WHOIS”機構を用いることによって得ることができる。
次に、タイムアウト値を決定するための第3の例が説明される。図5は、ホップ数およびホップ数(ホップ量)に対応する予め設定された遅延を記憶するテーブル50の例を示す。図5において、ホップ数は、文字“a”から“d”によって表現されている。例えば、テーブル50は、記憶装置34内に記憶される。遅延判定処理32Bにおいて、プロセッサ32は、テーブル40の代わりにテーブル50を使用する。エンドホストのIPアドレスが得られたとき、プロセッサはエンドホストへのホップ数を測定する。ホップ数の測定のために、“traceroute”技術(既知)を使用することができる。プロセッサ32は、テーブル50からホップ数に対応する遅延を引き出す。プロセッサ32は、得られた遅延をタイムアウト決定処理32Aにおいて使用される遅延として決定する(図3のステップS3)。
本発明の実施形態によれば、パケットロスおよび距離のような遅延に基づいてタイムアウト値が決定される。したがって、固定された(ユニバーサル)タイムアウト値が使用されることによって生じる問題を回避することができ、上位レイヤに対する影響が抑止される。
上述した実施形態において、LAA3は無線リンク#1および無線リンク#2を介してMT1と接続されていると説明した。しかし、LAAは無線リンクの代わりの有線リンクを介してMT1と接続されても良い。すなわち、「リンク」は、無線リンクと有線リンクの双方を含むことができる。
ここに記載された全ての例および条件を含む言語は、本発明の理解およびその分野の促進に対し発明者が貢献した着想において読み手を救済するための教育的な目的向けのものであり、そのような具体的に記載された例および条件に対して制限のないように解釈されるべきであり、明細書におけるそのような例の組織化は本発明の優位性および優位性の証明に関するものではない。本発明の実施例は詳細に記述されているけれども、様々な変更,置換,代替が発明の主旨および範囲から離れないところでなし得ることを理解すべきである。
1・・・移動端末
2・・・アクセスポイント
3・・・リンクアグリゲーション装置
4・・・ルータ
5・・・ネットワーク
6・・・エンドホスト
31・・・無線インタフェース
32・・・プロセッサ
33,34・・・記憶装置
35・・・通信インタフェース
40,50・・・テーブル

Claims (6)

  1. 二つのエンドホストの間のパケットフローを流れるリンクアグリゲーションのパケットを複数のリンクから受信する少なくとも二つのレシーバと、
    前記二つのエンドホストのうちのリモートホストに関する遅延を決定する処理と、前記パケットフローにおける順序に基づき前記リンクアグリゲーションのパケットを並べ換える処理と、前記複数のリンクのそれぞれに対応するタイムアウト値であって、対応するリンクからのパケットの受信を待つために使用されるタイムアウト値をパケットロスおよび前記遅延に基づいて計算する処理とを実行するプロセッサと、
    を含むリンクアグリゲーション装置。
  2. 前記遅延は、前記リモートホストの位置に基づいて決定される
    請求項1に記載のリンクアグリゲーション装置。
  3. 前記遅延は、前記リモートホストが前記リンクアグリゲーション装置の属するローカルエリアネットワーク内に配置されているか前記ローカルエリアネットワークの外側に配置されているかに基づいて決定される
    請求項1に記載のリンクアグリゲーション装置。
  4. 前記遅延は、前記リモートホストに対するラウンドトリップタイムに基づいて決定される
    請求項1に記載のリンクアグリゲーション装置。
  5. 前記遅延は、前記リモートホストへのホップ数に基づいて決定される
    請求項1に記載のリンクアグリゲーション装置。
  6. 二つのエンドホストの間のパケットフローを流れるリンクアグリゲーションのパケットを複数のリンクから受信し、
    前記二つのホストのうちのリモートホストに関する遅延を決定し、
    前記パケットフローにおける順序に基づいて前記リンクアグリゲーションのパケットを並べ換え、
    プロセッサを用いて、前記複数のリンクのそれぞれに対応するタイムアウト値であって、対応するリンクからのパケットの受信を待つために使用されるタイムアウト値をパケットロスおよび前記遅延に基づいて計算する
    ことを含むリンクアグリゲーション装置のタイムアウト値決定方法。
JP2015502562A 2012-03-30 2012-03-30 リンクアグリゲーション装置 Pending JP2015517251A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/002249 WO2013145031A1 (en) 2012-03-30 2012-03-30 Link aggregation apparatus

Publications (1)

Publication Number Publication Date
JP2015517251A true JP2015517251A (ja) 2015-06-18

Family

ID=49258402

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015502562A Pending JP2015517251A (ja) 2012-03-30 2012-03-30 リンクアグリゲーション装置

Country Status (3)

Country Link
US (1) US20150016294A1 (ja)
JP (1) JP2015517251A (ja)
WO (1) WO2013145031A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9426060B2 (en) 2013-08-07 2016-08-23 International Business Machines Corporation Software defined network (SDN) switch clusters having layer-3 distributed router functionality
US20150098475A1 (en) * 2013-10-09 2015-04-09 International Business Machines Corporation Host table management in software defined network (sdn) switch clusters having layer-3 distributed router functionality
US9674297B2 (en) * 2015-02-09 2017-06-06 International Business Machines Corporation Handling packet reordering at a network adapter
US10116578B2 (en) 2015-10-22 2018-10-30 Qualcomm Incorporated Techniques for optimizing wireless wide area network-wireless local area network aggregation
JP6834385B2 (ja) * 2016-11-15 2021-02-24 富士通株式会社 プログラム、情報処理装置及び情報処理方法
US10715409B2 (en) * 2018-06-27 2020-07-14 Microsoft Technology Licensing, Llc Heuristics for end to end digital communication performance measurement
JP6800933B2 (ja) * 2018-10-11 2020-12-16 株式会社ソニー・インタラクティブエンタテインメント ネットワーク評価装置、評価方法およびプログラム
CN110740075B (zh) * 2019-09-06 2021-06-22 北京直真科技股份有限公司 一种以太网聚合链路精细化拨测与质量分析的方法
CN110784339B (zh) * 2019-10-09 2022-08-26 杭州迪普科技股份有限公司 Lacp报文超时的故障检测方法、装置、电子设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001244982A (ja) * 2000-03-01 2001-09-07 Nippon Telegr & Teleph Corp <Ntt> パケット欠落検出システム、送信装置、受信装置及びパケット欠落検出方法
US20040015591A1 (en) * 2002-07-18 2004-01-22 Wang Frank Xiao-Dong Collective TCP control for improved wireless network performance
JP4750644B2 (ja) * 2006-08-09 2011-08-17 株式会社エヌ・ティ・ティ・ドコモ 無線システム、無線通信装置及び通信方法
JP5590825B2 (ja) * 2008-06-30 2014-09-17 キヤノン株式会社 通信装置及びラウンドトリップ時間を求める方法
JP5273607B2 (ja) * 2008-12-02 2013-08-28 独立行政法人情報通信研究機構 無線通信システム及び無線通信方法
JP5347836B2 (ja) * 2009-08-25 2013-11-20 富士通株式会社 通信装置および通信方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN6015036277; 長谷川 洋平他: 'TCPの特性を考慮した複数経路通信方法の提案と評価' 電子情報通信学会技術研究報告 Vol.103 No.692, 20040227, pp.175-178 *
JPN6015036279; Cao Le Thanh Man他: 'ImTCP:利用可能帯域の計測を可能とするTCP' 電子情報通信学会技術研究報告 Vol.104 No.73, 20040514, pp.37-42 *
JPN6015036280; 石津 健太郎他: 'コグニティブ無線ネットワークにおいて柔軟なトラフィック制御を可能とするリンクアグリゲーションプラット' 電子情報通信学会技術研究報告 Vol.110 No.175, 20100819, pp.165-170 *

Also Published As

Publication number Publication date
WO2013145031A1 (en) 2013-10-03
US20150016294A1 (en) 2015-01-15

Similar Documents

Publication Publication Date Title
US10594596B2 (en) Data transmission
JP2015517251A (ja) リンクアグリゲーション装置
ES2758445T3 (es) Protocolo de control de trasmisión en una red de acceso de radio de evolución a largo plazo
EP2302827B1 (en) A method and device for transmitting data
US20130163428A1 (en) Method and system for improved tcp performance over mobile data networks
EP1854308A2 (en) Method and apparatus for supporting data flow control in a wireless mesh network
US9215609B2 (en) Method and system for measuring wireless link quality
WO2016068308A1 (ja) ゲートウェイ装置及びゲートウェイ装置の制御方法
WO2017015151A1 (en) Optimization of downlink throughput
Sharma et al. CL-ADSP: Cross-Layer adaptive data scheduling policy in mobile ad-hoc networks
JP5352852B2 (ja) 移動通信システム、及び通信方法
JP6244741B2 (ja) バッファ制御装置、バッファ制御方法および基地局装置
WO2016090978A1 (zh) 一种流量切换方法和装置
JP6164056B2 (ja) 通信システム、送信装置、中継装置及び通信方法
US20190223256A1 (en) Data transmission method, network device, and terminal device
JP2018511275A (ja) Tcpトンネル及びネイティブtcp情報に基づくバンドリングシナリオにおけるパケットのスケジューリングのための方法及びシステム
JP5146693B2 (ja) 擬似的応答フレーム通信システム、擬似的応答フレーム通信方法及び擬似的応答フレーム送信装置
US20220225163A1 (en) Communications device, infrastructure equipment and methods
KR20170142513A (ko) 다중망 병합 전송 장치, 그리고 이의 패킷 스케줄링 방법
EP3607708B1 (en) Congestion control in a dual-link arrangement
US20190075058A1 (en) Weighted fair queueing using severity-based window in reliable packet delivery network
JP5169338B2 (ja) 無線通信システム及びその方法と、それらに用いられる装置及びプログラム
Kucera et al. Latency as a service: Enabling reliable data delivery over multiple unreliable wireless links
JP6973511B2 (ja) 通信装置、通信システム、通信方法及びプログラム
WO2015185105A9 (en) Packet handling in wireless networks

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150908

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160112