Download Network Coding: An Overview

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Types of artificial neural networks wikipedia , lookup

Network science wikipedia , lookup

Coding theory wikipedia , lookup

Transcript
Seminar on Topics in Communications Engineering
Master of Science in Communications Engineering
Munich University of Technology
Network Coding: An Overview
Author:
Advisor:
Date :
Axel Davidian
Ioannis Oikonomidis
21.01.2005
Institute for Communications Engineering (LNT)
Institute of Communication networks (LKN)
Network Coding: An Overview
Axel Davidian, Advisor: Ioannis Oikonomidis
Abstract - In this report, we are going to give a general overview of network coding, we
will start by explaining the basic idea behind this concept and the Max-Flow Min-Cut
theorem which determines the maximum throughput of the network , then we will present
its advantages which include increasing the network’s throughput , saving bandwidth ,
and providing load balancing to the networks, finally we will point out some possible
future areas of research in this field.
I. Introduction
Large scale communication networks like the internet are becoming a bigger part of our
everyday life. Nowadays, the information inside a network environment transverses a number of
channels, varying from coaxial cables to wireless channels, before reaching the destination, as
opposed to a single channel when the internet first emerged. New technologies are constantly
being used to transmit information and the physical channels inside these networks have
different capacities and different characteristics.
Even though, coding was used at the beginning only at the physical layer, it has been a
controversial question for several years whether coding at higher levels could offer benefits [3].
Traditional ways to operate (Routing) a network try to avoid collisions of data streams as much
as possible. Recently it was demonstrated in [1] that allowing intermediate nodes to process the
information can increase the achievable rate in a multicasting scenario with respect to simple
routing. The proposed approach termed network coding basically requires intermediate nodes to
perform combinations of the incoming packets. The main idea behind network coding is to allow
and encourage mixing of data at intermediate network nodes. Routing itself can be viewed as a
special case of coding wherein the outputs of a node are permutations of the inputs.
The main advantage of using network coding can be seen in multicast scenarios where, given a
network with capacities on links, the problem is to compute the maximum multicast throughput
possible for communication between a source node and a set of receivers. Network coding
enables better resource utilization and can achieve the max-flow which is the theoretical upper
bound of network resource utilization, by allowing a network node such as a router to encode its
received data before forwarding it. Each node implemented with network coding function
receives information from all the input links, encodes, and sends information to all output links
[5].
Additionally, coding can be used to maintain connections after permanent failures such as the
removal of an edge from the network. Using network coding, it was shown that a set of
connections can be robust to a set of permanent failures. Also, if a multicast connection is
achievable under different failure scenarios, a single static code can ensure robustness of the
connection under all of those failure scenarios [6].
Network coding is expected to attract research interest and have a significant impact on network
management and design. Thus deployment of network coding could help better exploit shared
resources such as Internet connections or wireless bandwidth. Moreover, from a theoretical
point of view, this is a very attractive interdisciplinary study area that poses interesting questions
across diverse areas such as information theory, algorithms, algebra and coding theory, and
graph theory [9].
In the rest of this paper, we are going to give a general overview of network coding, we will start
by explaining the basic idea behind this concept, then we will present its advantages, and finally
we will point out some possible future areas of research in this field.
II. Main Part
1- Network Coding Concept
We will start by defining some terminology and notations used to represent the network coding
problem. Then we will explain the Max Flow – Min Cut theorem which is used to characterize the
admissible coding rate region of a given network.
We will represent a point to point communication network by a directed graph G = (V,E) where E
is the set of edges such that information can be sent noiselessly from node i to node j for all (i, j)
Є E(i.e. an edge represents a link between two nodes). Let V be the set of nodes of a network.
We will focus for now our attention on a particular case called the single source problem where
one single information source is present in the network. In other words, only one node s in the
network, called the source, is transmitting information to a set of nodes t1, …,tL, called the sinks.
For a specific L, the problem will be referred to as the one-source L-sink problem. The capacity
of an edge (i, j) Є E is given by Rij.
F = [Fij ,(i, j) Є E ] is a flow in G from s to tL if for all (i, j) Є E 0 ≤ Fij ≤ Rij
Such that for all i Є V except for s and tL
∑F
i 'i
i ':( i ',i )∈E
=
∑F
j:( i , j )∈E
ij
i.e. the total flow into node i is equal to the total flow out of node i. Fij is referred to as the value of
F in the edge(i, j).
The value of F is defined as
∑F
sj
j:( s , j )∈E
−
∑F
i:( i , s )∈E
is
which is equal to
∑F
i:( i ,tl )∈E
itl
−
∑F
j:( tl , j )∈E
tl j
F is a max-flow from s to tL in G if F is a flow from s to tL whose value is greater than or equal to
any other flow from s to tL. For a graph with one source and one sink, the value of a max-flow
from source to sink is called the capacity of the graph [1].
In multicast communication, there can be multiple receivers with different max-flows because a
max-flow is defined for a point-to-point communication. In order to evaluate a unique capacity of
multicast communication, we define the max-flow of a point-to-multipoint communication as
Fmulticast = min F (i )
i∈( t ,...,t L )
where F(i) is the max-flow from s to i, and i Є (t1, …,tL) the set of multicast receivers (i.e. sinks)
[5].This realization resembles the well known Max-Flow Min-Cut Theorem in graph theory.
Then, the Max-Flow Min-Cut theorem for network information flow states that the multicast
capacity of a network represented by a graph G = (V, E) (i.e. the maximum number of bits that
can be transmitted from the source to all the receivers simultaneously) is equal to the minimum
value of the max-flows of all the receivers. So, in order to find the capacity of the network we first
calculate the max-flow for every receiver individually and then the minimum value of these maxflows is the capacity of the network
We will now give some examples to illustrate the Max-Flow Min-Cut Theorem and show how
network coding can help improve the throughput of the network. Fig 1 shows a one source two
sinks graph. Fig 1(a) shows the capacity of each edge in the network. We can easily check that
the value of the max-flow from s to tL is 2, L = 1, 2. The Max-Flow Min-Cut Theorem states that
we can then sent 2 bits to t1 and t2 simultaneously because of the value of the max-flows in the
graph. Fig 1(b) shows a design that can produce the desired rate. It is obvious that each
receiver can correctly deduce the sent 2 bits from the data it is receiving. We would like to
mention that for this specific configuration, it is impossible to transmit at a rate of 2 bits without
the use of network coding.
Fig. 1: A one source two sink network
Fig 2 shows a comparison between network coding and other Multicast techniques known as IP
Multicast. From Fig 2(a) and the Max-Flow Min-Cut Theorem we notice that the capacity of the
graph is 4 and we can notice that only the scheme using network coding, represented in Fig 2(d)
was able to transmit at that rate. We can also consider the case of traditional forwarding as
being a special case of coding.
2- Advantages of Network Coding
The main idea behind network coding was to design networks being able to achieve the maxflow bound on the information transmission rate in a multicast scenario. The major finding in [1]
was that it is in general not optimal to consider information to be multicast in a network as a
“fluid” which can simply be routed or replicated at the intermediate nodes. On the contrary,
network coding had to be employed to achieve optimality [1]. In the graph shown in Fig 2, we
can clearly see that the scheme with network coding (Fig 2(d)) is sending at twice the rate of the
traditional multicast technique (Fig 2(b)).
In network coding based
multicast, not only the
shortest path is used but also
other paths are used to
transmit the data. So the
traffic in the network is
distributed to multiple links
and network coding can have
an effect of load balancing as
presented in [5]. Let us
assume that the network
coding scheme used on the
graph in Fig 2(d) is using
only half the capacity and is
transmitting 2 bits per time
unit to all receivers, the same
rate as the single session IP
multicast scheme. However,
in the graph of Fig 2(b) 2 bits
are sent on 5 links (out of 9
links available) and the 4
other links are not used.
While, on the graph in fig
2(d) 1 bit is sent on the 9
links. Hence, by using
network coding, traffic load
can be distributed to the
entire network [5].
Another
advantage
of
network coding that can also
easily be seen on the graph
of Fig 2, is the saving in
bandwidth when network
coding
is
allowed.
Compression
of
the
information will result from
using
network
coding
Fig 2: Comparison of Network coding with existing approaches
because bits (or packets)
from the input links are
incorporated (encoded) into one bit (or packet) and sent to the output links. Instead, in traditional
multicast schemes they are just replicated and sent to the output links. So, network coding is
able to save in bandwidth. In the graph in Fig 2, we can see that in the single-session IP
multicast, a total of 10 bits are sent in the network, while only 9 bits are sent in the network
coding case. Hence, a 10% save in bandwidth was made by a simple network code [5].
Finally, network coding could be a helpful tool in network management and network robustness.
Coding is not only applicable to networks in order to achieve capacity, but can also be used to
recover from link failures in networks. The failures considered here are long term failures due to
a link cut, or the permanent removal of an edge, or other disconnection. Currently, such failures
are dealt with through the use of rerouting, such as link or path protection. The results in [6]
show that network codes that operate under certain failure scenarios can be designed. Also, no
network management overhead is required for multicast connections, but sometimes a change
of codes needs to be initiated by network management in more general cases. So, proper
network coding with minimum changing of codes may lead to a much optimal way for network
management to respond to a failure in the network.
3- Disadvantages of Network Coding
The major problem with network coding is that the loss of one packet could affect many other
packets and renders some information useless at the receiver. In Fig 2(d) R2 needs four bits a,
a+c, b, and b+d to recover c and d. If a is lost in the network, R2 cannot recover c even if a+c is
received correctly. In this situation the encoded information received correctly (i.e. a+c) is
regarded as a loss because the encoded information itself is invalid. In other words, in network
coding, one bit loss in the network results in several bits losses for the receivers. Also, when R2
received a+c at first and received a after a certain period of time, c is delayed and cannot be
recovered until all the information necessary to recover are received (i.e. a) [5].
Synchronization is a problem that needs to be considered when network coding will be
implemented in computer or satellite networks. Since, usually there is more than one incoming
data stream at the input of an intermediate node, it is necessary to acquire synchronization
among these data streams. This is not a problem for nonreal-time applications (e.g. file transfer),
but it can be a serious problem for real-time applications (e.g. voice and video transmission).
However, certain types of networks like switching networks are inherently fully synchronized.
These types of networks are perfect candidates for the application of network coding [2].
4- Future Work on Network Coding
Further research problems in network coding include code construction when two or more
sources are simultaneously multicast in the network. This is known as the multisource network
coding problem which is yet unexplored.
Li and Yeung presented in [2] a method to create static linear network codes for acyclic network,
which achieves the max-flow bound. Acyclic networks do not contain cycles in there
configuration. A cycle is represented by a series of edges which starts and ends at the same
node. Cyclic networks are network that contain directed cycles inside the graph representing
them. An important aspect of this code is its linearity, which makes encoding and decoding easy
to implement in practice. The code works for all networks however it is not the simplest code
possible. So, there is still much room to improve network code creation algorithms.
Also, there is still a lot of research to do in the case of cyclic networks where so far the only
codes created are time varying, which makes them less appealing in practice[2].
Finally, there is lots of room to incorporate security applications and network management
applications in network coding which could lead to future networks which will be much more
optimized and resource efficient.
Conclusions
Network coding is an emerging area in coding theory which is based on computer and
communication network problems. The recent work on network coding renders a new view on
multicasting in a network. The deployment of network coding could help improve the
performance of networks and help in better exploiting available resources. It is an area which is
going to attract lots of research interest. Compared to traditional routing techniques, network
coding offers additional benefits, including fewer network resources consumed, ease of
management, and robustness [10]. There are still some difficulties which have to be over come
before the commercial application of network coding especially when used in a real time
environment like the Internet. However, network coding seems to offer a lot of potential in the
improvement and evolution of computer networks.
References
[1] R. Ahlswede, N. Cai, S.-Y. R. Li and R. W. Yeung, "Network information flow," IEEE Trans.
on Information Theory, vol. 46, pp. 1204-1216, 2000.
http://personal.ie.cuhk.edu.hk/~pwkwok4/Yeung/1.pdf
[2] S.-Y. R. Li, R. W. Yeung, and N. Cai. "Linear network coding". IEEE Transactions on
Information Theory , Februray, 2003
http://personal.ie.cuhk.edu.hk/~pwkwok4/Yeung/2.pdf
[3] D. Tuninetti, C. Fragouli, "Processing along the way: Forwarding vs. Coding," ISITA, Parma
2004
[4] M. Charikar, A. Argawal "On the Advantage of Network Coding for Improving Network
Throughput," 2004 IEEE Information Theory Workshop, San Antonio, Oct 25-29, 2004
[5] Taku Noguchi, Takahiro Matsuda, Miki Yamamoto, "Performance Evaluation of New
Multicast Architecture with Network Coding", IEICE Trans. Comm. June, 2003
[6] R. Koetter, M. Médard, "Beyond Routing: An Algebraic Approach to Network Coding",
INFOCOM, 2002.
[7] Ning Cai and Raymond. W. Yeung, "Secure Network Coding," ISIT 2002.
http://personal.ie.cuhk.edu.hk/~pwkwok4/Yeung/4.pdf
[8] J. Feldman, T. Malkin, C. Stein, R. A. Servedio "On the Capacity of Secure Network Coding",
Proc. 42nd Annual Allerton Conference on Communication, Control, and Computing, September
2004
[9] C. Fragouli, E. Soljanin, A. Shokrollahi, "Network coding as a coloring problem", Proceeding
of CISS 2004
[10] Y. Wu, P. A. Chou, K. Jain, "A comparison of network coding and tree packing," to appear
at the IEEE International Symposium on Information Theory (ISIT 2004), June 27th-July 2nd,
Chicago.
Network Coding
Axel Davidian
1
Outline
Introduction
„ Notations and Terminology
„ Max-Flow Min-Cut Theorem
„ Advantages
„ Disadvantages
„ Future Work
„ Conclusion
„
Axel Davidian - Network Coding
2
Introduction
Conventional networks
„
… Nodes
may route or duplicate traffic
Goal:
Goal To transfer data at the maximum
achievable throughput in a network.
„ Solution: Nodes with coding capability
…Perform operations on incoming traffics
„
3
Axel Davidian - Network Coding
Introduction
a
S
a
b
S
S
b
a
T
b
a
W
a
b
U
b
T
a
a
a
b
W
U
T
Z
Y
a
U
b
a+b
a+b
Z
b
W
X
Y
a
b
a or b?
b
Y
X
a+b
Z
How to send 2 pieces of data a and b
to nodes Y and Z simultaneously?
Axel Davidian - Network Coding
4
Introduction
„
„
Network Information Flow - Ahlswede, Cai, Li,
Yeung, 2000
… Characterized the admissible coding rate
region for multicast networks
… Proved that maximum throughput in a
network can be achieved using ‘coding’
First Workshop on Network Coding, Theory, and
Applications, April 7, 2005, Riva del Garda, Italy
Axel Davidian - Network Coding
5
Outline
Introduction
„ Notations and Terminology
„ Max-Flow Min-Cut Theorem
„ Advantages
„ Disadvantages
„ Future Work
„ Conclusion
„
Axel Davidian - Network Coding
6
Notations and Terminology
„
Network denoted as a graph
G=(V,E)
… V Æ Set of vertices (nodes)
… E Æ Set of Edges (line
joining pairs of vertices)
S
Network
„ Rij Æ Capacity of an edge
… (i,
„
„
j) Є E
S Æ Source
T1, …,TL Æ Set of sinks
T1
T2
T3
T4
T5
7
Axel Davidian - Network Coding
Notations and Terminology
Cut: A partition of vertex set
into 2 classes, S containing
source and S’ containing the
sink.
C (e)
„ Value of the cut: ∑
efromStoS '
where ‘C(e)’ is the rate
constraint of each link
s
„
Axel Davidian - Network Coding
y
x
z
w
t2
t1
8
Outline
Introduction
„ Notations and Terminology
„ Max-Flow Min-Cut Theorem
„ Advantages
„ Disadvantages
„ Future Work
„ Conclusion
„
Axel Davidian - Network Coding
9
Max-Flow Min-Cut Theorem
„
F = [Fij ,(i, j) Є E ] is a flow in G from S to Tl
… if
for all (i, j) Є E Æ 0 ≤ Fij ≤ Rij
… Such that for all i Є V except for S and Tl
∑F
i ':( i ', i )∈ E
i 'i
=
∑F
j :( i , j )∈ E
ij
Æi.e. the total flow into node i is equal to the total
flow out of node i.
„ Fij Æ the value of F in the edge (i, j).
Axel Davidian - Network Coding
10
Max-Flow Min-Cut Theorem
„
The value of F is
„
Also equal to
„
−
−
∑F
j:( s , j )∈E
∑F
i:( i ,tl )∈E
∑F
itl
sj
∑F
i:(i ,s )∈E
j:( tl , j )∈E
is
tl j
F is a max-flow from S to Ti in G if F is a
flow from S to Ti whose value is greater
than or equal to any other flow from S to
Ti.
Axel Davidian - Network Coding
11
Max-Flow Min-Cut Theorem
„
„
For one source and one sink, the value of a
max-flow is called the capacity of the graph.
For multiple sinks the max-flow is:
Fmulticast = min F(i)
i∈(t1 ,...,tL )
„
The value of the Max-Flow is equal to the
value of the Min-Cut
Axel Davidian - Network Coding
12
Max-Flow Min-Cut Theorem
Cut 2: F(T1)=5
S
3
2
1
S
1
1
1
2
Cut 1: F(T1)=6
4
3
1
3
3
c
2
3
abc
de
ab
T2
F(T1) = 5 , F(T2) = 6
c
cde
2
T1
abc
de
T1
T2
The capacity of the network is 5
Axel Davidian - Network Coding
13
Outline
Introduction
„ Notations and Terminology
„ Max-Flow Min-Cut Theorem
„ Advantages
„ Disadvantages
„ Future Work
„ Conclusion
„
Axel Davidian - Network Coding
14
Advantages
Achieves the max transmission rate in a
multicast scenario
„ Saves in Bandwidth Utilization (BU)
„ Provides Load Balancing (LB)
„ Helps recover from link failures
„
15
Axel Davidian - Network Coding
Advantages-Max Transmission Rate
S
2
2
1
3
1
2
2
T1 2
2
T2
S
ab
2
2
2
2
2 T3
2
3
ab
ab
ab
T1
(iii) Multi-session
IP Multicast - 3bits
T2
S
ab
1
(ii) Single-session
IP Multicast – 2bits
ab
S
(i) Link Capacities
1
3
cd
(iv) Network
Coding – 4bits
cd
a+c b+d
2
ab
T1
T2
T3
T1
Axel Davidian - Network Coding
T3
a b T2
a+c
b+d
3
a+c
b+d
c d T3
16
Advantages-Load Balancing &
Bandwidth Utilization
For a Target Network Capacity of 2bits
S
ab
S
1
2
3
ab
T2
T3
(i) Single-session IP Multicast
a
a+b
b
1
ab
ab
T1
a
ab
2
b
T1
a
3
a+b
T2
b
a+b
T3
(ii) Network Coding
BU: 10 bits sent
BU: 9 bits sent
LB: 5 links out of 9 used
LB: 9 links out of 9 used
Axel Davidian - Network Coding
17
Outline
Introduction
„ Notations and Terminology
„ Max-Flow Min-Cut Theorem
„ Advantages
„ Disadvantages
„ Future Work
„ Conclusion
„
Axel Davidian - Network Coding
18
Disadvanages
„
„
„
„
„
The loss of one packet in the network equal
several losses at the receiver
Data cannot be recovered until all the
information necessary is received Æ Delay
Synchronization needed for real-time networks
Some centralized knowledge of topology is
needed
Can design encoding to withstand failures, but
decoders must know failure pattern
Axel Davidian - Network Coding
19
Outline
Introduction
„ Notations and Terminology
„ Max-Flow Min-Cut Theorem
„ Advantages
„ Disadvantages
„ Future Work
„ Conclusion
„
Axel Davidian - Network Coding
20
Future Work
Joint source-channel-network coding
„ The multisource network coding problem
„ Improve network code creation algorithms
„ Codes created for cyclic networks are time
varying
„ Incorporate security applications and
network management applications in
network coding
„
Axel Davidian - Network Coding
21
Outline
Introduction
„ Notations and Terminology
„ Max-Flow Min-Cut Theorem
„ Advantages
„ Disadvantages
„ Future Work
„ Conclusion
„
Axel Davidian - Network Coding
22
Conclusion
„
„
„
An emerging area in coding theory
Network coding renders a new view on multicasting in a
network
Offers additional benefits compared to traditional routing
techniques:
…
…
…
„
„
fewer network resources consumed,
ease of Network management
robustness against link failures
Some difficulties have to be over come before the
commercial application
Still very theoretical
Axel Davidian - Network Coding
23
Thank you
Questions?
24