**5. Network definition**

Define our distributed wireless sensor network (WSN) *N* = (*G*(*Cl*(*Vi*, *Mi*), *El*), *S*) that is composed of a set of sensor nodes *Vi* and mesh nodes *Mi* to solve the smart routing problem. These sensor and mesh nodes are organized into clusters *Cl*(*Vi*, *Mi*) and connected in a two-tier network via directed link set *El*. The nodes are connected according to a topology *G*(*Cl*(*Vi*, *Mi*), *El*) that is presented in space *S* in Figure 2.

We make the following additional definitions:


The selection of *K*� limits the maximum number of hops along a path and, hence, the number of nodes used to route traffic. Communication protocols have varying dependencies on multi-hop routing given their ranges of acceptable transmit powers and operating ranges, and as such they will likely have different path lengths. However, energy consumption characteristics between a transmitter and receiver suggest that it is better for the network to reduce the number of hops in a path at the expense of using a higher transmit power [3]. Hence, based on our network topology, we set a self-imposed limit to reduce the path length. This is configurable given the network scenario in question.

## **5.1. Assumptions**

To perform this study, we make the following assumptions:


### **6. Link utility function**

8 Wireless Sensor Networks / Book 1

• the path between any sensor *vi* and central controlling station *vj* through cluster-head *vm*, *pathvi*,*vj* = {*vi*, ..., *vm*, ..., *vj*}, where the number of nodes along a simple path between *vi*

• the (*K*� + 1) x *W* x |*Vi*| matrix, *X*, of all the paths from all sensor nodes in the network to the central controlling station, where *W* is the maximum number of paths over all nodes.

The selection of *K*� limits the maximum number of hops along a path and, hence, the number of nodes used to route traffic. Communication protocols have varying dependencies on multi-hop routing given their ranges of acceptable transmit powers and operating ranges, and as such they will likely have different path lengths. However, energy consumption characteristics between a transmitter and receiver suggest that it is better for the network to reduce the number of hops in a path at the expense of using a higher transmit power [3]. Hence, based on our network topology, we set a self-imposed limit to reduce the path length.

1. All clusters perform periodic data delivery according to a Poisson process with

2. Sensor node are frequency-agile and can tune their frequencies to select different operating

3. Mesh nodes use software radio to communicate with both sensor nodes and mesh nodes

5. Neither sensor nodes nor mesh nodes are wired to power source so that we may explore a

6. Mesh nodes are placed in a hexagonal topology for topology optimality and maximum

7. Sensor nodes are aware of their positions and are equipped with the Global Positioning

8. The central controlling station contains a mesh node and is the sink of transmissions in the

9. Single channels are not used end-to-end for a path and each hop chooses a different

10. Each sensor node follows a *M/M/3/3* queueing model with three operating channels and no queue. This limits the competition between all nodes to only three channels to leave

11. The cluster-head has real-time channel state information, which can be assumed because

exponentially distributed inter-arrival times of events with parameter *λ*;

4. All nodes within a cluster use omni-directional antennas with equal gains;

System (GPS). Sensor localization will be considered in future work;

our sensor nodes are fixed, allowing us to assume a slow fading model.

) ≤ (*K*� + 1); and,

196 Wireless Sensor Networks – Technology and Protocols Cross-Layer Design for Smart Routing in

• the average battery replenishment rate from energy harvesting, *rh*;

and *vj* can be computed as, *K* = *n*(*pathvi*,*vj*


This is configurable given the network scenario in question.

To perform this study, we make the following assumptions:

over different communication technologies;

network coverage as discussed in Section 2;

sufficient capacity available to carry relay traffic; and,

**5.1. Assumptions**

channels;

network;

operating channel;

general architecture;

In forming our optimization functions via cross-layer criteria, we define the communication resources *rf* associated with a wireless channel *f* ∈ *F*; *F* is the channel set of a given communication protocol. The capacity of a channel *c <sup>f</sup>* is dependent on a number of factors including *rf* , but in this study we focus on the case where *c <sup>f</sup>* = *φ*(*rf*) only. The transmission rate *Rvx*,*vy*, *<sup>f</sup>* ≤ *c <sup>f</sup>* is defined as a fraction of the frequency division multiple access (FDMA) Shannon capacity for *rf* = (*P<sup>t</sup> vx*, *<sup>f</sup>*) as,

$$R\_{v\_x, v\_y, f} = \phi(P\_{v\_{xf}f}^t) = w\_f \log\_2 \left( 1 + \frac{P\_{v\_x, f}^t |H\_{v\_x, v\_y, f}|^2}{w\_f N\_{v\_y, f} + I\_{v\_y, f}} \right) \tag{2}$$

where our resource of interest *rf* = (*P<sup>t</sup> vx*, *f* ) is the selected power at transmitter *vx* in sending data to receiver *vy* on wireless channel *f* , |*Hvx*,*vy*, *<sup>f</sup>* | <sup>2</sup> is the channel gain between *vx* and *vy*, *Nvy*, *<sup>f</sup>* is the Gaussian noise power on the channel from the perspective of the receiver *vy*, and *Ivy*, *<sup>f</sup>* is the interference of *vy* on channel *f* . As we form our link utility function, it evaluates the allocation of our resources *rf* = (*P<sup>t</sup> vx*, *<sup>f</sup>*) for link *vx* − *vy* in terms of the achievable transmission rate *Rvx*,*vy*, *<sup>f</sup>* and the power cost associated with transmitting at rate *Rvx*,*vy*, *<sup>f</sup>* over the link.

The use of the FDMA Shannon capacity allows us to perform adaptive resource allocations based on the real-time state of the network by relating the data rate to physical (PHY) layer parameters. In our study, *rf* = (*P<sup>t</sup> vx*, *<sup>f</sup>*) only because we consider that all channels have equal bandwidths *wf* . However, since the Shannon capacity is theoretical, we limit the Shannon capacity with additional regulatory limits.

$$L\_{\upsilon\_{\mathbf{x}}\upsilon\_{\mathbf{y}f}f}(R\_{\upsilon\_{\mathbf{x}}\upsilon\_{\mathbf{y}f}f}t) = \; \arg \log\_{10} \left( 1 + \frac{R\_{\upsilon\_{\mathbf{x}}\upsilon\_{\mathbf{y}f}}}{\mathcal{C}\_{\upsilon\_{\mathbf{y}f}}(t)} \right) - \psi(E) \; \frac{q\_{t\upsilon\_{\mathbf{x}}}IR\_{\upsilon\_{\mathbf{x}}\upsilon\_{\mathbf{y}f}}}{m} + \eta \tag{3}$$

Our link utility function *Lvx*,*vy*, *<sup>f</sup>*(*Rvx*,*vy*, *<sup>f</sup>* , *t*) is the basis of the resource negotiation between a prospective transmitter and receiver in network and is shown in (3). It is formed from the receiver's perspective as the difference between a benefit function and a cost function. Figure 5 shows a sample plot of the link utility function *Lvx*,*vy*, *<sup>f</sup>*(*Rvx*,*vy*, *<sup>f</sup>* , *t*), which is concave as a function of the *Rvx*,*vy*, *<sup>f</sup>* .

The first term of *Lvx*,*vy*, *<sup>f</sup>*(*Rvx*,*vy*, *<sup>f</sup>* , *t*) represents the benefit gained as a function of *Rvx*,*vy*, *<sup>f</sup>* . This is modeled by a logarithmic function which is monotonically increasing and follows the law of diminishing returns. As a result, an initial increase in *Rvx*,*vy*, *<sup>f</sup>* is more important to a node than further increases in *Rvx*,*vy*, *<sup>f</sup>* as the node approaches the incoming channel capacity, *Cvy*, *<sup>f</sup>*(*t*).

The second term is the cost function that models the power cost of utilizing a link in a path. The cost is a function of the energy efficiency coefficient of the technology used for the communication link, *qtvx* ∈ *Q*. By multiplying *qtvx* by the ratio of *l/m*, we retrieve the energy efficiency for the full packet size including overhead. The power consumption in sending a packet over the prospective link (in *watts*) is found by multiplying *qtvx* (in *joules/bit*) by the transmission rate *Rvx*,*vy*, *<sup>f</sup>* (in *bits/sec*). The result is the amount of energy over time, or power, used in transmitting a packet over the link. By considering the Shannon rate in (2), we observe that the link utility is a function of physical resources for both throughput and power cost.

**Figure 5.** Example of a Link Utility Function *Lvx*,*vy*,*f*(*Rvx*,*vy*,*<sup>f</sup>* , *t*)

*ψ*(*E*) is a function of the transmitter and receiver's residual energy *E*, which represents the maximum of the inverse residual energy of the transmitter *vx* and receiver *vy* as,

$$E = \max\left(\frac{E\_{\upsilon\_x}(t)}{e\_{\upsilon\_x}(t)}, \frac{E\_{\upsilon\_y}(t)}{e\_{\upsilon\_y}(t)}\right)$$

Hence, if either the transmitter or receiver of the link have a low residual energy, the cost of using the link increases. In this manner, we encourage the optimization algorithm to select nodes with higher residual energy in the network.

Since the range of available transmit power is small (on the order of milliwatts or microwatts), the algorithm is sensitive to small changes in link cost. Consider a situation where a node has half of its battery power remaining. While it should be able to operate normally, a doubling of the link cost, in the absence of a function like *ψ*(*x*), forces the selection of zero transmit power. The effect is worse at larger *R* due to a higher link cost. As a result, *ψ*(*E*) scales the power cost to operate within the limits of the optimality range.

The function *ψ*(*x*) is of the form,

$$
\psi(x) = \beta \ln(x) + \gamma
$$

for a Ultrawideband (UWB) and WiMax transmission, and of the form,

$$
\psi(\mathbf{x}) = \beta \mathbf{x}^2 + \delta \mathbf{x} + \gamma
$$

for a Zigbee transmission. The two forms of *ψ*(*x*) are due to the achievable rates of the communication technologies of interest and the scale required to fit the power cost within the necessary operating range.

The *α*, *β*, *γ*, and *δ* parameters are coefficients of the empirical benefit and power cost that define the *criticality* of the application, which will be covered in Section 8. The parameter *α* scales the empirical benefit to provide a greater weight to the utility gained by achieving a higher transmission rate. Meanwhile, the three scaling factors, *β*, *γ* and *δ* are parameters in

*ψ*(*x*) that may be obtained via curve-fitting after determining the desired operating points for a particular networking configuration as a function of *E*.

The optimized transmission rate *r*∗ *vx*,*vy*, *<sup>f</sup>* is calculated by maximizing *Lvx*,*vy*, *<sup>f</sup>*(*Rvx*,*vy*, *<sup>f</sup>* , *t*) where *Rvx*,*vy*, *<sup>f</sup>* = *<sup>φ</sup>*(*P<sup>t</sup> vx*, *<sup>f</sup>*) as,

$$r^\*\_{v\_x, v\_{y'}f} = \arg\max\_{R\_{v\_x, v\_{y'}}} \left[ a \log\_{10} \left( 1 + \frac{R\_{v\_x, v\_{y'}}}{C\_{v\_y}(t)} \right) - \psi(E) \frac{q\_{t\_{v\_x} \wr R\_{v\_x, v\_{y'}}}}{m} + \eta \right] \tag{4}$$

Given *r*∗ *vx*,*vy*, *<sup>f</sup>* , the optimized link utility for a single hop *vx* − *vy* is calculated as,

$$L\_{v\_x, v\_{y}, f}^{\*}(r\_{v\_x, v\_{y}, f}^{\*}t) = a \log\_{10} \left( 1 + \frac{r\_{v\_x, v\_{y}, f}^{\*}}{\mathbb{C}\_{v\_{y}, f}(t)} \right) - \psi(E) \frac{q\_{t\_{v\_x}} 1}{m} + \eta \tag{5}$$

Based on this information, it is necessary for the cluster-head to receive feedback of the real-time residual energies of sensors. This is achieved through the feedback of hello messages that will both announce presence in the network and provide feedback of node state information to the cluster-head. If the cluster-head is required to perform the cross-layer optimization in between two received hello announcements, the cluster-head will extrapolate the residual energies of both *vx* and *vy* based on the elapsed time since the last update to ensure accurate optimization.

The necessary coordination protocols will be covered in Section 9.

### **7. Objective function**

10 Wireless Sensor Networks / Book 1

0 100 200 300 400 500 600

*ψ*(*E*) is a function of the transmitter and receiver's residual energy *E*, which represents the

Hence, if either the transmitter or receiver of the link have a low residual energy, the cost of using the link increases. In this manner, we encourage the optimization algorithm to select

Since the range of available transmit power is small (on the order of milliwatts or microwatts), the algorithm is sensitive to small changes in link cost. Consider a situation where a node has half of its battery power remaining. While it should be able to operate normally, a doubling of the link cost, in the absence of a function like *ψ*(*x*), forces the selection of zero transmit power. The effect is worse at larger *R* due to a higher link cost. As a result, *ψ*(*E*) scales the power cost

*ψ*(*x*) = *β* ln(*x*) + *γ*

*ψ*(*x*) = *βx*<sup>2</sup> + *δx* + *γ*

for a Zigbee transmission. The two forms of *ψ*(*x*) are due to the achievable rates of the communication technologies of interest and the scale required to fit the power cost within

The *α*, *β*, *γ*, and *δ* parameters are coefficients of the empirical benefit and power cost that define the *criticality* of the application, which will be covered in Section 8. The parameter *α* scales the empirical benefit to provide a greater weight to the utility gained by achieving a higher transmission rate. Meanwhile, the three scaling factors, *β*, *γ* and *δ* are parameters in

x , vy , f (Mbps)

198 Wireless Sensor Networks – Technology and Protocols Cross-Layer Design for Smart Routing in

Transmission Rate, Rv

maximum of the inverse residual energy of the transmitter *vx* and receiver *vy* as,

 *Evx* (*t*) *evx* (*t*) , *Evy* (*t*) *evy* (*t*)

*E* = *max*

for a Ultrawideband (UWB) and WiMax transmission, and of the form,

nodes with higher residual energy in the network.

to operate within the limits of the optimality range.

The function *ψ*(*x*) is of the form,

the necessary operating range.

**Figure 5.** Example of a Link Utility Function *Lvx*,*vy*,*f*(*Rvx*,*vy*,*<sup>f</sup>* , *t*)

Link Utility, Lv

x

x

, vy, f(Rv

, vy, f, t)

The profit function, *U<sup>a</sup> vi*,*vj* (*t*), calculates the suitability of candidate path *pathvi*,*vj* = {*vi*, ..., *vm*, ..., *vj*} to route a message from a source sensor *vi* to the central controlling station *vj* through cluster-head *vm*. The profit function shown in (6) is our objective function where the goal is to find the candidate path with the maximum profit, *Ua*<sup>∗</sup> *vi*,*vj* (*t*). The profit gained by using a candidate path is calculated as the average of the optimized link utilities, *L*∗, across each hop along a path.

$$\begin{aligned} \mathbf{U}\_{\upsilon\_{i},\upsilon\_{j}}^{a^{\*}}(t) &= \max \quad \frac{1}{K-1} \left[ \sum\_{x=1}^{\mathcal{S}} L\_{\upsilon\_{x},\upsilon\_{x+1},f\_{x}}^{\*} (r\_{\upsilon\_{x},\upsilon\_{x+1},f\_{x}}^{\*}t) + \sum\_{z=g+1}^{K-1} L\_{\upsilon\_{z},\upsilon\_{z+1},f\_{z}}^{\*} (r\_{\upsilon\_{z},\upsilon\_{z+1},f\_{z}}^{\*}t) \right] \\\\ \text{s.t. (1)} \quad P\_{\upsilon\_{i},f\_{i}} \cdot P\_{\upsilon\_{z+1},f\_{i}} &= 0, \quad \qquad \qquad \forall \upsilon\_{\upsilon\_{i}} \, \upsilon\_{x+1} \in \operatorname{path}\_{\upsilon\_{i},\upsilon\_{j}} \end{aligned}$$

$$\begin{array}{llll} \text{(2)} & P\_{\upsilon\_{z}f\_{\sharp}} \cdot P\_{\upsilon\_{z+1}f\_{\sharp}} & \text{(2)} & \forall \upsilon\_{z}, \upsilon\_{z+1} \in \upsilon\_{\upsilon} \land \upsilon\_{\upsilon\_{\upsilon}f\_{\sharp}}\\ \text{(2)} & P\_{\upsilon\_{z}f\_{\sharp}} \cdot P\_{\upsilon\_{z+1}f\_{\sharp}} & = 0 & \forall \upsilon\_{z}, \upsilon\_{z+1} \in \text{path}\_{\upsilon\_{\upsilon},\upsilon\_{j}}\\ \text{(3)} & P\_{\upsilon\_{z}f\_{\sharp}} \cdot P\_{\upsilon\_{z}f\_{\sharp}} & \ge \max(P\_{MIRS}, P\_{SNR}, P\_{\min})\_{\prime} & \forall \upsilon\_{\upsilon\_{\sharp}} \upsilon\_{z} \in \text{path}\_{\upsilon\_{\upsilon},\upsilon\_{j}}\\ \text{(4)} & P\_{\upsilon\_{z}f\_{\sharp}}, P\_{\upsilon\_{z}f\_{\sharp}} & \le \min(P\_{\text{left}}, P\_{\text{cap}}, P\_{\max})\_{\prime} & \forall \upsilon\_{\upsilon\_{\sharp}} \upsilon\_{z} \in \text{path}\_{\upsilon\_{\sharp},\upsilon\_{j}}\\ \text{(5)} & K \le K'. & \end{array} \tag{6}$$

*Ua*<sup>∗</sup> *vi*,*vj* (*t*) is formed of two summations that separate the optimization of the sensor cluster and mesh network portions of a path. The first summation represents the sum of link utilities as computed via the optimized link utility function *L*∗ across all nodes along a candidate path inside the cluster only; *g* represents the number of hops along the path within the cluster before reaching cluster-head *vm* and is computed as *g* = *find*(*pathvi*,*vj* == *vm*) − 1. The second summation represents the sum of link utilities for a candidate path.

We divide the utility sum by the hop count of the path to calculate the average link utility in the path. By doing so, we are able to more closely analyze the difference between a *k*-hop path and (*k+*)-hop path in choosing the optimal route. If we were to use total rather than average link utility, the algorithm would favor the (*k+*)-hop path as the summation of more link utilities leads to a higher *U<sup>a</sup> vi*,*vj* . In a power-constrained network, this over-utilizes already limited resources. Hence, by evaluating the average link utility, we are in fact reducing latency and conserving power. It should be noted, however, that, if a path with more hops has the highest average link utility *Ua*<sup>∗</sup> *vi*,*vj* , it will be chosen by the optimization policy as the path with the best tradeoff between performance and energy consumption across all candidate paths.
