Skip to main content

QoS-aware routing for heterogeneous layered unicast transmissions in wireless mesh networks with cooperative network coding

Abstract

A novel quality-of-service (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 QoS-aware 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 end-to-end 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 quality-of-service (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 QoS-aware CNC decision is presented in Section 5. The performance of the proposed QoS-aware 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 max-flow min-cut 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 COPE-type 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 next-hop node. The next-hop 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 coding-aware routing was studied by Sengupta et al. [5, 6], who demonstrated that network coding-aware routing yields better throughput than network coding-oblivious routing. A similar work on CNC-aware routing in multirate networks, which extends COPE by exploiting spatial diversity, was proposed in [2]. A network coding-aware 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 poison-antidote 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 video-aware 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 energy-aware routing scheme for real-time traffic in wireless sensor networks. The scheme employs an adaptive prioritized medium access control (MAC) to provide a differentiated service model for real-time 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 rate-distortion 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 I-frames with high peak signal-to-noise ratio (PSNR) during a group of picture (GoP), to all clients. Their framework well addressed a problem of single-hop 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 coding-based 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 source-destination 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.

Table 1 Summary of notations

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 lE, let t(l) and r(l) be the transmitter and receiver nodes of link l, respectively. For each node nN, let T O (n)={lE|n=t(l)} and T I (n)={lE|n=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 M ¯ ( s , d ) original layers of data, where L i ¯ ( s , d ) is the i ¯ th layer with transmission rate r i ¯ ( s , d ) . Let the set of layer indices of each (s,d) be I M ¯ ( s , d ) , where

I M ¯ ( s , d ) = { 0 , 1 , 2 , , M ¯ ( s , d ) 1 } .

To generalize the layered scheme, we decompose each original layer L i ¯ ( s , d ) into several sublayers with the same transmission rate based on r i ¯ ( s , d ) . Let t ¯ be equal to one normalized unit. Then, (s,d) has M(s,d) sublayers, where

M ( s , d ) = i ¯ I M ¯ ( s , d ) r i ¯ ( s , d ) t ¯ .

Let M represent the maximum number of sublayers that a source sends to a destination in the network, i.e.,

M = max ( s , d ) Γ ( M ( s , d ) ) .

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 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

I M = { 0 , 1 , 2 , , M 1 } .

3.2 QoS guarantee

Definition 1

The QoS guarantee for (s,d)Γ and iI 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

P i ( s , d ) = l E ( 1 p l ) f l , i ( s , d ) ,
(1)

where f l , i ( s , d ) indicates whether or not link lE 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 iI 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)Γ, iI 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 κ i ( s , d ) , where κ i ( s , d ) κ 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 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 ) , κ i ( s , d ) , is used to provide priorities among different sublayers. Sublayers from the same original layer will have the same information value. Specifically, κ i ( s , d ) =M i ¯ , where the sublayer L i ( s , d ) is from the i ¯ th layer. Consequently, κ i ( s , d ) = κ 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.

Figure 1
figure 1

An example of defining the information value of each sublayer based on its original layer. To show the concept used for defining the same priority of the sublayers belonging to the same layer.

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:

( s , d ) Γ i I M κ i ( s , d ) x i ( s , d ) log( P i ( s , d ) t ¯ ).
(2)

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

( s , d ) Γ i I M κ i ( s , d ) {log P i ( s , d ) + x i ( s , d ) log t ¯ },
(3)

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

( s , d ) Γ i I M κ i ( s , d ) {log l E (1 p l ) f l , i ( s , d ) + x i ( s , d ) log t ¯ }.
(4)

Thus, our objective function takes the following final form:

( s , d ) Γ i I M κ i ( s , d ) { l E p ¯ l f l , i ( s , d ) + x i ( s , d ) log t ¯ },
(5)

where 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. 1.

    Maximizing the objective function

    ( s , d ) Γ i I M κ i ( s , d ) {log P i ( s , d ) + x i ( s , d ) log t ¯ }
    (6)

    is equivalent to maximizing the objective function

    ( s , d ) Γ i I M κ i ( s , d ) x i ( s , d ) log( P i ( s , d ) t ¯ ).
    (7)
  2. 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. 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 iI 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 t ¯ . Thus, the constraint on information flow conservation can be expressed mathematically as

l T O ( n ) t ¯ f l , i ( s , d ) l T I ( n ) t ¯ f l , i ( s , d ) = t ¯ x i ( s , d ) , n = s t ¯ x i ( s , d ) , n = d 0 , otherwise
(8)

for all iI M , (s,d)Γ, and nN. 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 q i ( s , d ) 1. Based on (1), the constraint on packet transmissions of sublayer L i ( s , d ) with QoS guarantee can be expressed as

P i ( s , d ) = l E ( 1 p l ) f l , i ( s , d ) q i ( s , d )
(9)

for all iI M and (s,d)Γ. By taking the logarithm on both sides of (9), we obtain

l E f l , i ( s , d ) p ¯ l q ¯ i ( s , d ) ,
(10)

where q ¯ i ( s , d ) =log q i ( s , d ) . 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)}.

Figure 2
figure 2

An exemplary wireless network. To show a set of directed links in a wireless network.

Let Zj 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 = { z l j } l E . If z l 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 Zj is denoted by J. For example, Zj for independent set {(1,2), (4,5), (3,6)} of the network shown in Figure 2 is

Z j = { z ( 1 , 2 ) j , z ( 2 , 3 ) j , z ( 3 , 4 ) j , z ( 4 , 5 ) j , z ( 5 , 1 ) j , z ( 1 , 5 ) j , z ( 5 , 4 ) j , z ( 4 , 3 ) j , z ( 3 , 2 ) j , z ( 2 , 1 ) j , z ( 3 , 6 ) j , z ( 6 , 3 ) j } = { 1 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 } .
(11)

To achieve time sharing according to link capacities, each selected independent set Zj 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 jJ, and j J a j =1. Then, the wireless link scheduling constraints can be expressed mathematically as

( s , d ) Γ i I M f l , i ( s , d ) j J c l z l j a j
(12)

for all lE, and

j J a j =1.
(13)

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

( s , d ) Γ i I M κ i ( s , d ) { l E p ¯ l f l , i ( s , d ) + x i ( s , d ) log t ¯ }
(14a)

subject to

l T O ( n ) t ¯ f l , i ( s , d ) l T I ( n ) t ¯ f l , i ( s , d ) = t ¯ x i ( s , d ) , n = s t ¯ x i ( s , d ) , n = d 0 , otherwise
(14b)
i I M , ( s , d ) Γ , n N ,
l E p ¯ l f l , i ( s , d ) q ¯ i ( s , d ) ,i I M ,(s,d)Γ,
(14c)
( s , d ) Γ i I M f l , i ( s , d ) j J a j c l z l j ,lE,
(14d)
j J a j =1,
(14e)
x i ( s , d ) x i + 1 ( s , d ) ,i I M 1 ,(s,d)Γ,
(14f)
f l , i ( s , d ) {0,1},i I M ,(s,d)Γ,lE,
(14g)
x i ( s , d ) {0,1},i I M ,(s,d)Γ,
(14h)
0 a j 1,jJ,
(14i)

where IM−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

( s , d ) Γ i I M κ i ( s , d ) x i ( s , d ) log t ¯ l E γ f l , i ( s , d ) ,
(15)

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)Γ,iI 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 C-API library that supports most of the functionality of Coin Linear Programming (CLP), Coin Branch-and-Cut (CBC), and Cut Generation Library (CGL) projects, to be the solver for linear programming. This is the first step of the proposed QoS-aware routing scheme. These obtained optimal paths are inputs to the second step of the proposed QoS-aware routing scheme as described in the next section.

5 QoS-aware 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 A-B, 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.

Figure 3
figure 3

Three basic local structures for the CNCE protocol. (a) The A-B structure, (b) the Y structure, and (c) the X structure. The dashed and regular arrows represent the overhearing and direct transmissions, respectively. To show the basic local structures used in the CNCE protocol. The dashed and regular arrows represent the overhearing and direct transmissions, respectively.

For the A-B 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 n0, n1, n2, , 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 n0, n1, n2, , 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 ji. These coding rules are demonstrated in Figure 4.

Figure 4
figure 4

Coding rules with XOR ( ) operation. To show the coding rules applied to our routing scheme.

The next node n i can have all mentioned packets ρ j with the following two conditions:

  1. 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 A-B structure

  2. 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 A-B 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

P i ( s , d ) = l R i ( s , d ) ( 1 p l ) · l ξ ( 1 p l ) .
(16)

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 A-B 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

P i ( A , B ) =(1 p e AC )(1 p e CB )(1 p e BC ),
(17)

and

P i ( B , A ) =(1 p e BC )(1 p e CA )(1 p e AC ).
(18)

For the extended A-B structure that has two intermediate nodes, i.e., nodes C1 and C2, as shown in Figure 5, we can generalize (17) to

P i ( A , B ) = l R i ( A , B ) (1 p l )·(1 p l C n ),
(19)
Figure 5
figure 5

An extended A-B structure which has more than one intermediate node. To show an extended A-B structure which is a special case of the A-B structure having more than one intermediate node. The node that performs network codes can be selected from one of these intermediate nodes.

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

P i ( A , B ) =(1 p e AC )(1 p e CB )(1 p e BC ),
(20)

and

P i ( B , D ) =(1 p e BC )(1 p e CD )(1 p e AC )(1 p e AD ),
(21)

respectively. They can be generalized as

P i ( A , B ) = l R i ( A , B ) (1 p l )·(1 p e BC ),
(22)

and

P i ( B , D ) = l R i ( B , D ) (1 p l )·(1 p e AC )(1 p e AD ),
(23)

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

P i ( A , B ) =(1 p e AC )(1 p e CB )(1 p e EC )(1 p e EB ),
(24)

and

P i ( E , D ) =(1 p e EC )(1 p e CD )(1 p e AC )(1 p e AD ).
(25)

We can generalize (24) and (25) for two unicast flows that join the X structure as

P i ( A , B ) = l R i ( A , B ) (1 p l )·(1 p e EC )(1 p e EB ),
(26)

and

P i ( E , D ) = l R i ( E , D ) (1 p l )·(1 p e AC )(1 p e AD ),
(27)

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 A-B, 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 A-B structure Step 1: Find all A-B structures in R i ( s , d ) for all iI M and for all (s,d)Γ. Step 2: For each A-B structure identified in step 1, we find two unicast flows from two pairs of (s,d)Γ that go through this A-B structure. Step 3: For each intermediate node, denoted by C n , where n=1,2,,Φ and Φ is the number of intermediate nodes in the A-B 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 iI M and for all (s,d)Γ, find all Y structures that have links not in the A-B 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 A-B structure, the reliabilities of (22) or (23) will be modified by multiplying the successful transmission probability of the link l C n from the A-B 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 A-B 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 iI M and for all (s,d)Γ, find all X structures that have links not in the A-B 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 A-B structure, the reliabilities of (26) or (27) will be modified by multiplying the successful transmission probability of the link l C n from the A-B 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 BC ) or (1 p e AC )(1 p e AD ) in the Y structure, depending on the unicast flows. If the unicast flow travels through the A-B 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 end-to-end 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 (SP-R), which was considered in [2, 6, 7, 10],

  • QoS-aware layered unicast routing (QoSSP-R) as presented in Section 4,

  • QoS-aware layered unicast routing with an alternative objective function (15) (QoS-R), 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, SP-R, QoS-R, and QoSSP-R, and their modified schemes, SP-R w/ CNCE, QoS-R w/ CNCE, and QoSSP-R 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 /d4, 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.

Table 2 Distance thresholds for different transmission data rates

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 source-destination (s-d) pair transmits one base layer and two enhancement layers. We set 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 s-d 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 source-destination (s-d) 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 x-axis 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, QoSSP-R w/ CNCE gives the highest throughput among all routing schemes. In addition, QoSSP-R w/ CNCE gives significantly better results than SP-R at all cases of successful packet transmission probabilities. The throughput gain is more significant at low successful packet transmission probabilities because SP-R may select paths without guaranteeing QoS requirements. The throughput gain of QoSSP-R w/ CNCE over its suboptimal counterpart, QoS-R w/ CNCE, is modest. However, QoSSP-R w/ CNCE achieves a throughput gain over the QoS-R w/ CNCE since QoSSP-R w/ CNCE selects paths with the highest end-to-end transmission reliability, whereas QoS-R 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 QoSSP-R w/ CNCE is close to that of QoS-R w/ CNCE. We can conclude from the results that QoS-R w/ CNCE could be an effective alternative to QoSSP-R w/ CNCE if maximizing the throughput is our objective.

Figure 6
figure 6

Comparison of the throughput for various link qualities in the networks having 15 nodes. To compare the throughput for different routing schemes as a function of link qualities in the simulated networks having 15 nodes.

Next, Figure 7 evaluates the performances of routing schemes in terms of the number of channel uses. The numbers of channel uses of QoSSP-R and QoS-R are significantly less than that of SP-R at all link qualities. The number of channel uses from SP-R is the highest at all link qualities although its achievable throughput increases as a function of the successful transmission probability. In other words, SP-R has the lowest efficiency of channel utilization, especially at low link qualities. QoS-R has a lower number of channel uses than QoSSP-R both with and without CNCE algorithm. QoSSP-R selects paths with the highest transmission reliability regardless of the number of links used to transmit bitstreams whereas QoS-R chooses the shortest paths that satisfy the QoS requirements.

Figure 7
figure 7

Comparison of the number of channel uses for various link qualities in the networks having 15 nodes. To compare the number of channel uses for different routing schemes as a function of link qualities in the simulated networks having 15 nodes.

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 SP-R and SP-R w/ CNCE. When SP-R is a routing scheme, the selected transmission paths of SP-R 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 QoSSP-R and QoS-R. 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 QoSSP-R more than for QoS-R. This comes from the fact that QoSSP-R selects the optimal paths with higher reliabilities than QoS-R. 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. QoS-R w/ CNCE achieves the best throughput per channel use among all routing schemes. Both QoSSP-R w/ CNCE and QoS-R w/ CNCE significantly achieve a better throughput per channel use than SP-R 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.

Figure 8
figure 8

Comparison of the throughput per channel use for various link qualities in the networks having 15 nodes. To compare the throughput per channel use for different routing schemes as a function of link qualities in the simulated networks having 15 nodes.

Figure 9
figure 9

Comparison of the throughput for various link qualities in the networks having 20 nodes. To compare the the throughput for different routing schemes as a function of link qualities in the simulated networks having 20 nodes.

Figure 10
figure 10

Comparison of the number of channel uses for various link qualities in the networks having 20 nodes. To compare the number of channel uses for different routing schemes as a function of link qualities in the simulated networks having 20 nodes.

Figure 11
figure 11

Comparison of the throughput per channel use for various link qualities in the networks having 20 nodes. To compare the throughput per channel use for different routing schemes as a function of link qualities in the simulated networks having 20 nodes.

We can draw a conclusion from our experiments that QoS-R should be used in transmissions with QoS guarantees. QoS-R gives almost the same throughput as QoSS-R, whereas it provides better channel utilizations in all network environments. SP-R 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 SP-R w/ CNCE, QoSSP-R w/ CNCE, and QoS-R w/ CNCE. There is no effect of the node density on the achievable throughput. Both QoSSP-R w/ CNCE and QoS-R w/ CNCE can achieve a throughput gain over SP-R 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 QoSSP-R and QoS-R yield a better throughput per channel use than SP-R at all node densities. QoS-R w/ CNCE gives the best results.

Figure 12
figure 12

Comparison of the throughput for different routing schemes as a function of node density. To compare the throughput for different routing schemes as a function of node densities.

Figure 13
figure 13

Comparison of the number of channel uses for different routing schemes as a function of node density. To compare the number of channel uses for different routing schemes as a function of node densities.

Figure 14
figure 14

Comparison of the throughput per channel use for different routing schemes as a function of node density. To compare the throughput per channel use for different routing schemes as a function 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 s-d pairs. Source and destination nodes of these s-d pairs are randomly chosen from nodes in the network. The number of s-d 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, QoSSP-R w/ CNCE and QoS-R w/ CNCE give a better throughput than SP-R with and without CNCE algorithm. However, the throughput performance degrades as the amount of traffic demands increases since multiple s-d pairs compete for bandwidths and QoS guarantees. The performance gaps between the throughput from QoSSP-R and SP-R are more significant at high traffic demands. The throughput of QoSSP-R w/ CNCE is almost identical to QoS-R w/ CNCE, whereas the number of channel uses for QoSSP-R w/ CNCE is slightly higher than that of QoS-R w/ CNCE. Channel utilizations of both QoSSP-R and QoS-R surpass that of SP-R because our proposed routing schemes manage network resources more efficiently. Both QoSSP-R and QoS-R 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, SP-R selects the shortest paths from a source to a destination without considering QoS requirements and data priorities. For throughput per channel use, QoS-R w/ CNCE gives the best result. Both QoSSP-R and QoS-R overcome SP-R and SP-R w/ CNCE at all simulated traffic demands. However, CNCE algorithm cannot improve the throughput per channel use of SP-R as indicated by identical throughputs per channel use of SP-R and SP-R w/ CNCE.

Figure 15
figure 15

Comparison of the throughput for different routing schemes as a function of the number of s-d pairs in each network. To compare the the throughput for different routing schemes as a function of traffic demands.

Figure 16
figure 16

Comparison of the number of channel uses for different routing schemes as a function of the number of s-d pairs in each network. To compare the number of channel uses for different routing schemes as a function of traffic demands.

Figure 17
figure 17

Comparison of the throughput per channel use for different routing schemes as a function of the number of s-d pairs in each network. To compare the throughput per channel use for different routing schemes as a function of traffic demands.

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. 1.

    Receiver node n j is in the transmission range of transmitter node n i (d i j R i ).

  2. 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 source-destination (s-d) 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 single-channel use gives lower throughput and lower efficiency of channel utilization.

Figure 18
figure 18

Comparison of the throughput for various link qualities in single-channel networks having 15 nodes. To compare the the throughput for different routing schemes as a function of link qualities in the simulated networks having 15 nodes.

Figure 19
figure 19

Comparison of the number of channel uses for various link qualities in single–channel networks having 15 nodes. To compare the number of channel uses for different routing schemes as a function of link qualities in the simulated networks having 15 nodes.

Figure 20
figure 20

Comparison of the throughput per channel use for various link qualities in single-channel networks having 15 nodes. To compare the throughput per channel use for different routing schemes as a function of link qualities in the simulated networks having 15 nodes.

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 A-B, Y, and X structures in the network. It was demonstrated by computer simulations that the proposed QoS-aware 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

x i ( s , d ) log( P i ( s , d ) t ¯ ).
(28)

We can rewrite it as

x i ( s , d ) log( P i ( s , d ) t ¯ )= x i ( s , d ) log P i ( s , d ) + x i ( s , d ) log t ¯ .
(29)

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 ) = l R i ( s , d ) ( 1 p l ) 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

( s , d ) Γ i I M κ i ( s , d ) {log P i ( s , d ) + x i ( s , d ) log t ¯ }.
(30)

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 κ i ( s , d ) < κ j ( s , d ) . Then, consider an alternative solution whose cost is C m′ and is obtained with the sublayers j and i interchanged. Then,

C m C m = κ i ( s , d ) log ( P i ( s , d ) t ¯ ) + κ j ( s , d ) log ( P j ( s , d ) t ¯ ) κ j ( s , d ) log ( P i ( s , d ) t ¯ ) κ i ( s , d ) log ( P j ( s , d ) t ¯ )
(31)
= κ i ( s , d ) κ j ( s , d ) × log ( P i ( s , d ) t ¯ ) log ( P j ( s , d ) t ¯ ) .
(32)

Since κ i ( s , d ) < κ 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 t ¯ in the objective function (6) can be ignored. Since x i ( s , d ) =1 and log t ¯ are constant, the term is invariant with respect to the selected path. Now, consider the first term of (6)

( s , d ) Γ i I M κ i ( s , d ) log P i ( s , d ) .
(33)

It can be re-written as

( s , d ) Γ i I M κ i ( s , d ) l E p ¯ l f l , i ( s , d ) ,
(34)

where p ¯ =log(1 p l ).

When p ¯ l for all lE is equal to a fixed constant, since 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: 63-68.

    Article  Google Scholar 

  2. Zhang J, Zhang Q: Cooperative network coding-aware routing for multi-rate wireless networks. In INFOCOM 2009. Rio de Janeiro: IEEE; 2009:181-189.

    Google Scholar 

  3. Ahlswede R, Cai N, Li S-Y, Yeung RW, R: Network information flow. IEEE Trans. Inform. Theory 2000, 46(4):1204-1216. 10.1109/18.850663

    Article  MathSciNet  MATH  Google Scholar 

  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):497-510.

    Article  Google Scholar 

  5. Sengupta S, Rayanchu S, Banerjee S: An analysis of wireless network coding for unicast sessions: the case for coding-aware routing. In 26th IEEE International Conference on Computer Communications (INFOCOM 2007). Anchorage: IEEE; 2007:1028-1036.

    Chapter  Google Scholar 

  6. Sengupta S, Rayanchu S, Banerjee S: Network coding-aware routing in wireless networks. IEEE/ACM Trans. Netw. 2010, 18(4):1158-1170.

    Article  Google Scholar 

  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:1-4.

    Google Scholar 

  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:724-732.

    Chapter  Google Scholar 

  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.

    Google Scholar 

  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:1758-1762.

    Google Scholar 

  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):1095-1109.

    Article  Google Scholar 

  12. Tuncel E, Rose K: Additive successive refinement. IEEE Trans. Inf. Theor. 2006, 49(8):1983-1991.

    Article  MathSciNet  MATH  Google Scholar 

  13. Seferoglu H, Markopoulou A: Opportunistic network coding for video streaming over wireless. In Packet Video 2007. Lausanne: IEEE; 2007:191-200.

    Chapter  Google Scholar 

  14. Mahapatra A, Anand K, Agrawal DP: Qos and energy aware routing for real-time traffic in wireless sensor networks. Comput. Commun. 2006, 29(4):437-445. 10.1016/j.comcom.2004.12.028

    Article  Google Scholar 

  15. Supittayapornpong S, Saengudomlert P, Kumwilaisak W: A framework for reliability aware layered multi-cast in lossy networks with network coding. Comput. Commun. 2010, 33(14):1651-1663. 10.1016/j.comcom.2010.04.010

    Article  Google Scholar 

  16. Pu W, Luo C, Wu F, Chen CW: Qos-driven network coded wireless multicast. IEEE Trans. Wireless Commun. 2009, 8(11):5662-5670.

    Article  Google Scholar 

  17. Greco C, Nemoianu ID, Cagnazzo M, Pesquet-Popescu 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:1915-1919.

    Google Scholar 

  18. Oh H, Kim C-k: Network coding-based mobile video streaming over unreliable wireless links. IEEE Commun. Lett. 2013, 17(2):281-284.

    Article  MathSciNet  Google Scholar 

  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):422-432. 10.1016/j.jnca.2010.02.003

    Article  Google Scholar 

  20. Wang L, Yang Y, Zhao W: Network coding-based multipath routing for energy efficiency in wireless sensor networks. EURASIP J. Wireless Commun. Netw. 2012, 2012(1):1-15. 10.1186/1687-1499-2012-1

    Article  MathSciNet  Google Scholar 

  21. Benyamina D, Hafid A, Gendreau M: Wireless mesh networks design – a survey. Commun. Surv. Tutor. IEEE 2012, 14(2):299-310.

    Article  Google Scholar 

  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):634-652. 10.1145/285055.285059

    Article  MathSciNet  MATH  Google Scholar 

  24. Kristjansson B: CoinMP. . Accessed 10 May 2014 http://www.coin-or.org/projects/CoinMP.xml

  25. Parkin T: Python-igraph packages. . Accessed 10 May 2014 https://pypi.python.org/pypi/python-igraph

  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.coin-or.org/PuLP

  28. Jain K, Padhye J, Padmanabhan VN, Qiu L: Impact of interference on multi-hop wireless network performance. In Proceedings of the 9th Annual International Conference on Mobile Computing and Networking. New York, NY, USA: ACM; 2003:66-80.

    Google Scholar 

Download references

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

Authors and Affiliations

Authors

Corresponding author

Correspondence to Wuttipong Kumwilaisak.

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.

Authors’ original file for figure 1

Authors’ original file for figure 2

Authors’ original file for figure 3

Authors’ original file for figure 4

Authors’ original file for figure 5

Authors’ original file for figure 6

Authors’ original file for figure 7

Authors’ original file for figure 8

Authors’ original file for figure 9

Authors’ original file for figure 10

Authors’ original file for figure 11

Authors’ original file for figure 12

Authors’ original file for figure 13

Authors’ original file for figure 14

Authors’ original file for figure 15

Authors’ original file for figure 16

Authors’ original file for figure 17

Authors’ original file for figure 18

Authors’ original file for figure 19

Authors’ original file for figure 20

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License ( https://creativecommons.org/licenses/by/2.0 ), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Tarnoi, S., Kumwilaisak, W., Saengudomlert, P. et al. QoS-aware routing for heterogeneous layered unicast transmissions in wireless mesh networks with cooperative network coding. J Wireless Com Network 2014, 81 (2014). https://doi.org/10.1186/1687-1499-2014-81

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1186/1687-1499-2014-81

Keywords