JP5652388B2 - 通信レート制御方法、送信装置および通信システム - Google Patents

通信レート制御方法、送信装置および通信システム Download PDF

Info

Publication number
JP5652388B2
JP5652388B2 JP2011502614A JP2011502614A JP5652388B2 JP 5652388 B2 JP5652388 B2 JP 5652388B2 JP 2011502614 A JP2011502614 A JP 2011502614A JP 2011502614 A JP2011502614 A JP 2011502614A JP 5652388 B2 JP5652388 B2 JP 5652388B2
Authority
JP
Japan
Prior art keywords
communication
data
error
congestion
packet
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.)
Active
Application number
JP2011502614A
Other languages
English (en)
Other versions
JPWO2010100837A1 (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 JP2011502614A priority Critical patent/JP5652388B2/ja
Publication of JPWO2010100837A1 publication Critical patent/JPWO2010100837A1/ja
Application granted granted Critical
Publication of JP5652388B2 publication Critical patent/JP5652388B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/72Admission control; Resource allocation using reservation actions during connection setup
    • H04L47/724Admission control; Resource allocation using reservation actions during connection setup at intermediate nodes, e.g. resource reservation protocol [RSVP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/18End to end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、通信時の通信レートを決定する通信レート制御方法、送信装置および通信システムに関する。
インターネットで用いられるTCP/IP(Transport Control Protocol/Internet Protocol )通信では、それぞれの送信装置が、回線速度や回線の輻輳状況に応じて通信レートを決定しつつ通信を行う。最も一般的に利用されているTCPであるTCP Renoでは、送信側は、通信を開始すると徐々に通信レートを上げ、パケットが消失(ロス)するまで通信レートを上げる。
一般に、送信側は、パケットの往復時間に比例して通信レートを増加させ、パケットが送信側と受信側とを一往復する度に1パケット分だけ通信レートを増加させる。ネットワーク内でパケットがロスした場合には、送信側は、受信側からの確認応答(ACKパケット)を観察することによって、パケットのロスを知ることができる。送信側は、パケットがロスした場合には、通信レートを半分にするように制御する。
TCPを利用した通信で高い通信レートを実現するために、RTT(Round Trip Time )に対して十分に長い時間、パケットロスが発生しないことが要求される。例えば、100msのRTTがある回線において、TCPを利用した通信で10Gbpsまでスループットを上げるには、約2時間パケットロスが生じないことが条件になる。しかし、現実には、そのように低いパケットロスを実現することができないことが多い。
パケットロスが発生するような場合においてもTCPを利用した通信で高いスループットを発揮させるために、TCPを改良したり、ネットワークを改良したりする努力が続けられている。
改良されたTCPであるTCP Westwood では、パケットロスが発生したときにネットワークの往復遅延(RTT)が通常の往復遅延よりも増加していたか否か判定し、RTTが増加していない場合には、リンクにおける通信エラーが発生したと捉えて通信レートを低下させない(例えば、非特許文献1参照)。
しかし、高速な回線ではネットワーク装置におけるバッファが満杯になるまでの時間が短いので、RTTの変化も高速になる。RTTが高速に変化するので、RTTの増加を検出することが困難になる。また、長距離通信では、多くのネットワーク装置を経由するので、RTTは常に変動している。よって、ボトルネックになる箇所における遅延の増加を正しく検出することができない。このように、改良されたTCPを用いても、高い性能を発揮することができない。
また、特許文献1では、TCPの通信レート制御方法は実施されていないものの、ネットワークの状態を正確に把握するために、無線区間を挟むようにゲートウェイ装置を配置し、無線区間で発生した通信エラーを計測し、計測された通信エラーをもとに前方誤り訂正符号(FEC)の誤り耐性強度を設定する方法が提案されている。その方法を利用すると、無線区間でのビットエラーが原因になるパケットロスを隠蔽することができる。しかし、上記の高速な長距離通信におけるパケットロスの課題を解決することはできない。
特許文献2では、無線リンクにおけるエラー率が増加した場合に、パケットがロスすることを防ぐための装置が提案されている。その装置では、無線リンクにおけるエラーを監視し、エラーが増加した場合には、端末間のTCP通信を停止させる。TCP通信を停止させるために、TCPの確認応答に記載された広告ウィンドウ(受信端末が受信可能なデータサイズを示す。)を0に変えてパケットを送信する。しかし、その方法では、無線リンクのエラー率が増加している間はパケットを送信することができない。また、端末間でやり取りされている広告ウィンドウにおいて、一度広告された値を減らすことができない。すると、通信を急に完全停止することはできない。その結果、結局パケットがロスしてしまう課題がある。
特開2003−152752号公報 特許第3797538号公報
S. Mascolo, C. Casetti, M. Gerla, S. S. Lee, and M. Sanadidi, "TCP Westwood :congestion control with faster recovery ",UCLA CSD Technical Report #200017,2000年
上記のように、高速な長距離回線を利用した場合に、TCPやSCTP(Stream Control Transmission Protocol)等の通信レート制御を含む端末間通信プロトコルの通信性能が発揮されないという課題がある。具体的には、パケットロスまたは遅延が増大した原因がわからないために、TCPを利用した通信の通信レートを適切に設定できない。また、高速通信では、パケットロスの予兆を端末で検出することができないので、TCPの通信レートを適切に設定できず、パケットがロスしてしまう。さらに、TCP通信ではRTTが大きい場合に適切な通信レートに設定することに長い時間を要する。
そこで、本発明は、データ消失の発生を判定し、かつ、ネットワークにおける通信機器から通信エラーの情報を収集し、判定結果および収集結果を参照して輻輳以外の原因によるデータ消失を把握することによって、データ消失の原因および遅延が増大した原因を適切に把握して、輻輳状況に適応した通信レート制御を行うことができる通信レート制御方法、送信装置および通信システムを提供することを目的とする。
本発明による通信レート制御方法は、通信ネットワークを介して受信装置にデータを送信する送信装置が通信レートを制御する通信レート制御方法であって、通信ネットワークにおける輻輳に起因してデータの消失が生ずることを、通信ネットワークの一の区間における中継装置のデータバッファの利用率にもとづいて検知し、通信ネットワークにおけるデータエラーに起因してデータの消失が生じたことを検知し、一の区間よりも受信装置の側の区間である他の区間におけるデータエラーの発生状況を検知し、輻輳に起因してデータの消失が生ずる場合とデータエラーに起因してデータの消失が生じた場合とで、別系統の通信レート制御を適用し、データバッファの利用率に応じて通信レートを変化させ、データエラーの発生状況に応じて通信レートを制御し、中継装置から送信される通信を一時停止させるためのリンク層のポーズ信号またはバックプレッシャ信号を輻輳通知として使用して、輻輳に起因してデータの消失が生ずることを検知し、データエラーの発生状況を検知する際に、TCPの確認応答信号によってパケットロスを検知した場合にデータエラーが発生しているとみなすことを特徴とする。
本発明による送信装置は、通信ネットワークを介して受信装置にデータを送信する送信装置であって、通信レートを制御する通信レート制御手段と、通信ネットワークにおける輻輳に起因してデータの消失が生ずることを、通信ネットワークの一の区間における中継装置のデータバッファの利用率にもとづいて検知する第1の通信エラー検知手段と、通信ネットワークにおけるデータエラーに起因してデータの消失が生じたことを検知するとともに、一の区間よりも受信装置の側の区間である他の区間におけるデータエラーの発生状況を検知する第2の通信エラー検知手段とを備え、通信レート制御手段が、データの消失が生ずることを第1の通信エラー検知手段が検知した場合と、データエラーに起因してデータの消失が生じたことを第2の通信エラー検知手段が場合とで、独立して通信レートを制御し、データバッファの利用率に応じて通信レートを変化させ、データエラーの発生状況に応じて通信レートを制御し、第1の通信エラー検知手段は、通信を一時停止させるためのリンク層のポーズ信号またはバックプレッシャ信号を輻輳通知として使用して、輻輳に起因してデータの消失が生ずることを検知し、第2の通信エラー検知手段は、データエラーの発生状況を検知する際に、TCPの確認応答信号によってパケットロスを検知した場合にデータエラーが発生しているとみなすことを特徴とする。
本発明による通信システムは、データを中継する中継装置および通信ネットワークを介して送信装置が受信装置にデータを送信する通信システムであって、中継装置が、送信装置と伝送路との間に設けられ、データバッファの利用率にもとづいて通信ネットワークにおける輻輳に起因してデータの消失が生ずることを検出した場合に、送信装置にその旨を通知し、送信装置が、通信レートを制御する通信レート制御手段と、通信ネットワークにおける輻輳に起因してデータの消失が生ずることを中継装置からの通知によって検知する第1の通信エラー検知手段と、通信ネットワークにおけるデータエラーに起因してデータの消失が生じたことを検知するとともに、中継装置よりも受信装置の側の区間である他の区間におけるデータエラーの発生状況を検知する第2の通信エラー検知手段とを含み、通信レート制御手段が、データの消失が生ずることを第1の通信エラー検知手段が検知した場合と、データエラーに起因してデータの消失が生じたことを第2の通信エラー検知手段が場合とで、独立して通信レートを制御し、データバッファの利用率に応じて通信レートを変化させ、データエラーの発生状況に応じて通信レートを制御し、第1の通信エラー検知手段は、通信を一時停止させるためのリンク層のポーズ信号またはバックプレッシャ信号を輻輳通知として使用して、輻輳に起因してデータの消失が生ずることを検知し、第2の通信エラー検知手段は、データエラーの発生状況を検知する際に、TCPの確認応答信号によってパケットロスを検知した場合にデータエラーが発生しているとみなすことを特徴とする。
本発明によれば、データ消失の原因および遅延が増大した原因を適切に把握して、輻輳状況に適応した通信レート制御を行うことができる。
本発明による通信システムの第1の実施形態を示すブロック図である。 送信端末の構成例を示すブロック図である。 TCP処理部の動作を示すフローチャートである。 TCP処理部のACK受信時の動作を示すフローチャートである。 スイッチの構成例を示すブロック図である。 回線終端装置の構成例を示すブロック図である。 本発明による通信システムの第2の実施形態を示すブロック図である。 第2の実施の形態におけるTCP処理部のACK受信時の動作を示すフローチャートである。 本発明の主要部を示すブロック図である。
実施形態1.
図1は、本発明による通信システムの第1の実施形態を示すブロック図である。
本実施形態では、通信プロトコルとして、通信レート制御を含む端末間プロトコルにおいて最も一般的に利用されるTCPを例にして説明を行う。TCP等では、通信レートを制御するために、輻輳ウィンドウと呼ばれる値を用いる。輻輳ウィンドウとは、送信端末がネットワーク(通信ネットワーク)中に一度に送信できるパケット数である。送信端末は、受信端末から確認応答(ACK)が返信されたパケット番号から、そのパケット番号に輻輳ウィンドウ分を加算したパケット番号までのパケットを送信できる。つまり、輻輳ウィンドウとは、パケットが送信端末と受信端末との間のネットワークを往復する時間(RTT)毎に、送信端末がネットワークに送信するパケット数である。従って、端末間の通信レートは、(輻輳ウィンドウ/RTT)になる。なお、本実施形態では通信レートを主に輻輳ウィンドウを用いて表現するが、通信レートを他の方法(例えば、bps)で表現する場合にも、本実施形態を適用することができる。
図1に示された通信システムにおいて、送信装置としての送信端末11が受信端末21にTCPを利用してデータを送信する場合を想定する。送信端末11は、受信端末21を宛先としたパケット群をスイッチ(第1のスイッチ)31に送信する。パケットは、スイッチ31、回線終端装置(第1の回線終端装置)41、回線終端装置(第2の回線終端装置)42、スイッチ(第2のスイッチ)32の順に転送され、受信端末21がパケット群を受信する。また、同時に、送信端末12は、受信端末22にパケット群を送信しているとする
送信端末11からのパケット群と送信端末12からのパケット群とはスイッチ31を介して1つの回線に合流するので、スイッチ31において、送信端末11からのパケット群および送信端末12からのパケット群による2つのトラヒックが輻輳してパケットがロスする可能性がある。また、回線終端装置41と回線終端装置42との間の通信ネットワークでは、伝送中に信号劣化などの原因でビットエラーが発生し、パケットがロスする可能性がある。
本実施形態では、スイッチ31は、送信端末11からパケットを受信した際に、この後もパケットを受信すると輻輳によってパケットがロスしてしまうと判定した場合には、輻輳通知を送信端末11に向けて送信する。実際にパケットがロスしてしまった場合には、パケットのシリアル番号を輻輳通知に含めるように構成してもよい。具体的には、例えば、スイッチ31が通信回線を介してパケットを受信した際に、スイッチ31内のバッファが満杯でパケットを記憶できない場合に、パケットヘッダを参照して、パケットの送信元に輻輳通知を送信する。
また、バッファが満杯で記憶できないことに代えて、バッファの利用率が設定値(例えば、90%)を越えた場合に、前もって輻輳通知を送信するように構成してもよい。また、例えば、バッファが増減する変動速度を通信履歴から推定し、バッファの利用率が上昇した場合に、所定時間後にバッファが満杯になる可能性があると判定したときには、輻輳通知を送信するように構成してもよい。
例えば、バッファの容量がQMbyte(Mバイト)である場合を考える。通信履歴から、1秒(単位時間)あたりのバッファの平均増加速度がQ/10であったとする。平均増加速度を計算するには、例えば、単位時間においてバッファの利用率がもっとも低かった量Hと最も大きかった量Sを比較した値(例えば、H−S)を利用する。一例として、平均増加速度がQ/10であった場合に、バッファの空き容量が(9Q/10)になったら、輻輳通知を送信することが考えられる。なお、例えば、スイッチ31から送信端末11まで輻輳通知が到達するまでの時間Tにもとづいて、平均増加速度を計算するために用いる単位時間を決定することができる。
送信端末11は、スイッチ31から輻輳通知を受信すると、輻輳が発生したとして、TCPの通信レートを調整する。例えば、通信レートを、2/3等のあらかじめ設定された割合で低下させる。このような制御によって、パケットロスを未然に防止することができる。
上記の説明では、スイッチ31が送信端末11からパケットを受信する際の輻輳を例にしたが、スイッチ31が送信端末12からパケットを受信する際の輻輳についても同様に制御される。
なお、既知のTCP通信技術として、ルータでの輻輳を示すフラグをパケット内に記すECN(Explicit Congestion Notification)技術があるが、ECNでは、パケット内にECNフラグを立てるのみである。ECNフラグによって送信端末が輻輳を知ることができる時点は、受信端末が、受信したパケット内に記されたECNフラグを認識した後、送信端末にパケットを送信し、そのパケットが送信端末に到着したときである。従って、送信端末がECNフラグを受信するまでにパケットが往復する時間が必要になる。すると、送信端末が輻輳を検出する前に、輻輳によってパケットがロスしてしまう可能性がある。また、輻輳の予兆が検出できた場合にはECNを利用できるが、ビットエラーによってパケットがロスした場合には利用することはできない。
また、本実施形態において、スイッチからの輻輳通知に代えて、リンクプロトコルで定義されているポーズシグナル機能(または、バックプレッシャ機能等)を利用して、送信端末が輻輳の発生を認識することもできる。ポーズシグナル機能は、ある通信回線の先に存在するスイッチにおいて輻輳が発生する場合に、その通信回線にパケットを送信する送信者(スイッチや端末)にパケットの送信を一時停止させるための信号(ポーズ信号やバックプレッシャ信号)を送信する機能である。ただし、ポーズシグナル機能はリンクレイヤのプロトコルであるから、一般的な送信端末におけるTCP処理部は、ポーズ信号を観察することはできない。そこで、ポーズシグナル機能を利用して輻輳の発生を認識する場合には、本実施形態における送信端末を、ポーズ信号を受信し、端末内でポーズ信号を輻輳通知に変えるように構成する。また、送信端末におけるTCP処理部が、ポーズ信号を直接観察することに代えて、IP層の送信キューを観察し、IP層の送信キューが増加した場合に輻輳が発生したと判定することもできる。
回線終端装置42は、回線終端装置41を介して送信端末11からのパケットを受信する。そして、パケットにビットエラーが含まれていて、そのパケットを廃棄することになった場合には、送信端末11と回線終端装置41とにビットエラー通知を送信する。送信端末11に送信されるビットエラー通知には、廃棄されたパケットのシリアル番号等が格納されている。送信端末11は、いずれのパケットがロスしたのかを知ることができる。送信端末11は、回線終端装置42からビットエラー通知を受信した場合には、パケットの通信レートを下げない。
送信端末11は、回線終端装置42からのビットエラー通知を受信した場合に、直ちに、廃棄されたパケットの再送を行う。すなわち、ネットワークの輻輳の状況に関係なく、パケットの再送を行う。また、受信端末21からパケットロスを示すパケットが到着した場合にも、輻輳によるパケットロスではないと判定してパケットの通信レートを下げない。
なお、送信端末11は、ビットエラー通知や輻輳通知を受け取らない場合にも、一般的なTCPによる通信レート制御よりも、迅速に通信レートを増加させることができる。例えば、TCP Renoでは、パケットロスが発生した後、RTT毎に1パケット分通信レートを増加させるのに対して、本実施形態では、α倍の速度で通信レートを増加させたり、RTT毎、(RTT/2)などRTTにもとづく時間毎、または設定時間毎に通信レートを倍増させる。また、RTTによらず、設定時間Kが経過したときに所望の通信レートRに到達するよう、(R/K)の割合で通信レートを増加させるように構成してもよい。
また、送信端末11は、ビットエラー通知や輻輳通知を受け取らない場合に、一般的なTCP(例えば、TCP Reno)による通信レート制御と比較して、パケットロスがあったときにも通信レートを低下させにくくするように構成してもよい。例えば、一般的なTCPでは、パケットロスが発生する度に通信レートを半減させるように輻輳ウィンドウを半減させる。しかし、本実施形態において、通信レートを安定させるためにう、通信レートを例えばパケットロス時の80%にするなど、設定された割合で低下させるように構成してもよい。また、例えば、パケットロスが発生せず、安定して通信できた履歴を保管し、その履歴を参照して、通信レートを決定するように構成してもよい。
また、回線終端装置41,42、スイッチ31,32が、送信端末11からのパケットを受信した際に、パケットの転送方向のリンクの利用可能な回線容量等を送信端末11に通知するように構成してもよい。例えば、スイッチ31,32で利用可能な帯域の最大値は回線容量であるが、期待されるスループットは、回線容量をTCPコネクションで分け合った値になる。また、例えば、回線終端装置41,42において利用可能な最大帯域幅は、エラー訂正符号を付加することのオーバヘッドを回線容量から差し引いた値になる。ただし、回線終端装置41,42間でエラー訂正符号が利用されない場合には、実際に利用可能な帯域(実効帯域)は回線におけるエラー率ρとすると(1−ρ)を回線容量Bにかけた値(B(1−ρ))になる。この場合には、利用可能な回線容量等を送信端末11に通知することによって、間接的に、エラー率ρが送信端末11に通知される。
また、送信端末11は、TCPの通信レートを実効帯域に合わせるようにしてもよい。すなわち、通信レートを、エラー率にもとづいて算出された通信レートの最大値に適合させるようにしてもよい。例えば、TCPの輻輳ウィンドウを(B(1−ρ)/RTT)にする。また、例えば、実効帯域を複数のTCPコネクションで分け合うようにしてもよい。すなわち、TCPの通信レートがそれぞれ(B(1−ρ)/C)になるように、輻輳ウィンドウを制御するようにしてもよい。CはTCPコネクション数を示す。この場合、各TCPコネクションの輻輳ウィンドウは、(B(1−ρ)/(C・RTT))になる。よって、送信端末11は、データエラーの発生状況に応じて通信レートを変化させることになる。
なお、上記の説明では、送信端末11がパケットを送信する場合を例にしたが、送信端末12がパケットを送信する場合も同様に制御される。
以上に説明したように、本実施形態における送信端末11,12は、ネットワークにおける輻輳の発生を迅速に察知すること、および、ビットエラーによるパケットロスの発生を把握することができるので、高い通信性能を発揮することができる。
次に、送信端末11,12の具体的な構成例を説明する。図2は、送信端末11の構成例を示すブロック図である。なお、送信端末12の構成も、送信端末11の構成と同じである。
図2に示すように、送信端末11は、送信されるデータを格納するデータ記憶部111と、データ記憶部111からデータを取り出してTCP処理部113に出力するアプリケーション112と、アプリケーション112から入力したデータをセグメント化し、輻輳通知とエラー通知も参照して通信レートを制御しつつIP処理部114に出力するTCP処理部113と、TCP処理部113からパケットを入力して、入出力処理部115に出力するIP処理部114と、IP処理部114から受け取ったパケットを通信回線に送出する入出力処理部115と、IP処理部がパケットを一時保管するパケット記憶部116とを含む。
TCP処理部113は、アプリケーション112から受け取ったデータをセグメント化し、輻輳ウィンドウを参照しつつデータの送信を決定し、セグメントをパケット化してIP処理部114に渡すデータ送信部1132と、データ送信部1132がセグメントの処理時に用いる輻輳ウィンドウ等の情報を格納するためのセグメント記憶部1133と、スイッチ31から受信した輻輳通知を輻輳ウィンドウ決定部1131に通知する輻輳通知受信部1134と、回線終端装置42から受信したエラー通知を輻輳ウィンドウ決定部1131に通知するエラー通知受信部1135とを含む。
次に、図3および図4のフローチャートを参照してTCP処理部113の動作を説明する。
TCP処理部113は、アプリケーション112からデータを入力した場合、およびIP処理部114からACKパケットを入力した場合に処理を開始する。なお、送信を待つセグメントがある限りタイマがセットされ、タイマが起動する度に、アプリケーション112からデータを入力した場合と同様に送信処理が行われる。
図3に示すように、TCP処理部113がアプリケーション112からデータを入力した場合には(ステップS301)、TCP送信部113におけるデータ送信部1132は、データを設定されたサイズごとに分割してセグメントとし、セグメントにシリアル番号をつけた後、セグメント記憶部1133にセグメントを格納する(ステップS302)。
次いで、輻輳ウィンドウ決定部1131は、前回輻輳通知を受け取った時刻と現在時刻とを比較し、設定時間以内に(現在時刻から設定時間を越えない過去に)輻輳通知を受信していた場合には、ステップS304に移行する。設定時間以内に受信していなかった場合にはステップS305に移行する。
ステップS304では、輻輳ウィンドウ決定部1131は、輻輳ウィンドウを減らす(「Cwnd=Cwnd÷A」にする。)。本実施形態では、Aを2にする。ただし、A<2にしたり、任意の計算式によって決定してもよい。そして、ステップS305に移行する。
ステップS305では、輻輳ウィンドウ決定部1131は、輻輳ウィンドウ(Cwnd)、送信済みシリアル番号(UnAcked )および受信確認済みシリアル番号(Acked )を参照し、送信済みで受信確認されていないパケット数が輻輳ウィンドウよりも大きい場合(Cwnd>UnAcked −Acked の場合)には、パケットを送信することができる判定し、ステップS306に移行する。そうでない場合(Cwnd≦UnAcked −Acked の場合)には、処理を終了する。
ステップS306では、データ送信部1132は、セグメント記憶部1133から次に送信するべき番号(UnAcked +1からCwndまで)のセグメントを取り出し、パケットを作成して、作成したパケットをIP処理部114に出力する。そして、処理を終了する。ただし、IP処理部114からパケット記憶部116が満杯のために受け取れないとのエラー通知が返送された場合には、パケットの出力を一時停止し、その後、再度パケットの出力を試みる。
図4に示すように、TCP処理部113がIP処理部114からTCPのACKパケットを入力した場合には(ステップS401)、データ送信部1132は、パケットロスが発生したか否か判定し、パケットロスがあったと判定した場合には、ロスしたパケット番号(Lost)を記憶する。そして、データ送信部1132は、ロスしたパケットを受信端末に向けて再送する。その後、ステップS403に移行する。パケットロスがなかったと判定した場合には、ステップS404に移行する。なお、パケットロスの有無を判定する方法として、SACKオプションを用いる方法や、同じ番号のACKパケットを連続して受信したことを検出する方法等がある。
ステップS403では、輻輳ウィンドウ決定部1131は、ロスしたパケット番号(Lost)が、エラー通知を受信しているパケット番号集合(Errored )に含まれているか否か調べる。ロスしたパケット番号(Lost)がパケット番号集合に含まれている場合には、パケットは、輻輳以外の原因でロスしたと判定し、ステップS404に移行する。
ステップS404では、輻輳ウィンドウ決定部1131は、輻輳ウィンドウを増加させる。例えば、(Cwnd=Cwnd+1/RTT)とする。ただし、Cwnd=Cwnd+β(βは任意の設定値)としてもよい。そして、ステップS406に移行する。
ロスしたパケット番号(Lost)がパケット番号集合に含まれていない場合には、輻輳ウィンドウ決定部1131は、輻輳ウィンドウを減少させる(ステップS405)。例えば、(Cnwd=Cwnd/2)とする。そして、ステップS406に移行する。
ステップS406では、輻輳ウィンドウ決定部1131は、前回輻輳通知を受け取った時刻と現在時刻とを比較し、設定時間以内に(現在時刻から設定時間を越えない過去に)輻輳通知を受信していた場合には、ネットワーク内で輻輳が発生していると判定しステップS407に移行する。設定時間以内に受信していなかった場合にはステップS408に移行する。
ステップS407では、輻輳ウィンドウ決定部1131は、輻輳ウィンドウを減少させる。例えば、(Cwnd=Cwnd−1)とする。そして、ステップS408に移行する。
ステップS408では、データ送信部1132は、輻輳ウィンドウを参照し、パケットを受信端末にさらに送信できるか否か判定する。例えば、Cwnd>Unacked であれば、(Cwnd−Unacked )だけパケットを送信できるとする。受信端末にパケットをさらに送信できると判定した場合には、ステップS409に移行する。パケットを送信できないと判定した場合には、処理を終了する。
ステップS409では、データ送信部1132は、セグメント記憶部1133からセグメントを取り出し、パケットを作成して、IP処理部114にパケットを出力する。そして、処理を終了する。ただし、IP処理部114からパケット記憶部116が満杯のために受け取れないとのエラー通知が返送された場合には、データ送信部1132は、パケットの出力を一時停止し、その後、再度パケットの出力を試みる。
なお、上記の例以外にもTCPには各種オプションなどがある。また、本実施形態の通信レート制御方法は、TCPのようなウィンドウ制御を利用するプロトコルに適用できるが、さらに、端末間で通信レートを適応させる一般的な通信にも適用可能である。
本実施形態では、受信端末は、一般的なTCPによる受信動作を実現できる端末であればよい。受信端末は、送信端末からのセグメントを受信すると、確認応答であるACKパケットを送信端末に返送する。パケットがロスした場合には、重複ACKまたはSACKで送信端末にパケットがロスしたことを通知する。
図5は、図1に示されたスイッチ31の構成例を示すブロック図である。図5に示す例では、入出力処理部311は、送信端末11からのパケットを受信する。入出力処理部312は、送信端末12からのパケットを受信する。入出力処理部313は、送信端末11,12へのパケットを送信する。なお、図5には、1つの入出力処理部313が代表して示されている。パケット転送部314は、入出力処理部311,312のそれぞれが受信したパケットをパケット記憶部316に格納し、パケットヘッダを参照して出力先になる入出力処理部313を決定し、入出力処理部313にパケットを出力する。ただし、パケット転送部314は、入出力処理部313がパケット送信中である場合は、所定の設定時間後に再度パケット出力を試みる。
また、パケット転送部314は、輻輳判定部315から輻輳通知を入力した場合に、入出力処理部311,312から新たにパケットを受信したときには、受信したパケットの送信元に輻輳通知を送信する。輻輳判定部315は、パケット記憶部316の利用率を監視し、パケット記憶部316が満杯、または満杯付近(例えば、90%)である場合、すなわち設定値以上である場合には、輻輳通知をパケット転送部314に出力し続ける。パケット記憶部316の利用率が設定値以下になった場合には、パケット転送部314への輻輳通知の出力を停止する。
図6は、図1に示された回線終端装置42の構成例を示すブロック図である。図6に示す例では、入出力処理部421,422は、回線終端装置41においてエラー訂正符号を付されたパケットを入力する。パケット転送部423は、受信したパケットをパケット記憶部424に格納する。パケット記憶部424に格納されたパケットは、エラー訂正符号処理部425によってデコードされ、軽度のビットエラーがあった場合には回復される。重度のビットエラーがあったパケットを一部しか復元できなかった場合には、エラー訂正符号処理部425は、そのパケットの一部をエラー判定部426に出力する。
エラー判定部426は、パケットの送信元アドレスとパケットのシリアル番号とを読み取れた場合には、送信元アドレスに、パケットのシリアル番号を格納したエラー通知を送信する。デコードが完了したパケットがパケット記憶部424にある場合には、パケット転送部423は、そのパケットを出力方向の入出力処理部に出力する。
なお、図1に示された回線終端装置41の構成は、図5に示された回線終端装置42の構成と同様であるが、回線終端装置41では、エラー訂正符号処理部は、入出力処理部で受信されたパケットにエラー訂正符号を付加する。
以上のような処理によって、通信回線における輻輳とビットエラーとを送信端末11,12が迅速に検知することができ、輻輳とビットエラーに対して通信レートを適切に対応させることが可能になる。
すなわち、本実施形態では、送信端末は、ネットワークの通信機器(上記の例では、スイッチ31)から輻輳状況を示す情報を発信させ、輻輳状況を示す情報を参照してパケットロスが発生したか否か判定する。また、ネットワークの通信機器(上記の例では、回線終端装置42)から通信エラーの情報を収集し、通信エラーの情報を参照して輻輳以外の原因によるパケットロスを把握する。よって、パケットロスが発生した原因と遅延が増大した原因とを正しく把握することができる。その結果、輻輳状況に適切に適応させた通信レート制御を行うことができる。
また、ネットワークの通信機器(上記の例では、スイッチ31)から輻輳の予兆を示す情報を発信させる場合には、送信端末は、輻輳の予兆を示す情報を参照してパケットロスが発生するか否か判定する。また、ネットワークの通信機器(上記の例では、回線終端装置42)から通信エラーの情報を収集し、通信エラーの情報を参照して輻輳以外の原因によるパケットロスを把握する。よって、パケットロスが発生する原因と遅延が増大した原因とを正しく把握することができる。その結果、輻輳状況に適切に適応させた通信レート制御を行うことができる。
また、ネットワークにおける通信エラーの状況もしくは輻輳状況、またはその両方を把握することによって、TCPのレートを迅速に上昇させることができる。
実施形態2.
図7は、本発明による通信システムの第2の実施形態を示すブロック図である。第2の実施形態では、第1の実施形態の通信システムに対して、スイッチ(第3のスイッチ)33、TCPプロキシ51,52およびスイッチ(第4のスイッチ)34が追加されている。そして、第2の実施形態では、通信レート制御方法が、送信装置としてのTCPプロキシ51とTCPプロキシ52と間のTCP通信で利用されることを想定する。
TCPプロキシは、送信端末から受信したデータを、新たなTCPコネクションを利用して転送する装置である。図7に示す例では、送信端末11とTCPプロキシ51との間でTCPコネクション#1を利用してデータが転送され、TCPコネクション#1を介してデータを受信したTCPプロキシ51は、本発明による通信レート制御方法を用いたTCPコネクション#2を利用してTCPプロキシ52にデータを転送する。TCPプロキシ52が受信したデータは、TCPコネクション#3を介して受信端末21に転送される。
第2の実施形態では、本発明による通信レート制御方法を用いた通信は、TCPプロキシ間で実現される。端末とTCPプロキシとの間の通信には、一般的なTCPが利用される。そのように構成する場合には、様々な端末が本発明による通信レート制御方法を通信路の一部に利用することができる。なお、スイッチと端末との間の通信経路として、インターネットなどの回線を用いてもよい。
例えば、第2の実施形態を、回線終端装置間の回線遅延が大きく、かつビットエラーが発生する可能性がある海洋通信に適用することが考えられる。そのような遅延が大きな回線では、TCP通信の性能が発揮されない現象が顕著である。本実施形態では、このような回線の両端にある回線終端装置の近く(例えば、スイッチを介したLAN内)にTCPプロキシ51,52を配置して利用することによって、以下のように、回線の利用効率を向上させることができる。ただし、以下の説明において、ビットエラーによるパケットロスが発生するのは、回線終端装置41,42の間の通信ネットワークのみであるとし、他の通信経路においてビットエラーによるパケットロスはないものとする。
図7に示す通信システムにおいて、スイッチ31とTCPプロキシ51と間の通信に、リンクレイヤのフローコントロールによるポーズ信号、またはバックプレッシャ信号を利用して、スイッチ31とTCPプロキシ51と間でのパケットロスを防止する。TCPプロキシ51のIP層の送信バッファにはパケットが溜まることになるが、本実施形態では、TCP処理部113は、IP層のバッファが満杯になった場合には、IP層のバッファに空きができるまでTCPの送信を一時停止する。同様に、回線終端装置41とスイッチ31の間の回線にもリンクレイヤのフローコントロールによるポーズ信号、またはバックプレッシャ信号を利用して、スイッチ31からのパケットロスを防止する。
また、TCPプロキシ51から回線終端装置41までを結ぶ全ての回線でリンクレイヤのフローコントロールが利用できない場合は、次のように、回線終端装置41,42間で利用可能な回線帯域を計算する。
すなわち、回線終端装置41,42間では、エラー訂正符号を付加することによって元のパケットに対してデータ量が増加するので、実際に回線終端装置41,42間で利用できる帯域は、増加したデータ量によるオーバーヘッドを除いた分になる。エラー訂正符号を用いる方法には、エラー率に応じて動的に符号の強度を変える方法がある。このため、利用可能な実効帯域は変動することになる。そこで、回線終端装置41が実効帯域をエラー通知に含め、TCPプロキシ51に通知する。TCPプロキシ51は、通知された実効帯域を最大の通信レートとして、通信レートを制御する。なお、実効帯域を、エラー通知とは別に通知してもよい。
以上のようにして、TCPプロキシ51は、回線終端装置41,42間で利用可能な実効帯域を越えて通信レートを上げることはなく、スイッチ33からスイッチ31への回線を利用しなければ回線終端装置41内のパケットバッファが溢れることもない。また、回線終端装置41内に、優先度付きキュー制御を導入し、TCPプロキシ51経由のパケットを高い優先度に設定して、パケットロスを起こさないようにしてもよい。
以上のような制御によって、TCPプロキシ51が送信したパケットが回線終端装置42までの間でロスすることがなくなる。
また、図7に示す構成を利用すると、回線終端装置42からスイッチ32への回線に対して、スイッチ32からTCPプロキシ52までの間の回線を高速または同じ速度の回線にすれば、同一方向の通信トラヒックが合流することもないので、輻輳が発生せず、パケットがロスしない。また、リンクレイヤのフローコントロールなどを利用することも可能である。ただし、回線終端装置41,42間ではリンクレイヤのフローコントロールを伝播させない。
以上のようにして、TCPプロキシ51からTCPプロキシ52までの通信におけるパケットロスの原因を回線終端装置41,42間のエラーのみに限定することができる。よって、TCPプロキシ52においてTCPレベルでパケットロスが検出された場合には、回線終端装置41,42間のエラーによるパケットロスであると特定することができる。
また、本実施形態において、図8に示すように、TCP送信側でのACK受信時の動作を、第1の実施形態の場合と変える。すなわち、図8に示すように、ステップS803において、パケットロスを検知した場合にビットエラーによるものとみなす。なお、ステップS807において、TCPプロキシが送信するトラヒックは優先度の高いものであると想定し、輻輳ウィンドウを減らさないようにしてもよい。その他の処理は、図4に示された処理と同じである。
以上のように、本実施形態では、パケットロスが発生する原因を回線終端装置41,42間のビットエラーに限定できるので、通信レートは、TCP通信を行うTCPプロキシ51から見て、回線終端装置41または回線終端装置41の手前に配置されたスイッチ31が送信するリンクレイヤのフローコントロールで制御される。
よって、TCPプロキシ51からのTCP送信処理では、輻輳の予兆を迅速に検知でき、迅速に通信レートを上昇させることができる。例えば、輻輳ウィンドウの初期値を十分大きく、例えば、一般に1〜4パケット分であるのに対して、1000パケット等に設定することも可能になり、高い通信性能を発揮できる。
また、例えば、TCPプロキシ51,52間でビットエラー通知で特定できないパケットロスが発生しない限り、送信端末11からTCPプロキシ51への通信レートと等しいレートで、TCPプロキシ51からTCPプロキシ52にデータを送信するよう通信レート制御することもできる。
輻輳通知を受けたときに通信を一時停止してしまうと、遅延がある回線を経由してTCPを利用する通信を行うと通信効率が著しく低下してしまう。現実的に、フローコントロールなどリンクレイヤの制御の利用は、遅延が十分に小さいネットワーク内に限られている。よって、遅延が大きい回線でTCP/IP通信等に利用することは困難である。しかし、第2の実施形態の構成では、送信端末からのデータを転送したTCPをTCPプロキシで一度終端し、異なるTCPコネクションを利用して他のTCPプロキシにデータを転送してTCPを終端し、再び新たなTCPコネクションを利用して受信端末にデータを転送する。
そのような構成によって、ビットエラーが発生する回線や、通信帯域が変動する回線など、TCP/IP通信において性能低下の原因になる回線を含む通信において、TCPの通信レートを制御するTCPプロキシから回線終端装置にネットワークで輻輳に起因するパケットロスをなくすことができる。さらに、回線終端装置を越えて受信側のTCPプロキシに至るネットワークで輻輳に起因するパケットロスをなくすことができる。その結果、TCPの通信レート制御について、回線終端装置間で生ずるエラーのみを考慮するだけでよい。よって、従来の通信システムに比べて、高い通信性能を発揮することができる。
図9は、本発明による通信レート制御方法が実施される通信システムの主要部を示すブロック図である。図9に示すように、通信システムは、中継装置3a,3bおよび通信ネットワーク4を介して送信装置1が受信装置2にデータを送信する通信システムであって、送信装置1が、通信レートを制御する通信レート制御手段5と、通信ネットワークにおける輻輳に起因してデータの消失が生ずることを検知する第1の通信エラー検知手段6と、通信ネットワークにおけるデータエラーに起因してデータの消失(例えば、パケットロス)が生じたことを検知する第2の通信エラー検知手段7とを含み、通信レート制御手段5が、データの消失が生ずることを第1の通信エラー検知手段6が検知した場合と、データエラーに起因してデータの消失が生じたことを第2の通信エラー検知手段7が場合とで、独立して通信レートを制御する。
また、上記の実施形態には、以下のような通信レート制御方法も開示されている。
(1)輻輳に起因してデータの消失が生ずることを検知するために、データを中継する中継装置(例えば、スイッチ31)におけるデータバッファ(例えば、パケット記憶部316)の利用率を使用する通信レート制御方法。
(2)データバッファの利用率に応じて通信レートを変化させ(例えば、パケット記憶部316が満杯、または満杯付近(例えば、90%)である場合に通信レートを低下させる)、データエラーの発生状況に応じて通信レートを変化させる(例えば、パケットロスの有無の判定結果に応じて通信レートを変える。)通信レート制御方法。
(3)データバッファの利用率に応じて通信レートを変化させ、データエラーの発生状況によらず通信レートを維持する(例えば、パケットロスの発生を検知しても通信レートを変更しない。)通信レート制御方法。
(4)データエラーに起因してデータの消失が生じたことを検知した場合に、直ちにデータを再送する通信レート制御方法。
(5)データエラーに起因してデータの消失が生じたことを検知した場合に、輻輳の程度に関わらずデータを再送する通信レート制御方法。
(6)輻輳に起因してデータの消失が生ずることを通信経路における一の区間(例えば、送信端末11とスイッチ31との間の通信リンク)におけるデータバッファの利用率にもとづいて検知し、他の区間(例えば、スイッチ31と回線終端装置42との間の通信リンク)におけるデータエラーの発生状況を検知する通信レート制御方法。
(7)輻輳に起因してデータの消失が生ずることを検知する際に、一の区間における中継装置(例えば、スイッチ31)から送信される輻輳通知を使用する通信レート制御方法。
(8)輻輳に起因してデータの消失が生ずることを検知する際に、一の区間における中継装置(例えば、スイッチ31)から送信される通信を一時停止させるためのポーズ信号またはバックプレッシャ信号を使用する通信レート制御方法。
(9)データエラーの発生状況を検知する際に、トランスポート層における確認応答信号(例えば、TCPまたはTCPに類するプロトコルにおけるACK)を使用する通信レート制御方法。
(10)データエラーの発生状況を検知する際に、通信経路に存在する伝送装置(例えば、回線終端装置42)から送信されるエラー通知を使用する通信レート制御方法。
(11)データエラーの発生状況を検知する際に、通信経路に存在する伝送装置(例えば、回線終端装置42)から送信されるエラー率の通知を使用する通信レート制御方法。
(12)通信レートを、エラー率にもとづいて算出された通信レートの最大値(例えば、実効帯域(B(1−ρ))に対応する通信レート)に適合させる通信レート制御方法。
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2009年3月6日に出願された日本特許出願2009−54004を基礎とする優先権を主張し、その開示の全てをここに取り込む。
1 送信装置
2 受信装置
3a,3b 中継装置
4 通信ネットワーク
5 通信レート制御手段
6 第1の通信エラー検知手段
7 第2の通信エラー検知手段
11,12 送信端末
21,22 受信端末
31,32,33,34 スイッチ
41,42 回線終端装置
51,52 TCPプロキシ
111 データ記憶部
112 アプリケーション
113 TCP処理部
114 IP処理部
115 入出力処理部
116 パケット記憶部
311〜313 入出力処理部
314 パケット転送部
315 輻輳判定部
316 パケット記憶部
421,422 入出力処理部
423 パケット転送部
424 パケット記憶部
425 エラー訂正符号処理部
426 エラー判定部
1131 輻輳ウィンドウ決定部
1132 データ送信部
1133 セグメント記憶部
1134 輻輳通知受信部
1135 エラー通知受信部

Claims (6)

  1. 通信ネットワークを介して受信装置にデータを送信する送信装置が通信レートを制御する通信レート制御方法であって、
    前記通信ネットワークにおける輻輳に起因してデータの消失が生ずることを、前記通信ネットワークの一の区間における中継装置のデータバッファの利用率にもとづいて検知し、
    前記通信ネットワークにおけるデータエラーに起因してデータの消失が生じたことを検知し、
    前記一の区間よりも前記受信装置の側の区間である他の区間におけるデータエラーの発生状況を検知し、
    輻輳に起因してデータの消失が生ずる場合とデータエラーに起因してデータの消失が生じた場合とで、別系統の通信レート制御を適用し、
    前記データバッファの利用率に応じて通信レートを変化させ、
    データエラーの発生状況に応じて通信レートを制御し、
    前記中継装置から送信される通信を一時停止させるためのリンク層のポーズ信号またはバックプレッシャ信号を輻輳通知として使用して、輻輳に起因してデータの消失が生ずることを検知し、
    データエラーの発生状況を検知する際に、TCPの確認応答信号によってパケットロスを検知した場合にデータエラーが発生しているとみなす
    ことを特徴とする通信レート制御方法。
  2. データエラーに起因してデータの消失が生じたことを検知した場合に、直ちにデータを再送する
    請求項1記載の通信レート制御方法。
  3. データエラーに起因してデータの消失が生じたことを検知した場合に、輻輳の程度に関わらずデータを再送する
    請求項1記載の通信レート制御方法。
  4. 通信ネットワークを介して受信装置にデータを送信する送信装置であって、
    通信レートを制御する通信レート制御手段と、
    前記通信ネットワークにおける輻輳に起因してデータの消失が生ずることを、前記通信ネットワークの一の区間における中継装置のデータバッファの利用率にもとづいて検知する第1の通信エラー検知手段と、
    前記通信ネットワークにおけるデータエラーに起因してデータの消失が生じたことを検知するとともに、前記一の区間よりも前記受信装置の側の区間である他の区間におけるデータエラーの発生状況を検知する第2の通信エラー検知手段とを備え、
    前記通信レート制御手段は、
    データの消失が生ずることを前記第1の通信エラー検知手段が検知した場合と、データエラーに起因してデータの消失が生じたことを前記第2の通信エラー検知手段が場合とで、独立して通信レートを制御し、
    前記データバッファの利用率に応じて通信レートを変化させ、
    データエラーの発生状況に応じて通信レートを制御し、
    前記第1の通信エラー検知手段は、通信を一時停止させるためのリンク層のポーズ信号またはバックプレッシャ信号を輻輳通知として使用して、輻輳に起因してデータの消失が生ずることを検知し、
    前記第2の通信エラー検知手段は、データエラーの発生状況を検知する際に、TCPの確認応答信号によってパケットロスを検知した場合にデータエラーが発生しているとみなす
    ことを特徴とする送信装置。
  5. データを中継する中継装置および通信ネットワークを介して送信装置が受信装置にデータを送信する通信システムであって、
    前記中継装置は、前記送信装置と伝送路との間に設けられ、データバッファの利用率にもとづいて前記通信ネットワークにおける輻輳に起因してデータの消失が生ずることを検出した場合に、前記送信装置にその旨を通知し、
    前記送信装置は、
    通信レートを制御する通信レート制御手段と、
    前記通信ネットワークにおける輻輳に起因してデータの消失が生ずることを前記中継装置からの通知によって検知する第1の通信エラー検知手段と、
    前記通信ネットワークにおけるデータエラーに起因してデータの消失が生じたことを検知するとともに、前記中継装置よりも前記受信装置の側の区間である他の区間におけるデータエラーの発生状況を検知する第2の通信エラー検知手段とを含み、
    前記通信レート制御手段は、
    データの消失が生ずることを前記第1の通信エラー検知手段が検知した場合と、データエラーに起因してデータの消失が生じたことを前記第2の通信エラー検知手段が場合とで、独立して通信レートを制御し、
    前記データバッファの利用率に応じて通信レートを変化させ、
    データエラーの発生状況に応じて通信レートを制御し、
    前記第1の通信エラー検知手段は、通信を一時停止させるためのリンク層のポーズ信号またはバックプレッシャ信号を輻輳通知として使用して、輻輳に起因してデータの消失が生ずることを検知し、
    前記第2の通信エラー検知手段は、データエラーの発生状況を検知する際に、TCPの確認応答信号によってパケットロスを検知した場合にデータエラーが発生しているとみなす
    ことを特徴とする通信システム。
  6. 中継装置は、データバッファが満杯であるとき、または利用率が所定値を越えたときに送信装置に輻輳通知を行う
    請求項記載の通信システム。
JP2011502614A 2009-03-06 2010-02-16 通信レート制御方法、送信装置および通信システム Active JP5652388B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011502614A JP5652388B2 (ja) 2009-03-06 2010-02-16 通信レート制御方法、送信装置および通信システム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009054004 2009-03-06
JP2009054004 2009-03-06
JP2011502614A JP5652388B2 (ja) 2009-03-06 2010-02-16 通信レート制御方法、送信装置および通信システム
PCT/JP2010/000950 WO2010100837A1 (ja) 2009-03-06 2010-02-16 通信レート制御方法、送信装置および通信システム

Publications (2)

Publication Number Publication Date
JPWO2010100837A1 JPWO2010100837A1 (ja) 2012-09-06
JP5652388B2 true JP5652388B2 (ja) 2015-01-14

Family

ID=42709409

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011502614A Active JP5652388B2 (ja) 2009-03-06 2010-02-16 通信レート制御方法、送信装置および通信システム

Country Status (3)

Country Link
US (1) US20120063493A1 (ja)
JP (1) JP5652388B2 (ja)
WO (1) WO2010100837A1 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8593953B2 (en) * 2010-12-23 2013-11-26 White Squirrel Wireless Technologies Inc. System and method for controlling data transmission in a multihop wireless network
EP2684390A4 (en) * 2011-03-10 2015-02-25 Optis Cellular Technology Llc HYBRID OVERLOAD CONTROL
JP5784139B2 (ja) * 2011-11-01 2015-09-24 株式会社日立製作所 通信システム
US8995265B2 (en) * 2012-01-28 2015-03-31 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Monitoring endpoint buffer occupancy to determine congestion in an ethernet network
JP5832335B2 (ja) * 2012-02-24 2015-12-16 株式会社日立製作所 通信装置および通信システム
JP6101046B2 (ja) * 2012-10-31 2017-03-22 日本放送協会 パケット送信装置およびそのプログラム
EP2916521B1 (en) * 2012-11-05 2018-02-21 Nec Corporation Communication device, transmission data output control method, and program for same
EP2938032B1 (en) * 2012-12-19 2019-04-24 Nec Corporation Data transmission device, data transmission method, and program therefor
JP5998923B2 (ja) * 2012-12-28 2016-09-28 富士通株式会社 プログラム、情報処理装置、及び通信方法
ES2845078T3 (es) * 2014-04-23 2021-07-23 Bequant S L Método y aparato para el control de congestión de red basado en los gradientes de la tasa de transmisión
US11252622B2 (en) * 2014-12-24 2022-02-15 Verizon Patent And Licensing Inc. Network congestion management service
US9923677B2 (en) * 2014-12-26 2018-03-20 Intel Corporation Multiplexing many client streams over a single connection
FR3044503A1 (fr) * 2015-11-30 2017-06-02 Orange Procedes de traitement de paquets de donnees, dispositif, produit programme d'ordinateur, medium de stockage et nœud de reseau correspondants.
CN108370521B (zh) * 2016-01-05 2023-03-24 富士通株式会社 信息传输方法、装置和***
US9813299B2 (en) * 2016-02-24 2017-11-07 Ciena Corporation Systems and methods for bandwidth management in software defined networking controlled multi-layer networks
US10069745B2 (en) 2016-09-12 2018-09-04 Hewlett Packard Enterprise Development Lp Lossy fabric transmitting device
US10129155B2 (en) * 2016-11-21 2018-11-13 Microsoft Technology Licensing, Llc Delay based congestion control protocol co-existing with TCP
US10218469B2 (en) * 2016-12-08 2019-02-26 Vmware, Inc. Unified forward error correction and retransmission in a reliable network protocol
CN108243116B (zh) * 2016-12-23 2021-09-14 华为技术有限公司 一种流量控制方法及交换设备
KR102139378B1 (ko) * 2018-11-20 2020-07-29 울산과학기술원 혼잡 제어 방법 및 장치
WO2020246069A1 (ja) * 2019-06-07 2020-12-10 日本電気株式会社 通信システム、端末、制御方法、及びプログラムが格納された非一時的なコンピュータ可読媒体
US11005770B2 (en) * 2019-06-16 2021-05-11 Mellanox Technologies Tlv Ltd. Listing congestion notification packet generation by switch
US11888753B2 (en) * 2021-08-10 2024-01-30 Mellanox Technologies, Ltd. Ethernet pause aggregation for a relay device
US11902404B1 (en) * 2022-06-10 2024-02-13 Juniper Networks, Inc. Retaining key parameters after a transmission control protocol (TCP) session flap

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06177913A (ja) * 1992-12-09 1994-06-24 Toshiba Corp パケット交換機
JP2000151707A (ja) * 1998-11-18 2000-05-30 Kdd Corp データ転送制御方法
JP2000341333A (ja) * 1999-05-31 2000-12-08 Hitachi Ltd ネットワークパケット送受信方法およびネットワークアダプタ
JP3136884B2 (ja) * 1994-02-02 2001-02-19 株式会社エヌ・ティ・ティ・ドコモ ディジタル移動通信システムおよびデータ伝送方法
JP2001136209A (ja) * 1999-11-10 2001-05-18 Nippon Telegr & Teleph Corp <Ntt> 通信装置
JP2002094603A (ja) * 2000-09-12 2002-03-29 Yafoo Japan Corp ストリーミング・メディア・サーバー
JP2002217972A (ja) * 2001-01-12 2002-08-02 Nec Corp 輻輳状況対応型VoIPシステム、及び、VoIPシステムの輻輳回避方法
JP2002247133A (ja) * 2001-02-19 2002-08-30 Toshiba Tec Corp 無線通信装置
JP2004012871A (ja) * 2002-06-07 2004-01-15 Seiko Epson Corp データ転送制御システム、電子機器及びデータ転送制御方法
JP2006049941A (ja) * 2004-07-30 2006-02-16 Sharp Corp 受信装置、受信プログラム、および受信プログラムを記録した記録媒体
JP2008092095A (ja) * 2006-09-29 2008-04-17 Ntt Docomo Inc 通信制御方法、無線基地局及び無線制御局

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03128553A (ja) * 1989-07-10 1991-05-31 Ricoh Co Ltd データ伝送方式
US6222825B1 (en) * 1997-01-23 2001-04-24 Advanced Micro Devices, Inc. Arrangement for determining link latency for maintaining flow control in full-duplex networks
US6990069B1 (en) * 1997-02-24 2006-01-24 At&T Corp. System and method for improving transport protocol performance in communication networks having lossy links
US5974028A (en) * 1997-02-24 1999-10-26 At&T Corp. System and method for improving transport protocol performance in communication networks having lossy links
US7058723B2 (en) * 2000-03-14 2006-06-06 Adaptec, Inc. Congestion control for internet protocol storage
US6741555B1 (en) * 2000-06-14 2004-05-25 Nokia Internet Communictions Inc. Enhancement of explicit congestion notification (ECN) for wireless network applications
US7184401B2 (en) * 2001-02-05 2007-02-27 Interdigital Technology Corporation Link-aware transmission control protocol
US7394764B2 (en) * 2001-12-14 2008-07-01 Sasken Communication Technologies Limited Technique for improving transmission control protocol performance in lossy networks
EP1333625B1 (en) * 2002-02-04 2007-04-18 Matsushita Electric Industrial Co., Ltd. Method for packet loss distinction
US7177272B2 (en) * 2003-06-25 2007-02-13 Nokia Corporation System and method for optimizing link throughput in response to non-congestion-related packet loss
US7460472B2 (en) * 2003-07-25 2008-12-02 Nokia Corporation System and method for transmitting information in a communication network
US20080037420A1 (en) * 2003-10-08 2008-02-14 Bob Tang Immediate ready implementation of virtually congestion free guaranteed service capable network: external internet nextgentcp (square waveform) TCP friendly san
JP2006050519A (ja) * 2003-10-24 2006-02-16 Sony Corp 無線通信システム、無線通信装置及び無線通信方法、並びにコンピュータ・プログラム
JP5239166B2 (ja) * 2007-01-29 2013-07-17 日本電気株式会社 データ通信装置および方法ならびにプログラム
US8165154B2 (en) * 2007-03-12 2012-04-24 Conexant Systems, Inc. Systems and methods for reliable broadcast and multicast transmission over wireless local area network

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06177913A (ja) * 1992-12-09 1994-06-24 Toshiba Corp パケット交換機
JP3136884B2 (ja) * 1994-02-02 2001-02-19 株式会社エヌ・ティ・ティ・ドコモ ディジタル移動通信システムおよびデータ伝送方法
JP2000151707A (ja) * 1998-11-18 2000-05-30 Kdd Corp データ転送制御方法
JP2000341333A (ja) * 1999-05-31 2000-12-08 Hitachi Ltd ネットワークパケット送受信方法およびネットワークアダプタ
JP2001136209A (ja) * 1999-11-10 2001-05-18 Nippon Telegr & Teleph Corp <Ntt> 通信装置
JP2002094603A (ja) * 2000-09-12 2002-03-29 Yafoo Japan Corp ストリーミング・メディア・サーバー
JP2002217972A (ja) * 2001-01-12 2002-08-02 Nec Corp 輻輳状況対応型VoIPシステム、及び、VoIPシステムの輻輳回避方法
JP2002247133A (ja) * 2001-02-19 2002-08-30 Toshiba Tec Corp 無線通信装置
JP2004012871A (ja) * 2002-06-07 2004-01-15 Seiko Epson Corp データ転送制御システム、電子機器及びデータ転送制御方法
JP2006049941A (ja) * 2004-07-30 2006-02-16 Sharp Corp 受信装置、受信プログラム、および受信プログラムを記録した記録媒体
JP2008092095A (ja) * 2006-09-29 2008-04-17 Ntt Docomo Inc 通信制御方法、無線基地局及び無線制御局

Also Published As

Publication number Publication date
US20120063493A1 (en) 2012-03-15
JPWO2010100837A1 (ja) 2012-09-06
WO2010100837A1 (ja) 2010-09-10

Similar Documents

Publication Publication Date Title
JP5652388B2 (ja) 通信レート制御方法、送信装置および通信システム
US11876714B2 (en) Method and apparatus for network congestion control based on transmission rate gradients
CN110661723B (zh) 一种数据传输方法、计算设备、网络设备及数据传输***
US8451727B2 (en) Apparatus and method for controlling congestion occurrence in a communication network
KR100918731B1 (ko) 큐 버퍼를 제어하는 방법
JP5816718B2 (ja) 通信装置、通信システム、およびデータ通信の中継方法
US6438101B1 (en) Method and apparatus for managing congestion within an internetwork using window adaptation
EP2537301B1 (en) Control of packet transfer through a multipath session comprising a single congestion window
US9467390B2 (en) Method and device for data transmission
JP4708978B2 (ja) 高スループットを実現する通信システム、通信端末、セッション中継装置、及び通信プロトコル
CN109639340B (zh) 一种适用于卫星链路的tcp加速方法
JPWO2008023656A1 (ja) 通信装置
KR100547749B1 (ko) 재전송 타임아웃 수를 줄이기 위한 전송 제어 프로토콜의혼잡제어 방법과 시스템
JP2001308947A (ja) 通信装置、中継装置および通信制御方法
CN110505533B (zh) 一种tcp视频传输进行误码重传控制的方法
WO2018155406A1 (ja) 通信システム、通信装置、方法およびプログラム
WO2013011638A1 (ja) 通信装置およびその通信制御方法
Sarkar et al. Modified TCP Peach Protocol for Satellite based Networks
JP2003198612A (ja) パケット通信ネットワークにおけるファイル転送方法
JP2003032295A (ja) パケット中継装置、及びその方法
Han Performance research and improvement of TCP_SACK in wireless environment
Vala et al. A Review: TCP Variants with MANET
Pujeri et al. Survey of End-to-End TCP Congestion Control Protocols
Kanthimathi Improving Packet Delivery Ratio In TCP Using New Reno Scheme

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131022

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140318

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140515

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140701

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140909

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140918

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: 20141021

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141103

R150 Certificate of patent or registration of utility model

Ref document number: 5652388

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150