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

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

▶ 日本放送協会の特許一覧

特許6491521パケット通信におけるパケット送信装置、通信端末及び輻輳制御方法
<>
  • 特許6491521-パケット通信におけるパケット送信装置、通信端末及び輻輳制御方法 図000002
  • 特許6491521-パケット通信におけるパケット送信装置、通信端末及び輻輳制御方法 図000003
  • 特許6491521-パケット通信におけるパケット送信装置、通信端末及び輻輳制御方法 図000004
  • 特許6491521-パケット通信におけるパケット送信装置、通信端末及び輻輳制御方法 図000005
  • 特許6491521-パケット通信におけるパケット送信装置、通信端末及び輻輳制御方法 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6491521
(24)【登録日】2019年3月8日
(45)【発行日】2019年3月27日
(54)【発明の名称】パケット通信におけるパケット送信装置、通信端末及び輻輳制御方法
(51)【国際特許分類】
   H04L 12/807 20130101AFI20190318BHJP
【FI】
   H04L12/807
【請求項の数】5
【全頁数】14
(21)【出願番号】特願2015-81303(P2015-81303)
(22)【出願日】2015年4月10日
(65)【公開番号】特開2016-201705(P2016-201705A)
(43)【公開日】2016年12月1日
【審査請求日】2018年2月26日
【権利譲渡・実施許諾】特許権者において、実施許諾の用意がある。
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】100143568
【弁理士】
【氏名又は名称】英 貢
(72)【発明者】
【氏名】小山 智史
(72)【発明者】
【氏名】青木 勝典
【審査官】 玉木 宏治
(56)【参考文献】
【文献】 特開2005−184494(JP,A)
【文献】 米国特許出願公開第2009/0022055(US,A1)
【文献】 小山 智史 他,双方向デジタルFPUにおけるTCP輻輳制御方式の一検討,電子情報通信学会技術研究報告,2014年 8月11日,第114巻、第131号,pp.123-128(CQ2014-7)
【文献】 小山 智史 他,データリンクレイヤによる遅延を考慮したディレイベースTCPのスループット公平性の評価,電子情報通信学会2014年総合大会講演論文集 通信2,2014年 3月 4日,p.153(B-6-153)
【文献】 兼子 和巳 他,高速回線における親和性を考慮したTCP輻輳制御の一方式,電子情報通信学会2005年通信ソサイエティ大会講演論文集2,2005年 9月 7日,p.160(B-7-33)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00−955
(57)【特許請求の範囲】
【請求項1】
送達確認に基づく遅延量を用いてパケット送信に関する輻輳ウインドウの制御を行うパケット送信装置であって、
パケット送信の送達確認に基づく往復遅延時間(RTT)を算出する手段と、
予め定めたパケット遅延量に関する計測期間内における当該往復遅延時間(RTT)に関して、直前の1計測期間内で計測した最小の値である計測期間内最小の往復遅延時間(RTTmin)、通信を開始してから、又は通信開始後にTCPタイムアウトが発生している場合は直近のTCPタイムアウト後から、現時点までに計測した最小の値である輻輳ウインドウサイズ調整基準の往復遅延時間(RTTbase)、及び、通信を開始してから、又は最後の輻輳ウインドウサイズの減少イベントから、現時点までに計測した最小の値である輻輳判定基準の往復遅延時間(RTTbaseTmp)と、を保持し、当該往復遅延時間(RTT)を算出する度に、前記計測期間内最小の往復遅延時間(RTTmin)、前記輻輳ウインドウサイズ調整基準の往復遅延時間(RTTbase)、及び前記輻輳判定基準の往復遅延時間(RTTbaseTmp)を更新する手段と、
パケットロスの未発生時に、当該往復遅延時間(RTT)を算出した現時点から2計測期間前のCWNDの値である輻輳ウインドウサイズの更新パラメータ(cwnd2)、前記計測期間内最小の往復遅延時間(RTTmin)、及び前記輻輳判定基準の往復遅延時間(RTTbaseTmp)を用いた所定の輻輳判定式により、輻輳判定を行う手段と、
パケットロスの未発生時、及び輻輳未発生時に、既定の計算式に基づいて輻輳ウインドウサイズを拡大可能に更新する、輻輳ウインドウサイズの第1の更新手段と、
パケットロスの発生時、及び輻輳発生時に、前記輻輳ウインドウサイズ調整基準の往復遅延時間(RTTbase)を用いた予め定めた更新式により、前記減少イベントを含み輻輳ウインドウサイズを縮小可能に更新する、輻輳ウインドウサイズの第2の更新手段と、
を備えることを特徴とするパケット送信装置。
【請求項2】
前記輻輳判定を行う手段は、予め定めたパラメータ(a)を用いて、
cwnd2×(RTTmin−RTTbaseTmp)/RTTmin>a
を満たす場合に輻輳と判定することを特徴とする、請求項1に記載のパケット送信装置。
【請求項3】
前記第2の更新手段は、予め定めたパラメータ(b)を用いて、
cwnd=cwnd2×RTTbase/RTTmin×b
を満たすように輻輳ウインドウサイズを更新することを特徴とする、請求項1又は2に記載のパケット送信装置。
【請求項4】
請求項1から3のいずれか一項に記載のパケット送信装置を備えることを特徴とする通信端末。
【請求項5】
送達確認に基づく遅延量を用いてパケット送信に関する輻輳ウインドウの制御を行う輻輳制御方法であって、
パケット送信の送達確認に基づく往復遅延時間(RTT)を算出するステップと、
予め定めたパケット遅延量に関する計測期間内における当該往復遅延時間(RTT)に関して、直前の1計測期間内で計測した最小の値である計測期間内最小の往復遅延時間(RTTmin)、通信を開始してから、又は通信開始後にTCPタイムアウトが発生している場合は直近のTCPタイムアウト後から、現時点までに計測した最小の値である輻輳ウインドウサイズ調整基準の往復遅延時間(RTTbase)、及び、通信を開始してから、又は最後の輻輳ウインドウサイズの減少イベントから、現時点までに計測した最小の値である輻輳判定基準の往復遅延時間(RTTbaseTmp)と、を保持し、当該往復遅延時間(RTT)を算出する度に、前記計測期間内最小の往復遅延時間(RTTmin)、前記輻輳ウインドウサイズ調整基準の往復遅延時間(RTTbase)、及び前記輻輳判定基準の往復遅延時間(RTTbaseTmp)を更新するステップと、
パケットロスの未発生時に、当該往復遅延時間(RTT)を算出した現時点から2計測期間前のCWNDの値である輻輳ウインドウサイズの更新パラメータ(cwnd2)、前記計測期間内最小の往復遅延時間(RTTmin)、及び前記輻輳判定基準の往復遅延時間(RTTbaseTmp)を用いた所定の輻輳判定式により、輻輳判定を行うステップと、
パケットロスの未発生時、及び輻輳未発生時に、既定の計算式に基づいて輻輳ウインドウサイズを拡大可能に更新するステップと、
パケットロスの発生時、及び輻輳発生時に、前記輻輳ウインドウサイズ調整基準の往復遅延時間(RTTbase)を用いた予め定めた更新式により、前記減少イベントを含み輻輳ウインドウサイズを縮小可能に更新するステップと、
を含むことを特徴とする輻輳制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パケット通信によってデータを伝送するパケット通信におけるパケット送信装置、通信端末及び輻輳制御方法に関する。
【背景技術】
【0002】
品質の保証がされていないベストエフォートタイプのIP(Internet Protocol)ネットワークでは、ネットワーク機器内部でのバッファ溢れや、伝送中のビットエラー等によって送信パケットの廃棄が発生する。そのため、確実にデータを伝送するための送達確認を行うプロトコルとしてTCP(Transmission Control Protocol)が幅広く利用されている(例えば、非特許文献1参照)。
【0003】
例えば、図4に示すように、TCPを利用して相互通信接続を行う通信端末10,20において、通信端末10にはパケット送信装置11及びパケット受信装置12が設けられ、通信端末20にはパケット受信装置21及びパケット送信装置22が設けられる。パケット送信装置11及びパケット受信装置21とパケット送信装置22及びパケット受信装置12はそれぞれ同様の機能を有し、代表してパケット送信装置11及びパケット受信装置21に注目して説明する。パケット送信装置11は、データ送信用パケットを所定の通信路を介してパケット受信装置21に送信すると、パケット受信装置21は、受信した旨の報告として送達確認応答パケットをパケット送信装置11に送信する。
【0004】
より具体的には、TCPでは、パケット受信装置21がパケットを受信すると、受信した旨の報告として、次に送信を要求するパケットの番号をパケット送信装置11に通知する。そして、パケット送信装置11は、パケット受信装置21から通知される報告に基づいて、パケットが正常にパケット受信装置21に到達したことを確認する。パケット送信装置11は、パケット受信装置21から通知される報告に基づいて、送達確認応答なしに送出可能なパケットの数を表す輻輳ウインドウサイズ(CWND:Congestion Window Size)を調整する。例えばパケットが正常に受信された場合はCWNDを拡大し、パケットロスが検出された場合はCWNDを縮小する。
【0005】
このCWNDを調整する技法は輻輳制御技法と呼ばれ、通信の状態によってその制御技法が切り替えられる。一般的には通信開始時やTCPタイムアウト後に適用される「スロースタートフェーズ」、通信が安定している際に適用される「輻輳回避フェーズ」、ロスパケットを再送するための「ロスリカバリフェーズ」といったフェーズに応じて輻輳制御技法を切り替える。
【0006】
TCP NewRenoは、輻輳回避フェーズでは送達確認応答を受信する度に、式(1)によりCWNDを拡大する(例えば、非特許文献2参照)。尚、MSSはパケットに含まれるデータの最大バイト数である。
【0007】
CWND = CWND + MSS/CWND (1)
【0008】
また、パケットロスが発生した場合には式(2)によりCWNDを縮小する。
【0009】
CWND = max(CWND_MIN, CWND/2) (2)
【0010】
CWND_MINはCWNDが取りうる最小の値である。このように、パケットロスが発生するまでCWNDを拡大し続ける技法を一般に「ロスベース技法」と呼ぶ。
【0011】
一方、TCP Vegasは、輻輳回避フェーズでは1往復遅延時間(RTT:Round Trip Time)毎に、式(3)によりCWNDを更新する(例えば、非特許文献3参照)。
【0012】
diff = CWND/RTTbase − CWND/RTTmin (3)
if diff > β
then CWND = CWND − MSS
ssthresh = min(CWND, ssthresh)
else if diff <α
then CWND = CWND + MSS
else CWND = CWND
【0013】
ここに、RTTbaseは通信を開始してから(但し、通信開始後にTCPタイムアウトが発生している場合は、直近のTCPタイムアウト後から)現時点までに計測した最小のRTT、RTTminは予め定めたパケット遅延量に関する計測期間内におけるRTTについて直前の1計測期間で計測した最小のRTTである。また、α,βは、予め定めたパラメータである。さらに、ssthreshは、スロースタートフェーズにおけるCWNDの拡大・縮小を決めるのに用いるスロースタート閾値である。このようにRTTを用いてCWNDを増減する技法を一般に「遅延ベース技法」と呼ぶ。
【0014】
また、TCP Westwoodはロスベース技法と遅延ベース技法を組み合わせており、「ハイブリッド技法」と呼ばれる(例えば、非特許文献4参照)。TCP Westwoodは送達確認応答を受信すると、TCP NewRenoと同じようにCWNDを拡大する。パケットロスが発生した場合には式(4)によりCWNDを縮小する。
【0015】
ssthresh = BWE × RTTbase (4)
CWND = min(CWND, ssthresh)
【0016】
BWEは使用帯域であり、CWND/RTTで計算される。パケットロス発生時にCWNDを縮小する点はロスベース技法と同様だが、その縮小量は遅延ベース技法のようにRTTbaseを用いて決定する。
【0017】
また、Vegasのように遅延増加時にもCWNDを縮小させることができるが、その縮小幅をWestwoodのように使用帯域とRTTbaseを用いて決定する技法が開示されている(例えば、特許文献1参照)。
【0018】
これらの従来技術を総括するに、ロスベース技法においてはパケットロス発生時にCWNDの縮小幅を制御するためにRTTbaseを基準に用いるように構成することがあり、一方、遅延ベース技法においては、RTTbaseを遅延増加判定の閾値に用いるように構成する。例えば、ロスベース技法や遅延ベース技法における、そのパケット送信装置11の概略構成を示すと、図5のようになる。図5に示すパケット送信装置11は、後述する本発明との対比に係る機能ブロックのみを図示したものであり、送達確認を行うパケット通信方式のパケット送信装置としてその他の必要な機能は、従来から知られている既知の技術と同様の構成とすることができ、その詳細な説明は省略する。まず、図5に示す従来技術に基づくパケット送信装置11は、送信時刻書込部111、パケット送信部112、送達確認応答受信部113、輻輳ウインドウ制御部114、及び輻輳判定部115を備える。
【0019】
送信時刻書込部111は、パケット送信時に送信時刻を記録する。この送信時刻は、パケット送信装置11の本体内メモリ(図示せず)にパケット番号とともに記録することができる。或いは、TCPのタイムスタンプオプションを用いて記録することもできる。
【0020】
パケット送信部112は、パケット受信装置21に向けてパケットを送信する。その後、送達確認応答受信部113は、パケット受信装置21から通知される送達確認応答パケットを受信すると、次の処理を開始する。
【0021】
送達確認応答受信部113は、送達確認応答パケットを受信すると、パケットロスが発生しているか否かの判定を行い、パケットロスの判定結果、及び送達確認応答パケットを輻輳ウインドウ制御部114へ通知する。パケットロスの判定には、例えば送達確認応答パケットに含まれる送達確認番号が同じパケットを3回受信した場合とする方法がある。
【0022】
輻輳ウインドウ制御部114は、パケットロスの判定結果を基に、パケットロスが発生していた場合、式(1)〜(4)のいずれかによりCWNDを更新し、パケット送信部112におけるパケット送信の輻輳ウインドウを制御し、パケットロスが発生していない場合、パケット送信部112からのパケット送信から送達確認応答パケットを受信するまでにかかったRTTを計算する。RTTの計算は、本体内メモリに記録した送信時刻と受信時刻の差とすることができる。或いは、TCPタイムスタンプオプションを用いることができる。そして、輻輳ウインドウ制御部114は、RTTbaseを更新して(RTTminを用いる際には、RTT及び送達確認応答パケットを基にRTTminを更新して)、輻輳判定部115により、RTTbaseを遅延増加判定の閾値に用いて(或いはRTTminも用いて)パケット遅延量を判別して輻輳判定を行わせ、CWNDを更新する。このようにして、ロスベース技法や遅延ベースの輻輳制御を行う。
【0023】
ロスベース技法はパケットロスが発生するまでCWNDを拡大するため、必ずパケットロスが発生する一方で、遅延ベース技法は遅延増加量を検出した時点でCWNDを減少するためパケットロスの発生を防ぐことが可能となるが、通信回線を共有するIPデータフロー間での公平性についての問題があり、この評価に関する文献が開示されている(例えば、非特許文献5参照)。
【先行技術文献】
【特許文献】
【0024】
【特許文献1】特許第4632874号明細書
【非特許文献】
【0025】
【非特許文献1】“RFC793 Transmission Control Protocol”、[online]、昭和56(西暦1981)年9月策定、DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION、[平成27年3月9日検索]、インターネット〈URL:http://www.rfc-base.org/txt/rfc-793.txt〉
【非特許文献2】“RFC6582 The NewReno Modification to TCP’s Fast Recovery Algorithm”、[online]、平成24(西暦2012)年4月策定、Internet Engineering Task Force (IETF)、[平成27年3月9日検索]、インターネット〈URL:https://tools.ietf.org/html/rfc6582〉
【非特許文献3】Lawrence S. Brakmo, Larry L. Peterson,“TCP Vegas: End to End Congestion Avoidance on a Global Internet,” [online]、 Selected Areas in Communications, IEEE Journal on Volume:13 , Issue: 8, pp.1465-1480, Oct. 1995,[平成27年3月9日検索]、インターネット〈URL:http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=464716&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D464716〉
【非特許文献4】M. Gerla, M. Y. Sanadidi, R. Wang, A. Zanella, C. Casetti and S. Mascolo, “TCP Westwood: congestion window control using bandwidth estimation,” [online]、IEEE Global Telecommunications Conference 2001, vol.3, pp.1698-1702, 2001,[平成27年3月9日検索]、インターネット〈URL:http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=965869&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D965869〉
【非特許文献5】小山智史、青木勝典及び池田哲臣、“データリンクレイヤによる遅延を考慮したディレイベースTCPのスループット公平性の評価”、[online]、一般社団法人電子情報通信学会、電子情報通信学会総合大会講演論文集、電子情報通信学会総合大会講演論文集 2014年_通信(2), 153, 2014年03月04日、[平成27年3月9日検索]、インターネット〈URL:http://ci.nii.ac.jp/naid/110009849644〉
【発明の概要】
【発明が解決しようとする課題】
【0026】
ロスベース技法はパケットロスが発生するまでCWNDを拡大するため、必ずロスが発生する。一方、遅延ベース技法は遅延の増加を検出した時点でCWNDを縮小するため、パケットロスの発生を防ぐことが可能である。しかし、回線を共有するIPデータフロー間での使用帯域の公平性について問題があった。
【0027】
例えば、或る回線にまずIPデータフロー1(F1)が発生したとする。F1はこの回線を使い切り、遅延が増加するまでCWNDを拡大する。そして、遅延が少し増加したところでCWNDの拡大を止める。F1のRTTbase(F1_RTTbase)は回線が空いた状態で計測したRTTとなる。
【0028】
次に、IPデータフロー2(F2)が発生したとする。F2は既にF1により遅延が増加した状態の回線にパケットを送信するため、F2のRTTbase(F2_RTTbase)はF1_RTTbaseよりも大きい値となる。従って、F1とF2で同じRTTminを計測したとしてもF1が先にCWNDを縮小するスレッショルドを超えるため、F1ばかりがCWNDを縮小することとなり、使用帯域に不公平が生ずる。
【0029】
TCP Westwoodの場合も同様に、RTTbaseを基にCWNDを計算するため、上記のようにRTTbaseの値に不公平が生ずると、使用帯域にも不公平が生ずる。
【0030】
特許文献1の技法も同様に、RTTbaseを用いた遅延増加判定とCWNDの更新を行うため、RTTbaseの値に不公平が生ずると使用帯域にも不公平が生ずる。
【0031】
一方、非特許文献5では、RTTbaseをパケットロスの発生時、又は輻輳判定時にリセットするよう構成し、複数フロー間でRTTbaseを同一にして、使用帯域の不公平が生じないようにすることができる。しかしながら、この構成では、RTTbaseを増加させる方向に更新していくため、複数フロー存在時に、遅延が大きくなることがある。
【0032】
本発明の目的は、上述の問題に鑑みて、送達確認に基づく遅延量を用いてパケット送信に関する輻輳ウインドウの制御を行うパケット送信装置、通信端末及び輻輳制御方法を提供することにある。
【課題を解決するための手段】
【0033】
本発明では、輻輳判定を行う際に、通信を開始してから、又は通信開始後にTCPタイムアウトが発生している場合は、直近のTCPタイムアウト後から、現時点(換言すれば直近のRTTの算出時点)までに計測した最小のRTTであるRTTbaseを用いる代わりに、通信を開始してから、又は最後の輻輳ウインドウサイズの減少イベントから、現時点(RTTの算出時点)までに計測した最小のRTTであるRTTbaseTmpを用いることで、複数フロー存在時における遅延が大きくなることを抑制する。
【0034】
従って、RTTbaseTmpは、輻輳ウインドウサイズ(CWND)の更新処理で、CWNDの減少を行う更新処理が発生する度に、予め定めた通信上の取りうる最大の値に初期化(リセット)されるものである。また、判定された輻輳時のCWNDの減少を行う更新処理の計算には、RTTbaseを用いることで、複数のIPデータフローの使用帯域の公平性を改善する。
【0035】
即ち、本発明のパケット送信装置は、送達確認に基づく遅延量を用いてパケット送信に関する輻輳ウインドウの制御を行うパケット送信装置であって、パケット送信の送達確認に基づく往復遅延時間(RTT)を算出する手段と、予め定めたパケット遅延量に関する計測期間内における当該往復遅延時間(RTT)に関して、直前の1計測期間内で計測した最小の値である計測期間内最小の往復遅延時間(RTTmin)、通信を開始してから、又は通信開始後にTCPタイムアウトが発生している場合は直近のTCPタイムアウト後から、現時点までに計測した最小の値である輻輳ウインドウサイズ調整基準の往復遅延時間(RTTbase)、及び、通信を開始してから、又は最後の輻輳ウインドウサイズの減少イベントから、現時点までに計測した最小の値である輻輳判定基準の往復遅延時間(RTTbaseTmp)と、を保持し、当該往復遅延時間(RTT)を算出する度に、前記計測期間内最小の往復遅延時間(RTTmin)、前記輻輳ウインドウサイズ調整基準の往復遅延時間(RTTbase)、及び前記輻輳判定基準の往復遅延時間(RTTbaseTmp)を更新する手段と、パケットロスの未発生時に、当該往復遅延時間(RTT)を算出した現時点から2計測期間前のCWNDの値である輻輳ウインドウサイズの更新パラメータ(cwnd2)、前記計測期間内最小の往復遅延時間(RTTmin)、及び前記輻輳判定基準の往復遅延時間(RTTbaseTmp)を用いた所定の輻輳判定式により、輻輳判定を行う手段と、パケットロスの未発生時、及び輻輳未発生時に、既定の計算式に基づいて輻輳ウインドウサイズを拡大可能に更新する、輻輳ウインドウサイズの第1の更新手段と、パケットロスの発生時、及び輻輳発生時に、前記輻輳ウインドウサイズ調整基準の往復遅延時間(RTTbase)を用いた予め定めた更新式により、前記減少イベントを含み輻輳ウインドウサイズを縮小可能に更新する、輻輳ウインドウサイズの第2の更新手段と、を備えることを特徴とする。
【0036】
また、本発明のパケット送信装置において、前記輻輳判定を行う手段は、予め定めたパラメータ(a)を用いて、
cwnd2×(RTTmin−RTTbaseTmp)/RTTmin>a
を満たす場合に輻輳と判定することを特徴とする。
【0037】
また、本発明のパケット送信装置において、前記第2の更新手段は、予め定めたパラメータ(b)を用いて、
cwnd=cwnd2×RTTbase/RTTmin×b
を満たすように輻輳ウインドウサイズを更新することを特徴とする。
【0038】
更に、本発明の通信端末は、本発明のパケット送信装置を備えることを特徴とする。
【0039】
更に、本発明の輻輳制御方法は、送達確認に基づく遅延量を用いてパケット送信に関する輻輳ウインドウの制御を行う輻輳制御方法であって、パケット送信の送達確認に基づく往復遅延時間(RTT)を算出するステップと、予め定めたパケット遅延量に関する計測期間内における当該往復遅延時間(RTT)に関して、直前の1計測期間内で計測した最小の値である計測期間内最小の往復遅延時間(RTTmin)、通信を開始してから、又は通信開始後にTCPタイムアウトが発生している場合は直近のTCPタイムアウト後から、現時点までに計測した最小の値である輻輳ウインドウサイズ調整基準の往復遅延時間(RTTbase)、及び、通信を開始してから、又は最後の輻輳ウインドウサイズの減少イベントから、現時点までに計測した最小の値である輻輳判定基準の往復遅延時間(RTTbaseTmp)と、を保持し、当該往復遅延時間(RTT)を算出する度に、前記計測期間内最小の往復遅延時間(RTTmin)、前記輻輳ウインドウサイズ調整基準の往復遅延時間(RTTbase)、及び前記輻輳判定基準の往復遅延時間(RTTbaseTmp)を更新するステップと、パケットロスの未発生時に、当該往復遅延時間(RTT)を算出した現時点から2計測期間前のCWNDの値である輻輳ウインドウサイズの更新パラメータ(cwnd2)、前記計測期間内最小の往復遅延時間(RTTmin)、及び前記輻輳判定基準の往復遅延時間(RTTbaseTmp)を用いた所定の輻輳判定式により、輻輳判定を行うステップと、パケットロスの未発生時、及び輻輳未発生時に、既定の計算式に基づいて輻輳ウインドウサイズを拡大可能に更新するステップと、パケットロスの発生時、及び輻輳発生時に、前記輻輳ウインドウサイズ調整基準の往復遅延時間(RTTbase)を用いた予め定めた更新式により、前記減少イベントを含み輻輳ウインドウサイズを縮小可能に更新するステップと、を含むことを特徴とする。
【発明の効果】
【0040】
本発明によれば、遅延増加を抑制しながら複数のフローの公平性を改善することができる。
【図面の簡単な説明】
【0041】
図1】本発明による一実施形態のパケット送信装置におけるブロック図である。
図2】本発明による一実施形態のパケット送信装置における輻輳判定方法を示すフローチャートである。
図3】(A),(B)は、本発明による一実施形態のパケット送信装置に係るパケット遅延量に関する計測期間の説明図である。
図4】TCPを利用して相互通信接続を行う通信端末のネットワーク接続例を説明する図である。
図5】従来技術に基づくパケット送信装置におけるブロック図である。
【発明を実施するための形態】
【0042】
以下、図面を参照して、本発明による一実施形態のパケット送信装置、通信端末及び輻輳制御方法を説明する。
【0043】
(装置構成)
図1は、本発明による一実施形態のパケット送信装置11aにおけるブロック図である。パケット送信装置11aは、図5に示すパケット送信装置11に置き換えて、図4に示す通信端末10に設ける装置である。同様に、通信端末20に対しても、パケット送信装置22に置き換えてパケット送信装置11aと同様の構成を設けることができる。したがって、図4に示すように、TCPを利用して相互通信接続を行う通信端末10,20において、パケット送信装置11aは、データ送信用パケットを所定の通信路を介してパケット受信装置21に送信すると、パケット受信装置21は、受信した旨の報告として送達確認応答パケットをパケット送信装置11aに送信する。尚、図1に示すパケット送信装置11aは、本発明に係る機能ブロックのみを図示したものであり、送達確認を行うパケット通信方式のパケット送信装置としてその他の必要な機能は、従来から知られている既知の技術と同様の構成とすることができ、その詳細な説明は省略する。
【0044】
図1に示すように、本実施形態のパケット送信装置11aは、送信時刻書込部111、パケット送信部112、送達確認応答受信部113、輻輳ウインドウ制御部114a、輻輳判定部115a及び輻輳ウインドウ計算部116aを備える。尚、図5に示すパケット送信装置11と比較して、本実施形態のパケット送信装置11aは、輻輳ウインドウ制御部114及び輻輳判定部115を備える代わりに、輻輳ウインドウ制御部114a、輻輳判定部115a及び輻輳ウインドウ計算部116aを備える点で相違しており、同様な構成要素には同一の参照番号を付している。
【0045】
送信時刻書込部111は、パケット送信時に送信時刻を記録する。この送信時刻は、パケット送信装置11の本体内メモリ(図示せず)にパケット番号とともに記録することができる。或いは、TCPのタイムスタンプオプションを用いて記録することもできる。
【0046】
パケット送信部112は、パケット受信装置21に向けてパケットを送信する。その後、送達確認応答受信部113は、パケット受信装置21から通知される送達確認応答パケットを受信すると、次の処理を開始する。
【0047】
送達確認応答受信部113は、送達確認応答パケットを受信すると、パケットロスが発生しているか否かの判定を行い、パケットロスの判定結果、及び送達確認応答パケットを輻輳ウインドウ制御部114aへ通知する。パケットロスの判定には、例えば送達確認応答パケットに含まれる送達確認番号が同じパケットを3回受信した場合とする方法がある。
【0048】
輻輳ウインドウ制御部114aは、パケットロスの判定結果を基に、パケットロスが発生していた場合、後述する「CWNDの第2の更新処理」により、輻輳ウインドウ計算部116aにより新たなCWNDを計算させ、CWNDを更新する。このときの「CWNDの第2の更新処理」により、CWNDを縮小させることができる。このCWNDの更新に伴い、式(4)と同様にssthreshも更新する。
【0049】
また、輻輳ウインドウ制御部114aは、パケットロスの判定結果を基に、パケットロスが発生していなかった場合、RTTを計算する。RTTは本体内メモリに記録した送信時刻と受信時刻の差とすることができる。または、TCPタイムスタンプオプションを用いることができる。そして、輻輳ウインドウ制御部114aは、RTTbaseTmpと、RTTbase及びRTTminを更新する。ここに、従来技法と同様に、RTTbaseは通信を開始してから、又は通信開始後にTCPタイムアウトが発生している場合は直近のTCPタイムアウト後から、現時点(換言すれば直近のRTTの算出時点)までに計測した最小のRTT、RTTminは予め定めたパケット遅延量に関する計測期間内におけるRTTについて直前の1計測期間で計測した最小のRTTである。
【0050】
一方、RTTbaseTmpは、通信を開始してから、又は最後の輻輳ウインドウサイズの減少イベントから、現時点(RTTの算出時点)までに計測した最小のRTTであり、本発明に係る輻輳判定に用いられ、式(5)により更新される。
【0051】
RTTbaseTmp = min(RTT, RTTbaseTmp) (5)
【0052】
そして、輻輳ウインドウ制御部114aは、RTTbaseTmp、RTTbase及びRTTminの更新後、予め定めたパケット遅延量に関する計測期間における計測開始から1計測期間が経過したか否かを判定する。1計測期間が経過していない場合、輻輳ウインドウ制御部114aは、「CWNDの第1の更新処理」により、CWNDを更新する。「CWNDの第1の更新処理」は、既定の計算式、例えばTCP NewReno(式(1)参照)、TCP Vegas(式(3)参照)、或いはCUBICなど、その通信方式で採用する更新処理により、CWNDを更新する処理である。この「CWNDの第1の更新処理」により、CWNDを拡大させることができる。
【0053】
計測期間に関して、例えば、図3(A)に示すように、通信端末10(パケット送信装置11a)が連続的に送信するデータ送信用パケットD1,D2,D3を通信端末20に向けて送信するとともに、データ送信用パケットD1,D2,D3の各々に対応する送達確認応答パケットACK1,ACK2,ACK3を受信する場合を考えたとき、1計測期間は、計測期間の計測の開始から通信端末10(パケット送信装置11a)が最初に送信するパケットに対する送達確認応答(ACK)が到着するまで、とすることができる。
【0054】
或いは、図3(B)に示すように、1計測期間は、計測期間の計測の開始から所定時間(例えば、直前の計測期間における最小のRTT(RTTmin)経過時)まで、とすることができる。尚、計測期間は、IPデータフローに対して連続的に定めてもよいし、間欠的に定めてもよく、計測期間で求めたRTTminは少なくとも次回の計測期間でRTTminを求めるまで保持するように構成し、RTTminを用いるCWND等の更新にはその更新時点で保持するRTTminを用いるようにする。
【0055】
一方、1計測期間が経過している場合、輻輳ウインドウ制御部114aは、輻輳判定部115aへRTTbaseTmp、RTTmin及び輻輳ウインドウサイズの更新パラメータcwnd2を通知する。cwnd2は、2計測期間前のCWNDの値であり、従って、輻輳ウインドウ制御部114aは、少なくとも2計測期間分のCWNDの値を保持するよう構成されている。
【0056】
輻輳判定部115aは、輻輳ウインドウ制御部114aから通知されたRTTbaseTmp、RTTmin及びcwnd2を基に輻輳判定を行い、その輻輳判定結果を輻輳ウインドウ制御部114aに通知する。
【0057】
より具体的には、輻輳判定部115aは、式(6)により輻輳判定を行う。尚、aはどこまでRTTの増加を許容するかを決定する予め定めたパラメータであり、0以上の整数である。
【0058】
if cwnd2×(RTTmin−RTTbaseTmp)/RTTmin>a (6)
then 輻輳。
otherwise 輻輳でない。
【0059】
このように、輻輳判定に関しては、RTTbaseではなく、RTTbaseTmpを用いて輻輳判定を行い、後述する「CWNDの第2の更新処理」によりCWNDを更新するよう構成することで、遅延増加を抑制しながら複数のIPデータフローの公平性を改善することができる。
【0060】
輻輳ウインドウ制御部114aは、輻輳判定部115aから輻輳判定結果の通知を受けると、輻輳でない旨を示す輻輳判定結果の場合、輻輳ウインドウ制御部114aは、「CWNDの第1の更新処理」により、CWNDを更新する。
【0061】
一方、輻輳である旨を示す輻輳判定結果の場合、輻輳ウインドウ制御部114aは、「CWNDの第2の更新処理」により、輻輳ウインドウ計算部116aにより新たなCWNDを計算させ、CWNDを更新する。このCWNDの更新に伴い、式(4)と同様にssthreshも更新する。
【0062】
「CWNDの第2の更新処理」では、輻輳ウインドウ制御部114aは、RTTbase及びRTTminと、cwnd2を輻輳ウインドウ計算部116aへ通知し、輻輳ウインドウ計算部116aにより新たなCWNDを計算させる。このときの「CWNDの第2の更新処理」により、CWNDが維持されることもあるが、パケットロスの発生前にCWNDを縮小させることができる。
【0063】
より具体的には、輻輳ウインドウ計算部116aは、式(7)により輻輳ウインドウサイズ(CWND)を算出する。尚、bは複数のIPデータフローの収束速度を決定する予め定めたパラメータであり、0より大きく1以下の実数である。
【0064】
cwnd=cwnd2×RTTbase/RTTmin×b (7)
【0065】
このように、本発明による一実施形態のパケット送信装置11aでは、輻輳ウインドウ制御技法において、パケットロス発生時や輻輳発生時に送達確認に基づく新たな基準の遅延量を示すRTTbaseTmpを用いてCWNDを更新するように構成したことで、遅延増加を抑制しながら複数のIPデータフローの各々の間の使用帯域の公平性を改善することができる。
【0066】
(装置動作)
次に、図2を参照して、本発明による一実施形態のパケット送信装置11aにおける輻輳制御方法について説明する。図2は、本発明による一実施形態のパケット送信装置11aにおける輻輳判定方法を示すフローチャートである。
【0067】
パケット送信装置11aは、送達確認応答受信部113により、送達確認応答パケット(ACK)を受信すると(ステップS11)、パケットロスが発生しているか否かの判定を行い(ステップS12)、パケットロスの判定結果、及び送達確認応答パケットを輻輳ウインドウ制御部114aへ通知する。
【0068】
続いて、パケット送信装置11aは、輻輳ウインドウ制御部114aにより、パケットロスの判定結果を基に、パケットロスが発生していた場合(ステップS12:Yes)、前述の「CWNDの第2の更新処理」により、輻輳ウインドウ計算部116aにより新たなCWNDを計算させ、CWNDを更新する(ステップS18)。このCWNDの更新に伴い、式(4)と同様にssthreshも更新する。
【0069】
一方、パケットロスが発生していなかった場合(ステップS12:No)、パケット送信装置11aは、輻輳ウインドウ制御部114aにより、RTTを算出し(ステップS13)、RTTbaseTmpと、RTTbase及びRTTminを更新する(ステップS14)。
【0070】
続いて、パケット送信装置11aは、輻輳ウインドウ制御部114aにより、1計測期間が経過したか否かを判定し(ステップS15)、1計測期間が経過していない場合(ステップS15:No)、前述の「CWNDの第1の更新処理」により、CWNDを更新する(ステップS16)。このCWNDの更新に伴い、式(4)と同様にssthreshも更新する。
【0071】
一方、1計測期間が経過している場合(ステップS15:Yes)、パケット送信装置11aは、輻輳ウインドウ制御部114aにより、輻輳判定部115aへRTTbaseTmp、RTTmin及び輻輳ウインドウサイズの更新パラメータcwnd2を通知する。cwnd2は、2計測期間前のCWNDの値であり、従って、輻輳ウインドウ制御部114aは、少なくとも2計測期間分のCWNDの値を保持する。
【0072】
続いて、パケット送信装置11aは、輻輳判定部115aにより、通知されたRTTbaseTmp、RTTmin及びcwnd2を基に前述した式(6)に従って輻輳判定を行い、その輻輳判定結果を輻輳ウインドウ制御部114aに通知する(ステップS17)。
【0073】
続いて、パケット送信装置11aは、輻輳ウインドウ制御部114aにより、輻輳でない旨を示す輻輳判定結果の場合(ステップS17:No)、前述の「CWNDの第1の更新処理」により、CWNDを更新する(ステップS16)。このCWNDの更新に伴い、式(4)と同様にssthreshも更新する。
【0074】
一方、輻輳である旨を示す輻輳判定結果の場合(ステップS17:Yes)、パケット送信装置11aは、輻輳ウインドウ制御部114aにより、前述の「CWNDの第2の更新処理」により、輻輳ウインドウ計算部116aにより新たなCWNDを計算させ、CWNDを更新する(ステップS18)。このCWNDの更新に伴い、式(4)と同様にssthreshも更新する。
【0075】
また、輻輳ウインドウ制御部114aは、「CWNDの第2の更新処理」によりCWNDを更新すると、CWNDの減少を行う場合にのみ、RTTbaseTmpを予め定めた通信上の取りうる最大の値に初期化(リセット)する(ステップS19)。
【0076】
このように、本発明に係る輻輳ウインドウ制御技法において、パケットロス発生時や輻輳発生時に送達確認に基づく新たな基準の遅延量を示すRTTbaseTmpを用いてCWNDを更新するように構成したことで、遅延増加を抑制しながら複数のIPデータフローの各々の間の使用帯域の公平性を改善することができる。
【0077】
以上、特定の実施例を挙げて本発明を説明したが、本発明は前述の実施形態の例に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。例えば、送達確認に基づく遅延量を用いてパケット送信に関する輻輳ウインドウの制御を行うパケット送信装置であれば、如何なる態様の装置でもよい。
【産業上の利用可能性】
【0078】
本発明によれば、遅延増加を抑制しながら複数のIPデータフローの使用帯域の公平性を改善することができるので、送達確認に基づく遅延量を用いてパケット送信に関する輻輳ウインドウの制御を行う用途に有用である。
【符号の説明】
【0079】
10 通信端末
11 従来技術に係るパケット送信装置
11a 本発明による一実施形態のパケット送信装置
12 パケット受信装置
20 通信端末
21 パケット受信装置
22 パケット送信装置
111 送信時刻書込部
112 パケット送信部
113 送達確認応答受信部
114,114a 輻輳ウインドウ制御部
115,115a 輻輳判定部
116a 輻輳ウインドウ計算部
図1
図2
図3
図4
図5