This article focuses on IEEE 802.16d-based WMNs, in which a set of MRs are connected with multi-hop wireless links to form a wireless backbone, which is then connected to the Internet through an IGW.

### 3.1 Network model

Given *n* randomly generated user locations *V* = [*v*_{1},..., *v*_{
n
}], and *m* randomly generated MR candidate locations {V}^{\prime}=\left[{v}_{1}^{\prime},...,{v}_{m}^{\prime}\right], according to the IEEE 802.16d mesh networking standard, assume that all the MC nodes are fixed and only one IGW is selected from these candidate locations. Assume that the user locations and the MR candidate locations satisfy the geographic and RF constraints.

We assume that the 802.16 OFDM modulation scheme is used between an MR and its local MCs. Thus, each MR employs omni-directional antenna for serving its local MCs. We assume the presence of single channel modulation scheme for the backbone. Thus, an MR uses either omni-directional or directional antenna for the backbone of the WMN. A directional antenna (also called a sectored antenna) is different from an omni-directional antenna in that it only transmits the signal in the range of a sector. Because it can concentrate on transmitting power in only a given direction, it can cover a longer range while the interference is limited to a smaller area than that of an omni-directional antenna. Let *Pl* be the maximum power of all the antennas used in the local network, and *PO* and *Pd*, respectively, be the maximum power of an omni-directional and a directional antenna used in the backbone network. In general, the local service antenna has a smaller transmission range, and the backbone service antenna has a larger transmission range, i.e., *P*_{
L
}< *P*_{
O
}< *P*_{
D
}.

In the MAC layer, we assume the TDMA scheme as specified by the 802.16d mesh mode, and is used for both the local and the backbone WMNs, and the link rate is set by the AMC scheme. In the TDMA scheme, time is partitioned into synchronized frames, which are composed of several equal duration time slots. Links are scheduled to maximize spatial reuse of the link bandwidth while avoiding any collision.

In a WMN, every MR aggregates traffic load from the local MCs. Then, the traffic is relayed between MRs in a multi-hop wireless fashion. As MCs do not communicate directly with each other, MRs form the backbone of a WMN. Unlike ad hoc networks where traffic is randomly distributed between peer nodes, the traffic in a WMN is predominantly directed from MRs toward IGW or from IGW to MRs, i.e., so-called internetwork traffic. We assume that every MC *i* has a maximum internetwork demand *q*_{
i
}. We consider maximum users' demand because the ultimate goal of network planning is to satisfy whatever a user may need. We also assume that a symmetric scheme is used in the transmission system, i.e., both downlink and uplink flows interfere in the same way. Thus, we only consider uplink flow demand, as it is easy to extend the system to the downlink flow demand.

### 3.2 MRP problem

In this subsection, we define the MRP problem as a cost minimization problem. Given internetwork demand *q*_{
i
}, ∀*i* ∈ *V*, MR candidate locations *V*^{'}, and the price of an MR and the price of a pair of directional antennas, the goal of MRP is to deploy MRs and directional antennas to meet users' traffic demand with minimum cost. Assume that the default cost of an MR includes two omni-directional antennas: one for local traffic and another for backbone traffic. The MRP problem can be defined as a mixed integer linear programming (MILP) as follows when a routing tree rooted on IGW is employed.

min\alpha \sum _{j=1}^{m}{x}_{j}+\beta \sum _{j=1}^{m}{x}_{j}{y}_{j},

(1)

with the conditions:

\sum _{j=1}^{m}{z}_{ij}=1\phantom{\rule{1em}{0ex}}\forall i\in V,j\in {V}^{\prime},

(2)

{q}_{i}\underset{-}{<}{r}_{ij}\underset{-}{<}{C}_{max}\phantom{\rule{1em}{0ex}}\forall i\in V,j\in {V}^{\prime},

(3)

\sum _{i=1}^{n}{q}_{i}{z}_{ij}={R}_{j}\underset{-}{<}\phantom{\rule{2.77695pt}{0ex}}{R}_{max}\phantom{\rule{1em}{0ex}}\forall j\in {V}^{\prime}

(4)

and

{\widehat{Q}}_{k}+\widehat{{C}_{k}^{\prime}}\underset{-}{<}{\u0108}_{k}\underset{-}{<}{\u0108}_{max}\phantom{\rule{1em}{0ex}}\forall k\in {V}^{\prime},

(5)

where

*α*: cost of an MR using omni-directional antenna;

*β*: cost increase of an MR using directional antennas;

\begin{array}{c}{x}_{j}=\left\{\begin{array}{c}1\mathsf{\text{ifanMRisinstalledatposition}}j,\\ 0\mathsf{\text{otherwise}};\end{array}\right.\\ {y}_{j}=\left\{\begin{array}{c}1\mathsf{\text{ifadirectionalantennaisusedbyMR}}j,\\ 0\mathsf{\text{otherwise}};\end{array}\right.\\ {z}_{ij}=\left\{\begin{array}{c}1\mathsf{\text{ifuser}}i\mathsf{\text{isservedbyMR}}j,\\ 0\mathsf{\text{otherwise}};\end{array}\right.\end{array}

*q*_{i}: maximum traffic demand of user *i*;

*r*_{
ij
}: transmission rate between user *i* and MR *j*;

*C*_{max}: maximum link capacity of a local access antenna;

*R*_{j}: local coverage of MR *j*;

*R*_{
max
}: maximum local coverage of an MR;

{\widehat{Q}}_{k}: aggregate backbone traffic of MR *k*, where

{\widehat{Q}}_{k}=\sum _{j=1}^{m}{\widehat{Q}}_{j}{h}_{jk}+{Q}_{k},

(6)

{h}_{jk}=\left\{\begin{array}{c}1\mathsf{\text{ifthetrafficofMR}}j\mathsf{\text{goesthroughMR}}k,\\ 0\mathsf{\text{otherwise}};\end{array}\right.

*Q*_{
k
}: locally generated traffic of MR *k*;

\widehat{{C}_{k}^{\prime}}: wasted capacity of MR *k* because of interference from other MRs, where

\widehat{{C}_{k}^{\prime}}=\left(\sum _{{l}_{ij}\in {\Gamma}_{k}}\frac{{\widehat{Q}}_{i}}{{r}_{ij}}{h}_{ij}\right)\cdot {r}_{kl}\cdot {h}_{kl},

(7)

where Γ_{
k
}is the set of links that interfere MR *k* and MR *l* is the uplink MR of MR *k*;

*Ĉ*_{
k
}: backbone uplink capacity ofaggregate backbone traffic MR *k*;

*Ĉ*_{max}: maximum backbone link capacity of a backbone access antenna with AMC.

Equation 1 is our objective function that minimizes the total cost of MRs and additional directional antennas deployed. Equations 2 and 3 guarantee that each MC *i* can be served by one MR, and its demand *q*_{
i
}can be supported by the transmission rate *r*_{
ij
}that is smaller than the maximum link capacity *C*_{
L
}with AMC between MC *i* and MR *j*. Equation 4 guarantees that all locally generated users' demand could be fully covered by the MRs deployed. Equation 5 guarantees that every MR j can relay inter-MR traffic and support locally generated traffic through its backbone capacity *Ĉ*_{
k
}with interference from other nearby MRs. This constraint of Equation 5 is highly related to the locations of MRs, how a routing path is selected for relaying traffic between MRs and IGW, and the MAC layer scheduling with spatial reuse constraint. *Ĉ*_{
k
}, the uplink capacity of MR *k*, is determined by the distance between MR *k* and its uplink MR based on AMC. As expressed in Equation 6, {\widehat{Q}}_{k}, the aggregate traffic of MR k, i.e., the sum of all the transit traffic and locally generated traffic, depends on the routing algorithm, which determines the value of *h*_{
jk
}. Finally, \widehat{{C}_{k}^{\prime}}, the wasted capacity of MR *k*, is determined by the MAC layer scheduling scheme based on the spatial reuse according to the routing tree constructed by the routing algorithm.

The MRP problem as defined in Equation 1 is a cross-layer design problem, which involves equipment cost, antenna type used, wireless AMC, network routing and MAC scheduling. Such an interrelated MILP problem is NP hard [17]. This motivates us to find an effective approach to handle this problem.

In order to solve the MRP problem, we use three novel performance metrics to capture the multi-layer design consideration for the local network and the backbone network: *Local Coverage* (*LC*), *Backbone Residual Capacity* (*BRC*), and *Deployment Cost* (*DC*). *LC* denotes the users' demand that can be covered by an MR with an AMC wireless link, which can be used to evaluate the contribution of an MR to fulfill Equation 4. *BRC* calculates the residual backbone capacity that can support more users' demand originated from a newly deployed MR. Since the internetwork traffic must be routed hop-by-hop to the IGW, it consumes bandwidth of many links and cause interference among links. *BRC* captures the effect of Equation 5 as it considers the synergy effect of AMC, MAC scheduling, and routing because the chosen location for placing an MR determines the link rate with AMC, while the routing path between the MR and IGW consumes the capacities of the path links, which further interferes with links in its neighborhood, and thus the MAC layer must schedule the links to prevent transmission collision. *DC* can help us evaluate the tradeoff between using directional antennas that increase the backbone capacity or just deploying an MR using omni-directional antenna to save cost while deploying MR. It provides us a vehicle to optimize the cost of the MRP problem indicated in Equation 1.

With these three metrics, we develop a heuristic algorithm to resolve the MRP. First, given a user demand vector, we can use some existing IGW selection scheme, such as the one given in [9], to place an IGW at one of MR candidate locations. Second, with or without directional antennas, we deploy an MR at a selected location with a maximal utility value. Then, we check if all users' demand have been met. If not, add an additional MR that can meet the residual users' demand. The process is repeated until either all users' demand is met or the algorithm fails.

### 3.3 Cross-layer design

Our cross-layer design contains two major parts: the local network and the backbone network. In the local network, we try to satisfy all local users' demand with a minimal number of MRs. In the backbone network, we must ensure all the MRs have sufficient bandwidth to forward their traffic hop-by-hop to the IGW through a MAC scheduling algorithm and a good routing tree. This subsection first discusses the AMC model in the physical layer and a tree-based minimum cost routing (TMCR) in the network layer. Then, we do the MAC layer scheduling based on the AMC and TMCR.

#### • Physical layer

In the PHY layer, what we care about is the transmission quality and the link rate. In the measurement-based deployment, the received signal strength (RSS) is measured for each candidate MR using the path loss model [13] as given in Equation 8. The path loss model describes the attenuation experienced by a wireless signal as a function of distance. The signal power decays exponentially with the distance. Given a reference signal strength *P*_{
dBm
}(*d*_{
0
}) at distance *d*_{
0
}, the RSS at distance *d* is given as

{P}_{dBm}\left(d\right)={P}_{dBm}\left({d}_{0}\right)-10\gamma {log}_{10}\left(\frac{d}{{d}_{0}}\right)+\u03f5,

(8)

where γ is the path loss exponent, and *ε* is the shadowing term.

With a given transmission power, higher rate modulation requires a higher RSS or a shorter transmission distance between two nodes. In order to increase the link capacity while maintaining transmission quality, the AMC technique is used at the physical layer that improves the data transmission rate. To estimate the link rates of the local and the backbone networks, we apply the distance between two nodes using Equation 8 to obtain the RSS first. Then, the RSS is applied into the 802.16 AMC table given in [34] to select an appropriate modulation scheme and thus the corresponding raw bit rate.

#### • Network layer

A multi-hop wireless network must have a routing scheme that selects a path to relay packets between IGW and MRs. The shortest path routing and the minimum hop routing (e.g., AODV) are two popular routing schemes. However, different routing schemes are suitable for different networks, such as ad hoc networks, sensor networks, and stationary networks, such as WMNs. Routing has been primarily designed to maintain connectivity for ad hoc networks or sensor networks, whereas it is more important to maximize the network throughput for WMNs.

We define the distance between two links as the shortest distance between two opposite end nodes. As shown in Figure 1, four possible distances between two opposite end nodes of links *l*_{
jk
}and *l*_{
lm
}are *d*(*j*, *l*), *d*(*j*, *m*), *d*(*k*, *l*), and *d*(*k*, *m*). Then, in this case, the distance between links *l*_{
jk
}and *l*_{
lm
}equals to *d*(*k*, *m*), i.e., the shortest among the four. Interference occurs when the distance between two links is smaller than the transmission range of an MR. Next, we define the degree of interference for link *l*_{
jk
}, denoted as *I*_{
jk
}, as the number of links that are restrained from transmitting because of the interference caused by the transmitting of link *l*_{
jk
}. As shown in Figure 2, the degree of interference for link *l*_{1,2} is 5, since there are five links, i.e., *l*_{3,4}, *l*_{5,6}, *l*_{7,8}, *l*_{9,10}, and *l*_{11,12}, are interfered by the transmission of link *l*_{1,2} and thus are restrained from transmission. In Figure 2, the transparent and shaded circles show the transmission ranges of MR 1 and MR 2, respectively. Conversely, link *l*_{1,2} is restrained from transmission when any one of the interfered links, i.e., *l*_{3,4}, *l*_{5,6}, *l*_{7,8}, *l*_{9,10}, or *l*_{11,12}, is transmitting.

We define the cost of the link between MR *j* and MR *k* as

Cos{t}_{jk}={I}_{jk}/{r}_{jk},

(9)

where *I*_{
jk
}is the degree of interference that interfere link *l*_{
jk
}and *r*_{
jk
}is its link rate. Thus, *Cost*_{
jk
}represents the time duration of interference incurred when transmitting a unit of data over the link *l*_{
jk
}. The larger *r*_{
jk
}is, the shorter will be the transmission time for a data packet, and hence, the shorter the blocking time will be for other links in link *l*_{
jk
}'s collision domain. Also, the smaller *I*_{
jk
}is, the fewer number of links is interfered by the link *l*_{
jk
}, and the shorter will be the aggregate blocking time.

In this study, we use a routing scheme, called TMCR, for the backbone relay traffic. TMCR works similar to that in [35], but considers both the capacity and the degree of interference along the path. Thus, TMCR selects a path with the minimum interference capacity. The goal of TMCR is to minimize the aggregate cost along a routing path. We define the routing cost of an MR *l* as

COS{T}_{i}=\sum _{{l}_{jk}\in {P}_{i}}Cos{t}_{jk}=\sum _{{l}_{jk}\in {P}_{i}}\left({I}_{jk}/{r}_{jk}\right),

(10)

where *P*_{
l
}represents the routing path from MR *l* all the way to IGW. Thus, *COST*_{
l
}represents the backbone capacity consumed when a unit of data is transmitted on *P*_{
l
}.

**Algorithm 1** shows the TMCR algorithm. TMCR is a variant of the Prim's algorithm. It finds a minimum spanning tree using a greedy strategy based on *COST*_{
l
}. After TMCR terminates, a routing tree *T* is obtained.

#### • MAC layer

It is important to handle all users' demand evenly by nearby MRs. However, since all the internetwork traffic goes through the IGW, MRs closer to the IGW have shorter paths to the IGW and therefore consume less network resource than MRs farer away from the IGW. Thus, we shall give higher priority to MRs closer to the IGW when we assign users' demand to MRs. To achieve this goal, we define a weight-based link assignment (WLA) at the MAC layer. In WLA, we first sort MRs in an increasing order based on their routing cost, as defined in Equation 10. Then, we assign users' demand to MRs according to their order by the nearest neighborhood scheme, i.e., we assign user demand *q*_{
i
}to MR *j* whose *r*_{
ij
}is the largest while guaranteeing such an allocation is supported by the backbone. If the backbone cannot support such a user demand, then WLA terminates, which implies that the scheduling fails. **Algorithm 2** shows the procedure for WLA.

As MR is deployed incrementally, the routing tree also changes accordingly. Thus, WLA must be repeated for every MR added. With such a dynamic allocation, we are able to achieve close-to-optimal assignment while ensuring the feasibility of the MRP.

### 3.4 Performance metrics

On the MRP problem, it is hard to solve Equation 1 while satisfying Equations 4 and 5 because of interference. In this subsection, based on the concept of collision domain, we first consider the upper bound for the capacity of a WMN. Then, we introduce two performance metrics: local coverage (*LC*) and backbone residual capacity (*BRC*). Using these two metrics, we can quantify the degree of their contribution when deploying an MR both in the users' demand coverage and in the backbone. Then, we present a novel heuristic algorithm based on the metrics for MRP.

#### • WMN capacity upper bound

Evaluating the upper bound *C*_{
wmn
}for the capacity in a WMN is important for the network planning. It indicates how well users' demand can be satisfied. To estimate *C*_{
wmn
}, this study utilizes the heuristic of [22] which utilizes the concept of collision domain (CD), and then the most congested CD, called BCD, is identified and used to compute *C*_{
wmn
}.

A CD covers a set of nodes which should not transmit or receive any data at the same time so as to avoid the mutual interference. To demonstrate how *C*_{
wmn
}of a WMN is computed, a chain topology of Figure 3, taken from [22], is used as an example. Here, every node has a demand of 1*G* to gateway. The CD centered at link 2-3 contains links 1-2, 2-3, 3-4, and 4-5. When the link 2-3 is activated, the links in the 2-3 CD cannot be active at the same time. With similar arguments, we can readily find out CDs of all the links, out of which the CD of link 2-3 contains the most link flows (4 + 5 + 6 + 7 + 8)*G* and hence is the BCD of the WMN. If each link in the collision domain of 2-3 cannot forward more than the nominal MAC layer capacity *B*, then the maximal throughput cannot exceed *C*_{
wmn
}= *B*/(4 + 5 + 6 + 7 + 8)*G* = *B*/30*G*.

Because all the traffic must be forwarded toward/from the IGW, IGW is the most heavily loaded CD in the network and often becomes the BCD of a WMN [36]. By analyzing the capacity of BCD, we can compute *C*_{
wmn
}of a WMN, by which we can decide if the backbone capacity is sufficient to support all the users. The BCD concept holds true for single channel. For multiple channel case, it is easy to iterate for *C*_{
wmn
}in a WMN. If each channel has the same characteristics, then it is simply *c* × *C*_{
wmn
}for *c* subchannels. However, for simplicity, we assume a single channel case, thereby enabling the use of only *C*_{
wmn
}.

#### • Local coverage

The location of an MR is very important for serving MCs. A user demand is satisfied when both the local and the backbone networks have sufficient capacities to handle. As per PHY layer property, if the distance between two nodes is shorter, then the transmission rate becomes large with AMC. Thus, if we want to enhance the backbone link quality, then we must reduce the transmission distance between the MRs. On the contrary, if we want to serve more MCs, then we should place an MR close to as many uncovered MCs as possible, i.e., extending the transmission distance between MRs. However, the local coverage metric (*LC*) simply considers serving as many MCs as it can.

The users' demand allocation not only must meet the link and local network constraints, respectively, in Equations 3 and 4, but ought to be supported by the backbone network as well as follows:

\Theta ={Q}_{IGW}+\sum _{j\in BCD}{Q}_{j}\le {C}_{wmn},

(11)

where *Q*_{
IGW
}and *Q*_{
j
}are the local demands of IGW and MR *j*, respectively. Equation 11 computes the total throughput of the mesh network Θ, which must be smaller than or equal to the network capacity *C*_{
wmn
}.

When the backbone capacity is large enough to support more users' demand, every newly added MR can cover more users' demand and hence contributes additional throughput. To evaluate the value of a candidate MR, the *Local Coverage (LC)* metric is used to represent the contribution of an MR in enhancing the network throughput. We define *R*_{(}_{
n
}_{)} as an increment to the network throughput when *n*^{th}MR is deployed:

{R}_{\left(n\right)}={\Theta}_{\left(n\right)}-{\Theta}_{\left(n-1\right)},

(12)

where Θ_{(n)}denotes the throughput of the WMN after the nth MR has been deployed. To determine the *n* th MR, the local coverage of every MR, denoted by Equation 4 as *R*_{
j
}for MR *j*, is calculated first. Apparently, it is beneficial to select the MR with the largest LC.

#### • Backbone residual capacity

Transmitting data in a wireless multi-hop network consumes substantial resources because of interference among the links. Thus, we must try to cover more users' demand while reducing resource consumption. Because we place MR one by one, it is necessary to compute how much residual resource is available for other unserved users. We define the *Backbone Residual Capacity* (*BRC*) metric that estimates the amount of backbone capacity available to serve un-assigned users' demand after placing an MR. *BRC* computes the residual capacity of all the links in the BCD, i.e., the CD of the IGW. Because all the data flows must be transmitted through the BCD, the resource in the BCD will be exhausted first. Thus, if *BRC* is larger, then more MCs far away from the IGW can be served.

**Algorithm 3** presents the *BRC* computation algorithm. The residual capacity of link *l*_{
jk
}, denoted as {\u0108}_{jk}^{r}, is its link capacity minus its current aggregated traffic load:

{\u0108}_{jk}^{r}={r}_{jk}-{\widehat{Q}}_{j}.

(13)

The total residual capacity in the BCD, denoted as *Ĉ*^{r}, is the sum of the residual capacity of each link in the BCD:

{\u0108}^{r}=\sum _{jk\in BCD}{\u0108}_{jk}^{r}=\sum _{jk\in BCD}\left({r}_{jk}-{\widehat{Q}}_{j}\right),

(14)

where *l*_{
jk
}means MR *k* is the uplink node of MR *j*. We denote {\u0108}_{j}^{r} as the total residual capacity if MR *j* is deployed.

When *Ĉ*^{r}is zero while some users' demand are still un-assigned, the WMN design either fails or omni-directional antennas for some MRs must be replaced by directional antennas so as to reduce the interference, and thus the link rate could be increased.