1 Introduction

Wireless Mesh Networks (WMN) are self-organized multi-hop wireless networks that consist of a collection of Mesh Access Points (MAP), each serving a certain number of stations (STA). WMNs can be deployed rapidly at relatively low cost with reliable service coverage [1]. Hence, they have found many applications in areas such as last mile and rural area internet access, tactical networks, and video surveillance. In circumstances where direct connection of MAPs to the power grid is difficult or even sometimes impossible, batteries plus some form of renewable energy harvesting device such as a solar panel is utilized. Hence, it is imperative to prevent node outage due to excessive traffic forwarding or lack of solar radiation. Energy resource over-provisioning is a simple but costly solution to the outage problem. Alternatively, the WMN can be operated in an “energy-sustainable” manner, by properly controlling admission and routing of traffic over the network. Furthermore, MAPs should be allowed to go into sleep mode whenever possible to reduce their energy consumption.

1.1 Motivation and objective

Most solutions to the energy sustainability problem require a global view of the network traffic distribution and its energy resources. More importantly, they require sophisticated coordination among nodes for optimal scheduling of the links [2,3,4]. As a result, they are difficult for practical adoption over distributed contention-based radio access technologies such as IEEE 802.11.

Our work is based on two principles: firstly, that the most accurate decision regarding energy sustainability is made locally by the node itself; and secondly, that proper tuning of the node duty-cycle for sustainability will implicitly regulate traffic flow over that node and ultimately traffic distribution across the network. A given node has complete information of its traffic load, battery level and input energy. Therefore, it can easily fine tune its duty-cycle to achieve sustainability locally, which will eventually result in the overall traffic distribution to match the energy status of the network. Furthermore, we set the following objectives for our solution:

  • Eliminate sophisticated coordination among nodes for scheduling contention and sleep periods

  • Create contiguous sleep periods allowing both the radio interface and the main-board to go into deep sleep

  • Compatible with 802.11 devices, with some modifications above the MAC but not violating the standard

1.2 Assumptions and contributions

A wireless mesh network (WMN) is a broadband network that is essentially used to transport a relatively large traffic volume for multiple applications, as opposed to a wireless sensor network (WSN) with a rather focused application and limited traffic. As a result, WMN nodes are more capable and require more energy resources compared to wireless sensor nodes.

Consequently, it is imperative that such nodes be equipped with energy harvesting and storage components solid enough to sustain their operation given a minimum traffic demand. Therefore, we assume that a wireless mesh access point is expected to deliver a minimum level of service, hence, it cannot go out of service during night-time. This policy implies that, the battery size should be large enough to support at least some traffic demand during the longest darkness hour, and the battery should be at its maximum level right before night-fall. Hence, we assume that the battery and panel size are both determined such that these conditions are satisfied for some minimum traffic. The mesh access point will, however, dynamically allocate any excess energy to new connections based on its current energy configuration.

Therefore, we consider a solar powered WMN assuming a minimum battery requirement should be met for each node at all times. We also require that the entire network should be able to operate, not violating the minimum battery requirement, until the beginning of the next daylight period. Our main contributions are as follows:

  • A local distributed duty-cycle tuning algorithm for energy sustainable operation of 802.11s WMNs.

  • A simple distributed sleep scheduling algorithm that operates on top of the 802.11s MAC and allows for contiguous sleep periods. Our sleep scheduling scheme prioritizes non-elastic “NE” traffic such as voice and video over elastic “E” traffic such as browsing.

  • A connection admission control (CAC) mechanism integrated with our duty-cycle tuning and sleep scheduling algorithms. Our proposed CAC scheme controls the amount of NE traffic admitted to the network, while our sleep scheduling approach ensures that excess network capacity is properly allocated to elastic flows, within the bounds set by the duty-cycle control algorithm.

The remainder of this paper is organized as follows: in Sect. 2 we review similar work. Section 3 defines the network model and parameter assumptions. In Sect. 4 we describe our proposed algorithms. Section 5 provides the simulation results and finally Sect. 6 concludes our work.

2 Related work

Sleep coordination and management, also referred to as sleep scheduling, is the centerpiece of any energy sustainable approach to the operation of energy-harvesting wireless multi-hop networks and in particular wireless mesh networks (WMN). Surely, one can not neglect the role of admission control and traffic distribution, which is to regulate traffic according to network energy status. Nevertheless, it is sleep scheduling that actually allows nodes to conserve energy during periods of inactivity. The main problem in sleep scheduling is to determine which neighbor nodes communicate and when. Achieving such coordination in a highly distributed and dynamic environment, such as wireless multi-hop networks is challenging, however.

In the following two subsections, we provide an overview of current literature on sleep scheduling followed by a brief outline of the main achievements in the energy sustainable operation of wireless multihop networks. Due to the large body of literature in both areas, we will only focus on the most relevant work applicable to IEEE 802.11 wireless mesh networks.

2.1 Sleep scheduling

Sleep scheduling relies on some form of neighbor coordination that provides a time frame, over which links among adjacent nodes are scheduled. Clearly, any such scheme would require synchronization among neighbors. There are many duty-cycle based MAC protocols proposed for WSNs, such as SMAC [2], XMAC [3], MT-MAC [5], ASS-MAC [6] and FTA-MAC [7]. However, these schemes are hardly applicable to wireless mesh networks, which transport significantly larger traffic. Moreover, the use of periodic beacon frames in WMNs can be leveraged in neighbor coordination as opposed to beacon-less WSNs.

The IEEE 802.11 standard has proposed a power saving mechanism (PSM) [8] followed by the automatic power save delivery (APSD) [9], to provide power saving options for STAs associated to an Access Point (AP). A slightly modified version of these mechanisms have been used in WMNs for power saving among MAPs [10, 11]. In [10], the Network Allocation Vector (NAV) advertised in the beacon is used to report the awake time of AP to STAs and allow for AP power saving. In [11] the NAV concept is further generalized to a Network Allocation Map, in which, one or more future time periods are specified during which an MAP’s channel is unavailable for transmission. This approach, however, is only applicable to tree-routed WMNs. The IEEE 802.11s standard proposed Mesh Coordinated Channel Access (MCCA), which is an optional access method that mitigates contention at selected times by reserving transmission opportunities [12]. MCCA can be used to provide MAP sleep scheduling on top of the IEEE 802.11s standard. However, due to its complexity, MCCA was never implemented by vendors.

Reference [13] proposes multihop Power Save Multiple Poll (mPSMP) for neighbor coordination over a tree topology. Each node plays the role of an access point for its child nodes, sending a PSMP frame to schedule uplink and downlink access intervals and duration for each child. Also an adaptive duty-cycling scheme is proposed to put inactive nodes to sleep to save energy. However, mPSMP is only suitable for tree topologies and its end-to-end delay is bounded for one way traffic, whereas the return path may experience very large delay. In addition, the duty-cycle control mechanism does not take energy conditions into account and only acts based on the amount of traffic demand.

Furthermore, any TDMA link scheduling algorithm can potentially be developed into a sleep scheduling approach, by putting nodes into sleep during inactive periods. There are many proposed link scheduling algorithms with different scope, goals and assumptions. In [14] a centralized scheduling algorithm for TDMA networks using tree topology is proposed. In [15] a centralized scheduling algorithm is proposed for real time constant bit-rate (CBR) traffic for TDMA networks with a tree topology. In [4] DRAND, a distributed scheduling algorithm for general TDMA WSNs is proposed, but it suffers from large convergence time that renders it non-useful for broadband WMNs. Despite their improved energy efficiency by eliminating overhearing, collision and idle listening, TDMA scheduling schemes are very complex and mostly require centralized implementation and can potentially increase end to end latency. In addition, they generally result in sleep fragmentation by creating many short sleep intervals that can not be used for deep sleeping.

Alternatively, some recent work consider contiguous sleep periods to allow for deeper sleep of MAPs. In particular, deep sleep allows putting both the wireless card and main-board into sleep mode. In [16] H-TSAC, a tree based hierarchical link scheduling algorithm is proposed. H-TSAC minimizes data gathering delay by scheduling up-link of each node after all its down-links. It also combines awake times of a node as much as possible to form contiguous sleep times. In [17] Time-Split, an IEEE 802.11s tree based scheduling algorithm is proposed. The idea of Time-Split is to leverage the tree-routed features of the network and alternate sleep intervals between siblings so as to provide contiguous sleep periods. Our proposed scheme, on the other hand, works for general graph topologies and provides contiguous sleep intervals.

2.2 Energy sustainability

Previous work on wireless multi-hop network energy sustainability can be classified into two major categories: those based on duty-cycle control and those using admission control and traffic distribution.

Kansal et. al. [18] propose energy neutral operation (ENO) of Wireless Sensor Networks, ensuring that consumed energy is no more than harvested energy. They propose an energy optimization scheme along with simple duty-cycle control for performance scaling. Contrarily to our approach, however, they require near exact prediction of available and consumed energy for the next 24 h. In [19], ENO-max is defined for an energy-model-free calculation of duty-cycle to achieve energy sustainability, with the objective of maximizing awake time. However, maximizing awake time does not necessarily results in larger throughput in WMNs.

In [20] the concept of long-term ENO over very long periods of up to 7 years is introduced. In an off-line capacity planning phase, panel size and battery capacity is computed. Then, an on-line dynamic power management scheme is proposed to compute a daily duty-cycle. However, 1 day is too coarse for WMNs with highly dynamic traffic demand. In [21] an energy neutral power management mechanism without the need for prediction of harvested energy is proposed. A set of energy budgeting principles based on current harvested energy and battery level are proposed to maximize allocatable energy in each time slot. During sunny slots, energy is reserved for dark slots along with minimizing energy consumption of dark slots. Not having an estimate of future energy, however, this could result in inaccurate energy assignment.

In [22], a framework for sustainable operation of renewable energy powered WSNs is proposed. It is assumed that data packets are routed to a designated sink over a pre-determined collection tree. The sink node periodically collects energy information from bottleneck nodes and sends the optimal operating policy to all nodes. The approach consists of an inner process to find the optimal duty-cycle maximizing throughput for a given input energy, and an outer process to manage energy online, making the network self-sufficient. In particular, the outer process calculates energy consumption allowance during the next control epoch based on input energy and battery level. Although we do take a similar approach, our scheme is able to perform in a non-tree-routed WMN, which is more challenging from a sleep scheduling perspective. In [23] an adaptive duty-cycle control scheme is proposed that takes into account the battery level and traffic load in WSNs. It assumes a tree based multihop 802.15.4 WSN with beacons, deployed indoor and powered by natural or artificial light as ambient energy source. The selected energy sources are unpredictable and hence the energy sustainability in different conditions is very parameter-dependent.

Alternatively, some work consider admission control and traffic distribution to ensure energy sustainability. In [24], unlimited and limited energy storage is modeled as G/G/1/\(\infty\) and G/G/1/N queues, respectively. Using diffusion approximation, closed-form distributions of transient energy content and energy depletion time is obtained. The idea is to minimize energy depletion probability of the network by distributing flows over appropriate paths. Also an admission control strategy is used to limit the resource utilization when network has energy shortage. This approach, however, depends on the input energy model and also assumes perfect knowledge of traffic. In [25], energy differentiation of node activity is used to create a routing metric. This metric is then used to distribute flows in the network to improve network sustainability. In [26], a sustainable routing protocol is proposed to maximize spectral efficiency. Nevertheless, all routing and CAC oriented approaches to energy sustainability, still require efficient sleep scheduling which is challenging in WMNs.

In [27], fair flow control is proposed to achieve energy sustainability in solar powered WMNs. Predicted harvested and consumed energy is used to compute bounds on the minimum admitted portion of each flow by formulating an optimization problem with fairness objective. Two algorithms for fixed rate and variable rate traffic are then proposed. They firstly determine the admissible portion of each flow based on predicted input energy and traffic for the entire deployment time and then adjust the admissible portion using hourly input energy. Due to using flow control, however, this scheme is only applicable to elastic traffic. In [28], a joint routing and scheduling algorithm is proposed over a generic energy harvesting wireless multihop network. The idea is to mark packets for transmission/reception based on energy availability and then to apply back-pressure among nodes to regulate and distribute traffic flow according to energy availability. However, sleep scheduling is not explicitly considered, the scheme is only applicable to elastic flows, and no resource reservation is performed.

3 System model and problem statement

3.1 System model

We consider a wireless mesh network (WMN) consisting of N nodes used for monitoring services and data connectivity over some designated area. The WMN is primarily used by connections with non-elastic traffic, such as, live video feeds in a video surveillance application or voice traffic, in addition to elastic traffic, such as, web browsing, instant messaging, or file transfer. Connections can be between two STAs or from an STA to the external IP network through a Mesh Gateway (MGW). The WMN consists of multiple stationary MAPs, synchronized to the beacon levelFootnote 1 and equipped with suitably sized solar panel and battery. The battery size, \(B_{\max}\), is such that an MAP can last through the longest annual darkness period, and the solar panel is large enough to fully charge the battery during the shortest daylight period.

Each MAP has two wireless network interface cards (WNIC), which we briefly refer to as radios; an access radio for communicating with STAs in its coverage area, and a relay radio for communicating with other MAPs. We assume all relay links are tuned on the same channel, which is non-overlapping with any of the access channels. Without loss of generality, we focus on power saving only over the relay radio which is a more challenging problem in WMNs having a distributed nature and with highly dynamic traffic profile. We also stress that access radios are less utilized compared to relay radios which forward bulks of traffic belonging to different paths in the network. Hence access radios can easily be put into sleep while the relay radio is also in sleep mode using many conventional power saving protocols such as 802.11 APSD.

Consider that for the relay radio, \(p_{tx}\) Watts of power is consumed during packet transmission, \(p_{rx}\) during reception and overhearing, \(p_{idle}\) during idle listening, and \(p_{sleep}\) while in sleep mode. Moreover, the MAP main board can also be put into sleep mode and consumes, \(p^{main}_{active}\) and \(p^{main}_{sleep}\) Watts, during activity and sleep periods, respectively. Given the harvested power, \(\varGamma (t)\), and a beacon interval of \(T_{BI}\), the total input energy during the \(t^{th}\) beacon interval will be \(\varGamma (t)T_{BI}\). Hence, if the amount of energy consumed by the MAP during the \(t^{th}\) beacon interval is e(t), then the battery level by the end of that beacon interval will be

$$B(t)=\min \left[ (B(t-1)+\varGamma (t)T_{BI}-e(t))^+,B_{\max} \right] ,$$
(1)

where \((.)^+\) denotes the positive part.

3.2 Problem statement

We assume solar energy input evolves over cycles of 1 day long starting with sunrise and going through sunset, after which, the MAP will solely consume energy out of its battery and eventually ending by the next morning. Hence, we assume a network is sustainable if it can withstand a full energy cycle making it to the next morning without experiencing node outage during this entire 24 h period. For convenience, we set the statring point of this energy cycle to be at the time of sunrise. Suppose that for a given day we define, \(B^{req}(t)\), as the required battery level at time t to guarantee sustainability until the beginning of the next cycle (i.e., next morning). Then a sufficient condition for network sustainability is for each node n to maintain

$$B_n(t) \ge B_n^{req}(t),~\forall t$$
(2)

The network sustainability problem now reduces to the problem of tuning the duty-cycle of each node such that (2) is satisfied. In the next section, we introduce our proposed solution, including our approach for estimating \(B^{req}(t)\) and also computing the duty-cycle for each node.

4 Proposed solution

Our scheme operates over “sustainability epochs” small enough such that input energy is almost constant. This is typically in the order of a few minutes for solar energy. Our objective is to ensure that MAPs satisfy some minimum battery level, \(B^{req}\), at the end of each sustainability epoch. The value of \(B^{req}\) can be determined online and for each day based on expected solar irradiation data and any number of operational requirements and is therefore out of scope of this paper.Footnote 2 Being conservative, we also assume that any new or existing connection will continue to exist until the end of the epoch. If connections outlive the epoch, then our scheme will compensate in the next epoch by accepting less connections. However, it is possible that the system becomes unsustainable if very long connections are accepted often during low energy periods. We show how this will affect our system performance in the results section.

Each MAP adaptively and locally adjusts its duty-cycle to ensure sustainability over each epoch. A simple but efficient distributed sleep scheduling protocol is also proposed to manage awake times among neighbor MAPs. Elastic traffic is naturally throttled as a result of duty-cycle adjustments. Moreover, a connection admission control (CAC) scheme is proposed for non-elastic flows requiring a certain average bit-rate, to prevent performance deterioration. In the following sections, we elaborate on our proposed sleep management MAC protocol, duty-cycle control scheme, routing protocol and connection admission control scheme.

Fig. 1
figure 1

A beacon interval consisting of two service intervals

4.1 Sleep scheduling protocol

According to Fig. 1, a beacon interval (BI) is divided into several service intervals depending on how often MAPs are required to send traffic so that delay stays bounded. Each service interval (SI) is also divided into Non-Elastic (NE), Sleep (S) and Elastic (E) periods. Non-elastic traffic will be exclusively served during the NE-period and elastic traffic during the E-period. It should be noted that, channel access during NE and E-periods is contention based according to IEEE 802.11s. More importantly, NE and E-periods are packed together so that MAPs are allowed contiguous sleep; consequently, both the radio and main board can enter power save mode. In addition, NE-periods are always guaranteed to overlap among neighbor MAPs, as well as E-periods, preventing deafness. Note that during an NE-period, some MAPs will finish sending and receiving before others. We can save more energy by allowing those MAPs to go into sleep before the beginning of the actual S-period. To do so the source MAP of each flow will indicate the last packet generated within the current SI by setting a proprietary flag in the packet header. An MAP will go to sleep when either the last packet flag is observed for all passing flows, or at the start of the actual S-period.

Fig. 2
figure 2

Two-hop neighbor contending links with MAP 1 shown as solid lines

Consider the WMN illustrated by Fig. 2 and note MAP 1. All links that interfere with MAP 1 are sketched with solid black arcs and these belong to its two-hop-neighbors. Let us denote the maximum length of the NE-period required for the nth MAP as, \(T_{NE}^{\max}(n)\). This should be large enough to accommodate all packets that are to be forwarded to/by MAP n during a single SI. Denote the time required to send all packets that are to be forwarded over some link l during an SI, by \(\tau _l\). In the worst case, an MAP will have to wait long enough for all its contending links to finish transmission before it gets a chance, therefore the NE-period of the MAP, denoted by \(T_{NE}^{2hop}(n)\), is the sum of this waiting and transmitting time. Also denote the set of contending links for MAP n, by \(L_{2hop}(n)\). Assuming that the MAPs are equally likely to acquire the channel, it follows that

$$T_{NE}^{2hop}(n) = \displaystyle \sum _{l \in L_{2hop}(n)}\tau _l.$$
(3)

There are various ways for estimating \(\tau _l\); including both measurement and calculation. In the following, we briefly describe a method we have adopted from [31]. Consider some link l with bit-rate \(R_l\) over which a packet of size M is to be transmitted. The packet transmission time can be estimated as

$$T_{pkt}=M/R_l+t_{ov}+t_{cont},$$
(4)

where \(t_{ov}\) is the transmission overhead time due to DIFS, physical layer preamble, SIFS and ack transmission; and \(t_{cont}\) is contention overhead due to random back-off. Using a simple approximation provided in [31], we have

$$t_{cont} \simeq SLOT \times \frac{1+P_{col}}{2N_{2hop}} \times \frac{CW_{\min}}{2},$$
(5)

where SLOT is slot length, \(CW_{\min}\) is the minimum contention window size, \(N_{2hop}\) is the number of contending MAPs, which in our interference model is equal to all two-hop neighbors including the MAP itself, and \(P_{col}\) is collision probability given as

$$P_{col} = 1-\left( 1-\frac{1}{CW_{\min}}\right) ^{N_{2hop}-1}.$$
(6)

It follows that the time spent sending packets queued for link l is

$$\tau _l = \sum _{i \in Q_l} T^i_{pkt},$$
(7)

where \(Q_l\) is the queue of packets to be sent over l. Note that (7) is easily computed at the transmitting end of the link by requiring neighbor MAPs to communicate \(\tau _l\) among themselves. This is possible by having each MAP propagate the set of its outgoing links along with their estimated activity time up to its two-hop neighbors within existing periodic beacon frames.

figure c

Since a given MAP, n, has to stay awake long enough such that all its directly communicating peers have finished their NE-period, the maximum required NE-period for a given MAP n should be set as

$$T_{NE}^{\max}(n) = \max _{n^{\prime} \in N^{Active}(n) \bigcup n} T_{NE}^{2hop}(n^{\prime}),$$
(8)

where \(N^{Active}(n)\) is the set of active neighbors of n, i.e., those MAPs with which n directly communicates. Note that neighboring MAPs also broadcast their \(T_{NE}^{2hop}\) values in the beacon frames so that (8) can be computed. Algorithm 1 briefly lists the sleep scheduling algorithm, showing how \(T_{NE}^{\max}\) is computed for each MAP (lines 5–8). Once, \(T_{NE}^{\max}\) is obtained, the rest of the periods can be easily computed. Considering the node duty cycle, \(\alpha\), the available time for both NE and E-traffic will be no more than \(\alpha T_{SI}\). Hence, the maximum E-period allocatable to elastic traffic is

$$T_{E}^{\max}(n) = \alpha (n) T_{SI} - T_{NE}^{\max}(n).$$
(9)

Unless there is ongoing E-traffic, this period will be slept as well, except for a short period of \(T_{E}^{\min}\) (line 13), which is enough to allow E-traffic connection requests through. Once an E-type connection is established, the MAP stays awake for the full length of \(T_{E}^{\max}\) (line 11). Note that \(T_{NE}^{\max}\) and \(T_{E}\) are advertised among other information in the beacon frames and are used by adjacent MAPs for sleep coordination (lines 2, 14).

Fig. 3
figure 3

A sample network with 2 non-elastic connections

Table 1 NE times
Fig. 4
figure 4

Sleep schedule for sample network of Fig. 3

To illustrate our sleep scheduling algorithm, we consider the sample network of Fig. 3. Suppose that there are two non-elastic connections operating with the same throughput as shown by the curly lines and that all MAPs pass some elastic traffic (not shown). Table 1 lists \(T_{NE}^{2hop}\) and \(T_{NE}^{\max}\) for MAPs passing NE-connection, assuming that a time unit corresponds to one packet transmission, i.e., \(T_{pkt}\). Figure 4 also shows the schedule of NE, S and E times for these MAPs. It clearly shows that our proposed scheme allows contiguous sleep intervals that can be used to put both the wireless interface and main board into sleep mode, potentially saving a significant amount of energy. In addition, it eliminates frequent sleep/wake-up transitions which are both time and energy consuming. Moreover, NE and E-periods are planned so that while being adjacent for a contiguous active cycle, they do not interfere so that E-traffic does not use NE-traffic bandwidth share. More importantly, our sleep scheduling scheme properly overlaps activity periods among neighbor MAPs so that deafness is prevented. It should be noted that, while \(T_{NE}^{\max}\) sets a limit on the NE-period of each MAP, it is likely that the MAP will go to sleep earlier, if all packets forwarded to/by it are finished sooner.

Fig. 5
figure 5

Multiple beacon intervals

It is instructive to look at a sample timing of the different events that could occur as a result of a new connection being admitted into the network. Consider MAPs 1, 4, 7, and assume that beacon transmission order for these MAPs is 1, followed by 4 and then 7, as shown in Fig. 5. This order of sending beacons implies that the set of \(\tau _l\) reported by MAP 7 at beacon interval n − 2, will not be considered by MAP 4 until beacon interval n − 1. It is only at the next beacon interval, n − 1, that this new information from MAP 7 along with the updated metrics of MAP 4 are announced by MAP 4 in its beacon frame. Consequently, it will not be until the nth beacon that this new 2-hop information from MAP 7 and 4 will arrive at MAP 1 and, in turn, applied to the schedule broadcast in the nth beacon.

For example, Fig. 5 shows how a new connection passing only through MAP 7 affects the NE-times of MAP 4 and 1, its two hop neighbors, in two consecutive beacon intervals (shown by vertical shaded regions of NE period). Alternatively, the relevant NE-periods will all be updated in the same beacon interval, for another connection passing only through MAP 1 as shown in Fig. 5 by the horizontal shaded NE regions. These two cases, illustrate both a best and a worst case scenario for information dissemination in our proposed scheme.

4.2 Duty-cycle control scheme

The objective of our duty-cycle control algorithm is to ensure achieving \(B^{req}\) at the end of current sustainability epoch. It runs locally and independently over each MAP, and is simple to implement. Assume the nominal power consumption of an MAP in active and sleep modes are \(P_{active}\) and \(P_{sleep}\), respectively. \(P_{active}\) is the average power consumption of the entire MAP including main-board and wireless interface, when it is in any of the active states, namely, TX/RX/IDLE. Note that it is the average power consumption during awake periods that determines a node’s duty cycle. Furthermore, the current battery level is B and the remaining time until end of current sustainability epoch is \(T_{sus}\). Considering the stability and small fluctuation of solar energy over short time periods, we approximate the input power over \(T_{sus}\) by \(\varGamma\). Hence, the total harvested energy until the end of the current sustainability epoch will be

$$\varepsilon _h=\varGamma T_{sus},$$
(10)

and the total consumed energy given a duty cycle of \(\alpha\) will be

$$\varepsilon _c=(\alpha P_{active} + (1-\alpha )P_{sleep}) T_{sus}.$$
(11)

It follows that the remaining battery will be

$$B_{rem}=(B + \varepsilon _h - \varepsilon _c)^+.$$
(12)

To be sustainable, we should have \(B_{rem} \ge B^{req}\). Solving for \(\alpha\) yields

$$\alpha \le \frac{1}{T_{sus}} \times \frac{B - B^{req} + (\varGamma - P_{sleep}) T_{sus}}{P_{active} -P_{sleep} }.$$
(13)

We formulate an optimization problem to show how the duty-cycle must be tuned so that traffic volume is maximized in a contention domain. Let V be the traffic volume forwarded over a contention domain, we have

$$V=\alpha M \frac{T_{sus}}{T_{pkt}},$$
(14)

where \(T_{pkt}\) is the total time spent transmitting a packet of size M bytes including contention and collision overhead as expressed by (4). The optimization problem can be formulated as

$${\text{Max}}\,V$$
(15)
$${\text{subject}}\,{\text{to}}\quad V=\alpha M \frac{T_{sus}}{T_{pkt}}$$
(16)
$$\alpha \le \frac{1}{T_{sus}} \times \frac{B - B^{req} + (\varGamma - P_{sleep}) T_{sus}}{P_{active} -P_{sleep} }$$
(17)
$$0 \le \alpha \le 1$$
(18)

To maximize V, either \(T_{pkt}\) is to be minimized or \(\alpha\) should be maximized. Minimizing the packet transmission latency can be achieved using perfect scheduling schemes that virtually eliminate channel overhead. However, such schemes are impractical and will cause sleep fragmentation which prevents deep sleep. The only other feasible option would be to maximize the duty-cycle by setting it to

$$\alpha = \min \left( \frac{1}{T_{sus}} \times \frac{B - B^{req} + (\varGamma - P_{sleep}) T_{sus}}{P_{active} -P_{sleep} } , 1\right) .$$
(19)

If the right hand side of (19) is less than zero, then the optimization problem is infeasible; meaning that the combination of current battery level and harvested power is insufficient for charging the MAP to its designated minimum battery level even if no new connection is accepted.

4.3 Routing and connection admission control

Routing and connection admission control (CAC) is done differently for non-elastic (NE) and elastic (E) traffic. E-type connections are admitted if a pre-determined minimum time is available within an SI. However, NE-connections are only admitted if there is enough time to accommodate their average bit-rate based on (7) and (8). Moreover, while E-connections are routed based on their destination, NE-connections receive per-flow routing.

Recall that \(T_{E}^{\max}\) can also be interpreted as the residual capacity available within an SI for accepting new connections. For E-connections, we have adopted the conventional HWMP routing protocol of IEEE 802.11s [12] and introduced an additional link metric, \(T_{E}^{\max}\), on top of its existing air-time metric. For NE-connections, on the other hand, our proposed CAC mechanism works implicitly along with our flow based routing protocol to properly route traffic and reserve resources on the selected path, or to reject a request altogether.

figure d

Algorithm 2 lists the steps taken by our proposed flow based routing and CAC scheme for a new NE-connection request. The admission process starts by the source node broadcasting a path request (PREQ) frame through the network. A new NE-connection affects \(T_{NE}\) at all nodes along the connection path and all their one-hop and two-hop neighbor links. Consider a certain packet moving along the S-D path shown in Fig. 6.

Fig. 6
figure 6

Contending two-hop neighbor link example

and assume the packet is currently at node C. Clearly node C would have been silent when the packet was transmitted over links SA, AB and BC, and will also have to remain silent when it is sent over EF and FD. Hence, a certain packet transmission at a given node will take up NE-time equivalent to the NE-time required for that specific connection up to two hops before and after the current node along the path. Hence, it can be concluded that a certain connection having a packet rate of \(R_{pkt}\) will consume

$$\delta (n) = L_{n} T_{pkt} R_{pkt},$$
(20)

time from any node n it interferes with. Here, \(L_n\) is the number of two-hop neighbor links for MAP n, which lie on the connection path.

The CAC and routing algorithm first checks for admissibility of the new connection at all one-hop (lines 4–6) and all two-hop neighbors (lines 7–9) of the current node receiving the PREQ. This check is required as these nodes interfere with the new connection but may not be part of the selected route. Finally, the MAP checks NE-time availability of itself (lines 13, 14). However, the MAP has to update its NE-time with the new connection requirements before doing so. It should be noted that, when an MAP has some non-elastic connections, then its NE time is already computed (see Algorithm 1, lines 5 and 6). However, when it has no non-elastic connection and this connection is its first non-elastic connection, then its NE time is zero (see Algorithm 1, lines 7 and 8). In this case, the MAP must first compute the NE time of interfering MAPs, then add the new connection’s needed NE time to it (lines 10–12).

Ultimately, if the PREQ is accepted then it will be propagated through the network (lines 15, 16) until it reaches the destination node, also recording previous hop information as it moves along the potential path (line 22). Moreover, any other PREQ received will also be considered (lines 17–21) and will replace the previous PREQ if it represents a better air-time metric. Finally, when the PREQ is received at the destination, a path response (PREP) message is issued over the stored reverse path (line 19) which actually establishes the next-hop relationships along the reverse path until it reaches the source MAP (lines 23–28).

Fig. 7
figure 7

Example routing and CAC scenario

Figure 7 illustrates three different outcomes of the proposed CAC and routing scheme for establishing a connection from S to D. In particular, the NE-connection requested may be rejected by some energy-deprived node E as shown in Fig. 7a and it may be routed over a longer path. In case all paths to the destination have at least one intermediate MAP with insufficient active period, the connection will be rejected altogether as shown in Fig. 7b. In another scenario, the destination MAP will reply to the first received path request but will later receive PREQ with better air-time metric as shown in Fig. 7c.

5 Simulation results

We evaluate the performance of our proposed solution for energy sustainability problem in a typical WMN by extensive simulations using NS-3 network simulator. We simulate a 4 × 4 grid topology and another topology consisting of a critical path, as illustrated in Fig. 8. We also generate 500 random topologies to further assess the performance of our scheme. All MAPs are stationary and adjacent MAPs are connected over a 6 Mbps link. We use a typical main board power consumption of 4 W in active mode and 0.4 W in sleep mode. For the WNIC, we use the Intel 5300 power parameters as listed in Table 2 [32]. Our simulations consist of both randomly generated elastic and non-elastic connections. Elastic connections have enough data to use any amount of available bandwidth, while non-elastic connections have a certain average bandwidth requirement. Connection parameters are summarized in Table 3.

Fig. 8
figure 8

Topologies. a Grid topology. b Critical path topology

Table 2 Energy consumption parameters of the WNIC in different modes
Table 3 Connection parameters

We use solar irradiation data for December 20th, 2005 obtained in the City of Tehran as shown in Fig. 9 as the shortest daylight period and worst case scenario for sustainability. The data is available from SoDa web database [33]. We select the sustainability epoch to be 900 s as our data suggests that solar irradiation is almost constant over such intervalsFootnote 3. Furthermore, we assume \(B^{req}\) for each sustainability epoch to be as in Fig. 10, where a zero minimum battery level is required during early daylight; while it gradually increases to its maximum enough for sustaining the MAP until the next morningFootnote 4.

Fig. 9
figure 9

Irradiation data of the shortest day of year 2005 in Tehran

Fig. 10
figure 10

Minimum battery requirement, \(B^{req}\), adopted for simulations

Fig. 11
figure 11

Battery violation percentage for each sustainability epoch

5.1 Sustainability evaluation

We define sustainability as the ability of the WMN to maintain a minimum battery profile of \(B^{req}\) for all epochs. Many different simulations only revealed miniscule violation in \(B^{req}\). For the sake of illustration, however, Fig. 11 provides violation results for epochs 14:00 to 15:15 of Fig. 10 as indexed by their relative 15min epoch. These epochs are chosen in particular, as both \(B^{req}\) and \(\varGamma\) are non-zero and as it turns out, it corresponds to worst case violation. Clearly, the amount of violation is negligible and stays well below 1%, even considering 95% confidence intervals. Hence, we conclude that our proposed schemes can collectively ensure sustainability with a suggested 99% likelihood. Alternatively, a more conservative approach would be to compensate this violation by increasing \(B^{req}\) by merely 1%. This has no significant effect on the traffic volume that can be passed by the WMN, while it should virtually eliminate violation.

Fig. 12
figure 12

Long term energy evolution for 1 day simulation

Furthermore, Fig. 12 shows how our proposed solution denoted by, “ES-MESH”, performs over a full 24 h period. Clearly, ES-MESH maintains minimum remaining battery after each sustainability epoch according to the requirement set by \(B^{req}\). Note that, 23% of connections spanned more than one epoch. Figure 12 suggests that \(B^{req}\) was never violated. In particular, when a very lengthy connection consumes more energy than expected the duty cycle algorithm suggests a zero value which completely locks admission control allowing no new connections. However, ongoing connections are served as long as \(B^{req}\) is not violated at any instance t of time. In the event that lengthy connections bring the battery level lower than \(B^{req}\) they will be terminated.

Fig. 13
figure 13

Minimum and average duty-cycle for 1 day simulation

Figure 13 also shows how MAP duty-cycle is reduced on average to between 80% and 90% depending on energy conditions. For comparison, we have also included the amount of remaining battery for the conventional IEEE 802.11s scheme, denoted by “MESH”, which falls short of the battery level requirement, once daylight starts to fade.

A counter intuitive observation in Fig. 13 is the zero worst case duty-cycle of some MAP just after the excess input energy region at about 2pm. There is an interesting explanation for this, however. According to the adopted energy management policy, the battery has to be fully charged by darkness. Therefore, it is at about 14:00, that duty cycle is reduced so that some of the input energy can be stored in the batteries. This is only 2 h before evening time when solar energy reaches almost zero. It is during this period of time that the minimum duty cycle for some MAP reaches zero.

Fig. 14
figure 14

Elastic traffic volume in the presence of different number of non-elastic connections

5.2 Handling of elastic traffic by ES-MESH

In this section, we evaluate how the total volume of transported elastic traffic varies in presence of non-elastic traffic and for different energy status. Figure 14 shows total volume of E-traffic transported by the WMN for the MESH topology versus the number of simultaneous NE-connections. As the network admits more NE-connections, ES-MESH implicitly regulates E-connections maintaining the duty-cycle. This is done implicitly, by narrowing \(T_{E}^{\max}\) period, which in turn causes TCP sources to adjust their window size accordingly.

Fig. 15
figure 15

Elastic traffic volume for different energy conditions

Moreover, Fig. 15 shows E-traffic volume for different amounts of total energy. As the available energy becomes larger, duty-cycle increases, expanding \(T_{E}^{\max}\) and consequently allowing more E-traffic to pass. These results suggest that our proposed sleep scheduling scheme, ES-MESH, neatly exploits the elastic nature of TCP connections, requiring no special mechanism to communicate capacity variation. More importantly, ES-MESH naturally maps the energy status of the network to traffic forwarding constraints in a local and distributed manner.

5.3 Energy efficiency evaluation

We compare the performance of ES-MESH to the default behavior of IEEE 802.11s, denoted by MESH, and the optimum solution to the Max-Min-Perfect-Scheduling problem, denoted by PERFECT. This optimum solution is obtained by selecting the path with maximum of minimum remaining battery and applying perfect scheduling conditions such that no energy is consumed due to idle listening, overhearing and collision. This scheme potentially results in maximum sustainability for a given traffic demand.

For performance results we have only applied NE-connections with parameters as specified in Table 3. Moreover, we apply the same traffic which is admitted by ES-MESH to the other alternative methods for a fair comparison. We have ensured in all our simulations that a PDR of 99% is maintained, while average delay is kept very close to the chosen service interval of 500msecFootnote 5.

Fig. 16
figure 16

Sustainability ratio for different energy conditions

Figure 16 shows “sustainability ratio” of the network achieved by ES-MESH, MESH and PERFECT for both Grid and Critical-Path topologies. We define sustainability ratio as the length of time over which the WMN maintains an energy level above \(B^{req}\), divided by the length of a sustainability epoch. Despite having 38% more idle time under PERFECT governance, ES-MESH achieves full sustainability, surprisingly at the same total energy as PERFECT. This is because of the contiguous deep sleep periods of ES-MESH that make up for its less idle time compared to PERFECT. Clearly, ES-MESH outperforms the default 802.11s scheme which requires more than five times the energy to achieve full sustainability.

Fig. 17
figure 17

Traffic volume for different energy conditions

We next consider ES-MESH end-to-end traffic volume during one epoch for both topologies. Figure 17 shows that traffic volume increases with energy with a slope of roughly 26 MB/KJ. After reaching the energy threshold of 4.2 KJ, traffic volume will only be constrained by the capacity of the network and will no longer improve. In fact, the region of interest for ES-MESH is the energy-constrained region where sleep scheduling can affect system performance. Interestingly, Grid and Critical-Path topologies transport almost the same amount of traffic for low to moderate energy, i.e., up to 3.2 KJ. This is counter intuitive, as the Critical-Path topology should be more energy constrained due to having a single bottleneck path. However, as Fig. 18 indicates, the average connection hop-count for Grid topology is larger than that of Critical-Path, which results in more energy to be consumed over the Grid topology. The situation, however, changes as more energy becomes available to the bottleneck path such that accepted connections over the Critical-Path topology will have more hops after 3.2 KJ of energy (see Fig. 18). As a result, traffic volume for Grid becomes larger than that for Critical-Path.

Fig. 18
figure 18

Average hop count for different energy conditions

This is an important observation; the energy configuration of the network can bias connection admission control, such that short-hop connections are accepted more often, positively biasing traffic volume. Therefore, traffic volume alone cannot be a proper metric for assessing energy-efficiency of a certain scheme and connection admission fairness may have to be taken into account as well. For a fair CAC scheme, one should expect hop-count to be close to its capacity-constrained value, which is slightly larger than three for both our topologies (see Fig. 18 for input energies greater than 4.2 KJ).

These results show that our proposed CAC mechanism successfully limits the number of connections admitted to the network so that it is sustainable. However, an important question is to ask whether our CAC operates too conservatively. We have performed many simulations to find the traffic volume of the conventional IEEE 802.11 MAC, denoted by MESH, with no energy constraints and a high PDR of 99%, to be no more than 60MB. Surprisingly, this is much smaller than the 95MB traffic volume transported by ES-MESH (see Fig. 17, the capacity constrained region). Therefore, our proposed CAC scheme performs very tightly. More importantly, our novel and simple sleep scheduling scheme improves network capacity due to regulating channel access allowing the network to operate more energy efficiently.

Fig. 19
figure 19

Minimum remaining battery for different energy conditions

Figure 19 shows the minimum amount of battery leftover across the network at the end of an epoch. Note that for MESH, we always end up with zero energy leftover due to experiencing outage before the end of an epoch, except for input energies larger than 4.2 KJ where the network is capacity constrained. For ES-MESH, we expect the network to barely deplete its energy at the end of each epoch by admitting as many connections as possible, leaving no unused energy. Figure 19 suggests that this almost happens and the minimum battery leftover remains about 1% of initial input energy. PERFECT, on the other hand, is more energy efficient saving significant amounts of energy at the end of each epoch. The amount of this energy saving depends on the network topology (see the curves for Grid and Critical-Path topology in Fig. 19). The gap between battery leftover of ES-MESH and PERFECT can be viewed as the energy penalty of our proposed scheme. This energy penalty is mainly due to energy consumed during overhearing and collisions and to a less degree due to idle listening. Figure 20 shows this “energy penalty” as a fraction of input energy. Variation in energy penalty of the Grid topology is mainly due to the contention dynamics of this topology which is highly varying as more traffic is admitted to the network.

Fig. 20
figure 20

ES-MESH energy penalty compared with PERFECT

Fig. 21
figure 21

Average NE-period under different energy conditions

5.4 Performance of proposed sleep scheduling scheme

Recall that the NE-period is governed by the duty cycle and the amount of activity in its contention domain. Figure 21 shows how NE-period is affected as a result of energy increase. Having many links in the same contention domain and large contention overhead, Grid requires larger NE-period to pass similar traffic volume (see Fig. 17 up to an energy on 3.2 KJ). Also interestingly, sleep periods exist even in the capacity constrained region because there will usually be some contiguous silent time in a given contention domain that can be slept by the MAPs, as a result of contention among MAPs which are further away but share some links with this contention domain.

Fig. 22
figure 22

Average NE energy saving ratio under different energy conditions

Furthermore, recall that ES-MESH allows an MAP to enter sleep period before \(T_{NE}^{\max}\) ends, if it has forwarded all packets for that particular service interval. We define “NE Energy Saving Ratio”, as the ratio of NE-time saved by an MAP to the actual length of \(T_{NE}^{\max}\), which is plotted in Fig. 22. This quantity is a measure of how MAC can schedule transmissions. For IEEE 802.11 MAC, this depends on the contention dynamics of the network and deteriorates as more links exist in a contention domain. In Grid topology this is less than that of Critical-Path topology because it bares more links in the same contention domain so that packet transmissions from more links are shuffled among each other. As a rule of thumb, if a network has a smaller average node degree then it will be more likely to receive extra energy saving ratio. In addition to average node degree, network load also affects energy saving ratio significantly. As network energy increases, more MAPs contend for channel, further reducing energy savings ratio. Interestingly, significant amount of extra energy savings is achieved when the network is energy deprived. This is particularly important because it allows more energy savings over energy deprived networks, hence improving sustainability.

Fig. 23
figure 23

Topologies used to illustrate effect of non-2-hop-interferers on sleep scheduling performance. a Node \(\hbox {degree}=3.9\), \(N2HI=5.6\). b Node \(\hbox {degree}=4.9\), \(N2HI=0.2\). c Node \(\hbox {degree}=3.9\), \(N2HI=0.2\)

Moreover, the average number of non-2-hop-interferers (N2HI), which are those interferering nodes not in an MAP’s two-hop neighborhood, is another topological feature affecting the performance of our sleep scheduling scheme. Note that such links are not accounted for in the calculation of \(T_{NE}^{\max}\). Let us illustrate this by considering three different topologies. Topologies A and C are selected such that both have the same average node degree of 3.9 but different N2HI, while B and C have the same N2HI of 0.2, but different average node degree, as shown in Fig. 23. MAPs of the network having smaller average N2HI, experience less contention/collision, and therefore, finish transmitting their packets sooner than the end of the designated NE-period, enjoying larger energy saving ratio.

Fig. 24
figure 24

The effect of non-two-hop interferers. a Average NE-period duration. b Energy saving ratio during NE-period. c Traffic volume. d Consumed energy for worst MAP.

A larger average node degree, however, will eventually increase NE-time for each MAP, since now there are more conflicting transmissions within the vicinity of a given MAP. This is clearly evident from Fig. 24a, comparing the first and second columns, suggesting a 10% increase in NE-time. Moreover, Fig. 24b shows that the energy saving ratio of the topology in Fig. 23b with N2HI=0.2 is 49% compared to only 41% for that of Fig. 23a with N2HI=5.6.

Unfortunately, the effect of larger node degree outweighs that of smaller N2HI, only to reduce total traffic volume of the second topology to be 5% less than that of the first one (see columns two and one in Fig. 24c). Having both a negligible N2HI and smaller node degree, however, the third topology sketched in Fig. 23c exhibits superior performance in terms of NE-time, energy saving ratio, traffic volume and energy consumption. This is evident from comparing the third column of Figures 24a to 24d to the rest of the columns. In summary, this analysis reveals that firstly, large N2HI is damaging to traffic volume and energy efficiency of the WMN. Secondly, reducing N2HI by making these nodes one/two-hop interferers, only makes matters worse because it penalizes NE-time due to larger node degree. Consequently, the only viable option for dealing with N2HIs, is to eliminate them altogether using well-known topology control approaches. For example, by properly reducing node transmission power for N2HIs to eliminate their interference.

Fig. 25
figure 25

Average delay for total energy of 3200 J

To show the temporal behavior and stability of ES-MESH, we provide brief results on delay, jitter and MAP queue length. Figure 25 shows that although ES-MESH end-to-end delay is much larger than MESH and PERFECT, nevertheless it is limited to the selected service interval. Moreover, jitter was found to be less than 40 msec across all our simulations, which is acceptable for most real-time applications. Delay and jitter can be easily scaled by properly adjusting the service interval. Figure 26 shows average and standard deviation of queue length across MAPs. It can be observed that queue size remains bounded for all energy configurations, which is an indicator of network stability. Moreover, having a small standard deviation of queue length implies that our scheme does not deprive links from being served in a fair manner. We believe this is a very important factor for any sleep scheduling method.

Fig. 26
figure 26

Queue length statistics for different energy conditions

Fig. 27
figure 27

Average sleep duration for different energy conditions

One of the important features of ES-MESH is that it provides large contiguous sleep periods so that both the radio card and the MAP main-board can be put into deep sleep. Figure 27 shows that the average sleep duration per service interval for ES-MESH is much larger than PERFECT. This is due to the fragmentation of sleep periods by PERFECT, which despite having more total sleep time, suffers from short sleep intervals. Figure 28 compares the PDF of various sleep lengths for ES-MESH and PERFECT, backing our claim. Hence, as Fig. 29 also suggests, the rate of switching from active to sleep for PERFECT is much more than ES-MESH. Having large contiguous sleep intervals and negligible active/sleep switch-over rate, ES-MESH provides significant amounts of potential for energy savings for outdoor MAP devices where the majority of power is consumed by the main-board.

Fig. 28
figure 28

ES-MESH and PERFECT. a ES-MESH. b PERFECT

Fig. 29
figure 29

Sleep rate under different energy conditions

5.5 Random topologies

To examine the generality of our proposed solution we test the performance of ES-MESH on 500 randomly generated networks all consisting of 20 MAPs. We only consider an energy input of 2500 J which puts the network roughly in the mid-energy-constrained region. For all simulations the sustainability ratio was found to be 100% and therefore not plotted. Figure 30a shows the minimum remaining battery at the end of a sustainability epoch. Figure 30b, c shows difference between sleep characteristics of ES-MESH and PERFECT. Consistent with results for Grid and Critical-Path topologies, the average length of sleep intervals for ES-MESH is more than an order of magnitude larger than PERFECT and sleep/awake switch-over rate for PERFECT is almost 20 times that of ES-MESH. More importantly, our random topology results have a very narrow 95% confidence interval suggesting that ES-MESH outperforms PERFECT independent of topology.

Fig. 30
figure 30

Comparison of ES-MESH and PERFECT for randomly generated networks. a Minimum remaining battery. b Sleep duration. c Sleep rate

Nevertheless, we investigate the effect of topology parameters on ES-MESH performance. According to the discussions in Sect. 5.4 average node degree and N2HI, are among the most important topological parameters affecting ES-MESH. Figure 31 plots average end-to-end delay versus average N2HI, where each point on the scatter-plot represents a certain topology. It can be observed that for large N2HI values there are some large delays. This is because we do not take into account non-two-hop interferers for NE time calculation while their transmission may interfere with MAP data packets and cause collision. Figures 32 and 33 show NE-time and energy saving ratio vs. average node degree, suggesting that denser networks are correlated with larger NE-time and in turn less energy savings. This is clearly due to the crowded contention domain of dense networks.

Fig. 31
figure 31

Average end-to-end delay versus average N2HI

Fig. 32
figure 32

NE-time versus average node degree

Fig. 33
figure 33

Energy saving ratio versus average node degree

6 Conclusion

We have presented ES-MESH, a sleep coordination and scheduling algorithm for IEEE 802.11s wireless mesh networks with the objective of providing energy sustainability through the use of duty-cycle control, energy-aware routing and admission control. All our proposed schemes work without breaking the IEEE802.11s standard. More importantly, ES-MESH creates large contiguous sleep intervals that can be used to put both the radio interface as well as main-board into sleep saving substantial amounts of energy. These claims are backed by numerous simulations and discussions over both randomly-generated and non-random network topologies. Our results suggest that using ES-MESH creates contiguous sleep intervals which are at least an order of magnitude larger than if perfect scheduling was performed. Moreover, our adaptive duty-cycle control scheme and admission control algorithm can jointly maintain full energy sustainability, while not being conservative.

More importantly, we discovered that significant amount of extra energy savings is achieved when the network is energy deprived. This is particularly important because it allows more energy savings over energy deprived networks, hence improving sustainability. In addition, our results suggest that from a sleep scheduling performance point of view, interfering nodes should either become directly communicating neighbors or at least two-hop-neighbors, or proper power control should be employed to remove their interference altogether. We believe this to be an important finding that can be used in the design of multi-hop wireless networks.