**1. Introduction**

Topology control1 in wireless mesh networks is an important problem due to the effects it has on the different layers of the protocol stack [1]. For example, the network connectivity, energy consumption, total physical-link throughput, spatial reuse, and total end-to-end throughput as a function of the network topology have been investigated in [2-6] respectively. In this chapter, we look at the problem of topology control for adapting the stability region of the link-scheduling policy of the network. Therefore, we start by defining the problem of link scheduling and the stability region.

The goal when designing link-scheduling policies is to achieve maximum throughput while making the policies amenable for implementation [7, 8]. Link scheduling refers to the selection of a subset of links for simultaneous transmission that have the following characteristic: When the links are activated simultaneously, the interference between them is low enough to allow successful reception for every activated link. A link-scheduling policy specifies the mechanism that determines, for every time slot, a subset of links that fits this characteristic. For example, consider the network and the link (,) *i j* shown in Figure 1. Let this network operate under the frame structure shown in Figure 2. Therefore, in the network, time is divided into frames; each frame is divided into a control subframe and a data subframe, and each subframe is further divided into a series of time slots. Whenever link (,) *i j* is activated by the link-scheduling policy during a data-time slot, the link transmits a data packet. In order for the packet to be received successfully, none of the links that interfere with (,) *i j* can be active while (,) *i j* is active. Otherwise, the packet transmitted by node *i* is not received successfully by node *j* . This is known as a packet collision at

<sup>1</sup>In this chapter, topology control refers to the problem of controlling the creation and elimination of wireless links and the interference between them by controlling the transmission power of the nodes.

<sup>© 2012</sup> Vejarano, licensee InTech. This is an open access chapter distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. © 2012 The Author(s). Licensee InTech. This chapter is distributed under the terms of the Creative Commons Attribution License http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

node *j* , i.e., the packet transmitted over (,) *i j* collides with the packet transmitted over the interfering link. The set of links that interfere with (,) *i j* is denoted by (,) *i j* in Figure 1. Therefore, when (,) *i j* is active, none of the links in (,) *i j* can be active. Given that every link has a set of interfering links, only subsets of the set of all links in the network can be active at a given time. The task of the link scheduling policy is to select one of these subsets for every data-time slot. This selection is done by exchanging control information during the control-time slots.

Stability-Based Topology Control in Wireless Mesh Networks 23

packet's destination. If it is, the packet is no longer stored in any queue and leaves the network2. If it is not, it starts the link-scheduling process again in order to forward the

When designing a link-scheduling policy, the goal is to support the largest set of data-packet rates for all the flows established in the network, and this should be done while guarantee-

Packet collisions need to be avoided in order to guarantee the completeness of the information being delivered to the user. Given the limited amount of memory that nodes have, the queue lengths need to be guaranteed not to grow indefinitely. Otherwise, the nodes will drop data packets when they have run out of memory to store the packets while the transmission schedules are being determined. The fairness among data flows guarantees that each flow is assigned some part of the total capacity of the network to transport infor-

The mathematical formulation of this problem is based on Markovian systems [9]. In order to do this formulation, the following definitions for each node's queues need to be

the nodes that have links with node *<sup>j</sup>* . Therefore, *<sup>j</sup> Qi* is the total number of packets stored in node *j* 's 1-hop neighbors that need to be forwarded to node *j* and that are waiting to be scheduled, and *<sup>j</sup> Qo* is the maximum number of scheduled packets waiting to be forwarded to node *j* among all of *<sup>j</sup>* 's 1-hop neighbors4. The time indexes *n* and *mn* represent the th *<sup>n</sup>*

2Actually, node *j* sends the data packet to its application layer so that the packet's content can be finally delivered to

3It should be noted that there is not an absolute definition for fairness. For example, the network operator may be interested in assigning the same maximum data-packet rates to all flows or different maximum rates to different flows

<sup>4</sup>The actual length of *<sup>j</sup> Qo* has a more involved definition. However, for the sake of clarity, we do not consider the exact

*<sup>j</sup>* is the set of 1-hop neighbors of node *j* . These are

packet to the next node in the data flow's path.

**Figure 3.** Data-packet transmissions over links (,) *i j* and (,) *j i*

A given level of fairness is guaranteed for all the flows

ing the following conditions:

mation3.

the user.

 There are no packet collisions The queues do not grow indefinitely

considered first. In Equations 1 and 2, 1

depending on the demands of the users.

definition until Section 4.2.1.

**Figure 1.** Interfering Links

**Figure 2.** Frame Structure

Besides considering the interfering link sets of every link, the link-scheduling policy needs to consider the queue length of every link. In a wireless mesh network, when data packets are being transported over the flow's path, the links that form the path need to store the packets temporarily from the moment the node receives the packet until the moment the node forwards the packet to the next node in the path. Therefore, each link maintains queues of data packets for every flow that it belongs to. This is shown in Figure 3, which includes the queues of both link (,) *i j* and link (,) *j i* . Each link has two queues. These are the input and output queues, which are denoted by (,) *i j Qi* and (,) *i j Qo* respectively for link (,) *i j* . When node *i* receives a data packet that needs to be forwarded to node *j* , it stores the packet in (,) *i j Qi* first. Then, it exchanges control packets with neighboring nodes in order to determine the data subframe and data-time slot when the data packet can be transmitted to node *j* without collisions. This is done according to the link-scheduling policy of the network. Once the transmission schedule of the data packet has been determined, the packet is moved to (,) *i j Qo* where it waits for the data-time slot scheduled for its transmission. Finally, node *i* forwards the packet to node *j* at the scheduled data-time slot. At this point, the packet leaves (,) *i j Qo* . When node *j* receives the data packet, it checks whether it is the packet's destination. If it is, the packet is no longer stored in any queue and leaves the network2. If it is not, it starts the link-scheduling process again in order to forward the packet to the next node in the data flow's path.

**Figure 3.** Data-packet transmissions over links (,) *i j* and (,) *j i*

When designing a link-scheduling policy, the goal is to support the largest set of data-packet rates for all the flows established in the network, and this should be done while guaranteeing the following conditions:

There are no packet collisions

22 Wireless Mesh Networks – Efficient Link Scheduling, Channel Assignment and Network Planning Strategies

control-time slots.

**Figure 1.** Interfering Links

**Figure 2.** Frame Structure

node *j* , i.e., the packet transmitted over (,) *i j* collides with the packet transmitted over the interfering link. The set of links that interfere with (,) *i j* is denoted by (,) *i j* in Figure 1. Therefore, when (,) *i j* is active, none of the links in (,) *i j* can be active. Given that every link has a set of interfering links, only subsets of the set of all links in the network can be active at a given time. The task of the link scheduling policy is to select one of these subsets for every data-time slot. This selection is done by exchanging control information during the

Besides considering the interfering link sets of every link, the link-scheduling policy needs to consider the queue length of every link. In a wireless mesh network, when data packets are being transported over the flow's path, the links that form the path need to store the packets temporarily from the moment the node receives the packet until the moment the node forwards the packet to the next node in the path. Therefore, each link maintains queues of data packets for every flow that it belongs to. This is shown in Figure 3, which includes the queues of both link (,) *i j* and link (,) *j i* . Each link has two queues. These are the input and output queues, which are denoted by (,) *i j Qi* and (,) *i j Qo* respectively for link (,) *i j* . When node *i* receives a data packet that needs to be forwarded to node *j* , it stores the packet in (,) *i j Qi* first. Then, it exchanges control packets with neighboring nodes in order to determine the data subframe and data-time slot when the data packet can be transmitted to node *j* without collisions. This is done according to the link-scheduling policy of the network. Once the transmission schedule of the data packet has been determined, the packet is moved to (,) *i j Qo* where it waits for the data-time slot scheduled for its transmission. Finally, node *i* forwards the packet to node *j* at the scheduled data-time slot. At this point, the packet leaves (,) *i j Qo* . When node *j* receives the data packet, it checks whether it is the


Packet collisions need to be avoided in order to guarantee the completeness of the information being delivered to the user. Given the limited amount of memory that nodes have, the queue lengths need to be guaranteed not to grow indefinitely. Otherwise, the nodes will drop data packets when they have run out of memory to store the packets while the transmission schedules are being determined. The fairness among data flows guarantees that each flow is assigned some part of the total capacity of the network to transport information3.

The mathematical formulation of this problem is based on Markovian systems [9]. In order to do this formulation, the following definitions for each node's queues need to be considered first. In Equations 1 and 2, 1 *<sup>j</sup>* is the set of 1-hop neighbors of node *j* . These are the nodes that have links with node *<sup>j</sup>* . Therefore, *<sup>j</sup> Qi* is the total number of packets stored in node *j* 's 1-hop neighbors that need to be forwarded to node *j* and that are waiting to be scheduled, and *<sup>j</sup> Qo* is the maximum number of scheduled packets waiting to be forwarded to node *j* among all of *<sup>j</sup>* 's 1-hop neighbors4. The time indexes *n* and *mn* represent the th *<sup>n</sup>*

<sup>2</sup>Actually, node *j* sends the data packet to its application layer so that the packet's content can be finally delivered to the user.

<sup>3</sup>It should be noted that there is not an absolute definition for fairness. For example, the network operator may be interested in assigning the same maximum data-packet rates to all flows or different maximum rates to different flows depending on the demands of the users.

<sup>4</sup>The actual length of *<sup>j</sup> Qo* has a more involved definition. However, for the sake of clarity, we do not consider the exact definition until Section 4.2.1.

time that at least one control packet is transmitted in the network and the control-time slot *mn* when this takes place.

$$\mathcal{Q}\_i^j(\mathfrak{n}) \stackrel{\Delta}{=} \sum\_{i \in \mathcal{S}\_1^j} \mathcal{Q}\_i^{(i,j)}(\mathcal{m}\_n) \tag{1}$$

Stability-Based Topology Control in Wireless Mesh Networks 25

s ss E[ ( 1) ( )| ( )] < 0 *i o io io V n V nV n* (4)

, ,,

should not be data-packet collisions and that data-flows are fairly serviced.

throughput.

network.

A network becomes unstable when the rate at which data flows input packets into the network increases to a point in which the link-scheduling policy is not able decrease queue lengths fast enough to guarantee the condition given by Equation 4. Therefore, the task of the link-scheduling policy is to maintain the network stable under the constraints that there

The performance of the link-scheduling policy in performing this task is measured in terms of the set of data-packet rates for which it guarantees that the network is stable. The largest set of data-packet rates supported by the link-scheduling policy is known as the stability region. In order to compare different link-scheduling policies, these are usually compared against the optimal stability region, which is the largest region that any policy can achieve7. This comparison is done using the concept of efficiency ratio, which is defined as the fraction of the optimal stability region in which a suboptimal link-scheduling policy guarantees the stability of the network. Therefore, an optimal link-scheduling policy has an efficiency ratio of unity. When the link-scheduling policy has an optimal efficiency ratio, the network is able to support the largest set of data-packet rates, and so it achieves maximum

The stability region of most link-scheduling policies depends on the interference sets of the links in the network. This can be observed, for example, in the following case that considers two links of a network. If the two links interfere with each other, only one of them can be active at a time. However, if they do not interfere with each other, they can be active simultaneously. Therefore, when they do not interfere, the links are able to support higher datapacket rates for the flows that they belong to, and this increases the size of the stability region. Given that the interference sets are determined from the network topology, i.e., from the relative distance between nodes and their transmission powers, the stability region can be modified by controlling the network topology. Therefore, for a given network with a given link-scheduling policy and a given set of end-to-end data flows, the stability region can be adapted by means of topology control in order to increase the data-packet rates supported by the links for the flows that they belong to. An example of this adaptation is shown in Figure 5. This example considers two flows. There are an initial stability region and a final stability region. The coordinates of the operating point indicate the data-packet rates of the two flows. Therefore, as the flows increase their data-packet rates, the operating point moves further away from the origin. Given that the operating point has not crossed the boundary of the initial stability region, the network is stable. After controlling the network topology, the stability region is modified such that the distance from the boundary of the region to the operating point is increased. Therefore, the final stability region allows the operating point to be moved further away from the origin without crossing the boundary. In this way, the flows are able to operate at higher data-packet rates without destabilizing the

7The optimal stability region and the link-scheduling policy that achieves it were characterized in [10].

$$Q\_v^j(n) \triangleq \max\_{i \in \mathcal{S}\_1^j} \{ Q\_v^{(i,j)}(m\_n) \} \tag{2}$$

Consider the following measure of the queue lengths of all links in the network, where is the set of all nodes in the network, and the indexes *i* and *o* indicate whether input or output queues are being considered.

$$V\_s^{i,o}(n) \triangleq \sum\_{j \in \mathcal{N}} (Q\_{i,o}^j(n))^2 \tag{3}$$

Intuitively, , <sup>s</sup> ( ) *i o V n* can be interpreted as a total volume occupied by all of the input or output queues5, depending on whether the index is *i* or *o* , and that is updated at every control-time slot in which there is at least one control-packet transmission. , <sup>s</sup> ( ) *i o V n* increases and decreases randomly in time. It increases due to the data packets that the flows input into the network, and it decreases when data packets reach their destination and leave the network. This is shown graphically in Figure 4, which includes a network of 7 nodes. The volume of the network, shown in circles, increases and decreases according to the queue lengths in the network.

**Figure 4.** Network stability

Based on the concept of , <sup>s</sup> ( ) *i o V n* , the stability of a network can be defined as follows. A network is stable if , <sup>s</sup> ( ) *i o V n* decreases to zero with some probability greater than zero at some finite future time *n m* , i.e., there is a probability that the volume of the network decreases to zero within some finite time independently of the current volume. It can be shown that this condition is met if the expectation that , <sup>s</sup> ( ) *i o V n* decreases is greater than zero [9]. Therefore, a network is stable if Equation 4 holds6.

<sup>5</sup>In the theory of Markovian processes [9], , <sup>s</sup> ( ) *i o V n* is known as a Lyapunov function.

<sup>6</sup> E[ | ] *X Y* denotes the expected value of *X* given *Y* .

Stability-Based Topology Control in Wireless Mesh Networks 25

$$\mathbb{E}[V\_s^{i,o}(n+1) - V\_s^{i,o}(n) \mid V\_s^{i,o}(n)] \le 0 \tag{4}$$

A network becomes unstable when the rate at which data flows input packets into the network increases to a point in which the link-scheduling policy is not able decrease queue lengths fast enough to guarantee the condition given by Equation 4. Therefore, the task of the link-scheduling policy is to maintain the network stable under the constraints that there should not be data-packet collisions and that data-flows are fairly serviced.

24 Wireless Mesh Networks – Efficient Link Scheduling, Channel Assignment and Network Planning Strategies

*mn* when this takes place.

output queues are being considered.

Intuitively, ,

lengths in the network.

**Figure 4.** Network stability

network is stable if ,

Based on the concept of ,

<sup>5</sup>In the theory of Markovian processes [9], ,

<sup>6</sup> E[ | ] *X Y* denotes the expected value of *X* given *Y* .

shown that this condition is met if the expectation that ,

[9]. Therefore, a network is stable if Equation 4 holds6.

time that at least one control packet is transmitted in the network and the control-time slot

1 () ( ) *j i j i in <sup>j</sup> <sup>i</sup> Qn Q m* 

1 ( ) { ( )} max *<sup>j</sup> i j o on <sup>j</sup> <sup>i</sup> Qn Q m* 

Consider the following measure of the queue lengths of all links in the network, where is the set of all nodes in the network, and the indexes *i* and *o* indicate whether input or

> , 2 s , ( ) ( ( )) *i o <sup>j</sup>*

*j V n Qn* 

output queues5, depending on whether the index is *i* or *o* , and that is updated at every

and decreases randomly in time. It increases due to the data packets that the flows input into the network, and it decreases when data packets reach their destination and leave the network. This is shown graphically in Figure 4, which includes a network of 7 nodes. The volume of the network, shown in circles, increases and decreases according to the queue

some finite future time *n m* , i.e., there is a probability that the volume of the network decreases to zero within some finite time independently of the current volume. It can be

<sup>s</sup> ( ) *i o V n* is known as a Lyapunov function.

control-time slot in which there is at least one control-packet transmission. ,

*i o*

<sup>s</sup> ( ) *i o V n* can be interpreted as a total volume occupied by all of the input or

<sup>s</sup> ( ) *i o V n* , the stability of a network can be defined as follows. A

<sup>s</sup> ( ) *i o V n* decreases is greater than zero

<sup>s</sup> ( ) *i o V n* decreases to zero with some probability greater than zero at

(,)

(,)

(1)

(2)

(3)

<sup>s</sup> ( ) *i o V n* increases

The performance of the link-scheduling policy in performing this task is measured in terms of the set of data-packet rates for which it guarantees that the network is stable. The largest set of data-packet rates supported by the link-scheduling policy is known as the stability region. In order to compare different link-scheduling policies, these are usually compared against the optimal stability region, which is the largest region that any policy can achieve7. This comparison is done using the concept of efficiency ratio, which is defined as the fraction of the optimal stability region in which a suboptimal link-scheduling policy guarantees the stability of the network. Therefore, an optimal link-scheduling policy has an efficiency ratio of unity. When the link-scheduling policy has an optimal efficiency ratio, the network is able to support the largest set of data-packet rates, and so it achieves maximum throughput.

The stability region of most link-scheduling policies depends on the interference sets of the links in the network. This can be observed, for example, in the following case that considers two links of a network. If the two links interfere with each other, only one of them can be active at a time. However, if they do not interfere with each other, they can be active simultaneously. Therefore, when they do not interfere, the links are able to support higher datapacket rates for the flows that they belong to, and this increases the size of the stability region. Given that the interference sets are determined from the network topology, i.e., from the relative distance between nodes and their transmission powers, the stability region can be modified by controlling the network topology. Therefore, for a given network with a given link-scheduling policy and a given set of end-to-end data flows, the stability region can be adapted by means of topology control in order to increase the data-packet rates supported by the links for the flows that they belong to. An example of this adaptation is shown in Figure 5. This example considers two flows. There are an initial stability region and a final stability region. The coordinates of the operating point indicate the data-packet rates of the two flows. Therefore, as the flows increase their data-packet rates, the operating point moves further away from the origin. Given that the operating point has not crossed the boundary of the initial stability region, the network is stable. After controlling the network topology, the stability region is modified such that the distance from the boundary of the region to the operating point is increased. Therefore, the final stability region allows the operating point to be moved further away from the origin without crossing the boundary. In this way, the flows are able to operate at higher data-packet rates without destabilizing the network.

<sup>7</sup>The optimal stability region and the link-scheduling policy that achieves it were characterized in [10].

Stability-Based Topology Control in Wireless Mesh Networks 27

shown to correspond to a maximum weighted matching (MWM), where the weights of the links are determined from the length of their queues. The solution to MWM has complexity <sup>3</sup> *O N*( ) [13, 14], where *N* is the number of nodes. Under the *k* -hop interference model, the problem has been proven to be NP-Hard [12]. Therefore, the optimal scheduling policy is not convenient for implementation due to its high complexity. As a consequence, less complex scheduling policies that achieve only a fraction of the optimal stability region for

The different suboptimal scheduling policies proposed in the literature can be classified according to the techniques they use to calculate the next schedule. These techniques usually depend on the interference model assumed for the network and the links' weights at the onset of every frame. Also, the suboptimal scheduling policies can be further classified according to their centralized or distributed mechanism (Unless otherwise specified, the scheduling policies reviewed in this section consider 1-hop traffic only, i.e., the data flows'

In [15], a centralized scheduling approach known as pick-and-compare [17] that achieves the optimal efficiency ratio is defined. The pick-and-compare scheduling policy selects the optimal schedule at every frame with some probability greater than zero. First, the scheduling algorithm randomly picks a new schedule such that the links can satisfy the interference model constraints. Then, the newly picked schedule is compared with the current schedule. If the picked schedule reduces the total weight of the network (i.e., queue lengths) more than the current schedule, then the picked schedule is selected as the next schedule; otherwise the current schedule is used again. The pick-and-compare policy requires the calculation and comparison of the updated total weight for every frame. Therefore, the complexity of this technique grows linearly with *N* , which makes it difficult to implement in networks with a high number of nodes or in networks where nodes have low processing capabilities.

Greedy maximal scheduling (GMS) is a suboptimal, centralized scheduling policy. In GMS, the links of the network are ordered according to their weights, where the link with maximum weight is placed at the top of this globally ordered list. A valid schedule is found by selecting links from the list from top to bottom that do not interfere with each other. The complexity of GMS is *OL N* ( log( )) , where *L* is the number of links [29]. GMS has efficiency ratio of 1/2 under the 1-hop interference model [7], and under the *k* -hop interference model, GMS has efficiency ratio of 1, 1/6, and 1/49 for tree, geometric, and general network graphs

A distributed version of the pick-and-compare scheduling policy was proposed in [19]. In this policy, a node is selected with some probability less than one to initiate the calculation of a schedule for the links in its neighborhood. The new schedule is selected for the next

general network topologies have been developed [12, 15-28].

paths have one link only.).

*2.1.1. Centralized policies* 

respectively [12, 27].

*2.1.2. Distributed policies* 

**Figure 5.** An example of stability-region adaptation

In the following, the operation and performance of the different link-scheduling policies is discussed. Special attention is given to reservation-based scheduling (RBDS) policies [8,11]. Then, based on the stability region of RBDS policies, the topology-control mechanisms are discussed.
