JP4267988B2 - パケット送信量制御方法、通信システム、通信装置及びプログラム - Google Patents

パケット送信量制御方法、通信システム、通信装置及びプログラム Download PDF

Info

Publication number
JP4267988B2
JP4267988B2 JP2003314717A JP2003314717A JP4267988B2 JP 4267988 B2 JP4267988 B2 JP 4267988B2 JP 2003314717 A JP2003314717 A JP 2003314717A JP 2003314717 A JP2003314717 A JP 2003314717A JP 4267988 B2 JP4267988 B2 JP 4267988B2
Authority
JP
Japan
Prior art keywords
communication device
packet
delay amount
amount
transmission
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.)
Expired - Fee Related
Application number
JP2003314717A
Other languages
English (en)
Other versions
JP2005086375A (ja
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.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2003314717A priority Critical patent/JP4267988B2/ja
Publication of JP2005086375A publication Critical patent/JP2005086375A/ja
Application granted granted Critical
Publication of JP4267988B2 publication Critical patent/JP4267988B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、パケット送信量の制御に関し、特に、TCP(Transport Control Protocol)を用いてパケット送信量を制御するパケット送信量制御方法、通信システム、通信装置及びプログラムに関する。
従来、TCPを用いて、パケット送信量を制御する方式として、TCP RenoなどのReactiveな方式や、TCP VegasなどのProactiveな方式が実現されている。
TCP Renoでは、送信側の通信装置が、パケット送信量を徐々に増加させ、ネットワークの輻輳によるパケットロスを検出すると、パケット送信量を大きく低下させる。したがって、TCP Renoでは、パケットロスが発生する程度まで、ネットワークを輻輳させてしまうことが問題となる。
一方、TCP Vegasでは、送信側の通信装置が、受信側の通信装置との間のRound Trip Time(以下、RTT)を用いてネットワークが輻輳しているか否かを監視し、RTTが増加し始めると、パケット送信量を低下させる(例えば、非特許文献1)。このため、TCP Vegasでは、パケットロスが発生する前に、送信側の通信装置のパケット送信量を制御することができる。
ここで、TCP Vegasの動作原理について概説する。図7は、TCP Vegasが用いられるネットワークの構成例を示している。
TCPでは、送信側の通信装置であるサーバ200が、所定のデータパケット数によって構成されるウィンドウサイズを変更することによって、パケット送信量を制御する。
また、サーバ200から送信されたデータパケットに対して、受信側の通信装置である受信端末300から送信されるAck(Acknowledgement)パケットは、サーバ200がデータパケットを送信してからRTT経過後にサーバ200に到着すると考えられるため、ウィンドウサイズが(win)の場合におけるデータパケットの転送速度(T)は、(式1)のように表される。
Figure 0004267988
また、ネットワーク10が輻輳していない場合におけるRTTをRTTbaseとすると、転送速度(T)は、(式2)のように表される。
Figure 0004267988
TCP Vegasでは、通常、サーバ200がRTTを繰り返し測定し、測定したRTTの最小値をRTTbaseとして用いる。
一方、ネットワーク10が輻輳し始めると、ネットワーク10を構成するルータ11a,11bのキューイング遅延量(Dq)、つまり遅延時間が増加するため、ネットワーク10の輻輳時におけるデータパケットの転送速度(T')は、(式3)のように表される。
Figure 0004267988
さらに、TCP Vegasでは、ネットワーク10の輻輳によるデータパケットの転送速度の変化(Diff)が、(式4)を用いて算出される。
Diff = T - T' …(式4)
また、(Diff)を用いて、Diff×RTTbaseを計算すると(式5)のようになる。
Figure 0004267988
ここで、(T')は現在のデータパケットの転送速度であり、(Dq)は、ルータ11a,11bのキューイング遅延量(遅延時間)であるから、T'×Dqは、ルータ11a,11bにキューイングされたデータパケットの量を示していることとなる。
TCP Vegasでは、サーバ200が、Diff×RTTbaseに基づいて、1RTT毎にウィンドウサイズを1データパケットサイズ分ずつ増減することにより、ルータ11a,11bにキューイングされるデータパケットの量を調整する。
具体的には、Diff×RTTbase<α(αは、デフォルトでは1データパケットサイズ)の場合、ウィンドウサイズを1データパケットサイズ分増大させる。また、β<Diff×RTTbase(βは、デフォルトでは3データパケットサイズ)の場合、ウィンドウサイズを1データパケットサイズ分減少させる。
しかしながら、TCP Vegasでは、RTTを用いてサーバ200のパケット送信量を制御するため、下りリンク、つまり、サーバ200から受信端末300へのリンク(経路)、或いは、上りリンク、つまり受信端末300からサーバ200へのリンクの何れのリンクで輻輳が発生しているのかを区別できないことが問題として指摘されている。なお、以下の説明において、リンク(経路)とは、ネットワーク10を介して通信装置間を接続する物理的な通信路を指すものとする。
すなわち、上りリンクのみが輻輳している場合においてもRTTが増加するため、サーバ200は、受信端末300宛てのデータパケットの送信量、つまり、下りリンクへのパケット送信量を低下させてしまうこととなる。特に、上りリンクの通信帯域が、下りリンクの通信帯域よりも狭い、ADSLやCATVなどの非対象ネットワークにおいて、このような問題が発生し易い。
そこで、このような問題に鑑みて、"Delayed Ack"を用い、上りリンクの輻輳を抑制する方法が提案されている(例えば、非特許文献2、3)。
図8(a)及び(b)は、"Delayed Ack"が用いられない場合と、"Delayed Ack"が用いられる場合とのTCPの通信シーケンスの概略をそれぞれ示している。"Delayed Ack"が用いられない場合、受信端末300は、サーバ200から送信されたデータパケットのシーケンス(Seq#3〜#5)毎に、Ackパケットをサーバ200に送信する。
一方、"Delayed Ack"が用いられる場合、受信端末300は、サーバ200から送信されたデータパケットのシーケンス毎にはAckパケットを送信せず、複数のシーケンス分ごとに、Ackパケットをサーバ200に送信する。このように、Ackパケット数を低減することにより、上りリンクの輻輳を抑制することができる。
Lawrence S. Brakmo, Sean W. O'Malley, and Larry L. Peterson、"TCP Vegas: new techniques for congestion detection and avoidance"、ACM SIGCOMM、1994年10月 長谷川 剛、村田 正幸、宮原 秀夫、"非対称なネットワークにおけるTCPの性能評価"、電子情報通信学会技術研究報告、(CQ97−68)、pp. 69-76、1997年12月 R. Braden、"Requirements for Internet Hosts -- Communication Layers"、IETF RFC1122、1989年10月
しかしながら、TCP Vegasでは、上述した"Delayed Ack"を用いてAckパケット数を低減した場合でも、他のトラフィックに起因する上りリンクの輻輳が発生すると、サーバ200が、データパケットの送信量を低下させてしまい、下りリンクの通信帯域を効率的に利用することができないという問題があった。
例えば、図7に示すように、サーバ210から受信端末310へのトラフィックにより、ルータ11bからルータ11aの方向のリンクにおいて輻輳が発生した場合、サーバ200が測定するRTTが増加するため、ルータ11aからルータ11bの方向のリンクにおいては輻輳が発生していなくても、サーバ200は、増加したRTTに応じてパケット送信量を低下させてしまうこととなる。
ここで、上述したTCP Vegasの問題の原因について説明する。サーバ200と受信端末300との間のRTTを下りリンクと上りリンクとに分離すると、ネットワーク10が輻輳していない場合におけるRTTbaseは、(式6)のように表される。
RTTbase = RTTbase_down + RTTbase_up …(式6)
ここで、RTTbase_down、RTTbase_upは、ネットワーク10が輻輳していない場合の下りリンクの伝播時間と、上りリンクの伝播時間とをそれぞれ表している。
次に、下りリンクのキューイング遅延量を(Dq_down)、上りリンクのキューイング遅延量を(Dq_up)とすると、(Dq)は、(式7)のように表される。
Dq = Dq_down + Dq_up …(式7)
次に、上述した(式6)及び(式7)を用いると、(式2)、(式3)は以下のように表される。
Figure 0004267988
Figure 0004267988
なお、転送速度(T)は、ネットワーク10が輻輳していない場合において、サーバ200から送信されたデータパケットの転送速度である。また、転送速度(T')は、ネットワーク10が輻輳し始めた場合において、サーバ200から送信されたデータパケットの転送速度である。
次に、(式2')及び(式3')を用いると、(式5)は以下のように表される。
Diff×RTTbase = T'×(Dq_down + Dq_up) …(式5')
ここで、(式5')の内容に着目すると、転送速度(T')は、下りリンク、つまりサーバ200から受信端末300へのデータパケットの転送速度であるにも拘わらず、上りリンクのキューイング遅延量(Dq_up)を含んでおり、下りリンクの転送速度を正確に算出することができないこととなる。
すなわち、TCP Vegasでは、(式6)及び(式7)において、上りリンクのキューイング遅延量(Dq_up)を含めて転送速度(T')が決定されるため、下りリンクと、上りリンクとの輻輳を区別することができない。
さらに他の問題として、上述した"Delayed Ack"では、受信端末300が、上りリンクの輻輳の状態に応じて、Ackパケットの送信の頻度を動的に調整することができないという問題があった。
そこで、本発明は、以上の点に鑑みてなされたもので、TCPを用いてパケット送信量を制御する場合において、上りリンクならびに下りリンクへのパケット送信量を各リンクの輻輳の状態に応じて、それぞれ独立して制御することができるパケット送信量制御方法、通信システム、通信装置及びプログラムを提供することをその目的とする。
上述した課題を解決するため、本発明は、次のような特徴を有している。まず、本発明の第1の特徴は、第1の通信装置が、第2の通信装置からパケットを受信したパケット受信時刻と、前記第2の通信装置において付加された前記パケットの送信時刻を示すパケット送信時刻情報とに基づいて、前記第2の通信装置によって送信された前記パケットが前記第1の通信装置に到達するまでの遅延量を測定するステップと、前記第1の通信装置が、測定した複数の前記遅延量の中から、最小遅延量を決定するステップと、前記第1の通信装置が、前記遅延量と、前記最小遅延量との差に基づいて、前記第2の通信装置から前記第1の通信装置への経路において発生している変動遅延量を決定するステップと、前記第2の通信装置が、前記第1の通信装置から受信したパケットに付加されている前記変動遅延量を示す変動遅延量情報に基づいて、前記第1の通信装置に送信するパケットの送信量を制御するステップとを備えるパケット送信量制御方法であることを要旨とする。
本発明の第2の特徴は、第1の通信装置と、第2の通信装置とによって構成される通信システムであって、前記第1の通信装置が、前記第2の通信装置からパケットを受信したパケット受信時刻と、前記第2の通信装置において付加された前記パケットの送信時刻を示すパケット送信時刻情報とに基づいて、前記第2の通信装置によって送信された前記パケットが前記第1の通信装置に到達するまでの遅延量を測定する遅延量測定部と、測定した複数の前記遅延量の中から、最小遅延量を決定する最小遅延量決定部と、前記遅延量と、前記最小遅延量との差に基づいて、前記第2の通信装置から前記第1の通信装置への経路において発生している変動遅延量を決定する変動遅延量決定部とを備え、前記第2の通信装置が、前記第1の通信装置から受信したパケットに付加されている前記変動遅延量を示す変動遅延量情報に基づいて、前記第1の通信装置に送信するパケットの送信量を制御するパケット送信量制御部とを備えることを要旨とする。
かかる特徴によれば、第1の通信装置が備える変動遅延量決定部が、第2の通信装置から第1の通信装置の方向において発生している変動遅延量(キューイング遅延量)を決定し、第2の通信装置が備えるパケット送信量制御部が、変動遅延量に基づいて、第1の通信装置に送信するパケットの送信量を制御するため、逆方向、つまり、第1の通信装置から第2の通信方向において発生している変動遅延量に影響されることなく、第1の通信装置に送信するパケットの送信量を制御することができる。
すなわち、かかる特徴によれば、上りリンクと下りリンクの輻輳を区別できないという従来のTCP Vegasの問題点が解決され、通信装置が、上りリンクならびに下りリンクへのパケット送信量を各リンクの輻輳の状態に応じてそれぞれ独立して制御することにより、各リンクの実効通信帯域を常に最大限に利用することができる。
本発明の第3の特徴は、本発明の第2の特徴において、前記パケット送信量制御部が、前記第1の通信装置において付加された前記変動遅延量情報と、一度に前記第1の通信装置から送信されたパケットの数を示す送信パケット数情報とに基づいて、前記第2の通信装置に送信する応答パケットの送信量を制御することを要旨とする。
かかる特徴によれば、パケット量送信量制御部が、変動遅延量情報と、送信パケット数情報とに基づいて、応答パケット、つまりAckパケットの送信量を制御するため、通信装置は、ネットワークの輻輳の状態に応じつつ、送信側の通信装置から送信されたデータパケットの数に対して、送信するAckパケットの数を調整することができる。
すなわち、かかる特徴によれば、上りリンクの輻輳の状態に応じて、Ackパケットの送信の頻度を動的に調整しつつ"Delayed Ack"を用いることができる。この結果、通信装置は、上りリンクの輻輳を発生させない範囲で、できるだけ多くのAckパケットを送信することにより、"Delayed Ack"を用いない場合と同等の精度でパケット送信量の制御(フロー制御)を行うことができる。
本発明の第4の特徴は、通信システムにおいて用いられる通信装置であって、相手先通信装置からパケットを受信したパケット受信時刻と、前記相手先通信装置において付加された前記パケットの送信時刻を示すパケット送信時刻情報とに基づいて、前記相手先通信装置によって送信された前記パケットが前記通信装置に到達するまでの遅延量を測定する遅延量測定部と、測定した複数の前記遅延量の中から、最小遅延量を決定する最小遅延量決定部と、前記遅延量と、前記最小遅延量との差に基づいて、前記相手通信装置から前記通信装置への経路において発生している変動遅延量を決定する変動遅延量決定部とを備えることを要旨とする。
本発明の第5の特徴は、通信システムにおいて用いられる通信装置であって、前記通信装置から相手先通信装置への経路において発生している変動遅延量に基づいて、前記相手先通信装置に送信するパケットの送信量を制御するパケット送信量制御部を備えることを要旨とする。
本発明の第6の特徴は、本発明の第5の特徴において、前記パケット送信量制御部が、前記変動遅延量と、一度に前記相手先通信装置から送信されたパケットの数を示す送信パケット数情報とに基づいて、前記相手先通信装置に送信する応答パケットの送信量を制御することを要旨とする。
本発明の第7の特徴は、通信装置において実行されるプログラムであって、前記通信装置に、相手先通信装置からパケットを受信したパケット受信時刻と、前記相手先通信装置において付加された前記パケットの送信時刻を示すパケット送信時刻情報とに基づいて、前記相手先通信装置によって送信された前記パケットが前記通信装置に到達するまでの遅延量を測定する遅延量測定処理と、測定した複数の前記遅延量の中から、最小遅延量を決定する最小遅延量決定処理と、前記遅延量と、前記最小遅延量との差に基づいて、前記相手通信装置から前記通信装置への経路において発生している変動遅延量を決定する変動遅延量決定処理とを実行させることを要旨とする。
本発明の第8の特徴は、通信装置において実行されるプログラムであって、前記通信装置に、前記通信装置から相手先通信装置への経路において発生している変動遅延量に基づいて、前記相手先通信装置に送信するパケットの送信量を制御するパケット送信量制御処理を実行させることを要旨とする。
本発明の第9の特徴は、本発明の第8の特徴において、前記パケット送信量制御処理では、前記変動遅延量と、一度に前記相手先通信装置から送信されたパケットの数を示す送信パケット数情報とに基づいて、前記相手先通信装置に送信する応答パケットの送信量が制御されることを要旨とする。
本発明によれば、TCPを用いてパケット送信量を制御する場合において、上りリンクならびに下りリンクへのパケット送信量を各リンクの輻輳の状態に応じて、それぞれ独立して制御することができるパケット送信量制御方法、通信システム、通信装置及びプログラムを提供することができる。
以下、図面を参照しながら、本発明の実施形態について説明する。まず、図1及び図2を参照して、本発明の実施形態に係る通信システムの構成、及びパケット送信量を制御するために用いられる数式などについて説明する。
(通信システムの構成)
図1は、本実施形態に係る通信システムの構成を示している。同図に示すように、本実施形態に係る通信システムは、サーバ20と、受信端末30とから構成され、サーバ20と、受信端末30とは、ルータ11a及びルータ11bによって構成されるネットワーク10を介して接続されている。また、本実施形態において、サーバ20と受信端末30とは、通信装置を構成する。なお、通信装置としては、ネットワークに接続することができるサーバコンピュータ、PC、携帯情報端末(PDA)、携帯電話端末などを用いることができる。
サーバ20は、ネットワーク10を介して受信端末30に向けてIPパケット(データパケット)を送信するものであり、受信端末30との間において、TCPを用いてIPパケットの送信量を制御する機能を有している。
受信端末30は、ネットワーク10を介して、サーバ20から送信されたIPパケットを受信し、TCPを用いてAckパケット(応答パケット)を送信する機能を有している。
また、本実施形態では、サーバ20と受信端末30とが、下りリンクの輻輳と、上りリンクとの輻輳とを区別し、各リンクの輻輳の状況に応じて、各リンクへのパケット送信量を制御する。
(下りリンクへのパケット送信量の制御)
次に、上述した通信システムにおいて、サーバ20のパケット送信量を制御するために用いられる数式、及び変数などについて説明する。
図2は、サーバ20のパケット送信量を制御するために用いられる主要な変数などを示している。同図に示すように、本実施形態では、サーバ20のパケット送信量を制御するために、下り方向、つまり受信端末30へのデータパケットの送信時刻(t_down)、受信端末30が当該データパケットを受信したパケット受信時刻(s_down)、下りリンクのRelative Time Delay(RTD_down)、ネットワーク10の輻輳によって発生する下りリンクのキューイング遅延量(Dq_down)などが用いられる。
まず、上述したように、TCP Vegasでは、上りリンクのキューイング遅延量(Dq_up)を含めて、転送速度(T')が決定されるため、下りリンクと、上りリンクとの輻輳を区別することができない。
そこで、かかる問題を解決するためには、上述した(式6)、(式7)を以下のように変更すればよい。
RTTbase_proposal = RTTbase_down + RTTbase_up + Dq_up …(式6")
Dq_proposal = Dq_down …(式7")
すなわち、上りリンクのキューイング遅延量(Dq_up)を、RTTに含めて扱うようにする。(式6")、(式7")を用いると、(式2)、(式5)は以下のように表される。
Figure 0004267988
上述した式を用いれば、下りリンクの輻輳の状態のみを評価することができる。
次に、(RTTbase_proposal)と(Dq_proposal)の算出方法について説明する。上りリンクと下りリンクとの輻輳を区別するためには、(RTTbase_down)、(RTTbase_up)、(Dq_down)、(Dq_up)などの変数を直接測定することが望ましいが、一般に送信側の通信装置(サーバ20)と、受信側の通信装置(受信端末30)とのそれぞれの時計が計時する時刻の不一致が問題となり、上述した変数を直接測定することは困難である。
例えば、サーバ20がデータパケットを送信した時刻(t_down)と、受信端末30が当該データパケットを受信した時刻(s_down)とに基づいて、サーバ20から受信端末30までのデータパケットの伝播時間(RTT_down)を測定する際に、受信端末30の時計が、サーバ20の時計よりもΔt進んでいる場合、(式8)に示すように、(RTT_down)を測定することができない。
s_down―t_down = RTT_down + Δt …(式8)
そこで、本実施形態では、サーバ20と受信端末30とが、(RTTbase_proposal)を間接的に測定する。まず、(式6")は、(式9)のように変更することができる。
RTTbase_proposal = RTTbase_down + RTTbase_up + Dq_up
= RTT - Dq_down …(式9)
ここで、RTTは、サーバ20が、従来の方法を用いて測定することができる。したがって、(式7")、(式9)より、(Dq_down)が測定できれば、下りリンクの輻輳の状態を評価することができる。
本実施形態では、(Dq_down)を測定するため、Relative Time Delay(RTD)が用いられる。サーバ20と、受信端末30とのそれぞれの時計が計時する時刻は一致していないが、それぞれの時計が正確であれば、計時する時刻のずれ幅Δtは、常に一定である。
そこで、サーバ20は、送信するデータパケットに、当該データパケットの送信時刻(t_down)を付加する。次に、受信端末30は、(t_down)と、当該データパケットの受信時刻(s_down)とを用いて、(式8)による計算を行う。
すなわち、下りリンクのRelative Time Delay(RTD_down)は、(式10)のように表される。なお、(t_down)は、例えば、RFC1323 "TCP Extension for High Performance"において規定されるTimestampオプションを用いてデータパケットに付加することができる。
RTD_down = s_down - t_down = RTT_down + Δt …(式10)
受信端末30は、(RTD_down)を繰り返し測定する。さらに、測定された(RTD_down)の中で、最小の値を有する(RTD_down)をMin(RTD_down)とすると、以下のような関係があると考えられる。
Min(RTD_down) = Min(RTT_down) + Δt
= RTTbase_down + Δt …(式11)
RTT_down = RTTbase_down + Dq_Downであるため、(式10)、(式11)を用いれば、(式12)により、(Dq_down)を算出することができる。
Dq_down = RTT_down - RTTbase_down
= RTD_down - Min(RTD_down) …(式12)
上述した手順により、RTTと、(Dq_down)とが決定されるため、下りリンクの輻輳の状態を正確に評価することができる。
(上りリンクへのパケット送信量の制御)
次に、上述した通信システムにおいて、受信端末30のパケット送信量、具体的には、"delayed Ack"を用いつつ、上りリンクの輻輳の状態に応じてAckパケットの送信頻度を調整するために用いられる数式、及び変数などについて説明する。
図2に示すように、本実施形態では、受信端末30のパケット送信量を制御するために、上り方向、つまりサーバ20へのAckパケットの送信時刻(t_up)、サーバ20が当該Ackパケットを受信したパケット受信時刻(s_up)、上りリンクのRelative Time Delay(RTD_up)、ネットワーク10の輻輳によって発生する上りリンクのキューイング遅延量(Dq_up)などが用いられる。
受信端末30のパケット送信量を制御する手順は、上述したサーバ20のパケット送信量を制御する手順と同様である。但し、上りリンクの輻輳の状態を評価する場合、上りリンクの変動遅延をネットワーク10の輻輳による遅延と見なすために、(式6")、(式7")は、以下のように変更される。
RTTbase_proposal = RTTbase_down + RTTbase_up + Dq_down
Dq_proposal = Dq_up
次に、上りリンクの輻輳の状態に応じて、Ackパケットの送信頻度を動的に調整するために用いられる数式などについて説明する。本実施形態では、TCP Vegasに基づいて、Ackパケットの送信量、つまり、上りリンクへのパケット送信量が制御される。上りリンクの場合、Ackの送信速度(T')は、Ackパケットのサイズを(AckSize)、受信端末30が1ウィンドウ中に送信するAckパケットの数を(M)とすると、(式13)のように表される。
Figure 0004267988
受信端末30が、(式13)を用いてAckパケット送信速度(T')を算出し、上述したサーバ20のパケット送信量の制御する手順を用いれば、(式5")により、ルータ11a,11bのキューイングされているAckパケットの量を算出することができる。
また、サーバ20は、1ウィンドウ中にN個のデータパケットを送信しており、受信端末30は、N個のデータパケットに対して、M個のAckパケットを送信するものとする(0<M<N)。また、サーバ20は、常に現在のウィンドウ内データパケット数(N)を受信端末30に通知する。
受信端末30は、上りリンクの輻輳の状況を評価するために、(式13)を用いてAckパケット送信速度(T')と、(式5")を用いて、Diff×RTTbaseとを算出する。TCP Vegasでは、Diff×RTTbaseの値に応じて、ウィンドウサイズを1データパケットサイズ分ずつ増減する。上りリンクにおいても、TCP Vegasの動作に準じて、以下のようにAckパケットの送信頻度が制御される。
(1) Diff×RTTbase<α(αは、デフォルトでは1データパケットサイズ)
Mを"1"増加
(2)β<Diff×RTTbase(βは、デフォルトでは3データパケットサイズ)
Mを"1"減少
受信端末30は、Ackパケットの送信頻度を上述したように調整することにより、上りリンクの輻輳を発生させない範囲で、できるだけ多くのAckパケットを送信することができ、サーバ20と受信端末30とは、"Delayed Ack"を用いない場合と同等の精度でパケット送信量の制御(フロー制御)を行うことができる。
なお、上りリンクにおいては、下りリンクにおいて用いられる(α)、(β)の値と異なる値が選択されることも考えられる。例えば、情報伝達という観点からは、Ackパケットよりもデータパケットが重要であるとも考えられるため、そのような場合には、上りリンクの(α)、(β)の値を、下りリンクの(α)、(β)の値よりも小さくすればよい。上りリンクの(α)、(β)の値が小さくなると、Ackパケット送信個数(M)が小さくなり易くなるため、送信されるAckパケットの送信頻度が低下する。
上述した手順によれば、受信端末30は、上りリンクの輻輳の状態に応じてAckパケットの送信頻度を制御することができる。また、図7に示したように、サーバ200と受信端末300との間における上りリンクとして使用されているリンクが、サーバ210と受信端末310との間における下りリンクとして使用されている場合が発生し得る。このようなボトルネックリンクが、複数の通信装置によって共用されている場合、各通信装置が協調してパケットの送信量を制御し、ボトルネックリンクが輻輳しないようにすることが重要である。上述した手順によれば、このようなボトルネックリンクにおいても、各通信装置が、リンクの輻輳の状態に応じて、適切にパケット送信量を制御することができる。
さらに、上述した手順によれば、上りリンクが複数の通信装置によって共用されている場合においても、Ackパケットが、他のトラフィックの疎通を妨げるという従来技術の問題点が解決される。
なお、"Delayed Ack"により、Ackパケットの送信頻度が低下すると、受信端末30からサーバ20への応答の頻度が減り、また、1つのAckパケットで大量のデータパケットの到達が確認されるため、サーバ20が、Ackパケットを受信次第、大量のデータパケットをバースト的に送信する可能性が高まる。ネットワーク10に多数のサーバや端末などの通信装置が接続されている場合、Ackパケットの受信に伴うバースト的なデータパケットの送信が、ネットワーク10に一時的に過大な負荷をかけ、ネットワーク10が輻輳することがある。したがって、Ackパケットの送信頻度が連続して低下しないように、Ackパケットの送信頻度を適切に制御する必要がある。
(サーバ20及び受信端末30の論理ブロック構成)
次に、上述したパケット送信量の制御を実行するサーバ20及び受信端末30の論理ブロック構成について、図3を参照しながら説明する。
同図に示すように、サーバ20は、パケット送信部21と、パケット受信部22と、付加情報挿入部23と、遅延計算部24と、ウィンドウサイズ制御部25とを備えている。
パケット送信部21は、ネットワーク10を介して、IPパケット(データパケット)を受信端末30に送信するものである。また、パケット送信部21は、ウィンドウサイズ制御部25による制御に基づいて、1ウィンドウに含まれるIPパケット数を変更する。
パケット受信部22は、ネットワーク10を介して、IPパケット(Ackパケット)を受信端末30から受信するものである。また、パケット受信部22は、Ackパケットに付加されている下りリンクキューイング遅延量(Dq_down)情報や上りリンクへのパケット送信時刻(t_up)情報を、Ackパケットの受信時刻(s_up)とともに遅延計算部24に転送する。
付加情報挿入部23は、下り方向へのデータパケットの送信時刻(t_down)情報と、上りリンクのキューイング遅延量(Dq_up)情報と、送信パケット数(N)情報とをデータパケットに付加するものである。なお、送信パケット数(N)は、サーバ20が、1RTT内に送信するデータパケットの個数であり、現在のウィンドウサイズをデータパケットのサイズで除算することにより、算出することができる。
遅延計算部24は、Ackパケット受信時刻(s_up)と、Ackパケット送信時刻(t_up)情報とに基づいて、受信端末30によって送信されたAckパケットがサーバ20に到達するまでの遅延量(RTD_up)を測定するものである。
また、遅延計算部24は、測定した複数の(RTD_up)の中から、最小遅延量(Min(RTD_up))を決定するものである。さらに、遅延計算部24は、(RTD_up)と、(Min(RTD_up))との差に基づいて、受信端末30からサーバ20へのリンクにおいて発生している変動遅延量、すなわちキューイング遅延量(Dq_up)を決定するものである。また、遅延計算部24は、(t_down)と(s_up)とからRTTを計算する。
なお、本実施形態において、遅延計算部24は、遅延量測定部と、最小遅延量測定部と、変動遅延量決定部とを構成する。
ウィンドウサイズ制御部25は、受信端末30から受信したAckパケットに付加されているキューイング遅延量(Dq_down)情報に基づいて、受信端末30に送信するパケットの送信量を制御するものである。なお、パケットの送信量の制御は、上述した手順に基づいて実行される。また、本実施形態において、パケット送信部21とウィンドウサイズ制御部25とは、パケット送信量制御部を構成する。
さらに、付加情報挿入部23と、遅延計算部24と、ウィンドウサイズ制御部25とは、通信ネットワークを介してダウンロードしたり、CD-ROMなどの記憶媒体に記憶したりすることができるプログラムとしても提供することができる。
受信端末30は、パケット受信部31と、パケット送信部32と、付加情報挿入部33と、遅延計算部34と、Ackパケット送信回数決定部35とを備えている。
パケット受信部31は、ネットワーク10を介して、IPパケット(データパケット)をサーバ20から受信するものである。また、パケット受信部31は、データパケットに付加されている上りリンクキューイング遅延量(Dq_up)情報や下りリンクへのパケット送信時刻(t_down)情報を、データパケットの受信時刻(s_down)とともに遅延計算部34に転送する。
パケット送信部32は、ネットワーク10を介して、IPパケット、特に本実施形態では、Ackパケットをサーバ20に送信するものである。また、パケット送信部32は、Ackパケット送信回数決定部35による制御に基づいて、Ackパケットの送信頻度を変更する。
付加情報挿入部33は、上り方向へのデータパケットの送信時刻(t_up)情報と、下りリンクのキューイング遅延量(Dq_down)情報とをAckパケットに付加するものである。
遅延計算部34は、データパケット受信時刻(s_down)と、データパケット送信時刻(t_down)情報とに基づいて、サーバ20によって送信されたデータパケットが受信端末30に到達するまでの遅延量(RTD_down)を測定するものである。
また、遅延計算部34は、測定した複数の(RTD_down)の中から、最小遅延量(Min(RTD_down))を決定するものである。さらに、遅延計算部34は、(RTD_down)と、(Min(RTD_down))との差に基づいて、サーバ20から受信端末30へのリンクにおいて発生している変動遅延量、すなわちキューイング遅延量(Dq_down)を決定するものである。また、遅延計算部34は、(t_up)と(s_down)とからRTTを計算する。
なお、本実施形態において、遅延計算部34は、遅延量測定部と、最小遅延量測定部と、変動遅延量決定部とを構成する。
Ackパケット送信回数決定部35は、サーバ20から受信したデータパケットに付加されているキューイング遅延量(Dq_up)情報に基づいて、サーバ20に送信するパケットの送信量を制御するものである。具体的には、Ackパケット送信回数決定部35は、キューイング遅延量(Dq_up)情報と、一度にサーバ20から送信されたパケットの数、すなわち1ウィンドウ内のデータパケット数を示す送信パケット数(N)情報とに基づいて、サーバ20に送信するAckパケットの送信量を制御する。
なお、Ackパケットの送信量の制御は、上述した手順に基づいて実行される。また、本実施形態において、パケット送信部32とAckパケット送信回数決定部35とは、パケット送信量制御部を構成する。
さらに、付加情報挿入部33と、遅延計算部34と、Ackパケット送信回数決定部35とは、通信ネットワークを介してダウンロードしたり、CD-ROMなどの記憶媒体に記憶したりすることができるプログラムとしても提供することができる。
(下りリンクへのパケット送信量の制御方法)
次に、図4を参照して、下りリンクへのパケット送信量の制御方法、つまり、サーバ20から受信端末30に対して送信されるデータパケットの送信量を制御する方法について説明する。本制御方法では、1RTTごとに、Relative Time Delay(RTD)を測定するための情報を付加する形態を例として説明する。
まず、ステップS10において、サーバ20は、送信パケット数(N)情報と、データパケットの送信時刻(t_down)情報とをデータパケットに付加する。
ステップS20において、サーバ20は、ステップS10において情報が付加されたデータパケットを受信端末30に送信する。
ステップS30において、サーバ20は、データパケットの送信時刻(t_down)情報を保持する。
ステップS40において、受信端末30は、サーバ20によって送信されたデータパケットを受信する。
ステップS50において、受信端末30は、受信したデータパケットに付加されている送信パケット数(N)情報と、データパケットの送信時刻(t_down)情報とを取得する。
ステップS60において、受信端末30は、データパケットの受信時刻(s_down)と、データパケットに付加されている送信時刻(t_down)情報から、下りリンクのRTD(RTD_down)を上述した(式10)を用いて計算する。
ステップS70において、受信端末30は、下りリンクのキューイング遅延量(Dq_down)を上述した(式12)を用いて計算する。なお、本実施形態では、受信端末30は、下りリンクのRTD(RTD_down)の最小値(Min(RTD_down))を保持しているものとする。
ステップS80において、受信端末30は、下りリンクのキューイング遅延量(Dq_down)情報と、Ackパケットの送信時刻(t_up)情報をAckパケットに付加する。なお、Ackパケットの送信時刻(t_down)は、上述したように、Timestampオプションを用いてAckパケットに付加することができる。
ステップS90において、受信端末30は、ステップS80において情報が付加されたAckパケットを受信端末30に送信する。なお、当該情報が付加されたAckパケットは、"Delayed Ack"を用いることなく、直ちにサーバ20に送信される。
ステップS100において、サーバ20は、受信端末30によって送信されたAckパケットを受信する。
ステップS110において、サーバ20は、ステップS30において保持したデータパケットの送信時刻(t_down)情報と、Ackパケットの受信時刻からRTTを計算する。
ステップS120において、サーバ20は、Ackパケットに付加されている下りリンクのキューイング遅延量(Dq_down)情報を取得する。
ステップS130において、サーバ20は、Diff×RTTbaseを上述した(式5")及び(式9)を用いて計算する。
ステップS140において、サーバ20は、ステップS130において計算された結果に基づいて、送信ウィンドウサイズを制御する。具体的には、サーバ20は、上述したTCP Vegasによる方法を用い、Diff×RTTbase<α(αは、デフォルトでは1データパケットサイズ)の場合、ウィンドウサイズを1データパケットサイズ分増大させる。また、β<Diff×RTTbase(βは、デフォルトでは3データパケットサイズ)の場合、ウィンドウサイズを1データパケットサイズ分減少させる。
(上りリンクへのパケット送信量の制御方法)
次に、図5を参照して、上りリンクへのパケット送信量の制御方法、つまり、受信端末30からサーバ20に対して送信されるAckパケットの送信頻度を、"Delayed Ack"を用いつつ調整する方法について説明する。本制御方法では、上述した下りリンクへのパケット送信量の制御方法と同様に、1RTTごとに、RTDを測定するための情報を付加する形態を例として説明する。
ここでは、上述したステップS90の処理、すなわち、受信端末30が、サーバ20にAckパケットを送信する処理から説明する。ステップS90において、受信端末30が、サーバ20に送信するAckパケットには、上述したステップS80において、下りリンクのキューイング遅延量(Dq_down)情報と、Ackパケットの送信時刻(t_up)情報とが付加されている。
ステップS91において、受信端末30は、Ackパケットの送信時刻(t_up)情報を保持する。
ステップS100において、サーバ20は、受信端末30によって送信されたAckパケットを受信する。
次に、ステップS200において、サーバ20は、受信したAckパケットに付加されているAckパケットの送信時刻(t_up)情報を取得する。
ステップS210において、サーバ20は、Ackパケットの受信時刻(s_up)と、データAckパケットに付加されている送信時刻(t_up)情報から、上りリンクのRTD(RTD_up)を上述した(式10)と同様の式を用いて計算する。
ステップS220において、サーバ20は、上りリンクのキューイング遅延量(Dq_up)を上述した(式12)と同様の式を用いて計算する。なお、本実施形態では、サーバ20は、上りリンクのRTD(RTD_up)の最小値(Min(RTD_up))を保持しているものとする。
ステップS230において、サーバ20は、送信パケット数(N)情報と、データパケットの送信時刻(t_down)情報と、上りリンクのキューイング遅延量(Dq_up)情報とをデータパケットに付加する。
ステップS240において、サーバ20は、ステップS230において情報が付加されたAckパケットを受信端末30に送信する。
ステップS250において、サーバ20は、データパケットの送信時刻(t_down)情報を保持する。
ステップS260において、受信端末30は、サーバ20によって送信されたデータパケットを受信する。
ステップS270において、受信端末30は、受信したデータパケットに付加されている送信パケット数(N)報報に基づいて、上述したステップS50において取得した送信パケット数(N)報報を更新する。
ステップS280において、受信端末30は、ステップS91において保持したAckパケットの送信時刻(t_up)情報と、データパケットの受信時刻(s_down)からRTTを計算する。
ステップS290において、受信端末30は、データパケットに付加されている上りリンクのキューイング遅延量(Dq_up)情報を取得する。
ステップS300において、受信端末30は、Diff×RTTbaseを上述した(式5")及び(式9)と同様の式を用いて計算する。
ステップS310において、受信端末30は、ステップS300において計算された結果に基づいて、Ackパケットの送信頻度を調整する。具体的には、受信端末30は、上述した手順を用い、Diff×RTTbase<α(αは、デフォルトでは1データパケットサイズ)の場合、サーバ20から送信されたN個のデータパケットに対してM個のAckパケットを送信するとしている場合、Mの値を"1"増加させる。また、β<Diff×RTTbase(βは、デフォルトでは3データパケットサイズ)の場合、Mの値を"1"減少させる。
上述した制御方法によれば、(Dq)などの情報が付加されたパケットが、サーバ20と受信端末30との間でキャッチボールのように送受されるため、1RTTに1回の頻度でサーバ20と受信端末30とが、パケット送信量を制御することができる。また、当該情報が付加されたパケットが、ネットワーク10上において破棄されると、RTTやRTDが測定できなくなるため、1RTT内において送信される複数のパケットに(Dq)などの情報を付加して、サーバ20と受信端末30との間で送受するようにすることも勿論可能である
さらに、"Delayed Ack"を用いた場合において、受信端末30がAckパケットを送信するまでの待ち時間や、破棄されたAckパケットの次のAckパケットを受信するまでの時間が、サーバ20によって測定されるRTTに含まれると、正確な転送速度(T')が算出できなくなることが問題点として指摘(例えば、Chengpeng Fu and Soung C. Liew、"A Remedy for Performance Degradation of TCP Vegas in Asymmetric Networks"、IEEE communication letter 2002)されている。
上述した制御方法によれば、(Dq)などの情報が付加されたAckパケットは、ステップS90において説明したように、"Delayed Ack"を用いることなく、直ちにサーバ20に送信されるため、Ackパケットを送信するまでの待ち時間や、破棄されたAckパケットの次のAckパケットを受信するまでの時間が、サーバ20によって測定されるRTTに含まれることを回避することでき、サーバ20と受信端末30とは、正確な転送速度(T')を算出することができる。
(作用・効果)
本実施形態によれば、上りリンクと下りリンクの輻輳を区別できないという従来のTCP Vegasの問題点が解決され、サーバ20と受信端末30が、上りリンクならびに下りリンクへのパケット送信量を各リンクの輻輳の状態に応じてそれぞれ独立して制御することにより、各リンクの実効通信帯域を常に最大限に利用することができる。
本実施形態によれば、受信端末30が、(Dq_up)と、送信パケット数(N)情報とに基づいて、Ackパケットの送信頻度を調整するため、受信端末30は、ネットワーク10の輻輳の状態に応じつつ、サーバ20から送信されたデータパケットの数に対して、送信するAckパケットの数を調整することができる。
(変更例)
上述した本発明の実施形態においては、サーバ20と受信端末30とが、それぞれパケットの送信量を制御する形態について説明したが、本発明は、図6に示すような通信システムにおいても適用することができる。
同図に示すように、ネットワーク10には、ネットワーク12を介してサーバ26と、ネットワーク13を介して、サーバ27とがそれぞれ接続されている。また、サーバ26には受信端末36が、サーバ27には受信端末37が、それぞれ接続されている。
同図に示すような通信システムでは、サーバ26とサーバ27との間において、上述したようなパケット送信量の制御方法を用いることができる。また、サーバ26と受信端末36との間や、サーバ27と受信端末37との間において、かかる制御方法を用いることも勿論可能である。
さらに、ルータ11a,11bが、TCP層の処理を実行することができる場合、例えば、マルチレイヤスイッチである場合、ルータ11aとサーバ26との間や、ルータ11bとサーバ27との間において、かかる制御方法を用いてもよい。
すなわち、本発明は、TCP層の処理を実行することができる通信装置、機器、端末、ノードなどに適用することができる。
本発明の実施形態に係る通信システムの構成を示す図である。 本発明の実施形態に係る通信システムにおいてパケット送信量を制御するために用いられる変数などを示す図である。 本発明の実施形態に係る通信システムの論理ブロック構成を示す図である。 本発明の実施形態に係るパケット送信量の制御フローを示す図である。 本発明の実施形態に係るパケット送信量の制御フローを示す図である。 本発明の変更例に係る通信システムの構成を示す図である。 従来の通信装置によって構成される通信システムを示す図である。 従来の"Delayed Ack"の処理の概念を示す図である。
符号の説明
10…ネットワーク、11a,11b…ルータ、12,13…ネットワーク、20…サーバ、21…パケット送信部、22…パケット受信部、23…付加情報挿入部、24…遅延計算部、25…ウィンドウサイズ制御部、26,27…サーバ、30…受信端末、31…パケット受信部、32…パケット送信部、33…付加情報挿入部、34…遅延計算部、35…Ackパケット送信回数決定部、36,37…受信端末、200,210…サーバ、300,310…受信端末

Claims (7)

  1. 第1の通信装置が、第2の通信装置からパケットを受信したパケット受信時刻と、前記第2の通信装置において付加された前記パケットの送信時刻を示すパケット送信時刻情報とに基づいて、前記第2の通信装置によって送信された前記パケットが前記第1の通信装置に到達するまでの遅延量を測定するステップと、
    前記第1の通信装置が、測定した複数の前記遅延量の中から、最小遅延量を決定するステップと、
    前記第1の通信装置が、前記遅延量と、前記最小遅延量との差に基づいて、前記第2の通信装置から前記第1の通信装置への経路において発生している変動遅延量を決定するステップと、
    前記第2の通信装置が、前記第1の通信装置から受信したパケットに付加されている前記変動遅延量を示す変動遅延量情報に基づいて、前記第1の通信装置に送信するパケットの送信量を制御するステップと
    を備えることを特徴とするパケット送信量制御方法。
  2. 第1の通信装置と、第2の通信装置とによって構成される通信システムであって、
    前記第1の通信装置は、
    前記第2の通信装置からパケットを受信したパケット受信時刻と、前記第2の通信装置において付加された前記パケットの送信時刻を示すパケット送信時刻情報とに基づいて、前記第2の通信装置によって送信された前記パケットが前記第1の通信装置に到達するまでの遅延量を測定する遅延量測定部と、
    測定した複数の前記遅延量の中から、最小遅延量を決定する最小遅延量決定部と、
    前記遅延量と、前記最小遅延量との差に基づいて、前記第2の通信装置から前記第1の通信装置への経路において発生している変動遅延量を決定する変動遅延量決定部と
    を備え、
    前記第2の通信装置は、
    前記第1の通信装置から受信したパケットに付加されている前記変動遅延量を示す変動遅延量情報に基づいて、前記第1の通信装置に送信するパケットの送信量を制御するパケット送信量制御部と
    を備えることを特徴とする通信システム。
  3. 前記パケット送信量制御部は、前記第1の通信装置において付加された前記変動遅延量情報と、一度に前記第1の通信装置から送信されたパケットの数を示す送信パケット数情報とに基づいて、前記第1の通信装置に送信する応答パケットの送信量を制御することを特徴とする請求項2に記載の通信システム。
  4. 通信システムにおいて用いられる通信装置であって、
    相手先通信装置からパケットを受信したパケット受信時刻と、前記相手先通信装置において付加された前記パケットの送信時刻を示すパケット送信時刻情報とに基づいて、前記相手先通信装置によって送信された前記パケットが前記通信装置に到達するまでの遅延量を測定する遅延量測定部と、
    測定した複数の前記遅延量の中から、最小遅延量を決定する最小遅延量決定部と、
    前記遅延量と、前記最小遅延量との差に基づいて、前記相手通信装置から前記通信装置への経路において発生している変動遅延量を決定する変動遅延量決定部と
    を備えることを特徴とする通信装置。
  5. 通信システムにおいて用いられる通信装置であって、
    前記通信装置から相手先通信装置への経路において発生している変動遅延量に基づいて、前記相手先通信装置に送信するパケットの送信量を制御するパケット送信量制御部を備え、
    前記パケット送信量制御部は、前記変動遅延量と、一度に前記相手先通信装置から送信されたパケットの数を示す送信パケット数情報とに基づいて、前記相手先通信装置に送信する応答パケットの送信量を制御することを特徴とする通信装置。
  6. 通信装置において実行されるプログラムであって、前記通信装置に、
    相手先通信装置からパケットを受信したパケット受信時刻と、前記相手先通信装置において付加された前記パケットの送信時刻を示すパケット送信時刻情報とに基づいて、前記相手先通信装置によって送信された前記パケットが前記通信装置に到達するまでの遅延量を測定する遅延量測定処理と、
    測定した複数の前記遅延量の中から、最小遅延量を決定する最小遅延量決定処理と、
    前記遅延量と、前記最小遅延量との差に基づいて、前記相手通信装置から前記通信装置への経路において発生している変動遅延量を決定する変動遅延量決定処理と
    を実行させることを特徴とするプログラム。
  7. 通信装置において実行されるプログラムであって、
    前記通信装置に、
    前記通信装置から相手先通信装置への経路において発生している変動遅延量に基づいて、前記相手先通信装置に送信するパケットの送信量を制御するパケット送信量制御処理を実行させ、
    前記パケット送信量制御処理では、前記変動遅延量と、一度に前記相手先通信装置に送信したパケットの数を示す送信パケット数情報とに基づいて、前記相手先通信装置に送信する応答パケットの送信量が制御されることを特徴とするプログラム。
JP2003314717A 2003-09-05 2003-09-05 パケット送信量制御方法、通信システム、通信装置及びプログラム Expired - Fee Related JP4267988B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003314717A JP4267988B2 (ja) 2003-09-05 2003-09-05 パケット送信量制御方法、通信システム、通信装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003314717A JP4267988B2 (ja) 2003-09-05 2003-09-05 パケット送信量制御方法、通信システム、通信装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2005086375A JP2005086375A (ja) 2005-03-31
JP4267988B2 true JP4267988B2 (ja) 2009-05-27

Family

ID=34415223

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003314717A Expired - Fee Related JP4267988B2 (ja) 2003-09-05 2003-09-05 パケット送信量制御方法、通信システム、通信装置及びプログラム

Country Status (1)

Country Link
JP (1) JP4267988B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006340078A (ja) * 2005-06-02 2006-12-14 Nippon Telegr & Teleph Corp <Ntt> フロー制御方法およびその装置
JP4904215B2 (ja) * 2007-06-28 2012-03-28 京セラ株式会社 伝送遅延測定装置及び伝送遅延測定方法
JP5387058B2 (ja) * 2009-03-04 2014-01-15 日本電気株式会社 送信装置、送信レート算出方法及び送信レート算出プログラム
JP5246015B2 (ja) * 2009-04-23 2013-07-24 富士通株式会社 サーバおよびack返信方法
WO2013011638A1 (ja) * 2011-07-19 2013-01-24 日本電気株式会社 通信装置およびその通信制御方法
WO2013128885A1 (ja) * 2012-03-02 2013-09-06 日本電気株式会社 コネクション型通信を実行する通信装置及びコネクション型通信方法
JP7214396B2 (ja) * 2018-08-23 2023-01-30 キヤノン株式会社 通信装置、通信装置の制御方法およびプログラム
JP7286513B2 (ja) * 2019-11-18 2023-06-05 キヤノン株式会社 通信装置、通信装置の制御方法、及びプログラム

Also Published As

Publication number Publication date
JP2005086375A (ja) 2005-03-31

Similar Documents

Publication Publication Date Title
US11876711B2 (en) Packet transmission system and method
Polese et al. A survey on recent advances in transport layer protocols
Al-Saadi et al. A survey of delay-based and hybrid TCP congestion control algorithms
EP1876779B1 (en) Congestion and delay handling in a packet data network
Gerla et al. TCP Westwood with adaptive bandwidth estimation to improve efficiency/friendliness tradeoffs
Callegari et al. Behavior analysis of TCP Linux variants
WO2007141643A1 (en) Dynamically adjusting the amount of packets to be acknowledged in an asymmetric communication system
CA2915487C (en) Method for performing a bandwidth test for comminications from a first network station to a second network station of a communication network and corresponding apparatuses for performing the method steps and corresponding computer program products
KR20060100512A (ko) 전송제어 프로토콜 기반의 네트워크에서 평균 대역폭 추정방법 및 시스템
Wang et al. Using adaptive rate estimation to provide enhanced and robust transport over heterogeneous networks
KR102318284B1 (ko) 데이터 전송 경로의 혼잡 탐지 방법 및 장치
Nandagopal et al. Service differentiation through end-to-end rate control in low bandwidth wireless packet networks
Thilagavathe et al. Cross layer based congestion control technique for reliable and energy aware routing in MANET
JP4267988B2 (ja) パケット送信量制御方法、通信システム、通信装置及びプログラム
Najmuddin et al. A BBR-based congestion control for delay-sensitive real-time applications
JP2011061699A (ja) 輻輳制御装置及び輻輳制御方法
Man et al. ImTCP: TCP with an inline measurement mechanism for available bandwidth
Kilinc et al. A congestion avoidance mechanism for WebRTC interactive video sessions in LTE networks
Abdullah Enhancing the TCP Newreno Fast RecoveryAlgorithm on 5G Networks
JP5308364B2 (ja) 送信装置、送信方法及びプログラム
Tsukamoto et al. Cognitive radio-aware transport protocol for mobile ad hoc networks
Pu et al. Enhancements on router-assisted congestion control for wireless networks
Al-Saadi et al. Characterising LEDBAT performance through bottlenecks using PIE, FQ-CoDel and FQ-PIE active queue management
Armitage et al. Using delay-gradient TCP for multimedia-friendly ‘background’transport in home networks
Blefari-Melazzi et al. Controlling TCP Fairness in WLAN access networks using a Rate Limiter approach

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060411

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081014

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090127

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090219

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120227

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120227

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130227

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140227

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees