Random Network Coding for Wireless Ad-Hoc Networks - IEEE Xplore

3 downloads 222873 Views 446KB Size Report
For wireless networks, we use the random generation of the encoding coefficients. By simulation, we illustrate some advantages of using random linear network.
Random Network Coding for Wireless Ad-Hoc Networks Rodica Stoian1, Lucian Andrei Perişoară1, Radu Stoica2 1

Faculty of Electronics, Telecommunications and Information Technology, “Politehnica” University of Bucharest, Romania [email protected], [email protected], http://www.orfeu.pub.ro 2 Infineon Technologies, Bucharest, Romania [email protected]

Abstract—In this paper we analyze the performances of multicast transmission in networks using random network coding. With network coding, the intermediate nodes combine the input packets into one or several output packets, instead of simply forwarding the packets as in the case of classical routing. The problem of network code design is to select what linear combination of input packets is used by each node. For wireless networks, we use the random generation of the encoding coefficients. By simulation, we illustrate some advantages of using random linear network coding: throughput improvements, high degree of robustness and noise resistance.

I.

INTRODUCTION

In communication networks, the information is traditionally transported by routing, intermediate nodes (routers) simply repeats (store and forward) the information packets. Compared with the traditional routing, Network Coding (NC) is a kind of routing scheme where a node can generate output data by encoding previously received input data. Some of the advantages of using the network coding instead of classical routing may include improvements of bandwidth and power allocation, energy efficiency maximization, computational efficiency and robustness to network dynamics in wireless ad hoc networks. Also, as is shown in [1] the network coding can increase the possible network throughput for multicast multi-hop (ad-hoc) wireless networks and by performing linear network coding, the minimum energy-per-bit and maximum data rate can be attained [2]. We start in Section 2 by reviewing some definitions from the information theory about the throughput and achievable capacity with network coding. In Section 3 we explain how Linear Network Codes (LNC) works for wired networks and in Section 4 we apply the Random Linear Network Coding (RLNC) for wireless ad-hoc networks. Section 5 presents the simulation results, emphasizing the advantages of network coding. II.

INFORMATION THEORETIC APPROACH OF NETWORKS

A communication network can be mathematically modeled as a directed acyclic graph, G = ( V, E, C ) , where the set V represent the nodes and the set E represents the edges of the graph, which correspond to channels. Typically, this is a wired

9781-4244-3786-3/09/$25.00 ©2009 IEEE

network with full-duplex transmission. A source node s ∈ V has all the edges that go out and a destination node (sink node) t ∈ V has all the edges that come in. The edge corresponds to a communication channel modeled as a single input single output (SISO) channel. The capacity vector C is a vector of length | E | assigning to each edge e ∈ E a transmission capacity C (e) . For unicast transmissions, one source node s ∈ V emits information to single destination node t ∈ V . A s-t cut is a subgraph of G, which contains all the paths going from s to t. A minimum s-t cut is a cut with the smallest capacity defined as unicast capacity and noted with ρs ,t (C) , where C is the edge capacities vector. The information flow from a source to a destination can be decomposed into a sum of several path-flows. We consider that the network has no cycle-flows. A s-t flow prescribes a way for information to be routed from s to t along parallel paths which is defined as unicast throughput Rs ,t . The

value of the s-t flow is the sum of the path flows carried by the individual paths. A maximum s-t flow is a path flow from s to t whose flow value is greater than any other path flow from s to t. For one node, the total flow into the node is equal to the total flow out of the node, which can be named the flow conservation property. For a graph with one source and one destination, the value of maximum s-t flow is called the capacity of the graph. Obviously, the achievable unicast throughput for a s-t cut cannot exceed the unicast capacity: Rs ,t ≤ ρs ,t (C) ,

(1)

the capacity being achievable by routing along parallel paths. This is known as the Max-Flow Min-Cut Theorem [1]. For multicast transmissions, one source node s ∈ V simultaneously transmit information to N receivers t1 , t2 ,… , t N ,

ti ∈ T ⊂ V located at distinct destination nodes. This case is used in practical applications like broadcasting, distributed content networks, instant messaging, multimedia conferences. The multicast capacity, which is referred as a maximum data rate which is achievable for a multicast transmission, is defined as the smallest unicast capacity of any s-t cut for all t ∈ T : Cs ,T = min ρs ,t (C) , t∈T

(2)

and the achievable multicast throughput is: Rs ,T ≤ min ρ s ,t (C) = Cs ,T .

(3)

t ∈T

The information transmitted from s to t is grouped in packets and each packet contains a sequence of elementary symbols from a finite field Fq , where q = 2 m . The symbols are processed using operations over Fq . To simplify the communication network model we suppose the sources with unitary data rate and the edges with unitary capacity, so an edge cannot be simultaneously used by more than one unit-rate source. The unit-capacity edge assumption models a transmission in which the time is slotted and during each time-slot we transmit through the edge a symbol from Fq . The unit-rate source emits symbols from the same field Fq . For

information from the source s to the two receivers at rate 2 bps using 1 bps rate channels, which cannot be achieved using traditional routing. For a multicast transmission in a wired network with known topology, modeled as an acyclic directed graph G with unit capacity edges, the linear network encoding and decoding procedures are discussed in the following. Let suppose that for the graph G which models the wired network, the source node s emits h information packets x1 , x 2 ,… , x h . Each packet xi of length L symbols can be viewed as a row vector of length L elements in Fq . The information packets are send to N receivers t1 , t2 ,… , t N . The number of edges of the minimum s-t cut for each receiver t is h. For linear network coding, each node of G combines the received packets into one output (coded) packet: h

m = 1 , the model corresponds to a scenario in which every source produces one bit per time unit and each edge can reliable carry one bit. III.

LINEAR NETWORK CODING

Network coding is a recent field in network information theory that allows intermediate nodes from a network to process (recombine) the several incoming packets into one or several output packets, instead of simply forwarding the packets like in classical routing. In [1], Ahlswede et al. showed that network coding achieves the multicast capacity. Their result, based on information theory analysis is an existence proof for network codes and does not assure a way to find a practical code. But in [4] it is shown that the maximum multicast capacity can be achieved by using linear encoding functions at each node, which implies to solve linear equations at the receiver. In Fig. 1 we show a simple example of using network coding to send simultaneously 2 bits b1, b2 from a source node s to the destination nodes t1 and t2. We suppose 1 bps capacity edges. The node 1 and 2 performs only traditional routing. The node 3 use network coding, the operation applied being the modulo 2 addition, XOR. At t1, the bit b2 can be recovered from received bits b1 and b1+b2. Similarly, b1 can be recovered at t2. So, we can multicast

b1

1 b1

b1

t1 b1+b2

3

s b2

b1+b2

b2

2

b2

t2

Figure 1. An example of one source two receivers coded network.

y = ∑ α i xi ,

(4)

i=1

where the summation is applied for every symbol position in the packet. The coefficients αi of the linear combination are elements from the same finite field Fq as the input symbols and forms the coding vector α = (α1 , α 2 ,… , α h ) , of length h. All encoding vectors associated with the output edges of all intermediate nodes from s to a specific t forms the coding matrix A. When we refer to a network code we must specify the all coding vectors which should be used for the encoding process, for all edges of the network. According [3], to obtain a valid network code the coding vectors must be selected so that the matrix A is full rank for each receiver. At destination, a node t receive m coded packets y1 , y 2 ,… , y m through different paths and knows the encoding vectors α1 , α 2 ,… , α m , resulting a system of linear equations with m equations and h unknowns x i derived from (4). The decoding does not need to be applied at all nodes of the network, but only at the final destination nodes (sink nodes). The destination node waits until he receives at least m ≥ h linearly independent packets, equivalently with m linearly independent encoding vectors. This condition is assured using buffers for each input of the destination node. The buffer stores only the innovative packets, that mean the packets which are not a linear combination of the already stored packets in the buffer. Non-innovative packets are immediately discarded by Gaussian elimination because they do not provide any new information to the node. IV.

RANDOM LINEAR NETWORK CODING

For wireless networks, the transmission protocols are based on the protocols derived for wired networks, where the channel is a point-to-point link. In wireless case, the channels have a bigger error rate, vary in time, are modeled as broadcast channels (the transmitters uses omni-directional antennas) and the interference between channels is increased. Another

important difference is that the network topology is unknown (some users are mobile, come in or get out from the network), like in ad-hoc wireless networks. So, the protocols used in wireless networks are not optimized for the conditions in which they are used, leading to appearance of dead spots, smaller throughput and lower sustainability for mobility. A practical challenge to determine the coding vector for the linear function (4) used in wireless networks is made in [6] and [7], by showing that random linear network coding over a sufficiently large finite field can (asymptotically) achieve the multicast capacity. For random linear network coding, each node generates its own coding coefficients α i for each encoded packet, in a random manner and decides to forward this random linear combination without needing any global information about the network topology. The random generation of the encoding coefficients assures with high probability a linear independence of the output packets from a node for a sufficiently large size q = 2m of the finite field Fq , as it was proved in [8]. The coefficients are send to the destination in the packet header, so the destination nodes can decode the packet without knowing the network topology or the encoding rules, even if the nodes are added or removed in an ad-hoc manner. V.

SIMULATION AND PERFORMANCE ANALYSIS

In this paper we study the performances of the random linear network coding algorithm for wireless ad-hoc networks in terms of successful transmissions function of the distance between nodes and the noise power of the edge channels. According to [5], a transmission at one node is successful if the sum of all incoming transmission rates does not exceed the sum of all edges capacities that leaves that node. To emphasize the advantages of random linear network coding we also show by comparison the results obtained for the same network without using network coding. The simulation conditions are the following: • the transmission is multicast with one source node and some destination nodes and is based on packets; • the network is modeled as a acyclic graph; • the network topology is dynamically random generated in a finite symmetric bi-dimensional space (a grid network), the network nodes being uniformly distributed with equal distance between them. This model can be easily generalized, for particular node positions; • each node has a common transmission range r, which is just sufficient to reach its lateral neighbors, but not the diagonal ones; • the physical channel between two nodes is modeled as a single input single output (SISO) channel like additive white Gaussian noise (AWGN) channel with variable noise power; • inter-channel interference between any two graph edges or AWGN channels is ignored; • we add a randomly generated time delay to simulate the transmission latency due to channel propagation delays

and data processing delays. The resynchronization of the received packets is done using buffers at the inputs of a node. All these conditions are implemented in a network simulator based on events, where are processed only the moments when an event occurs in a node (a packet is received, decoded, encoded and send). A successful transmission over a node is conditioned by the access to the medium and the level of interference with the neighboring nodes. In [9] are presented two models for the access, a protocol model and a physical model. In our simulations we use a simplified variant of the two protocols, ignoring the possible interference between edge transmissions. The simplified protocol model takes into account the distance between two nodes compared to the transmission range r. A successful transmission is realized if the distance between two nodes is smaller than transmission range r. The simplified physical model takes into account the power transmission levels chosen by some source nodes. The transmission from a node is successfully received by another node if the signal to noise ratio of that channel is larger than a given threshold β . If the two nodes from a network wants to communicate and the distance between them is too big, we must use some intermediate nodes. A classical solution is to broadcast the packets to all neighbors nodes from the transmission range. In the case we use network coding, any received broadcasted packet will be useful for decoding. A dead spot is a node within the transmission range of the transmitting node where little or no signal can be received. To test the mode in which the network coding can improve the transmission in such cases, we simulate the transmission in a network with N = 100 nodes which satisfy the previously mentioned simulation conditions. To increase the probability of dead spots appearance we vary the average distance between network nodes in the range 100 – 2000 distance units. We measure the number of successful transmissions using the simplified protocol model, for two cases, with or without random linear network coding. The results, see Fig. 2, put in evidence an increased number of successful transmissions (throughput improvement) for distance bigger than 500 units in the case of using random linear network coding. For broadcasting, there are no acknowledgments to confirm the reception. Consequently, we do not have a mechanism to avoid congestion, the effect being a decrease of throughput. Using network coding, the packets can be reconstructed. The importance of congestion problem is drastically reduced, see Fig. 3. For this simulation, we set the distance between nodes to 1000 distance units, a value for which we have obtained the biggest number of successful transmissions in previous simulation, from Fig. 2. We vary the number N of network nodes from 20 to 250 and we record the number R of nodes which receive the original information packets. The congestion coefficient δ = ( N − R ) / N represents the number of nodes with congestion divided by the total number of network nodes. Using random network coding, the optimum result (minimum congestion coefficient) is obtained for a network with N = 150 nodes, R = 146 nodes and δ = 4 /150 = 0.026 . Without

w ith NC w ithout NC

100

80

60

Successful transmissions

Successful transmissions

120

40

120

100

80

60

40

w ith NC 20

w ithout NC

20

0

0 0

500

1000

1500

2000

20

30

40

50

Distance between nodes

Number of nodes without congestion

160

w ith NC 140

w ithout NC

120 100 80 60 40 20 0 0

50

100

150

200

250

300

Number of network nodes Figure 3. Number of nodes without congestion versus the total number of network nodes.

70

Noise power, [dB] Figure 4. Successful transmissions versus edge noise power.

Figure 2. Successful transmissions versus the distance between nodes.

network coding, the minimum congestion is obtained for a network with N = 75 , R = 50 and δ = 25 / 75 = 0.33 . The decrease of congestions combined with an increased number of network nodes is a major advantage of using network coding, as is illustrated in Fig. 3. According to results presented in Fig. 2 and Fig. 3, the reduction of negative aspects generated by dead spots and congestion problems demonstrates the increases of network robustness by using network coding. To see the effects of random network coding on the network noise resistance we study the dependence of successful transmissions function of the noise power levels of the physical channel between two nodes. We simulate a network with 100 nodes, the distance between nodes 500 and the noise power in the range 20-70 dB. The successful transmissions are computed in terms of the simplified physical protocol. For noise power over 40 dB, the number of successful transmissions using random linear network coding is much bigger, see Fig. 4.

60

CONCLUSIONS From the previous simulations, we conclude that network coding has to be employed to achieve optimality. Network coding may have a major impact on the design of optimal protocols in wireless networks, where the actual solutions (routing and transport protocols) need to be rethought. Spreading the information better, network coding can simplify the distributed algorithms and improve the information transfer in some applications like peer-to-peer file distribution, wireless mesh networks, wireless ad-hoc networks and wireless sensor networks. REFERENCES [1]

R. Ahlswede, N. Cai, S. Y. R. Li, and R. W. Yeung, “Network information flow,” IEEE Trans. Inform. Theory, vol. 46, no. 4, pp. 12041216, July 2000. [2] Y. Wu, P. A. Chou, and S. Y. Kung, “Minimum-energy multicast in mobile ad-hoc networks using network coding," IEEE Trans. Communications, vol. 53, no. 11, pp. 1906-1918, Nov. 2005. [3] C. Fragouli, and E. Soljanin, “Information flow decomposition for network coding,” IEEE Trans. Inform. Theory, vol. 52, no. 3, pp. 829848, March 2006. [4] S. Y. R. Li, R. W. Yeung, and N. Cai, “Linear network coding,” IEEE Trans. Inform. Theory, vol. IT-49, no. 2, pp. 371-381, Feb. 2003. [5] T. Cover and J. A. Thomas, Elements of Information Theory, Wiley, New York, 1991. [6] T. Ho, M. Médard, R. Koetter, D. R. Karger, M. Effros, J. Shi, and B. Leong, “A random linear network coding approach to multicast,” IEEE Trans. Inform. Theory, vol. 52, no. 10, pp. 4413-4430, Oct. 2006. [7] P. Sander, S. Egner, and L. Tolhuizen, “Polynomial time algorithms for network information flow,” in Symposium on Parallel Algorithms and Architectures (SPAA), San Diego, CA, June 2003, pp. 286-294. [8] Y. Wu, P. A. Chou, and K. Jain, “A comparison of network coding and tree packing,” in Proc. ISIT 2004, Chicago, June 2004. [9] P. Gupta and P. R. Kumar, “The Capacity of Wireless Networks," IEEE Trans. Inform. Theory, vol. 46,no. 3, pp.388-396, March 2000. [10] Rodica Stoian, and A. Răileanu, „How to Choose a Model for Wireless Networks”, Scientific Bulletin of the „Politehnica” University of Timişoara, Romania, Tom 51(65), Fasc. 2, pp 109-112, Sept. 2006.