Maui (2010/11/01)

To Do
• FECRACを評価するためのNS環境づくり。
– SenderがFECwindowを下げた時のタイマーsetting
Maui (2010/11/01)
適応型
高品位リアルタイムストリーミング
Kazuhisa D4
研究概要
• 高品位リアルタイムストリーミングの品質維持
をサポートする手法の提案
– 高品位リアルタイムストリーミング
• 高データ転送レート(数十~百Mbps)
• 高インタラクティブ性 (例:ビデオ会議, 遠隔医療)
– ストリーミング品質
• 1) データロス率
• 2) 実データ転送レート
• 品質適応型配信機構の構築
– ネットワーク状態変動に対応し、ストリーミング品
質を最大化
3
関連研究:適応型リアルタイムストリーミング
• TCP-Friendly Rate Control
– パケットロス率,RTT (Round trip time)を基に利用
可能な帯域幅を決定
• TCPと同じネットワーク帯域を消費する
– 決定された帯域幅を超えないように転送レートコ
ントロールを行う
– パケットロスが発生しない場合は、転送レートを
増加させて、パケットロス率を探る
if
( p (t )  0)
 loss phase 
PacketSize


X (t )  max min( T (t );2 Re ceiveRate);
64

else
 Slow Start phase 
if ( Now  TimeLastDoubledDurin gSlowStart  RTT (t )

PacketSize 
X (t )  max min( 2 X (t  1);2 Re cieveRate);

Rtt (t ) 

TimeLastDoubledDurin gSlowStart  Now
4
問題意識
• 従来のLoss/Delay-based適応手法
– 1)パケットロスをネットワーク指標(輻輳発生)とし
て用いる
• パケットロス発生による再生品質劣化が前提
– 2)パケットロス発生/Delayの変化に対し、容易に
実データ転送レートを減少させる(パケットロスを
出来るだけ発生させない仕組み)
• ネットワーク帯域利用効率が低くなる  実データ転送
レートを最大化しない
データロス
or
遅延の変化
要求されるデータレート
ギャップ
転送レートコントロール
5
TFRC throughput vs. Delay and Ploss
LAN
US
US-EU
US-ASIA
1000
600
400
200
1000
Throughput (Mb/s)
800
0.01%
0.05%
600
0.1%
400
0.5%
200
0.1%
1
10
100
200
400
Throughput (Mb/s)
800
提案手法
• AL-FECを利用した品質適応: Dynamic FEC
– AL-FEC (Application Layer Forward Error
Correction)
• パケットレベルでの冗長化を行う
– FECレート:データに付加する冗長データの割合
– Dynamic FEC
– 1) FECレートを調整し再生品質維持を試みながら,
ネットワーク状態推測を行う
– 2) その推測に基づき、 “必要に応じて”実データ転送
レートを調整(転送レートコントロール)
Dynamic FEC
要求されるデータレート
ギャップ
7
Dynamic FECに基づく品質適応
8
Design Goal
• FEC-based Rate Control (FECRAC)
– Real-time Video Application Issues
• High utilization of the link bandwidth
–  高データ転送レートを維持
• Effective FEC rate control
–  データロスを最小化
• High stability
– No severe fluctuations of both data and FEC rate.
– Cooperative control of consumption bandwidth
• Preserve fairness among multiple connections
Video Streaming
TCP flows
BW
Delay
・
・
・
・
・
・
Design Goal
• FEC-based Rate Control (FECRAC)
– 要求を満たす制御: ネットワーク状態が変動して
も、FECによりストリーミング品質を最大化
• パケットロスを最小化し、要求されるデータ転送レート
を維持する
– 協調的な制御: 各FECRACフロー, TCPフロー
• ネットワーク状態に応じて、効率的なデータ転送レート
コントロールを行える
• TCPフローの大きなパフォーマンス低下を引き起こさな
い
Video Streaming
TCP flows
BW
Delay
・
・
・
・
・
・
Design Goal
• FEC-based Congestion Control
– Concept: FECRACよりも,fairnessを更に意識して
いる
– RTT fairness
• Responsivenessが遅いフロー(i.e. long RTT)の対応手法
が問題になる
Video
Streaming
TCP flows
BW
Delay
・
・
・
・
・
・
提案手法の要件
• どのように、またどのようなネットワーク状態(輻輳)指標を
抽出・利用し、FECレート又は実データ転送レート変更して
いく必要があるのか
• 1) ネットワーク状態・指標の定義
– 転送制御に必要な決定要素
• 2) FEC/実データ転送レートコントロールの定義
– 増加/減少アルゴリズム
• 3) レート変更決定粒度の定義
– フィードバックアルゴリズム
品質適応
(Dynamic FEC)
ネットワーク状態推測
転送制御
1) FECレートコントロール
2) 転送レートコントロール
12
Requirement
• ああ
• Packet Sending strategy
– System requirement
• TCP詳細を参考に(Control Strategy)
ネットワーク指標
• 何をもって制御していくか?
転送制御
• FEC/実データレート変更手法とアルゴリズム
転送制御パラメータ
• 輻輳指標
– ブロックエラー率P%以上発生
• 閾値FECレート: 前回輻輳が起きたポイント
• FECレート増加率: α(cfr, thfr, berr)
• FECレート減少率: β(cfr, berr)
– cfr: 現在のFECレート、thfr: 閾値FECレート, berrブ
ロックエラー率に依存
(備考: next stepとして、RTTにも依存する)
16
FEC window control
• FEC-WINDOW (FWND)
Data packet
Encoding Block Length (N)
Repair packet
・・・・
Non congestion
congestion
・・・・
FWND size (0<=FWND<=N)
Block Error Rate
・・・・
• MAX-FWNDまで変更可能
– 処理遅延と関係する
• FEC Encoding Block-baseのACKに応じて対応
Parameter Settings
• Scenario/Network
• FECRAC
– P: 1)0.01, 2)0.05, 3)0.1
– AIAD (additive Increase and Adaptive Decrease)
FEC-based Rate Control
Application policy
Media source
network
client
Rate Control
・Packet loss rate
・Block Error Rate
Dynamic FEC Congestion
control
検証シナリオ
• Network load
– Low, middle, high
• Video_num : TCP_num = X:Y
– Video_num = 1 or 15 or 30
• Video: TFRC, Static FEC, Dynamic FEC
• シミュレーションのシナリオ
– どうなって欲しいのか?何を期待してやるのか?何を見たいのか?
– 全体:FECの効果(リカバリ), stability, TCPとの帯域的な関係
• FECRACのパラメータが上記とどのように関係してくるか?
– Threshold_P, decrease/increase algorithm
– To identify the impact of FEC consumption bandwidth (RAP)
– To identify FEC effectiveness of recovering packet loss
– To identify FECRAC stability
Simulation Parameters
パラメータ
値
最大データ転送レート(Mbps)
30(High), 10(Middle), 1(Low)
パケットサイズ (bytes)
1460
キュー長:K
10
リンク帯域幅:u (Mbps)
1000
RTT (sec)
0.1
シミュレーション時間
60sec
ブロック長
127
Video Streaming
TCP flows
BW
Delay
・
・
・
・
・
・
FECRAC: overall average data rate and
loss rate (TRACE)
• FECRACのフロー数をどうするか?
Data rate/loss rate
P=0.01
P=0.05
P=0.1
Time
FECRAC vs flow-number
• いるかなー?
Data rate/loss rate
P=0.01
P=0.05
P=0.1
Flow-number
FECRAC: Fairness index with TCP
• aaa
Fairness index
TFRC
P=0.01
P=0.05
P=0.1
TCP number
1.
2.
Introduction
Rate Control Mechanism
1.
2.
3.
Related Work
Problem Definition
Definition
1.
2.
FECRAC components to be considered
Consideration FEC impact
Analysis
1.
2.
3.
4.
The Model
FECRAC parameters
Analysis
Setting FECRAC parameters
1.
(giving justification)
Evaluation
1.
6.
FEC Codes/Rate Control
Design Goals (CBR-TFRCの真似)
1.
2.
5.
何を残して、何でICNPを勝負するか?
FEC-based Rate Control
1.
4.
Chapter
To evaluate our method
Conclusion and Future Work
この部分をMAUIで相談
アルゴリズム・パラメータの記述
• 正当性・妥当性を強調したいが、
– Ad hoc的な要素がある
• 許容ブロックエラー率,Decrease/increase ratio
– モデルで述べることが可能なのは、提案するアル
ゴリズムが一番妥当であるということ
• simulationでもOKでしたという流れ
今年度のスケジュール
以上です
分析モデル
• 有限キュー長をもつシングルボトルネック (M/M/1/K)
– ネットワーク負荷 = λ_tot / u
• (1) TFRC及びFECの特性検証
– FECレート/データ転送レートコントロール方式の検討
• (2) 過渡特性解析
– どのように安定させるか?(Feedback遅延の影響)
• (3): 総合的な解析・デザイン・評価
29
ロスモデル
• FECが有効であるか否かは,ロスプロセスが
根本的な要素(TFRCにとっても同様)
– ブロックエラー率: Sequenceが連続しているN個の
パケットがどれくらいおちるのか?
– バースティ(連続的な)ロスが起きるのか、否か?
• 一般的なブロックエラー率の算出
– 最大キュー長になる状態確率を利用
• ロスプロセスは独立と見なしている
• 再帰計算を利用
– [Cidon+ 1993]
– 一つ前のキュー長を考慮
30
再帰計算の概要
• 定常状態でのX_nの確率分布π
– π=π・P
X_n
Nth packet
e ut (ut )i
b(i)  
a(t )dt , (0  i  K )
i!
0
i packets
K
(N+1)th packet

X_n+1
• ブロックエラー率P(j,n)を確率分布π、
状態遷移行列、及び初期条件を利
用して、再帰的に求める
j 個のロス
・・・・・・・
・・・・
n・・・・・・・・・・・・・・・・・・・・3 2 1
状態遷移行列
b ( 0)
0
 1  b ( 0)

1
 1   b(i )
b(1)
b ( 0)
 i 0
2

1

b ( 2)
b(1)
  b(i )
i

0




P   K 2

1   b(i ) b( K  2) b( K  3)
 Ki 01
 1   b(i ) b( K  1) b( K  2)
 i 0
 K 1
 1   b(i ) b( K  1) b( K  2)
 i 0
0 

 0
0 


 0
0 



 

 b ( 0)
0 

 b(1) b(0) 


 b(1) b(0) 
31


0
初期条件
1)キューイング?or 2)ドロップ?
i
分析モデル
• Single Bottleneck link with finite queue length (M/M/1/K)
• (1) TFRC及びFECの特性検証
– FECレート/データ転送レートコントロール方式の検討
• (2) 過渡特性解析
– どのように安定させるか?(Feedback 遅延の影響)
• (3): 総合的な検証・評価
32
TFRC vs. AL-FEC
• データ転送レートとネットワーク負荷に起因する
ロスプロセスがどのように影響するか?
– ソースの最大データ転送レートは同一
– 全体のトラフィック(λ_tot)に対するストリーミングフ
ローの合計トラフィック(最大転送レート時)の割合は
一定
• 初期ネットワーク負荷(λ_tot/u)に応じたパフォー
マンスを見る
最大転送レートX(Mbps)のビデオストリームN本
λ_tot
・
・
Background Traffic
u
33
TFRC vs. AL-FEC
• パフォーマンス指標
1. Video rate index (<= 1.0)
• 最高データ転送レートに対する現在のデータ転送レートの割合
2. Data loss rate (<= 1.0)
• ブロック長当たりのデータロス率 (After FEC decoding)
3. FEC utility (<= 1.0)
• (利用可能なデータパケット + 復元されたパケット) / ブロック長
パラメータ
値
最大データ転送レート(Mbps)
30(High), 10(Middle), 1(Low)
パケットサイズ (bytes)
1460
最大キュー長:K
10
リンク帯域幅:u (Mbps)
1000
RTT (sec)
0.1
ストリーミングの帯域率
0.2
ブロック長
127
34
TFRC
• High-data flow
– 比較的ネットワークロードが高くない状態でも、
Video Rate Indexが低下してしまう☹
• ネットワークリソースを有効活用しない
– データロスを低く抑える☺
35
Adaptive FEC
• FECレートのみを変更
– 最も一般的な方式: Code Rate = 1.0 – (average Loss Rate)
• High-data flow
– 初期ネットワーク負荷が増加するにつれ、データロスが発生
しやすくなる☹ (low-data flowはFEC utilityが高い☺)
– 無駄な冗長パケットが発生しやすい
36
CDF of Block Error rate
ネットワーク負荷0.8
ネットワーク負荷0.9
ネットワーク負荷1.0
37