Erasure-Coding Based Routing for Opportunistic Networks: Difference between revisions

From
Jump to navigation Jump to search
No edit summary
No edit summary
Line 5: Line 5:
Erasure Codes convert a message into a large number of code blocks so, that any sufficient large subset of this blocks can be used to reconstruct the message. In more detail, if an erasure code has a message of size <math>M</math> and a replication factor <math>r</math> as input, it produces <math>M*r/b</math> equal sized code blocks of size <math>b</math>. Any <math>M/b</math> code blocks can be used to reconstruct the message. So only <math>1/r</math> code blocks are needed.
Erasure Codes convert a message into a large number of code blocks so, that any sufficient large subset of this blocks can be used to reconstruct the message. In more detail, if an erasure code has a message of size <math>M</math> and a replication factor <math>r</math> as input, it produces <math>M*r/b</math> equal sized code blocks of size <math>b</math>. Any <math>M/b</math> code blocks can be used to reconstruct the message. So only <math>1/r</math> code blocks are needed.


==Erasure coding based routing(ec)==
The algorith we present is a enhancement of the simple replication algorithm (srep). Is srep with replication factor <math>r</math>, the source sends <math>r</math> identical copies of the message over <math>r</math> contacts. This contacts may only send directly to the destination.
In the erasure conding based algorith (ec) the sender generates a large number ob codes blocks and distributes them over <math>k*r</math> relays, for some constant <math>k</math>. This uses <math>k</math> times more relays than srep, but each relay only carries <math>1/k</math> times data. So ec uses the same number of bytes as srep.
Because <math>1/r</math> code blocks are needed to reconstruct the message, <math>k</math> relays have to deliver their data successfully.
For <math>k=1</math> ec is the same as srep.

==Benefits==
In srep <math>r</math> relays are used and one has to succed. In es <math>k*r</math> relays are used but <math>k</math> relays must succed to reconstruct the message. If the number of low delay relays is larget than <math>k</math> ec will deliver the message with a lower delay than srep.If <math>k</math> is large, the delay distribution converges to a constant. Therefore ec has almost a constant delay.


==Material==
==Material==

Revision as of 18:23, 19 October 2006

Introduction

Most current approaches for routing in DTN are based on sending multiple identical copies of packages over different paths. There is always a tradeoff between overhead and delay. The flooding algorithm, for example, has the best delay, but the worst overhead. The direct algorithm on the other side has the worst delay but the best overhead. We present an erasure coding based algorithm, that achieves a better worst-case delay performance than existing approaches wiht a fixed overhead.

Erasure Codes

Erasure Codes convert a message into a large number of code blocks so, that any sufficient large subset of this blocks can be used to reconstruct the message. In more detail, if an erasure code has a message of size Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle M} and a replication factor Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle r} as input, it produces Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle M*r/b} equal sized code blocks of size Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle b} . Any Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle M/b} code blocks can be used to reconstruct the message. So only Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle 1/r} code blocks are needed.

Erasure coding based routing(ec)

The algorith we present is a enhancement of the simple replication algorithm (srep). Is srep with replication factor Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle r} , the source sends Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle r} identical copies of the message over Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle r} contacts. This contacts may only send directly to the destination. In the erasure conding based algorith (ec) the sender generates a large number ob codes blocks and distributes them over Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle k*r} relays, for some constant Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle k} . This uses Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle k} times more relays than srep, but each relay only carries Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle 1/k} times data. So ec uses the same number of bytes as srep. Because Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle 1/r} code blocks are needed to reconstruct the message, Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle k} relays have to deliver their data successfully. For Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle k=1} ec is the same as srep.

Benefits

In srep Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle r} relays are used and one has to succed. In es Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle k*r} relays are used but Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle k} relays must succed to reconstruct the message. If the number of low delay relays is larget than Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle k} ec will deliver the message with a lower delay than srep.If Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle k} is large, the delay distribution converges to a constant. Therefore ec has almost a constant delay.

Material