- Research
- Open Access

# Efficient link scheduling for rechargeable wireless ad hoc and sensor networks

- Guodong Sun
^{1}, - Guofu Qiao
^{2}Email author and - Lin Zhao
^{1}

**2013**:223

https://doi.org/10.1186/1687-1499-2013-223

© Sun et al.; licensee Springer. 2013

**Received:**5 May 2013**Accepted:**24 August 2013**Published:**5 September 2013

## Abstract

We study the link scheduling for rechargeable wireless ad hoc and sensor networks to improve network throughput. Efficient link scheduling is highly critical for wireless networks, and a lot of efforts have been made to address this issue. The previous work which only considers how to reduce interference within close-by links, however, fails to improve the network throughput for rechargeable wireless network in which a node, powered by ambient energy (such like solar and vibration) has to be recharged before it can communicate with other nodes. Thus, link scheduling with rechargeable nodes is constrained not only by co-channel interference but also by energy replenishment of the node. In this paper, we develop efficient link scheduling algorithms to improve the network throughput of rechargeable wireless ad hoc and sensor networks. The proposed design, based on realistic network models and mathematical formulation, achieves constant ratio of the best solution. Besides the theoretical analysis, simulation experiments are conducted to evaluate our algorithms.

## Keywords

- Time Slot
- Traffic Load
- Network Throughput
- Communication Graph
- Schedule Period

## Introduction

Many wireless network applications, such as sensor networks and wireless ad hoc networks, are expected to operate a long time with limited energy source. Harvesting the environmental energy to power wireless nodes is a promising method to address the conflict between node’s limited energy and application lifetime requirements. For example, the renewable energy transformed from solar, vibration, thermo, water flow, and corrosion can be employed to recharge wireless nodes[1–6]. However, two major characteristics of rechargeable wireless network make it more difficult to optimize communication performances, in comparison with the traditional wireless network without depending on renewable energy.

First, the operation of rechargeable node often has to be intermittent. In practice, the energy-harvesting rate is usually lower than the energy consumption rate. For example, the energy generated by mechanical vibration is about the level 300 *μ* W/cm^{2}[2], that is, a vibration energy harvester with a surface of 40 cm^{2} can output 12 mW of energy. If such harvester powers Micaz mote working with 60 mW of energy, a recharging cycle of at least 5 s is needed before a 1-s task can be carried out. For the thermoelectric energy harvester fitted on a wristwatch of body health care sensor network[5], it outputs energy at the level of 22 *μ* W, and then it needs a longer recharging duration. Hence, a node has to wait until it accumulates sufficient energy before it can perform tasks of computation and communication. For applications demanding some degree of real-time, therefore, the network throughput would deteriorate significantly without link scheduling.

Second, the ability of harvesting energy is usually heterogeneous among distinct nodes. This is because the energy-producing ability of environments and the energy-accumulating ability of harvesters are possibly different. For instance, in a vibration-powered scenario, a harvester with a small surface of sensing vibration signals will output power lower than that output by the harvester with a large sensing surface, and then it may need more time for recharging before communication can be carried out. Thus, a new challenge facing the link scheduling is that the heterogeneity of ambient power sources must be accounted for.

In this paper, we focus on the link scheduling problem for a rechargeable wireless network to improve the network throughput. Even though link scheduling has attracted a lot of attention in recent years[7–16], the previous works, which only consider how to avoid the co-channel interference in throughput improvement, often gives undesirable or even failed answers in the case with energy replenishment. These previous link scheduling policies have shown their efficiency in network throughput and energy consumption. However, we argue that these polices are all based on a precondition: the two end-nodes of each link is available in terms of energy whenever it is to be scheduled. But this precondition cannot always be satisfied in many energy-rechargeable wireless networks, especially scenarios with extremely low energy-harvesting rate (such as applications powered by vibration, corrosion, or thermo energy).

*u*

_{2},

*u*

_{3}) and (

*u*

_{1},

*u*

_{4}) of Figures1 and2 interfere with each other. Figure1 shows a schedule using three distinct time slots for all four links. Figure2 considers the restriction posed by both interference and energy replenishment, and assumes that each node needs some time units to recharge its energy buffer. For simplicity, we assume that the energy buffer of each node contains only energy that transmits or receives a single packet. If a node recharges fully at time slot

*t*, it can then communicate at

*t*+1. If the energy buffers of all four nodes of Figure2 are empty at time 0, link (

*u*

_{1},

*u*

_{2}) can just be scheduled after time 6, even though

*u*

_{1}will have already recharged fully at time 2. Similarly, due to the restriction of energy replenishment, we complete scheduling all four links of Figure2 until time 12. Therefore, we can see that the couple of interference and energy replenishment determines the link scheduling and its performance. Moreover, it is worth pointing out that the total schedule time in Figure2 should not be measured by the number of time assignments for all links, as done in Figure1, but by the span of time units for all links. This is an important difference from the previous wireless link scheduling without energy replenishment or from the frequency assignment for cellular network.

The main objective of our work is to find a link scheduling for a rechargeable wireless network, using a period as small as possible, while guaranteeing that each node has enough energy when being scheduled. To efficiently address the link scheduling restricted by both energy harvesting and co-channel interference, we employ the following studies. First, we take the link scheduling problem under a more realistic network model, the request-to-send (RTS)/clear-to-send (CTS) model, under which the communication graph can be an arbitrary geometric graph. We also use a practical energy-harvesting model, which profiles a large class of ambient energy sources outputting very low energy, such as vibration, thermo, and corrosion. Based on these realistic models, we transform the link scheduling problem to a vertex-coloring problem, using the concept of conflict graph which profile interferences in a co-channel wireless network. Second, we design two effective, low-complexity algorithms for link scheduling in two cases - with and without considering traffic flows. Specially, we provide theoretical bounds for our algorithms in these two cases. Finally, we evaluate our algorithms via primary simulation experiments.

## Related work

Rechargeable wireless networks, especially rechargeable sensor networks, have attracted more attention recently. The node uses an energy harvester to collect energy from its surroundings. More effort is put on the design of energy-recharging circuit which can be integrated to customer-off-the-shelf sensor mote, such like Crossbow Mica-family mote and Berkeley Telos mote. The early work is attributed to Kansal et al.[1] who design a solar-powered sensor node and an energy metric, EEHF, which assigns more loads at nodes with a higher energy-harvesting rate. Helimote[17] is an energy-harvesting system with a single storage for solar energy. Built on Mica2 mote, Helimote recharges two AA Ni-MH batteries. Helimote can learn its energy availability and usage via an energy monitoring component. Jiang et al.[18] design Prometheus, a hybrid energy storage system for solar energy. Built on Telos, Prometheus mote is powered by the supercapacitors, called the primary energy buffer, or by the rechargeable Li-ion battery, called the secondary energy buffer. If the primary buffer energy is less than some threshold, the mote falls back to the secondary buffer until the primary one recharges fully again. Similar to Prometheus, AmbiMax[19] uses hybrid energy storage, but AmbiMax tracks the maximum power point automatically, without needing the control of MCU. EverLast[20] is a supercapacitor-driven sensor mote, and it uses PFM controller and regulator to harvest the solar energy. To track the maximum power point, EverLast is built with a complex charging circuit. Qiao et al.[21] discuss the feasibility of powering wireless nodes with the energy from corrosion process.

Besides the platform designs, there are recently some studies focusing on the routing algorithms in rechargeable wireless network. Lin et al.[22] developed a routing scheme to optimize the network throughput by an energy model assuming heterogeneous energy-harvesting rates. CHESS[23] is a routing metric for energy-harvesting sensor networks. It uses hybrid energy storage and assigns different costs to the energy in supercapacitor and the rechargeable batteries and favors routes with more energy. Eu et al.[24] studied optimal routing in an energy-harvesting sensor network with optimal relay node placement and investigated the impact of routing and node placement on the network performance. In[25], they proposed a lexicographically maximal data rate assignment for each source node such that no node runs out of energy. In[26], two schemes, QuickFix and SnapIt, were proposed. QuickFix computes the static routes using the sub-gradient method, and based on QuickFix, SnapIt adaptively allocates sampling rate for a single node with a possibly dynamic recharging rate. In[27], the authors investigated the finite-horizon problem in rechargeable sensor networks and proposed an approach including three steps: first, optimize the throughput of a single node; second, design an online algorithm, assuming that the future energy-harvesting rate is predictable; and third, to improve complexity, propose a heuristic distributed algorithm which is optimal with homogeneous energy-harvesting rate of nodes.

As a kind of resource allocation to optimize network throughput, link scheduling has been studied extensively in the past few years. Essentially, link scheduling can be reduced to graph coloring problems. An early work[28] has a vertex color graph *G* with *δ*+1 colors, where *δ* is the minimum degree in *G*. A unified framework for TDMA-, FDMA-, and CDMA-based multi-hop wireless network is proposed in[29], in which the time slot assignment for all edges is at most$\mathcal{O}\left(\theta \right)$ times the best solution, where *θ* evaluates the degree that the graph can be decomposed. In[30], a$\mathcal{O}(\Delta +1)$-coloring is designed with time$\mathcal{O}(logn+\Delta )$, where *δ* is the maximum degree of *G*. However, those algorithms do not consider the interference of practical wireless application and then cannot work directly in wireless networks.

Gandham et al.[13] designed a two-phase approach which first computes a valid edge coloring and then assigns directions for all edges to avoid interference. The performance is guaranteed only with tree topology. The coloring in[31] is a$\mathcal{O}(\Delta logn)$ distributed algorithm using *δ* colors, but in the unit disk graph (UDG) model, they may make interfering links still use the same color. Kodialam et al.[32] considered jointly routing and link scheduling with the protocol interference model and solved the scheduling problem as an edge-coloring problem. They also extended the algorithm to the multi-radio and multi-channel scenario[33]. Alicherry et al.[9] established necessary and sufficient conditions for interference-free link schedule and proposed a simple greedy algorithm based on the UDG model. Sharma et al.[34] defined a *K*-hop interference model under which no two links within *K* hops can be scheduled simultaneously and presented a centralized greedy matching algorithm with a constant factor. The same authors studied greedy maximal scheduling with the *K*-hop interference model[35]. Wan et al.[36] studied the link scheduling with a physical interference model.They also presented a link scheduling algorithm without requiring node’s location information[15]. Koulali et al.[37] designed a centralized power control scheme for rechargeable wireless multimedia sensor networks.

## Models and assumptions

In this section, we will present the wireless communication models and some assumptions used in our study and will describe the link scheduling problem formally.

### Network and interference models

We assume that there is a set *V* of nodes deployed in a plane, each of which is location-fixed and equipped with the identical radio. The wireless network then forms a communication graph *G*=(*V*,*E*), where *E* is the set of all radio links among nodes. Denote link (*v*_{
i
},*v*_{
j
}) by *ℓ*_{i,j}. The transmission range of each node *v*_{
i
} of *V* is *r*_{
i
}. It is necessary for node *v*_{
j
} to correctly receive data from *v*_{
i
} that the Euclidean distance between *v*_{
i
} and *v*_{
j
}, ||*v*_{
i
}−*v*_{
j
}||, is not larger than *r*_{
i
}. Note here that ||*v*_{
i
}−*v*_{
j
}||≤*r*_{
i
} is not the sufficient condition for (*v*_{
i
},*v*_{
j
})∈*E* because some links may be cut off by obstacles or forbidden by topology controls as well as routing policies. Each node *v*_{
i
} has an interference range, which is generally equal to or greater than *r*_{
i
}. For the ease of analysis, the interference range is hereafter assumed to be the same as the transmission range. But we use a more realistic interference radius setting in simulation experiments. We assume that the operation time of all nodes is equally slotted and synchronized and that the size of all packets are the same. In general, the link scheduling is to assign every link a set of time slots. Let *τ* denote the time span of a slot and assume that in a slot, a node can either transmit or receive only one packet, except for necessary control bits.

*ℓ*

_{p,q}and

*ℓ*

_{q,p}cannot be scheduled concurrently for a single-radio network. Additionally, since node

*u*

_{ q }locates within the interference range of

*v*

_{ i }, links

*ℓ*

_{i,j}and

*ℓ*

_{p,q}cannot be scheduled at the same time to avoid conflict at

*v*

_{ j }. Besides, in real scenarios, for improving the network reliability or other network performance, there are other kinds of interference that pose restrictions on link scheduling, such as the RTS and CTS control schemes used in 802.11-like MAC protocols.

*ℓ*

_{i,j}and

*ℓ*

_{p,q}can be active simultaneously, it must be satisfied that

*v*

_{ i },

*v*

_{ j },

*v*

_{ p }, and

*v*

_{ q }are four distinct nodes, and

*v*

_{ i }as well as

*v*

_{ j }is not covered by the interference regions of

*v*

_{ p }and

*v*

_{ q }, and vice versa. In Figure4a, the RTS message from

*v*

_{ j }will be listened by

*u*

_{ p }, so

*u*

_{ p }must postpone its transmission to

*u*

_{ q }. In Figure4b, if

*v*

_{ j }admits to receive data from

*v*

_{ i },

*v*

_{ j }will send a CTS message, which will also be received by

*u*

_{ p }, then

*ℓ*

_{p,q}should not be scheduled while

*ℓ*

_{i,j}is active. Clearly, in comparison with the UDG model, the RTS/CTS model neither requires that all nodes have the same radio range nor assumes that two nodes within each other’s radio range must be able to communicate. Therefore, the RTS/CTS model does not preclude the topology or transmit power control algorithms, thereby being more realistic and layer-independent for real scenarios.

### Energy harvesting model

In practice, the rechargeable wireless node is equipped with a harvester unit which transforms ambient signals into trickles of electrical energy. The energy buffer of the rechargeable node is often very limited in capacity due to the constraints of package size and cost. In addition, for some scenarios where the environmental energy is extremely low in output power, nodes have to use longer periods of time to recharge their energy buffer before they can carry out tasks. Therefore, it is often impossible for a node to quickly buffer much energy for longtime, continual operation. Combined with the challenge of co-channel interference, the constrained and intermittent energy provision motivates us to investigate efficient link scheduling in the context of recharging wireless networks, such that the network throughput can be improved by carefully assigning time slots for links.

For simplicity, we only consider the energy consumption in communication because in low-rate, low-power wireless scenarios, communication consumes significant energy in comparison with computation. We also assume that transmitting and receiving data consumes identical power, e.g., for TI’s CC2420 radio chip, the current consumption in transmitting and receiving are 17.4 and 19.4 mA, respectively.

Denote by *ε* the energy consumed by one-packet transmission or reception. In data communication with acknowledgement (ACK) scheme, *ε* represents the total energy used in transmitting a packet and receiving the ACK message. In the real world, the surrounding energy distributes unevenly because of different natural environments or deployments. Therefore, different nodes may have different energy-harvesting abilities - different recharging durations. Let *γ* be the duration (in time slot) for a node to harvest 1*ε* energy, and obviously, *γ* evaluates the energy-harvesting ability of that node. If *γ*=0 for a node, then it means that this node has an always-available energy source. We assume that for a given node, its energy-harvesting duration is constant or varies in a very small range and is known *a priori*. This assumption profiles many typical environmental energy sources in practice, such as the vibration in factory[2], the thermo-heat of the human body in mobile health care[5], and the corrosion of steel-concrete structures[3], where all the energy generation rates vary little even in a long period, say, several weeks, or even months. In this paper, the rechargeable nodes work with two alternate states: active and dormant states[41–44]. In detail, when a node has enough energy, it will enter the active state to perform computation and communication; otherwise, it will enter the sleeping state while leaving only the harvesting module active.

### Problem formulation

In a time-slotted wireless network, a link schedule is to find a time slot assignment for each link, and it is called *valid* if at any time slot, two active links are not conflicting. *T* is called the *schedule period* if it takes *T* time slots to schedule all the links once (without considering traffic load) or all the flows once (with considering traffic load). Link scheduling often aims at improving the network throughput, i.e., reducing *T* to be as small as possible while making the network conflict-free.

Besides the interference restriction, the link scheduling in rechargeable wireless network is restricted by the energy dynamics of node because one or two end nodes of a link may need more time to recharge until it (they) harvest sufficient energy to transmit or receive a packet. In this paper, therefore, the objective of link scheduling is to determine a time slot assignment for all links or flows with a smallest possible schedule period, such that not only interference can be avoided, but also each node has enough energy upon being scheduled.

For a given communication network, the link schedule is essentially a kind of edge-coloring problem in the communication graph. Different from the UDG model, however, our RTS/CTS model leads to a more realistic but more complex interference relationship among close-by links. To address this problem, we use the concept of the conflict graph[10, 11, 40] to transform link scheduling to a vertex-coloring problem as follows.

*F*

_{ G }be the conflict graph of a given communication graph

*G*. Each edge (link) of

*G*is converted to a vertex of

*F*

_{ G }, and two vertices of

*F*

_{ G }(both of them represent two links of

*G*) are connected with an edge if they conflict with each other in

*G*, according to the RTS/CTS model. Figure5, for example, shows communication graph

*G*and its conflict graph

*F*

_{ G }. It is clear that we can obtain an interference-free link schedule for

*G*by finding a proper vertex-coloring of

*F*

_{ G }. To make the conflict graph able to evaluate the level and dynamics of the node’s energy, we extend the above conflict graph model by adding a weight, denoted by

*ϖ*

_{i,j}, for each vertex of

*F*

_{ G }, where

*ϖ*

_{i,j}= max{

*w*

_{ i },

*w*

_{ j }} and

*w*

_{ i }and

*w*

_{ j }represent the earliest possible time for

*v*

_{ i }and

*v*

_{ j }to be scheduled, respectively. Obviously,

*w*

_{ i }varies according to time and then is determined by

*γ*

_{ i }, the harvesting duration of

*v*

_{ i }, and by the current schedule of links nearby or adjacent to

*v*

_{ i }. In Figure5,

*γ*

_{1}=2 and

*γ*

_{2}=3. If the initial energy of both

*v*

_{1}and

*v*

_{2}is empty at time slot 0, we have

*w*

_{1}=3 and

*w*

_{2}=4, i.e., the earliest schedulable times for

*v*

_{1}and

*v*

_{2}are time slots 3 and 4, respectively, and consequently,

*ϖ*

_{1,2}is equal to 4 according to the definition.

Note that in the context of rechargeable wireless network, the concern on vertex-coloring *F*_{
G
} is not to achieve the smallest possible number of colors (time slots), much the way the previous link scheduling schemes assuming always-available energy source does, but to find a schedule for all links with the smallest possible span of time slots, which is the way to evaluate and improve the performance of link scheduling for energy-rechargeable wireless applications.

## Algorithm design

In this section we will, in detail, present two link scheduling algorithms for rechargeable wireless network, with and without considering the traffic load, and theoretically analyze their complexity and prove their performance.

### Scheduling without traffic load

*u*of

*G*, besides its harvesting duration

*γ*

_{ u }as well as its earliest schedulable time

*w*

_{ i }, we also use two other variables to describe

*u*’s state at time

*t*:

*e*

_{ u }and

*s*

_{ u }, where

*e*

_{ u }represents the energy level of

*u*and

*s*

_{ u }the times that

*u*has been already scheduled till time

*t*. At a given time

*t*, if we know

*γ*

_{ u }and

*s*

_{ u }, then we can calculate the current energy level of

*u*by Equation 1. At time

*t*, if

*e*

_{ u }>1

*ε*,

*u*can be scheduled immediately, that is,

*w*

_{ u }=

*t*, and if

*e*

_{ u }=1

*ε*, we have

*w*

_{ u }=

*t*+1. If

*e*

_{ u }<

*ε*at time

*t*, however,

*u*needs more time to collect sufficient energy before it can be scheduled, and

*w*

_{ u }can be calculated by Equation 2:

According to the calculation of *w*_{
u
} of each vertex *u*, we can easily determine the earliest schedulable time of a link. For two vertices (links) *ℓ*_{i,j} and *ℓ*_{p,q} of *F*_{
G
}, if *ϖ*_{i,j} is less than *ϖ*_{p,q} or if *ϖ*_{i,j}=*ϖ*_{p,q} but the degree of *ℓ*_{i,j} is less than that of *ℓ*_{p,q}, we say that link *ℓ*_{i,j}*proceeds* link *ℓ*_{p,q}.

Among the centralized link scheduling algorithms previously presented, the common method is to use the greedy graph coloring to assign each vertex the minimum possible time slot. There is a critical difference among these works: they use different orders to greedily color vertices. Our centralized scheduling is also based on the greedy vertex coloring used in general graphs: the earliest available vertex of *F*_{
G
} will always be first colored with the smallest possible time slot (color), and of two links with identical earliest available time, the link with minimum degree will be scheduled preferentially. Algorithm 1 details the centralized link scheduling without considering traffic load. Construction of conflict graph needs time of$\mathcal{O}\left({m}^{2}\right)$, where *m* is the number of links of *G*. It can be easily deduced that in Algorithm 1, every vertex of *F*_{
G
} is selected only once and that all unselected vertices adjacent to the currently selected vertex are scanned to update their earliest schedulable times. So the time complexity of Algorithm 1 is also$\mathcal{O}\left({m}^{2}\right)$. Next, we will prove the performance of Algorithm 1.

#### Algorithm 1 **Link scheduling without traffic load**

Let *R*_{
x
} be the interference region of vertex *x*, a circle centering *x* and with radius of *R*_{
x
}. Let${N}_{x}^{\ge}$ be the set of vertices whose interference radius is at least *R*_{
x
} and who interfere with some vertices covered by *R*_{
x
}. The interference radius of a link *ℓ*_{u,v} is defined as *r*_{u,v} (or *r*_{
ℓ
}) which equals max{*r*_{
u
},*r*_{
v
}}. And denote by${I}^{\ge}\left(\ell \right)$ the set of links who interfere with *ℓ* and whose interference radius is at least *r*_{
ℓ
}. Clearly${I}^{\ge}\left(\ell \right)$ is an effective lower bound for the potential interferences to be experienced by vertex *x*.

#### Theorem 1

Given a vertex *v*_{
x
} and any subset *v*_{
x
} of${N}_{x}^{\ge}$, there exists a vertex subset${V}_{x}^{\prime}$ of *v*_{
x
} with size at least |*V*_{
x
}|/*φ* such that each vertex of${V}_{x}^{\prime}$ interferes with or is interfered by at least one other vertices, where *φ* is upper-bounded by 30.

#### Proof

See Appendix. □

Theorem 1 implicates that in${N}_{x}^{\ge}$, a set of vertices that possibly interferes with the transmission from *v*_{
x
} or to *v*_{
x
}, there exists a subset of${N}_{x}^{\ge}$, in which for any two vertices, *u*_{
i
} and *u*_{
j
}, *u*_{
i
} interferes with *u*_{
j
}, *u*_{
j
} interferes with *u*_{
i
}, or both. Even though Theorem 1 estimates only the degree of local interference at level of vertex, we can extend it to the level of link using Corollary 1

#### Corollary 1.

For any given link *ℓ*, there exists a subset of$\left|{I}^{\ge}\right(\ell \left)\right|$ of size at least$\left|{I}^{\ge}\right(\ell \left)\right|/2\phi $, in which any pair of links interferes with each other under the RTS/CTS model.

#### Proof

See Appendix. □

In fact, Corollary 1 indicates that if a vertex (link) *ℓ*_{0} of conflict graph *F*_{
G
} has *k* neighboring vertices (links), *ℓ*_{1},*ℓ*_{2},…*ℓ*_{
k
}, then *ℓ*_{0} must have at least *k*/2*φ* neighbors that are mutually interfering; in other words, the graph formed by these *k* vertices and the edges between them contains a clique of order *k*/2*φ*.

#### Theorem 2

For a given communication graph *G*, if its conflict graph is a clique of order *m*, denoted by${F}_{G}^{\mathcal{K}}$, then we need as least (*γ*_{
min
}+*m*+1) time slots for scheduling all links, where *γ*_{
min
} is the shortest harvesting duration of *G*’s vertices and *m* is the number of links of *G*.

#### Proof

*G*. As shown in Figure6, for example, all five links in

*G*are interfering and form clique${F}_{G}^{\mathcal{K}}$ of order five, but they have no common vertices. In such a case, the energy levels at both end vertices of a given link put no effect on scheduling other links of

*G*in terms of the energy restriction. The schedule period depends only on close-by interferences and the local harvesting rates. Suppose that the fastest possible schedule is

*T*

_{ K }time slots in this case; obviously,

*T*

_{ K }is at least (

*γ*

_{min}+

*m*+1).

If two links of *G* is incident in Figure6, the conflict graph is still clique${F}_{G}^{\mathcal{K}}$; however, coloring these two adjacent vertices (links) of${F}_{G}^{\mathcal{K}}$ will have to be affected (restricted) by the energy replenishment of the incident vertex. Thus, the schedule period must be greater than or equal to *T*_{
K
}=*γ*_{
min
}+*m*+1, where *m* is the order of the conflict graph. □

Because what we are concerned about is the span of time slots for all links, it is reasonable to treat the maximum assigned time slot as the schedule period. Theorem 2 helps in determining an effective lower bound for an arbitrary wireless network with constraints of co-channel interference and energy replenishment. Based on Theorem 2, the following theorem will prove that Algorithm 1 can achieve a constant factor of the optimal link scheduling.

#### Theorem 3

Algorithm 1 computes a valid time slot assignment using at most 2*φ*(*γ*_{
max
}+1) times the time slots needed by the optimal schedule, where *γ*_{
max
} is the longest harvesting duration of vertex in *G* and *φ* is the upper bound deduced in Theorem 1.

#### Proof

Note that in step four of this algorithm, we always assign a vertex which is the time slot that has not yet been used by any of its adjacent vertices of *F*_{
G
}. Thus, it is easy to know that Algorithm 1 is conflict-free. Next, we prove the algorithm’s performance.

Let${\mathcal{T}}_{\text{OPT}}$ and${\mathcal{T}}_{\text{Alg}1}$ be the scheduling period’s output by the optimal algorithm and Algorithm 1, respectively. Suppose that *v* is the vertex with the maximum degree in *F*_{
G
} and its degree is denoted by *δ*_{
v
}. Corollary 1 implies that for *v*, there exists a clique (including *v* and its neighbors), whose size is at least (*δ*_{
v
}+1)/2*φ*. Then, by Theorem 2, we need at least (*γ*_{min}+(*δ*_{
v
}+1)/2*φ*+1) time slots for scheduling all vertices (links) of the clique, without considering other vertices of *F*_{
G
}. So we have an effective lower bound for the optimal algorithm’s performance, that is,${\mathcal{T}}_{\text{opt}}\ge ({\gamma}_{\text{min}}+({\delta}_{v}+1)/2\phi +1)$.

It is not straightforward to derive a tight upper bound of${\mathcal{T}}_{\text{Alg}1}$. Here, we use some theories about *T*-coloring problem[45–47] for the proof. We construct a *T*-coloring-based schedule for *G*, whose period is longer than that of Algorithm 1 but is easy to be upper-bounded. Given a graph, a *T*-coloring is to assign each vertex an integer such that the absolute value of the difference between integers for adjacent vertices does not belong to *T* which is called *T* set. In our scenario, for example, if the *T* set is {0,4} and a vertex of *F*_{
G
} is the given color (time slot) *c*, then its neighbor (links) can be given neither color *c* nor color *c*+4.

Now let *T* set be$\{0,1,2,\dots ,{\gamma}_{max}\}$. In the schedule based on this *T* set, any two adjacent vertices (links) of *F*_{
G
} are sure to be conflict-free because 0∈*T*, meaning that two adjacent vertices will not be assigned the same time slot. In fact, for any two adjacent vertices of *F*_{
G
}, the difference of time slot assigned to them is at least *γ*_{max}+1, which is according to the definition of the *T* set, and therefore, such a *T* set results in a *T*-coloring schedule that is feasible for rechargeable wireless network, in terms of interference and energy. It is clear that the *T*-coloring-based link scheduling always waits at least (*γ*_{max}+1) time slots between two consecutive schedules of two interfering links, without considering whether or not the second link is already available before being scheduled. In contrast, Algorithm 1, based on the maximal scheduling policy, always schedules a link the moment it is feasible in terms of both energy and interference and consequently uses less time than the above *T*-coloring counterpart does. Obviously, the performance of *T*-coloring-based scheduling provides a natural upper bound for Algorithm 1.

*T*-coloring graph

*G*, the minimum span over all

*T*-colors for

*G*, denoted by sp

_{ T }(

*G*), can be expressed by (

*r*+1)(

*χ*(

*G*)−1), where

*χ*(

*G*) is the chromatic number of

*G*(without being restricted by the

*T*set) and

*r*is the maximum integer of the

*T*set. Recall that we have assumed that the maximum degree of

*F*

_{ G }is

*δ*

_{ v }; we know that the chromatic number

*χ*(

*F*

_{ G }) must be less than or equal to (

*δ*

_{ v }+1), according to the principle of graph theory. Furthermore, we have sp

_{ T }(

*G*)≤

*r*

*δ*

_{ v }. Thus, Algorithm 1 uses at most (

*γ*

_{max}+1)

*δ*

_{ v }time slots for scheduling all links once, that is,${\mathcal{T}}_{\text{Alg}1}\le ({\gamma}_{max}+1){\delta}_{v}$:

According to the lower bound for${\mathcal{T}}_{\text{OPT}}$ and the upper bound for${\mathcal{T}}_{\text{Alg}1}$, we have Equation 3, that is, the schedule period of Algorithm 1 is at most 2*φ*(*γ*_{max}+1) times that of the optimal solution. □

Note that in the proof of Theorem 3, we assume that the vertex with the maximum degree in *F*_{
G
} has the worst harvesting duration. Thus, the upper bound for the performance of Algorithm 1 can be improved with a tighter analysis if we have further knowledge about the distribution of harvesting rates among nodes.

### Scheduling with traffic load

The algorithm proposed above is based on the assumption that all links are needed to deliver equal traffic load. But not all communication patterns support this assumption, especially the many-to-one wireless sensor networking that uses a few links to collect data from all source nodes. In this section, we will design a more general scheduling framework considering traffic load of link and prove its performance based on the previous analysis.

Now consider a communication graph *G*. For source vertex *s*_{
i
} and terminal vertex *t*_{
i
}, there are *k*(*k*≥1) flows from *s*_{
i
} to *t*_{
i
} that are determined by some routing algorithm. For each link *ℓ* of *G*, its traffic load can be measured by$\sum \phantom{\rule{0.3em}{0ex}}{f}_{i}\left(\ell \right)$, where *f*_{
i
}(*ℓ*) means the *i* th flow traversing through link *ℓ*. Exactly, if the bandwidth of *ℓ* is *b*_{
ℓ
}, then *ℓ* needs to be assigned$\lceil \frac{1}{{b}_{\ell}}\sum \phantom{\rule{0.3em}{0ex}}{f}_{i}\left(\ell \right)\rceil $ time slots in a single schedule of all flows, which is the link traffic load of *ℓ* in terms of time slot. In practice, the traffic load through each link can be determined once the routing algorithm terminates correctly, and in general, a link is possibly scheduled multiple times - assigned with multiple time slots - for scheduling all flows.

#### Algorithm 2 **Link scheduling with traffic load**

*G*will deliver two flows: one is from

*v*

_{1}to

*v*

_{4}and the other is from

*v*

_{2}to

*v*

_{4}. Both flows traverse past

*v*

_{3}, so link

*ℓ*

_{1,3}takes the load of one unit,

*ℓ*

_{2,3}takes the load of one unit, and

*ℓ*

_{3,4}takes the load of two units. The middle graph in Figure7,

*F*

_{ G }, is the conflict graph of

*G*without considering the traffic load. To schedule two flows, however, we need to assign three links

*ℓ*

_{1,3},

*ℓ*

_{2,3}, and

*ℓ*

_{3,4}: one time slot, one time slot, and two time slots, respectively. We rename

*ℓ*

_{3,4}using${\ell}_{3,4}^{1}$ and add into

*F*

_{ G }a new vertex, denoted by${\ell}_{3,4}^{2}$, such that${\ell}_{3,4}^{2}$ relates with other vertices as

*ℓ*

_{3,4}does. In other words, we connect${\ell}_{3,4}^{2}$ and

*ℓ*if there is an edge between${\ell}_{3,4}^{1}$ and

*ℓ*in

*F*

_{ G }. Of course we should also add an edge between${\ell}_{3,4}^{1}$ and${\ell}_{3,4}^{2}$. In doing so, the conflict graph

*F*

_{ G }is extended to${F}_{G}^{\prime}$, shown on the right side of Figure7. Clearly,${F}_{G}^{\prime}$ not only demonstrates the restriction of interference in link scheduling, as

*F*

_{ G }does, but also indicates the number of times for scheduling each link. Now we can complete scheduling all flows of

*G*as soon as each vertex (link) of${F}_{G}^{\prime}$ is scheduled once.

From the process of extending *F*_{
G
} into${F}_{G}^{\prime}$, we can see that the complexity of such extension depends on flows over communication network *G*, i.e., on the weight (traffic load) of each link. For a wireless network with *n* nodes, the traffic load through any node is of order$\mathcal{O}\left(n\right)$. Step 3 of Algorithm 2 examines each vertex to verify whether its weight is greater than one, consuming$\mathcal{O}\left(m\right)$ time where *m* is the number of vertices of *F*_{
G
} (or the number of links of *G*). Combining steps 3 and 4 of Algorithm 2, the extension from *F*_{
G
} to${F}_{G}^{\prime}$ requires$\mathcal{O}\left(\mathit{\text{mn}}\right)$ time. Since the construction of *F*_{
G
} is of time complexity$\mathcal{O}\left({m}^{2}\right)$, as analyzed in the previous section, Algorithm 2 terminates with time of order$\mathcal{O}(max\{{m}^{2},\mathit{\text{mn}}\left\}\right)$. We next prove the validity and performance of Algorithm 2 via Theorem 4

#### Theorem 4.

For a given communication graph, Algorithm 2 returns a valid link schedule for all flows, which uses at most *k* times that of the optimal solution considering the traffic load if Algorithm 1 uses at most *k* times the optimal solution without considering the traffic load.

#### Proof

For a given communication graph *G* and a set of flows through *G*, suppose that the traffic load of each link of *G* is at least one. Let${\mathcal{T}}_{\text{OPT}}^{f}$ be the minimum span of time slots for scheduling all vertices of *F*_{
G
}, considering link traffic, and let${\mathcal{T}}_{\text{OPT}}$ be the minimum span of time slots for scheduling all vertices of${F}_{G}^{\prime}$, without considering link traffic. If${\mathcal{T}}_{\text{OPT}}^{f}>{\mathcal{T}}_{\text{OPT}}$, then we can use the optimal schedule on${F}_{G}^{\prime}$ to construct a new schedule for *F*_{
G
} with a smaller period. So${\mathcal{T}}_{\text{OPT}}^{f}$ is not the best solution; it contradicts. Similarly, we know that${\mathcal{T}}_{\text{OPT}}^{f}<{\mathcal{T}}_{\text{OPT}}$ is impossible too. Thus, we have${\mathcal{T}}_{\text{OPT}}^{f}={\mathcal{T}}_{\text{OPT}}$ for a given *G* and any flow assignment through *G*.

Essentially, the operation of Algorithm 2 is equivalent to running Algorithm 1 on the extended conflict graph,${F}_{G}^{\prime}$. If the schedule period for${F}_{G}^{\prime}$ output by Algorithm 1 is *k* times${\mathcal{T}}_{\text{OPT}}$, then it is also *k* times${\mathcal{T}}_{\text{OPT}}^{f}$. Note that it is possible for a routing to forbid some links, which makes them not to be scheduled at all; however, this theorem still holds in such a case. □

## Performance evaluation

In this section, we conduct extensive simulations to evaluate our algorithms and compare their performance with the lower bound of the optimal solution. In the case without traffic flows, the lower bound on the optimum is set to be max{*γ*_{
i
}·*δ*_{
i
}}+1, where *δ*_{
i
} is the degree of vertex *v*_{
i
} in the communication *G*, and in the case with flows, the lower bound on the optimum is set to be$max\{{\gamma}_{i}\sum \phantom{\rule{0.3em}{0ex}}{f}_{i}\}$, where *f*_{
i
} is the total flows past *v*_{
i
}. Clearly, the smaller the ratio to the lower bound for optimum, the better is the performance of the proposed algorithms.

In simulation, nodes are randomly deployed in a uniform way within a 40×40 square. The transmit range of node is randomly selected from 10 to 15 and fixed in simulation. For each node, its interference range is set to be twice its transmit range, much the way the IEEE 802.11 scheme works. The time span of a single time slot, *τ*, is set to be 500 ms which should be able to cover some control messages (RTS, CTS, and ACK), even though we neglect the control message exchange in our simulation. Every node randomly selects an energy-harvesting duration from the integer set of {0,1,…,*γ*_{max}}. Each simulation result is reported with the average of 100 random deployments.

*γ*

_{max}, when the number of nodes increases, more time is needed as expected. Why does the case with the smallest

*γ*

_{max}achieve a schedule period similar to the case with the largest

*γ*

_{max}? Figure9 gives an answer. From Figure9, we can see that for a network size, the performance of Algorithm 1 becomes better as

*γ*

_{max}increases. This is because the larger the

*γ*

_{max}is, the larger the deviation of node’s recharging cycles, and then the earliest schedulable times of distinct nodes will not overlap too much, as the case with what the smaller

*γ*

_{max}will experience. Additionally, given a

*γ*

_{max}, increasing the network size deteriorates the performance due to more interference. Thus, as expected, Algorithm 1 may behave better with less interference, that is, it is more suitable for scenarios with sparse distribution or short radio range.

## Conclusions

In wireless ad hoc and sensor networks with renewable energy, not only the co-channel interference but also the energy replenishment weighs heavily against increasing the network throughput. So an efficient link scheduling is highly demanded in rechargeable wireless networks, especially in scenarios with very low ability in harvesting ambient energy. To the best of our knowledge, we are the first to investigate how to efficiently schedule links restricted by both interference and energy replenishment. Based on realistic network models, we first proposed a centralized scheduling for all links without considering the link load, and the achieved period of feasible schedule is within constant ratio of the best solution. We then proposed a more general link scheduling algorithm for network flows, with the proven performance of a constant factor. The simulation results also demonstrate the performance of our designs. In this paper, we did not analyze the stability of Algorithm 2 with an arbitrary pattern of network flows. Additionally, it is very difficult and challenging to design a localized link scheduling with a constant factor for a rechargeable wireless network because local decision may dramatically influence future performance in a hard predictable way. In the future, we will focus on these two aspects.

## Appendix

### Proof of Theorem 1

Given a vertex *v*_{
x
} and a subset *v*_{
x
} of${N}_{x}^{\ge}$, suppose that *v*_{
x
}’s interference radius and region are *R*_{
x
} and *R*_{
x
}, respectively. We divide *v*_{
x
} into three parts, according to the locations of its vertices:${V}_{x}^{1}$ whose vertices are within *R*_{
x
},${V}_{x}^{2}$ whose vertices are out of *R*_{
x
} but covered by the circle centering *v*_{
x
} and with the radius of$\sqrt{3}{r}_{x}$, and${V}_{x}^{3}$ (the other vertices of *v*_{
x
}). In this proof, we only need to prove that for any two vertices *u* and *v* of${V}_{x}^{\prime}$, the distance *d*_{u,v} is at most max{*r*_{
u
},*r*_{
v
}}. The basic idea of this proof is similar to the work of[40], but we improve it with a tighter upper bound for *φ*.

*R*

_{1}, by slicing

*R*

_{1}into six equally shape pies, like pie I in Figure12. It is clear that for any two vertices in pie I, the distance between them is at most

*R*

_{ x }. Recall that the interference radius of any vertex of${N}_{x}^{\ge}$ is greater than or equal to

*R*

_{ x }, and so the distance is not greater than the interference radius of each vertices. By the pigeonhole principle, there must be a pie in

*R*

_{1}, which covers at least$\left|{V}_{x}^{1}\right|/6$ vertices of${V}_{x}^{1}$.

We can use 12 rays from *v*_{
x
} to slice ring *R*_{2} and *R*_{3} into 12 subregions of shape region II, and 12 subregions of shape region III, respectively. For any two points in region II, the distance is also at most *R*_{
x
}, and then it is less than the maximal one of the two vertices’ interference radii.

We next consider the vertices of${V}_{x}^{3}$ in *R*_{3}, the whole plane outside *R*_{1}∪*R*_{2}. For any two vertices *v*_{
p
} and *v*_{
q
} in *R*_{3}, suppose *d*_{p,x}≥*d*_{q,x}, without losing generality; suppose *v*_{
p
} and *v*_{
q
} locate at points *c* and *b* of Figure12, respectively. It is easy to prove that ||*c*−*b*||<||*c*−*a*|| according to plane geometry principles (here we omit the proof details). Moreover, we know ||*c*−*a*|| is always ≤*r*_{
p
} (*r*_{
p
} is the interference radius of *v*_{
p
}) because *v*_{
p
} interferes some vertices in *R*_{1} (i.e.,${v}_{p}\in {N}_{x}^{\ge}$). Hence, we know that ||*c*−*b*||, the maximal possible distance between any pair of vertices in region III, is <*r*_{
p
}.

We can now conclude that there exists a vertex subset${V}_{x}^{\prime}$ of size at least$max\left\{\right|\underset{x}{\overset{1}{V}}|/6,|{V}_{x}^{2}|/12,|{V}_{x}^{3}|/12\}\ge \phantom{\rule{1em}{0ex}}\left(\right|{V}_{x}^{1}|+|{V}_{x}^{2}|+|{V}_{x}^{3}\left|\right)/(6+12+12)=\left|{V}_{x}\right|/30$, such that each vertex of${V}_{x}^{\prime}$ interferes with or is interfered by another vertex. □

### Proof of Corollary 1

*ℓ*

_{i,j}and

*ℓ*

_{p,q}, suppose${\ell}_{p,q}\in {I}^{\ge}\left({\ell}_{i,j}\right)$. Similar to[40], we first consider the case in which

*ℓ*

_{i,j}and

*ℓ*

_{p,q}are incident on a vertex, say,

*v*

_{ j }=

*v*

_{ q }. It is clear that

*v*

_{ p }interferes with

*v*

_{ i }, and then it belongs to${N}_{i}^{\ge}$. We next consider the case in which both links are not incident. As shown in Figure13, there are three cases for the relationship between

*ℓ*

_{i,j}and

*ℓ*

_{p,q}. Case 1. Two end vertices of

*ℓ*

_{p,q}are covered by

*R*

_{ i }∪

*R*

_{ j }, e.g.,

*v*

_{ p }and

*v*

_{ q }. Case 2. Only one end vertex is covered by

*R*

_{ i }∪

*R*

_{ j }, e.g.,${v}_{{p}^{\prime}}$. Case 3. Both end vertices are outside

*R*

_{ i }∪

*R*

_{ j }, e.g.,${v}_{{p}^{\mathrm{\prime \prime}}}$ and${v}_{{q}^{\mathrm{\prime \prime}}}$.

In Case 1, at least one of *v*_{
p
} and *v*_{
q
} interferes with either *v*_{
i
} or *v*_{
j
} because *r*_{p,q}≥*r*_{i,j}, according to the definition of${I}^{\ge}\left({\ell}_{i,j}\right)$.

In Case 2,${v}_{{q}^{\prime}}$ interferes${v}_{{p}^{\prime}}$ that is covered by *R*_{
i
}∪*R*_{
j
}, so${v}_{{q}^{\prime}}$ must belong to${N}_{i}^{\ge}$,${N}_{j}^{\ge}$, or both.

In Case 3, it is sure that either${R}_{{p}^{\mathrm{\prime \prime}}}$ or${R}_{{q}^{\mathrm{\prime \prime}}}$ covers at least one of *v*_{
i
} and *v*_{
j
} because${\ell}_{{p}^{\mathrm{\prime \prime}},{q}^{\mathrm{\prime \prime}}}$ has already been assumed to belong to${I}^{\ge}\left({\ell}_{i,j}\right)$.

By analyzing the above three cases, we can conclude that for any link *ℓ*_{p,q} of${I}^{\ge}\left({\ell}_{i,j}\right)$, at least one of *v*_{
p
} and *v*_{
q
} covers some vertex (vertices) of *R*_{
i
}∪*R*_{
j
}, regardless of whether *ℓ*_{p,q} and *ℓ*_{i,j} are incident or not. In other words, at least$\left|{I}^{\ge}\right({\ell}_{i,j}\left)\right|/2$ vertices belong to${N}_{i}^{\ge}$ or${N}_{j}^{\ge}$. By Theorem 1, we know that for any link *ℓ*_{i,j}, there are at least$\left|{I}^{\ge}\right({\ell}_{i,j}\left)\right|/\left(2\phi \right)$ vertices such that they are interfering mutually; thus, according to the restriction posed by RTS/CTS model, the links incident to these vertices must interfere with each other.

## Declarations

### Acknowledgements

Guodong Sun and Lin Zhao were supported by the Fundamental Research Funds for the Central Universities of China (grant no. BLX2012048), and Guofo Qiao was supported, in part, by NSF of China (grant no. 51008098).

## Authors’ Affiliations

## References

- Kansal A, Srivastava M: An environment energy harvesting framework for sensor networks. In
*ISLPED, Proceedings of the 2003 International Symposium on Low Power Electronics and Design, JW Marriott Hotel, Seoul, 25–27 Aug 2003*. New York: ACM; 2003:481-486.Google Scholar - Kim H, Tadesse Y, Priya S:
*in Peizoelectric Energy Harvesting, ed. by S Priya, DJ Inman*. New York: Springer; 2009.Google Scholar - Qiao G, Ou J: Corrosion monitoring of reinforcing steel in cement morta by EIS and ENA.
*Electrochimica Acta*2007, 52: 8008-8019. 10.1016/j.electacta.2007.06.070View ArticleGoogle Scholar - Tang L, Guy C: Radio frequency energy harvesting in wireless sensor networks. In
*IWCMC. Proceedings of the 2009 International Conference on Wireless Communications and Mobile Computing: Connecting the World Wirelessly, Leipzig, 21–24 June 2009*. New York: ACM; 2009:644-649.View ArticleGoogle Scholar - Snyder G: Thermoelectric energy harvesting. In
*Energy Harvesting Technologies*. Edited by: Priya S, Inman DJ. New York: Springer; 2009:325-336.View ArticleGoogle Scholar - Eu Z, Tan H, Seah W: Wireless sensor networks powered by ambient energy harvesting: an empirical characterization. In
*ICC*. Cape Town; 23-27 May 2010.Google Scholar - Tamura H, Watanabe K, Sengoku M, Shinoda S: On a new edge coloring related to multi-hop wireless networks.
*APCCAS*2002, 2: 357-360.Google Scholar - Cruz R, Santhanam A: Optimal routing, link scheduling and power control in multi-hop wireless networks.
*INFOCOM*2003, 1: 702-711.Google Scholar - Alicherry M, Bhatia R, Li L: Joint channel assignment and routing for throughput optimization in multi-radio wireless mesh networks. In
*MobiCom. Proceedings of the 11th Annual International Conference on Mobile Computing and Networking, Cologne, 28 Aug–2 Sept 2005*. New York: ACM; 2005:58-72.Google Scholar - Jain K, Padhye J, Padmanabhan V, Qiu L: Impact of interference on multi-hop wireless network performance.
*Wireless Netw*2005, 11: 471-487. 10.1007/s11276-005-1769-9View ArticleGoogle Scholar - Brar G, Blough D, Santi P: Computationally efficient scheduling with the physical interference model for throughput improvement in wireless mesh networks. In
*MobiCom*. Los Angeles; 24–29 Sept 2006.Google Scholar - Ramachandran K, Belding E, Almeroth K, Buddhikot M: Interference-aware channel assignment in multi-radio wireless mesh networks. In
*INFOCOM 2006. Proceedings of 25th IEEE International Conference on Computer Communications, Barcelona, April 2006*. Piscataway: IEEE; 2006:1-12.View ArticleGoogle Scholar - Gandham S, Dawande M, Prakash R: Link scheduling in wireless sensor networks: distributed edge-coloring revisited.
*J. Parallel Distributed Comput*2008, 68: 1122-1134. 10.1016/j.jpdc.2007.12.006View ArticleMATHGoogle Scholar - Joo C: A local greedy scheduling scheme with provable performance guarantee. In
*MobiHoc. Proceedings of the 9th ACM International Symposium on Mobile Ad Hoc Networking and Computing, Hong Kong, 27–30 May 2008*. New York: ACM; 2008:111-120.Google Scholar - Wan P, Cheng Y, Wang Z, Yao F: Multiflows in multi-channel multi-radio multihop wireless networks. In
*IEEE INFOCOM. The 30th IEEE International Conference on Computer Communications, Shanghai, 10–15 April 2011*. Piscataway: IEEE; 2011:846-854.Google Scholar - Wan P, Ma C, Wang Z, Xu B, Li M, Jia X: Weighted wireless link scheduling without information of positions and interference/communication radii. In
*IEEE INFOCOM. The 30th IEEE International Conference on Computer Communications, Shanghai, 10–15 April 2011*. Piscataway: IEEE; 2011:2327-2335.Google Scholar - Raghunathan V, Kansal A, Hsu J, Friedman J, Srivastava M: Design considerations for solar energy harvesting wireless embedded systems. In
*IPSN. Proceedings of the 4th International Symposium on Information Processing in Sensor Networks, Los Angeles, 25–27 April 2005*. Piscataway: IEEE; 2005:457-463.Google Scholar - Jiang XF, Polastre J, Culler D: Perpetual environmentally powered sensor networks. In
*IPSN. Proceedings of the 4th International Symposium on Information Processing in Sensor Networks, Los Angeles, 25–27 April 2005*. Piscataway: IEEE; 2005.Google Scholar - Park C, Chou P: AmbiMax: autonomous energy harvesting platform for multi-supply wireless sensor node. In
*SECON. The 3rd Annual IEEE Communications Society Sensor and Ad Hoc Communications and Networks, Reston, 28–28 Sept 2006*. Piscataway: IEEE; 2006:168-177.View ArticleGoogle Scholar - Simjee F, Hou P: EverLast: long-life, supercapacitor-operated wireless sensor node. In
*ISLPED. Proceedings of the 2006 International Symposium on Low Power Electronics and Design, Tegernsee, 4–6 Oct 2006*. Piscataway: IEEE; 2006:179-185.Google Scholar - Qiao G, Hong Y, Sun G, Yang O: Corrosion energy: a novel source to power wireless sensor.
*IEEE Sensors J*2013, 13(4):1141-1142.View ArticleGoogle Scholar - Li L, Shroff N, Srikant R: Asymptotically optimal energy-aware routing for multihop wireless networks with renewable energy sources.
*IEEE/ACM Trans. Netw*2007, 15(5):1021-1034.View ArticleGoogle Scholar - Kailas A, Ingram M, Zhang Y: A novel routing metric for environmentally-powered sensors with hybrid energy storage systems. In
*Wireless VITAE, Aalborg, 17–20 May*. Piscataway: IEEE; 2009:42-47.Google Scholar - Eu Z, Tan H, Seah W: Routing and relay node placement in wireless sensor networks powered by ambient energy harvesting. In
*WCNC. IEEE Wireless Communications and Networking Conference, Budapest, 5–8 April 2009*. Piscataway: IEEE; 2009:1-6.View ArticleGoogle Scholar - Liu RS, Fan KW, Zheng Z, Sinha P: Perpetual and fair data collection for environmental energy-harvesting sensor networks.
*IEEE/ACM Trans. Netw*2010, 9: 947-960.Google Scholar - Liu RS, Sinha P, Koksal C: Joint energy management and resource allocation in rechargeable sensor networks. In
*INFOCOM. Proceedings of IEEE INFOCOM, San Diego, 14–19 March 2010*. Piscataway: IEEE; 2010:1-9.Google Scholar - Chen S, Sinha P, Shroff N, Joo C: Finite-horizon energy allocation and routing scheme in rechargeable sensor networks. In
*INFOCOM. Proceedings of IEEE INFOCOM, Shanghai, 10–15 April 2011*. Piscataway: IEEE; 2011:2273-2281.View ArticleGoogle Scholar - Hochbaum D: Efficient bounds for the stable set, vertex cover and set packing problems.
*Discrete Appl. Math*1983, 6: 243-254. 10.1016/0166-218X(83)90080-XMathSciNetView ArticleMATHGoogle Scholar - Ramanathan S: A unified framework and algorithm for channel assignment in wireless networks.
*Wireless Netw*1999, 5(2):81-95. 10.1023/A:1019126406181View ArticleGoogle Scholar - Panconesi A, Rizzi R: Some simple distributed algorithms for sparse networks.
*Distributed Comput*2001, 14: 97-100. 10.1007/PL00008932View ArticleGoogle Scholar - Moscibroda T, Wttenhofer R: Coloring unstructured radio networks. In
*SPAA. Proceedings of the Seventeenth Annual ACM Symposium on Parallelism in Algorithms and Architectures, Las Vegas, 18–20 July 2005*. New York: ACM; 2005:39-48.Google Scholar - Kodialam M, Nandagopal T: Characterizing achievable rates in multi-hop wireless network.
*MobiCom*2003, 13: 868-880.Google Scholar - Kodialam M, Nandagopal T: Characterizing the capacity region in multi-radio multi-channel wireless mesh networks. In
*MobiCom. Proceedings of the 11th Annual International Conference on Mobile Computing and Networking, Cologne, 28 Aug–2 Sept 2005*. New York: ACM; 2005:73-87.Google Scholar - Sharma G, Mazumdar R, Shroff N: On the complexity of scheduling in wireless networks. In
*MobiCom. Proceedings of the 12th Annual International Conference on Mobile Computing and Networking, Los Angeles, 24–27 Sept 2006*. New York: ACM; 2006:227-238.Google Scholar - Joo C, Lin X, Shroff N: Understanding the capacity region of the greedy maximal scheduling algorithm in multihop wireless networks.
*IEEE/ACM Transactions on Networking*2009, 17: 1132-1145.View ArticleGoogle Scholar - Wan P, Frieder O, Jia X, Yao F, Xu X, Tang S: Wireless link scheduling under physical interference model. In
*INFOCOM. Proceedings of IEEE INFOCOM, Shanghai, 10–15 April 2011*. Piscataway: IEEE; 2011:838-835.View ArticleGoogle Scholar - Koulali MA, Kobbane A, Koutbi ME, Tembine H, Ben-Othman H: Dynamic power control for energy harvesting wireless multimedia sensor networks.
*EURASIP J. Wireless Commun. Netw*2012, 158: 1-8.Google Scholar - Kumar A, Marathe M, Parthasarathy S, Srinivasan A: End-to-end packet-scheduling in wireless ad hoc networks. In
*SODA ’04. Proceedings of the Fifteenth Annual ACM-SIAM Symposium on Discrete Algorithms, New Orleans, 11–14 Jan 2004*. New York: ACM; 2004:1021-1030.Google Scholar - Wang W, Wang Y, Li XL, Song XL, Frieder O: Efficient interference-aware TDMA link scheduling for static wireless networks. In
*MobiCom. Proceedings of the 12th Annual International Conference on Mobile Computing and Networking, Los Angeles, 24–27 Sept 2006*. New York: ACM; 2006:262-273.Google Scholar - Wang Y, Wang W, Li X, Song W: Interference-aware joint routing and TDMA link scheduling for static wireless networks.
*IEEE Trans. Parallel Distributed Syst*2008, 19(12):1709-1725.View ArticleGoogle Scholar - Gu Y, He T: Data forwarding in extremely low-duty-cycle sensor networks with unreliable communication links. In
*SenSys’07. Proceedings of the 5th International Conference on Embedded Networked Sensor Systems, Sydney, 6–9 Nov 2007*. New York: ACM; 2007:321-334.Google Scholar - Nazir B, Hasbullah H, Madani SA: Sleep/wake scheduling scheme for minimizing end-to-end delay in multi-hop wireless sensor networks.
*EUROS*2011, 92: 1-14.Google Scholar - Sun G, Qiao G, Xu B: Corrosion monitoring sensor networks with energy harvesting.
*IEEE Sensor J*2011, 11(6):1476-1477.View ArticleGoogle Scholar - Nan G, Shi G, Mao Z, Li M: CDSWS: coverage-guaranteed distributed sleep/wake scheduling for wireless sensor networks.
*EURASIP J. Wireless Commun. Netw*2012, 44: 1-14.Google Scholar - Cozzens M, Roberts F: T-colorings of graphs and the channel assignment problem.
*Congressus Numerantium*1982, 35: 191-209.MathSciNetGoogle Scholar - Raychaudhuri A: Further results on T-coloring and frequency assignment problems.
*SIAM J. Discrete Math*1994, 7(4):605-613. 10.1137/S0895480189171746MathSciNetView ArticleMATHGoogle Scholar - Liu D: T-graphs and the channel assignment problem.
*Discrete Math*1996, 161: 197-205. 10.1016/0012-365X(95)00225-LMathSciNetView ArticleMATHGoogle Scholar

## Copyright

This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.