Network Coding: An Overview

Jan 21, 2005 - ... a theoretical point of view, this is a very attractive interdisciplinary study area that poses interesting questions .... This is not a problem for nonreal-time applications (e.g. file transfer), ... http://personal.ie.cuhk.edu.hk/~pwkwok4/Yeung/1.pdf .... a b. d e. F(T1) = 5 , F(T2) = 6. The capacity of the network is 5.
235KB taille 12 téléchargements 362 vues
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