Title: RealTime Oblivious Erasure Correcting
1Real-Time Oblivious Erasure Correcting
- Amos Beimel
- Shlomi Dolev
- Noam Singer
2Outline
- Background
- Our Results
- Analysis
- Heuristics
- Applications
3Background
4Network Model
- Message is partitioned to packets, which are sent
over the transmission channel - Packets may be corrupted or lost during
transmissions - Detection using CRC with high probability
- We assume received packets are not corrupted
5Traditional Erasure Codes
Sender
Encoding
Decoding
Receiver
6Rate-Less Codes
- Non rate-less code - assumes channel success rate
R. Compensate by constructing a code of size
nk/R - Rate-less codes don't assume any rate. Basically
creating infinite stream of encoded-symbols - The receiver decodes the message from any large
enough subset of encoded-symbols - A rate-less code, can be easily converted to a
rated-code.
7Previous Works
8Our Results
9Motivation
- Problem
- Channels with high loss rate
- Expensive feed-back channels
- Weak receiving devices
- Current solutions
- ARQ Requires large feed-back
- Erasure Codes Higher Encoding/Decoding
complexity, a single feedback message - Our goal
- Combine their benefits.
10Real-Time Codes
- Complexity
- Fast symbols generation
- Efficient message decoding
- Balanced decoding over the entire transmission
- Decoding rate
- Rate in which symbols are decoded
11XOR Based Encoding
- Sender Each encoded-symbol is generated from the
XOR of a set of generating symbols - Receiver If exactly one of the generating
symbols is missing, it can be reconstructed
Symbols can be kept in memory until useful
12Greedy Approach
- Try to assist each encoded symbol to be decoded.
- The most simple approach by the encoder and the
decoder - Decoder does not need to keep non-decoded symbols
in memory - Very simple implementation
13Protocol Description
- Check if exactly 1 symbol missing
- If so, decode the missing symbol
- Dump the encoded symbol
- Transmit the number of decoded symbols r
- Calculate degree d
- Randomly pick d symbols
- XOR these symbols
- Transmit encoded-symbols
Encoded Symbols
d3
d4
Feed-back
r4
14Analysis
- Decoding probability
- Optimal degree
- Feedback usage
- Decoding rate 1/e
- Expected efficiency 1.865 k
- The Deviation of the Number of Required
Encoded Symbols - Resiliency to feedback losses
15Decoding probability P(d,r)
- Decoding occurs if exactly one of the generating
symbols is missing - d Encoded-symbol degree
- r The number of decoded symbols
16P(d,r) for d1
Decoding Probability P(d,r) ?
The number of decoded symbols r ?
17P(d,r) for d2
Decoding Probability P(d,r) ?
The number of decoded symbols r ?
18P(d,r) for any d
Decoding Probability P(d,r) ?
The Number of Decoded Symbols r ?
19P(d,r) Maximization On d
Decoding Probability P(d,r) ?
The Number of Decoded Symbols r ?
20Optimal Degree d(r)
Optimal Degree d(r) ?
d2
d1
The Number of Decoded Symbols r ?
21Degree Changes of
- There are different values for d
during the entire transmission - Reduce the number of feedback messages to
by sending feedback messages only when the
degree changes - The scheme can use lean feedback channels.
22Optimal Probability gt1/e
23Decoding Rate
- The decoding rate is at least 1/e throughout the
entire process. - On the average, every e symbols, will decode at
least one symbol.
24Decoding Rate
25Expected Required Encoded-Symbols
- Define Expected as the expected total number of
symbols required to decode - Analysis shows
- Expected e?k
- We prove Expected 2?k
- Experiments show Expected 1.865 ? k
26The Deviation of the Number of Required Encoded
Symbols
- The probability that the number of
encoded-symbols required to decode the entire
message is more than 2k(1e) is exponentially
small.
27The Last vk Symbols
- The degree d changes after each decoding.
- Feed-back message delays may reduce the decoding
efficiency - Analysis show
- We may use the same degree of dvk
- Expected required encoded-symbols O(vk log k)
28Heuristics
- Improving the efficiency
- Channel characteristics
- Indices list
29Improving the Efficiency
- A factor of 1.865 may be too large. Two
approaches - 1. Use memory and analyze all received symbols as
in LT decoding algorithm. - Experiments show the actual factor is reduced to
about 1.4 - The Real-Time property is maintained.
30Improving the Efficiency
- 2. First Round
- First send the k original message symbols.
Afterwards send with the optimal degree. - Efficient when the channel rate R is high.
- The efficiency can be calculated as a function of
R. - Example R0.95 results with Expected 1.08?k
31Expected Results with First-Robin
32Channel Characteristics
- It takes time for the sender to be aware of r
- Round trip expected successful decodings 2WR/eT
- Sender updates r accordingly
- The channel-rate R is estimated according to the
feed-back rate.
Encoded Symbols
S
R
W Channel latencyT Sending intervalR Channel
rate
r
33Indices List
- An encoded symbol is generated from a symbols
list that must be passed to the receiver. - The list is deterministically calculated by a
pseudo random generator from a seed passed in the
message
4
2
8
17
22
1
0
1
2
3
4
k-1
5
6
7
8
9
10
34Applications
- Broadcast Scheme
- Multi Server / Migration
35Broadcast Over a Tree
36Multi Sender Download/Migration
- Client may communicate with several servers
- To each it send the number of decode symbols r
- Each server generates independent encoded-symbols
- Servers crash/loss would not interrupt transfer
r
r
r
r
37Conclusions
- A combined approach between ARQ and Erasure
Codes - Low memory overhead
- Trivial encoder/decoder
- Rate-Less
- Real-Time Constant decoding rate
- Low feed-back
- Full paper at http//www.cs.bgu.ac.il/singern/pu
blications.html