Data Networking Strategy

Simple Network Codes for
Instantaneous Recovery from Edge
Failures in Unicast Connections
Salim Yaacoub El Rouayheb,
Alex Sprintson
Costas Georghiades
Department of Electrical Engineering
Texas A&M University
1
Information vs. Commodity Flow
b1
b1
b1
Replication
b1
Replication
b2
b1+ b2
Encoding
Encoding
2
Network Coding
a
s1
s2
b
ab
t2
demands b
t1
demands a
Network Coding increases the throughput!
3
Recovery from Failures

Input





A graph G(V,E)
Link capacities c(e) for e E
 Number of packets that can be
transmitted by e per time unit
source sV, destination tV.
h packets need to be sent reliably
from s to t.
Goal:

Ensure the destination node t
receives h packets even if a link
fails
a
s
b
2
2
v
u
1
1
1
1
1
Link capacities
t
4
Coding for restoration

Standard approach:

Rerouting upon a failure
s
s
m1
m2
2
2
2
2
v
u
1
1
1
1
1
1
t
1
1
1
1
t
5
Coding for restoration

With network coding:


Instantaneous recovery
Do not need to change coding/routing
s
s
a,b
a,b
a
0,0
b
b
ab
t
0,0
0
a
b
0
b
t
a
6
Coding Advantage

How many packets can be sent
reliably from s to t?



Traditional approach


With instantaneous recovery
No rerouting
Failure!
s
2
2
u
cut
w
v
One packet
Network Coding

Two packets
t
7
Resilient Capacity


Definition: Resilient capacity, Cr, of
a unicast network G(V,E) is the
maximum number of packets that
can be sent reliably from s to t.
Necessary Condition:


s
G(V,E) must have Cr paths between s
and t in G/e, for any eE.
1
2
1
Min-Cut Max-Flow:
X
Cr = min
C(s,t )
c( e) ¡
e2 E (C )
max c( e)
e2 E (C )
t
8
Achieving Capacity

Resilient Capacity can be achieved by
linear network coding


[Koetter and Medard 03]
Robust network codes can be found in
polynomial time



For multicast and unicast
Jaggi et al. [04]
Required field size O(k|E|)

k is the number of terminals
9
Results:


Focus on h=2
Introduce the concept of a simple
unicast network



Simple networks are minimal - every link is
essential for achieving capacity
Show that minimal network have a
certain structure
Use this structure to design robust
network codes over GF(2)
10
Simple Unicast Network

First, we build a corresponding
simple network

N is feasible

N is minimal

Every node of degree 3

No multiple edges
Lemma: There exist a robust
linear network code over F for a
unicast network iff there exists
one for the corresponding
simple network over the same
field!
s
1
1
2
2
1
1
t
A simple network.
11
Structure of minimal networks

s
We prove that minimal
unicast networks have a
special structure


Facilitates efficient network
codes
Small field size
t
12
Network Structure

Lemma: Simple networks can only include
nodes of the following types
1
1
2
Type A
Type B
1
1
1
1
1
1
2
1
2
Type C
Type D
13
Block Structure
s
Block A
Block C
s
t
Block B
Block A
Block B
t
Structure of Simple Networks

Lemma: For any cut of size 3
holds
1
One node must be of type A
Two others must be of type C
These nodes must be connected



1
1
1
A
2
1
1
B
C
1
1
D
1
2
s
s
1
1
1
1
1
1
1
A
A
2
t
Cannot occur –
contradicts minimality
1
1
1
1
1
A
C
t
2
Can occur
15
Proof Techniques

Proof techniques



Use minimality property of simple networks
Use the concept of network flows
A cycle in the residual graph - the network is not
minimal
16
Proof Techniques
ss
Corresponding
Flow Network
Unicast Network
1
1
.5
2
2
22
1.5
1
.5
1.5
1.5
.5
.5
1
1.5
1
1
tt
Theorem:
Unicast Network is feasible
<==>
Corresponding Flow Network
admits a flow b of value 3.
17
Proof Techniques
s
Flow of value 3
1
s
1
1
1
1
1
1 .5
.5
.5
0
0
1
.5
.5
.5
0
.5
1
1
1
t
.5
.5
.5
.5
.5
.5
1
.5
.5
1
.5
.5
.5
t
Unicast Network
Residual Graph
18
Code description
m2
m1
s a,bGF(2)
m2
a
m3
m2
b
a+b
Coding at the source
m1
m2
m2
m3
Coding for block A
19
Code Description(3)
m1
m2
m3 m4
m1
m3
m2
m2
m3
m1
m1 +m2
m2 +m4
Coding for block B
m4
m3
m1
m4
m3
m2
m4
Coding for block C
20
Code Robustness

Suppose the Network
does not have block C
Transfer
matrix1T:0 1
0
1
0
O1
1
@O A = @0
2
O3
0
|
I1
I3
I2
A
1 0
I1
1 1A @I 2 A
1 0
I3
{z
}
T

T is of full rank!
B
O1
O2
O3
Block AB
21
Code Robustness(2)


Even when one edge
fails in block AB, rank
{O1,O2,O3}≥2.
The source will be
always able to decode
the two original
packets even if one
edge fails.
rank=3
s
a
a+b b
AB
rank=3
AB
rank=3
AB
Failure
rank ≥ 2
AB
rank ≥ 2
AB
rank ≥ 2
22
Summary




We studied instantaneous recovery from link
failures in communication networks
We showed that the minimality implies very
simple and elegant structure
We built robust linear network code for
instantaneous recovery over GF(2) (for h=2).
Our bound on the field size does not depend
on the network size;

Compared to the previous bound of O(|E|).
23
Open Problems
Extend our results for h>2



Study the structure of the network
Find the required field size
Derive an efficient algorithm for finding
robust network codes for Unicast networks.
We conjecture that the required field size
only depends on the number of packets



Does not depend on the network size
24