(57)【要約】【課題】送達確認に基づく遅延量を用いてパケット送信に関するスロースタート制御を行うパケット送信装置、通信端末及びスロースタート制御方法【解決手段】本発明のパケット送信装置１１ａは、パケットロスの判定に伴い、パケット送信の送達確認に基づく往復遅延時間（ＲＴＴ）と、ＲＴＴについて継続して計測した最小の往復遅延時間（ＲＴＴｂａｓｅ）を保持するパケットロス判定部１１４と、予め定めた計測期間内におけるＲＴＴについて直前の１計測期間内で計測した最小の往復遅延時間（ＲＴＴｍｉｎ）を計測し保持するとともに、スロースタートフェーズで動作中に、当該計測期間を監視し計測期間の経過ごとにＲＴＴｂａｓｅに所定量を加えた値とＲＴＴｍｉｎの比較に基づく輻輳判定を行い、輻輳と判定した場合にスロースタートフェーズから輻輳回避フェーズへ遷移させるように動作するスロースタート動作部１１９ａと、を備える。【選択図】図１
2015180008.tif 000002
【特許請求の範囲】
【請求項１】
送達確認に基づく遅延量を用いてパケット送信に関するスロースタート制御を行うパケット送信装置であって、
パケット送信の送達確認に基づく往復遅延時間（ＲＴＴ）と、前記往復遅延時間（ＲＴＴ）について継続して計測した最小の往復遅延時間（ＲＴＴｂａｓｅ）を保持し、予め定めたパケット遅延量に関する計測期間内における当該往復遅延時間（ＲＴＴ）について直前の１計測期間内で計測した最小の値を計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）として計測し保持するＲＴＴ算出手段と、
スロースタートフェーズで動作中に、前記計測期間を監視し、前記計測期間を経過する送達確認を得た際に前記最小の往復遅延時間（ＲＴＴｂａｓｅ）に所定量を加えた値と前記計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）の比較に基づく第１の輻輳判定を行い、前記第１の輻輳判定によって輻輳と判定した際にスロースタートフェーズから輻輳回避フェーズへ遷移させるように動作するスロースタート制御手段と、
を備えることを特徴とするパケット送信装置。
【請求項２】
前記スロースタート制御手段は、
前記計測期間の期間中に、パケットロスがない旨の判定結果として送達確認を得た際に、前記計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）について前記往復遅延時間（ＲＴＴ）を用いて更新するとともに、前記計測期間を経過する送達確認を得た際の前記第１の輻輳判定によって輻輳ではないと判定した際に、前記計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）を当該往復遅延時間（ＲＴＴ）により更新して、輻輳ウィンドウサイズを拡大しスロースタートフェーズを継続するように動作する手段を更に有することを特徴とする、請求項１に記載のパケット送信装置。
【請求項３】
前記スロースタート制御手段は、
前記計測期間の期間中に、パケットロスがない旨の判定結果として送達確認を得た際に、前記計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）について前記往復遅延時間（ＲＴＴ）を用いて更新するとともに、当該送達確認時の前記最小の往復遅延時間（ＲＴＴｂａｓｅ）及び前記計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）を基に、前記最小の往復遅延時間（ＲＴＴｂａｓｅ）に所定量を加えた値と前記計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）の比較に基づく第２の輻輳判定を行い、前記第２の輻輳判定によって輻輳と判定した場合には輻輳ウィンドウサイズを拡大せず維持してスロースタートフェーズを継続し、輻輳ではないと判定した場合には輻輳ウィンドウサイズを拡大して、スロースタートフェーズを継続するように動作する手段を更に有することを特徴とする、請求項１に記載のパケット送信装置。
【請求項４】
前記スロースタート制御手段は、
前記計測期間の期間中に、パケットロスがない旨の判定結果として送達確認を得た際に、前記計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）について前記往復遅延時間（ＲＴＴ）を用いて更新するとともに、当該送達確認時の前記最小の往復遅延時間（ＲＴＴｂａｓｅ）及び前記往復遅延時間（ＲＴＴ）を基に、前記最小の往復遅延時間（ＲＴＴｂａｓｅ）に所定量を加えた値と前記往復遅延時間（ＲＴＴ）の比較に基づく第３の輻輳判定を行い、前記第３の輻輳判定によって輻輳と判定した場合には輻輳ウィンドウサイズを拡大せず維持してスロースタートフェーズを継続し、輻輳ではないと判定した場合には輻輳ウィンドウサイズを拡大して、スロースタートフェーズを継続するように動作する手段を更に有することを特徴とする、請求項１に記載のパケット送信装置。
【請求項５】
前記スロースタート制御手段は、
前記計測期間を経過する送達確認を得た際の前記第１の輻輳判定によって輻輳ではないと判定した際に、再度、当該送達確認時の前記最小の往復遅延時間（ＲＴＴｂａｓｅ）及び当該往復遅延時間（ＲＴＴ）を基に、前記最小の往復遅延時間（ＲＴＴｂａｓｅ）に所定量を加えた値と前記往復遅延時間（ＲＴＴ）の比較に基づいて輻輳判定を行い、該輻輳判定によって輻輳と判定した場合には輻輳ウィンドウサイズを拡大せず維持してスロースタートフェーズを継続し、輻輳ではないと判定した場合には輻輳ウィンドウサイズを拡大して、スロースタートフェーズを継続するように動作する手段を更に有することを特徴とする、請求項３又は４に記載のパケット送信装置。
【請求項６】
請求項１から５のいずれか一項に記載のパケット送信装置を備えることを特徴とする通信端末。
【請求項７】
送達確認に基づく遅延量を用いてパケット送信に関するスロースタート制御を行うスロースタート制御方法であって、
パケット送信の送達確認に基づく往復遅延時間（ＲＴＴ）と、前記往復遅延時間（ＲＴＴ）について継続して計測した最小の往復遅延時間（ＲＴＴｂａｓｅ）を保持し、予め定めたパケット遅延量に関する計測期間内における当該往復遅延時間（ＲＴＴ）について直前の１計測期間内で計測した最小の値を計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）として計測し保持するステップと、
スロースタートフェーズで動作中に、前記計測期間を監視し、前記計測期間を経過する送達確認を得た際に前記最小の往復遅延時間（ＲＴＴｂａｓｅ）に所定量を加えた値と前記計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）の比較に基づく第１の輻輳判定を行い、前記第１の輻輳判定によって輻輳と判定した際にスロースタートフェーズから輻輳回避フェーズへ遷移させるように動作するステップと、
を含むことを特徴とするスロースタート制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット通信によってデータを伝送するパケット送信装置、通信端末及びスロースタート制御方法に関する。
【背景技術】
【０００２】
品質の保証がされていないベストエフォートタイプのＩＰ（Internet Protocol）ネットワークでは、ネットワーク機器内部でのバッファ溢れや、伝送中のビットエラー等によって送信パケットの廃棄が発生する。そのため、確実にデータを伝送するための送達確認を行うプロトコルとしてＴＣＰ（Transmission Control Protocol）が幅広く利用されている（例えば、非特許文献１参照）。
【０００３】
例えば、図８に示すように、ＴＣＰを利用して相互通信接続を行う通信端末１０，２０において、通信端末１０にはパケット送信装置１１及びパケット受信装置１２が設けられ、通信端末２０にはパケット送信装置２２及びパケット受信装置２１が設けられる。パケット送信装置１１及びパケット受信装置２１とパケット送信装置２２及びパケット受信装置１２はそれぞれ同様の機能を有し、代表してパケット送信装置１１及びパケット受信装置２１に注目して説明する。パケット送信装置１１は、データ送信用パケットを所定の通信路を介してパケット受信装置２１に送信すると、パケット受信装置２１は、受信した旨の報告として送達確認応答パケットをパケット送信装置１１に送信する。
【０００４】
より具体的には、ＴＣＰでは、パケット受信装置２１がパケットを受信すると、受信した旨の報告として、次に送信を要求するパケットの番号をパケット送信装置１１に通知する。そして、パケット送信装置１１は、パケット受信装置２１から通知される報告に基づいて、パケットが正常にパケット受信装置２１に到達したことを確認する。パケット送信装置１１は、パケット受信装置２１から通知される報告に基づいて、送達確認応答なしに送出可能なパケットの数を表す輻輳ウィンドウサイズ（ＣＷＮＤ:Congestion Window Size）を調整する。例えばパケットが正常に受信された場合はＣＷＮＤを拡大し、パケットロスが検出された場合はＣＷＮＤを縮小する。
【０００５】
このＣＷＮＤを調整する技法は輻輳制御技法と呼ばれ、通信の状態によってその制御技法が切り替えられる。一般的には通信開始時やタイムアウト後に適用される「スロースタートフェーズ」、通信が安定している際に適用される「輻輳回避フェーズ」、ロスパケットを再送するための「ロスリカバリフェーズ」といったフェーズに応じて輻輳制御技法が切り替える。ＲＦＣ５６８１には一般的なＴＣＰが用いる輻輳制御技法が記載されている（例えば、非特許文献２参照）。ＲＦＣ５６８１に記載されているスロースタートフェーズの動作では、ＣＷＮＤがスロースタート閾値（ｓｓｔｈｒｅｓｈ）未満である場合、式（１）によりＣＷＮＤを拡大する。ｓｓｔｈｒｅｓｈは、スロースタートフェーズにおけるＣＷＮＤの拡大・縮小を決めるのに用いるスロースタート閾値である。
【０００６】
CWND ＝ min（N, MSS）                                        （１）
【０００７】
Ｎは新たに送達確認されたバイト数、ＭＳＳはパケットに含まれるデータの最大バイト数である。ＣＷＮＤがｓｓｔｈｒｅｓｈ以上になるか、パケットロスが発生した時点でスロースタートフェーズでの動作を終了する。
【０００８】
ＴＣＰ ＣＵＢＩＣ（例えば、非特許文献３参照）やＣＴＣＰ（例えば、非特許文献４参照）など様々なＴＣＰが提案されているが、「スロースタートフェーズ」での動作はＲＦＣ５６８１と同じであり、「輻輳回避フェーズ」に独自の輻輳制御アルゴリズムが組み込まれている。
【０００９】
スロースタートフェーズでの動作として、Ｈｙｓｔａｒｔが提案されている（例えば、非特許文献５参照）。Ｈｙｓｔａｒｔでは、スロースタート終了条件についてＲＦＣ５６８１に加えて２つの新しい条件を定義している。１つは、１往復遅延時間（ＲＴＴ：Round Trip Time）中に送信するパケット列の送信にかかる時間が閾値を超えた場合に終了する。もう１つは、所定の１計測期間中に送信するパケット列の先頭の数パケットで計測した最小のＲＴＴであるＲＴＴｍｉｎが、それまでに計測した最小のＲＴＴであるＲＴＴｂａｓｅよりも閾値以上に大きくなっている場合に終了する。
【００１０】
ここに、ＲＴＴｂａｓｅは通信を開始してから現時点までに計測した最小のＲＴＴ、ＲＴＴｍｉｎは予め定めたパケット遅延量に関する計測期間内におけるＲＴＴについて直前の１計測期間で計測した最小のＲＴＴである。
【００１１】
このＲＦＣ５６８１に基づく従来技術を総括するに、そのパケット送信装置１１の概略構成を示すと、図９のようになる。尚、図９に示すパケット送信装置１１は、後述する本発明との対比に係る機能ブロックのみを図示したものであり、送達確認を行うパケット通信方式のパケット送信装置としてその他の必要な機能は、従来から知られている既知の技術と同様の構成とすることができ、その詳細な説明は省略する。図９に示す従来技術に基づくパケット送信装置１１は、送信時刻書込部１１１、パケット送信部１１２、送達確認応答受信部１１３、パケットロス判定部１１４及びパケット送信制御部１１５を備え、パケット送信制御部１１５は、ロス再送動作部１１６、ロスリカバリ動作部１１７、輻輳回避動作部１１８及びスロースタート動作部１１９からなる。
【００１２】
送信時刻書込部１１１は、パケット送信時に送信時刻を記録する。この送信時刻は、パケット送信装置１１の本体内メモリ（図示せず）にパケット番号とともに記録することができる。或いは、ＴＣＰのタイムスタンプオプションを用いて記録することもできる。
【００１３】
パケット送信部１１２は、パケット受信装置２１に向けてパケットを送信する。その後、送達確認応答受信部１１３は、パケット受信装置２１から通知される送達確認応答パケットを受信すると、次の処理を開始する。
【００１４】
送達確認応答受信部１１３は、送達確認応答パケットを受信すると、パケット送信部１１２からのパケット送信から送達確認応答パケットを受信するまでにかかったＲＴＴを計算する。ＲＴＴの計算は、本体内メモリに記録した送信時刻と受信時刻の差とすることができる。或いは、ＴＣＰタイムスタンプオプションを用いることができる。ＲＴＴの計算後、送達確認応答受信部１１３は、パケットロス判定部１１４へ送達確認応答パケットとＲＴＴを通知する。
【００１５】
パケットロス判定部１１４は、送達確認応答部１１３から送達確認応答パケットとＲＴＴを受信すると、ＲＴＴｂａｓｅを更新し、パケットロスの発生の有無を判定する。パケットロスが発生している場合には、パケットロス判定部１１４は、ロス再送動作部１１６へ送達確認応答パケットとＲＴＴを通知し、所定のパケットロス再送動作を実行させる。パケットロスが発生していない場合は、パケットロス判定部１１４は、現在の動作フェーズがロスリカバリフェーズの場合はロスリカバリ動作部１１７へ、輻輳回避フェーズの場合は輻輳回避動作部１１８へ、送達確認応答パケットとＲＴＴを通知する。また、パケットロス判定部１１４は、スロースタートフェーズの場合はスロースタート動作部１１９へ、式（１）に関する所定のスロースタートの動作指示を通知する。
【００１６】
ロス再送動作部１１６は、送達確認応答パケットとＲＴＴを基に送信パケットの再送処理を実行する。
【００１７】
ロスリカバリ動作部１１７は、送達確認応答パケットとＲＴＴを基にパケットロスの発生後の通信状況の回復を行うようＣＷＮＤの値の拡大又は縮小の調整処理を実行する。
【００１８】
輻輳回避動作部１１８は、送達確認応答パケットとＲＴＴを基に通信路の輻輳を回避するようＣＷＮＤの値を更新する。
【００１９】
ただし、ロス再送動作部１１６、ロスリカバリ動作部１１７及び輻輳回避動作部１１８は、一般的なＴＣＰなどを含み既知の輻輳制御技法に基づいたレート制御処理を実行するように構成すればよく、その動作の更なる詳細については省略する。
【００２０】
スロースタート動作部１１９は、パケットロスが発生していない間、式（１）を基にＣＷＮＤの値を拡大するよう更新する。
【００２１】
このようにして、パケット送信制御部１１５は、パケットロスの発生の有無に応じて各種の動作フェーズに基づいたレート制御を実行する。
【先行技術文献】
【非特許文献】
【００２２】
【非特許文献１】“RFC793 Transmission Control Protocol”、［online］、昭和56（西暦1981）年9月策定、DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION、［平成26年2月24日検索］、インターネット〈URL：http://www.rfc-base.org/txt/rfc-793.txt〉
【非特許文献２】“RFC5681  TCP Congestion Control”、［online］、平成21（西暦2009）年9月策定、Network Working Group、［平成26年2月24日検索］、インターネット〈URL：http://tools.ietf.org/search/rfc5681〉
【非特許文献３】Sangtae Ha, Injong Rhee and Lisong Xu，“CUBIC: A New TCP-Friendly High-Speed TCP Variant,”［online］、ACM SIGOPS Operating System Review, Volume 42, Issue 5, July 2008、［平成26年2月24日検索］、インターネット〈URL：http://dl.acm.org/citation.cfm?id=1400105〉
【非特許文献４】kun Tan, Jingmin Song, Qian Zhang and Murari Sridharan,“A Compound TCP Approach for High-speed and Long Distance Networks,” ［online］、 INFOCOM 2006. 25th IEEE International Conference on Computer Communications. Proceedings , April 2006, ［平成26年2月24日検索］、インターネット〈URL：http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=4146841&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D4146841〉
【非特許文献５】Sangtae  Ha and Injong Rhee, “Hybrid slow start for high-bandwidth and long-distance networks,” ［online］、 PFLDnet, 2008,［平成26年2月24日検索］、インターネット〈URL：http://netsrv.csc.ncsu.edu/export/hybridstart_pfldnet08.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【００２３】
ＲＦＣ５６８１では、通信開始時にはｓｓｔｈｒｅｓｈは十分に大きい値（例えば取りうる最大の値）に設定されることが推奨されており、結果的にパケットロスが発生するまでスロースタートフェーズが継続する。パケットロスが発生するまで急速にＣＷＮＤを拡大しネットワークにパケットを送出するため、他のトラフィックに影響を与えてしまう。また、パケットロスが発生すると損失したパケットを再度送り直す必要があるため、自身の通信効率も低下する。
【００２４】
そこで、パケットロスを発生させずにスロースタートフェーズから輻輳回避フェーズへ移行することで上記の問題を解決することができる。Ｈｙｓｔａｒｔではスロースタートフェーズにおいて送信されるパケットのＲＴＴを用い、パケットロスが発生する前に輻輳を検知することで輻輳回避フェーズへ移行する技法を提示している。しかし、Ｈｙｓｔａｒｔでは有線ネットワークのように伝搬遅延が安定した環境を前提にしており、各ＲＴＴ期間に計測するＲＴＴのうち、先頭の数サンプルのみを用いて輻輳検知を実施しているため、無線ネットワークのように輻輳とは無関係に伝搬遅延が変化するネットワークでは、ＣＷＮＤが拡大する前に輻輳回避フェーズへ移行してしまうことがある。
【００２５】
本発明は、上述の問題を鑑みてなされたものであり、本発明の目的は、送達確認を行うパケット通信において、無線ネットワークのような遅延変動が起きやすい環境でも高速な通信を可能にするパケット通信におけるパケット送信装置、通信端末及びスロースタート制御方法を提供することにある。
【課題を解決するための手段】
【００２６】
本発明によるパケット送信装置は、スロースタートフェーズで動作中に、予め定めた計測期間の経過後となる受信応答確認に対して、往復遅延時間（ＲＴＴ）について継続して計測した最小の往復遅延時間（ＲＴＴｂａｓｅ）と、当該往復遅延時間（ＲＴＴ）について直前の１計測期間内で計測した最小の値を計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）を用いて輻輳判定を行なうことにより、スロースタートフェーズにおいて、輻輳とは無関係の遅延増加の影響を緩和する。
【００２７】
即ち、本発明のパケット送信装置は、送達確認に基づく遅延量を用いてパケット送信に関するスロースタート制御を行うパケット送信装置であって、パケット送信の送達確認に基づく往復遅延時間（ＲＴＴ）と、前記往復遅延時間（ＲＴＴ）について継続して計測した最小の往復遅延時間（ＲＴＴｂａｓｅ）を保持し、予め定めたパケット遅延量に関する計測期間内における当該往復遅延時間（ＲＴＴ）について直前の１計測期間内で計測した最小の値を計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）として計測し保持するＲＴＴ算出手段と、スロースタートフェーズで動作中に、前記計測期間を監視し、前記計測期間を経過する送達確認を得た際に前記最小の往復遅延時間（ＲＴＴｂａｓｅ）に所定量を加えた値と前記計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）の比較に基づく第１の輻輳判定を行い、前記第１の輻輳判定によって輻輳と判定した際にスロースタートフェーズから輻輳回避フェーズへ遷移させるように動作するスロースタート制御手段と、を備えることを特徴とする。
【００２８】
また、本発明のパケット送信装置において、前記スロースタート制御手段は、前記計測期間の期間中に、パケットロスがない旨の判定結果として送達確認を得た際に、前記計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）について前記往復遅延時間（ＲＴＴ）を用いて更新するとともに、前記計測期間を経過する送達確認を得た際の前記第１の輻輳判定によって輻輳ではないと判定した際に、前記計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）を当該往復遅延時間（ＲＴＴ）により更新して、輻輳ウィンドウサイズを拡大しスロースタートフェーズを継続するように動作する手段を更に有することを特徴とする。
【００２９】
また、本発明のパケット送信装置において、前記スロースタート制御手段は、前記計測期間の期間中に、パケットロスがない旨の判定結果として送達確認を得た際に、前記計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）について前記往復遅延時間（ＲＴＴ）を用いて更新するとともに、当該送達確認時の前記最小の往復遅延時間（ＲＴＴｂａｓｅ）及び前記計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）を基に、前記最小の往復遅延時間（ＲＴＴｂａｓｅ）に所定量を加えた値と前記計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）の比較に基づく第２の輻輳判定を行い、前記第２の輻輳判定によって輻輳と判定した場合には輻輳ウィンドウサイズを拡大せず維持してスロースタートフェーズを継続し、輻輳ではないと判定した場合には輻輳ウィンドウサイズを拡大して、スロースタートフェーズを継続するように動作する手段を更に有することを特徴とする。
【００３０】
また、本発明のパケット送信装置において、前記スロースタート制御手段は、前記計測期間の期間中に、パケットロスがない旨の判定結果として送達確認を得た際に、前記計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）について前記往復遅延時間（ＲＴＴ）を用いて更新するとともに、当該送達確認時の前記最小の往復遅延時間（ＲＴＴｂａｓｅ）及び前記往復遅延時間（ＲＴＴ）を基に、前記最小の往復遅延時間（ＲＴＴｂａｓｅ）に所定量を加えた値と前記往復遅延時間（ＲＴＴ）の比較に基づく第３の輻輳判定を行い、前記第３の輻輳判定によって輻輳と判定した場合には輻輳ウィンドウサイズを拡大せず維持してスロースタートフェーズを継続し、輻輳ではないと判定した場合には輻輳ウィンドウサイズを拡大して、スロースタートフェーズを継続するように動作する手段を更に有することを特徴とする。
【００３１】
また、本発明のパケット送信装置において、前記スロースタート制御手段は、前記計測期間を経過する送達確認を得た際の前記第１の輻輳判定によって輻輳ではないと判定した際に、再度、当該送達確認時の前記最小の往復遅延時間（ＲＴＴｂａｓｅ）及び当該往復遅延時間（ＲＴＴ）を基に、前記最小の往復遅延時間（ＲＴＴｂａｓｅ）に所定量を加えた値と前記往復遅延時間（ＲＴＴ）の比較に基づいて輻輳判定を行い、該輻輳判定によって輻輳と判定した場合には輻輳ウィンドウサイズを拡大せず維持してスロースタートフェーズを継続し、輻輳ではないと判定した場合には輻輳ウィンドウサイズを拡大して、スロースタートフェーズを継続するように動作する手段を更に有することを特徴とする。
【００３２】
また、本発明の通信端末は、本発明のパケット送信装置を備えることを特徴とする。
【００３３】
また、本発明のスロースタート制御方法は、送達確認に基づく遅延量を用いてパケット送信に関するスロースタート制御を行うスロースタート制御方法であって、パケット送信の送達確認に基づく往復遅延時間（ＲＴＴ）と、前記往復遅延時間（ＲＴＴ）について継続して計測した最小の往復遅延時間（ＲＴＴｂａｓｅ）を保持し、予め定めたパケット遅延量に関する計測期間内における当該往復遅延時間（ＲＴＴ）について直前の１計測期間内で計測した最小の値を計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）として計測し保持するステップと、スロースタートフェーズで動作中に、前記計測期間を監視し、前記計測期間を経過する送達確認を得た際に前記最小の往復遅延時間（ＲＴＴｂａｓｅ）に所定量を加えた値と前記計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）の比較に基づく第１の輻輳判定を行い、前記第１の輻輳判定によって輻輳と判定した際にスロースタートフェーズから輻輳回避フェーズへ遷移させるように動作するステップと、を含むことを特徴とする。
【発明の効果】
【００３４】
輻輳とは無関係の遅延変動が大きな回線であっても、輻輳の誤判定を抑制しＣＷＮＤが拡大する前に輻輳回避フェーズへ移行することを防ぐことができる。
【図面の簡単な説明】
【００３５】
【図１】本発明による一実施形態のパケット送信装置におけるブロック図である。
【図２】本発明による一実施形態のパケット送信装置における送達確認応答受信部の処理を示すフローチャートである。
【図３】本発明による一実施形態のパケット送信装置におけるパケットロス判定部の処理を示すフローチャートである。
【図４】（Ａ），（Ｂ）は、本発明による一実施形態のパケット送信装置に係るパケット遅延量に関する計測期間の説明図である。
【図５】本発明による一実施形態のパケット送信装置における実施例１のスロースタート動作部の処理を示すフローチャートである。
【図６】本発明による一実施形態のパケット送信装置における実施例２のスロースタート動作部の処理を示すフローチャートである。
【図７】本発明による一実施形態のパケット送信装置における実施例３のスロースタート動作部の処理を示すフローチャートである。
【図８】ＴＣＰを利用して相互通信接続を行う通信端末のネットワーク接続例を説明する図である。
【図９】従来技術に基づくパケット送信装置におけるブロック図である。
【発明を実施するための形態】
【００３６】
図１は、本発明による一実施形態のパケット送信装置１１ａにおけるブロック図である。パケット送信装置１１ａは、図９に示すパケット送信装置１１に置き換えて、図８に示す通信端末１０に設ける装置である。同様に、通信端末２０に対しても、パケット送信装置２２に置き換えてパケット送信装置１１ａと同様の構成を設けることができる。したがって、図８に示すように、ＴＣＰを利用して相互通信接続を行う通信端末１０，２０において、パケット送信装置１１ａは、データ送信用パケットを所定の通信路を介してパケット受信装置２１に送信すると、パケット受信装置２１は、受信した旨の報告として送達確認応答パケットをパケット送信装置１１ａに送信する。尚、図１に示すパケット送信装置１１ａは、本発明に係る機能ブロックのみを図示したものであり、送達確認を行うパケット通信方式のパケット送信装置としてその他の必要な機能は、従来から知られている既知の技術と同様の構成とすることができ、その詳細な説明は省略する。
【００３７】
図１に示すように、本実施形態のパケット送信装置１１ａは、送信時刻書込部１１１、パケット送信部１１２、送達確認応答受信部１１３、パケットロス判定部１１４及びパケット送信制御部１１５を備え、パケット送信制御部１１５は、ロス再送動作部１１６、ロスリカバリ動作部１１７、輻輳回避動作部１１８及びスロースタート動作部１１９ａからなる。尚、図９に示すパケット送信装置１１と比較して、本実施形態のパケット送信装置１１ａは、スロースタート動作部１１９の代わりに、スロースタート動作部１１９ａを備える点で相違しており、同様な構成要素には同一の参照番号を付している。
【００３８】
送信時刻書込部１１１は、パケット送信時に送信時刻を記録する。この送信時刻は、パケット送信装置１１の本体内メモリ（図示せず）にパケット番号とともに記録することができる。或いは、ＴＣＰのタイムスタンプオプションを用いて記録することもできる。
【００３９】
パケット送信部１１２は、パケット受信装置２１に向けてパケットを送信する。その後、送達確認応答受信部１１３は、パケット受信装置２１から通知される送達確認応答パケットを受信すると、次の処理を開始する。
【００４０】
送達確認応答受信部１１３は、送達確認応答パケットを受信すると、パケット送信部１１２からのパケット送信から送達確認応答パケットを受信するまでにかかったＲＴＴを計算する。ＲＴＴの計算は、本体内メモリに記録した送信時刻と受信時刻の差とすることができる。或いは、ＴＣＰタイムスタンプオプションを用いることができる。ＲＴＴの計算後、送達確認応答受信部１１３は、パケットロス判定部１１４へ送達確認応答パケットとＲＴＴを通知する。より具体的には、図２に示すように、送達確認応答受信部１１３は、送達確認応答パケットを受信すると（ステップＳ１１）、送信時刻と受信時刻の差からＲＴＴを求め（ステップＳ１２）、ＲＴＴの計算後、パケットロス判定部１１４へ送達確認応答パケット及びＲＴＴを通知する（ステップＳ１３）。
【００４１】
パケットロス判定部１１４は、送達確認応答部１１３から送達確認応答パケットとＲＴＴを受信すると、ＲＴＴｂａｓｅを更新し、パケットロスの発生の有無を判定する。ＲＴＴｂａｓｅは通信中に計測したＲＴＴの最小値であるが、通信開始時には、とりうる最大の値など、ある決まった値に初期化することができる。より具体的には、図３に示すように、パケットロス判定部１１４は、送達確認応答受信部１１３から送達確認応答パケットとＲＴＴを受信すると（ステップＳ２１）、式（２）によりＲＴＴｂａｓｅを更新し（ステップＳ２２）、パケットロスが発生しているか否かの判定を行う（ステップＳ２３）。パケットロスの判定には、例えば送達確認応答パケットに含まれる送達確認番号が同じパケットを３回受信した場合とする方法がある。
【００４２】
RTTbase ＝ min（RTT, RTTbase）                                        （２）
【００４３】
パケットロスが発生している場合には（ステップＳ２３：Ｙｅｓ）、パケットロス判定部１１４は、ロス再送動作部１１６へ送達確認応答パケットとＲＴＴを通知し、所定のパケットロス再送動作を実行させる（ステップＳ２４）。パケットロスが発生していない場合は（ステップＳ２３：Ｎｏ）、パケットロス判定部１１４は、現在の動作フェーズがロスリカバリフェーズの場合はロスリカバリ動作部１１７へ（ステップＳ２５，Ｓ２６）、輻輳回避フェーズの場合は輻輳回避動作部１１８へ（ステップＳ２５，Ｓ２７）、送達確認応答パケットとＲＴＴを通知する。また、パケットロス判定部１１４は、スロースタートフェーズの場合は本発明に係るスロースタート動作部１１９ａへ、送達確認応答パケットとＲＴＴを通知するとともに、さらにＲＴＴｂａｓｅについても通知する（ステップＳ２５，Ｓ２８）。
【００４４】
パケット送信制御部１１５は、パケットロスの発生の有無に応じて各種の動作フェーズに基づいたレート制御を実行する。尚、ロス再送動作部１１６、ロスリカバリ動作部１１７及び輻輳回避動作部１１８は、一般的なＴＣＰなどを含み既知の輻輳制御技法に基づいたレート制御処理を実行するように構成すればよく、その動作の更なる詳細については省略する。
【００４５】
本発明に係るスロースタート動作部１１９ａは、通信を開始してから現時点までに計測した最小のＲＴＴであるＲＴＴｂａｓｅを用い、受信した送達応答確認パケットに対応するＲＴＴに関して予め定めた１計測期間毎に計測する全てのＲＴＴの中で最小のＲＴＴであるＲＴＴｍｉｎを算出・更新し、ＲＴＴｂａｓｅとＲＴＴｍｉｎを比較・監視して輻輳判定を行うように構成され、後述する３つの実施例がある。
【００４６】
まず、「計測期間」に関して説明する。例えば、図４（Ａ）に示すように、通信端末１０が連続的に送信するデータ送信用パケットＤ１，Ｄ２，Ｄ３を通信端末２０に向けて送信するとともに、データ送信用パケットＤ１，Ｄ２，Ｄ３の各々に対応する送達確認応答パケットＡＣＫ１，ＡＣＫ２，ＡＣＫ３を受信する場合を考えたとき、１計測期間は、計測期間の計測の開始から通信端末１０（パケット送信装置１１ａ）が最初に送信するパケットに対する送達確認応答（ＡＣＫ）が到着するまで、とすることができる。
【００４７】
或いは、図４（Ｂ）に示すように、１計測期間は、計測期間の計測の開始から所定時間（例えば、直前の計測期間における最小のＲＴＴ（ＲＴＴｍｉｎ）経過時まで、とすることができる。尚、計測期間は、ＩＰデータフローに対して連続的に定めてもよいし、間欠的に定めてもよく、計測期間で求めたＲＴＴｍｉｎは少なくとも次回の計測期間でＲＴＴｍｉｎを求めるまで保持するように構成し、ＲＴＴｍｉｎを用いるＣＷＮＤ等の更新にはその更新時点で保持するＲＴＴｍｉｎを用いるようにする。
【００４８】
（実施例１）
まず、本発明に係る実施例１のスロースタート動作部１１９ａについて、図５を参照して説明する。
【００４９】
スロースタート動作部１１９ａは、パケットロス判定部１１４から受信した送達確認応答パケット、ＲＴＴ及びＲＴＴｂａｓｅを基に第１の輻輳判定を行うように構成され、この第１の輻輳判定を基に輻輳回避フェーズへ移行するか否かを決定する。より具体的には、図５に示すように、スロースタート動作部１１９ａは、パケットロス判定部１１４から送達確認応答パケット、ＲＴＴ及びＲＴＴｂａｓｅを受信すると（ステップＳ３１）、１計測期間が経過したか否かを判定する（ステップＳ３２）。
【００５０】
１計測期間が経過していた場合（ステップＳ３２：Ｙｅｓ）、スロースタート動作部１１９ａは、式（３）により第１の輻輳判定を行い（ステップＳ３３）、輻輳が発生していたと判定した際には（ステップＳ３３：Ｙｅｓ）、ｓｓｔｈｒｅｓｈを現在のＣＷＮＤに設定し、輻輳回避フェーズへ移行する（ステップＳ３４）。輻輳が発生していないと判定した場合（ステップＳ３３：Ｎｏ）、ＲＴＴｍｉｎをＲＴＴで初期化して（ステップＳ３５）、次の計測期間を開始し、ステップＳ３７に移行する。
【００５１】
if RTTmin ＞ RTTbase ＋ α              （３）
then        輻輳が発生
else        輻輳が発生していない
【００５２】
ＲＴＴｍｉｎは１計測期間中に計測した最小のＲＴＴ、ＲＴＴｂａｓｅは通信を開始してから現時点までに計測した最小のＲＴＴ、αはパラメータである。αは、ＲＴＴｂａｓｅの定数倍、ＲＴＴの分散、ＲＴＴのジッタの移動平均などとすることができる。
【００５３】
一方、１計測期間が経過していない場合（ステップＳ３２：Ｎｏ）、スロースタート動作部１１９ａは、式（４）によりＲＴＴｍｉｎを更新する（ステップＳ３６）。
【００５４】
RTTmin ＝ min（RTT, RTTmin）                            （４）
【００５５】
第１の輻輳判定で輻輳が発生していないと判定した後（ステップＳ３３，Ｓ３５）、及び１計測期間が経過しておらず、ＲＴＴｍｉｎを更新した場合（ステップＳ３２，Ｓ３６）、スロースタート動作部１１９ａは、スロースタートフェーズを継続すると決定し、ＣＷＮＤを式（５）により拡大する（ステップＳ３７）。
【００５６】
CWND ＝ CWND ＋ MSS                                   （５）
【００５７】
このように、本実施例のパケット送信装置１１aでは、高速に輻輳ウィンドウサイズを拡大するスロースタートフェーズと、緩やかに輻輳ウィンドウサイズを調整する輻輳回避フェーズを遷移しながらパケット送信の制御を行い、スロースタートフェーズで動作中に、予め定めた計測期間の経過後となる受信応答確認に対して、ＲＴＴｍｉｎとＲＴＴｂａｓｅによって輻輳判定を行い、輻輳と判定された場合にはスロースタートフェーズから輻輳回避フェーズへ遷移するように構成される。このように構成することで、スロースタートフェーズにおいて、輻輳とは無関係の遅延増加が発生しやすい環境においても、その影響を軽減してウィンドウサイズを拡大することができるようになり、通信効率が向上する。
【００５８】
（実施例２）
次に、本発明に係る実施例２のスロースタート動作部１１９ａについて、図６を参照して説明する。尚、図６において、図５と同様の処理内容を示す要素には、同一の参照番号を付している。実施例１では、１計測期間の経過判定及び輻輳判定後、スロースタートフェーズが継続する場合は全て式（５）によってＣＷＮＤを拡大するように構成していたが、本実施例のスロースタート動作部１１９ａは、１計測期間の経過判定及び輻輳判定後、再度、第２の輻輳判定を実行し、輻輳が発生していない場合にのみ式（５）によりＣＷＮＤを拡大するように構成される。
【００５９】
より具体的には、図６に示すように、スロースタート動作部１１９ａは、パケットロス判定部１１４から送達確認応答パケット、ＲＴＴ及びＲＴＴｂａｓｅを受信すると（ステップＳ３１）、１計測期間が経過したか否かを判定する（ステップＳ３２）。
【００６０】
１計測期間が経過していた場合（ステップＳ３２：Ｙｅｓ）、スロースタート動作部１１９ａは、式（３）により第１の輻輳判定を行い（ステップＳ３３）、輻輳が発生していたと判定した場合（ステップＳ３３：Ｙｅｓ）、ｓｓｔｈｒｅｓｈを現在のＣＷＮＤに設定し（ステップＳ３４）、輻輳回避フェーズへ移行する（ステップＳ３８）。輻輳が発生していないと判定した場合（ステップＳ３３：Ｎｏ）、ＲＴＴｍｉｎをＲＴＴで初期化して（ステップＳ３５）、次の計測期間を開始し、ステップＳ３６ａに移行する。
【００６１】
一方、１計測期間が経過していない場合（ステップＳ３２：Ｎｏ）、スロースタート動作部１１９ａは、式（４）によりＲＴＴｍｉｎを更新する（ステップＳ３６）。
【００６２】
第１の輻輳判定で輻輳が発生していないと判定した後（ステップＳ３３，Ｓ３５）、及び１計測期間が経過しておらず、ＲＴＴｍｉｎを更新した場合（ステップＳ３２，Ｓ３６）、スロースタート動作部１１９ａは、再度、式（３）による第２の輻輳判定を実行する（ステップＳ３６ａ）。ただし、第１の輻輳判定で輻輳が発生していないと判定した後では、式（３）に関して、ＲＴＴｍｉｎはＲＴＴにより初期化されている点に留意する。
【００６３】
スロースタート動作部１１９ａは、第２の輻輳判定により輻輳が発生していたと判定した場合（ステップＳ３６ａ：Ｙｅｓ）、ＣＷＮＤの拡大を行わずにスロースタートフェーズを継続する。第２の輻輳判定により輻輳が発生していないと判定した場合（ステップＳ３６ａ：Ｎｏ）、スロースタート動作部１１９ａは、スロースタートフェーズを継続すると決定し、ＣＷＮＤを式（５）により拡大する（ステップＳ３７）。
【００６４】
これにより、スロースタート時のＣＷＮＤの拡大速度は減少する可能性があるが、対象の計測期間において輻輳が発生していないことを確認した状態でのみＣＷＮＤが拡大されるため、ＣＷＮＤが過剰に大きくなることを抑制することができる。
【００６５】
（実施例３）
次に、本発明に係る実施例２のスロースタート動作部１１９ａについて、図７を参照して説明する。尚、図７において、図５と同様の処理内容を示す要素には、同一の参照番号を付している。実施例１では、１計測期間の経過判定及び輻輳判定後、スロースタートフェーズが継続する場合は全て式（５）によってＣＷＮＤを拡大するように処理していたが、本実施例のスロースタート動作部１１９ａは、１計測期間の経過判定及び輻輳判定後、第３の輻輳判定を実行し、輻輳が発生していない場合にのみ式（５）によりＣＷＮＤを拡大するように構成される。
【００６６】
より具体的には、図７に示すように、スロースタート動作部１１９ａは、パケットロス判定部１１４から送達確認応答パケット、ＲＴＴ及びＲＴＴｂａｓｅを受信すると（ステップＳ３１）、式（３）により１計測期間が経過したか否かを判定する（ステップＳ３２）。
【００６７】
１計測期間が経過していた場合（ステップＳ３２：Ｙｅｓ）、スロースタート動作部１１９ａは、式（３）により第１の輻輳判定を行い（ステップＳ３３）、輻輳が発生していたと判定した場合（ステップＳ３３：Ｙｅｓ）、ｓｓｔｈｒｅｓｈを現在のＣＷＮＤに設定し（ステップＳ３４）、輻輳回避フェーズへ移行する（ステップＳ３８）。輻輳が発生していないと判定した場合（ステップＳ３３：Ｎｏ）、ＲＴＴｍｉｎをＲＴＴで初期化して（ステップＳ３５）、次の計測期間を開始し、ステップＳ３６ｂに移行する。
【００６８】
一方、１計測期間が経過していない場合（ステップＳ３２：Ｎｏ）、スロースタート動作部１１９ａは、式（４）によりＲＴＴｍｉｎを更新する（ステップＳ３６）。
【００６９】
第１の輻輳判定で輻輳が発生していないと判定した後（ステップＳ３３，Ｓ３５）、及び１計測期間が経過しておらず、ＲＴＴｍｉｎを更新した場合（ステップＳ３２，Ｓ３６）、スロースタート動作部１１９ａは、再度、式（６）による第３の輻輳判定を実行する（ステップＳ３６ｂ）。
【００７０】
if RTT ＞ RTTbase ＋ α                （６）
then輻輳が発生
else輻輳が発生していない
【００７１】
スロースタート動作部１１９ａは、第３の輻輳判定により輻輳が発生していたと判定した場合（ステップＳ３６ｂ：Ｙｅｓ）、ＣＷＮＤの拡大を行わずにスロースタートフェーズを継続する。第３の輻輳判定により輻輳が発生していないと判定した場合（ステップＳ３６ｂ：Ｎｏ）、スロースタート動作部１１９ａは、スロースタートフェーズを継続すると決定し、ＣＷＮＤを式（５）により拡大する（ステップＳ３７）。
【００７２】
これにより、スロースタート時のＣＷＮＤの拡大速度は減少する可能性があるが、輻輳が発生していないことをパケット毎に確認した状態でのみＣＷＮＤが拡大されるため、ＣＷＮＤが過剰に大きくなることを抑制することができる。
【００７３】
以上、特定の実施例を挙げて本発明を説明したが、本発明は前述の実施形態及び各実施例に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。例えば、送達確認に基づく遅延量を用いてパケット送信に関するスロースタート制御を行うパケット送信装置であれば、如何なる態様の装置でもよい。
【産業上の利用可能性】
【００７４】
本発明によれば、輻輳とは無関係の遅延変動が大きな回線であっても、輻輳の誤判定を抑制しＣＷＮＤが拡大する前に輻輳回避フェーズへ移行することを防ぐことができるので、送達確認に基づく遅延量を用いてパケット送信に関するスロースタート制御を行う用途に有用である。
【符号の説明】
【００７５】
１０  通信端末
１１  従来技術に係るパケット送信装置
１１ａ  本発明による一実施形態のパケット送信装置
１２  パケット受信装置
２０  通信端末
２１  パケット受信装置
２２  パケット送信装置
１１１  送信時刻書込部
１１２  パケット送信部
１１３  送達確認応答受信部
１１４  パケットロス判定部
１１５  パケット送信制御部
１１６  ロス再送動作部
１１７  ロスリカバリ動作部
１１８  輻輳回避動作部
１１９，１１９ａ  スロースタート動作部
【図１】
2015180008.tif 000003
【図２】
2015180008.tif 000004
【図３】
2015180008.tif 000005
【図４】
2015180008.tif 000006
【図５】
2015180008.tif 000007
【図６】
2015180008.tif 000008
【図７】
2015180008.tif 000009
【図８】
2015180008.tif 000010
【図９】
2015180008.tif 000011