1 / 27

FEC and Pseudo-ARQ for Receiver-driven Layered Multicast

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

andie
Download Presentation

FEC and Pseudo-ARQ for Receiver-driven Layered Multicast

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. FEC and Pseudo-ARQfor Receiver-drivenLayered Multicast Philip A. Chou, Alex Mohr,Albert Wang, Sanjeev Mehrotra (Microsoft, University of Washington, Stanford)

  2. 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

  3. Outline • Multicast • Receiver-driven Layered Multicast • FEC and Pseudo-ARQ

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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.

  9. 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

  10. S 1 loss prob R R R R 0 R transmission rate Dynamic Joining/Leaving • Receivers subscribe and unsubscribe according to instantaneous capacity

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. Lagrangian Optimization S1 S2 S3 … 0 1 2 3 R=N/K

  17. Unequal Error Protection

  18. 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

  19. 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

  20. 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

  21. 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

  22. # 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

  23. 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

  24. 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

  25. 3 4 3 original RLM 2 FEC (sender) FEC (receiver) 1 2 1 4 FEC/P-ARQ Results of Analysis

  26. Issues for Further Investigation • Estimation of channel condition • Accommodation for join/leave latency • Clustering of channels • Study of aggregate (social) behavior • Implementation

  27. 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

More Related