**4.1. Problem definition**

10 Will-be-set-by-IN-TECH

biconnectivity testing. The fact that *every link state is determined by two communication endpoints* enables us to detect connectivity errors by *monitoring* at the routing layer. If the backbone link state information is not available globally, distributed biconnectivity testing algorithms can be

The information required for radio coverage error detection is the radio signal strength *at every service location*. However, a communication endpoint at every service location does not exist. Therefore, radio coverage errors can not be detected by monitoring, as with the connectivity errors. Nevertheless, a method for detecting these errors is needed because the environmental dynamics affect the radio coverage. The radio coverage should be guaranteed

Our approach is to use a model-based assessment for detecting radio coverage errors at the physical layer. We use a radio propagation model for assessing the radio signal strength at every service location. This model has a tight relation to the propagation environment. We

In the state-of-the art assessment approaches the radio propagation models are static; meaning that they do not reflect the dynamics of the environment. The innovation of our approach is that the radio propagation model *automatically calibrates* to the real environment. *Radio model calibration* is the process of adjusting the model-parameters in such a way that the model reflects better a set of measurements from the actual propagation environment. *Radio coverage assessment* is the model-based estimation of the radio signal strength for the purpose of error detection. The radio model calibration method is out of scope of this chapter, but the reader

The system recovery transforms a system with errors to a system without errors. In our approach we use the same mechanism for recovery from radio coverage errors and for recovery from connectivity errors. This mechanism adds new base stations to the network. The new base stations improve the radio coverage by increasing the radio signal strength at the service locations. The new base stations also improve the connectivity by adding new links to the backbone network. Given a wireless mesh network with radio coverage and/or connectivity errors we have to decide how many base stations there is to install and and where to install them in order to correct the errors. For this purpose, we have developed an automatic

The error recovery includes automatic base station planning and manual reconfiguration (see figure 4). The management appliance runs the base station planning algorithm and gives instructions to the operating staff for the reconfiguration. The operating staff performs the

This section describes our algorithm for automatic base station planning. It starts with a problem definition for the base station planning, followed by an overview of our approach in section 4.2. The following sections define the details of the algorithm, namely the used link

use measurements from the wireless network for calibrating the model to the reality.

for every service location *before* a mobile station moves to those locations.

used (e.g. [34]).

*3.2.2. Radio coverage error detection*

can find a detailed description in [20, 23, 24].

base station planning algorithm (see section 4.

**4. Automatic base station planning**

reconfiguration which restores the redundancy of the services.

**3.3. System recovery**

The problem of the base station planning algorithm is to find a minimum number of base stations to be installed which transform a wireless mesh network with radio coverage errors and/or connectivity errors to a system without errors. The existing algorithms for this type of problem in wireless mesh networks are computationally intractable, or do not provide the required fault-tolerance (see section 2.2 for a discussion). The following input information is given to the base station planning algorithm:


The base station planning algorithm has to determine the number and positions of base stations to be installed such that:


The challenge of the defined problem is the connectivity requirement. The coverage requirement can be formally defined as a local property which depends only on the considered entities (e.g. a base station covers a service location). For the connectivity, the requirement is global. It includes all network paths among all pair of base stations. The existence of a path between two base stations depends not only on the considered base stations, but on the number and positions of all other base stations in the network. The fault-tolerance (biconnectivity) requirement increases the complexity of the problem. It has been shown that finding a minimum number of base stations for this type of problematic is an NP-complete problem. For this reason, we are looking for an approach, having a good balance between minimality and running time.

#### 12 Will-be-set-by-IN-TECH 214 Wireless Mesh Networks – Effi cient Link Scheduling, Channel Assignment and Network Planning Strategies Achieving Fault-Tolerant Network Topology in Wireless Mesh Networks <sup>13</sup>

### **4.2. Overview of the algorithm**

Our idea is to perform an optimization, satisfying a simple local network property which significantly affects the fulfillment of the global property (biconnectivity). This local property is the *minimum degree.* For the backbone (multi-hop) network, the *degree* of a base station is the number of links to other base stations. The minimum degree of the network is the least degree among all base stations. In graph theory, the minimum degree is a *necessary but not sufficient condition* for k-connectivity [9]. This means that a k-connected graph has a minimum degree of *k*, but a graph with minimum degree of *k* is not necessary k-connected. Formally, this rule applies to the backbone of wireless mesh networks. We consider both radio coverage and connectivity. The service locations are spread in some area (e.g. production hall). Hence, the probability that the necessary condition is also sufficient in mesh networks is significantly higher than the probability in graph theory. Therefore, our algorithm fulfills the local necessary condition and checks whether the global sufficient condition is also fulfilled. If not, the algorithm performs an incremental correction. The advantage of this approach is that it fulfills the connectivity requirement without increasing the complexity of the underlying optimization problem.

Optimization (necessary condition: local property - min. degree)

> Connectivity tesing (sufficient condition: global properties)

> > No

is common for all of them is the analysis of received Hello packets at the routing layer. The AWDS (Ad-hoc Wireless Distribution System) [1][17] routing software, for instance, identifies a link as existing if 10 consequent Hello packets in both directions are received correctly. A link is identified as non existing if 3 consequent Hello packets in either direction are not received. The radio signal strength is one of the main factors which determine the reception of the packets at the receiver [14, 35]. This means that if the RSS is too low, then the wireless adapter can not decode the frame correctly. Therefore, to model the existence of a link, we use a threshold model based on *ARSS*. If the average radio signal strength exceeds the threshold (*ARSS* ≥ *ARSSMin*), then a link exists, otherwise a link does not exist. Remember that our

There are other factors, influencing the packet loss and the link state (e.g. collision, radio interference). But the factor RSS is a *necessary condition* for successful frame decoding. In wireless mesh networks, it is one of the most influencing factors for the link state. This has been shown in our research in wireless mesh network routing [16–18], wireless network simulation and emulation [21]. Other researchers in our group are working on improving the link state model. They apply a data mining based approach for predicting the link state from

Our algorithm uses a minimization approach based on binary search for finding the minimum number of base stations (*BSmin*) which satisfies the optimization criteria. It searches iteratively

Solution is found

fault-tolerance approach ensures that *ARSS* ≥ *ARSSMin* + Δ*ARSS*.

Yes

Does the graph satisfy the global connectivity requirements?

Achieving Fault-Tolerant Network Topology in Wireless Mesh Networks 215

Graph consolidation

**Figure 5.** Base station planning algorithm

various network monitoring information [28].

**4.4. Optimization**

*4.4.1. Minimization approach*

The algorithm operates in three steps: optimization, connectivity testing, and graph consolidation (figure 5). The optimization step finds an optimal solution for the optimization criteria. The optimization criteria are the radio coverage requirement and the *necessary condition for the connectivity* (the local property min. degree). The optimization uses the radio propagation model and the link state model. The connectivity testing step tests the resulted graph for biconnectivity (the sufficient condition). If the sufficient condition is true, the algorithm finishes. Otherwise the algorithm performs a graph consolidation step. The consolidation step maps biconnected parts of the to a single vertex. After the consolidation, the algorithm continues with the optimization step which is done based on the consolidated graph. After a few (expected 1-3) iterations, the algorithm produces a solution that satisfies the coverage requirements.

#### Example

The optimization step has produced a graph with minimum degree 2 (figure 6A) according to the necessary condition. This graph does not satisfy the biconnectivity requirements (one edge and two vertices exist whose removal disconnect the graph). The consolidation step identifies two sub-graphs which are biconnected, and maps them to vertices (figure 6B). Note that after the consolidation, the minimum degree of the graph is 1. Then the optimization step places a new base station, such that the consolidated graph plus the new vertex result in a graph with minimum degree of 2 (figure 6C). Finally, the deconsolidated graph satisfies the biconnectivity requirements.

#### **4.3. Link state model**

This section defines the used link model which models the link state based on the radio signal strength. The used link model in this chapter considers the operation of an ad-hoc routing protocol. We have shown in [17] that the communication in a mesh network is possible only if the links have some quality level.

The routing protocols determine the state of a link by analyzing the periodically received Hello packets from the neighbors. Depending on the mobility and the required stability of a link, different approaches for determining the link state at the routing layer exist [28, 31, 42]. What 214 Wireless Mesh Networks – Effi cient Link Scheduling, Channel Assignment and Network Planning Strategies Achieving Fault-Tolerant Network Topology in Wireless Mesh Networks <sup>13</sup> Achieving Fault-Tolerant Network Topology in Wireless Mesh Networks 215

**Figure 5.** Base station planning algorithm

12 Will-be-set-by-IN-TECH

Our idea is to perform an optimization, satisfying a simple local network property which significantly affects the fulfillment of the global property (biconnectivity). This local property is the *minimum degree.* For the backbone (multi-hop) network, the *degree* of a base station is the number of links to other base stations. The minimum degree of the network is the least degree among all base stations. In graph theory, the minimum degree is a *necessary but not sufficient condition* for k-connectivity [9]. This means that a k-connected graph has a minimum degree of *k*, but a graph with minimum degree of *k* is not necessary k-connected. Formally, this rule applies to the backbone of wireless mesh networks. We consider both radio coverage and connectivity. The service locations are spread in some area (e.g. production hall). Hence, the probability that the necessary condition is also sufficient in mesh networks is significantly higher than the probability in graph theory. Therefore, our algorithm fulfills the local necessary condition and checks whether the global sufficient condition is also fulfilled. If not, the algorithm performs an incremental correction. The advantage of this approach is that it fulfills the connectivity requirement without increasing the complexity of the underlying

The algorithm operates in three steps: optimization, connectivity testing, and graph consolidation (figure 5). The optimization step finds an optimal solution for the optimization criteria. The optimization criteria are the radio coverage requirement and the *necessary condition for the connectivity* (the local property min. degree). The optimization uses the radio propagation model and the link state model. The connectivity testing step tests the resulted graph for biconnectivity (the sufficient condition). If the sufficient condition is true, the algorithm finishes. Otherwise the algorithm performs a graph consolidation step. The consolidation step maps biconnected parts of the to a single vertex. After the consolidation, the algorithm continues with the optimization step which is done based on the consolidated graph. After a few (expected 1-3) iterations, the algorithm produces a solution that satisfies

The optimization step has produced a graph with minimum degree 2 (figure 6A) according to the necessary condition. This graph does not satisfy the biconnectivity requirements (one edge and two vertices exist whose removal disconnect the graph). The consolidation step identifies two sub-graphs which are biconnected, and maps them to vertices (figure 6B). Note that after the consolidation, the minimum degree of the graph is 1. Then the optimization step places a new base station, such that the consolidated graph plus the new vertex result in a graph with minimum degree of 2 (figure 6C). Finally, the deconsolidated graph satisfies the

This section defines the used link model which models the link state based on the radio signal strength. The used link model in this chapter considers the operation of an ad-hoc routing protocol. We have shown in [17] that the communication in a mesh network is possible only

The routing protocols determine the state of a link by analyzing the periodically received Hello packets from the neighbors. Depending on the mobility and the required stability of a link, different approaches for determining the link state at the routing layer exist [28, 31, 42]. What

**4.2. Overview of the algorithm**

optimization problem.

the coverage requirements.

biconnectivity requirements.

if the links have some quality level.

**4.3. Link state model**

Example

is common for all of them is the analysis of received Hello packets at the routing layer. The AWDS (Ad-hoc Wireless Distribution System) [1][17] routing software, for instance, identifies a link as existing if 10 consequent Hello packets in both directions are received correctly. A link is identified as non existing if 3 consequent Hello packets in either direction are not received.

The radio signal strength is one of the main factors which determine the reception of the packets at the receiver [14, 35]. This means that if the RSS is too low, then the wireless adapter can not decode the frame correctly. Therefore, to model the existence of a link, we use a threshold model based on *ARSS*. If the average radio signal strength exceeds the threshold (*ARSS* ≥ *ARSSMin*), then a link exists, otherwise a link does not exist. Remember that our fault-tolerance approach ensures that *ARSS* ≥ *ARSSMin* + Δ*ARSS*.

There are other factors, influencing the packet loss and the link state (e.g. collision, radio interference). But the factor RSS is a *necessary condition* for successful frame decoding. In wireless mesh networks, it is one of the most influencing factors for the link state. This has been shown in our research in wireless mesh network routing [16–18], wireless network simulation and emulation [21]. Other researchers in our group are working on improving the link state model. They apply a data mining based approach for predicting the link state from various network monitoring information [28].

#### **4.4. Optimization**

#### *4.4.1. Minimization approach*

Our algorithm uses a minimization approach based on binary search for finding the minimum number of base stations (*BSmin*) which satisfies the optimization criteria. It searches iteratively

14 Will-be-set-by-IN-TECH 216 Wireless Mesh Networks – Effi cient Link Scheduling, Channel Assignment and Network Planning Strategies Achieving Fault-Tolerant Network Topology in Wireless Mesh Networks <sup>15</sup>

**Algorithm 1** Objective function of the optimization step

Coverage = Model.RadioCoverage(X, Y, Z); Connectivity = Model.BSDegree(X, Y, Z);

Coverage(find(Coverage < Nlm)));

+ mean(Connectivity)

Connectivity(find(Connectivity < Nbb)));


The service locations, defined by their coordinates, are stored in the set *SL*.

the calibrated radio propagation model and the link state model.

similar. The objective function should be maximized.


Achieving Fault-Tolerant Network Topology in Wireless Mesh Networks 217

From the values of the variables (*X*,*Y*, *Z*)*BS* the radio coverage model provides the radio coverage by the function *Model*.*RadioCoverage*((*X*,*Y*, *Z*)*BS*). The result is a vector. For every service location in the set *SL*, it contains the number of base stations that cover this service location. The calculation is based on the calibrated radio propagation model. • Connectivity model: *Model*.*BSDegree*((*X*,*Y*, *Z*)*BS*). The result is a vector. For every base station, it contains the number of links to other base stations. The calculation is based on

The objective function (Matlab pseudo code in algorithm 1) influences the solution in a direction which satisfies the optimization criteria (the coverage requirements and the necessary condition for connectivity). In addition, the objective function maximizes the mean radio coverage degree and the mean backbone degree. The radio coverage degree is the number of base stations covering a service location. From the input coordinates, the radio coverage model and the link state model, the function calculates the radio coverage degree and the backbone degree. For base stations which have less than *Nbb* = 2 links to other base stations, the function calculates the backbone shortfall. This is the sum of the differences between the required and the current degree over all base stations. The shortfall is weighted by a backbone penalty factor and subtracted by the objective function. The penalty factor is a relatively large number, compared to the mean values which influences the solution to a direction of a zero shortfall. The processing for the radio coverage links is

In order to solve this optimization problem, we apply an optimization method. Specially for this problem is that the objective function can not be differentiated. This is because the objective function, can not be represented as an algebraic function of only the optimization

function Objective (X, Y, Z)

ShortfallCoverage = sum(Nlm -

Objective = mean(Coverage)

ShortfallConnectivity = sum(Nbb -

PenaltyCoverage = 50; PenaltyConnectivity = 100;

{

}

• Service locations

• Radio coverage model

• Objective function

*4.4.3. Optimization problem solving*

**Figure 6.** Example operation of the base station planning algorithm

the interval between a lower bound *BSlow* and an upper bound *BSup*. At each iteration, the algorithm chooses the middle of the interval as a current value for *BS* and determines whether a solution is possible by solving an optimization problem. If the solution satisfies the optimization criteria, then the algorithm decreases *BS* by searching the lower half of the interval, otherwise it increases *BS* by searching the upper half of the interval. Finally, the algorithm finds a minimum value for *BS* which satisfies the optimization criteria.

#### *4.4.2. Optimization problem formulation*

The optimization performed at each iteration can be defined by the following:

• Variables

The optimization variables are the positions of the base stations (*X*,*Y*, *Z*)*BS*. We consider a typical multi-hop network, operating in a single frequency. Therefore, the frequency assignment is a constant for all base stations.

• Bounds

The variables have lower and upper bounds according to the candidate sites information, provided by the user. For instance, if the base stations are to be installed on the ceiling of a production hall with dimensions 200x300x6m, then the bounds are: 0 ≤ *X* ≤ 200, 0 ≤ *Y* ≤ 300,*Z* = 6. For the currently installed base stations, the lower and upper bounds are equal to the base stations coordinates. In this way, they are considered in the solution, but are not relocated by the algorithm.

```
Algorithm 1 Objective function of the optimization step
```

```
function Objective (X, Y, Z)
{
PenaltyCoverage = 50;
PenaltyConnectivity = 100;
Coverage = Model.RadioCoverage(X, Y, Z);
Connectivity = Model.BSDegree(X, Y, Z);
ShortfallCoverage = sum(Nlm -
      Coverage(find(Coverage < Nlm)));
ShortfallConnectivity = sum(Nbb -
      Connectivity(find(Connectivity < Nbb)));
Objective = mean(Coverage)
            + mean(Connectivity)
            - PenaltyCoverage*ShortfallCoverage
            - PenaltyConnectivity*ShortfallConnectivity;
```
}

14 Will-be-set-by-IN-TECH

2 3

Deconsolidation Deconsolidation

the interval between a lower bound *BSlow* and an upper bound *BSup*. At each iteration, the algorithm chooses the middle of the interval as a current value for *BS* and determines whether a solution is possible by solving an optimization problem. If the solution satisfies the optimization criteria, then the algorithm decreases *BS* by searching the lower half of the interval, otherwise it increases *BS* by searching the upper half of the interval. Finally, the

The optimization variables are the positions of the base stations (*X*,*Y*, *Z*)*BS*. We consider a typical multi-hop network, operating in a single frequency. Therefore, the frequency

The variables have lower and upper bounds according to the candidate sites information, provided by the user. For instance, if the base stations are to be installed on the ceiling of a production hall with dimensions 200x300x6m, then the bounds are: 0 ≤ *X* ≤ 200, 0 ≤ *Y* ≤ 300,*Z* = 6. For the currently installed base stations, the lower and upper bounds are equal to the base stations coordinates. In this way, they are considered in the solution,

algorithm finds a minimum value for *BS* which satisfies the optimization criteria.

The optimization performed at each iteration can be defined by the following:

Consolidation

**Figure 6.** Example operation of the base station planning algorithm

*4.4.2. Optimization problem formulation*

assignment is a constant for all base stations.

but are not relocated by the algorithm.

• Variables

• Bounds

B) After consolidation #1

C) After optimization #2 and deconsolidation

Consolidation

A) After optimization #1

1

• Service locations

The service locations, defined by their coordinates, are stored in the set *SL*.

• Radio coverage model

From the values of the variables (*X*,*Y*, *Z*)*BS* the radio coverage model provides the radio coverage by the function *Model*.*RadioCoverage*((*X*,*Y*, *Z*)*BS*). The result is a vector. For every service location in the set *SL*, it contains the number of base stations that cover this service location. The calculation is based on the calibrated radio propagation model.


The objective function (Matlab pseudo code in algorithm 1) influences the solution in a direction which satisfies the optimization criteria (the coverage requirements and the necessary condition for connectivity). In addition, the objective function maximizes the mean radio coverage degree and the mean backbone degree. The radio coverage degree is the number of base stations covering a service location. From the input coordinates, the radio coverage model and the link state model, the function calculates the radio coverage degree and the backbone degree. For base stations which have less than *Nbb* = 2 links to other base stations, the function calculates the backbone shortfall. This is the sum of the differences between the required and the current degree over all base stations. The shortfall is weighted by a backbone penalty factor and subtracted by the objective function. The penalty factor is a relatively large number, compared to the mean values which influences the solution to a direction of a zero shortfall. The processing for the radio coverage links is similar. The objective function should be maximized.

#### *4.4.3. Optimization problem solving*

In order to solve this optimization problem, we apply an optimization method. Specially for this problem is that the objective function can not be differentiated. This is because the objective function, can not be represented as an algebraic function of only the optimization

#### 16 Will-be-set-by-IN-TECH 218 Wireless Mesh Networks – Effi cient Link Scheduling, Channel Assignment and Network Planning Strategies Achieving Fault-Tolerant Network Topology in Wireless Mesh Networks <sup>17</sup>

parameters (*X*,*Y*, *Z*)*BS*. This is because the objective function contains the radio coverage model which includes the geometry of the model. Several algorithms exist for solving this type of problem (pattern search, genetic algorithm, simulated annealing). We have selected pattern search, because it has a proven convergence and supports any type of constraints [33].

**Algorithm 2** Pseudo code of the graph consolidation step

2. *Vsap* = *find*.*articulation*.*points*(*G*,*shared*.*among*(*Gc* ∈ *BC*))

� )

After step 4a)

B) After step 2

A) Initial graph

1

Achieving Fault-Tolerant Network Topology in Wireless Mesh Networks 219

2 3

Consolidated graph

• Termination: this shows the number of iterations the algorithm needs to complete and the

• Minimality: this shows the ability of the algorithm to use minimum number of base

1. *BC* = *find*.*biconnected*.*components*(*G*, |*Gc*| ≥ 3)

3. *f oreach v* ∈ *Vsap* ∪ (*V*(*G*) − *V*(*BC*)) :

) = *ExternalEdges*(*Gc*)

**Figure 7.** Example of the graph consolidation step

running time.

stations.

(a) *v* → *v*

(b) *E*(*v* � �

4. *f oreach Gc* ∈ *BC* : (a) *Gc* = *Gc* − *Vsap*

(b) *Gc* → *v*

(c) *E*(*v* � ) = *E*(*v*)

�

(d) *remove*.*duplicate*.*edges*(*v*
