JPH11225166A - フロー制御方法 - Google Patents

フロー制御方法

Info

Publication number
JPH11225166A
JPH11225166A JP2720998A JP2720998A JPH11225166A JP H11225166 A JPH11225166 A JP H11225166A JP 2720998 A JP2720998 A JP 2720998A JP 2720998 A JP2720998 A JP 2720998A JP H11225166 A JPH11225166 A JP H11225166A
Authority
JP
Japan
Prior art keywords
reception
time
transmission
data
throughput
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2720998A
Other languages
English (en)
Inventor
Tadashi Enomoto
正 榎本
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.)
Ultra High Speed Network and Computer Technology Laboratories
Original Assignee
Ultra High Speed Network and Computer Technology Laboratories
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 Ultra High Speed Network and Computer Technology Laboratories filed Critical Ultra High Speed Network and Computer Technology Laboratories
Priority to JP2720998A priority Critical patent/JPH11225166A/ja
Publication of JPH11225166A publication Critical patent/JPH11225166A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 急激なスループット変動にも対応する。 【解決手段】 今回受信した(n)−ACKでの受信確
認データ量D(m)を、今回(n)−ACKの受信時刻
と前回(n)−ACKの受信時刻との時間差で除算する
ことにより、最新の推定スループット18を算出し、こ
の推定スループット18に基づいて送信ウィンドウサイ
ズを算出する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、フロー制御方法に
関し、特に送信側で推定したスループットに基づいて転
送データのフロー制御を行うフロー制御方法に関するも
のである。
【0002】
【従来の技術】一般に、OSI参照モデルのトランスポ
ート層(第4層)では、TCPなどのコネクション型通
信プロトコルを用いて、ネットワークに依存せず、各通
信端末で動作する上位アプリケーション間すなわちエン
ド・ツー・エンドのデータ転送サービスが提供される。
【0003】このような通信プロトコルでは、トラフィ
ックの過負荷によりデータ転送の渋滞を回避するため、
フロー制御として、通信相手との間の実際的な伝送速度
すなわちスループットに基づいて、送信ウィンドウサイ
ズ(送信側のデータ送信量)を制御するものとなってい
る。従来のフロー制御では、所定の固定時間の間に通信
相手からのACKにより送達が確認されたデータ量を、
その固定時間で除算することにより、スループットを推
定するものとなっていた。
【0004】
【発明が解決しようとする課題】しかしながら、このよ
うな従来のフロー制御方法では、所定の固定時間におけ
る送達確認データ量をスループットとして算出している
ため、新たなスループットを得るには少なくとも固定時
間だけ時間が必要となり、スループットの急激な変動に
追従したフロー制御を実行することができないという問
題点があった。本発明はこのような課題を解決するため
のものであり、急激なスループット変動にも対応できる
フロー制御方法を提供することを目的としている。
【0005】
【課題を解決するための手段】このような目的を達成す
るために、本発明によるフロー制御方法は、送信側で
は、受信側からの第1の受信応答から得られた受信側で
の受信確認データ量を、第1の受信応答が送信側で検出
された第1の受信時刻とこの第1の受信応答の直前に検
出された第2の受信応答が検出された第2の受信時刻と
の時間差で除算することにより推定スループットを算出
し、この推定スループットに基づいて送信側から送出す
る転送データ量を算出するようにしたものである。
【0006】また、送信側では、各転送データの送出か
らそれぞれの転送データに対する受信応答の検出までに
要する受信応答検出時間を算出し、過去に算出された受
信応答検出時間のうち最も小さい最小受信応答検出時間
と算出された推定スループットとの積と、受信側から通
知された受信可能データ量とのうち、いずれか小さい方
を転送データ量として設定するようにしたものである。
【0007】
【発明の実施の形態】次に、本発明について図面を参照
して説明する。図1は本発明の一実施の形態であるフロ
ー制御方法が適用される通信プロトコルのデータ転送制
御部を示す説明図である。以下、OSI参照モデルの第
n層で用いられる通信プロトコルのデータ転送制御部を
例に説明する。
【0008】第n層には、通信相手との間で所定のコネ
クションを設定・解除するコネクション設定解除制御部
11と、推定したスループットに基づいてフロー制御を
行うデータ転送制御部12とが設けられている。各層
は、隣接上位層からの「リクエスト(要求)」に応じて
「コンファメーション(確認)」を返送し、また必要に
応じて「インディケーション(指示)」送信し「レスポ
ンス(応答)」を受信することにより、隣接上位層との
間で各種制御およびデータのやり取りが行われる。
【0009】データ転送制御部12では、フロー制御を
含む各種データ転送制御のためのプログラム13と、デ
ータ転送制御に必要な各種制御データ(14〜18)と
を用いて、データ転送制御が実行される。(n)−DA
TA送信履歴14は第n層でのデータ送信履歴情報、
(n)−ACK受信履歴15は第n層でのデータ受信履
歴情報である。
【0010】また、最小RTT16は過去の受信応答検
出時間(ラウンドトリップタイム:RTT)のうち最小
のRTT、ウィンドウサイズ17は自己の送信可能デー
タ量および相手の受信可能データ量、推定スループット
18は最新の(n)−ACKに基づいて算出されたスル
ープット、送信待ちキュー19は送信待ちのデータが保
持されるキューバッファである。なお、ここでいうRT
Tとは、送信側からデータを送信した時刻から、受信側
でそのデータが受信確認されて送信側へその受信応答が
到達するまでの所要時間を示している。
【0011】次に、図2を参照して、本発明の動作につ
いて説明する。図2は本発明のフロー制御処理動作を示
す状態遷移フローである。以下では、OSI参照モデル
第n層のデータ転送処理におけるフロー制御を例に説明
する。なお、ここでは、データ転送開始後の処理動作に
ついて説明し、他の事象、例えばデータ転送開始・終了
時などの処理動作についての説明は省略する。
【0012】送信側第n層のデータ転送制御部12によ
り、送信側から送信した第n層のデータ、すなわち
(n)−DATAが送信される。これが受信側で正常に
受信された場合、受信側第n層のデータ転送制御部(図
示せず)は、受信した(n)−DATAの受信確認、す
なわち(n)−ACKを送信側に対して返送する。
【0013】なお、この(n)−ACKにより、受信確
認されたデータの位置を示す受信シーケンス番号(アク
ノリッジ・ナンバ:ACK)や、受信側で受信可能なデ
ータ量を示す受信ウィンドウサイズ(ウィンドウ:WN
DW)などの制御情報が送信側に通知される。
【0014】送信側のデータ転送部12では、各種デー
タ転送処理中であって、ACKまたはタイムアウト待ち
状態(ステップ21)において、受信側からの(n)−
ACKを受信した場合(ステップ22)には、その
(n)−ACKの受信シーケンス番号を確認する。そし
て、前回通知された受信シーケンス番号と今回通知され
たものを比較する(ステップ23)。
【0015】ここで、受信シーケンス番号が更新されて
いない場合には(ステップ23:NO)、受信側で新た
にデータが受信処理されておらず、送信ウィンドウサイ
ズの更新処理が不要であると判断して、ステップ21に
戻る。また、受信シーケンス番号が更新されている場合
には(ステップ23:YES)、図3に示すような、最
小RTT算出処理30に移行する。
【0016】図3は、最小RTT算出処理を示すフロー
チャートである。まず、(n)−ACK受信履歴15
(図1参照)から、今回受信した(n)−ACKの受信
時刻をTr(m)として取得するとともに(ステップ3
1)、(n)−DATA送信履歴14から、今回受信し
た(n)−ACKにより受信確認された(n)−DAT
Aの送出時刻Ts(m)を取得する。
【0017】そして、この受信時刻Tr(m)と送出時
刻Ts(m)との時間差を求めることにより、今回受信
した(n)−ACKに関する受信応答検出時間RTTを
算出する(ステップ33)。ここで、今回得られたRT
Tと、通信開始から今までに算出したRTTのうち最も
小さい値の最小RTT16(図1参照)とを比較し(ス
テップ34)、今回得られたRTTの方が小さい場合に
のみ(ステップ34:YES)、最小RTT15を更新
記憶する(ステップ35)。
【0018】このようにして、最小RTT算出処理(ス
テップ30:図2参照)を実行した後、図4に示すよう
な、推定スループット算出処理を実行する(ステップ4
0)。図4は、推定スループット算出処理を示すフロー
チャートである。まず、(n)−DATA送信履歴14
と(n)−ACK受信履歴15とを参照することによ
り、今回受信した(n)−ACKにより受信確認された
受信確認データ量D(m)を算出する(ステップ4
1)。
【0019】次に、(n)−ACK受信履歴15から、
今回受信した(n)−ACKの受信時刻Tr(m)を取
得するとともに(ステップ42)、前回受信した(n)
−ACKの受信時刻Tr(m)を受得する(ステップ4
3)。そして、受信確認データ量D(m)を、今回受信
時刻Tr(m)と前回受信時刻Tr(m)との差で除算す
ることにより、今回受信した(n)−ACKに基づく最
新の推定スループットを算出し、推定スループット18
として記憶する。
【0020】このようにして、推定スループット算出処
理(ステップ40:図3参照)を実行した後、図5に示
すような、送信ウィンドウサイズ(転送データ量)算出
処理を実行する(ステップ50)。図5は、送信ウィン
ドウサイズの算出処理を示すフローチャートである。
【0021】まず、最小RTT16と推定スループット
18との積と、今回(n)−ACKで通知された受信ウ
ィンドウサイズ(受信可能データ量)とを比較し、いず
れか小さい値をパラメータaに設定する(ステップ5
1)。続いて、送信ウィンドウサイズの最小の大きさを
示す最小ウィンドウサイズをパラメータbに設定する
(ステップ52)。
【0022】なお、最小ウィンドウサイズは、通常、デ
ータ転送制御に用いるプロトコルにより予め設定されて
いる。そして、これらパラメータa,bを比較し、いず
れか大きい値を送信ウィンドウサイズとして算出し、ウ
ィンドウサイズ17として記憶する。
【0023】このようにして、送信ウィンドウサイズ算
出処理(ステップ40:図2参照)を実行することによ
り、最新の推定スループットに基づく送信ウィンドウサ
イズを算出する。そして、送信待ちキュー19に送信待
ちデータがまだ存在しており、有効な送信ウィンドウサ
イズが設定されている場合、すなちわ(n)−DATA
を送信可能な場合には(ステップ24:YES)、送信
待ちデータを送信ウィンドウサイズだけ送信する(ステ
ップ25)。
【0024】また、送信ウィンドウサイズだけデータを
送信した後、あるいは送信待ちデータがなくなった場合
には(ステップ24:NO)、送信処理を終了し、AC
Kまたはタイムアウト待ち状態(ステップ21)に戻
る。
【0025】なお、ステップ21において、(n)−D
ATA送出から所定期間経過前に(n)−ACKが受信
されなかった場合には、(n)−ACKタイムアウトが
発生する(ステップ26)。この場合には、前回(n)
−ACKの受信時刻を不定とし(ステップ27)、前回
(n)−DATAを再送データとして設定する(ステッ
プ28)。
【0026】これにより、最小RTT15,推定スルー
プット18,受信ウィンドウサイズ17が未定となり、
続く、ステップ50の送信ウィンドウサイズ算出処理
(ステップ50)では、送信ウィンドウサイズとして、
パラメータbすなわち最小ウィンドウサイズ×2が設定
される。
【0027】このように、本発明は、今回受信した
(n)−ACKでの受信確認データ量D(m)を、今回
(n)−ACKの受信時刻と前回(n)−ACKの受信
時刻との時間差で除算することにより、最新の推定スル
ープット18を算出し、この推定スループット18に基
づいて送信ウィンドウサイズを算出するようにしたもの
である。
【0028】したがって、従来のように、所定の固定時
間の間に通信相手からの受信応答により送達が確認され
た総データ量を、その固定時間で除算することにより、
スループットを推定するものと比較して、受信応答が検
出されるごとに新たなスループットを得ることができ、
スループットの急激な変動に追従したフロー制御を実行
することができる。また、スループットの検出周期が固
定されていないため、例えば通信回線速度の範囲など適
用可能な通信条件が少なくなり、各種通信に適用でき
る。
【0029】また、通信開始から今までに算出した最も
小さい最小RTT16と、算出された推定スループット
18との積と、受信側から通知された受信ウィンドウサ
イズとのうち、いずれか小さい方を送信ウィンドウサイ
ズとして設定するようにしたものである。したがって、
最新のRTTを用いて算出する場合と比較して、ネット
ワーク負荷が増大しRTTが増加した場合でも、RTT
の変動にあまり左右されず、変動を抑制して安定した送
信ウィンドウサイズを得ることができ、安定したフロー
制御を行える。
【0030】以下、図6を参照して、本発明の実施例に
ついて説明する。図6は、本発明の実施例を示すシーケ
ンス図である。まず、時刻Ts0において、4つの
(n)−DATAが送信側第n層のデータ転送制御部か
ら受信側第n層のデータ転送制御部に対して、順に送信
されたとする。この場合、最小RTTおよび推定スルー
プットとも不定である。
【0031】受信側では、これら(n)−DATAを受
信し、正常受信された場合には、これら(n)−DAT
Aに対する受信確認(n)−ACKを送信側に返送す
る。ここでは、2つの(n)−DATAを受信するごと
に、(n)−ACKが返送されている。
【0032】送信側では、時刻Tr1に最初の(n)−
ACKを受信し、前述したステップ22,23(図2参
照)が実行された後、ステップ30の最小RTT算出処
理により、 最小RTT=Tr1−Ts0 が算出される。なお、この時点では前回(n)−ACK
が存在しないことから、推定スループットは不定のまま
である。
【0033】続く時刻Tr2において、送信側で次の
(n)−ACKが受信された場合、最小RTT算出処理
(ステップ30)において、 RTT=Tr2−Ts0 が求められるが、時刻Tr1に求めた最小RTTの方が
小さいため、最小RTTは更新されない。
【0034】また、推定スループット算出処理(ステッ
プ40)では、前回(n)−ACKが存在することか
ら、 推定スループット=2個/(Tr2−Tr1) が算出される。
【0035】これにより、送信ウィンドウサイズ算出処
理(ステップ50)において、 送信ウィンドウサイズ=最小RTT×推定スループット が算出され、この送信ウィンドウサイズに基づいて送信
待ちデータが送信されるものとなる。
【0036】
【発明の効果】以上説明したように、本発明は、受信側
からの第1の受信応答から得られた受信側での受信確認
データ量を、第1の受信応答が送信側で検出された第1
の受信時刻とこの第1の受信応答の直前に検出された第
2の受信応答が検出された第2の受信時刻との時間差で
除算することにより推定スループットを算出し、この推
定スループットに基づいて送信側から送出する転送デー
タ量を算出するようにしたものである。したがって、従
来のように、所定の固定時間の間に通信相手からの受信
応答により送達が確認された総データ量を、その固定時
間で除算することにより、スループットを推定するもの
と比較して、受信応答が検出されるごとに新たなスルー
プットを得ることができ、スループットの急激な変動に
追従したフロー制御を実行することができる。また、ス
ループットの検出周期が固定されていないため、例えば
通信回線速度の範囲など適用可能な通信条件が少なくな
り、各種通信に適用できる。
【0037】また、送信側では、各転送データの送出か
らそれぞれの転送データに対する受信応答の検出までに
要する受信応答検出時間を算出し、過去に算出された受
信応答検出時間のうち最も小さい最小受信応答検出時間
と算出された推定スループットとの積と、受信側から通
知された受信可能データ量とのうち、いずれか小さい方
を転送データ量として設定するようにしたものである。
したがって、最新の受信応答検出時間を用いて算出する
場合と比較して、ネットワーク負荷が増大し受信応答検
出時間が増加した場合でも、受信応答検出時間の変動に
あまり左右されず、変動を抑制して安定した送信ウィン
ドウサイズを得ることができ、安定したフロー制御を行
える。
【図面の簡単な説明】
【図1】 本発明の一実施の形態によるフロー制御が適
用されるデータ転送制御部を示すブロック図である。
【図2】 本発明のフロー制御処理動作を示す状態遷移
フローである。
【図3】 最小RTT算出処理を示すフローチャートで
ある。
【図4】 推定スループット算出処理を示すフローチャ
ートである。
【図5】 送信ウィンドウサイズ算出処理を示すフロー
チャートである。
【図6】 本発明の実施例を示すシーケンス図である。
【符号の説明】
11…コネクション設定解放制御部、12…データ転送
制御部、13…プログラム、14…(n)−DATA送
信履歴、15…(n)−ACK受信履歴、16…最小R
TT、17…ウィンドウサイズ、18…推定スループッ
ト、19…送信待ちキュー。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 送信側から送出した転送データが受信側
    で受信されたことを示す受信側からの受信応答に基づい
    て、順次、送信側から転送データを送出するとともに、
    送信側で推定した受信側へのデータ転送に対するスルー
    プットに応じてデータ送信量を制御するフロー制御方法
    において、 送信側では、 受信側からの第1の受信応答から得られた受信側での受
    信確認データ量を、第1の受信応答が送信側で検出され
    た第1の受信時刻とこの第1の受信応答の直前に検出さ
    れた第2の受信応答が検出された第2の受信時刻との時
    間差で除算することにより推定スループットを算出し、 この推定スループットに基づいて送信側から送出する転
    送データ量を算出することを特徴とするフロー制御方
    法。
  2. 【請求項2】 請求項1記載のフロー制御方法におい
    て、 送信側では、 各転送データの送出からそれぞれの転送データに対する
    受信応答の検出までに要する受信応答検出時間を算出
    し、 過去に算出された受信応答検出時間のうち最も小さい最
    小受信応答検出時間と算出された推定スループットとの
    積と、受信側から通知された受信可能データ量とのう
    ち、いずれか小さい方を転送データ量として設定するこ
    とを特徴とするフロー制御方法。
JP2720998A 1998-02-09 1998-02-09 フロー制御方法 Pending JPH11225166A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2720998A JPH11225166A (ja) 1998-02-09 1998-02-09 フロー制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2720998A JPH11225166A (ja) 1998-02-09 1998-02-09 フロー制御方法

Publications (1)

Publication Number Publication Date
JPH11225166A true JPH11225166A (ja) 1999-08-17

Family

ID=12214723

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2720998A Pending JPH11225166A (ja) 1998-02-09 1998-02-09 フロー制御方法

Country Status (1)

Country Link
JP (1) JPH11225166A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6934251B2 (en) 2000-02-23 2005-08-23 Nec Corporation Packet size control technique
JP2006129277A (ja) * 2004-10-29 2006-05-18 Sharp Corp 通信装置、通信方法、通信プログラム、通信プログラムを記録した記録媒体、および通信システム
WO2007015428A1 (ja) * 2005-08-01 2007-02-08 Matsushita Electric Industrial Co., Ltd. 送信装置および送信方法
JP2007201702A (ja) * 2006-01-25 2007-08-09 Mitsubishi Electric Corp 受信装置、通信装置および通信方法
JP2007295313A (ja) * 2006-04-25 2007-11-08 Kyocera Corp 送信装置及び送信方法
JP2011199612A (ja) * 2010-03-19 2011-10-06 Hitachi Ltd 移動通信システム、及び通信方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6934251B2 (en) 2000-02-23 2005-08-23 Nec Corporation Packet size control technique
JP2006129277A (ja) * 2004-10-29 2006-05-18 Sharp Corp 通信装置、通信方法、通信プログラム、通信プログラムを記録した記録媒体、および通信システム
WO2007015428A1 (ja) * 2005-08-01 2007-02-08 Matsushita Electric Industrial Co., Ltd. 送信装置および送信方法
JPWO2007015428A1 (ja) * 2005-08-01 2009-02-19 パナソニック株式会社 送信装置および送信方法
JP4598073B2 (ja) * 2005-08-01 2010-12-15 パナソニック株式会社 送信装置および送信方法
US8098660B2 (en) 2005-08-01 2012-01-17 Panasonic Corporation Transmitting apparatus and transmitting method
JP2007201702A (ja) * 2006-01-25 2007-08-09 Mitsubishi Electric Corp 受信装置、通信装置および通信方法
JP2007295313A (ja) * 2006-04-25 2007-11-08 Kyocera Corp 送信装置及び送信方法
JP2011199612A (ja) * 2010-03-19 2011-10-06 Hitachi Ltd 移動通信システム、及び通信方法
US8483063B2 (en) 2010-03-19 2013-07-09 Hitachi, Ltd. Mobile communication system and communication method

Similar Documents

Publication Publication Date Title
US7310682B2 (en) Systems and methods for improving network performance
US7200111B2 (en) Method for improving TCP performance over wireless links
EP1376945B1 (en) Receiver-based RTT measurement in TCP
US8284669B2 (en) Data acknowledgement apparatus and method
JP4654926B2 (ja) 通信システム、通信装置及びそれらに用いる輻輳制御方法並びにそのプログラム
EP0472486A2 (en) System and method for controlling data transmission
US20050286416A1 (en) Communication system
US20060209838A1 (en) Method and system for estimating average bandwidth in a communication network based on transmission control protocol
JP2001237882A (ja) パケットデータ転送におけるパケットサイズ制御装置及びその制御方法
JPWO2008078585A1 (ja) マスタ・スレーブ通信システムおよびマスタ・スレーブ通信方法
JP2002527935A (ja) データ通信用方法とシステム
CN113242183A (zh) 一种数据流发送控制方法、装置、智能终端及存储介质
EP1898546A2 (en) Communication terminal, comunication control method, and communication control program
JPH11225166A (ja) フロー制御方法
JP7067544B2 (ja) 通信システム、通信装置、方法およびプログラム
JP2000216811A (ja) フロ―制御方法
JP2008053888A (ja) 通信装置、プログラム、情報記憶媒体および通信制御方法
US10728131B2 (en) Terminal and communication method thereof
WO2017118239A1 (zh) 数据包的无线传输跨层优化方法及装置
JP2000134279A (ja) フロー制御方法
JP3163479B2 (ja) 帯域制御方法
JP5387058B2 (ja) 送信装置、送信レート算出方法及び送信レート算出プログラム
JP3158357B2 (ja) 再送制御方法
JP2893398B1 (ja) 輻輳制御方法
JP4925916B2 (ja) データ送信装置、データ送信方法及びデータ送信プログラム