JP4915415B2 - 通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラム - Google Patents

通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラム Download PDF

Info

Publication number
JP4915415B2
JP4915415B2 JP2008325547A JP2008325547A JP4915415B2 JP 4915415 B2 JP4915415 B2 JP 4915415B2 JP 2008325547 A JP2008325547 A JP 2008325547A JP 2008325547 A JP2008325547 A JP 2008325547A JP 4915415 B2 JP4915415 B2 JP 4915415B2
Authority
JP
Japan
Prior art keywords
data
communication
delay time
round
transmission
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.)
Expired - Fee Related
Application number
JP2008325547A
Other languages
English (en)
Other versions
JP2009077442A (ja
Inventor
英之 下西
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 JP2008325547A priority Critical patent/JP4915415B2/ja
Publication of JP2009077442A publication Critical patent/JP2009077442A/ja
Application granted granted Critical
Publication of JP4915415B2 publication Critical patent/JP4915415B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Description

本発明は、通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラムに関し、特に、広帯域回線を使用して低遅延の通信を行う通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラムに関する。
ネットワークを介した通信において、送受信端末間で低遅延な通信を行うためには、ネットワーク内でのキュー遅延による遅延時間を短くすることが求められる。送受信端末間での遅延の最小値は、送受信端末間の伝播遅延時間であり、これより短い遅延での通信はできないものと考えられる。そして、ネットワーク内で輻輳が発生すると、輻輳が発生したノードにおいてパケット出力待ち合わせのためのキューができ、このキューを通過する時間分だけ送受信端末間の遅延が増加する。また、キューが長くなり、輻輳しているノードのバッファ容量を超えると、パケット廃棄が発生するため、送受信端末間の遅延時間はパケット再送にかかわる分だけ大幅に増加する。このように、低遅延な通信を行うためには、ネットワーク内ノードにおけるキュー遅延を小さくすることが求められる。
キュー遅延を小さくする方式として最も効果の高い方式は、ネットワーク内ノードにおいて、低遅延な通信のみ特別に優先度の高いキューに格納して優先的にパケット出力を行う方式である。例えば、Differentiated Service (Internet Engineering Task Force, Request For Comments 2475)による方式などがあげられる。しかしながら、この方式では、ネットワーク内のノードにおいて特別な仕組みが必要であり、また低遅延な通信が複数同時に行われるとやはりキュー遅延は発生する。
また、別の方式としては、ネットワーク内のノードから送信端末に対して輻輳情報を明示的に通知する方式がある。この方式としては、ECN (Explicit Congestion Notification、Internet Engineering Task Force, Request For Comments 3168)方式のようにノードの輻輳度をパケットヘッダに記入して送信端末に通知する方式や、非特許文献1に示されている方式のようにノードにおいて各通信の最適な送信帯域を計算しこれを送信端末に通知する方式などが存在する。しかしながら、これらの方式もネットワーク内のノードにおいて特別な仕組みが必要であり、既存ノードを取り替えるなどのコストがかかる。
上記の各方式と異なる技術としては、送受信端末間の輻輳制御によって低遅延通信を実現する以下に説明する技術がある。
第一の従来技術は、ネットワークの回線容量に応じて送信帯域の最大値を設定する技術である。この技術では、回線容量を超えて過大な送信帯域を設定することを防ぐことにより、不必要なキュー遅延やパケット廃棄を防ぐことが出来る。例えば、特許文献1に示される方式では、TCP通信中に最適な通信帯域を推定し、送信帯域がこの帯域を越えないように輻輳制御することで、不必要な輻輳を防いでデータ転送遅延時間を短くする。
第二の従来技術は、送信端末で計測した片道遅延時間や往復遅延時間を元に送信帯域を決定する技術である。この技術では、遅延時間が増加すると送信帯域を減少することにより、キュー遅延を短く保つように送信端末において輻輳制御を行う。例えばTCP-FAST方式(From Theory to Experiments, C. Jin, D. X. Wei, S. H. Low, G. Buhrmaster, J. Bunn, D. H. Choe, R. L. A. Cottrell, J. C. Doyle, W. Feng, O. Martin, H. Newman, F. Paganini, S. Ravot, S. Singh. IEEE Network, 19(1):4-11, January/February 2005)では、ネットワークの往復伝播遅延時間を計測し、その最小値と現在の値の差分に現在の送信帯域を乗じた値(この値はノード内のキューで待たされている該通信のデータ量に相当する)を用い、この値をあらかじめ定められた目標値に誘導するように送信帯域を制御することで、送信帯域を最適な帯域へと制御する。
本発明に関連する技術として、特許文献2、特許文献3、特許文献4、特許文献5がある。
特開2006−279283号公報 特開2000−295286号公報 特開2004−153776号公報 特開2006−340078号公報 特表2005−517330号公報 "Processor Sharing Flows in the Internet" (Nandita Dukkipati, Masayoshi Kobayashi, Rui Zhang-Shen, Nick McKeown, Thirteenth International Workshop on Quality of Service (IWQoS))
第一の従来技術の問題点は、複数のセッションが存在する場合、個々のセッションの制限帯域は回線容量以下であっても、それらのセッションの制限帯域の合計は回線容量を上回ってしまうことである。そのため、複数セッションが存在する場合には、キュー遅延が長くなってしまう。
第二の従来技術の問題点は、設定されたデータ量のパケットが定常的にキュー内に滞留することであり、滞留するパケット数が大きく振動することで遅延時間の変動が激しいことである。低遅延な通信を行うためには、最適な送信帯域に早期に達する必要があり、そのためには送信帯域の増加幅を大きく設定しなければならない。しかしながら、送信帯域の増加幅を大きく設定すると、短期間で大量のパケットがネットワークノードに到着するため、キュー長が短期間で大幅に大きくなるが、キュー遅延の増加によって輻輳が送信端末に通知されるまでの時間も長くなる。結果として、急激に送信帯域を増加させたときには、輻輳の発生からそれに対応して送信帯域を減少させるまでの時間が長くなり、結果としてキュー長が不安定になってしまう。また、第一の従来技術では、定常的にキュー内に滞留するパケット数はセッション数の増加に伴って線形に増加するという問題もある。
そこで、本発明の第一の目的は、複数のセッションが存在する場合でもその合計帯域を回線容量以下に抑えることであり、その結果として送受信端末間の遅延時間を短くすることである。
本発明の第二の目的は、送信帯域の増加幅を大きくした場合でも、またセッション数が多い場合でも、キュー遅延を振動させずに小さな値に収束させることであり、その結果として送受信端末間の遅延時間を短くすることである。
上記目的を達成するため、本発明の通信端末は、ネットワークを介し複数の通信端末間で通信セッションを設定してデータの送受信を行う通信システムに用いる通信端末であって、
受信したデータに基づいて、送受信を行う前記通信端末間の往復遅延時間を計測する手段と、受信した前記データに基づいて前記複数の通信端末のうちの受信端末における受信帯域を計測する計測手段と、
前記往復遅延時間の値を少なくとも前記受信帯域を用いて補正する補正手段と、
前記補正手段により補正された往復遅延時間によって送信帯域を決定する決定手段と、
送信中のデータ量を計測する手段とを有し、
前記補正手段は、該送信中のデータ量を前記受信帯域で割った値を、前記往復遅延時間の補正した値として用いることを特徴とする。
また本発明の通信端末は、ネットワークを介し複数の通信端末間で通信セッションを設定してデータの送受信を行う通信システムに用いる端末であって、
送信中のデータ量を計測する手段と、
受信した前記データに基づいて前記複数の通信端末のうちの受信端末における受信帯域を計測する計測手段と、
計測された前記送信中のデータ量を前記受信帯域で割った値を、往復遅延時間とする推定手段と、
前記推定手段により推定された前記往復遅延時間によって送信帯域を決定する決定手段と、を有することを特徴とする。
本発明の輻輳制御方法は、ネットワークを介し複数の通信端末間で通信セッションを設定してデータの送受信を行う通信システムの通信端末における輻輳制御方法であって、
受信したデータに基づいて、送受信を行う前記通信端末間の往復遅延時間を計測するとともに前記複数の通信端末のうちの受信端末における受信帯域を計測する第1ステップと、
前記往復遅延時間の値を少なくとも前記受信帯域を用いて補正する第2ステップと、
前記第2ステップで補正された往復遅延時間によって送信帯域を決定する第3ステップと、
送信中のデータ量を計測する第4ステップを有し、
前記第2ステップでは、該送信中のデータ量を前記受信帯域で割った値を、前記往復遅延時間の補正した値として用いることを特徴とする。
また本発明の輻輳制御方法は、ネットワークを介し複数の通信端末間で通信セッションを設定してデータの送受信を行う通信システムの通信端末における輻輳制御方法であって、
送信中のデータ量を計測する第1ステップと、
受信した前記データに基づいて前記複数の通信端末のうちの受信端末における受信帯域を計測する第2ステップと、
計測された前記送信中のデータ量を前記受信帯域で割った値を、往復遅延時間とする第3ステップと、
前記往復遅延時間によって送信帯域を決定する第4ステップと、を有することを特徴とする。
本発明によれば以下に述べる効果が達成される。
第一に、キュー遅延の増大に対応して、キューイングされているデータ量を減少させることで、複数のセッションが存在する場合でもその合計帯域を回線容量以下に抑えることであり、その結果として送受信端末間の遅延時間を短くすることができる。
第二に、計測RTTが変化するより早く送信帯域の制御を行うことが出来るため、キュー遅延を振動させずに小さな値に収束させることができ、その結果として送受信端末間の遅延時間を短くすることができる。
以下、本発明の実施の形態について図面を用いて詳細に説明する。
[実施形態1]
本発明の第1の実施形態について図面を参照して説明する。
(構成の説明)
図1は本実施形態による通信端末1の構成を示すブロック図である。送信端末となる通信端末1は送信データを発生するデータ発生部1-1と、通信データをネットワークに出力するパケット送信部1-2、通信端末1と通信を行う他の通信端末(受信端末)からの応答確認パケット(ACKパケット)を受信するパケット受信部1-3、パケット送信部1-2に対して送信帯域を指示する輻輳制御部1-4で構成される。
輻輳制御部1-4は、ACKパケットを受信する毎に往復遅延時間を計測するRTT(Round Trip Time)計測部1-6、送信帯域を計測する送信帯域計測部1-8、受信帯域を計測する受信帯域計測部1-9、送信帯域および受信帯域の値を用いて計測したRTTを補正するRTT補正部1-7、RTTを元に送信帯域を決定する送信帯域決定部1-5で構成される。ここで、RTTとは、ネットワーク通信において、1つのパケットが送信元から宛先まで行き、再び戻ってくるまでの時間をいう。
(動作の説明)
図1及び図2を参照して、本実施形態の動作について説明する。図2は通信端末1の動作を示すフローチャートである。
データ発生部1-1において送信データが発生すると(ステップS11)、輻輳制御部1-4の送信帯域決定部1-5が指定する送信帯域に従って、パケット送信部1-2が送信データをパケット化して送信する(ステップS12)。その際、送信帯域計測部1-8では、送信帯域の計測を行う(ステップS12)。これは、例えば以下の式のように一定時間に送信したデータ量をその受信時間で割ったものとしても良い。
計測送信帯域 = (時刻t1から時刻t2の間に送信したデータ量) / (t2-t1)
また、以下の式のように、パケットを送信する毎に指数平均を取って計算した計測送信帯域でも良い。
計測送信帯域 =(前回計算した送信帯域 × 係数) +((今回送信したデータ量) / (今回のパケット送信時刻 - 前回のパケット送信時刻)) × (1 - 係数)
また、送信帯域計測部1-8では、計測送信帯域ではなく、送信帯域決定部1-5で求めた送信帯域の値を用いても良い。
送信したパケットに対するACKパケットがパケット受信部1-3に到着すると、RTT計測部1-6は、該パケットに関する往復遅延時間(RTT)と、送信開始からのその最小値(RTTmin)を計測する(ステップS13)。
なお、本実施形態においては、遅延として往復遅延時間(RTT)を用いるが、代わりに片道遅延時間を用いても良い。片道遅延時間の導出方法としては、例えば、送信端末がパケット送信時にパケットヘッダ中に送信時刻を書き込み、このパケットを受信した受信端末が前記送信時刻とパケット受信時刻の差分を片道遅延として計算し、この計算値をACKパケットに書き込んで送信端末に通知するといった方法等が利用可能である。
受信帯域計測部1-9ではACKパケットによって受信確認されたデータ量から、受信端末における受信帯域を計測する(ステップS13)。これは、例えば以下の式のように一定時間に受信確認されたデータ量をその受信時間で割ったものとしても良い。
受信帯域 = (時刻t1から時刻t2の間に受信確認されたデータ量) / (t2-t1)
また、以下の式のように、ACKパケットを受信する毎に指数平均を取って計算した受信帯域でも良い。
受信帯域 = (前回計算した受信帯域 × 係数) + ((今回のACKパケットによって受信確認されたデータ量) / (今回のACKパケット到着時刻 − 前回のACKパケット到着時刻)) × (1 − 係数)
次に、RTT補正部1-4において、計測送信帯域と受信帯域のバランスによってRTTの補正を行う (ステップS14)。例えば、以下の式のように求めればよい。
補正RTT = max(計測RTT × (計測送信帯域/受信帯域), 計測RTTmin)
つまり、補正RTTは、計測RTT × (計測送信帯域/受信帯域)と計測RTTminのうち大きい値となる。
また、以下のような式で求めても良い。
補正RTT = max(計測RTT × (計測送信帯域/受信帯域), 計測RTT)
つまり、補正RTTは、計測RTT × (計測送信帯域/受信帯域)と計測RTTのうち大きい値となる。
ここでは、計測送信帯域と受信帯域は、それぞれ最新の計測値を用いたが、計測送信帯域を1RTT過去の計測値を用いることで同一パケットに対する計測送信帯域の計測時刻と受信帯域の計測時刻をあわせても良い。
送信帯域決定部1-5は、前記補正RTTの値を用いて送信帯域の制御を行う(ステップS15)。制御された送信帯域はステップS12の指定された送信帯域となる。送信帯域の制御方式はRTTを用いる制御方式であれば任意である。例えば、以下のような式で計算すればよい。
送信帯域 = 前回計算の送信帯域 +
(α/RTT − (RTT-RTTmin)/RTT×前回計算の送信帯域) × 時定数
時定数としては、例えば、(今回計算する時刻 - 前回計算した時刻) * RTTなどの値を用いる。αの値は送信帯域の増加速度を決定するパラメータである。上記の式は、以下のような式を用いても同様の結果が得られる。なお、上式の「*」は「×」を意味する(すなわち、上式の「*」は乗算を意味する)。以下の式においても同様である。
送信帯域 = 前回計算の送信帯域 +
(α/RTT − (前回計算の送信帯域 − 受信帯域)) × 時定数
以上では、送信帯域の制御による輻輳制御方式について説明したが、以上の方式はTCP(Transmission Control Protocol)のようなウインドウフロー制御による輻輳制御方式に対しても適用可能である。この場合、上記の送信帯域の計算式は、以下のように変更される。
送信ウインド = 前回計算の送信ウインド +
(α − (RTT-RTTmin)/RTT×前回計算の送信ウインド)/前回計算の送信ウインド
ネットワークの輻輳度が大きくなると、一時的に受信帯域が送信帯域よりも小さくなる。また、送信帯域が最適な値よりも大きくなると、一時的に送信帯域が受信帯域よりも大きくなる。このように、送信帯域を下げる必要がある場合には、送信帯域と受信帯域の比率が一時的に変化し、その後キューイング遅延が伸び始めてRTTが増大する。すなわち、前記比率の変化はRTTの変化よりも先に現象として現れるため、前記比率の変化をもって輻輳制御を行うことで、あるいは前記比率の変化をもってRTTの値を補正することで、輻輳に対してより早期に制御を行うことが出来る。
[実施形態2]
本発明の第2の実施形態について図面を参照して説明する。
(構成の説明)
図3は本実施形態による通信端末2の構成を示すブロック図である。実施形態1との違いは、送信帯域計測部の代わりに送信中データ量計測部が設けられている点である。
通信端末2は送信データを発生するデータ発生部2-1と、通信データをネットワークに出力するパケット送信部2-2、受信端末からの応答確認パケット(ACKパケット)を受信するパケット受信部2-3、パケット送信部2-2に対して送信帯域を指示する輻輳制御部2-4で構成される。
輻輳制御部2-4は、ACKパケットを受信する毎に往復遅延時間を計測するRTT計測部2-6、ACK未受信の送信中データ量を計測する送信中データ量計測部2-8、受信帯域を計測する受信帯域計測部2-9、受信帯域と送信中データ量の値を用いて計測したRTTを補正するRTT補正部2-7、RTTを元に送信帯域を決定する送信帯域決定部2-5で構成される。
(動作の説明)
図3及び図4を参照して、本実施形態の動作について説明する。
図4は通信端末2の動作を示すフローチャートである。
データ発生部2-1において送信データが発生すると(ステップS11)、輻輳制御部2-4の送信帯域決定部2-5が指定する送信帯域に従って、パケット送信部2-2が送信データをパケット化して送信する(ステップS22)。その際、実施形態1と異なり、送信帯域の計測は行われない。送信したパケットに対するACKパケットがパケット受信部2-3に到着すると、RTT計測部2-6 においてRTTおよびRTTminを計測し、受信帯域計測部2-9において受信帯域を計測する(ステップS23)。また、送信中データ量計測部2-8では、最後に送信したパケットのシーケンス番号と、ACKで受信確認されたシーケンス番号の差分から送信中のデータ量を求める(ステップS23)。
次に、RTT補正部2-7において、送信中データ量と送信帯域を用いてRTTの補正を行う(ステップS24)。例えば、以下の式のように求めればよい。
補正RTT = max(送信中データ量 / 受信帯域), 計測RTTmin)
また、以下のような式で求めても良い。
補正RTT = max(送信中データ量 / 受信帯域, 計測RTT)
ここでは、送信中データ量と受信帯域は、それぞれ最新の計測値を用いたが、送信中データ量の計測値を1RTT過去の計測値を用いることで同一パケットに対する送信中データ量の計測時刻と受信帯域の計測時刻をあわせても良い。
送信帯域決定部2-5は、前記補正RTTの値を用いて送信帯域の制御を行う (ステップS15)。その制御方式はRTTを用いる制御方式であれば任意である。例えば、以下のような式で計算すればよい。
送信帯域 = 前回計算の送信帯域 +
(α/RTT − (RTT-RTTmin)/RTT×前回計算の送信帯域) × 時定数
上記の式は、以下のような式を用いても同様の結果が得られる。
送信帯域 = 前回計算の送信帯域 +
(α/RTT − (送信中のデータ量/RTTmin − 受信帯域)) × 時定数
[実施形態3]
本発明の第3の実施形態について図面を参照して説明する。
(構成の説明)
図5は本実施形態による端末3の構成を示すブロック図である。通信端末3は、第1の実施形態による通信端末1の構成に加えて、送信帯域増加幅変更部3-10を加えた構成である。
通信端末3は送信データを発生するデータ発生部3-1と、通信データをネットワークに出力するパケット送信部3-2、通信端末3と通信を行う他の通信端末からの応答確認パケット(ACKパケット)を受信するパケット受信部3-3、パケット送信部3-2に対して送信帯域を指示する輻輳制御部3-4で構成される。
輻輳制御部3-4は、ACKパケットを受信する毎に往復遅延時間を計測するRTT(Round Trip Time)計測部3-6、送信帯域を計測する送信帯域計測部3-8、受信帯域を計測する受信帯域計測部3-9、送信帯域および受信帯域の値を用いて計測したRTTを補正するRTT補正部3-7、RTTを元に送信帯域を決定する送信帯域決定部3-5、計測したRTTに基づき送信帯域の増加幅を変更する送信帯域増加幅変更部3-10で構成される。
(動作の説明)
図5及び図6を参照して、本実施形態の動作について説明する。図6は通信端末3の動作を示すフローチャートである。ここでは図2の動作を同じ動作については同一符号を付して動作説明を省略する。
パケット送信時の動作(ステップS11,S12)は、第1の実施形態と同様である。
パケット受信時の動作は、補正RTTを計算するまでは(ステップS13,S14)、第1の実施形態と同様である。
本実施形態においても、送信帯域を計算方法は、以下のような従来からの一般的な方式を基礎としている。
一般的に、ネットワーク内でのキュー遅延を制御指標とした輻輳制御方式においては、キューに蓄えられているデータ量を推定し、このデータ量によって送信帯域の制御を行う。すなわち、キューに蓄えられているデータ量があらかじめ設定した目標値よりも大きい場合には、ネットワークが輻輳していると判断して送信帯域を小さくし、逆にキューに蓄えられているデータ量が少ない場合にはネットワークが輻輳していないと判断して送信帯域を大きくする。
キューに蓄えられているデータ量は、一般的に、次のように推定することが出来る。計測したRTTの最小値(RTTmin)はネットワーク内のキューに全くデータが蓄えられていないときの遅延時間であり、これはすなわちネットワーク回線上での物理的な伝播遅延時間であるとみなすことができる。そして、計測したRTTがこの値よりも大きくなれば、その差分、すなわち(RTT-RTTmin)はキュー内において待たされていた時間であるとみなすことが出来る。キュー内に蓄えられているデータ量は、キューで待たされていた時間に送信帯域をかけたものであるため、(RTT-RTTmin)×送信帯域、がキューに蓄えられているデータ量であると推定できる。
キューに蓄えられているデータ量の目標をαとし、RTTが長いほど制御利得を小さくして制御を安定化することを考慮に入れると、ネットワーク内でのキュー遅延を制御指標とした輻輳制御方式は、一般的に、以下のような式で表すことができる。
送信帯域 = 前回計算の送信帯域 +
(α/RTT - (RTT-RTTmin)/RTT×前回計算の送信帯域) × 時定数
以上の方式においては、キューに蓄えられているデータ量の目標値αが大きいほどキュー遅延が増大するため、キュー遅延を削減するためにはαの値を適切に設定する必要がある。一方、αの値が小さいと送信帯域の増加速度が遅くなるという問題がある。
そこで、本実施例においては、αの値を固定値とするのではなく、ネットワークの状況に応じて動的に変更することにより、最適な制御を行う。キュー遅延を削減するためには、キュー遅延が大きくなるほどαの値が小さくなるような関数を用いればよいため、αの値は、計測したRTT、もしくは補正RTTの値を元に動的に変更する。従って、本実施例においては、αの値を (RTT-RTTmin)に対する減少関数として定義する。例えば、以下のような関数を用いる。
(式1) α = 1/e(RTT-RTTmin)×a、もしくは
(式2) α = 1/e(RTT-RTTmin)/(最大RTT-RTTmin)×b、もしくは
(式3) α = max(c - (RTT-RTTmin)*d, e) 、もしくは
(式4) α = f * B / e(RTT-RTTmin)×a、もしくは
(式5) α = f * B / 送信帯域 / e(RTT-RTTmin)×a、もしくは
(式6) α = f * B / 送信帯域 * RTT / e(RTT-RTTmin)×a、もしくは
(式7) α = f * B / 送信帯域 * RTTmin / e(RTT-RTTmin)×a
ここでa、b、c、d、e、fはそれぞれ0以上の定数である。Bは回線帯域の値であり、あらかじめ設定された値や、特願2005-027684号に示される推定方式を用いて求めた値を使用する。ここで、式(1)および式(2)は目標値αとしてキュー遅延の指数的減少関数を用いた場合、式(3)はキュー遅延の線形的減少関数を用いた場合、式(4)は目標値に回線帯域を乗じた場合、式(5)は目標値に回線帯域を送信帯域で割った値をかけた場合、式(6)は式(5)に往復遅延時間をかけた場合、式(7)は式(5)に往復遅延時間の最小値をかけた場合、をそれぞれ表す。
式(6)-(7)ではαの値に往復遅延時間をかけたが、この代わりの手段として、αの値に往復遅延時間をかけるのではなく、推定したデータ量を往復遅延時間で割ってもよい。すなわち、以下のような式となる。
送信帯域 = 前回計算の送信帯域 +
(α/RTT - (RTT-RTTmin)/RTT×前回計算の送信帯域 / RTT) × 時定数
送信帯域 = 前回計算の送信帯域 +
(α/RTT - (RTT-RTTmin)/RTT×前回計算の送信帯域 / RTTmin) × 時定数
また、上記計算式おいて、(RTT-RTTmin)/RTT×前回計算の送信帯域、の項は、(RTT-RTTmin)/定数g×前回計算の送信帯域、としても良い。
さらに、上記計算式における時定数も、ネットワークでキューイングされているデータ量に応じて動的に変更してもよい。これは前記データ量が多いほど輻輳状態が激しいと判断し、時定数を大きく変更することで早く輻輳を解消するためである。従って、前記時定数は、前記差分の絶対値に対する増加関数として定義すればよい。例えば、以下のような関数を用いる。
時定数 = max(f×|A|, g)
ここでfとgはそれぞれ0以上の定数であり、Aは前記差分の値、|A|はその絶対値である。
以上の、αの計算、および送信帯域増加幅、すなわち、/RTT - (RTT-RTTmin)/RTT×前回計算の送信帯域) × 時定数、の計算は送信帯域増加幅変更部で行われる。
複数セッションが存在する場合にはキュー遅延が長くなるが、このキュー遅延の増大に応じて前記目標値を小さく設定することにより、個々のセッションでキューイングされているデータ量が減少し、全体のセッションでキューイングされているデータ量が減少する。
[実施形態4]
本発明の第4の実施形態について図面を参照して説明する。
(構成の説明)
図7は本実施形態による通信端末4の構成を示すブロック図である。通信端末4は送信データを発生するデータ発生部4-1と、通信データをネットワークに出力するパケット送信部4-2、受信端末からの応答確認パケット(ACKパケット)を受信するパケット受信部4-3、パケット送信部4-2に対して送信帯域を指示する輻輳制御部4-4で構成される。
輻輳制御部4-4は、ACK未受信の送信中データ量を計測する送信中データ量計測部4-8、受信帯域を計測する受信帯域計測部4-9、受信帯域と送信中データ量の値を用いてRTTを推定するRTT推定部4-7、RTTを元に送信帯域を決定する送信帯域決定部4-5で構成される。
(動作の説明)
図7及び図8を参照して、本実施形態の動作について説明する。図8は通信端末4の動作を示すフローチャートである。
パケット送信時の処理(ステップS11,S22)は第2の実施形態と同様であるため、ここでは説明を省略する。
送信したパケットに対するACKパケットがパケット受信部4-3に到着すると、受信帯域計測部4-9において受信帯域を計測する(ステップS23)。また、送信中データ量計測部4-6では、最後に送信したパケットのシーケンス番号と、ACKで受信確認されたシーケンス番号の差分から送信中のデータ量を求める(ステップS23)。
次に、RTT推定部4-4において、送信中データ量と送信帯域を用いてRTTの推定を行う(ステップS44)。例えば、以下の式のように求めればよい。
推定RTT = 送信中データ量 / 受信帯域
また、RTTminは最小の推定RTTとして求める。
次に、求めたRTTを元にして送信帯域の制御を行うが(ステップS45)、その方法は第2の実施形態と同様であるため、ここでは説明を省略する。
[実施形態5]
本発明の第5の実施形態について図面を参照して説明する。
(構成の説明)
図9は本実施形態による通信端末5の構成を示すブロック図である。通信端末5は送信データを発生するデータ発生部5-1と、通信データをネットワークに出力するパケット送信部5-2、通信端末5と通信を行う他の通信端末からの応答確認パケット(ACKパケット)を受信するパケット受信部5-3、パケット送信部5-2に対して送信帯域を指示する輻輳制御部5-4で構成される。
輻輳制御部5-4は、ACKパケットを受信する毎に往復遅延時間を計測するRTT(Round Trip Time)計測部5-6、受信帯域を計測する受信帯域計測部5-9、受信帯域の値を用いて計測したRTTを補正するRTT補正部5-7、RTTを元に送信帯域を決定する送信帯域決定部5-5で構成される。第1の実施形態における輻輳制御部1-4と比較して、送信帯域計測部1-8がない構成であり、その他は同様である。
(動作の説明)
図9及び図10を参照して、本実施形態の動作について説明する。図10は通信端末5の動作を示すフローチャートである。以下では、本実施形態における補正RTTの導出について記述し、その他の動作については第1の実施形態と同様なので説明を省略する。
本実施形態では、送信帯域を計測せず、受信帯域のみを用いてRTTの補正を行う。RTT補正部5-7では、現在の受信帯域と、過去に計測した受信帯域を用い、その比率によってRTTの補正を行う(ステップS54)。例えば、以下の式のように求めればよい。
補正RTT = max(計測RTT × (過去に計測した受信帯域/現在の受信帯域), RTTmin)
[実施形態6]
本発明の第6の実施形態について図面を参照して説明する。
(構成の説明)
図11は本実施形態によるシステムの構成を示すブロック図である。本システムは、送信端末となる通信端末6-1、受信端末となる通信端末6-2、ネットワーク6-3で構成される。通信端末6-1の構成は、第1の実施形態における通信端末1と同様であるため、ここでは説明を書略する。なお、第2〜第5に示した通信端末のいずれかを用いることもできる。通信端末6-2は、受信パケットから通信データを再構成するデータ再構成部6-5、再構成されたデータを受信し処理するデータ受信部6-4、ACKパケットを生成して通信端末6-1に返送するACK生成部6-6、で構成される。
(動作の説明)
図11を参照して、本実施形態の動作について説明する。
送信端末5-1から送信されたパケットは、ネットワーク5-3を介して、受信端末5-3に到着する。
データ再構成部6-5は、受信したパケットからデータを取り出し、元のデータを再構成し、データ受信部6-4へと送る。データ受信部6-4は、受け取ったデータを様々な受信アプリケーションによって処理する。
データ再構成部6-5は、受信完了したデータの番号をACK生成部6-6に通知する。そして、ACK生成部6-6は前記番号に基づいてACKパケットを生成し、通信端末6-1へと送信する。ACKパケットによって通知されるデータの番号は、通信端末6-2によって受信確認されたデータの番号であり、この番号およびこの番号以前のデータは通信端末6-2で確かに受信されたこととなる。従って、通信端末6-1がACKパケットを受信すると、このパケットに書かれている番号までのデータを再送することはないため、これらのデータは通信端末6-1側で破棄してもよい。送信経路上でパケット廃棄が発生すると、通信端末6-2は同じデータの番号を複数のACKに対して書き込むことで、この番号以降のデータを受信していないことを通信端末6-1に通知し、再送を促す。また、別の方法として、通信端末6-2側から通信端末6-1側に対して明示的にパケット廃棄があったことを示すNACK (Negative ACK)を送信しても良い。
以上説明した各実施形態の通信端末は、専用IC等を用いたハードウエアで構成できるが、コンピュータを用いたソフトウエアで実現することができる。すなわち、例えば、図12に示すようなコンピュータで図1、図3、図5、図7、図9のいずれかの通信端末を構成し、図2、図4、図6、図8、図10のいずれかのフローを記述したプログラムにより通信端末の機能を実現することができる。図2、図4、図6、図8、図10のいずれかのフローを記述したプログラムをハードディスク装置等のディスク装置103やROM等の記憶装置(ここではディスク装置を示している)に記憶し、CPU105により通信端末の機能を実現するプログラムが実行される。入力部102はキーボード等の入力デバイスとなる。送受信部101はパケット送信部とパケット受信部に対応するものである。LCD(液晶表示装置)107は情報処理状況や判定結果を表示するものである。104はデータバス等のバス、106はCPU105の情報処理に必要な情報を記憶するDRAM等のメモリを示す。
本発明は、通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラムに関し、特に、広帯域回線を使用して低遅延の通信を行う通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラムに適用できる。
本発明の第1の実施形態による端末の構成を示すブロック図である。 第1の実施形態による通信端末の動作を示すフローチャートである。 本発明の第2の実施形態による端末の構成を示すブロック図である。 第2の実施形態による通信端末の動作を示すフローチャートである。 本発明の第3の実施形態による端末の構成を示すブロック図である。 第3の実施形態による通信端末の動作を示すフローチャートである。 本発明の第4の実施形態による端末の構成を示すブロック図である。 第4の実施形態による通信端末の動作を示すフローチャートである。 本発明の第5の実施形態による端末の構成を示すブロック図である。 第6の実施形態による通信端末の動作を示すフローチャートである。 本発明の一実施形態によるシステムの構成を示すブロック図である。 コンピュータの構成の一例を示すブロック図である。
符号の説明
1-1, 2-1,3-1,4-1,5-1 データ発生部
1-2, 2-2,3-2,4-2,5-2 パケット送信部
1-3, 2-3,3-3,4-3,5-3 パケット受信部
1-4,2-4,3-4,4-4,5-4 輻輳制御部
1-5,2-5,3-5,4-5,5-5 送信帯域決定部
1-6,2-6,3-6,5-6 RTT(Round Trip Time)計測部
1-7,2-7,3-7,5-7 RTT補正部
4-7 RTT推定部
1-8,3-8 送信帯域計測部
2-8,4-8 送信中データ量計測部
1-9,2-9,3-9,4-9,5-9 受信帯域計測部
3-10 送信帯域増加幅変更部
6-1,6-2 通信端末
6-3 ネットワーク
6-4 データ受信部
6-5 データ再構成部
6-6 ACK送信部

Claims (9)

  1. ネットワークを介し複数の通信端末間で通信セッションを設定してデータの送受信を行う通信システムに用いる通信端末であって、
    受信したデータに基づいて、送受信を行う前記通信端末間の往復遅延時間を計測する手段と、
    受信した前記データに基づいて前記複数の通信端末のうちの受信端末における受信帯域を計測する計測手段と、
    前記往復遅延時間の値を少なくとも前記受信帯域を用いて補正する補正手段と、
    前記補正手段により補正された往復遅延時間によって送信帯域を決定する決定手段と、
    送信中のデータ量を計測する手段とを有し、
    前記補正手段は、該送信中のデータ量を前記受信帯域で割った値を、前記往復遅延時間の補正した値として用いることを特徴とする通信端末。
  2. ネットワークを介し複数の通信端末間で通信セッションを設定してデータの送受信を行う通信システムに用いる端末であって、
    送信中のデータ量を計測する手段と、
    受信した前記データに基づいて前記複数の通信端末のうちの受信端末における受信帯域を計測する計測手段と、
    計測された前記送信中のデータ量を前記受信帯域で割った値を、往復遅延時間とする推定手段と、
    前記推定手段により推定された前記往復遅延時間によって送信帯域を決定する決定手段と、を有することを特徴とする通信端末。
  3. 請求項1又は2に記載の通信端末と、該通信端末とデータの送受信を行う他の通信端末とを有する通信システム。
  4. 請求項3に記載の通信システムにおいて、前記他の通信端末は、前記通信端末からのデータ送信に対して、応答確認パケットを送信し、前記通信端末は応答確認パケットに基づいて前記往復遅延時間を計測することを特徴とする通信システム。
  5. ネットワークを介し複数の通信端末間で通信セッションを設定してデータの送受信を行う通信システムの通信端末における輻輳制御方法であって、
    受信したデータに基づいて、送受信を行う前記通信端末間の往復遅延時間を計測するとともに前記複数の通信端末のうちの受信端末における受信帯域を計測する第1ステップと、
    前記往復遅延時間の値を少なくとも前記受信帯域を用いて補正する第2ステップと、
    前記第2ステップで補正された往復遅延時間によって送信帯域を決定する第3ステップと、
    送信中のデータ量を計測する第4ステップを有し、
    前記第2ステップでは、該送信中のデータ量を前記受信帯域で割った値を、前記往復遅延時間の補正した値として用いることを特徴とする輻輳制御方法。
  6. 請求項5に記載の輻輳制御方法において、
    前記第2ステップでは、補正後の前記往復遅延時間の値と、計測した前記往復遅延時間の値とのうち、より大きい方の値を、前記補正された往復遅延時間とすることを特徴とする輻輳制御方法。
  7. 請求項5に記載の輻輳制御方法において、
    前記第2ステップでは、補正後の前記往復遅延時間の値と、前記受信端末で応答確認パケットを受信する毎に計測した複数個の前記往復遅延時間の最小値とのうち、より大きい方の値を、前記補正された往復遅延時間として前記決定手段に出力することを特徴とする輻輳制御方法。
  8. ネットワークを介し複数の通信端末間で通信セッションを設定してデータの送受信を行う通信システムの通信端末における輻輳制御方法であって、
    送信中のデータ量を計測する第1ステップと、
    受信した前記データに基づいて前記複数の通信端末のうちの受信端末における受信帯域を計測する第2ステップと、
    計測された前記送信中のデータ量を前記受信帯域で割った値を、往復遅延時間とする第3ステップと、
    前記往復遅延時間によって送信帯域を決定する第4ステップと、を有することを特徴とする輻輳制御方法。
  9. ネットワークを介し複数の通信端末間で通信セッションを設定してデータの送受信を行う通信システムの通信端末としてのコンピュータに、請求項5から請求項8のいずれか1項に記載の輻輳制御方法の各ステップを実行させるためのプログラム。
JP2008325547A 2008-12-22 2008-12-22 通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラム Expired - Fee Related JP4915415B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008325547A JP4915415B2 (ja) 2008-12-22 2008-12-22 通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008325547A JP4915415B2 (ja) 2008-12-22 2008-12-22 通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007024525A Division JP4407700B2 (ja) 2007-02-02 2007-02-02 通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラム

Publications (2)

Publication Number Publication Date
JP2009077442A JP2009077442A (ja) 2009-04-09
JP4915415B2 true JP4915415B2 (ja) 2012-04-11

Family

ID=40611905

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008325547A Expired - Fee Related JP4915415B2 (ja) 2008-12-22 2008-12-22 通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラム

Country Status (1)

Country Link
JP (1) JP4915415B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015045080A1 (ja) * 2013-09-26 2015-04-02 富士通株式会社 計測装置、通信装置、中継装置、計測方法および計測プログラム
JP6082413B2 (ja) * 2015-02-26 2017-02-15 アンリツ株式会社 利用帯域決定装置及び方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000216811A (ja) * 1999-01-22 2000-08-04 Chokosoku Network Computer Gijutsu Kenkyusho:Kk フロ―制御方法
JP3768902B2 (ja) * 2002-03-01 2006-04-19 日本電信電話株式会社 帯域割当回路
JP4061643B2 (ja) * 2002-12-11 2008-03-19 ソニー株式会社 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム

Also Published As

Publication number Publication date
JP2009077442A (ja) 2009-04-09

Similar Documents

Publication Publication Date Title
JP4407700B2 (ja) 通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラム
US9961010B2 (en) Communications scheduler
Dukkipati et al. Processor sharing flows in the internet
US9112799B2 (en) Network packet loss processing method and apparatus
JP4147534B2 (ja) 通信装置および通信方法
JP4367505B2 (ja) 通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラム
JP5146725B2 (ja) 通信装置および通信方法
US20050220097A1 (en) Expedited data transmission in packet based network
JP2006014329A (ja) 通信端末
JP2004538719A (ja) 非線形高スケーラブル増加−減少輻輳制御機構を提供する方法
US9674101B2 (en) Communication device, transmission data output control method, and program for same
CN106789702B (zh) 控制tcp传输性能的方法及装置
CN112118191A (zh) 多路径传输拥塞控制方法、装置、控制设备及存储介质
JP4831366B2 (ja) 通信システム、通信端末、中継ノード及びそれに用いる通信方法並びにそのプログラム
US8279756B2 (en) Communication terminal, communication control method, and communication control program
CN113242183A (zh) 一种数据流发送控制方法、装置、智能终端及存储介质
US11588736B2 (en) Communication apparatus, communication method, and program
JP4435817B2 (ja) 通信端末、通信制御方法および通信制御プログラム
EP1730903A2 (en) Expedited data transmission in packet based network
JP4915415B2 (ja) 通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラム
JP2007097144A (ja) 通信システム、通信端末、中継ノード及びそれに用いる通信方法並びにそのプログラム
JP3853784B2 (ja) データ通信管理方法
WO2023119511A1 (ja) 通信装置、通信システム、及び通信方法
JPH11177618A (ja) 輻輳制御方法
JPH1168845A (ja) データ転送システム及び送信レート制御方法

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100720

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100720

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101015

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110307

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110506

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111227

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120109

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4915415

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees