JP4738594B2 - データフロー制御方法および装置 - Google Patents
データフロー制御方法および装置 Download PDFInfo
- Publication number
- JP4738594B2 JP4738594B2 JP2000541802A JP2000541802A JP4738594B2 JP 4738594 B2 JP4738594 B2 JP 4738594B2 JP 2000541802 A JP2000541802 A JP 2000541802A JP 2000541802 A JP2000541802 A JP 2000541802A JP 4738594 B2 JP4738594 B2 JP 4738594B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- value
- link
- bandwidth
- window
- 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.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 61
- 238000004891 communication Methods 0.000 claims description 69
- 230000005540 biological transmission Effects 0.000 claims description 68
- 230000008569 process Effects 0.000 claims description 18
- 230000001419 dependent effect Effects 0.000 claims 13
- 230000008901 benefit Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000005259 measurement Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 241000338137 Teratosphaeria nubilosa Species 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 241000233805 Phoenix Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
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/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
-
- 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/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
[技術的背景]
本発明はパケット交換接続におけるデータフロー制御方法および装置に関する。
【0002】
いわゆるインターネットはいくつかの異なるサービスレイヤを含む通信網である。最下位レイヤはハードウェアレイヤであり、その上にさまざまな機能のソフトウェアレイヤが付加される。例として、いわゆるworld wide web(WWW)はいわゆるインターネットプロトコル(IP)により提供されるベーシックインターネットレイヤの上のレイヤである。
【0003】
インターネットはパケット交換網であり、情報の基本的構造はインターネットプロトコルIPにより決定される。プロトコルは所期の通信において2つのパートナーが通信できるようにするために従わなければならない1組のルールである。インターネットプロトコルIPはアドレス指定を調整する、すなわち2つの通信点間のルーターが宛先へデータパケットを送れることを保証する。IPパケットは送られるデータに関する情報を含むヘッダー、およびデータ自体を含む本体からなっている。
【0004】
通信の両端間で信頼度の高いデータ伝送を容易にするために、さらに伝送制御プロトコル(TCP)が設けられる。TCPは送られる情報を取り込んで所与のセグメント内へ分割する。各セグメントが番号を受信し、所与のセグメントの受信を受信者が通知することができ受信者は情報を正しい順序に配列できるようにされる。TCPはこのプロトコルにより使用されるそれ自体の情報を運ぶそれ自体のヘッダーを有する。TCPパケットはIPパケット内に配置される、すなわち(下層)IPパケット内にカプセル化される、ことによりインターネットを介して送られる。インターネット両端間でのパケットの移送がしばしばTCP/IPと呼ばれるのはそのためである。
【0005】
それぞれ1番から8番の同じサイズの8つのデータセグメントへ分割されるデータの本体100を図2に示す。例として、本体100は8192バイトのサイズを有し、各データセグメントは1024バイトを含むようにすることができる。実際に送る必要がある情報は通常7168バイトと前記した8192バイトの間であり、最後のデータセグメント8は単にいわゆるパディングで埋められて等サイズデータセグメントが達成されることをお判り願いたい。単一データセグメントの精密なサイズは1024バイトの前記選択例には固定されず所与の制約、例えば特定のリンクにより許容される最大伝送単位(MTU)、にしたがって送信システムにより適切に選択される。
【0006】
TCPがデータセグメントのフローを制御する方法は“スライディングウィンドウズ”法である。その概念は例えばダブリュ.アール.スチーブンスの著書“TCP/IP Illustrated”,Volume 1,Addison Wesley,1994,第20章および第21章に記載されている。
【0007】
“ウィンドウ”という用語はバイトの量、より一般的にはデータ単位で表わされるデータ量、を示す。TCPに従って、受信者は通信を開始する発信者からのパケットに応答していわゆる“公示された”(advertised)すなわち提供されたウィンドウを発信者へ送る。TCP発信者は公示されたウィンドウにより定義される量よりも多くの受信通知されない未決定パケットを有することを許されない。受信者は公示されたウィンドウを各受信通知メッセージもしくはパケット内で送信することをお判り願いたい。
【0008】
公示されたウィンドウは通常受信者側の入力バァッファ容量に対応する。したがって、公示されたウィンドウの機能は高速発信者が低速受信者の入力バァッファをオーバフローさせてしまうのを防止することである。
【0009】
次に、図2に示すデータ量100の送信例を示す図3および図4、およびスライディングウィンドウ制御の原理を示す図5および図6についてスライディングウィンドウ制御機構の説明を行う。
【0010】
図2に示すデータの8セグメントの送信例を図3に示し、発信者は左側に示され受信者は右側に示されている。各矢符はパケットの送信を示し、後述するように、二重線矢符はデータセグメントを含むパケットに対応する。個別パケットの送信は参照符号S1−S20で示され、どちら側からの送信行為もセグメントと呼ばれる。それは一般的に図2のデータを含む1つのパケットは1つのデータセグメントを含むことを示している。時間の方向は頂部から底部へ向かう。
【0011】
図3に示すシーケンスはフロー制御を説明するために単純化されており、したがって全てのパケットに参照符号があるわけではなく、通信の他のアスペクトに関連するものもあることをお判り願いたい。また、参照符号のあるセグメントのいくつかはさらにデータを運ぶが、この補足データもフロー制御以外の通信の他のアスペクトに関連するため、ここには例示しない。X:Y(Z)の表示はX番からY番バイトが送られ、合計Zとなることを意味する。AckXはX番までのバイトの受信が通知されることを意味し、WinXはXバイトのウィンドウが公示されることを意味する。
【0012】
発信者および受信者間のセグメントS1−S3は通信の確立に関連しており、受信者はセグメントS2内に4096バイトのウィンドウをアナウンスすること以外は説明を行わない。セグメントS4からS7において発信者は最初の3つのデータセグメント1−3、すなわち1−1025,1025−2049および2049−3073バイトを送信する。受信者はS7において2049までのバイトの受信を通知し、S7は4096のウィンドウを再度公示する。受信者がなぜ3073まで通知しないかということはフロー制御の説明にとって重要ではない。例えば、このデータセグメントは受信側の処理で遅延されることがある。セグメントS8において受信者は3073までを受信通知し3073のウィンドウを公示する。ここでも、その理由はフロー制御の説明にとって重要ではない。例えば、受信者の入力バァッファをさらに遅延され、縮小したウィンドウがオーバフローを防止するようにすることができる。セグメントS9において発信者はもう1つのデータセグメント、すなわち3073から4097バイト、を送信する。それらはセグメントS10において受信通知され、再度4096のウィンドウが公示される。次に、発信者はセグメントS11からS13において3つのデータセグメント、すなわち4097−5121,5121−6145および6145−7169を送信する。セグメントS14において、受信者は6145バイトまでしか受信通知しないが、4096のウィンドウを公示し続ける。セグメントS15において、発信者は7196−8193バイトからなる最終データセグメントを送信し、受信者はセグメントS16において8193までの全バイト受信を通知する。残りの交換S17からS20まではフロー制御に無関係である。
【0013】
図からお判りのように、各データセグメントが個別に受信通知される必要はなく、受信者は1つの受信通知メッセージにより所与のセグメントまでのいくつかのデータセグメントの受信を通知することもできる。
【0014】
図5にスライディングウィンドウベースフロー制御の原理を示す。1番から11番はデータセグメントに関連しており、例えば、それらは図2に示すデータセグメントもしくは単に所与数のバイトとすることができる。ウィンドウベースフロー制御の説明に関して、重要なのはウィンドウ200がある量のデータをカバーし、左縁201と右縁202間の制御ウィンドウがデータセグメント4から9をカバーするということだけである。図5の例では、制御ウィンドウは公示されたウィンドウである。(もう1種の制御ウィンドウについては後述する。)ウィンドウ200の左縁の位置は既に送信され(発信者により)受信通知されている(受信者により)データセグメントの数により決定される。図5において、それはデータセグメント1から3が送信され受信通知されていることを意味する。
【0015】
一連のセグメントの例に関してデータフローが説明されているが、TCPはストリームオリエンテッドプロトコルであり、シーケンスベースはバイトに関するようにされることをお判り願いたい。したがって、受信者からの受信通知メッセージは受信セグメントを表示せず、むしろシーケンスデータのどのバイトまでデータが受信されているかを示す。
【0016】
発信者は全体ウィンドウサイズと送信されてはいるがまだ受信通知されていないデータ量との差として使用可能なウィンドウ、すなわち送信できるデータ量、を計算する。図5では、分割203から右縁202までの使用可能なウィンドウがデータセグメント7から9をカバーする。したがって、これらのデータは送信することができる。右縁202を越えるデータセグメント、すなわち10,11等、はウィンドウが移動してそれらをカバーするまで送信することができない。次に、ウィンドウの移動について説明する。
【0017】
図6はウィンドウの時間調節の原理を示す。受信者がデータを受信通知する時に、ウィンドウは時間をかけて右へ移動する。2つの縁201,202の相対移動によりウィンドウのサイズが増減する。この移動を説明するために従来3つの異なる用語が使用されており、それは左縁201が右へ移動するとウィンドウが閉じる、右縁202が右へ移動するとウィンドウが開く、および右縁202が左へ移動するとウィンドウが閉じるである。縁201,202の移動はどれだけのデータが送信され受信通知されているかに従った左縁201の位置、および右縁202を決定する所与の左縁201から始まる公示されたウィンドウサイズにより支配される。左縁は左へは移動せず、左縁を左へ移動させることを意味する受信通知(ACK)が受信されておれば、それは重複ACKであり捨てられることがお判りであろう。
【0018】
左縁201が右縁202に達する結果生じるウィンドウ200はゼロウィンドウと呼ばれる。それは発信者が任意のデータを送信するのを停止させる。
【0019】
フロー制御の前記した原理を図4に示し、それは図3に示す例に対するスライディングウィンドウフロー制御を説明するものである。図の頂部に図2のデータセグメントを示しその下のバーおよび矢符は、発信者によるデータの送信および受信者による受信通知に応答した、フロー制御ウィンドウの移動および時間変化を表わしかつ例示している。図からお判りのように、発信者はデータの全ウィンドウの量を送信する必要はない。受信者からの各受信通知によりウィンドウは右へスライドされる。セグメントS7からS8への変化で示すようにウィンドウのサイズは減少することがあるが、ウィンドウの右縁は左方へ移動してはならない。また、受信者はACKを送信する前にウィンドウが埋まるのを待つ必要がない。
【0020】
前記説明では、フロー制御を決定したウィンドウはウィンドウから公示されたすなわち提供されたウィンドウであった。すなわち、公示されたウィンドウはそれにより受信者がフロー制御に影響を与える手段であり、それ自体が当然発信者により実施される。前記したように、受信者は公示されたウィンドウを使用してその入力バァッファのオーバフローを防止する。したがって、通常は公示されたウィンドウのサイズは受信プロセスにより制御される。
【0021】
高速発信者が低速受信者にオーバフローをきたす問題の他に、ネットワーク上で競合が生じることがあるという問題が存在する。それは接続の受信端ではなく送受信端間で生じる問題である。よく知られているように、インターネット上の典型的な接続は、ルーターとして作動する、他の部材を介して確立されこれらのルーターは広範に変動するタイプのハードウェアにより接続されることがあり、ルーター間のこのような接続は一般的にリンクと呼ばれる。すなわち、発信者から受信者へのパケットは受信端に到達するまでルーターによりリンクを介して他のルーターへ案内される。競合は所与のリンクがそれを介して送信されるデータ量を処理するのに十分な大きさではない(十分な送信容量がない)場合に生じる結果である。それは例えば大容量を有するリンク(“ビッグパイプ”、例えば高速LAN)上にデータが到達し低容量を有するリンク(“スモールパイプ”、例えば低速WAN)上に出て行く時、あるいは出力容量が入力の和よりも小さいルーターに多数の入力ストリームが到達する時に生じることがある。
【0022】
図7に競合の例を示す。この図では、図2に示したものと同じデータセグメントを含みしたがって1から8の番号を運ぶパケットが大きい送信容量を有するリンク300を介してルーターR1に到達する。R1がパケットをルーティングするリンク301はリンク300よりも小さい。パケットはハッチングした領域で表わされ、この領域はパケットサイズに対応することをお判り願いたい。それはリンク301に示すパケット3もしくは4の領域がリンク300内のパケット5もしくは6、あるいはリンク302内のパケット1もしくは2の領域に等しいことを意味する。図からお判りのように、R1はリンク300に到達する時の速さでリンク301内へパケットを送信することができないため、“ボトルネック”として作動する。やはり図からお判りのように、ルーターR2は低容量リンク301から到達するのと同じ速さでしかパケットをリンク302へ入れることができない。したがって、最低容量のリンクがパケットの間隔を決定する。
【0023】
図7の例では、受信者は8セグメントに対応するサイズを有するウィンドウを公示しており、発信者はリンク300が受け取れる速さで8つ全部を送信したものと仮定していることをお判り願いたい。また、ルーターR1は着信パケットを送信できるまで格納するための十分大きいバァッファを有するものと仮定している。しかしながら、後者の仮定は満たされない場合が多く、競合によりパケットが廃棄されることがあり、それはパケットを再送信する必要があることを意味する、すなわち送信は不利にされる。
【0024】
競合を配慮するために、TCP内のデータフロー制御は前記した公示されたウィンドウに従うだけでなく、いわゆる競合ウィンドウにも従って実施される。競合ウィンドウはスロースタートと呼ばれるルーチンにより次のように使用される。新しい接続が確立されると、競合ウィンドウはデータの1セグメントへ初期化される。発信者により受信通知が受信されるたびに、競合は1セグメントだけ増加される。前記したスライディングウィンドウ制御(図5および図6参照)は公示されたウィンドウもしくは競合ウィンドウのどちらか小さい方で実施される。すなわち、競合ウィンドウが公示されたウィンドウよりも小さい場合には、図5に示す制御ウィンドウ200は競合ウィンドウであって公示されたウィンドウではない。制御ウィンドウの左縁位置を決定するプロセスが図4、図5および図6に関して前記したとおりに実施されるが、右縁位置は公示されたウィンドウと競合ウィンドウの最小値により決定される。
【0025】
公示されたウィンドウは受信者により決定され、競合ウィンドウは発信者により決定される。したがって、競合ウィンドウは発信者により課せられるフロー制御であり、公示されたウィンドウは受信者により課せられるフロー制御である。前者は知覚されたネットワーク競合の発信者の評価であり、後者は受信者において利用可能なバァッファスペース量に関連している。
【0026】
[発明の根本にかかわる問題]
前記したようにスロースタートおよび競合ウィンドウを使用してスライディングウィンドウズフロー制御が実施される場合、発信者は1つのセグメントすなわちパケットを送信し対応する受信通知ACKを待機することにより開始する。そのACKが受信されると、競合ウィンドウは1から2へ増分され、2セグメントを送ることができる。一般的に、各受信ACKによりウィンドウは1だけ増加する。したがって、これら2つのセグメントの各々が受信通知されると、競合ウィンドウはたとえば4に増加する。それにより指数関数的増加となる。指数関数的増加は純粋な時間に関するものではなく、いわゆるラウンドトリップ時間RTTに関するものであることをお判り願いたい。RTTは所与のバイトの送信と対応する受信通知メッセージの受信との間で経過する時間である。この指数関数的増加により、図7に関して説明したように、競合ウィンドウのサイズは公示されたウィンドウよりはまだ小さいが競合に到る値へ迅速に達することができる。
【0027】
典型的に競合によりパケット損失を生じ、それは通信において生じる時間切れ(パケットが送信される時に、時間切れクロックが動作開始し、予め設定された期間内に受信通知が受信されない場合には、時間切れが発せられる)もしくは受信される重複ACKにより認知することができる。
【0028】
この問題に対処するために、競合回避方法が提案され、それは例えばダフリュー.アール.スチーブンスの前記した書籍の第21.6章に記載されている。通常は前記したスロースタート方法と一緒に実現されるこの方法に従って、競合ウィンドウ値およびスロースタート閾値が維持される。最初に競合ウィンドウは1セグメントにセットされ閾値は許容最大ウィンドウサイズ(典型的には、65535バイト)にセットされる。制御ウィンドウは公示されたウィンドウと競合ウィンドウの最小値として選択される。競合が生じそれが時間切れの発生により認知されると、現在の制御ウィンドウの半分が閾値として格納され競合ウィンドウは1セグメントにセットされる。時間切れはパケットの送信以来経過する時間をそれに従ってタイマが測定する機能であり、所定期間内に受信通知が受信されなければ時間切れ警告が発せられる。次に、制御ウィンドウサイズが閾値に達するまでスロースタート方法が利用され(ウィンドウサイズの指数関数的増加と共に)、その後競合回避方法が開始され、それは競合ウィンドウがその逆数により増分されることを指示し、競合ウィンドウのサイズは線形増加するようになる。
【0029】
競合のもう1つの表示は重複受信通知の受信であり、その後で競合ウィンドウは現在の制御ウィンドウの半分にセットされ競合回避方法が使用される。時間切れおよび重複受信通知、およびそれに対する反応はTCPに関してよく知られているため、これ以上説明する必要はない。
【0030】
この結果、TCPにより実施される基本的フロー制御は発信者によるプロービングをより多くの帯域幅に対して一定とするのに役立つ。帯域幅はデータ送信レートとして定義される、すなわち単位時間当たりデータ、例えばビット/秒、の単位で与えられる。この帯域幅に対する一定プロービングは、たとえある点以降は競合ウィンドウを線形に増加させてしまう前記した競合回避方法に従ってなされる場合であっても、受信者が十分大きなウィンドウを公示する限り、それでも競合が生じるという効果を有する。
【0031】
この問題はTCPに限定されず、スライディングウィンドウフロー制御を利用するいかなるシステムでも生じることをお判り願いたい。
EP−0454364A2には 2 つのウィンドウを有する高速トランスポートプロトコルが示されている。このプロトコルは情報量を制御する 2 つのウィンドウを含み、第1のウィンドウはネットワークウィンドウと呼ばれネットワーク内のデータを制限してネットワークバァッファリソースが経済的サイズとされしかもネットワークを介して送信されるパケット数に過剰な損失がないようにするのに使用され、第2のウィンドウは受信者フロー制御ウィンドウと呼ばれ典型的には第1のウィンドウよりも大きい。第2のウィンドウはパケットが受信者においてドロップすなわち消失されないことを保証するのに使用される。この文献は典型的に第1のウィンドウが、ラウンドトリップ遅延と発信者および受信者を相互接続するネットワークの帯域幅値との積として定義される、いわゆる帯域幅遅延積にセットされると述べている。帯域幅遅延積という用語は受信通知されないデータの量と同義語である。
EP−0693840A1からホップバイホップフロー制御を使用するシステムが知られており、ソース端局が確立された接続を介してディスティネーション端局へ規則正しく制御セルを送出し、制御セルは個別の伝送速度を示すスタンプされた速度フィールドを有する。周期的更新プロセスにおいて、ソース端局とディスティネーション端局間の接続に沿ったスイッチの各々が接続に対する利用可能な帯域幅を計算する。各制御セル内のスタンプされた速度フィールド内の値が現在利用可能な帯域幅割当てと比較され、所与のスイッチ内の現在利用可能な帯域幅割当てが現在フィールド内に存在する値よりも小さければスタンプされた速度フィールド内に書き込まれる。次に、制御セルリターンプロセスが実行され、ソース端局において戻された制御セルが許容伝送速度の更新をトリガーし、許容伝送速度は個別伝送速度の 1 つに等しくされる。したがって、この文献は速度制御方法について記載している。
Proceedings of the 1996 IEEE Fifteenth Annual International Phoenix Con ference on Computers and Communications,Scottsdale,March 27−29,1996,no.Conf.15,March 27,1996,第239−245頁(XP000594795)のミローチェバ,アイ,等の論文“Protocol Mecjhanisms for Reliable Transmission and Flow Control on Multimedia Highways”にはTCPにおけるスロースタートおよび競合回避等のあるルーチンおよび技術が記載されている。
【0032】
[発明の目的]
前記した問題点を克服し改善されたフロー制御方法および装置を提供することが本発明の目的である。
【0033】
[発明の概要]
この目的は独立項に記載された方法および装置により解決される。有利な実施例が独立項に記載されている。
【0034】
本発明に従って、ある量のデータが送信される接続におけるフロー制御は前記接続上の情報、すなわち前記接続を形成するリンクに関連する1つ以上の帯域幅値、を直接利用する。このようにして、フロー制御はネットワーク上の状況に直接適応させることができる。
【0035】
好ましくは、データ送信中に帯域幅値は一度だけでなく数回決定され、帯域幅値が更新されてフロー制御が接続に沿った状況にダイナミックに適応されるようにされる。
【0036】
本発明の好ましい実施例に従って、スライディングウィンドウフロー制御が使用されるシステムにおいて、ウィンドウサイズが前記帯域幅に依存して計算され、前記ウィンドウサイズは前記スライディングウィンドウフロー制御において制御ウィンドウを決定するプロセスで利用される。
【0037】
制御ウィンドウを決定するプロセスで前記ウィンドウサイズを利用することは、例えば、ウィンドウが制御ウィンドウのサイズとして直接使用される、あるいは利用できる他のウィンドウサイズ値(例えば、TCPから知られる競合ウィンドウサイズおよび公示されたウィンドウサイズ)と比較され制御ウィンドウサイズはこの比較から決定される、例えば利用できる最小ウィンドウサイズが選択される、ことを意味する。
【0038】
ウィンドウを前記したように定義することの基本的な効果は、やはりボトルネックウィンドウと呼ばれる、この新しいウィンドウが接続における1つのリンクがパケット送信に対してボトルネックとなりかねないことを考慮することであり、スライディングウィンドウフロー制御中にボトルネックウィンドウを考慮することにより前記ボトルネックウィンドウを決定するのにその帯域幅が考慮される前記リンクの1つにおける競合を最小限に抑えることができる。
【0039】
もう1つの好ましい実施例では、考慮中の各リンクに対する各帯域幅値を得、前記複数の帯域幅値の最小値を求め、所与のバイトを送信してからそれが前記接続の他端で受信されているという受信通知が受信されるまでの間に経過する時間量を特徴づける時間値を求め、時間値と最小帯域幅値の積をボトルネックウィンドウとして計算することによりボトルネックウィンドウが求められる。
【0040】
好ましくは、前記時間値はパケットが送信される方向における所与のパケット交換接続に対するラウンドトリップ時間値である。
【0041】
もう1つの好ましい実施例では、リンクに関連する帯域幅値は前記リンクの物理的帯域幅、すなわち所与の時点において前記リンクを介して送信することができるデータの総量である。もう1つの好ましい実施例では、リンクに関連する帯域幅値は前記リンクにおいてパケット交換接続に利用できる実際の帯域幅値である。後の実施例は2つ以上の接続がリンクを介して行われることがあることを考慮している。
【0042】
さらにもう1つの好ましい実施例では、1つの帯域幅値すなわちアクセスリンクの利用できる帯域幅しか考慮されない。アクセスリンクはパケット交換接続の終端における装置とパケット交換接続に沿った次のルーター間のリンクである。この実施例によりボトルネックリンクはアクセスリンクの帯域幅に基づいて定義され、前記アクセスリンクにおける競合の可能性を低減できるようにされる。測定されるアクセスリンクは接続において発信者として作動する装置、もしくは受信者として作動する装置とすることができる。
【0043】
好ましくは、この実施例はアクセスリンクの帯域幅がそれを介してリンクレイヤを制御するコンポーネントにより与えられるようにされている。例として、パケット交換接続の終端における装置がパーソナルコンピュータでありアクセスリンクがインターネットプロバイダへのモデムリンクであれば、リンクレイヤはSLIP(Serial Line Internet Protocol),PPP(Point−to−Point Protocol)もしくはRLP(GSMに関連して使用されるRadio Link Protocol)等の適切なリンクプロトコルにより確立され、リンクレイヤを制御するコンポーネントはパーソナルコンピュータとモデム間の交換を支配するドライバである。もう1つの例として、アクセスリンクはISDN回線等のデジタル電話リンクやデジタルセルラー電話網における接続とすることができ、そこではドライバはモデムを制御せずISDNアダプタカード等の適切なアダプタ装置を制御する。
【0044】
この最後の実施例には、ネットワークやそれを支配するプロトコルを変えずに任意数のパケット交換網内に実現することができるため実現が容易であるという利点があり、セルラー電話機を介したアクセスリンク等の無線送信部を含むアクセスリンクの場合、アクセスリンクが典型的にボトルネックリンク、すなわちパケット交換接続を形成する全リンクの中で発信者に最低帯域幅を提供するリンク、であるため特に有効である。すなわち、この場合アクセスリンクにおいて競合が回避されれば全体パケット交換接続における競合の発生を完全に回避することができ、前記実施例において本発明が保証できることはそれである。
【0045】
もう1つの好ましい実施例では、2つの帯域幅値すなわち発信者および受信者のアクセスリンクの帯域幅値がそれぞれ求められる。このようにして、これらのリンクの1つにおける競合の発生を低減することができる。
【0046】
本発明は前記した競合回避の問題に対する単純で、有効な柔軟性のある解決法を提供し、いかなる通信システムにも応用することができる。
【0047】
それはスライディングウィンドウフロー制御を使用するシステムに特に応用される。前記したように、フロー制御はボトルネックウィンドウだけを使用したり、ボトルネックウィンドウの使用を所与のシステムに対する既知のウィンドウと組み合わせて行うことができる。例えば、本発明をTCPに応用する場合には、フロー制御がボトルネックウィンドウだけで行われる、あるいは、例えば制御ウィンドウを公示されたウィンドウ、競合ウィンドウおよびボトルネックウィンドウの最小値として決定することにより、ボトルネックウィンドウの使用を既知のウィンドウ、すなわち競合ウィンドウおよび公示されたウィンドウ、の使用に加えられるようにこのプロトコルを変えることができる。
【0048】
後者の場合、すなわちボトルネックウィンドウを既存のウィンドウに加え次にこれらのウィンドウから制御ウィンドウを選択して本発明を応用する場合、本発明は従来の伝送プロトコル(例えば、TCP)を変える必要がないという追加利点を提供し、しかも本発明は接続の一端でしか実現されない場合でも有効である。すなわち、後者の場合標準伝送プロトコルの既存のインプリメンテーションとのコンパチビリティが保持され、しかも性能向上の利点がある。
【0049】
スライディングウィンドウフロー制御で使用される新しいウィンドウ、すなわちボトルネックウィンドウ、を定義することにより本発明の好ましい実施例は従来技術で準備される概念に反するものであり、既存のウィンドウズ(公示されたウィンドウ、競合ウィンドウ)は新しいアルゴリズム、例えば前記した競合回避アルゴリズム、と一緒に使用される。それとは対照的に、パケット交換接続を形成するリンクの中の個別のリンクの帯域幅上の局部情報を考慮するボトルネックウィンドウを定義することにより、本発明は単純で柔軟性の高い方法を達成し、単独であれ既知のウィンドウと一緒であれ、このボトルネックウィンドウの使用により既知の解決法よりも有効な競合回避を達成する。
【0050】
[発明の詳細な説明]
後述する大概の例はTCPに従った通信に関連して説明される。本発明はTCPに従ったフロー制御の既知の要素と組み合わせることができるため、前記説明は本開示の一部を形成する。しかしながら、本発明はTCPへの応用に限定されるものではなく、スライディングウィンドウフロー制御を使用するいかなる通信システムにも応用することができる。
【0051】
インターネット等のパケット交換網における2つの通信パートナー間の接続は典型的にいくつかの個別リンクからなっており、前記リンクはルーターにより接続される。例えば、パーソナルコンピュータは高速LANを介してサーバに接続することができ、サーバは低速WANを介してインターネットのもう1方の会員(インターネットプロトコルピアすなわちIPピアとも呼ばれる)に接続することができ、インターネットの他方の会員はやはり高速LANを介して受信者に接続することができる。LANおよびWANはリンクを構成し、サーバはルーター、すなわちパケット内に含まれるルーティング情報に従って行き先へ向けてパケットをルーティングする装置である。この状況は図7に略示するものに対応しており、第1のLANはリンク300、第1のサーバルーターR1、WANリンク301、他方のインターネット会員ルーターR2、および第2のLANリンク302である。もう1つの例は低速モデムリンクを介してインターネットサーバに接続されるパーソナルコンピュータであり、サーバは専用衛星回線を介してもう1つのIPピアに接続されており、このIPピアはやはり低速モデムリンクを介して受信者に接続されている。
【0052】
図1は本発明に従ったフロー制御方法の基本的実施例を示す。2つの通信パートナー間のパケット交換接続におけるデータのフローが制御され、前記接続はルーターにより接続される複数のリンクからなっている。一例はインターネットを介したTCP/IP接続である。接続において、送信するデータを有するパートナーが発信者であり、他方のパートナーが受信者である。第1のステップSt10において、送信されるデータのシーケンス(すなわち、e−メール)が発信者に対して決定される。それは送信されるデータの一連のデータ単位(例えば、バイト)が決定されることを意味する。
【0053】
次のステップSt20において、データが送信される接続内の少なくとも1つのリンクに関連づけられる帯域幅値が自動的に決定される。それは非常に多くの異なる方法で行うことができる。例えば、接続における一方もしくは両方のパートナーがデータが送信される方向、すなわち発信者から受信者への方向、における接続の1つ以上のリンクの帯域幅値を監視することができる。1つの可能性は接続に沿ったルーターにこれらの帯域幅値を受信者へ送信されるパケット、好ましくは発信者へ戻される受信通知パケット、に付加させることである。もう1つの可能性は一方もしくは両方のパートナーのリンクレイヤドライバをそのパートナーのアクセスリンクの帯域幅値を監視するように適応させることである。アクセスリンクはパートナーを他方のパートナーへの接続における次のルーターに接続させるリンクである。リンクに関連づけられる帯域幅値は前記リンクが単位時間当たりどれだけのデータを運べるかの表示を与える任意の数とすることができる。例えば、それはリンクの物理的な帯域幅値、すなわちリンクの全帯域幅とすることができ、より好ましくはそのリンクにおける接続に瞬時利用できる帯域幅とすることができる。
【0054】
最後に、前記データシーケンスのフローは前記帯域幅値を利用して制御することができる。それは競合を最小限に抑えられるように1つ以上の帯域幅値を自動的に考慮することにより発信者からのデータフローが制御されることを意味する。それは、例えばスライディングウィンドウベースフロー制御を使用するシステムでは、1つ以上の帯域幅値からウィンドウ値を求め次に前記ウィンドウ値を制御ウィンドウとして使用するか、あるいはとりわけ前記ウィンドウ値を含むグループから制御ウィンドウを選択して行うことができる。このようにして、本発明は接続を直接特徴づけるパラメータに自動的に依存してデータフローが制御されるシステムを達成する。
【0055】
フローを制御するハードウェアは、例えば接続における両方のパートナーを同時に制御する装置内に、任意適切なもしくは所望の方法で提供することができるが、より好ましくは本発明に従った制御は接続における一方もしくは両方のパートナーに直接内蔵される。好ましい実施例に従って、接続の一方のパートナーにしか実施しなくても全体接続に対する改善されたフロー制御を達成できることが、本発明の重要な利点である。
【0056】
図8は本発明の方法の好ましい実施例のフロー図を示す。第1のステップSt1において、接続に沿ったリンクに関連づけられる1つ以上の帯域幅値が決定される。帯域幅は単位時間当たりデータ量、例えばビット/秒、として定義される。接続におけるリンクはパケットが送信されるもしくは送信されている方向で発信者と受信者間にパスを確立するものであることをお判り願いたい。それは発信者から受信者へパケットが送信されるパスすなわち接続は受信者から発信者へパケットが送信されるパスと必ずしも同一ではないという事実による。
【0057】
どの帯域幅が所与のリンクと関連づけられるかを決定する機構は本発明にとって重要ではなく、任意適切な方法で選択することができる。本発明の好ましい実施例に従って、所与のリンクと関連づけられる値は前記リンクに対応する物理的接続の帯域幅である。例として、28800ビット/秒の伝送速度を有するモデムによりリンクが形成される場合、関連する帯域幅は28800ビット/秒となる。物理的帯域幅は特定のリンクが提供できる絶対最小帯域幅とすることができ、その場合この値は所与のリンクに対して一定であり、あるいは支配的状況下における最大帯域幅とすることができることをお判り願いたい。リンクが無線通信により与えられる場合にはこの違いは重要であり、その場合絶対最大値は理想的無線状況下での値であり、支配的最大値は瞬時的状況により許容される値である。
【0058】
このように定義されるこの物理的リンク帯域幅は考慮中の接続にどれだけ多くの帯域幅が実際に利用できるかということとは無関係である。従来技術で良く知られているように、所与のリンクは2つ以上の接続を運ぶことができ、全体(すなわち、物理的)帯域幅の一部を各接続に利用することができる。したがって、本発明のもう1つの好ましい実施例では、所与のリンクに関連づけられる帯域幅は前記リンクの接続に現在利用できる帯域幅である。
【0059】
リンクに関連づけられる帯域幅が現在利用できる帯域幅である実施例において、この値を求める1つの可能性はパケット伝送の基礎をなす基本的プロトコル(たとえば、インターネットを介したパケット交換の場合はIP)を修正して、受信者へ送信されるデータパケットであってもあるいは受信者から発信者へ送信される対応する受信通知パケットであっても、接続における各リンクが送信されるパケットへこの情報を加えるようにすることである。しかしながら、本発明はそれに依存しないため、現在利用できる帯域幅を決定する任意適切な方法を使用することができる。
【0060】
物理的リンク帯域幅が関連付けられる帯域幅として使用される実施例において、これらの値を求める1つの可能性はやはり、リンクがこの情報を発信者もしくは受信者(やはり、例えば、IP)へ提供するように、基礎をなすネットワークレイヤ伝送プロトコルを修正することである。しかしながら、基礎をなす伝送プロトコルを修正せずに本発明の方法を使用することもできる。1つの可能性は基本的伝送プロトコル(例えば、TCP)を修正せずに、適切に修正されたリンクレイヤプロトコル(例えば、SLIP,PPPもしくはRLP)より好ましくはこのようなリンクレイヤプロトコルに対する修正されたドライバを使用して関連する帯域幅情報が提供されることである。リンクレイヤプロトコルのドライバしか修正されない場合には、本発明は関与するどのプロトコルも変える必要がないという利点を提供し、そのため確立されたシステムとのコンパチビリティ問題は全くなく、ネットワークの残りのなにものも変えることなく任意数のネットワーク内へ本発明を導入することができる。
【0061】
リンクレイヤプロトコルは特定のリンクを介した通信における2つのパートナー間の通信を支配し、前記リンクは接続の一部を形成する。典型的な例はパーソナルコンピュータからモデムリンクを介してサーバへインターネットでアクセスすることである。パーソナルコンピュータとルーターとして作動するサーバ間の通信が次に、例えば、SLIP(serial line internet protocol)やPPP(point to point protocol)等のこのようなリンクに対する特定のプロトコルに従って行われる。これらのプロトコルは下位パケット、すなわち、TCP/IPパケットをカプセル化する。これらのプロトコルおよびカプセル化は従来技術で既知であり、例えば、前記したダブリュ.アール.スチーブンスの書籍、TCP/IP Illustratedに記載されている。したがって、ここではその詳細を繰り返さない。
【0062】
リンクレイヤプロトコルに従って通信を実行するのに使用されるドライバが次に対応するリンクの物理的帯域幅に関する情報を提供する。
【0063】
基本的な基礎をなす伝送プロトコル(例えば、TCP/IP)を修正せずに物理的帯域幅を使用して本発明を実現する利点は、本発明をコンパチビリティ問題なしで既存のシステムに統合することができ、しかも性能改善の利益を有することである。さらに、本発明は通信の一方だけのパートナーに実施することができしかも有効である。それはシステムの基礎をなす伝送プロトコルを修正する必要なしに、スライディングウィンドウフロー制御を使用する任意のシステムに本発明を一般的に応用できることを意味する。既知の全ての解決法が両方の通信パートナーを修正するかあるいはネットワーク内にトランスポートレイヤ状態をインストールする必要があるため、これは従来技術に比べて著しい利点である。
【0064】
次に、図8の説明に戻って、ステップSt1で求められた帯域幅値は関連づけられるリンクが処理できる単位時間当たりデータ量を表わす。
【0065】
次のステップSt2において、ステップSt1で求められた帯域幅値の最小値が求められる。1つの値しか求められていない場合には、当然この値が最小値である。しかしながら、好ましくは2つ以上の帯域幅値がステップSt1で求められ、ステップSt2で選択される最小値はステップSt1で考慮されるリンクの中の最低伝送速度を有するリンクの帯域幅を表わすようにされる。接続を形成する全リンクを考慮することが好ましいが、後述するようにそうする必要性はない。
【0066】
次のステップSt3において、送信方向(すなわち、発信者から受信者の方向)におけるパケット交換に沿った遅延を特徴づける時間値が求められる。この特性時間値は一般的に接続のいわゆるラウンドトリップ時間(RTT)と関連づけられる。RTTは所与の方向においてその方向へバイトを送信してから前記バイトの直接受信通知が受信されるまでの間に経過する時間として定義される。図3に示すパケット交換を例にとると、RTTは発信者によるセグメントS1の送信とセグメントS2における受信通知の受信との間に経過する時間である。すなわち、RTTはメッセージに対する返答の受信と前記メッセージの送信との間の時間差であり、より詳細には特定のシーケンス番号を有するバイトの送信とこのシーケンス番号をカバーする受信通知の受信との間の時間である。
【0067】
本実施例では、前記した特性時間値はパケット交換接続に沿った遅延時間、すなわちパケットの送出と対応する受信通知の受信との間の前記した時間差、を示す任意の値として解釈されることをお判り願いたい。したがって、RTTもしくはそこから誘導される任意の値が前記特性時間値として適切である。
【0068】
RTTの決定は任意適切な方法で行うことができる。1つの特定の可能性が前記したダブリュ.アール.スチーブンスの書籍、TCP/IPI llustratedの21.3章から知られている。そこに記載された方法はTCPに限定されず、パケット伝送にスライディングウィンドウフロー制御を使用する任意のシステムに適切に応用することができる。替わりの方法が、例えば、ブイ.ヤコブソン,アール.ブレーデン,ディー.ボーマン,によるthe Network Working Group Internet−Draft,1997年2月から知られている。
【0069】
最も単純なケースでは、特性時間値は特定のシーケンス番号を有するセグメントの送出と、例えばセグメントが送出される時に作動開始し対応する受信通知パケットが受信される時に経過時間を示す値を出力する適切なクロック回路による、前記セグメントの受信通知を含むパケットの他端における受信との間の経過時間を監視することにより瞬時RTTとして直接決定することができる。この出力値は瞬時RTTとして格納される。このような決定は個別の各パケットすなわちセグメントを個別に受信通知する、すなわちデータセグメントと受信通知メッセージの1対1の対応を有する、制御プロトコルでは完全に適切である。
【0070】
しかしながら、TCP(例えば、図3のS7参照、2049バイトまで、すなわち最初の2つのデータセグメントS4およびS5、受信通知する)の場合のように、累積受信通知メッセージも送信することができるプロトコルでは、ステップSt3の特性時間値をRTTによって決まる平滑化された量として決定することが好ましい。この場合、瞬時RTTは前記したように測定される、すなわち特定のシーケンス番号を有するセグメントの送出と前記シーケンス番号をカバーする(他のシーケンス番号もカバーすることができる)受信通知の受信との間の時間遅延。この時間値はMで示される。次に、ローパスフィルタを使用して推定量Rが次のように更新され、
R←αR+(1−α)M
ここに、αは平滑化係数でありTCPでは0.9の推奨値を有する。次に、Rの瞬時値はステップSt3において特性時間値として使用することができる。
【0071】
さらに好ましくは、特性時間値は測定値Mを平均化して測定される。それはエラー値Errを計算しMの各測定値ごとに平均値Aを次のように更新して行われ、
Err=M−A
A←A+gErr
ここに、gは平均値を求めるための利得値である。gの典型的な値は0.125である。次に、Aの瞬時値はステップSt3において特性時間値として使用することができる。
【0072】
最後に、ステップSt4において、ステップST2で求められた最小帯域幅値とステップSt3で求められた特性時間値の積が計算され、この積はボトルネックウィンドウとして定義される。本発明に従って、このボトルネックウィンドウは次にスライディングウィンドウフロー制御に使用することができる。精密な方法、すなわち図5および図6に関して説明するようにボトルネックウィンドウがスライディングウィンドウフロー制御において制御ウィンドウとして使用される条件もしくは必要条件、は本発明にとって重要ではない。
【0073】
一実施例では、ボトルネックウィンドウは常に制御ウィンドウとして使用される、すなわち全体フロー制御がボトルネックウィンドウに基づいて実行される。
【0074】
もう1つの実施例では、ボトルネックウィンドウは既知の公示されたウィンドウと一緒に使用され、制御ウィンドウはボトルネックウィンドウおよび公示されたウィンドウの最小値として選択される。さらにもう1つの実施例では、ボトルネックウィンドウは既知の公示されたウィンドウおよび既知の競合ウィンドウと一緒に使用され、制御ウィンドウは公示された、競合およびボトルネックウィンドウの最小値として選択される。
【0075】
最も単純な実施例では、ボトルネックウィンドウの値は番号付けされたデータシーケンス(例えば、図2に示すように)の送信を開始する前に一度自動的に計算されるだけである。しかしながら、好ましい実施例では、ボトルネックウィンドウの値はセグメントの送信中に数回求められ、ボトルネックが常に更新されパケット交換接続の瞬時送信状態を正しく反映するようにされる。ボトルネックウィンドウのこの測定および更新はさらにセグメントが送られるたびに、あるいは所与の期間で周期的に、あるいは絶え間なく行うことができる、すなわち本発明の方法が実現される装置は可能な最高速度でボトルネックウィンドウを決定するプロセスを巡回し、それはボトルネックウィンドウを決定するサイクルが完了するたびに新しいボトルネックウィンドウの決定が開始されることを意味する。
【0076】
ステップSt1からSt3で遭遇するさまざまなパラメータが時間と共に変動する傾向がある、例えばネットワーク上の変化するトラフィックにより接続に利用できる瞬時帯域幅値が変化することがある、ためにボトルネックウィンドウが前記したようにダイナミックに適応される場合には、たとえパケット交換接続の特性が変化する場合でも、考慮されたリンクにおける前記接続に関して競合に対する発信者の寄与は最小限に抑えることができる。
【0077】
“競合”という用語は一般的にリンクにおける全体競合、すなわち前記リンクを通過する全てのトラフィック(全ての接続)により生じる競合、を示すのに使用されることをお判り願いたい。本発明は考慮中の接続において発信者により生じる全体競合の一部、すなわち発信者の競合に対する寄与、にしか直接影響を与えることができないことが判る。しかしながら、この寄与を最小限に抑えれば当然全体競合も最小限に抑えられる。
【0078】
本発明により定義されるボトルネックウィンドウは特定のリンクおよびそれよりも大きい帯域幅を有する他の全てのリンクにおける競合を最小限に抑える手段である。それは従来技術が達成できないものである。すなわち、前記説明からお判りのように、ボトルネックウィンドウはステップSt3で決定される最小帯域幅に関連づけられるリンクに対応して定義される。ボトルネックウィンドウの使用により前記リンクにおける競合が最小限に抑えられる。前記したように、ステップSt1において考慮されたリンクは好ましくは全て接続における全リンクである。この場合ボトルネックウィンドウは最低帯域幅を絶対的に提供する接続を形成するリンクの中のリンクに対応する。しかしながら、本発明はステップSt1においてより少ないリンクしか考慮しない場合にも有効に働き、それは考慮されたリンクにおいて競合が少なくとも安全に最小限に抑えられるためであり、それは従来技術では保証できないことである。
【0079】
スライディングウィンドウフロー制御を行うパケット交換接続におけるパートナーである装置内で本発明を実行する場合、前記装置が発信者であれば、前記したようにそれは単純に送信方向のボトルネックウィンドウを決定してフロー制御に適切に使用する。パートナーが受信者であれば、それはその受信方向のボトルネックウィンドウを決定してその情報を発信者へ送信する。例えば、本発明に従って受信者しか動作しないTCP接続では、受信者はその受信方向のボトルネックウィンドウを決定することができ、次にボトルネックウィンドウおよび標準TCP(例えば、入力バァッファ限界)に従って公示するウィンドウの最小値を公示されたウィンドウとしてTCP発信者へ公示する。このようにして、発信者はどのようにも修正はされていないが、本発明に従って動作する。このようにして、本発明にはなんらコンパチビリティ問題を生じることなくいかなる既存システムにも統合することができ、しかも性能改善の利益を保持するという著しい利点がある。
【0080】
本発明は発信者もしくは受信者として設計された装置内に実現することができるが、典型的にはデータが前記装置から送信されるかあるいは前記装置により受信されるかに応じて発信者および受信者の両方として作動することができる装置内に実現される。
【0081】
本発明が図8に示す実施例に従って発信者として作動する装置内に実現される場合、装置がリンクに対する1つ以上の帯域幅値を適切に決定し(図8のステップSt1)次に最小値を決定する(ステップSt2)ように制御を行うことができる。ステップSt1およびSt2に関して前記した可能性のいずれかを使用することができる。例えば、バイトの送信とそれをカバーする受信通知の受信との間で経過する時間を測定することにより、遅延表示値の決定(ステップSt3)も直接実施することができる。次に最小帯域幅値と遅延表示値の積を前記発信者において計算してフロー制御におけるボトルネックウィンドウとして適切に使用することができる。
【0082】
一方、本発明が図8に示す実施例に従って受信者として作動する装置内に実現される場合、やはり装置がリンクに対する1つ以上の帯域幅値を適切に決定し(図8のステップSt1)次に最小値を決定する(ステップSt2)ように制御を行うことができる。ステップSt1およびSt2に関して前記した可能性のいずれかをやはり使用することができる。発信者から受信者への方向における遅延表示値の決定を任意適切な方法で行うことができる。1つの可能性は受信者が専用接続遅延時間測定値メッセージを発信者へ送出して対応する受信通知が戻されるまで時間を測定することである。それには接続内の受信者と発信者の両方がこのような遅延時間測定値メッセージをサポートするプロトコルに従って動作する必要がある。好ましい実施例では、受信者が遅延表示値を独立して決定することができるため、このようなプロトコルは必要がない。データの受信を通知するシステムが発信者と受信者間に与えられることを想定するにすぎない。次に、受信者は受信通知ACK(n)の送信と第n+1バイトをカバーするセグメントの受信との間の差を測定することにより接続のRTTを求め、ここにACK(n)は発信者により送信されるシーケンス内の第nバイトまでの含まれる全バイトに対する受信通知である。このように求められた値はボトルネックウィンドウの計算に直接使用することができ、あるいはRおよびAの値に関する前記説明と同様に、平滑化および/もしくは平均化を実施することができる。前記したように、次にボトルネックウィンドウは任意適切な方法、例えば公示されたウィンドウの形で、発信者へ提供することができる。
【0083】
次に説明する本発明のもう1つの実施例では、本発明はTCP通信に応用され、下記の定義が使用される。ここでいうTCPとは、過去、現在および将来の全てのバリエーションおよび、例えば任意の支配的標準に従った、このプロトコルのインプリメンテーションが含まれるという意味で、インターネット上で使用される伝送制御プロトコルのことである。
【0084】
TCPプロトコルが実現されかつTCP接続の一端を形成する通信装置は“TCPピア”と呼ばれる。各TCPピアはTCP発信者もしくはTCP受信者もしくは同時にその両方として動作することができる。本発明に従って修正されるTCPピアは“修正TCPピア”と呼ばれ、そうでなければ“標準TCPピア”と呼ばれる。したがって、“修正TCP発信者”、“修正TCP受信者”、“標準TCP発信者”および“標準TCP受信者”という用語が使用される。修飾語“修正”もしくは“標準”がなければ、関連用語は両方のケースに当てはまる。説明の目的で、標準TCPピアはダブリュ.アール.スチーブンスの前記した書籍、TCP/IP Illustrated、第1巻に従って実現されるものとするが、本実施例に関して述べた仮定および必要条件が満たされる限り、本実施例はTCPの任意のバリエーションに応用することができる。
【0085】
本実施例に従って、修正TCPピアは標準TCPピアの標準コンプライアント修正である、すなわち修正TCPピアは現在のTCPプロトコル標準に従うように挙動し、それにより既存のTCPインプリメンテーションとのバックワードコンパチビリティが保証される。
【0086】
“最大リンク帯域幅”(MLB)という用語はそのリンク上の発信者が利用できる前記リンクに対応する物理的接続の帯域幅のことである。
【0087】
TCP接続の特定方向(送信もしくは受信)に対する修正TCPピアにより考慮される全てのMLBの最小値は関連方向の“MinMLB”と呼ばれる。送信方向に対するリンクのパスは受信方向に対するリンクのパスと必ずしも同じではないため、MinMLBはTCPピアの送信もしくは受信方向に対して異なることがあることをお判り願いたい。さらに、MinMLBは前記したように一方向のTCP接続を構成する全リンクの全MLBの最小値ではないこともお判り願いたい。大概の場合、例えば必要がないかあるいは未知であるため、修正TCPピアは全MLBを考慮することがない。例えば既知のMLBの値が変化したり、従来考慮されない新しいMLBが考慮されると、MinMLBは時間と共に変化することがありこの新しいMLBは前のMinMLBよりも低い。
【0088】
所与の方向(送信もしくは受信)に対する“ボトルネックウィンドウ”という用語はその方向の現在のMinMLBとその方向の現在のRTTの積に対して使用される。MinMLBと同様に、ボトルネックウィンドウはTCPピアの送信および受信方向に対して異なることがある。
【0089】
本実施例では、修正TCP発信者はその送信方向の現在のMinMLBよりも高速で送信しないように制限され、修正TCP受信者はその受信方向の現在のMinMLBよりも高速で送信させないように対応するTCP発信者を制御する。後者は対応するTCP発信者がその送信方向の現在のMinMLBよりも高速で送信することを許されないということに等しい。
【0090】
MinMLBよりも高速で送信しないということはTCP発信者がその送信方向のボトルネックウィンドウにより与えられるよりも多くの受信通知されない未解決のパケットを有することを許されないことを意味する。修正TCP発信者はその送信方向の現在のMinMLBおよび現在のRTTを連続的に追跡する。修正TCP受信者はその受信方向の現在のMinMLBおよび現在のRTTを連続的に追跡する、すなわち対応するTCP発信者の送信方向のボトルネックウィンドウを追跡する。
【0091】
本実施例では、修正TCP発信者のフロー制御はその送信方向のボトルネックウィンドウにより補足される、すなわち使用される制御ウィンドウを決定するのにボトルネックウィンドウが公示されたウィンドウおよび競合ウィンドウと一緒に使用される。制御ウィンドウは3つのウィンドウの最小値として選択され、それは修正TCP発信者が公示されたウィンドウ、競合ウィンドウおよびその送信方向のボトルネックウィンドウの最小値よりも多くの受信通知されない未解決のパケットを持たないことがあることを意味する。さらに本実施例では、修正TCP受信者はその受信方向のボトルネックウィンドウを決定し、次にボトルネックウィンドウおよび標準TCP(例えば、入力バァッファ限界)に従って公示するウィンドウの最小値を公示されたウィンドウとしてTCP発信者に公示する。
【0092】
本実施例が発信者として作動する装置内に実現される場合には、ボトルネックウィンドウの決定に使用される送信方向のRTTの決定は特定のシーケンス番号を有するバイトの送出とそのバイトの受信に関連する受信者からの受信通知の受信との間の時間経過を監視して瞬時RTTを測定することにより行うことができる。この値はMと呼ばれる。次に、エラー値Errが計算されMの測定のたびに平均値Aが次のように更新され、
Err=M−A
A←A+gErr
ここにgは平均値を求めるための利得値である。典型的にgは0.125である。次に、Aの瞬時値はボトルネックウィンドウの計算に利用されるRTT値として使用される。
【0093】
本実施例が受信者として作動する装置内に実現される場合には、ボトルネックウィンドウの決定に使用される送信方向(すなわち、発信者から受信者への方向)のRTTの決定は修正された方法で瞬時RTTを測定することにより行うことができる。
【0094】
やはりMと呼ばれる現在のRTT値は第nバイトまでの含まれる全バイトの受信を通知する受信通知ACK(n)を受信者が送出してから第n+1バイトをカバーするTCPセグメントを受信者が受信するまでの時間経過を監視して決定することができる。採用されたRTTの値はやはりAとして次のように決定される。
Err=M−A
A←A+gErr
【0095】
逆方向の状況は送信方向の状況と同一ではないため、第nバイトをカバーするセグメントがTCP発信者において遅延される場合には、アプリケーションがまだそれを解放していないため、問題が生じる。その場合測定された瞬時RTTMは値Aの更新に使用してはならない、すなわちMのこのような値はスキップしなければならない。スキップの判断は受信者から受信されるTCPパケットのパケット間到着時間に基づいてなされる。すなわち、本実施例では、修正された受信者が瞬時RTTと共にパケット到着間時間を測定して、到着時間を閾値と比較し、到着時間が前記閾値を越える場合には、測定された瞬時値RTTは前記した公式でAの更新に使用されない。
【0096】
本実施例では、発信者としてもしくは受信者として、本発明に従って作動する装置は瞬時的に利用できるそのアクセスリンクの帯域幅としてMinMLBを決定する。1つだけのMLBが決定され、それは自動的にMinMLBに等しい。アクセスリンクが両方向、すなわち送信および受信方向、に使用されるため、ここでは送信および受信方向の区別をする必要がない。アクセスリンクは装置を接続に沿って次のルーターに接続するリンクである。この実施例では、利用可能な帯域幅はリンクレイヤドライバにより供給される。リンクレイヤドライバは近い過去を考慮する実行中のスループットメトリックを維持する、すなわち時間間隔にわたってデータのスループットを測定し(バイトで)測定されたスループットを前記間隔の長さで除算して、スループットと間隔長の商として帯域幅を連続的に測定する。それは連続的に行われる、すなわちある間隔にわたる測定が終了した後で、次が開始される。もう1つの可能性は経過した所与の時間量(例えば、数秒)の間隔にわたって移動平均をとることである。使用したリンクレイヤプロトコル、例えばSLIP,PPPもしくはRLP、を適切にインプリメントすることにより、この機能を装置のリンクレイヤドライバ内にインプリメントすることができる。インプリメンテーションの修正は標準プロトコルが完全に保持されることを意味し、任意の標準インプリメンテーションとの通信が保持されるが、すなわちコンパチビリティ、前記した帯域幅決定の特殊機能は本実施例に従って動作する装置におけるインプリメンテーション内に付加される。
【0097】
TCP性能を改善する従来の技術はTCPの双方向通信路の両方のエンドポイント(すなわち、発信者および受信者)でインプリメンテーションを修正する必要がある。したがって、このような技術を成功させるには、それにより通信を探索するこれらのホストの全ての既存のTCPインプリメンテーションをグレードアップしなければならない。今日のインターネットサーバーの広範な拡がりを考えると、それは実用的ではない。TCP性能を改善するための他の方法はネットワーク内でTCPフローごとの状態を維持する必要があり、ネットワーク内のフローごとリソース要求の欠点を生じる。
【0098】
前記した実施例はエンドツーエンドTCP接続の一方側を修正するだけでTCP性能を送信および受信の両方向で高められる利点を有する。
【図面の簡単な説明】
【図1】 本発明の基本的な実施例を示すフロー図である。
【図2】 送信される1セットのデータセグメントの例を示す図である。
【図3】 図2に示すセグメントを送信するTCPに従ったパケット交換の例を示す図である。
【図4】 図3に示す通信のフロー制御中の制御ウィンドウの動作および調節を説明する図である。
【図5】 スライディングウィンドウフロー制御の原理を示す略図である。
【図6】 制御ウィンドウのエッジがどのように移動するかを示す略図である。
【図7】 通信路に沿ったリンクにおける競合を説明する略表現である。
【図8】 ボトルネックウィンドウを決定する好ましい実施例を示すフロー図である。
Claims (30)
- パケット交換接続における発信側から受信側へ送信するデータ量に対する送信の方法であって、前記パケット交換接続はルーターにより直列に接続される複数のリンクからなり、該方法は、
前記発信側を制御して送信されるデータのシーケンスを前記データ量から決定するステップと、
前記複数のリンクに含まれる2以上のリンクの中から1つ以上の帯域幅値を決定するステップと、
前記決定された1つ以上の帯域幅値で前記発信側から前記受信側へのデータを送信するように制御するプロセスに利用するステップと、
前記シーケンス内のどの点までデータが受信されているかを示すメッセージを発信側へ戻すことにより受信側におけるデータの受信を通知するステップと、
ある時点でデータウィンドウ内側のデータの一部もしくは全部しか送信できないように前記発信側における前記シーケンスの送信を制御するステップであって、前記データウィンドウは前記シーケンスに関する第1および第2の限界により画定され、前記第1の限界は既に送信され受信通知されたデータ量が前記ウィンドウの範囲外となるように前記既に送信され受信通知されたデータ量に依存して決定され、前記第2の限界は前記第1の限界にデータウィンドウサイズ値を加えて決定される、制御する前記ステップと、
前記1つ以上の帯域幅値を前記データウィンドウサイズ値を決定するプロセスで利用するステップと、
を含むことを特徴とする方法。 - 前記1つ以上の帯域幅値は前記シーケンスの送信中に2回以上決定されることを特徴とする請求項1に記載の方法。
- 前記1つ以上の帯域幅値は前記シーケンスの送信中に規則正しい時間間隔で決定されることを特徴とする請求項1に記載の方法。
- 前記1つ以上の帯域幅値は前記シーケンスの送信中に連続的に決定されることを特徴とする請求項1に記載の方法。
- 前記1つ以上の帯域幅値は新しいパケットが送信されるたびに送信の前に決定されることを特徴とする請求項1に記載の方法。
- −前記シーケンスが送信される方向で前記複数のリンクに関連づけられる前記1つ以上の帯域幅値を決定するステップと、
−前記1つ以上の帯域幅値の最小値を決定するステップと、
−前記発信側により所与のバイトが送信されてから前記所与のバイトが受信側により受信されているという受信通知が受信されるまでの間に経過する時間量を特徴づける時間値を決定するステップであって、前記接続に対する前記時間値は前記シーケンスが送信される方向で決定されるステップと、
−前記1つ以上の帯域幅値の前記最小値と前記時間値との積をリンク依存データ量値として求めるステップであって、該リンク依存データ量値は前記データウィンドウサイズ値を決定するプロセスで利用されるステップと、
を含むことを特徴とする請求項1に記載の方法。 - 前記リンク依存データ量値は前記データウィンドウサイズ値として使用されることを特徴とする請求項6に記載の方法。
- 前記データウィンドウサイズ値は一群のデータ量値から最小値を選択して決定され、前記リンク依存データ量値は前記群内にあることを特徴とする請求項6に記載の方法。
- 前記パケット交換接続はTCPに従って確立され、前記データウィンドウサイズ値は公示されたウィンドウ、競合ウィンドウおよび前記リンク依存データ量値からなる群から選択されることを特徴とする請求項8に記載の方法。
- 前記パケット交換接続はTCPに従って確立され、前記時間値はシーケンスが送信される方向における前記接続に対するラウンドトリップ時間の関数として決定されることを特徴とする請求項6乃至9の何れか一項に記載の方法。
- リンクに関連づけられる帯域幅値は前記リンクの物理的帯域幅であることを特徴とする請求項1乃至10の何れか一項に記載の方法。
- リンクに関連づけられる帯域幅値は前記リンク内で発信側から受信側への方向の前記接続に現在利用できる帯域幅であることを特徴とする請求項1乃至10の何れか一項に記載の方法。
- 前記帯域幅値は前記発信側のアクセスリンクおよび前記受信側のアクセスリンクに関連づけられる少なくとも1つの帯域幅値を含み、前記発信側の前記アクセスリンクは前記シーケンスが送信される方向で前記パケット交換接続に沿った次のルーターに前記発信側を接続するリンクであり、前記受信側の前記アクセスリンクは前記シーケンスが送信される方向とは反対の方向で前記パケット交換接続に沿った次のルーターに前記受信側を接続するリンクであることを特徴とする請求項1乃至12の何れか一項に記載の方法。
- アクセスリンクに関連づけられる前記帯域幅値は前記発信側および前記受信側の一方もしくは両方の前記アクセスリンクに対するリンクレイヤドライバにより提供されることを特徴とする請求項13に記載の方法。
- パケット交換接続における発信側から受信側へ送信するデータ量に対して送信する帯域幅値を決定する装置であって、前記パケット交換接続はルーターにより直列に接続される複数のリンクからなり、該装置は、
送信されるデータシーケンスを前記データ量から決定する決定手段と、
前記複数のリンクに含まれる2以上のリンクの中から1つ以上の帯域幅値を決定する手段と、
前記決定された1つ以上の帯域幅値で前記発信側から前記受信側へデータを送信するように制御するプロセスに利用する手段と、
前記シーケンス内のどの点までデータが受信されているかを示すメッセージを発信側へ戻すことにより受信側におけるデータの受信を通知する手段と、
ある時点でデータウィンドウ内側のデータの一部もしくは全部しか送信できないように前記発信側における前記シーケンスの送信を制御する手段であって、
前記データウィンドウは前記シーケンスに関する第1および第2の限界により画定され、前記第1の限界は既に送信され受信通知されたデータ量が前記ウィンドウの範囲外となるように前記既に送信され受信通知されたデータ量に依存して決定され、前記第2の限界は前記第1の限界にデータウィンドウサイズ値を加えて決定される、制御する前記手段と、
前記1つ以上の帯域幅値を前記データウィンドウサイズ値を決定するプロセスで利用する手段と、
を含むことを特徴とする装置。 - パケット交換接続における発信側から受信側へ送信するデータ量に対して送信する帯域幅値を決定する通信装置であって、前記パケット交換接続はルーターにより直列に接続される複数のリンクからなり、該通信装置は、
前記通信装置を制御する制御手段を含み、
前記通信装置が前記接続を介してデータ量を送信する発信側として作動する場合には、送信されるデータシーケンスが前記データ量から決定され、前記リンクの1つ以上にそれぞれ関連づけられ、前記データが送信される方向における、前記複数のリンクに含まれる2以上のリンクの中から1つ以上の帯域幅値が決定され、前記決定された1つ以上の帯域幅値で前記発信側から前記受信側へデータを送信するように制御するプロセスに使用され、
前記通信装置が前記接続の他端における通信パートナーから前記接続を介してデータを受信する受信側として作動する場合には、前記リンクの1つ以上にそれぞれ関連づけられる、前記パートナーから前記受信側への方向における前記複数のリンクに含まれる2以上のリンクの中から1つ以上の帯域幅値が決定され、前記パートナーによる前記データの送信プロセスにおいて前記1つ以上の帯域幅値を使用できるように前記パートナーへメッセージが送られ、
どのバイトまでデータが受信されているかを示すバイトメッセージを発信側へ戻すことにより一連のバイトの受信を受信側が通知するように前記接続を介してデータを送信するプロトコルを特徴とし、ある時点で送信されるシーケンスの送信はその時点でデータウィンドウ内側のデータの一部もしくは全部しか送信することができないように行われ、前記データウィンドウは送信される前記シーケンスに関する第1および第2の限界により画定され、前記第1の限界は既に送信され受信通知されたデータ量が前記ウィンドウの範囲外となるように既に送信され受信通知された前記データ量に依存して決定され、前記第2の限界は前記第1の限界にデータウィンドウサイズ値を加えて決定され、 前記通信装置が発信側として作動する時は、前記制御手段は前記データウィンドウサイズ値を決定するプロセスで前記1つ以上の帯域幅値を使用し、 前記通信装置が受信側として作動する時は、前記制御手段は前記1つ以上の帯域幅値に基づいてデータ量値を決定し、前記データ量値は前記接続における前記パートナーへ送信されて、前記パートナーが前記データウィンドウサイズ値を決定するプロセスで使用できるようにされる
ことを特徴とする通信装置。 - 前記制御手段は前記通信装置が発信側として作動する時は前記シーケンスの送信中に前記1つ以上の帯域幅値が2回以上決定され、前記通信装置が受信側として作動する時は前記データの受信中に前記1つ以上の帯域幅値が2回以上決定されるように機能することを特徴とする請求項16に記載の通信装置。
- 前記制御手段は前記通信装置が発信側として作動する時は前記シーケンスの送信中に前記1つ以上の帯域幅値が規則正しい時間間隔で決定され、前記通信装置が受信側として作動する時は前記データの受信中に前記1つ以上の帯域幅値が規則正しい時間間隔で決定されるように機能することを特徴とする請求項16に記載の通信装置。
- 前記制御手段は前記通信装置が発信側として作動する時は前記シーケンスの送信中に前記1つ以上の帯域幅値が連続的に決定され、前記通信装置が受信側として作動する時は前記データの受信中に前記1つ以上の帯域幅値が連続的に決定されるように機能することを特徴とする請求項16に記載の通信装置。
- 前記制御手段は、前記通信装置が発信側として作動する時は、前記データシーケンスが送信される方向で前記複数のリンクに関連づけられる前記1つ以上の帯域幅値を決定し、前記1つ以上の帯域幅値の最小値を決定し、前記発信側により所与のバイトが送信されてから接続の他端で前記所与のバイトが受信されているという受信通知が受信されるまでの間に経過する時間量を特徴づける時間値を決定し、前記1つ以上の帯域幅値の前記最小値と前記時間値との積をリンク依存データ量値として決定し、該リンク依存データ量値が前記データウィンドウサイズ値を決定するプロセスで利用されることを特徴とする請求項16に記載の通信装置。
- 前記パケット交換接続はTCPに従って確立され前記時間値はシーケンスが送信される方向で前記接続に対するラウンドトリップ時間の関数として決定されることを特徴とする請求項20に記載の通信装置。
- 前記制御手段は、前記通信装置が受信側として作動する時は、データが送信される方向で前記複数のリンクに関連づけられる前記1つ以上の帯域幅値を決定し、前記1つ以上の帯域幅値の最小値を決定し、前記受信側によりあるバイトをカバーする所与の受信通知メッセージが送信されてから前記接続の他端で前記接続のパートナーから送信される前記データシーケンス内の次のバイトが受信されるまでの間に経過する時間量を特徴づける時間値を決定し、前記1つ以上の帯域幅値の前記最小値と前記時間値との積をリンク依存データ量値として決定し、該リンク依存データ量値が前記パートナーへ送信されて前記データウィンドウサイズ値を決定するプロセスで利用されることを特徴とする請求項16乃至20の何れか一項に記載の通信装置。
- 前記リンク依存データ量値は前記データウィンドウサイズ値として使用されることを特徴とする請求項20又は22に記載の通信装置。
- 前記データウィンドウサイズ値は一群のデータ量値から最小値を選択して決定され、前記リンク依存データ量値は前記群内にあることを特徴とする請求項20又は22に記載の通信装置。
- 前記パケット交換接続はTCPに従って確立され、前記通信装置が発信側として作動する時は、前記制御手段は前記データウィンドウサイズ値が公示されたウィンドウ、競合ウィンドウおよび前記リンク依存データ量値からなる群から選択されるように機能することを特徴とする請求項24に記載の通信装置。
- 前記パケット交換接続はTCPに従って確立され、前記通信装置が受信側として作動する時は、前記制御手段は前記リンク依存データ量値が前記接続における前記パートナーへ公示されたウィンドウとして送信されるように機能することを特徴とする請求項24に記載の通信装置。
- リンクに関連づけられる帯域幅値は前記リンクの物理的帯域幅であることを特徴とする請求項16乃至26の何れか一項に記載の通信装置。
- リンクに関連づけられる帯域幅値は前記リンク内で前記データが送信される方向の前記接続に現在利用できる帯域幅であることを特徴とする請求項16乃至26の何れか一項に記載の通信装置。
- 前記帯域幅値は前記通信装置のアクセスリンクに関連づけられる帯域幅値を含み、前記アクセスリンクは前記通信装置を前記パケット交換接続に沿った次のルーターに接続するリンクであることを特徴とする請求項16乃至28の何れか一項に記載の通信装置。
- リンクレイヤドライバ手段を有することを特徴とし、前記アクセスリンクに関連づけられる前記帯域幅値はリンクレイヤドライバ手段により提供されることを特徴とする請求項29に記載の通信装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP98105859.7 | 1998-03-31 | ||
EP98105859A EP0948168A1 (en) | 1998-03-31 | 1998-03-31 | Method and device for data flow control |
PCT/EP1999/002184 WO1999050998A1 (en) | 1998-03-31 | 1999-03-30 | Method and device for data flow control |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002510904A JP2002510904A (ja) | 2002-04-09 |
JP4738594B2 true JP4738594B2 (ja) | 2011-08-03 |
Family
ID=8231691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000541802A Expired - Lifetime JP4738594B2 (ja) | 1998-03-31 | 1999-03-30 | データフロー制御方法および装置 |
Country Status (9)
Country | Link |
---|---|
US (1) | US6754228B1 (ja) |
EP (2) | EP0948168A1 (ja) |
JP (1) | JP4738594B2 (ja) |
CN (1) | CN1149793C (ja) |
AU (1) | AU752032B2 (ja) |
CA (1) | CA2326488C (ja) |
DE (1) | DE69922180T2 (ja) |
IL (1) | IL138303A (ja) |
WO (1) | WO1999050998A1 (ja) |
Families Citing this family (148)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7085227B1 (en) * | 2001-05-11 | 2006-08-01 | Cisco Technology, Inc. | Method for testing congestion avoidance on high speed networks |
AU1937599A (en) * | 1997-12-24 | 1999-07-19 | America Online, Inc. | Localization of clients and servers |
US6788704B1 (en) * | 1999-08-05 | 2004-09-07 | Intel Corporation | Network adapter with TCP windowing support |
JP3391316B2 (ja) * | 1999-10-22 | 2003-03-31 | 日本電気株式会社 | ネットワークシステム |
US6996067B1 (en) * | 1999-12-07 | 2006-02-07 | Verizon Services Corp. | Apparatus for and method of providing and measuring data throughput to and from a packet data network |
US8380854B2 (en) * | 2000-03-21 | 2013-02-19 | F5 Networks, Inc. | Simplified method for processing multiple connections from the same client |
US7343413B2 (en) | 2000-03-21 | 2008-03-11 | F5 Networks, Inc. | Method and system for optimizing a network by independently scaling control segments and data flow |
GB2361386B (en) * | 2000-04-13 | 2003-10-01 | Nokia Networks Oy | Improvements in or relating to wireless LAN`s |
US7274667B2 (en) * | 2000-05-19 | 2007-09-25 | Scientific-Atlanta, Inc. | Monitoring and allocating access across a shared communications medium |
US7499453B2 (en) * | 2000-05-19 | 2009-03-03 | Cisco Technology, Inc. | Apparatus and methods for incorporating bandwidth forecasting and dynamic bandwidth allocation into a broadband communication system |
US6791945B1 (en) * | 2000-09-15 | 2004-09-14 | Motorola, Inc. | Time out threshold shaping for wireless TCP communications |
US7304948B1 (en) * | 2000-12-29 | 2007-12-04 | Nortel Networks Limited | Congestion control for signalling transport protocols |
US7542419B2 (en) * | 2001-04-02 | 2009-06-02 | International Business Machines Corporation | Method and apparatus for managing aggregate bandwidth at a server |
US7069375B2 (en) | 2001-05-17 | 2006-06-27 | Decru, Inc. | Stream-oriented interconnect for networked computer storage |
US7023876B2 (en) * | 2001-07-09 | 2006-04-04 | Quantum Corporation | Point-to-point protocol |
US7020716B2 (en) * | 2001-08-31 | 2006-03-28 | Adaptec, Inc. | Method and system for verifying the hardware implementation of TCP/IP |
US8370517B2 (en) * | 2001-09-27 | 2013-02-05 | International Business Machines Corporation | Conserving energy in a data processing network |
FR2831742B1 (fr) * | 2001-10-25 | 2004-02-27 | Cit Alcatel | Procede de transmission de paquets par l'intermediaire d'un reseau de telecommunications utilisant le protocole ip |
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 |
EP1324544A1 (en) * | 2001-12-26 | 2003-07-02 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for controlling traffic load between media gateway controllers and proxies |
EP1326397B1 (en) * | 2002-01-03 | 2010-03-10 | Innovative Sonic Limited | Timer based stall avoidance mechanism for high speed wireless communication system |
EP1349329B1 (en) * | 2002-01-03 | 2010-04-28 | Innovative Sonic Limited | Window based stall avoidance mechanism for high speed wireless communication system |
US7706269B2 (en) | 2002-03-22 | 2010-04-27 | Nokia Corporation | Method, system and device for controlling a transmission window size |
WO2003090417A1 (en) * | 2002-04-19 | 2003-10-30 | Telefonaktiebolaget L M Ericsson (Publ) | Method and devices for adaptative proxying of flows |
AT411948B (de) * | 2002-06-13 | 2004-07-26 | Fts Computertechnik Gmbh | Kommunikationsverfahren und apparat zur übertragung von zeitgesteuerten und ereignisgesteuerten ethernet nachrichten |
DE60212104T2 (de) | 2002-06-18 | 2006-10-19 | Matsushita Electric Industrial Co., Ltd., Kadoma | Auf Empfänger basierte Umlaufzeitmessung in TCP |
EP1383281A1 (en) * | 2002-07-19 | 2004-01-21 | TELEFONAKTIEBOLAGET LM ERICSSON (publ) | Method for calculating a transmission window size |
US7802008B2 (en) | 2002-08-12 | 2010-09-21 | Matsushita Electric Industrial Co., Ltd. | Quality of service management in network gateways |
SE0203104D0 (en) * | 2002-10-18 | 2002-10-18 | Ericsson Telefon Ab L M | Method and apparatus for network initiated rate control for P2C services in a mobile system |
US8233392B2 (en) | 2003-07-29 | 2012-07-31 | Citrix Systems, Inc. | Transaction boundary detection for reduction in timeout penalties |
US7616638B2 (en) | 2003-07-29 | 2009-11-10 | Orbital Data Corporation | Wavefront detection and disambiguation of acknowledgments |
US7630305B2 (en) | 2003-07-29 | 2009-12-08 | Orbital Data Corporation | TCP selective acknowledgements for communicating delivered and missed data packets |
US8270423B2 (en) | 2003-07-29 | 2012-09-18 | Citrix Systems, Inc. | Systems and methods of using packet boundaries for reduction in timeout prevention |
US7680143B2 (en) * | 2002-12-12 | 2010-03-16 | Rpx Corporation | Methods and apparatus for combining session acceleration techniques for media oriented negotiation acceleration |
US7139279B2 (en) * | 2002-12-12 | 2006-11-21 | Dilithium Networks Pty Ltd. | Methods and system for fast session establishment between equipment using H.324 and related telecommunications protocols |
US20070266161A1 (en) * | 2002-12-12 | 2007-11-15 | Dilithium Networks Pty Ltd. | Methods and system for fast session establishment between equipment using h.324 and related telecommunications protocols |
US7206316B2 (en) * | 2002-12-12 | 2007-04-17 | Dilithium Networks Pty Ltd. | Methods and system for fast session establishment between equipment using H.324 and related telecommunications protocols |
US7336607B2 (en) * | 2002-12-27 | 2008-02-26 | Lucent Technologies Inc. | Methods and apparatus for flow control based packet aggregation in a communication network |
JP4227621B2 (ja) * | 2003-03-20 | 2009-02-18 | ノキア シーメンス ネットワークス ゲゼルシャフト ミット ベシュレンクテル ハフツング ウント コンパニー コマンディトゲゼルシャフト | データパケットの伝送方法および送信機 |
SE0301053D0 (sv) * | 2003-04-07 | 2003-04-07 | Ericsson Telefon Ab L M | Method and system in a communications network |
JP2005012260A (ja) * | 2003-06-16 | 2005-01-13 | Matsushita Electric Ind Co Ltd | データ伝送の制御方法 |
US8432800B2 (en) | 2003-07-29 | 2013-04-30 | Citrix Systems, Inc. | Systems and methods for stochastic-based quality of service |
US8437284B2 (en) | 2003-07-29 | 2013-05-07 | Citrix Systems, Inc. | Systems and methods for additional retransmissions of dropped packets |
US8238241B2 (en) | 2003-07-29 | 2012-08-07 | Citrix Systems, Inc. | Automatic detection and window virtualization for flow control |
US7656799B2 (en) * | 2003-07-29 | 2010-02-02 | Citrix Systems, Inc. | Flow control system architecture |
ITBA20030039A1 (it) * | 2003-08-29 | 2005-02-28 | Grieco Luigi Alfredo | Controllo di congestione rate-based del traffico entrante |
KR100548134B1 (ko) * | 2003-10-31 | 2006-02-02 | 삼성전자주식회사 | 무선 네트워크 환경에서의 tcp의 데이터 전송효율을향상시킬 수 있는 통신시스템 및 그 방법 |
WO2005054134A1 (ja) * | 2003-12-05 | 2005-06-16 | Jsr Corporation | 誘電体膜形成用組成物の製造方法、誘電体膜形成用組成物、ならびに誘電体膜およびその形成方法 |
KR101022471B1 (ko) * | 2004-01-17 | 2011-03-16 | 삼성전자주식회사 | 멀티미디어 데이터를 기록한 정보저장매체, 그 재생방법및 재생장치 |
EP1714435A1 (en) * | 2004-02-09 | 2006-10-25 | Research In Motion Limited | Methods and apparatus for controlling wireless network operations associated with a flow control process |
FI20040737A0 (fi) * | 2004-05-31 | 2004-05-31 | Nokia Corp | Menetelmä yhteydellisen tiedonsiirtoprotokollan toteuttamiseksi langattomissa verkoissa |
US7512072B2 (en) * | 2005-09-15 | 2009-03-31 | International Business Machines Corporation | TCP/IP method FPR determining the expected size of conjestion windows |
WO2007044884A1 (en) * | 2005-10-11 | 2007-04-19 | Dilithium Networks Pty Ltd. | Methods and system for fast session establishment for h.324 and related telecommunications terminals |
US7496038B2 (en) * | 2005-12-12 | 2009-02-24 | International Business Machines Corporation | Method for faster detection and retransmission of lost TCP segments |
WO2007092901A2 (en) * | 2006-02-07 | 2007-08-16 | Asankya Networks, Inc. | Systems and methods of improving performance of transport protocols |
US8315274B2 (en) * | 2006-03-29 | 2012-11-20 | Honeywell International Inc. | System and method for supporting synchronous system communications and operations |
CN100466625C (zh) * | 2006-09-07 | 2009-03-04 | 华为技术有限公司 | 一种实现业务流量控制的方法及系统 |
US8477608B2 (en) | 2006-10-26 | 2013-07-02 | Unwired Planet, Llc | Method and receiver for controlling the conformance of a data flow in a communication system to a traffic definition |
US8654638B2 (en) * | 2006-12-19 | 2014-02-18 | Marcin Godlewski | Dynamically adjusting bandwidth usage among subscriber streams |
US7757017B2 (en) * | 2007-05-15 | 2010-07-13 | International Business Machines Corporation | Adjusting direction of data flow between I/O bridges and I/O hubs based on real time traffic levels |
US8116337B2 (en) * | 2007-07-27 | 2012-02-14 | Marcin Godlewski | Bandwidth requests transmitted according to priority in a centrally managed network |
US8284692B2 (en) * | 2007-08-02 | 2012-10-09 | Celtro Ltd | Method and system for identifying UDP communications |
CN101483558B (zh) * | 2008-01-10 | 2012-07-04 | 华为技术有限公司 | 网络设备接入分组交换网络的方法、系统及装置 |
US8806053B1 (en) | 2008-04-29 | 2014-08-12 | F5 Networks, Inc. | Methods and systems for optimizing network traffic using preemptive acknowledgment signals |
US8024417B2 (en) * | 2008-06-04 | 2011-09-20 | Microsoft Corporation | Simple flow control protocol over RDMA |
US20100008248A1 (en) * | 2008-07-08 | 2010-01-14 | Barry Constantine | Network tester for real-time measuring of tcp throughput |
CN101651612A (zh) * | 2008-08-15 | 2010-02-17 | 深圳富泰宏精密工业有限公司 | 数据传输系统与方法 |
TWI463835B (zh) * | 2008-08-29 | 2014-12-01 | Chi Mei Comm Systems Inc | 資料傳輸系統與方法 |
WO2010042578A1 (en) * | 2008-10-08 | 2010-04-15 | Citrix Systems, Inc. | Systems and methods for real-time endpoint application flow control with network structure component |
US8566444B1 (en) | 2008-10-30 | 2013-10-22 | F5 Networks, Inc. | Methods and system for simultaneous multiple rules checking |
CN104883322B (zh) * | 2009-01-16 | 2019-07-12 | 主线网络控股有限公司 | 经由网络通过计算机传输数据而同时避免阻塞的方法及连接至网络的计算系统 |
US8351434B1 (en) * | 2009-02-06 | 2013-01-08 | Olympus Corporation | Methods and systems for data communication over wireless communication channels |
US8340099B2 (en) * | 2009-07-15 | 2012-12-25 | Microsoft Corporation | Control of background data transfers |
US10157280B2 (en) | 2009-09-23 | 2018-12-18 | F5 Networks, Inc. | System and method for identifying security breach attempts of a website |
US9313047B2 (en) | 2009-11-06 | 2016-04-12 | F5 Networks, Inc. | Handling high throughput and low latency network data packets in a traffic management device |
US8868961B1 (en) | 2009-11-06 | 2014-10-21 | F5 Networks, Inc. | Methods for acquiring hyper transport timing and devices thereof |
US10721269B1 (en) | 2009-11-06 | 2020-07-21 | F5 Networks, Inc. | Methods and system for returning requests with javascript for clients before passing a request to a server |
US9141625B1 (en) | 2010-06-22 | 2015-09-22 | F5 Networks, Inc. | Methods for preserving flow state during virtual machine migration and devices thereof |
US10015286B1 (en) | 2010-06-23 | 2018-07-03 | F5 Networks, Inc. | System and method for proxying HTTP single sign on across network domains |
US8908545B1 (en) | 2010-07-08 | 2014-12-09 | F5 Networks, Inc. | System and method for handling TCP performance in network access with driver initiated application tunnel |
US8347100B1 (en) | 2010-07-14 | 2013-01-01 | F5 Networks, Inc. | Methods for DNSSEC proxying and deployment amelioration and systems thereof |
WO2012019080A1 (en) * | 2010-08-06 | 2012-02-09 | Acquire Media Ventures Inc. | Method and system for pacing, ack'ing, timing, and handicapping (path) for simultaneous receipt of documents |
US9083760B1 (en) | 2010-08-09 | 2015-07-14 | F5 Networks, Inc. | Dynamic cloning and reservation of detached idle connections |
US8630174B1 (en) | 2010-09-14 | 2014-01-14 | F5 Networks, Inc. | System and method for post shaping TCP packetization |
US8463909B1 (en) | 2010-09-15 | 2013-06-11 | F5 Networks, Inc. | Systems and methods for managing server resources |
US8886981B1 (en) | 2010-09-15 | 2014-11-11 | F5 Networks, Inc. | Systems and methods for idle driven scheduling |
US8804504B1 (en) | 2010-09-16 | 2014-08-12 | F5 Networks, Inc. | System and method for reducing CPU load in processing PPP packets on a SSL-VPN tunneling device |
WO2012058486A2 (en) | 2010-10-29 | 2012-05-03 | F5 Networks, Inc. | Automated policy builder |
US9554276B2 (en) | 2010-10-29 | 2017-01-24 | F5 Networks, Inc. | System and method for on the fly protocol conversion in obtaining policy enforcement information |
US8639835B2 (en) * | 2010-11-29 | 2014-01-28 | Verizon Patent And Licensing Inc. | TCP window size performance optimization in wireless networks |
US8627467B2 (en) | 2011-01-14 | 2014-01-07 | F5 Networks, Inc. | System and method for selectively storing web objects in a cache memory based on policy decisions |
US10135831B2 (en) | 2011-01-28 | 2018-11-20 | F5 Networks, Inc. | System and method for combining an access control system with a traffic management system |
US8824687B2 (en) * | 2011-05-04 | 2014-09-02 | Acquire Media Ventures, Inc. | Method and system for pacing, acking, timing, and handicapping (path) for simultaneous receipt of documents employing encryption |
US9246819B1 (en) | 2011-06-20 | 2016-01-26 | F5 Networks, Inc. | System and method for performing message-based load balancing |
US9270766B2 (en) | 2011-12-30 | 2016-02-23 | F5 Networks, Inc. | Methods for identifying network traffic characteristics to correlate and manage one or more subsequent flows and devices thereof |
US9380635B2 (en) | 2012-01-09 | 2016-06-28 | Google Technology Holdings LLC | Dynamic TCP layer optimization for real-time field performance |
US10230566B1 (en) | 2012-02-17 | 2019-03-12 | F5 Networks, Inc. | Methods for dynamically constructing a service principal name and devices thereof |
US9172753B1 (en) | 2012-02-20 | 2015-10-27 | F5 Networks, Inc. | Methods for optimizing HTTP header based authentication and devices thereof |
US9231879B1 (en) | 2012-02-20 | 2016-01-05 | F5 Networks, Inc. | Methods for policy-based network traffic queue management and devices thereof |
WO2013163648A2 (en) | 2012-04-27 | 2013-10-31 | F5 Networks, Inc. | Methods for optimizing service of content requests and devices thereof |
US9338095B2 (en) | 2012-05-01 | 2016-05-10 | F5 Networks, Inc. | Data flow segment optimized for hot flows |
US9525632B1 (en) | 2012-05-01 | 2016-12-20 | F5 Networks, Inc. | Minimize recycle SYN issues for split TCP hot flows to improve system reliability and performance |
US9154423B1 (en) | 2012-05-01 | 2015-10-06 | F5 Networks, Inc. | Minimize SYN-flood issues with flow cache while maintaining performance |
US9203771B1 (en) | 2012-07-23 | 2015-12-01 | F5 Networks, Inc. | Hot service flow hardware offloads based on service priority and resource usage |
JP5998923B2 (ja) * | 2012-12-28 | 2016-09-28 | 富士通株式会社 | プログラム、情報処理装置、及び通信方法 |
US10375155B1 (en) | 2013-02-19 | 2019-08-06 | F5 Networks, Inc. | System and method for achieving hardware acceleration for asymmetric flow connections |
US10291472B2 (en) | 2015-07-29 | 2019-05-14 | AppFormix, Inc. | Assessment of operational states of a computing environment |
US10581687B2 (en) | 2013-09-26 | 2020-03-03 | Appformix Inc. | Real-time cloud-infrastructure policy implementation and management |
US9385959B2 (en) | 2013-09-26 | 2016-07-05 | Acelio, Inc. | System and method for improving TCP performance in virtualized environments |
US10355997B2 (en) | 2013-09-26 | 2019-07-16 | Appformix Inc. | System and method for improving TCP performance in virtualized environments |
US10187317B1 (en) | 2013-11-15 | 2019-01-22 | F5 Networks, Inc. | Methods for traffic rate control and devices thereof |
US9237467B2 (en) | 2013-11-27 | 2016-01-12 | At&T Intellectual Property I, L.P. | Adaptive pacing of media content delivery over a wireless network |
EP2887595B8 (en) * | 2013-12-23 | 2019-10-16 | Rohde & Schwarz GmbH & Co. KG | Method and node for retransmitting data packets in a tcp connection |
US10015143B1 (en) | 2014-06-05 | 2018-07-03 | F5 Networks, Inc. | Methods for securing one or more license entitlement grants and devices thereof |
US11838851B1 (en) | 2014-07-15 | 2023-12-05 | F5, Inc. | Methods for managing L7 traffic classification and devices thereof |
US10122630B1 (en) | 2014-08-15 | 2018-11-06 | F5 Networks, Inc. | Methods for network traffic presteering and devices thereof |
US9906454B2 (en) | 2014-09-17 | 2018-02-27 | AppFormix, Inc. | System and method for providing quality of service to data center applications by controlling the rate at which data packets are transmitted |
US10182013B1 (en) | 2014-12-01 | 2019-01-15 | F5 Networks, Inc. | Methods for managing progressive image delivery and devices thereof |
US11895138B1 (en) | 2015-02-02 | 2024-02-06 | F5, Inc. | Methods for improving web scanner accuracy and devices thereof |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
US11350254B1 (en) | 2015-05-05 | 2022-05-31 | F5, Inc. | Methods for enforcing compliance policies and devices thereof |
US10505818B1 (en) | 2015-05-05 | 2019-12-10 | F5 Networks. Inc. | Methods for analyzing and load balancing based on server health and devices thereof |
US11757946B1 (en) | 2015-12-22 | 2023-09-12 | F5, Inc. | Methods for analyzing network traffic and enforcing network policies and devices thereof |
US10404698B1 (en) | 2016-01-15 | 2019-09-03 | F5 Networks, Inc. | Methods for adaptive organization of web application access points in webtops and devices thereof |
US11178150B1 (en) | 2016-01-20 | 2021-11-16 | F5 Networks, Inc. | Methods for enforcing access control list based on managed application and devices thereof |
US10797888B1 (en) | 2016-01-20 | 2020-10-06 | F5 Networks, Inc. | Methods for secured SCEP enrollment for client devices and devices thereof |
US10791088B1 (en) | 2016-06-17 | 2020-09-29 | F5 Networks, Inc. | Methods for disaggregating subscribers via DHCP address translation and devices thereof |
US11063758B1 (en) | 2016-11-01 | 2021-07-13 | F5 Networks, Inc. | Methods for facilitating cipher selection and devices thereof |
US10505792B1 (en) | 2016-11-02 | 2019-12-10 | F5 Networks, Inc. | Methods for facilitating network traffic analytics and devices thereof |
CA3048055A1 (en) * | 2016-12-21 | 2018-06-28 | Dejero Labs Inc. | Packet transmission system and method |
US10326696B2 (en) | 2017-01-02 | 2019-06-18 | Microsoft Technology Licensing, Llc | Transmission of messages by acceleration components configured to accelerate a service |
US10320677B2 (en) | 2017-01-02 | 2019-06-11 | Microsoft Technology Licensing, Llc | Flow control and congestion management for acceleration components configured to accelerate a service |
US10334055B2 (en) * | 2017-02-01 | 2019-06-25 | International Business Machines Corporation | Communication layer with dynamic multi-session management |
US11496438B1 (en) | 2017-02-07 | 2022-11-08 | F5, Inc. | Methods for improved network security using asymmetric traffic delivery and devices thereof |
US10791119B1 (en) | 2017-03-14 | 2020-09-29 | F5 Networks, Inc. | Methods for temporal password injection and devices thereof |
US10812266B1 (en) | 2017-03-17 | 2020-10-20 | F5 Networks, Inc. | Methods for managing security tokens based on security violations and devices thereof |
US10868742B2 (en) | 2017-03-29 | 2020-12-15 | Juniper Networks, Inc. | Multi-cluster dashboard for distributed virtualization infrastructure element monitoring and policy control |
US11068314B2 (en) | 2017-03-29 | 2021-07-20 | Juniper Networks, Inc. | Micro-level monitoring, visibility and control of shared resources internal to a processor of a host machine for a virtual environment |
US10931662B1 (en) | 2017-04-10 | 2021-02-23 | F5 Networks, Inc. | Methods for ephemeral authentication screening and devices thereof |
US11323327B1 (en) | 2017-04-19 | 2022-05-03 | Juniper Networks, Inc. | Virtualization infrastructure element monitoring and policy control in a cloud environment using profiles |
US10972453B1 (en) | 2017-05-03 | 2021-04-06 | F5 Networks, Inc. | Methods for token refreshment based on single sign-on (SSO) for federated identity environments and devices thereof |
US11343237B1 (en) | 2017-05-12 | 2022-05-24 | F5, Inc. | Methods for managing a federated identity environment using security and access control data and devices thereof |
US11122042B1 (en) | 2017-05-12 | 2021-09-14 | F5 Networks, Inc. | Methods for dynamically managing user access control and devices thereof |
US11122083B1 (en) | 2017-09-08 | 2021-09-14 | F5 Networks, Inc. | Methods for managing network connections based on DNS data and network policies and devices thereof |
US11658995B1 (en) | 2018-03-20 | 2023-05-23 | F5, Inc. | Methods for dynamically mitigating network attacks and devices thereof |
US11044200B1 (en) | 2018-07-06 | 2021-06-22 | F5 Networks, Inc. | Methods for service stitching using a packet header and devices thereof |
CN110995606B (zh) * | 2019-12-20 | 2022-02-22 | 迈普通信技术股份有限公司 | 一种拥塞分析方法及装置 |
CN114629841B (zh) * | 2020-11-27 | 2023-05-16 | 华为技术有限公司 | 通信方法、装置及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06334688A (ja) * | 1993-03-22 | 1994-12-02 | Fujitsu Ltd | フレームリレー交換装置における輻輳処理方式および輻輳処理回路 |
JPH0774780A (ja) * | 1990-05-23 | 1995-03-17 | Internatl Business Mach Corp <Ibm> | パケット伝送ネットワークにおけるウィンドーサイズの調整方法及び装置 |
JPH09224025A (ja) * | 1996-02-19 | 1997-08-26 | Nippon Telegr & Teleph Corp <Ntt> | 輻輳制御方法 |
JPH1023064A (ja) * | 1996-07-01 | 1998-01-23 | Nippon Telegr & Teleph Corp <Ntt> | 自律分散型トラヒックフロー制御法 |
JPH1056469A (ja) * | 1996-03-20 | 1998-02-24 | Sun Microsyst Inc | Atmネットワークにおける明示レート・フロー制御用の方法と装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5130986A (en) * | 1990-04-27 | 1992-07-14 | At&T Bell Laboratories | High speed transport protocol with two windows |
US5734825A (en) * | 1994-07-18 | 1998-03-31 | Digital Equipment Corporation | Traffic control system having distributed rate calculation and link by link flow control |
US6252851B1 (en) * | 1997-03-27 | 2001-06-26 | Massachusetts Institute Of Technology | Method for regulating TCP flow over heterogeneous networks |
US6320846B1 (en) * | 1997-08-05 | 2001-11-20 | Hi/Fm, Inc. | Method and apparatus for controlling network bandwidth |
US6438101B1 (en) * | 1997-12-23 | 2002-08-20 | At&T Corp. | Method and apparatus for managing congestion within an internetwork using window adaptation |
US6370114B1 (en) * | 1997-12-31 | 2002-04-09 | Nortel Networks Limited | Apparatus and method for optimizing congestion control information in a multi-protocol network |
US6219713B1 (en) * | 1998-07-07 | 2001-04-17 | Nokia Telecommunications, Oy | Method and apparatus for adjustment of TCP sliding window with information about network conditions |
-
1998
- 1998-03-31 EP EP98105859A patent/EP0948168A1/en not_active Withdrawn
-
1999
- 1999-03-30 EP EP99917924A patent/EP1070407B1/en not_active Expired - Lifetime
- 1999-03-30 CN CNB998068543A patent/CN1149793C/zh not_active Expired - Fee Related
- 1999-03-30 IL IL13830399A patent/IL138303A/xx not_active IP Right Cessation
- 1999-03-30 JP JP2000541802A patent/JP4738594B2/ja not_active Expired - Lifetime
- 1999-03-30 WO PCT/EP1999/002184 patent/WO1999050998A1/en active IP Right Grant
- 1999-03-30 CA CA002326488A patent/CA2326488C/en not_active Expired - Lifetime
- 1999-03-30 AU AU36029/99A patent/AU752032B2/en not_active Ceased
- 1999-03-30 DE DE69922180T patent/DE69922180T2/de not_active Expired - Lifetime
- 1999-03-30 US US09/281,428 patent/US6754228B1/en not_active Expired - Lifetime
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0774780A (ja) * | 1990-05-23 | 1995-03-17 | Internatl Business Mach Corp <Ibm> | パケット伝送ネットワークにおけるウィンドーサイズの調整方法及び装置 |
JPH06334688A (ja) * | 1993-03-22 | 1994-12-02 | Fujitsu Ltd | フレームリレー交換装置における輻輳処理方式および輻輳処理回路 |
JPH09224025A (ja) * | 1996-02-19 | 1997-08-26 | Nippon Telegr & Teleph Corp <Ntt> | 輻輳制御方法 |
JPH1056469A (ja) * | 1996-03-20 | 1998-02-24 | Sun Microsyst Inc | Atmネットワークにおける明示レート・フロー制御用の方法と装置 |
JPH1023064A (ja) * | 1996-07-01 | 1998-01-23 | Nippon Telegr & Teleph Corp <Ntt> | 自律分散型トラヒックフロー制御法 |
Also Published As
Publication number | Publication date |
---|---|
EP1070407A1 (en) | 2001-01-24 |
EP1070407B1 (en) | 2004-11-24 |
WO1999050998A1 (en) | 1999-10-07 |
DE69922180D1 (de) | 2004-12-30 |
EP0948168A1 (en) | 1999-10-06 |
CN1303557A (zh) | 2001-07-11 |
JP2002510904A (ja) | 2002-04-09 |
CA2326488A1 (en) | 1999-10-07 |
IL138303A (en) | 2005-09-25 |
IL138303A0 (en) | 2001-10-31 |
AU752032B2 (en) | 2002-09-05 |
CN1149793C (zh) | 2004-05-12 |
DE69922180T2 (de) | 2005-12-01 |
CA2326488C (en) | 2008-08-12 |
US6754228B1 (en) | 2004-06-22 |
AU3602999A (en) | 1999-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4738594B2 (ja) | データフロー制御方法および装置 | |
US8125910B2 (en) | Communication system | |
Kliazovich et al. | Cross-layer congestion control in ad hoc wireless networks | |
US7099273B2 (en) | Data transport acceleration and management within a network communication system | |
US20040192312A1 (en) | Communication system for voice and data with wireless TCP server | |
US6643259B1 (en) | Method for optimizing data transfer in a data network | |
EP1376944B1 (en) | Receiver-initiated transmission rate increment | |
KR101071035B1 (ko) | 송신 윈도우 크기를 계산하는 방법 | |
WO2003015355A2 (en) | Method for supporting non-linear, highly scalable increase-decrease congestion control scheme | |
WO2001045331A1 (en) | Congestion control method for a packet-switched network | |
JP2006157918A (ja) | 高スループットを実現する通信システム、通信端末、セッション中継装置、及び通信プロトコル | |
KR20060100512A (ko) | 전송제어 프로토콜 기반의 네트워크에서 평균 대역폭 추정방법 및 시스템 | |
US8446835B2 (en) | Method and termination node for bundling multiple messages into a packet | |
JP3163479B2 (ja) | 帯域制御方法 | |
Razdan et al. | Enhancing TCP performance in networks with small buffers | |
JP2003318967A (ja) | 帯域制御方法および輻輳制御方法ならびにネットワーク構成装置 | |
WO2003007173A9 (en) | System, method and apparatus for preventing data packet overflow at node in wireless packet data services network | |
Chen et al. | An end-to-end flow control approach based on round trip time | |
US20030065736A1 (en) | System, method, and apparatus for preventing data packet overflow at plurality of nodes in wireless packet data services network | |
Martin et al. | Adaptation of transport protocols for an IP-micromobility scheme | |
Law et al. | Engineering TCP transmission and retransmission mechanisms for wireless networks | |
CN114884884A (zh) | 一种拥塞控制方法及装置 | |
Ye | Congestion control for SCTP in wireless ad-hoc networks | |
Kwon et al. | Empirical evaluation of receiver‐based TCP delay control in CDMA2000 networks | |
KR20100062604A (ko) | 다수의 무선망을 이용한 패킷 전송 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20060323 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060328 |
|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20060629 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080402 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080926 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081219 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090703 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090930 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20091007 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100823 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101124 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110408 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110427 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140513 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |