JP2004537218A - Nackベースのプロトコルにおける輻輳制御の信頼性のある効率的な対応方法 - Google Patents
Nackベースのプロトコルにおける輻輳制御の信頼性のある効率的な対応方法 Download PDFInfo
- Publication number
- JP2004537218A JP2004537218A JP2003516188A JP2003516188A JP2004537218A JP 2004537218 A JP2004537218 A JP 2004537218A JP 2003516188 A JP2003516188 A JP 2003516188A JP 2003516188 A JP2003516188 A JP 2003516188A JP 2004537218 A JP2004537218 A JP 2004537218A
- Authority
- JP
- Japan
- Prior art keywords
- server
- packet
- client
- rtt
- data packets
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 title abstract 3
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 title abstract 3
- 238000004891 communication Methods 0.000 claims abstract description 31
- 230000005540 biological transmission Effects 0.000 claims description 28
- 230000004044 response Effects 0.000 claims description 26
- 230000009471 action Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 description 20
- 230000007246 mechanism Effects 0.000 description 11
- 238000011084 recovery Methods 0.000 description 9
- 238000005259 measurement Methods 0.000 description 6
- 230000003247 decreasing effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012546 transfer Methods 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/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/263—Rate modification at the source after receiving feedback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- 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/18—End to end
-
- 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]
-
- 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/34—Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
通信リンクにおいて、サーバとクライアント間で複数のメッセージを交換し、その間の輻輳制御に対応するシステムと方法が開示される。NACKベースのアプリケーションにおける本発明のデータ構造を使用し、損失パケットに対する複数の再送の試みに対応することにより、本発明は、インターネット上において、サーバとクライアント間のリアルタイムのストリーミング・アプリケーションにおける輻輳制御を提供する。NACKベースのアプリケーションにおける再送タイムアウト(RTO)プロトコルを使用せずに、ネットワークトラヒックを制御する機能により、ビデオ及びマルチメディアトラヒックを含む多様なネットワークトラヒックの効率的な対処を可能にする。
Description
【技術分野】
【0001】
本発明は、デジタルパケット伝送に関し、特に、デジタル交換パケット通信環境において、輻輳制御に対応するための制御パケットを交換する方法とシステムに関する。
【背景技術】
【0002】
多くのインターネットのストリーミング・アプリケーションは、輻輳制御を必要とし、前記輻輳制御は、クライアントノードとサーバノードとに、最初に伝送速度の値を特定の値に設定し、その後、速度を調整して、データリンク上のメッセージ伝送の変化に対応することを可能にする。現在、データ通信ネットワークにおいて、輻輳制御と損失パケット回復とに対応する2つの形式のインターネット転送プロトコルが存在する。第1のアプローチは、伝送制御プロトコル(TCP)に示されるACKベースであり、それは、受信側(又はクライアント)が各受信パケットに応じて、肯定応答(ACK)を送信することを含む。各ACKパケットが、RTTのサンプルを備え、損失パケットについての情報を有する。図1(a)は、エラー回復の仕組みとして、データが受信側端点に到達するTCPの肯定応答(ACK)処理を示したものである。本システムは、応答のないフレームのみが伝送される原理のもとで動作する。送信側によってパケットが無事に受信されたことを保障するため、TCPは、コネクション毎に再送タイマーを管理することによって、再送タイムアウト(RTO)の仕組みを使用する。すなわち、TCPは再送タイマーを設定し、コネクションのRTO値と、ラウンドトリップタイム(RTT)とを追加する。RTTは、TCP型のデータセグメントの伝送開始と、前記セグメントの肯定応答の受信との間の経過時間である。RTO1が終了するまでに肯定応答が受信されない場合は、TCPは次のRTO2内で再度データを再送する。
【0003】
第2のアプローチは、ユーザ・データグラム・プロトコル(UDP)におけるNACKベースであり、それは、受信側が各損失パケットに応じて、否定応答(NACK)を送信することを含む。図1(b)は、再送のため、損失フレームに応じて送信側(又はサーバ)にNACKパケットを転送することを含む、否定応答(NACK)のUDPシステムを示したものである。図1(b)に示す通り、NACKパケットは、受信側から送信側への経路において損失する可能性がある。UDPは、再送コネクションのためのTCPと同様の再送タイムアウト(RTO)の仕組みを利用する。RTOの評価は、RTTの以前のサンプルに基づいて、RTTの次の値を予測することにより実行される。RTOが過大評価されると、TCPにおいて低いスループット性能につながり、リアルタイム・アプリケーションにおいて、アンダーフローのイベントの増加を引き起こし得る。しかし、RTOが過小評価されると、いっそう多くの不要なパケットが再送され、重大なネットワークの輻輳を引き起こす多数の複製パケットをプロトコルが生成する。実際には、歴史的な理由により、多くの提案された輻輳制御の仕組みは、TCPに示されるフロー制御と同様の、ウィンドウベースのフロー制御に依存している。
【0004】
例えばマルチメディアアプリケーション等の、リアルタイムのストリーミング・アプリケーションにおいては、受信側から送信側への経路での低いオーバーヘッドと、損失パケットの潜在的に早い回復のため、NACKベースの動作が好まれる。しかし、NACKベースのプロトコルにおける輻輳制御は、高い振動の度合い(NACベースの輻輳制御の“オープンループ”動作により引き起こされる)と、NACベースの仕組みが各送信パケットからRTTのサンプルを導き出すことが不可能であることと(結果として、フィードバックの頻度が低くなる)により、一般的に困難と考えられている。さらに、NACKベースのプロトコルが、効率的に(すなわち、ほとんどタイムアウトせずに)制御メッセージの損失を克服する一般的な方法は存在しない。したがって、本発明は、低い振動レベルと、RTTの測定の高い頻度と、損失パケットに対する高い回復度と、高いビットレートの拡張性と、効果的なNACKベースの再送と、従来のACKベースの輻輳制御の全機能とを達し、サーバとクライアント間のNACKベースの環境において、輻輳制御メッセージを交換する改良された仕組みに関する。
【発明の開示】
【課題を解決するための手段】
【0005】
本発明は、サーバとクライアント間のインターネット上のリアルタイムのストリーミング・アプリケーションにおいて輻輳制御を提供する方法とシステムを対象にする。
【0006】
本発明の一形態は、パケット通信システムにおいて、送信側速度を調整し、サーバとクライアント間の輻輳制御に対応する方法に関する。本方法は:クライアントに複数のデータパケットを伝送するステップと;サーバからクライアントへの通信コネクションで、データパケットの1つが損失したかどうかを判断するステップと;データパケットの1つが損失した場合に、クライアントにより再送のための応答パケットを伝送するステップと;サーバに応答パケットを送信することと、サーバから損失パケットの対応する再送を受信することとの間の遅延時間に対応するラウンドトリップタイム(RTT)とパケット損失率とに基づいて、新たな送信側速度を計算するステップと;前記通信コネクションの間に、所定の数のRTTが検出されると、サーバによる新たな送信側速度を調整するステップとを含む。
【0007】
本発明の他の形態は、パケット通信システムにおいて、送信側速度を調整し、サーバとクライアント間の輻輳制御に対応するシステムに関する。本システムは、複数のデータパケットを受信する手段と;伝送中にデータパケットの1つが損失したかどうかを判断する手段と;何らかの損失フレームパケットが再送されることを要求する手段と;損失フレームの再送をサーバに要求することと、対応する損失パケットの再送をサーバから受信することとの間の遅延時間に対応するラウンドトリップタイム(RTT)とパケット損失率とに基づいて、新たな送信側速度を計算する手段と;その後に計算されるRTTが所定の閾値を満たすと、サーバに新たな送信側速度を知らせる手段とを含む。
【0008】
図面と共に、次の詳細な説明を読むことにより、本技術に熟練した人にこれらの利点や他の利点が明白になるだろう。
【発明を実施するための最良の形態】
【0009】
本発明の完全な理解を提供するために、次の説明において、限定の目的ではなく説明の目的で、特定の構成や、インタフェースや、技術等のような特定の詳細が示される。加えて、不要な詳細で本発明の説明をあいまいにしないように、明確さと簡潔さの目的で、周知の装置や、回路や、方法の詳細な説明は省略される。
【0010】
サーバからのパケットが輻輳になり得る程の速すぎる速度で到達することを、クライアントが判断すると、本発明による輻輳制御の動作が実行される。このため、クライアントは、伝送する応答メッセージに輻輳制御情報を挿入し、それにより、応答メッセージを受信するサーバが、クライアントにパケットを伝送する速度を下げる。その後輻輳が弱まると、クライアントノードは、応答パケットにおいて、クライアントにパケットを送信する速度を上げることを受信サーバに許可する輻輳制御情報を伝送する。さらに、本発明は、先行技術のシステムにあるような再送タイムアウト(RTO)を使用せずに、クライアントが再送の損失を検出可能な仕組みを提供し、これにより、損失パケットの早い回復を提供する。さらに、本発明の仕組みは、パケット損失に対する回復と、クライアントからサーバへの経路での再要求である。すなわち、本発明の仕組みの動作は、サーバが、クライアントにより送信された期限切れの再要求された輻輳制御メッセージに反応することを回避する。さらに、本発明の仕組みは、輻輳制御動作の減衰が、特定の輻輳制御アルゴリズムに調整されることを許容し、輻輳制御の周期の増加と減少のための異なる度合いの減衰を提供する。
【0011】
図2を参照すると、本発明を使用するシステム10は、サーバ12と、クライアントシステム14とを有し、ネットワーク16のアクセス回線を介して相互に通信する。サーバとクライアント間の通信接続は、無線通信リンクと、有線通信リンクと、有線通信リンクと無線通信リンクとの組み合わせのうちの少なくとも1つを含み得る。サーバ12とクライアント14の双方は、例えば、1ユーザ又は数ユーザに使用され得るパーソナルコンピュータ又はコンピュータワークステーションを含み得る。本発明の選択された実施例は、サーバとクライアントシステムで実行するソフトウェアである。コンピュータプログラム(又はコンピュータ制御ロジック)は、各システムのメインメモリに蓄積される。前記コンピュータプログラムは、実行されると、各システムが本願に論ずる本発明の機能を実行することを可能にする。図2に示すネットワークは、説明の目的で小さいが、実際には、ネットワークは非常に多くの異なるコンピュータシステムを含み得ることに注目すべきである。さらに、本発明はクライアント・サーバ環境で実行され得るが、クライアント・サーバ環境は必須ではないことに注目すべきである。
【0012】
本発明の実施例によると、輻輳制御動作中にクライアント12がサーバ14に伝送する2つの形式の制御パケットが存在する。第1の形式のメッセージは、一般的にNACKメッセージと呼ばれる再送要求を有する。第2の形式のメッセージは、輻輳制御(CC)と呼ばれ、サーバ12からクライアント14への経路上で実装される新たな伝送速度を有する。すなわち、新たな伝送速度r(t)を示す輻輳制御動作の出力が、クライアント14からサーバ12に伝送される。このとき、新たな伝送速度r(t)は、サーバのパケットのパケット損失率と、制御パケットのラウンドトリップタイム(RTT)とに基づいて計算される。測定されたRTT及び/又はパケット損失率に基づく、新たな伝送速度又は新たな送信側速度の計算は、技術的に周知であり、多様な方法で実行され得る。新たな伝送速度の正確な計算は、実装に依存し、本技術に熟練した人は、多くの異なる方法が存在することがわかる。例えば、伝送遅延とRTTに基づき、送信側速度を決定する技術は、1998年6月29日に出願された米国特許出願第6,115,357号に開示され、参照として本願に取り込まれる。実施例において、新たな伝送速度r(t)は、各NACKメッセージに挿入される。その他、損失パケットが存在しなければ、新たな伝送速度r(t)は、クライアント14からサーバ12への輻輳制御(CC)パケットを介して、サーバ12に送信される。
【0013】
データフローの速度は、一つには、伝送遅延とラウンドトリップタイム(RTT)とに基づく。図3は、前段落で説明した、パケットヘッダの構造を示したものであり、クライアント14とサーバ14との間の制御パケットを交換し、本発明の実施例に従って輻輳制御を実行するために使用される。限定するわけではないが、異なるサイズのフィールドや、異なる順番のフィールドの配置や、図3に示されていない追加フィールドを含む、示されたものから他のデータ構造がうまく使用することができることが、技術的に熟練した人に明白である。
【0014】
図3に示す通り、クライアント14によって送信される各パケットは、先行技術の方法には存在しない2つのフィールドを含む。第1のフィールドであるテストRTTシーケンスは、RTTを測定し、再送パケットが損失したかどうかを検出するために使用される。このために、サーバ12は、クライアント14から制御パケットを受信すると、クライアント14から直前に受信されたテストRTTシーケンスを、クライアント14に転送する各パケットにコピーする。そして、特定のテストRTTシーケンスを備える要求を送ることと、同じシーケンス番号を備えるサーバのパケットを受信することとの間の継続時間を測定することにより、クライアント14はRTTを計算する。例えば、図4(a)及び4(b)の記号(x,y)は、シーケンス番号がxでテストRTTシーケンスがyであるパケットを表す。図4に示す通り、パケット(100,2)が伝送中に損失すると、再送のため、NACKパケット(100,3)がサーバ12に伝送される。その後、要求されたパケット(100,3)が、サーバ12からクライアント14に再送され、それもまた損失する。それにもかかわらず、クライアントは、サーバがクライアントの要求を受信したことを示す次のソースパケット(103,3)を受信する。先入れ先出しのネットワークを仮定すれば、クライアントは、再送パケット(100,3)の損失を推測することができる。したがって、テストRTTシーケンスが(102,2)から(103,3)に変化することを監視することにより、クライアント14は、本発明に従ってラウンドトリップタイム(RTT)を生成し、パケット(103,3)を受信すると、パケット100の第2のNACKを送信することができる。すなわち、クライアント14がテストRTTシーケンスiを備えるNACKを送信し、その結果として、iより大きい又は同じテストRTTシーケンスを備えるサーバのパケットを受信し、この時点までに、クライアント14がシーケンスiを備えるNACKにおいて要求した再送を受信していない場合は、クライアント14は要求した再送パケットが損失し、NACKパケットを再度送信しなければならないことがわかる。ラウンドトリップタイム(RTT)は、サーバ12に対する要求(NACK又はCCのいずれか)を送信することと、サーバがクライアントの要求(すなわち、クライアントにより送信された最後のパケットより大きい又は同じテストRTTシーケンスを備えるパケット)を受信したことを示すサーバのパケットの受信との間の時間として定義される。したがって、CCとNACKパケットの双方は、本発明のRTTを測定する同じテストRTTシーケンスフィールドに依存し、RTTの測定を実現するために使用され得る。
【0015】
図4(b)を参照すると、本発明の実施例による図3に示すNACKメッセージのrate(t)フィールドの目的は、先行技術のシステムにおける再送タイムアウト(RTO)を待つことなく、クライアント14からサーバ12への経路上のCCパケットの損失を直ちに克服することである。CCパケットの中のrate(t)が送信され、損失すると、クライアント14は、RTTの全周期を待たずに、損失CCメッセージの直後に同じrate(t)を備えるNACKを送信し得る。損失パケットが存在し、NACKが正当化される場合に、前記状態が発生する。先行技術のシステムにおいては、クライアント14は、タイムアウトを待つ必要があり、一般的には、RTOは、実際のRTTの評価より保守的(かなり大きい)である。本発明において、CCが損失すると、クライアント14が全RTTを待ってCCメッセージを再送する場合よりかなり早く、次のNACKがサーバにrate(t)を供給する。ゆえに、本発明は、損失CCパケットのより早い回復を提供し、損失CCパケットを回復する場合に待つ不必要な再送タイムアウト(RTO)を削除する。新たなCC又はNACKパケットが送信される毎に、テストRTTシーケンスが1つ増すことに留意すべきである。
【0016】
図4bの上の図を参照すると、(r(t),3)を備えるCCメッセージが損失すると(r(t)は新たな速度で、3はテストRTTシーケンスである)、クライアント14は、タイムアウトの終了により、RTO時間単位後になって初めて、CCメッセージの損失を克服することができる。2つのCCメッセージの間にNACKメッセージ(100,4)が存在することに留意すべきである。先行技術においては、NACKメッセージは活用されていない。したがって、時間T1においてサーバ12が速度rate(t)を受信する。本発明においては(図の下部)、NACKは、損失パケットのシーケンス番号(すなわち100)と、次のRTTシーケンス(すなわち4)に加えて、速度r(t)を有する。したがって、サーバ12は、T1ではなくT0において、速度をより早く取得する。本発明がなければ、RTOの終了前に再送パケット(100,4)がクライアントに戻ると、クライアント14は、CCパケットの損失を推測し、タイマーが終了する前にCCパケットを再送するが、それでも(RTOのかわりに)RTTの全時間単位が浪費される。
【0017】
続いて図3を参照すると、CCとNACKパケットの双方に存在する第2のフィールドであるCA(制御動作)シーケンスの機能は、輻輳制御シーケンス番号をサーバ12に伝え、サーバ12が、RTTにつき1度以上、クライアント14により送信された輻輳制御メッセージに反応することを回避する。すなわち、CAシーケンスは、新たな送信側速度を適応させる前に、システムが所定の時間(又は最低輻輳制御周期)を待つ仕組みを提供する。本発明において、最低輻輳制御周期は、新たな送信側速度を特定する前の測定されたRTTの数を表し、1つのRTTの後に発生し得る。したがって、RTTの数は、サーバ12が新たな送信側速度を適応することを可能にする前に測定される。加えて、最低輻輳制御周期は、輻輳制御の増加段階と減少段階で異なり得る。このことを達するために、新たな輻輳制御動作がサーバ12に送信される必要がある場合にのみ、クライアント14はCAシーケンスを増加し、サーバ12は、サーバのローカルのCAシーケンス値より小さい又は同じCAシーケンスを備えるパケットにおいて受信された速度r(t)を無視しなければならない。加えて、本方法は、サーバ12が再要求された輻輳制御メッセージ(例えば、順序違いで到達する遅れたCC及びNACKメッセージ)に反応することを回避し、速度の変更を起動しない。
【0018】
図5は、クライアント14が輻輳制御動作の頻度(例えば、各周期の継続時間)を決定する動作ステップと、本発明の実施例によりCAシーケンスが増加される動作ステップとを示したものである。クライアント14が、サーバ12に通信接続し、サーバ12に制御パケットを伝送すると、サーバ12がメッセージパケットを伝送し得る速度を示す速度値で、クライアント14はサーバ12と通信する。その後の各メッセージパケットは、以前の確立された速度値を変更し得る輻輳制御情報を含み得る。まず、ステップ100において、クライアント14は、テストRTTシーケンスがiであるパケットをサーバから受信する。ステップ102において、クライアント14は、現在受信したテストRTTシーケンスiが以前に実行されたテストRTTシーケンス(最終動作シーケンス)より大きい又は同じであるかどうか:i≧最終動作シーケンス?を判断する。もし、そうであれば、最初のラウンドトリップタイム(RTT)が実行される。ステップ104において、RTT測定の周期が1つ増す:CC周期=CC周期+1。そしてステップ106において、RTT測定の現在の周期が、所定の増加基準周期(kI*RTTs)又は減少周期(kD*RTTs)を超えるかどうかが判断される。望ましい実施態様においては、kDの値は1であり、kIの値は2と4の間である。したがって、現在の周期がkD又はkIの周期を超えると、クライアント14は、CC又はNACKパケットのいずれかを使用して、送信速度を増加又は減少するようにサーバ12に指示する。ステップ104において更新された新たな周期が、ステップ108又はステップ110において、それぞれの所定の基準周期より大きい場合は、CAシーケンスが1つ増し、送信速度が新たな速度に変わる。それは、ステップ112において、RTTに基づいて計算される:CAシーケンス=CAシーケンス+1及びCC周期=0。RTTの値は常に変化するため、クライアント14は以前に測定されたRTTの値に依存できず、各CC及びNACK要求の時点で測定したRTTに依存しなければならない。すなわち、新たなCC動作が時間tにおいて開始し、クライアントのCAシーケンスの現在の値がjである場合、クライアント14は、時間tにおいてCAシーケンスの値をj+1に増し、(損失パケットが存在し、回復が必要な場合に)CC又はNACKのいずれかをサーバ12に送信する。現在の周期がkD又はkIの周期を超えない場合、すなわち、ステップ108において:CC周期≧kIステップ110において:CC周期≧kDの場合、ステップ114において、クライアントはテストRTTの値を更新する。CAシーケンス番号はステップ114の間に変化しないが、テストRTTシーケンス番号のみ変化する:テストRTTシーケンス=テストRTTシーケンス+1。すなわち、クライアント14が時間tにおいて送信側速度r(t)を変えると、増加が許可されるまで、例えば、時間t+kI*RTTにおいて次の増加動作が開始するまで、クライアントはkIラウンドトリップ遅延時間中、同じ速度を維持しなければならない。同様に、次の動作が減少の場合、r(t)が維持される必要のある最小時間は、kDラウンドトリップ遅延時間である。最後に、制御(すなわちNACK及びCC)メッセージの損失を克服するために、クライアント14は、再送タイムアウト(RTO)タイマーを開始し得る。伝送される各CC又はNACKパケット毎に、本発明はタイマーを維持する。クライアントが、最後に送信したパケットより大きい又は同じテストシーケンスを備えるサーバのパケットを取得する前に、タイマーが終了すると、対応するCC又はNACKパケットが再送される。
【0019】
図6は、再送タイムアウト(RTO)の仕組みを必要とせずに、クライアント14がパケット損失を克服し、サーバ12の送信側速度を調整することを可能にする動作ステップを示したものである。まず、サーバ12は、ネットワーク上でクライアントに少なくとも1つのソースパケットを送信する。図4に示す通り、サーバ12からクライアント14へのソースパケットが、エラー又は損失として伝送されると、再送のため、クライアント14は否定応答(NACK)パケットをサーバ12に伝送する。再送パケットが損失すると、ステップ200において、クライアントは、次のソースパケットのテストRTTシーケンスのフィールドから損失を推測する(図4の例を参照)。実施例では、リアルタイムセッションにおいてクライアント14は、ラウンドトリップ遅延時間を定期的に測定しなければならない。RTTは、NACK又はCCメッセージを送信することと、クライアントから対応する要求をサーバが受信したことを認める対応する再送又は最初のサーバパケットを受信することとの間の継続時間である。本発明において、各CCメッセージはRTTの測定を提供する。CCメッセージは非常に頻繁であるため、クライアントはRTTのサンプルを高頻度で取得し、ACKベースの輻輳制御の仕組みと同じ性能を達する。ステップ210において、新たな送信側速度を設定する前に、ラウンドトリップ遅延時間の追加のサンプルを取得することにより、クライアント14によってRTTが繰り返して測定される。ステップ230において、所定の周期の数に到達すると、クライアント14は、直前に計算されたRTTを伝送し、制御動作(CA)シーケンスを1つ増し、サーバ12に送信側速度を調整するように通知する。その後、更なるデータパケットがクライアント14によって受信されると、動作ステップ200−230が再度繰り返される。
【0020】
要約すると、本発明はNACKベースのプロトコルにおける輻輳制御の新たなフレームワークを提供し、著しい性能の改善(例えば、低い振動率や、パケット損失や再要求に対する回復や、タイムアウトのない損失の再送の検出や、各CC/NACKメッセージからのRTTの測定や、既存のNACKベースの輻輳制御方法に対してかなり少ない複製パケットを有するNACKベースの再送)を達する。デジタル通信リンクにおいて、輻輳制御メッセージを管理する前述の望ましい実施態様を有することにより、システムの特定の利点が達せられることが、技術的に熟練した人に明白である。前述は、本発明の例示的な実施例のみとして構成されたものである。したがって、技術的に熟練した人は、本発明の基本的な原理又は範囲を逸脱することなく、本発明と同様の機能を備える他の構成を容易に考えることが可能である。
【図面の簡単な説明】
【0021】
【図1(a)】TCP通信環境における代表的なデータフローを示したものである。
【図1(b)】UDP通信環境における代表的なデータフローを示したものである。
【図2】本発明によるシステムのブロック図を示したものである。
【図3】本発明によるサーバの端点におけるユーザ・データグラム・プロトコル(UDP)パケットのフォーマットを示したものである。
【図4(a)】本発明により、ラウンドトリップタイム(RTT)を測定するためのパケットの交換を示したタイムチャートである。
【図4(b)】本発明により、制御動作パケットの紛失を克服するためのパケットの交換を示した対照によるタイムチャートである。
【図5】本発明による輻輳制御の動作を示したフローチャートである。
【図6】再送タイムアウト(RTO)の仕組みを必要とせずに、クライアント14がパケット損失を克服し、サーバ12の送信側速度を調整することを可能にする動作ステップを示したものである。
【0001】
本発明は、デジタルパケット伝送に関し、特に、デジタル交換パケット通信環境において、輻輳制御に対応するための制御パケットを交換する方法とシステムに関する。
【背景技術】
【0002】
多くのインターネットのストリーミング・アプリケーションは、輻輳制御を必要とし、前記輻輳制御は、クライアントノードとサーバノードとに、最初に伝送速度の値を特定の値に設定し、その後、速度を調整して、データリンク上のメッセージ伝送の変化に対応することを可能にする。現在、データ通信ネットワークにおいて、輻輳制御と損失パケット回復とに対応する2つの形式のインターネット転送プロトコルが存在する。第1のアプローチは、伝送制御プロトコル(TCP)に示されるACKベースであり、それは、受信側(又はクライアント)が各受信パケットに応じて、肯定応答(ACK)を送信することを含む。各ACKパケットが、RTTのサンプルを備え、損失パケットについての情報を有する。図1(a)は、エラー回復の仕組みとして、データが受信側端点に到達するTCPの肯定応答(ACK)処理を示したものである。本システムは、応答のないフレームのみが伝送される原理のもとで動作する。送信側によってパケットが無事に受信されたことを保障するため、TCPは、コネクション毎に再送タイマーを管理することによって、再送タイムアウト(RTO)の仕組みを使用する。すなわち、TCPは再送タイマーを設定し、コネクションのRTO値と、ラウンドトリップタイム(RTT)とを追加する。RTTは、TCP型のデータセグメントの伝送開始と、前記セグメントの肯定応答の受信との間の経過時間である。RTO1が終了するまでに肯定応答が受信されない場合は、TCPは次のRTO2内で再度データを再送する。
【0003】
第2のアプローチは、ユーザ・データグラム・プロトコル(UDP)におけるNACKベースであり、それは、受信側が各損失パケットに応じて、否定応答(NACK)を送信することを含む。図1(b)は、再送のため、損失フレームに応じて送信側(又はサーバ)にNACKパケットを転送することを含む、否定応答(NACK)のUDPシステムを示したものである。図1(b)に示す通り、NACKパケットは、受信側から送信側への経路において損失する可能性がある。UDPは、再送コネクションのためのTCPと同様の再送タイムアウト(RTO)の仕組みを利用する。RTOの評価は、RTTの以前のサンプルに基づいて、RTTの次の値を予測することにより実行される。RTOが過大評価されると、TCPにおいて低いスループット性能につながり、リアルタイム・アプリケーションにおいて、アンダーフローのイベントの増加を引き起こし得る。しかし、RTOが過小評価されると、いっそう多くの不要なパケットが再送され、重大なネットワークの輻輳を引き起こす多数の複製パケットをプロトコルが生成する。実際には、歴史的な理由により、多くの提案された輻輳制御の仕組みは、TCPに示されるフロー制御と同様の、ウィンドウベースのフロー制御に依存している。
【0004】
例えばマルチメディアアプリケーション等の、リアルタイムのストリーミング・アプリケーションにおいては、受信側から送信側への経路での低いオーバーヘッドと、損失パケットの潜在的に早い回復のため、NACKベースの動作が好まれる。しかし、NACKベースのプロトコルにおける輻輳制御は、高い振動の度合い(NACベースの輻輳制御の“オープンループ”動作により引き起こされる)と、NACベースの仕組みが各送信パケットからRTTのサンプルを導き出すことが不可能であることと(結果として、フィードバックの頻度が低くなる)により、一般的に困難と考えられている。さらに、NACKベースのプロトコルが、効率的に(すなわち、ほとんどタイムアウトせずに)制御メッセージの損失を克服する一般的な方法は存在しない。したがって、本発明は、低い振動レベルと、RTTの測定の高い頻度と、損失パケットに対する高い回復度と、高いビットレートの拡張性と、効果的なNACKベースの再送と、従来のACKベースの輻輳制御の全機能とを達し、サーバとクライアント間のNACKベースの環境において、輻輳制御メッセージを交換する改良された仕組みに関する。
【発明の開示】
【課題を解決するための手段】
【0005】
本発明は、サーバとクライアント間のインターネット上のリアルタイムのストリーミング・アプリケーションにおいて輻輳制御を提供する方法とシステムを対象にする。
【0006】
本発明の一形態は、パケット通信システムにおいて、送信側速度を調整し、サーバとクライアント間の輻輳制御に対応する方法に関する。本方法は:クライアントに複数のデータパケットを伝送するステップと;サーバからクライアントへの通信コネクションで、データパケットの1つが損失したかどうかを判断するステップと;データパケットの1つが損失した場合に、クライアントにより再送のための応答パケットを伝送するステップと;サーバに応答パケットを送信することと、サーバから損失パケットの対応する再送を受信することとの間の遅延時間に対応するラウンドトリップタイム(RTT)とパケット損失率とに基づいて、新たな送信側速度を計算するステップと;前記通信コネクションの間に、所定の数のRTTが検出されると、サーバによる新たな送信側速度を調整するステップとを含む。
【0007】
本発明の他の形態は、パケット通信システムにおいて、送信側速度を調整し、サーバとクライアント間の輻輳制御に対応するシステムに関する。本システムは、複数のデータパケットを受信する手段と;伝送中にデータパケットの1つが損失したかどうかを判断する手段と;何らかの損失フレームパケットが再送されることを要求する手段と;損失フレームの再送をサーバに要求することと、対応する損失パケットの再送をサーバから受信することとの間の遅延時間に対応するラウンドトリップタイム(RTT)とパケット損失率とに基づいて、新たな送信側速度を計算する手段と;その後に計算されるRTTが所定の閾値を満たすと、サーバに新たな送信側速度を知らせる手段とを含む。
【0008】
図面と共に、次の詳細な説明を読むことにより、本技術に熟練した人にこれらの利点や他の利点が明白になるだろう。
【発明を実施するための最良の形態】
【0009】
本発明の完全な理解を提供するために、次の説明において、限定の目的ではなく説明の目的で、特定の構成や、インタフェースや、技術等のような特定の詳細が示される。加えて、不要な詳細で本発明の説明をあいまいにしないように、明確さと簡潔さの目的で、周知の装置や、回路や、方法の詳細な説明は省略される。
【0010】
サーバからのパケットが輻輳になり得る程の速すぎる速度で到達することを、クライアントが判断すると、本発明による輻輳制御の動作が実行される。このため、クライアントは、伝送する応答メッセージに輻輳制御情報を挿入し、それにより、応答メッセージを受信するサーバが、クライアントにパケットを伝送する速度を下げる。その後輻輳が弱まると、クライアントノードは、応答パケットにおいて、クライアントにパケットを送信する速度を上げることを受信サーバに許可する輻輳制御情報を伝送する。さらに、本発明は、先行技術のシステムにあるような再送タイムアウト(RTO)を使用せずに、クライアントが再送の損失を検出可能な仕組みを提供し、これにより、損失パケットの早い回復を提供する。さらに、本発明の仕組みは、パケット損失に対する回復と、クライアントからサーバへの経路での再要求である。すなわち、本発明の仕組みの動作は、サーバが、クライアントにより送信された期限切れの再要求された輻輳制御メッセージに反応することを回避する。さらに、本発明の仕組みは、輻輳制御動作の減衰が、特定の輻輳制御アルゴリズムに調整されることを許容し、輻輳制御の周期の増加と減少のための異なる度合いの減衰を提供する。
【0011】
図2を参照すると、本発明を使用するシステム10は、サーバ12と、クライアントシステム14とを有し、ネットワーク16のアクセス回線を介して相互に通信する。サーバとクライアント間の通信接続は、無線通信リンクと、有線通信リンクと、有線通信リンクと無線通信リンクとの組み合わせのうちの少なくとも1つを含み得る。サーバ12とクライアント14の双方は、例えば、1ユーザ又は数ユーザに使用され得るパーソナルコンピュータ又はコンピュータワークステーションを含み得る。本発明の選択された実施例は、サーバとクライアントシステムで実行するソフトウェアである。コンピュータプログラム(又はコンピュータ制御ロジック)は、各システムのメインメモリに蓄積される。前記コンピュータプログラムは、実行されると、各システムが本願に論ずる本発明の機能を実行することを可能にする。図2に示すネットワークは、説明の目的で小さいが、実際には、ネットワークは非常に多くの異なるコンピュータシステムを含み得ることに注目すべきである。さらに、本発明はクライアント・サーバ環境で実行され得るが、クライアント・サーバ環境は必須ではないことに注目すべきである。
【0012】
本発明の実施例によると、輻輳制御動作中にクライアント12がサーバ14に伝送する2つの形式の制御パケットが存在する。第1の形式のメッセージは、一般的にNACKメッセージと呼ばれる再送要求を有する。第2の形式のメッセージは、輻輳制御(CC)と呼ばれ、サーバ12からクライアント14への経路上で実装される新たな伝送速度を有する。すなわち、新たな伝送速度r(t)を示す輻輳制御動作の出力が、クライアント14からサーバ12に伝送される。このとき、新たな伝送速度r(t)は、サーバのパケットのパケット損失率と、制御パケットのラウンドトリップタイム(RTT)とに基づいて計算される。測定されたRTT及び/又はパケット損失率に基づく、新たな伝送速度又は新たな送信側速度の計算は、技術的に周知であり、多様な方法で実行され得る。新たな伝送速度の正確な計算は、実装に依存し、本技術に熟練した人は、多くの異なる方法が存在することがわかる。例えば、伝送遅延とRTTに基づき、送信側速度を決定する技術は、1998年6月29日に出願された米国特許出願第6,115,357号に開示され、参照として本願に取り込まれる。実施例において、新たな伝送速度r(t)は、各NACKメッセージに挿入される。その他、損失パケットが存在しなければ、新たな伝送速度r(t)は、クライアント14からサーバ12への輻輳制御(CC)パケットを介して、サーバ12に送信される。
【0013】
データフローの速度は、一つには、伝送遅延とラウンドトリップタイム(RTT)とに基づく。図3は、前段落で説明した、パケットヘッダの構造を示したものであり、クライアント14とサーバ14との間の制御パケットを交換し、本発明の実施例に従って輻輳制御を実行するために使用される。限定するわけではないが、異なるサイズのフィールドや、異なる順番のフィールドの配置や、図3に示されていない追加フィールドを含む、示されたものから他のデータ構造がうまく使用することができることが、技術的に熟練した人に明白である。
【0014】
図3に示す通り、クライアント14によって送信される各パケットは、先行技術の方法には存在しない2つのフィールドを含む。第1のフィールドであるテストRTTシーケンスは、RTTを測定し、再送パケットが損失したかどうかを検出するために使用される。このために、サーバ12は、クライアント14から制御パケットを受信すると、クライアント14から直前に受信されたテストRTTシーケンスを、クライアント14に転送する各パケットにコピーする。そして、特定のテストRTTシーケンスを備える要求を送ることと、同じシーケンス番号を備えるサーバのパケットを受信することとの間の継続時間を測定することにより、クライアント14はRTTを計算する。例えば、図4(a)及び4(b)の記号(x,y)は、シーケンス番号がxでテストRTTシーケンスがyであるパケットを表す。図4に示す通り、パケット(100,2)が伝送中に損失すると、再送のため、NACKパケット(100,3)がサーバ12に伝送される。その後、要求されたパケット(100,3)が、サーバ12からクライアント14に再送され、それもまた損失する。それにもかかわらず、クライアントは、サーバがクライアントの要求を受信したことを示す次のソースパケット(103,3)を受信する。先入れ先出しのネットワークを仮定すれば、クライアントは、再送パケット(100,3)の損失を推測することができる。したがって、テストRTTシーケンスが(102,2)から(103,3)に変化することを監視することにより、クライアント14は、本発明に従ってラウンドトリップタイム(RTT)を生成し、パケット(103,3)を受信すると、パケット100の第2のNACKを送信することができる。すなわち、クライアント14がテストRTTシーケンスiを備えるNACKを送信し、その結果として、iより大きい又は同じテストRTTシーケンスを備えるサーバのパケットを受信し、この時点までに、クライアント14がシーケンスiを備えるNACKにおいて要求した再送を受信していない場合は、クライアント14は要求した再送パケットが損失し、NACKパケットを再度送信しなければならないことがわかる。ラウンドトリップタイム(RTT)は、サーバ12に対する要求(NACK又はCCのいずれか)を送信することと、サーバがクライアントの要求(すなわち、クライアントにより送信された最後のパケットより大きい又は同じテストRTTシーケンスを備えるパケット)を受信したことを示すサーバのパケットの受信との間の時間として定義される。したがって、CCとNACKパケットの双方は、本発明のRTTを測定する同じテストRTTシーケンスフィールドに依存し、RTTの測定を実現するために使用され得る。
【0015】
図4(b)を参照すると、本発明の実施例による図3に示すNACKメッセージのrate(t)フィールドの目的は、先行技術のシステムにおける再送タイムアウト(RTO)を待つことなく、クライアント14からサーバ12への経路上のCCパケットの損失を直ちに克服することである。CCパケットの中のrate(t)が送信され、損失すると、クライアント14は、RTTの全周期を待たずに、損失CCメッセージの直後に同じrate(t)を備えるNACKを送信し得る。損失パケットが存在し、NACKが正当化される場合に、前記状態が発生する。先行技術のシステムにおいては、クライアント14は、タイムアウトを待つ必要があり、一般的には、RTOは、実際のRTTの評価より保守的(かなり大きい)である。本発明において、CCが損失すると、クライアント14が全RTTを待ってCCメッセージを再送する場合よりかなり早く、次のNACKがサーバにrate(t)を供給する。ゆえに、本発明は、損失CCパケットのより早い回復を提供し、損失CCパケットを回復する場合に待つ不必要な再送タイムアウト(RTO)を削除する。新たなCC又はNACKパケットが送信される毎に、テストRTTシーケンスが1つ増すことに留意すべきである。
【0016】
図4bの上の図を参照すると、(r(t),3)を備えるCCメッセージが損失すると(r(t)は新たな速度で、3はテストRTTシーケンスである)、クライアント14は、タイムアウトの終了により、RTO時間単位後になって初めて、CCメッセージの損失を克服することができる。2つのCCメッセージの間にNACKメッセージ(100,4)が存在することに留意すべきである。先行技術においては、NACKメッセージは活用されていない。したがって、時間T1においてサーバ12が速度rate(t)を受信する。本発明においては(図の下部)、NACKは、損失パケットのシーケンス番号(すなわち100)と、次のRTTシーケンス(すなわち4)に加えて、速度r(t)を有する。したがって、サーバ12は、T1ではなくT0において、速度をより早く取得する。本発明がなければ、RTOの終了前に再送パケット(100,4)がクライアントに戻ると、クライアント14は、CCパケットの損失を推測し、タイマーが終了する前にCCパケットを再送するが、それでも(RTOのかわりに)RTTの全時間単位が浪費される。
【0017】
続いて図3を参照すると、CCとNACKパケットの双方に存在する第2のフィールドであるCA(制御動作)シーケンスの機能は、輻輳制御シーケンス番号をサーバ12に伝え、サーバ12が、RTTにつき1度以上、クライアント14により送信された輻輳制御メッセージに反応することを回避する。すなわち、CAシーケンスは、新たな送信側速度を適応させる前に、システムが所定の時間(又は最低輻輳制御周期)を待つ仕組みを提供する。本発明において、最低輻輳制御周期は、新たな送信側速度を特定する前の測定されたRTTの数を表し、1つのRTTの後に発生し得る。したがって、RTTの数は、サーバ12が新たな送信側速度を適応することを可能にする前に測定される。加えて、最低輻輳制御周期は、輻輳制御の増加段階と減少段階で異なり得る。このことを達するために、新たな輻輳制御動作がサーバ12に送信される必要がある場合にのみ、クライアント14はCAシーケンスを増加し、サーバ12は、サーバのローカルのCAシーケンス値より小さい又は同じCAシーケンスを備えるパケットにおいて受信された速度r(t)を無視しなければならない。加えて、本方法は、サーバ12が再要求された輻輳制御メッセージ(例えば、順序違いで到達する遅れたCC及びNACKメッセージ)に反応することを回避し、速度の変更を起動しない。
【0018】
図5は、クライアント14が輻輳制御動作の頻度(例えば、各周期の継続時間)を決定する動作ステップと、本発明の実施例によりCAシーケンスが増加される動作ステップとを示したものである。クライアント14が、サーバ12に通信接続し、サーバ12に制御パケットを伝送すると、サーバ12がメッセージパケットを伝送し得る速度を示す速度値で、クライアント14はサーバ12と通信する。その後の各メッセージパケットは、以前の確立された速度値を変更し得る輻輳制御情報を含み得る。まず、ステップ100において、クライアント14は、テストRTTシーケンスがiであるパケットをサーバから受信する。ステップ102において、クライアント14は、現在受信したテストRTTシーケンスiが以前に実行されたテストRTTシーケンス(最終動作シーケンス)より大きい又は同じであるかどうか:i≧最終動作シーケンス?を判断する。もし、そうであれば、最初のラウンドトリップタイム(RTT)が実行される。ステップ104において、RTT測定の周期が1つ増す:CC周期=CC周期+1。そしてステップ106において、RTT測定の現在の周期が、所定の増加基準周期(kI*RTTs)又は減少周期(kD*RTTs)を超えるかどうかが判断される。望ましい実施態様においては、kDの値は1であり、kIの値は2と4の間である。したがって、現在の周期がkD又はkIの周期を超えると、クライアント14は、CC又はNACKパケットのいずれかを使用して、送信速度を増加又は減少するようにサーバ12に指示する。ステップ104において更新された新たな周期が、ステップ108又はステップ110において、それぞれの所定の基準周期より大きい場合は、CAシーケンスが1つ増し、送信速度が新たな速度に変わる。それは、ステップ112において、RTTに基づいて計算される:CAシーケンス=CAシーケンス+1及びCC周期=0。RTTの値は常に変化するため、クライアント14は以前に測定されたRTTの値に依存できず、各CC及びNACK要求の時点で測定したRTTに依存しなければならない。すなわち、新たなCC動作が時間tにおいて開始し、クライアントのCAシーケンスの現在の値がjである場合、クライアント14は、時間tにおいてCAシーケンスの値をj+1に増し、(損失パケットが存在し、回復が必要な場合に)CC又はNACKのいずれかをサーバ12に送信する。現在の周期がkD又はkIの周期を超えない場合、すなわち、ステップ108において:CC周期≧kIステップ110において:CC周期≧kDの場合、ステップ114において、クライアントはテストRTTの値を更新する。CAシーケンス番号はステップ114の間に変化しないが、テストRTTシーケンス番号のみ変化する:テストRTTシーケンス=テストRTTシーケンス+1。すなわち、クライアント14が時間tにおいて送信側速度r(t)を変えると、増加が許可されるまで、例えば、時間t+kI*RTTにおいて次の増加動作が開始するまで、クライアントはkIラウンドトリップ遅延時間中、同じ速度を維持しなければならない。同様に、次の動作が減少の場合、r(t)が維持される必要のある最小時間は、kDラウンドトリップ遅延時間である。最後に、制御(すなわちNACK及びCC)メッセージの損失を克服するために、クライアント14は、再送タイムアウト(RTO)タイマーを開始し得る。伝送される各CC又はNACKパケット毎に、本発明はタイマーを維持する。クライアントが、最後に送信したパケットより大きい又は同じテストシーケンスを備えるサーバのパケットを取得する前に、タイマーが終了すると、対応するCC又はNACKパケットが再送される。
【0019】
図6は、再送タイムアウト(RTO)の仕組みを必要とせずに、クライアント14がパケット損失を克服し、サーバ12の送信側速度を調整することを可能にする動作ステップを示したものである。まず、サーバ12は、ネットワーク上でクライアントに少なくとも1つのソースパケットを送信する。図4に示す通り、サーバ12からクライアント14へのソースパケットが、エラー又は損失として伝送されると、再送のため、クライアント14は否定応答(NACK)パケットをサーバ12に伝送する。再送パケットが損失すると、ステップ200において、クライアントは、次のソースパケットのテストRTTシーケンスのフィールドから損失を推測する(図4の例を参照)。実施例では、リアルタイムセッションにおいてクライアント14は、ラウンドトリップ遅延時間を定期的に測定しなければならない。RTTは、NACK又はCCメッセージを送信することと、クライアントから対応する要求をサーバが受信したことを認める対応する再送又は最初のサーバパケットを受信することとの間の継続時間である。本発明において、各CCメッセージはRTTの測定を提供する。CCメッセージは非常に頻繁であるため、クライアントはRTTのサンプルを高頻度で取得し、ACKベースの輻輳制御の仕組みと同じ性能を達する。ステップ210において、新たな送信側速度を設定する前に、ラウンドトリップ遅延時間の追加のサンプルを取得することにより、クライアント14によってRTTが繰り返して測定される。ステップ230において、所定の周期の数に到達すると、クライアント14は、直前に計算されたRTTを伝送し、制御動作(CA)シーケンスを1つ増し、サーバ12に送信側速度を調整するように通知する。その後、更なるデータパケットがクライアント14によって受信されると、動作ステップ200−230が再度繰り返される。
【0020】
要約すると、本発明はNACKベースのプロトコルにおける輻輳制御の新たなフレームワークを提供し、著しい性能の改善(例えば、低い振動率や、パケット損失や再要求に対する回復や、タイムアウトのない損失の再送の検出や、各CC/NACKメッセージからのRTTの測定や、既存のNACKベースの輻輳制御方法に対してかなり少ない複製パケットを有するNACKベースの再送)を達する。デジタル通信リンクにおいて、輻輳制御メッセージを管理する前述の望ましい実施態様を有することにより、システムの特定の利点が達せられることが、技術的に熟練した人に明白である。前述は、本発明の例示的な実施例のみとして構成されたものである。したがって、技術的に熟練した人は、本発明の基本的な原理又は範囲を逸脱することなく、本発明と同様の機能を備える他の構成を容易に考えることが可能である。
【図面の簡単な説明】
【0021】
【図1(a)】TCP通信環境における代表的なデータフローを示したものである。
【図1(b)】UDP通信環境における代表的なデータフローを示したものである。
【図2】本発明によるシステムのブロック図を示したものである。
【図3】本発明によるサーバの端点におけるユーザ・データグラム・プロトコル(UDP)パケットのフォーマットを示したものである。
【図4(a)】本発明により、ラウンドトリップタイム(RTT)を測定するためのパケットの交換を示したタイムチャートである。
【図4(b)】本発明により、制御動作パケットの紛失を克服するためのパケットの交換を示した対照によるタイムチャートである。
【図5】本発明による輻輳制御の動作を示したフローチャートである。
【図6】再送タイムアウト(RTO)の仕組みを必要とせずに、クライアント14がパケット損失を克服し、サーバ12の送信側速度を調整することを可能にする動作ステップを示したものである。
Claims (20)
- パケット通信システムにおいて、送信側速度を調整し、サーバとクライアント間の輻輳制御に対応する方法であって、
(a)前記クライアントに複数のデータパケットを伝送するステップと、
(b)前記サーバから前記クライアントへの通信コネクションで、前記データパケットの1つが損失したかどうかを判断するステップと、
(c)前記データパケットの1つが損失した場合に、前記クライアントにより再送のための応答パケットを伝送するステップと、
(d)前記サーバに前記応答パケットを送信することと、前記サーバから前記損失パケットの対応する再送を受信することとの間の遅延時間に対応するラウンドトリップタイム(RTT)に基づいて、新たな送信側速度を計算するステップと、
(e)前記通信コネクションの間に、所定の数の前記RTTがその後検出されると、前記サーバに新たな送信側速度を伝送するステップと
を有する方法。 - 請求項1に記載の方法であって、
前記RTTが、
前記データパケットの1つが損失した場合に、RTTシーケンス番号を備える第1のパケットを前記サーバに伝送するステップと、
前記サーバからの前記第1のパケットに応じて、前記損失パケットを有する第2のパケットを受信するステップと、
前記第1のパケットと前記第2のパケットの間の遅延に基づいて、前記ラウンドトリップタイム(RTT)を計算するステップと
に従って判断される方法。 - 請求項1に記載の方法であって、
前記サーバと前記クライアントの間の前記通信コネクションが、無線通信リンクと、有線通信リンクと、有線通信リンクと無線通信リンクとの組み合わせのうちの少なくとも1つを有する方法。 - 請求項1に記載の方法であって、
前記クライアントにより、複数の前記データパケットに応じた多数の肯定応答メッセージに、前記サーバが後のデータパケットを前記クライアントに伝送する伝送速度を示す新たな送信側速度を含めるステップと、
前記サーバにより、前記肯定応答メッセージに応じて、前記サーバが後のデータパケットを前記クライアントに送信する新たな送信側速度を調整するステップと
を更に有する方法。 - 請求項1に記載の方法であって、
前記応答パケットのフィールドに、RTTシーケンス番号と前記新たな送信側速度とを含めるステップと、
前記サーバから受信した前記RTTシーケンス番号が順序違いである場合に、前記クライアントにより、前記データパケットの1つが損失したことを判断するステップと
を更に有する方法。 - 請求項1に記載の方法であって、
前記応答パケットのフィールドに、前記サーバへの前記新たな送信側速度の再送を示す制御動作(CA)シーケンス番号を含めるステップと、
前記所定の数のRTTが後に検出されると、前記サーバにより、前記送信側速度を調整するステップと
を更に有する方法。 - 請求項1に記載の方法であって、
前記応答パケットが、否定応答(NACK)パケットと、前記サーバに対する前記新たな送信側速度の再送を示す制御動作(CC)パケットとのうちの1つである方法。 - 請求項1に記載の方法であって、
前記新たな送信側速度の前記計算が、パケット損失率に基づく方法。 - 通信リンクにおいて、サーバとクライアント間で複数のメッセージを交換し、その間の輻輳制御に対応する方法であって、
(a)前記サーバから前記クライアントに複数のデータパケットを伝送するステップと、
(b)前記バーストパケットの1つが損失した場合に、前記クライアントにより、再送のための否定応答(NACK)パケットを伝送するステップと、
(c)前記クライアントにより、前記NACKパケットを前記サーバに送信することと、前記損失パケットの対応する再送を前記サーバから受信することとの間の遅延時間に対応するラウンドトリップタイム(RTTi)を計算するステップと、
(d)前記サーバが後のデータパケットを前記クライアントに伝送し得る伝送速度を示す前記計算されたRTTに基づいて、新たな送信側速度を判断するステップと、
(e)前記新たな送信側速度を有する複数の前記データパケットに応じて、複数の応答パケットを継続的に伝送するステップと、
(f)前記RTTが、所定の閾値よりも多いと計算された場合に、前記サーバにより、前新たな送信側速度を調整するステップと
を有する方法。 - 請求項9に記載の方法であって、
前記RTTが、
前記データパケットの1つが損失した場合に、RTTシーケンス番号を備える第1のパケットを前記サーバに伝送するステップと、
前記サーバからの前記第1のパケットに応じて、前記損失パケットを有する第2のパケットを受信するステップと、
前記第1のパケットと前記第2のパケットの間の遅延に基づいて、前記RTTを計算するステップと
に従って判断される方法。 - 請求項9に記載の方法であって、
前記サーバと前記クライアントの間の前記通信コネクションが、無線通信リンクと、有線通信リンクと、有線通信リンクと無線通信リンクとの組み合わせのうちの少なくとも1つを有する方法。 - 請求項9に記載の方法であって、
前記クライアントにより、複数の前記データパケットに応じた複数の肯定応答メッセージに、前記サーバが後のデータパケットを前記クライアントに伝送する伝送速度を示す新たな送信側速度を含めるステップと、
前記サーバにより、前記肯定応答メッセージに応じて、前記サーバが後のデータパケットを前記クライアントに送信する新たな送信側速度を調整するステップと
を更に有する方法。 - 請求項9に記載の方法であって、
前記応答パケットのフィールドに、RTTシーケンス番号と前記新たな送信側速度とを含めるステップと、
前記サーバから受信した前記RTTシーケンス番号が順序違いである場合に、前記クライアントにより、前記データパケットの1つが損失したことを判断するステップと
を更に有する方法。 - 請求項9に記載の方法であって、
前記応答パケットのフィールドに、前記サーバへの前記新たな送信側速度の再送を示す制御動作(CA)シーケンス番号を含めるステップと、
前記所定の数のRTTが後に検出されると、前記サーバにより、前記送信側速度を調整するステップと
を更に有する方法。 - 請求項9に記載の方法であって、
前記応答パケットが、否定応答(NACK)パケットと、前記サーバに対する前記新たな送信側速度の再送を示す制御動作(CC)パケットとのうちの1つである方法。 - パケット通信システムにおいて、送信側速度を調整し、サーバとクライアント間の輻輳制御に対応するシステムであって、
前記クライアントに複数のデータパケットを伝送する手段と、
伝送中に前記データパケットの1つが損失したかどうかを判断する手段と、
何らかの損失フレームパケットが再送される要求を行う手段と、
前記サーバに前記損失フレームの再送を要求することと、前記サーバから前記損失フレームの対応する再送を受信することとの間の遅延時間に対応するラウンドトリップタイム(RTT)に基づいて、新たな送信側速度を計算する手段と、
前記RTTが所定の閾値より大きいと計算されると、前記サーバに新たな送信側速度を通知する手段と
を有するシステム。 - 請求項16に記載のシステムであって、
前記第1のパケットが、前記サーバが後のデータパケットを前記クライアントに伝送し得る伝送速度を示す前記新たな送信側速度とRTTシーケンス番号とを有し、
前記サーバから受信した前記RTTシーケンス番号が順序違いである場合に、前記データパケットの1つが損失したと判断されるシステム。 - 請求項16に記載の方法であって、
前記第1のパケットが、前記サーバへの前記新たな送信側速度の再送を示す制御動作(CA)シーケンス番号を有する方法。 - 請求項16に記載の方法であって、
前記サーバが前記クライアントに後のデータを送信する前記新たな送信側速度を調整する手段を更に有する方法。 - 通信リンクにおいて、サーバとクライアント間で複数のメッセージを交換し、その間の輻輳制御に対応するシステムであって、
前記サーバから前記クライアントに複数のデータパケットを伝送する手段と、
前記バーストパケットの1つが損失した場合に、前記クライアントにより、再送のための否定応答(NACK)パケットを伝送する手段と、
前記クライアントにより、前記NACKパケットを前記サーバに送信することと、前記損失パケットの対応する再送を前記サーバから受信することとの間の遅延時間に対応するラウンドトリップタイム(RTTi)を計算する手段と、
前記サーバが後のデータパケットを前記クライアントに伝送し得る伝送速度を示す前記計算されたRTTに基づいて、新たな送信側速度を判断する手段と、
前記新たな送信側速度を有する複数の前記データパケットに応じて、複数の応答パケットを継続的に伝送する手段と、
前記RTTが、所定の閾値よりも多いと計算された場合に、前記サーバにより、前新たな送信側速度を調整する手段と
を有するシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/915,678 US20030023746A1 (en) | 2001-07-26 | 2001-07-26 | Method for reliable and efficient support of congestion control in nack-based protocols |
PCT/IB2002/002620 WO2003010931A1 (en) | 2001-07-26 | 2002-07-02 | Method for reliable and efficient support of congestion control in nack-based protocols |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004537218A true JP2004537218A (ja) | 2004-12-09 |
Family
ID=25436113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003516188A Withdrawn JP2004537218A (ja) | 2001-07-26 | 2002-07-02 | Nackベースのプロトコルにおける輻輳制御の信頼性のある効率的な対応方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20030023746A1 (ja) |
EP (1) | EP1415444A1 (ja) |
JP (1) | JP2004537218A (ja) |
KR (1) | KR20040015009A (ja) |
CN (1) | CN1533656A (ja) |
WO (1) | WO2003010931A1 (ja) |
Families Citing this family (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6883168B1 (en) * | 2000-06-21 | 2005-04-19 | Microsoft Corporation | Methods, systems, architectures and data structures for delivering software via a network |
US7657473B1 (en) * | 2002-05-07 | 2010-02-02 | Diebold Self-Service Systems Division Of Diebold, Incorported | Automated banking machine that operates responsive to data bearing records |
US7907613B1 (en) * | 2002-05-09 | 2011-03-15 | Avaya Inc. | Method and apparatus for measuring RTT in a cumulative acknowledgment transmission protocol |
US7212837B1 (en) | 2002-05-24 | 2007-05-01 | Airespace, Inc. | Method and system for hierarchical processing of protocol information in a wireless LAN |
US7593356B1 (en) | 2002-06-25 | 2009-09-22 | Cisco Systems, Inc. | Method and system for dynamically assigning channels across multiple access elements in a wireless LAN |
US7327697B1 (en) | 2002-06-25 | 2008-02-05 | Airespace, Inc. | Method and system for dynamically assigning channels across multiple radios in a wireless LAN |
US8046471B2 (en) * | 2002-09-19 | 2011-10-25 | Hewlett-Packard Development Company, L.P. | Regressive transport message delivery system and method |
US7542471B2 (en) * | 2002-10-30 | 2009-06-02 | Citrix Systems, Inc. | Method of determining path maximum transmission unit |
US8270423B2 (en) | 2003-07-29 | 2012-09-18 | Citrix Systems, Inc. | Systems and methods of using packet boundaries for reduction in timeout prevention |
US7616638B2 (en) | 2003-07-29 | 2009-11-10 | Orbital Data Corporation | Wavefront detection and disambiguation of acknowledgments |
US8233392B2 (en) * | 2003-07-29 | 2012-07-31 | Citrix Systems, Inc. | Transaction boundary detection for reduction in timeout penalties |
US7630305B2 (en) * | 2003-07-29 | 2009-12-08 | Orbital Data Corporation | TCP selective acknowledgements for communicating delivered and missed data packets |
US7539994B2 (en) * | 2003-01-03 | 2009-05-26 | Intel Corporation | Dynamic performance and resource management in a processing system |
AU2003219064A1 (en) | 2003-03-17 | 2004-10-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for obtaining information about a transmission capability |
US7508801B1 (en) | 2003-03-21 | 2009-03-24 | Cisco Systems, Inc. | Light-weight access point protocol |
US7313113B1 (en) * | 2003-04-04 | 2007-12-25 | Airespace, Inc. | Dynamic transmit power configuration system for wireless network environments |
US7342906B1 (en) | 2003-04-04 | 2008-03-11 | Airespace, Inc. | Distributed wireless network security system |
US7301926B1 (en) | 2003-04-04 | 2007-11-27 | Airespace, Inc. | Automatic coverage hole detection in computer network environments |
US7346338B1 (en) | 2003-04-04 | 2008-03-18 | Airespace, Inc. | Wireless network system including integrated rogue access point detection |
US7340247B1 (en) | 2003-05-29 | 2008-03-04 | Airespace, Inc. | Wireless network infrastructure including wireless discovery and communication mechanism |
US7643442B1 (en) | 2003-06-30 | 2010-01-05 | Cisco Systems, Inc. | Dynamic QoS configuration based on transparent processing of session initiation messages |
US7453840B1 (en) | 2003-06-30 | 2008-11-18 | Cisco Systems, Inc. | Containment of rogue systems in wireless network environments |
US7539169B1 (en) | 2003-06-30 | 2009-05-26 | Cisco Systems, Inc. | Directed association mechanism in wireless network environments |
EP1647105B1 (en) * | 2003-07-11 | 2012-11-21 | Philips Intellectual Property & Standards GmbH | Transmission of data packets from a transmitter to a receiver |
US7698453B2 (en) | 2003-07-29 | 2010-04-13 | Oribital Data Corporation | Early generation of acknowledgements for flow control |
US8432800B2 (en) * | 2003-07-29 | 2013-04-30 | Citrix Systems, Inc. | Systems and methods for stochastic-based quality of service |
US7656799B2 (en) * | 2003-07-29 | 2010-02-02 | Citrix Systems, Inc. | Flow control system architecture |
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 |
JP4362761B2 (ja) * | 2003-10-29 | 2009-11-11 | ソニー株式会社 | 送信装置および方法、記録媒体、並びにプログラム |
US7310682B2 (en) * | 2004-01-08 | 2007-12-18 | Lsi Corporation | Systems and methods for improving network performance |
US7205938B2 (en) * | 2004-03-05 | 2007-04-17 | Airespace, Inc. | Wireless node location mechanism responsive to observed propagation characteristics of wireless network infrastructure signals |
US8930569B2 (en) * | 2004-05-05 | 2015-01-06 | Qualcomm Incorporated | Methods and apparatus for optimum file transfers in a time-varying network emvironment |
US7542435B2 (en) * | 2004-05-12 | 2009-06-02 | Nokia Corporation | Buffer level signaling for rate adaptation in multimedia streaming |
US7433696B2 (en) * | 2004-05-18 | 2008-10-07 | Cisco Systems, Inc. | Wireless node location mechanism featuring definition of search region to optimize location computation |
GB2414891B (en) * | 2004-06-04 | 2007-11-07 | Marconi Comm Ltd | Communications system |
GB2417400B (en) * | 2004-08-18 | 2008-12-03 | Wecomm Ltd | Network data transmission |
US7286835B1 (en) * | 2004-09-10 | 2007-10-23 | Airespace, Inc. | Enhanced wireless node location using differential signal strength metric |
US8259565B2 (en) * | 2004-09-16 | 2012-09-04 | Qualcomm Inc. | Call setup in a video telephony network |
US20060062223A1 (en) * | 2004-09-17 | 2006-03-23 | Nokia Corporation | Delay-reduced stall avoidance mechanism for reordering a transport block |
US7516174B1 (en) | 2004-11-02 | 2009-04-07 | Cisco Systems, Inc. | Wireless network security mechanism including reverse network address translation |
US7457262B1 (en) | 2004-11-05 | 2008-11-25 | Cisco Systems, Inc. | Graphical display of status information in a wireless network management system |
WO2006081454A2 (en) | 2005-01-26 | 2006-08-03 | Internet Broadcasting Corporation | Layered multicast and fair bandwidth allocation and packet prioritization |
US7805140B2 (en) * | 2005-02-18 | 2010-09-28 | Cisco Technology, Inc. | Pre-emptive roaming mechanism allowing for enhanced QoS in wireless network environments |
US7596376B2 (en) * | 2005-02-18 | 2009-09-29 | Cisco Technology, Inc. | Methods, apparatuses and systems facilitating client handoffs in wireless network systems |
US7339915B2 (en) * | 2005-10-11 | 2008-03-04 | Cisco Technology, Inc. | Virtual LAN override in a multiple BSSID mode of operation |
US7924884B2 (en) * | 2005-12-20 | 2011-04-12 | Citrix Systems, Inc. | Performance logging using relative differentials and skip recording |
US7821986B2 (en) * | 2006-05-31 | 2010-10-26 | Cisco Technology, Inc. | WLAN infrastructure provided directions and roaming |
US7499718B2 (en) * | 2006-08-01 | 2009-03-03 | Cisco Technology, Inc. | Enhanced coverage hole detection in wireless networks |
CN101513075B (zh) * | 2006-08-29 | 2012-04-04 | 汤姆逊许可证公司 | 修复具有丢失分组的容器文件中包括的样本的方法和装置 |
US8189474B2 (en) * | 2006-09-27 | 2012-05-29 | Infosys Limited | Dynamic stack-based networks for resource constrained devices |
US7596461B2 (en) * | 2007-07-06 | 2009-09-29 | Cisco Technology, Inc. | Measurement of air quality in wireless networks |
US8904027B2 (en) | 2010-06-30 | 2014-12-02 | Cable Television Laboratories, Inc. | Adaptive bit rate for data transmission |
CN102694713B (zh) * | 2011-03-21 | 2015-08-05 | 鸿富锦精密工业(深圳)有限公司 | 网络通信多通路选择方法及*** |
US9215184B2 (en) * | 2011-10-17 | 2015-12-15 | Hewlett-Packard Development Company, L.P. | Methods of and apparatus for managing non-congestion-controlled message traffic in a datacenter |
CN103067791A (zh) * | 2012-12-11 | 2013-04-24 | 深圳市梦网科技发展有限公司 | 一种网络动态适应监控视频传输方法 |
US9432458B2 (en) * | 2013-01-09 | 2016-08-30 | Dell Products, Lp | System and method for enhancing server media throughput in mismatched networks |
JP6051891B2 (ja) * | 2013-01-31 | 2016-12-27 | 富士ゼロックス株式会社 | 通信状況測定装置及びプログラム |
JP5928370B2 (ja) * | 2013-02-22 | 2016-06-01 | 富士ゼロックス株式会社 | 通信情報計測装置及びプログラム |
US9209947B1 (en) * | 2014-01-21 | 2015-12-08 | Saratoga Data Systems, Inc. | Fault-tolerant data transmission system for networks subject to jamming conditions |
US20160226628A1 (en) * | 2015-01-30 | 2016-08-04 | Huawei Technologies Co., Ltd. | System and method for data retransmission |
KR101671429B1 (ko) | 2016-03-24 | 2016-11-01 | 롯데케미칼 주식회사 | 벤조산의 제조 방법 |
KR101642960B1 (ko) | 2016-04-15 | 2016-07-26 | 롯데케미칼 주식회사 | 벤조산의 제조 방법 |
CN108574563A (zh) * | 2017-03-14 | 2018-09-25 | 深圳壹秘科技有限公司 | 一种在wifi环境中传输文件的方法及其装置 |
CN109217978A (zh) * | 2017-06-30 | 2019-01-15 | 华为技术有限公司 | 数据传输的方法、装置和*** |
CN111132098B (zh) * | 2018-10-31 | 2023-11-28 | 阿尔卑斯通信器件技术(上海)有限公司 | 通信器、中央通信装置以及蓝牙通信*** |
CN113132062A (zh) * | 2019-12-31 | 2021-07-16 | 华为技术有限公司 | 报文传输方法及电子设备 |
US11811877B2 (en) * | 2021-05-13 | 2023-11-07 | Agora Lab, Inc. | Universal transport framework for heterogeneous data streams |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990072122A (ko) * | 1995-12-12 | 1999-09-27 | 바자니 크레이그 에스 | 실시간 영상 전송 방법 및 장치 |
US5768527A (en) * | 1996-04-23 | 1998-06-16 | Motorola, Inc. | Device, system and method of real-time multimedia streaming |
US5936940A (en) * | 1996-08-22 | 1999-08-10 | International Business Machines Corporation | Adaptive rate-based congestion control in packet networks |
JP3683051B2 (ja) * | 1996-10-18 | 2005-08-17 | 三菱電機株式会社 | データ送信方式 |
JP3525656B2 (ja) * | 1996-12-06 | 2004-05-10 | 株式会社日立製作所 | パケット交換機、および輻輳通知方式 |
US5918002A (en) * | 1997-03-14 | 1999-06-29 | Microsoft Corporation | Selective retransmission for efficient and reliable streaming of multimedia packets in a computer network |
KR100302263B1 (ko) * | 1997-03-25 | 2001-09-22 | 모리시타 요이찌 | 스트림 데이터 전송방법 및 시스템 |
US6137779A (en) * | 1997-05-22 | 2000-10-24 | Integrated Device Technology, Inc. | Transmission rate calculation scheme using table-lookup |
US6047322A (en) * | 1997-05-27 | 2000-04-04 | Ukiah Software, Inc. | Method and apparatus for quality of service management |
US6075769A (en) * | 1997-11-26 | 2000-06-13 | Cisco Systems, Inc. | Method and apparatus for network flow control |
US6421387B1 (en) * | 1998-05-15 | 2002-07-16 | North Carolina State University | Methods and systems for forward error correction based loss recovery for interactive video transmission |
US6505253B1 (en) * | 1998-06-30 | 2003-01-07 | Sun Microsystems | Multiple ACK windows providing congestion control in reliable multicast protocol |
US6587875B1 (en) * | 1999-04-30 | 2003-07-01 | Microsoft Corporation | Network protocol and associated methods for optimizing use of available bandwidth |
US6560243B1 (en) * | 1999-04-30 | 2003-05-06 | Hewlett-Packard Development Company | System and method for receiver based allocation of network bandwidth |
US6628610B1 (en) * | 1999-06-28 | 2003-09-30 | Cisco Technology, Inc. | Methods and apparatus for managing a flow of packets using change and reply signals |
US7035214B1 (en) * | 1999-09-28 | 2006-04-25 | Nortel Networks Limited | System and method for a negative acknowledgement-based transmission control protocol |
US6882637B1 (en) * | 1999-10-14 | 2005-04-19 | Nokia Networks Oy | Method and system for transmitting and receiving packets |
US6643259B1 (en) * | 1999-11-12 | 2003-11-04 | 3Com Corporation | Method for optimizing data transfer in a data network |
US6629285B1 (en) * | 2000-01-04 | 2003-09-30 | Nokia Corporation | Data transmission |
US7058723B2 (en) * | 2000-03-14 | 2006-06-06 | Adaptec, Inc. | Congestion control for internet protocol storage |
US7305486B2 (en) * | 2000-06-30 | 2007-12-04 | Kanad Ghose | System and method for fast, reliable byte stream transport |
-
2001
- 2001-07-26 US US09/915,678 patent/US20030023746A1/en not_active Abandoned
-
2002
- 2002-07-02 CN CNA02814600XA patent/CN1533656A/zh active Pending
- 2002-07-02 EP EP02741065A patent/EP1415444A1/en not_active Withdrawn
- 2002-07-02 KR KR10-2003-7004092A patent/KR20040015009A/ko not_active Application Discontinuation
- 2002-07-02 JP JP2003516188A patent/JP2004537218A/ja not_active Withdrawn
- 2002-07-02 WO PCT/IB2002/002620 patent/WO2003010931A1/en not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
CN1533656A (zh) | 2004-09-29 |
KR20040015009A (ko) | 2004-02-18 |
EP1415444A1 (en) | 2004-05-06 |
US20030023746A1 (en) | 2003-01-30 |
WO2003010931A1 (en) | 2003-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004537218A (ja) | Nackベースのプロトコルにおける輻輳制御の信頼性のある効率的な対応方法 | |
JP4016387B2 (ja) | データフロー制御方法 | |
US6907460B2 (en) | Method for efficient retransmission timeout estimation in NACK-based protocols | |
JP4283589B2 (ja) | 通信装置、通信制御方法及びプログラム | |
US6115357A (en) | Method for pacing data flow in a packet-based network | |
Bohacek et al. | A new TCP for persistent packet reordering | |
US5802106A (en) | Method for rapid data rate detection in a packet communication environment without data rate supervision | |
US7496036B2 (en) | Method and apparatus for determining client-perceived server response time | |
US7925775B2 (en) | TCP congestion control based on bandwidth estimation techniques | |
EP1568180B1 (en) | A method for enhancing transmission quality of streaming media | |
JP4654926B2 (ja) | 通信システム、通信装置及びそれらに用いる輻輳制御方法並びにそのプログラム | |
WO2002019654A2 (en) | Method for improving tcp performance over wireless links | |
EP1787419A1 (en) | Signalling a state of a transmission link via a transport control protocol | |
WO2004015955A1 (en) | Method, system and apparatuses for data communication employing interworking between upper and lower layer protocols | |
JP2006506866A (ja) | データユニット送信機及びこの送信機の制御方法 | |
EP1762052A1 (en) | Network feedback method and device | |
EP1435704B1 (en) | Transmission control method and system | |
JP7067544B2 (ja) | 通信システム、通信装置、方法およびプログラム | |
Henderson | TCP performance over satellite channels | |
JP2004140596A (ja) | Tcp上のデータ転送における品質を推定する方法およびシステム | |
TWI308012B (en) | Method for adaptive estimation of retransmission timeout in wireless communication systems | |
Garcia-Luna-Aceves et al. | A Connection-Free Reliable Transport Protocol | |
Wan et al. | Research on tcp optimization strategy of application delivery network | |
JP2004222271A (ja) | 伝送制御方法、通信装置、通信システム及びプログラム | |
He et al. | TCP/IP header compression scheme over lossy links |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050629 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20060803 |