JP2007097144A - 通信システム、通信端末、中継ノード及びそれに用いる通信方法並びにそのプログラム - Google Patents

通信システム、通信端末、中継ノード及びそれに用いる通信方法並びにそのプログラム Download PDF

Info

Publication number
JP2007097144A
JP2007097144A JP2006191024A JP2006191024A JP2007097144A JP 2007097144 A JP2007097144 A JP 2007097144A JP 2006191024 A JP2006191024 A JP 2006191024A JP 2006191024 A JP2006191024 A JP 2006191024A JP 2007097144 A JP2007097144 A JP 2007097144A
Authority
JP
Japan
Prior art keywords
congestion window
congestion
value
relay node
communication
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.)
Pending
Application number
JP2006191024A
Other languages
English (en)
Inventor
Hideyuki Shimonishi
英之 下西
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2006191024A priority Critical patent/JP2007097144A/ja
Publication of JP2007097144A publication Critical patent/JP2007097144A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】 ネットワークを深刻な輻輳状態へと陥らせることなく、TCPセッションのスループットを目標帯域にしたがって制御可能な通信端末を提供する。
【解決手段】 端末1はコネクションが開設されると、データ発生部11で生成したパケットをパケット送信部13から出力する。端末1はこの送信パケットに対する送達確認応答として返信されるACKパケットをACK受信部14にて受信する。端末1はACKパケットを受信すると、目標帯域と実際の出力帯域との差分の累積あるいは差分の履歴を累積帯域差分計算部18にて計算する。目標輻輳ウインド計算部20は累積帯域差分を基に目標輻輳ウインドを定める。輻輳ウインド制限値計算部19は輻輳ウインドの上限を定める。端末1はパケット廃棄を検出した際に、輻輳ウインドを半減するのではなく、目標輻輳ウインドと輻輳ウインド制限値とのうち小さい方を新しい輻輳ウインドとする。
【選択図】 図1

Description

本発明は通信システム、通信端末、中継ノード及びそれに用いる通信方法並びにそのプログラムに関し、特にセッション層での輻輳制御機構及びスループット制御機構を有する通信システムに関する。
現在、さまざまな種類のアプリケーションがネットワーク上で用いられており、それらのアプリケーション毎にネットワークに対して要求する品質が異なっている。例えば、即時性が要求されるアプリケーションでは、他のアプリケーションに比べて低い転送時間、高い帯域、あるいは低いパケット廃棄確率が求められる。一方、即時性の要求されないアプリケーションでは、即時性が要求されるアプリケーションに比べて、長い転送時間、低い帯域、あるいは高い廃棄が許容される。
ネットワーク内でアプリケーション毎の帯域制御を実現する第一の技術としては、ネットワークノードによる帯域割当方式がある。この帯域割当方式としては、例えば、各ルータにおいてセッション毎に最適な帯域を与える「Integrated Services」が提案されている(例えば、非特許文献1参照)。
ネットワーク内でアプリケーション毎の帯域制御を実現する第二の技術としては、端末のトランスポート層制御による帯域差別化方式がある。代表的なトランスポートプロトコルであるTCP(Transmission Control Protocol)では、ウインドサイズ(送達確認なしで連続して送受信できるデータ量)というパラメータを調節することで送信帯域を制御している。通常、ウインドサイズはネットワークの輻輳度に応じて制御される。
すなわち、現在、最も広く用いられているバージョンであるTCP−Reno(例えば、非特許文献2参照)では、輻輳を検出していない間は輻輳ウインドを一定の速度で増加し、輻輳を検出した際には輻輳ウインドを半分に減少させることで、ネットワークを輻輳させない範囲で高いスループットを得られるように輻輳ウインドを制御する。
一方、優先すべきセッションに関しては、輻輳検出時に毎回輻輳ウインドを減少させるのではなく、複数回の輻輳検出に対して1回だけ輻輳ウインドを減少させる方式が提案されている(例えば、特許文献1参照)。また、輻輳制御方式としては、1本のTCPセッションが複数本のTCPセッションと同程度の帯域を得られるように制御する方法も提案されている(例えば、非特許文献3参照)。これらの方式を用いることによって、異なるTCPセッション間で異なる帯域を得ることが可能となる。
ネットワーク内でアプリケーション毎の帯域制御を実現する第三の技術としては、端末のトランスポート層制御による帯域制御方式がある。例えば、この帯域制御方式としては、推定した回線帯域を基に輻輳ウインドの目標値を定め、これを基にTCPセッションの輻輳ウインドの増減を制御する方式が提案されている(例えば、特許文献2及び非特許文献4参照)。ここで、推定した帯域の代わりに、予め固定的に帯域を設定することで、目標帯域に沿った帯域制御が可能であると考えられる。
TCPでは、ウインドサイズというパラメータを調節することで送信帯域を制御する。通常、ウインドサイズはネットワークの輻輳度に応じて制御される。すなわち、現在、最も広く用いられているバージョンであるTCP−Renoでは、輻輳を検出していない間、輻輳ウインドを一定の速度で増加し、輻輳を検出した際に輻輳ウインドを半分に減少させることで、ネットワークを輻輳させない範囲で高いスループットを得られるように輻輳ウインドを制御している(例えば、非特許文献2参照)。
上述した第二及び第三の技術の利点は、第一の技術がネットワーク内の全ノードが帯域制御に対応している必要があるのに対し、第二の技術では送信端末のみが帯域制御に対応していれば良い点である。
特開平09−307871号公報 特開2005−365193 R.Braden,D.Clark,S.Shenker,"Integrated Services in the Internet Architecture:an Overview"(IETF RFC1633,1994) W.Stevens,"TCP Slow Start,Congestion Avoidance,Fast Retransmit,and Fast Recovery Algorithms"(RFC2001,Jan 1997) J.Crowroft and P.Oechcslin,"Differentiated end−to−end Internet services using a weighted proportional fair sharing TCP"(ACM Comput.Commun.Rev.,vol.28,no.3,pp.53−69,July 1998) C.Casetti,M.Gerla,S.Mascolo,M.Y.Sanadidi,and R.Wang,"TCP Westwood:Bandwidth Estimation for Enhanced Transport over Wireless Links"(In proc.of Mobicom 2001)
従来の帯域制御を実現する第一の技術では、導入コストが高いという問題点がある。この第一の技術では、ネットワーク内のノードに優先制御方式を実装しなければならないため、すでにネットワーク内に導入されているノードを帯域制御方式対応のものに置き換える必要がある。また、送信端末だけに目標帯域等のセッション毎のパラメータを設定するだけでなく、全ノードにこれらのパラメータを設定する必要があるため、ノードのコストも、運用管理のコストも大きい。
従来の帯域差別化を実現する第二の技術では、帯域の差別化は可能であるが、絶対的な品質目標が定められている場合に、この目標に則した品質を保証することができないという問題点がある。
従来の帯域制御を実現する第三の技術では、ネットワークの輻輳状態に関わらず輻輳ウインドサイズの目標値を定めるため、場合によってネットワークの深刻な輻輳を引き起こしてスループットが大幅に低下してしまうという問題点がある。この第三の技術では、目標帯域がネットワークの利用可能帯域よりも大きい場合、ウインドサイズを大きくしてスループットを増加させようとしても、利用可能帯域を越えるパケットがネットワーク内で廃棄されることになる。この場合には、目標帯域と利用可能帯域との差が大きければ、多くのパケットが廃棄されることになり、TCPの再送タイムアウトが発生して秒単位での通信停止の状態となり、大幅にスループットが低下する。
一方、従来のTCPでは、このような場合、ネットワークの輻輳度に応じてウインドサイズが小さくなるため、再送タイムアウトが発生するほど多くのパケット廃棄が発生しない。したがって、このような場合では、第二の技術が逆効果となって、従来のTCPを使う場合に比べてもスループットが低下してしまう。
そこで、本発明の目的は上記の問題点を解消し、ネットワークを深刻な輻輳状態へと陥らせることなく、TCPセッションのスループットを目標帯域にしたがって制御することができる通信システム、通信端末、中継ノード及びそれに用いる通信方法並びにそのプログラムを提供することにある。
本発明による通信システムは、ネットワークを介して複数の通信端末間でデータの送受信を行いかつ前記通信端末間の通信を中継する中継ノードを含む通信システムであって、
前記通信端末及び前記中継ノードのいずれかは、予め設定された目標帯域と実際に出力した帯域との差分の累積及び前記差分の履歴のいずれかを保持する保持手段と、前記保持手段で保持する値を基に輻輳ウインドの増加量及び減少量を表す輻輳制御パラメータの変更を行う手段とを備えている。
本発明による通信端末は、ネットワークを介して他の通信端末との間でデータの送受信を行う通信端末であって、
予め設定された目標帯域と実際に出力した帯域との差分の累積及び前記差分の履歴のいずれかを保持する保持手段と、前記保持手段で保持する値を基に輻輳ウインドの増加量及び減少量を表す輻輳制御パラメータの変更を行う手段とを備えている。
本発明による中継ノードは、ネットワークを介して複数の通信端末間でデータの送受信を行う通信システムにおいて、前記通信端末間の通信を中継する中継ノードであって、
予め設定された目標帯域と実際に出力した帯域との差分の累積及び前記差分の履歴のいずれかを保持する保持手段と、前記保持手段で保持する値を基に輻輳ウインドの増加量及び減少量を表す輻輳制御パラメータの変更を行う手段とを備えている。
本発明による通信方法は、ネットワークを介して複数の通信端末間でデータの送受信を行いかつ前記通信端末間の通信を中継する中継ノードを含む通信システムに用いる通信方法であって、
前記通信端末及び前記中継ノードのいずれかが、予め設定された目標帯域と実際に出力した帯域との差分の累積及び前記差分の履歴のいずれかを保持手段に保持する処理と、前記保持手段で保持する値を基に輻輳ウインドの増加量及び減少量を表す輻輳制御パラメータの変更を行う処理とを実行している。
本発明による通信方法のプログラムは、ネットワークを介して複数の通信端末間でデータの送受信を行いかつ前記通信端末間の通信を中継する中継ノードを含む通信システムに用いる通信方法のプログラムであって、前記通信端末及び前記中継ノードのいずれかのコンピュータに、予め設定された目標帯域と実際に出力した帯域との差分の累積及び前記差分の履歴のいずれかを保持手段に保持する処理と、前記保持手段で保持する値を基に輻輳ウインドの増加量及び減少量を表す輻輳制御パラメータの変更を行う処理とを実行させている。
すなわち、本発明の通信システムは、上記の目的を達成するため、ネットワークを介して複数の端末間でデータの送受信を行う通信システムにおいて、送信端末もしくは端末間の通信を中継する中継ノードが、目標帯域と、実際に出力した帯域との差分の累積あるいは差分の履歴を保持し、これら累積値あるいは差分の履歴を基に輻輳制御パラメータの変更を行うことを特徴としている。
ここで、本発明の通信システムでは、ネットワークの状況とは独立に、ユーザが指定した帯域が得られるようにスループットを調整しており、このユーザが指定した帯域を目標帯域としている。また、輻輳制御パラメータは、TCP(Transmission Control Protocol)において、非輻輳時に輻輳ウインドを増加させ、輻輳時に輻輳ウインドを減少させる処理における輻輳ウインドの増加量及び減少量を表している。さらに、輻輳ウインドとは、受信側からの確認応答による設定値を超えて出力可能なパケットの上限を示している。
本発明の他の通信システムは、上記の累積値を基に短期的に目標帯域を修正する手段と、修正された目標帯域を基に目標とする輻輳ウインドの値を導出する手段と、輻輳発生時の輻輳ウインドの減少幅を目標とする輻輳ウインドの値を基に設定する手段とを送信端末もしくは端末間の通信を中継する中継ノードに有することを特徴としている。
本発明の別の通信システムは、ネットワークの輻輳度を基に輻輳ウインドの上限を計算する手段を送信端末もしくは端末間の通信を中継する中継ノードに有し、輻輳発生時に輻輳ウインドを減少させる際、少なくとも上限以下に減少させることを特徴としている。
本発明のさらに別の通信システムは、上記の累積値を基に短期的に目標帯域を修正する手段と、修正された目標帯域を基に目標とする輻輳ウインドの値を導出する手段と、非輻輳時の輻輳ウインドの増加幅を目標とする輻輳ウインドの値と現在の輻輳ウインドの値とを基に設定する手段とを送信端末もしくは端末間の通信を中継する中継ノードに有することを特徴としている。
これによって、本発明の通信システムでは、TCPの送信端末のみの変更で帯域制御が導入可能であるため、ネットワーク内のノードを置き換えることなく、低コストで帯域制御サービスが実現可能となる。
また、本発明の通信システムでは、ネットワーク輻輳度に応じた柔軟なウインドサイズの変更を行うことによって、輻輳検出時のウインドサイズ変更幅を最適化することで、ネットワークを深刻な輻輳状態へと陥らせることなく、TCPセッションのスループットを目標帯域にしたがって制御することが実現可能となる。
本発明は、以下に述べるような構成及び動作とすることで、ネットワークを深刻な輻輳状態へと陥らせることなく、TCPセッションのスループットを目標帯域にしたがって制御することができるという効果が得られる。
次に、本発明の実施例について図面を参照して説明する。
図1は本発明の第1の実施例による送信端末の構成を示すブロック図である。図1において、端末1は、送信データが生成されるデータ発生部11と、生成されたデータを送信するデータ送信制御部12とから構成されている。
データ送信制御部12は、与えられた輻輳ウインドにしたがってパケット出力を制御するパケット送信部13と、図示せぬ受信端末からの送達確認パケットを受信するACK(acknowledgement)受信部14と、パケット廃棄を検出してネットワークの輻輳度を判定する輻輳判定部15と、輻輳ウインドのサイズを決定する輻輳ウインド決定部16とから構成されている。
ここで、本実施例では、ネットワークの状況とは独立に、ユーザが指定した帯域が得られるようにスループットを調整しており、このユーザが指定した帯域を目標帯域としている。また、輻輳制御パラメータは、TCP(Transmission Control Protocol)において、非輻輳時に輻輳ウインドを増加させ、輻輳時に輻輳ウインドを減少させる処理における輻輳ウインドの増加量及び減少量を表している。さらに、輻輳ウインドとは、受信側からの確認応答による設定値を超えて出力可能なパケットの上限を示している。
さらに、本実施例による構成では、データ送信制御部12に、目標とする送信帯域を記憶しておく目標帯域設定部17と、目標帯域と実際の出力帯域との差分の累積あるいは差分の履歴を計算する累積帯域差分計算部18と、ネットワークの輻輳度から輻輳ウインドの上限を決定する輻輳ウインド制限値計算部19と、目標帯域を達成するために必要な輻輳ウインドのサイズを決定する目標輻輳ウインド計算部20と、目標輻輳ウインドのサイズより輻輳検出時の輻輳ウインドの下げ幅を決定する輻輳ウインド下げ幅計算部21とを備えている。
図2は本発明の第1の実施例による送信端末の動作を示すフローチャートである。これら図1及び図2を参照して、本発明の第1の実施例による端末1の動作について説明する。尚、図2に示す処理は端末1のCPU(中央処理装置)(図示せず)がコンピュータで実行可能なプログラムを実行することでも実現される。
端末1は、コネクションが開設されると(図2ステップS1)、データ発生部11で生成されたパケットをパケット送信部13から出力する(図2ステップS2)。端末1は、この送信パケットに対する送達確認応答としてACKパケットが受信側から返信されると、ACK受信部14にてこれを受信する(図2ステップS3)。
端末1は、ACKパケットを受信すると、パケット送信部13が次のパケットを出力すると同時に、輻輳判定部15がパケット廃棄の有無を検査する(図2ステップS6)。ここで、端末1は、輻輳判定部15がパケット廃棄を検出しなければ、輻輳ウインド決定部16にて輻輳ウインドを1MSS(Maximum Segment Size:最大セグメントサイズ)(送受信可能な正味の最大データ長)分増加する(図2ステップS7)。一方、端末1は、パケット廃棄を検出した場合、TCP−Reno(例えば、非特許文献2参照)では輻輳ウインドを半減するが、本実施例では、以下のような処理を行う。
まず、端末1では、ACKパケット受信時に目標帯域と実際の出力帯域との差分の累積あるいは差分の履歴を累積帯域差分計算部18にて計算する(図2ステップS4)。
この差分の計算について、図3を参照して説明する。累積帯域差分計算部18では、発生したデータ量と目標帯域の差分の累積あるいは差分の履歴とを入力バケットにて保持しておき、この入力バケットから出力されるデータ量が、端末1から出力されるべき目標となるデータ量である。
また、累積帯域差分計算部18では、入力バケットから出力されるデータ量と、実際に端末1から出力されたデータ量の累積との差分を出力バケットにて保持する。したがって、出力バケットの蓄積量が目標帯域と実際の出力帯域との差分の累積あるいは差分の履歴を表し、これが正の値であれば、出力帯域が目標帯域に満たないことを示し、これが負の値であれば、目標帯域よりも出力帯域が大きいことを示している。
目標輻輳ウインド計算部20では、累積帯域差分を0に近づけるために、
「短期的目標帯域」=「目標帯域」+「累積帯域差分」/「時定数」
・・・(1)
という式のように、短期的な目標帯域を定める。次に、目標輻輳ウインド計算部20は、
「目標輻輳ウインド」=「短期的目標帯域」×「往復伝播遅延時間」
・・・(2)
という式のように目標輻輳ウインドを定める。
輻輳ウインド制限値計算部19では、
「輻輳ウインド制限値」=「現在の輻輳ウインドサイズ」
−「最大セグメントサイズ」×2
・・・(3)
という式によって輻輳ウインドの上限を定める。但し、再送タイムアウトが頻発している場合等、ネットワークに深刻な輻輳が発生していることが推定される際には、輻輳ウインドの制限値を上記の(3)式よりも小さく設定する。
端末1では、パケット廃棄を検出した際に、輻輳ウインドを半減するのではなく、目標輻輳ウインドと輻輳ウインド制限値とのうち小さい方を新しい輻輳ウインドとする。但し、ここで、輻輳ウインドが半分よりも小さくなってしまう場合には、TCP−Renoと同様に、輻輳ウインドを半減するものとする。これは、ネットワークに帯域の余裕があり、TCP−Renoで得られるであろう帯域が目標帯域よりも大きい場合には、目標帯域によらず、TCP−Renoと同様の帯域を得るためである。すなわち、本実施例では、スループットを目標帯域に固定するのではなく、スループットが目標帯域を下回らないように制御することが可能である。
このように、本実施例では、パケット廃棄を検出した際の輻輳ウインドの減少幅を目標帯域にしたがって最適化することによって、スループットが目標帯域を下回らないように制御することができる。
また、本実施例では、輻輳ウインドの上限値を設定することで、ネットワークに深刻な輻輳を発生させることを防止するとともに、目標帯域と実際に出力帯域との差分の累積あるいは差分の履歴を用いて柔軟に目標輻輳ウインドを設定することによって、出力帯域の変動を許容しつつも、目標帯域に対して出力帯域を追従させることができる。
図4は本発明の第2の実施例による送信端末の構成を示すブロック図である。図4において、本発明の第2の実施例による端末2は、データ送信制御部12の構成に、非輻輳時の輻輳ウインド増加量を変更する輻輳ウインド上げ幅計算部22を加え、輻輳ウインド決定部16の代わりに、輻輳ウインド上げ幅計算部22の計算結果をも含めて輻輳ウインドを決定する輻輳ウインド決定部23を設けた以外は、図1に示す本発明の第1の実施例による端末1と同様の構成となっており、同一構成要素には同一符号を付してある。また、同一構成要素の動作は本発明の第1の実施例と同様である。
図5は本発明の第2の実施例による送信端末の動作を示すフローチャートである。これら図4及び図5を参照して、本発明の第2の実施例による端末2の動作について説明する。尚、図5に示す処理は端末2のCPU(図示せず)がコンピュータで実行可能なプログラムを実行することでも実現される。また、図5のステップS21〜S25,S27〜S32の処理は図2のステップS1〜S11の処理と同様であるので、その説明を省略する。
本実施例による端末2の動作は、本発明の一実施例による端末1の動作とほぼ同様であり、図5のステップS26の処理、つまりACKパケットを受信した後に、輻輳ウインドの上げ幅を計算する点のみが異なる。輻輳ウインド上げ幅計算部22では、現在の輻輳ウインドが目標輻輳ウインドよりも大きければ、上述した本発明の一実施例と同様に、輻輳ウインドを1MSS(Maximum Segment Size)ずつ増加させるように設定する。さもなければ、輻輳ウインドをN×MSSずつ増加させるように設定する。ここで、Nは1以上の自然数であり、予め固定値を設定してもよいし、ボトルネックリンク帯域の比例した値を動的に設定してもよい。
また、NはRTT(Round Trip Time:往復遅延時間)の計測値を基に動的に変更してもよく、例えば、
N=1+AeB(RTT−最小RTT)/(最大RTT−最小RTT)
・・・(4)
という式のように設定しても良い。尚、この式において、A及びBは予め設定された0以上の数である。
このように、本実施例では、輻輳ウインドが目標値に満たない場合、輻輳ウインドを急速に増加させるため、よりすばやくスループットを目標帯域に追従させることができる。
図6は本発明の第3の実施例による中継ノードの構成を示すブロック図である。図6において、中継ノード3は送信端末(図示せず)からのデータを受信するデータ受信制御部31と、受信したデータを受信端末(図示せず)へと送信するデータ送信制御部32とから構成されている。
データ受信制御部31は送信端末から送信されてきたデータパケットを受信するパケット受信部42と、受信パケットに対するACKパケットを生成して送信端末へと送り返すACK送信部43とから構成されている。また、データ送信制御部32の構成は、図1に示す本発明の一実施例におけるデータ送信制御部12の構成と同様に、パケット送信部33と、ACK受信部34と、輻輳判定部35と、輻輳ウインド決定部36と、目標帯域設定部37と、累積帯域差分計算部38と、輻輳ウインド制限値計算部39と、目標輻輳ウインド計算部40と、輻輳ウインド下げ幅計算部41とから構成されている。
図7は本発明の第3の実施例による中継ノード3の動作を説明するフローチャートである。これら図6及び図7を参照して、本発明の第3の実施例による中継ノード3の動作について説明する。尚、図7に示す処理は中継ノード3のCPU(図示せず)がコンピュータで実行可能なプログラムを実行することでも実現される。
本実施例は、本発明を送信端末ではなく、セッション中継ノードに適用した例である。セッション中継ノードでは、送信端末とのセッションと、受信端末とのセッションとをそれぞれ開設し(図7ステップS41)、これらのセッション間でデータの中継を行うことで、送信端末と受信端末との間の通信を実現するノードである。
本実施例では、送信端末が出力したパケットをデータ受信制御部31のパケット受信部42にて受信し(図7ステップS42)、これをデータ送信制御部32に渡してパケット送信部33にて受信端末に出力している。尚、データ送信制御部32の動作は本発明の一実施例と同様であるため、その説明を省略する。
データ受信制御部31の動作は、通常の受信端末におけるパケット受信処理と同様であり、パケット受信部42にて受信したパケットに対応するACKパケットをACK送信部43にて生成して送信端末へと返送する。しかしながら、ACK送信部43の動作は、以下の点で通常の受信端末とは異なる。
データ受信制御部31は送信端末から送信されてきたデータパケットを受信するパケット受信部42と、受信パケットに対するACKパケットを生成して送信端末へと送り返すACK送信部43とから構成されている。また、データ送信制御部32の構成は、図1に示す本発明の第1の実施例におけるデータ送信制御部12の構成と同様に、パケット送信部33と、ACK受信部34と、輻輳判定部35と、輻輳ウインド決定部36と、目標帯域設定部37と、累積帯域差分計算部38と、輻輳ウインド制限値計算部39と、目標輻輳ウインド計算部40と、輻輳ウインド下げ幅計算部41とから構成されている。
図7は本発明の第3の実施例による中継ノード3の動作を説明するフローチャートである。これら図6及び図7を参照して、本発明の第3の実施例による中継ノード3の動作について説明する。尚、図7に示す処理は中継ノード3のCPU(図示せず)がコンピュータで実行可能なプログラムを実行することでも実現される。
本実施例は、本発明を送信端末ではなく、セッション中継ノードに適用した例である。セッション中継ノードでは、送信端末とのセッションと、受信端末とのセッションとをそれぞれ開設し(図7ステップS41)、これらのセッション間でデータの中継を行うことで、送信端末と受信端末との間の通信を実現するノードである。
本実施例では、送信端末が出力したパケットをデータ受信制御部31のパケット受信部42にて受信し(図7ステップS42)、これをデータ送信制御部32に渡してパケット送信部33にて受信端末に出力している。尚、データ送信制御部32の動作は本発明の一実施例と同様であるため、その説明を省略する。
データ受信制御部31の動作は、通常の受信端末におけるパケット受信処理と同様であり、パケット受信部42にて受信したパケットに対応するACKパケットをACK送信部43にて生成して送信端末へと返送する。しかしながら、ACK送信部43の動作は、以下の点で通常の受信端末とは異なる。
ACK送信部43では累積帯域差分計算部38が保持している入力バケットの蓄積量を監視し(図7ステップS43)、これが予め定められた閾値よりも小さな値であれば、通常の受信端末での動作と同じく、受信パケットに対するACKパケットを1個生成して送信端末へと返送する(図7ステップS45)。
ACK送信部43では入力バケットの蓄積量が閾値以上であれば、蓄積量に応じて複数のACKパケットを生成して送信端末へと返送する(図7ステップS44)。例えば、前回セグメント1000まで受信済みであり、今回セグメント2500までのパケットを受信した場合、通常であれば、セグメント2500に対するACKパケットを出力するが、ACKパケットを3個生成する場合にはセグメント1500、2000、2500の3つのACKパケットを出力する。
ACKパケットの出力数は、
出力数=1+(入力バケット蓄積量/MSS)
/(1秒間のパケット到着数×時定数) ・・・(5)
という式のように決定する。
このように、本実施例では、既存の送信端末や受信端末を変更することなく、ネットワーク内にセッション中継ノードを1台以上追加することで、帯域制御を実現することができる。また、本実施例では、中継ノードと受信端末との間の帯域のみでなく、送信端末へのACKを分割することで、中継ノードと送信端末との間の帯域も制御することができる。
次に、本発明の第4の実施例について図面を参照して説明する。図8は本発明の第4の実施例による送信端末の構成を示すブロック図である。図8において、端末4は、送信データが生成されるデータ発生部41と、生成されたデータを送信するデータ送信制御部42とから構成されている。
データ送信制御部42は、与えられた輻輳ウインドにしたがってパケット出力を制御するパケット送信部43と、図示せぬ受信端末からの送達確認パケットを受信するACK受信部44と、パケット廃棄を検出してネットワークの輻輳度を判定する輻輳判定部45と、輻輳ウインドのサイズを決定する輻輳ウインド決定部46とから構成されている。
さらに、本実施例による構成では、データ送信制御部42に、目標とする送信帯域を記憶しておく目標帯域設定部47と、目標帯域と実際の出力帯域との差分の累積あるいは差分の履歴を計算する累積帯域差分計算部48と、ネットワークの輻輳度から輻輳ウインドの上限を決定する輻輳ウインド制限値計算部49と、目標帯域を達成するために必要な輻輳ウインドのサイズを決定する目標輻輳ウインド計算部50と、目標輻輳ウインドのサイズより輻輳検出時の輻輳ウインドの下げ幅を決定する輻輳ウインド下げ幅計算部51、非輻輳時の輻輳ウインド増加量を変更する輻輳ウインド上げ幅計算部52、深刻な輻輳状態を検出する重輻輳判定部53とを備えている。
以下、図8を参照して、本実施例による端末4の動作について説明する。端末4は、コネクションが開設されると、データ発生部41で生成されたパケットをパケット送信部43から出力する。端末4は、この送信パケットに対する送達確認応答としてACKパケットが受信側から返信されると、ACK受信部44にてこれを受信する。
端末4は、ACKパケットを受信すると、パケット送信部43が次のパケットを出力すると同時に、輻輳判定部45がパケット廃棄の有無を検査する。ここで、端末4は、輻輳判定部45がパケット廃棄を検出しなければ、輻輳ウインド決定部46にて輻輳ウインドを増加させる。この際、現在の輻輳ウインドが目標輻輳ウインド計算部50で計算された輻輳ウインドのよりも小さい場合は、ACKパケットを1個受信する毎に1MSSずつ輻輳ウインドを増加し(スロースタート動作)、さもなければACKパケットを輻輳ウインド数分受信する毎に1MSSずつ輻輳ウインドを増加する(輻輳回避動作)。このような動作は、ストースタート閾値として目標輻輳ウインドの値を用いることで達成できる。
尚、本実施例においても、目標輻輳ウインド計算部50の動作については、上述した本発明の第1の実施例と同様である。さらに、パケット廃棄を検出した場合の輻輳ウインドの減少についても、上述した本発明の第1の実施例と同様である。
さらに、本実施例では、重輻輳判定部53において、
・再送タイムアウトの発生
・スロースタート中のパケット廃棄の発生
・パケット再送期間が閾値以上となる
・複数のパケットが同時に廃棄
・累積帯域差分が一定値以上
というような場合に深刻な輻輳が発生したと判断する。
そして、深刻な輻輳が発生した際には、
・輻輳ウインドの増加量を小さく設定する、あるいはスロースタート閾値を小さく設定する
・輻輳ウインドの減少量を大きく設定する、あるいは輻輳ウインドの制限値を小さく設定する
・累積帯域差分の値から一定値を引く(その際の典型的な値としては、目標帯域に一定値を掛けたもの、あるいは目標帯域に再送タイムアウトによる停止時間を掛けたものが想定される)
・データ発生部に通知してデータの発生量を抑制する(その典型的な方法としては、送信画像のエンコーディングレートを低下させることや、あるいは送信画像のフレームを適宜間引くことが想定される)
というような対処を行う。
このように、本実施例では、上述した本発明の第1の実施例や本発明の第2の実施例の効果に加えて、深刻な輻輳が発生した際には一時的に送信速度を低下させる、あるいはデータの発生量を抑えることによって、輻輳からの回避を促すという効果がある。
次に、本発明の第5の実施例について図面を参照して説明する。図9は本発明の第5の実施例による送信端末の構成を示すブロック図である。端末6は、上記の本発明の第4の実施例による端末4と比較すると、目標帯域設定部47を備えていないが、目標帯域抽出部67を備える点が異なる。本発明の第4の実施例においては、本発明の第1の実施例と同様に、予め定められた目標帯域を用いているが、本実施例においては、データ発生部61から出力された送信データを解析することで、目標帯域を動的に設定する。
以下、本実施例の動作について、上述した本発明の第4の実施例の動作との差分について説明する。目標帯域抽出部67では、データ発生部61が出力する全てのパケット、もしくは一部のパケットを解析し、その中に書かれている画像フレームの再生時間を抽出する。そして、目標帯域抽出部67では、複数回計測した再生時間の間隔と、その間に出力されたパケットのデータ量とから、その時点での画像の送信レートを計算し、これを目標帯域として設定する。
別の動作例としては、目標帯域抽出部67が、データ発生部61が出力する全てのパケット、もしくは一部のパケットを解析し、その中に書かれている画像フレームの境界情報、もしくはフレーム番号情報を抽出する方法がある。この方法の場合には、目標帯域抽出部67が、予め設定されているフレームレート情報から画像フレームの時間間隔を計算し、その間に出力されたパケットのデータ量から、その時点での画像の送信レートを計算し、これを目標帯域として設定する。
また、別の動作例としては、目標帯域抽出部67が、データ発生部61が出力するパケットの発生レートを計測し、これを目標帯域として設定する方法がある。
さらに、別の動作例としては、目標帯域抽出部67が、受信端末から受信したACKパケットから受信確認されたデータ量を計測し、受信確認されるデータ量の速度から目標帯域を設定する方法がある。
このように、本実施例では、予め目標帯域を設定することなく、動的に設定された目標帯域に対してスループットを安定化させるという効果がある。
本発明の第1の実施例による送信端末の構成を示すブロック図である。 本発明の第1の実施例による送信端末の動作を示すフローチャートである。 本発明の第1の実施例による累積帯域差分計算部の動作を説明するための図である。 本発明の第2の実施例による送信端末の構成を示すブロック図である。 本発明の第2の実施例による送信端末の動作を示すフローチャートである。 本発明の第3の実施例による中継ノードの構成を示すブロック図である。 本発明の第3の実施例による中継ノードの動作を示すフローチャートである。 本発明の第4の実施例による送信端末の構成を示すブロック図である。 本発明の第5の実施例による送信端末の構成を示すブロック図である。
符号の説明
1,2,4,6 端末
3 中継ノード
11,41,61 データ発生部
12,32,42,62 データ送信制御部
13,33,43,63 パケット送信部
14,34,44,64 ACK受信部
15,35,45,65 輻輳判定部
16,23,36,46,66 輻輳ウインド決定部
17,37,47 目標帯域設定部
67 目標帯域抽出部
18,38,48,68 累積帯域差分計算部
19,39,49,69 輻輳ウインド制限値計算部
20,40,50,70 目標輻輳ウインド計算部
21,41,51,71 輻輳ウインド下げ幅計算部
22,52,72 輻輳ウインド上げ幅計算部
31 データ受信制御部
42 パケット受信部
43 ACK送信部
53,73 輻輳ウインド上げ幅計算部

Claims (67)

  1. ネットワークを介して複数の通信端末間でデータの送受信を行いかつ前記通信端末間の通信を中継する中継ノードを含む通信システムであって、
    前記通信端末及び前記中継ノードのいずれかは、予め設定された目標帯域と実際に出力した帯域との差分の累積及び前記差分の履歴のいずれかを保持する保持手段と、前記保持手段で保持する値を基に輻輳ウインドの増加量及び減少量を表す輻輳制御パラメータの変更を行う手段とを有することを特徴とする通信システム。
  2. 前記通信端末及び前記中継ノードのいずれかは、前記保持手段に保持する値が大きくなるのにしたがって輻輳発生時の輻輳ウインドの減少量を小さく設定することを特徴とする請求項1記載の通信システム。
  3. 前記通信端末及び前記中継ノードのいずれかは、前記保持手段で保持する値を基に前記目標帯域を修正する手段を含むことを特徴とする請求項1記載の通信システム。
  4. 前記通信端末及び前記中継ノードのいずれかは、予め設定された目標帯域及び修正された目標帯域のいずれかを基に目標とする輻輳ウインドの値を導出する手段と、前記目標とする輻輳ウインドの値を基に輻輳発生時の輻輳ウインドの減少量を設定する手段とを含むことを特徴とする請求項1記載の通信システム。
  5. 送信側の通信端末は、発生した送信データ量にしたがってカウント値を増加しかつ前記目標帯域にしたがってそのカウント値を減少する第一のカウンタと、前記第一のカウンタにて減少させたカウント値にともなってカウント値を増加しかつ自端末から実際に出力されたデータ量にしたがってそのカウント値を減少する第二のカウンタとを含み、前記第二のカウンタのカウント値を前記保持手段で保持する値とすることを特徴とする請求項1から請求項4のいずれか記載の通信システム。
  6. 前記中継ノードは、受信したデータ量にしたがってカウント値を増加しかつ前記目標帯域にしたがってカウント値を減少する第一のカウンタと、前記第一のカウンタにて減少させたカウント値にともなってカウント値を増加しかつ自ノードから実際に出力されたデータ量にしたがってカウント値を減少する第二のカウンタとを含み、前記第二のカウンタのカウント値を前記保持手段で保持する値とすることを特徴とする請求項1から請求項4のいずれか記載の通信システム。
  7. 前記通信端末及び前記中継ノードのいずれかは、減少後の輻輳ウインドが減少前の輻輳ウインドの半分以下であれば、前記減少後の輻輳ウインドを前記減少前の輻輳ウインドの半分とすることを特徴とする請求項2から請求項6のいずれか記載の通信システム。
  8. 前記通信端末及び前記中継ノードのいずれかは、前記ネットワークの輻輳度を基に輻輳ウインドの上限を計算する手段を含み、輻輳発生時に輻輳ウインドを減少させる場合、前記輻輳ウインドを少なくとも前記上限以下に減少させることを特徴とする請求項1から請求項7のいずれか記載の通信システム。
  9. 前記通信端末及び前記中継ノードのいずれかは、パケット廃棄の検出直前の輻輳ウインドの値に対する一定値の減算及び一定値の乗算のいずれかを行って前記輻輳ウインドの上限を計算することを特徴とする請求項8記載の通信システム。
  10. 前記通信端末及び前記中継ノードのいずれかは、再送タイムアウトの頻度に比例して前記輻輳ウインドの上限を小さく設定することを特徴とする請求項8記載の通信システム。
  11. 前記通信端末及び前記中継ノードのいずれかは、前記保持手段で保持された値が大きくなるにしたがって非輻輳時の輻輳ウインドの増加量を大きく設定する手段を含むことを特徴とする請求項1記載の通信システム。
  12. 前記通信端末及び前記中継ノードのいずれかは、予め設定された目標帯域及び修正された目標帯域のいずれかを基に目標とする輻輳ウインドの値を導出する手段と、前記目標とする輻輳ウインドの値と現在の輻輳ウインドの値とを基に非輻輳時の輻輳ウインドの増加量を設定する手段とを含むことを特徴とする請求項1記載の通信システム。
  13. 前記通信端末及び前記中継ノードのいずれかは、現在の輻輳ウインドの値が前記目標とする輻輳ウインドの値よりも小さい場合に、前記非輻輳時の輻輳ウインドの増加量を大きく変更する手段と、往復転送遅延時間が大きくなるにしたがって前記増加量を小さく変更する手段とを含むことを特徴とする請求項12記載の通信システム。
  14. ネットワークを介して複数の通信端末間でデータの送受信を行いかつ前記通信端末間の通信を中継する中継ノードを含む通信システムであって、
    受信側の通信端末及び前記中継ノードのいずれかは、送信側の通信端末からの入力帯域と目標帯域との差分の累積及び前記差分の履歴のいずれかを保持する保持手段と、前記保持手段で保持する値を基に前記送信側の通信端末へと返送する送達確認応答パケットを分割する手段とを有することを特徴とする通信システム。
  15. 前記受信側の通信端末及び前記中継ノードのいずれかは、1つのデータパケットの受信に対して受信確認するシーケンス番号を少しずつ大きくした複数の送達確認応答パケットに分割してその送達確認応答パケットを前記送信側の通信端末に返信する手段を含み、前記保持手段で保持する値が大きくなるにしたがって前記送達確認応答パケットの分割数を大きくすることを特徴とする請求項14記載の通信システム。
  16. ネットワークを介して他の通信端末との間でデータの送受信を行う通信端末であって、
    予め設定された目標帯域と実際に出力した帯域との差分の累積及び前記差分の履歴のいずれかを保持する保持手段と、前記保持手段で保持する値を基に輻輳ウインドの増加量及び減少量を表す輻輳制御パラメータの変更を行う手段とを有することを特徴とする通信端末。
  17. 前記保持手段に保持する値が大きくなるのにしたがって輻輳発生時の輻輳ウインドの減少量を小さく設定することを特徴とする請求項16記載の通信端末。
  18. 前記保持手段で保持する値を基に前記目標帯域を修正する手段を含むことを特徴とする請求項16記載の通信端末。
  19. 予め設定された目標帯域及び修正された目標帯域のいずれかを基に目標とする輻輳ウインドの値を導出する手段と、前記目標とする輻輳ウインドの値を基に前記輻輳発生時の輻輳ウインドの減少量を設定する手段とを含むことを特徴とする請求項18記載の通信端末。
  20. 発生した送信データ量にしたがってカウント値を増加しかつ前記目標帯域にしたがってそのカウント値を減少する第一のカウンタと、前記第一のカウンタにて減少させたカウント値にともなってカウント値を増加しかつ自端末から実際に出力されたデータ量にしたがってそのカウント値を減少する第二のカウンタとを含み、前記第二のカウンタのカウント値を前記保持手段で保持する値とすることを特徴とする請求項16から請求項19のいずれか記載の通信端末。
  21. 減少後の輻輳ウインドが減少前の輻輳ウインドの半分以下であれば、前記減少後の輻輳ウインドを前記減少前の輻輳ウインドの半分とすることを特徴とする請求項17から請求項20のいずれか記載の通信端末。
  22. 前記ネットワークの輻輳度を基に輻輳ウインドの上限を計算する手段を含み、輻輳発生時に輻輳ウインドを減少させる場合、前記輻輳ウインドを少なくとも前記上限以下に減少させることを特徴とする請求項16から請求項21のいずれか記載の通信端末。
  23. パケット廃棄の検出直前の輻輳ウインドの値に対する一定値の減算及び一定値の乗算のいずれかを行って前記輻輳ウインドの上限を計算することを特徴とする請求項22記載の通信端末。
  24. 再送タイムアウトの頻度に比例して前記輻輳ウインドの上限を小さく設定することを特徴とする請求項22記載の通信端末。
  25. 前記保持手段で保持された値が大きくなるにしたがって非輻輳時の輻輳ウインドの増加量を大きく設定する手段を含むことを特徴とする請求項16記載の通信端末。
  26. 予め設定された目標帯域及び修正された目標帯域のいずれかを基に目標とする輻輳ウインドの値を導出する手段と、前記目標とする輻輳ウインドの値と現在の輻輳ウインドの値とを基に非輻輳時の輻輳ウインドの増加量を設定する手段とを含むことを特徴とする請求項16記載の通信端末。
  27. 現在の輻輳ウインドの値が前記目標とする輻輳ウインドの値よりも小さい場合に、前記非輻輳時の輻輳ウインドの増加量を大きく変更する手段と、往復転送遅延時間が大きくなるにしたがって前記増加量を小さく変更する手段とを含むことを特徴とする請求項26記載の通信端末。
  28. ネットワークを介して他の通信端末との間でデータの送受信を行う通信端末であって、
    送信側の通信端末からの入力帯域と目標帯域との差分の累積及び前記差分の履歴のいずれかを保持する保持手段と、前記保持手段で保持する値を基に前記送信側の通信端末へと返送する送達確認応答パケットを分割する手段とを有することを特徴とする通信端末。
  29. 1つのデータパケットの受信に対して受信確認するシーケンス番号を少しずつ大きくした複数の送達確認応答パケットに分割してその送達確認応答パケットを前記送信側の通信端末に返信する手段を含み、前記保持手段で保持する値が大きくなるにしたがって前記送達確認応答パケットの分割数を大きくすることを特徴とする請求項28記載の通信端末。
  30. ネットワークを介して複数の通信端末間でデータの送受信を行う通信システムにおいて、前記通信端末間の通信を中継する中継ノードであって、
    予め設定された目標帯域と実際に出力した帯域との差分の累積及び前記差分の履歴のいずれかを保持する保持手段と、前記保持手段で保持する値を基に輻輳ウインドの増加量及び減少量を表す輻輳制御パラメータの変更を行う手段とを有することを特徴とする中継ノード。
  31. 前記保持手段に保持する値が大きくなるのにしたがって輻輳発生時の輻輳ウインドの減少量を小さく設定することを特徴とする請求項30記載の中継ノード。
  32. 前記保持手段で保持する値を基に前記目標帯域を修正する手段を含むことを特徴とする請求項30記載の中継ノード。
  33. 予め設定された目標帯域及び修正された目標帯域のいずれかを基に目標とする輻輳ウインドの値を導出する手段と、前記輻輳発生時の輻輳ウインドの減少量を前記目標とする輻輳ウインドの値を基に設定する手段とを含むことを特徴とする請求項30記載の中継ノード。
  34. 受信したデータ量にしたがってカウント値を増加しかつ前記目標帯域にしたがってカウント値を減少する第一のカウンタと、前記第一のカウンタにて減少させたカウント値にともなってカウント値を増加しかつ自ノードから実際に出力されたデータ量にしたがってカウント値を減少する第二のカウンタとを含み、前記第二のカウンタのカウント値を前記保持手段で保持する値とすることを特徴とする請求項30から請求項33のいずれか記載の中継ノード。
  35. 減少後の輻輳ウインドが減少前の輻輳ウインドの半分以下であれば、前記減少後の輻輳ウインドを前記減少前の輻輳ウインドの半分とすることを特徴とする請求項29から請求項31のいずれか記載の中継ノード。
  36. 前記ネットワークの輻輳度を基に輻輳ウインドの上限を計算する手段を含み、輻輳発生時に輻輳ウインドを減少させる場合、前記輻輳ウインドを少なくとも前記上限以下に減少させることを特徴とする請求項30から請求項35のいずれか記載の中継ノード。
  37. パケット廃棄の検出直前の輻輳ウインドの値に対する一定値の減算及び一定値の乗算のいずれかを行って前記輻輳ウインドの上限を計算することを特徴とする請求項36記載の中継ノード。
  38. 再送タイムアウトの頻度に比例して前記輻輳ウインドの上限を小さく設定することを特徴とする請求項36記載の中継ノード。
  39. 前記保持手段で保持された値が大きくなるにしたがって非輻輳時の輻輳ウインドの増加量を大きく設定する手段を含むことを特徴とする請求項30記載の中継ノード。
  40. 予め設定された目標帯域及び修正された目標帯域のいずれかを基に目標とする輻輳ウインドの値を導出する手段と、非輻輳時の輻輳ウインドの増加量を前記目標とする輻輳ウインドの値と現在の輻輳ウインドの値とを基に設定する手段とを含むことを特徴とする請求項30記載の中継ノード。
  41. 現在の輻輳ウインドの値が前記目標とする輻輳ウインドの値よりも小さい場合に、前記非輻輳時の輻輳ウインドの増加量を大きく変更する手段と、往復転送遅延時間が大きくなるにしたがって前記増加量を小さく変更する手段とを含むことを特徴とする請求項30記載の中継ノード。
  42. ネットワークを介して複数の通信端末間でデータの送受信を行う通信システムにおいて、前記通信端末間の通信を中継する中継ノードであって、
    送信側の通信端末からの入力帯域と目標帯域との差分の累積及び前記差分の履歴のいずれかを保持する保持手段と、前記保持手段で保持する値を基に前記送信側の通信端末へと返送する送達確認応答パケットを分割する手段とを有することを特徴とする中継ノード。
  43. 1つのデータパケットの受信に対して受信確認するシーケンス番号を少しずつ大きくした複数の送達確認応答パケットに分割してその送達確認応答パケットを前記送信側の通信端末に返信する手段を含み、前記保持手段で保持する値が大きくなるにしたがって前記送達確認応答パケットの分割数を大きくすることを特徴とする請求項42記載の中継ノード。
  44. ネットワークを介して複数の通信端末間でデータの送受信を行いかつ前記通信端末間の通信を中継する中継ノードを含む通信システムに用いる通信方法であって、
    前記通信端末及び前記中継ノードのいずれかが、予め設定された目標帯域と実際に出力した帯域との差分の累積及び前記差分の履歴のいずれかを保持手段に保持する処理と、前記保持手段で保持する値を基に輻輳ウインドの増加量及び減少量を表す輻輳制御パラメータの変更を行う処理とを実行することを特徴とする通信方法。
  45. 前記通信端末及び前記中継ノードのいずれかが、前記保持手段に保持する値が大きくなるのにしたがって輻輳発生時の輻輳ウインドの減少量を小さく設定することを特徴とする請求項44記載の通信方法。
  46. 前記通信端末及び前記中継ノードのいずれかが、前記保持手段で保持する値を基に前記目標帯域を修正する処理を実行することを特徴とする請求項44記載の通信方法。
  47. 前記通信端末及び前記中継ノードのいずれかが、予め設定された目標帯域及び修正された目標帯域のいずれかを基に目標とする輻輳ウインドの値を導出する処理と、前記輻輳発生時の輻輳ウインドの減少量を前記目標とする輻輳ウインドの値を基に設定する処理とを実行することを特徴とする請求項44記載の通信方法。
  48. 送信側の通信端末が、第一のカウンタにて発生した送信データ量にしたがってカウント値を増加しかつ前記目標帯域にしたがってそのカウント値を減少する処理と、第二のカウンタにおいて前記第一のカウンタにて減少させたカウント値にともなってカウント値を増加しかつ自端末から実際に出力されたデータ量にしたがってそのカウント値を減少する処理とを実行し、前記第二のカウンタのカウント値を前記保持手段で保持する値とすることを特徴とする請求項44から請求項47のいずれか記載の通信方法。
  49. 前記中継ノードが、第一のカウンタにて受信したデータ量にしたがってカウント値を増加しかつ前記目標帯域にしたがってカウント値を減少する処理と、第二のカウンタにおいて前記第一のカウンタにて減少させたカウント値にともなってカウント値を増加しかつ自ノードから実際に出力されたデータ量にしたがってカウント値を減少する処理とを実行し、前記第二のカウンタのカウント値を前記保持手段で保持する値とすることを特徴とする請求項44から請求項47のいずれか記載の通信方法。
  50. 前記通信端末及び前記中継ノードのいずれかが、減少後の輻輳ウインドが減少前の輻輳ウインドの半分以下であれば、前記減少後の輻輳ウインドを前記減少前の輻輳ウインドの半分とすることを特徴とする請求項45から請求項49のいずれか記載の通信方法。
  51. 前記通信端末及び前記中継ノードのいずれかが、前記ネットワークの輻輳度を基に輻輳ウインドの上限を計算する処理を実行し、輻輳発生時に輻輳ウインドを減少させる場合、前記輻輳ウインドを少なくとも前記上限以下に減少させることを特徴とする請求項44から請求項50のいずれか記載の通信方法。
  52. 前記通信端末及び前記中継ノードのいずれかが、パケット廃棄の検出直前の輻輳ウインドの値に対する一定値の減算及び一定値の乗算のいずれかを行って前記輻輳ウインドの上限を計算することを特徴とする請求項51記載の通信方法。
  53. 前記通信端末及び前記中継ノードのいずれかが、再送タイムアウトの頻度に比例して前記輻輳ウインドの上限を小さく設定することを特徴とする請求項51記載の通信方法。
  54. 前記通信端末及び前記中継ノードのいずれかが、前記保持手段で保持された値が大きくなるにしたがって非輻輳時の輻輳ウインドの増加量を大きく設定する処理を実行することを特徴とする請求項44記載の通信方法。
  55. 前記通信端末及び前記中継ノードのいずれかが、予め設定された目標帯域及び修正された目標帯域のいずれかを基に目標とする輻輳ウインドの値を導出する処理と、前記目標とする輻輳ウインドの値と現在の輻輳ウインドの値とを基に非輻輳時の輻輳ウインドの増加量を設定する処理とを実行することを特徴とする請求項44記載の通信方法。
  56. 前記通信端末及び前記中継ノードのいずれかが、現在の輻輳ウインドの値が前記目標とする輻輳ウインドの値よりも小さい場合に、前記非輻輳時の輻輳ウインドの増加量を大きく変更する処理と、往復転送遅延時間が大きくなるにしたがって前記増加量を小さく変更する処理とを実行することを特徴とする請求項55記載の通信方法。
  57. ネットワークを介して複数の通信端末間でデータの送受信を行いかつ前記通信端末間の通信を中継する中継ノードを含む通信システムに用いる通信方法であって、
    受信側の通信端末及び前記中継ノードのいずれかが、送信側の通信端末からの入力帯域と目標帯域との差分の累積及び前記差分の履歴のいずれかを保持手段に保持する処理と、前記保持手段で保持する値を基に前記送信側の通信端末へと返送する送達確認応答パケットを分割する処理とを実行することを特徴とする通信方法。
  58. 前記受信側の通信端末及び前記中継ノードのいずれかが、1つのデータパケットの受信に対して受信確認するシーケンス番号を少しずつ大きくした複数の送達確認応答パケットに分割してその送達確認応答パケットを前記送信側の通信端末に返信する処理を含み、前記保持手段で保持する値が大きくなるにしたがって前記送達確認応答パケットの分割数を大きくすることを特徴とする請求項57記載の通信方法。
  59. ネットワークを介して複数の通信端末間でデータの送受信を行いかつ前記通信端末間の通信を中継する中継ノードを含む通信システムに用いる通信方法のプログラムであって、
    前記通信端末及び前記中継ノードのいずれかのコンピュータに、予め設定された目標帯域と実際に出力した帯域との差分の累積及び前記差分の履歴のいずれかを保持手段に保持する処理と、前記保持手段で保持する値を基に輻輳ウインドの増加量及び減少量を表す輻輳制御パラメータの変更を行う処理とを実行させるためのプログラム。
  60. ネットワークを介して複数の通信端末間でデータの送受信を行いかつ前記通信端末間の通信を中継する中継ノードを含む通信システムであって、
    前記通信端末及び前記中継ノードのいずれかは、予め設定された目標帯域を達成するように輻輳制御パラメータの変更を行う手段と、前記ネットワークが深刻な輻輳状態に陥った際に一時的に前記目標帯域を下回る帯域に送信速度を調整する手段とを有することを特徴とする通信システム。
  61. 前記通信端末及び前記中継ノードのいずれかは、再送タイムアウトの発生を以って、あるいはスロースタート中にパケット廃棄が発生することによって、あるいはパケット再送期間が閾値以上になった際、あるいは複数のパケットが同時に廃棄された際、あるいは目標帯域と実際に出力した帯域との差分の累積及び前記差分の履歴が閾値以上になった際に深刻な輻輳状態と判定することを特徴とする請求項60記載の通信システム。
  62. 前記通信端末及び前記中継ノードのいずれかは、深刻な輻輳状態に陥った際、輻輳ウインドの増加量を小さく設定する、あるいは輻輳ウインドの減少量を大きく設定する、あるいはスロースタート閾値を小さく設定することによって、あるいは目標帯域と実際に出力した帯域との差分の累積及び前記差分の履歴から一定値減算することによって、送信速度を調整する手段を含むことを特徴とする請求項60または請求項61記載の通信システム。
  63. 前記通信端末及び前記中継ノードのいずれかは、深刻な輻輳状態に陥った際、送信画像のエンコーディングレートを低下させること、あるいは送信画像のフレームを適宜間引くことで、発生するデータ量を抑制し送信速度を調整する手段を含むことを特徴とする請求項60から請求項62のいずれか記載の通信システム。
  64. 前記通信端末及び前記中継ノードのいずれかにおいて、
    送信側の通信端末は、アプリケーションあるいは前段の送信ノードから受信したデータ量、あるいは受信端末から受信した応答確認データ量にしたがってカウント値を増加し、かつ自端末から実際に出力されたデータ量にしたがってそのカウント値を減少するカウンタを含み、前記カウンタのカウント値を前記保持手段で保持する値とすることを特徴とする請求項1記載の通信システム。
  65. 前記通信端末及び前記中継ノードのいずれかにおいて、
    送信側の通信端末は、アプリケーションあるいは前段の送信ノードから受信したデータの全部あるいは一部を解析することで、前記データ中に埋め込まれた各フレームの再生時刻を表すタイムスタンプやフレーム数を抽出する手段と、前記再生時刻やフレーム数の増加量が一定となるようにアプリケーションあるいは前段の送信ノードから受信したデータ量を調節しながらカウント値を増加し、かつ自端末から実際に出力されたデータ量にしたがってそのカウント値を減少するカウンタとを含み、前記カウンタのカウント値を前記保持手段で保持する値とすることを特徴とする請求項1記載の通信システム。
  66. ネットワークを介して複数の通信端末間でデータの送受信を行いかつ前記通信端末間の通信を中継する中継ノードを含む通信システムであって、
    前記通信端末及び前記中継ノードのいずれかは、予め設定された目標帯域と実際に出力した帯域との差分の累積及び前記差分の履歴のいずれかを保持する保持手段と、前記保持手段で保持されている値を基に送信画像のエンコーディングレートを低下させること、あるいは送信画像のフレームを適宜間引くことで、発生するデータ量を抑制して送信速度を調整する手段とを有することを特徴とする通信システム。
  67. ネットワークを介して複数の通信端末間でデータの送受信を行いかつ前記通信端末間の通信を中継する中継ノードを含む通信システムであって、
    前記通信端末及び前記中継ノードのいずれかは、ネットワークの状況に応じて最適な送信速度を計算する輻輳制御手段と、予め設定された目標帯域と前記輻輳制御手段によって計算された送信速度との差分の累積及び前記差分の履歴のいずれかを保持する保持手段と、前記保持手段で保持されている値を基に送信画像のエンコーディングレートを低下させること、あるいは送信画像のフレームを適宜間引くことで、発生するデータ量を抑制して送信速度を調整する手段とを有することを特徴とする通信システム。
JP2006191024A 2005-08-31 2006-07-12 通信システム、通信端末、中継ノード及びそれに用いる通信方法並びにそのプログラム Pending JP2007097144A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006191024A JP2007097144A (ja) 2005-08-31 2006-07-12 通信システム、通信端末、中継ノード及びそれに用いる通信方法並びにそのプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005250428 2005-08-31
JP2006191024A JP2007097144A (ja) 2005-08-31 2006-07-12 通信システム、通信端末、中継ノード及びそれに用いる通信方法並びにそのプログラム

Publications (1)

Publication Number Publication Date
JP2007097144A true JP2007097144A (ja) 2007-04-12

Family

ID=37982209

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006191024A Pending JP2007097144A (ja) 2005-08-31 2006-07-12 通信システム、通信端末、中継ノード及びそれに用いる通信方法並びにそのプログラム

Country Status (1)

Country Link
JP (1) JP2007097144A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010263350A (ja) * 2009-05-01 2010-11-18 Nec Corp 通信装置、擬似応答装置、送信レート制御方法およびプログラム
US8004989B2 (en) 2007-09-19 2011-08-23 Nec Corporation Controlling a window for congestion control in a network
WO2013014962A1 (ja) * 2011-07-26 2013-01-31 株式会社日立製作所 通信装置
WO2018056399A1 (ja) * 2016-09-23 2018-03-29 日本電気株式会社 輻輳抑制装置、輻輳抑制方法、プログラム
CN113300967A (zh) * 2021-02-05 2021-08-24 阿里巴巴集团控股有限公司 Rdma网络传输方法、装置以及rdma网络通信系统
CN118316877A (zh) * 2024-06-06 2024-07-09 浪潮电子信息产业股份有限公司 一种网络拥塞控制方法、系统、装置、设备及存储介质

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8004989B2 (en) 2007-09-19 2011-08-23 Nec Corporation Controlling a window for congestion control in a network
JP2010263350A (ja) * 2009-05-01 2010-11-18 Nec Corp 通信装置、擬似応答装置、送信レート制御方法およびプログラム
WO2013014962A1 (ja) * 2011-07-26 2013-01-31 株式会社日立製作所 通信装置
JP2013027010A (ja) * 2011-07-26 2013-02-04 Hitachi Ltd 通信装置
US8681617B2 (en) 2011-07-26 2014-03-25 Hitachi, Ltd. Communication device
WO2018056399A1 (ja) * 2016-09-23 2018-03-29 日本電気株式会社 輻輳抑制装置、輻輳抑制方法、プログラム
CN113300967A (zh) * 2021-02-05 2021-08-24 阿里巴巴集团控股有限公司 Rdma网络传输方法、装置以及rdma网络通信系统
CN113300967B (zh) * 2021-02-05 2024-03-12 阿里巴巴集团控股有限公司 Rdma网络传输方法、装置以及rdma网络通信系统
CN118316877A (zh) * 2024-06-06 2024-07-09 浪潮电子信息产业股份有限公司 一种网络拥塞控制方法、系统、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
JP4708978B2 (ja) 高スループットを実現する通信システム、通信端末、セッション中継装置、及び通信プロトコル
CN102468941B (zh) 网络丢包处理方法及装置
EP2030356B1 (en) Dynamically adjusting the amount of packets to be acknowledged in an asymmetric communication system
JP4147534B2 (ja) 通信装置および通信方法
JP4703063B2 (ja) ネットワーク輻輳を緩和する方法およびシステム
JP4407700B2 (ja) 通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラム
EP1378097B1 (en) Method of controlling a queue buffer
EP2522109B1 (en) Method of estimating congestion
JP4831366B2 (ja) 通信システム、通信端末、中継ノード及びそれに用いる通信方法並びにそのプログラム
US8416694B2 (en) Network feedback method and device
EP2586235B1 (en) Method and arrangement for detecting congestion in a communications network
US20130170342A1 (en) Data communication systems and methods
US20020071388A1 (en) Selectable network protocol
US20080239948A1 (en) Speculative congestion control system and cross-layer architecture for use in lossy computer networks
JP2007097144A (ja) 通信システム、通信端末、中継ノード及びそれに用いる通信方法並びにそのプログラム
Shihada et al. A novel implementation of TCP Vegas for optical burst switched networks
US11962517B2 (en) Communications method, apparatus, and system for recovering lost packets
WO2012132283A1 (ja) 通信装置およびその通信制御方法
Patel et al. Comparative performance analysis of TCP-based congestion control algorithms
JP4915415B2 (ja) 通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラム
KR101334990B1 (ko) 전송 제어 프로토콜의 혼잡 윈도우 제어 방법
Chen et al. An end-to-end flow control approach based on round trip time
CN115665058A (zh) 一种数据发送速度控制方法、装置、设备及介质
Chen et al. Pseudo-rate TCP: a congestion avoidance scheme with nearly optimized fairness and throughput
Magalhaes et al. Improving Performance of Rate-Based Transport Protocols in Wireless Environments