 Research
 Open Access
 Published:
QoSaware routing for heterogeneous layered unicast transmissions in wireless mesh networks with cooperative network coding
EURASIP Journal on Wireless Communications and Networking volume 2014, Article number: 81 (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.
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
We model a wireless mesh network as a directed graph G(N,E), where N and E are the sets of nodes and bidirectional links in the network, respectively. There are several unicast sessions in the network. Each session is defined by a unique sourcedestination pair. Let s and d denote source and destination nodes of an arbitrary unicast session, respectively. Table 1 summarizes the notations used in this paper.
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.
Each link has a normalized positive integral capacity or transmission rate denoted by c_{ l }. A normalized unit capacity can be translated into bits per second. The probability of a packet loss of link l is denoted by p_{ l }, where 0≤p_{ l }≤1. Each (s,d)∈Γ transmits ${\overline{M}}^{(s,d)}$ original layers of data, where ${L}_{\overline{i}}^{(s,d)}$ is the $\overline{i}\text{th}$ layer with transmission rate ${r}_{\overline{i}}^{(s,d)}$. Let the set of layer indices of each (s,d) be ${I}_{{\overline{M}}^{(s,d)}}$, where
To generalize the layered scheme, we decompose each original layer ${L}_{\overline{i}}^{(s,d)}$ into several sublayers with the same transmission rate based on ${r}_{\overline{i}}^{(s,d)}$. Let $\overline{t}$ be equal to one normalized unit. Then, (s,d) has M^{(s,d)} sublayers, where
Let M represent the maximum number of sublayers that a source sends to a destination in the network, i.e.,
Therefore, each (s,d) has up to M sublayers, where ${L}_{i}^{(s,d)}$ is the i th sublayer with the same common transmission rate $\overline{t}$, so that network coding can be applied across heterogeneous unicast sessions. Let the set of sublayer indices for all (s,d) be I_{ M }, where
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.
The probability of a successful packet transmission for ${L}_{i}^{(s,d)}$, called the reliability and denoted by ${P}_{i}^{(s,d)}$, can be expressed as
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}$.
One of our objectives is to maximize the total throughput while taking the reliability into account. The information value of the sublayer ${L}_{i}^{(s,d)}$, ${\kappa}_{i}^{(s,d)}$, is used to provide priorities among different sublayers. Sublayers from the same original layer will have the same information value. Specifically, ${\kappa}_{i}^{(s,d)}=M\overline{i}$, where the sublayer ${L}_{i}^{(s,d)}$ is from the $\overline{i}\text{th}$ layer. Consequently, ${\kappa}_{i}^{(s,d)}={\kappa}_{j}^{(s,d)}$ if both ${L}_{i}^{(s,d)}$ and ${L}_{j}^{(s,d)}$ are from the same original layer. The concept of information value is demonstrated in Figure 1.
Furthermore, we attempt to reduce the channel use by minimizing the path length for each ${R}_{i}^{(s,d)}$ since a shorter path can result in a smaller number of transmissions used for each flow, leading to more efficient channel utilization and shorter delay in wireless networks. Based on the above discussion, we first select the following objective function:
We use the logarithmic throughput in (2) since a sum of logarithmic utility functions ensures proportional fairness. To avoid nonlinear optimization which demands higher computational complexity, we can maximize the following equivalent function
which can be solved by linear optimization. The equivalence between these two objective functions is stated and proved as Theorem 1. The objective function in (3) can be rewritten a
Thus, our objective function takes the following final form:
where ${\overline{p}}_{l}=log(1{p}_{l})$.
Relevant properties based on the objective function in (5) are summarized in Theorem 1.
Theorem 1.
The objective function in (5) has the following properties:

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
The considered wireless mesh network is modeled as a network with information flows. Consider information flows for each (s,d)∈Γ of the i th sublayer, where i∈I_{ M }. The total flow into a particular intermediate node is equal to the total flow out of the node. The flow of sublayer ${L}_{i}^{(s,d)}$ from source node s to destination node d is equal to sublayer rate $\overline{t}$. Thus, the constraint on information flow conservation can be expressed mathematically as
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
The QoS requirement of sublayer ${L}_{i}^{(s,d)}$ is denoted by ${q}_{i}^{(s,d)}$, where $0\le {q}_{i}^{(s,d)}\le 1$. Based on (1), the constraint on packet transmissions of sublayer ${L}_{i}^{(s,d)}$ with QoS guarantee can be expressed as
for all i∈I_{ M } and (s,d)∈Γ. By taking the logarithm on both sides of (9), we obtain
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.
Instead of considering all independent sets, it suffices to consider a family of independent sets whose union can cover all links of the network. The problem of choosing such independent sets for a network can be formulated as a set covering problem (SCP) [23] whose solution can be solved by using either integer linear optimization or greedy algorithm. To give an example as shown in Figure 2, instead of considering all feasible independent sets in the network, we can consider the following independent sets: {(1,2), (4,5), (3,6)}, {(1,2), (5,4), (3,6)}, {(1,2), (4,5), (6,3)}, {(1,2), (3,4)}, {(2,1), (3,4)}, {(2,3), (4,5)}, {(3,2), (4,5)}, {(1,2), (4,3)}, {(2,3), (5,1)}, and {(2,3), (1,5)}.
Let Z^{j} be a set of parameters indicating the links that can be activated at the same time according to the j th independent set. In particular, ${Z}^{j}={\left\{{z}_{l}^{\phantom{\rule{0.3em}{0ex}}j}\right\}}_{l\in E}$. If ${z}_{l}^{\phantom{\rule{0.3em}{0ex}}j}=1$, link l can be activated; otherwise, link l cannot be activated in the j th independent set. The set of indices for all Z^{j} is denoted by J. For example, Z^{j} for independent set {(1,2), (4,5), (3,6)} of the network shown in Figure 2 is
To achieve time sharing according to link capacities, each selected independent set Z^{j} will be activated for a time fraction a_{ j } in each transmission time slot. The value of a_{ j } is 0≤a_{ j }≤1 for j∈J, and ${\sum}_{j\in J}{a}_{j}=1$. Then, the wireless link scheduling constraints can be expressed mathematically as
for all l∈E, and
4.5 Problem formulation: a summary
Based on the above discussion, we can formulate the optimal path selection problem as a linear optimization using the objective function in (5) with constraints of the flow conservation in (8), the reliability in (9), and the wireless link scheduling in (12) and (13). The overall problem is summarized in the following: Maximize
subject to
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.
Searching for a set of paths that maximize the throughput of each layered unicast session requires high computational complexity because all feasible links must be considered. To reduce the complexity of the problem, the objective function in (14a) is modified as
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
We consider three local structures for the application of CNC, called the AB, Y, and X structures, as shown in Figure 3. The dashed and regular arrows shown in Figure 3 represent the overhearing and direct transmissions, respectively. These three local structures were partly used in [2, 6, 7]. They serve as the basis in typical networks.
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
In this subsection, we discuss the coding rules and opportunities of CNC. Consider k packets ρ_{0}, ρ_{1}, ρ_{2}, ⋯, ρ_{(k−1)} that are independent of one another and are on their own flows traversing a common intermediate node. The packets ρ_{0}, ρ_{1}, ρ_{2}, ⋯, ρ_{(k−1)} leave a common intermediate node and travel to nodes n_{0}, n_{1}, n_{2}, ⋯, n_{(k−1)}, respectively. At the intermediate node, interflow coding using the XOR (⊕) operation forms the coded packet ρ=ρ_{0}⊕ρ_{1}⊕ρ_{2}⊕⋯ρ_{(k−1)}. Next, the coded packet ρ is broadcast to nodes n_{0}, n_{1}, n_{2}, ⋯, n_{(k−1)}. The coded packet is valid and can be decoded at each n_{ i } only if n_{ i } has received packets ρ_{ j } for all j∈{0,1,2,⋯,k−1} and j≠i. These coding rules are demonstrated in Figure 4.
The next node n_{ i } can have all mentioned packets ρ_{ j } with the following two conditions:

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.
We examine the participating links of the basic CNC structures in the following.

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
Let ξ be the set of participating links to the flow traveling along subpath ${R}_{i}^{(A,B)}$ of ${R}_{i}^{(s,d)}$ with CNC performed, the reliability of the flow on ${R}_{i}^{(s,d)}$ can be expressed as
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.
We use the AB structure as an example. When the involved transmission links are lossy, the successful transmission probability of sublayer ${L}_{i}^{(s,d)}$ from node A to node B and from node B to node A with CNC at node C can be expressed as
and
For the extended AB structure that has two intermediate nodes, i.e., nodes C_{1} and C_{2}, as shown in Figure 5, we can generalize (17) to
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)}$.
For the Y structure that has five transmission links as shown in Figure 3b, the reliabilities of unicast flows traveling from node A to node B and from node B to node D with CNC at node C can be expressed as
and
respectively. They can be generalized as
and
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)}$.
For the X structure that has six links as shown in Figure 3c, the reliabilities of unicast flows traveling from node A to node B and from node E to node D with CNC at node C are expressed as
and
We can generalize (24) and (25) for two unicast flows that join the X structure as
and
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
In this section, we compare the performance of the following three routing schemes:

Shortest path routing (SPR), which was considered in [2, 6, 7, 10],

QoSaware layered unicast routing (QoSSPR) as presented in Section 4,

QoSaware layered unicast routing with an alternative objective function (15) (QoSR), the tuning parameter is set to 0.01 (i.e., ?=0.01),
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.
The transmission rate is set depending on the received power threshold and the corresponding maximal distance based on the IEEE 802.11a standard [2]. We set the transmission rate from 6, 12, 18, 24, 36, 48, up to 54 Mbps. For the rate 6 Mbps, we set the maximal distance of 100 m. Then, we calculate higher transmission rates for shorter distances corresponding to the path loss model P_{ r }=α P_{ t }/d^{4}, where P_{ r }, P_{ t }, α, and d represent the received power, the transmitted power, the path loss coefficient used in the simulation, and the distance measured from the transmitter to the receiver, respectively. A normalized unit of link capacity is set to 512 kbps. The relationship between the transmission data rate and the received power is shown in Table 2.
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.
We perform numerical experiments by adjusting one of the following three parameters:

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.
Figure 6 shows the throughputs of the considered routing schemes with CNCE algorithm as a function of the successful packet transmission probability. From the results, QoSSPR w/ CNCE gives the highest throughput among all routing schemes. In addition, QoSSPR w/ CNCE gives significantly better results than SPR at all cases of successful packet transmission probabilities. The throughput gain is more significant at low successful packet transmission probabilities because SPR may select paths without guaranteeing QoS requirements. The throughput gain of QoSSPR w/ CNCE over its suboptimal counterpart, QoSR w/ CNCE, is modest. However, QoSSPR w/ CNCE achieves a throughput gain over the QoSR w/ CNCE since QoSSPR w/ CNCE selects paths with the highest endtoend transmission reliability, whereas QoSR w/ CNCE merely chooses paths that satisfy the QoS requirements. Obviously, transmission paths satisfying the QoS requirements may not give the highest reliability. The throughput of QoSSPR w/ CNCE is close to that of QoSR w/ CNCE. We can conclude from the results that QoSR w/ CNCE could be an effective alternative to QoSSPR w/ CNCE if maximizing the throughput is our objective.
Next, Figure 7 evaluates the performances of routing schemes in terms of the number of channel uses. The numbers of channel uses of QoSSPR and QoSR are significantly less than that of SPR at all link qualities. The number of channel uses from SPR is the highest at all link qualities although its achievable throughput increases as a function of the successful transmission probability. In other words, SPR has the lowest efficiency of channel utilization, especially at low link qualities. QoSR has a lower number of channel uses than QoSSPR both with and without CNCE algorithm. QoSSPR selects paths with the highest transmission reliability regardless of the number of links used to transmit bitstreams whereas QoSR chooses the shortest paths that satisfy the QoS requirements.
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.
Figure 8 shows the throughput per channel use of all routing schemes. QoSR w/ CNCE achieves the best throughput per channel use among all routing schemes. Both QoSSPR w/ CNCE and QoSR w/ CNCE significantly achieve a better throughput per channel use than SPR with and without CNCE algorithm in all network environments. Figures 9, 10, and 11 exhibit the throughput, number of channel uses, and throughput per channel use of all routing schemes, when the number of nodes in the simulated network is equal to 20. From the results, the performances of all routing schemes show the same properties as those for the case of 15 nodes.
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
The influence of node densities over all routing schemes is studied in this section with 50 randomly selected networks. The number of nodes in the network is varied from 15 to 20 nodes. The successful transmission probability is random and uniform in the range of 0.90≤1−p_{ l }≤1. Figure 12 shows the throughputs of SPR w/ CNCE, QoSSPR w/ CNCE, and QoSR w/ CNCE. There is no effect of the node density on the achievable throughput. Both QoSSPR w/ CNCE and QoSR w/ CNCE can achieve a throughput gain over SPR w/ CNCE at all simulated node densities. The gains are more significant when we increase the number of nodes. Figure 13 illustrates the number of channel uses of routing schemes when we vary the node density. We found that the number of channel uses increases with the number of nodes in each network. In other words, the efficiency of channel utilization decreases because of the wireless link scheduling constraint. Transmitted packets have higher collision probabilities when nodes are denser. As a result, transmitted packets use more transmission channels from a source to a destination to avoid collision based on the definition of an independent set in Section 4.4. Figure 14 shows the throughput per channel use as a function of the number of nodes. Both QoSSPR and QoSR yield a better throughput per channel use than SPR at all node densities. QoSR w/ CNCE gives the best results.
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.
Figures 15, 16, and 17 show throughput, number of channel uses, and throughput per channel use of all routing schemes with different traffic demands, respectively. At all ranges of traffic demands, QoSSPR w/ CNCE and QoSR w/ CNCE give a better throughput than SPR with and without CNCE algorithm. However, the throughput performance degrades as the amount of traffic demands increases since multiple sd pairs compete for bandwidths and QoS guarantees. The performance gaps between the throughput from QoSSPR and SPR are more significant at high traffic demands. The throughput of QoSSPR w/ CNCE is almost identical to QoSR w/ CNCE, whereas the number of channel uses for QoSSPR w/ CNCE is slightly higher than that of QoSR w/ CNCE. Channel utilizations of both QoSSPR and QoSR surpass that of SPR because our proposed routing schemes manage network resources more efficiently. Both QoSSPR and QoSR put an emphasis on the reliability constraint so that they select paths based on the priorities of transmitted data and their QoS requirements. In contrast, SPR selects the shortest paths from a source to a destination without considering QoS requirements and data priorities. For throughput per channel use, QoSR w/ CNCE gives the best result. Both QoSSPR and QoSR overcome SPR and SPR w/ CNCE at all simulated traffic demands. However, CNCE algorithm cannot improve the throughput per channel use of SPR as indicated by identical throughputs per channel use of SPR and SPR w/ CNCE.
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′.
A transmission on link (n_{ i },n_{ j }) with the physical distance of d_{ i j } will be successful if two conditions are satisfied as follows.

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}.
Figures 18, 19, and 20 show throughput, number of channel uses, and throughput per channel use of all routing schemes with different traffic demands, respectively. From the results, the comparative performances of all routing schemes show the same trend as in Section 6.2. Comparing with the multichannel use, a singlechannel use gives lower throughput and lower efficiency of channel utilization.
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
1. Consider the nonlinear term in (7) of the form
We can rewrite it as
The term ${x}_{i}^{(s,d)}log{P}_{i}^{(s,d)}$ can be replaced with $log{P}_{i}^{(s,d)}$ since $log{P}_{i}^{(s,d)}=0$ when ${x}_{i}^{(s,d)}=0$. More specifically, when ${x}_{i}^{(s,d)}=0$, ${f}_{l,i}^{(s,d)}=0$ for all links in ${R}_{i}^{(s,d)}$. Since ${P}_{i}^{(s,d)}={\prod}_{l\in {R}_{i}^{(s,d)}}{(1{p}_{l})}^{\phantom{\rule{0.3em}{0ex}}{f}_{l,i}^{(s,d)}}$, ${P}_{i}^{(s,d)}=1$ and $log{P}_{i}^{(s,d)}=0$. Thus, the objective function can be written as
2. Consider an optimal solution with the optimal cost denoted by C _{ m }. Suppose that ${x}_{i}^{(s,d)}={x}_{j}^{(s,d)}=1$ and ${P}_{i}^{(s,d)}>{P}_{j}^{(s,d)}$, but that ${\kappa}_{i}^{(s,d)}<{\kappa}_{j}^{(s,d)}$. Then, consider an alternative solution whose cost is C m′ and is obtained with the sublayers j and i interchanged. Then,
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.
3. If a flow of the i th sublayer for (s,d) can be transmitted, the term ${x}_{i}^{(s,d)}log\overline{t}$ in the objective function (6) can be ignored. Since ${x}_{i}^{(s,d)}=1$ and $log\overline{t}$ are constant, the term is invariant with respect to the selected path. Now, consider the first term of (6)
It can be rewritten as
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. ◇
References
 1.
Fragouli C, Boudec JY Le, Widmer J: Network coding: an instant primer. SIGCOMM Comput. Commun. Rev. 2006, 36: 6368.
 2.
Zhang J, Zhang Q: Cooperative network codingaware routing for multirate wireless networks. In INFOCOM 2009. Rio de Janeiro: IEEE; 2009:181189.
 3.
Ahlswede R, Cai N, Li SY, Yeung RW, R: Network information flow. IEEE Trans. Inform. Theory 2000, 46(4):12041216. 10.1109/18.850663
 4.
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.
 5.
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.
 6.
Sengupta S, Rayanchu S, Banerjee S: Network codingaware routing in wireless networks. IEEE/ACM Trans. Netw. 2010, 18(4):11581170.
 7.
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.
 8.
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.
 9.
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.
 10.
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.
 11.
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.
 12.
Tuncel E, Rose K: Additive successive refinement. IEEE Trans. Inf. Theor. 2006, 49(8):19831991.
 13.
Seferoglu H, Markopoulou A: Opportunistic network coding for video streaming over wireless. In Packet Video 2007. Lausanne: IEEE; 2007:191200.
 14.
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.028
 15.
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.010
 16.
Pu W, Luo C, Wu F, Chen CW: Qosdriven network coded wireless multicast. IEEE Trans. Wireless Commun. 2009, 8(11):56625670.
 17.
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.
 18.
Oh H, Kim Ck: Network codingbased mobile video streaming over unreliable wireless links. IEEE Commun. Lett. 2013, 17(2):281284.
 19.
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.003
 20.
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/1687149920121
 21.
Benyamina D, Hafid A, Gendreau M: Wireless mesh networks design – a survey. Commun. Surv. Tutor. IEEE 2012, 14(2):299310.
 22.
Rappaport TS: Wireless Communications:Principles and Practice. 2nd edn., (Prentice Hall, Upper Saddle River, NJ, 2002), pp. 57–74
 23.
Feige U: A threshold of ln n for approximating set cover. J. ACM 1998, 45(4):634652. 10.1145/285055.285059
 24.
Kristjansson B: CoinMP. . Accessed 10 May 2014 http://www.coinor.org/projects/CoinMP.xml
 25.
Parkin T: Pythonigraph packages. . Accessed 10 May 2014 https://pypi.python.org/pypi/pythonigraph
 26.
Parkin T: Python programming language. . Accessed 10 May 2014 http://www.python.org
 27.
Mitchell S: Optimization with PuLP. . Accessed 10 May 2014 http://www.coinor.org/PuLP
 28.
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.
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.
Author information
Additional information
Competing interests
The authors declare that they have no competing interests.
Authors’ original submitted files for images
Below are the links to the authors’ original submitted files for images.
Rights and permissions
About this article
Cite this article
Tarnoi, S., Kumwilaisak, W., Saengudomlert, P. et al. QoSaware routing for heterogeneous layered unicast transmissions in wireless mesh networks with cooperative network coding. J Wireless Com Network 2014, 81 (2014) doi:10.1186/16871499201481
Received
Accepted
Published
DOI
Keywords
 Cooperative network coding
 Multiple unicast transmissions
 Qualityofservice guarantee
 Lossy wireless network
 Optimization formulation