QoSaware routing for heterogeneous layered unicast transmissions in wireless mesh networks with cooperative network coding
 Saran Tarnoi^{1, 2},
 Wuttipong Kumwilaisak^{3}Email author,
 Poompat Saengudomlert^{4},
 Yusheng Ji^{1, 2} and
 C–C Jay Kuo^{5}
https://doi.org/10.1186/16871499201481
© Tarnoi et al.; licensee Springer. 2014
Received: 30 August 2013
Accepted: 1 May 2014
Published: 20 May 2014
Abstract
A novel qualityofservice (QoS)aware routing scheme is proposed to support heterogeneous layered unicast transmissions and improve the wireless channel utilization through cooperative network coding (CNC) in lossy wireless mesh networks. The proposed routing scheme consists of two steps. In the first step, the scheme uses an optimization formulation to compute the optimal routes of all layered unicast flows. The constraints of this optimization problem, such as the transmission rate of each data layer and tolerable error rates in wireless transmissions, are derived for QoS guarantee. In the second step, the scheme decides whether or not CNC will be applied to different unicast flows at intermediate nodes. The decision criteria are determined by the network structure and the QoS guarantee. Specifically, if CNC at any intermediate node does not violate the QoS constraints of involved unicast flows, it will be applied. Otherwise, different unicast flows will be separately transmitted to their destinations without CNC. Numerical results with different network topologies and QoS requirements are conducted to demonstrate that the proposed QoSaware routing scheme offers better throughput and channel utilization than separate unicast transmissions without CNC.
Keywords
1 Introduction
Effective transmissions in wireless mesh networks can be achieved by exploiting wireless broadcast and network coding [1]. When there is more than one unicast flow in the network, cooperative network coding (CNC) [2] can be used to improve the total network throughput and channel utilization. In general, CNC is applied to unicast flows at intermediate nodes in a network. However, CNC may affect the reliability of data in each unicast flow, especially in lossy wireless mesh networks, since the success of a unicast session now depends on another unicast session involved in CNC. Essentially, all CNC packets must be delivered correctly at the encoding and decoding nodes. It is challenging to achieve high network throughput, data quality guarantee, and efficient channel utilization under unreliable wireless mesh environments.
For multimedia transmissions over heterogeneous wireless networks, data are often separated into multiple data layers. Depending on the endtoend transmission capacity between a source and a destination, the number of data layers received determines the quality perceived by the destination. In short, CNC requires that the involved unicast sessions have the same data rate. With separated data layers, CNC can be applied in some data layers even though the overall data rates (or equivalently the transmission capacities) of the involved unicast sessions are not equal. Hence, layered coding can increase the applicability of CNC in heterogeneous wireless networks.
In this work, we investigate a novel qualityofservice (QoS)aware routing scheme in lossy wireless mesh networks. The proposed scheme supports heterogeneous layered unicast transmissions with QoS guarantee and improve channel utilization by applying CNC based on the local structure of the network. The proposed routing scheme consists of two steps. In the first step, the scheme uses a linear optimization formulation to compute routes of all layered unicast flows. The constraints of this optimization problem, such as the transmission rate of each data layer and tolerable error rates in wireless transmissions, are derived to achieve QoS guarantee. In the second step, the proposed scheme decides whether or not CNC will be applied to different unicast flows at intermediate nodes to improve channel utilization. The decision criteria are determined by the local network structure and the corresponding QoS guarantee.
The rest of this paper is organized as follows. Related work is discussed in Section 2. The network model and assumptions made in this research are described in Section 3. The optimization formulation used to compute the optimal routing of layered data transmissions is derived in Section 4. A set of equations pertaining the reliability of CNC encoded flows is derived and the QoSaware CNC decision is presented in Section 5. The performance of the proposed QoSaware routing scheme is evaluated in Section 6 using numerical experiments under random network topologies and different traffic conditions. Concluding remarks are given in Section 7.
2 Related work
Network coding was proposed for wired networks by Ahlswede et al. [3]. The authors derived the maxflow mincut theorem to demonstrate the benefit of network coding by allowing each destination of a multicast session to receive data up to the multicast capacity. Since then, network coding has been extended to several other networks, including wireless networks. The main benefit of applying network coding is the throughput improvement achieved by efficient sharing of transmission resources. The physical properties of wireless networks are different from those of wired networks. Unreliable physical channels, limited battery energy of mobile devices, contention of channel usages, and lack of centralized control are issues to be considered. The term ‘cooperative network coding (CNC)’ is used to emphasize the cooperation between different nodes in a network. In the context of wireless broadcasting, a transmitted packet can be received by all receivers in the transmission range, and the COPEtype network coding was proposed by Katti et al. [4] to exploit this property. In particular, COPE is presented as a new forwarding architecture that significantly improves the throughput of wireless networks.
Instead of receiving and forwarding incoming packets, each intermediate node encodes several incoming packets using the XOR (⊕) operation and then forwards each coded packet to the nexthop node. The nexthop node can decode each coded packet if all the other involved coded packets have been received, possibly through wireless broadcasting. Over all, CNC can help improve both throughput and energy efficiency in wireless networks.
Packet routing incorporating network coding for wireless networks using centralized control has been studied extensively. Network codingaware routing was studied by Sengupta et al. [5, 6], who demonstrated that network codingaware routing yields better throughput than network codingoblivious routing. A similar work on CNCaware routing in multirate networks, which extends COPE by exploiting spatial diversity, was proposed in [2]. A network codingaware routing protocol in lossy wireless networks including a path discovering process was proposed by Wei et al. [7]. This method offers throughput improvement via the structure selection of CNC. All aforementioned authors formulated optimization problems to obtain their routing solutions. However, they do not consider QoS guarantee for data transmissions.
The bound on the throughput gain of network coding and broadcasting in wireless networks was studied in [8]. The authors showed analytically that the benefit was upper bounded by a constant for both the protocol model and the physical model of wireless transmissions. Li and Li [9] investigated the benefit of network coding in the routing of multiple independent unicast transmissions. They pointed out that the coding advantage is not finitely bounded in directed networks. In undirected networks, they showed that the potential for network coding to increase achievable throughput is equivalent to its potential to increase bandwidth efficiency. Traskov et al. [10] studied network coding for multiple unicast sessions using a linear optimization formulation. They proposed code construction techniques for certain connection points that are feasible with a network coding technique called the poisonantidote concept. However, QoS guarantee and layered transmissions were not taken into consideration in these studies.
Due to the limited transmission range of a wireless node, it is typical for a source node to transmit data to a destination node by going through several intermediate nodes. Layered video transmission in wireless networks using relay nodes was proposed by Alay et al. [11]. Layered video transmission employs successive refinement of information or scalable coding was considered in [12]. Video streaming using network coding over wireless networks was proposed by Seferoglu and Markopoulou [13]. The proposed videoaware opportunistic network coding scheme considers the decodability of network codes by multiple receivers as well as the relative importance and delay of video packets. However, the QoS guarantee issue has not yet been examined in depth in these papers.
Mahapatra et al. [14] proposed a QoS and energyaware routing scheme for realtime traffic in wireless sensor networks. The scheme employs an adaptive prioritized medium access control (MAC) to provide a differentiated service model for realtime packets. However, network coding was not considered in [14]. More recently, Supittayapornpong et al. [15] proposed a framework of layered data multicasting with QoS guarantee, which includes network code assignment to each node in the network. In addition, a practical algorithm which calculates the optimal network code length providing QoS guarantee for wireless multicast was proposed in [16]. However, their framework did not address the issue of network contention due to the coexistence of multiple unicast video streams.
Greco et al. [17] proposed a framework for reliable video streaming in lossy wireless networks using expanding window network coding (EWNC), multiple description coding (MDC), and a novel ratedistortion optimised (RDO) scheduling algorithm. However, they assumed that multiple sources transmit the same video to a single receiver. In addition, their framework cannot be applied to the streaming of layered videos. Oh and Kim [18] proposed a practical online scheduling algorithm for mobile video streaming to multiple clients. In their work, an access point (AP) constructs and broadcasts the best network code, which is based on the packets of Iframes with high peak signaltonoise ratio (PSNR) during a group of picture (GoP), to all clients. Their framework well addressed a problem of singlehop video transmissions from an access point to mobile users in lossy wireless networks. However, they did not consider multihop transmissions in wireless mesh networks. Yang et al. [19, 20] proposed a network codingbased multipath routing (NCMR) scheme for wireless sensor networks. They used random linear network coding to improve the reliability of the data transmission on braided multiple paths. Their approach was proven to be efficient in terms of energy consumption, which can be shown by a reduced number of transmissions in wireless sensor networks. Nevertheless, the QoS requirement and transmission rate were not primarily considered in their works.
3 System model and problem description
3.1 Network model
Summary of notations
Summary of notations  

G(N,E)  Directed graph that represents a wireless mesh network 
N  Set of nodes in the network 
E  Set of links in the network 
(a,b)  Link conveying data from node a to node b 
t(l)  Transmitter node of link l 
r(l)  Receiver node of link l 
T_{ O }(n)  Set of outgoing links of node n 
T_{ I }(n)  Set of incoming links of node n 
Γ  Set of all pairs of source and destination nodes in the network 
(s,d)  Pair of source node s and destination node d of an arbitrary unicast session 
c _{ l }  Normalized capacity of link l 
p _{ l }  Probability of packet loss of link l 
${\overline{M}}^{(s,d)}$  Number of the original layers of data transmitted by (s,d) 
${L}_{\overline{i}}^{(s,d)}$  $\overline{i}\text{th}$ layer of (s,d) 
${r}_{\overline{i}}^{(s,d)}$  Transmission rate of $\overline{i}\text{th}$ layer of (s,d) 
${I}_{{\overline{M}}^{(s,d)}}$  Set of layer indices of (s,d), where${I}_{{\overline{M}}^{(s,d)}}=\{0,1,2,\dots ,{\overline{M}}^{(s,d)}1\}$ 
$\overline{t}$  Normalized transmission rate 
M ^{(s,d)}  Number of sublayers of (s,d), where${M}^{(s,d)}={\sum}_{\overline{i}\in {I}_{{\overline{M}}^{(s,d)}}}{r}_{\overline{i}}^{(s,d)}/\overline{t}$ 
M  Maximum number of sublayers that a source send to a destination in a network 
${L}_{i}^{(s,d)}$  The i th sublayer of (s,d) 
I _{ M }  Set of sublayer indices, where I_{ M }={0,1,2,…,M−1} 
${P}_{i}^{(s,d)}$  Probability of a successful packet transmission for L_{ i } of (s,d) called the reliability 
${f}_{l,i}^{(s,d)}$  0 to 1 variable that indicates whether or not link l is used to transmit a packet of L_{ i } for (s,d) 
${R}_{i}^{(s,d)}$  Set of links used to transmit packets of sublayer L_{ i } from source s to destination d 
${x}_{i}^{(s,d)}$  0 to 1 variable that indicates whether or not packets of sublayer L_{ i } are transmitted from source s to destination d 
${\kappa}_{i}^{(s,d)}$  Information value of ${L}_{i}^{(s,d)}$ used to prioritize data sublayers 
${q}_{i}^{(s,d)}$  QoS requirement of sublayer${L}_{i}^{(s,d)}$ 
J  Set of indices for all independent sets 
Z ^{ j }  Set of parameters indicating the links that can be activated at the same time according to the j th independent set 
${z}_{l}^{j}$  Variable that indicates whether or not link l can be activated in the j th independent set 
a _{ j }  Activation time fraction of the j th independent set in each time slot 
γ  Tuning parameter of the alternative objective function, where 0<γ<1 
The link conveying data from node a to node b is denoted by (a,b). In general, a wireless link connecting any pair of nodes is bidirectional. However, we can represent a bidirectional link using two directed links having opposite flow directions. For example, a bidirectional link between node a and node b can be split to two links, namely (a,b) and (b,a), which may have different loss characteristics.
Alternatively, for link l∈E, let t(l) and r(l) be the transmitter and receiver nodes of link l, respectively. For each node n∈N, let T_{ O }(n)={l∈En=t(l)} and T_{ I }(n)={l∈En=r(l)} be the sets of outgoing and incoming links of node n, respectively. Let Γ be the set of all source and destination pairs in the network. In other words, (s,d)∈Γ denotes a unicast session.
3.2 QoS guarantee
Definition 1
The QoS guarantee for (s,d)∈Γ and i∈I_{ M } is a lower bound of the probability that source s can transmit a packet of sublayer ${L}_{i}^{(s,d)}$ to destination d successfully.
where ${f}_{l,i}^{(s,d)}$ indicates whether or not link l∈E is used to transmit a packet of ${L}_{i}^{(s,d)}$. If it is used, ${f}_{l,i}^{(s,d)}=1$. Otherwise, ${f}_{l,i}^{(s,d)}=0$.
4 Optimal path selection for layered unicast
In this section, we describe a method for selecting an optimal set of paths to transmit layered data for all unicast sessions. The selection is constrained by the QoS guarantee of each data layer and by wireless link scheduling. The definition of an optimal set of paths is given below.
Definition 2.
A path for (s,d)∈Γ and i∈I_{ M } is a set of links, denoted by ${R}_{i}^{(s,d)}$, used to transmit packets of sublayer ${L}_{i}^{(s,d)}$. An optimal set of paths is such that ${R}_{i}^{(s,d)}$, (s,d)∈Γ, i∈I_{ M }, maximize the objective function under a set of constraints.
We discuss the objective function as well as the set of constraints in the following subsections.
4.1 Objective function
Let ${x}_{i}^{(s,d)}$ be the variable indicating whether or not packets of sublayer ${L}_{i}^{(s,d)}$ are transmitted with QoS guarantee. If the sublayer is transmitted with QoS guarantee, ${x}_{i}^{(s,d)}=1$. Otherwise, ${x}_{i}^{(s,d)}=0$. Moreover, to prioritize data sublayers, we define the information value of each sublayer as ${\kappa}_{i}^{(s,d)}$, where ${\kappa}_{i}^{(s,d)}\ge {\kappa}_{j}^{(s,d)}$, when i<j. This means that, the lower a data sublayer, the higher its priority. The throughput of sublayer ${L}_{i}^{(s,d)}$ is the product of the reliability ${P}_{i}^{(s,d)}$ and normalized transmission rate $\overline{t}$.
where ${\overline{p}}_{l}=log(1{p}_{l})$.
Relevant properties based on the objective function in (5) are summarized in Theorem 1.
Theorem 1.
 1.Maximizing the objective function$\sum _{(s,d)\in \Gamma}\sum _{i\in {I}_{M}}{\kappa}_{i}^{(s,d)}\{log{P}_{i}^{(s,d)}+{x}_{i}^{(s,d)}log\overline{t}\}$(6)is equivalent to maximizing the objective function$\sum _{(s,d)\in \Gamma}\sum _{i\in {I}_{M}}{\kappa}_{i}^{(s,d)}{x}_{i}^{(s,d)}log\left({P}_{i}^{(s,d)}\overline{t}\right).$(7)
 2.
In an optimal set of paths for each unicast session, for any two paths in this set, a path having a higher reliability transmits packets of either the same or higher information value.
 3.
Given a lossy network, the objective function yields a set of paths that has the minimum number of channel uses in the case of equal link loss probabilities.
The proof of Theorem 1 can be found in the Appendix.
4.2 Flow conservation constraint
for all i∈I_{ M }, (s,d)∈Γ, and n∈N. Note that, when ${x}_{i}^{(s,d)}=0$, the total flow out of a source or into a destination must be zero.
4.3 Reliability constraint
where ${\overline{q}}_{i}^{(s,d)}=log\underset{i}{\overset{(s,d)}{q}}$. This constraint demands each path selected by the optimal routing to achieve the QoS requirement based on the reliability consideration.
The choice of the QoS requirement of each data layer, ${q}_{i}^{(s,d)}$, is based on its priority and type of application and is obtained from experiences of end users. For example, in voice over IP (VoIP) traffic, the packet loss rate should not exceed 5% to not affect the quality significantly. When link qualities of a wireless mesh network are in hostile conditions, the original QoS requirements may not be feasible because the proposed optimization framework cannot find feasible transmitting paths guaranteeing the original QoS requirements of those data layers. This infeasibility is, however, common to communication networks. The problem can typically be handled through the process of call admission control (CAC), which we assume to exist but whose details are beyond the scope of our investigation. The ILP problem can be used for network resource allocation in conjunction with CAC.
4.4 Wireless link scheduling constraint
Due to the broadcast nature of wireless communications, a transmission of a particular node can affect transmissions of other nodes in its coverage range. Since wireless channels are shared among multiple nodes, a node placed in the transmission and coverage ranges of other nodes may be interfered by simultaneous communications. In this work, we assume that the wireless interference can be managed by an appropriate channel planning [21, 22]. A receiver node cannot simultaneously receive more than one packet whereas a transmitter node can send no more than one packet at a given time. Therefore, a wireless link scheduling technique is needed to coordinate wireless broadcasting.
A broadcast transmission scheduling technique using the independent set concept was proposed by [2]. An independent set consists of a set of links where no two links share a common end node. In our network model, any pair of links in an independent set must share neither a common transmitter node nor a common receiver node. It is also assumed that broadcasting is achieved using omnidirectional antenna, where the transmission of each packet goes into all directions. The number of all possible independent sets in a given network can be quite large since it grows exponentially with the number of links.
4.5 Problem formulation: a summary
where I_{M−1}={0,1,…,M−2}.
Specifically, we can explain each constraint as follows. Constraint (14b) is the flow conservation constraint. Constraint (14c) is the reliability constraint. Constraints (14d) and (14e) are the wireless link scheduling constraints. Constraint (14f) is the layered data constraint. A transmission path of a higher sublayer will be chosen only if a transmission path of a lower sublayer has been selected. Constraints (14g), (14h), and (14i) are the feasible values of ${f}_{l,i}^{(s,d)}$, ${x}_{i}^{(s,d)}$, and a_{ j }, respectively.
where γ is a tuning parameter between zero and one.
The objective function in (15) gives a suboptimal solution with respect to the original objective function in (14a). The objective function in (15) may not satisfy the second property of the original objective function since it does not take into account the successful transmission probability of each link. However, the third property of the original objective function still holds, i.e., the objective function in (15) provides shortest paths in terms of hop distances satisfying both the transmission rate and QoS requirement of each sublayer, which can be proven by using the similar approach to the third property of Theorem 1.
The constrained linear optimization is solved to obtain an optimal set of paths ${R}_{i}^{(s,d)}$, (s,d)∈Γ,i∈I_{ M }, as defined in Definition 2. An optimal solution to the problem can be obtained by various mathematical programming tools. We select CoinMP [24], which is a CAPI library that supports most of the functionality of Coin Linear Programming (CLP), Coin BranchandCut (CBC), and Cut Generation Library (CGL) projects, to be the solver for linear programming. This is the first step of the proposed QoSaware routing scheme. These obtained optimal paths are inputs to the second step of the proposed QoSaware routing scheme as described in the next section.
5 QoSaware CNC for layered unicasts
The CNC establishment (CNCE) protocol is presented in this section and is used to decide whether or not CNC will be performed on different unicast pairs at intermediate nodes. The decision criterion is derived based on the QoS requirement of transmitted layered data.
5.1 Three basic local structures
For the AB structure, CNC is employed at node C, which combines each pair of packets received from node A and node B, and then broadcasts the combined packet back to those nodes. Transmission delay and energy consumption in a shared network can be reduced at the cost of lower reliability of transmitted data. This is because to receive the transmitted data correctly at nodes A and B, all data packets involved in the network coding operation must be successfully received by node C, while the network coded packets at node C must be successfully received by nodes A and B.
For the Y structure, there are two unicast flows: (1) from node A to node B and (2) from node B to node D. CNC is conducted at node C. In particular, node D receives a packet transmitted by node A via opportunistic listening. Node C encodes each pair of packets received from node A and node B, and then broadcasts the network coded packet to nodes B and D simultaneously.
For the X structure, there are two unicast flows: (1) from node A to node B and (2) from node E to node D. Network coding is operated at node C. The coded data packet is then broadcast to nodes D and B. Transmission delays and energy consumptions of these unicast flows are reduced since the number of channel uses is reduced due to CNC. However, the reliability in transmitted data deteriorates due to the dependency on required packets in data decoding at destination nodes.
These local structures are potentially embedded in general random topologies. We provide numerical results in terms of the transmission reliability for general random topologies that perform CNC using these three local structures in Section 5.3.
5.2 Coding rules and opportunities
 1.
Packet ρ _{ j } belongs to a flow that has traveled through n _{ i }, where n _{ i } keeps the packet in its memory for a period of time for the purpose of CNC. This situation, known as the nonopportunistic listening CNC operation, is applicable to the AB structure
 2.
Node n _{ i } receives packet ρ _{ j } by overhearing the packet from a transmission of its adjacent node. For the network coding operation, node n _{ i } keeps the packet for later decoding of an encoded packet. The operation, called the opportunistic listening CNC operation, is used by the X structure.
The Y structure conducts both nonopportunistic and opportunistic listening CNC operations. In what follows, we adopt these conditions as the coding rules and opportunities for the CNC establishment.
Note that the proposed coding rules may not be optimal in terms of the number of channel uses in some network topologies. Other COPE structures, which consist of more than two information flows and accordingly establish more complex encoding/decoding structures than ours, have different coding rules and potentially provide more reduction in the number of channel uses. However, these complex COPE structures are rarely seen in practical networks since they require overlapping transmission ranges of more nodes to form their structures compared to the basic local structures in our work.
5.3 Reliability computation
In this section, the effects of performing CNC in lossy wireless networks on the reliability of layered data transmissions are investigated. A terminal node in each CNC structure can reproduce its desired packet if it has the coded packet and all the other involved noncoded packets. In addition, to encode a packet successfully for a unicast flow that passes node A and then node B, an intermediate node needs all required noncoded packets from other unicasts travelling along links that do not belong to path ${R}_{i}^{(A,B)}$.
Statement 1
For a flow on path ${R}_{i}^{(A,B)}$ that is associated with the CNC structure, the participating links to the flow on path ${R}_{i}^{(A,B)}$ are the links that are not on ${R}_{i}^{(A,B)}$ and carry either a noncoded packet to be used for encoding at an intermediate node or a noncoded packet to be used for decoding a coded packet at terminal node B. A participating link can be a link on the flow of another path cooperating with the flow on path ${R}_{i}^{(A,B)}$ or a link used in opportunistic listening.

For the AB structure, the participating link to the flow on path ${R}_{i}^{(A,B)}$ is e_{ B C } since node C needs a noncoded packet from node B to generate the coded packet, which is obtained by performing the XOR operation of a packet from node A and a packet from node B. Similarly, we can derive the participating link to the flow on path ${R}_{i}^{(B,A)}$.

For the Y structure, the participating link to the flow on path ${R}_{i}^{(A,B)}$ is e_{ B C } since node C needs a packet from node B to generate the coded packet. On the other hand, the participating links to the flow on path ${R}_{i}^{(B,D)}$ are e_{ A C } and e_{ A D } since both nodes C and D need packets from node A to generate and decode the coded packet, respectively. Note that node D can receive a packet from node A through opportunistic listening.

For the X structure, e_{ E C } and e_{ E B } are the participating links to the flow on path ${R}_{i}^{(A,B)}$ since node C needs a packet from node E on e_{ E C }, while node B needs a packet from node E on e_{ E B } to generate the coded packet and to decode the coded packet, respectively. Similarly, one can derive the participating links to the flow on path ${R}_{i}^{(E,D)}$, which are e_{ A C } and e_{ A D }.
Statement 2
Note that the probability of a successful packet transmission along path ${R}_{i}^{(s,d)}$ has previously been computed in (1). When CNC is applied, the reliabilities of the participating links affect the decodability of transmitted data at a terminal node. The expression in (16) reckons the probability of a successful packet transmission taking all reliabilities of links in ${R}_{i}^{(s,d)}$ and all participating links into account.
where node C_{ n } is the node that performs CNC and ${l}_{{C}_{n}}$ is the incoming link of node C_{ n } in the direction opposite to the outgoing link of node C_{ n } in ${R}_{i}^{(A,B)}$.
where e_{ A C } is the incoming link to node C on ${R}_{i}^{(A,B)}$, e_{ B C } is the incoming link to node C on ${R}_{i}^{(B,D)}$, and e_{ A D } is the incoming link to node D from any node upstream of node C on ${R}_{i}^{(A,B)}$.
where e_{ A C } and e_{ E C } are the incoming links to node C on ${R}_{i}^{(A,B)}$ and ${R}_{i}^{(E,D)}$, e_{ A D } is the incoming link to node D from any node upstream of A on ${R}_{i}^{(A,B)}$, and e_{ E B } is the incoming link to node B from any node upstream of E on ${R}_{i}^{(E,D)}$.
5.4 CNCE protocol
Different unicast flows can be combined to reduce the use of network resources when there are bottlenecks in the network. Our goal is to apply CNC as much as possible while guaranteeing the QoS of unicast flows of different data sublayers. However, if combining unicast flows for CNC leads to a violation of the QoS requirement, CNC will not be performed and unicast flows will be separately transmitted.
The search for CNC structures is executed by the central controller. The optimal paths obtained from Section 4 are investigated over all links to find AB, Y, and X structures. The central controller detects each CNC structure by examining whether a group of links match with the considered CNC structure. If a group of links match the underlying CNC structure, these links must convey two unicast flows having the same transmission rate.
The CNCE protocol can be executed step by step as follows: Stage 1: CNCE for the AB structure Step 1: Find all AB structures in ${R}_{i}^{(s,d)}$ for all i∈I_{ M } and for all (s,d)∈Γ. Step 2: For each AB structure identified in step 1, we find two unicast flows from two pairs of (s,d)∈Γ that go through this AB structure. Step 3: For each intermediate node, denoted by C_{ n }, where n=1,2,⋯,Φ and Φ is the number of intermediate nodes in the AB structure, we use (19) to compute the reliability of applying CNC at this node. Select an intermediate node C_{ n } that satisfies the QoS requirements of two unicast flows obtained in step 2. If there is more than one intermediate node that can satisfy the QoS requirements with CNC, choose the node with the best QoS. At the selected node, perform CNC on these two unicast flows. Otherwise, CNC will not be performed, and these two unicast flows will be transmitted separately. Stage 2: CNCE for the Y structure Step 4: In ${R}_{i}^{(s,d)}$ for all i∈I_{ M } and for all (s,d)∈Γ, find all Y structures that have links not in the AB structures identified in step 1. Step 5: For each Y structure in step 4, use (22) and (23) to compute the reliabilities of two unicast flows. If the unicast flows transverse through the previous AB structure, the reliabilities of (22) or (23) will be modified by multiplying the successful transmission probability of the link ${l}_{{C}_{n}}$ from the AB structure. This modification is needed since the reliability of the current CNC in the Y structure relies on the reliability of the CNC in the AB structure. Step 6: If the computed reliabilities from step 5 of the Y structure satisfy the QoS requirements of these two unicast flows, perform CNC on two unicast flows. Otherwise, these two unicast flows will be transmitted separately. Stage 3: CNCE for the X structure Step 7: In ${R}_{i}^{(s,d)}$ for all i∈I_{ M } and for all (s,d)∈Γ, find all X structures that have links not in the AB structure and the Y structure as identified in steps 1 and 4. Step 8: For each X structure in step 7, use (26) and (27) to compute the reliabilities of two unicast flows. If the unicast flows travel through the previous AB structure, the reliabilities of (26) or (27) will be modified by multiplying the successful transmission probability of the link ${l}_{{C}_{n}}$ from the AB structure. If the unicast flows travel through the previous Y structure, the reliabilities of (26) or (27) will be modified by multiplying $(1{p}_{{e}_{\mathit{\text{BC}}}})$ or $(1{p}_{{e}_{\mathit{\text{AC}}}})(1{p}_{{e}_{\mathit{\text{AD}}}})$ in the Y structure, depending on the unicast flows. If the unicast flow travels through the AB as well as the Y structures, both modifications are adopted. Step 9: If the computed reliabilities from step 8 of the X structure satisfy QoS requirements of these two unicast flows, perform CNC on the two unicast flows. Otherwise, they will be separately transmitted.
The computed reliabilities at the end of step 9 yield the final reliability of sublayer ${L}_{i}^{(s,d)}$. We can infer from this reliability that all ${L}_{i}^{(s,d)}$ have the QoS guarantees since their endtoend successful transmission probability are equal to or greater than their QoS requirements.
6 Experimental results
and their enhanced versions by incorporating our CNCE algorithm, which is presented in Section 5.4. Thus, we can evaluate how CNC affects these routing schemes.
6.1 Experimental setup
We simulate the three routing schemes, SPR, QoSR, and QoSSPR, and their modified schemes, SPR w/ CNCE, QoSR w/ CNCE, and QoSSPR w/ CNCE, on random network topologies. We use the igraph library [25], which is a free software package to generate and simulate undirected and directed graphs of complex network research. The node positions are placed randomly in a square whose side length is 400 m. The transmission range of each node is set to 100 m.
Distance thresholds for different transmission data rates
Data rate  Normalized rate  Received power  Distance 

(Mbps)  (unit)  (dBm)  (m) 
6  12  82  100.0 
12  24  81  94.4 
18  26  79  84.1 
24  48  77  75.0 
36  72  74  63.0 
48  96  70  50.1 
54  108  66  39.8 
While more accurate path loss models can be derived from complex analytical models or from measurements where system specifications such as the locations of access points must be known, a simplified path loss model is used because it can sufficiently capture the essence of signal propagation for the purpose of data delivering as well as interference consideration. Note that the proposed CNCE algorithm can also be applied when other path loss models are assumed.

Successful data transmission probabilities of links

Node densities

Traffic demands
Assume that there are no packet retransmissions. We evaluate the performance of each routing scheme by using three metrics: (1) total throughput of a network, (2) number of channel uses, and (3) throughput per channel use. The total throughput of a network is a sum of transmission rates of all sublayers ${L}_{i}^{(s,d)}$ that satisfy their QoS requirements. In our experiments, a sink node discards the sublayers that cannot satisfy their QoS requirements as well as their dependencies. The number of channel uses is a sum of links of all the paths used to transmit all layered unicast flows in each network. It reflects the wireless channel utilization of each routing scheme. Finally, the throughput per channel use is the ratio between the total throughput of a network and the number of channel uses. This metric measures the efficiency of wireless channels in data transmission.
A sourcedestination (sd) pair transmits one base layer and two enhancement layers. We set $\overline{t}$ equal to one normalized unit which is 512 kbps. The transmission rates of the base layer, the first enhancement layer, and the second enhancement layer are equal to 2, 1, and 1 units, respectively. We set the QoS requirements, which are successful transmission probabilities, to 0.90, 0.80, and 0.70 for the base layer, the first enhancement layer, and the second enhancement layer, respectively. Therefore, each sd pair transmits four sublayers, ${L}_{0}^{(s,d)}$, ${L}_{1}^{(s,d)}$, ${L}_{2}^{(s,d)}$, and ${L}_{3}^{(s,d)}$. The information values of ${L}_{0}^{(s,d)}$, ${L}_{1}^{(s,d)}$, ${L}_{2}^{(s,d)}$, and ${L}_{3}^{(s,d)}$ are set to 4, 4, 3, and 2, respectively. The routing solution of each routing scheme is obtained from the Python programming language [26] together with the PulP package [27] and the CoinMP solver [24].
6.2 Effects of link transmission probabilities
Ten sourcedestination (sd) pairs are randomly chosen in 50 randomly selected networks with 15 nodes. The successful data transmission probability of each link is randomly generated, where Z≤1−p_{ l }≤1 and Z∈{0.89,0.90,0.91,0.92,0.93,0.94,0.95,0.96}. Note that the xaxis of all the result plots specifies the value of Z.
The importance of CNCE algorithm is also scrutinized with the considered routing schemes. First, there is not much difference in terms of the number of channel uses between SPR and SPR w/ CNCE. When SPR is a routing scheme, the selected transmission paths of SPR generally have low reliabilities. Applying CNCE algorithm will further deteriorate transmission reliabilities and QoS guarantees. Therefore, CNC structures are rarely formed to enhance channel utilization in this environment. However, the gain from using CNCE algorithm can be seen in both QoSSPR and QoSR. The number of channel uses of both routing schemes decreases due to CNCE algorithm. In addition, the CNCE algorithm can decrease the number of channel uses for QoSSPR more than for QoSR. This comes from the fact that QoSSPR selects the optimal paths with higher reliabilities than QoSR. Therefore, the CNCE algorithm has a better chance to establish more CNC structures without breaking QoS requirements.
We can draw a conclusion from our experiments that QoSR should be used in transmissions with QoS guarantees. QoSR gives almost the same throughput as QoSSR, whereas it provides better channel utilizations in all network environments. SPR is not suitable to be used in wireless networks with poor link qualities since it cannot provide both QoS guarantees and high channel utilizations.
6.3 Effects of node densities
6.4 Effects of traffic demands
We generate 50 random topologies in the experiment. A successful transmission probability of each link is randomly and uniformly generated, where 0.90≤1−p_{ l }≤1. The number of nodes in each network is set to 15. Traffic demands are determined by the number of sd pairs. Source and destination nodes of these sd pairs are randomly chosen from nodes in the network. The number of sd pairs is varied from 10 to 20.
6.5 Effects of wireless interference: a case of single wireless channel
In the earlier sections, we assume that wireless mesh networks use multiple transmission channels together with careful channel planning such that interferences among active transmission links are minimized. However, when only one wireless channel is used, wireless interference becomes crucial. Here, we investigate the performance of our proposed scheme when there is only one wireless channel for transmission. We use the protocol model[28], which is a simplified version of wireless interference model, to define the conditions for a successful wireless transmission. In this model, each node n_{ i } is equipped with a radio module with a transmission range R_{ i } and a potentially larger interference range R i′.
 1.
Receiver node n _{ j } is in the transmission range of transmitter node n _{ i } (d _{ i j }≤R _{ i }).
 2.
Receiver node n _{ j } is not in the interference range of any transmitter node n _{ k } that is using the wireless channel (d _{ k j }>R k′).
The maximal transmission range and interference range of each node n_{ i } are set to 100 and 200 m, respectively. The experimental settings are the same as in Section 6.2. Specifically, ten sourcedestination (sd) pairs are randomly chosen in 50 random networks, where each network has 15 nodes. The successful packet transmission probability of each link is randomly generated, where Z≤1−p_{ l }≤1 and Z∈{0.89,0.90,0.91,0.92,0.93,0.94,0.95,0.96}.
The lower obtained throughputs can be explained as follows. By using the protocol model, there is one more condition added to the definition of an independent set. In particular, the receiver node of a link in an independent set must not be in the interference ranges of the transmitter nodes of the other links in the same independent set. Consequently, the size of an independent set is in general reduced, whereas the size of a family of independent sets whose union can cover all links of the network is in general increased. Given the same amount of traffic, the wireless link scheduling constraint, and the same link capacities, the number of channel uses available from independent sets to support traffic demands per unit time becomes smaller. Therefore, the capacity of wireless mesh networks decreases when there is a single wireless channel available.
7 Conclusions
A routing scheme that provides QoS guarantee for heterogeneous layered unicast transmissions in multirate lossy wireless networks with and without CNC was investigated and compared to its alternatives in this research. The path of each layered unicast flow is obtained by solving a constrained linear optimization problem subject to the QoS requirement of each flow. The associated CNCE algorithm decides whether or not CNC will be performed at an intermediate node by considering the AB, Y, and X structures in the network. It was demonstrated by computer simulations that the proposed QoSaware routing scheme yields better throughput and higher channel use efficiency with the QoS guarantee on heterogeneous unicast flows.
Appendix
Proof of Theorem 1
Since ${\kappa}_{i}^{(s,d)}<{\kappa}_{j}^{(s,d)}$, the first term in (32) is negative. Since ${P}_{i}^{(s,d)}>{P}_{j}^{(s,d)}$, the second term in (32) is positive. It follows that C_{ m }−C m′<0, contradicting the assumption that C_{ m } is the optimal cost.
where $\overline{p}=log(1{p}_{l})$.
When ${\overline{p}}_{l}$ for all l∈E is equal to a fixed constant, since ${\overline{p}}_{l}$ is a negative value, ${f}_{l,i}^{(s,d)}$ should be set equal to 0 as many times as possible to maximize (33). Since ${f}_{l,i}^{(s,d)}=0$ refers to the unused link l for ${R}_{i}^{(s,d)}$. Thus, we conclude that the maximum objective function refers to the minimum number of channel uses. ◇
Declarations
Acknowledgements
This research was partly supported by the Telecommunications Research and Industrial Development Institute (TRIDI), National Telecommunication Commission Fund (Grant No. 003/2553) and partly supported by the National Research University Project of Thailand, Office of the Higher Education Commission. This research was also supported in part by the Graduate University of Advanced Studies (Sokendai) and National Institute of Informatics.
Authors’ Affiliations
References
 Fragouli C, Boudec JY Le, Widmer J: Network coding: an instant primer. SIGCOMM Comput. Commun. Rev. 2006, 36: 6368.View ArticleGoogle Scholar
 Zhang J, Zhang Q: Cooperative network codingaware routing for multirate wireless networks. In INFOCOM 2009. Rio de Janeiro: IEEE; 2009:181189.Google Scholar
 Ahlswede R, Cai N, Li SY, Yeung RW, R: Network information flow. IEEE Trans. Inform. Theory 2000, 46(4):12041216. 10.1109/18.850663MathSciNetView ArticleMATHGoogle Scholar
 Katti S, Rahul H, Hu W, Katabi D, Medard M, Crowcroft J: XORs in the air: practical wireless network coding. IEEE/ACM Trans. Netw. 2008, 16(3):497510.View ArticleGoogle Scholar
 Sengupta S, Rayanchu S, Banerjee S: An analysis of wireless network coding for unicast sessions: the case for codingaware routing. In 26th IEEE International Conference on Computer Communications (INFOCOM 2007). Anchorage: IEEE; 2007:10281036.View ArticleGoogle Scholar
 Sengupta S, Rayanchu S, Banerjee S: Network codingaware routing in wireless networks. IEEE/ACM Trans. Netw. 2010, 18(4):11581170.View ArticleGoogle Scholar
 Wei X, Zhao L, Xi J, Wang Q: Network coding aware routing protocol for lossy wireless networks. In 5th International Conference on Wireless Communications, Networking and Mobile Computing (WiCom’09). Beijing: IEEE; 2009:14.Google Scholar
 Liu J, Goeckel D, Towsley D: Bounds on the gain of network coding and broadcasting in wireless networks. In 26th IEEE International Conference on Computer Communications (INFOCOM 2007). Anchorage: IEEE; 2007:724732.View ArticleGoogle Scholar
 Li Z, Li B: Network coding: The case of multiple unicast sessions. In Proceedings of the 42nd Allerton Annual Conference on Communication, Control, and Computing. Monticello: Curran Associates, Inc.; 2004.Google Scholar
 Traskov D, Ratnakar N, Lun DS, Koetter R, Medard M: Network coding for multiple unicasts: an approach based on linear optimization. In IEEE International Symposium on Information Theory. Seattle: IEEE; 2006:17581762.Google Scholar
 Alay O, Korakis T, Wang Y, Erkip E, Panwar SS: Layered wireless video multicast using relays. IEEE Trans. Circuits Syst. Video Technol. 2010, 20(8):10951109.View ArticleGoogle Scholar
 Tuncel E, Rose K: Additive successive refinement. IEEE Trans. Inf. Theor. 2006, 49(8):19831991.MathSciNetView ArticleMATHGoogle Scholar
 Seferoglu H, Markopoulou A: Opportunistic network coding for video streaming over wireless. In Packet Video 2007. Lausanne: IEEE; 2007:191200.View ArticleGoogle Scholar
 Mahapatra A, Anand K, Agrawal DP: Qos and energy aware routing for realtime traffic in wireless sensor networks. Comput. Commun. 2006, 29(4):437445. 10.1016/j.comcom.2004.12.028View ArticleGoogle Scholar
 Supittayapornpong S, Saengudomlert P, Kumwilaisak W: A framework for reliability aware layered multicast in lossy networks with network coding. Comput. Commun. 2010, 33(14):16511663. 10.1016/j.comcom.2010.04.010View ArticleGoogle Scholar
 Pu W, Luo C, Wu F, Chen CW: Qosdriven network coded wireless multicast. IEEE Trans. Wireless Commun. 2009, 8(11):56625670.View ArticleGoogle Scholar
 Greco C, Nemoianu ID, Cagnazzo M, PesquetPopescu B: A network coding scheduling for multiple description video streaming over wireless networks. In Proceedings of the 20th European Signal Processing Conference (EUSIPCO) 2012. Bucharest: IEEE; 2012:19151919.Google Scholar
 Oh H, Kim Ck: Network codingbased mobile video streaming over unreliable wireless links. IEEE Commun. Lett. 2013, 17(2):281284.MathSciNetView ArticleGoogle Scholar
 Yang Y, Zhong C, Sun Y, Yang J: Network coding based reliable disjoint and braided multipath routing for sensor networks. J. Netw. Comput. Appl. 2010, 33(4):422432. 10.1016/j.jnca.2010.02.003View ArticleGoogle Scholar
 Wang L, Yang Y, Zhao W: Network codingbased multipath routing for energy efficiency in wireless sensor networks. EURASIP J. Wireless Commun. Netw. 2012, 2012(1):115. 10.1186/1687149920121MathSciNetView ArticleGoogle Scholar
 Benyamina D, Hafid A, Gendreau M: Wireless mesh networks design – a survey. Commun. Surv. Tutor. IEEE 2012, 14(2):299310.View ArticleGoogle Scholar
 Rappaport TS: Wireless Communications:Principles and Practice. 2nd edn., (Prentice Hall, Upper Saddle River, NJ, 2002), pp. 57–74Google Scholar
 Feige U: A threshold of ln n for approximating set cover. J. ACM 1998, 45(4):634652. 10.1145/285055.285059MathSciNetView ArticleMATHGoogle Scholar
 Kristjansson B: CoinMP. . Accessed 10 May 2014 http://www.coinor.org/projects/CoinMP.xml
 Parkin T: Pythonigraph packages. . Accessed 10 May 2014 https://pypi.python.org/pypi/pythonigraph
 Parkin T: Python programming language. . Accessed 10 May 2014 http://www.python.org
 Mitchell S: Optimization with PuLP. . Accessed 10 May 2014 http://www.coinor.org/PuLP
 Jain K, Padhye J, Padmanabhan VN, Qiu L: Impact of interference on multihop wireless network performance. In Proceedings of the 9th Annual International Conference on Mobile Computing and Networking. New York, NY, USA: ACM; 2003:6680.Google Scholar
Copyright
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License(http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.