JP2001268130A - フロー制御されたネットワーク上におけるtcp接続のフローを制御するための方法および装置、相互接続機器 - Google Patents

フロー制御されたネットワーク上におけるtcp接続のフローを制御するための方法および装置、相互接続機器

Info

Publication number
JP2001268130A
JP2001268130A JP2001029528A JP2001029528A JP2001268130A JP 2001268130 A JP2001268130 A JP 2001268130A JP 2001029528 A JP2001029528 A JP 2001029528A JP 2001029528 A JP2001029528 A JP 2001029528A JP 2001268130 A JP2001268130 A JP 2001268130A
Authority
JP
Japan
Prior art keywords
connection
segment
tcp
flow
receiver
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.)
Withdrawn
Application number
JP2001029528A
Other languages
English (en)
Inventor
Christophe Mangin
クリストフ・マンガン
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.)
MITSUBISHI ELECTRIC INF TECHNOL CENTER EUROP BV
Mitsubishi Electric Information Technology Corp
Original Assignee
MITSUBISHI ELECTRIC INF TECHNOL CENTER EUROP BV
Mitsubishi Electric Information Technology 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 MITSUBISHI ELECTRIC INF TECHNOL CENTER EUROP BV, Mitsubishi Electric Information Technology Corp filed Critical MITSUBISHI ELECTRIC INF TECHNOL CENTER EUROP BV
Publication of JP2001268130A publication Critical patent/JP2001268130A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1671Details of the supervisory signal the supervisory signal being transmitted together with control information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1809Selective-repeat protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/187Details of sliding window management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1806Go-back-N protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/188Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5665Interaction of ATM with other protocols
    • H04L2012/5667IP over ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 TCP接続、特にフロー制御されたネットワ
ークを通して確立された接続すなわち通信路におけるフ
ロー制御において、より単純で実行が容易なものを提案
する。 【解決手段】 任意の多重化ノードのレベルにおいて接
続の受信側から送信側へのアップリンク上の受信側から
の応答を受信するステップ100、第1に接続の送信側
から受信側へのダウンリンク上の任意の多重化ノードか
ら伝送された最後のセグメントのシーケンス番号である
と定義され、セグメント長が加えられるTCP接続に対
応付けられた第1のコンテキスト値と、第2に応答セグ
メント中に示されるシーケンス番号と、の差に基づき、
前記応答セグメント中に含まれるウインドウサイズパラ
メータを制御するステップ200−600、このように
制御されたウインドウサイズパラメータと共に応答セグ
メントを多重化ノードから接続のアップリンク上の送信
側へ伝送するステップ700を含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、TCP接続、より
詳細にはフロー制御されたネットワーク上を通して確立
されたTCP接続のフローを制御するための方法および
装置に関する。
【0002】
【従来の技術】以下でTCPと呼ぶTCPプロトコル(T
ransmission Control Protocol)は、TCP/IP層に
おけるトランスポート層のプロトコル(通信規約)であ
る。これはネットワークにおいて非常に広範囲に用いら
れており、インターネットネットワーク上において最も
広く用いられている。これは、上位層におけるアプリケ
ーションプログラム用に、送信側と受信側の間でオクテ
ット(8ビット)のフローを運ぶ双方向通信の形のトラン
スポートサービスを提供し、この上でこれらのプログラ
ムが実行される(これは終端間伝送として知られてい
る)。例えば、送信側および受信側は、それぞれネット
ワークサーバーおよびクライアント端末とすることがで
きる。TCPでサポートされるプロトコルとしては、フ
ァイルを伝送するためのFTP(File Transfer Protoco
l)、インターネットネットワーク上におけるトランザク
ションを扱うHTTP(Hyper Text Transfer Protocol)
または電子メール用SMTP(Simple Mail Transfer Pr
otocol)である。
【0003】データ転送前に、TCPは送信側と受信側
との間に、TCP接続(通信路)と呼ばれる接続を確立
し、フロー制御機構および輻輳制御機構のほかにエラー
検出および補正機構をセットアップする。このようなわ
けで、TCPは接続型(接続モード)プロトコルと呼ば
れ、これはまた信頼性が高い。
【0004】接続の接続は、送信側に関するペア(IP
アドレス、TCPポート)を受信側に関するペア(IPア
ドレス、TCPポート)に双方向に対応付けるものであ
る。IPアドレスはIP層により供給されるのに対し、
TCPポートは局所的である。TCPは伝送されるべき
オクテットのフローをセグメントに分割し、その最大サ
イズは、接続が開始される際に、TCPの2つの端末間
で事前に取り決められる。従って、セグメントはTCP
プロトコルにより使用される単位である。接続の確立
(SYNフラグを運ぶセグメント)、データの転送、デー
タの応答(ACKフラグを運ぶセグメント)、接続のシャ
ットダウン(FINフラグを運ぶセグメント)および接続
の再初期化(RSTフラグを運ぶセグメント)を行なうた
めにセグメントが交換される。
【0005】接続のダウンリンクに沿って(送信側から
受信側へ)通過するセグメントすなわちデータセグメン
トは、シーケンス番号を含んでいる。このシーケンス番
号は、送信側によりデータセグメントのヘッダ内に挿入
される。これは、TCP接続のダウンリンク上を伝送さ
れるデータストリーム内のセグメントにより運ばれるデ
ータの最初のエレメント(実際はオクテット)のランクを
示す。データの肯定応答は、接続のアップリンクに沿っ
て(受信側から送信側へ)通過する応答セグメント(すな
わち応答)により与えられる。各応答セグメントのヘッ
ダは、受信側により挿入されたシーケンス番号を含んで
いる。このシーケンス番号は、TCP接続のダウンリン
ク上を伝送されるデータストリーム内において受信側に
より正しく受信された最後のデータエレメントすなわち
オクテットに続くデータエレメントすなわちオクテット
のランク、すなわち後者により予期される次のデータエ
レメントすなわちオクテットのランクを示す。
【0006】フロー制御機構により、ネットワークの様
々な多重化ノード間のフローの値について何らの仮定を
することなく、フローをエンドツーエンドで、すなわち
接続の2つの端末間で制御することが可能になる。デー
タストリームの伝送における効率を改善するため、この
機構はスライディングウインドウシステムに基づいてい
る。そして次に、輻輳制御は、フロー制御からの情報に
基づいてこのウインドウのサイズに作用し、ネットワー
ク上の輻輳レベルの推定を可能にする。TCPフロー制
御機構の主な特徴の1つは、後者により供給されるネッ
トワークの状態についての何らの明示的な情報をこの機
構が使用しないことである。さらに、輻輳制御機構は、
ネットワーク上の輻輳状態を、フロー制御により供給さ
れる暗黙の信号、例えば応答の到着、タイムアウトの経
過または重複応答の受信などに基づいて決定する。
【0007】IP(Internet Protocol)およびATM(As
ynchronous Transfer Mode)ネットワークなどの純粋な
データグラムネットワークの状況において、フローおよ
び/または輻輳制御機構がTCPの性能に及ぼす影響
は、現在研究主題になっており、すでにこれらの機構を
修正し得る方法が提案されるに至っている。この研究の
目的は、第1にネットワークの利用を改善することおよ
び種々のTCP接続間でリソース(資源)を公平に共有す
ることを可能にすることである。本発明は、この研究活
動分野に関し、より詳細にはTCP接続に応用されるフ
ロー制御技術に関する。
【0008】TCPフロー制御はスライディングウイン
ドウ機構に基づいている。ウインドウWは、オクテット
の数として表され、送信側が受信側からの応答を受けず
に伝送した情報量である。このウインドウ原理により、
TCPが受信側によるセグメントの受信の予測、すなわ
ち応答を待たずにウインドウへセグメントを送信するこ
とが可能になる。この理由により、このウインドウは、
予測ウインドウまたは伝送ウインドウと呼ばれる。ウイ
ンドウサイズWは、輻輳制御により調整され、受信側に
より定められかつ各応答セグメント中に通知された最大
値以下にとどまる。この目的のために、各応答セグメン
トは、ウインドウサイズWaを示すパラメータを含み、
その値は前記最大値に対応する。この機構が働く様子は
図6のダイヤグラムにより示される。データセグメント
は、Seg.1〜Seg.11(Seg.11は一部の
み示されている)で示してある。データセグメントが送
信側から受信側へ転送される方向は矢印で示してある。
図から分かるように、TCPスライディングウインドウ
機構は、セグメントではなくてオクテットに基づいて働
くが、セグメントはすべての実際の目的のためのTCP
プロトコルの単位であり、ここではセグメント数として
表されるデータを参照するのが便利である。応答中に受
信側により発行されるウインドウサイズWaの最大値
は、例えばセグメントSeg.4〜Seg.9の応答セ
グメントスパンに含まれるシーケンス番号の値と共に利
用可能なウインドウを決定する。この例では、応答に含
まれるシーケンス番号は、受信側がすでにSeg.3ま
でのセグメントを受信しかつ応答していることを示す。
パラメータWaの値は、受信側の入力バッファメモリ中
の利用可能な空間を示す。なぜならば、これは受信側が
受け入れる準備ができていると宣言するデータ量に相当
するからである。送信側は、Wu=Wa−Wで定義され
る使用可能なウインドウWuを計算し、これはすでに伝
送されているがまだ応答されていないセグメントSe
g.4〜Seg.6の応答を待つことなく送信側が伝送
できる付加的なオクテット数である。ここで説明した例
では、この使用可能なウインドウWuは、セグメントS
eg.7〜Seg.9にわたる。従って、送信側はこれ
らのセグメントを待つことなく伝送できる。
【0009】バッファメモリが全くなくかつ伝送速度お
よび転送時間で特徴付けられた伝送チャネルのみで構成
されたネットワークを考えてみると、TCP接続のウイ
ンドウを吸収するためにこのネットワークで利用可能な
唯一のメモリ容量は、伝送チャネルの等価メモリであろ
う。任意のTCP接続について、ウインドウサイズW
は、ネットワーク上で送信されかつまだ応答されていな
いデータ量に対応する。物理的に見ると、任意の時間に
ネットワーク内に含まれるデータは、一方では接続のダ
ウンリンク上を転送されているセグメント、他方では接
続のアップリンク上で送られかつ受信側によりすでに処
理されたセグメントに関する応答で構成される。図7に
は、チャネルが12セグメントに相当するウインドウを
吸収できる例が示してある。この例におけるネットワー
ク上では、任意の瞬間において、一方でセグメントSe
g.7〜Seg.12はダウンリンク上を転送される処
理中(一重の矢印で示す)であり、他方で応答Ack1〜
Ack6はアップリンク上を転送される処理中(二重の
矢印で示す)である。セグメントが受信されると受信側
側で応答が指示されるので、後者は、ダウンリンク上で
1つのセグメントを伝送するのにかかる時間に相当する
距離でアップリンク上で間隔を置いて離される。
【0010】伝送速度および時間が両方のリンク上にお
いて等しければ、TCP接続についての最大値として到
達されるはずのウインドウサイズWは次式で表される。
【0011】Wmax=d×RTT (1)
【0012】式中、Wmaxはウインドウの最大サイズ
(オクテットで表される)、dは接続(通信路)の伝送速度
(毎秒当りのオクテットで表される)およびRTT(Round
-Trip Time)は伝送チャネル上のデータの往復の転送時
間すなわちループ時間(秒で表される)を意味する。積d
×RTTは、通過帯域−転送時間積とも呼ばれる。式
(1)は、接続の伝送速度の観点からのTCP性能とこの
接続により使用され得る最大ウインドウサイズとの間の
関連を強調するものである。
【0013】TCP輻輳制御は、失われたセグメントを
検出しそれに応じてウインドウサイズWを調整する機構
にもっぱら基づいている。
【0014】セグメント損失検出機構は、第1に時限伝
送期間の経過に、第2に予測検出に基づく。セグメント
が伝送される時はいつでも、再伝送タイムアウト(RT
O)が送信側端末部で起動される。対応する応答が受信
される前にタイムアウトが満了すれば、TCPはそのセ
グメントを失われたものと見なし、最初のものよりも長
い新規の再伝送タイムアウトを起動して、そのセグメン
トの再伝送に移る。さらに、TCPは、あるセグメント
が失われるとあらかじめ、すなわちそのセグメントに対
応付けられた再伝送タイムアウトが経過する前に仮定す
ることもできる。この予測セグメント損失の検出は、受
信された各セグメントについて応答が系統的に生成され
ることおよび応答が次の予測セグメント(セグメントの
シーケンスにおける次のもの)のシーケンス番号を有し
ているという事実を利用している。この原理を用いるに
あたり、一連のセグメントが異なる順序で到着するなら
ば、受信側は、同一のシーケンス番号(セグメントのシ
ーケンスおいて受信された最後のセグメントに相当す
る)を有する応答を発行するように指示されるかもしれ
ない。そのような応答(重複応答と呼ぶ)は、送信された
以外の順序で受信されたかあるいはまったく受信されな
かった1つ以上のセグメントを除き、セグメントが正し
く受信されたことを送信側に知らせ、有効に予期された
セグメントのシーケンス番号を指示する手段である。送
信側の観点からは、重複応答はネットワーク上の種々の
問題に帰することができる。すなわち、ネットワークが
セグメントを再配列したこと、ネットワークが応答を二
重に行なったことあるいはあるセグメントが失われたこ
とである。後者のケースでは、失われたと仮定されたセ
グメントに続く全てのセグメントは重複応答を生成する
ことになる。
【0015】TCPの送信側は、そのウインドウのサイ
ズを調整するために4種類の異なるアルゴリズムを用い
ている。これらのアルゴリズムは、スロースタート、輻
輳回避、高速伝送および高速回復として知られている。
最初の2つは、接続の確立直後のデータ転送の開始中、
または再伝送タイムアウトの満了により検出されたセグ
メントの損失に続いて用いられる。スロースタートアル
ゴリズムの主目的は、ウインドウサイズWに単独のセグ
メントまでの縮小を課し、次に受信された各応答につい
ての1つのセグメントによりそれを閾値(スロースター
ト閾値あるいは「ssthresh」と呼ばれる)まで
増大させることであり、この点からそれは受信された各
応答についてのセグメントの一部(ウインドウの現在の
サイズで割ったセグメントのサイズに等しい)だけ増大
される。この第2の増大ステップは、輻輳回避アルゴリ
ズムに基づき、ウインドウWが受信側により通知される
限界に達する点まで行なわれる(各応答中に発行される
ウインドウサイズWa)。典型的には、「ssthre
sh」は転送開始時に最大ウインドウサイズおよび再伝
送時間の満了により検出されたセグメント損失に続いて
出されかつまだ応答されていないデータ量の半分に設定
される。高速伝送および高速回復アルゴリズムは、セグ
メント損失が予測される場合に用いられる。言い換える
と、これらは重複応答が受信され1つ以上のセグメント
が失われたと仮定される時に防止手段として作動され
る。これらは、伝送されたがまだ応答されていないデー
タ量の半分にウインドウサイズを縮小するという効果を
有する。
【0016】非常に堅牢であるが、TCPフロー制御お
よび輻輳機構は、プロトコルの性能低下につながること
がある。従って、これらには種々の不都合がある。第1
に、ほかの接続よりも多くのデータを伝送している接続
は他のものよりも大きなウインドウを有している。逆に
言えば、小さいサイズのセグメントの使用あるいはより
長い伝送時間を前提としている接続は、ネットワークで
利用可能なリソースを占有するのがより遅い。この結果
として、種々のTCP接続間で、伝送速度リソースおよ
びネットワークメモリの不公平な分配が生じる。第2
に、エンドツーエンド伝送時間の制御が不十分である。
実際には、接続にはネットワークリソースがあらかじめ
全く割り当ててなく、かつTCPはネットワークの状態
に関する明示的な情報に基づいて働かないので、トラフ
ィック待ち行列の制御されていない伝送時間で特徴付け
られる輻輳ポイントが生じ得る。さらに、満了した再伝
送タイムアウトおよび失われたセグメントの再伝送に基
づく損失の検出機構は、伝送時間に関して制御できない
影響も有している。第3に、正確には、セグメント損失
の検出に基づくというこの検出システムに内在する性質
により、輻輳は後になるまで検出されない。結果とし
て、セグメントの損失、従ってその再伝送を回避するこ
とはできない。第4に、そしてこの欠点は後者に起因す
るのであるが、有効伝送速度は用いても効果がない。な
ぜならば、伝送速度およびメモリリソースは、失われた
セグメントを輻輳ポイントまで運ぶだけでなく、それら
を再伝送するために用いられるからである。この現象
は、「go-back-N」再伝送ストラテジーと呼ばれるもの
によりさらに悪化する。これは再伝送タイムアウトの満
了時に損失が検出された時に用いられ、失われたセグメ
ント以降の全セグメントを再伝送するものである。最後
にそして第5に、データフローは非常に不規則である。
典型的には、これがその最大ウインドウサイズに達する
まで、TCPは、伝送速度の増加量およびメモリリソー
スをこれらが飽和するまで占める。結果として生じるセ
グメント損失によりサイクルが生じ、その間はネットワ
ークは利用不足となり(スロースタートおよび高速回復
アルゴリズムに起因するウインドウサイズの突然のサイ
ズ減少により引き起こされる)、それに別の段階が続
き、その間にウインドウサイズが増大し、再び損失処理
手順等が続く。質的な観点から見ると、これらの現象の
結果、待ち時間が生じ、これはファイルのアップロード
(FTPによる使用)時に多かれ少なかれ維持され得る待
ち時間およびインターネットサイト閲覧(HTTPによ
る使用)時の閲覧ソフトの障害となり得る。
【0017】TCPの挙動および性能を、トランスポー
ト層(終端機構)レベルおよびネットワーク層レベルの両
方において改善するいくつかの方法が検討されてきた。
これらのうち、上で説明したアルゴリズムであるFFR
アルゴリズム(fast retransmit/recovery)、選択的応答
(SACK、Selective ACKnowledgement)の利用および
輻輳標識をパケットに加えることによる輻輳の明示的通
知(ECBビット、Explicit Congestion Notifiation)
はすべてトランスポート層に関して検討されてきた。F
RRおよびSACKの目的は、伝送速度の改善、再伝送
タイムアウト満了の回避およびセグメント損失後の迅速
なリソース回復の促進である。ECN方式は、トランス
ポート層に作用するためにネットワーク層からのサポー
トを必要とし(ネットワークにより供給される輻輳の明
示的表示)かつ接続間のリソース分配の公平性の改善と
転送時間の短縮を目的としている。パケットが前もって
捨てられるシステム(RED、Random Early Discard)の
ようなネットワーク層機構、伝送スケジューラ(WGQ
等)の利用およびTCP接続の伝送速度を制御するため
の明示的方式により、伝送速度およびネットワークリソ
ースのより公平な分配に関して性能を高めることが可能
になる。
【0018】ウインドウサイズを制御する機構は、本発
明により提案される方法の根底にある要因であって、こ
の後者のカテゴリー、すなわちTCP接続の伝送速度を
明示的に制御することを意図した方式のカテゴリーに帰
することができる。
【0019】TCP接続の伝送速度は、いくつかのやり
方で制御することができる。すなわち、セグメントがダ
ウンリンク上を伝送されるリズムの制御または応答がア
ップリンク上を伝送される速度の調節である。実際は、
ウインドウサイズがひとたび安定化されると、TCPト
ランスミッタは通常、伝送された各セグメントについて
の応答を受信し、受信した各応答セグメントについて新
しいデータセグメントを遅滞なく伝送(クレジットの再
生成)する権限を与えられる。言い換えると、第1の解
決策は、送信側により伝送クレジットが消費される速度
に作用するものであり、第2の解決策は、それらが再生
成される速度に作用するというものである。第2の解決
策は、応答間の間隔を増減しかつ応答にスペーシング関
数を適用するもので、「Ack bucket」として知られてい
る。任意の伝送速度に一致させるため、第1の解決策
は、セグメントの伝送間の間隔を増減するものとし得
る。しかしながら、伝送速度が定義可能かつ制御可能な
リンクを供給するより低レベルの層の利用に基づくこと
もできる。これは、例えばATMまたはTDMネットワ
ークのケースである。フロー制御ポイントは、送信側が
接続されているローカルネットワークと相互接続してい
る装置(ソース相互接続装置)内部で、例えばATMパス
のインターフェースに置かれる。ローカルネットワーク
とATMネットワークとの間の伝送速度の差を補正する
ため、ソース相互接続装置は、待ち行列を保持するため
のバッファメモリ型のメモリを有している。送信側によ
りTCP接続のダウンリンク上を伝送されるデータセグ
メントは、このバッファメモリを通過する。
【0020】本発明により提案されるフロー制御方法
は、TCP接続の伝送ウインドウサイズを制御するため
の機構で構成され、より詳細にはフロー制御されたネッ
トワークを通して確立されたTCP接続に適用される。
少なくとも1つのフロー制御ポイントが待ち行列と協同
し、送信側により伝送されたデータセグメントが接続の
ダウンリンク上でこの待ち行列を通過する。フロー制御
されたATMネットワークは、例えばCBR(Constant
Bit Rate)、ABR(Available Bit Rate)またはABT
(ATM Block Transfer)タイプの伝送容量を有するネット
ワークを構成するであろう。対応するリソースがネット
ワーク内部でひとたび割り当てられたら、このタイプの
ATMパスは、ネットワークの各多重化ステップで用い
られるバッファメモリのサイズを制限し、かつパス上で
の損失を事実上ゼロにすることが可能になる。これらは
損失に出会わないので、そのようなATMパスを通して
確立されたTCP接続は従って、その伝送ウインドウを
受信側により通知された最大サイズWaまで増大する。
パスにより提供されるメモリ容量は非常に制限されてお
り(妥当な伝送速度および伝播時間を仮定して)、かつ通
過帯域−転送積に依存する。実際には、往復転送時間T
で特徴付けられるパス上を任意の速度Dで伝送される時
に、ネットワークにより吸収され得るデータ量Vは以下
の式で与えられる。
【0021】V=D×T (2)
【0022】量Vは実際にはビット数で表されるが、完
全に明らかにするため、以下ではVをセグメント数で表
すこととし、伝送速度Dはビット/秒で、時間Tは秒で
表される。パラメータTはネットワークの固有パラメー
タなので、これは任意の接続について一定であると見な
される。結果として、VがTCPのウインドウサイズW
以下になるようにDが選択され、かつネットワークのコ
アがバッファメモリを含まないと仮定すると、以下の状
況が見られるであろう。・セグメント間に間隔が置かれ
た場合、差W−Vに対応する余剰セグメントはフロー制
御ポイントに置かれた待ち行列内に蓄積するであろう。
・応答間に間隔が置かれた場合、余剰分W−Vを構成す
るセグメントに対応する応答の待ち行列は制御ポイント
のレベルで生じるであろう。
【0023】図8および図9は、図7で示された要素が
同じ参照番号で表示してあり、W=11セグメントかつ
V=8セグメントの例の状況において上記2つの状態を
それぞれ説明するものである。図8では、ネットワーク
の等価メモリが、ダウンリンク上を伝送されているセグ
メントSeg.5〜Seg.8およびアップリンク上を
転送されている応答Ack1〜Ack4を含んでいる。
余剰データセグメント、すなわちSeg.9〜Seg.
11は、ダウンリンクの方向のフロー制御ポイントPc
dの上流にあるバッファメモリに蓄えられて待ち行列F
sを形成する。図9では、ネットワークの等価メモリ
が、ダウンリンク上を伝送されているセグメントSe
g.8〜Seg.11およびアップリンク上を転送され
ている応答Ack4〜Ack7を含んでいる。余剰応
答、すなわちAck1〜Ack3は、アップリンクの方
向のフロー制御ポイントPcdの上流にあるバッファメ
モリに蓄えられて待ち行列Faを形成する。
【0024】これらの例の最初のもの(図8)では、従っ
て、各TCP接続の伝送ウインドウのデータセグメント
は、大部分はATMネットワークとのインターフェース
における各々の待ち行列内、つまりTCPフローが仮想
パスで多重化されるポイント、すなわちローカルネット
ワークとATMネットワークとの間の相互接続を確保す
るルータのメモリ内に置かれる。従って、これらは1接
続当たり数十キロバイトまでのメモリ空間を占有し(用
いるTCPのバージョンによる)、それ故に輻輳を引き
起こす危険がある。
【0025】従来技術において、これらの待ち行列の生
成を防止するための手段がすでに提案されており、応答
セグメントにおいて、受信側により挿入されるウインド
ウサイズパラメータWaの値を変更することより、送信
側により使用され得るウインドウサイズWuを制限する
というものである。これらの手法は種々の研究に主題と
なっており、その中でもL. Kalampoukas, A. Varma and
K. K. Ramakrishnan,"Explicit Window Adaptation: A
Method to Enhance TCP Performance", Proceedings o
f INFOCOM'98, April 1988を挙げることができ、これは
上で説明した解決策の最初のものにおいて、伝送速度を
知る必要なくTCP接続のウインドウサイズを直ちに決
定できるバッファメモリを取り扱うアルゴリズムに基づ
く原理を提案するするものである。R. Satyavolu, K. D
uvedi and S. Kalyanaramanの論文"Explicit Rate Cont
rol of TCP Applications", ATM Forum/98-0152R1, Feb
ruary 1998では、ATMABR転送能力を取り扱うため
に開発された速度割り当てアルゴリズムの1つに基づい
て速度値をウインドウサイズ値へ翻訳するための機構が
記載されている。P. Narvaez and K.-Y. Siuの論文、"A
n Acknowledgement Bucket Scheme for Regulation TCP
Flow Control with ACR Information"ATM Forum/97-07
58, September 1997もAckバケットの利用を示唆して
いる。さらに、国際特許出願第WO99/35790号
では、ABRタイプの転送能力を有するフロー制御され
たATMネットワークを越えるTCP接続のフローを最
適化するための方法および装置が記載され、これはAT
Mネットワーク中で利用可能な速度およびバッファメモ
リ中の利用可能な空間、すなわち接続待ち行列、に応じ
て受信側により返される応答セグメント中に含まれるウ
インドウサイズパラメータを制御するというものであ
る。しかしながら、この方法を用いる際には、ABR/
ATMプロトコル層にいて利用可能な速度に関する情報
を考慮に入れる必要がある。
【0026】
【発明が解決しようとする課題】本発明の目的は、TC
P接続、特にフロー制御されたネットワークを通して確
立された接続におけるフロー制御の公知の方法に代わる
ものであって、より単純でありそれゆえ実行がより容易
なものを提案することである。
【0027】
【課題を解決するための手段】上記の目的に鑑み、この
発明は、通信路の接続に関係するTCPセグメントが通
過する任意の多重化ノードのレベルにおいて、受信側に
より返送される応答セグメント中に含まれるウインドウ
サイズパラメータ(Wa)を制御するタイプの、送信側
(10)と受信側(20)との間の少なくとも1つのTCP
接続のフローを制御するための方法であって、a)前記
任意の多重化ノードのレベルにおいて接続の受信側から
送信側へのアップリンク上の受信側からの応答を受信す
るステップ(100)と、b)第1に接続の送信側から受
信側へのダウンリンク上の前記任意の多重化ノードから
伝送された最後のセグメントのシーケンス番号であると
定義され、前記セグメント長が加えられる前記TCP接
続に対応付けられた第1のコンテキスト値(NoSeq
Datai)と第2に応答セグメント中に示されるシーケ
ンス番号との差(Diff)に基づき、前記応答セグメン
ト中に含まれるウインドウサイズパラメータWaを制御
するステップと(200−600)、c)このようにして
制御されたウインドウサイズパラメータ(Wa)と共に応
答セグメントを前記多重化ノードから接続のアップリン
ク上の送信側へ伝送するステップと(700)、を含むこ
とを特徴とするフロー制御されたネットワーク上におけ
るTCP接続のフローを制御するための方法にある。
【0028】また、前記TCP接続は、フロー制御され
たネットワーク(30)を通して確立されることを特徴と
する請求項1に記載の方法にある。
【0029】また、任意の多重化ノードは、フロー制御
されたネットワーク(30)のフロー制御ポイント(Pc
d)であることを特徴とする請求項2に記載の方法にあ
る。
【0030】また、フロー制御ポイント(Pcd)は、接
続のダウンリンク上の送信側により伝送されるデータセ
グメントが通過する接続に対応付けられた待ち行列(F
s)を保持し得るメモリと協同し、ステップc)は、前
記差(Diff)に基づき、待ち行列(Fs)中に格納され
たデータ量を前記TCP接続に対応付けられた第2のコ
ンテキスト値(Lim)以下に維持するために、前記応答
セグメント中に存在するウインドウサイズパラメータ
(Wa)を制御することを特徴とする請求項3に記載の方
法にある。
【0031】また、任意の多重化ノードは、送信側(1
0)にできるだけ近く配置されていることを特徴とする
請求項1ないし4のいずれかに記載の方法にある。
【0032】また、任意の多重化ノードは、フロー制御
されたネットワーク(30)のインターフェースに置かれ
ることを特徴とする請求項2ないし4のいずれかに記載
の方法にある。
【0033】また、ステップb)は、第1に、前記TC
P接続に対応付けられた第1のコンテキスト値(NoS
eqDatai)と応答セクション中に示されるシーケン
ス番号との前記差に等しい制御パラメータ(Diff)を
生成(200−400)し、次に、第2に、Diff≧0
であれば、Wa=Min(Diff+Lim,Wa)また
はDiff<0であれば、Wa=Min(Lim,Wa) 但し、式中、Diffは制御パラメータ、Minは最小
関数、Limは接続に対応付けられた前記第2のコンテ
キスト値 という規則に基づいて応答セグメント中に含まれるウイ
ンドウサイズパラメータ(Wa)を制御するものであるこ
とを特徴とする請求項4に記載の方法にある。
【0034】また、ステップb)において、第2のコン
テキスト値および第1のコンテキスト値の少なくとも一
方がコンテキストメモリ(MC)から読み出されることを
特徴とする請求項1ないし7のいずれかに記載の方法に
ある。
【0035】また、コンテキストメモリ(MC)は、フロ
ー制御されたネットワーク(30)を通して確立された前
記TCP接続各々の第1および第2のコンテキスト値を
格納することを特徴とする請求項8に記載の方法にあ
る。
【0036】また、任意の接続に対応付けられた第1の
コンテキスト値は、該接続のダウンリンク上の前記任意
のノードのレベルにおいて送信側からデータセグメント
が受信されたときはいつでもコンテキストメモリ中で更
新されることを特徴とする請求項8または9に記載の方
法にある。
【0037】また、前記TCP接続に対応付けられた第
2のコンテキスト値(Lim)は、前記TCP接続が確立
された時に決定されることを特徴とする請求項4ないし
10のいずれかに記載の方法にある。
【0038】また、前記TCP接続に対応付けられた第
2のコンテキスト値(Lim)は、該接続に対応付けられ
た最大セグメントサイズパラメータ(MSS)に基づいて
決定されることを特徴とする請求項11に記載の方法に
ある。
【0039】また、前記TCP接続に対応付けられた第
2のコンテキスト値(Lim)は、該接続に対応付けられ
た最大セグメントサイズパラメータ(MSS)よりも高い
ことを特徴とする請求項12に記載の方法にある。
【0040】また、フロー制御ポイント(Pcd)は、送
信側(10)にできるだけ近く配置されていることを特徴
とする請求項3ないし13のいずれかに記載の方法にあ
る。
【0041】また、ステップa)ないしステップc)
は、ローカルネットワーク(50)と前記TCP接続を通
して確立されるフロー制御されたネットワーク(30)と
の間に相互接続を提供する装置中で実行されることを特
徴とする請求項1ないし14のいずれかに記載の方法に
ある。
【0042】また、ステップa)ないしステップc)
は、前記任意のノードにより受信された各応答セグメン
トについて実施されることを特徴とする請求項1ないし
15のいずれかに記載の方法にある。
【0043】また、ステップc)において、応答セグメ
ントは直ちに伝送されることを特徴とする請求項1ない
し16のいずれかに記載の方法にある。
【0044】また、送信側(10)と受信側(20)との間
の少なくとも1つのTCP接続用フロー制御装置であっ
て、送信側(10)から到着するTCPデータセグメント
を受信し、これらをTCP接続の送信側から受信側への
ダウンリンク上の受信側(20)へ伝送し、かつこのよう
にして伝送された各データセグメントに基づき、前記T
CP接続のダウンリンク上を伝送されるデータストリー
ム内部での、次のデータセグメント内で受信側(20)へ
伝送されるべき第1のデータ要素のランクの量的指標を
決定するための手段と、受信側(20)からのTCP応答
セグメントを受信し、これらを前記TCP接続の受信側
から送信側へのアップリンク上の受信側(10)へ伝送
し、かつ受信された各TCP応答セグメントから、前記
データストリーム内部での、受信側(20)により予測さ
れる次のデータ要素のランクの第2の量的指標を抽出す
るための手段と、受信された前記TCP応答セグメント
中に含まれているウインドウサイズパラメータ(Wa)
を、前記TCP応答セグメントを送信側(10)に伝送す
る前に、前記第1の量と前記第2の量との差に基づき、
制御する調節手段と、を備えたことを特徴とするフロー
制御されたネットワーク上におけるTCP接続のフロー
を制御するための装置にある。
【0045】また、送信側(10)から受信されかつフロ
ー制御されたネットワーク(30)を通して前記TCP接
続のダウンリンク上の受信側(20)へ伝送されるべきデ
ータセグメントの待ち行列を保持するためのメモリをさ
らに含み、調節手段により適用される前記ウインドウサ
イズパラメータ(Wa)の制御は、該パラメータを多くて
も前記差およびメモリ中の待ち行列に設定された最大サ
イズの合計に等しいという制限を伴うことを特徴とする
請求項18に記載の装置にある。
【0046】また、請求項18または請求項19に記載
のフロー制御ユニットを含む、第1のネットワーク(5
0)と第2のネットワーク(30)との間の相互接続機器
(40)にある。
【0047】すなわちこの発明は、送信側と受信側との
間の少なくとも1つのTCP接続のフローを制御する方
法により達成され、その接続に属するTCPセグメント
が通過する任意の多重化ノードのレベルにおいて、受信
側により返される応答セグメントに含まれるウインドウ
サイズ用パラメータを制御するというタイプの方法であ
って、この方法は、 a)前記任意の多重化ノードのレベルにおいて接続のア
ップリンク(受信側から送信側へ)上の受信側からの応答
を受信するステップ、 b)第1に接続のダウンリンク(送信側から受信側へ)上
の前記任意の多重化ノードから伝送された最後のセグメ
ントのシーケンス番号であると定義され、前記セグメン
ト長が加えられるTCP接続に対応付けられた第1のコ
ンテキスト値と第2に応答セグメント中に示されるシー
ケンス番号との差に基づき、前記応答セグメントに含ま
れるウインドウサイズパラメータを制御するステップ、 c)このようにして制御されたウインドウサイズパラメ
ータと共に応答セグメントを前記多重化ノードから接続
のアップリンク上の送信側へ伝送するステップを含む。
【0048】特に、TCP接続は、フロー制御されたネ
ットワークを通して確立される。このような状況であれ
ば、任意の多重化モードは好ましくはフロー制御された
ネットワークのフロー制御ポイントである。フロー制御
ポイントは、接続のダウンリンク上の送信側により伝送
されるデータセグメントが通過する接続に対応付けられ
た待ち行列を保持し得るメモリと協同するので、ステッ
プc)は、前記の差に基づき、待ち行列中に格納された
データ量をTCP接続に対応付けられた第2のコンテキ
スト値以下に維持するために、前記応答セグメント中に
存在するウインドウサイズパラメータを制御することと
し得る。好ましくは、任意の多重化ノードは、送信側に
なるべく近く、例えば送信側が接続されているローカル
ネットワークとフロー制御されたネットワークとの間の
インターフェースに置かれる。1つの例においては、こ
の任意の多重化ノードもフロー制御されたネットワーク
のフロー制御ポイントであれば、特にこれは当てはまる
であろう。
【0049】本発明が提案する伝送ウインドウサイズの
制御のための機構では、各TCP接続のウインドウサイ
ズを制限して、フロー制御ポイントと同じレベルで形成
される接続のための待ち行列のサイズが、第2のコンテ
キスト値に等しい任意の閾値を越えないようにすること
により、フロー制御されたネットワークのフロー制御ポ
イントのレベルでのどのような輻輳もフローに関して防
止できる。しかしながら、この機構により、フロー制御
されたネットワークによりTCP接続に提供される伝送
速度を変えることが可能になる。この機構の別の利点
は、序論で述べた輻輳制御アルゴリズムと両立できるこ
とで、これは受信側により伝送時に応答セグメント内に
定義された通知されたウインドウサイズに作用する。通
知されたウインドウサイズの制御機構は、これらの公知
の輻輳制御機構に優先する。
【0050】本発明は、送信側と受信側との間の少なく
とも1つのTCP接続用のフロー制御装置も提案してお
り、これは以下のものを含む。 ・送信側から到着するTCPデータセグメントを受信
し、これらをTCP接続のダウンリンク(送信側から受
信側へ)上の受信側へ伝送し、かつこのようにして伝送
された各データセグメントに基づき、TCP接続のダウ
ンリンク上を伝送されるデータストリーム内部での、次
のデータセグメント内で受信側へ伝送されるべき第1の
データ要素のランクの量的指標を決定するための手段、 ・受信側からのTCP応答セグメントを受信し、これら
をTCP接続のアップリンク(受信側から送信側へ)上の
受信側へ伝送し、かつ受信された各TCP応答セグメン
トから、前記データストリーム内部での、受信側により
予測される次のデータ要素のランクの第2の量的指標を
抽出するための手段、 ・受信された前記TCP応答セグメント中に含まれてい
るウインドウサイズパラメータ(Wa)を、前記TCP応
答セグメントを送信側に伝送する前に、前記第1の量お
よび前記第2の量との差に基づいて制御する調節手段。
【0051】TCP固有の語いを用いると、前記第1の
量はデータセグメント中に含まれるシーケンス番号に対
応し、これにこのセグメントのデータフィールド長(オ
クテット)が付け加えられ、前記第2の量はTCP応答
セグメント中に含まれるシーケンス番号に対応する。
【0052】1つの例では、フロー制御装置はさらに、
送信側から受信されかつフロー制御されたネットワーク
を通してTCP接続のダウンリンク上を受信側へ伝送さ
れるべきデータセグメントの待ち行列を保持するための
メモリを有しており、調節手段により前記ウインドウサ
イズパラメータに対して適用される制御は、該パラメー
タを多くても前記差およびメモリ中の待ち行列に設定さ
れた最大サイズの合計に等しいという制限を伴う。この
最大サイズは、上で述べたTCP接続に対応付けられた
第2のコンテキスト値に対応する。
【0053】本発明は、第1のネットワーク、例えばロ
ーカルネットワークとそのようなフロー制御装置を含む
第2のネットワーク、例えばフロー制御されたネットワ
ークとの間に相互接続を提供するための機器も提案して
いる。
【0054】
【発明の実施の形態】図1は、発明により提案された方
法の実行に適応したフロー制御されたネットワーク上の
TCPリンクの例を図式的に説明するものである。この
例は、リモートコンピュータ20(以下、受信側)上で実
行されているアプリケーションプログラムにデータを伝
送する必要があるコンピュータ10(以下、送信側)上で
実行されているアプリケーションプログラムに関する。
これら2つのアプリケーションプログラムは、通信にT
CPプロトコルを用いる。送信側10は、ローカルネッ
トワーク50、例えば高速イーサネット(登録商標)ネ
ットワークに接続されている。このタイプのネットワー
クは、それが伝送するデータ量に対して利用可能な高速
性のために輻輳を発生しない。受信側20もローカルネ
ットワーク60に接続されている。1つの例では、ロー
カルエリアネットワーク60もイーサネットネットワー
クであると仮定されているが、もちろん、これは、他の
ネットワーク、例えばLANタイプ(Local Area Networ
k)のものとすることもできる。
【0055】TCP接続は、フロー制御されたネットワ
ーク30、例えばABRタイプの転送能力を持つATN
ネットワーク上に作られる。接続のダウンリンクは1本
線の矢印で示され、アップリンクは2本線の矢印で示さ
れる。ローカルネットワーク50とネットワーク30と
の間の相互接続を提供する装置40は、ネットワーク3
0の入力側に接続されている。これは周辺ルータであ
る。この装置は、ネットワーク30上で作られた種々の
TCP接続が多重化されるポイントである。1つの例で
は、これは、ダウンリンク上のネットワーク30にフロ
ー制御が適用されるポイントでもあり、この目的のため
にフロー制御ポイントPcdを有している。最後に、こ
れは、本発明により提案されるTCP接続のフロー制御
方法の基礎を形成する通知されたウインドウサイズが制
御されるポイントでもある。ネットワーク30とネット
ワーク60との間の相互接続を提供する装置70は、T
CPセグメント用の多重分離機能を提供するために、ネ
ットワーク30の出力側に配置されている。これも周辺
ルータである。
【0056】接続を確立するために、送信側10はSY
Nフラグと共にセグメントをダウンリンク上を伝送し、
それと引き換えに、受信側はACKフラグと共にセグメ
ントをアップリンク上を伝送し、そのバッファメモリの
特性に応じて受信できるセグメントの最大サイズのMS
S値(MaximumSegment Size)をオプションフィールド中
に任意に指定する。TCP接続は、送信ポート番号と受
信ポート番号の組合せにより定義され、これが送信側1
0のアプリケーションプログラムおよび受信側20のア
プリケーションプログラムをそれぞれ識別する。
【0057】TCPは伝送されるべきデータセグメント
を切断して、それをTCPセグメント内にカプセル化
し、そのサイズは、接続が確立された際に、値MSSを
任意に考慮して決定されたものである。各TCPセグメ
ントが今度は、図1に示されるフォーマットに従いルー
タ40内部でIPデータグラム中にカプセル化される。
TCPセグメントは、最低20オクテット以上にコード
化されたTCPヘッダに先行されたTCPデータブロッ
クを含んでいる。IPデータグラムは、同様に20オク
テット以上にコード化されたIPヘッダに先行されたT
CPセグメントを含んでいる。図2はTCPヘッダのフ
ォーマット示すものである。これは以下のものを含む。 ・送信ポート番号を含む1つのフィールドおよび受信ポ
ート番号用のもう1つのフィールドで、その各々は16
オクテットでコード化されている。 ・シーケンス番号を含む1つのフィールド(データセグ
メントの場合)と応答シーケンス番号用のもう1つのフ
ィールド(応答セグメントの場合)で、その各々は32ビ
ットでコード化されている。 ・ヘッダ長(常に32ビットの倍数)を示すための4ビッ
トでコード化されたフィールドであって、ヘッダが各々
32でビットでコード化された1つ(または、それ以上)
のオプションフィールドを含み得るので、このフィール
ドが必要である。このタイプのオプションフィールド
は、もしそれが接続が確立された時に受信側により返送
されたACKセグメントである場合には、上記のパラメ
ータMSSの値を示すために用い得る。 ・次に使用するために予約された6ビットおよびUR
G、ACK、PSH、RST、SYNおよびFINフラ
グの値をそれぞれ指定する6ビット。これらのフラグ
は、1の時にアクティブである。URGフラグは、セグ
メント中のデータオクテットのうちの少なくともいくつ
かを緊急問題として送らなければならないことを示すの
に使用される。緊急ポインタは、ヘッダの別のフィール
ドに含まれており、至急伝送しなければならないこれら
のオクテットのどれが最初のものであるかを示す。AC
K、RST、SYNおよびFINフラグについては、上
で述べた。最後に、PSHフラグは、データの伝送を直
ちに行なうためにアプリケーションプログラムにより走
らされているプッシュオペレーションとして知られてい
る操作を用いて伝送されたことを示す。 ・ウインドウサイズパラメータ(Wa)を含むことになる
16ビットでコード化された「ウインドウサイズ」フィ
ールド。このようなパラメータWaは、接続のアップリ
ンク上の受信側により返送された応答セグメントに含ま
れており、これにより、受信側は送信側に対し受け入れ
可能なオクテット数を示すことができる。 ・計算されたチェックサムを示す、16ビットでコード
化された「チェックサムTCP」フィールド。これによ
りどのような伝送エラーも検出可能になる。 ・前記緊急ポインタを含む、16ビットでコード化され
たフィールド。 ・最後に、1つ以上の上記オプションフィールド。
【0058】理解されるように、ヘッダフォーマット
は、送信側により伝送されるセグメントおよび受信側に
より伝送されるセグメントタイプについて同一であり、
これら2つのセグメントタイプの一方または他方のみに
固有のいくつかのフィールドの値は、受信側および送信
側のアプリケーションプログラムとそれぞれ無関係であ
る。
【0059】図4に示されるフローチャートを参照し
て、本発明の方法により提案されるステップを説明す
る。最初のステップ100は、例えば、フロー制御ポイ
ントPcdのレベルにおける、以下Acki,jで示す応
答セグメントの受信であって、これはインデックスiで
示される接続が確立されて以来、受信側により送信され
たj番目の応答であって、iおよびjは整数である。こ
の応答セグメントは、従って、インデックスiで示され
る接続のアップリンク上を受信側から到着している。
【0060】ステップ200では、応答セグメントAc
i,jは、Acki,jのシーケンス番号NoSeqAck
i,jの値を検出するためにデカプセル化される。平行し
て、ステップ300では、接続コンテキスト{NoSe
qDatai,Lim}がコンテキストメモリから読み
出される。後者については後にふれる。このコンテキス
トは、2つのコンテキストパラメータすなわち値を含ん
でおり、これらは接続に対応付けられている。
【0061】最初のコンテキスト値NoSeqData
iは、接続のダウンリンク上のフロー制御ポイントを通
過した最後のセグメントのシーケンス番号であるとして
定義され、これにオクテット数として表されるこのセグ
メントの長さが付加される。より詳細には、データセグ
メント長は、セグメントのデータフィールド長、すなわ
ちそのヘッダ長を除いたセグメントの全長である。従っ
て、この最初のコンテキスト値は、TCP接続のダウン
リンク上を伝送されるデータストリーム内における、次
のデータセグメント中で受信側へ伝送されるべき最初の
データ要素またはオクテットのランクに対応する。コン
テキストがどのように生成されるか、および最初のコン
テキスト値がどのように更新されるかは後に説明する。
【0062】本発明の目的のため、第2のコンテキスト
値Limは、接続のダウンリンク上を送信側により伝送
されるセグメントが通過するバッファメモリ内の待ち行
列Fsについて設定された最大サイズに相当する。この
値は接続時間全体にわたって一定である。これは接続に
対応付けられている。1つの例では、TCP接続が確立
される際にこれが決定される。ある1つの実行態様で
は、これはすべての接続について同じである。しかしな
がら、好ましい態様では、接続に対応付けられた最大セ
グメントサイズパラメータMSSに基づいて決定され
る。好ましくは、「ばかウインドウ(Silly Window)」現
象を回避するため、これは前記最大セグメントサイズパ
ラメータMSSの値より高い。このパラメータの値は、
同様に、接続が開始された時に、受信側により示される
ことを指摘しておくべきである。第2のコンテキスト値
Limも、新しいTCP接続の待ち行列用の利用可能な
メモリ空間に応じて動的に生成し得る。
【0063】ステップ400では、第1に、インデック
スiの接続に対応付けられた第1のコンテキスト値No
SeqDataiと、第2に、応答セグメントAcki,j
中で示されるシーケンス番号NoSeqAcki,jとの
差として定義される制御パラメータDiffが計算され
る。すなわち、Diff=NoSeqDatai−No
SeqAcki,jである。正のパラメータDiff値
は、ネットワーク中で、インデックスiの接続のダウン
リンク上を目下転送されつつあるデータ量Vdataの
過剰分による推定値である。これは、得られた推定値
が、このステップが実行される瞬間にダウンリンク上で
ネットワークが吸収しつつある最大量に対応するという
意味で過剰分による推定値である。実際には、受信側が
応答セグメントAcki,jを伝送した瞬間からいくつか
のセグメントが受信側により伝送されてしまうことがあ
る。他のセグメントは廃棄または失われてしまったかも
しれない。明らかに、パラメータDiffは、これが正
でない限り、ネットワーク中で接続のダウンリンク上で
伝送されているデータ量を代表するものではない。他の
例では、再伝送TCPセグメント機構のために、かなら
ずしもこれが当てはまらないことが分かるであろう。
【0064】次に、ステップ500は、受信側により応
答セグメントAcki,j中に挿入されるウインドウサイ
ズパラメータWaの修正値を計算するものである。待ち
行列Fsのサイズをインデックスiの接続に対応付けら
れた第2のコンテキスト値Limに対応する設定最大サ
イズ以下に維持するために、前のステップの間に生成さ
れたパラメータDiffに基づいて、通知されたウイン
ドウサイズを応答セグメント以内で修正することがこの
ステップにより可能になる。このパラメータWaの値が
TCPセグメントの「ウインドウサイズ」フィールドに
含まれていることが思い出されるであろう。ある1つの
例では、ウインドウサイズパラメータWaは以下の規則
に基づいて制御される。すなわち、Diff≧0であれ
ば、Wa=Min(Diff+Lim,Wa)またはDi
ff<0であれば、Wa=Min(Lim,Wa) ここで、Minは最小関数である。
【0065】このように、ウインドウサイズパラメータ
Waの値は、多くても制御パラメータDiffおよび第
2のコンテキスト値Limの合計に等しい値に永久に制
限される。
【0066】ステップ600では、応答セグメントAc
i,jの「チェックサムTCP」フィールドに含まれる
値が再計算され、ウインドウサイズパラメータWa値を
含む「ウインドウサイズ」フィールドに対する修正を考
慮するため、それに応じて「チェックサムTCP」フィ
ールドが修正される。最終ステップ700では、応答セ
グメントAcki,jは、本発明により提案されるように
任意に修正された「ウインドウサイズ」フィールドおよ
び「チェックサムTCP」フィールドと共に、送信側1
0がリセットできるように送信側10へ、好ましくは直
ちに、伝送される。
【0067】上記のステップ100〜700は、受信側
20により伝送されTCP接続のアップリンク上のフロ
ー制御ポイントPcdを通過している各応答セグメント
について実行される。
【0068】計算ステップ400は、フロー制御された
ネットワーク30のフロー制御ポイントPcdのレベ
ル、すなわち待ち行列Fsのレベルでも実行される。さ
らに、フロー制御ポイントPcdは送信側10にできる
限り近いことが好ましい。それ故、送信側とフロー制御
ポイントPcdとの間に置かれたネットワークの部分
は、最小限のデータを含む。このような状況なので、パ
ラメータDiffは、ネットワークを通して接続のダウ
ンリンク上を転送されつつあるデータ量Vのできるだけ
正確な推定値である。好ましい例では、フロー制御ポイ
ントPcdは、送信側10が接続されているローカルネ
ットワーク50とフロー制御されたネットワーク30と
を相互接続する装置40中に配置される。
【0069】送信側が接続されているローカルネットワ
ークおよび図1に示されるルータのようなフロー制御さ
れているネットワークの間に配置された相互接続装置
は、本発明の方法を実施する手段を有している。特に、
この装置はフロー制御ポイントPcdとコンテキストメ
モリーMCとを含む。第2のコンテキスト値Limおよ
び/または第1のコンテキスト値NoSeqDatai
は、図4に示されるステップ300においてこのメモリ
MCから読み取られる。ネットワーク30を通して確立
された任意の接続に対応付けられた第1のコンテキスト
値は、この接続のダウンリンク上のフロー制御ポインP
cdのレベルをセグメントが通過する時にはいつでも、
メモリMC中で更新される。図5は、この更新手続のス
テップを説明するフローチャートである。ステップ10
00では、Segi,kで示されるインデックスiの接続
のダウンリンク上を送信側10により伝送されるk番目
のTCPデータセグメントが、フロー制御ポイントPc
dのレベルで受信される。ここで、kは別の整数であ
る。ステップ2000では、インデックスiの接続と対
応付けられた第1のコンテキスト値NoSeqData
iがコンテキストメモリMC中で更新される。この目的
のため、シーケンス番号を抽出するためにセグメントS
egi,kのコピーがデカプセル化される。次にセグメン
ト長が決定され、そのシーケンス番号に付加され、得ら
れた値が第1のコンテキスト値NoSeqDatai
更新として保存される。オクテット数として表されたセ
グメント長は、TCPヘッダ長(図3を参照して、上で
説明したように、TCPセグメントヘッダのフィールド
中に示される)をIPデータグラムのペイロード長から
引いて得られる。この後者の長さは、ヘッダ長が引かれ
るIPデータグラムの全長から計算される(今度はIP
データグラムヘッダ中に示される)。最後に、ステップ
3000では、データセグメントSegi,kが(修正なし
で)接続のダウンリンク上を受信側20へ伝送される。
【0070】コンテキストメモリMCが、フロー制御さ
れたネットワーク30を通して確立されたTCP接続の
各々のコンテキストを有利に格納することは指摘される
べきである。この目的のため、メモリMCは、接続を定
義する送信ポート番号と受信ポート番号で構成されるペ
アによってインデックスを付けられる。コンテキストメ
モリの記憶容量は動的に管理される。実際には、新しい
IP接続が検出される時に、制御コンテキストが作り出
される。新しいTCP接続は、接続を確立しているセグ
メント(序論で説明したようなSYNフラグを運ぶセグ
メント)の検出に続いて明示的に、あるいは他のコンテ
キストが全然存在しない接続に属するセグメントが検出
される際に暗黙的に検出される。これらの検出手続を可
能にし、新しいコンテキストを作り出すために、送信側
により伝送されるセグメントのコピーを体系的にデカプ
セル化し、これらから特に、関連した接続を識別する送
信ポート番号と受信ポート番号とで構成されるペアが導
き出される。同様に、接続を終了するセグメント(FI
Nフラグを運ぶセグメント)が検出されたときは明示的
に、また臨時のタイムアウト終了が検出された時には暗
黙的にコンテキストがメモリから解放される。明らか
に、本発明により提案されるコンテキストメモリが占め
るメモリ空間は、従来技術により公知の待ち行列Fsが
占めるものよりもはるかに小さく、従って本発明はメモ
リ空間の実質的な節約を確実にするものである。
【0071】発明により提案される方法の実行に関わる
手続の例として、最初のコンテキストLimが300の
値(Lim=300)を有しているTCP接続上を伝送さ
れる100オクテットの一定のサイズのセグメントに分
割されたデータストリームを見ることにする。言い換え
ると、目的は、この接続についての待ち行列Fsのサイ
ズを300オクテット、すなわち3セグメント相当に制
限することである。
【0072】送信側により伝送される最後のセグメント
がデータストリームのオクテット401〜500を含ん
でいた瞬間を取り上げると、第1のコンテキスト値No
SeqDataは値401+100=501を割り当て
られる。伝送ウインドウの現在のサイズが400(W=
400)であれば、送信側側から見ると、オクテット1
〜100を運ぶ第1のセグメントが正しく受信されかつ
応答されたが、それぞれオクテット101〜200、2
01〜300、301〜400、401〜500を運び
それらの4つの間で合計400オクテットになる第2、
第3、第4および第5のセグメントは伝送されたがまだ
応答されていないことをこのことは意味する。発明の目
的のため、それらはTCP接続のダウンリンク上を現在
転送されていると見なされる。
【0073】第1の例において、仮に受信側が201の
シーケンス番号NoSeqAckと共に応答を送信し、
かつ500のウインドウサイズを通知するとする。言い
換えると、この第1の例では、受信側は第2のセグメン
トを受信し応答し、かつ400から500オクテットへ
のウインドウWの増加を承認したことになる。パラメー
タDiffは、以下の差により計算される。
【0074】
【0075】この値は正なので、受信側により通知され
るウインドウサイズの修正値は以下のように与えられ
る。
【0076】
【0077】言い換えると、応答中で通知されたウイン
ドウサイズWaは維持される。すなわち、接続の伝送ウ
インドウWの増加が受け入れられる。実際には、本発明
により提案される方法は、接続のダンリンクはせいぜい
600オクテットを吸収できるという仮定に基づいてい
る。なぜならば、ネットワークはすでに第3、第4およ
び第5のセグメントの300オクテットを吸収しつつあ
り、これらは依然としてダウンリンク上を転送されてい
る途中であり、このダウンリンクは待ち行列Fsにより
可能になる300オクテットの付加的な容量を有してい
るからである。
【0078】第2の例において、仮に受信側が401の
シーケンス番号NoSeqAckと通知された500の
ウインドウサイズ(Wa=500)と共に応答を伝送する
とする。言い換えると、この第2の例では、受信側は第
2、第3および第4のセグメントを受信し、かつウイン
ドウWの400から500オクテットへの拡張を承認し
つつあることになる。パラメータDiffは以下の差に
より計算される。
【0079】
【0080】この値は正なので、受信側により通知され
るウインドウサイズの修正値は以下のように与えられ
る。
【0081】
【0082】言い換えると、応答中で通知されたウイン
ドウサイズWaが修正されて、500から400オクテ
ットへ縮小される。すなわち、接続の伝送ウインドウW
の増加が拒否されたことになる。実際には、本発明によ
り提案される方法は、接続のダンリンクはせいぜい40
0オクテットのみを吸収できるという仮定に基づいてい
る。なぜならば、ネットワークはこの時点で、現在伝送
されつつある唯一のものである第5のセグメントの10
0オクテットしか吸収できず、かつダウンリンクは待ち
行列Fsにより可能にされた300オクテットの付加的
な容量しか有していないからである。4つの新しいセグ
メントの伝送を認めることは、待ち行列のレベルでの輻
輳を引き起こす危険を犯すことになるであろうし、これ
により第2のコンテキスト値Limにより定義される後
者の最大容量値を超過してしまうことになるであろう。
【0083】最初の4つのセグメントがすでに伝送され
た瞬間を考えてみると、第1のものは正しく応答がなさ
れているが、第2のセグメント(オクテット101〜2
00)に対応する応答は、対応付けられたタイムアウト
が満了する時点までにはまだ受信されておらず、送信側
はこのセグメントを伝送したばかりである。従って、第
1のコンテキスト値NoSeqDataには値101+
100=201が割り当てられる。それぞれオクテット
101〜200、201〜300、301〜400、1
01〜200を運びそれらの4つの間で合計400オク
テットになる第2、第3、第4および第5のセグメント
は伝送されたがまだ応答されていない。仮にその時受信
側が401のシーケンス番号NoSeqAckおよび5
00の通知されたウインドウサイズと共に応答を伝送す
ると仮定してみる。言い換えると、この第1の例では、
受信側は第2、第3、および第4のセグメントを受信
し、応答し、さらに400から500オクテットへのウ
インドウの増加を承認している。パラメータDiff
は、以下の差により計算される。
【0084】
【0085】この値は負なので、接続のダンリンクを通
過するデータ量に対応することはできない。受信側によ
り通知されたウインドウサイズの修正値は以下の式で与
えられる。
【0086】
【0087】言い換えると、応答中で通知されたウイン
ドウサイズWaが修正されて、500から300オクテ
ットへ縮小される。すなわち、接続の伝送ウインドウW
の増加が拒否され、これに対して、ウインドウサイズW
は、本発明により得られた通知されたウインドウサイズ
Wについての新しい値によって、400から300へ縮
小されることになる。実際には、本発明により提案され
る方法は、ネットワークはもはやデータを吸収できない
こと、待ち行列の300オクテットのみがウインドウW
のデータの吸収に利用可能なこと、および従ってウイン
ドウWのサイズを待ち行列の閾値サイズLimに限定す
る必要があるという仮定に基づいている。
【0088】
【発明の効果】本発明により提案された、通知されたウ
インドウサイズを制御する機構がより有効であることは
注意が向けられるべきである。なぜならば、接続の伝送
速度についてのどのような明示的な表示も必要としない
からである。さらに、この機構は、スロースタート、輻
輳回避、高速伝送および高速回復アルゴリズムなどの、
受信側レベルにおいてウインドウサイズを制御するため
に用いられる機構と両立できる。
【図面の簡単な説明】
【図1】 本発明により提案される方法の実施に適合さ
せたTCP接続を示すダイアグラムである。
【図2】 TCPセグメントをカプセル化するIPデー
タグラムのフォーマットを示す図である。
【図3】 TCPセグメントのヘッダの詳細を示す図で
ある。
【図4】 本発明により提案される方法のステップを示
すフローチャートである。
【図5】 本発明により提案される方法のステップを示
すフローチャートである。
【図6】 従来のTCPフロー制御機構のスライディン
グウインドウの原理を示すダイアグラムである。
【図7】 従来のセグメントおよび応答がどのようにし
てネットワークを通して伝送されるかを示すダイアグラ
ムである。
【図8】 従来のセグメントまたは応答に間隔をあける
ことによるTCP接続のフロー制御の場合に、セグメン
トの待ち行列および応答の待ち行列がどのようにして蓄
積されるかを示すダイアグラムである。
【図9】 従来のセグメントまたは応答に間隔をあける
ことによるTCP接続のフロー制御の場合に、セグメン
トの待ち行列および応答の待ち行列がどのようにして蓄
積されるかを示すダイアグラムである。
【符号の説明】
10 送信側、20 受信側、30 ネットワーク、4
0,70 相互接続装置、50,60 ローカルネット
ワーク。

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 通信路の接続に関係するTCPセグメン
    トが通過する任意の多重化ノードのレベルにおいて、受
    信側により返送される応答セグメント中に含まれるウイ
    ンドウサイズパラメータを制御するタイプの、送信側と
    受信側との間の少なくとも1つのTCP接続のフローを
    制御するための方法であって、 a)前記任意の多重化ノードのレベルにおいて接続の受
    信側から送信側へのアップリンク上の受信側からの応答
    を受信するステップと、 b)第1に接続の送信側から受信側へのダウンリンク上
    の前記任意の多重化ノードから伝送された最後のセグメ
    ントのシーケンス番号であると定義され、前記セグメン
    ト長が加えられる前記TCP接続に対応付けられた第1
    のコンテキスト値と第2に応答セグメント中に示される
    シーケンス番号との差に基づき、前記応答セグメント中
    に含まれるウインドウサイズパラメータを制御するステ
    ップと、 c)このようにして制御されたウインドウサイズパラメ
    ータと共に応答セグメントを前記多重化ノードから接続
    のアップリンク上の送信側へ伝送するステップと、 を含むことを特徴とするフロー制御されたネットワーク
    上におけるTCP接続のフローを制御するための方法。
  2. 【請求項2】 前記TCP接続は、フロー制御されたネ
    ットワークを通して確立されることを特徴とする請求項
    1に記載の方法。
  3. 【請求項3】 任意の多重化ノードは、フロー制御され
    たネットワークのフロー制御ポイントであることを特徴
    とする請求項2に記載の方法。
  4. 【請求項4】 フロー制御ポイントは、接続のダウンリ
    ンク上の送信側により伝送されるデータセグメントが通
    過する接続に対応付けられた待ち行列を保持し得るメモ
    リと協同し、ステップc)は、前記差に基づき、待ち行
    列中に格納されたデータ量を前記TCP接続に対応付け
    られた第2のコンテキスト値以下に維持するために、前
    記応答セグメント中に存在するウインドウサイズパラメ
    ータを制御することを特徴とする請求項3に記載の方
    法。
  5. 【請求項5】 任意の多重化ノードは、送信側にできる
    だけ近く配置されていることを特徴とする請求項1ない
    し4のいずれかに記載の方法。
  6. 【請求項6】 任意の多重化ノードは、フロー制御され
    たネットワークのインターフェースに置かれることを特
    徴とする請求項2ないし4のいずれかに記載の方法。
  7. 【請求項7】 ステップb)は、第1に、前記TCP接
    続に対応付けられた第1のコンテキスト値NoSeqD
    ataiと応答セクション中に示されるシーケンス番号
    との前記差に等しい制御パラメータDiffを生成し、
    次に、第2に、Diff≧0であれば、Wa=Min
    (Diff+Lim,Wa)またはDiff<0であれ
    ば、Wa=Min(Lim,Wa) 但し、式中、Diffは制御パラメータ、Minは最小
    関数、Limは接続に対応付けられた前記第2のコンテ
    キスト値 という規則に基づいて応答セグメント中に含まれるウイ
    ンドウサイズパラメータWaを制御するものであること
    を特徴とする請求項4に記載の方法。
  8. 【請求項8】 ステップb)において、第2のコンテキ
    スト値および第1のコンテキスト値の少なくとも一方が
    コンテキストメモリから読み出されることを特徴とする
    請求項1ないし7のいずれかに記載の方法。
  9. 【請求項9】 コンテキストメモリは、フロー制御され
    たネットワークを通して確立された前記TCP接続各々
    の第1および第2のコンテキスト値を格納することを特
    徴とする請求項8に記載の方法。
  10. 【請求項10】 任意の接続に対応付けられた第1のコ
    ンテキスト値は、該接続のダウンリンク上の前記任意の
    ノードのレベルにおいて送信側からデータセグメントが
    受信されたときはいつでもコンテキストメモリ中で更新
    されることを特徴とする請求項8または9に記載の方
    法。
  11. 【請求項11】 前記TCP接続に対応付けられた第2
    のコンテキスト値は、前記TCP接続が確立された時に
    決定されることを特徴とする請求項4ないし10のいず
    れかに記載の方法。
  12. 【請求項12】 前記TCP接続に対応付けられた第2
    のコンテキスト値は、該接続に対応付けられた最大セグ
    メントサイズパラメータに基づいて決定されることを特
    徴とする請求項11に記載の方法。
  13. 【請求項13】 前記TCP接続に対応付けられた第2
    のコンテキスト値は、該接続に対応付けられた最大セグ
    メントサイズパラメータよりも高いことを特徴とする請
    求項12に記載の方法。
  14. 【請求項14】 フロー制御ポイントは、送信側にでき
    るだけ近く配置されていることを特徴とする請求項3な
    いし13のいずれかに記載の方法。
  15. 【請求項15】 ステップa)ないしステップc)は、
    ローカルネットワークと前記TCP接続を通して確立さ
    れるフロー制御されたネットワークとの間に相互接続を
    提供する装置中で実行されることを特徴とする請求項1
    ないし14のいずれかに記載の方法。
  16. 【請求項16】 ステップa)ないしステップc)は、
    前記任意のノードにより受信された各応答セグメントに
    ついて実施されることを特徴とする請求項1ないし15
    のいずれかに記載の方法。
  17. 【請求項17】 ステップc)において、応答セグメン
    トは直ちに伝送されることを特徴とする請求項1ないし
    16のいずれかに記載の方法。
  18. 【請求項18】 送信側と受信側との間の少なくとも1
    つのTCP接続のためのフロー制御装置であって、 送信側から到着するTCPデータセグメントを受信し、
    これらをTCP接続の送信側から受信側へのダウンリン
    ク上の受信側へ伝送し、かつこのようにして伝送された
    各データセグメントに基づき、前記TCP接続のダウン
    リンク上を伝送されるデータストリーム内部での、次の
    データセグメント内で受信側へ伝送されるべき第1のデ
    ータ要素のランクの量的指標を決定するための手段と、 受信側からのTCP応答セグメントを受信し、これらを
    前記TCP接続の受信側から送信側へのアップリンク上
    の受信側へ伝送し、かつ受信された各TCP応答セグメ
    ントから、前記データストリーム内部での、受信側によ
    り予測される次のデータ要素のランクの第2の量的指標
    を抽出するための手段と、 受信された前記TCP応答セグメント中に含まれている
    ウインドウサイズパラメータを、前記TCP応答セグメ
    ントを送信側に伝送する前に、前記第1の量と前記第2
    の量との差に基づき、制御する調節手段と、 を備えたことを特徴とするフロー制御されたネットワー
    ク上における前記TCP接続のフローを制御するための
    装置。
  19. 【請求項19】 送信側から受信されかつフロー制御さ
    れたネットワークを通して前記TCP接続のダウンリン
    ク上の受信側へ伝送されるべきデータセグメントの待ち
    行列を保持するためのメモリをさらに含み、調節手段に
    より適用される前記ウインドウサイズパラメータの制御
    は、該パラメータを多くても前記差およびメモリ中の待
    ち行列に設定された最大サイズの合計に等しいという制
    限を伴うことを特徴とする請求項18に記載の装置。
  20. 【請求項20】 請求項18または請求項19に記載の
    フロー制御ユニットを含む、第1のネットワークと第2
    のネットワークとの間の相互接続機器。
JP2001029528A 2000-02-11 2001-02-06 フロー制御されたネットワーク上におけるtcp接続のフローを制御するための方法および装置、相互接続機器 Withdrawn JP2001268130A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0001735 2000-02-11
FR0001735A FR2805112B1 (fr) 2000-02-11 2000-02-11 Procede et unite de controle de flux d'une connexion tcp sur un reseau a debit controle

Publications (1)

Publication Number Publication Date
JP2001268130A true JP2001268130A (ja) 2001-09-28

Family

ID=8846921

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001029528A Withdrawn JP2001268130A (ja) 2000-02-11 2001-02-06 フロー制御されたネットワーク上におけるtcp接続のフローを制御するための方法および装置、相互接続機器

Country Status (4)

Country Link
US (1) US6925060B2 (ja)
EP (2) EP1168729A1 (ja)
JP (1) JP2001268130A (ja)
FR (1) FR2805112B1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010510734A (ja) * 2006-11-23 2010-04-02 大唐移▲動▼通信▲設▼▲備▼有限公司 時分割多重化モードにおけるデータ伝送方法及びシステム
JP2012147375A (ja) * 2011-01-14 2012-08-02 Fujitsu Advanced Engineering Ltd スイッチ装置、輻輳防止方法、及び輻輳防止プログラム

Families Citing this family (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7522631B1 (en) * 1999-10-26 2009-04-21 Qualcomm, Incorporated Method and apparatus for efficient data transmission control in a wireless voice-over-data communication system
JP2001285400A (ja) * 2000-03-29 2001-10-12 Kddi Corp トラヒック統計情報収集方法
AU2000259818A1 (en) * 2000-07-04 2002-01-14 Nokia Corporation Method and device for attaching a user equipment to a telecommunication network
JP4691804B2 (ja) * 2001-03-02 2011-06-01 ソニー株式会社 無線伝送装置及び無線伝送方法
FI112140B (fi) * 2001-05-23 2003-10-31 Nokia Corp Informaation kommunikointi
WO2002097580A2 (en) * 2001-05-31 2002-12-05 Espeed, Inc. Securities trading system with multiple levels-of-interest
US7856660B2 (en) * 2001-08-21 2010-12-21 Telecommunication Systems, Inc. System for efficiently handling cryptographic messages containing nonce values
US7237007B2 (en) * 2001-12-05 2007-06-26 Qualcomm Incorporated Method and system for flow control between a base station controller and a base transceiver station
US20030126196A1 (en) * 2001-12-27 2003-07-03 Todd Lagimonier System for optimizing the invocation of computer-based services deployed in a distributed computing environment
US7411901B1 (en) * 2002-03-12 2008-08-12 Extreme Networks, Inc. Method and apparatus for dynamically selecting timer durations
US7283469B2 (en) * 2002-04-30 2007-10-16 Nokia Corporation Method and system for throughput and efficiency enhancement of a packet based protocol in a wireless network
US7236459B1 (en) * 2002-05-06 2007-06-26 Packeteer, Inc. Method and apparatus for controlling data transmission volume using explicit rate control and queuing without data rate supervision
US7685287B2 (en) 2002-05-30 2010-03-23 Microsoft Corporation Method and system for layering an infinite request/reply data stream on finite, unidirectional, time-limited transports
US20040017773A1 (en) * 2002-07-23 2004-01-29 Eyeball Networks Inc. Method and system for controlling the rate of transmission for data packets over a computer network
JP2004187099A (ja) * 2002-12-04 2004-07-02 Shinko Electric Ind Co Ltd 通信制御方法、通信システム及び通信装置
AU2003270971B2 (en) * 2002-12-19 2007-07-12 Canon Kabushiki Kaisha IP Rate Control
AU2002953479A0 (en) * 2002-12-19 2003-01-09 Canon Kabushiki Kaisha Ip rate control
US6965564B2 (en) * 2003-02-14 2005-11-15 America Online, Inc. Wireless datagram transaction protocol system
JP4244159B2 (ja) * 2003-05-16 2009-03-25 株式会社エヌ・ティ・ティ・ドコモ 受信装置、通信システムおよびプログラム
US8004981B2 (en) * 2003-06-17 2011-08-23 Cisco Technology, Inc. Methods and devices for the coordination of flow control between a TCP/IP network and other networks
JP4235507B2 (ja) * 2003-08-14 2009-03-11 株式会社エヌ・ティ・ティ・ドコモ 中継装置、送信装置、受信装置およびプログラム
US7564792B2 (en) 2003-11-05 2009-07-21 Juniper Networks, Inc. Transparent optimization for transmission control protocol flow control
JP2005167353A (ja) * 2003-11-28 2005-06-23 Ntt Docomo Inc 送信装置およびプログラム
US7349337B1 (en) * 2003-12-12 2008-03-25 Novell, Inc. Techniques for shaping data transmission rates
US7773620B2 (en) 2003-12-24 2010-08-10 Intel Corporation Method, system, and program for overrun identification
US7546367B2 (en) 2004-01-15 2009-06-09 Novell, Inc. Methods and systems for managing network traffic by multiple constraints
KR100602651B1 (ko) * 2004-02-13 2006-07-19 삼성전자주식회사 Tcp 커넥션 관리 장치 및 방법
WO2006007870A1 (en) * 2004-07-23 2006-01-26 Telefonaktiebolaget Lm Ericsson (Publ) Data unit sender control method
US20060059256A1 (en) * 2004-09-10 2006-03-16 Nokia Corporation Signaling a state of a transmission link via a transport control protocol
US7292825B2 (en) * 2004-10-19 2007-11-06 Ipwireless, Inc. Retransmission scheme in a cellular communication system
US7701853B2 (en) * 2005-09-30 2010-04-20 Alcatel-Lucent Usa Inc. Method for policing-based adjustments to transmission window size
US8743693B2 (en) * 2005-09-30 2014-06-03 Alcatel Lucent Method for dynamically adjusting token bucket sizes
EP1793553A1 (en) * 2005-12-02 2007-06-06 Alcatel Lucent A transmission control protocol (TCP) host with TCP convergence module
US8125904B2 (en) * 2006-05-30 2012-02-28 Broadcom Corporation Method and system for adaptive queue and buffer control based on monitoring and active congestion avoidance in a packet network switch
US8194643B2 (en) 2006-10-19 2012-06-05 Embarq Holdings Company, Llc System and method for monitoring the connection of an end-user to a remote network
US7948909B2 (en) 2006-06-30 2011-05-24 Embarq Holdings Company, Llc System and method for resetting counters counting network performance information at network communications devices on a packet network
US8717911B2 (en) 2006-06-30 2014-05-06 Centurylink Intellectual Property Llc System and method for collecting network performance information
US9094257B2 (en) 2006-06-30 2015-07-28 Centurylink Intellectual Property Llc System and method for selecting a content delivery network
US8488447B2 (en) 2006-06-30 2013-07-16 Centurylink Intellectual Property Llc System and method for adjusting code speed in a transmission path during call set-up due to reduced transmission performance
US8000318B2 (en) 2006-06-30 2011-08-16 Embarq Holdings Company, Llc System and method for call routing based on transmission performance of a packet network
US8289965B2 (en) 2006-10-19 2012-10-16 Embarq Holdings Company, Llc System and method for establishing a communications session with an end-user based on the state of a network connection
US8184549B2 (en) 2006-06-30 2012-05-22 Embarq Holdings Company, LLP System and method for selecting network egress
US8040811B2 (en) 2006-08-22 2011-10-18 Embarq Holdings Company, Llc System and method for collecting and managing network performance information
US8228791B2 (en) 2006-08-22 2012-07-24 Embarq Holdings Company, Llc System and method for routing communications between packet networks based on intercarrier agreements
US8549405B2 (en) 2006-08-22 2013-10-01 Centurylink Intellectual Property Llc System and method for displaying a graphical representation of a network to identify nodes and node segments on the network that are not operating normally
US8223655B2 (en) 2006-08-22 2012-07-17 Embarq Holdings Company, Llc System and method for provisioning resources of a packet network based on collected network performance information
US8307065B2 (en) 2006-08-22 2012-11-06 Centurylink Intellectual Property Llc System and method for remotely controlling network operators
US8537695B2 (en) 2006-08-22 2013-09-17 Centurylink Intellectual Property Llc System and method for establishing a call being received by a trunk on a packet network
US8144586B2 (en) 2006-08-22 2012-03-27 Embarq Holdings Company, Llc System and method for controlling network bandwidth with a connection admission control engine
US7889660B2 (en) 2006-08-22 2011-02-15 Embarq Holdings Company, Llc System and method for synchronizing counters on an asynchronous packet communications network
US8407765B2 (en) 2006-08-22 2013-03-26 Centurylink Intellectual Property Llc System and method for restricting access to network performance information tables
US7843831B2 (en) 2006-08-22 2010-11-30 Embarq Holdings Company Llc System and method for routing data on a packet network
US9479341B2 (en) 2006-08-22 2016-10-25 Centurylink Intellectual Property Llc System and method for initiating diagnostics on a packet network node
US8144587B2 (en) 2006-08-22 2012-03-27 Embarq Holdings Company, Llc System and method for load balancing network resources using a connection admission control engine
US8130793B2 (en) 2006-08-22 2012-03-06 Embarq Holdings Company, Llc System and method for enabling reciprocal billing for different types of communications over a packet network
US7684332B2 (en) 2006-08-22 2010-03-23 Embarq Holdings Company, Llc System and method for adjusting the window size of a TCP packet through network elements
US8098579B2 (en) * 2006-08-22 2012-01-17 Embarq Holdings Company, LP System and method for adjusting the window size of a TCP packet through remote network elements
US8274905B2 (en) 2006-08-22 2012-09-25 Embarq Holdings Company, Llc System and method for displaying a graph representative of network performance over a time period
US8576722B2 (en) 2006-08-22 2013-11-05 Centurylink Intellectual Property Llc System and method for modifying connectivity fault management packets
US7940735B2 (en) 2006-08-22 2011-05-10 Embarq Holdings Company, Llc System and method for selecting an access point
US8224255B2 (en) 2006-08-22 2012-07-17 Embarq Holdings Company, Llc System and method for managing radio frequency windows
US8750158B2 (en) 2006-08-22 2014-06-10 Centurylink Intellectual Property Llc System and method for differentiated billing
US7808918B2 (en) 2006-08-22 2010-10-05 Embarq Holdings Company, Llc System and method for dynamically shaping network traffic
US8238253B2 (en) 2006-08-22 2012-08-07 Embarq Holdings Company, Llc System and method for monitoring interlayer devices and optimizing network performance
US8189468B2 (en) 2006-10-25 2012-05-29 Embarq Holdings, Company, LLC System and method for regulating messages between networks
US8194555B2 (en) 2006-08-22 2012-06-05 Embarq Holdings Company, Llc System and method for using distributed network performance information tables to manage network communications
US8199653B2 (en) 2006-08-22 2012-06-12 Embarq Holdings Company, Llc System and method for communicating network performance information over a packet network
US8223654B2 (en) 2006-08-22 2012-07-17 Embarq Holdings Company, Llc Application-specific integrated circuit for monitoring and optimizing interlayer network performance
US8531954B2 (en) 2006-08-22 2013-09-10 Centurylink Intellectual Property Llc System and method for handling reservation requests with a connection admission control engine
US8619600B2 (en) 2006-08-22 2013-12-31 Centurylink Intellectual Property Llc System and method for establishing calls over a call path having best path metrics
US8064391B2 (en) 2006-08-22 2011-11-22 Embarq Holdings Company, Llc System and method for monitoring and optimizing network performance to a wireless device
US8107366B2 (en) 2006-08-22 2012-01-31 Embarq Holdings Company, LP System and method for using centralized network performance tables to manage network communications
US8125897B2 (en) 2006-08-22 2012-02-28 Embarq Holdings Company Lp System and method for monitoring and optimizing network performance with user datagram protocol network performance information packets
US8015294B2 (en) 2006-08-22 2011-09-06 Embarq Holdings Company, LP Pin-hole firewall for communicating data packets on a packet network
US8743703B2 (en) 2006-08-22 2014-06-03 Centurylink Intellectual Property Llc System and method for tracking application resource usage
US9258230B2 (en) * 2006-10-17 2016-02-09 Hewlett Packard Enterprise Development Lp In flight TCP window adjustment to improve network performance
US8111692B2 (en) 2007-05-31 2012-02-07 Embarq Holdings Company Llc System and method for modifying network traffic
KR100889670B1 (ko) * 2007-08-08 2009-03-19 삼성에스디에스 주식회사 모바일 디바이스상에서 tcp 기반의 서비스거부 공격의 차단 방법
US8068425B2 (en) 2008-04-09 2011-11-29 Embarq Holdings Company, Llc System and method for using network performance information to determine improved measures of path states
US8780705B2 (en) * 2009-04-30 2014-07-15 Freescale Semiconductor, Inc. Apparatus, communications system and method for optimizing data packet flow
US8325623B1 (en) 2010-02-16 2012-12-04 Google Inc. System and method for reducing latency during data transmissions over a network
US8964543B1 (en) 2010-02-16 2015-02-24 Google Inc. System and method of reducing latency by transmitting duplicate packets over a network
US8468196B1 (en) 2010-05-20 2013-06-18 Google Inc. System and method of reducing latency using adaptive retransmission timeouts
US8239532B1 (en) 2010-06-24 2012-08-07 Google Inc. System and method of reducing latency using adaptive DNS resolution
US8364812B2 (en) * 2010-08-27 2013-01-29 Sandvine Incorporated Ulc Method and system for network data flow management
US8576711B1 (en) 2010-09-28 2013-11-05 Google Inc. System and method for reducing latency via client side dynamic acknowledgements
US10425371B2 (en) * 2013-03-15 2019-09-24 Trane International Inc. Method for fragmented messaging between network devices
US9350663B2 (en) * 2013-09-19 2016-05-24 Connectivity Systems Incorporated Enhanced large data transmissions and catastrophic congestion avoidance over TCP/IP networks
US10432529B2 (en) 2013-09-19 2019-10-01 Connectivity Systems Incorporated Enhanced large data transmissions and catastrophic congestion avoidance over IPv6 TCP/IP networks
US11172016B2 (en) * 2017-03-30 2021-11-09 Intel Corporation Device, method and system to enforce concurrency limits of a target node within a network fabric
US11032257B1 (en) 2017-12-08 2021-06-08 Rankin Labs, Llc Method for covertly delivering a packet of data over a network
US11861025B1 (en) 2018-01-08 2024-01-02 Rankin Labs, Llc System and method for receiving and processing a signal within a TCP/IP protocol stack
US10725743B2 (en) 2018-01-22 2020-07-28 John Rankin System and method for generating random numbers
US10574439B2 (en) 2018-01-31 2020-02-25 John Rankin System and method for secure communication using random blocks or random numbers
WO2019168978A1 (en) 2018-02-28 2019-09-06 John Rankin System and method for expanding a set of random values
US11289070B2 (en) 2018-03-23 2022-03-29 Rankin Labs, Llc System and method for identifying a speaker's community of origin from a sound sample
WO2020014354A1 (en) 2018-07-10 2020-01-16 John Rankin System and method for indexing sound fragments containing speech
WO2020033540A1 (en) 2018-08-10 2020-02-13 John Rankin System and method for covertly transmitting a payload of data
US11689543B2 (en) 2018-08-10 2023-06-27 Rankin Labs, Llc System and method for detecting transmission of a covert payload of data
WO2020041390A1 (en) 2018-08-21 2020-02-27 John Rankin System and method for scattering network traffic across a number of disparate hosts
US11989320B2 (en) 2018-12-19 2024-05-21 Rankin Labs, Llc Hidden electronic file system within non-hidden electronic file system
US10903977B2 (en) 2018-12-19 2021-01-26 Rankin Labs, Llc Hidden electronic file systems
US10901739B2 (en) 2019-01-21 2021-01-26 Rankin Labs, Llc Systems and methods for controlling machine operations using stack entries comprising instruction configuration parameters
US11526357B2 (en) 2019-01-21 2022-12-13 Rankin Labs, Llc Systems and methods for controlling machine operations within a multi-dimensional memory space
US11108671B2 (en) 2019-01-21 2021-08-31 Rankin Labs, Llc Systems and methods for processing network traffic using dynamic memory
US11487674B2 (en) 2019-04-17 2022-11-01 Rankin Labs, Llc Virtual memory pool within a network which is accessible from multiple platforms
US10908133B2 (en) 2019-04-17 2021-02-02 Rankin Labs, Llc System and method for detecting hidden chemicals within objects in a non-invasive manner
US11729184B2 (en) 2019-05-28 2023-08-15 Rankin Labs, Llc Detecting covertly stored payloads of data within a network
US11055166B2 (en) 2019-05-28 2021-07-06 Rankin Labs, Llc Covertly storing a payload of data within a network
US11372773B2 (en) 2019-05-28 2022-06-28 Rankin Labs, Llc Supporting a virtual memory area at a remote computing machine
WO2021025728A1 (en) 2019-08-07 2021-02-11 John Rankin System and method for indirect advertising
WO2021025729A1 (en) 2019-08-07 2021-02-11 John Rankin Determining proximity and attraction of objects within a coordinate system
US11699037B2 (en) 2020-03-09 2023-07-11 Rankin Labs, Llc Systems and methods for morpheme reflective engagement response for revision and transmission of a recording to a target individual

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6701370B1 (en) * 1994-06-08 2004-03-02 Hughes Electronics Corporation Network system with TCP/IP protocol spoofing
AU706160B2 (en) * 1994-06-08 1999-06-10 Hughes Electronics Corporation Apparatus and method for hybrid network access
US6370114B1 (en) * 1997-12-31 2002-04-09 Nortel Networks Limited Apparatus and method for optimizing congestion control information in a multi-protocol network
US6680922B1 (en) * 1998-07-10 2004-01-20 Malibu Networks, Inc. Method for the recognition and operation of virtual private networks (VPNs) over a wireless point to multi-point (PtMP) transmission system
US6697378B1 (en) * 1998-10-16 2004-02-24 Cisco Technology, Inc. Method and apparatus for class based transmission control of data connections based on real-time external feedback estimates obtained using messaging from a wireless network
US6563787B1 (en) * 1998-11-09 2003-05-13 Alcatel Canada Inc. Method and apparatus for providing data flow control of a transmission port
US6646985B1 (en) * 1999-06-03 2003-11-11 Fujitsu Network Communications, Inc. Congestion control mechanism in a network access device
US6643710B1 (en) * 1999-09-17 2003-11-04 3Com Corporation Architecture to fragment transmitted TCP packets to a requested window size
US6564267B1 (en) * 1999-11-22 2003-05-13 Intel Corporation Network adapter with large frame transfer emulation
US6687227B1 (en) * 2000-03-13 2004-02-03 Nortel Networks Limited Systems and methods for requesting packets for transmission over a wirless channel having a dynamically changing capacity due to a highly varibale delay

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010510734A (ja) * 2006-11-23 2010-04-02 大唐移▲動▼通信▲設▼▲備▼有限公司 時分割多重化モードにおけるデータ伝送方法及びシステム
JP2012147375A (ja) * 2011-01-14 2012-08-02 Fujitsu Advanced Engineering Ltd スイッチ装置、輻輳防止方法、及び輻輳防止プログラム

Also Published As

Publication number Publication date
EP1168722A1 (en) 2002-01-02
US6925060B2 (en) 2005-08-02
FR2805112B1 (fr) 2002-04-26
FR2805112A1 (fr) 2001-08-17
EP1168729A1 (en) 2002-01-02
US20010017844A1 (en) 2001-08-30

Similar Documents

Publication Publication Date Title
JP2001268130A (ja) フロー制御されたネットワーク上におけるtcp接続のフローを制御するための方法および装置、相互接続機器
US8605590B2 (en) Systems and methods of improving performance of transport protocols
EP0829986B1 (en) System for improving data throughput of a TCP/IP Network connection with slow return channel
US8462630B2 (en) Early generation of acknowledgements for flow control
US6839767B1 (en) Admission control for aggregate data flows based on a threshold adjusted according to the frequency of traffic congestion notification
US8310928B2 (en) Flow control system architecture
EP1169826B1 (en) Enhanced acknowledgement pacing device and method for tcp connections
Bonald Comparison of TCP Reno and TCP Vegas via fluid approximation
US6700871B1 (en) Increased throughput across data network interface by dropping redundant packets
US7698453B2 (en) Early generation of acknowledgements for flow control
US8259729B2 (en) Wavefront detection and disambiguation of acknowledgements
CN100534069C (zh) 非对称和多并发网络的加速方法
EP1240753A1 (en) Congestion control method for a packet-switched network
Bonald Comparison of TCP Reno and TCP Vegas: efficiency and fairness
Liu et al. Improving explicit congestion notification with the mark-front strategy
US7359326B1 (en) Method for splitting data and acknowledgements in a TCP session
Luan et al. Throughput analysis of a window-based flow control subject to bandwidth management
CA2372023A1 (en) Overload control method for a packet-switched network
Elloumi et al. A simulation-based study of TCP dynamics over HFC networks
Pop et al. Advertised Window-Based TCP Flow Control in Routers
Semeria et al. Supporting Differentiated Service Classes: TCP Congestion Control Mechanisms
Simmons Performance analysis of poll-based retransmission schemes
Toomey RBCC: A Rate-based Congestion Control Scheme for Packet Switched Networks
Gulwani TRANSPORT PROTOCOLS
Debanjan et al. TCP Enhancements for an Integrated Services Internet

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080109

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090617