fec and pseudo-arq for receiver-driven layered multicast philip a. chou, alex mohr, albert wang,...
TRANSCRIPT
![Page 1: FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington,](https://reader036.vdocuments.pub/reader036/viewer/2022081602/55147526550346b0158b5277/html5/thumbnails/1.jpg)
FEC and Pseudo-ARQfor Receiver-drivenLayered Multicast
Philip A. Chou, Alex Mohr,Albert Wang, Sanjeev Mehrotra
(Microsoft, University of Washington, Stanford)
![Page 2: FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington,](https://reader036.vdocuments.pub/reader036/viewer/2022081602/55147526550346b0158b5277/html5/thumbnails/2.jpg)
Problem
• Find ways to multicast real-time audio and video efficiently and robustly over the near-term Internet– Best-effort
• packet loss, jitter, out-of-sequence
– Heterogeneous• transmission rate, loss rate, delay, jitter, receiver capacity
– Dynamic
• Influence design of network services in longer term
![Page 3: FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington,](https://reader036.vdocuments.pub/reader036/viewer/2022081602/55147526550346b0158b5277/html5/thumbnails/3.jpg)
Outline
• Multicast
• Receiver-driven Layered Multicast
• FEC and Pseudo-ARQ
![Page 4: FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington,](https://reader036.vdocuments.pub/reader036/viewer/2022081602/55147526550346b0158b5277/html5/thumbnails/4.jpg)
Multicast
• Mechanism for broadcasting in packet networks: any receiver able to receive broadcast packetsby “tuning in” to broadcast address
• Our focus: IP networks
• Protocols:– How to dynamically maintain a multicast routing tree
• IGMP, DVMRP/PIM/CBT/…
– How to forward packets along the tree• IP Multicast
![Page 5: FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington,](https://reader036.vdocuments.pub/reader036/viewer/2022081602/55147526550346b0158b5277/html5/thumbnails/5.jpg)
Packet Forwardingin a Multicast Routing Tree
S
RR
RR R
1 2
S,G | data :S,G - 1,2 :
multicast routing table
packet S = Source AddressG = Multicast Group Address
![Page 6: FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington,](https://reader036.vdocuments.pub/reader036/viewer/2022081602/55147526550346b0158b5277/html5/thumbnails/6.jpg)
Grafting / Joining / Subscribing
S
RR
RR R RR
1 2 Join S,G
:S,G - 1,2 :
multicast routing table
Join S,G
:S,G - 1 :
multicast routing table
1
![Page 7: FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington,](https://reader036.vdocuments.pub/reader036/viewer/2022081602/55147526550346b0158b5277/html5/thumbnails/7.jpg)
Pruning / Leaving / Unsubscribing
S
RR
RR RR
multicast routing table
R
Leave S,G
:S,G - 1 :
1
Leave S,G
:S,G- 1, 2 :
multicast routing table
1
![Page 8: FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington,](https://reader036.vdocuments.pub/reader036/viewer/2022081602/55147526550346b0158b5277/html5/thumbnails/8.jpg)
Observations
• Bandwidth is conserved.
• Sender has no knowledge of receivers(likewise any interior router).
• Scalable: As new receivers join, no new resources (bandwidth, computation) are needed at the sender, and resources needed at any individual router are bounded.
• Joining and Leaving are a form of feedback.
![Page 9: FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington,](https://reader036.vdocuments.pub/reader036/viewer/2022081602/55147526550346b0158b5277/html5/thumbnails/9.jpg)
Receiver-driven Layered Multicast (S. McCanne ‘96)
Base layer ... to multicast group G0
Enh. layer 1 ... to multicast group G1
Enh. layer 2 ... to multicast group G2
time
• Code source in layers (base, enh1, enh2, …)
• Send each layer to different multicast group
• Receivers subscribe to as many layers as desired
S0t S0t+1 S0t+2 S0t+3 S0t+4 S0t+5
S1t S1t+1 S1t+2 S1t+3 S1t+4 S1t+5
S2t S2t+1 S2t+2 S2t+3 S2t+4 S2t+5
![Page 10: FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington,](https://reader036.vdocuments.pub/reader036/viewer/2022081602/55147526550346b0158b5277/html5/thumbnails/10.jpg)
Dynamic Joining/Leaving
S
RR
RRR
• Receivers subscribe and unsubscribe according to instantaneous capacity
transmission rate
loss
pro
b
1
0
![Page 11: FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington,](https://reader036.vdocuments.pub/reader036/viewer/2022081602/55147526550346b0158b5277/html5/thumbnails/11.jpg)
The Case for FEC
S
RR
RRR
• Problem is that ambient congestion may always be present
transmission rate
loss
pro
b
1
0
![Page 12: FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington,](https://reader036.vdocuments.pub/reader036/viewer/2022081602/55147526550346b0158b5277/html5/thumbnails/12.jpg)
FEC forReceiver-driven Layered Multicast• Amount of redundancy must be receiver-
driven to deal with heterogeneity, dynamics• Generate FEC in layers, using a systematic
rate-compatible code (for each source layer)• Send each layer to different multicast group• At each receiver, subscribe to number of
source layers, number of parity layers for each source layer, to optimize received quality
![Page 13: FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington,](https://reader036.vdocuments.pub/reader036/viewer/2022081602/55147526550346b0158b5277/html5/thumbnails/13.jpg)
Generation of Parity Packets• Block each source layer into K packets per block
• Apply systematic Reed-Solomon type code to packets (bytewise) to produce N-K parity packets
Source layer ... to multicast group Gx
Parity layer 1 ... to multicast group Gx.1
Parity layer 2 ... to multicast group Gx.2
Parity layer 3 ... to multicast group Gx.3
StK StK+1 StK+2 S(t+1)K
Pt+1,1Pt,1
Pt+1,2Pt,2
Pt+1,3Pt,3
S(t+1)K+1 S(t+1)K+2
K
N-K
![Page 14: FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington,](https://reader036.vdocuments.pub/reader036/viewer/2022081602/55147526550346b0158b5277/html5/thumbnails/14.jpg)
Optimization at Each Receiver
• Measure transmission rate and loss probability
• For this transmission rate and loss probability, minimize expected distortion (over number of source layers, and number of parity layers for each source layer)
• Subscribe to optimal number of source layers, and optimal number of parity layers for each source layer
![Page 15: FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington,](https://reader036.vdocuments.pub/reader036/viewer/2022081602/55147526550346b0158b5277/html5/thumbnails/15.jpg)
Expected Distortion and Rate
)(
)()()1(
)1()1()1()1(
8
8
818
211087818
108717818
ii i
ii i
i ii
RpSD
pSD
pDDDppOpDpDppD
pDpppDppDD
i iRR
layer
D0
D1
…
D8
D2
1 2 30 8
D3
…
1
00
1 32 Ri=Ni /K
pi=p(Ri )
raw loss prob
![Page 16: FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington,](https://reader036.vdocuments.pub/reader036/viewer/2022081602/55147526550346b0158b5277/html5/thumbnails/16.jpg)
Lagrangian Optimization
8
10
,,)(minmin
81 iiii
RRRRRpSDRD
i
pii p
DS
0 1 32 R=N /K
S1
S2
S3…
![Page 17: FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington,](https://reader036.vdocuments.pub/reader036/viewer/2022081602/55147526550346b0158b5277/html5/thumbnails/17.jpg)
Unequal Error Protection
1 2 3 4 5 6 7 80
0.5
1
1.5
2
2.5
3
3.5
4
Layer
Red
unda
ncy
Optimal allocation for 20% packet loss, K=8, W=1
![Page 18: FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington,](https://reader036.vdocuments.pub/reader036/viewer/2022081602/55147526550346b0158b5277/html5/thumbnails/18.jpg)
The Case for ARQ
• FEC does not achieve capacity C = 1p• ARQ makes optimal use of forward channel
• Adapts to loss (erasure) probability p
• Used extensively for data transmission (e.g., TCP) and media transmission (e.g., VOD)
• Must avoid “repeat-request implosion”
• Observe: for broadcast of real-time media, delay (number of repeat-requests) is bounded
![Page 19: FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington,](https://reader036.vdocuments.pub/reader036/viewer/2022081602/55147526550346b0158b5277/html5/thumbnails/19.jpg)
Pseudo-ARQ forReceiver-driven Layered Multicast• Sender transmits delayed versions of source
• Receivers “request repeats” by subscribing and unsubscribing to delayed versions
Source stream ... to multicast group G
Delayed stream 1 ... to multicast group G1
Delayed stream 2 ... to multicast group G2
time
St St+1 St+2 St+3 St+4 St+5
StSt-1
St-1St-2 St
St+1
St+1
St+2 St+3
St+3
St+4
St+2
![Page 20: FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington,](https://reader036.vdocuments.pub/reader036/viewer/2022081602/55147526550346b0158b5277/html5/thumbnails/20.jpg)
StK StK+1 StK+2 S(t+1)K
Pt+1,1Pt,1
Pt,2Pt-1,2
Pt,3Pt-1,3
S(t+1)K+1 S(t+1)K+2
Hybrid FEC & Pseudo-ARQ• Sender delays parity packets• “Repeated” info is actually parity info
Source layer ... to multicast group Gx
Parity layer 1 ... to multicast group Gx.1
Parity layer 2 (delayed 1 block)
... to multicast group Gx.2
Parity layer 3 (delayed 1 block)
... to multicast group Gx.3
K=3W=2 waves (decision epochs)
• Delay is blocklength times number of waves
![Page 21: FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington,](https://reader036.vdocuments.pub/reader036/viewer/2022081602/55147526550346b0158b5277/html5/thumbnails/21.jpg)
Markov Decision Process
• Finite-state stochastic process in whicha decision can be made at each step to influence the transition probabilities,in order to maximize an expected reward
• Sequence of decision rules is a policy
• Optimal policy, which minimizes expected cost (D+R) of paths through state space, can be found by dynamic programming
![Page 22: FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington,](https://reader036.vdocuments.pub/reader036/viewer/2022081602/55147526550346b0158b5277/html5/thumbnails/22.jpg)
State Space for FEC/Pseudo-ARQ
# pktsto req
# pktsrecvd
# pktsrecvd
03
4
# pktsto req
# pktsto req
# pktsto req
0
1
2
3
4
# pktsrecvd
# pktsrecvd
# pktsrecvd
# pktsrecvd
# pktsrecvd
# pktsrecvd
012
0
1
2
210
0
1
2
3
4
0
101
2
01
01
2
010 1
2
![Page 23: FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington,](https://reader036.vdocuments.pub/reader036/viewer/2022081602/55147526550346b0158b5277/html5/thumbnails/23.jpg)
Caveats
• No experiments so far, only analysis– no actual network transmissions,
no source coding, no channel coding– source is modeled as D=222R
– channel is modeled as iid 20% packet loss,no packet jitter or resequencing
– assumed no join or leave latencies
• Little analysis of aggregate behavior
![Page 24: FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington,](https://reader036.vdocuments.pub/reader036/viewer/2022081602/55147526550346b0158b5277/html5/thumbnails/24.jpg)
Analyzed Systems
1 - No error protection (original RLM)
2 - Equal error protection, redundancy determined by sender; K=8; N=11,14,17,20
3 - Unequal error protection, determined by receiver; K=8; Ni=Ni* (RLM w/FEC)
4 - FEC and Pseudo-ARQ; W=1,2,4,8, KW=8
![Page 25: FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington,](https://reader036.vdocuments.pub/reader036/viewer/2022081602/55147526550346b0158b5277/html5/thumbnails/25.jpg)
Results of Analysis
0 2 4 6 8 10 12 14 16 18 200
5
10
15
20
25
30
35
40
45
50
Packet Transmission Rate (layers x avg redundancy)
Sig
nal t
o R
econ
stru
ctio
n N
oise
rat
io (
dB)
Recovery of an idealized source with 20% packet loss rate
(N,K)=(8,8)
(N,K)=(11,8)
(N,K)=(14,8)
(N,K)=(17,8)
(N,K)=(20,8)
EEPW=1(UEP)
W=2W=4
W=8
1
2
34
4
3
2
1
FEC/P-ARQ
FEC (receiver)
FEC (sender)
original RLM
![Page 26: FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington,](https://reader036.vdocuments.pub/reader036/viewer/2022081602/55147526550346b0158b5277/html5/thumbnails/26.jpg)
Issues for Further Investigation
• Estimation of channel condition
• Accommodation for join/leave latency
• Clustering of channels
• Study of aggregate (social) behavior
• Implementation
![Page 27: FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington,](https://reader036.vdocuments.pub/reader036/viewer/2022081602/55147526550346b0158b5277/html5/thumbnails/27.jpg)
Summary
• FEC & Pseudo-ARQ allow error controlwhen flow control alone is insufficient
• Layered (rate-compatible) FECallows receiver-driven approach
• Pseudo-ARQ is more effective than FECand uses only standard multicast machinery
• Hybrid FEC/Pseudo-ARQ enhances scalability• Many issues remain for further investigation