270 likes | 458 Views
FEC and Pseudo-ARQ for Receiver-driven Layered Multicast. Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington, Stanford). Problem. Find ways to multicast real-time audio and video efficiently and robustly over the near-term Internet Best-effort
E N D
FEC and Pseudo-ARQfor Receiver-drivenLayered Multicast Philip A. Chou, Alex Mohr,Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington, Stanford)
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
Outline • Multicast • Receiver-driven Layered Multicast • FEC and Pseudo-ARQ
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
Packet Forwardingin a Multicast Routing Tree S multicast routing table packet S = Source AddressG = Multicast Group Address S,G | data :S,G - 1,2 : 1 2 R R R R R
S multicast routing table :S,G - 1 : multicast routing table 1 :S,G - 1,2 : Join S,G 1 2 Join S,G R R R R R R R Grafting / Joining / Subscribing
multicast routing table :S,G- 1, 2 : S multicast routing table Leave S,G 1 :S,G - 1 : 1 Leave S,G R R R R R R R Pruning / Leaving / Unsubscribing
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.
Receiver-driven Layered Multicast (S. McCanne ‘96) • Code source in layers (base, enh1, enh2, …) • Send each layer to different multicast group time Base layer S0t S0t+1 S0t+2 S0t+3 S0t+4 S0t+5 ... to multicast group G0 Enh. layer 1 S1t S1t+1 S1t+2 S1t+3 S1t+4 S1t+5 ... to multicast group G1 Enh. layer 2 S2t S2t+1 S2t+2 S2t+3 S2t+4 S2t+5 ... to multicast group G2 • Receivers subscribe to as many layers as desired
S 1 loss prob R R R R 0 R transmission rate Dynamic Joining/Leaving • Receivers subscribe and unsubscribe according to instantaneous capacity
S 1 loss prob R R R R 0 R transmission rate The Case for FEC • Problem is that ambient congestion may always be present
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
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 K Source layer StK StK+1 StK+2 S(t+1)K S(t+1)K+1 S(t+1)K+2 ... to multicast group Gx Parity layer 1 Pt,1 Pt+1,1 ... to multicast group Gx.1 Parity layer 2 N-K Pt,2 Pt+1,2 ... to multicast group Gx.2 Parity layer 3 Pt,3 Pt+1,3 ... to multicast group Gx.3
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
Expected Distortion and Rate D0 1 D1 pi=p(Ri ) D2 D3 … raw loss prob D8 0 … 0 1 2 3 8 layer 0 1 2 3 Ri=Ni /K
Lagrangian Optimization S1 S2 S3 … 0 1 2 3 R=N/K
The Case for ARQ • FEC does not achieve capacity C = 1-p • 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
Pseudo-ARQ forReceiver-driven Layered Multicast • Sender transmits delayed versions of source • Receivers “request repeats” by subscribing and unsubscribing to delayed versions time Source stream St St+1 St+2 St+3 St+4 St+5 ... to multicast group G Delayed stream 1 St-1 St St+1 St+2 St+3 St+4 ... to multicast group G1 Delayed stream 2 St-2 St-1 St St+1 St+2 St+3 ... to multicast group G2
Hybrid FEC & Pseudo-ARQ • Sender delays parity packets • “Repeated” info is actually parity info W=2 waves (decision epochs) K=3 Source layer StK StK+1 StK+2 S(t+1)K S(t+1)K+1 S(t+1)K+2 ... to multicast group Gx Parity layer 1 Pt,1 Pt+1,1 ... to multicast group Gx.1 Parity layer 2 (delayed 1 block) Pt-1,2 Pt,2 ... to multicast group Gx.2 Parity layer 3 (delayed 1 block) Pt-1,3 Pt,3 ... to multicast group Gx.3 • Delay is blocklength times number of waves
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+lR) of paths through state space, can be found by dynamic programming
# pktsrecvd 0 1 # pktsrecvd 0 0 0 1 1 2 2 0 # pktsto req 1 0 0 0 # pktsto req 3 # pktsrecvd 1 # pktsto req # pktsrecvd 2 1 1 4 2 0 # pktsrecvd # pktsto req # pktsrecvd 1 3 2 2 0 1 4 2 3 0 1 # pktsrecvd 4 0 1 2 # pktsrecvd State Space for FEC/Pseudo-ARQ
Caveats • No experiments so far, only analysis • no actual network transmissions,no source coding, no channel coding • source is modeled as D=s 22-2R • channel is modeled as iid 20% packet loss,no packet jitter or resequencing • assumed no join or leave latencies • Little analysis of aggregate behavior
Analyzed Systems • - No error protection (original RLM) • - Equal error protection, redundancy determined by sender; K=8; N=11,14,17,20 • - Unequal error protection, determined by receiver; K=8; Ni=Ni* (RLM w/FEC) • - FEC and Pseudo-ARQ; W=1,2,4,8, KW=8
3 4 3 original RLM 2 FEC (sender) FEC (receiver) 1 2 1 4 FEC/P-ARQ Results of Analysis
Issues for Further Investigation • Estimation of channel condition • Accommodation for join/leave latency • Clustering of channels • Study of aggregate (social) behavior • Implementation
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