JPWO2014069642A1 - 通信装置、送信データ出力制御方法、及びそのプログラム - Google Patents
通信装置、送信データ出力制御方法、及びそのプログラム Download PDFInfo
- Publication number
- JPWO2014069642A1 JPWO2014069642A1 JP2014544614A JP2014544614A JPWO2014069642A1 JP WO2014069642 A1 JPWO2014069642 A1 JP WO2014069642A1 JP 2014544614 A JP2014544614 A JP 2014544614A JP 2014544614 A JP2014544614 A JP 2014544614A JP WO2014069642 A1 JPWO2014069642 A1 JP WO2014069642A1
- Authority
- JP
- Japan
- Prior art keywords
- transmission rate
- transmission
- rate control
- control mode
- unit
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/02—Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
- H04W8/04—Registration at HLR or HSS [Home Subscriber Server]
Abstract
【課題】ネットワークの輻輳状態を考慮しつつ、通信セッションにおける輻輳回避動作中のスループット向上を図り得る通信装置等を提供する。【解決手段】ネットワーク10に連続的に送出するデータ量を制御する通信装置1であって、RTT(Round Trip Time)を基準として送信レート制御モードを決定し、送信レート制御モードに応じて送信レートの上限値を決定し、送信レートの上限値を越えない範囲でデータを連続的に送出し続けるように制御するようにしたこと。【選択図】図1
Description
本発明は、ネットワークを介して通信セッションを実行する通信装置等に係り、特に、TCP(Transmission Control Protocol)のように輻輳制御機能をもつ通信プロトコルを用いた通信装置、送信データ出力制御方法、及びそのプログラムに関する。
現在、インターネットを介して大量のデータを安全に且つ正確に送信する通信プロコルとして幅広く用いられているTCP(Transmission Control Protocol)による通信にあっては、効率的なデータ転送を行うために、ウィンドウ制御が使用されている。
このウィンドウ制御では、まず、データの受信側が受信バッファサイズ(RWIN、Receive Window)をデータ送信側へ通知する。データ送信側は、受信側の確認応答(ACK)を待たずに、受信バッファサイズ(RWIN)分のデータを送信できる。
このとき、RWINが回線速度と比べて小さすぎると、データ転送効率が悪化してスループットが低下する。また、RWINが回線速度と比べて大きすぎると、データ損失による再送処理に時間が掛かりスループットが低下する。
このとき、RWINが回線速度と比べて小さすぎると、データ転送効率が悪化してスループットが低下する。また、RWINが回線速度と比べて大きすぎると、データ損失による再送処理に時間が掛かりスループットが低下する。
上記通信プロトコルであるTCPは、ネットワークの輻輳状況に応じて輻輳ウィンドウ(CWND、Congestion Window)を適切に調整する輻輳制御機能を備えている。このTCPの輻輳制御機能は、通信状態を常時チェックし、ネットワークに輻輳がない間は輻輳ウィンドウを拡大することにより送信帯域を増大させ、又ネットワークが輻輳している場合には、輻輳ウィンドウを縮小することで送信帯域を減少させるように設定する機能を備えている。
このような輻輳制御機能を採用したTCPバージョンの例として、TCP-Renoがある(非特許文献1)。このTCP-Renoでは、輻輳回避動作においてパケット廃棄を検出したとき、ネットワークが輻輳状態にあると判断して輻輳ウィンドウを現状の半分に縮小し、これにより送信帯域を減少させる。
一方、パケット廃棄が検出されない間は、ネットワークが輻輳状態にないと判断して、輻輳ウィンドウを1MMS(Maximum Segment Size)ずつ線形に拡大することにより、送信帯域を緩やかに増大させる。
ところで、TCP-Renoは、パケット廃棄が発生すると、いったん輻輳ウィンドウのサイズを半減させることから、その後、ウィンドウサイズが十分な大きさに増加するまでの間は本来期待されるスループットが得られないという問題がある。
これは、特に輻輳以外の原因でもパケット廃棄が発生し得る無線回線等にとっては深刻な問題である。即ち、輻輳に起因しないパケット廃棄であるにも関わらず、TCPスループットを不必要に低下させることになる。
また、TCP-Renoは、ウィンドウサイズ分のデータを送出後に確認応答としてのACKが返ってくるまで次のデータを送信しないため、送信データ応答時間としてのRTT(Round Trip Time)が大きくなると、TCPスループットは不必要に低下する。
また、TCP-Renoは、ウィンドウサイズ分のデータを送出後に確認応答としてのACKが返ってくるまで次のデータを送信しないため、送信データ応答時間としてのRTT(Round Trip Time)が大きくなると、TCPスループットは不必要に低下する。
例えば、WiMAX(Worldwide Interoperability for Microwave Access)、HSPA(High Speed Packet Access)、LTE (Long Term Evolution)等の通信方式が適用された無線回線では、移動端末と基地局との間の無線リンクレイヤにエラーが発生する場合がある。これにより、輻輳以外の原因でパケット廃棄が発生すると、TCPスループットは不必要に低下する。
一方、このエラーを回復する技術的手法として、移動端末と基地局との間の無線リンクレイヤで自動的に再送する自動再送制御(ARQ: Automatic Repeat Request)が使用されることがある。この場合は、パケット廃棄を防止できる可能性はあるが、自動再送制御に要する時間に応じて輻輳に起因しないRTTの増加が生じ、同時にTCPスループットは不必要に低下する。
これらパケット廃棄が発生した際、ネットワークから端末に対してパケット廃棄が輻輳に起因したものであるか否かに関する何らかの情報与える関連技術として、特許文献1が知られている(第1の関連技術)。
即ち、この第1の関連技術である特許文献1には、回線のエラーによりパケット廃棄が発生した際、受信端末から送信端末に対してELN(Explicit Loss Notification)情報を送信し、送信端末は、パケット廃棄が輻輳によるものでない場合には不必要に輻輳ウィンドウを減少させないという技術が開示されている。
即ち、この第1の関連技術である特許文献1には、回線のエラーによりパケット廃棄が発生した際、受信端末から送信端末に対してELN(Explicit Loss Notification)情報を送信し、送信端末は、パケット廃棄が輻輳によるものでない場合には不必要に輻輳ウィンドウを減少させないという技術が開示されている。
又、上記パケット廃棄の発生を直ちに輻輳発生と判断することに代えて、TCP送信端末がもつ情報を用いて輻輳判断を行い対応措置をとる関連技術として、特許文献2が知られている(第2の関連技術)。
即ち、この第2の関連技術である特許文献2には、まず、回線のRTTを計測し、そのRTTが一定値以下である場合には輻輳で無いと判定することにより、パケット廃棄を検出した場合でも輻輳ウィンドウを減少させないという技術が開示されている。
即ち、この第2の関連技術である特許文献2には、まず、回線のRTTを計測し、そのRTTが一定値以下である場合には輻輳で無いと判定することにより、パケット廃棄を検出した場合でも輻輳ウィンドウを減少させないという技術が開示されている。
更に、第3の関連技術として、例えば、特許文献3には、輻輳ウィンドウに基づき通信セッションを実行する通信装置が、通信セッションにおけるRTTからボトルネック回線の利用率を推定し、推定した回線利用率に基づき輻輳回避動作における輻輳ウィンドウの増加幅を決定し、輻輳ウィンドウを拡大させるとき、適用すべき輻輳ウィンドウのサイズを前記増加幅に基づき決定するという技術が開示されている。
又、第4の関連技術である特許文献4には、送信レートを適正に制御し、相手により確実に到達するように再送パケットを送信する技術が開示されている。
更に、第5の関連技術である特許文献5には、ワイヤレス環境におけるネットワーク情報に基づいたレート制御を行うことで、ワイヤレス環境の特性を考慮した効果的なレート制御を実現する送信技術が開示されている。
更に、第5の関連技術である特許文献5には、ワイヤレス環境におけるネットワーク情報に基づいたレート制御を行うことで、ワイヤレス環境の特性を考慮した効果的なレート制御を実現する送信技術が開示されている。
W. Stevens, "TCP Slow Start , Congestion Avoidance, Fast Retransmit, and Fast Recovery Algorithms," IETF RFC2001, http://www.ietf.org/rfc/rfc2001.txt, January 1997. [平成24年8 月30日検索]
上記第1の関連技術の問題点としては、端末に対してパケット廃棄の原因や無線回線の状態を通知する機構がネットワークに必要であるため、導入が難しいことである。
特に、無線回線に接続された端末と、その無線回線に接続されていない不特定多数の端末とが通信を行う場合、後者の不特定多数の端末全てに対して前記機構を導入することは容易ではない。また、同様な機構を有線回線に適用することは困難である。
特に、無線回線に接続された端末と、その無線回線に接続されていない不特定多数の端末とが通信を行う場合、後者の不特定多数の端末全てに対して前記機構を導入することは容易ではない。また、同様な機構を有線回線に適用することは困難である。
第2の関連技術の問題点は、前述した応答時間としてのRTTに基づく輻輳判断の不確かさである。RTTが取り得る値の範囲はルータのバッファ容量に依存することから、輻輳判断に用いる最適なRTT閾値は一意に決定し難い。
即ち、ルータのバッファ容量が大きいほどRTTが取り得る値の範囲が広がるので、端末に一定のRTT閾値を設定しても、バッファ容量が比較的大きいルータの回線を使用するときよりも、ルータのバッファ容量が比較的小さい回線を使用するときの方が、輻輳発生と判断され易くなる。
そうすると、実際は軽度の輻輳であるにも拘らず輻輳発生と判断する可能性があり、その結果、不必要な輻輳ウィンドウの減少制御によりスループットが低下することとなる。また逆に、バッファ容量が比較的大きい場合、輻輳発生と判断すべき状態に対し、未だ輻輳ではないと判断する可能性があり、その場合、減少させるべき輻輳ウィンドウが減少されず、結果、輻輳を回避することができないという問題が生じる。また、輻輳ウィンドウを適切に制御できたとしても輻輳に起因しないRTTの増加によりTCPスループットが不必要に低下する。
又、第3の関連技術の問題点は、RTTに基づくボトルネック回線利用率の推定の不確かさである。推定した回線利用率に基づき輻輳回避動作における輻輳ウィンドウの増加幅を決定するが、確実に回線利用率を知る方法ではないため推定値に誤差が含まれる可能性がある。その結果として、不必要な輻輳ウィンドウの減少制御によりスループットが低下する、また逆に、減少させるべき輻輳ウィンドウが減少されず、結果として輻輳を回避できないという問題が生じる。
更に、第4の関連技術では、RTTの増加率及び減少率に合わせてパケト通信レートの減少率及び増加率を決定しており、このため、RTTの広範囲の変動に対しても常に迅速対応可能な送受信回路を準備しなければ成らないという不都合があり、装置が大型化するという不都合がある。
又、第5の関連技術では、中継ノードで取得されたネットワーク情報も加味してレート制御を行う旨開示されているが、レート制御の内容について、特にモードについての具体的な開示がない。又、輻輳回避動作に関する技術内容については、パケットロスの回避以外は何ら具体的な開示がない。
[発明の目的]
本発明は、上記課題を鑑みてなされたものであり、ネットワークの輻輳状態を考慮しつつ、通信セッションにおける輻輳回避動作中のスループット向上を図り得る通信装置、送信データ出力制御方法、及びそのプログラムを提供することを、その目的とする。
本発明は、上記課題を鑑みてなされたものであり、ネットワークの輻輳状態を考慮しつつ、通信セッションにおける輻輳回避動作中のスループット向上を図り得る通信装置、送信データ出力制御方法、及びそのプログラムを提供することを、その目的とする。
上記目的を達成するために、本発明に係る通信装置は、ネットワークを介して通信先に向けて所定量の通信データを出力する送信データ出力部と、この送信データ出力部を駆動制御し前記ネットワークに連続的に送出可能なデータ量を制御する送信レート制御部とを備えた通信装置であって、
前記送信レート制御部が、予め決定された特定の送信レートの上限値を越えない範囲で前記送信データを連続的に送出し続けるように制御する送信レート制御機能を備えていることを特徴とする。
前記送信レート制御部が、予め決定された特定の送信レートの上限値を越えない範囲で前記送信データを連続的に送出し続けるように制御する送信レート制御機能を備えていることを特徴とする。
上記目的を達成するために、本発明に係る送信データ出力制御方法は、ネットワークを介して通信先に向けて所定量の通信データを出力する送信データ出力部と、この送信データ出力部を駆動制御し前記ネットワークに連続的に送出可能なデータ量を制御する送信レート制御部とを備えた通信装置にあって、
前記ネットワークから得られる輻輳情報に基づいて予め装備された送信レート制御モード特定部が、前記データの送信に必要な送信レート制御モードを特定し、
この特定された送信レート制御モードに応じて、予め装備された送信レート計算部が送信レートの上限値を決定し、
この決定された特定の送信レートの上限値を越えない範囲で前記送信データを連続的に送出し続けるように、前記送信レート制御部が前記送信データ出力部を駆動制御するようにしたことを特徴とする。
前記ネットワークから得られる輻輳情報に基づいて予め装備された送信レート制御モード特定部が、前記データの送信に必要な送信レート制御モードを特定し、
この特定された送信レート制御モードに応じて、予め装備された送信レート計算部が送信レートの上限値を決定し、
この決定された特定の送信レートの上限値を越えない範囲で前記送信データを連続的に送出し続けるように、前記送信レート制御部が前記送信データ出力部を駆動制御するようにしたことを特徴とする。
上記目的を達成するために、本発明に係る送信データ出力制御プログラムは、ネットワークを介して通信先に向けて所定量の通信データを出力する送信データ出力部と、この送信データ出力部を駆動制御し前記ネットワークに連続的に送出可能なデータ量を制御する送信レート制御部とを備えた通信装置にあって、
前記ネットワークの輻輳情報に基づいて送信レート制御モードを特定するレート制御モード特定機能、この特定された送信レート制御モードに応じて、送信レートの上限値を決定する送信レート上限値決定機能、および決定された特定の前記送信レートの上限値を越えない範囲で前記送信データを連続的に送出し続けるように、前記送信データ出力部を駆動制御する出力部駆動制御機能、を設け、これらをコンピュータに実現させるようにしたことを特徴とする。
前記ネットワークの輻輳情報に基づいて送信レート制御モードを特定するレート制御モード特定機能、この特定された送信レート制御モードに応じて、送信レートの上限値を決定する送信レート上限値決定機能、および決定された特定の前記送信レートの上限値を越えない範囲で前記送信データを連続的に送出し続けるように、前記送信データ出力部を駆動制御する出力部駆動制御機能、を設け、これらをコンピュータに実現させるようにしたことを特徴とする。
本発明は上記の如く構成したので、これによると、例えば通信回線がボトルネック回線であっても現時点における状況に適した送信レートでデータを送出でき、これにより、ランダムパケット廃棄やパケットエラー回復遅延が生じる通信環境においても、ボトルネック回線の帯域を有効に利用しつつ輻輳を回避し、且つ通信セッションにおける輻輳回避動作中のスループット向上を図り得る通信装置、送信データ出力制御方法、及びそのプログラムを提供することができる。
次に、本発明の実施の形態について図面を参照して説明する。
[基本的内容]
最初に、本発明にかかる通信装置の基本的な内容を、図1に基づいて説明する。
図1において、通信装置1は、ネットワーク10を介して通信先である相手側通信機2に向けて所定量の通信データを出力する送信データ出力部11と、この送信データ出力部11を駆動制御し前記ネットワーク10に連続的に送出可能なデータ量を制御する送信レート制御部18とを備えている。
[基本的内容]
最初に、本発明にかかる通信装置の基本的な内容を、図1に基づいて説明する。
図1において、通信装置1は、ネットワーク10を介して通信先である相手側通信機2に向けて所定量の通信データを出力する送信データ出力部11と、この送信データ出力部11を駆動制御し前記ネットワーク10に連続的に送出可能なデータ量を制御する送信レート制御部18とを備えている。
そして、上記した送信レート制御部18は、予め決定された特定の送信レートの上限値を越えない範囲で、前記送信データを連続的に送出し続けるように制御する送信レート制御機能18Aを備えている。
ここで、符号12は前述したネットワーク10に対する送受信用のネットワークインタフェース部を示す。又、符号13はネットワーク10を介して相手側通信機2からの発信情報を受信するデータ受信部を示し、符号19はネットワーク10を介して相手側通信機2へ所定の送信データを発信するデータ送信部を示す。
そして、実際のデータ送信に際しては、送信データ出力部11に駆動制御されて送信データ出力部11が稼働し、ネットワーク10を介して通信先である相手側通信機2に向けて所定量の通信データを出力する。この場合、送信データ出力部11は、上述したように予め決定された特定の送信レートの枠内で、その上限値を越えない範囲で、前記送信データを連続的に送出し続けるように制御する。
このため、本実施形態によると、例えば通信回線がボトルネック回線であっても現時点における状況に適した送信レートでデータを送出でき、これにより、ランダムパケット廃棄やパケットエラー回復遅延が生じる通信環境においても、ボトルネック回線の帯域を有効に利用しつつ、輻輳を回避することが可能となる。
[具体的な実施内容]
以下、本実施形態を、上記した図1の基本的内容を含む図2乃至図3に基づいて、更に詳細に説明する。
以下、本実施形態を、上記した図1の基本的内容を含む図2乃至図3に基づいて、更に詳細に説明する。
図2において、本実施形態に係る通信装置1は、ネットワーク10を介して相手側通信機2と所定のデータを送受信するネットワークインタフェース部12と、相手側通信機2から発信される送信データを受信するデータ受信部13と、必要に応じて送信データ応答時間としてのRTT(Round Trip Time)を計算するRTT計算部14と、受信側の受信レートを計算する受信レート計算部15とを備えている。
この通信装置1は、更に、上記RTT計算部14で計算したRTTの値(ネットワークの輻輳情報)を基準として送信レート制御モードを特定する送信レート制御モード特定部16と、特定された送信レート制御モードに応じた送信レートの上限値を決定する送信レート計算部17と、予め設けられて送信データ出力部11を出力動作を制御する送信レート制御部18と、送信レート制御部18に制御されて送信データ出力部11から出力される送信データを前述した相手側通信機2に向けて出力するデータ送信部19とを備えている。
ここで、送信レート制御部18には上記送信レート制御モード特定部16と送信レート計算部17とが併設されており、この送信レート制御モード特定部16および送信レート計算部17の各出力情報に基づいて、前記送信レート制御部18が、前記送信データ出力部11の出力動作を制御する構成となっている。
また、ネットワークインタフェース部12は、ネットワーク10からパケットを受信すると、そのパケットをデータ受信部13に送る機能を備えている。またデータ送信部19から送信用のパケットを受信すると、そのパケットをネットワーク10に送出する機能を備えている。
上記データ受信部13は、ネットワークインタフェース部12からパケットを受け取ると、そのパケットをRTT計算部14および受信レート計算部15に、それぞれ送り込む機能を備えている。
又、RTT計算部14は、データ受信部13から受け取ったパケットを解析して送信データ応答時間としてのRTTを計算する機能を備えている。例えば、TCPにて行われる方法と同様にRTTを計算することができる。
即ち、Timestamp Optionが利用可能な場合、肯定的応答信号であるACKの受信時に、「(現在の時刻)−(Timestamp Echo)」を、RTTとすることができる。
一方、Timestamp Optionが利用できない場合には、ACKの受信時に、「(現在の時刻)−(ACKされたパケットが送信された時刻)」を、RTTとすることができる。
一方、Timestamp Optionが利用できない場合には、ACKの受信時に、「(現在の時刻)−(ACKされたパケットが送信された時刻)」を、RTTとすることができる。
受信レート計算部15は、データ受信部13から受け取ったパケットを解析して、受信側の受信レートを計算する機能を備えている。
例えば、時刻t_iに受け取ったi番目のACKと、時刻t_i+kに受け取ったi+k番目のACKの、それぞれに記述されている確認応答番号をRcvBytes_i、RcvBytes_i+kとする。
例えば、時刻t_iに受け取ったi番目のACKと、時刻t_i+kに受け取ったi+k番目のACKの、それぞれに記述されている確認応答番号をRcvBytes_i、RcvBytes_i+kとする。
このとき、時刻t_iから時刻t_i+kまでの間の受信側の受信レートRcvRateを、近似的にRcvRate=(RcvBytes_i+k−RcvBytes_i)/(t_i+k−t_i)とすることができる。ここで、パラメータkは事前に設定しておく任意の自然数である。また、受信レートは、誤差を除去するために、過去のRcvRateの値の移動平均としてもよい。
送信レート制御モード特定部16は、RTT計算部14が算出したRTTの値を基準として、下記の制御モードの何れか一つを特定する機能を備えている。ここで、送信レート制御モードとしては、本実施形態では、予めレート急増モード、レート調整モード、及びレート抑制モードの三つが設定されている。
ここで、レート急増モードは、ボトルネック回線の帯域を使いきれていないことを前提として送信レートを急増させるモードである。
又、レート調整モードは、ボトルネック回線の帯域をほぼ使いきっていることを前提として送信レートを少しずつ増加させるモードである。
更に、レート抑制モードは、ボトルネック回線の帯域を超過して送信していることを前提としてレートを抑制するモードである。
又、レート調整モードは、ボトルネック回線の帯域をほぼ使いきっていることを前提として送信レートを少しずつ増加させるモードである。
更に、レート抑制モードは、ボトルネック回線の帯域を超過して送信していることを前提としてレートを抑制するモードである。
そして、送信レート制御モード特定部16は、最小RTTをRTT_min、最大RTTをRTT_maxとして、通信回線が「RTT≦RTT_min」の場合、送信レート制御モードとしてレート急増モードを特定する。
即ち、送信レート制御モード特定部16は、現時点の信号伝播時間RTTが過去の信号伝播時間の最小値(RTT_min)以下になると、送信レートを急増させるレート急増モードを、前記送信レート制御モードとして特定する機能を備えている。
即ち、送信レート制御モード特定部16は、現時点の信号伝播時間RTTが過去の信号伝播時間の最小値(RTT_min)以下になると、送信レートを急増させるレート急増モードを、前記送信レート制御モードとして特定する機能を備えている。
又、送信レート制御モード特定部16は、通信回線が「RTT_min<RTT<RTT_max」の場合、送信レート制御モードとしてレート調整モードを特定する。
即ち、送信レート制御モード特定部16は、現時点の信号伝播時間RTTが、過去の信号伝播時間の最小値R(TT_min)よりも大きく且つ最大値(RTT_max)よりも小さい場合に、送信レートを少しずつ増加させるレート調整モードを、前記送信レート制御モードとして特定する機能を備えている。
即ち、送信レート制御モード特定部16は、現時点の信号伝播時間RTTが、過去の信号伝播時間の最小値R(TT_min)よりも大きく且つ最大値(RTT_max)よりも小さい場合に、送信レートを少しずつ増加させるレート調整モードを、前記送信レート制御モードとして特定する機能を備えている。
更に、送信レート制御モード特定部16は、通信回線が「RTT_max≦RTT」の場合、レート抑制モードと特定する。
即ち、送信レート制御モード特定部16は、現時点の信号伝播時間RTTが過去の信号伝播時間の最大値(RTT_max)以上になると、送信レートを抑制するレート抑制モードを送信レート制御モードとして特定する機能を備えている。
即ち、送信レート制御モード特定部16は、現時点の信号伝播時間RTTが過去の信号伝播時間の最大値(RTT_max)以上になると、送信レートを抑制するレート抑制モードを送信レート制御モードとして特定する機能を備えている。
ここで、RTT_min、RTT_maxは、例えば次のように決める。
RTT_minは、その時点では輻輳が無かったことを示唆する値であり、過去のRTT値の内の最小のRTTとする。
そして、RTT_maxは、その時点で輻輳が発生したことを示唆する値であり、パケット廃棄を検出する直前のRTT値、或いは連続パケットを検出する直前のRTT値、或いはその近辺のRTT値の平均値とする。
RTT_minは、その時点では輻輳が無かったことを示唆する値であり、過去のRTT値の内の最小のRTTとする。
そして、RTT_maxは、その時点で輻輳が発生したことを示唆する値であり、パケット廃棄を検出する直前のRTT値、或いは連続パケットを検出する直前のRTT値、或いはその近辺のRTT値の平均値とする。
このように、本実施形態にあっては、前述した送信レート制御モード特定部16は、ネットワーク10における信号伝搬時間(通信時間)が、早い場合、通常の場合、遅い場合、のそれぞれに対応させて、前述した送信レート制御モードであるレート急増モード、レート調整モード、レート抑制モードをそれぞれ特定する制御モード特定機能を備えている。
又、上記送信レート計算部17は、送信レート制御モード特定部16が特定した送信レート制御モードに応じて、送信レートの上限値を決定する機能を備えている。
ここで、送信レート制御モードがレート急増モードの場合、送信レートの上限値を、「R_lim=R _lim+R_u」で計算する。ただし、R_uは予め決められた単位レートである。
ここで、送信レート制御モードがレート急増モードの場合、送信レートの上限値を、「R_lim=R _lim+R_u」で計算する。ただし、R_uは予め決められた単位レートである。
又、送信レート制御モードがレート調整モードの場合、送信レートの上限値を、レート調整モードがn回連続で続く度に「R_lim=R_lim+R_u」で計算する。それ以外のときは、「R_lim=R_lim」で計算する。
ここで、パラメータンn事前に設定しておく任意の自然数である。また、例えば、ボトルネック回線の仕様上の帯域上限値B_maxが既知である場合には、「R_lim=(1−α)×R_lim+α×B_max」としてもよい。ただし、パラメータαは事前に設定しておく0<α<1の範囲の整数である。
更に、送信レート制御モードがレート抑制モードの場合、送信レートの上限値を、「R_lim=RcvRate」のように計算する。ただし、RcvRateは受信レート計算部15が算出した受信側の受信レートである。
又、上記送信レート制御部18は、送信レート計算部17が算出した送信レートの上限値であるR_limを上限としてデータを送出する機能を備えている。その際、TCPの輻輳ウィンドウ(CWND、Congestion Window)に基づくフロー制御は行わず、受信側の受信バッファサイズ(RWIN、Receive Window)が0とならない限りにおいてはR_limを上限として、最大限の送信レートでデータを送出し続ける。
即ち、送信レート制御部18は、予め装備したデータ受信部13における受信バッファ13Aのバッファサイズの空き容量がゼロとならない限りは、送信レート上限値を越えない範囲で最大限の送信レートでデータの送出制御を継続する最大レート送信制御機能18Aを備えている。
ここで、肯定的応答信号であるACKにより受信側におけるデータ受信部13の受信バッファサイズが0であると通知された場合、受信側の受信バッファ13Aに空き領域がなくなったことを意味している。この場合、受信側から送信側に対して受信バッファサイズが0よりも大きい値で通知されるまでは、送信を中断する。
そして、上記データ送信部19は、送信レート制御部18が指定したタイミングでパケットを送信する。
そして、上記データ送信部19は、送信レート制御部18が指定したタイミングでパケットを送信する。
[動作の説明]
次に、図3のフローチャートに基づいて、上記実施形態に係る通信装置の動作手順を説明する。
次に、図3のフローチャートに基づいて、上記実施形態に係る通信装置の動作手順を説明する。
最初に、上記実施形態における通信装置1のデータ送信に至る動作手順の要部について説明する。
まず、ネットワーク10を介して通信先に向けて所定量の通信データを出力する送信データ出力部11と、この送信データ出力部11を駆動制御し前記ネットワーク10に連続的に送出可能なデータ量を制御する送信レート制御部18とを備えた上記通信装置にあって、まず、前述したネットワーク10から得られる輻輳情報に基づいて予め装備された送信レート制御モード特定部16が、前記データの送信に必要な送信レート制御モードを特定する(送信レート制御モード特定工程)。
まず、ネットワーク10を介して通信先に向けて所定量の通信データを出力する送信データ出力部11と、この送信データ出力部11を駆動制御し前記ネットワーク10に連続的に送出可能なデータ量を制御する送信レート制御部18とを備えた上記通信装置にあって、まず、前述したネットワーク10から得られる輻輳情報に基づいて予め装備された送信レート制御モード特定部16が、前記データの送信に必要な送信レート制御モードを特定する(送信レート制御モード特定工程)。
次に、この送信レート制御モード特定部16により特定された送信レート制御モードに応じて、予め装備された送信レート計算部15が送信レートの上限値を決定する(送信レート上限値決定工程)。
続いて、この送信レート計算部15で決定された特定の送信レートの上限値を越えない範囲で、前記送信データを連続的に送出し続けるように、前記送信レート制御部18が前記送信データ出力部11を駆動制御するようにした(データ出力制御工程)。
そして、本実施形態における動作手順をこのように構成し、かかる動作手順を順次実行することにより、前述した目的が達成される。
以下、これを更に詳述する。
まず、送信側の通信装置1(以下「送信端末」と呼ぶ)は、送信端末である自装置1と受信側である相手側通信装置2(以下「受信端末」と呼ぶ)との間に、インターネット10を介してTCPコネクションを開設し(図3:ステップS101)、送信データの送信を開始する(図3:ステップS102)。
まず、送信側の通信装置1(以下「送信端末」と呼ぶ)は、送信端末である自装置1と受信側である相手側通信装置2(以下「受信端末」と呼ぶ)との間に、インターネット10を介してTCPコネクションを開設し(図3:ステップS101)、送信データの送信を開始する(図3:ステップS102)。
送信端末1から送信したパケットに対して、受信端末2より受信確認パケット(ACKパケット)が送り返されると、これをデータ受信部13が受信する(図3:ステップS103)。受信したACKパケットを用いて、RTT計算部14は受信したRTTを求め、同時に、受信レート計算部15は受信端末2のデータ受信レートRcvRateを算出する(図3:ステップS104)。
これにより、現時点におけるネットワーク10の輻輳状態(即ちデータ送信に必要な送信レート制御モードを特定するためのネットワーク情報)が、まず、信号伝播時間RTTの値によって検知される。
次に、送信レート制御モード特定部16は、RTT≦RTT_minの場合、送信レート制御モードを、送信レート急増モードと判定する(図2:105/イエス)。
即ち、前述した送信レート制御モードを特定する工程にあっては、前記ネットワーク10における現時点の信号伝搬時間RTTが過去の信号伝播時間の最小値(RTT_min)以下になると、前記送信レートを急増させるレート急増モードを、前記送信レート制御モード特定部16が前記送信レート制御モードとして特定する。
即ち、前述した送信レート制御モードを特定する工程にあっては、前記ネットワーク10における現時点の信号伝搬時間RTTが過去の信号伝播時間の最小値(RTT_min)以下になると、前記送信レートを急増させるレート急増モードを、前記送信レート制御モード特定部16が前記送信レート制御モードとして特定する。
そして、この結果を受けて、送信レート計算部17は、送信レートの上限値を、R_lim=R_lim+R_uのように計算する(図2:106)。
一方、送信レート制御モード特定部16は、RTT_min<RTT<RTT_maxの場合、送信レート制御モードを、レート調整モードと判定する(図2:107/イエス)。 即ち、前記送信レート制御モードを特定する工程にあっては、前記ネットワーク10における現時点の信号伝播時間RTTが過去の信号伝播時間の最小値(RTT_min)よりも大きく且つ最大値(RTT_max)よりも小さい場合に、前記送信レートを少しずつ増加させるレート調整モードを、前記送信レート制御モード特定部16が前記送信レート制御モードとして特定する。
そして、この結果を受けて、送信レート計算部17は、X=X+1とし(図2:108)、X=nである場合(図2:109/イエス)、X=0とし、送信レートの上限値を、R_lim=R_lim+R_uとする(図2:110)。
又、送信レート制御モード特定部16は、RTT_max≦RTTの場合、送信レート制御モードを、レート抑制モードと判定する(図2:107/ノー)。そして、送信レートの上限値をR_lim=RcvRateとする(図2:111)。
即ち、前記送信レート制御モードの特定する工程にあっては、前記ネットワーク10における現時点の信号伝播時間RTTが過去の信号伝播時間の最大値(RTT_max)以上になると、前記送信レートを抑制するレート抑制モードを、前記送信レート制御モード特定部16が送信レート制御モードとして特定する。
即ち、前記送信レート制御モードの特定する工程にあっては、前記ネットワーク10における現時点の信号伝播時間RTTが過去の信号伝播時間の最大値(RTT_max)以上になると、前記送信レートを抑制するレート抑制モードを、前記送信レート制御モード特定部16が送信レート制御モードとして特定する。
そして、送信端末1は、送信すべきデータが終了するまで上記手段を繰り返し(図2:112)、最後にTCPコネクションを切断して通信を終了する(図2:113)。
一方、送信レート制御部18は、TCPの輻輳ウィンドウ(CWND、Congestion Window)に基づくフロー制御は行わず、受信側のデータ受信部13における受信バッファ13Aのバッファサイズ(RWIN、Receive Window)が0とならない限りにおいては、R_limを上限として、最大限の送信レートでデータを送出し続ける。
即ち、前述した送信データ出力部11を駆動制御する工程にあっては、予め装備されたデータ受信部13における受信バッファ13Aのバッファサイズの空き容量がゼロとならない限り、前記送信レートの上限値を越えない範囲で且つ最大限の送信レートで、前記送信レート制御部16が前記データの送出制御を継続するように構成した。
一方、ACKにより受信側の受信バッファサイズが0であると通知された場合は、受信側の受信バッファ13Aに空き領域がなくなったことを意味している。その場合は、受信側から送信側に対して受信バッファサイズが0よりも大きい値で通知されるまでは、送信を中断する(図2:102)。
ここで、上記各動作ステップ(内容実行工程)にあっては、その実行内容をプログラム化し、前記通信装置1に予め装備したコンピュータに実現させるように構成してもよい。このプログラムは、非一時的な記録媒体、例えば、DVD、CD、フラッシュメモリ等に記録するようにしてもよい。その場合、本プログラムは、記録媒体からコンピュータによって読み出され実行される。
以上説明したように、本実施形態によれば、RTTを計測し、そのRTTを基準として送信レートを決定することで、輻輳に依存しないパケット廃棄を検出した場合でも不必要に送信レートを低下することがない。
また、TCPの輻輳ウィンドウに基づくフロー制御は行わず、受信側の受信バッファサイズ(RWIN、Receive Window)が0とならない限りにおいてはR_limを上限として、最大限の送信レートでデータを送出し続けることにより、無線リンクレイヤの自動再送制御などによる輻輳に起因しないRTTの増加が生じても不必要に送信レートをすることがない。
また、送信レート制御モードとして、レート急増モードとレート抑制モードに加えレート調整モードを設けることで、RTT基準値(RTT_min、RTT_max)の見積もりに誤差があったとしても、その影響を小さくすることができる。また、ネットワークから通信装置に特別な情報を通知する機構が不要であるため、比較的容易にスループットの向上を図ることができる。
以上のように、本実施形態に係る通信装置1は上記の如く構成され機能するので、これによると、送信データ応答時間であるRTT(Round Trip Timeを用いて推定したボトルネック回線の利用率に基づき、例えば通信回線がボトルネック回線であっても現時点における状況に適した送信レートでデータを送出でき、これにより、ランダムパケット廃棄やパケットエラー回復遅延が生じる通信環境においても、ボトルネック回線の帯域を有効に利用しつつ、輻輳を回避することが可能となる。
本発明の適用範囲は、例えば、ネットワークを介して接続された通信装置1及び通信装置2の間のセッションを中継する中継装置に、本発明を適用してもよい。この中継装置は、両通信装置間の通信セッションにおいて、一方の通信装置1との間でセッションを一旦終端した後、他方の通信装置2との間で新たなセッションを行うことにより、両端末間を中継するものである。
本発明を実施する上で好適な通信プロトコルは、上記実施形態で説明したTCPであるが、このTCPに限らず、輻輳制御を行うものであれば他の通信プロトコルであってもよい。
ここで、上述した実施形態については、その新規な技術的内容の要点をまとめると、以下のようになる。
尚、下記に上記実施形態の技術的内容は以下のように付記1乃至付記18としてまとめられるが、本発明は必ずしもこれに限定されるものではない。
尚、下記に上記実施形態の技術的内容は以下のように付記1乃至付記18としてまとめられるが、本発明は必ずしもこれに限定されるものではない。
(付記1)<請求項1>
ネットワークを介して通信先に向けて所定量の通信データを出力する送信データ出力部と、この送信データ出力部を駆動制御し前記ネットワークに連続的に送出可能なデータ量を制御する送信レート制御部とを備えた通信装置であって、
前記送信レート制御部が、予め決定された特定の送信レートの上限値を越えない範囲で前記送信データを連続的に送出し続けるように制御する送信レート制御機能を備えていることを特徴とした通信装置。
ネットワークを介して通信先に向けて所定量の通信データを出力する送信データ出力部と、この送信データ出力部を駆動制御し前記ネットワークに連続的に送出可能なデータ量を制御する送信レート制御部とを備えた通信装置であって、
前記送信レート制御部が、予め決定された特定の送信レートの上限値を越えない範囲で前記送信データを連続的に送出し続けるように制御する送信レート制御機能を備えていることを特徴とした通信装置。
(付記2)<請求項2>
付記1に記載の通信装置において、
前記送信レート制御部には、前記ネットワークの輻輳情報に基づいて送信レート制御モードを特定する送信レート制御モード特定部と、この特定された送信レート制御モードに応じて送信レートの上限値を決定する送信レート計算部とが併設され、
この送信レート制御モード特定部および送信レート計算部の各出力情報に基づいて、前記送信レート制御部が、前記送信データ出力部の出力動作を制御する機能を備えていることを特徴とした通信装置。
付記1に記載の通信装置において、
前記送信レート制御部には、前記ネットワークの輻輳情報に基づいて送信レート制御モードを特定する送信レート制御モード特定部と、この特定された送信レート制御モードに応じて送信レートの上限値を決定する送信レート計算部とが併設され、
この送信レート制御モード特定部および送信レート計算部の各出力情報に基づいて、前記送信レート制御部が、前記送信データ出力部の出力動作を制御する機能を備えていることを特徴とした通信装置。
(付記3)<請求項3>
付記2に記載の通信装置において、
前記送信レート制御モード特定部は、送信レート制御モードとして、前記ネットワークの輻輳情報に基づいて、送信レートを急増させるレート急増モードと、送信レートを少しずつ増加させるレート調整モードと、送信レートを抑制するレート抑制モードとの何れか一つに特定する機能を備えていることを特徴とした通信装置。
付記2に記載の通信装置において、
前記送信レート制御モード特定部は、送信レート制御モードとして、前記ネットワークの輻輳情報に基づいて、送信レートを急増させるレート急増モードと、送信レートを少しずつ増加させるレート調整モードと、送信レートを抑制するレート抑制モードとの何れか一つに特定する機能を備えていることを特徴とした通信装置。
(付記4)<請求項4>
付記3に記載の通信装置において、
前記送信レート制御モード特定部は、前記ネットワークにおける信号伝搬時間が、早い場合、通常の場合、又は遅い場合のそれぞれについて、対応する前記送信レート制御モードを特定する制御モード特定機能を備えていることを特徴とした通信装置。
付記3に記載の通信装置において、
前記送信レート制御モード特定部は、前記ネットワークにおける信号伝搬時間が、早い場合、通常の場合、又は遅い場合のそれぞれについて、対応する前記送信レート制御モードを特定する制御モード特定機能を備えていることを特徴とした通信装置。
(付記5)<請求項5>
付記2に記載の通信装置において、
前記送信レート制御モード特定部は、現時点の信号伝播時間が過去の信号伝播時間の最小値以下になると、送信レートを急増させるレート急増モードを前記送信レート制御モードとして特定する機能を備えていることを特徴とする通信装置。
付記2に記載の通信装置において、
前記送信レート制御モード特定部は、現時点の信号伝播時間が過去の信号伝播時間の最小値以下になると、送信レートを急増させるレート急増モードを前記送信レート制御モードとして特定する機能を備えていることを特徴とする通信装置。
(付記6)<請求項6>
付記2に記載の通信装置において、
前記送信レート制御モード特定部は、現時点の信号伝播時間が過去の信号伝播時間の最小値よりも大きく且つ最大値よりも小さい場合に、送信レートを少しずつ増加させるレート調整モードを、前記送信レート制御モードとして特定する機能を備えていることを特徴とする通信装置。
付記2に記載の通信装置において、
前記送信レート制御モード特定部は、現時点の信号伝播時間が過去の信号伝播時間の最小値よりも大きく且つ最大値よりも小さい場合に、送信レートを少しずつ増加させるレート調整モードを、前記送信レート制御モードとして特定する機能を備えていることを特徴とする通信装置。
(付記7)<請求項7>
付記2に記載の通信装置において、
前記送信レート制御モード特定部は、現時点の信号伝播時間が過去の信号伝播時間の最大値以上になると、送信レートを抑制するレート抑制モードを送信レート制御モードとして特定する機能を備えていることを特徴とする通信装置。
付記2に記載の通信装置において、
前記送信レート制御モード特定部は、現時点の信号伝播時間が過去の信号伝播時間の最大値以上になると、送信レートを抑制するレート抑制モードを送信レート制御モードとして特定する機能を備えていることを特徴とする通信装置。
(付記8)<請求項8>
付記1に記載の通信装置において、
前記送信レート制御部は、予め装備したデータ受信部の受信バッファサイズの空き容量がゼロとならない限りは、送信レート上限値を越えない範囲で最大限の送信レートでデータの送出制御を継続する最大レート送信制御機能を備えていることを特徴とする通信装置。
付記1に記載の通信装置において、
前記送信レート制御部は、予め装備したデータ受信部の受信バッファサイズの空き容量がゼロとならない限りは、送信レート上限値を越えない範囲で最大限の送信レートでデータの送出制御を継続する最大レート送信制御機能を備えていることを特徴とする通信装置。
(付記9)<請求項9>(方法の発明)
ネットワークを介して通信先に向けて所定量の通信データを出力する送信データ出力部と、この送信データ出力部を駆動制御し前記ネットワークに連続的に送出可能なデータ量を制御する送信レート制御部とを備えた通信装置にあって、
前記ネットワークから得られる輻輳情報に基づいて、予め装備された送信レート制御モード特定部が、前記データの送信に必要な送信レート制御モードを特定し、
この特定された送信レート制御モードに応じて、予め装備された送信レート計算部が送信レートの上限値を決定し、
この決定された送信レートの上限値を越えない範囲で前記送信データを連続的に送出し続けるように、前記送信レート制御部が前記送信データ出力部を駆動制御するようにしたことを特徴とする送信データ出力制御方法。
ネットワークを介して通信先に向けて所定量の通信データを出力する送信データ出力部と、この送信データ出力部を駆動制御し前記ネットワークに連続的に送出可能なデータ量を制御する送信レート制御部とを備えた通信装置にあって、
前記ネットワークから得られる輻輳情報に基づいて、予め装備された送信レート制御モード特定部が、前記データの送信に必要な送信レート制御モードを特定し、
この特定された送信レート制御モードに応じて、予め装備された送信レート計算部が送信レートの上限値を決定し、
この決定された送信レートの上限値を越えない範囲で前記送信データを連続的に送出し続けるように、前記送信レート制御部が前記送信データ出力部を駆動制御するようにしたことを特徴とする送信データ出力制御方法。
(付記10)(請求項5対応)
付記9に記載の送信データ出力制御方法において、
前記送信レート制御モードを特定する工程にあっては、前記ネットワークにおける現時点の信号伝搬時間が過去の信号伝播時間の最小値以下になると、前記送信レートを急増させるレート急増モードを、前記送信レート制御モード特定部が前記送信レート制御モードとして特定することを特徴とした送信データ出力制御方法。
付記9に記載の送信データ出力制御方法において、
前記送信レート制御モードを特定する工程にあっては、前記ネットワークにおける現時点の信号伝搬時間が過去の信号伝播時間の最小値以下になると、前記送信レートを急増させるレート急増モードを、前記送信レート制御モード特定部が前記送信レート制御モードとして特定することを特徴とした送信データ出力制御方法。
(付記11)(請求項6対応)
付記9に記載の送信データ出力制御方法において、
前記送信レート制御モードを特定する工程にあっては、前記ネットワークにおける現時点の信号伝播時間が過去の信号伝播時間の最小値よりも大きく且つ最大値よりも小さい場合に、前記送信レートを少しずつ増加させるレート調整モードを、前記送信レート制御モード特定部が前記送信レート制御モードとして特定することを特徴とした送信データ出力制御方法。
付記9に記載の送信データ出力制御方法において、
前記送信レート制御モードを特定する工程にあっては、前記ネットワークにおける現時点の信号伝播時間が過去の信号伝播時間の最小値よりも大きく且つ最大値よりも小さい場合に、前記送信レートを少しずつ増加させるレート調整モードを、前記送信レート制御モード特定部が前記送信レート制御モードとして特定することを特徴とした送信データ出力制御方法。
(付記12)(請求項7対応)
付記9に記載の送信データ出力制御方法において、
前記送信レート制御モードの特定する工程にあっては、前記ネットワークにおける現時点の信号伝播時間が過去の信号伝播時間の最大値以上になると、前記送信レートを抑制するレート抑制モードを、前記送信レート制御モード特定部が送信レート制御モードとして特定することを特徴とした送信データ出力制御方法。
付記9に記載の送信データ出力制御方法において、
前記送信レート制御モードの特定する工程にあっては、前記ネットワークにおける現時点の信号伝播時間が過去の信号伝播時間の最大値以上になると、前記送信レートを抑制するレート抑制モードを、前記送信レート制御モード特定部が送信レート制御モードとして特定することを特徴とした送信データ出力制御方法。
(付記13)(請求項8対応)
付記9に記載の送信データ出力制御方法において、
前記送信データ出力部を駆動制御する工程にあっては、予め装備されたデータ受信部の受信バッファサイズの空き容量がゼロとならない限り、前記送信レートの上限値を越えない範囲で且つ最大限の送信レートで、前記送信レート制御部が前記データの送出制御を継続するようにしたことを特徴とする送信データ出力制御方法。
付記9に記載の送信データ出力制御方法において、
前記送信データ出力部を駆動制御する工程にあっては、予め装備されたデータ受信部の受信バッファサイズの空き容量がゼロとならない限り、前記送信レートの上限値を越えない範囲で且つ最大限の送信レートで、前記送信レート制御部が前記データの送出制御を継続するようにしたことを特徴とする送信データ出力制御方法。
(付記14)(プログラム発明/付記9対応)
ネットワークを介して通信先に向けて所定量の通信データを出力する送信データ出力部と、この送信データ出力部を駆動制御し前記ネットワークに連続的に送出可能なデータ量を制御する送信レート制御部とを備えた通信装置にあって、
前記ネットワークの輻輳情報に基づいて前記データの送信に必要な送信レート制御モードを特定するレート制御モード特定機能、
この特定された送信レート制御モードに応じて、送信レートの上限値を決定する送信レート上限値決定機能、
および決定された特定の前記送信レートの上限値を越えない範囲で前記送信データを連続的に送出し続けるように、前記送信データ出力部を駆動制御する出力部駆動制御機能、 を設け、これらをコンピュータに実現させるようにしたことを特徴とする送信データ出力制御プログラム。
ネットワークを介して通信先に向けて所定量の通信データを出力する送信データ出力部と、この送信データ出力部を駆動制御し前記ネットワークに連続的に送出可能なデータ量を制御する送信レート制御部とを備えた通信装置にあって、
前記ネットワークの輻輳情報に基づいて前記データの送信に必要な送信レート制御モードを特定するレート制御モード特定機能、
この特定された送信レート制御モードに応じて、送信レートの上限値を決定する送信レート上限値決定機能、
および決定された特定の前記送信レートの上限値を越えない範囲で前記送信データを連続的に送出し続けるように、前記送信データ出力部を駆動制御する出力部駆動制御機能、 を設け、これらをコンピュータに実現させるようにしたことを特徴とする送信データ出力制御プログラム。
(付記15)/付記10対応
付記14に記載の送信データ出力制御プログラムにおいて、
前記送信レート制御モードを特定するレート制御モード特定機能にあっては、
前記ネットワークにおける現時点の信号伝搬時間が過去の信号伝播時間の最小値以下になった場合に、前記送信レートを急増させるレート急増モードを前記送信レート制御モードとして特定する機能を備えた構成とし、
この特定処理機能を前記コンピュータに実現させるようにしたことを特徴とする送信データ出力制御プログラム。
付記14に記載の送信データ出力制御プログラムにおいて、
前記送信レート制御モードを特定するレート制御モード特定機能にあっては、
前記ネットワークにおける現時点の信号伝搬時間が過去の信号伝播時間の最小値以下になった場合に、前記送信レートを急増させるレート急増モードを前記送信レート制御モードとして特定する機能を備えた構成とし、
この特定処理機能を前記コンピュータに実現させるようにしたことを特徴とする送信データ出力制御プログラム。
(付記16)/付記11対応
付記14に記載の送信データ出力制御プログラムにおいて、
前記送信レート制御モードを特定するレート制御モード特定機能にあっては、
前記ネットワークにおける現時点の信号伝播時間が過去の信号伝播時間の最小値よりも大きく且つ最大値よりも小さい場合に、前記送信レートを少しずつ増加させるレート調整モードを前記送信レート制御モードとして特定する機能を備えた構成とし、
この特定処理機能を前記コンピュータに実現させるようにしたことを特徴とする送信データ出力制御プログラム。
付記14に記載の送信データ出力制御プログラムにおいて、
前記送信レート制御モードを特定するレート制御モード特定機能にあっては、
前記ネットワークにおける現時点の信号伝播時間が過去の信号伝播時間の最小値よりも大きく且つ最大値よりも小さい場合に、前記送信レートを少しずつ増加させるレート調整モードを前記送信レート制御モードとして特定する機能を備えた構成とし、
この特定処理機能を前記コンピュータに実現させるようにしたことを特徴とする送信データ出力制御プログラム。
(付記17)/付記12対応
前記送信レート制御モードを特定するレート制御モード特定機能にあっては、
前記ネットワークにおける現時点の信号伝播時間が過去の信号伝播時間の最大値以上になると、前記送信レートを抑制するレート抑制モードを送信レート制御モードとして特定する機能を備えた構成とし、
この特定処理機能を前記コンピュータに実現させるようにしたことを特徴とする送信データ出力制御プログラム。
前記送信レート制御モードを特定するレート制御モード特定機能にあっては、
前記ネットワークにおける現時点の信号伝播時間が過去の信号伝播時間の最大値以上になると、前記送信レートを抑制するレート抑制モードを送信レート制御モードとして特定する機能を備えた構成とし、
この特定処理機能を前記コンピュータに実現させるようにしたことを特徴とする送信データ出力制御プログラム。
(付記18)/付記13対応
付記14に記載の送信データ出力制御プログラムにおいて、
前記送信データ出力部を駆動制御する出力部駆動制御機能にあっては、
予め装備されたデータ受信部の受信バッファサイズの空き容量がゼロとならない限り、送信レートの上限値を越えない範囲で且つ最大限の送信レートで、前記送信データの送出制御を継続する機能を備えた構成とし、
この制御機能を前記コンピュータに実現させるようにしたことを特徴とする送信データ出力制御プログラム。
付記14に記載の送信データ出力制御プログラムにおいて、
前記送信データ出力部を駆動制御する出力部駆動制御機能にあっては、
予め装備されたデータ受信部の受信バッファサイズの空き容量がゼロとならない限り、送信レートの上限値を越えない範囲で且つ最大限の送信レートで、前記送信データの送出制御を継続する機能を備えた構成とし、
この制御機能を前記コンピュータに実現させるようにしたことを特徴とする送信データ出力制御プログラム。
この出願は2012年11月5日に出願された日本出願特願2012−243363を基礎とする優先権を主張し、その開示の全てをここに取り込む。
通信端末、通信中継装置、通信サーバ装置、及び有線通信、無線通信に係る各システムなどに適用可能である。
1 通信装置
2 相手側通信装置
10 ネットワーク
11 送信データ出力部
12 ネットワークインタフェース部
13 データ受信部
13A 受信バッファ
14 RTT計算部
15 受信レート計算部
16 送信レート制御モード特定部
17 送信レート計算部
18 送信レート制御部
18A 最大レート送信制御機能
19 データ送信部
2 相手側通信装置
10 ネットワーク
11 送信データ出力部
12 ネットワークインタフェース部
13 データ受信部
13A 受信バッファ
14 RTT計算部
15 受信レート計算部
16 送信レート制御モード特定部
17 送信レート計算部
18 送信レート制御部
18A 最大レート送信制御機能
19 データ送信部
ここで、パラメータnは、事前に設定しておく任意の自然数である。また、例えば、ボトルネック回線の仕様上の帯域上限値B_maxが既知である場合には、「R_lim=(1−α)×R_lim+α×B_max」としてもよい。ただし、パラメータαは事前に設定しておく0<α<1の範囲の実数である。
Claims (10)
- ネットワークを介して通信先に向けて所定量の通信データを出力する送信データ出力部と、この送信データ出力部を駆動制御し前記ネットワークに連続的に送出可能なデータ量を制御する送信レート制御部とを備えた通信装置であって、
前記送信レート制御部が、予め決定された特定の送信レートの上限値を越えない範囲で前記送信データを連続的に送出し続けるように制御する送信レート制御機能を備えていることを特徴とした通信装置。 - 請求項1に記載の通信装置において、
前記送信レート制御部には、前記ネットワークの輻輳情報に基づいて送信レート制御モードを特定する送信レート制御モード特定部と、この特定された送信レート制御モードに応じて送信レートの上限値を決定する送信レート計算部とが併設され、
この送信レート制御モード特定部および送信レート計算部の各出力情報に基づいて、前記送信レート制御部が、前記送信データ出力部の出力動作を制御する機能を備えていることを特徴とした通信装置。 - 請求項2に記載の通信装置において、
前記送信レート制御モード特定部は、送信レート制御モードとして、前記ネットワークの輻輳情報に基づいて、送信レートを急増させるレート急増モードと、送信レートを少しずつ増加させるレート調整モードと、送信レートを抑制するレート抑制モードとの何れか一つに特定する機能を備えていることを特徴とした通信装置。 - 請求項3に記載の通信装置において、
前記送信レート制御モード特定部は、前記ネットワークにおける信号伝搬時間が、早い場合、通常の場合、又は遅い場合のそれぞれについて、対応する前記送信レート制御モードを特定する制御モード特定機能を備えていることを特徴とした通信装置。 - 請求項2に記載の通信装置において、
前記送信レート制御モード特定部は、現時点の信号伝播時間が過去の信号伝播時間の最小値以下になると、送信レートを急増させるレート急増モードを前記送信レート制御モードとして特定する機能を備えていることを特徴とする通信装置。 - 請求項2に記載の通信装置において、
前記送信レート制御モード特定部は、現時点の信号伝播時間が過去の信号伝播時間の最小値よりも大きく且つ最大値よりも小さい場合に、送信レートを少しずつ増加させるレート調整モードを、前記送信レート制御モードとして特定する機能を備えていることを特徴とする通信装置。 - 請求項2に記載の通信装置において、
前記送信レート制御モード特定部は、現時点の信号伝播時間が過去の信号伝播時間の最大値以上になると、送信レートを抑制するレート抑制モードを送信レート制御モードとして特定する機能を備えていることを特徴とする通信装置。 - 請求項1に記載の通信装置において、
前記送信レート制御部は、予め装備したデータ受信部の受信バッファサイズの空き容量がゼロとならない限りは、送信レート上限値を越えない範囲で最大限の送信レートでデータの送出制御を継続する最大レート送信制御機能を備えていることを特徴とする通信装置。 - ネットワークを介して通信先に向けて所定量の通信データを出力する送信データ出力部と、この送信データ出力部を駆動制御し前記ネットワークに連続的に送出可能なデータ量を制御する送信レート制御部とを備えた通信装置にあって、
前記ネットワークから得られる輻輳情報に基づいて予め装備された送信レート制御モード特定部が、前記データの送信に必要な送信レート制御モードを特定し、
この特定された送信レート制御モードに応じて、予め装備された送信レート計算部が送信レートの上限値を決定し、
この決定された特定の送信レートの上限値を越えない範囲で前記送信データを連続的に送出し続けるように、前記送信レート制御部が前記送信データ出力部を駆動制御するようにしたことを特徴とする送信データ出力制御方法。 - ネットワークを介して通信先に向けて所定量の通信データを出力する送信データ出力部と、この送信データ出力部を駆動制御し前記ネットワークに連続的に送出可能なデータ量を制御する送信レート制御部とを備えた通信装置にあって、
前記ネットワークの輻輳情報に基づいてデータ送信に必要な送信レート制御モードを特定するレート制御モード特定機能、
この特定された送信レート制御モードに応じて、送信レートの上限値を決定する送信レート上限値決定機能、
および決定された特定の前記送信レートの上限値を越えない範囲で前記送信データを連続的に送出し続けるように、前記送信データ出力部を駆動制御する出力部駆動制御機能、 を設け、これらをコンピュータに実現させるようにしたことを特徴とする送信データ出力制御プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012243363 | 2012-11-05 | ||
JP2012243363 | 2012-11-05 | ||
PCT/JP2013/079785 WO2014069642A1 (ja) | 2012-11-05 | 2013-11-01 | 通信装置、送信データ出力制御方法、及びそのプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2014069642A1 true JPWO2014069642A1 (ja) | 2016-09-08 |
Family
ID=50627534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014544614A Pending JPWO2014069642A1 (ja) | 2012-11-05 | 2013-11-01 | 通信装置、送信データ出力制御方法、及びそのプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US9674101B2 (ja) |
EP (1) | EP2916521B1 (ja) |
JP (1) | JPWO2014069642A1 (ja) |
WO (1) | WO2014069642A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9992120B2 (en) * | 2015-10-21 | 2018-06-05 | Citrix Systems, Inc. | System and method for rate-based packet transmission over a network |
CN109417493B (zh) * | 2016-07-01 | 2023-01-20 | 瑞典爱立信有限公司 | 往返时间偏差控制方法和布置 |
JP6983883B2 (ja) * | 2016-11-03 | 2021-12-17 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 無線通信方法、装置、およびシステム |
US10567300B2 (en) * | 2017-11-22 | 2020-02-18 | Cisco Technology, Inc. | Layer 3 fair rate congestion control notification |
JP7043808B2 (ja) | 2017-11-30 | 2022-03-30 | 富士通株式会社 | 通信装置、通信システム、および通信速度制御方法 |
CN108494698B (zh) * | 2017-12-13 | 2022-02-25 | 天地伟业技术有限公司 | 一种基于传输速率的拥塞控制方法 |
KR102139378B1 (ko) * | 2018-11-20 | 2020-07-29 | 울산과학기술원 | 혼잡 제어 방법 및 장치 |
US11296988B2 (en) | 2019-11-14 | 2022-04-05 | Mellanox Technologies, Ltd. | Programmable congestion control communication scheme |
US11218413B2 (en) * | 2019-11-14 | 2022-01-04 | Mellanox Technologies, Ltd. | Congestion control management method derived from packets at a network adapter |
CN114070794A (zh) * | 2020-08-06 | 2022-02-18 | 迈络思科技有限公司 | 可编程拥塞控制通信方案 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4101993B2 (ja) | 1999-12-03 | 2008-06-18 | 三菱電機株式会社 | 有線無線混在網データ配信装置及び有線無線混在網データ配信方法 |
US20020075895A1 (en) * | 2000-10-27 | 2002-06-20 | Takao Yamaguchi | Transmission rate controller and transmission rate control method |
JP4351418B2 (ja) | 2002-04-26 | 2009-10-28 | 株式会社エヌ・ティ・ティ・ドコモ | マルチメディアストリーミング送出レート制御方法および装置 |
JP3665309B2 (ja) | 2002-08-19 | 2005-06-29 | 株式会社国際電気通信基礎技術研究所 | 通信システム、通信装置及び通信方法 |
KR100526187B1 (ko) | 2003-10-18 | 2005-11-03 | 삼성전자주식회사 | 모바일 애드 혹 네트워크 환경에서 최적의 전송율을 찾기위한 조절 방법 |
JP4362761B2 (ja) | 2003-10-29 | 2009-11-11 | ソニー株式会社 | 送信装置および方法、記録媒体、並びにプログラム |
US8125910B2 (en) * | 2004-06-25 | 2012-02-28 | Nec Corporation | Communication system |
JP4147534B2 (ja) | 2005-02-03 | 2008-09-10 | 日本電気株式会社 | 通信装置および通信方法 |
JP4643330B2 (ja) | 2005-03-28 | 2011-03-02 | ソニー株式会社 | 通信処理装置、データ通信システム、および通信処理方法、並びにコンピュータ・プログラム |
JP4407700B2 (ja) | 2007-02-02 | 2010-02-03 | 日本電気株式会社 | 通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラム |
WO2010082091A2 (en) | 2009-01-16 | 2010-07-22 | Mainline Net Holdings Limited | Maximizing bandwidth utilization in networks with high latencies and packet drops using transmission control protocol |
JP5652388B2 (ja) * | 2009-03-06 | 2015-01-14 | 日本電気株式会社 | 通信レート制御方法、送信装置および通信システム |
JP5375416B2 (ja) | 2009-08-03 | 2013-12-25 | 日本電気株式会社 | ストリーム配信装置、ストリーム配信システム、ストリーム配信方法およびストリーム配信プログラム |
EP2515502A1 (en) | 2009-12-14 | 2012-10-24 | Nec Corporation | Communication apparatus and communication control method |
US8923270B2 (en) * | 2011-10-04 | 2014-12-30 | The Chinese University Of Hong Kong | Method for link buffer size and queue length estimation for bandwidth-varying mobile data networks |
WO2013052653A1 (en) * | 2011-10-04 | 2013-04-11 | North Carolina State University | Methods, systems, and computer readable media for reducing wi-fi scanning using cellular network to wi-fi access point mapping information |
-
2013
- 2013-11-01 JP JP2014544614A patent/JPWO2014069642A1/ja active Pending
- 2013-11-01 EP EP13850413.9A patent/EP2916521B1/en not_active Not-in-force
- 2013-11-01 US US14/440,003 patent/US9674101B2/en not_active Expired - Fee Related
- 2013-11-01 WO PCT/JP2013/079785 patent/WO2014069642A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP2916521A1 (en) | 2015-09-09 |
EP2916521A4 (en) | 2016-06-29 |
WO2014069642A1 (ja) | 2014-05-08 |
US20150304226A1 (en) | 2015-10-22 |
EP2916521B1 (en) | 2018-02-21 |
US9674101B2 (en) | 2017-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2014069642A1 (ja) | 通信装置、送信データ出力制御方法、及びそのプログラム | |
WO2018121294A1 (zh) | 一种报文传输方法、终端、网络设备及通信系统 | |
JP4708978B2 (ja) | 高スループットを実現する通信システム、通信端末、セッション中継装置、及び通信プロトコル | |
US9167473B2 (en) | Communication processing method, apparatus and gateway device | |
US9456377B2 (en) | System and method for transmission control protocol service delivery in wireless communications systems | |
JP6274113B2 (ja) | データ送信装置、データ送信方法、及びそのプログラム | |
JP2006217234A (ja) | 通信装置および通信方法 | |
US9485186B2 (en) | Network congestion control with awareness of random packet losses | |
US10594612B2 (en) | Threshold for reduced latency mechanisms | |
WO2006065008A1 (en) | Apparatus for arq controlling in wireless portable internet system and method thereof | |
US10111130B2 (en) | Supporting delivery of data packets using transmission control protocol in a wireless communication network | |
US9313671B2 (en) | Wireless communication system, base station, and wireless communication method | |
JP2012095190A (ja) | 通信装置、通信システム、プログラム及び通信方法 | |
CN108432287A (zh) | 一种数据传输方法及网络侧设备 | |
JP2013085135A (ja) | ネットワーク端末装置およびデータ伝送方法 | |
JP6217424B2 (ja) | 制御装置及び制御方法 | |
US20220369151A1 (en) | Method and system for channel quality assisted transport in wireless network | |
JP4888571B2 (ja) | 受信装置、受信方法、無線通信システム、及び通信方法 | |
WO2017071281A1 (zh) | 无线链路控制层轮询定时器的时长调整方法及装置 | |
WO2019146563A1 (ja) | 通信装置、通信システム、通信方法及びプログラム | |
JP4925916B2 (ja) | データ送信装置、データ送信方法及びデータ送信プログラム | |
JP6897769B2 (ja) | データ送信装置、方法およびプログラム | |
JP6145190B1 (ja) | 中継装置、中継方法及び中継プログラム | |
KR101685658B1 (ko) | Yellow-Light TCP : 모바일 데이터 전송에서의 에너지 절감형 프로토콜 방법 | |
JPWO2016147650A1 (ja) | 送信装置およびその制御方法、通信システム、並びに通信制御プログラム |