Download presentation
Presentation is loading. Please wait.
Published byNatalie Price Modified over 11 years ago
1
FEC and Pseudo-ARQ for Receiver-driven Layered Multicast Philip A. Chou, Alex Mohr, Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington, Stanford)
2
Problem Efficient and robust broadcast of real-time audio and video over the near-term Internet –Best-effort packet loss, jitter, out-of-sequence –Heterogeneous transmission rate, loss rate, delay, jitter, receivers –Feedback available
3
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
4
Outline Multicast Receiver-driven Layered Multicast FEC and Pseudo-ARQ
5
Multicast Mechanism for broadcasting in packet networks: any receiver able to receive broadcast packets by 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
6
Packet Forwarding in a Multicast Routing Tree S RR RRR 12 S,G | data : S,G - 1,2 : multicast routing table packetS = Source Address G = Multicast Group Address
7
Grafting / Joining / Subscribing S RR RRRRR 12 Join S,G : S,G - 1,2 : multicast routing table Join S,G : S,G - 1 : multicast routing table 1
8
Pruning / Leaving / Unsubscribing S RR RRR R multicast routing table R Leave S,G : S,G - 1 : 1 Leave S,G : S,G- 1, 2 : multicast routing table 1
9
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.
10
Growth of Multicast Infrastructure MBONE has grown from 901 routers in 1994 to 12000 routers in 1998 Commercial routers (e.g., Cisco) have been multicast enabled for last two years ISPs (e.g., UUNET, @HOME) have begun to provide multicast service Intranets are widely multicast enabled Much research and standardization work
11
Reliable Multicast –1-to-M file transfer, distributed software updates, synch. of distributed databases, filesystems –must be reliable, but delay is not constrained Real-time Multicast –for broadcast of live or pre-recorded audio/video –need not be reliable, but delay is constrained Types of Multicast Applications
12
Reliable Multicast ARQ-based error control –need to avoid repeat request implosion –protocols use hierarchical re-transmitters (SRM, RMTP, RAMP, RMP, …) FEC-based error control –digital fountain Multiple channels for flow control
13
Real-time Multicast Error resilient source coding for error control –in MBONE tools (nv), commercial systems FEC-based error control –in MBONE tools (RAT), commercial systems –fixed amount of redundancy ARQ-based error control –commercial systems, LVMR Layered source coding for flow control
14
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 S0 t S0 t+1 S0 t+2 S0 t+3 S0 t+4 S0 t+5 S1 t S1 t+1 S1 t+2 S1 t+3 S1 t+4 S1 t+5 S2 t S2 t+1 S2 t+2 S2 t+3 S2 t+4 S2 t+5
15
Dynamic Joining/Leaving S RR RR R Receivers subscribe and unsubscribe according to instantaneous capacity transmission rate loss prob 1 0
16
The Case for FEC S RR RR R Problem is that ambient congestion may always be present transmission rate loss prob 1 0
17
FEC for Receiver-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
18
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 S tK S tK+1 S tK+2 S (t+1)K P t+1,1 P t,1 P t+1,2 P t,2 P t+1,3 P t,3 S (t+1)K+1 S (t+1)K+2 K N-K
19
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
20
Expected Distortion and Rate layer D0D0 D1D1 … D8D8 D2D2 12308 D3D3 … 1 0 0 132 R i =N i /K p i =p(R i ) raw loss prob
21
Lagrangian Optimization 0132 R=N /K S1S1 S2S2 S3S3 …
22
Unequal Error Protection
23
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
24
Pseudo-ARQ for Receiver-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 StSt S t+1 S t+2 S t+3 S t+4 S t+5 StSt S t-1 S t-2 StSt S t+1 S t+2 S t+3 S t+4 S t+2
25
S tK S tK+1 S tK+2 S (t+1)K P t+1,1 P t,1 P t,2 P t-1,2 P t,3 P t-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=3 W=2 waves (decision epochs) Delay is blocklength times number of waves
26
Reduction in Network Traffic
27
Markov Decision Process Finite-state stochastic process in which a 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
28
State Space for FEC/Pseudo-ARQ # pkts to req # pkts recvd 0 3 4 # pkts to req 0 1 2 3 4 # pkts recvd 0 1 2 0 1 2 2 1 0 0 1 2 3 4 0 1 0 1 2 0 1 0 1 2 0 1 01 2
29
Caveats No experiments so far, only analysis –no actual network transmissions, no source coding, no channel coding –source is modeled as D= 2 2 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
30
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; N i =N i * (RLM w/FEC) 4- FEC and Pseudo-ARQ; W=1,2,4,8, KW=8
31
Results of Analysis 1 2 3 4 4 3 2 1 FEC/P-ARQ FEC (receiver) FEC (sender) original RLM
32
Issues for Further Investigation Estimation of channel condition Accommodation for join/leave latency Clustering of channels Study of aggregate (social) behavior Implementation
33
Summary FEC & Pseudo-ARQ allow error control when flow control alone is insufficient Layered (rate-compatible) FEC allows receiver-driven approach Pseudo-ARQ is more effective than FEC and uses only standard multicast machinery Hybrid FEC/Pseudo-ARQ enhances scalability Many issues remain for further investigation
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.