200 likes | 445 Views
Erasure-Coding based Routing for Opportunistic Networks . Giorgos Papastergiou Department of Electrical and Computer Engineering, Democritus University of Thrace, Xanthi, Greece. What is an erasure code?. Given a message of k blocks (symbols) , recode to n blocks (symbols) where n>k,
E N D
Erasure-Coding based Routing for Opportunistic Networks Giorgos Papastergiou Department of Electrical and Computer Engineering, Democritus University of Thrace, Xanthi, Greece
What is an erasure code? • Given a message of k blocks (symbols) , recode to n blocks (symbols) where n>k, • Optimal: reconstruct message given any k unique blocks • Suboptimal: reconstruct message using (1+e)*k unique blocks • Code Rate r = k/n , [0; 1] • Overhead is 1/r
What are they used for? • Improving reliability of unicast, multicast and broadcast protocols and applications • Real-time media streaming applications • Reliable multicast transport protocols (e.g., ALC) • Reliable multimedia multicasting • P2P networks • Reliable large-scale distributed storage systems • Unreliable transmissions in wireless network environments • Signals from deep-space satellites (link-layer)
Packet-level FEC (common case) Encoder: • Input: k Source Symbols (units of data) of length E • Output: n Encoding Packets of length E • Repair Symbols and Source Symbols Decoder: • Input: (1+e)*k unique Encoding Packets of length E • Output: k Source Symbols
Reed-Solomon Codes • Minimum Distance Separable (MDS) code Adv: • RS codes are optimal Dis: • k and n values are limited (usually n = 256) • for larger values of n and k RS experience very long encoding / decoding times
Long Density Parity Check codes • Large block FEC codes • they can efficiently deal with a large number of source symbols • Many of them have patent issues • Some LDPC codes are open research questions • LDPC-Staircase and LDPC-Triangle Adv: operate efficiently on source blocks with a size of several tens of thousands of source symbols Dis: Sub-optimality
Erasure-Coding Based Routing for Opportunistic Networks Challenge: Contact dynamics are not know in advance • Most current approaches are based on some kind of data replication over multiple paths • The authors propose a method of erasure coding the message and distribute the generated code-blocks over a large number of relays, • instead of sending a full copy of the message over a relay
Erasure coding based forwarding (ec) • Input: a message of size M and a replication factor r • Output: M*r/b equal sized code blocks of size b • Decoding: any (1+e)*M/b code blocks can be used to reconstruct the message • Code rate = 1/r • Algorithm: the generated code blocks are equally split among the first kr relays
Comparison with Simple Replication (srep) • In srep with a replication factor r the source sends r identical copies over r relays • for the same number of generated bytes (rM) • ecuses a factor of k more relays • and each relay carries a factor of 1/k less data • Destination requires 1/r of the code blocks • When k =1 echas the same effect as srep
Example (1/2) M = 1000 Bytes , r = 4, b = 100 Bytes, k =2 ec: generates 40 code blocks that will be transmitted to 8 relays and each relay will carry 5 code blocks (i.e., 500 bytes) srep: 4 relays and each relay will carry 1000 bytes
Example (2/2) In srep the destination needs a contact with one relay In ecthe destination needs a contact with k relays
Benefits of ec • If the number of low-delay relays are larger than k, ecwill deliver the message with a lower delay than simple replication • Fundamental Question: use r relays and wait for one to succeed or use r*k relays and wait for k to succeed? • Main observation: if k is large, the delay distribution converges to a constant
Performance of ec When k is much larger than r, • the delay distribution when using echas low variance and therefore it has the lowest worst case delay than srep • for lower percentiles, the erasure-coding based approach has higher delays. • not very small delay cases • the delays observed with ec towards the higher percentiles are much lower than srep. • Very robust to bad performance of individual delays
An interesting point not investigated • The authors of ec assume that in each contact all messages are received successfully by the relay node • ec will much perform better if we assume erasure channels among nodes • E.g., if we assume for simplicity that k =1 and that each relay delivers correct only part of its data then • ec requires statistically less data for complete message reception
A research direction • in case of erasure channels, an erasure coding based routing scheme that • has historic statistic information about the PER experienced on each link • and historic statistic information about contacts frequencies of • could split the generated code blocks accordingly to achieve lower delays
DS-TP and Erasure Coding • Define the optimal Source Block Size • the number of encoding packets that belong to the same source block (LDPC codes) • Trade-off between computation complexity, aggregation delay and resistance to burst losses • Handle missing segments • Hybrid FEC/ARQ similar to link level ones • Adapt code rate using feedback from the receiver • How should we set FEC overhead adaptively? Statistics?
Two approaches for Hybrid FEQ/ARQ • 1st: EC layer below Transport Layer • if EC receives less than k packets it cannot decode all source data packets • the transport above handles missing packets • 2nd: Integrate EC and Transport layers • Transport layer monitors the EC layer
Current work • Implementation of erasure coding below LTP • Two open source LDPC implementations • LDPC-Staircase and LDPC-Triangle • Control Source Block size by adjusting LTP aggregation block size / delay • LTP data packets are the input source packets of the LDPC decoder • Fixed Code Rate
Distributed DS-TP (1/2) • An approach similar to ec for k=1 • Use DS-TP above DTN routing to exploit multiple communication paths • Exploit contact graph information to split generated code blocks to intermediate relays • additionally, this process can take into account historic statistics about PER experienced on each link • Adjust code rate based on feedback received from intermediate nodes or destination
Distributed DS-TP (2/2) • Each relay node which receives k encoding packets can construct the bundle and accept custody transfer and then forwards again the same encoding packets • If a relay node receives less than k encoding packets just forwards them • Many nodes towards the destination can accept custody transfer for the same bundle