(57)【特許請求の範囲】
【請求項１】
送達確認に基づく遅延量を用いてパケット送信に関する輻輳ウインドウの制御を行うパケット送信装置であって、
パケット送信の送達確認に基づく往復遅延時間（ＲＴＴ）を算出する手段と、
予め定めたパケット遅延量に関する計測期間内における当該往復遅延時間（ＲＴＴ）に関して、直前の１計測期間内で計測した最小の値である計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）、通信を開始してから、又は通信開始後にＴＣＰタイムアウトが発生している場合は直近のＴＣＰタイムアウト後から、現時点までに計測した最小の値である輻輳ウインドウサイズ調整基準の往復遅延時間（ＲＴＴｂａｓｅ）、及び、通信を開始してから、又は最後の輻輳ウインドウサイズの減少イベントから、現時点までに計測した最小の値である輻輳判定基準の往復遅延時間（ＲＴＴｂａｓｅＴｍｐ）と、を保持し、当該往復遅延時間（ＲＴＴ）を算出する度に、前記計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）、前記輻輳ウインドウサイズ調整基準の往復遅延時間（ＲＴＴｂａｓｅ）、及び前記輻輳判定基準の往復遅延時間（ＲＴＴｂａｓｅＴｍｐ）を更新する手段と、
パケットロスの未発生時に、当該往復遅延時間（ＲＴＴ）を算出した現時点から２計測期間前のＣＷＮＤの値である輻輳ウインドウサイズの更新パラメータ（ｃｗｎｄ２）、前記計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）、及び前記輻輳判定基準の往復遅延時間（ＲＴＴｂａｓｅＴｍｐ）を用いた所定の輻輳判定式により、輻輳判定を行う手段と、
パケットロスの未発生時、及び輻輳未発生時に、既定の計算式に基づいて輻輳ウインドウサイズを拡大可能に更新する、輻輳ウインドウサイズの第１の更新手段と、
パケットロスの発生時、及び輻輳発生時に、前記輻輳ウインドウサイズ調整基準の往復遅延時間（ＲＴＴｂａｓｅ）を用いた予め定めた更新式により、前記減少イベントを含み輻輳ウインドウサイズを縮小可能に更新する、輻輳ウインドウサイズの第２の更新手段と、
を備えることを特徴とするパケット送信装置。
【請求項２】
前記輻輳判定を行う手段は、予め定めたパラメータ（ａ）を用いて、
cwnd2×(RTTmin−RTTbaseTmp)／RTTmin＞ａ
を満たす場合に輻輳と判定することを特徴とする、請求項１に記載のパケット送信装置。
【請求項３】
前記第２の更新手段は、予め定めたパラメータ（ｂ）を用いて、
cwnd＝cwnd2×RTTbase／RTTmin×ｂ
を満たすように輻輳ウインドウサイズを更新することを特徴とする、請求項１又は２に記載のパケット送信装置。
【請求項４】
請求項１から３のいずれか一項に記載のパケット送信装置を備えることを特徴とする通信端末。
【請求項５】
送達確認に基づく遅延量を用いてパケット送信に関する輻輳ウインドウの制御を行う輻輳制御方法であって、
パケット送信の送達確認に基づく往復遅延時間（ＲＴＴ）を算出するステップと、
予め定めたパケット遅延量に関する計測期間内における当該往復遅延時間（ＲＴＴ）に関して、直前の１計測期間内で計測した最小の値である計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）、通信を開始してから、又は通信開始後にＴＣＰタイムアウトが発生している場合は直近のＴＣＰタイムアウト後から、現時点までに計測した最小の値である輻輳ウインドウサイズ調整基準の往復遅延時間（ＲＴＴｂａｓｅ）、及び、通信を開始してから、又は最後の輻輳ウインドウサイズの減少イベントから、現時点までに計測した最小の値である輻輳判定基準の往復遅延時間（ＲＴＴｂａｓｅＴｍｐ）と、を保持し、当該往復遅延時間（ＲＴＴ）を算出する度に、前記計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）、前記輻輳ウインドウサイズ調整基準の往復遅延時間（ＲＴＴｂａｓｅ）、及び前記輻輳判定基準の往復遅延時間（ＲＴＴｂａｓｅＴｍｐ）を更新するステップと、
パケットロスの未発生時に、当該往復遅延時間（ＲＴＴ）を算出した現時点から２計測期間前のＣＷＮＤの値である輻輳ウインドウサイズの更新パラメータ（ｃｗｎｄ２）、前記計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）、及び前記輻輳判定基準の往復遅延時間（ＲＴＴｂａｓｅＴｍｐ）を用いた所定の輻輳判定式により、輻輳判定を行うステップと、
パケットロスの未発生時、及び輻輳未発生時に、既定の計算式に基づいて輻輳ウインドウサイズを拡大可能に更新するステップと、
パケットロスの発生時、及び輻輳発生時に、前記輻輳ウインドウサイズ調整基準の往復遅延時間（ＲＴＴｂａｓｅ）を用いた予め定めた更新式により、前記減少イベントを含み輻輳ウインドウサイズを縮小可能に更新するステップと、
を含むことを特徴とする輻輳制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット通信によってデータを伝送するパケット通信におけるパケット送信装置、通信端末及び輻輳制御方法に関する。
【背景技術】
【０００２】
品質の保証がされていないベストエフォートタイプのＩＰ（Internet Protocol）ネットワークでは、ネットワーク機器内部でのバッファ溢れや、伝送中のビットエラー等によって送信パケットの廃棄が発生する。そのため、確実にデータを伝送するための送達確認を行うプロトコルとしてＴＣＰ（Transmission Control Protocol）が幅広く利用されている（例えば、非特許文献１参照）。
【０００３】
例えば、図４に示すように、ＴＣＰを利用して相互通信接続を行う通信端末１０，２０において、通信端末１０にはパケット送信装置１１及びパケット受信装置１２が設けられ、通信端末２０にはパケット受信装置２１及びパケット送信装置２２が設けられる。パケット送信装置１１及びパケット受信装置２１とパケット送信装置２２及びパケット受信装置１２はそれぞれ同様の機能を有し、代表してパケット送信装置１１及びパケット受信装置２１に注目して説明する。パケット送信装置１１は、データ送信用パケットを所定の通信路を介してパケット受信装置２１に送信すると、パケット受信装置２１は、受信した旨の報告として送達確認応答パケットをパケット送信装置１１に送信する。
【０００４】
より具体的には、ＴＣＰでは、パケット受信装置２１がパケットを受信すると、受信した旨の報告として、次に送信を要求するパケットの番号をパケット送信装置１１に通知する。そして、パケット送信装置１１は、パケット受信装置２１から通知される報告に基づいて、パケットが正常にパケット受信装置２１に到達したことを確認する。パケット送信装置１１は、パケット受信装置２１から通知される報告に基づいて、送達確認応答なしに送出可能なパケットの数を表す輻輳ウインドウサイズ（ＣＷＮＤ:Congestion Window Size）を調整する。例えばパケットが正常に受信された場合はＣＷＮＤを拡大し、パケットロスが検出された場合はＣＷＮＤを縮小する。
【０００５】
このＣＷＮＤを調整する技法は輻輳制御技法と呼ばれ、通信の状態によってその制御技法が切り替えられる。一般的には通信開始時やＴＣＰタイムアウト後に適用される「スロースタートフェーズ」、通信が安定している際に適用される「輻輳回避フェーズ」、ロスパケットを再送するための「ロスリカバリフェーズ」といったフェーズに応じて輻輳制御技法を切り替える。
【０００６】
ＴＣＰ ＮｅｗＲｅｎｏは、輻輳回避フェーズでは送達確認応答を受信する度に、式（１）によりＣＷＮＤを拡大する（例えば、非特許文献２参照）。尚、ＭＳＳはパケットに含まれるデータの最大バイト数である。
【０００７】
CWND ＝ CWND ＋ MSS／CWND                                        （１）
【０００８】
また、パケットロスが発生した場合には式（２）によりＣＷＮＤを縮小する。
【０００９】
CWND ＝ max（CWND_MIN, CWND／２）                                （２）
【００１０】
ＣＷＮＤ_ＭＩＮはＣＷＮＤが取りうる最小の値である。このように、パケットロスが発生するまでＣＷＮＤを拡大し続ける技法を一般に「ロスベース技法」と呼ぶ。
【００１１】
一方、ＴＣＰ Ｖｅｇａｓは、輻輳回避フェーズでは１往復遅延時間（ＲＴＴ:Round Trip Time）毎に、式（３）によりＣＷＮＤを更新する（例えば、非特許文献３参照）。
【００１２】
diff ＝ CWND／RTTbase − CWND／RTTmin                              （３）
if  diff ＞ β        
then    CWND ＝ CWND − MSS
ssthresh ＝ min（CWND, ssthresh）
else  if  diff ＜α
then    CWND ＝ CWND ＋ MSS
else    CWND ＝ CWND
【００１３】
ここに、ＲＴＴｂａｓｅは通信を開始してから（但し、通信開始後にＴＣＰタイムアウトが発生している場合は、直近のＴＣＰタイムアウト後から）現時点までに計測した最小のＲＴＴ、ＲＴＴｍｉｎは予め定めたパケット遅延量に関する計測期間内におけるＲＴＴについて直前の１計測期間で計測した最小のＲＴＴである。また、α，βは、予め定めたパラメータである。さらに、ｓｓｔｈｒｅｓｈは、スロースタートフェーズにおけるＣＷＮＤの拡大・縮小を決めるのに用いるスロースタート閾値である。このようにＲＴＴを用いてＣＷＮＤを増減する技法を一般に「遅延ベース技法」と呼ぶ。
【００１４】
また、ＴＣＰ Ｗｅｓｔｗｏｏｄはロスベース技法と遅延ベース技法を組み合わせており、「ハイブリッド技法」と呼ばれる（例えば、非特許文献４参照）。ＴＣＰ Ｗｅｓｔｗｏｏｄは送達確認応答を受信すると、ＴＣＰ ＮｅｗＲｅｎｏと同じようにＣＷＮＤを拡大する。パケットロスが発生した場合には式（４）によりＣＷＮＤを縮小する。
【００１５】
ssthresh ＝ BWE × RTTbase                                        （４）
CWND ＝ min（CWND, ssthresh)
【００１６】
ＢＷＥは使用帯域であり、ＣＷＮＤ／ＲＴＴで計算される。パケットロス発生時にＣＷＮＤを縮小する点はロスベース技法と同様だが、その縮小量は遅延ベース技法のようにＲＴＴｂａｓｅを用いて決定する。
【００１７】
また、Ｖｅｇａｓのように遅延増加時にもＣＷＮＤを縮小させることができるが、その縮小幅をＷｅｓｔｗｏｏｄのように使用帯域とＲＴＴｂａｓｅを用いて決定する技法が開示されている（例えば、特許文献１参照）。
【００１８】
これらの従来技術を総括するに、ロスベース技法においてはパケットロス発生時にＣＷＮＤの縮小幅を制御するためにＲＴＴｂａｓｅを基準に用いるように構成することがあり、一方、遅延ベース技法においては、ＲＴＴｂａｓｅを遅延増加判定の閾値に用いるように構成する。例えば、ロスベース技法や遅延ベース技法における、そのパケット送信装置１１の概略構成を示すと、図５のようになる。図５に示すパケット送信装置１１は、後述する本発明との対比に係る機能ブロックのみを図示したものであり、送達確認を行うパケット通信方式のパケット送信装置としてその他の必要な機能は、従来から知られている既知の技術と同様の構成とすることができ、その詳細な説明は省略する。まず、図５に示す従来技術に基づくパケット送信装置１１は、送信時刻書込部１１１、パケット送信部１１２、送達確認応答受信部１１３、輻輳ウインドウ制御部１１４、及び輻輳判定部１１５を備える。
【００１９】
送信時刻書込部１１１は、パケット送信時に送信時刻を記録する。この送信時刻は、パケット送信装置１１の本体内メモリ（図示せず）にパケット番号とともに記録することができる。或いは、ＴＣＰのタイムスタンプオプションを用いて記録することもできる。
【００２０】
パケット送信部１１２は、パケット受信装置２１に向けてパケットを送信する。その後、送達確認応答受信部１１３は、パケット受信装置２１から通知される送達確認応答パケットを受信すると、次の処理を開始する。
【００２１】
送達確認応答受信部１１３は、送達確認応答パケットを受信すると、パケットロスが発生しているか否かの判定を行い、パケットロスの判定結果、及び送達確認応答パケットを輻輳ウインドウ制御部１１４へ通知する。パケットロスの判定には、例えば送達確認応答パケットに含まれる送達確認番号が同じパケットを３回受信した場合とする方法がある。
【００２２】
輻輳ウインドウ制御部１１４は、パケットロスの判定結果を基に、パケットロスが発生していた場合、式（１）〜（４）のいずれかによりＣＷＮＤを更新し、パケット送信部１１２におけるパケット送信の輻輳ウインドウを制御し、パケットロスが発生していない場合、パケット送信部１１２からのパケット送信から送達確認応答パケットを受信するまでにかかったＲＴＴを計算する。ＲＴＴの計算は、本体内メモリに記録した送信時刻と受信時刻の差とすることができる。或いは、ＴＣＰタイムスタンプオプションを用いることができる。そして、輻輳ウインドウ制御部１１４は、ＲＴＴｂａｓｅを更新して（ＲＴＴｍｉｎを用いる際には、ＲＴＴ及び送達確認応答パケットを基にＲＴＴｍｉｎを更新して）、輻輳判定部１１５により、ＲＴＴｂａｓｅを遅延増加判定の閾値に用いて（或いはＲＴＴｍｉｎも用いて）パケット遅延量を判別して輻輳判定を行わせ、ＣＷＮＤを更新する。このようにして、ロスベース技法や遅延ベースの輻輳制御を行う。
【００２３】
ロスベース技法はパケットロスが発生するまでＣＷＮＤを拡大するため、必ずパケットロスが発生する一方で、遅延ベース技法は遅延増加量を検出した時点でＣＷＮＤを減少するためパケットロスの発生を防ぐことが可能となるが、通信回線を共有するＩＰデータフロー間での公平性についての問題があり、この評価に関する文献が開示されている（例えば、非特許文献５参照）。
【先行技術文献】
【特許文献】
【００２４】
【特許文献１】特許第４６３２８７４号明細書
【非特許文献】
【００２５】
【非特許文献１】“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〉
【非特許文献２】“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〉
【非特許文献３】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〉
【非特許文献４】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〉
【非特許文献５】小山智史、青木勝典及び池田哲臣、“データリンクレイヤによる遅延を考慮したディレイベースTCPのスループット公平性の評価”、［online］、一般社団法人電子情報通信学会、電子情報通信学会総合大会講演論文集、電子情報通信学会総合大会講演論文集 2014年_通信(2), 153, 2014年03月04日、［平成27年3月9日検索］、インターネット〈URL：http://ci.nii.ac.jp/naid/110009849644〉
【発明の概要】
【発明が解決しようとする課題】
【００２６】
ロスベース技法はパケットロスが発生するまでＣＷＮＤを拡大するため、必ずロスが発生する。一方、遅延ベース技法は遅延の増加を検出した時点でＣＷＮＤを縮小するため、パケットロスの発生を防ぐことが可能である。しかし、回線を共有するＩＰデータフロー間での使用帯域の公平性について問題があった。
【００２７】
例えば、或る回線にまずＩＰデータフロー１（Ｆ１）が発生したとする。Ｆ１はこの回線を使い切り、遅延が増加するまでＣＷＮＤを拡大する。そして、遅延が少し増加したところでＣＷＮＤの拡大を止める。Ｆ１のＲＴＴｂａｓｅ（Ｆ１_ＲＴＴｂａｓｅ）は回線が空いた状態で計測したＲＴＴとなる。
【００２８】
次に、ＩＰデータフロー２（Ｆ２）が発生したとする。Ｆ２は既にＦ１により遅延が増加した状態の回線にパケットを送信するため、Ｆ２のＲＴＴｂａｓｅ（Ｆ２_ＲＴＴｂａｓｅ）はＦ１_ＲＴＴｂａｓｅよりも大きい値となる。従って、Ｆ１とＦ２で同じＲＴＴｍｉｎを計測したとしてもＦ１が先にＣＷＮＤを縮小するスレッショルドを超えるため、Ｆ１ばかりがＣＷＮＤを縮小することとなり、使用帯域に不公平が生ずる。
【００２９】
ＴＣＰ Ｗｅｓｔｗｏｏｄの場合も同様に、ＲＴＴｂａｓｅを基にＣＷＮＤを計算するため、上記のようにＲＴＴｂａｓｅの値に不公平が生ずると、使用帯域にも不公平が生ずる。
【００３０】
特許文献１の技法も同様に、ＲＴＴｂａｓｅを用いた遅延増加判定とＣＷＮＤの更新を行うため、ＲＴＴｂａｓｅの値に不公平が生ずると使用帯域にも不公平が生ずる。
【００３１】
一方、非特許文献５では、ＲＴＴｂａｓｅをパケットロスの発生時、又は輻輳判定時にリセットするよう構成し、複数フロー間でＲＴＴｂａｓｅを同一にして、使用帯域の不公平が生じないようにすることができる。しかしながら、この構成では、ＲＴＴｂａｓｅを増加させる方向に更新していくため、複数フロー存在時に、遅延が大きくなることがある。
【００３２】
本発明の目的は、上述の問題に鑑みて、送達確認に基づく遅延量を用いてパケット送信に関する輻輳ウインドウの制御を行うパケット送信装置、通信端末及び輻輳制御方法を提供することにある。
【課題を解決するための手段】
【００３３】
本発明では、輻輳判定を行う際に、通信を開始してから、又は通信開始後にＴＣＰタイムアウトが発生している場合は、直近のＴＣＰタイムアウト後から、現時点（換言すれば直近のＲＴＴの算出時点）までに計測した最小のＲＴＴであるＲＴＴｂａｓｅを用いる代わりに、通信を開始してから、又は最後の輻輳ウインドウサイズの減少イベントから、現時点（ＲＴＴの算出時点）までに計測した最小のＲＴＴであるＲＴＴｂａｓｅＴｍｐを用いることで、複数フロー存在時における遅延が大きくなることを抑制する。
【００３４】
従って、ＲＴＴｂａｓｅＴｍｐは、輻輳ウインドウサイズ（ＣＷＮＤ）の更新処理で、ＣＷＮＤの減少を行う更新処理が発生する度に、予め定めた通信上の取りうる最大の値に初期化（リセット）されるものである。また、判定された輻輳時のＣＷＮＤの減少を行う更新処理の計算には、ＲＴＴｂａｓｅを用いることで、複数のＩＰデータフローの使用帯域の公平性を改善する。
【００３５】
即ち、本発明のパケット送信装置は、送達確認に基づく遅延量を用いてパケット送信に関する輻輳ウインドウの制御を行うパケット送信装置であって、パケット送信の送達確認に基づく往復遅延時間（ＲＴＴ）を算出する手段と、予め定めたパケット遅延量に関する計測期間内における当該往復遅延時間（ＲＴＴ）に関して、直前の１計測期間内で計測した最小の値である計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）、通信を開始してから、又は通信開始後にＴＣＰタイムアウトが発生している場合は直近のＴＣＰタイムアウト後から、現時点までに計測した最小の値である輻輳ウインドウサイズ調整基準の往復遅延時間（ＲＴＴｂａｓｅ）、及び、通信を開始してから、又は最後の輻輳ウインドウサイズの減少イベントから、現時点までに計測した最小の値である輻輳判定基準の往復遅延時間（ＲＴＴｂａｓｅＴｍｐ）と、を保持し、当該往復遅延時間（ＲＴＴ）を算出する度に、前記計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）、前記輻輳ウインドウサイズ調整基準の往復遅延時間（ＲＴＴｂａｓｅ）、及び前記輻輳判定基準の往復遅延時間（ＲＴＴｂａｓｅＴｍｐ）を更新する手段と、パケットロスの未発生時に、当該往復遅延時間（ＲＴＴ）を算出した現時点から２計測期間前のＣＷＮＤの値である輻輳ウインドウサイズの更新パラメータ（ｃｗｎｄ２）、前記計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）、及び前記輻輳判定基準の往復遅延時間（ＲＴＴｂａｓｅＴｍｐ）を用いた所定の輻輳判定式により、輻輳判定を行う手段と、パケットロスの未発生時、及び輻輳未発生時に、既定の計算式に基づいて輻輳ウインドウサイズを拡大可能に更新する、輻輳ウインドウサイズの第１の更新手段と、パケットロスの発生時、及び輻輳発生時に、前記輻輳ウインドウサイズ調整基準の往復遅延時間（ＲＴＴｂａｓｅ）を用いた予め定めた更新式により、前記減少イベントを含み輻輳ウインドウサイズを縮小可能に更新する、輻輳ウインドウサイズの第２の更新手段と、を備えることを特徴とする。
【００３６】
また、本発明のパケット送信装置において、前記輻輳判定を行う手段は、予め定めたパラメータ（ａ）を用いて、
cwnd2×(RTTmin−RTTbaseTmp)／RTTmin＞ａ
を満たす場合に輻輳と判定することを特徴とする。
【００３７】
また、本発明のパケット送信装置において、前記第２の更新手段は、予め定めたパラメータ（ｂ）を用いて、
cwnd＝cwnd2×RTTbase／RTTmin×ｂ
を満たすように輻輳ウインドウサイズを更新することを特徴とする。
【００３８】
更に、本発明の通信端末は、本発明のパケット送信装置を備えることを特徴とする。
【００３９】
更に、本発明の輻輳制御方法は、送達確認に基づく遅延量を用いてパケット送信に関する輻輳ウインドウの制御を行う輻輳制御方法であって、パケット送信の送達確認に基づく往復遅延時間（ＲＴＴ）を算出するステップと、予め定めたパケット遅延量に関する計測期間内における当該往復遅延時間（ＲＴＴ）に関して、直前の１計測期間内で計測した最小の値である計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）、通信を開始してから、又は通信開始後にＴＣＰタイムアウトが発生している場合は直近のＴＣＰタイムアウト後から、現時点までに計測した最小の値である輻輳ウインドウサイズ調整基準の往復遅延時間（ＲＴＴｂａｓｅ）、及び、通信を開始してから、又は最後の輻輳ウインドウサイズの減少イベントから、現時点までに計測した最小の値である輻輳判定基準の往復遅延時間（ＲＴＴｂａｓｅＴｍｐ）と、を保持し、当該往復遅延時間（ＲＴＴ）を算出する度に、前記計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）、前記輻輳ウインドウサイズ調整基準の往復遅延時間（ＲＴＴｂａｓｅ）、及び前記輻輳判定基準の往復遅延時間（ＲＴＴｂａｓｅＴｍｐ）を更新するステップと、パケットロスの未発生時に、当該往復遅延時間（ＲＴＴ）を算出した現時点から２計測期間前のＣＷＮＤの値である輻輳ウインドウサイズの更新パラメータ（ｃｗｎｄ２）、前記計測期間内最小の往復遅延時間（ＲＴＴｍｉｎ）、及び前記輻輳判定基準の往復遅延時間（ＲＴＴｂａｓｅＴｍｐ）を用いた所定の輻輳判定式により、輻輳判定を行うステップと、パケットロスの未発生時、及び輻輳未発生時に、既定の計算式に基づいて輻輳ウインドウサイズを拡大可能に更新するステップと、パケットロスの発生時、及び輻輳発生時に、前記輻輳ウインドウサイズ調整基準の往復遅延時間（ＲＴＴｂａｓｅ）を用いた予め定めた更新式により、前記減少イベントを含み輻輳ウインドウサイズを縮小可能に更新するステップと、を含むことを特徴とする。
【発明の効果】
【００４０】
本発明によれば、遅延増加を抑制しながら複数のフローの公平性を改善することができる。
【図面の簡単な説明】
【００４１】
【図１】本発明による一実施形態のパケット送信装置におけるブロック図である。
【図２】本発明による一実施形態のパケット送信装置における輻輳判定方法を示すフローチャートである。
【図３】（Ａ），（Ｂ）は、本発明による一実施形態のパケット送信装置に係るパケット遅延量に関する計測期間の説明図である。
【図４】ＴＣＰを利用して相互通信接続を行う通信端末のネットワーク接続例を説明する図である。
【図５】従来技術に基づくパケット送信装置におけるブロック図である。
【発明を実施するための形態】
【００４２】
以下、図面を参照して、本発明による一実施形態のパケット送信装置、通信端末及び輻輳制御方法を説明する。
【００４３】
（装置構成）
図１は、本発明による一実施形態のパケット送信装置１１ａにおけるブロック図である。パケット送信装置１１ａは、図５に示すパケット送信装置１１に置き換えて、図４に示す通信端末１０に設ける装置である。同様に、通信端末２０に対しても、パケット送信装置２２に置き換えてパケット送信装置１１ａと同様の構成を設けることができる。したがって、図４に示すように、ＴＣＰを利用して相互通信接続を行う通信端末１０，２０において、パケット送信装置１１ａは、データ送信用パケットを所定の通信路を介してパケット受信装置２１に送信すると、パケット受信装置２１は、受信した旨の報告として送達確認応答パケットをパケット送信装置１１ａに送信する。尚、図１に示すパケット送信装置１１ａは、本発明に係る機能ブロックのみを図示したものであり、送達確認を行うパケット通信方式のパケット送信装置としてその他の必要な機能は、従来から知られている既知の技術と同様の構成とすることができ、その詳細な説明は省略する。
【００４４】
図１に示すように、本実施形態のパケット送信装置１１ａは、送信時刻書込部１１１、パケット送信部１１２、送達確認応答受信部１１３、輻輳ウインドウ制御部１１４ａ、輻輳判定部１１５ａ及び輻輳ウインドウ計算部１１６ａを備える。尚、図５に示すパケット送信装置１１と比較して、本実施形態のパケット送信装置１１ａは、輻輳ウインドウ制御部１１４及び輻輳判定部１１５を備える代わりに、輻輳ウインドウ制御部１１４ａ、輻輳判定部１１５ａ及び輻輳ウインドウ計算部１１６ａを備える点で相違しており、同様な構成要素には同一の参照番号を付している。
【００４５】
送信時刻書込部１１１は、パケット送信時に送信時刻を記録する。この送信時刻は、パケット送信装置１１の本体内メモリ（図示せず）にパケット番号とともに記録することができる。或いは、ＴＣＰのタイムスタンプオプションを用いて記録することもできる。
【００４６】
パケット送信部１１２は、パケット受信装置２１に向けてパケットを送信する。その後、送達確認応答受信部１１３は、パケット受信装置２１から通知される送達確認応答パケットを受信すると、次の処理を開始する。
【００４７】
送達確認応答受信部１１３は、送達確認応答パケットを受信すると、パケットロスが発生しているか否かの判定を行い、パケットロスの判定結果、及び送達確認応答パケットを輻輳ウインドウ制御部１１４ａへ通知する。パケットロスの判定には、例えば送達確認応答パケットに含まれる送達確認番号が同じパケットを３回受信した場合とする方法がある。
【００４８】
輻輳ウインドウ制御部１１４ａは、パケットロスの判定結果を基に、パケットロスが発生していた場合、後述する「ＣＷＮＤの第２の更新処理」により、輻輳ウインドウ計算部１１６ａにより新たなＣＷＮＤを計算させ、ＣＷＮＤを更新する。このときの「ＣＷＮＤの第２の更新処理」により、ＣＷＮＤを縮小させることができる。このＣＷＮＤの更新に伴い、式（４）と同様にｓｓｔｈｒｅｓｈも更新する。
【００４９】
また、輻輳ウインドウ制御部１１４ａは、パケットロスの判定結果を基に、パケットロスが発生していなかった場合、ＲＴＴを計算する。ＲＴＴは本体内メモリに記録した送信時刻と受信時刻の差とすることができる。または、ＴＣＰタイムスタンプオプションを用いることができる。そして、輻輳ウインドウ制御部１１４ａは、ＲＴＴｂａｓｅＴｍｐと、ＲＴＴｂａｓｅ及びＲＴＴｍｉｎを更新する。ここに、従来技法と同様に、ＲＴＴｂａｓｅは通信を開始してから、又は通信開始後にＴＣＰタイムアウトが発生している場合は直近のＴＣＰタイムアウト後から、現時点（換言すれば直近のＲＴＴの算出時点）までに計測した最小のＲＴＴ、ＲＴＴｍｉｎは予め定めたパケット遅延量に関する計測期間内におけるＲＴＴについて直前の１計測期間で計測した最小のＲＴＴである。
【００５０】
一方、ＲＴＴｂａｓｅＴｍｐは、通信を開始してから、又は最後の輻輳ウインドウサイズの減少イベントから、現時点（ＲＴＴの算出時点）までに計測した最小のＲＴＴであり、本発明に係る輻輳判定に用いられ、式（５）により更新される。
【００５１】
RTTbaseTmp ＝ min（RTT, RTTbaseTmp）                                （５）
【００５２】
そして、輻輳ウインドウ制御部１１４ａは、ＲＴＴｂａｓｅＴｍｐ、ＲＴＴｂａｓｅ及びＲＴＴｍｉｎの更新後、予め定めたパケット遅延量に関する計測期間における計測開始から１計測期間が経過したか否かを判定する。１計測期間が経過していない場合、輻輳ウインドウ制御部１１４ａは、「ＣＷＮＤの第１の更新処理」により、ＣＷＮＤを更新する。「ＣＷＮＤの第１の更新処理」は、既定の計算式、例えばＴＣＰ ＮｅｗＲｅｎｏ（式（１）参照）、ＴＣＰ Ｖｅｇａｓ（式（３）参照）、或いはＣＵＢＩＣなど、その通信方式で採用する更新処理により、ＣＷＮＤを更新する処理である。この「ＣＷＮＤの第１の更新処理」により、ＣＷＮＤを拡大させることができる。
【００５３】
計測期間に関して、例えば、図３（Ａ）に示すように、通信端末１０（パケット送信装置１１ａ）が連続的に送信するデータ送信用パケットＤ１，Ｄ２，Ｄ３を通信端末２０に向けて送信するとともに、データ送信用パケットＤ１，Ｄ２，Ｄ３の各々に対応する送達確認応答パケットＡＣＫ１，ＡＣＫ２，ＡＣＫ３を受信する場合を考えたとき、１計測期間は、計測期間の計測の開始から通信端末１０（パケット送信装置１１ａ）が最初に送信するパケットに対する送達確認応答（ＡＣＫ）が到着するまで、とすることができる。
【００５４】
或いは、図３（Ｂ）に示すように、１計測期間は、計測期間の計測の開始から所定時間（例えば、直前の計測期間における最小のＲＴＴ（ＲＴＴｍｉｎ）経過時）まで、とすることができる。尚、計測期間は、ＩＰデータフローに対して連続的に定めてもよいし、間欠的に定めてもよく、計測期間で求めたＲＴＴｍｉｎは少なくとも次回の計測期間でＲＴＴｍｉｎを求めるまで保持するように構成し、ＲＴＴｍｉｎを用いるＣＷＮＤ等の更新にはその更新時点で保持するＲＴＴｍｉｎを用いるようにする。
【００５５】
一方、１計測期間が経過している場合、輻輳ウインドウ制御部１１４ａは、輻輳判定部１１５ａへＲＴＴｂａｓｅＴｍｐ、ＲＴＴｍｉｎ及び輻輳ウインドウサイズの更新パラメータｃｗｎｄ２を通知する。ｃｗｎｄ２は、２計測期間前のＣＷＮＤの値であり、従って、輻輳ウインドウ制御部１１４ａは、少なくとも２計測期間分のＣＷＮＤの値を保持するよう構成されている。
【００５６】
輻輳判定部１１５ａは、輻輳ウインドウ制御部１１４ａから通知されたＲＴＴｂａｓｅＴｍｐ、ＲＴＴｍｉｎ及びｃｗｎｄ２を基に輻輳判定を行い、その輻輳判定結果を輻輳ウインドウ制御部１１４ａに通知する。
【００５７】
より具体的には、輻輳判定部１１５ａは、式（６）により輻輳判定を行う。尚、ａはどこまでＲＴＴの増加を許容するかを決定する予め定めたパラメータであり、０以上の整数である。
【００５８】
if         cwnd2×(RTTmin−RTTbaseTmp)／RTTmin＞ａ                  （６）
then       輻輳。
otherwise  輻輳でない。
【００５９】
このように、輻輳判定に関しては、ＲＴＴｂａｓｅではなく、ＲＴＴｂａｓｅＴｍｐを用いて輻輳判定を行い、後述する「ＣＷＮＤの第２の更新処理」によりＣＷＮＤを更新するよう構成することで、遅延増加を抑制しながら複数のＩＰデータフローの公平性を改善することができる。
【００６０】
輻輳ウインドウ制御部１１４ａは、輻輳判定部１１５ａから輻輳判定結果の通知を受けると、輻輳でない旨を示す輻輳判定結果の場合、輻輳ウインドウ制御部１１４ａは、「ＣＷＮＤの第１の更新処理」により、ＣＷＮＤを更新する。
【００６１】
一方、輻輳である旨を示す輻輳判定結果の場合、輻輳ウインドウ制御部１１４ａは、「ＣＷＮＤの第２の更新処理」により、輻輳ウインドウ計算部１１６ａにより新たなＣＷＮＤを計算させ、ＣＷＮＤを更新する。このＣＷＮＤの更新に伴い、式（４）と同様にｓｓｔｈｒｅｓｈも更新する。
【００６２】
「ＣＷＮＤの第２の更新処理」では、輻輳ウインドウ制御部１１４ａは、ＲＴＴｂａｓｅ及びＲＴＴｍｉｎと、ｃｗｎｄ２を輻輳ウインドウ計算部１１６ａへ通知し、輻輳ウインドウ計算部１１６ａにより新たなＣＷＮＤを計算させる。このときの「ＣＷＮＤの第２の更新処理」により、ＣＷＮＤが維持されることもあるが、パケットロスの発生前にＣＷＮＤを縮小させることができる。
【００６３】
より具体的には、輻輳ウインドウ計算部１１６ａは、式（７）により輻輳ウインドウサイズ（ＣＷＮＤ）を算出する。尚、ｂは複数のＩＰデータフローの収束速度を決定する予め定めたパラメータであり、０より大きく１以下の実数である。
【００６４】
cwnd＝cwnd2×RTTbase／RTTmin×ｂ                                    （７）
【００６５】
このように、本発明による一実施形態のパケット送信装置１１ａでは、輻輳ウインドウ制御技法において、パケットロス発生時や輻輳発生時に送達確認に基づく新たな基準の遅延量を示すＲＴＴｂａｓｅＴｍｐを用いてＣＷＮＤを更新するように構成したことで、遅延増加を抑制しながら複数のＩＰデータフローの各々の間の使用帯域の公平性を改善することができる。
【００６６】
（装置動作）
次に、図２を参照して、本発明による一実施形態のパケット送信装置１１ａにおける輻輳制御方法について説明する。図２は、本発明による一実施形態のパケット送信装置１１ａにおける輻輳判定方法を示すフローチャートである。
【００６７】
パケット送信装置１１ａは、送達確認応答受信部１１３により、送達確認応答パケット（ＡＣＫ）を受信すると（ステップＳ１１）、パケットロスが発生しているか否かの判定を行い（ステップＳ１２）、パケットロスの判定結果、及び送達確認応答パケットを輻輳ウインドウ制御部１１４ａへ通知する。
【００６８】
続いて、パケット送信装置１１ａは、輻輳ウインドウ制御部１１４ａにより、パケットロスの判定結果を基に、パケットロスが発生していた場合（ステップＳ１２：Ｙｅｓ）、前述の「ＣＷＮＤの第２の更新処理」により、輻輳ウインドウ計算部１１６ａにより新たなＣＷＮＤを計算させ、ＣＷＮＤを更新する（ステップＳ１８）。このＣＷＮＤの更新に伴い、式（４）と同様にｓｓｔｈｒｅｓｈも更新する。
【００６９】
一方、パケットロスが発生していなかった場合（ステップＳ１２：Ｎｏ）、パケット送信装置１１ａは、輻輳ウインドウ制御部１１４ａにより、ＲＴＴを算出し（ステップＳ１３）、ＲＴＴｂａｓｅＴｍｐと、ＲＴＴｂａｓｅ及びＲＴＴｍｉｎを更新する（ステップＳ１４）。
【００７０】
続いて、パケット送信装置１１ａは、輻輳ウインドウ制御部１１４ａにより、１計測期間が経過したか否かを判定し（ステップＳ１５）、１計測期間が経過していない場合（ステップＳ１５：Ｎｏ）、前述の「ＣＷＮＤの第１の更新処理」により、ＣＷＮＤを更新する（ステップＳ１６）。このＣＷＮＤの更新に伴い、式（４）と同様にｓｓｔｈｒｅｓｈも更新する。
【００７１】
一方、１計測期間が経過している場合（ステップＳ１５：Ｙｅｓ）、パケット送信装置１１ａは、輻輳ウインドウ制御部１１４ａにより、輻輳判定部１１５ａへＲＴＴｂａｓｅＴｍｐ、ＲＴＴｍｉｎ及び輻輳ウインドウサイズの更新パラメータｃｗｎｄ２を通知する。ｃｗｎｄ２は、２計測期間前のＣＷＮＤの値であり、従って、輻輳ウインドウ制御部１１４ａは、少なくとも２計測期間分のＣＷＮＤの値を保持する。
【００７２】
続いて、パケット送信装置１１ａは、輻輳判定部１１５ａにより、通知されたＲＴＴｂａｓｅＴｍｐ、ＲＴＴｍｉｎ及びｃｗｎｄ２を基に前述した式（６）に従って輻輳判定を行い、その輻輳判定結果を輻輳ウインドウ制御部１１４ａに通知する（ステップＳ１７）。
【００７３】
続いて、パケット送信装置１１ａは、輻輳ウインドウ制御部１１４ａにより、輻輳でない旨を示す輻輳判定結果の場合（ステップＳ１７：Ｎｏ）、前述の「ＣＷＮＤの第１の更新処理」により、ＣＷＮＤを更新する（ステップＳ１６）。このＣＷＮＤの更新に伴い、式（４）と同様にｓｓｔｈｒｅｓｈも更新する。
【００７４】
一方、輻輳である旨を示す輻輳判定結果の場合（ステップＳ１７：Ｙｅｓ）、パケット送信装置１１ａは、輻輳ウインドウ制御部１１４ａにより、前述の「ＣＷＮＤの第２の更新処理」により、輻輳ウインドウ計算部１１６ａにより新たなＣＷＮＤを計算させ、ＣＷＮＤを更新する（ステップＳ１８）。このＣＷＮＤの更新に伴い、式（４）と同様にｓｓｔｈｒｅｓｈも更新する。
【００７５】
また、輻輳ウインドウ制御部１１４ａは、「ＣＷＮＤの第２の更新処理」によりＣＷＮＤを更新すると、ＣＷＮＤの減少を行う場合にのみ、ＲＴＴｂａｓｅＴｍｐを予め定めた通信上の取りうる最大の値に初期化（リセット）する（ステップＳ１９）。
【００７６】
このように、本発明に係る輻輳ウインドウ制御技法において、パケットロス発生時や輻輳発生時に送達確認に基づく新たな基準の遅延量を示すＲＴＴｂａｓｅＴｍｐを用いてＣＷＮＤを更新するように構成したことで、遅延増加を抑制しながら複数のＩＰデータフローの各々の間の使用帯域の公平性を改善することができる。
【００７７】
以上、特定の実施例を挙げて本発明を説明したが、本発明は前述の実施形態の例に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。例えば、送達確認に基づく遅延量を用いてパケット送信に関する輻輳ウインドウの制御を行うパケット送信装置であれば、如何なる態様の装置でもよい。
【産業上の利用可能性】
【００７８】
本発明によれば、遅延増加を抑制しながら複数のＩＰデータフローの使用帯域の公平性を改善することができるので、送達確認に基づく遅延量を用いてパケット送信に関する輻輳ウインドウの制御を行う用途に有用である。
【符号の説明】
【００７９】
１０  通信端末
１１  従来技術に係るパケット送信装置
１１ａ  本発明による一実施形態のパケット送信装置
１２  パケット受信装置
２０  通信端末
２１  パケット受信装置
２２  パケット送信装置
１１１  送信時刻書込部
１１２  パケット送信部
１１３  送達確認応答受信部
１１４，１１４ａ  輻輳ウインドウ制御部
１１５，１１５ａ  輻輳判定部
１１６ａ  輻輳ウインドウ計算部
【図１】
0006491521.tif 000002
【図２】
0006491521.tif 000003
【図３】
0006491521.tif 000004
【図４】
0006491521.tif 000005
【図５】
0006491521.tif 000006