NETWORK CODING GAIN OPTIMIZATION IN WIRELESS AD-HOC NETWORKS

Network coding is the technique which combines the packets at the intermediate node which there by reduces the number the transmissions that are to be send through the network and therefore improves the transmission efficiency. However it is waste to combine the packets together if the receiver is unable to decode the packets. This paper addresses how to find the coding solutions which guarantees decodability at the destination. As the number of transmissions are reduced we first show the coding gain obtained and provide a method which checks weather the coding pair can be separated at the destination or not. The one which provides the maximum coding gain is selected among all the decodable pairs. This algorithm can be applied to unicast and multicast traffic. Finally simulation results show that the numbers of transmissions are reduced especially in the multicast networks were we find many coding opportunities to apply network coding.


I. INTRODUCTION
In wireless networks information is send efficiently by using the technique called network coding. Network coding has the capability of reducing the traffic in the network by using the concept of encoding [1]. During the last decade the research done n the network coding are: Improve communication throughput and fairness [2], or to determine the throughput capacity through random [3] or deterministic [4] coding schemes .Traditional routing forwards the packets as it is from node to the other were as the network coding combines the packets at the relay node which reduces the transmissions. Consider the network in Fig 1, nodes A and B need to send packet to each other through the intermediate node C. Traditional routing uses the concept of Store-and-forward which forwards the packets as it is without any modifications, it takes 4 transmissions altogether .if network coding is used the relay node combines the two packets using bitwise XOR operation and broadcasts the coded packet to A and B,which takes only 3 transmissions. Less number of transmissions reduced the bandwidth demand which in turn improves the communication throughput. Delay performance can be improved by reducing the medium contention. However, when the network topology becomes complex, there is no easy solution for network coding. Some researchers studied the characteristics of the network topology that has a network coding solution [5].These characteristics include butterfly networks, grail network, etc.If two paths share the same relay node then there is an opportunity to encode them. This paper gives an algorithm which computes maximum transmission reduction from a coded pair, and a solution to check whether the destination is capable of decoding the packet.
According to [6] systematic network coding which uses XORs require less and simple operations during the process of decoding, when compare to random linear network coding which uses large field size. Therefore in this paper we use simple XOR and deterministic network coding scheme, rather than searching for best coding function. This paper gives solutions for which packets should be encoded together and coding should be performed by which relay node so that optimal performance is achieved. This guarantees the decidability at the destination. This solution also avoids the problem of "pollution "in which the unwanted data is mixed with the useful data and the destination will not be able to decode the needed data [7]. The rest of the paper is organized as follows. In Section II, we briefly survey the previous related work. In Section III, we provide a decodability analysis framework and a practical algorithm to find the optimal coding solution. We present simulation results in Section IV to study the performance of the algorithms in randomly chosen network settings. Section V concludes the paper and points out future research directions.

II. RELATED WORK
Since the introduction in 2000 [1], network coding has attracted a lot of attention in research community. Wang et al. [5] studied the problem of network coding with two simple unicast sessions for directed acyclic graphs (DAG), and also characterized the graphs that offer a coding opportunity. Such graphs include the well-known butterfly and grail subgraphs, but it does not address whether such a coding opportunity has advantages over routing. Our work directly tells how much channel resource can be saved in terms of the number of packets transmitted. Moreover, the work in [5] is for two unicast sessions only. Our work can be applied to multiple unicast sessions and multiple multicast sessions. It goes beyond feasibility analysis and addresses whether there is performance gain in network coding and how to maximize this performance gain. The scope of our study is to find pairs of sources whose symbols can be transmitted in a single time slot by relay nodes without deviating from their predetermined routing paths and with guaranteed decodability at the destinations. While random network coding has the benefit of simplicity, failure to separate the coded data can be a barrier to its full potential. With random network coding, there is a probability that the coded packet cannot be decoded at the destination. The probability to decode has been addressed in [8]- [11]. In [8], Li et al. used the coupon collector model to compute the expected number of coded packets needed for successful decoding, and provided a bound on the probability of decoding failure. In [10] Ho et al. provided a lower bound on the probability of successful decoding for randomized network coding. This result demonstrates that all sinks in a linearly solvable network can successfully decode all sources provided that the random code field size is large enough. However, a large field size introduces additional overhead in transmission. A tighter bound was provided in [9] to improve the bound in [12].

III. NETWORK CODING
When considering the possibility of using network coding, we assume that routing is already decided. We further assume that after a packet is encoded with another packet, the coded packet still stays on the original routes towards the destinations; Encoding occurs at relay nodes, and decoding is always done at the destination; A coded packet will not be further encoded again with another packet.To preserve the original routes and keep the coding design as an add-on module is a design choice, which has the benefit of allowing different routing algorithms to couple with the coding scheme. In addition, the coding pairs may be dynamically coupled while the routing information does not need to be updated whenever a coding opportunity appears or disappears. Moreover, the computation of coding combinations has less complexity than the one that uses joint design of routing and coding. The objective of using network coding is to reduce the number of transmissions and therefore to reduce the contention for channel resources. However, a coding algorithm must guarantee the coded packet can be recovered to the original form to be considered feasible. It is easy to mix packets together, but if the combined packet cannot be decoded at the destination, such a combined packet is useless. Among all the feasible coding solutions, the optimal solution is the one that uses the minimum number of transmissions to deliver data.In this paper, we address the question of how to maximize the benefit of network coding while guarantee the coded packets can be decoded by the destination. There is no published work that quantifies the benefit of network coding in terms of the actual number transmissions it reduces. The proposed algorithms provide a practical solution to decide whether we should combine two streams of packets together, where to perform encoding, and what is the performance gain.

A. Quantifying the Benefit of Network Coding
Let W ij denote the number of transmissions that can be reduced by encoding packets of flow i and flow j. W ij is an indicator of the benefit of coding flow i and flow j together. We first look at how many hops are on the shared paths of flow i and flow j. For example, in Fig. 2(a), source i uses the path {1 → 2 → 3 → 4}, and source j uses the path {4 → 3 → 2 → 1}, then W ij = 1. Flow i and flow j meet at node 2, then node 2 combines them and sends a coded packet i+j. Therefore, the number of transmissions reduced is 1. On the other hand, if source j uses {2 → 3 → 4} ( Fig. 2(b)), then W ij = 3. Since nodes 2, 3, and 4 each only need to transmit one coded packet i + j instead of two separate packets i and j, therefore the number of transmissions reduced is 3. (a) W ij = 1, (b) W ij = 3 For unicast, the route is a simple path, and therefore can be described as a totally ordered list of nodes. The task of computing W ij for unicast becomes trivial, since to compute the number of shared nodes in two totally ordered lists is equivalent to compute the longest common subsequence of two sequences, but this approach cannot be applied to multicast. For multicast, the route is a tree that can be described as a partially ordered list of nodes. If the packets generated by two sources can be coded, the two sets must share at least one relay node. Sharing relay node(s) is a necessary but not sufficient condition to ensure that the coded packets can be decoded, as the more complicated analysis shows in the following.When the routing paths are not a simple linear structure, computing W ij is more complicated. For multicast routing, we first need to decide the partial order in a multicast tree, and represent the partially ordered set as a precedence matrix. Among all shared nodes of two partially ordered sets, we compute a new transmission order that preserves the original order of each multicast tree.The following procedure CodingGain calculates W ij . The input to the algorithm is two multicast trees, T 1 of source i and T 2 of source j. If the returned value W ij = 0, then there is no potential benefit from coding flows i and j; if W ij > 0, then there is potential benefit from coding (regardless of the decodability at the destination), and the resulting graph G T suggests where coding should occur.
CODING GAIN 1 Let V be the common relay nodes in T 1 and T 2 2 Let n = |V | 3 for k = 1 to 2 4 do M k =Transitive Closure(T k ) 5 Reduce matrix M k to be n × n by eliminating the non-common vertices and relabeling the rows and columns 6 for Build a tree of n nodes that preserves the precedence relation in M k , call it t k 12 Graft t 1 to t 2 (or t 2 to t 1 ) to get a minimum graph G T that preserves the original transmission order 13 Let m=number of vertices in G T 14 Return 2n − m In Fig. 4, i cannot receive packet j in its original form since j is coded and i is not the one-hop neighbor of the source of j. But i can have packet k and use k to decode a combined packet k ⊕ j. The network is deployed on a 150m×150m square region. Node transmission range is set to 30m. If two nodes are within 30m of each other, they are connected by a wireless link. Node positions are randomly generated. All networks used in the simulation are connected networks in the sense that there is a routing path from every node to reach every other node. In the first simulation, network size is between 10 to 80 nodes, among which, 20% of the nodes are used as sources of multicasting. Each source has 5 destinations. We randomly choose destinations of each source across the network.For simplicity, we assumed that a flow will be either sent in its original form or coded with one other flow, and the coding pair will stay through its lifetime. The coded packet will also stay on its original route towards destination. If these restrictions are removed, there will be more opportunity for further reduction on transmissions. However frequent change of coding and routing scheme will also cause disruptions on packet flows, and the complexity for feasibility check will also increase. If a burst of traffic arrives all at once, the global optimization model proposed in [13] can be used for optimal coding among the many flows that arrive at around the same time. If the traffic is not bursty, so the number of flows that arrive at the same time is not large, it is appropriate to use the proposed scheme to consider flows one at a time-for each incoming flow, we check the feasibility of combining it with another singleton flow, and computes the coding gain to decide the best coding choice at the moment.

IV. SIMULATION
We first apply the algorithm CodingGain in section III. on the butterfly network in Fig. 4. The coding gain is 2. The coding at node a is also decodable since X ik = 1 and C kj = 1, so i can decode j; Similarly, since X mj = 1 and C jk = 1, so m can decode k.Next, we apply the algorithms for computing the coding gain and for selecting the optimal decodable pair in arbitrary network topologies. We compare the channel resource usage from the solutions using network coding and shortest path routing for various traffic scenarios. Routing information is given, so all packets are transmitted without changing their predetermined routes.We observed that with small multicast groups that are randomly distributed over the network, there is little chance for two multicast sessions to share a segment of paths and thus benefit from network coding. This observation further testifies that if an opportunistic coding scheme is used, in which packets stay on their original routes and relay nodes opportunistically encode packets passing by, some destinations may never be able to receive enough information to decode a coded packet, or have to wait for a long time to collect the needed information. Fig. 5 shows that the number of transmissions is the same as routing and no coding opportunity exists.In the second simulation, we choose 10 nodes to have group communication (i.e., all-to-all communication). This group of 10 nodes are randomly chosen from networks of 10 to 80 nodes. Fig. 5 shows the results. When nodes are having group communication, there are more chances that two flows share a path (or a segment of a path), which creates an opportunity to use network coding. The benefit of using network coding is shown in the number of transmissions and the demand for spectrum bandwidth. The demand for bandwidth is the minimum number of distinct slots needed in order to have conflict-free transmissions. The proposed network coding scheme (NC) shows significant reduction in both as shown in Fig. 5 (a) and (b).

V. CONCLUSION AND FUTURE WORK
In this paper, we provide a practical algorithm for network coding design in wireless networks. We first quantify the coding gain as the number of transmissions reduced, and provide an algorithm to compute the maximum coding gain as well as the coding solution to realize it, and then provide a runtime checking method to determine the decodability of the coded packets. The optimal solution is selected as the one that maximizes the coding gain and is decodable. The algorithm can apply to multi-source multi-sink unicast and multicast sessions. The coding design method is validated through the well-known butterfly network and applied to more complex network topology with arbitrary traffic. The simulation results show transmission efficiency is significantly improved when network coding opportunities exist. Throughout the paper, we assume a pairwise linear encoding function XOR, and we assume packets arrive at a relay node according to the predetermined routes. If we remove the restriction of staying on the original routes, the search space for the optimal solution will open up to include different routes and therefore the optimal solution can be more efficient than the current one. Future research will explore the joint computation of routing and coding, as well as the tradeoff between the coding gain and the complexity of the algorithm.