JP2006005775A - Deterioration cause determination method of network performance, and congestion control method - Google Patents
Deterioration cause determination method of network performance, and congestion control method Download PDFInfo
- Publication number
- JP2006005775A JP2006005775A JP2004181598A JP2004181598A JP2006005775A JP 2006005775 A JP2006005775 A JP 2006005775A JP 2004181598 A JP2004181598 A JP 2004181598A JP 2004181598 A JP2004181598 A JP 2004181598A JP 2006005775 A JP2006005775 A JP 2006005775A
- Authority
- JP
- Japan
- Prior art keywords
- network
- link
- determined
- occurred
- node failure
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Monitoring And Testing Of Transmission In General (AREA)
Abstract
Description
本発明はストリーミングに関し、特にネットワーク性能の劣化の原因の判定及び判定された原因に基づいた輻輳制御に関する。 The present invention relates to streaming, and more particularly to determination of the cause of network performance degradation and congestion control based on the determined cause.
IPネットワークを介して音声、ビデオを含むいわゆるマルチメディアなどの時間軸方向に継続するデータをストリーミング方式で送ることはよく知られており、またこのようなサービスは既にインターネット上で多数提供されている。 It is well known to send data that continues in the time axis direction such as so-called multimedia including voice and video via an IP network in a streaming system, and many such services are already provided on the Internet. .
ストリーミングを行うにあたって、IPネットワークのトランスポート・プロトコルは、対応するパケット・ストリームの送出レートを、当該パケット・ストリームがネットワークを介してあて先に到達するまでの間に出会うトラフィックに従って規制しなければならない。このトラフィックが増大するにつれて、トランスポート・プロトコルはパケット・ストリームの送出レートを低下させなければならない。これにより、パケット・ストリームの転送経路における限られたネットワーク資源を同時に使おうとして競合するユーザ間でのある程度の公平性が維持される。このようなレート低減手順は一般に輻輳制御と呼ばれる。 In performing streaming, the transport protocol of the IP network must regulate the transmission rate of the corresponding packet stream in accordance with the traffic encountered until the packet stream reaches the destination via the network. As this traffic increases, the transport protocol must lower the packet stream transmission rate. This maintains a degree of fairness among competing users trying to simultaneously use limited network resources in the packet stream transfer path. Such a rate reduction procedure is generally called congestion control.
広く使われているデータ・トランスポート・プロトコルであるTCPでは、輻輳制御はパケット損失率やラウンド・トリップ時間(Round Trip Time, RTT)などの端点間の統計に基いて行われ、更に、パケットが厳密に正しい順序で到達するようにするためパケットの再送は必ず行われる。 In TCP, a widely used data transport protocol, congestion control is based on end-to-end statistics such as packet loss rate and round trip time (RTT). Packets are always retransmitted to ensure that they arrive in the exact correct order.
メディア・ストリーミングではTCPはトランスポート・プロトコルとしては不適切である。それは、必ずパケット再送を行うということは、パケットの滞留が起きる可能性があり、その結果、パケットが連続再生を行うための所要時間内にクライアントに到達しなくなるかもしれないことを意味するからである。 In media streaming, TCP is not suitable as a transport protocol. This is because the packet retransmission always means that packet retention may occur, and as a result, the packet may not reach the client within the time required for continuous playback. is there.
しかしながら、メディア・ストリーミング・サーバがどのようなトランスポート・プロトコルを採用したとしても、そのようなトランスポート・プロトコルは大量のTCPトラフィックに対して公平性を持っている必要がある。つまり、そのようなトランスポート・プロトコルは、同じネットワーク条件下でのTCP接続よりも広い帯域を占有することはないという意味でTCP親和性がなければならない。TCP親和性を有するトランスポート・プロトコルの例としては、送出するパケットとパケットの間に、よく知られているTCP親和性輻輳制御方程式(1)に従って間隔Tを開けるというものがある。 However, no matter what transport protocol the media streaming server employs, such transport protocol needs to be fair to a large amount of TCP traffic. That is, such a transport protocol must be TCP compatible in the sense that it does not occupy a wider bandwidth than a TCP connection under the same network conditions. As an example of a transport protocol having TCP affinity, there is a method in which an interval T is opened between packets to be transmitted according to a well-known TCP affinity congestion control equation (1).
上式中、εR、μR、σR 2は夫々、サーバからクライアントまでのパケット損失率、及びサーバとクライアント間のラウンド・トリップ時間の平均、分散の推定値を表す。なお、式(1)については以下の非特許文献1に詳細が説明されている。
しかしながら、以下の非特許文献2に示されるように、インターネットの性能の劣化はネットワーク輻輳ではなくリンク/ノード障害によって起こり得ることがわかってきた。リンク/ノード障害の場合には、限られたネットワーク資源を取り合うユーザが存在するわけではないので、ストリーミング・サーバは、競合するユーザ間の公平性のために送出レートを低減する代わりに、リンク/ノード障害によるバケット損失と遅延の増大に対処するため、メディア・ストリーム・エラーへの耐性を向上させることに注力する必要がある。
上述のインターネットの性能劣化の2つの要因とそれに対する従来技術における解決策を以下で更に説明する。 The two factors of the above-mentioned Internet performance degradation and the solutions in the related art will be further described below.
インターネット上でのビデオなどのストリーミングの性能劣化の2つの主要な要因として、上述したネットワークの輻輳とリンク/ノード障害によるルーティングの不安定化が挙げられる。従来のインターネット上のストリーミングでは、パケット損失や遅延が観測されるとそれはネットワーク輻輳だけによるものと仮定し、これに応じてパケット送出レートを低減するという輻輳制御を行っていた。 Two main factors of performance degradation of streaming such as video on the Internet are the above-mentioned network congestion and routing instability due to link / node failure. In conventional streaming on the Internet, if packet loss or delay is observed, it is assumed that it is due to network congestion only, and congestion control is performed to reduce the packet transmission rate accordingly.
しかしながら、最近の研究によれば、ネットワーク中のコアIPバックボーン内での輻輳の程度は通常は無視できるものであり、従ってストリーミングに代表される遅延が問題となるアプリケーションにとってはこの輻輳の影響はむしろ少ないということが見出された。 However, according to recent research, the degree of congestion within the core IP backbone in the network is usually negligible, so the impact of this congestion is rather rather for applications where delays such as streaming are problematic. It was found that there were few.
一方、リンク/ノード障害、つまり光ファイバの断線などによる通信リンクの切断などのリンクの障害やルータなどの機器の故障やルータ構成の異常などによるノードの障害は、ネットワークの日常的な運用に当たってごく普通に起こる事態であることがわかってきた。リンク/ノード障害後の再ルーティングは、単一のドメイン内でも数10秒を要することがあり、BGP(Border Gateway Protocol)を用いて行われるドメイン間ルート変更は、数分しないと収束しない場合がある。このルート収束までの過渡状態期間においては、パケットは誤った経路に入ってしまうことで失われたり、ルーティング・ループに入り込むことによって遅延時間が増大してしまうことがある。 On the other hand, a link / node failure, that is, a link failure such as a disconnection of a communication link due to an optical fiber disconnection, or a node failure due to a failure of a device such as a router or an abnormality of a router configuration is very common in daily operation of a network. It turns out that this is a normal occurrence. Rerouting after a link / node failure may take tens of seconds even within a single domain, and interdomain route changes made using BGP (Border Gateway Protocol) may not converge until a few minutes. is there. In the transient state period until the route converges, the packet may be lost by entering the wrong path, or the delay time may be increased by entering the routing loop.
現在提案されている、ネットワーク性能の劣化がリンク/ノード障害によるものであることに「気がつかない」レート適応型メディア・ストリーミング方式では、ネットワーク上でのパケットの損失や遅延が観測されるとそれはネットワーク輻輳によるものであると解釈して、既知の輻輳制御アルゴリズムを使用してパケット送出レートを低減するという輻輳制御を行ってしまう。観測されたネットワークの挙動の統計情報を誤って解釈することによる、このような輻輳制御を行うと、リアルタイムのビデオ・ストリーミングなどのストリーミング・データの送出レートを不必要に低下させ、その結果、再生品質を、何も対策を取らない場合に比べて更に劣化させてしまう。 In the currently proposed rate-adaptive media streaming method, which is “not aware” that the degradation in network performance is due to link / node failure, when packet loss or delay is observed on the network, Interpretation is due to congestion, and congestion control is performed to reduce the packet transmission rate using a known congestion control algorithm. Such congestion control by misinterpreting observed network behavior statistics unnecessarily reduces streaming data transmission rates such as real-time video streaming, resulting in playback The quality is further deteriorated compared to the case where no measures are taken.
ネットワーク上でのパケット損失が観測された場合、それがネットワーク輻輳ではなくリンク/ノード障害によるものであれば、そのようなパケット損失に対するより適切な対応は、パケット送出レートを維持するとともに、自動再送要求(automatic retransmission request, ARQ)及び/または誤り訂正(forward error protection, FEC)を用いてパケット保護を強化することである。すなわち、パケット損失の原因が上述の2つの要因のどちらであるかを識別して夫々適切な対策を取ることが、ストリーミング・データの再生結果の品質を維持するに当たって重要である。 If packet loss is observed on the network, if it is due to link / node failure rather than network congestion, a better response to such packet loss is to maintain packet transmission rate and automatic retransmission Enhancing packet protection using automatic retransmission request (ARQ) and / or forward error protection (FEC). In other words, it is important to identify which of the above-mentioned two causes of packet loss and take appropriate measures in order to maintain the quality of the playback result of streaming data.
この識別を行うために、例えば、ネットワーク・プロキシあるいは輻輳を検知するルータをネットワーク上に配置することで、ストリーミング・サーバあるいはクライアントにリンク/ノード障害が起こっているかもしれないということを通知する構成が考えられる。しかしながら、このようなネットワーク構成では実現に当たって高コストになる上に、スケーラブルでなくまたネットワーク全体に一挙に展開する必要があるため、既存のネットワークや大規模なネットワークに採用するには問題が大きい。 In order to perform this identification, for example, a network proxy or a router that detects congestion is arranged on the network so that a link / node failure may be notified to the streaming server or client. Can be considered. However, such a network configuration is costly to implement, and is not scalable, and needs to be deployed all over the network at once. Therefore, there is a big problem in adopting it in an existing network or a large-scale network.
上述した従来技術の問題点を解消し、ネットワーク性能の劣化が上述の2つの要因のいずれで起こっているかを簡単に識別してそれに適した対策を取ることが本発明の課題である。 It is an object of the present invention to solve the above-mentioned problems of the prior art, easily identify which of the above-mentioned two factors is causing degradation of network performance, and take appropriate measures.
上述の課題を達成するため、本発明においては、ストリーミング・サーバからネットワークを介してクライアントへストリーミングにより送出されたストリーム中で前記クライアントまたは前記ネットワーク上の所定のノードに到達するまでの間にバースト状のパケット損失が発生した場合にリンク/ノード障害が発生したと判定するネットワーク性能劣化原因判定方法が提供される。 In order to achieve the above-described problem, in the present invention, a burst state is generated in a stream sent from a streaming server to a client via a network until reaching the client or a predetermined node on the network. A network performance degradation cause determination method for determining that a link / node failure has occurred when a packet loss occurs is provided.
この判定方法において、ストリーム中の連続した所定個数のパケットが失われた場合にバースト状のパケット損失が発生したと判定することができる。
また、この方法において、リンク/ノード障害の判定をネットワーク輻輳の判定に優先させることができる。
In this determination method, when a predetermined number of consecutive packets in the stream are lost, it can be determined that a burst-like packet loss has occurred.
In this method, the determination of the link / node failure can be prioritized over the determination of the network congestion.
この判定方法において、更に、パケット損失率及び/またはランド・トリップ時間が増大した場合にネットワーク輻輳が発生したと判定することができる。 In this determination method, it can be further determined that network congestion has occurred when the packet loss rate and / or the land trip time has increased.
この判定方法において、更にまた、リンク/ノード障害が発生したと判定された後、ネットワークの性能に関する統計情報が安定化したと判定された場合に、リンク/ノード障害から回復したと判定することができる。 Further, in this determination method, when it is determined that a link / node failure has occurred, and it is determined that statistical information regarding network performance has stabilized, it is determined that the link / node failure has been recovered. it can.
この判定方法において、更にまた、ネットワークの性能に関する統計情報はパケット損失率またはラウンド・トリップ時間を含むことができる。 In this determination method, the statistical information regarding the performance of the network may further include a packet loss rate or a round trip time.
この判定方法において、更にまた、ネットワークはIPネットワークとすることができる。 In this determination method, the network may be an IP network.
また、上述の課題を達成するため、ストリーミング・サーバからネットワークを介してクライアントへストリーミングにより送出されたストリーム中でクライアントまたはネットワーク上の所定のノードに到達するまでの間にバースト状のパケット損失が発生した場合にリンク/ノード障害が発生したと判定し、リンク/ノード障害が発生していない間にネットワーク輻輳が発生したと判定された場合には、ストリーミング・サーバからのストリームの送出レートを低下させる処理を実行し、リンク/ノード障害が発生したと判定された場合にはストリームの送出レートの低下を行わせる処理を実行しない輻輳制御方法を提供することができる。 In addition, in order to achieve the above-mentioned problem, bursty packet loss occurs until the client or a predetermined node on the network is reached in the stream sent by streaming from the streaming server to the client via the network. If it is determined that a link / node failure has occurred and network congestion has occurred while no link / node failure has occurred, the stream transmission rate from the streaming server is reduced. It is possible to provide a congestion control method that executes processing, and when it is determined that a link / node failure has occurred, does not execute processing for reducing the stream transmission rate.
この輻輳制御方法において、前記リンク/ノード障害が発生したと判定された場合には、前記ストリームのエラー回復能力を増大させる処理を行う、請求項8記載の輻輳制御方法。 9. The congestion control method according to claim 8, wherein in the congestion control method, when it is determined that the link / node failure has occurred, a process for increasing an error recovery capability of the stream is performed.
この輻輳制御方法において、更に、エラー回復能力を増大させる処理は、エラー訂正コードの使用、通常使用するよりもエラー訂正能力の高いエラー訂正コードの使用、損失パケットの再送のいずれかとすることができる。 In this congestion control method, the process for increasing the error recovery capability can be any one of the use of an error correction code, the use of an error correction code having a higher error correction capability than the normal use, and retransmission of a lost packet. .
この輻輳制御方法において、更に、ストリーム中の連続した所定個数のパケットが失われた場合にバースト状のパケット損失が発生したと判定することができる。 In this congestion control method, it is further possible to determine that a burst-like packet loss has occurred when a predetermined number of consecutive packets in the stream are lost.
この輻輳制御方法において、更にまた、パケット損失率及び/またはランド・トリップ時間が増大した場合にネットワーク輻輳が発生したと判定することができる。 In this congestion control method, it can be further determined that network congestion has occurred when the packet loss rate and / or the land trip time has increased.
この輻輳制御方法において、更にまた、リンク/ノード障害が発生したと判定された後、ネットワークの性能に関する統計情報が安定化したと判定された場合に、リンク/ノード障害から回復したと判定することができる。 Furthermore, in this congestion control method, when it is determined that a link / node failure has occurred, and it is determined that statistical information regarding network performance has stabilized, it is determined that the link / node has recovered from the failure. Can do.
この輻輳制御方法において、更にまた、ネットワークの性能に関する統計情報はパケット損失率またはラウンド・トリップ時間を含むことができる。 In this congestion control method, the statistical information regarding the performance of the network may further include a packet loss rate or a round trip time.
本発明を用いることにより、ネットワークの輻輳とリンク/ノード障害の何れが原因のパケット損失の増大に対しても、夫々を確実に識別することができる。また、当該識別された原因に適した対策を取ることで、ストリーミング・データの品質の劣化を最小限に抑えることができる。また、本発明は低コストで実現することができるとともに、規模の小さなネットワークから大規模なネットワークまで広い範囲に渡って適用することができる。さらに、本発明はネットワーク全体に一挙に適用する必要はなく、必要なあるいは可能なストリーミング・サーバから順次本発明を適用することができるので、既存のネットワークに本発明を適用することが容易になるという点で、実用化に当たって有利である。 By using the present invention, it is possible to reliably identify each increase in packet loss due to either network congestion or link / node failure. Further, by taking measures suitable for the identified cause, it is possible to minimize the deterioration of the quality of the streaming data. In addition, the present invention can be realized at low cost and can be applied over a wide range from a small-scale network to a large-scale network. Furthermore, the present invention does not need to be applied to the entire network all at once, and can be applied sequentially from a necessary or possible streaming server, so that the present invention can be easily applied to an existing network. Therefore, it is advantageous for practical use.
図1に示すようなネットワーク100上のストリーミングを例として、本発明の一実施例を説明する。図1において、ストリーミング・サーバ101からクライアント111へストリーミングによりビデオ・データなどを送るものとする。ストリーミングによりネットワーク上をサーバ101からクライアント111へ送られるパケットはたとえば通信リンク(以下、単にリンクと称する)103、ルータなどのノード(以下、ルータと称する)105、リンク107、ルータ109、...、という経路を経由してクライアント111に到達する。
An embodiment of the present invention will be described by taking streaming on the network 100 as shown in FIG. 1 as an example. In FIG. 1, it is assumed that video data and the like are sent from the streaming
また、クライアント111はパケットを受信すると、それに対する確認応答を送信元のストリーミング・サーバ101へ返送する。なお、この確認応答はトランスポート層で行ってもよいし、それよりも上の層で行ってもよい。また、確認応答の形態はたとえば1つ1つのパケットの受信毎に返送するというものでもよいし、あるいは複数のパケットについてまとめて返送してもよい。さらにまた、あるシーケンス番号から連続してある個数のパケットを受け取った、あるいは受信されたストリーム中で連続してある個数のパケットが失われていた、などの、複数のパケットについて情報を整理した形態での返送を行ってもよい。いずれによせよ、後述のパケット損失の原因の解析とそれに対する対応が実用的に十分な時間応答性を持つことができるような形態であればよい。
When the
なお、この確認応答を返送するのはストリーミングによるデータ転送のあて先であるクライアント111であってもよいし、あるいはネットワーク100内の何らかの中継ノードであってもよい。例えば、これに限らないが、クライアント111が携帯電話などのモバイル端末であり、このモバイル端末がネットワーク100に接続されている無線基地局(図示せず)と通信する場合には、ストリーミング・サーバ101と無線基地局の間の(通常は有線の)通信経路と無線基地局とモバイル端末間の無線通信経路とでは通信回線の性質・挙動が異なるので、有線通信経路と無線通信経路の夫々で別のエラー制御を行ったほうが効率的な場合がある。従って、このような構成では基地局からストリーミング・サーバ101へ確認応答を返すことができる。もちろん、基地局とモバイル端末の両方から確認応答を返してもよい。
The confirmation response may be returned to the
確認応答には、上述のような、またそれ以外の点でも多様な実現形態があり得るが、本発明は確認応答のための構成・方法それ自体を主題とするものではないので、これ以上の説明は省略する。 The confirmation response may have various implementations as described above and in other respects, but the present invention is not the subject of the configuration / method for the confirmation response. Description is omitted.
次に、上述した形態でストリーミングを行う際に発生する可能性のあるパケット損失の2つの原因である、ネットワーク輻輳とリンク/ノード障害、及びそれぞれの原因によるパケット損失のパターンの違いを詳細に説明する。 Next, we will explain in detail the two causes of packet loss that can occur when streaming in the above-mentioned form, that is, network congestion and link / node failure, and the difference in the packet loss pattern due to each cause. To do.
典型的なネットワーク輻輳においては、パケットはネットワーク・ルータ中のパケット・キューで発生するオーバーフローによって失われる。今日のルータのほとんどは、パケット・キューで棄却するパケットを選択するアルゴリズムとしてRED(Random Early Drop)とよばれるものを採用している。 In typical network congestion, packets are lost due to overflows that occur in packet queues in the network router. Most of today's routers employ an algorithm called RED (Random Early Drop) as an algorithm for selecting a packet to be discarded in the packet queue.
図2を参照してREDを説明する。ネットワーク100上の例えばルータ105には、よく知られているように、ルータ105に到着するパケットが適切なリンクに送り出されるまでの間蓄積しておくためのパケット・キュー(REDキュー)201が設けられている。REDキュー201の容量(最大長)をHmaxとする。ストリーミング・サーバ101からクライアント111へのストリーム203に加えて、他のパケットのフロー205(これもストリームかもしれないし、あるいは他の形態のパケットのフローであるかもしれない)もルータ105を通り、これらがREDキュー201に流れ込んでいるとする。ここにおいて、現在REDキュー201中に入っているパケット数h(t)が容量Hmaxになるまで放置し、REDキュー201が満杯になるとそれ以上のパケットを棄却するという制御を行うと、突然大量のパケットの棄却が始まってしまう可能性があるが、これではパケットのあて先側でネットワーク輻輳の「兆候」を検知して事前に適切な対策を取ることができないなどの不都合がある。そのため、REDにおいては、REDキュー201の容量よりも小さい警告レベルHminを設定し、現在のパケット数h(t)が警告レベルHminを超えた場合には、REDキュー201に新たに入来するパケットをHmin - h(t)に比例した確率でランダムに棄却する。REDキュー201が満杯になろうとするにつれて、REDキュー201に入来する全てのフローについてパケットがこのように徐々に棄却されるため、これらのフローのあて先で観測されるところのフロー中のパケット損失のパターンは不連続的、つまりフロー中で失われたパケットが飛び飛びに分布するパターンになる可能性が非常に高い。
RED will be described with reference to FIG. For example, the
REDについての更に詳細な説明は以下の非特許文献3を参照されたい。
仮に、REDとは別のパケット棄却アルゴリズムを採用したとしても、ネットワーク輻輳の際にフロー中のパケットが連続して失われるような事態を回避することが一般に好ましいので、結局この場合でもネットワーク輻輳によって起こるパケット損失パターンはやはり不連続的になる可能性が非常に高くなるようなアルゴリズムが通常は採用されることになる。 Even if a packet discard algorithm different from RED is adopted, it is generally preferable to avoid a situation in which packets in a flow are continuously lost during network congestion. Algorithms are usually employed where the packet loss patterns that occur are also very likely to be discontinuous.
一方、リンク/ノード障害では、ネットワークの性能劣化は以下の2つのステージを取る。
(1)遮断ステージ:先ず、障害の起こったリンクやノード上で伝送中であったりあるいは障害を検知して送り先を切り替えるまでの間にそこへ送り込まれた全てのパケットが失われる。
(2)ルーティング・ループ・ステージ:障害の起こったリンクやノードを回避するように他のノードで夫々ルーティング・テーブルを再構成する過程でこれらのルーティング・テーブル間の不適合により引き起こされるルーティング・ループにパケットが入ってしまうことがある。ルーティング・ループに入って余分なホップが追加されることでTTL(Time To Live、生存時間)が設定値を超えてしまったパケットは失われる。ルーティング・ループに入ったもののそこから抜け出してTTL内にあて先に到達することができたパケットも、その遅延は通常よりも大きくなる。
On the other hand, in the case of a link / node failure, network performance degradation takes the following two stages.
(1) Blocking stage: First, all the packets that are being transmitted on the failed link or node or that are sent to the destination until the failure is detected and the destination is switched are lost.
(2) Routing loop stage: In the process of reconfiguring the routing table in other nodes to avoid the failed link or node, in the routing loop caused by mismatch between these routing tables Packets may get in. Packets whose TTL (Time To Live) exceeds the set value due to the addition of an extra hop by entering the routing loop are lost. Packets that enter the routing loop but get out of it and reach the destination in TTL also have a greater delay than usual.
遮断ステージの期間は典型的にはほぼ1〜2秒程度である。つまり、クライアントからは、リンク/ノード障害の遮断ステージに対応して、1〜2秒程度の連続した、つまりバースト状のパケット損失が観測される。その後、各ノードにおいてルーティング・テーブルの再構成が行われるが、この過渡状態の間はリンク・ノード障害の発生前に比べてパケット損失率とパケット遅延時間が増大する可能性が高い。 The period of the blocking stage is typically about 1 to 2 seconds. That is, from the client, continuous, that is, burst-like packet loss of about 1 to 2 seconds is observed corresponding to the link / node failure blocking stage. Thereafter, the routing table is reconfigured at each node. During this transient state, there is a high possibility that the packet loss rate and the packet delay time will increase compared to before the occurrence of the link node failure.
上述のように、ネットワーク性能劣化の2つの原因による夫々のパケット損失パターンははっきりと異なるため、ストリーミング・セッションの間にパケット損失パターンを観測していれば、今観測されているネットワーク性能劣化がいずれの原因で起こっているかを識別することができる。 As mentioned above, each packet loss pattern due to two causes of network performance degradation is clearly different, so if the packet loss pattern is observed during a streaming session, the network performance degradation currently observed will eventually You can identify what is happening due to.
図3は図1のネットワークのストリーミング・サーバ101で行われる、ネットワーク輻輳・リンク/ノード障害制御の手順を示すフローチャートである。
FIG. 3 is a flowchart showing a procedure of network congestion / link / node failure control performed by the streaming
図3のフローチャート中のブロック301において、ストリーミング・サーバ101がクライアント111へのストリームの送信を開始するに当たって、このストリームに関する過去T秒間のネットワーク統計情報を取り続けるという処理を開始する。ネットワーク統計情報とは、ここでは前述の式(1)を使って行われる標準的なネットワーク輻輳制御のためのパラメータとして使用される平均パケット損失率の平均値とラウンド・トリップ時間の平均値及び分散のことである。時間Tは、対象となるネットワークの性質や使用状況、またこれまでの統計データなどに基づいて、これらのパラメータが式(1)を用いて輻輳制御を行うために十分な安定性をもつとともに状況の変化に対応できる応答性を持つような値に設定される。ブロック301は更に輻輳制御を開始する。ここで開始される輻輳制御としては、例えば前述の式(1)に基づく輻輳制御であってよい。なお、輻輳制御開始当初においては、必要なパラメータの十分に正確な値は不明であることが多いが、このような場合は、例えば過去の同じようなストリーミング転送やネットワーク100上で最近行われたストリーミング転送の際に得られたパラメータを初期値として使用することができる。
In
次に、ブロック303において、現在のネットワーク統計情報を退避する。
Next, in
ストリームがサーバ101からクライアント111に送られている間、クライアント111からサーバにストリームを構成するパケットの到着に対する確認応答が返送され続ける。ブロック305において、この確認応答からn個以上の連続したパケット損失が検出されたか否か、つまりリンク/ノード障害が発生したかどうかが検査される。n個以上の連続したパケット損失があったか否かを検査する具体的な方法としては、例えば、確認応答に受信したパケットのシーケンス番号を含めておくことで、一連の確認応答中の隣り合うシーケンス番号が(n+1)以上変化したことを検出すればよい。あるいはパケットを送り出してから一定時間以上それに対する確認応答が到着しない場合は当該パケットはクライアント111に到着しなかったと判断したり、あるいはクライアント111が次に到着すべきパケットを所定期間受信できなかった場合、当該パケットは失われたものとクライアント111が判断してそれが到着しなかったという応答をサーバに返すという、タイムアウトを考慮した処理を行うこともできる。また、連続したn個のパケット損失が起こったことをクライアント111側で検出してサーバ101にその結果を返送することもできる。なお、nは、対象となっている具体的なネットワークの性質やこれまでの統計データなどに基づいて、ネットワーク輻輳とリンク/ノード障害を必要とされる精度で識別できる値に設定すればよい。また、タイムアウト処理における所定時間も同様に設定することができる。また、完全に連続したパケット損失だけではなく、例えば連続した10個のパケットのうちの9個が失われたというような、実質的に連続したパケット損失も連続したパケット損失として取り扱うこともできる。
While the stream is being sent from the
ブロック305がn個以上の連続したパケット損失を確認すると、先ずブロック307において、先に退避しておいたネットワーク統計情報(ブロック303)を輻輳制御(ブロック301により開始)が現在のネットワーク統計情報の代わりに使用するように設定する。これにより、輻輳制御から見たネットワーク統計情報はリンク/ノード障害発生直前の状態に固定される。従って、リンク/ノード障害によるネットワーク性能の劣化が起こっている間、つまりブロック305の判断結果がYESになってからこの障害が回復するまで(ブロック311の説明を参照)の間は、ネットワーク輻輳制御を、直近のネットワーク統計情報ではなく、今回のリンク/ノード障害が発生する直前の統計情報に基づいて行われるようにしている。
When block 305 confirms n or more consecutive packet losses, first, in
次に、ブロック309で、ストリームの送出のために使用する帯域を維持したままでエラー訂正能力を向上させる処理を開始する。この処理としては、例えばエラー訂正コードを付加する、通常の状態で使用しているエラー訂正コードよりも訂正能力の高いエラー訂正コードに切り替える、損失パケットの再送を行うようにする、などがある。ルーティング・ループ・ステージの間のネットワーク性能の劣化は送出するストリームのレートを下げても改善されないが、ここで挙げたようなエラー訂正能力の向上処理を行うことで、この間にクライアントで受信されるストリームの品質が改善される。
Next, in
なお、この処理に当たって、ストリームの送出にこれまで使用してきた帯域の一部をエラー訂正コードや再送パケット用に割り当てると、ストリーム中のビデオや音声などのデータそれ自体の帯域は減少する。この場合でもストリーム全体のために使用する帯域は維持されていると考える。また、状況が許すなら、データそれ自体が使用する帯域をそのまま維持し、エラー訂正用などに別途帯域を確保してもよい。 In this process, if a part of the band that has been used for the transmission of the stream is allocated for the error correction code or the retransmission packet, the band of the data such as video and audio in the stream itself decreases. Even in this case, the bandwidth used for the entire stream is considered to be maintained. If the situation permits, the bandwidth used by the data itself may be maintained as it is, and a separate bandwidth may be secured for error correction.
なお、ブロック309の処理は必ずしも必要ではない。つまりブロック309を省略したとしても、リンク/ノード障害をネットワーク輻輳によるものと誤認してストリームの送出レートを下げてしまうという不適切な処理を行うためにルーティング・ループ・ステージの間に受信ストリーム品質を何も処理をしない場合に比べても更に低下させてしまう、という従来技術の欠点は解消される。
Note that the processing of
次にブロック311において、リンク/ノード障害から回復したか否かを判定する。具体的には、ネットワーク統計情報の最近の値が安定化してきたか否か(つまり値の変化が小さくなり、障害発生前と同じである必要はないが定常値に収束してきたか否か)を判定し、安定化してきたと判断された場合にはルーティング・ループ・ステージの終了、つまりリンク・ノード障害状態から回復したと判定する。ネットワーク統計情報が安定化してきたか否かの判定は、より具体的には、例えばパケット損失率とラウンド・トリップ時間の分散がそれぞれの平均の所定倍以内に収束したかどうかを検査することによって行うことができる。
Next, at
ブロック311においてリンク/ノード障害から回復したと判定された場合には、ブロック313においてエラー訂正能力の向上処理(ブロック309により開始)を終了させるとともに、退避されていたネットワーク統計情報の代わりに現在のネットワーク統計情報が輻輳制御に供給されるように設定して、ブロック303に戻る。
When it is determined in
なお、ブロック305においてn個以上の連続したパケット損失が検出されなかった場合には制御は303に戻り、輻輳処理は現在のネットワーク統計情報を使用し続ける。従って、リンク/ノード障害ではなくネットワーク輻輳によってネットワーク性能が低下すると、それに応答して輻輳制御がストリームの送出レートを低下させるという適切な対応が取られる。
If n or more consecutive packet losses are not detected in
以上説明したように、本発明によれば、ネットワーク性能が劣化した場合にその原因を簡単な構成・手順で判別してそれに応じた対応を取ることで、ストリーミング品質の低下を最小限に抑えることができる。 As described above, according to the present invention, when the network performance is deteriorated, the cause is determined by a simple configuration / procedure, and the corresponding action is taken to minimize the deterioration of the streaming quality. Can do.
従って、本発明をネットワーク上のストリーミングにおける輻輳制御に適用することは大いに有益である。 Therefore, it is very beneficial to apply the present invention to congestion control in streaming over a network.
100:ネットワーク
101:ストリーミング・サーバ
103:リンク
105:ルータ
107:リンク
109:ルータ
111:クライアント
201:REDキュー
203:ストリーム
205:フロー
207:パケット
209:パケット
100: network 101: streaming server 103: link 105: router 107: link 109: router 111: client 201: RED queue 203: stream 205: flow 207: packet 209: packet
Claims (14)
前記リンク/ノード障害が発生していない間にネットワーク輻輳が発生したと判定された場合には、前記ストリーミング・サーバからの前記ストリームの送出レートを低下させる処理を実行し、
前記リンク/ノード障害が発生したと判定された場合には前記ストリームの送出レートの低下を行わせる処理を実行しない
輻輳制御方法。 A link / node failure occurs when a bursty packet loss occurs in the stream sent by streaming from the streaming server to the client via the network before reaching the client or a predetermined node on the network. Determine that it occurred,
When it is determined that network congestion has occurred while the link / node failure has not occurred, a process of reducing the transmission rate of the stream from the streaming server is executed,
A congestion control method that does not execute a process of reducing the transmission rate of the stream when it is determined that the link / node failure has occurred.
The congestion control method according to claim 13, wherein the statistical information regarding the performance of the network includes a packet loss rate or a round trip time.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004181598A JP2006005775A (en) | 2004-06-18 | 2004-06-18 | Deterioration cause determination method of network performance, and congestion control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004181598A JP2006005775A (en) | 2004-06-18 | 2004-06-18 | Deterioration cause determination method of network performance, and congestion control method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006005775A true JP2006005775A (en) | 2006-01-05 |
Family
ID=35773763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004181598A Pending JP2006005775A (en) | 2004-06-18 | 2004-06-18 | Deterioration cause determination method of network performance, and congestion control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006005775A (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007189400A (en) * | 2006-01-12 | 2007-07-26 | Kddi R & D Laboratories Inc | Communication method, device and program for re-sending a management traffic in a in-band management network |
JP2009117954A (en) * | 2007-11-02 | 2009-05-28 | Toshiba Corp | Communication device, and means and program for specifying cause of fault |
JP2010119046A (en) * | 2008-11-14 | 2010-05-27 | Traffic Shimu:Kk | System for recording data, program, and recording medium |
JP2010212865A (en) * | 2009-03-09 | 2010-09-24 | Kddi Corp | Method of detecting fault in network |
JP2010233192A (en) * | 2009-03-30 | 2010-10-14 | Nec Corp | Packet transmission/reception system |
JP2010537476A (en) * | 2007-08-15 | 2010-12-02 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | Individual data flow performance monitoring |
WO2014098096A1 (en) | 2012-12-19 | 2014-06-26 | 日本電気株式会社 | Data transmission device, data transmission method, and program therefor |
WO2019111709A1 (en) * | 2017-12-07 | 2019-06-13 | オムロン株式会社 | Control system, information processing device, and abnormality factor estimation program |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001230809A (en) * | 2000-02-15 | 2001-08-24 | Mitsubishi Electric Corp | Communication system and communication method and transmission terminal and reception terminal |
WO2004051954A2 (en) * | 2002-12-03 | 2004-06-17 | Hewlett-Packard Development Company, L.P. | A method for enhancing transmission quality of streaming media |
-
2004
- 2004-06-18 JP JP2004181598A patent/JP2006005775A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001230809A (en) * | 2000-02-15 | 2001-08-24 | Mitsubishi Electric Corp | Communication system and communication method and transmission terminal and reception terminal |
WO2004051954A2 (en) * | 2002-12-03 | 2004-06-17 | Hewlett-Packard Development Company, L.P. | A method for enhancing transmission quality of streaming media |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4526127B2 (en) * | 2006-01-12 | 2010-08-18 | 株式会社Kddi研究所 | Communication method, apparatus and program for retransmitting management traffic in in-band management network |
JP2007189400A (en) * | 2006-01-12 | 2007-07-26 | Kddi R & D Laboratories Inc | Communication method, device and program for re-sending a management traffic in a in-band management network |
JP2010537476A (en) * | 2007-08-15 | 2010-12-02 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | Individual data flow performance monitoring |
JP2009117954A (en) * | 2007-11-02 | 2009-05-28 | Toshiba Corp | Communication device, and means and program for specifying cause of fault |
US8843079B2 (en) | 2007-11-02 | 2014-09-23 | Kabushiki Kaisha Toshiba | Communication apparatus and program for identifying faults and computer program storage medium |
JP2010119046A (en) * | 2008-11-14 | 2010-05-27 | Traffic Shimu:Kk | System for recording data, program, and recording medium |
JP2010212865A (en) * | 2009-03-09 | 2010-09-24 | Kddi Corp | Method of detecting fault in network |
JP2010233192A (en) * | 2009-03-30 | 2010-10-14 | Nec Corp | Packet transmission/reception system |
WO2014098096A1 (en) | 2012-12-19 | 2014-06-26 | 日本電気株式会社 | Data transmission device, data transmission method, and program therefor |
JPWO2014098096A1 (en) * | 2012-12-19 | 2017-01-12 | 日本電気株式会社 | Data transmission apparatus, data transmission method, and program thereof |
US9860182B2 (en) | 2012-12-19 | 2018-01-02 | Nec Corporation | Data transmission device, data transmission method, and program therefor |
EP2938032B1 (en) * | 2012-12-19 | 2019-04-24 | Nec Corporation | Data transmission device, data transmission method, and program therefor |
WO2019111709A1 (en) * | 2017-12-07 | 2019-06-13 | オムロン株式会社 | Control system, information processing device, and abnormality factor estimation program |
JP2019101970A (en) * | 2017-12-07 | 2019-06-24 | オムロン株式会社 | Control system, information processing apparatus, abnormality factor estimation program |
US11181890B2 (en) | 2017-12-07 | 2021-11-23 | Omron Corporation | Control system, information processing device, and anomaly factor estimation program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8472315B2 (en) | Method and system for controlling link saturation of synchronous data across packet networks | |
US7675857B1 (en) | Method and apparatus to avoid network congestion | |
Amir et al. | Reliable Communication in Overlay Networks. | |
Wang et al. | Efficiency/friendliness tradeoffs in TCP Westwood | |
EP1235392A1 (en) | Data transmitting/receiving method, transmitting device, receiving device, transmitting/receiving system, and program | |
EP1770929B1 (en) | Evaluating quality of service in an IP network with cooperating relays | |
KR101446026B1 (en) | Retransmission scheme for lossy media | |
US20020118641A1 (en) | Communication device and method, and system | |
US8868998B2 (en) | Packet communication apparatus and packet communication method | |
US20070183332A1 (en) | System and method for backward congestion notification in network | |
US20080137669A1 (en) | Network of nodes | |
JP2006254452A (en) | Service quality assurance for ip telephone | |
JP2008507204A (en) | How to manage inter-zone bandwidth in a two-way messaging network | |
JP2020533923A (en) | Packet transmission methods, network components, and computer-readable storage media | |
Natarajan et al. | Concurrent multipath transfer using transport layer multihoming: Performance under network failures | |
JP2006005775A (en) | Deterioration cause determination method of network performance, and congestion control method | |
JP2006197473A (en) | Node | |
Anand et al. | Netreplay: a new network primitive | |
US20130185454A1 (en) | Technique for obtaining, via a first node, information relating to path congestion | |
JP2009010575A (en) | Repeater for multicast communication, and terminal device | |
Siddiqi et al. | Improving network convergence time and network stability of an OSPF-routed IP network | |
US20100040071A1 (en) | Communication system | |
Perez | IP, Ethernet and MPLS Networks: Resource and Fault Management | |
US20140369189A1 (en) | Method of controlling packet transmission in network system and network system transmitting packet using pseudo-tcp agent | |
Sakatani | Congestion avoidance for video over IP networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070618 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20071102 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071113 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071220 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20091127 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20091130 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091203 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091215 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100305 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100520 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100818 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100903 |