1 / 21

Erasure Coding for Real-Time Streaming

Erasure Coding for Real-Time Streaming. Derek Leong and Tracey Ho California Institute of Technology Pasadena, California, USA ISIT 2012 2012-07-02. Problem Definition. Discrete-time data streaming system

kishi
Download Presentation

Erasure Coding for Real-Time Streaming

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. Erasure Coding for Real-Time Streaming • Derek Leong and Tracey Ho • California Institute of Technology • Pasadena, California, USA • ISIT 2012 • 2012-07-02

  2. Problem Definition • Discrete-time data streaming system • Independent messages of uniform size s are created at the source at regular intervals of c time steps, and must be decoded at the receiver within d time steps from their respective creation times messages are created everyc = 3 time steps … packet erasure link (each transmitted packetis of normalized unit size) … and have to be decoded withind = 8 time steps

  3. Problem Definition • An erasure pattern specifies a set of erased or lost packets • An erasure model describes a set of erasure patterns thatwe wish to withstand erasure pattern #1: {7, 12, 20} erasure pattern #2: {2, 3, 13, 14, 15, 16}

  4. Problem Definition • We established the capacity region and found capacity-achieving codesfor the following erasure models: • #1: Limited number of erasures per sliding window • #2: Erasure bursts of a limited length • For each erasure model: • We specify a set of erasure patterns • The objective is to find an optimal code that achievesthe maximum message size s, among all codes that allowall messages to be decoded by their respective deadlinesunder all erasure patterns in when is it necessary to apply intersession coding; when will intrasession coding suffice?

  5. Code Construction • Intrasession coding: coding only within the same message • We specify the allocation of the unit-size packet at each time stepamong the different messages • Random linear coding / MDS code is subsequently applied to the allocation

  6. Code Construction • The unit-size packet at each time step is divided evenly amongall active messages coding window for each message constant number of active messages at each time step when d is a multiple of c … messages 2, 3, 4 are active at t = 12

  7. Code Construction • The unit-size packet at each time step is divided evenly amongall active messages variable number of active messages at each time step when d is not a multiple of c ... messages 3, 4, 5 are active at t = 13 messages 3, 4 are active at t = 12

  8. Erasure Model #1:Limited Number of ErasuresPer Sliding Window

  9. #1: Limited Number of Erasures Per Sliding Window • Let be the union of coding windows for messages {1, ..., n} • Let be the set of all erasure patterns that have z or fewer erasures in each sliding windowof size d • The objective is to construct a code that allowsall nmessages {1, ..., n} to be decoded by their respective deadlinesunder any erasure pattern • Let be the maximum message size that can be achievedby such a code, for a given choice of n, c, d, and z

  10. #1: Limited Number of Erasures Per Sliding Window • Over a finite time horizon (i.e., when n is finite), intrasession codingcan be suboptimal: for example, given (n, c, d, z ) = (3, 1, 3, 1),the optimal intrasession code achieves a message size of 6/7, whereasthe optimal intersession code achieves a message size of 1 • However, it turns out that the constructed intrasession code isasymptotically optimal: + O RESULT 1 The constructed code achieves a message size ofy 1 + ··· + yd−z,which is equal to the asymptotic maximum achievable message size M1 M2 M1 M2 M3 M3 1 2 3 4 5 t

  11. #1: Limited Number of Erasures Per Sliding Window • Proof of Achievability: • Each message is allocated the same amount of space, distributed in the same way over d blocks across its coding window • Let y be the vector of block sizes sorted in ascending order every coding windowwill always haved−zor moreunerased time steps when d is a multiple of c ... d−z one-size blocks

  12. #1: Limited Number of Erasures Per Sliding Window • Proof of Achievability: • Each message is allocated the same amount of space, distributed in the same way over d blocks across its coding window • Let y be the vector of block sizes sorted in ascending order every coding windowwill always haved−zor moreunerased time steps when d is not a multiple of c ... d−z small vs. big blocks

  13. #1: Limited Number of Erasures Per Sliding Window • Proof of Converse: • When dis a multiple of c, we consider a cut-set bound corresponding to aspecific worst-case erasure pattern in which exactly z erasures occurin every sliding window • This is just the periodic erasure pattern comprising alternating intervals ofd−z unerased time steps and z erased time steps pick z = 4 when d is a multiple of c ...

  14. #1: Limited Number of Erasures Per Sliding Window • Proof of Converse: • When dis not a multiple of c, no single admissible erasure pattern gives usa bound that matches the constructed code; instead, we need to combinedifferent erasure patterns for different messages • To pick these erasure patterns, we consider a base erasure pattern(which may not be admissible in general) partition the set of time steps into d sets when d is not a multiple of c ...

  15. #1: Limited Number of Erasures Per Sliding Window • Proof of Converse: • When dis not a multiple of c, no single admissible erasure pattern gives usa bound that matches the constructed code; instead, we need to combinedifferent erasure patterns for different messages • To pick these erasure patterns, we consider a base erasure pattern(which may not be admissible in general) pick z = 4 when d is not a multiple of c ...

  16. #1: Limited Number of Erasures Per Sliding Window • Proof of Converse: • From this base erasure pattern, we derive admissible erasure patterns by taking its intersection with each coding window • These derived erasure patterns are used to inductively compute an upper bound for the conditional entropy ... after encoding the first n messages ... ... and conditioned on the previous time steps” “amount of space left inthe unerased time stepsof the coding windowfor message n...

  17. Erasure Model #2:Erasure Bursts of a Limited Length

  18. #2: Erasure Bursts of a Limited Length • Let be the union of coding windows for messages {1, ..., n} • Let be the set of all erasure patterns in whicheach erasure burst is z or fewer time steps in length, andconsecutive bursts are separated by a gap of d−z or more unerased time steps • The objective is to construct a code that allowsall nmessages {1, ..., n} to be decoded by their respective deadlinesunder any erasure pattern • Let be the maximum message size that can be achievedby such a code, for a given choice of n, c, d, and z

  19. #2: Erasure Bursts of a Limited Length • Using the proof technique of Result 1, we can show thatthe constructed code is asymptotically optimal in a number of cases: RESULT 2 The constructed code achieves a message size ofy 1 + ··· + yd−z,which is equal to the asymptotic maximum achievable message sizein the following cases: (1) when d is a multiple of c (2) when d is not a multiple of c, and z≤c− r(d,c) (3) when dis not a multiple of c, and z≥d−r(d,c) maximum erasure burst length is sufficiently short maximum erasure burst length is sufficiently long intersession coding may be necessary for intermediate values of z

  20. Conclusion • We established the capacity region and found capacity-achieving codesfor the following erasure models: • #1: Limited number of erasures per sliding window • #2: Erasure bursts of a limited length • Further Work: Investigating optimal code constructions for the bursty erasure model when z takes on intermediate values; convolutional code construction appears to be sensitive to parameters c, d, and z • Further Work: To consider the i.i.d. erasure model, where an erasure occurs at each time step independently with a given probability • Probabilistic vs. deterministic message decoding requirements • Withstanding a probabilistic vs. deterministic set of erasure patterns

  21. Thank You!

More Related