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 sV1 and tV2.
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
tT
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 tT
Can send h packets to each terminal
tT 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