Coding-and interference-aware routing protocol in wireless networks

Network coding is considered as a promising technique to increase the bandwidth available in a wireless network. Many studies show that network coding can improve ﬂow throughput only if an appropriate routing algorithm is used to identify paths with coding opportunities. Nevertheless, a good routing mechanism is very difﬁcult to develop. Existing solutions either do not estimate the path bandwidth precisely enough or cannot identify the best path in some situations. In this paper, we describe our coding-aware routing protocol that provides a better path bandwidth estimate and is able to identify high throughput paths. Extensive NS2 simulations show that our protocol outperforms existing mechanisms. (cid:2) 2013 The Authors. Published by Elsevier B.V.


Introduction
In a traditional wireless network, neighbor wireless links cannot be active simultaneously because the two links interfere with each other.This phenomenon seriously limits the bandwidth provided in a wireless network.Fortunately, the recently developed technique link-layer network coding (LNC) [1] allows two or more packets to be delivered at the same time.If used smartly, throughput can be enhanced significantly, and many works study the maximum throughput gain obtained by using network coding [2,3].Nevertheless, a significant throughput gain can be achieved only if appropriate routes are selected to utilize coding opportunities.This paper aims at developing a proactive coding-aware routing protocol to realize the benefits of network coding.Our protocol identifies high throughput path from a source to a destination without sacrificing existing flows.In other words, our protocol also supports service guarantees that once a flow is admitted, the bandwidth it enjoys will not be reduced due to newly admitted flows [4].
Quality-of-Service (QoS) routing in wireless networks is challenging.Some works analyze the maximum throughput a new flow can have theoretically [5,6].However, optimal algorithms are usually computationally expensive and centralized in nature.Distributed protocols are thus required in practice.A common approach to develop distributed protocols is to apply a metric that reflects the bandwidth availability in an existing routing algorithm [7][8][9][10].When wireless interference and network coding are jointly considered, the QoS routing problem becomes more complicated.
We use an example to illustrate the complexity of the issue we consider in the paper.Let the interference range be two hops and the transmission rate of each link be 1 unit in Fig. 1.There is an existing flow with data rate 1  4 unit on h3; 2; 1i.We want to understand how much bandwidth a new flow request from Node 1 to Node 6 can have.To carry the flow on h3; 2; 1i, both links ð3; 2Þ and ð2; 1Þ have to be active for 1  4 s in each second.As all links interfere with each other, a link has to remain silent when another link is active.Thus, the remaining portion of time in a second that a link can carry a new flow is only 1  2 s.If we use path p 1 ¼ h1; 4; 5; 6i to carry the flow from Node 1 to Node 6, each link can at most be active for 1  6 s in each second to send the traffic, implying the maximum throughput of the flow without violating the service guarantees of the existing flow is 1  6 unit.On the other hand, if path p 2 ¼ h1; 2; 3; 6i is used, coding can be applied at Node 2. Suppose there are four time slots in each second, and we schedule the packet transmission in the following way: Link ð1; 2Þ transmits packet of the new flow at time slot 1; Link ð3; 2Þ transmits packet of the existing flow at time slot 2; Node 2 codes the two received packets and sends the encoded packet at time slot 3; In slot 4, ð3; 6Þ sends the packet of the new flow.We can send a packet of 1  4 unit in each slot.Thus, the new flow can have a throughput of 1  4 unit on path p 2 .Note that the existing flow on h3; 2; 1i does not need to sacrifice and still enjoys a throughput of 1  4 unit.The available bandwidth (or throughput) of a path is defined as the maximum additional rate a flow can push before saturating its path [11].
In a proactive routing protocol, each source precomputes the maximum available bandwidth path (widest path) to a destination.When the source receives a new connection request, it will accept the connection if the widest path satisfies the bandwidth requirement.Therefore, accurately estimating the available bandwidth of a path is fundamental to provide QoS guarantees.Besides, a routing protocol should also identify the path for carrying the flow and ensure the packets are forwarded consistently along the path.This paper aims at providing a complete solution to the coding-aware routing problem.The contributions in this work are.
1. We introduce a method to estimate the available bandwidth of a multi-hop path with network coding.2. We design a coding-aware routing metric which captures the available path bandwidth information, and we prove that the proposed routing metric is isotonic, which is necessary to ensure packets are forwarded consistently on the identified path in a distributed manner.3. We present our NS2 simulation results and compare our routing protocol with the existing ones.
The rest of the paper is organized as follows: Representative related works are discussed in Section 2. Section 3 gives some preliminaries for path bandwidth calculation.In Section 4, we describe how to estimate path bandwidth with network coding.Afterwards, we develop a coding-aware routing protocol in Section 5, and Section 6 presents our simulation results.Finally, Section 7 concludes our work.

Related works
Network coding has been studied to combat performance loss due to poor link quality.The works in [12][13][14][15][16][17] apply network coding to increase unicast throughput by using opportunistic routing in the face of lossy wireless links.The network coding studied in these works is called intra-session network coding, where packets in the same session are encoded together [18].Another research line is to encode the packets in different sessions, which is called inter-session network coding.The work in [19] is the first work applying network coding on two flows going in opposite directions on the same path.Refs.[20,22] proposed physical-layer network coding (PNC).The work in [21] analyzes the rate and BER performance when applying PNC in two-way relay channel.We consider LNC in this paper, since LNC does not require strict synchronization at the physical layer, which is simpler to implement.The work in [1] develops the first practical link-layer network coding architecture, called COPE, for multi-hop wireless networks.
The work in [18] studies the tradeoff between increasing the coding opportunity and lowering the transmission rate, in order to maximize network throughput.The work in [23] concerns the coding-aware scheduling problem based on the TDMA model.The works in [2,3,24] analyze the theoretical throughput gain provided by network coding.Both [2,3] consider the COPE-type network coding, and give the upper bound of the throughput gain in multi-hop wireless networks.The work in [24] proposes a M-tuple coding and formulates its theoretical throughput gain.The the-oretical analysis on throughput gain sheds lights on the advantage of network coding.Nevertheless, such gain cannot be realized without appropriate routing and scheduling mechanisms.
The work in [25] considers the coding-aware routing problem in multi-hop wireless networks.Linear programming is used to develop a theoretical formulation.Our focus, on the other hand, is to develop a practical distributed routing protocol for identifying high throughput paths.The works in [26][27][28][29] develop new coding-aware routing metrics to identify high throughput paths.The routing metric proposed by [26] uses the buffer length to reflect how busy the node is, and a path with the minimum aggregate buffer length is selected.Coding opportunities are considered when calculating the buffer length at each node.The metrics described in [27,28] are both based on ETX [7].ETX reflects the number of transmissions needed for successful delivery of a packet over a link.The coding opportunity is converted into a weighted factor on the ETX.Unfortunately, all these metrics do not directly indicate how much bandwidth a path can support.We cannot use these routing metrics to perform admission control decision because we do not know whether a path has the enough bandwidth resources to support a new connection.
The work in [29] gives a formula to estimate the path bandwidth when network coding is considered.The interference model among links considered in this work is too conservative.In this work, we aim at developing a more accurate estimation.The preliminary version of this paper appears in [30].In this paper, we refine our formula to develop a complete proactive distributed routing protocol.We also conduct extensive simulations to compare our protocol with existing ones.

Preliminaries
The network is represented as G ¼ ðV; EÞ where V represents the set of nodes in the network and E denotes the set of directed edges.Each link e ¼ ði; jÞ 2 E means that node i can transmit to node j.We assume links are symmetric that if ði; jÞ 2 E; ðj; iÞ 2 E as well.Whether two links interfere with each other depends on the interference model adopted.For instance, if we apply the 802.11interference model [5], both the sender and the receiver of a link should not be interfered.Note that the sender of a link has to receive ACK according to 802.11, and so it should not fall within the interference range of the sender and/or receiver of another link.In other words, links ði; jÞ and ðk; lÞ interfere with each other if k (or l) is in the interference range of i (or j).In this paper, we describe our results based on the 802.11model but our mechanisms can be extended to other models, such as the protocol interference model in which only the receiver has to be free from interference.Based on the current flows on each link in the network, we can determine the residual bandwidth of each link e, denoted by BðeÞ.BðeÞ means that if all the links interfering with e do not transmit any new flow, link e can possess the channel BðeÞ C time for each second to transmit the new flow, where C is the channel capacity.Lots of works study the residual link bandwidth estimation [4,31], and so we assume that BðeÞ for each link e is known.If the bit error rate of a link is considered in the link estimator, the available bandwidth of each link becomes the expected available link bandwidth [32].
Given a path p = hv 1 ; v 2 ; . . .; v h i, denote Q p as the set of maximal interference link sets.Each q 2 Q p contains the set of links on p which interfere with each other.For each q i 2 Q p , we cannot find q j 2 Q p such that q i & q j , where ji.q i is also referred as a maximal clique in a contention graph which contains all the links on p [5].For instance, in Fig. 2, assume that the interference range is two hops.Given path h1; 2; 3; 4; 5; 6i, Q p contains q 1 ¼ fð1; 2Þ; ð2; 3Þ; ð3; 4Þ; ð4; 5Þg and q 2 ¼ fð2; 3Þ; ð3; 4Þ; ð4; 5Þ; ð5; 6Þg.Generally speaking, if two links on a path interfere with each other, all the links between them along the path conflict with each other [32].This implies that it is not difficult to find Q p for path p.Following [4,11,31], the available bandwidth of path p, BðpÞ, is estimated as: The rationale behind the formula is: transmissions on the links in an interference link set cannot be concurrent but occur in a serial manner.Thus, the time for 1 Mbit data traversing on all the links in the interference link set q is P l2q 1 BðlÞ .C q is thus the bandwidth available over q.The available bandwidth of the path is the bandwidth of the bottleneck interference link set.We refer readers to the references for further explanation.
4. Coding-aware available path bandwidth In this section, we discuss how to estimate the path bandwidth with network coding.In Fig. 2, an existing flow goes on h3; 2; 1i.If we deploy a new flow on h1; 2; 3; 4; 5i, Node 2 can encode the packet of the existing flow on ð2; 1Þ and the packet of the new flow on ð2; 3Þ.The encoded packet transmitted by Node 2 is called a coded packet, and Node 2 is a coding node.
With network coding, some packets of the new flow can ride on the existing flows, such that the transmission for these packets does not consume the residual bandwidth of each link.Denote t i as the time to transmit 1 Mbit of the new flow along the links in q i .Without network coding, work coding is applied, each link may use the residual bandwidth to transmit a portion of 1 Mbit new flow, and another portion is transmitted in a coded manner.t i becomes the total time for each link in q i to transmit the uncoded portion.Let kðe j Þ be the coding rate of link e j .kðe j Þ denotes the amount of the new flow on the link that can be coded with existing flows in a second.Ref. [28] describes how to calculate kðe j Þ.In the whole duration of t i , at most kðe j Þt i amount of data can be sent in a coded manner, and so 1 À kðe j Þt i uncoded data needs to be sent.The time to send the uncoded data becomes 1Àkðe j Þt i Bðe j Þ .We now consider whether links e i ; e iþ1 ; e iþ2 ; e iþ3 in q i can encode data in the whole duration of t i .
We first consider e i .Coding can occur on link e i ¼ ðv i ; v iþ1 Þ when ðv i ; v iÀ1 Þ is active.According to the interference model, ðv i ; v iÀ1 Þ does not interfere with link e iþ3 .It is possible that both ðv i ; v iÀ1 Þ and e iþ3 are active concurrently.Unfortunately, when this occurs, coding cannot be carried out on e i .Although theoretically we can compute the amount of time that network coding cannot be used, such computation may not be practical due to the overhead involved.Thus, we assume that network coding cannot be performed in e i .
We now consider e iþ3 ¼ ðv iþ3 ; v iþ4 Þ (The same rationale applies to e iþ2 and e iþ1 ).Coding can occur on e iþ3 only when link also interferes with all the links in q i , it is ensured that the coded packet on e iþ3 does not consume the residual bandwidth on the other links in q i .In other words, e iþ3 can transmit coded data in the whole duration of t i .Thus, the time to send the uncoded data on e iþ3 is 1Àkðe iþ3 Þt i Bðe iþ3 Þ .We thus have The bandwidth of path p can be rewritten as Example 2. In Fig. 2, there is an existing flow with the data rate 1 5 Mbps on h3; 2; 1i, and we consider path p ¼ h1; 2; 3; 4; 5; 6i.The transmission rate of each link is 1 Mbps.Since link (3, 2) interferes all links on p and ð2; 1Þ interferes all links on p except (5,6), the available bandwidth of each link on p except (5, 6) is 3  5 , while Bð5; 6Þ ¼ 4  5 .There are two maximal interference link sets related to p : q 1 ¼ fð1; 2Þ; ð2; 3Þ; ð3; 4Þ; ð4; 5Þg and q 2 ¼ fð2; 3Þ; ð3; 4Þ; ð4; 5Þ; ð5; 6Þg.Considering q 1 , we have kð1; 2Þ ¼ kð3; 4Þ ¼ kð4; 5Þ ¼ 0 and kð2; 3Þ ¼ 1  5 , and thus we get t 1 ¼ 5. We can also calculate t 2 ¼ 25 4 .Therefore, the available bandwidth of path p according to (4) is 4  25 .Interested readers can easily verify that the maximum data rate of the new flow on p in this example is really 1  5 Mbps.Fig. 2 gives a scheduling scheme, such that both the existing flow and the new flow have the data rate of 1  5 Mbps.We can observe that our estimation scheme (4) underestimates the actual bandwidth available.

Coding-aware isotonic routing metric
In a proactive routing protocol, each node finds a new path based on the route information advertised by its neighbors, and then decides whether to advertise the new path to its neighbors.If each node advertises all the new paths to its neighbors, the advertisement overhead would be huge.Thus, in order to reduce the protocol overhead, a path selection mechanism is necessary.Each node just selects to advertise some paths but not all the received ones.Traditionally, if we use the hop count as the routing metric, the path selection is simple that a node just advertises the path with the least hop count to its neighbors.It is guaranteed that each node can identify the minimum hop count path to a destination.
Unfortunately, path selection based on available bandwidth is not as trivial as it seems.For instance, node v obtains two paths p 1 and p 2 to a destination d.Assume Bðp 1 Þ > Bðp 2 Þ.If node v simply selects to advertise the path with the larger available bandwidth, its neighbors would not obtain p 2 .However, it is possible that the path extended from p 2 has larger available bandwidth than that extended from p 1 .For example, there are two paths from node v to d in Fig. 3.The available bandwidth of each link on path p 1 ¼ hv; a; di is 10, while that on path p 2 ¼ hv; b; di is 8.By (2), the available bandwidth of p 1 and p 2 are 1 ¼ 4, respectively.We now consider the paths from s to d.There is an existing flow going on hb; v; si, and node v can be a coding node which encodes the new flow on hs; v; b; di and the existing flow.
We thus have kðv; bÞ ¼ 4. By (4), the available bandwidth of path hs; v; b; di is 30  9 , while that of hs; v; a; di is 2:5.We can see that the path extended from p 2 has larger available bandwidth than that extended from p 1 .If we want s identifies the widest path from itself to d, node v should advertise p 2 .This example illustrates that a node should not only advertise paths that are best from itself, but may need to advertise paths that are suboptimal from itself as well.We need a mechanism to determine whether a path should be advertised.
Given two paths p from s to v and p 0 from v to d, denote p È p 0 as the path concatenated by p with p 0 .Lemma 1.Given two paths p 1 ¼ hv; u 1 ; . . .; u m ; di and p 2 ¼ hv; g 1 ; . . .; g n ; di, denote e 1 ¼ ðv; and , where p 0 is any path from a node s to v.
Combining ( 5)-( 8), we have The lemma is thus proved.h Lemma 1 implies that any path extended from p 1 always has the larger available bandwidth than that extended from p 2 if the conditions are satisfied.This lemma helps us to design an isotonic routing metric for determining whether a path is worth to be advertised.The isotonicity property of a path weight is the necessary and sufficient condition for developing a hop-by-hop routing protocol satisfying the optimality and consistency requirements [34].The optimality requirement means that each node can identify the ''best'' path to a destination.(The ''best'' path in this work denotes the path considered to provide high throughput for the new flow.)Consistency means that the data packet does traverse on the destined path specified by the source.Definition 1 gives the definition of isotonicity introduced in [34].
Definition 1. Left-isotonicity: The quadruple ðS; È; x; #Þ is leftisotonic if xðaÞ # xðbÞ implies xðc È aÞ # xðc È bÞ, for all a; b; c 2 S where S is a set of paths, x is a function which maps a path to a weight, and # is the order relation.
By Definition 1, designing an isotonic routing metric not only gives the path weight, but also gives the path selection mechanism.When the metric is hop count, which is isotonic, the path weight is the number of hops along the path.xðaÞ # xðbÞ denotes that the hop count of path a is larger than that of path b, and so b is better than a.We also need to define whether a path with heavier weight or lighter weight is better.In the hop count situation, a path with smaller weight is better.
According to Lemma 1, we can define a coding-aware isotonic path weight for path p ¼ hv 1 ; v 2 ; . . .; v h i. xðpÞ ¼ ðx 1 ðpÞ; x 2 ðpÞ; x 3 ðpÞ; x 4 ðpÞ; x 5 ðpÞÞ x 1 ðpÞ ¼ BðpÞ x 2 ðpÞ ¼ 1 The metric of each path is composed by five items.x 1 ðpÞ denotes the estimated available bandwidth of path p. 1 x 2 ðpÞ is the available bandwidth of the second link ðv 2 ; v 3 Þ; x 3 ðpÞ ¼ kðv 2 ; v 3 Þ Á x 2 ðpÞ.Both x 2 ðpÞ and x 3 ðpÞ are calculated by the available bandwidth of ðv 2 ; v 3 Þ; Bðv 2 ; v 3 Þ, and the coding rate on that link, kðv 2 ; v 3 Þ.Both x 4 ðpÞ and x 5 ðpÞ are calculated by the available bandwidth of links ðv 2 ; v 3 Þ and ðv 3 ; v 4 Þ and the coding rates on those links.Given two paths p 1 and p 2 ; xðp 1 Þ # xðp 2 Þ if and only if both p 1 and p 2 share the same first link, means that p 1 is better than p 2 , and p 2 should not be advertised.Thus, which path is better depends on the definitions of both path weight and #.We are going to show that the proposed path weight is left-isotonic.
Lemma 2. There are two paths p 1 and p 2 from node v to node d, such For any path p from node s to node v, we have Proof.By Lemma 1, we have Bðp È p 1 Þ P Bðp È p 2 Þ.If p contains two or more hop counts, p È p 1 and p È p 2 share the same first three links.We thus have and We now consider the case that p ¼ ðs; vÞ.Since p 1 and p 2 share the same first link, denoted by e; p È p 1 and p È p 2 share the same first two links.Denote k 1 and k 2 as the coding rates on link e when considering path p È p 1 and p È p 2 , respectively.Since p È p 1 and p È p 2 share the same first two links, k 1 ¼ k 2 .This means that The lemma is thus proved.h

Route advertisement and packet forwarding
Information must be kept in each node to facilitate determining whether a path is worth to be advertised.In our routing protocol, there are three kinds of tables: flow table, distance table, and routing table.Distance table and routing table are used in traditional proactive distance-vector routing protocols.With network coding, our routing protocol, like [28], requires each node to keep a flow table.Each entry of the flow table in a node denotes an existing flow arriving at the node, and is identified by its previous two hops.For instance, in Fig. 4, after Node 4 receives a packet with the previous two hops Node 2 and 3, it will keep the existing flow h2; 3; 4i in its flow table.By counting the average amount of packets received by the node in a second [28], Node 4 can estimate the data rate of the existing flow on h2; 3; 4i.In this example, Node 5 also records an existing flow going on h3; 4; 5i.Denote D as the maximum node degree.Since each existing flow is specified by the previous two hops, the maximum size of the flow table in each node is limited by OðD 2 Þ.The flow table is utilized during the path construction procedure.
The advertisement of a path p ¼ hv 1 ; . . .; v h i carries the next three hops, v 2 ; v 3 , and v 4 , the weight of p; xðpÞ, and the available bandwidth on the first link Bðv 1 ; v 2 Þ.After its neighbor s receives the path, it first keeps this path in its distance table, and then calculates the weight of the new path.If the flow table at s contains an existing flow going on hv 2 ; v 1 ; si, s sets the coding rate on ðv 1 ; v 2 Þ; kðv 1 ; v 2 Þ, to be the estimated data rate of the existing flow.By (9), the weight of path p 0 ¼ ðs; v 1 Þ È p is calculated as The method for calculating x 1 ðp 0 Þ based on x 1 ðpÞ and the bandwidth of the first two links ðs; v 1 Þ and ðv 1 ; v 2 Þ, is according to (4).
Since the second item of the path metric is the inverse of the available bandwidth on the second link, we have We use Fig. 2 to illustrate the path calculation process.As we mentioned before, by ( 4), the available bandwidth of path from Node 2 to Node 6, denoted by p 1 , is 4   25   .By (9), we have 3 ; 0; 10 3 ; 0 À Á .Node 2 advertises p 1 to Node 1.Since there is an existing flow going on h3; 2; 1i, Node 1 sets kð2; 3Þ ¼ 1 5 .Afterwards, by (10), Node 1 calculates After s obtains a new path p 0 , it first determines whether there is a path p 00 in its routing table such that xðp 00 Þ # xðp 0 Þ.If so, s will drop p 0 ; If xðp 0 Þ 1 xðp 00 Þ; s will replace p 00 by p 0 ; Otherwise, s will add p 0 in its routing table.In case that p 0 is included in its routing table, node s will advertise p 0 to its neighbors.
In the traditional distance-vector routing protocol, each node keeps the distance table and the routing table.The distance table keeps the received paths from its neighbors, and the routing table keeps the paths advertised by itself.By (2), if two paths share the same first three links, we must select the better one.In other words, the maximum sizes of the distance table and the routing table are OðD 4 Þ and OðD 3 Þ, respectively.
Our routing protocol applies the hop-by-hop packet forwarding mechanism.When a source wants to transmit traffic to the destination, it first finds the path with the largest available bandwidth in its routing table.Each source has the next four hop information for each path.Before sending the data packet to its next hop, the source s specifies the next four hops in the routing filed of the data packet.When the next hop receives the data packet, it can uniquely identify the path going on the same next three hops.Our routing protocol assures that the data packet does traverse on the widest path specified by the source node.Interested readers can refer to our previous work [10] for the detailed discussion.
Our routing protocol will not delay forwarding a data packet with a purpose of creating a network coding opportunity.When an intermediate node forwards a data packet, pkt 1 , to the next hop, it will look up its transmitting queue.If there is a data packet pkt 2 coming from the next hop of pkt 1 v and being forwarded to the previous hop of pkt 1 u, the intermediate node will encode both the packets and transmit to both v and u.In our routing protocol, each node buffers the forwarded data packets for some time in order to decode the encoded packet.Note that our routing protocol will not introduce extra delay with applying network coding.When each node gets a packet from its sending buffer, it will transmit immediately while not waiting for a network coding opportunity.
When the network accepts a new flow or releases an existing connection, the residual bandwidth resources on each link may change.Each destination periodically initiates path calculation process to find high throughput path under the current situations.Due to the delay of route update propagation, the network state changes may cause that data cannot be successfully forwarded to the destination.This is a route update issue which appears in all real-time network protocols and is outside the scope of this paper.The main contributions in this paper are proposing a path bandwidth estimation method and designing an isotonic routing metric.

Performance evaluation
To demonstrate that our metric performs better than the existing ones, we conduct extensive simulations.In particular, we study the performance when our estimation scheme is used to identify high throughput paths.All simulations are conducted on NS2 with the 802.11MAC protocol.We generate four different network topologies: 25-grid, 36-grid, 49-grid, and 50-node general network.In the grid network topologies, the distance between neighboring nodes is 250 m.The transmission range is 250 m, and the carrier-sensing range is 550 m.The bandwidth of the wireless channel is 1 Mbps.All traffics are CBR flows with the packet size of 1000Bytes.We simulate existing flows by deploying several two-hop existing flows in the network with a rate of 100 kbps each.In the 25-grid network, four existing flows are deployed.Five flows and seven flows are deployed in the 36-grid and 49-grid networks, respectively.In the general network topology, 50 nodes are randomly deployed in a 1000 Â 1000 m area, and thus the node density is larger than that of the grid topology.We then deploy four existing flows in the 50-node network.
We compare our routing metric, called CPBM (Coding-aware Path Bandwidth Metric), with the existing metrics C 2 AR [29], PNCAR [28], and DCAR [26].We modified the DSDV protocol under NS2, so as to apply the different routing metrics for finding high throughput paths from a source to a destination.Given a source and a destination, different routing metrics may identify different paths.In order to evaluate the performance of the routing metrics, we deploy a new flow on the identified path, and then measure the throughput of the new flow.If the data rate of the new flow is small, the identified paths may be unsaturated, such that we cannot capture the information of the maximum throughput supported by the identified path.Thus, we set the data rate of the new flow large enough that the path is probably saturated.Such large flow may overflow the queue.In order to reserve enough bandwidth resources for the existing flows, we use the priority queue provided by NS2 such that packets of existing flows enjoy higher priority to be transmitted, while packets of the new flow would be dropped when the queue is overflowed.We set the buffer size of each node to be 50 packets.In our simulation, the new flow runs for 200 s, and we count all the packets received by the destination to obtain the average throughput of the identified path.We generate three different instances for each network topology.Our simulation results show that in more than 80% of the node pairs, the average throughput of the path identified by our routing metric is larger than those of the existing metrics.
Fig. 5 presents the results of four different topologies.For each network topology, we randomly select one instance and post the throughput identified by different metrics for a given node-pair.For example, Fig. 5a shows the average throughput of the paths identified by the algorithms for 42 different node-pairs under a certain 25-grid instance.From Fig. 5, we observe that the throughput of the path identified by PNCAR or DCAR is lower than that of our metric in most of the cases.Although PNCAR considers the bandwidth gained by network coding, the path weight calculation does not consider the impact of wireless interference on the path bandwidth [10].Although the queue length at each node denotes the busy time fraction on each link, it does not consider wireless interference either.Thus, the path selected by PNCAR or DCAR may not provide high throughput for the new flow.As mentioned earlier, C 2 AR makes too conservative estimation for path bandwidth, such that it may select the sub-optimal path.Our simulation results show that for most of the node pairs, the throughput of the path identified by C 2 AR is lower than that of CPBM.
We then study the delay performance of the protocols.We measure the end-to-end delay of each packet received by the destina-tion through the TRACE tool provided by NS2, and then, we obtain the average end-to-end delay of the new flow on each identified path.Fig. 6 shows the results of the four different topologies.We observe that our metric yields much smaller end-to-end delay than the existing metrics.In our simulations, the data rate of the new flow is set to be the estimated bandwidth of the path identified by our metric.Waiting time in the queue constitutes the major portion of the end-to-end delay.As we set the rate to be the estimated bandwidth identified by our mechanism, the path our protocol identified is close to saturation after deploying the new flow.However, the new flow overloads most paths the other metrics identify, and the network becomes seriously congested.We thus observe that the waiting time, and end-to-end delay, under our metric is much smaller than those of other metrics.Generally, our routing metric outperforms the existing metrics in terms of throughput and delay performance.
We then conduct the simulation experiments, as shown in Fig. 7, to understand the path bandwidth gain obtained by using network coding.We use the proposed routing metric, CPBM, to identify high throughput path between a node pair.We consider the three combinations of existing flow data rate and coding capability: (1) Light traffic (50 kbps per existing flow) with coding (Scenario A); (2) Heavy traffic (100 kbps per existing flow) with coding (Scenario B); and (3) Heavy traffic without coding (Scenario C).
Generally speaking, the throughput of a node pair in Scenario A is the largest, and that in Scenario C is the lowest.When the data rate of the existing flow is 50 kbps, the residual bandwidth on each link is larger than that of the 100 kbps data rate, so that the throughput is larger.The simulation results show that network coding can efficiently utilize wireless interference to improve throughput.
From Fig. 7, we observe that the throughput in Scenario B is the same as that in Scenario C for several node pairs.This is because no node on the path selected by CPBM is the coding node.Since the available bandwidth resources at each node in the both scenarios are the same, the throughput in both scenarios should be the same.The simulation results imply that a path with network coding opportunity may not provide larger throughput than the other path without the network coding opportunity.This demonstrates that considering both wireless interference and network coding opportunity simultaneously is necessary for identifying high throughput paths.
From Fig. 7, we also observe that the throughput in Scenario A is a little smaller than that in Scenario B for several node pairs.Although there is more bandwidth on each link in Scenario A, Scenario B can provide more network coding opportunities.Moreover, since we use the 802.11protocol, the stochastic collision probability also affects the practical throughput.Therefore, it is possible that the practical throughput between a node pair in Scenario A may be lower than that in Scenario B.
In our simulation experiments, we totally test several hundreds of node pairs under the different scenarios to evaluate the different routing metrics for identifying high throughput paths.Generally speaking, since the proposed metric, CPBM, jointly considers the current residual bandwidth resources on each link, wireless interference, and network coding opportunity, the path identified by CPBM probably provides high throughput for the new flow.Moreover, our simulation experiments also demonstrate that network coding is a promising technique to improve throughput in wireless networks.

Conclusion
This paper discussed the problem of QoS routing with network coding.We proposed a method to estimate the available bandwidth of a path.We then designed an isotonic routing metric.By theoretical analysis and simulation experiments, we showed that network coding and wireless interference are both the major factors for affecting the end-to-end available bandwidth.