JPH02257736A - データ通信システムのフロー制御装置 - Google Patents

データ通信システムのフロー制御装置

Info

Publication number
JPH02257736A
JPH02257736A JP1079811A JP7981189A JPH02257736A JP H02257736 A JPH02257736 A JP H02257736A JP 1079811 A JP1079811 A JP 1079811A JP 7981189 A JP7981189 A JP 7981189A JP H02257736 A JPH02257736 A JP H02257736A
Authority
JP
Japan
Prior art keywords
data
window
flag
timing
buffers
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
JP1079811A
Other languages
English (en)
Inventor
Hideyuki Fukuoka
秀幸 福岡
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 JP1079811A priority Critical patent/JPH02257736A/ja
Publication of JPH02257736A publication Critical patent/JPH02257736A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はコンピュータネットワークに利用する。
本発明は、コンピュータネットワークのフロー制御に関
する。
〔概要〕
本発明は通信回線を介してデータパケットを送受信する
データ送信装置、データ受信装置、および受信したデー
タを記憶する受信バッファを備えたデータ通信システム
のフロー制御装置において、受信バッファの使用数が上
位しきい値を越えたときはウィンドウ更新を間引くタイ
ミングを制御するためのフラグを用いこれを送信側に転
送してデータの送信を間引き、下位しきい値以下になっ
たときはウィンドウ更新を増やすタイミングを制御する
ためのフラグを用いてこれを送信側に転送してデータの
送信を増やすことにより、バッファの使用数を所定値以
下におさえて安定したフロー制御を行えるようにしたも
のである。
〔従来の技術〕
コンピュータネットワーク内に必要以上のパケットが滞
留してふ(そうが生じないためのフロー制御方式として
ハンドシェーク方式、ウィンドウ制御方式などが提案さ
れているが、遅延の大きい系では一度にW個の受信バッ
ファを確保するウィンドウ制御方式が有効である。この
方式では送信側は連続して転送される一連のパケットに
対してモジュロmで送信順序番号をつけて送信し、受信
側は直前に受信したパケットの送信順序番号をnとする
とき、n+1 (モジュロm)の受信順序番号をつけた
受信可バケツ)RRを送り返す。受信順序番号は送信順
序番号をnまでのパケットの受信確認とウィンドウの下
限値の二つの意味を有する。送信側は受信可バケツ)R
R(n+1)を受信すると、n+w (モジュロm)ま
でのパケットを送信できる。
このウィンドウ制御を行えば送受信主体の対ごとにW個
を超えるパケットがネットワーク内に滞留しないことが
保証されるが、遅延の大きい系で連続転送を可能にする
ためにはWの値は膨大なものとなる。受信側が送信側よ
りも遅い場合には必ず受信バッファにデータが溜まって
しまうが、常にW個の受信バッファを確保することは困
難である。また、ウィンドウ制御方式では、受信側の速
度が速くなって受信バッファが空になった場合に受信側
の速度が遅かったときのウィンドウ制御が解けず、デー
タの連続転送ができなくなってスルーブツトが落ちる問
題点がある。これらに対処するためのウィンドウ制御方
式を次のように改良するのも一つの方法である。
つまり、使用されている受信バッファの数bufを常に
計数し、受信可バケ°ットを送信する直前にbufを受
信バッファの上位しきい値nおよび下位しきい値0と比
較し、buf≧nならばウィンドウ更新番号wkの値は
更新せず、Q<bufくnならばwk=wk+1とし、
buf=0ならばwk=wk+2とする。この比較によ
ってウィンドウ更新番号wkを算出した後、これを伴っ
た受信可パケットRRを送信する。データ送信装置は通
信回線から受信可バケツ)RR(wk)を受信すると、
ウィンドウサイズ(w)+wk−1(モジュロm)まで
の送信順序番号の未送信データパケットを送信する。こ
れによって受信バッファの使用をn個以下に押さえ、か
つ、スループットの良いフロー制御を行うことができる
〔発明が解決しようとする問題点〕
上記改良方法では、受信バッファがいっばいのときはそ
の使用数を減らすためにデータの送信を間引き、受信バ
ッファが空のときはスルーブツトを上げるためにデータ
の送信を多くしているが、このため、ウィンドウサイズ
、伝送遅延、送信順序番号nの値などの条件によってフ
ロー制御が定常状態に落ち着かず、発振をし始めること
がある。
すなわち、送信側は受信バッファの上位しきい値を越え
るまでデータを送り続け、それから受信バッファが空に
なるまではデータをいっさい送らず、それから再び受信
バッファの上位しきい値を越えるまでデータを送り続け
るといったことを繰り返す発振状態に陥る場合がある。
発振状態は不安定であり、ネットワークに大量のデータ
が流れたり、全く流れなくなったりを繰り返すため問題
となる。
本発明はこのような問題を解決するもので、スルーブツ
トの良い安定した定常状態を持つフロー制御を行うこと
ができる装置を提供することを目的とする。
〔問題点を解決するための手段〕
本発明は、通信回線を介してデータパケットを送受信す
るデータ送信装置およびデータ受信装置を備え、この受
信装置には受信したデータを記憶する受信バッファを備
えたデータ通信システムのフロー制御装置において、前
記データ受信装置に、使用されている受信バッファの数
を計数する手段と、その使用されている受信バッファの
数を受信バッファの上位しきい値および下位しきい値と
比較する手段と、前記受信バッファの使用数が上位しき
い値を越えた場合にウィンドウ更新を間引くタイミング
を制御するフラグの状態をチェックする手段と、前記受
信バッファの使用数が下位しきい値以下になった場合に
ウィンドウ更新を増やすタイミングを制御するフラグの
状態をチェックする手段と、これらのチェックする手段
のチェック結果に従ってデータパケットに付与された送
信順序番号からウィンドウ更新番号を算出する手段と、
ウィンドウ更新番号を伴った受信可パケットを送信する
手段とを備え、前記データ送信装置に、この受信可パケ
ットを受信し付与されたウィンドウ更新番号に従ってウ
ィンドウ上限値を算出する手段と、そのウィンドウ上限
値と送信順序番号の比較に従って送信を制御する手段と
を備えたことを特徴とする。
〔作用〕
データ受信装置においては、初期状態では受信バッファ
の数buf=0とし、通信回線からデータを受信した時
buf=buf+lとし、受信可パケットRRを送信し
たときbuf=buf−1として、使用されている受信
バッファの数bufを計数する。ウィンドウ更新番号w
kは初期状態では0とする。
また、ウィンドウ更新を間引くタイミングを制御するた
めのフラグfulと、ウィンドウ更新を増やすタイミン
グを制御するためのフラグempを用意し、初期状態で
はful=l、emp=1とする。
受信可パケットを送信する直前にbufを受信バッファ
に上位しきい値nおよび下位しきい値0と比較し、フラ
グfulとempの状態をチェックし、それらの結果に
従って、次の■〜■のようにウィンドウ更新番号wkを
算出する。すなわち、■ buf≧nかツf u I 
= lならば、wkの値は更新せずに受信可バケツ)R
Rを送信し、ful=Qとする。送信側がその受信可パ
ケットRR(wk)を受信してから送る次のデータD 
(wk+w)を受信したとき、ful=lとする。
■ buf=Qかツe m p = lならばwk=w
k+2と更新して受信可バケツ)RRを送信し、emp
=Qとする。送信側がそのRR(wk)を受信してから
送る次のデータD (wk+w1)を受信したとき、e
mp= lとする。
■ 上記■■以外のとき、wk=wk+ lと更新して
受信可バケツ)RRを送信する。
データ送信装置は通信回線から受信可パケットRR(w
k)を受信すると、ウィンドウサイズ(w)+wk−1
までの送信順序番号の未送信データパケットを送信する
このように、受信バッファの使用数が上位しきい値を越
えたときはフラグfulを用いて制御しなからデータの
送信を間引き、下位しきい値以下になったときはフラグ
empを用いて制御しなからデータの送信を増やすこと
によって、発振せずにバッファの使用数をn個以下にお
さえて、安定したフロー制御を行うことができる。
〔実施例〕
次に、本発明実施例を図面に基づいて説明する。
図は本発明実施例の構成を示すブロック図である。
本発明実施例は、データ受信手段3を備え、受信したデ
ータを記憶する受信バッファ2に接続されたデータ受信
装置1と、データ送信手段28を備えたデータ送信装置
20とが通信回線100を介して接続され、データ受信
装置1に、受信バッファ2の使用されている数を記憶す
るバッファ記憶手段5と、データ受信手段3がデータを
受信したときにバッファ記憶手段5に記憶された受信バ
ッファ数の値を1だけ加算するバッファ加算手段4と、
受信可バケツ)RR送信のタイミングを制御する受信制
御手段8と、この受信制御手段8から受信可パケットR
R送信命令を受けたききにバッファ記憶手段5に記憶さ
れた受信バッファ数の値を1だけ減算するバッファ減算
手段7と、しきい値を記憶するしきい値記憶手段10と
、バッファ記憶手段5に記憶された受信バッファ数の値
としきい値記憶手段10に記憶された受信バッファ2の
上位のしきい値および下位のしきい値とを比較するしき
い値比較手段9と、ウィンドウ更新を間引くタイミング
を制御するためのフラグを記憶する第一のフラグ記憶手
段13と、しきい値比較手段9による比較の結果受信バ
ッファ数の値が上位しきい値を越えている場合は第一の
フラグ記憶手段13に記憶されたフラグの値をチェック
する第一のフラグチェック手段11と、ウィンドウ更新
を増やすタイミングを制御するためのフラグを記憶する
第二のフラグ記憶手段14と、しきい値比較手段9によ
る比較の結果受信バッファ数の値が下位しきい値以下の
場合に第二のフラグ記憶手段14に記憶されたフラグの
値をチェックする第二のフラグチェック手段I2と、比
較力よびチェックの結果にしたがって第一および第二の
フラグ記憶手段に記憶されたフラグの値を更新するフラ
グ更新手段16と、ウィンドウ更新番号の値を記憶する
ウィンドウ更新番号記憶手段18と、このウィンドウ更
新番号記憶手段18に記憶されたウィンドウ更新番号を
更新するウィンドウ更新番号更新手段17と、ウィンド
ウ更新番号記憶手段18に記憶されたウィンドウ更新番
号を伴った受信可バケッ1−RRを送信する受信可パケ
ット送信手段19とを備え、データ送信装置20に、受
信可パケッ1−RRを受信する受信可パケット受信手段
21と、ウィンドウサイズを記憶するウィンドウサイズ
記憶手段22と、ウィンドウ上限値を記憶するウィンド
ウ上限値記憶手段24と、受信可パケットRRの受信に
伴うウィンドウ更新番号とウィンドウサイズ記憶手段2
2に記憶されたウィンドウサイズとを加算し、ウィンド
ウ上限値記憶手段24に記憶する加算手段23と、最新
に送信されたデータパケットの送信順序番号を記憶する
送信順序番号記憶手段手段25と、この送信順序番号記
憶手段25に記憶された送信順序番号とウィンドウ上限
値記憶手段24に記憶されたウィンドウの上限値とを比
較する比較手段26と、ウィンドウ上限値を越えない送
信順序番号をもつ未送信のデータパケットの送信をデー
タ送信手段28に命令する送信制御手段27とを備える
データ受信装置1はデータ受信手段3がデータパケット
を受信すると、これを受信バッファ2に格納する。バッ
ファ記憶手段5は受信バッファ2の使用されている数を
常に記1.αする。初期状態ではバッファ記憶手段5は
値0を記憶している。
データ受信手段3がデータを受信すると、バッファ加算
手段4がバッファ記憶手段5に記憶された受信バッファ
の数bufO値を1だけ加算する。
受信制御手段8は、受信可バケツ)RRを送信するタイ
ミングを制御する。この受信制御手段8から受信可バケ
ツ)RR送信命令を受けるとバッファ減算手段7がバッ
ファ記憶手段5に記憶された受信バッファの数bufO
値を1だけ減算し、しきい値比較手段9がバッファ記憶
手段5に記憶された受信バッファの数bufの値としき
い値記憶手段10に記憶された受信バッファの上位しき
い値n1下位しきい値0とを比較する。その結果、受信
バッファの数bufの値が上位しきい値を越えている場
合は第一のフラグチェック手段11が第一のフラグ記憶
手段13に記憶されたフラグfulの値をチェックし、
下位しきい値以下の場合は第二のフラグチェック手段1
2が第二のフラグ記憶手段14に記憶されたフラグem
pの値をチェックする。
これらの比較およびチェックの結果に従って、フラグ更
新手段16が第一のフラグ記憶手段13に記憶されたウ
ィンドウ更新を間引くタイミングを制御するためのフラ
グfulの値や第二のフラグ記憶手段14に記憶された
ウィンドウ更新を増やすタイミングを制御するためのフ
ラグempの値を更新し、ウィンドウ更新番号更新手段
17がウィンドウ更新番号記憶手段18に記憶されたウ
ィンドウ更新番号wkの値を更新する。
すなわち、buf≧nかつful=1ならば、ウィンド
ウ更新番号更新手段17はウィンドウ更新番号の値wk
=iを更新せず、フラグ更新手段16はful=Qと更
新する。
ウィンドウ更新番号チェック手段15は、受信制御手段
8から受信可バケツ)RR送信命令を受けると更新番号
の値wkの値をチェックし、wki+w(wはウィンド
ウサイズ)となったときにフラグ更新手段16がフラグ
fulの値をfullと更新する。
buf=Qかツe m p = 1ならば、ウィンドウ
更新番号更新手段17はwk=iをwk=i+2と更新
し、フラグ更新手段16はemp=Qと更新する。ウィ
ンドウ更新番号チェック手段15は、受信制御手段8か
ら受信可バケツ)RR送信命令を受けると更新番号の値
wkの値をチェックし、wk++w−1となったときに
フラグ更新手段16がフラグempの値をemp= l
と更新する。
Q<buf<nのときとbuf≧nかつful=0のと
きとbuf=Qかつemp−0のときは、ウィンドウ更
新番号更新手段17はwk=wk+1と更新する。この
結果更新されたウィンドウ更新番号wk (モジュロm
)の値を再びウィンドウ更新番号記憶手段18に記憶す
る。
ウィンドウ更新番号が更新されると、受信可パケット送
信手段19がウィンドウ更新番号記憶手段18に記憶さ
れたウィンドウ更新番号wkを伴った受信可バケツ)R
Rを送信する。
データ送信装置20では、受信可パケット受信手段21
が受信可パケットRRを受信すると、これに伴われたウ
ィンドウ更新番号wkとウィンドウサイズ記憶手段22
に記憶されたウィンドウサイズWと加算手段23が加算
しくモジュロm)、ウィンドウ上限値記憶手段24に記
憶する。送信順序番号記憶手段25は最も新しく送信さ
れたデータパケットの送信順序番号を記1.徴する。
比較手段26は送信順序番号記憶手段25に記憶された
送信順序番号とウィンドウ上限値言己憶手段24に記憶
されたウィンドウの上限値とを比較し、送信制御手段2
7はその結果、ウィンドウ上限値を越えない送信順序番
号を持つ未送信のデータパケットの送信をデータ送信手
段28に命令する。データ送信手段28は送信制御手段
27から送信命令を受けたデータパケットを送信する。
本実施例では、データ受信装置1において、ウィンドウ
更新番号更新手段17がウィンドウ更新番号wkを更新
せずに受信可バケツ)RR(wk)を送信する際に、フ
ラグ更新手段16がフラグfu1をful=Qとし、送
信側が受信可パケットRR(wk)の受信後に送信した
データl)(wk+W)をデータ送信手段3が受信した
ときにフラグ更新手段16がフラグfulをful=l
とし、ful=Qの間はウィンドウ更新番号wkを必ず
更新するようにしている。
また、ウィンドウ更新番号wkを二つ更新して受信可バ
ケツ)RR(wk)を送信する際に、フラグ更新手段1
6がフラグempをemp=Qとし、送信側が受信可バ
ケツ)RR(wk)の受信後に送信したデータD (w
k+w−1)をデータ送信手段3が受信したときにフラ
グ更新手段16がフラグe m pをemp=lとし、
emp=Qの間はウィンドウ更新番号wkを一つずつ更
新するようにしている。
このようにしてフラグfulによってウィンドウ更新を
間引くタイミングを制御し、フラグempによってウィ
ンドウ更新を増やすタイミングを制御しているため発振
状態に陥ることがなく、安定した定常状態のもとてフロ
ー制御を実現することができる。
〔発明の効果〕
以上説明したように本発明によれば、使用されている受
信バッファの数を上位しきい値および下位しきい値と比
較し、受信側に新たに設けた二つのフラグをチェックし
て受信側と送信側の間で同期をとってウィンドウ制御を
行うことにより、使用される受信バッファの数を上位し
きい値以下に制限してデータの連続転送を行うことがで
き、下位しきい値によって受信側の速度変化に対処した
スルーブツトのよい、安定した定常状態を持つフロー制
御を行うことができる。
特に、新たに設けたフラグによって、受信バッファの使
用数が下位しきい値以下になった場合にウィンドウ更新
を増やすタイミングを制御しているため、受信側の処理
速度が速くなったときに素早く新しい定常状態に移行す
ることができ、衛星回線のような遅延時間の大きい系で
も高速パケット通信を実現することが可能になる効果が
ある。
R送信手段、20・・・データ送信装置、21・・・受
信可バケツ)RR受信手段、22・・・ウィンドウサイ
ズ記憶手段、23・・・加算手段、24・・・ウィンド
ウ上限値記憶手段、25・・・送信順序番号記憶手段、
26・・・比較手段、27・・・送信制御手段、28・
・・データ送信手段、100・・・通信回線。
【図面の簡単な説明】
図は本発明実施例の構成を示すブロック図。 1・・・データ受信装置、2・・・受信バッファ、3・
・・データ受信手段、4・・・バッファ加算手段、5・
・・バッファ記憶手段、7・・・バッファ減算手段、訃
・・受信制御手段、9・・・しきい値比較手段、10・
・・しきい値記憶手段、11・・・第一のフラグチェッ
ク手段、12・・・第二のフラグチェック手段、13・
・・第一のフラグ記憶手段、14・・・第二のフラグ記
憶手段、15・・・ウィンドウ更新番号チェック手段、
16・・・フラグ更新手段、17・・・ウィンドウ更新
番号更新手段、18・・・ウィンドウ更新番号記憶手段
、19・・・受信可バケットR:、’i>y

Claims (1)

  1. 【特許請求の範囲】 1、通信回線を介してデータパケットを送受信するデー
    タ送信装置およびデータ受信装置を備え、この受信装置
    には受信したデータを記憶する受信バッファを備えたデ
    ータ通信システムのフロー制御装置において、 前記データ受信装置に、使用されている受信バッファの
    数を計数する手段と、 その使用されている受信バッファの数を受信バッファの
    上位しきい値および下位しきい値と比較する手段と、 前記受信バッファの使用数が上位しきい値を越えた場合
    にウィンドウ更新を間引くタイミングを制御するフラグ
    の状態をチェックする手段と、前記受信バッファの使用
    数が下位しきい値以下になった場合にウィンドウ更新を
    増やすタイミングを制御するフラグの状態をチェックす
    る手段と、これらのチェックする手段のチェック結果に
    従ってデータパケットに付与された送信順序番号からウ
    ィンドウ更新番号を算出する手段と、 ウィンドウ更新番号を伴った受信可パケットを送信する
    手段と を備え、 前記データ送信装置に、 この受信可パケットを受信し付与されたウィンドウ更新
    番号に従ってウィンドウ上限値を算出する手段と、その
    ウィンドウ上限値と送信順序番号の比較に従って送信を
    制御する手段と を備えたことを特徴とするデータ通信システムのフロー
    制御装置。
JP1079811A 1989-03-29 1989-03-29 データ通信システムのフロー制御装置 Pending JPH02257736A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1079811A JPH02257736A (ja) 1989-03-29 1989-03-29 データ通信システムのフロー制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1079811A JPH02257736A (ja) 1989-03-29 1989-03-29 データ通信システムのフロー制御装置

Publications (1)

Publication Number Publication Date
JPH02257736A true JPH02257736A (ja) 1990-10-18

Family

ID=13700595

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1079811A Pending JPH02257736A (ja) 1989-03-29 1989-03-29 データ通信システムのフロー制御装置

Country Status (1)

Country Link
JP (1) JPH02257736A (ja)

Similar Documents

Publication Publication Date Title
Nagle Congestion control in IP/TCP internetworks
US5418912A (en) System and method for controlling buffer transmission of data packets by limiting buffered data packets in a communication session
US4839891A (en) Method for controlling data flow
US5168497A (en) Packet communication processing method
CN106230744A (zh) 一种数据流乱序重组的方法及转发设备
JPH10200598A (ja) 通信装置
KR100797165B1 (ko) 데이터 전송 프로토콜
CN102780621B (zh) 一种上行数据包发送方法、装置及网络设备
Fraser et al. Data transport in a byte stream network
CN101022414B (zh) 一种报文转发的方法和装置
US6745361B1 (en) Method for controlling the message flow in a communication network
WO2021057068A1 (zh) Rdma数据流控方法、系统、电子设备及可读存储介质
US7298703B1 (en) Hysteresis method for reducing control code transmission between a line card and a switching fabric
JPH02257736A (ja) データ通信システムのフロー制御装置
JPH0348558A (ja) 伝送制御方法
JPH0214644A (ja) パケット通信方式
JPH04307831A (ja) 送信バッファ制御装置
JP2606128B2 (ja) コンピュータ間通信方法
JPS6029083A (ja) マルチリンクパケット通信方式
JPH02149152A (ja) 伝送制御方法
JPH0728733A (ja) ネットワークトラフィック制御方法
JPS62290244A (ja) 通信制御装置
JP2520303B2 (ja) デ―タバッファ管理方式
JPS59208957A (ja) 通信制御方式
JPH02305247A (ja) 通信制御装置