Erasure Coding for Real-Time Streaming

1 / 21

# Erasure Coding for Real-Time Streaming - PowerPoint PPT Presentation

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Erasure Coding for Real-Time Streaming' - kishi

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Erasure Coding for

Real-Time Streaming

• Derek Leong and Tracey Ho
• California Institute of Technology
• ISIT 2012
• 2012-07-02
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 …

(each transmitted packetis of normalized unit size)

… and have to be decoded withind = 8 time steps

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}

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?

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

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

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

#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

#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

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

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

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

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

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

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