On-line Joint QoS Routing and Channel Assignment in
Multi-Channel Multi-Radio Wireless Mesh Networks✩
Bahador Bakhshia , Siavash Khorsandia,∗, Antonio Caponeb
a Computer
Engineering and Information Technology Department, Amirkabir University of
Technology, Hafez Avenue, Tehran, Iran
b Department of Electronics and Information, Politecnico di Milano, Piazza Leonardo da
Vinci 32, 20133 Milan, Italy
Abstract
We study the problem of on-line joint QoS routing and channel assignment for
performance optimization in multi-channel multi-radio wireless mesh networks,
which is a fundamental issue in supporting quality of service for emerging multimedia applications. To our best knowledge, this is the first time that the
problem is addressed. Our proposed solution is composed of a routing algorithm that finds up to k but not necessarily feasible paths for each demand
and an on-demand channel (re)assignment algorithm that adapts network resources to maintain feasibility of one of the paths. We also study the problem
of obtaining an upper bound on the network performance. First, we consider
an artificial version of the problem, in which all demands arrive at the same
time, and formulate it as a mixed integer linear programming model. To tackle
the complexity of the model, it is relaxed that provides a tight upper bound
while improves solution time up to 3.0e+5 times. Then, we model the original
problem by extending the relaxed model to consider dynamic demands, it leads
to a huge model; thus, we develop another model, which is equivalent to the
first one and is decomposable. It is broken down by a decomposition algorithm
into subproblems, which are solved sequentially. Our extensive simulations show
that the proposed solution has comparable performance to the bound obtained
from the decomposition algorithm; it efficiently exploits available channels, and
needs very few radios per node to achieve high network performance.
Keywords: Joint QoS Routing and Channel Assignment, Optimization
Model, Decomposition, Upper Bound, Multi-Channel Multi-Radio Wireless
Mesh Networks
1. Introduction
QoS of Service (QoS) support, which is entailed by emerging multimedia services, is an essential component in broadband Wireless Mesh Networks (WMN).
✩ This work was done while Bahador Bakhshi was a visiting PhD student at Politecnico
di Milano and was supported through funds provided by Iran Telecommunication Research
Center (ITRC) and the Italian PRIN project SESAME.
∗ Corresponding author
Email addresses: bbakhshi@aut.ac.ir (Bahador Bakhshi), khorsandi@aut.ac.ir
(Siavash Khorsandi), capone@elet.polimi.it (Antonio Capone)
Preprint submitted to Computer Communications
February 19, 2011
It is challenging since multimedia services require intensive resources and the
capacity of WMNs is shrunk by the interferences arise from the shared nature
of the wireless media. Multi-channel multi-radio networking is a promising approach to mitigate the interferences and boost network capacity.
The main problem is to maximize network performance while maintaining
QoS requirements. Contrary to the traditional network throughput maximization problem, in this problem, the network performance is measured in terms of
acceptance rate of QoS sensitive traffic demands. A demand is accepted if the
network can meet its QoS requirements. Due to the fact that bandwidth is the
most important QoS requirement for multimedia applications, which influences
other requirements such as delay jitter as well [1], we focus on this requirement.
Consequently, in the problem studied in this paper, a demand is accepted if
there is a path with sufficient bandwidth that is named feasible path.
Existence of the feasible path depends on available bandwidth of links, which
is specified by channel assignment pattern and flow routes. It depends on channel assignment because each link has to share its physical channel capacity with
other interfering links, which are determined by the channel assignment. Flow
routing affects links available bandwidth as it specifies the load on each link.
Therefore, to maximize the network performance, routing path of flows and
channels of links should be jointly optimized that leads to the joint QoS routing
and channel assignment problem. Although a few solutions have been proposed for both QoS routing and channel assignment problems in multi-channel
multi-radio WMNs, the joint problem has not yet been studied.
The existing algorithms for QoS routing problem [2–12] either do not consider the multi-channel nature of the network or assume that channel assignment
is performed before loading the network, and it is fixed. The solutions obtained
by these algorithms are suboptimal as they are not capable of adapting network resources according to traffic demands. Furthermore, their performance
depends on the channel assignment algorithm.
The proposed channel assignment schemes in the literature are classified
into two broad categories: static and dynamic1 [13, 14]. In the former category,
channels are assigned for a long period of time while in the latter, channels
may be reassigned frequently over time according to needs. Static methods are
oblivious to dynamics of network traffic; consequently, they give suboptimal
network performance. On the other hand, dynamic approaches aim to achieve
better performance by adapting network resources for traffic demands. However,
existing dynamic channel assignment algorithms [15–20] do not consider endto-end QoS requirements of flows and are not coupled with routing.
In this paper, we study the on-line joint QoS routing and channel assignment
problem. In this problem, it is assumed that each demand arrives at a particular
time and requires a specific bandwidth. The demand is accepted if we can find
a path with sufficient bandwidth, otherwise it is rejected. The primary goal
is to maximize acceptance rate of the demands by jointly optimizing routing
and channel assignment. We assume that routing and channel assignment are
parts of the network management tool, so they are centralized algorithms and
run on the call admission control (CAC) server, which has a fairly accurate
1 Fast switching is a special case of the dynamic approaches in which channels are changed
per-packet. The method needs particular MAC protocol and is not considered in this paper.
2
and complete view of the network. It should be noted that in spite of existing
many solutions for the joint routing and channel assignment problem, they are
not applicable to this problem because they do not consider end-to-end QoS
requirements and are off-line schemes.
Our contributions to the on-line joint QoS routing and channel assignment
problem are as follows.
• We formulate the problem and identify the design requirements of the
algorithms for QoS routing and channel assignment subproblems.
• We design the QoS Driven Dynamic Channel Assignment (QDDCA) algorithm as an efficient resource management tool to adapt network resources
according to traffic demands.
• We develop a k-shortest path based on-line QoS routing algorithm. This
algorithm and QDDCA are integrated in the Joint QoS Routing and Channel Assignment (JQRCA) algorithm to provide an efficient solution for the
problem.
• We propose a technique to obtain an upper bound on the network performance. We develop an optimal mixed integer linear programming (MILP)
model for an artificial version of the problem, in which demands are static.
Due to intractability of the model, we relax it to get an upper bound. By
extending the relaxed model to dynamic demand case, we model the original problem. Since it leads to an enormous model; we develop a decomposition algorithm which splits the problem into many small subproblems
and solves them sequentially.
The remaining of this paper is organized as follows. In Section 2, we review
the related work and highlight shortcomings of existing solutions to apply them
on this problem. Assumptions, system models, and problem statement are
presented in Section 3. We explain the main ideas of our solution in Section 4.
The QDDCA algorithm is presented in details in Section 5. Section 6 explains
the JQRCA algorithm. The technique to obtain an upper bound on the network
performance is explicated in Section 7; moreover, in this section, we present the
simulation results to show the efficiency of the technique. Simulation results
to evaluate the performance of JQRCA under various settings of network and
traffic parameters are presented in Section 8. Finally, Section 9 concludes this
paper.
2. Related Work
In this section, we review three categories of related work including QoS
routing algorithms in WMN, dynamic channel assignment schemes, and solutions proposed for the joint routing and channel assignment problem.
There are a number of studies on the problem of finding feasible path in
WMN [2–5] since it is NP-Complete in multi-hop wireless networks [21, 22]. A
genetic algorithm was proposed in [2] and in [3–5], flooding based algorithms
were developed. The key issues in this problem are to estimate link available
bandwidth and control admission of demands, which have been studied in [6–
8]. However, these solutions only focus on finding a feasible path and do not
consider the network performance optimization problem.
3
The problem of optimizing network performance has been studied in [9–11].
In [9], the authors proposed a routing metric to find the cost-effective paths.
The proposed routing metric in [10] considers link available bandwidths and
channel diversity. A hop-count bounded heuristic algorithm was proposed in
[11] that finds the feasible path with the maximum bottleneck capacity. Although these solutions attempt to maximize network performance, they assume
that channel assignment is fixed; thus, their performance depends on the given
channel assignment. The authors in [11] and [12] considered the channel assignment problem besides QoS routing, but they did not solve the joint problem.
In both solutions, there are two phases; in the first phase, a static load-unaware
channel assignment is performed and the second phase is QoS routing.
The previous work on dynamic channel assignment in multi-channel multiradio WMN can be viewed in two categories [13]: the approaches designed to
mitigate external interference [15–17] and the solutions that reassign channels
based on local load measurements [18–20]. In the first category, there is an external source of interference, nodes measure interference periodically, and switch
to the least interfered channel. Although minimizing the external interference
improves network performance, this category does not explicitly consider network traffic, its dynamics, and QoS requirements. In the second category, each
node measures its link loads and if detects an overloaded link, changes the channel of the link. These solutions attempt to improve the one-hop capacity of the
network but cannot guarantee the end-to-end bandwidth requirement of flows,
which is the main constraint in supporting QoS.
Combinations of channel assignment and other problems, including routing,
scheduling, and power control have been the subject of many studies [23–34].
The goal of these joint problems is to maximize network throughput subject
to a fairness constraint. The number of adjustable parameters is the factor
makes the difference between these studies. A group combined routing and
channel assignment [23–27], while some others studied the joint problem of
routing, channel assignment, and scheduling [28–31]. Another group even took
the power and/or rate control into account [33, 34].
We have a closer look at the joint routing and channel assignment algorithms
[23–27]; the second and third groups are beyond the scope of this paper. In [23],
an iterative algorithm was proposed; for a given set of flows, the algorithm iteratively adjusts routing and channel assignment as long as it can improve network
throughput. The authors in [24] developed a simulated annealing based method
to find the optimal channel assignment and routing. The idea of the solution in
[25] is to split a large optimization problem into many small subproblems. The
subproblems are solved independently, and the final feasible solution is obtained
after post processing. The architecture proposed in [26] uses multipath routing
and meanwhile attempts to minimize the interference between multiple paths of
each flow. The joint routing and channel assignment problem was modeled as
a non-linear mixed integer problem in [27]; after linearization, the authors used
the dual decomposition methods to find a near optimal solution.
These solutions are not applicable to the on-line joint QoS routing and channel assignment problem for the following reasons. First, the desired objective,
maximizing per-flow achievable rate, is different from the goal of the joint QoS
routing and channel assignment in which the number of admitted demands
should be maximized. Second, these solutions are off-line; they need information of all flows at the beginning. Third, when traffic pattern changes, e.g., a
4
Notation
V
E
∆
K
TR
IR
ru
p
Ψ
(u, v)
ck(u,v)
I(u,v)
′
I(u,v)
Iˆ
Ψ
w(u,v)
l(u,v)
k
l(u,v)
i
f(u,v)
Φ
Table 1: Notations
Description
Set of nodes and |V | = n.
Set of edges and |E| = m.
Set of demands, ∆ = {δi = (si , di , bi , ti , ei )}, and |∆| = h.
Set of channel, |K| = κ.
Transmission range
Interference range, IR = TR × q and q > 1.
The number of radios of node u
A path in the network
Channel assignment pattern
Link (u, v) ∈ E
Physical channel capacity of (u, v) on channel k
Interference set of link (u, v)
I(u,v) when the same channel is assigned to all links
Size of the largest interference set
Weight of link (u, v) under channel assignment Ψ
Total load on link (u, v)
Load on link (u, v) on channel k
Flow of δi on link (u, v)
The set of existing flows
new flow is added, these algorithms may change all already assigned channels
and reroute all flows that lead to a significant overhead to update entire network.
3. System Model and Problem Statement
In this section, first, we describe the assumptions and system models; then,
the problem considered in this paper is formulated. Notations used through the
paper are denoted in Table 1.
3.1. Assumptions
We consider IEEE 802.11 based multi-channel multi-radio wireless mesh networks. In the network, all nodes are static, have multiple radios and all radios
have the same transmission range TR and interference range IR . It is supposed
that the RTS/CTS mechanism is enabled. It is assumed that there are κ orthogonal channels and the adjacent channel interference is negligible due to proper
design and implementation of wireless network interface cards and sufficient
spectral separation between the channels [11, 15, 16, 18, 20, 23, 28, 29, 32]. The
physical channel capacity of link (u, v) on channel k is ck(u,v) Mb/s. Detailed
measurements in WMNs reported in [35] showed that the PHY layer is stable
and predictable; hence, we use the abstract model and assume that the physical
channel capacity does not vary over time. We assume that each link can transmit on only one channel at any given time, flows are not splittable, and radios
have not fast switching capability.
3.2. Network Model
Network is modeled by a digraph G = (V, E), where V is a set of n vertices
and E is a set of edges. Each v ∈ V corresponds to a node in the network.
Suppose d(u, v) is the Euclidean distance between u and v. For a given pair of
nodes u and v, there is a link (u, v) ∈ E if and only if d(u, v) ≤ TR .
5
3.3. Interference Model
We use the interference range model [36], which is a special case of the
protocol model [37]. This model, in conjunction with the RTS/CTS mechanism,
yields that links (u1 , v1 ) and (u2 , v2 ) interfere with each other if the same channel
is assigned to both of them and if the sender or receiver of one of them is in the
interference range of the sender or receiver of the other one [11, 16, 28]; more
specifically, d(u1 , u2 ) ≤ IR or d(u1 , v2 ) ≤ IR or d(v1 , u2 ) ≤ IR or d(v1 , v2 ) ≤ IR .
I(u,v) is the set of the links that interfere with (u, v). By definition (i) (u, v) ∈
I(u,v) , (ii) (u1 , v1 ) ∈ I(u2 ,v2 ) if and only if (u2 , v2 ) ∈ I(u1 ,v1 ) , and (iii) I(u,v)
corresponds to neighbors of (u, v) in the link interference/contention graph. We
′
denote the interference set of (u, v) by I(u,v)
when the same channel is assigned to
′
all links in the network. Note that I(u,v)
contains all the links in the interference
rage of (u, v).
3.4. Available Bandwidth Model
The authors in [38] proposed two sufficient conditions for feasibility of bandwidth allocation in multi-hop wireless networks: the row constraint and the
scaled clique constraint. In the following, we explain the row constraint; the
scaled clique constraint is discussed in more details in Section 7.1.2.
Let Φ denote the set of exiting flows in the network that specify the load on
k
each link, l(u,v)
. The row constraint enforces that
X
(a,b)∈I(u,v)
k
l(a,b)
ck(a,b)
≤1
∀(u, v) ∈ E,
where k is the channel assigned to (u, v) and (a, b). In (1),
lk
(a,b)
ck
(a,b)
(1)
is the fraction
k
l(a,b)
.
of time (a, b) needs to transmit load
Hence, the row constraint imposes
that the aggregate transmission time in each interference set should be less than
or equal to one. Throughout this paper, we refer (1) as the capacity constraint.
By satisfying the capacity constraint, we ensure that the physical capacity of
k
each link, ck(u,v) , is sufficient to carry the load, l(u,v)
, subject to the interferences.
Consequently, the bandwidth allocation for the set Φ of existing flows is feasible,
all the flows can be transmitted at the desired rate, and their required bandwidth
is guaranteed. Using the capacity constraint (1), the available bandwidth of a
link is defined as follows.
Definition 1. Suppose that the set of existing flows is denoted by Φ; inthis
k
case, available bandwidth of (u, v) on channel k is ALBΦ
(u, v) = ck(u,v) 1 −
k
P
l(a,b)
.
(a,b)∈I(u,v) ck
(a,b)
Note that satisfying (1) implies 1 −
P
lk
(a,b)
(a,b)∈I(u,v) ck
(a,b)
≥ 0 ∀(u, v) ∈ E that
k
means ALBΦ
(u, v) ≥ 0 ∀(u, v) ∈ E. Thus, the last inequality is a sufficient
condition for feasibility of bandwidth allocation for the set Φ of existing flows
in the network.
6
3.5. Problem Statement
The problem studied in this paper is to optimize network performance, which
is measured in terms of acceptance rate of demands with QoS constraints. In
the problem, there is a set of demands ∆ = {δi = (si , di , bi , ti , ei )} in which,
demand δi arrives at time ti , needs a path with bandwidth bi from node si to
node di . If it is admitted, it will leave the network at time ei . A feasible path
from s to d needs to be found to admit demand δ; it is a path that allocating
the required bandwidth b through it does not violate the capacity constraint (1)
of any link. Let Φ denote the set of existing flows before the arrival of δ and
k
Φ′ = Φ ∪ δ. In the wired network, ALBΦ
(u, v) > b ∀(u, v) ∈ p is the necessary
and sufficient condition for feasibility of the path p for demand δ 2 . However,
in wireless networks, due to the intra-flow interference, a demand may use the
available bandwidth of each link multiple times; moreover, because of the interflow interference, a demand uses the bandwidth of the links which are not in the
k
path of the demand. Hence, ALBΦ
(u, v) > b is a necessary but not sufficient
condition. The sufficient condition for feasibility of a path p for demand δ is
k
ALBΦ
′ (u, v) > 0 ∀(u, v) ∈ E, which means that the capacity constraint (1) is
satisfied for all links after allocating the bandwidth b for demand δ that creates
the new set Φ′ of existing flows3 .
Note that the network performance optimization problem is, in fact, the
problem of maximizing the probability of existence of feasible paths. Resource
availability in the network is the main factor that affects existence of feasible
paths. The factor is influenced by routing and channel assignment algorithms,
which act as the resource consumer and producer, respectively. Routing algorithm determines how network resources are consumed by flows and channel
assignment algorithm, according to definition 1, specifies the available bandwidth of each link. There is an interaction between these algorithms; routing
algorithm selects paths according to the resources that are specified by channel
assignment; on the other hand, if routing algorithm needs additional bandwidth
on a link, channel assignment algorithm can provide it by rearranging channels.
In summary, to maximize the probability of existence feasible paths, routing
and channel assignment should be jointly optimized.
In this paper, we consider the on-line version of the problem in which there
is not any information about a demand before it arrives. At the demand arrival
time, CAC decides to accept the demand or not. The admission strategy can
be greedy or non-greedy. In the former strategy, each demand is accepted if and
only if there is a feasible path for it. However, in the latter, CAC may decide
to reject a demand in spite of existence of a feasible path for some reasons, e.g.,
because the demand is very resource intensive. Here, we consider the greedy
strategy. It is appropriate to maintain (absolute) fairness since it aims to admit
every demand disrespect of its bandwidth requirement. Moreover, we assume
that it is not allowed to reroute the flows in the networks, whereas we use
channel reassignment to adapt network resources dynamically.
2 For
wired network, we have I(u,v) = {(u, v)}.
k (u, v) > b ∀(u, v) ∈ p implies that ALB k (u, v) > 0
that in wired networks, ALBΦ
Φ′
∀(u, v) ∈ E; hence, this is also a sufficient condition in wired networks.
3 Note
7
4. Solution Approach and Design Requirements
Our proposed solution for the problem is an iterative algorithm that consists
of two phases: finding a path and maintaining its feasibility. The solution is
an integration of two algorithms, a routing algorithm to find a path and an ondemand channel (re)assignment algorithm to maintain feasibility of the path.
The main idea behinds the solution is that channel assignment can be used as
an effective resource management tool to adapt network resources according to
the needs of the network traffic. Based on this idea, the core of the iterative
algorithm is as follows. For a given demand, the routing algorithm finds a
not necessarily feasible path. If the path is infeasible, the channel assignment
algorithm attempts to rearrange channels to make the path feasible; if it fails,
another path is found and so on. This iteration continues until the demand is
accepted by finding a feasible path or some other criteria are met. Details of
these algorithms will be explained in Sections 5 and 6. In the following of this
section, we identify the design requirements of each algorithm; satisfaction of
the requirements is discussed in Sections 5.1 and 6.1.
To design the routing and channel assignment algorithms, three sorts of
issues should be considered. The first issue is to achieve the performance optimization goal, maximizing acceptance rate of demands. For this purpose,
the routing algorithm should select optimal paths, and the channel assignment
algorithm needs to adapt network resources according to traffic demands.
The second issue is the interaction between these algorithms. The routing
algorithm must be aware of the capabilities of the channel assignment algorithm.
Since the path found by the routing algorithm is not necessarily feasible, it
should avoid selecting infeasible paths that cannot be made feasible by the
channel assignment algorithm. On the other hand, the channel assignment
algorithm should take into account the optimality of the path found by the
routing algorithm because the routing metric used by the routing algorithm can
be a function of (available) bandwidth and/or interference, and these parameters
depend on channel assignment. Hence, the channel reassignment strategy must
be consistent with the routing metric; in other words, channels selected by
the channel assignment algorithm must not contradict optimizing path weights,
which is aimed by the routing algorithm.
Third, it is preferred to use local information in both routing and channel
reassignment; using the whole global network information to compute routing
metric or reassign channels leads to high computational complexity which is
unacceptable. Besides the information locality, channel reassignment must also
maintain impact locality, which implies a channel reassignment of link should
not propagate in the whole network and should not influence other links far
away from the link. Satisfying the information locality does not necessarily
guarantee the impact locality because changing channel of a link may trigger
many other reassignments in the network due to the channel dependency and
limited number of radios, which is known as the ripple effect [18].
Besides these requirements, the number of channel reassignments should
be minimized. This is necessary to reduce the overhead of the algorithm and
amount of the signaling traffic used to update channels in the network.
8
5. QoS Driven Dynamic Channel Assignment
As discussed in the previous section, channel assignment is the second phase
of our proposed solution. It runs if the path found by the routing algorithm is
not feasible. The input of the channel assignment problem is a demand routed
through a path p and the objective is to make the path feasible if it is not.
In this section, we first clarify the design choices in the channel (re)assignment
algorithm. Then, we explain how they help us to meet the requirements mentioned in Section 4, and finally, we present the QoS Driven Dynamic Channel
Assignment (QDDCA) algorithm and its computational complexity analysis.
5.1. Design Choices
There are four design decisions in the channel (re)assignment algorithm:
channel reassignment strategy, best channel selection metric, group channel
change technique, and resource utilization strategy. In the following, we clarify
our choices for these decisions.
5.1.1. On-demand Channel Reassignment
Our channel reassignment strategy is on-demand; channels are changed only
if the path found by the routing algorithm is not feasible under current channel
k
assignment. As explained in Section 3.5, ALBΦ
′ (u, v) > 0 ∀(u, v) ∈ E is the
sufficient condition for feasibility of the path, where Φ′ is the set of flows, including the new demand. Therefore, infeasibility of the path implies that allocating
the required bandwidth through the path violates the capacity constraint (1) of
k
at least one link; in other words, ∃(u, v) ∈ E s.t. ALBΦ
′ (u, v) < 0. The link
for which its capacity constraint is violated is named violated link ; it is the key
concept in our proposed solution.
The main body of the on-demand algorithm is as follows. For a given path,
we check feasibility of the path. If the path is feasible, the demand is accepted;
otherwise, we find the violated links and change their channels. The new channel
for each violated link is the best feasible channel. Satisfying feasibility and
finding the best channel are explained in the following.
Note that violated links are not necessarily in the path; even, it is possible
that none of the links in the path is violated while there are some other violated
links in the network. Fig. 1 illustrates this issue. Assume a channel with capacity
100 is assigned to all links. In this figure, interference range of nodes b and
g are shown by dashed circles; so, I(a,b) = I(b,c) = {(a, b), (b, c), (d, e)} and
I(d,e) = {(a, b), (b, c), (d, e), (f, g)}. Two flows, one from d to e and another from
f to g, are already admitted and now, there is a new traffic demand from a to c.
If the required bandwidth 20 is allocated on links (a, b) and (b, c), the capacity
l(b,c)
l(d,e)
l
constraint of links (a, b) and (b, c) are satisfied, (a,b)
100 + 100 + 100 < 1, but the
l(b,c)
l(d,e)
l(f,g)
l
constraint of (d, e) is not, (a,b)
100 + 100 + 100 + 100 > 1; thus, the out-of-path
link (d, e) is violated, whereas the in-path links (a, b) and (b, c) are not.
5.1.2. Feasibility Satisfaction
A feasible channel assignment needs to satisfy the capacity and radio constraints. The capacity constraint is defined by (1) and the radio constraint
enforces that the number of channels assigned to the links of node u must be at
most ru . Suppose link (u, v) is violated, and we want to assign a new channel
9
✂
70
✝
20
✄
10
☎
✆
✁
Figure 1: Illustration of out-of-path violated links. Interference ranges and flows are shown
by dashed circles and dashed arrows, respectively. The same channel with capacity 100 is
assigned to all links. The new flow from a to c violates capacity constraint of out-of-path link
(d, e).
to the link. It is easy to see that the radio constraint at node u is satisfied if
at least one of the following conditions holds: (i) a radio of u is already tuned
to the new channel, or (ii) the old channel assigned to (u, v) can be replaced by
the new channel, or (iii) there is a free radio in the node. To avoid the ripple
effect [18], the second condition holds only if no link except (u, v) uses the old
channel.
Radio consumption to switch to the new channel depends on the satisfied
condition. Satisfaction of the first condition not only needs no extra radio, but
also it implies that the radio tuned to the old channel can be freed if no other
link uses the channel. In case of satisfaction of the second condition, once again,
no extra radio is needed but no radio can be freed because the radio tuned to the
old channel now is used by the new channel. If the third condition is true, not
only no radio can be freed but also an extra radio is used for the new channel.
Therefore, to minimize radio consumption, these conditions are checked in the
aforementioned order, and the radio constraint is satisfied as soon as one of the
conditions is true.
According to these constraints, we define two types of channels as follows.
Definition 2. Candidate channel for a link is a channel that satisfies the radio
constraint in both nodes of the link.
Definition 3. Valid channel is a candidate channel that also satisfies the capacity constraint.
5.1.3. Best Channel Selection
When there is more than one valid channel for a violated link, the best one
should be selected. As we mentioned earlier, it affects the optimality of the
path found by routing algorithm and hence must be consistent with routing.
Ψ
Ψ
Let w(u,v)
be the weight of link (u, v) under channel assignment Ψ. If w(u,v)
k
depends on interference, I(u,v) , or bandwidth, ALBΦ
(u, v), changing channel
assignment from Ψ to Ψ modifies link (and consequently, path) weights.
Routing algorithm finds an optimal path under channel assignment Ψ by
minimizing the weight of the path,
P W (p, Ψ),Ψ which is the sum of the weight of
. To be consistent with routing,
the links in the path, W (p, Ψ) = (u,v)∈p w(u,v)
we define the best channel as the channel that if assigned to the violated link
minimizes the weight of the network under new channel assignment Ψ, W (G, Ψ),
10
P
Ψ
which is the sum of the weight of all links, W (G, Ψ) = (u,v)∈E w(u,v)
. Due
to this definition, the computational complexity of finding the best channel is
proportional to O(m). However, if routing metric is based on local information,
minimizing W (G, Ψ) is accomplished with considerably lower computational
complexity. In the special case, if we enforce the routing metric to use only the
Ψ
information of the links in the interference set of each link, w(u,v)
∝ I(u,v) , we
ˆ where Iˆ is the
can find the best channel with computational complexity O(I),
size of the largest interference set. In this special case, changing channel of a
link at most affects the weight of the links in its interference range. It is easy
to show that if new channel assignment Ψ is obtained from channel assignment
Ψ by changing the channel of link (u, v), we have
min W (G, Ψ) = min W (G, Ψ)+
= min
X
Ψ
w(a,b)
−
(a,b)∈I(u,v) ∪I (u,v)
X
Ψ
w(a,b)
−
(a,b)∈I(u,v) ∪I (u,v)
X
Ψ
w(a,b)
(a,b)∈I(u,v) ∪I (u,v)
X
(a,b)∈I(u,v) ∪I (u,v)
Ψ
, (2)
w(a,b)
where I (u,v) is the interference set of (u, v) under channel assignment Ψ. In (2),
the second term in the right-hand side of the first line is the aggregate weight
of the links in I(u,v) and I (u,v) after changing the channel of (u, v) and the third
term is the aggregate weight before the channel reassignment. Equation (2)
implies that we need to compute the difference between these two aggregate
ˆ The best channel
weights, which is a local computation with complexity O(I).
is the one that gives the minimum value of the difference.
5.1.4. Group Channel Change
The aforementioned procedure to resolve violations focuses on the violated
links and attempts to find the best valid channel for the links. However, there are
situations, in which although there is not any valid channel for a violated link,
changing the channel of the links in its interference set resolves the violation.
An example is shown in Fig. 2. Assume that there are two available channels
in the frequency spectrum and the physical channel capacities are 100. In this
figure, interference ranges of nodes c, d, and f are shown by dashed circles.
There are four already admitted flows in the network: (i) form a to b, (ii) from
e to f , (iii) from g to h, and (iv) from k to l. In this example, allocating the
required bandwidth 30 for the new traffic demand from c to d violates capacity
l(e,f )
l(g,h)
l(k,l)
l
constraint of link (c, d), (c,d)
100 + 100 + 100 + 100 > 1. There is not any valid
channel for the violated link because both channels are already overloaded in the
interference range of (c, d). However, if we assign channel 1 to links (e, f ) and
(g, h), the violation of (c, d) is resolved. This strategy of channel reassignment
is called Group Channel Change.
This strategy has a side effect; channel reassignments to resolve a violated
link may affect the available bandwidth of other links beyond the interference
range of the violated link; e.g., in Fig. 2, resolving the violation of (c, d) af1
fects ALBΦ
(i, j) where (i, j) ∈
/ I(c,d) . To control the side effect and maintain
the impact locality, we propose a group channel change procedure that limits channel reassignments in range 2IR of path p; the procedure is allowed to
11
✎
✑
50
2
✠
✒
✞
✌
80
1
30
2
21
2
1
✏
✡
✟
✍
☛
2
21
☞
Figure 2: Illustration of group channel change. Interference ranges and flows are shown by
dashed circles and dashed arrows, respectively. Links and assigned channels are shown by
solid lines. (c, d) is a violated link and changing channel of (e, f ) and (g, h) to channel 1
resolves the violation.
change the channel of link (u3 , v3 ) if ∃(u2 , v2 ), (u1 , v1 ) s.t. (u3 , v3 ) ∈ I(u2 ,v2 ) ,
(u2 , v2 ) ∈ I(u1 ,v1 ) , and (u1 , v1 ) ∈ p.
Our recursive procedure is as follows. We distinguish between the in-path
violated links and the out-of-path ones. If violated link (u2 , v2 ) is out-of-path, we
change channels of links (u3 , v3 ) ∈ I(u2 ,v2 ) one-by-one that reduces the number
k
of interfering links with (u2 , v2 ) and, as a result, increases ALBΦ
(u2 , v2 ). When
violated link (u1 , v1 ) is in-path, we can move violation from the link to other
links (u2 , v2 ) ∈ I(u1 ,v1 ) . For each candidate channel of (u1 , v1 ), we assign the
channel to the link, since it is not a valid channel, this assignment violates
capacity constraints of some links (u2 , v2 ) ∈ I(u1 ,v1 ) . Now, we have a new set of
violated links and attempt to resolve these violations. Note that this procedure
creates a loop because if there is not any valid channel for a new violated link,
the group channel change procedure is reapplied on the link and if the link is inpath, the procedure creates another new set of violated links and so on. Hence,
we do not move violation of the new violated links to other links to avoid the
loop; in other words, we treat them as out-of-path links.
5.1.5. On-demand Resource Utilization and Initial Channel Assignment
Available channels in frequency spectrum and radios are scarce resources
in multi-channel multi-radio WMNs. We assign a channel to a link only if it
is in the path of a flow to utilize the resources efficiently. When a flow leaves
the network, we check all the links in its route. If there is not any flow routed
through link (u, v) on channel k, we remove the channel from the link and check
radios of nodes u and v; at each node, if no link uses channel k, we free the
radio tuned to the channel.
The main advantage of this strategy is that it increases the probability of
existence of free radios, which directly improves the probability of finding feasible paths. Suppose (u, v) is a violated link and both nodes u and v have a
free radio; in this case, the set of candidate channels for the link contains all
available channels that boosts the probability of existence of at least one valid
channel.
To remove the channel of a link, we assign virtual channel 0 to it, which has
the following features. First, its physical capacity is 0; routing any flow along
a link on channel 0 makes the link violated. Second, interference set of a link
12
Table 2: Relation between design choices and requirements of channel assignment algorithm
Goal
Maximizing
acceptance rate
Minimizing # of
channel reassignments
Routing consistency
Locality
On-demand
Reassignment
√
Choices
Best Channel
On-demand
Selection
Utilization
√
Group Channel
Change
√
√
√
√
√
on channel 0 contains only the link. Third, assigning the channel to a link does
not consume any radio. In the initial channel assignment, when there is not any
load, all links are assigned to channel 0.
In real applications, to maintain network connectivity, which is required for
signaling traffic even when there is not any load to/from a node, the virtual
channel 0 can be a default channel. To remove the channel of a link, we temporarily assign the default channel to it. If it is impossible due to the radio
constraint, it implies that some channels have been assigned to the links of the
node; thus, the node is already connected to the network.
5.2. Achieving Design Goals
These proposed design choices help us to satisfy the design requirements
mentioned in Section 4. Table 2 shows the relation between the design choices
and requirements. Acceptance rate is boosted by on-demand channel reassignment that resolve violations, on-demand resource utilization, which frees channels and radios, and group channel change that offers more opportunities to
resolve violations. The number of channel reassignments is kept small by the
on-demand channel reassignment strategy as it reassigns channels only if it is
needed. The routing consistency requirement is met by the best channel selection technique that selects channels according to the routing metric. The
proposed solution is localized since selecting the best channel needs local information as long as the routing metric is localized and the group channel change
mechanism limits channel reassignments in range 2IR of routing path.
5.3. QDDCA Algorithm
The aforementioned design choices are integrated in the QoS Driven Dynamic Channel Assignment (QDDCA) algorithm. Pseudo-code of the algorithm
is shown in algorithms 1–4. For a given demand (s, d, b, t, e) routed through path
p, QDDCA checks feasibility of bandwidth allocation. If the path is not feasible, it finds violated links and calls ResolveViolation. For each violated
link, ResolveViolation first tries to resolve the violation using LinkChannelChange, which assigns the best valid channel to the link if it exists; if
LinkChannelChange cannot resolve the violation, GroupChannelChange
is invoked in line 5. Since changing channel of a link can resolve multiple violations, after each successful resolve, the remaining violated links are rechecked
in line 9.
In group channel change, as mentioned before, we distinguish between inpath and out-of-path violated links. GroupChannelChange in line 1 checks
that if the link is out-of-path or is created by the GroupChannelChange
itself. If at least one of these conditions holds, it changes the channel of the
13
links in the interference set of the violated link in line 3. If both conditions in
line 1 are false, GroupChannelChange checks each candidate channel for the
violated link, in lines 7–9, by assigning it to the link, finding new violated links,
and attempting to resolve the new violations.
Algorithm 1 : QDDCA((s, d, b, t, e), p)
1: Check allocating bandwidth b through path p
2: if path p is feasible then
3:
return Accept
4: else
5:
V L ← Violated Links
6:
ResolveViolation(V L)
7:
if violations were resolved then
8:
return Accept
9:
else
10:
return Reject
Algorithm 2 : ResolveViolation(V L)
1: while V L is not empty do
2:
(u, v) ← V L[0]
3:
LinkChannelChange(u, v)
4:
if violation was not resolved then
5:
GroupChannelChange(u, v)
6:
if violation was not resolved then
7:
return Reject
8:
else
9:
Remove unviolated links from V L
Algorithm 3 : LinkChannelChange(u, v)
1: V C ← Valid Channels for (u, v)
2: if V C is not empty then
3:
Update the channel of (u, v) to the best channel
5.4. Worst Case Computational Complexity
The worst case running time of the QDDCA algorithm is the case that all
links in path p are violated and LinkChannelChange cannot resolve the violations. In this case, for each link, we have to call GroupChannelChange,
wherein lines 5–9 run and ResolveViolation is recalled for the newly generated violated links. In the worst case, LinkChannelChange again cannot
resolve the new violations and we have to call GroupChannelChange again.
However, in this case, lines 2–3 run that break the recursive function calls.
To analyze the worst case, we use the notations in Table 3. Let κ be
the number of channels, and r̂ be the maximum number of radios per node.
ˆ as we need to check the radio and capacity conO(LCC) = O(κ(r̂ + I))
ˆ + I)).
ˆ
straints per channel. O(GCC1 ) = O(LCC)Iˆ = O(κI(r̂
O(GCC2 ) =
14
Algorithm 4 : GroupChannelChange(u, v)
1: if (u, v) is out-of-path or (u, v) ∈ N V L then
2:
while (u, v) is violated and there is unvisited (a, b) ∈ I(u,v) do
3:
LinkChannelChange(a, b)
4: else
5:
CC ← Candidate channels for (u, v)
6:
for ∀ch ∈ CC and if (u, v) is violated do
7:
Change channel of (u, v) to ch
8:
N V L ← New Violated Links
9:
ResolveViolation(N V L)
Table 3: Notation used for computational complexity analysis of QDDCA
Notation
Complexity of Algorithm
O(QDDCA)
QDDCA
O(RV )
ResolveViolation
O(LCC)
LinkChannelChange
O(GCC1 )
Lines 2–3 of GroupChannelChange
O(GCC2 )
Lines 5–9 of GroupChannelChange
ˆ
ˆ since the radio conO(κr̂ + κ(Iˆ + I(O(LCC)
+ O(GCC1 )))) = O(κ2 Iˆ2 (r̂ + I))
straint must be checked for κ channels and at most there would be Iˆ new
violated links that ResolveViolation is called for. The length of path can be
ˆ and finally
at most n, so O(RV ) = n(O(LCC) + O(GCC2 )) = O(nκ2 Iˆ2 (r̂ + I))
2 ˆ2
ˆ
ˆ
O(QDDCA) = O(nI) + O(RV ) = O(nκ I (r̂ + I)).
It should be noted that the worst case occurs very rarely in practice. Our
simulations, which are presented in Section 8.7, show that the length of paths
is much less than the number of nodes, n, the number of violated links is less
than the length of the path, and the number of additional new violated links
generated by GroupChannelChange is less than one per violated link.
6. Joint QoS Routing and Channel Assignment
We explained in Section 4 that the first phase of our proposed solution is
routing. The input of the routing algorithm is a demand, and the objective is to
find a path, which is not necessarily feasible. In this section, we first clarify the
design choices, then, discuss how the choices aid us to accomplish the desired
design objectives, and finally, we present the Joint QoS Routing and Channel
Assignment (JQRCA) algorithm and its computational complexity analysis.
6.1. Design Choices
The major design decisions in the routing algorithm are pruning, search
algorithm, and routing metric, which are explained in details in the following.
6.1.1. Pruning
Network pruning is a well-known mechanism in QoS routing to exclude from
the search space the links that have not sufficient resources. Contrary to the QoS
routing problem, in the joint QoS routing and channel assignment problem, if
the current available bandwidth of a link is not sufficient to route a flow through
15
it, the link should not be pruned because it is possible to provide adequate
bandwidth for the link through an appropriate channel reassignment.
However, the channel assignment algorithm cannot provide any arbitrary
bandwidth; it must obey the physical channel capacity and radio constraints.
Since we assume each link can only use one channel, the maximum possible load
on link (u, v) can be at most ck(u,v) ; this is the best case in which no other link
interferes with it. For
a given demand δ = (s, d, b, t, e), link (u, v) is pruned if
l(u,v) +b > maxk∈K ′ ck(u,v) , where K ′ is the set of candidate channels for (u, v),
because routing the demand through the link makes it violated and the violation
cannot be resolved. This inequality also considers the radio constraint;
if there is
not any candidate channel for a link due to the constraint, maxk∈K ′ ck(u,v) = 0,
the link is pruned because routing any demand through the link makes it violated
while there is not any possibility to resolve it.
6.1.2. Search Algorithm
To search the network graph, we use the k-shortest path algorithm. There
are two reasons for this choice. First, in the previous section, we developed a
channel reassignment algorithm that takes a path as the input and reassigns
channels to make it feasible. However, it cannot guarantee feasibility of any
given path; therefore, instead of examining only one path, we investigate k
paths one-by-one to increase the probability of finding feasible paths. Second,
the algorithm is adjustable; the number of paths can be used to adjust the
trade-off between the running time and the probability of finding feasible path.
We use the k-shortest path algorithm to find only one feasible path; the
JQRCA algorithm is a single-path algorithm. Although splitting a flow among
multiple paths may increase the probability of finding feasible (multi)path, it
has its own complexities. It complicates the design of the algorithm and in
real applications causes out-of-order packet reception, which is not acceptable
in most cases. Moreover, our simulations in Section 8.3 show that as long as the
required bandwidth of flows is not comparable to physical channel capacities,
flow splitting and multipath routing are not notably beneficial.
6.1.3. Routing Metric
As we discussed in Section 4, the network performance depends on bandwidth availability in the network. To optimize it, we should minimize bandwidth consumption at each link, which is directly proportional to the size of
the interference sets. Thus, we need to find the path with minimum interference that implies the routing metric should be the size of the interference set,
Ψ
w(u,v)
= |I(u,v) |. If the channel of a link is the virtual channel 0, we find the
size of the interference set for each candidate channel of the link and use the
average of them as its weight. Note that this routing metric satisfies the locality
constraint mentioned in subsection 5.1.3.
6.2. Achieving Design Goals
The proposed choices in the previous section meet the design requirements
we identified in Section 4. Table 4 shows the relation between the choices and
objectives. Network pruning, k-shortest path routing, and the interference based
routing metric improve acceptance rate; since, the pruning mechanism excludes
the links that cannot be resolved, the k-shortest path algorithm provides more
16
Table 4: Relation between design choices and objectives of QoS routing
Goal
Maximizing
acceptance rate
Channel assignment
awareness
Locality
Pruning
√
Choices
k-Shortest path Routing metric
√
√
√
√
√
opportunity to search the network, and the interference based routing metric
aims to minimize resource consumption by each demand. The channel assignment awareness requirement is met by the pruning algorithm as it considers the
capabilities of the channel assignment algorithm and excludes the links that the
algorithm cannot resolve. Since both the pruning mechanism and the routing
metric use the local information of each link, the proposed solution is localized.
6.3. JQRCA Algorithm
As we mentioned, our solution iteratively finds a path and attempts to make
the path feasible. It is implemented by integrating the k-shortest path algorithm
and QDDCA. Pseudo-code of the algorithm is shown in algorithm 5.
To find k paths, k instances of each node except the source node are initialized and added to the list L in lines 1–2. u[i].w and u[i].π are the weight
and parent of instance u[i], respectively. In the main loop of the algorithm, the
minimum weight instance u[i] is selected by GetBestInstance and the partial
path p′ from the source node to node u is found by GetPartialPath. If node
u is the destination, we have found a path; therefore, in lines 7–9, we check feasibility of the path, reassign channels if it is required, and finish the algorithm
by accepting the demand in the case of feasibility of the path. If u is not the
destination, we need to update the weight of the instances of the neighbors of
u. An instance v[j] is updated if (u, v) is not pruned, v is not in partial path p′ ,
and the current weight of the instance, v[j].w, is greater than the total weight
of link (u, v) and partial path p′ .
6.4. Worst Case Computational Complexity
We assume list L is implemented by the Fibonacci heap, so O(GetBestInstance) =
O(log(kn)) and the complexity of initializing the heap in lines 1–2 is O(kn log(kn)).
Each part of the main loop of the algorithm runs different times. Lines 4
and 5 run kn times, so total complexity of this part is O(kn(log(kn) + n)).
Lines 7–9 run at most k times; the total complexity is O(O(QDDCA)k) =
ˆ
O(knκ2 Iˆ2 (r̂ + I)).
The last part, lines 11–15, runs km times, consequently
the total complexity is O(knm). Combining all these running times yields
ˆ +
to O(JQRCA) = O(kn log(kn)) + O(kn(log(kn) + n)) + O(knκ2 Iˆ2 (r̂ + I))
2 ˆ2
ˆ
O(knm) = O(kn log(kn) + knm + knκ I (r̂ + I)).
7. Performance Bound
In this section, we obtain an upper bound on the network performance, which
is used in Section 8 to evaluate the performance of the JQRCA algorithm. For
the sake of simplicity of presentation, in the first step, we start from an artificial
version of the problem in which the QoS demands are static and obtain the
17
Algorithm 5 : JQRCA((s, d, b, e, t), k)
1: for i = 1 to k do
2:
∀u ∈ V \ {s}, u[i].w ← ∞ and add u[i] to L
3: while the number of found paths to t is less than k do
4:
u[i] ← GetBestInstance(L)
5:
p′ ← GetPartialPath(u[i])
6:
if u = t then
7:
QDDCA((s, d, b, t, e), p′ )
8:
if Accepted then
9:
Finish
10:
else
11:
for each (u, v) ∈ E do
12:
if (u, v) is not pruned and v ∈
/ p′ and ∃v[j] s.t. v[j].w > W (p′ , Ψ) +
Ψ
w(u,v) then
Ψ
13:
v[j].w ← W (p′ , Ψ) + w(u,v)
14:
v[j].π ← u[i]
15:
update L
optimal feasible solution for it through formulating the problem as a MILP
model, OptimalStatic. Due to the computational complexity of the model,
we relax it to get an upper bound, RelaxedStatic model. In the second step,
we assume that flows are reroutable and extend the relaxed model to consider
the dynamics of the demands over the time, DynamicUB1 model. However,
it leads to a huge model that is intractable in practical problems. We deal
with it by proposing another model, DynamicUB2, which is equivalent to the
first model, but it is decomposable, and developing a decomposition algorithm,
MostGreedyOnline, for it. We show that the models for dynamic demands
simulate the behavior of the on-line greedy CAC strategies, which we study here.
The solution of the extended model, which is acquired by the decomposition
algorithm, is the performance bound of the on-line joint QoS routing and channel
assignment problem. Fig. 3 summarize our approach to obtain the upper bound.
7.1. Static Demands Performance Bound
The static demands performance bound problem is as follows. A multichannel multi-radio WMN, which is modeled by a digraph, and a set of static
QoS demands are given. By the static demands, we mean all the demands arrive
at time 0. The question is what the maximum number of admissible demands is.
For this problem, we develop an optimal MILP model and since it is extremely
difficult, we relax it and obtain a relaxed model that is tremendously easier and
provides a tight bound for the problem.
7.1.1. Optimal Model
In the optimal MILP model, we use the assumptions we made in the previous sections; each link can only use one channel, there is not fast switching
capability, and the capacity constraint is modeled by the row constraint (1).
However, we assume that flows are splittable and multipath routing is used. In
addition to the notations in Table 1, we use the following variables. Binary
variable xk(u,v) is the channel assignment variable,
18
Static Demands
Assuming static
demands
Assuming fast
switching
Optimal model:
OPTIMALSTATIC
Relaxed model:
RELAXEDSTATIC
Time based constraints
and assuming rerouting
Dynamic Demands
Decomposition Algorithm:
MOSTGREEDYONLINE
Decomposition
Decomposable model:
DYNAMICUB2
Proposition 2
Upper bound model:
DYNAMICUB1
Performance Bound
Figure 3: The proposed approach to obtain network performance bound
xk(u,v)
(
1, if link (u, v) transmits on channel k
=
0, otherwise.
Binary variable ai denotes admission of demand δi ,
(
1, if demand δi is accepted
ai =
0, otherwise.
Tuning radios to channels is modeled by variable yuk ,
yuk = 1, if channel k is assigned to a radio of node u.
The optimal model is as follows. Its objective function is to maximize the
number of admitted demands,
X
maximize
ai .
(3)
δi ∈∆
Since at most one channel is assigned to each link, we have
X
xk(u,v) ≤ 1
∀(u, v) ∈ E.
(4)
k∈K
Obviously, the variable yuk cannot be greater than 1, so
yuk ≤ 1
∀k ∈ K, ∀u ∈ V.
(5)
If link (u, v) uses channel k, the channel must be assigned to a radio in both
nodes u and v, therefore
xk(u,v) ≤ yuk , xk(u,v) ≤ yvk
∀k ∈ K, ∀(u, v) ∈ E.
(6)
The radio constraint forces that the number of channels assigned to the links of
a node must be at most the number of radios of the node; in other words,
X
yvk ≤ rv
∀v ∈ V.
(7)
k∈K
19
If link (u, v) transmits a load on channel k, the channel must be assigned to the
link. So, we have
k
l(u,v)
≤ xk(u,v) ck(u,v)
∀k ∈ K, ∀(u, v) ∈ E.
(8)
The load transmitted by each link must be equal to the load offered on it by
flows in the network,
X
X
k
i
∀(u, v) ∈ E.
(9)
l(u,v)
=
f(u,v)
k∈K
δi ∈∆
Modeling the capacity constraint is a little complicated. To check the capacity constraint (1), I(u,v) and the channel assigned to (u, v) must be given, but
indeed these are determined after solving the optimization model. To deal with
′
this issue, in the optimization model, we use I(u,v)
instead of I(u,v) and check
′
the constraint for all channels, there are κ constraints per link. Recall that I(u,v)
is the interference set of (u, v) when a common channel is assigned to all links
in the network. However, only one of the κ constraints should be satisfied and
the remaining must be don’t-care because if channel k is not assigned to (u, v),
it is meaningless to impose a limitation on the aggregate load transmitted on
this channel in the interference range of the link. This is modeled using the big
M technique and the constraint is
X
k
l(a,b)
′
(a,b)∈I(u,v)
ck(a,b)
≤ 1 − xk(u,v) M + 1
∀k ∈ K, ∀(u, v) ∈ E.
(10)
In (10), if channel k is assigned to link (u, v), xk(u,v) = 1, the right-hand side
will be “1”, and the constraint imposes that the aggregate load transmitted
′
, on channel k must not
by the links in the interference rage of (u, v), I(u,v)
exceed physical channel capacities. However, for other channels k ′ 6= k where
′
xk(u,v) = 0, this constraint becomes don’t-care since M is a big value. The big
P
lk
lk
(a,b)
; since c(a,b)
≤1
value implies that M must be greater than (a,b)∈I ′
k
ck
(u,v)
(a,b)
(a,b)
′
ˆ we need M > I.
ˆ
and |I(u,v)
| ≤ I,
Finally, the routing and flow conservation constraint must be satisfied if
demand is accepted, which is modeled as
if u = si
ai b i ,
X
X
i
i
f(v,u) = −ai bi , if u = di
∀u ∈ V, ∀δi ∈ ∆. (11)
f(u,v) −
(v,u)∈E
(u,v)∈E
0,
otherwise
i
Note that routing variables f(u,v)
are real variables because of flow splitting and
multipath routing assumptions. The last constraints are the bounds,
k
i
xk(u,v) ∈ {0, 1}, ai ∈ {0, 1}, l(u,v)
≥ 0, f(u,v)
≥ 0, yuk ≥ 0.
(12)
Putting (3)–(12) altogether provides an optimal model for the static demands
performance bound problem that is
Model:
Objective:
Subject to:
OptimalStatic
(3)
(4)–(12).
20
Table 5: The number of maximal cliques
Node # Link # Interference Graph
Maximal Clique #
25
126
8
50
234
107
100
656
204
Whereas solving the OptimalStatic model gives an optimal feasible solution, it is extremely difficult. The model cannot be solved easily even for small
networks and a few number of demands. The complexity arises from the binary
variables xk(u,v) and ai . In the following, we deal with the complexity by relaxing
this optimal model.
7.1.2. Upper Bound
The binary variable xk(u,v) used for channel assignment is the source of the
difficulty of OptimalStatic. We assume that radios are capable to do fast
switching to tackle the complexity. Using this assumption, variable xk(u,v) is
relaxed as
xk(u,v) = Fraction of time that link (u, v) transmits on channel k.
However, this relaxation causes a problem. The capacity constraint (10)
is a conditional constraint and needs the binary variable xk(u,v) . We replace
it by the scaled clique constraint to deal with this issue. It enforces that the
aggregate load of the links in each maximal clique of the interference graph
should not exceed the scaled physical channel capacity. The clique constraint
P
lk
≤1
without scaling is a necessary condition4 and formulated as (u,v)∈Qi c(u,v)
k
(u,v)
in multi-rate networks [39], where Qi is a maximal clique. As shown in [38], to
be a sufficient condition, the constraint must be scaled.
There are two issues about the scaling. First, the number of maximal cliques
in an arbitrary graph theoretically can be exponential; but, in practice, in the
interference graph of multi-hop wireless networks, it is limited and all maximal
cliques can be found very easily. Table 5 shows the number of maximal cliques
in the interference graph of three random topologies. The maximum time to
find all maximal cliques is less than one second in our experiments on an Intel
Pentium IV 3.0 GHz machine5 .
Second, the value of the scale should be selected properly. The authors in
[38] showed that it depends on the imperfection ratio of the interference graph.
A recent simulation based study of the imperfection ratios of interference graphs
provided two conclusions [41]. First, as the number of nodes increases the value
of the scale decreases. Second, scale = 1.0 is a good approximation but to be
1
more conservative, we can use scale = 1.21
= 0.826. Based on this study, we
use both these values to find two bounds.
Let γ be the scale, Qi be a maximal clique in the interference graph when
a common channel is assigned to all links, and set Φ = {Q1 , Q2 , . . .} be the set
4 In
fact, it is a sufficient condition only in perfect interference graphs.
used MACE program to enumerate maximal cliques [40].
5 We
21
of the maximal cliques. The relaxed model for the static demands performance
bound problem is as follows.
Obviously, variable xk(u,v) is bounded by 1,
xk(u,v) ≤ 1
∀k ∈ K, ∀(u, v) ∈ E.
(13)
Load transmitted by link (u, v) on channel k is proportional to the fraction of
time that the link is active on the channel, so
k
l(u,v)
= xk(u,v) ck(u,v)
∀k ∈ K, ∀(u, v) ∈ E.
(14)
When a link of node u, either (u, v) or (v, u), uses channel k, xk(u,v) > 0, in fact,
a radio of the node is tuned to the channel and utilized for that transmission for
xk(u,v) fraction of time. Obviously, total utilization of radios of a node cannot
exceed the number of radios; in other words,
X X
X
xk(u,v) +
xk(v,u) ≤ ru
∀u ∈ V.
(15)
k∈K
(u,v)∈E
(v,u)∈E
The scaled clique constraint is
X
k
l(u,v)
ck
(u,v)∈Qi (u,v)
=
X
xk(u,v) ≤ γ
∀k ∈ K, ∀Qi ∈ Φ,
(16)
(u,v)∈Qi
that imposes the total time allocated to all conflicting links must be less than
or equal to γ. The bound constraints are
i
k
xk(u,v) ≥ 0, ai ∈ {0, 1}, l(u,v)
≥ 0.
≥ 0, f(u,v)
(17)
These constraints and objective function (3) gives the relaxed model as
Model:
Objective:
Subject to:
RelaxedStatic
(3)
(9), (11), (13)–(17).
It is important to note that even if the exact value of the scale is used,
this relaxed model will be an upper bound because its solution may not be
schedulable. An example of unschedulable solution is depicted in Fig. 4. In this
example, in the first time-slot, nodes a and b activate channel 1 on their radios
to transmit the load on link (a, b), the length of this time-slot is half of the
scheduling frame, x1(a,b) = 0.5, since the load on the link is 5 and the physical
channel capacity is 10. In the second time-slot, channel 2 is activated on the
radios of nodes b and c to transmit the load on link (b, c), the length of this
time-slot is also half of the scheduling frame, x2(b,c) = 0.5. However, there is
not any time-slot to transmit the load on link (c, a) on channel 3 even though
all the constraints of the RelaxedStatic model are satisfied. Our simulation
results presented in the next subsection show that this issue is not an important
matter and RelaxedStatic provides a tight bound.
22
1 -
1 2
a
b
(1,5)
)
(2
,5
)
,5
(3
c
- 2
Figure 4: An example of unschedulable solution. Label of each link is (channel, load), label of
each node is the schedule of channel activation on its radio, ck(u,v) = 10, and qu = 1. Whereas
all the constraints of RelaxedStatic are satisfied, there is not any feasible schedule.
Parameter
Name
Area
Node #
TR
IR
Radio #
Channel #
ck(u,v)
Table 6: Parameters of the topologies used in simulations
Values
T-10
T-15
T-25
T-50
500×500m2
600×600m2
750×750m2
1000 × 1000m2
10
15
25
50
200m
200m
200m
200m
400m
400m
400m
400m
Random [2,5] Random [2,5] Random [2,5]
Random [2,5]
12
12
12
12
100 Mb/s
100 Mb/s
100 Mb/s
100 Mb/s
7.1.3. Simulation Results
In this subsection, we present simulation results to show the efficiency and
tightness of the RelaxedStatic model. We conducted the simulations in three
10, 15, and 25 nodes random topologies with parameters shown in Table 6. In
each experiment, 50 random demands were offered to the network. The required
bandwidth of each demand was a uniform random variable in [1, Bmax ] Mb/s.
We used CPLEX 11.0 [42] on an Intel Pentium IV 3.0GHz machine with 2 Gigabytes RAM. Time limit to solve the model was 10 hours. The results presented
in this section are the average of five experiments. We evaluate RelaxedStatic
using following metrics.
Definition 4. Bound Gap of the relaxed model is
Relaxed Model Accepted Demands # − Optimal Model Accepted Demands #
.
Optimal Model Accepted Demands #
Definition 5. Time Ratio of the relaxed model is
Optimal Model Solution Time
Relaxed Model Solution Time .
Table 7 shows the simulation results. In this table, rows “Optimal,” “Not
Scaled,” and “Scaled” are the results of OptimalStatic and RelaxedStatic
with γ = 1.0 and γ = 0.826, respectively. The “Exceed #” row is the number
of times that OptimalStatic was not solved in the specified time limit, in
these cases, we used the best integer solution as the result. Optimality gap of
the best integer solution, which is reported by the solver, is represented in the
“Optimality Gap” row.
23
Table 7: Simulation results of OptimalStatic and RelaxedStatic. The parameters of the
simulation topologies are shown in Table 6.
Topology
T-10
T-15
T-25
Bmax
20
30
20
30
20
30
Optimal
48.8
44
49.4
44.4
46.6
40
Accepted # Not Scaled
49.3
45.4
49.4
45
49.9
44.8
Scaled
48.5
42.8
48.8
42.6
48.8
42
Bound Gap
Not Scaled
1.09e−2
3.13e−2
0
1.35e−2
7.09e−2
1.20e−1
Scaled
−6.15e−3
−2.84e−2
−1.21e−2
−4.05e−2
4.68e−2
5.00e−2
Optimal
2.17e+4
3.60e+4
1.09e+4
3.60e+4
3.60e+4
3.60e+4
Time(sec)
Not Scaled
9.50e−2
1.73e−1
4.74e−1
6.24e−1
8.71e−1
3.38e+0
Scaled
1.20e−1
1.12e−1
4.62e−1
8.90e−1
2.16e+0
5.71e+0
Time Ratio
Not Scaled
2.28e+5
2.08e+5
2.30e+4
5.77e+4
4.13e+4
1.07e+4
Scaled
1.81e+5
3.22e+5
2.36e+4
4.04e+4
1.67e+4
6.31e+3
Exceed #
2
5
1
5
5
5
Optimality Gap
1.66e−2
1.13e−1
6.38e−2
1.27e−1
7.46e−2
2.08e−1
These results lead to the following conclusions. First, RelaxedStatic is
a tight relaxation of the optimal model as the bound gap is very small. Second, RelaxedStatic is incredibly, up to 3.22e+5 times, faster than OptimalStatic. Third, the best integer solution is a fairly good approximation of
the optimal solution since the optimality gap is quite small. Fourth, these results confirm the conclusions in [41]: (i) γ = 0.826 is too conservative for small
topologies as the bound gap is negative in T-10 and T-15. (ii) As the number
of nodes increases, γ = 1.0 and γ = 0.826 get looser and tighter, respectively.
7.2. Dynamic Demands Performance Bound
Dynamic demands performance bound problem is, in fact, the performance
bound of the joint QoS routing and channel assignment problem in which each
demand δi arrives at time ti and has a limited holding time ei − ti . Again,
the question is the maximum number of admissible demands. As explained
before, for the problem, we first develop an upper bound model by extending
RelaxedStatic; then, propose another model, which is equivalent to the first
one and is decomposable; finally, we develop a decomposition algorithm that
divides the second model into subproblems and solves them sequentially.
7.2.1. Upper Bound Model
As mentioned, in this problem, we should model the dynamics of the demands, which need to update network configurations (routing and channel assignment) at the demand arrival times. We deal with the problem by extending
RelaxedStatic in the following ways. First, we introduce a time set T , which
is T = {t1 , t2 , . . . , th }, and duplicate the channel assignment variables, xk(u,v) , for
each tj ∈ T , i.e., we add new variables xk(u,v),tj ∀k ∈ K, ∀(u, v) ∈ E, ∀tj ∈ T .
Second, we assume that accepted demands can be rerouted ; thus, flow routes
are time-dependent and reoptimized at each demand arrival time. They are
i
∀δi ∈ ∆, ∀(u, v) ∈ E, ∀tj ∈ T . Third, decision variable ai
denoted by f(u,v),t
j
is not duplicated because a demand is either accepted or not independent of the
time we observe the network. Fourth, the required bandwidth of demand δi is
defined as
24
bi,tj =
(
bi , if ti ≤ tj ≤ ei
0, otherwise.
These extensions yield a model that is composed of h instances of the RelaxedStatic model, an instance per demand arrival. At each arrival time
tj ∈ T , decision variables must satisfy the constraints of the instance of RelaxedStatic corresponds to the time, which are defined as following.
Definition 6. Constraints must be satisfied at time tj , ConsSet(tj ), are
xk(u,v),tj ≤ 1
∀k ∈ K, ∀(u, v) ∈ E,
k
∀k ∈ K, ∀(u, v) ∈ E,
= xk(u,v),tj ck(u,v)
l(u,v),t
j
X
X
X
∀v ∈ V,
xk(v,u),tj ≤ rv
xk(u,v),tj +
k∈K
X
(u,v)∈Qi
(v,u)∈E
(u,v)∈E
k
l(u,v),t
j
ck(u,v)
X
=
(u,v)∈E
and
i
f(u,v),t
j
−
X
(v,u)∈E
xk(u,v),tj ≤ γ
∀k ∈ K, ∀Qi ∈ Φ,
(u,v)∈Qi
i
f(u,v),t
=
j
δi ∈∆
X
X
X
k
l(u,v),t
j
∀(u, v) ∈ E,
k∈K
i
f(v,u),t
j
ai bi,tj ,
= −ai bi,tj ,
0,
if u = si
if u = di ∀u ∈ V, ∀δi ∈ ∆,
otherwise
(18)
i
k
≥ 0.
≥ 0, f(u,v),t
xk(u,v),tj ≥ 0, ai ∈ {0, 1}, l(u,v),t
j
j
The major complexity of this model is that these instances are not independent because variables ai ∀δi ∈ ∆ appear in all of them. In other words,
demands are not preemptable; if a demand is accepted in the solution of one of
the instances, it must be accepted in the remaining. As a result, we have to
solve the h instances altogether simultaneously.
An important issue in modeling the dynamic demands performance problem,
which needs to be addressed carefully, is the objective function of the model. If
(3) is optimized, this model will be an appropriate model for the off-line joint
QoS routing and channel assignment problem, in which the information about
all demands is given at the beginning and solving the model finds the maximum
number of admissible demands. However, in this paper, we have focused on
the on-line greedy CAC strategy, where the information about a demand is
not known before its arrival time and at demand arrival time, since the on-line
algorithm does not aware of future demands, it greedily attempts to accept the
given demand. We borrow the idea proposed in [43] to model this behavior of
on-line algorithms, which is assigning profit ρi to demand δi and maximizing
the aggregate profit of accepted demands. Suppose ∆ is sorted in ascending
order of ti , the profit is assigned as
ρi = 2h−i .
25
(19)
and the objective function is
maximize
X
a i ρi .
(20)
δi ∈∆
These profits imply that if there is a feasible path for demand δiP
, it is not
h
rejected in favor of accepting subsequent demands δj because ρi > j=i+1 ρj
∀δi ∈ ∆. This inequality implies that the model first puts its effort to accept δ1 ,
then consider δ2 , after that, δ3 and so on; this exactly simulates the behavior of
on-line greedy CAC algorithms.
The optimization model for the dynamic demands performance problem is
Model:
Objective:
Subject to:
DynamicUB1(∆, ρ)
(20)
ConsSet(tj ) ∀tj ∈ T .
Where ρ is the profit assignment vector obtained by (19). Since instead of OptimalStatic, we use the RelaxedStatic model, DynamicUB1 provides an
upper bound on the network performance achievable through on-line greedy algorithms. Tightness of the model depends on the scale used in RelaxedStatic
and as discussed in the previous subsection, in large networks, scale 0.826 yields
a tighter bound than scaled 1.0.
There is a problem about DynamicUB1, this model will be huge even for
medium size networks and a large number of demands; it is not solvable for
practical networks. In the following, we decompose it to deal with this issue.
7.2.2. Decomposition
In this subsection, at the first step, we define a model that is equivalent
to DynamicUB1, the set of accepted demands is the same for both models.
Then, in the second step, we show this model is decomposable and develop an
algorithm to decompose it.
The decomposable model is obtained through following modifications in DynamicUB1. First, instead of ai for each demand we consider ai,tj for each
demand δi and tj ∈ T . Second, we consider two additional constraints
∀δi ∈ ∆, ∀tj ∈ T,
ai,tj ≤ bi,tj M
−1
where M > min{bi }
and
∀δi ∈ ∆, ∀tj ∈ T.
ai,tj ≤ ai,ti
(21)
(22)
Constraints (21) and (22) impose that ai,tj must be zero if bi,tj = 0 or ai,ti = 0,
respectively. Third, profit assignment is
0, tj < ti
ρi,tj = 1, tj = ti
∀δi ∈ ∆, ∀tj ∈ T.
(23)
2, tj > ti .
Fourth, the new objective function is
X X
maximize
ai,tj ρi,tj .
tj ∈T δi ∈∆
Consequently, the decomposable model is
26
(24)
Model:
Objective:
Subject to:
DynamicUB2(∆, ρ)
(24)
(21), (22), and ConsSet′ (tj ) ∀tj ∈ T .
Where ConsSet′ (tj ) is the same set of constraints denoted by ConsSet(tj )
but ai is replaced by ai,tj and ρ is the profit assignment vector obtained by
(23).
We use following propositions to show that DynamicUB1 and DynamicUB2 are equivalent models.
Proposition 1. In the solution of DynamicUB2, we have ai,ti = ai,tj where
ti ≤ tj ≤ e i .
Proof. The proof can be found in the Appendix.
Proposition 2. For a given ∆, we have ai = ai,ti , where ai and ai,ti are
obtained by solving the DynamicUB1 and DynamicUB2 models, respectively.
Proof. The proof can be found in the Appendix.
In DynamicUB1, the accepted demands are determined by ai , demand δi
is accepted if ai = 1; now, if we define it in DynamicUB2 using ai,ti , demand
δi is accepted if ai,ti = 1, the set of accepted demands obtained by both models
are the same due to proposition 2; in other words, these models are equivalent.
The distinguishing feature of the DynamicUB2 model is that we can decompose it into h subproblems and solve them sequentially. Note that constraint
ConsSet′ (tj ) ∀tj ∈ T in the model is indeed h independent sets of constraints,
there is not any common variable among them. Each set contains the decision
variables, and constraints correspond to a tj ∈ T . Therefore, DynamicUB2
can be decomposed into h subproblems where jth subproblem is
Model:
Objective:
Subject to:
subUB2(∆′tj , ρ, j)
P
maximize δi ∈∆′ ai,tj ρi,tj
tj
ConsSet′ (tj ).
In this model, constraints (21) and (22) are not included, we take them into
/ ∆′tj if either of these
account using ∆′tj ⊂ ∆ instead of ∆. Demand δi ∈
conditions holds
• tj < ti or tj > ei since bi,tj = 0 and constraint (21) implies ai,tj = 0.
• ti < tj ≤ ei and ai,ti = 0 because constraint (22) enforces ai,tj = 0.
Since when ti < tj ≤ ei , constraint (21) does not impose any restriction, the
first condition is equivalent to the constraint. In a similar way, the second
condition is equivalent to (22) as the constraint is don’t-care when ai,ti = 1.
Therefore, subUB2 is a valid decomposition of DynamicUB2 as it takes all
the constraints of DynamicUB2 into consideration.
Note that the second condition needs the optimal value of ai,ti ; it implies that
subUB2(∆′ti , ρ, i) must be solved before subUB2(∆′tj , ρ, j) for each j > i; in
other words, subUB2 subproblems should be solved sequentially starting from
subUB2(∆′t1 , ρ, 1). This is implemented by the decomposition algorithm as
shown in algorithm 6. In this algorithm, if δi is rejected, it is removed from ∆′
27
Algorithm 6 : MostGreedyOnline(∆)
1: Create empty set ∆′
2: for i = 1 to h do
3:
δi ← ∆[i]
4:
Add δi to ∆′
5:
Assign profits ρ according (23)
6:
Solve subUB2(∆′ , ρ, i)
7:
if ai,ti = 1 then
8:
Add δi to the Accepted demand set
9:
else
10:
Remove δi from ∆′
11:
for each δj ∈ ∆′ do
12:
if ej < ti+1 then
13:
Remove δj from ∆′
in line 10, due to (22); moreover, it is removed in line 13 because of (21) if it
does not overlap with the next demand.
This algorithm is named “most greedy on-line” since it is on-line, it does not
use the information of a demand before it arrives, and is the greediest algorithm;
it accepts demands if there is a feasible network configuration, which is checked
by solving the subUB2 optimization model.
8. Simulation Results
In this section, we present simulation results to evaluate the performance
of the JQRCA algorithm. After clarifying the simulation setup and simulated
algorithms, we study the effect of different parameters on the performance of
the algorithms. Moreover, we present results on the average case computational
complexity and overhead of the JQRCA algorithm.
8.1. Simulation Setup
We used a flow-level event-driven simulator developed in Java. Simulations
were performed on an Intel Pentium IV 3.0 GHz machine with 2 Gigabytes RAM
and CPLEX 11.0 was used. Three random topologies with 15, 25, and 50 nodes
as shown in Table 6 were used. In each run of the simulations, a set of random
traffic demands with the parameters shown in Table 8 was used. These were the
default values used in all simulations, unless otherwise is stated. The simulation
parameters, e.g., λ, Bmax , and κ, were tuned to consider the networks under
lightly loaded to highly overloaded conditions. The results presented in this
section are the average obtained from ten different demand sets.
We simulated three solutions for the on-line joint QoS routing and channel
assignment problem: the JQRCA algorithm, the MostGreedyOnline algorithm, and a static solution. In the static solution, at the beginning, we assign
channels by the minimum interference greedy channel assignment algorithm
[44], which is a static channel assignment to minimize total network interference, then, route flows using the minimum hop count routing. In the following
figures, “MGO-0.82,” “MGO-1.00,” “JQRCA,” and “Static” are the results of
28
Table 8: Parameters of simulation traffic
Parameter
Value
Number of demands (h)
300
Arrival rate
Poisson random variable with mean λ demands per min.
Holding time (µ−1
= ei − ti )
Exponential random variable with mean 10 min.
i
Required bandwidth (bi )
Uniform random variable in [1, Bmax ] Mb/s
Table 9: The correspondence between demand arrival rate, incoming traffic, and overload
percentage
λ
Incoming
Overload %
(demand/min)
Traffic (Mb/s)
T-15
T-25 T-50
2
210
22
18
15
4
420
44
36
30
6
630
66
54
45
8
840
88
72
60
10
1050
110
90
75
MostGreeyOnline with γ = 0.826, MostGreeyOnline with γ = 1.0, the
JQRCA algorithm with k = 2, and the static solution, respectively.
In the following results, we report the incoming traffic in terms of demand
arrival rate. The incoming traffic can also be easily measured in terms of bandwidth as follows. The average holding time of demands is µ−1 minutes and λ
new demands arrive in each minute; thus, using the Little’s law, there are λµ−1
traffic demands on average. Since the bandwidth requirement of demands is a
+1
uniform random variable in [1, Bmax ] Mb/s, its average value is Bmax
Mb/s.
2
Therefore, the total traffic offered to the network in terms of bandwidth is
0.5λµ−1 (Bmax + 1) Mb/s. Table 9 shows the correspondence between demand
arrival rate and incoming traffic. Moreover, this table shows the overload percentage of each topology per arrival rate. The overload percentage is the percentage of the incoming traffic over the maximum throughput of the network.
The maximum throughput of the network is measured as follows. We load the
network very heavily, e.g., λ = 1000 demand/min, use the MGO-1.00 to route
the demands, and take the moving average of the bandwidth of the accepted
demands over the time. The maximum throughput of the T-15, T-25, and T-50
topologies are 995 Mb/s, 1170 Mb/s, and 1394 Mb/s, respectively.
To measure the performance of QoS routing algorithms, we use the demand
acceptance rate metric [11, 45]. Demand acceptance rate is the number accepted
demands divided by the total number of demands. We discuss the relation
between bandwidth of accepted demand and this metric, which depends on the
fairness of the algorithm, in subsection 8.6.
8.2. Effect of Demand Arrival Rate
Arrival rate of demands is the first parameter we investigated. The acceptance rates of the solutions versus the demand arrival rate are shown in Fig. 5.
These figures show that the JQRCA algorithm is an efficient algorithm, it significantly outperforms the static solution and has a comparable performance
to the bound obtained by the MostGreedyOnline algorithm independent of
the size of the network. As we see, in the worst case, the solution obtained by
JQRCA is not far from the solution of MGO-0.82 more than 6–8%.
29
In Fig. 6, we depict the average solution time per subUB2 subproblem
to show the efficiency of the MostGreedyOnline algorithm. This problem
is solved by the algorithm at the arrival time of each demand. This figure
shows that the algorithm is not time-consuming as the solution time is less
than 0.6 second, 1.2 second, 12 second in the T-15, T-25, and T-50 topologies,
respectively.
8.3. Effect of Maximum Required Bandwidth
The maximum required bandwidth, Bmax , is a parameter influencing the
offered load; hence, the performance of the algorithms depends on it. The
acceptance rates of the algorithms versus the maximum required bandwidth
are depicted in Fig. 7. These results show that acceptance rate is a decreasing
function of Bmax but the rate of reduction for JQRCA is much less than the
Static solution and is comparable to the rate of MGO-0.82. As seen in the
figures, the gap between the acceptance rates of JQRCA and MGO-0.82 enlarges
as Bmax increases; this is due to the flow-splitting and multipath routing. A
flows that needs large amount of bandwidth is split into multiple sub-flows by
the MostGreedyOnline algorithm, which are routed through multiple paths;
however, the JQRCA algorithm is not allowed to split flows and cannot find a
feasible path for the bandwidth intensive flows.
8.4. Effect of Number of Available Channels
An efficient joint QoS routing and channel assignment algorithm should be
able to exploit available channels. We conducted simulations with different
numbers of channels in order to compare the algorithms from this point of view.
In these simulations, λ is 4 demands per minute that leads to 420 Mb/s offered
load. Fig. 8 shows the performance of the algorithms versus the number of
available channels. In all topologies, JQRCA exploits the available channels
as well as the MostGreedyOnline algorithm since the rate of increasing of
acceptance rate is almost the same for both algorithms. In the T-15 topology,
Fig. 8(a), JQRCA outperforms MGO-0.82, this confirms our previous results in
Section 7.1.3 that showed the scale 0.826 is too conservative in small topologies.
8.5. Effect of Number of Radios per Node
Radios in each node are scarce resources. An efficient algorithm should be
capable of providing good performance even using a limited number of radios.
We show the performance of the algorithm versus the numbers of radios per
node in Fig. 9. These figures show that JQRCA does not need many radios per
node to achieve high network performance.
When there are two or three radios per node, there is a large gap between
JQRCA and MGO-0.82. This is due to the infeasibility of the solutions of the
subUB2 model, which is explained in Section 7.1.2. The unschedulability issue
is more serious when ru is small; so, in this case the MostGreedyOnline
algorithm gives a bit loose upper bound on the network performance.
Fig. 8 and Fig. 9 indicate the main factor limiting the network performance
is the number channel not the number of radios. In real-life WMNs, in which
each node has three/four radios, JQRCA can exploit the many existing channels,
e.g., 12 orthogonal channels in IEEE 802.11a, to obtain a near optimal network
performance.
30
1
MGO−1.00
MGO−0.82
JQRCA
Static
Acceptance Rate
0.9
0.8
0.7
0.6
0.5
2
4
6
Arrival Rate (demand / min)
8
10
(a) T-15 Topology
1
MGO−1.00
MGO−0.82
JQRCA
Static
0.9
Acceptance Rate
0.8
0.7
0.6
0.5
0.4
0.3
2
4
6
Arrival Rate (demand / min)
8
10
(b) T-25 Topology
1
MGO−1.00
MGO−0.82
JQRCA
Static
0.9
Acceptance Rate
0.8
0.7
0.6
0.5
2
4
6
Arrival Rate (demand / min)
8
10
(c) T-50 Topology
Figure 5: Acceptance rate versus demand arrival rate. The parameters of the topologies and
the simulation traffic are shown in tables 6 and 8, respectively; and Bmax = 20.
31
0.6
MGO−0.82
MGO−1.00
Subproblem Solution Time (sec)
0.5
0.4
0.3
0.2
0.1
0
2
4
6
Arrival Rate (demand / min)
8
10
8
10
8
10
(a) T-15 Topology
1.2
MGO−0.82
MGO−1.00
Subproblem Solution Time (sec)
1
0.8
0.6
0.4
0.2
0
2
4
6
Arrival Rate (demand / min)
(b) T-25 Topology
12
MGO−0.82
MGO−1.00
Subproblem Solution Time (sec)
10
8
6
4
2
0
2
4
6
Arrival Rate (demand / min)
(c) T-50 Topology
Figure 6: Average solution time of subUB2 versus demand arrival rate. The parameters of the
topologies and the simulation traffic are shown in tables 6 and 8, respectively; and Bmax = 20.
32
1
Acceptance Rate
0.9
0.8
0.7
MGO−1.00
MGO−0.82
JQRCA
Static
0.6
10
15
20
Bmax
25
30
25
30
25
30
(a) T-15 Topology
1
0.9
Acceptance Rate
0.8
0.7
0.6
0.5
MGO−1.00
MGO−0.82
JQRCA
Static
0.4
10
15
20
Bmax
(b) T-25 Topology
1
Acceptance Rate
0.9
0.8
0.7
0.6
0.5
10
MGO−1.00
MGO−0.82
JQRCA
Static
15
20
Bmax
(c) T-50 Topology
Figure 7: Acceptance rate versus the maximum required bandwidth. The parameters of the
topologies and the simulation traffic are shown in tables 6 and 8, respectively; and λ = 4
demands per minutes.
33
1
MGO−1.00
MGO−0.82
JQRCA
Static
Acceptance Rate
0.9
0.8
0.7
0.6
0.5
4
6
8
# of Channels
10
12
10
12
10
12
(a) T-15 Topology
1
MGO−1.00
MGO−0.82
JQRCA
Static
0.9
Acceptance Rate
0.8
0.7
0.6
0.5
0.4
4
6
8
# of Channels
(b) T-25 Topology
1
MGO−1.00
MGO−0.82
JQRCA
Static
0.9
Acceptance Rate
0.8
0.7
0.6
0.5
0.4
4
6
8
# of Channels
(c) T-50 Topology
Figure 8: Acceptance rate versus the number of channels. The parameters of the topologies
and the simulation traffic are shown in tables 6 and 8, respectively. λ = 4 demands per minute
and Bmax = 20.
34
1
0.9
Acceptance Rate
0.8
0.7
0.6
MGO−1.00
MGO−0.82
JQRCA
Static
0.5
0.4
2
3
4
# of Radios per Node
5
6
(a) T-15 Topology
1
0.9
Acceptance Rate
0.8
0.7
0.6
MGO−1.00
MGO−0.82
JQRCA
Static
0.5
0.4
2
3
4
# of Radios per Node
5
6
(b) T-25 Topology
1
0.9
Acceptance Rate
0.8
0.7
0.6
0.5
MGO−1.00
MGO−0.82
JQRCA
Static
0.4
0.3
2
3
4
# of Radios per Node
5
6
(c) T-50 Topology
Figure 9: Acceptance rate versus the number of radios per node. The parameters of the
topologies and the simulation traffic are shown in tables 6 and 8, respectively. λ = 4 demands
per minute and Bmax = 20.
35
8.6. Fairness
As mentioned in Section 3.5, greedy CAC strategy is suitable to achieve
(absolute) fairness. In this subsection, we measure the fairness of the JQRCA
algorithm through the Jain’s fairness index [46]. Suppose there are N traffic
classes and Ai demands are accepted from class i. Fairness index is defined as
Fairness index =
P
N
N
i=1
PN
Ai
i=i
2
A2i
.
This parameter measures how fairly an algorithm accepts demands from
different classes. Absolute fairness is achieved when the fairness index is equal
to one, which implies the same number of demands is accepted from all classes;
absolute unfairness, when all the accepted demands belong to only one class, is
the case that fairness index is N1 .
Here, we define traffic classes based on the bandwidth requirements; we
divide [1, Bmax ] into 10 subintervals. Demand δi is in class j if (bi − 1) ∈
Bmax
[(j − 1) Bmax
10 , j 10 ] Mb/s. The fairness index of JQRCA in various settings of
network and traffic parameters is shown in Table 10. Note that these parameter
settings are the values we used in the previous subsections. This table shows that
JQRCA is quite fair, fairness index is more than 0.90 in most cases even when
acceptance rate is about 0.6. These results confirm the intuition; since JQRCA
attempts to accept every demand regardless of its bandwidth requirement, it
achieves the absolute fairness in lightly or moderately loaded networks.
These results can be used to compute network throughput in terms of bandwidth. Let us denote the acceptance rate, average bandwidth requirement of
accepted demands, and fairness index by α, b and η, respectively. The rate of
admitted demands is αλ demand per minute. According to the Little’s law, the
average number of demands active in the network is αλµ−1 . Consequently, the
network throughput is αλµ−1 b Mb/s. If JQRCA was absolutely fair, η = 1, it
would accept exactly the same number of demands from each class and thus
+1
. However, JQRCA is a bit unfair in some cases. In these cases,
b = Bmax
2
Bmax +1
b <
because the acceptance probability of the demands with small
2
bandwidth requirements is more than the probability of demands that need
large bandwidth. We take this observation into account through scaling down
b by the fairness index; we approximate the network throughput as
Approximated Throughput = 0.5αλµ−1 η σ (Bmax + 1)Mb/s,
where σ is a parameter to control the scaling. Our simulations show that this
approximation is very accurate. In Table 10, column “Throughput” is the actual network throughput measured from the simulations. The last column in
this table represents the throughput approximation normalized error. It is obtained by computing the difference between the actual network throughput and
the approximated throughput and then dividing the difference by the actual
throughput. We used σ = 2 in our simulations and as seen in the table, the
error is almost less than 2.5%.
8.7. Complexity and Overhead
In subsections 5.4 and 6.4, we analyzed the worst case complexity of the
QDDCA and JQRCA algorithms. In this section, we provide an insight into the
36
Table 10: Fairness index of JQRCA and throughput approximation normalized error.
Configuration
Throughput Acceptance Fairness Approx.
Topology
λ
Bmax
κ
ru
(Mb/s)
Rate
Index
Error %
T-50
4
20
12
Random
347.94
0.858
0.990
2.1
T-25
4
20
12
Random
347.97
0.861
0.990
2.0
T-15
10
20
12
Random
568.81
0.646
0.922
1.9
T-50
10
20
12
Random
537.80
0.615
0.918
1.7
T-25
4
10
12
Random
220.19
0.992
0.998
1.9
T-15
4
10
12
Random
220.31
0.998
0.999
2.0
T-50
4
30
12
Random
412.12
0.736
0.963
2.9
T-25
4
30
12
Random
400.42
0.721
0.955
2.2
T-15
4
20
4
Random
211.34
0.603
0.907
2.2
T-50
4
20
4
Random
166.01
0.506
0.858
5.1
T-50
4
20
12
3
346.41
0.853
0.983
1.8
T-25
4
20
12
3
360.64
0.882
0.993
1.5
T-15
4
20
12
6
403.52
0.990
0.999
1.5
T-50
4
20
12
6
377.06
0.919
0.995
1.6
average case complexity and overhead of the algorithms through simulations.
The computational complexity of JQRCA is proportional to the number of
violated links, which are generated during the search for a feasible path, and
the average number of calls of LinkChannelChange to resolve a violated link.
These statistics are presented in Table 11. In this table, column “Zero” refers
to the violated links that are assigned to the virtual channel 0 and column
“Non-Zero” are the remaining. When demand arrival rate is low, e.g., λ = 2,
a large percentage of the violated links, e.g., 89% in T-15 or 91% in T-50, are
the links on channel 0; because in this case, there are very few flows in the
network and consequently, many links are assigned to the virtual channel since
no load is on them. On the other hand, in high demand arrival rates, e.g.,
λ = 10, there are many flows in the network and a large number of links are assigned to a non-zero channel; therefore, a small percentage of the violated links,
e.g., 19% in T-25 or 26% in T-50, are on channel 0. Table 11 also shows that
LinkChannelChange is called more than one time per violated link. This
is because GroupChannelChange generates new violations that LinkChannelChange is called for them too. However, this extra complexity is not more
than one additional LinkChannelChange call, which is much less than what
ˆ
we considered in the worst case complexity analysis, I.
After finding a feasible path, network is updated through messages sent
from the call admission control server to the nodes in the network; the update
includes the path establishment and updating channel assignment. The messaging overhead of the former and latter updates are respectively proportional
to the average path hop count and the number of channel updates per accepted
demand, which are reported in Table 12. It is seen that the number channel
updates depends on the topology and the path hop count is much less than
n. It is important to note that the overhead caused by the dynamic channel
reassignment is not significant in comparison to the overhead of QoS routing;
in fact, in the worst case, λ = 8 in T-50, the overhead of channel reassignment
is less than 53% of the overhead of routing.
Tables 11 and 12 show that the complexity and overhead of the JQRCA
algorithm in practice are much less than the worst case presented in Sections
5.4 and 6.4; we believe the algorithm is an efficient solution for real-life WMNs.
37
Table 11: Average case computational complexity of the JQRCA algorithm. The parameters
of the simulation topologies and traffic are shown in tables 6 and 8, respectively. Bmax = 20
and k = 2.
Violations per Demand
LinkChannelChange
λ
Zero
Non-Zero
Call per Violation
T-15
T-25
T-50
T-15
T-25 T-50
T-15
T-25
T-50
2
0.87
1.24
1.88
0.10
0.22
0.17
1.03
1.04
1.019
4
0.57
0.88
1.38
0.68
1.15
1.13
1.44
1.19
1.40
6
0.46
0.78
1.21
1.34
1.84
1.75
1.56
1.26
1.51
8
0.43
0.71
1.189
1.84
2.41
2.82
1.70
1.27
1.68
10
0.40
0.68
1.11
2.26
2.79
3.06
1.84
1.33
1.73
Table 12: Overhead of the JQRCA algorithm. The parameters of the simulation topologies
and traffic are shown in tables 6 and 8, respectively. Bmax = 20 and k = 2.
Channel Updates per
Path Hop Count
λ
Accepted Demand
T-15
T-25
T-50
T-15
T-25
T-50
2
0.882
1.303
1.990
2.096
2.871
4.090
4
0.828
1.106
1.850
2.053
2.814
4.023
6
0.848
1.086
1.942
2.021
2.832
3.952
8
0.891
1.108
2.040
2.001
2.747
3.871
10
0.882
1.072
1.933
1.922
2.696
3.840
9. Conclusions and Future Work
We studied the problem of performance optimization of multi-channel multiradio WMNs in presence of traffic with QoS constraints, which is measured in
terms of acceptance rate of traffic demands. To boost the network performance,
we proposed an on-line joint QoS routing and channel (re)assignment algorithm
that utilizes network resources efficiently by optimal routing and adapts them
through appropriate channel reassignments. The algorithm does not require
any prior information about the offered load, and aims to keep the number of
channel reassignments small. At demand arrival times, the algorithm finds a
path, if it is not feasible, it detects the violated links and attempts to resolve
them. If all the violations are not resolved, another path is found, and so on.
The algorithm examines up to k paths.
We approached the problem of finding an upper bound on the maximum
number of admissible demands by formulating it as a MILP model and developing a decomposition algorithm for the model. It is important to note that the decomposition technique can be used for other similar problems e.g., performance
bound of dynamic QoS routing in wired networks. Comparing the JQRCA algorithm to the bound obtained by the decomposition algorithm shows that in
spite of the fact that JQRCA is not allowed to reroute existing flows, cannot
use the flow splitting and multipath routing mechanisms, and is restricted to
change only the channels in range 2IR of flow routes, its performance is near to
the bound in different network and traffic parameter settings. It can efficiently
exploit available channels even with very few radios per node.
In this paper, we considered greedy CAC strategy, assumed perfect orthogonal channels, and proposed a centralized algorithm. We plan to develop a
distributed version of JQRCA and extend it to consider non-greedy CAC mechanisms and adjacent channel interferences in the future. Moreover, routing metrics other than |I(u,v) |, e.g., hop-count bounded widest path, can be considered
38
in the future work.
10. Acknowledgment
We would like to thank the reviewers for their helpful comments.
Appendix A. Proof of Proposition 1 and 2
In the DynamicUB2 model, let Xtj be a set contains demand δj and active
demands at time tj , demands that ai,tj−1 = 1 and bi,tj 6= 0. Let Ytj ⊆ Xtj be
the set of demands that satisfy ConsSet′ (tj ), and let Ztj ⊂ Ytj be the set of
demands that leave the network before tj+1 .
We prove proposition 1 as follows.
Proof. If ai,ti = 0, constraint (22) enforces that ai,tj = ai,ti = 0 ∀ti ≤ tj ≤ ei .
In the case of ai,ti = 1, we prove it by induction.
Base case: If j = i + 1, then we have Xtj = Yti ∪ δj \ Ztj . For the sake of
simplicity of presentation, we assume Ztj = ∅, the proof is in a similar way when
Ztj 6= ∅. If there is a feasible network configuration to accept all demands belong
to Xtj , we have ai,tj = 1, thus ai,ti = ai,tj = 1. Otherwise, if all the demands
cannot be accepted, δj must be rejected because ρj,tj < ρi,tj ∀δi ∈ Xtj \ δj .
Rejecting δj is sufficient since there is a feasible configuration for Xtj \ δj = Ytj ,
thus in this case, also, ai,ti = ai,tj = 1.
Induction step: Suppose j > i + 1. If ei > tj , demand δi is an active
demand, δi ∈ Xtj . According to the induction assumption, we have ai,tj−1 = 1.
Similar to the discussion about the base case, if all demands belong Xtj are
accepted, Xtj = Ytj , we have ai,tj = ai,tj−1 = ai,ti = 1; otherwise, again δj
must be rejected, and it is sufficient since there is a feasible configuration for
Ytj−1 ; therefore, again we have ai,tj = ai,tj−1 = ai,ti = 1 that completes the
proof.
The proof of proposition 2 is as follows.
Proof. We prove it by induction which is based on the number of demands, h.
Base case: When h = 1, ∆ = {δ1 }, both DynamicUB1 and DynamicUB2
models are the same and if there is a feasible path for the demand, it is accepted,
a1 = a1,t1 = 1, otherwise it is rejected, a1 = a1,t1 = 0.
Induction step: Suppose ai = ai,ti for i = 1, . . . , h when h = j −1. Increasing
the number of demands to h = j has two effects:
• It adds new constraint (18) corresponds to each δj to ConsSet(ti ) and
ConsSet′ (ti ) where i = 1, . . . , j − 1.
• It adds a new set of variables and constraints to both models, which
are denoted by ConsSet(tj ) and ConsSet′ (tj ) in DynamicUB1 and
DynamicUB2, respectively.
We make the following observations
1. We neglect the first effect because for i = 1, . . . , j −1, we have bj,ti = 0 and
therefore, the right-hand side of (18) is 0 and the constraint is don’t-care.
39
2. Adding ConsSet(tj ) to DynamicUB1 does not affect the optimal value
of ai for i = 1, . . . , j − 1 since ρi > ρj .
3. Adding ConsSet′ (tj ) to DynamicUB2 does not affect the optimal value
of ai,ti for i = 1, . . . , j − 1 since the variable does not appear in ConsSet′ (tj ).
The first and second observations imply that the optimal value of ai for
i = 1, . . . , j − 1 obtained in the case of h = j is equal to the values when
h = j − 1. The first and third observation imply the same conclusion for ai,ti .
Therefore, when h = j, we have ai = ai,ti for i = 1 . . . j −1; we only need to show
aj = aj,tj to complete the proof. It is straightforward because the optimal value
of aj and aj,tj are determined by satisfaction of constraints ConsSet(tj ) and
ConsSet′ (tj ), respectively. These satisfactions are influenced by the optimal
values of ai and ai,tj for i = 1, . . . , j − 1 and we know that ai = ai,ti = ai,tj ,
where the last equality is due to proposition 1. Therefore, since ai = ai,tj
and ConsSet(tj ) and ConsSet′ (tj ) are identical set of constraints, we have
aj = aj,tj that completes the proof.
References
[1] Y. Yang, R. Kravets, Contention-aware admission control for ad hoc networks, IEEE Transactions on Mobile Computing 4 (2005) 363–377.
[2] X.-M. Sun, X.-Y. Lv, Novel Dynamic Ant Genetic Algorithm for QoS
Routing in Wireless Mesh Networks, in: IEEE WiCom, 2009.
[3] V. Kone, S. Das, B. Zhao, H. Zheng, QUORUM-Quality of Service in
Wireless Mesh Networks, Springer Mobile Networks and Applications 12
(2007) 358–369.
[4] Q. Xue, A. Ganz, QoS routing for mesh-based wireless LANs, International
Journal of Wireless Information Networks 9 (2002) 179–190.
[5] X. Cheng, P. Mohapatra, S. Lee, S. Banerjee, MARIA: Interference-aware
admission control and QoS routing in wireless mesh networks, in: IEEE
ICC, 2008.
[6] C. Liu, K. Leung, A. Gkelias, A Novel Cross-Layer QoS Routing Algorithm
for Wireless Mesh Networks, in: IEEE ICOIN, 2008.
[7] M. Ergin, M. Gruteser, L. Luo, D. Raychaudhuri, H. Liu, Available bandwidth estimation and admission control for QoS routing in wireless mesh
networks, Elsevier Computer Communications 31 (2008) 1301–1317.
[8] T. Liu, W. Liao, J. Lee, Distributed contention-aware call admission control for IEEE 802.11 multi-radio multi-rate multi-channel wireless mesh
networks, Springer Mobile Networks and Applications 14 (2009) 134–142.
[9] T. Liu, W. Liao, Interference-aware QoS routing for multi-rate multi-radio
multi-channel IEEE 802.11 wireless mesh networks, IEEE Transactions on
Wireless Communications 8 (2009) 166–175.
[10] H. Zhou, C. Huang, Y. Cheng, G. Wang, A New Multi-metric QoS Routing
Protocol in Wireless Mesh Network, in: IEEE NSWCTC, 2009.
40
[11] J. Tang, G. Xue, W. Zhang, Interference-aware topology control and QoS
routing in multi-channel wireless mesh networks, in: ACM MobiHoc, 2005.
[12] X. Zhen, X. Jia, C. Huang, C. Yong, Interference-Aware Channel Assignment and Multi-Path QoS Routing in Wireless Mesh Networks, in: IEEE
WiCOM, 2008.
[13] J. Crichigno, M.-Y. Wu, W. Shu, Protocols and architectures for channel
assignment in wireless mesh networks, Elsevier Ad Hoc Networks 6 (2008)
1051–1077.
[14] W. Si, S. Selvakennedy, A. Y. Zomaya, An overview of Channel Assignment
methods for multi-radio multi-channel wireless mesh networks, Elsevier
Journal of Parallel and Distributed Computing , Article in press (2009)
DOI: 10.1016/j.jpdc.2009.09.011.
[15] K. N. Ramachandran, E. M. Belding, K. C. Almeroth, M. M. Buddhikot,
Interference-Aware Channel Assignment in Multi-Radio Wireless Mesh
Networks, in: IEEE INFOCOM, 2006.
[16] A. Naveed, S. Kanhere, S. Jha, Topology Control and Channel Assignment
in Multi-Radio Multi-Channel Wireless Mesh Networks, in: IEEE MASS,
2007.
[17] J. G. Lim, C. T. Chou, S. Jha, Non-Cooperative Coexistence of Co-located
Independent Wireless Mesh Networks, in: IEEE MASS, 2007.
[18] A. Raniwala, T. cker Chiueh, Architecture and algorithms for an IEEE
802.11-based multi-channel wireless mesh network, in: IEEE INFOCOM,
2005.
[19] V. Bhandari, N. H. Vaidya, Channel and Interface Management in a Heterogeneous Multi-Channel Multi-Radio Wireless Network, Technical Report,
Dept. of Electrical and Computer Eng., University of Illinois at UrbanaChampaign, March 2009.
[20] H. Wu, F. Yang, K. Tan, J. Chen, Q. Zhang, Z. Zhang, Distributed Channel
Assignment and Routing in Multiradio Multichannel Multihop Wireless
Networks, IEEE Journal on Selected Areas in Communications 24 (2006)
1972–1983.
[21] C.-Y. Chiu, Y.-L. Kuo, E.-K. Wu, G.-H. Chen, Bandwidth-Constrained
Routing Problem in Wireless Ad Hoc Networks, IEEE Transactions on
Parallel and Distributed Systems 19 (2008) 4–14.
[22] L. Georgiadis, P. Jacquet, B. Mans, Bandwidth reservation in multihop
wireless networks: complexity and mechanisms, in: IEEE ICDCSW, 2004.
[23] A. Raniwala, K. Gopalan, T. Chiueh, Centralized channel assignment and
routing algorithms for multi-channel wireless mesh networks, ACM SIGMOBILE Mobile Computing and Communications Review 8 (2004) 50–65.
[24] Y.-Y. Chen, S.-C. Liu, C. Chen, Channel Assignment and Routing for
Multi-Channel Wireless Mesh Networks Using Simulated Annealing, in:
IEEE GLOBECOM, 2006.
41
[25] C. Cicconetti, V. Gardellin, L. Lenzini, E. Mingozzi, PaMeLA: A Joint
Channel Assignment and Routing algorithm for multi-radio multi-channel
Wireless Mesh Networks with grid topology, in: IEEE MASS, 2009.
[26] L. Bononi, M. Di Felice, A. Molinaro, S. Pizzi, M. Italian, A cross-layer
architecture for effective channel assignment with load-balancing in multiradio multi-path wireless mesh networks, International Journal of Communication Systems 22 (2009) 1267–1296.
[27] A. Rad, V. Wong, Cross-Layer Fair Bandwidth Sharing for Multi-Channel
Wireless Mesh Networks, IEEE Transactions on Wireless Communications
7 (2008) 3436–3445.
[28] M. Alicherry, R. Bhatia, L. E. Li, Joint Channel Assignment and Routing
for Throughput Optimization in Multiradio Wireless Mesh Networks, IEEE
Journal on Selected Areas in Communications 24 (2006) 1960–1971.
[29] M. Kodialam, T. Nandagopal, Characterizing the capacity region in multiradio multi-channel wireless mesh networks, in: ACM MobiCom, 2005.
[30] X. Meng, K. Tan, Q. Zhang, Joint routing and channel assignment in
multi-radio wireless mesh networks, in: IEEE ICC, 2006.
[31] X.-Y. Li, A. Nusairat, Y. Wu, Y. Qi, J. Zhao, X. Chu, Y. Liu, Joint
Throughput Optimization for Wireless Mesh Networks, IEEE Transactions
on Mobile Computing 8 (2009) 895–909.
[32] X. Wang, J. Garcia-Luna-Aceves, Distributed joint channel assignment,
routing and scheduling for wireless mesh networks, Elsevier Computer
Communications 31 (2008) 1436–1446. Special Issue: Resource Management and routing in Wireless Mesh Networks.
[33] A. Capone, G. Carello, I. Filippini, S. Gualandi, F. Malucelli, Routing,
scheduling and channel assignment in Wireless Mesh Networks: Optimization models and algorithms, Elsevier Ad Hoc Networks , Article In Press
(2009) DOI: 10.1016/j.adhoc.2009.11.003.
[34] J. Tang, G. Xue, W. Zhang, End-to-end rate allocation in multi-radio
wireless mesh networks: cross-layer schemes, in: ACM QShine, 2006.
[35] B. Raman, K. Chebrolu, D. Gokhale, S. Sen, On the Feasibility of the
Link Abstraction in Wireless Mesh Networks, IEEE/ACM Transactions on
Networking 17 (2009) 528–541.
[36] A. Iyer, C. Rosenberg, A. Karnik, What is the Right Model for Wireless
Channel Interference?, IEEE Transactions on Wireless Communications 8
(2009) 2662–2671.
[37] P. Gupta, P. Kumar, The capacity of wireless networks, IEEE Transactions
on Information Theory 46 (2000) 388–404.
[38] R. Gupta, J. Musacchio, J. Walrand, Sufficient rate constraints for QoS
flows in ad-hoc networks, Elsevier Ad Hoc Networks 5 (2007) 429–443.
42
[39] H. Zhai, Y. Fang, Impact of Routing Metrics on Path Capacity in Multirate
and Multihop Wireless Ad Hoc Networks, in: IEEE ICNP, 2006.
[40] http://research.nii.ac.jp/∼uno/code/mace.htm.
[41] P. Mani, D. Petr, Clique Number vs. Chromatic Number in Wireless Interference Graphs: Simulation Results, IEEE Communications Letters 11
(2007) 592–594.
[42] http://www-01.ibm.com/software/integration/optimization/cplex/.
[43] A. Capone, L. Fratta, F. Martignon, Dynamic online QoS routing schemes:
Performance and bounds, Elsevier Computer Networks 50 (2006) 966–981.
[44] A. Subramanian, H. Gupta, S. Das, J. Cao, Minimum Interference Channel
Assignment in Multiradio Wireless Mesh Networks, IEEE Transactions on
Mobile Computing 7 (2008) 1459–1473.
[45] B. Peng, A. Kemp, S. Boussakta, Impact of network conditions on QoS
routing algorithms, in: IEEE CCNC, 2006, volume 1, pp. 25 – 29.
[46] R. Jain, The Art of Computer Systems Performance Analysis: Techniques
for Experimental Design, Measurement, Simulation and Modeling, John
Wiley and Sons, 1991.
43