(57)【要約】【課題】ネットワークの空き帯域の利用効率を改善し、既存ＴＣＰとの帯域利用の公平性を実現することができる通信端末および通信システム並びに輻輳制御方法を提供することを目的とする。【解決手段】通信端末に、パケットロスの有無に基づいて、第１の送信速度を設定し、輻輳制御を行う第１の輻輳制御手段と、ネットワークの空き帯域の状況を判断する帯域状況判断手段と、空き帯域のうち、第１の送信速度により使用されない帯域に基づいて、第２の送信速度を設定し、輻輳制御を行う第２の輻輳制御手段とを備えることにより達成される。【選択図】図８
2006067109.tif 000002
【特許請求の範囲】
【請求項１】
パケットロスの有無に基づいて、第１の送信速度を設定し、輻輳制御を行う第１の輻輳制御手段；
ネットワークの空き帯域の状況を判断する帯域状況判断手段；
前記空き帯域のうち、前記第１の送信速度により使用されない帯域に基づいて、前記第２の送信速度を設定し、輻輳制御を行う第２の輻輳制御手段；
を備えることを特徴とする通信端末。
【請求項２】
請求項１に記載の通信端末において：
前記第２の輻輳制御手段は、他の通信端末との間のパケット伝搬遅延の変動に基づいて、前記第２の送信速度を制御することを特徴とする通信端末。
【請求項３】
請求項１または２に記載の通信端末において：
前記第２の輻輳制御手段は、ボトルネックルータにバッファリングできる自通信端末の最大パケット量を推定し、前記推定値に基づいて第２の送信速度を設定することを特徴とする通信端末。
【請求項４】
パケットロスの有無に基づいて、第１の送信速度を設定し、輻輳制御を行う第１の輻輳制御手段；
ネットワークの空き帯域の状況を判断する帯域状況判断手段；
前記空き帯域のうち、前記第１の送信速度により使用されない帯域に基づいて、前記第２の送信速度を設定し、輻輳制御を行う第２の輻輳制御手段；
を備えることを特徴とする通信システム。
【請求項５】
請求項４に記載の通信システムにおいて：
前記第２の輻輳制御手段は、他の通信端末との間のパケット伝搬遅延の変動に基づいて、前記第２の送信速度を制御することを特徴とする通信システム。
【請求項６】
請求項４または５に記載の通信端末において：
前記第２の輻輳制御手段は、ボトルネックルータにバッファリングできる自通信端末の最大パケット量を推定し、前記推定値に基づいて第２の送信速度を設定することを特徴とする通信システム。
【請求項７】
ネットワークの空き帯域の状況を判断するステップ；
パケットロスの有無に基づいて、第１の通信速度を設定するステップ；
前記空き帯域のうち、前記第１の送信速度により使用されない帯域に基づいて、前記第２の送信速度を設定するステップ；
を有することを特徴とする輻輳制御方法。
【請求項８】
請求項７に記載の輻輳制御方法において：
他の通信端末との間のパケット伝搬遅延を測定するステップ；
を有し、
前記第２の送信速度を設定するステップは、前記パケット伝搬遅延の変動に基づいて、第２の送信速度を設定することを特徴とする輻輳制御方法。
【請求項９】
請求項７または８に記載の輻輳制御方法において：
ボトルネックルータにバッファリングできる自通信端末の最大パケット量を推定するステップ；
を有し、
前記第２の送信速度を設定するステップは、前記推定値に基づいて第２の通信速度を設定することを特徴とする輻輳制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、輻輳制御を行う通信端末および通信システム並びに輻輳制御方法に関する。
【背景技術】
【０００２】
ＴＣＰの輻輳制御方式として広く使われているものに、ＴＣＰ  ＮｅｗＲｅｎｏとＴＣＰ  Ｆａｃｋがある（例えば、非特許文献１参照）。これらの既存ＴＣＰの輻輳制御方式では、パケット伝搬遅延に基づいて、送信速度が変更される。ここで、パケット伝搬遅延は、パケットを送った場合にその受信確認が届くまでの時間であり、具体的にはＲＴＴ(Round Trip Time)により表される。また、送信速度は、具体的には輻輳ウインドウサイズ（Ｃｏｎｇｅｓｔｉｏｎ  Ｗｉｎｄｏｗ  Ｓｉｚｅ）（以下、ｃｗｎｄと呼ぶ）により表される。
（１）パケットロスが発生していない場合
ｃｗｎｄ＿ｎｅｘｔ＝ｃｗｎｄ＋１    （１）
（２）パケットロスが発生した場合
ｃｗｎｄ＿ｎｅｘｔ＝ｃｗｎｄ／２    （２）
既存ＴＣＰにおけるｃｗｎｄの時間推移について、図１を参照して説明する。
【０００３】
送信者は、パケットロスを経験しない場合には送信速度を徐々に増大させ、ネットワークに輻輳が発生しパケットロスを経験した場合には送信速度を大きく減少させる。したがって、既存ＴＣＰでは、「ａ」に示されるように、ネットワークの帯域を有効利用できていない領域、すなわち未使用のネットワーク帯域が存在する。
【０００４】
一方、既存ＴＣＰよりもネットワークの帯域を高効率に利用するＴＣＰとして、ＴＣＰ  Ｖｅｇａｓが提案されている（例えば、非特許文献２参照）。
【０００５】
ＴＣＰ  Ｖｅｇａｓでは、送信者は、受信者との間のＲＴＴの増加を輻輳発見に用いる。ネットワークが輻輳し始めると、ルータのキューイング遅延が増大しＲＴＴが増加し始める。送信者は、ＲＴＴが増加した時点でデータの送信速度を抑えるので、輻輳を防止しネットワークを有効に利用することができる。
【０００６】
ここで、ＴＣＰ  Ｖｅｇａｓの動作原理について説明する。
【０００７】
まず、ネットワークが全く輻輳していない場合の送信者と受信者との間のＲＴＴをＲＴＴｂａｓｅと定義する。通常、送信者はＲＴＴを常に測定しており、測定されたＲＴＴのうち最も小さい値であるＲＴＴをＲＴＴｂａｓｅとして用いる。ネットワークが輻輳し始めると、ボトルネックとなるルータ（以下、ボトルネックルータと呼ぶ）によるパケットのキューイング遅延（以下、Ｄと呼ぶ）が発生し、ＲＴＴが増大する。すなわち、式（３）が成り立つ。
ＲＴＴ＝ＲＴＴｂａｓｅ＋Ｄ      （３）
送信者は、１ＲＴＴに１度、以下の式（４）により定義されるＤｉｆｆを計算する。
Ｄｉｆｆ＝（ｃｗｎｄ／ＲＴＴｂａｓｅ−ｃｗｎｄ／ＲＴＴ）×ＲＴＴｂａｓｅ    （４）
式（４）に式（３）を代入し、以下の計算を行う。ただし、Ｔ＝ｃｗｎｄ/ＲＴＴとする。このＴは、送信者のデータの送信速度に等しい。
Ｄｉｆｆ＝（ｃｗｎｄ／ＲＴＴｂａｓｅ−ｃｗｎｄ／ＲＴＴ）×ＲＴＴｂａｓｅ
＝（ｃｗｎｄ／ＲＴＴｂａｓｅ−ｃｗｎｄ／(ＲＴＴｂａｓｅ＋Ｄ)）×ＲＴＴｂａｓｅ    （５）
＝ｃｗｎｄ／ＲＴＴ×Ｄ
＝Ｔ×Ｄ
ここで、Ｄｉｆｆについて、図２を参照して説明する。
【０００８】
Ｄｉｆｆは、送信者がボトルネックルータのバッファにキューイングさせているパケット量に等しい。送信者は、送信速度Ｔでデータパケットを常に送信している。ルータには、全てのパケットがＤ秒間、そのバッファにキューイングされている。したがって、平均Ｄｉｆｆ＝Ｔ×Ｄの量のパケットが常にルータのバッファにバッファリングされている。このＤは、ＲＴＴの変動から測定することができる。
【０００９】
ＴＣＰ  Ｖｅｇａｓでは、送信者はＣｏｎｇｅｓｔｉｏｎ  Ａｖｏｉｄａｎｃｅに入った後は、１ＲＴＴに１度、このＤｉｆｆを計算し、以下の方法で、ｃｗｎｄが変更される。
（１）Ｄｉｆｆ＜α（αはデフォルトでは１）
ｃｗｎｄ＿ｎｅｘｔ＝ｃｗｎｄ＋１    （６）
（２）β＜Ｄｉｆｆ（βはデフォルトでは３）
ｃｗｎｄ＿ｎｅｘｔ＝ｃｗｎｄ−１    （７）
ＴＣＰ  Ｖｅｇａｓでは、既存ＴＣＰと違い、ＲＴＴの変動情報を見ながらネットワークに常に一定の負荷をかけるようにデータ送信速度が決定される。そのため、ネットワークを高効率に利用することが可能である。
【００１０】
また、Ｓｐｅｅｄｙ  Ｃｏｎｇｅｓｔｉｏｎ  Ｃｏｎｔｒｏｌも提案されている（例えば、非特許文献３参照）。Ｓｐｅｅｄｙ  Ｃｏｎｇｅｓｔｉｏｎ  Ｃｏｎｔｒｏｌでは、ＴＣＰ  Ｖｅｇａｓにおいて、ネットワークの輻輳状況の変化に迅速に追従するために、式（６）、式（７）が式（８）のように変更される。
（１）Ｄｉｆｆ＜α、もしくはβ＜Ｄｉｆｆ
ｃｗｎｄ＿ｎｅｘｔ＝ｃｗｎｄ+ε(δ−Ｄｉｆｆ)    （８）
ただし、δ＝（α＋β）／２である。Ｓｐｅｅｄｙ  Ｃｏｎｇｅｓｔｉｏｎ  Ｃｏｎｔｒｏｌでは、Ｄｉｆｆをδに近づけるように輻輳制御が行われる。また、Ｄｉｆｆが理想値δから離れていればいる程、急激にｃｗｎｄを変化させることができ、ネットワークの急激な輻輳状況の変化に追従させることができる。
【００１１】
しかし、既存ＴＣＰ、ＴＣＰ  Ｖｅｇａｓとも、もとは数Ｍｂｐｓ程度の低速通信のために作られたプロトコルであり、光ファイバなどを用いたギガビット級の広帯域なネットワークでは、ネットワークの帯域を十分に利用できない。
【００１２】
これらの既存ＴＣＰでは、図３（ａ）に示すように、ネットワークが輻輳していない間は徐々にｃｗｎｄを増加させていく。しかし、ｃｗｎｄの増加のスピードが遅いため広帯域なネットワークでは、最大速度に達するまでに非常に長い時間がかかる。
【００１３】
これらの問題を解決するために、Ｈｉｇｈ−Ｓｐｅｅｄ  ＴＣＰが提案されている（例えば、非特許文献４参照）。
【００１４】
Ｈｉｇｈ−Ｓｐｅｅｄ  ＴＣＰは、図３（ｂ）に示すように、既存ＴＣＰのｃｗｎｄの増加率を大きくしたものである。Ｈｉｇｈ−Ｓｐｅｅｄ  ＴＣＰでは、ｃｗｎｄを従来のものよりも急激に増加させ、またパケットロスが発生した場合においても既存ＴＣＰほどｃｗｎｄを減少させない。このため、広帯域なネットワーク環境でも、ネットワークの帯域を速やかに利用することが可能である。
【非特許文献１】W.Richard Stevens,”TCP/IP Illustrated, Volume 1: The Protocols” Addison-Wesley,1994
【非特許文献２】Charalampos(Babis) Samios, Mary K. Vernon,”Modeling the throughput of TCP Vegas”, ACM SIGMETRICS, 2003
【非特許文献３】齋藤健太郎、五十嵐健、川上博、“ＴＣＰ  Ｖｅｇａｓの輻輳制御の改良手法の提案と評価”、電子情報通信学会  ＮＳ研究会２００４年３月
【非特許文献４】S.Floyd, “HighSpeed TCP for Large Congestion Windows（登録商標）”,IETF RFC 3649 2003
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかしながら、上述した背景技術には以下の問題がある。
【００１６】
既存ＴＣＰ、ＴＣＰ  Ｖｅｇａｓ、Ｈｉｇｈ−Ｓｐｅｅｄｙ  ＴＣＰが共存している場合には、ＴＣＰバージョン間の公平性の問題がある。
【００１７】
最初に、既存ＴＣＰとＴＣＰ  Ｖｅｇａｓとの間の公平性の問題について説明する。ＴＣＰ  Ｖｅｇａｓは、単体で使用されている場合はＴＣＰ  Ｒｅｎｏよりもネットワークの帯域を高効率に利用することが可能である。しかし、ＴＣＰ  Ｖｅｇａｓは、既存ＴＣＰと共存した場合にフロー間の公平性を保てない問題がある。
【００１８】
例えば、図４に示すように、ＴＣＰ  Ｖｅｇａｓのフローと既存ＴＣＰのフローとが共通のボトルネックリンクを通して通信している場合、公平性の観点からは、２つのフロー間でボトルネックリンクの帯域を平等に分け合うべきである。しかし、実際にはこの様な状況では、既存ＴＣＰのフローがボトルネックリンクの帯域のほとんどを占有する。以下、この理由を説明する。
【００１９】
既存ＴＣＰは、ボトルネックリンクが輻輳し最終的にパケットロスが発生するまでｃｗｎｄを増加させ、通信速度を増加させる。一方、ＴＣＰ  Ｖｅｇａｓは、ＲＴＴの変動からＤｉｆｆを計算し、ボトルネックルータのバッファが溢れないように通信速度を決定する。すなわち、ＴＣＰ  Ｖｅｇａｓは、輻輳の発生を早めに検知し、パケットロスが発生する前にｃｗｎｄを減少させようとする。よって、２つのフローが共存した場合、ＴＣＰ  Ｖｅｇａｓがｃｗｎｄを下げることによってボトルネックリンクの輻輳が緩和し、その結果輻輳によるパケットロスが発生しないので既存ＴＣＰはｃｗｎｄをますます増加させる、ということが繰り返される。この公平性の問題は、既存ＴＣＰとＳｐｅｅｄｙ  Ｃｏｎｇｅｓｔｉｏｎ  Ａｖｏｉｄａｎｃｅとの間でも同様に生じる。
【００２０】
また、既存ＴＣＰとＨｉｇｈ−Ｓｐｅｅｄ  ＴＣＰとの間にも同様な公平性の問題がある。既存ＴＣＰはパケットロスが発生するまでｃｗｎｄを増加させ、パケットロスを経験した後にｃｗｎｄを大きく減少させる制御を行う。よって、ネットワークでのパケットロス率がＴＣＰの速度を決定する重要な要素の１つである。既存ＴＣＰとＨｉｇｈ  Ｓｐｅｅｄ  ＴＣＰとが共存した場合、図３を参照して説明したように、Ｈｉｇｈ−Ｓｐｅｅｄ  ＴＣＰはｃｗｎｄの増加率が大きいので既存ＴＣＰよりも頻繁にネットワークを輻輳させる。この結果、ネットワークのパケットロス率が上昇し、既存ＴＣＰの通信速度が大きく低下する。つまり、Ｈｉｇｈ  Ｓｐｅｅｄ  ＴＣＰは既存ＴＣＰが使い切れないネットワークの帯域を利用するだけでなく、既存ＴＣＰの通信を圧迫してネットワークの帯域の大半を占有する。
【００２１】
上述したように、ＴＣＰ  Ｖｅｇａｓ、Ｈｉｇｈ―Ｓｐｅｅｄ  ＴＣＰには既存ＴＣＰとの公平性の問題があり、既存ＴＣＰと平等性を保持し、かつネットワークの帯域の利用効率を向上させる方式が必要である。
【００２２】
そこで、本発明の目的は、ネットワークの空き帯域の利用効率を改善し、既存ＴＣＰとの帯域利用の公平性を実現することができる通信端末および通信システム並びに輻輳制御方法を提供することを目的とする。
【課題を解決するための手段】
【００２３】
上記課題を解決するため、本発明の通信端末は、パケットロスの有無に基づいて、第１の送信速度を設定し、輻輳制御を行う第１の輻輳制御手段と、ネットワークの空き帯域の状況を判断する帯域状況判断手段と、空き帯域のうち、第１の送信速度により使用されない帯域に基づいて、第２の送信速度を設定し、輻輳制御を行う第２の輻輳制御手段とを備える。
【００２４】
このように構成することにより、ネットワークの空き帯域の利用効率を改善し、かつ既存輻輳制御手段、例えば既存ＴＣＰとの帯域利用の公平性を実現することができる。
【００２５】
また、本発明にかかる通信システムは、パケットロスの有無に基づいて、第１の送信速度を設定し、輻輳制御を行う第１の輻輳制御手段と、ネットワークの空き帯域の状況を判断する帯域状況判断手段と、空き帯域のうち、第１の送信速度により使用されない帯域に基づいて、第２の送信速度を設定し、輻輳制御を行う第２の輻輳制御手段とを備える。
【００２６】
このように構成することにより、ネットワークの空き帯域の利用効率を改善し、かつ既存の輻輳制御手段、例えば既存ＴＣＰとの帯域利用の公平性を実現することができる。
【００２７】
また、本発明にかかる輻輳制御方法は、ネットワークの空き帯域の状況を判断するステップと、パケットロスの有無に基づいて、第１の通信速度を設定するステップと、空き帯域のうち、前記第１の送信速度により使用されない帯域に基づいて、前記第２の送信速度を設定するステップとを有する。
【００２８】
このようにすることにより、ネットワークの空き帯域の利用効率を改善し、かつ既存の輻輳制御手段、例えば既存ＴＣＰとの帯域利用の公平性を実現することができる。
【発明の効果】
【００２９】
本発明の実施例によれば、ネットワークの空き帯域の利用効率を改善し、既存ＴＣＰとの帯域利用の公平性を実現することができる通信端末および通信システム並びに輻輳制御方法を実現できる。
【発明を実施するための最良の形態】
【００３０】
次に、本発明の実施例について図面を参照して説明する。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
【００３１】
ＴＣＰバージョン間の公平性の問題が発生するのは、異なるバージョンのＴＣＰが混在することで輻輳発生の頻度が変化することや、輻輳発生時にＴＣＰの各バージョンによって輻輳制御ポリシーが異なることが原因である。よって、既存のＴＣＰとの公平性を維持しながら、ネットワーク帯域の利用効率を向上させる新しいＴＣＰを導入するためには、新しいＴＣＰを導入することによってこれらの状態を変化させないことが必要である。本発明の実施例では、この要求条件を実現するために以下の２つの方式を提案する。
【００３２】
（１）複数の輻輳制御ポリシーを持った輻輳制御方式
本実施例では、基本ポリシー、追加ポリシーの２つの輻輳制御ポリシーを持った輻輳制御方式を提案する。
【００３３】
最初に、送信者側の通信装置（通信端末）は、基本輻輳ウインドウサイズ（Ｃｏｎｇｅｓｔｉｏｎ  Ｗｉｎｄｏｗ  Ｓｉｚｅ）（以下、ｃｗｎｄ＿ｂａｓｅと呼ぶ）と追加輻輳ウインドウサイズ（Ｃｏｎｇｅｓｔｉｏｎ  Ｗｉｎｄｏｗ  Ｓｉｚｅ）（以下、ｃｗｎｄ＿ａｄｄと呼ぶ）とを備える。すなわち、通信装置の送信速度を制御するために、複数の輻輳ウインドウサイズを設ける。ｃｗｎｄ＿ｂａｓｅおよびｃｗｎｄ＿ａｄｄは負の値にはならず、実際にデータ送信の際に用いられるｃｗｎｄはｃｗｎｄ＿ｂａｓｅとｃｗｎｄ＿ａｄｄとの和になる。また、送信者側の通信装置は２つの輻輳制御ポリシーを備える。1つ目は基本ポリシーで、第１の送信速度を決定するｃｗｎｄ＿ｂａｓｅの変更を行う。２つ目は追加ポリシーで、第２の送信速度を決定するｃｗｎｄ＿ａｄｄの変更を行う。
【００３４】
以下、２つの輻輳制御ポリシーについて説明する。
【００３５】
基本ポリシーは既存ＴＣＰとの公平性を保つためのポリシーであり、内容は既存ＴＣＰと同様である。追加ポリシーは基本ポリシーで利用し切れないネットワークの空き帯域を利用するためのものであり、内容はＴＣＰ  Ｖｅｇａｓや、Ｓｐｅｅｄｙ  Ｃｏｎｇｅｓｔｉｏｎ  ＡｖｏｉｄａｎｃｅのようなＲＴＴの変動を利用する輻輳制御ポリシーである。追加ポリシーは、基本ポリシーと共存した場合に基本ポリシーを圧迫しない輻輳制御ポリシーであれば何でも良いが、以下では追加ポリシーとして、Ｓｐｅｅｄｙ  Ｃｏｎｇｅｓｔｉｏｎ  Ａｖｏｉｄａｎｃｅを用いた場合を例として説明する。
【００３６】
以下、本実施例にかかる輻輳制御方法におけるｃｗｎｄの変更方法について説明する。
【００３７】
（ｉ）パケットロスが発生していない場合
ｃｗｎｄ＿ｂａｓｅ＿ｎｅｘｔ＝ｃｗｎｄ＿ｂａｓｅ＋１    （１´）
Ｄｉｆｆ＜αもしくはβ＜Ｄｉｆｆ
ｃｗｎｄ＿ａｄｄ＿ｎｅｘｔ＝ｃｗｎｄ＿ａｄｄ＋ε(δ-Ｄｉｆｆ)    （８´）
（ｉｉ）パケットロスが発生した場合
ｃｗｎｄ＿ｂａｓｅ＿ｎｅｘｔ＝ｃｗｎｄ＿ｂａｓｅ／２    （２´）
ｃｗｎｄ＿ａｄｄ＿ｎｅｘｔ＝０    （９）
なお、上述したようにｃｗｎｄ＿ｎｅｘｔ＝ｃｗｎｄ＿ｂａｓｅ＿ｎｅｘｔ＋ｃｗｎｄ＿ａｄｄ＿ｎｅｘｔであり、また、
Ｄｉｆｆ＝(ｃｗｎｄ／ＲＴＴｂａｓｅ−ｃｗｎｄ／ＲＴＴ)×ＲＴＴｂａｓｅ    （４）
である。
【００３８】
次に、本実施例にかかる輻輳制御方法の概要について、図５を参照して説明する。図５は、時間に対する輻輳ウインドウサイズの変化を示す。
【００３９】
図５では、送信者側の通信装置（通信端末）が１台である場合について説明するが、送信者側の通信装置が複数台である場合においても同様の制御が行われる。
【００４０】
最初に、（１）で示される部分では、ネットワークに空き帯域が存在する。この場合、送信者側の通信装置は式（１´）にしたがって、ｃｗｎｄ＿ｂａｓｅを１ずつ増加させる。また、送信者側の通信装置と受信者側の通信装置との間のパケット伝搬遅延を求めるために、例えばＲＴＴを測定し、式（４）にしたがってＤｉｆｆを計算し、Ｄｉｆｆがαよりも小さい間は式（８´）にしたがって、ｃｗｎｄ＿ａｄｄを増加させる。よって、Ｄｉｆｆが小さい間は既存ＴＣＰよりも急激にｃｗｎｄを増加させることができる。
【００４１】
（２）で示される部分ではネットワークは高効率に利用されている。ネットワークが輻輳し始めるとＤｉｆｆが増大し始める。その場合、基本制御ポリシーは式（１´）にしたがってｃｗｎｄ＿ｂａｓｅを増加させるが、追加制御ポリシーは式（８´）にしたがってＤｉｆｆをα〜βの一定範囲内に維持しようとｃｗｎｄ＿ａｄｄを減少させる。そのため輻輳によるパケットロスは発生せず、ネットワークの帯域を高効率に利用した通信が可能である。
【００４２】
（３）で示される部分について説明する。ｃｗｎｄ＿ａｄｄを減少させた結果、ｃｗｎｄ＿ａｄｄが０になった場合でも、送信者側の通信装置はｃｗｎｄ＿ｂａｓｅを増加させ続けるので、ｃｗｎｄ＿ｂａｓｅの上昇にしたがってｃｗｎｄが上昇し始める。最終的にはルータのバッファが溢れパケットロスが発生する。パケットロスが発生すると式（２´）、式（９）にしたがってｃｗｎｄが半分に減少する。その後は、上述した動作が繰り返される。
【００４３】
図５を参照して説明したように、追加ポリシーは基本ポリシーを圧迫しないので、例えば、本実施例にかかる輻輳制御方法は、複数の既存ＴＣＰと共存した場合でも、その他のフローを圧迫せずに、ネットワークの空き帯域のみを利用することが可能である。
【００４４】
（２）Ｄｉｆｆの時間推移情報を用いたｃｗｎｄ変更方式
複数の輻輳制御ポリシーを用いた輻輳制御は、基本ポリシー、追加ポリシーとも広帯域ネットワークを想定したものではない。したがって、広帯域ネットワーク上で利用した場合には、ネットワークの帯域を十分に使い切れない可能性がある。そのため、広帯域ネットワークの利用効率を改善する輻輳制御ポリシーを提案する。本手法は主に上記輻輳制御方式の追加ポリシーに適応することが想定される。
【００４５】
広帯域のネットワークを迅速に利用するためにはｃｗｎｄの増加率を大きくすれば良い。しかし、ｃｗｎｄを大きくし過ぎるとネットワークが急激に輻輳し、それに対応してｃｗｎｄを減少させる前にルータのバッファが溢れてしまう場合がある。この場合は、パケットロスが発生し、その結果他のフロー、すなわち他の通信装置の通信を圧迫する可能性がある。したがって、ルータのバッファが溢れない安全な領域内で、できるだけｃｗｎｄの増加率を大きくすることが必要である。
【００４６】
本発明の実施例では、適切なｃｗｎｄの増加率を決定するために、Ｄｉｆｆの時間推移を用いてボトルネックルータのバッファ量を推測する。
【００４７】
本実施例にかかる輻輳制御方法について、図６を参照して説明する。
【００４８】
図６（ａ）に示すように、ｎ台の送信者側の通信装置が同一のボトルネックルータを共有して通信を行う場合について説明する。一般に、ｉ番目の送信者の計算するＤｉｆｆ（以下、Ｄｉｆｆ＿iと呼ぶ）は、図６（ｂ）に示すように時間堆移する。ネットワークが輻輳していない間は０に近く、ネットワークが輻輳し始めると徐々に増大し始める。ルータのバッファが溢れパケットロスが発生すると、パケットロスを経験したフローはｃｗｎｄを大幅に減少させるため、輻輳は緩和されＤｉｆｆ＿iはすぐに０に近くなる。０に戻る直前は、ルータのバッファがいっぱいになっている状態であるので、この時のＤｉｆｆ＿iをＤｉｆｆ＿ｍａｘ＿iと表すと、ボトルネックルータのバッファ量Ｂｕｆｆは、全送信者のＤｉｆｆ＿ｍａｘを用いて以下の式（１０）のように表される。
【００４９】
【数１】
2006067109.tif 000003
パケットロス発生後Ｄｉｆｆは０に近くなるが、その後ボトルネックルータのバッファを溢れさせない範囲で、できるだけ速やかにネットワークの空き帯域を利用する必要がある。そのためには以下の式（１１）を常に満たしている必要がある。
【００５０】
【数２】
2006067109.tif 000004
そのためには、全送信者側の通信装置が自通信装置のＤｉｆｆ＿ｍａｘを記憶しておき、ｃｗｎｄを増加させる際に、常にＤｉｆｆ＿ｉ≦Ｄｉｆｆ＿ｍａｘ＿ｉを満たすように制御を行えばよい。本実施例ではこの条件を満たすため、式（８´）を以下のように変更する。
ｃｗｎｄ＿ａｄｄ＿ｎｅｘｔ＿ｉ＝ｃｗｎｄ＿ａｄｄ＿ｉ+ε(λ×Ｄｉｆｆ＿ｍａｘ＿ｉ−Ｄｉｆｆ＿ｉ)    （８´´）
ただし、λ≦1である。このように制御することによって、送信者側の通信装置はＤｉｆｆをλ×Ｄｉｆｆ＿ｍａｘ＿ｉに近づけるように輻輳制御を行うことができる。したがって、ネットワークの帯域に空きがありＤｉｆｆが０に近い場合には、ルータのバッファが溢れない程度に急激にｃｗｎｄを増加させるができ、空き帯域を迅速に利用することが可能である。
【００５１】
ただし、上記の方法が理想的に働かないケースも存在する。１つ目のケースは、複数の送信者が同一のボトルネックルータを共有して通信している場合であり、ボトルネックルータが輻輳し始めて各送信者側の通信装置のＤｉｆｆがある程度大きくなった後に送信者側の通信装置の１台が急に通信を終了した場合である。
【００５２】
この場合は、通信の終了に伴いボトルネックルータの輻輳が緩和され、各送信者側の通信装置のＤｉｆｆが急激に低下する。上記手法にしたがうと、各送信者側の通信装置は急激に低下したときのＤｉｆｆをＤｉｆｆ＿ｍａｘとして記憶する場合がある。しかし、計算されるＤｉｆｆ＿ｍａｘはボトルネックルータのバッファ量から求まるはずの、真のＤｉｆｆ＿ｍａｘよりも小さい。したがって、計算されたＤｉｆｆ＿ｍａｘを使って制御を行うと、ネットワークの空きを十分早く利用できない場合がある。しかし、この様なケースでは、他のトラフィックを圧迫することはないので大きな問題にはならない。
【００５３】
もう１つのケースは送信者側の通信装置がＤｉｆｆ＿ｍａｘを学習した後に、ネットワークの状況が急激に変化する場合である。例えば、Ｄｉｆｆ＿ｍａｘを学習した直後に大量の他の送信者が通信を開始し、ネットワークが予測以上に輻輳してしまう場合や、ネットワークの輻輳箇所が変わることにより学習したＤｉｆｆ＿ｍａｘに意味がなくなる場合が考えられる。この様な場合では、上記手法を用いることでネットワークに輻輳を発生させ、他のトラフィックを圧迫する可能性があるため、式（８´´）において、λを小さい値に変更する等の制御を行うことにより対応できる。
【００５４】
次に、本発明の実施例にかかる通信システムについて、図７を参照して説明する。
【００５５】
本実施例にかかる通信システムは、複数の輻輳制御ポリシーを利用して輻輳制御を行う。
【００５６】
本実施例にかかる通信システムは、例えばインターネットなどの通信網１００と、通信網１００と接続されたルータ１１０および１２０と、ルータ１１０と、例えばＴＣＰ／ＩＰネットワークであるＬＡＮを介して、有線または無線により接続された通信装置としての端末１３０および１４０と、ルータ１２０と、例えばＴＣＰ／ＩＰネットワークであるＬＡＮを介して、有線または無線により接続された通信端末としての端末１５０および１６０とを備える。
【００５７】
送信者側の通信端末としての端末１３０が、受信者側の端末としての端末１５０宛のパケットを送信すると、そのパケットは、ルータ１１０およびルータ１２０に中継され端末１５０へ送信される。
【００５８】
次に、本発明の第１の実施例にかかる通信端末としての端末１３０について、図８を参照して説明する。端末１４０、１５０および１６０については、端末１３０と同様の構成であるため、その説明を省略する。
【００５９】
本実施例にかかる端末１３０は、輻輳制御部１３１と輻輳制御部１３１と接続された帯域状況判断部１３２と、帯域状況判断部１３２および輻輳制御部１３１と接続された伝搬遅延測定部１３３とを備える。また、輻輳制御部１３１は、帯域状況判断部１３２および伝搬遅延測定部１３３と接続された第１の輻輳制御手段としての基本輻輳制御部１３４と、基本輻輳制御部１３４および伝搬遅延測定部１３３と接続された第２の輻輳制御手段としての追加輻輳制御部１３５とを備える。
【００６０】
伝搬遅延測定部１３３は、送信者側の通信装置と受信者側の通信装置との間のパケット伝搬遅延を求めるために、例えばＲＴＴを測定する。本実施例では、伝搬遅延の測定を行う伝搬遅延測定部１３３を備える場合について説明するが、追加輻輳制御部１３５が伝搬遅延を測定するようにしてもよい。帯域状況判定部１３２は、ネットワークの帯域利用状況を把握し、空き帯域が存在しているか否かを判断する。また、伝搬遅延の測定結果に基づいて、輻輳が発生したか否かを判断する。さらに、パケットロスが発生したか否かを判断する。
【００６１】
データの送信制御を制御するということは、パケット伝搬遅延に応じて送信速度を増減させることに等しい。パケット伝搬遅延は、例えばＲＴＴを測定することにより求めることができる。この場合、ＲＴＴが大きくなったら送信速度を下げ、小さくなったら送信速度を上げる制御が行われる。この送信速度を変更するために輻輳ウインドウサイズを用いる。
【００６２】
基本輻輳制御部１３４は、基本ポリシーを備え、第１の送信速度を決定するｃｗｎｄ＿ｂａｓｅの変更を行う。基本輻輳制御部１３４は、基本ポリシーとして、例えば、既存のＴＣＰを備え、ｃｗｎｄ＿ｂａｓｅの変更を行う。例えば、ネットワークに空き帯域が存在している場合、式（１´）にしたがって、ｃｗｎｄ＿ｂａｓｅを１づつ増加させる。また、パケットロスが発生した場合、式（２´）にしたがって、ｃｗｎｄ＿ｂａｓｅを半分に減少させる制御を行う。
【００６３】
追加輻輳制御部１３５は、追加ポリシーを備え、第２の送信速度を決定するｃｗｎｄ＿ａｄｄの変更を行う。追加輻輳制御部１３５は、追加ポリシーとして、例えばＳｐｅｅｄｙ  ｃｏｎｇｅｓｔｉｏｎ  Ａｖｏｉｄａｎｃｅを備え、ｃｗｎｄ＿ａｄｄの変更を行う。また、伝搬遅延測定部１３３による伝搬遅延測定結果を用いて、Ｄｉｆｆを計算し、Ｄｉｆｆがαよりも小さい場合には、式（８´）にしたがってｃｗｎｄ＿ａｄｄを増加させる。このようにすることにより、Ｄｉｆｆが小さい間は既存ＴＣＰよりも急激にｃｗｎｄを増加させることができる。
【００６４】
また、追加輻輳制御部１３５は、ネットワークが輻輳し始めた結果、Ｄｉｆｆが増大し始めた場合、式（８´）にしたがってＤｉｆｆをα〜βの一定範囲内に維持するために、ｃｗｎｄ＿ａｄｄを減少させる。このようにすることにより、輻輳によるパケットロスの発生を抑えることができ、ネットワークの帯域の利用効率を改善できる。
【００６５】
次に、本実施例にかかる端末１３０の動作について、図９を参照して説明する。
【００６６】
最初に、帯域状況判断部１３２はパケットロスが発生しているか否かについて判断する（ステップＳ９０２）、パケットロスが発生している場合（ステップＳ９０２：ＹＥＳ）、基本輻輳制御部１３４および追加輻輳制御部１３５は、ｃｗｎｄ＿ｂａｓｅおよびｃｗｎｄ＿ａｄｄの値を変更し（ステップＳ９０４）、ステップＳ９０２にもどる。すなわち、式（２´）および式（９）に基づいて、ｃｗｎｄ＿ｂａｓｅおよびｃｗｎｄ＿ａｄｄの値を変更する。
【００６７】
一方、パケットロスが発生していない場合（ステップＳ９０２：ＮＯ）、基本輻輳制御部１３４は、ｃｗｎｄ＿ｂａｓｅの値を変更する（ステップＳ９０６）。すなわち、式（１´）にしたがって、ｃｗｎｄ＿ｂａｓｅの値を増加させる。
【００６８】
次に、伝搬遅延測定部１３３は、伝搬遅延を求めるために、例えばＲＴＴの測定を行う（ステップＳ９０８）。次に、追加輻輳制御部１３５は、伝搬遅延の測定結果を用いてＤｉｆｆを計算し、Ｄｉｆｆ＜αもしくはＤｉｆｆ＞βであるか否かを判断する（ステップＳ９１０）。
【００６９】
Ｄｉｆｆ＜αもしくはＤｉｆｆ＞βである場合（ステップＳ９１０：ＹＥＳ）、式（８´）にしたがってｃｗｎｄ＿ａｄｄの値を変更し（ステップＳ９１２）、ステップＳ９０２に戻る。一方、Ｄｉｆｆ＜αもしくはＤｉｆｆ＞βでない場合（ステップＳ９１０：ＮＯ）、何もせずにステップＳ９０２に戻る。
【００７０】
次に、本発明の第２の実施例にかかる通信端末としての端末１３０について、図１０を参照して説明する。端末１４０、１５０および１６０については、端末１３０と同様の構成であるため、その説明を省略する。
【００７１】
本実施例にかかる端末１３０は、輻輳制御部１３１と、輻輳制御部１３１と接続された帯域状況判断部１３２と、帯域状況判断部１３２および輻輳制御部１３１と接続された伝搬遅延測定部１３３と、輻輳制御部１３１と接続された記憶部１３７とを備える。また、輻輳制御部１３１は、帯域状況判断部１３２および伝搬遅延測定部１３３と接続された基本輻輳制御部１３４と、基本輻輳制御部１３４、伝搬遅延測定部１３３および記憶部１３７と接続された追加輻輳制御部１３６とを備える。本実施例では、伝搬遅延の測定を行う伝搬遅延測定部１３３を備える場合について説明するが、追加輻輳制御部１３６が伝搬遅延を測定するようにしてもよい。
【００７２】
本実施例にかかる端末１３０は、第１の実施例において説明した端末と追加輻輳制御部の機能が異なる。
【００７３】
追加輻輳制御部１３６は、例えば追加ポリシーとしてＳｐｅｅｄｙ  ｃｏｎｇｅｓｔｉｏｎ  Ａｖｏｉｄａｎｃｅを備え、第２の送信速度を決定するｃｗｎｄ＿ａｄｄの変更を行う。
【００７４】
本実施例にかかる通信端末は、適切なｃｗｎｄの増加率を決定するために、Ｄｉｆｆの時間推移を用いて、ボトルネックルータのバッファ量を推測する。例えば、ボトルネックルータにバッファリングできる自通信端末の最大パケット量を推定する。
【００７５】
本実施例にかかる端末１３０が、ｉ番目の端末である場合について説明する。
【００７６】
追加輻輳制御部１３６は、帯域状況判断部１３２により輻輳と判断され、パケットロスが検出され、Ｄｉｆｆ＿ｉが０に近くなる直前のＤｉｆｆ、すなわちルータのバッファがいっぱいになった状態の自端末のＤｉｆｆ＿ｉをＤｉｆｆ＿ｍａｘ＿ｉとして、記憶部１３７に記憶する。また、ｃｗｎｄを増加させる場合に、常にＤｉｆｆ＿ｍａｘ＿ｉ以下となるように制御を行う。このようにすることにより、ネットワークの帯域に空きがあり、かつＤｉｆｆが０に近い場合、ルータのバッファが溢れない範囲で、ｃｗｎｄを増加させることができ、空き帯域を迅速に利用することができる。
【００７７】
次に、本実施例にかかる通信端末１３０の動作について、図１１を参照して説明する。ここでは、第１の実施例とは異なる追加輻輳制御部１３６の動作について説明する。
【００７８】
最初に、ボトルネックルータのバッファ量を推測し、記憶する動作について、図１１（ａ）を参照して説明する。追加輻輳制御部１３６は、Ｄｉｆｆの時間推移を計測する。帯域状況判断部１３２は、パケットロスが発生したか否かについて判断する（ステップＳ１１０２）。この場合、自通信端末においてパケットロスが発生した場合でもよいし、他の通信端末においてパケットロスが発生した場合でもよい。パケットロスが発生した場合（ステップＳ１１０２：ＹＥＳ）、追加輻輳制御部１３６は、パケットロスが起こり、Ｄｉｆｆ＿が０に近くなる直前のＤｉｆｆをＤｉｆｆ＿ｍａｘ＿ｉとして、記憶部１３７に記憶する（ステップＳ１１０４）。一方、パケットロスが発生していない場合（ステップＳ１１０２：ＮＯ）、ステップＳ１１０２に戻る。
【００７９】
次に、輻輳を制御する動作について、図１１（ｂ）を参照して説明する。
【００８０】
帯域状況判断部１３２は、ネットワークに空き帯域があるか否かについて判断する（ステップＳ１１０６）。ネットワークに空き帯域がある場合（ステップＳ１１０６：ＹＥＳ）、追加輻輳制御部１３６は、記憶部１３７に記憶されたＤｉｆｆ＿ｍａｘ＿ｉを参照し、ｃｗｎｄをＤｉｆｆ＿ｉ＜Ｄｉｆｆ＿ｍａｘ＿ｉを満たすように制御し、ステップＳ１１０６に戻る。例えば、追加輻輳制御部１３６は、式（８“”）にしたがってｃｗｎｄ＿ａｄｄ変更することにより、ｃｗｎｄを制御する。一方、ネットワークに空き帯域がない場合（ステップＳ１１０６：ＮＯ）、ステップＳ１１０６に戻る。
【００８１】
このように制御することによって、送信者側の通信端末はＤｉｆｆをλ×Ｄｉｆｆ＿ｍａｘ＿ｉに近づけるように輻輳制御を行うことができる。したがって、ネットワークの帯域に空きがありＤｉｆｆが０に近い場合には、ルータのバッファが溢れない程度に急激にｃｗｎｄを増加させることで空き帯域を迅速に利用することが可能であり、ｃｗｎｄの増加のスピードを改善することができる。
【００８２】
次に、本発明の第３の実施例にかかる通信端末としての端末１３０について、図１２を参照して説明する。端末１４０、１５０および１６０については、端末１３０と同様の構成であるため、その説明を省略する。
【００８３】
本実施例にかかる端末１３０は、第１の実施例にかかる端末と第２の実施例にかかる端末とを組み合わせたものである。すなわち、本実施にかかる通信端末としての端末は、輻輳制御部１３１と、輻輳制御部１３１と接続された帯域状況判断部１３２と、帯域状況判断部１３２および輻輳制御部１３１と接続された伝搬遅延測定部１３３と、輻輳制御部１３１と接続された記憶部１３７とを備える。また、輻輳制御部１３１は、帯域状況判断部１３２および伝搬遅延測定部１３３と接続された基本輻輳制御部１３４と、基本輻輳制御部１３４、伝搬遅延測定部１３３および記憶部１３７と接続された追加輻輳制御部１３８とを備える。本実施例では、伝搬遅延の測定を行う伝搬遅延測定部１３３を備える場合について説明するが、追加輻輳制御部１３８が伝搬遅延を測定するようにしてもよい。
【００８４】
本実施例では、送信者側の通信端末としての端末１３０は、基本ポリシーとして既存ＴＣＰを、追加ポリシーとしてＳｐｅｅｄｙ  ｃｏｎｇｅｓｔｉｏｎ  Ａｖｏｉｄａｎｃｅを用いた場合を例として説明する。すなわち、基本輻輳制御部１３４は、基本ポリシーとして、既存のＴＣＰを備え、第１の送信速度を決定するｃｗｎｄ＿ｂａｓｅの変更を行う。追加輻輳制御部１３８は、追加ポリシーとしてＳｐｅｅｄｙ  ｃｏｎｇｅｓｔｉｏｎ  Ａｖｏｉｄａｎｃｅを備え、第２の送信速度を決定するｃｗｎｄ＿ａｄｄの変更を行う。
【００８５】
また、追加輻輳制御部１３８は、Ｄｉｆｆ＿ｍｉｎというパラメータを設定し、Ｄｉｆｆ＜Ｄｉｆｆ＿ｍｉｎである場合は、ネットワークに空き帯域があるとみなして、第２の実施例において説明したＤｉｆｆの時間推移情報を用いたｃｗｎｄ変更方式を用いることで空き帯域を迅速に利用する。
【００８６】
基本輻輳制御部１３４および追加輻輳制御部１３８は、以下の条件に応じて、ｃｗｎｄ＿ｂａｓｅおよびｃｗｎｄ＿ａｄｄの変更を行う。
【００８７】
（１）パケットロスが発生していない場合
ｃｗｎｄ＿ｂａｓｅ＿ｎｅｘｔ＝ｃｗｎｄ＿ｂａｓｅ＋１    （１´）
Ｄｉｆｆ＜Ｄｉｆｆ＿ｍｉｎの場合
ｃｗｎｄ＿ａｄｄ＿ｎｅｘｔ＝ｃｗｎｄ＿ａｄｄ＋ε(λ×Ｄｉｆｆ＿ｍａｘ−Ｄｉｆｆ)    （１０）
Ｄｉｆｆ≧Ｄｉｆｆ＿ｍｉｎで、Ｄｉｆｆ＜αもしくはβ＜Ｄｉｆｆの場合
ｃｗｎｄ＿ａｄｄ＿ｎｅｘｔ＝ｃｗｎｄ＿ａｄｄ＋ε(δ−Ｄｉｆｆ)    （８´）
（２）パケットロスが発生した場合
ｃｗｎｄ＿ｂａｓｅ＿ｎｅｘｔ＝ｃｗｎｄ＿ｂａｓｅ／２    （２´）
ｃｗｎｄ＿ａｄｄ＿ｎｅｘｔ＝０    （９）
ただし、各パラメータについては、所定の値が予め設定される。例えばＤｉｆｆ＿ｍｉｎ＝０．５、α＝１、β＝３、δ＝２、λ＝０．７５、ε＝１、等とあらかじめ設定される。また、ｃｗｎｄ＿ｎｅｘｔ＝ｃｗｎｄ＿ｂａｓｅ＿ｎｅｘｔ＋ｃｗｎｄ＿ａｄｄ＿ｎｅｘｔである。
【００８８】
Ｄｉｆｆ＿ｍａｘは、第２の実施例において説明したＤｉｆｆの時間推移情報を用いたｃｗｎｄ変更方式で説明した方法により決定される。具体的には、デフォルトとして、Ｄｉｆｆ＿ｍａｘ＿ｄｅｆａｕｌｔ＝８等と固定的なパラメータをあらかじめ用意し、Ｄｉｆｆ＞Ｄｉｆｆ＿ｍａｘ＿ｄｅｆａｕｌｔの状態から、１ＲＴＴでＤｉｆｆ＜Ｄｉｆｆ＿ｍｉｎまで減少した場合に、Ｄｉｆｆが急激に減少したと見なしてＤｉｆｆ＿ｍａｘの値を決定し、この値を記憶部１３７に記憶する。
【００８９】
次に、本実施例にかかる通信端末としての端末の動作について、図１３を参照して説明する。
【００９０】
最初に、帯域状況判断部１３２はパケットロスが発生しているか否かについて判断する（ステップＳ１３０２）、パケットロスが発生している場合（ステップＳ１３０２：ＹＥＳ）、基本輻輳制御部１３４および追加輻輳制御部１３５は、ｃｗｎｄ＿ｂａｓｅおよびｃｗｎｄ＿ａｄｄの値を変更し（ステップＳ１３０４）、ステップＳ１３０２にもどる。すなわち、式（２´）および式（９）に基づいて、ｃｗｎｄ＿ｂａｓｅおよびｃｗｎｄ＿ａｄｄの値を変更する。
【００９１】
一方、パケットロスが発生していない場合（ステップＳ１３０２：ＮＯ）、基本輻輳制御部１３４は、ｃｗｎｄ＿ｂａｓｅの値を変更する（ステップＳ１３０６）。すなわち、式（１´）にしたがって、ｃｗｎｄ＿ｂａｓｅの値を増加させる。
【００９２】
次に、伝搬遅延測定部１３３は、伝搬遅延を求めるために、例えばＲＴＴの測定を行う（ステップＳ１３０８）。
【００９３】
次に、追加輻輳制御部１３８は、Ｄｉｆｆを計算し、Ｄｉｆｆ＜Ｄｉｆｆ＿ｍｉｎであるか否かについて判断する（ステップＳ１３１０）。Ｄｉｆｆ＜Ｄｉｆｆ＿ｍｉｎである場合（ステップＳ１３１０：ＹＥＳ）、追加輻輳制御部１３８は、式（１０）にしたがって、Ｄｉｆｆ＿ｉ＜Ｄｉｆｆ＿ｍａｘを満たすように、ｃｗｎｄ＿ａｄｄを急激に増大させる（ステップＳ１３１２）。ここで、Ｄｉｆｆ＿ｍａｘは、ルータのバッファがいっぱいになった状態の自端末のＤｉｆｆ＿ｉである。
【００９４】
このようにすることにより、端末１３０は、Ｄｉｆｆをλ×Ｄｉｆｆ＿ｍａｘに急速に近づけることができ、ルータのバッファを溢れさせない範囲で、空き帯域を利用することができ、ｃｗｎｄの増加のスピードを改善することができる。
【００９５】
一方、Ｄｉｆｆ＜Ｄｉｆｆ＿ｍｉｎでない場合（ステップＳ１３０２：ＮＯ）、追加輻輳制御部１３５は、伝搬遅延の測定結果を用いてＤｉｆｆを計算し、Ｄｉｆｆ＜αもしくはＤｉｆｆ＞βであるか否かを判断する（ステップＳ１３１４）。
【００９６】
Ｄｉｆｆ＜αもしくはＤｉｆｆ＞βである場合（ステップＳ１３１４：ＹＥＳ）、式（８´）にしたがってｃｗｎｄ＿ａｄｄの値を変更し（ステップＳ１３１６）、ステップＳ９０２に戻る。一方、Ｄｉｆｆ＜αもしくはＤｉｆｆ＞βでない場合（ステップＳ１３１４：ＮＯ）、何もせずにステップＳ９０２に戻る。
【００９７】
次に、本実施例にかかる端末１３０の輻輳ウインドウサイズの制御動作について、図１４を参照して説明する。
【００９８】
（１）で示される領域では、Ｄｉｆｆ＜Ｄｉｆｆ＿ｍｉｎであり、端末１３０の追加輻輳制御部１３８は、式（１０）にしたがって、ｃｗｎｄ＿ａｄｄを急激に増加させる。
【００９９】
次に、（２）で示される領域では、ネットワークの帯域が高効率に利用されＤｉｆｆ≧ｍｉｎとなる。このため、端末１３０は、式（８´）にしたがって、ｃｗｎｄ＿ａｄｄを変更する。この間ｃｗｎｄ＿ｂａｓｅは式（１´）にしたがって増加し続けるが、ｃｗｎｄ＿ａｄｄがＤｉｆｆをα〜βに維持するようにｃｗｎｄ＿ａｄｄを変更するため、輻輳によるパケットロスは発生しない。
【０１００】
次に、（３）で示される領域では、ｃｗｎｄ＿ａｄｄ＝０となり、ｃｗｎｄはｃｗｎｄ＿ｂａｓｅの増加に伴って増加する。ネットワークも輻輳し始めるため、Ｄｉｆｆも増加し始める。（４）で示される領域では、ボトルネックルータのバッファが溢れパケットロスが発生する。このため、端末１３０は、ｃｗｎｄを半分に減少させる。また、端末１３０は、パケットロスが発生した時のＤｉｆｆをＤｉｆｆ＿ｍａｘとして記憶する。ｃｗｎｄを半分に減少させることで、ネットワークの輻輳は速やかに緩和される。
【０１０１】
もしその他の送信者が同一のルータを通して通信している場合は、ネットワークの輻輳の緩和により他送信者のＤｉｆｆも急激に減少する。よって、第２の実施例において説明したＤｉｆｆの時間推移情報を用いたｃｗｎｄ変更方式に述べた方法で各自のＤｉｆｆ＿ｍａｘを記憶する。後は、（１）〜（４）の繰り返しになる。
【０１０２】
本実施例によれば、既存ＴＣＰが利用することができないネットワークの空き帯域を迅速に、かつ既存ＴＣＰとの公平性を保ちながら利用することが可能になる。
【産業上の利用可能性】
【０１０３】
本発明にかかる通信端末および通信システム並びに輻輳制御方法は、輻輳制御を行う通信システムに適用できる。
【図面の簡単な説明】
【０１０４】
【図１】既存ＴＣＰにおけるｃｗｎｄの時間推移の例を示す説明図である。
【図２】ＴＣＰ  ＶｅｇａｓにおけるＤｉｆｆの見積もり方法の概要を示す説明図である。
【図３】Ｈｉｇｈ−Ｓｐｅｅｄ  ＴＣＰにおけるｃｗｎｄの時間推移の例を示す説明図である。
【図４】既存ＴＣＰとＴＣＰ  Ｖｅｇａｓとの間の公平性の問題を示す説明図である。
【図５】本発明の一実施例にかかる輻輳制御方式の概要を示す説明図である。
【図６】本発明の一実施例にかかる輻輳制御方式の概要を示す説明図である。
【図７】本発明の一実施例にかかる通信システムを示すブロック図である。
【図８】本発明の一実施例にかかる通信端末を示すブロック図である。
【図９】本発明の一実施例にかかる通信端末の動作を示すフローチャートである。
【図１０】本発明の一実施例にかかる通信端末を示すブロック図である。
【図１１】本発明の一実施例にかかる通信端末の動作を示すフローチャートである。
【図１２】本発明の一実施例にかかる通信端末を示すブロック図である。
【図１３】本発明の一実施例にかかる通信端末の動作を示すフローチャートである。
【図１４】本発明の一実施例にかかるｃｗｎｄの変化例を示す説明図である。
【符号の説明】
【０１０５】
１００  通信網
１１０、１２０  ルータ
１３０、１４０、１５０、１６０  通信端末
【図１】
2006067109.tif 000005
【図２】
2006067109.tif 000006
【図３】
2006067109.tif 000007
【図４】
2006067109.tif 000008
【図５】
2006067109.tif 000009
【図６】
2006067109.tif 000010
【図７】
2006067109.tif 000011
【図８】
2006067109.tif 000012
【図９】
2006067109.tif 000013
【図１０】
2006067109.tif 000014
【図１１】
2006067109.tif 000015
【図１２】
2006067109.tif 000016
【図１３】
2006067109.tif 000017
【図１４】
2006067109.tif 000018