JP4448341B2 - 帯域制御プログラム、方法およびエンド・システム - Google Patents

帯域制御プログラム、方法およびエンド・システム Download PDF

Info

Publication number
JP4448341B2
JP4448341B2 JP2004018692A JP2004018692A JP4448341B2 JP 4448341 B2 JP4448341 B2 JP 4448341B2 JP 2004018692 A JP2004018692 A JP 2004018692A JP 2004018692 A JP2004018692 A JP 2004018692A JP 4448341 B2 JP4448341 B2 JP 4448341B2
Authority
JP
Japan
Prior art keywords
resource
congestion
end system
indication
receiving
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 - Fee Related
Application number
JP2004018692A
Other languages
English (en)
Other versions
JP2004236316A (ja
Inventor
ビー.キー ピーター
エス.グナワルデナ ディナン
マッソリー ローレント
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2004236316A publication Critical patent/JP2004236316A/ja
Application granted granted Critical
Publication of JP4448341B2 publication Critical patent/JP4448341B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/31Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明は、一般的にはネットワーク通信に関し、詳細にはネットワーク通信における使用帯域幅の制御に関する。
ビデオやオーディオプレーヤといったストリーミングのような、現在のマルチメディア・アプリケーションの多くは、元々は接続されたローカルの記憶装置(たとえば、CDまたはハードディスク)から、または高品質低遅延のネットワーク(たとえば、負荷が僅かなローカルエリアネットワークまたはLAN)上で実行するように設計されている。
しかし、WAN(wide-area network)のような低品質のネットワーク上で実行する場合には、ネットワークの輻輳から生じるパケットロスまたは遅延が、マルチメディア・アプリケーションの十分なリアルタイム実行を阻害し、しばしば粗末なユーザ・エクスペリエンス(user experience)を提供し、しばしばサービス品質(QoS:Quality of Service)が悪いと評される。たとえば、ビデオフレームが損失し、またはビデオとオーディオの同期が崩れ、品質の悪いマルチメディア性能の結果となる。
これらの問題を解決するために、現在のマルチメディア・アプリケーションの一部は、ネットワークの状態に応じた送信レートに適合するように開発されている。一つの解決策は、パケットロスの検出に応答して送信レートを変更する。特に、マルチメディアのストリーミングのようなリアルタイム・アプリケーションについては、リアルタイム・プロトコル(RTP:Real Time Protocol)が、リアルタイム制御プロトコル(RTCP:Real Time Control Protocol)とともに指定され、パケットロス検出に基づいてQosを監視し関連する情報を運ぶ。他の解決策は、データ損失を防止または低減を期待してネットワーク装置内にバッファされるパケットの数を増加させる。これらのバッファ機構と共に誤り訂正(FEC:Forward Error Correction)もまた採用されている。さらに他の解決策では、「ボトルネック」となるリンクの見込帯域幅を推定し、それにしたがって送信レートの固定的な設定を試みる。
しかしながら、これらの既存の解決策では不十分である。なぜなら、最初の解決策は、パケットロスの検出を前提とするため、最初のパケットロスが発生してから、問題の解決を試みるまでに時間がかかり、粗末なユーザ・エクスペリエンスを避けることができない。バッファを増やす2番目の解決策は、データロスを、大きな送信キューに起因して増加する遅延に置換する。さらに、2番目の解決策は、音響・映像関連の携帯電話や腕時計など制限されたバッファメモリを備えた装置に対して問題となる。3番目の解決策は、本質的に(無線リンクのような)可変帯域幅のボトルネックまたは複数のアプリケーションがボトルネックの利用可能な帯域幅を共有することによって発生する輻輳の動的変化を解決しない。
さらに、詳細には受動的な帯域幅制御であって、リアルタイム通信の初期輻輳に応答し、マルチメディア・アプリケーション内に一般的に採用されている帯域幅制御を扱う既存の解決策は存在しない。
本発明の実施形態は、変動する遅延に敏感なマルチメディア(elastic-delay-sensitive multimedia)に適したフィードバックを用いて、利用可能なネットワーク帯域幅についての重み付け公平割当(weighted fair-share)を追跡することによって、前述の問題を解決する。システムが、ネットワークの初期輻輳を検出し送信側へ情報をフィードバックすることで、送信側がネットワーク内の初期輻輳に適応する。初期輻輳は、まだ起こっていない(たとえば、まだパケットロスまたは許容外の遅延に至っていない)輻輳を対象とする。この情報に基づき、送信レートは適切に変更される。制御アルゴリズムは、重みパラメータ、利得パラメータおよび輻輳レポートからの情報に基づいて変更後の送信レートを計算する。変更後の送信レートは、送信側の利用可能な帯域幅の使用を改善し、受信側の許容サービス品質を守る。
本発明の実施において、製品と同種物(articles)がコンピュータプログラムとして提供される。コンピュータプログラムの一実施形態は、コンピュータによって読み取り可能なコンピュータプログラム記憶媒体を含み、中間装置によって検出された資源の初期輻輳の指示に基づき、利用可能資源に対する資源利用者による資源要求を調整するコンピュータプログラムが符号化されている。コンピュータプログラムの別の実施形態は、コンピュータシステムによって搬送波中に具現化されたコンピュータデータ信号中に提供されることができ、利用可能資源に対する資源利用者による資源要求を調整するコンピュータプログラムが符号化されている。
コンピュータプログラムにより、中間装置によって検出された資源の初期輻輳の指示に基づいて、利用可能資源に対する資源利用者による資源要求を調整するためのコンピュータ処理をコンピュータシステム上で実行する。重みパラメータは、資源利用者と関連付けられた利用可能資源の公平な割り当ての関係を決定する。資源の初期輻輳の指示は受信される。利得パラメータは、中間装置を通じて資源利用者によって送信される資源要求の調整の大きさに関係し、資源の初期輻輳の指示に基づいて決定される。新たな資源要求は、重みパラメータおよび利得パラメータに基づいて計算され、利用可能資源の資源消費者による使用が調整される。
別の実施形態では、利用可能資源に対する資源消費者による資源要求の調整方法は、中間装置によって検出された資源の初期輻輳の指示に基づいて提供される。重みパラメータは、資源消費者と関連付けられた利用可能資源の公平な割り当ての関係を決定する。資源の初期輻輳の指示は受信される。利得パラメータは、中間装置を通じて資源利用者によって送信される資源要求内の調整の大きさに関係し、資源の初期輻輳の指示に基づいて決定される。新たな資源要求は、重みパラメータおよび利得パラメータに基づいて計算され、利用可能資源の資源消費者による使用が調整される。
さらに別の実施形態は、資源の初期輻輳の指示をネットワーク内の送信側へ提供する方法に関する。資源の初期輻輳の指示は、ネットワーク内の中間装置によって提供されたECNマーキング情報(Explicit Congestion Notification)を基盤とする。中間装置から受信したECNマーキング情報は追跡される。ECNマーキング情報を複号し、追跡動作に反応する、資源の初期輻輳を示す輻輳レポートを生成する。輻輳レポートは、送信側へ通信される。
別のコンピュータプログラムの実施形態は、ネットワーク内の送信側へ資源の初期輻輳の指示を提供する。資源の初期輻輳の指示は、ネットワーク内の中間装置によって提供されたECNマーキング情報に基づく。中間装置から受信したECNマーキング情報は追跡される。ECNマーキング情報を復号し、追跡動作に応答して、資源の初期輻輳を示す輻輳レポートを生成する。輻輳レポートは、送信側へ通信される。
さらに別の実施形態では、エンドシステム(end system)は、受動帯域幅制御(reactive bandwidth control)を備え、中間装置によって検出された資源の初期輻輳の情報に基づいて、利用可能資源に対する資源消費者による資源要求を調整する。ネットワークトランスポート層モジュールは、資源の初期輻輳の指示を受信する。WTP(weight-per-mark)モジュールは、資源利用者と関連付けられた利用可能資源の公平割当に関係する重みパラメータを決定する。WTPモジュールはまた、資源の初期輻輳の指示に基づいて、中間装置を通じて資源利用者によって送信された資源要求内の調整の大きさに関係する利得パラメータを決定する。WTPモジュールはさらに、重みパラメータおよび利得パラメータに基づいて新たな資源要求を計算し、利用可能資源の資源消費者による使用を調整する。
さらに別の実施形態では、エンド・システムは、ネットワーク内の送信側へ資源の初期輻輳の指示を提供する。資源の初期輻輳の指示は、ネットワーク内の中間装置によって提供されたECNマーキング情報に基づく。マーキングフィードバックコーデックは、ECNマーキング情報を復号し、資源の初期輻輳を示す輻輳レポートを生成する。マーキング追跡モジュールは、中間装置から受信したECNマーキング情報を追跡し、ECNマーキング情報をマーキングフィードバックコーデックへ導く。
本発明を特徴づけるこれらおよび様々な他の機能および他の利点は、続く詳細な説明および対応する図面を精読することにより明らかにされる。
ネットワーク上のリアルタイム通信は調整され、初期輻輳状態におけるQoSを改善する。システムは、ネットワークの初期輻輳を検出し、初期輻輳に関する情報を送信側へフィードバックする。この情報に基づき、送信レートは、制御アルゴリズムを用いて適切に変更される。制御アルゴリズムは、重みパラメータ、利得パラメータおよび輻輳レポートからの情報に基づいて変更後の送信レートを計算する。変更後の送信レートは、送信側の利用可能な帯域幅の使用を改善し、受信側の許容サービス品質を守る。受動帯域幅制御は、これらに限定するものではないが、無線ネットワークにおける送信電力の制御、分散コンピューティングアプリケーションの処理要求の調整、およびストレージアプリケーションにおける記憶要求の調整を含む、種々のシナリオに適用し得ると理解されるべきである。一般的に、汎用資源の使用を、資源の初期輻輳(たとえば、過負荷)の指示に応じて制御することができる。
多くのネットワーク通信を、「リアルタイム」または「非リアルタイム」通信に分類することができる。たとえば、HTML(Hyper Text Markup Language)文書を転送するHTTP(Hyper Text Transfer Protocol)レスポンスのように、ファイル転送は非リアルタイム通信と考えることができる。TCP(Transmission Control Protocol)は、多くの非リアルタイム・アプリケーションにおいて、通信を十分に制御できる。TCPは、最も一般的なトランスポート層のプロトコルであり、その下の層に位置しているIP(Internet Protocol)上に配置されている。それにより、TCP/IPとは、「Transmission Control Protocol over Internet Protocol」を意味する。TCPはコネクション型で、IPパケット交換ネットワーク上で信頼性のある通信を提供する。ネットワークの輻輳または他の通信イベントによってパケットロスが発生する場合は、TCPはパケットロスを検出し、パケットロスについての情報をフィードバックし、送信側が損失したパケットを所期の受信側へ再送信するためのアルゴリズムを指定する。この方法で、TCPは、送信側と受信側との間の100%信頼できる通信を目標とし、これはファイル転送アプリケーションについては重要である(たとえば、損失したパケットの通信に失敗すると、受信側では破損したファイルを受信したことになる)。
しかし、多くのマルチメディア・アプリケーションは、リアルタイム・ストリーミングメディア・アプリケーションであり、タイムリーにデータパケットを受信することが、アプリケーションの適切な実行のためには重要となる。加えて、100%の信頼は要求されない。パケットの遅延到着または再送を見越してマルチメディア・アプリケーションを遅らせるよりも、送信されたパケットあるいは大幅に遅延したパケットを失う方が一般的に好ましい。たとえば、ビデオストリームのパケットが送信中に損失または大幅に遅れた場合に、受信側が最終的にエラーパケットを受信できるようにビデオデータの再生を中断するよりも、後に続くデータのストリーミングを続けることの方がより重要である。
これにより、多くのリアルタイムネットワーク通信は、UDP(User Datagram Protocol)に依存している。UDPは、インターネットのネットワーク層、トランスポート層、およびセッション層に対応する通信プロトコルである。TCP同様、UDPはIPと共に使用される。しかし、TCPと異なり、UDPはコネクションレスであり、信頼性のある通信を保証しない。エラーの処理および配信の信頼性のチェックは、必要に応じて、受信するアプリケーションに委ねられている。
図1は、本発明の実施形態における例示的なエンド・エンド・システムの概要を示す図である。WAN100が示されているが、本発明の実施形態は、LANを含む他の種類のネットワークに適用できる。WANの帯域幅使用は、通常ネットワークのバックボーンに向かって減少する。一般的に、ボトルネックは、一方のリンクと他方のリンクとの間の帯域幅に大きな不均衡があるところでしばしば見られる。この不均衡は典型的に、帯域幅のより狭いリンクが過負荷となる場合に、過度のパケットキューイングをもたらす。したがって、ボトルネックはしばしば、アクセス・リンク(access link)(たとえば、LANが比較的混雑していないネットワーク・セグメントまたは基幹ネットワークとWANの接続点)に存在する。たとえば、企業のイントラネット内のDSL(Digital Subscriber Line)コネクションまたは細い専用線が、典型的なボトルネックである。
第1のエンド・システム101は、ネットワーク100に結合されており、カメラ104から被写体108のビデオデータを受信している。ディスプレイ112は、エンド・システム102から受信したビデオデータストリームから被写体110を表示する。第2のエンド・システムは、ネットワーク100に結合されており、カメラ106から被写体110のビデオデータを受信している。ディスプレイ114は、エンド・システム101から受信したビデオデータストリームから被写体108を表示する。例示的なエンド・システムは、汎用コンピュータまたは携帯型装置(handheld device)とすることができるが、キヨスク通信(communication kiosks)、携帯電話および他の特定用途装置を含む他のエンド・システムも、本発明の範囲内であると予定している。さらに、ネットワーク100は、2以上のエンド・システムを相互に通信的に接続し、複数の送信エンド・システムおよび受信エンド・システムを所与の通信セッションに参加させることができる。
続く説明は、ビデオデータストリームが送信エンド・システム101から発生し、受信エンド・システム102上で被写体108が表示されるまでに焦点を当てる。しかし、逆方向のビデオデータストリームがエンド・システム102から発生し、エンド・システム101上で被写体110が表示され、本発明にしたがって制御されることも理解されるべきである。また、本発明にしたがって制御されている対応するオーディオデータストリームが、ビデオデータストリームと対をなしてエンド・システム間で通信されていることも理解されるべきである。
ネットワーク100上で、2つのエンド・システム101と102との間で、少なくとも1つのルータ116が動作し、ネットワークの初期輻輳を検出する。図示の実施形態において、ルータ116は輻輳を検出する中間ネットワーク装置の例である。他の例示的中間ネットワーク装置は、限定するものではないが、ゲートウェイ(gateway)、ファイアウォール(firewall)、およびプロキシサーバ(proxy server)を含むことができる。参照符号118のような線図は、ルータ116が他のネットワーク装置を含む他の通信フローから発生するデータを受信および転送することができることを示している。このような通信フローの全ては、ルータ116によって検知される輻輳に影響を与える。
図示の実施形態では、ルータ116は、ECN(Explicit Congestion Notification)マーキングをサポートし、ECT(ECN Capable Transport)データ・フローのためにパケットにマーキングする。実施形態の一部において、ECTデータ・フローは、IPフロー基盤上に指定される。したがって、エンド・システム101とエンド・システム102との間のECTデータ・フローを識別するための通知プロトコルが、エンド・システム101のような送信エンド・システムとエンド・システム102のような受信エンド・システムとの間に存在する。送信動作は、ネットワーク内の利用可能な帯域幅(即ち、資源)を消費するため、送信エンド・システム101は、「資源消費者(resource consumer)」と称される場合がある。
マルチメディアストリームの送信側の能力として、送信エンド・システム101は、自身がECT装置であることを示すことで、初期輻輳に反応することができることを告知する。応答内で、受信エンド・システム102は、自身もECT装置であることを告知する。このように、受信エンド・システム102は、入力ビデオデータストリームから検出されるECN情報をフィードバックすることに合意する。その合意によって、それらのエンド・システムがビデオデータストリームの受動帯域幅制御に順応することが可能になる。それ以降、送信エンド・システム101は、ECTフラグをそのセッションの全ての送信IPパケット上に設定して、ルータ116がECTデータ・フローのためにパケットにマーキングすることができる旨をルータ116へ通知する。
あるいはまた別の実施形態では、送信エンド・システムからの全ECN通知は、ECTとしてマーキングされている。この実施形態では、送信エンド・システム101は、受信したいずれの輻輳レポートにも反応することができる。輻輳レポートを受信していない場合、送信エンド・システム101は、輻輳が無いためまたはECTの受信側が無いために間隔があいているかどうかを識別する必要ない。送信側の部分での振舞いに変更を要しない。
一実施形態では、ルータ116が初期輻輳を検出すると、ルータ116は、ECNフラグを設定することでIPパケットにマーキングし、「輻輳発生中(CE:congestion Experienced)」を指示する。ECNマーキングは、IPヘッダ中の予約された2ビットを使用する。2つのECNビットは、IPv6のクラスオクテットに対応する旧Tosバイト(Type of Service byte)中に正式に予約されたフィールドである。ToSバイトは、現在はDiffServ(DS:Differentiated Services)フィールドとして定義されていて、最初の6ビットがDSフィールドを形成し、最後の2ビットは試験的使用が認められている。これら最後の2ビットが用いられて、輻輳通知が符号化される。2ビットのうち本質的に、1ビットが現時点の可能性を示す輻輳情報のために符号化され、不正ECN(ECN cheating)が検出されることを可能にするある形式を可能にする(たとえば、不正には輻輳通知の取り消しを含む)。本実施形態では、符号化は、以下のように定義される、1ビットのみまたは2ビット以上を含む方法で符号化することを含む他の特定の符号化が本発明の範囲から逸脱するものではない。
1.送信エンド・システム101は、ECNビットを(00)にセットし、送信側がECN対応ではないことを示す。
2.送信エンド・システム101は、ECNビットを(01)または(10)に設定し、送信がECN対応であることを示し、つまり「ECTフラグを設定」する。エンド・システムは、特別ストラタジを呼び出し特定のビット(01)または(10)を選択することができる。たとえば、
a.常に(1,0)を選択し、(0,1)を他の用途に認める。
b.擬似ランダムアルゴリズムを起動して、(1,0)と(0,1)との間でランダムに選択し、可能性無しの状態を作り出す。
3.ルータ116はECNビットを(1,1)に設定し、初期輻輳の検出を指示する。
パケットがルータ116の出力キューに到達すると、ルータ116は、現在の輻輳状態に基づき3つの可能な転送動作の内の1つを実行することを決定する。
1.パケットを変更せず転送する。
2.ECNビットを(11)へ変更してパケットを転送する。
3.パケットを廃棄する。
ルータ116は輻輳指示の閾値を超えた場合、ネットワークの初期輻輳を検出したとみなす。このCE状態が存在している間は、ルータ116は、各パケットを受信側へ向けて転送する前に、IPパケットに「マーキング」してCE状態であることを指示する。例示的なECN対応のルータは、Cisco社のIOSリリース12.2.8(4)またはそれ以降を含む。検出およびマーキングの実装は、限定するものではなく、ランダム初期検知(RED:Random Early Detection)または仮想キュー(Virtual Queue)のような種々のアクティブキュー管理方法(AQM:Active Queue Management)を含む種々の技術を包含する。
マーキングされたパケットを受信すると、受信エンド・システム102は、一定期間フィードバックを送信エンド・システム101へ送信し輻輳のマーキングを受信していることを示す。このフィードバック(たとえば、輻輳レポート)に基づき、ルータ116の帯域幅使用をより最適化する試みのなかで、送信エンド・システム101は伝送速度を変更(高くまたは低く)する。この変更の最終目標は、ルータ116でのネットワークの輻輳によって発生するパケットロスを最小になるかまたはパケットロスがない、最も高い送信レートを発見することである。
図2は、本発明の実施形態における例示的なエンド・システムを示す。エンド・システム200は、ネットワーク220を介して、他のエンド・システム(図示しない)と結合される。少なくとも1つのネットワーク中間装置(図示しない)が2つのエンド・システムの間に論理的に配置されている。エンド・システムは、ユーザインタフェース202を通じてマルチメディア情報を描画する描画部(renderer)216、およびアナログのマルチメディア情報をデジタル化するデジタイザ218を含む。マルチメディアコーデック204は、デジタイザ218からデジタル化されたマルチメディア情報のほか、ネットワーク220および別のエンド・システムからRTP(Real Time Protocol)モジュール208を通じて受信したマルチメディア情報も受信する。さらに、マルチメディアコーデック204は、マルチメディアデータをRTPモジュール208およびネットワーク220を通じて別のエンド・システムへ送信する。
ネットワークトランスポート層モジュール222は、マーキング/マーキング追跡モジュール224を含み、送信エンド・システムが送信するIPパケットにECTとしてマーキングし、受信エンド・システムが入力パケットからECNのマーキングを追跡し、それらをマーキングフィードバックコーデック212へ導く。
RTCP(Real Time Control Protocol)モジュール210は、ECTパケットを復号するためおよび送信エンド・システムへ送り返すための輻輳レポートを符号化するためのマーキングフィードバックコーデック212を含む。マーキングフィードバックコーデック212によって復号されたマーキング情報は、WTP(weight-per-mark)モジュールによって受信され、マーキング情報に基づいて利用可能な帯域幅を推定する。推定された利用可能な帯域幅の値はメディア・コントローラへ渡され、推定利用可能帯域幅および発見的(heuristics)手法に基づいて、ネットワークのデータの負荷を変更するためにメディアに特別の動作をさせる。図示の実施形態では、メディア・コントローラは、マルチメディアコーデック204を通じて送信レートを、または送信レートに関係するデジタイザ218を通じて送信レートに対する描画の正確さを推定された利用可能帯域幅に合わせて調整することができる。
メディア・コントローラは、送信レートを調整するために種々の方法を使用する。たとえば、一実施形態では、コーデックは、直接に量子化レベルを変更して質を調整し、これによって送信レートを変更することができる。別の実施形態では、ある階層符号化方式が用いられている場合、メディア・コントローラは、レイヤを増減して、送信レートを変更することができる。他の実施形態では、頻繁な送信レートの変更を避けるため、メディア・コントローラは、推定利用可能帯域幅が前回の推定と十分に異なる場合にのみ、送信レートの変更を決定する場合がある。
図3は、本発明の実施形態における例示的中間装置を示す。ルータのような中間装置は、一般的に、入力ECTパケットを受信し、可能であればそれらにマーキングして、それらを宛先のシステムへ転送する。ネットワークの輻輳が破棄を正当化する場合、中間装置はパケットを破棄することもできる。
中間装置300は、メモリ中のキューのような物理的パケット・キュー302を備える。入力パケット308は物理的パケット・キュー302内に受信される。また、中間処理装置300は、パケットマーキング仮想キュー304を備え、物理的パケット・キュー302内の入力パケットを追跡する。仮想キュー304中のパケット310の数が事前に設定された輻輳の閾値312を超過する場合、パケット管理モジュール306は、閾値312を超えて受信されるパケットに、それらを宛先のシステムへ転送する前に、マーキングする。また、本発明の範囲内で、他のマーキングのアルゴリズムを初期輻輳の信号として採用することもできると理解されるべきである。
図4は、本発明の実施形態において、種々の装置間のメッセージ送信および動作を示す。図4は、送信エンド・システム、中間装置および受信エンド・システムを解して通信されるように示されている。中間装置は、ルータ、ゲートウェイなどを含む複数の中間装置を一まとめにして示されていると理解されなければならない。
示されたRTC(Real Time Control)セッション420において、ECT指示動作400は、1つまたは複数の受信側に、送信エンド・システムがECT装置であることを広報する。これは、上述したように最初のスタートアップの間にECTフラグを設定することによって行われる。受信エンド・システムにおけるECT受信動作402は、送信エンド・システムからECT広報を受信し、ECT指示動作404の中で応答し、送信エンド・システムへ受信エンド・システムもECT装置であることを通知する。この通知は、ECT受信動作406中で送信エンド・システムによって受信される。先に述べたように、あるいはまた送信エンド・システムは、動作400、402、404および406を省略することによって受信エンド・システムが特定のデータ・フローの状態にあると仮定することができる。
送信エンド・システムが、ECT受信動作406中でこの信号を受信エンド・システムから受信すると、送信エンド・システムは、受信エンド・システムとECTデータ・フローが確立されたと判定し、特定のIPデータ・フローがECTデータ・フローであるとの理解のもとに先に進む。その後、送信動作408は、伝送されるIPパケット中のECTビットを(10)または(01)に設定することによって、1つまたは複数のECTパケットを送信する。これらのECTパケットは、最初の送信レートで伝送される(すなわち、「資源要求」の種類に応じた)。一実施形態では、最初の送信レートは、最初の推定利用可能帯域幅、ユーザの入力、およびシステムの設定あるいはポリシーのうちの少なくとも1つに基づく。他の例示的な資源要求は、限定するものではないが、(無線システムでは)電力要求、メモリまたは処理要求などを含む。関連したオーディオとビデオのような2つのRTPフローがある場合は、各フローのパケットは、この方法でマーキングされる。一部の実施形態では、RTCP帯域幅の使用を、RTCによって管理することができ、RTCP制御フローが「ECNを意識して」マーキングされることを可能にする。
マーキング動作410では、資源の初期輻輳を検出すると、中間装置は、ECTパケットにマーキングして「輻輳発生中」を指示し、受信エンド・システムへパケットを転送する。受信動作412では、受信エンド・システムは、マーキングされたパケットを受信する。編集動作413において、受信エンド・システムは、マーキングされたパケットから輻輳レポートを生成する。フィードバック動作414では、受信エンド・システムは輻輳レポートを送信エンド・システムへ送信する。動作408、410および412は、フィードバック動作414が起こった後に、複数回起動することができる(すなわち、輻輳レポートが送信エンド・システムへ伝送する前に、マーキングされた複数のパケットからの情報を編入することができる)。これらの動作におけるエンド・システム間のECT通信の潜在的(かつ有望な)多様性は、図のデータ・フロー中の太い矢印で示されている。さらに、種々の実施形態において、編集動作413は、マーキングされたパケットの各々の受信とともに起動するか、または種々の間隔で起動することができる。
受信エンド・システムは、RTCP制御チャネルを通じて輻輳レポートを送信エンド・システムへ送信する。一実施形態では、輻輳レポートは、次表の形態とすることができる。
Figure 0004448341
輻輳レポートは、受信エンド・システムで受信レポート(RR:Receiver Report)が宛先RTCセッションによって生成されると、送信される。この拡張ECNは、RR間隔中の変化に対して強く、固定のRR間隔に束縛されず、帯域幅の利用可能性が増したことを迅速にレポートすることを確保する。別の実施形態では、Marks、Id_num、Proto、およびDestportフィールドを削除して、RTCP受信レポートのための16バイトの現実のオーバヘッドを与えることができる。
受信動作416は、輻輳レポートを受信して、(マーキングフィードバックコーデック内で)輻輳レポートを復号して、帯域幅を推定するWTPモジュールへ受信した情報を渡す。推定動作417で、WTP(weight-per-mark)モジュールは、最初の推定、輻輳レポート内で報告された状態、および種々の他の接続パラメータに基づいて、新しい推定利用可能帯域幅を計算する。この新しい推定利用可能帯域幅は、関連したSSRC(Synchronization Source)のためにメディア制御モジュールへ報告される。SSRCは、新しい推定利用可能帯域幅および発見的手法に基づいて(変更後の送信レートの形で)メディアに特別の動作をさせて資源要求を変更させる。本明細書中では送信エンド・システムが計算を行うが、別の実施形態では、新しい推定利用可能帯域幅および新たな資源要求を、受信エンド・システム、中間装置、もしくは個別の調整装置または輻輳マネージャで計算してもよい。
WTPモジュールは、WTPアルゴリズムを実行して輻輳レポートに応じた新しい推定利用可能帯域幅を推定する。送信エンド・システム(たとえば、トラヒック源あるいは送信側)は、測定時間間隔nthの間に平均xの固定レートでECTパケットを送信する。ここで、測定時間間隔(Measurement Time Interval)の長さはMTIである。受信エンド・システム(たとえば、トラヒックの宛先あるいは受信側)は、マーキングされたパケットの数mおよび測定時間間隔に送信されたパケットの数sの双方を送信側へレポートする。輻輳レポート情報から読み出されるそれら2つの比は、マーキングに対応している確からしさの推定(p)を表す。
Figure 0004448341
一実施形態では、仮想キューマーキングアルゴリズムを採用する。実際の資源の量よりも小さな量をもつ仮想キューが模造される。少なくともB個のパケットが仮想キューに待機していると入力パケットはマーキングされる。本発明の範囲内でBの別の値が考えられるが、たとえばBの値は10である。
変更後の送信レートは、輻輳レポート中に適宜受信側から送信されるフィードバックとともに、重みパラメータwおよび利得パラメータkを用いて送信レートを調整する制御アルゴリズムによって決定される。一実施形態では、重みパラメータw(WTPパラメータと称される場合もある)は、送信エンド・システムと関連付けられ、マーキングが予想される確率pexpectedに基づいて得られる目標の送信レートに影響を与える。
Figure 0004448341
このように、重みパラメータは、送信エンド・システムによって予想された利用可能帯域幅の重み付け公平割当を表す。あるいはまた、重みパラメータは、次のようになる。所定の数NのTCP(Transmission Control Protocol)コネクションによって予想されたレートを真似てxtargetを設定することによって決定することができる。以下の3つのシナリオが考えられる。MSSは、IETF(Internet Engineering Task Force)のRFC879で定義されるように、TCPに対する最大セグメントサイズをバイト単位で表し、これはIPの最大データグラムのサイズから40を引いたサイズである。このMSSパラメータは、TCPのオプションとして設定することができ、その結果、MSSは送信側と受信側との間のTCPコネクションのMSSに関連させることができる。MSSのデフォルト値は、TCPのオプションを設定しない場合は536である。
Figure 0004448341
重みパラメータは、アプリケーション毎またはシステム毎のポリシーによって設定することができる。また、ユーザの入力を含む他の実行パラメータによっても影響を受ける場合がある。
この重みパラメータに基づいて、新しい送信レートxn+1が次式のように計算される。
Figure 0004448341
利得パラメータkが次の2つの条件を満たす場合、上記のアルゴリズムは目標のレート近傍で、局所的に安定した新しい送信レートを提供する。
Figure 0004448341
ここで、rはMTI間隔のRTT(Round Trip Time:往復時間)間隔に対する比である。したがって、kの許容値は次式で計算することができる。
Figure 0004448341
利得パラメータは、資源の初期輻輳の指示に基づいて中間装置を通じて送信エンド・システムによってなされる資源要求における調整の大きさ(つまり、送信レート)に影響を与える。
より小さい送信レートに対しては、上記式によって返されるxn+1の最大値および予め決められた最小のレートを用いることよって、より良い新しい送信レートが得られる。
図5は、本発明の実施形態におけるデータストリーミング環境の受動帯域幅制御の動作を示す。関係確立動作500は、送信エンド・システムと受信エンド・システムとの間にECT関係を確立する。他の実施形態では、この関係確立動作500を完全に省略し、送信エンド・システムは単にECT装置である受信エンド・システムが送信内容を受信して、何らかの初期輻輳の問題をフィードバックして報告するものと仮定することができる。
重みパラメータ決定動作502は、重みパラメータを決定する。使用動作504は、指定された資源要求で利用可能資源を使用する(たとえば、送信側は指定された初期の送信レートで送信する)。その後は、受信動作506は、輻輳レポートのような資源の初期輻輳の指示を受信する。利得パラメータ決定動作508は、利得パラメータを決定する。計算動作510は、新たな資源要求を計算し、それを使用動作504へ適用する。
図6は、本発明の実施形態において利得パラメータを設定する動作を示す。計算動作608は、輻輳レポートの受信に応答して新しい増加要因を計算するための複数の入力を受信する。決定動作600は、RTPパケットが中間ネットワーク装置のキューに入ると見込まれるパケットの数を表すマーキングパラメータBを決定する。推定動作602は、RTTを推定する(RTTについての凡その推定が一般的に受け入れられる)。一実施形態では、RTTは、たとえばRTCPを用いて、受信側、送信側あるいは制御チャネルの特別の手段によって推定される。別の実施形態では、RTT推定は、指数重み付け移動平均を用いて現在の推定を先の推定と結合させるような、TCPのRTT推定方法内で用いられるのと同じ方式を基礎とすることができる。本発明の別の実施形態では、RTTを推定する他の方法を採用してもよい。
受信動作604は、(輻輳レポートのような)制御パケットを受信する。別の推定動作606は、測定時間間隔(すなわち、2つの連続する輻輳レポートの受信の間の時間)を推定する。計算動作608は新しい増加要因を計算し、新しい増加要因はリターン動作610の結果として返される。新しい利得パラメータを決定するために用いられるアルゴリズムの例が図4に関連して述べられており、利得パラメータkは次式で解かれる。
Figure 0004448341
図7は、本発明の実施形態において送信レートを更新する動作を示す。計算動作706および708は、輻輳レポートの受信に応答して新たな資源要求を計算するための複数の入力を受信する。決定動作700は、初期の資源要求(たとえば、初期の送信レート)を決定する。たとえば、送信エンド・システムは、その値を記憶しているメモリロケーションへアクセスすることで初期の送信レートを決定することができる。
別の決定動作702は、現在の利得パラメータおよび重みパラメータを決定する。現在の利得パラメータは、図4および6に関して述べたように計算されことができ、重みパラメータは、事前に計算されまたは記憶された値があるメモリロケーションへアクセスするなど、ポリシーまたは他の方法によって決定される。
受信動作704は、輻輳レポートのような、制御パケットを受信する。制御パケットは、マーキングされたパケットの数mおよびMTIの間に送信されたパケットの数sの双方を含むことができる。その後、計算動作706は、制御パケット内の情報に基づいて、新しいマーキングの基準p(すなわち、新しいマーキングの可能性の推定値)を計算する。新たな利得パラメータを決定するために使用されるアルゴリズムの例が図4に関連して述べられており、新しいマーキングの基準pは次式で解かれる。
Figure 0004448341
別の計算動作708は、新たな資源要求xn+1(たとえば、新しい送信レート)を計算する。新たな利得パラメータの決定に用いられるアルゴリズムの例が図4に関連して述べられており、新たな資源要求xn+1は次式で解かれる。
Figure 0004448341
図示の実施形態の制限動作710では、資源要求制限、たとえばxn+1=Max(xn+1,xmin)が適用される。ここでxminはエンド・システムによって認められている現在の最小資源要求を表す。リターン動作712は、xn+1の値を新たな資源要求の結果として返す。
図8に示す本発明の実施のための例示的なハードウェアおよび実行環境は、汎用コンピューティングデバイスをコンピュータ20の構成に含み、処理ユニット21、システムメモリ22、およびシステムメモリを含む種々のシステムコンポーネントを処理ユニット21と結合するシステムバス23を含む。処理ユニット21が1つしかないものあるいは複数の処理ユニットものがあり、これらは、コンピュータ20が単一の中央処理ユニット(CPU)を備えているまたは一般的に並列処理環境と称される複数の処理ユニットを備えているようなものである。コンピュータ20は、従来のコンピュータ、分散コンピュータ、または他の種類のコンピュータの何れかとすることができ、本発明はこれらに限定されない。
システムバス23は、種々のバスアーキテクチャを使用するメモリバスまたはメモリコントローラ、パラレルバス、およびローカルバスを含む幾つか種類のバス構造の何れであってもよい。システムメモリは、単にメモリと称する場合があり、ROM(Read Only Memory)24およびRAM(Random Access Memory)25を含むことができる。スタートアップ時などコンピュータ20内のエレメント間の情報転送を助けるBIOS(Basic Input/Output System)26はROM24に記憶されている。更に、コンピュータ20は、ハードディスク(図示しない)の読み書きをするディスクドライブ27、取り外し可能な磁気ディスク29の読み書きをする磁気ディスクドライブ28、およびCD−ROM(Compact Disc ROM)あるいは他の光学媒体のような取り外し可能な光ディスク31の読み書きをする光ディスクドライブ30を備える。
ハードディスクドライブ27、磁気ディスクドライブ28、および光ディスクドライブ30は、それぞれハードディスクドライブインタフェース32、磁気ディスクドライブインタフェース32、および光ディスクドライブインタフェース30によって、システムバス23に結合されている。ドライブおよびそれらに関連するコンピュータ可読媒体は、コンピュータ20に関するコンピュータ可読命令、データ構造、プログラムモジュールおよび他のデータの不揮発性の記憶を提供する。コンピュータによってアクセス可能なデータを記憶することができるコンピュータ可読媒体は、本発明の実施形態において、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ(Bernoulli cartridge)、RAM、ROMなど何れの種類を使用することができると当業者によって理解されるべきである。
多くのプログラムモジュールが、ハードディスク、磁気ディスク29、光ディスク31、ROM24,RAM25に格納され、オペレーティングシステム35、1つまたは複数のアプリケーションプログラム36、他のプログラムモジュール37およびプログラムデータ38を含む。ユーザは、キーボード40およびポインティングデバイス42のような入力デバイスを通じてパーソナルコンピュータ20へ命令および情報を入力することができる。他の入力デバイス(図示しない)は、マイクロフォン、ジョイスティック、ゲームパッド、衛星アンテナ、スキャナなどを含むことができる。これらおよび他の入力デバイスは通常、システムバスに結合されたシリアルポート46を通じて処理ユニット21と結合されるが、パラレルポート、ゲームポート、USB(Universal Serial Bus)などの他のインタフェースによって結合されることもできる。モニタ47または他の種類の表示装置も、ビデオアダプタ48を介してシステムバス23へ結合されている。モニタに加えて、コンピュータは典型的に、スピーカおよびプリンタのような他の周辺出力装置(図示しない)を含む。
コンピュータ20は、リモートコンピュータ49のような1つまたは複数のリモートコンピュータとの論理接続を使用するネットワーク環境で作動する。これらの論理接続は、コンピュータ20に結合されたまたはその一部となっている通信装置によって達成されるが、本発明は特定の種類の通信装置に限定されない。リモートコンピュータ49は、別のコンピュータ、サーバ、ルータ、ネットワークPC、クライアント、ピアデバイスあるいは他の一般的なネットワークノードとすることができ、図8には記憶装置50のみが示されているが、典型的にはコンピュータ20に関連して上述した要素の多くまたはすべてを含む。図8に示された論理接続は、LAN(Local Area Network)51およびWAN(Wide Area Network)52を含む。そのようなネットワーク環境は、オフィスネットワーク、企業ネットワーク、イントラネットおよびインターネットで一般的であり、すべての種類のネットワークを含むものである。
LANネットワーク環境で使用する場合、コンピュータ20は、通信装置の種類の1つであるネットワークインタフェースまたはアダプタ53を通じてLAN51へ接続される。WANネットワーク環境で使用する場合、コンピュータ20は典型的に、WAN上で通信を確立するために通信装置の種類の1つであるモデム54あるいは他の種類の通信装置を含む。内臓あるいは外付けのモデム54は、シリアルポートインタフェース46を介してシステムバス23へ接続される。ネットワーク環境では、パーソナルコンピュータ20に関連する図示のプログラムモジュールまたはその一部は、リモートの記憶装置に記憶されることができる。示されたネットワーク接続は例示であり、コンピュータ間の通信リンクを確立する別の手段および通信装置を使用することができると理解されたい。
本発明の実施形態では、マーキングフィードバックコーデック、WTPモジュールまたはマーキング/マーキング追跡モジュールを、オペレーティングシステム35、アプリケーションプログラム36あるいは他のプログラムモジュール37の一部として取り込むことができる。重みパラメータ、資源要求値、輻輳レポートおよびパケットを、プログラムデータ38として記憶することができる。
本明細書中で述べた本発明の実施形態は、1つまたは複数のコンピュータシステム内で論理ステップとして実行される。本発明の論理的動作は、(1)1つまたは複数のコンピュータシステムで実行するプロセッサによって実行されるステップのシーケンスとして、(2)1つまたは複数のコンピュータシステム内の相互に結合されたコンピュータモジュールとして実現される。実現方法は、選択の問題であり、本発明を実施するコンピュータシステムの実行必要条件に依存する。したがって、本明細書中で述べた本発明の実施形態を示している論理的動作は、実行(オペレーション)、ステップ、オブジェクトまたはモジュール等など様々に称される。
上記の詳細、例、およびデータは、構成の完全な説明および本発明の例示的な実施形態の使用法を教示している。本発明の要旨および範囲から逸脱することなく多数の本発明の実施の形態がなされ得るから、本発明は添付の特許請求の範囲に記載している。
本発明の実施形態における例示的なエンド・エンドシステムの概観を示す図である。 本発明の実施形態における例示的エンド・システムを示す図である。 本発明の実施形態における例示的な中間装置を示す図である。 本発明の実施形態において、種々の装置間のメッセージ送信および動作を示す図である。 本発明の実施形態のデータストリーム環境における、受動帯域幅制御を示す図である。 本発明の実施形態における利得パラメータを設定するための動作を示す図である。 本発明の実施形態において、送信レートを更新するための動作を示す図である。 本発明の実施形態を実施するために有用な例示的なシステムを示す図である。
符号の説明
100 ネットワーク
101、102 エンド・システム
104、106
108、110 被写体
112、114 ディスプレイ
116 ルータ
200 エンド・システム
202 ユーザインタフェース
204 コーデック
208 RTPモジュール
210 RTCPモジュール
212 マーキングフィードバックコーデック
214 WTPモジュール
216 描画部
218 デジタイザ
220 ネットワーク
222 ネットワークトランスポート層モジュール
224 ECTマーキング/追跡モジュール
300 中間装置
302 パケット・キュー
304 パケットマーキング仮想キュー
306 パケット管理モジュール
308 入力パケット
310 パケット
312 閾値
420 RTCセッション
20 コンピュータ
21 処理ユニット
22 システムメモリ
23 システムバス
24 ROM
25 RAM
26 BIOS
27 ハードディスクドライブ
28 磁気ディスクドライブ
29 磁気ディスク
30 光ディスクドライブ
31 光ディスク
32 ハードディスクドライブインタフェース
33 磁気ディスクドライブインタフェース
34 光ディスクドライブインタフェース
35 オペレーティングシステム
36 アプリケーションプログラム
37 他のプログラムモジュール
38 プログラムデータ
40 キーボード
42 ポインティングデバイス
46 シリアルポートインタフェース
47 モニタ
48 ビデオアダプタ
49 リモートコンピュータ
50 記憶装置
51 ローカルエリアネットワーク
52 ワイドエリアネットワーク
53 ネットワークインタフェース
54 モデム

Claims (24)

  1. 中間装置によって検出された資源の初期輻輳の指示に基づいて、利用可能な資源に対する資源消費者による資源要求を調整するためのコンピュータ処理をコンピュータシステムで実行するためのコンピュータプログラムであって、該コンピュータ処理は、
    資源消費者に関連付けられた利用可能な資源の公平割り当てに関係する重みパラメータを決定すること、
    資源の初期輻輳の指示を受信すること、
    前記資源の初期輻輳の指示に基づいて、中間装置を通じて前記資源消費者によって送信される資源要求内の調整の大きさに関係する利得パラメータ
    Figure 0004448341
    を計算して決定することであってBは中間装置のキューに入ると見込まれるパケットの数であり、MTIは2つの連続する資源の初期輻輳の指示の間の時間である測定時間間隔であり、RTTは往復時間である、こと、
    前記利用可能な資源の前記資源消費者による使用を調整するために、前記重みパラメータおよび前記利得パラメータに基づいて新たな資源要求を計算することおよび
    前記計算された新たな資源要求に基づいて前記利用可能な資源の前記資源消費者による使用を調整すること
    を含むことを特徴とするコンピュータプログラム。
  2. 前記重みパラメータを決定することが、
    送信エンド・システムと関連付けられた目標資源要求に基づいて前記重みパラメータを決定すること
    を含むことを特徴とする請求項1に記載のコンピュータプログラム。
  3. 前記重みパラメータを決定することが、
    予め定められた数の1つまたは複数のTCPコネクション上で予測される資源要求に基づいて前記重みパラメータを決定すること
    を含むことを特徴とする請求項1に記載のコンピュータプログラム。
  4. 前記資源の初期輻輳の指示を受信することが、
    輻輳レポートを受信すること
    を含むことを特徴とする請求項1に記載のコンピュータプログラム。
  5. 前記資源の初期輻輳の指示を受信することが、
    測定時間間隔に受信エンド・システムによって受信されたパケット数を受信すること、および
    測定時間間隔に受信エンド・システムによって受信されたマーキングされたパケット数を受信すること
    を含むことを特徴とする請求項1に記載のコンピュータプログラム。
  6. 前記新たな資源要求を計算することが、
    前記利得パラメータ、前記重みパラメータ、初期の資源要求、および前記資源の初期輻輳の指示に基づいて前記新たな資源要求を計算すること
    を含むことを特徴とする請求項1に記載のコンピュータプログラム。
  7. 前記資源消費者は前記送信エンド・システムを含み、および前記資源要求は前記送信エンド・システムの送信レートを表すことを特徴とする請求項1に記載のコンピュータプログラム。
  8. 前記新たな資源要求は、受信エンド・システムの能力に依存することを特徴とする請求項1に記載のコンピュータプログラム。
  9. 前記コンピュータ処理は、マーキングが予測される確率を決定することを更に含むことを特徴とする請求項1に記載のコンピュータプログラム。
  10. 前記マーキングが予測される確率を決定することは、前記資源の初期輻輳の指示に基づいて前記マーキングが予測される確率を推定することを含むことを特徴とする請求項に記載のコンピュータプログラム。
  11. 中間装置によって検出された資源の初期輻輳の指示に基づいて、利用可能な資源に対する資源消費者による資源要求を調整する方法であって、
    資源消費者に関連付けられた利用可能な資源の公平割り当てに関係する重みパラメータ
    Figure 0004448341
    を計算して決定することであって target は所定の数NのTCPコネクションによって予想された送信レートであり、p target はマーキングが予想される確率である、こと、
    資源の初期輻輳の指示を受信すること、
    前記資源の初期輻輳の指示に基づいて、中間装置を通じて前記資源消費者によって送信される資源要求内の調整の大きさに関係する利得パラメータを決定すること、
    前記利用可能な資源の前記資源消費者による使用を調整するために、前記重みパラメータおよび前記利得パラメータに基づいて新たな資源要求を計算することおよび
    前記計算された新たな資源要求に基づいて前記利用可能な資源の前記資源消費者による使用を調整すること
    を含むことを特徴とする方法。
  12. 前記x target は、送信エンド・システムと関連付けられていること
    を含むことを特徴とする請求項11に記載の方法。
  13. 前記x target は、予め定められた数の1つまたは複数のTCPコネクション上で予測される資源要求に基づいてることを含むことを特徴とする請求項11に記載の方法。
  14. 前記資源の初期輻輳の指示を受信することが、
    輻輳レポートを受信すること
    を含むことを特徴とする請求項11に記載の方法。
  15. 前記資源の初期輻輳の指示を受信することが、
    測定時間間隔に受信エンド・システムによって受信されたパケット数を受信すること、および
    測定時間間隔に受信エンド・システムによって受信されたマーキングされたパケット数を受信すること
    を含むことを特徴とする請求項11に記載の方法。
  16. 前記利得パラメータを決定することが、
    マーキングパラメータ、ランドトリップ時間パラメータ、および測定時間間隔パラメータに基づいて決定すること
    を含むことを特徴とする請求項11に記載の方法。
  17. 前記新たな資源要求を計算することが、
    前記利得パラメータ、前記重みパラメータ、初期の資源要求、および前記資源の初期輻輳の指示に基づいて前記新たな資源要求を計算すること
    を含むことを特徴とする請求項11に記載の方法。
  18. 前記資源消費者は前記送信エンド・システムを含み、および前記資源要求は前記送信エンド・システムの送信レートを表すことを特徴とする請求項11に記載の方法。
  19. 前記新たな資源要求は、受信エンド・システムの能力に依存することを特徴とする請求項11に記載の方法。
  20. マーキングが予測される確率を決定することを更に含むことを特徴とする請求項11に記載の方法。
  21. 前記マーキングが予測される確率を決定することは、前記資源の初期輻輳の指示に基づいて前記マーキングが予測される確率を推定することを含むことを特徴とする請求項20に記載の方法。
  22. 中間装置によって検出された資源の初期輻輳の指示に基づいて、利用可能な資源に対する資源消費者による資源要求を調整することができる受動帯域幅制御を備えるエンド・システムであって、
    資源の初期輻輳の指示を受信するネットワークトランスポート層モジュールと、
    資源消費者と関連付けられた利用可能な資源の公平割当に関係する重みパラメータを決定し、前記資源の初期輻輳の指示に基づいて、中間装置を通じて資源利用者によって送信された資源要求内の調整の大きさに関係する利得パラメータを決定し、ならびに前記重みパラメータおよび前記利得パラメータに基づいて新たな資源要求 n+1 を計算し、前記計算された新たな資源要求x n+1 に基づいて前記利用可能な資源の前記資源消費者による使用を調整するWTPモジュールと
    を備え
    前記新たな資源要求x n+1 の計算は、
    Figure 0004448341
    を計算することを含み、x はn番目の測定時間間隔での資源要求であり、kは前記利得パラメータであり、wは前記重みパラメータであり、p は前記n番目の測定時間間隔でマーキングされる確率の推定値であることを特徴とするエンド・システム。
  23. 前記新たな資源要求を前記資源消費者に適用するメディア・コントローラをさらに備えることを特徴とする請求項22に記載のエンド・システム。
  24. 送信するIPパケットにECT対応としてマーキングするマーキングモジュールをさらに備えることを特徴とする請求項22に記載のエンド・システム。
JP2004018692A 2003-01-27 2004-01-27 帯域制御プログラム、方法およびエンド・システム Expired - Fee Related JP4448341B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/351,800 US7225267B2 (en) 2003-01-27 2003-01-27 Reactive bandwidth control for streaming data

Publications (2)

Publication Number Publication Date
JP2004236316A JP2004236316A (ja) 2004-08-19
JP4448341B2 true JP4448341B2 (ja) 2010-04-07

Family

ID=32594963

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004018692A Expired - Fee Related JP4448341B2 (ja) 2003-01-27 2004-01-27 帯域制御プログラム、方法およびエンド・システム

Country Status (8)

Country Link
US (1) US7225267B2 (ja)
EP (1) EP1441288B1 (ja)
JP (1) JP4448341B2 (ja)
KR (1) KR101046105B1 (ja)
CN (1) CN100446466C (ja)
AT (1) ATE428140T1 (ja)
BR (1) BRPI0400085A (ja)
DE (1) DE60327040D1 (ja)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2851708B1 (fr) * 2003-02-24 2005-05-27 At & T Corp Methode pour transmettre des paquets de haute priorite dans un reseau de transmission ip
US7400588B2 (en) * 2003-08-01 2008-07-15 Thomson Licensing Dynamic rate adaptation using neural networks for transmitting video data
US20050060424A1 (en) * 2003-09-15 2005-03-17 Sachin Garg Congestion management in telecommunications networks
US20050060423A1 (en) * 2003-09-15 2005-03-17 Sachin Garg Congestion management in telecommunications networks
US7822428B1 (en) 2004-03-01 2010-10-26 Adobe Systems Incorporated Mobile rich media information system
US7478158B1 (en) * 2004-03-01 2009-01-13 Adobe Systems Incorporated Bandwidth management system
US7706782B1 (en) 2004-03-01 2010-04-27 Adobe Systems Incorporated System and method for developing information for a wireless information system
US7174385B2 (en) * 2004-09-03 2007-02-06 Microsoft Corporation System and method for receiver-driven streaming in a peer-to-peer network
JP4649242B2 (ja) * 2005-03-16 2011-03-09 株式会社日立製作所 端末アダプタ装置
GB2441455B (en) * 2005-06-15 2009-11-25 Ericsson Telefon Ab L M Adaptive mobile telephony voice transport via an Internet Protocol network
TWI276334B (en) 2005-09-16 2007-03-11 Ind Tech Res Inst Methods for allocating transmission bandwidths of a network
GB0519521D0 (en) * 2005-09-24 2005-11-02 Ibm A dynamic bandwidth manager
CN1941681B (zh) * 2005-09-30 2012-01-25 财团法人工业技术研究院 网络带宽分配方法
US20070124494A1 (en) * 2005-11-28 2007-05-31 Harris John M Method and apparatus to facilitate improving a perceived quality of experience with respect to delivery of a file transfer
US9219686B2 (en) * 2006-03-31 2015-12-22 Alcatel Lucent Network load balancing and overload control
US8451910B1 (en) * 2006-07-13 2013-05-28 Logitech Europe S.A. Wireless multimedia device with real time adjustment of packet retry function and bit rate modulation
US20080043643A1 (en) * 2006-07-25 2008-02-21 Thielman Jeffrey L Video encoder adjustment based on latency
US20080069135A1 (en) * 2006-09-19 2008-03-20 International Business Machines Corporation Discreet control of data network resiliency
US8630256B2 (en) * 2006-12-05 2014-01-14 Qualcomm Incorporated Method and system for reducing backhaul utilization during base station handoff in wireless networks
US8305914B2 (en) * 2007-04-30 2012-11-06 Hewlett-Packard Development Company, L.P. Method for signal adjustment through latency control
US8190750B2 (en) * 2007-08-24 2012-05-29 Alcatel Lucent Content rate selection for media servers with proxy-feedback-controlled frame transmission
US8407364B2 (en) * 2007-10-25 2013-03-26 Cisco Technology, Inc. Apparatus and method for providing a congestion measurement in a network
JP4989512B2 (ja) * 2008-02-22 2012-08-01 キヤノン株式会社 管理装置及びその制御方法
GB2461244A (en) * 2008-02-29 2009-12-30 Francis P Kelly Network congestion control with feedback to adjust flow rates of source nodes.
US20090238070A1 (en) * 2008-03-20 2009-09-24 Nuova Systems, Inc. Method and system to adjust cn control loop parameters at a congestion point
WO2009126069A1 (en) * 2008-04-10 2009-10-15 Telefonaktiebolaget Lm Ericsson (Publ) Adaption of metadata based on network conditions
GB0809014D0 (en) * 2008-05-17 2008-06-25 Slever Solutions Ltd Improvements in and relating to the management of data congestion in a data network
US8059541B2 (en) 2008-05-22 2011-11-15 Microsoft Corporation End-host based network management system
US20100017530A1 (en) * 2008-06-23 2010-01-21 Hitachi, Ltd. Priority-Based Physical Layer Transmission Rate Control For Video Streaming Over Wireless Networks
JP5353494B2 (ja) * 2009-07-03 2013-11-27 富士通株式会社 通信装置、および通信方法
EP2296324A1 (en) * 2009-09-14 2011-03-16 Thomson Licensing, Inc. Distributed flow mechanism for peer-to-peer streaming
US9007914B2 (en) * 2009-09-30 2015-04-14 Qualcomm Incorporated Methods and apparatus for enabling rate adaptation across network configurations
US9001663B2 (en) * 2010-02-26 2015-04-07 Microsoft Corporation Communication transport optimized for data center environment
US20110282980A1 (en) * 2010-05-11 2011-11-17 Udaya Kumar Dynamic protection of a resource during sudden surges in traffic
EP2410699A1 (en) * 2010-07-20 2012-01-25 Alcatel Lucent A method of controlling a quality of a service in a computer network, corresponding computer program product, and data storage device therefor
US9143457B2 (en) 2010-10-06 2015-09-22 Qualcomm Incorporated Methods and apparatus for ECN receiver driven congestion control
US8595374B2 (en) * 2010-12-08 2013-11-26 At&T Intellectual Property I, L.P. Method and apparatus for capacity dimensioning in a communication network
US9641447B2 (en) * 2011-01-12 2017-05-02 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive relative bitrate manager for TCP depending flow control
US20120278441A1 (en) * 2011-04-28 2012-11-01 Futurewei Technologies, Inc. System and Method for Quality of Experience Estimation
US9772958B2 (en) * 2011-10-31 2017-09-26 Hewlett Packard Enterprise Development Lp Methods and apparatus to control generation of memory access requests
KR101922552B1 (ko) 2011-12-06 2018-11-29 삼성전자주식회사 멀티미디어 컨텐트 전송 시스템에서 적응적 스트리밍을 이용한 트래픽 제어 방법 및 장치
US10051519B2 (en) * 2012-08-27 2018-08-14 Qualcomm Incorporated Device and method for adaptive rate multimedia communications on a wireless network
US9247448B2 (en) 2012-08-27 2016-01-26 Qualcomm Incorporated Device and method for adaptive rate multimedia communications on a wireless network
US9215174B2 (en) * 2012-10-18 2015-12-15 Broadcom Corporation Oversubscription buffer management
US10616086B2 (en) 2012-12-27 2020-04-07 Navidia Corporation Network adaptive latency reduction through frame rate control
US8953452B2 (en) * 2013-05-16 2015-02-10 Cisco Technology, Inc. Enhancing performance of rapid channel changes and other playback positioning changes in adaptive streaming
EP2833589A1 (en) * 2013-08-02 2015-02-04 Alcatel Lucent Intermediate node, an end node, and method for avoiding latency in a packet-switched network
WO2015035232A2 (en) * 2013-09-06 2015-03-12 Vid Scale, Inc. Quality of experience based queue management for routers for real-time video applications
CN103997434B (zh) * 2014-05-21 2017-12-05 华为技术有限公司 网络传输状况的探测方法和相关设备
DE102014220428A1 (de) * 2014-10-08 2016-04-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Einstellen von Datenraten in einem Videokamerasystem
US9661530B2 (en) * 2014-12-12 2017-05-23 Apple Inc. Data traffic bearer selection based on backhaul statistics
EP3113428A1 (en) * 2015-06-30 2017-01-04 Alcatel Lucent A network node for checking compliance of a plurality of macro-flows
US10104511B2 (en) * 2015-11-13 2018-10-16 Raytheon Company Recommendations and notifications over limited connections
US10601681B2 (en) 2017-03-20 2020-03-24 International Business Machines Corporation Optimizing streaming graph topology based on service level agreement
US11005770B2 (en) * 2019-06-16 2021-05-11 Mellanox Technologies Tlv Ltd. Listing congestion notification packet generation by switch
CN110401511B (zh) * 2019-07-25 2021-11-12 广州市百果园信息技术有限公司 一种传输速率的确定方法、装置、设备和存储介质
CN111147395B (zh) * 2019-12-25 2022-05-24 中国联合网络通信集团有限公司 一种网络资源调整方法及装置
EP3907943B1 (en) 2020-05-05 2022-04-27 Axis AB Round-trip estimation
US11616730B1 (en) * 2021-10-01 2023-03-28 Compira Labs Ltd. System and method for adapting transmission rate computation by a content transmitter
CN115277654B (zh) * 2022-07-19 2024-02-27 宁波菊风系统软件有限公司 一种rtc系统的带宽资源分配系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2038646C (en) 1990-03-20 1995-02-07 Katsumi Oomuro Atm communication system with optimal traffic control by changing the allocated bandwidth
US5675576A (en) 1995-06-05 1997-10-07 Lucent Technologies Inc. Concestion control system and method for packet switched networks providing max-min fairness
US6192406B1 (en) * 1997-06-13 2001-02-20 At&T Corp. Startup management system and method for networks
US6424624B1 (en) * 1997-10-16 2002-07-23 Cisco Technology, Inc. Method and system for implementing congestion detection and flow control in high speed digital network
SG87029A1 (en) * 1999-05-08 2002-03-19 Kent Ridge Digital Labs Dynamically delayed acknowledgement transmission system
US7058723B2 (en) * 2000-03-14 2006-06-06 Adaptec, Inc. Congestion control for internet protocol storage
US6671724B1 (en) * 2000-03-21 2003-12-30 Centrisoft Corporation Software, systems and methods for managing a distributed network
US6839321B1 (en) 2000-07-18 2005-01-04 Alcatel Domain based congestion management
US7068607B2 (en) 2000-08-31 2006-06-27 Telefonktiebolaget Lm Ericsson (Publ) Bandwidth broker for cellular radio access networks
JP4657433B2 (ja) * 2000-10-02 2011-03-23 富士通株式会社 帯域制御サービス管理装置

Also Published As

Publication number Publication date
US7225267B2 (en) 2007-05-29
EP1441288A2 (en) 2004-07-28
CN100446466C (zh) 2008-12-24
US20040148423A1 (en) 2004-07-29
EP1441288A3 (en) 2006-08-09
JP2004236316A (ja) 2004-08-19
DE60327040D1 (de) 2009-05-20
EP1441288B1 (en) 2009-04-08
KR20040068880A (ko) 2004-08-02
KR101046105B1 (ko) 2011-07-01
CN1518283A (zh) 2004-08-04
ATE428140T1 (de) 2009-04-15
BRPI0400085A (pt) 2004-09-14

Similar Documents

Publication Publication Date Title
JP4448341B2 (ja) 帯域制御プログラム、方法およびエンド・システム
US11044290B2 (en) TCP cross traffic rate control
US8171123B2 (en) Network bandwidth detection and distribution
US9203886B2 (en) Content rate control for streaming media servers
EP2122940B1 (en) Proxy-based signaling architecture for streaming media services in a wireless communication system
JP2006511140A (ja) 無線ネットワークにおけるリアルタイムデータの保護
CN113141314A (zh) 一种拥塞控制方法及设备
Najmuddin et al. A BBR-based congestion control for delay-sensitive real-time applications
Papadimitriou et al. SSVP: A congestion control scheme for real-time video streaming
Papadimitriou et al. A rate control scheme for adaptive video streaming over the internet
WO2013036453A1 (en) Methods, system and apparatus for packet routing using a hop-by-hop protocol in multi-homed environments
Kharat et al. Congestion controlling schemes for high-speed data networks: A survey
Hisamatsu et al. Non bandwidth-intrusive video streaming over TCP
Ko et al. A handover-aware seamless video streaming scheme in heterogeneous wireless networks
Kadhum et al. Congestion-aware TCP-friendly system for multimedia transmission based on UDP
Hsiao et al. Streaming video over TCP with receiver-based delay control
Papadimitriou et al. QRP04-4: End-to-end Congestion Management for Real-Time Streaming Video over the Internet
Vu et al. Dynamic packet size mechanism (DPSM) for multimedia in wireless networks
Hisamatsu et al. Network Friendly Transmission Control for Progressive Download over TCP.
Kondo et al. Path Schedulers Performance on Cellular/Wi-Fi Multipath Video Streaming
Papadimitriou et al. Performance evaluation of real-time transport with link-layer retransmissions in wired/wireless networks
Kadhum et al. Responsive user datagram protocol-based system for multimedia transmission
Sen Cross-layer protocols for multimedia communications over wireless networks
Ben Halima Service-Aware Performance Optimization of Wireless Access Networks
Koyama et al. Delay-based TCP considering the latency by data link layer of mobile broadband network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090717

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091015

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091020

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091117

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100119

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100122

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130129

Year of fee payment: 3

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: 20140129

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350