Network Coding - Texas A&M University

Download Report

Transcript Network Coding - Texas A&M University

Network Coding and its
Applications in
Communication
Networks
Alex Sprintson
Computer Engineering Group
Department of Electrical and
Computer Engineering
Texas A&M University
1
Information

Course webpage


Office Hours



http://cegroup.ece.tamu.edu/spalex/netcod
TBA, WERC 333D
Or by appointment [email protected]
Will use neo email
2
Information vs. Commodity Flow
b1
b1
b1
Replication
b1
Replication
b2
b1+ b2
Encoding
Encoding
3
Network coding


New research area (Ahlswede et. al. 2000)
Benefits many areas



Networking, Communication, Distributed
computing
Uses tools from Information Theory,
Algebra, Combinatorics
Has a potential for improving:

throughput, robustness, reliability and
security of networking and distributed
systems.
4
Communication Networks




Directed graph
G=(V,E).
Source nodes S.
Terminal nodes T.
Requirement:
deliver data from
S to T.
s1
s3
G=(V,E)
s2
s4
t1
t4
t2
t3
5
The multicast setting

Multicast: One source transmits data to all
terminals.
s
t1
t4
t2
t3
6
Standard approach

Each node
forwards and
possibly duplicates
messages


Paths for unicast
Trees for multicast
s2
s1
t1
t2
t4
t3
7
Standard approach

Steiner Tree

Given a set T of
points (terminals),
interconnect them
by a tree of
shortest length.
s
Steiner nodes
t2
t3
t1
t4
8
Standard tree packing

Steiner Tree
Packing

Given a source
node s and a set T
of terminals,
interconnect them
by a tree of
shortest length.
s
t2
t3
t1
t4
9
Network coding
Introduce nodes that do more than forwarding +
duplication.
 Each outgoing packets is a function of incoming
packets.
m1
F1(m1,m2,m3)
m2
m3
F2(m1,m2,m3)
encoding
10
Network coding

Linear Coding over finite fields

m1
m2
m3
Examples
m1
m1+m2+m3
m2
m1+2m2+3m3
m3
11
Traditional Approach
Steiner Tree Packing
s
s
0%
utilization
50%
utilization
t1
t2
Integer reservation 1 message per time unit
t1
t2
Fractional/time sharing solution
1.5 messages per time unit
12
Network coding helps!
s
s
s
m1
m2
100%
utilization
0%
utilization
t1
t2
One message per
time unit
t1
m1Åm2
m1
50%
utilization
t2
1.5 messages per
time unit
t1
m2
t2
2 messages per
time unit
13
Delay Minimization
s
s
b
a
b
a
a
aÅb
b
b
t1
t3
b
a
t3
t1
aÅb
a
t2
t2
Delay =3
Jain and Chou (2004)
Delay =2
14
Energy Minimization
s1
s2
a
s2
a
b
s1
s2
b
s1
a
Without network coding - 4
messages
b
s1
s2
aÅb
aÅb
With network coding - 3
messages
Wu et al. (2003); Wu, Chou, Kung (2004)
Lun, Médard, Ho, Koetter (2004)
15
Cost minimization
s
1
1
1
a
b
0
0
b
1
0
0
1
a,b
0
a
a
s
Edge Costs
aÅb
a,b
b
0
0
1
0
0
0
a,b
0
0
a,b
t1
t2
t1
t2
Cost without network coding 4
with network coding 3 - 33% reduction
16
Research Issues

How useful is network coding?





What operations should be performed at each
node?



Linear vs. non-linear operations
The minimum size of a packet
Under what conditions is a given network coding
problem solvable


Multicast
Practical Implementation
Beyond Multicast
Networks with cycles
How to find suitable edge functions?
How many encoding nodes are needed?
17
Syllabus

In this class:




Overview of the main results
Overview of the current research
Applications in communication networks
Directions for future research
18
Syllabus

Introduction





Introduction to network coding
Introduction to network algorithms
Benefits and coding advantage
Diversity coding
Linear Network coding
19
Course Outline

Network optimization and Linear Programming
(LP)





Basics of LP
LP duality
Primal-dual algorithms
Approximation of NP-hard problem
The probabilistic method
20
Course Outline

Network flows and disjoint path algorithms (3)




Theory of network flows
Disjoint paths algorithms
Increasing network connectivity
Network reliability
21
Course Outline









Network coding (12)
Algebraic framework
Polynomial – time algorithms for network code
desing
Randomized algorithms
Distributed network coding
Information-flow decomposition
Network coding for cyclic networks
Encoding complexity
22
Practical network coding
Course Outline






Design of robust communication networks
Bandwidth allocation
Network coding-based methods
Connection to convolution codes
Knots and special cases
Information-Theoretic approach for
network management
23
Course Outline

Network Error Correction (4)



Robust networks
Correcting adversarial errors
Secure network coding
24
Course Outline

Encoding Complexity


Bounds on the number of encoding nodes
Hardness results
25
Course Outline

Coding for non-multicast networks


Insufficiency of linear network codes
Non-linear network codes
26
Course Outline

Network coding applications




Applications in distributed computing
Applications in sensor networks
Network planning in wireless and ad-hoc
networks
Applications for network storage
27
Course Outline

Web models and information retrieval
algorithms



Modeling the web
Taxonomy of information retrieval models
Retrieval evaluation
28
Course Outline

Textbook:



No textbook will be used.
Notes and research papers will be available on
the course website.
A good reference site:
www.networkcoding.info
29
Course Outline

Tentative Grading Policy:



Assignments 40%
Project 40%
Student Presentations 20%
30
Network Capacity

In general: the
maximum number of
packets that can be
sent throughout the
network.


For a given list of
source-destination
pairs
Each link has a
limited capacity
s2
s1
t1
t2
31
Network Capacity

Multicast connections:


The maximum number of
packets that can be
sent from s to T.
Each link has a limited
capacity
t3
s1
t1
t2
32
Cut


Definition: A cut (V1,V2) is a partition
of the nodes of the graph into two
subsets V1 and V2=V\V1
Size of the cut: The total capacity of
links between nodes in V1 and V2.
s
G
V1
c
V2
34
Cut (cont.)

We say that a cut (V1,V2) separates s
and t if sV1 and tV2.
s
t5
t1
t4
t2
t3
35
Flow interpretation


Menger’s theorem:
 The minimum size of a cut between s
and t is h  There are h disjoint paths
between s and each t
A special case of min-cut – max-flow
theorem
36
Flow interpretation
s
s
t5
t1
t5
t1
t4
t2
t3
t4
t2
t3
37
Upper bound


Let h be the
size of the mincut between s
and a terminal
tT
We cannot send
more than h
packets to this
terminal
t3
s1
t1
t2
38
Challenge


Let h be the size of the min-cut
between s and a terminal tT
Can send h packets to each terminal
tT separatly


Problem:


e.g., by using h disjoint paths
How to send them to all terminals
simultaneously ?
Solution:

Network coding
39
Challenge

Path clashing is resolved by using NC
s
t1
s
s
t2
t1
t2
t1
t2
40