Keywords

1 Introduction

Wireless Sensor Networks (WSNs) has been largely used in modern lives, such as health monitoring, transport controlling, animal protecting, etc. Energy supply is the most critical issue faced by WSNs [1,2,3,4]. Traditional WSN nodes are battery-powered. Once the energy depleted, the nodes will be “dead,” which will sharply degrade network performance. Replacing batteries will bring additional cost and even be impossible in remote areas. To solve this problem, researchers introduced the concept of Energy Harvesting Wireless Sensor Networks (EH-WSNs) [5, 6]. In EH-WSNs sensor nodes can harvest energy from their surrounding sources and power themselves using the energy harvested. Consequently, EH-WSNs breaks the bottleneck of lifetime constraint due to energy and is environment-friendly.

Traditionally, MAC protocols designed for WSN should take the energy conservation as the most critical focal principle, a large number of strategies and schemes have been proposed to improve the sensor energy efficiency to extend the network lifetime as much as possible. With the ability of energy harvesting, the concern related to lifetime is eliminated. The primary design aspiration of MAC protocols used for EH-WSNs has turned to maximize the network performance under the energy harvesting rates which sensors can realize [7]. In [8], the author proposed a receiver-initiated MAC protocol named ODMAC, which is suitable for EH-WSNs with low traffic conditions. Nodes under ODMAC can independently adjust their duty cycles to achieve ENO-Max state (the energy harvested and consumption are perfect balanced) to maximize the network performance. However, ODMAC does not take the variation of energy harvesting rate into account. Thus the performance may be attenuated severely in real scenarios. By taking the RF energy charging characteristic into account, Authors in [9] introduced RF-MAC to optimize the energy delivery to sensor nodes, while minimizing disruption to data communications. RF-MAC performs better than traditional CSMA MAC protocols in the simulation whereas RF-MAC has a high requirement of nodes’ hardware, which makes RF-MAC hard to implement. In [10], through the experiments of energy harvesting process under different real environments, the author points out that the energy harvesting time of every charging cycle is random and hard to predict. Then a probabilistic polling algorithm (PP-MAC) for single-hop WSNs is proposed. PP-MAC specifically exploits the dynamic characteristic of the energy charging process to achieve a better overall network performance compared to other protocols.

Sink node in PP-MAC periodically broadcasts a polling packet contains a contention probability parameter P to all the sensor nodes in the network. Sensor nodes which energy reaches the threshold will start listening to the channel and generate a random number between 0 and 1 upon receiving a polling packet. If the generated number is smaller than P, the node will transmit a full-size data packet to the sink. Else, the polling packet will be disregard. The sink node adjusts P according to the result of data packet reception: increase P if no data received, decrease P if a collision happens. Thanks to this mechanism, PP-MAC has good scalability and behaves well in different network densities and energy harvesting rates.

Admittedly the P adjust mechanism is proved to be effective. However, collision can only be reduced but not eliminated. When the network density or energy harvesting rate is relatively high, the channel bandwidth waste caused by collision will prevent the performance of PP-MAC to be improved. To save the bandwidth wasted by collision, in this paper, we proposed Probe-Polling, an enhanced polling protocol drove form PP-MAC. The basic idea of Probe-Polling is to let sensor nodes use short probe packet instead of the long data packet when responding polling packet. Sink node judge the channel condition using the received Probe packet and feedback the information with a broadcast ACK packet. Sensor node will continue to transmit its data packet only if the ACK indicates the channel is free. Thus if a collision happens, the bandwidth wasted in PP-MAC will be saved, and the network will start a new polling cycle immediately. Simulation result shows that Probe-Polling achieves a higher throughput and lower inter-arrival time compared to PP-MAC.

The rest of this paper is organized as follows: Sect. 2 gives a detailed description of the proposed Probe-Polling protocol. And then we present the simulation results in Sect. 3. Finally, we conclude our work in Sect. 4.

2 Probe-Polling for EH-WSNs

2.1 System Overview

In this paper, we pay attention to single hop wireless sensor networks with one sink and several sensor nodes. Sink connects with power lines, so it always has enough energy to work continuously and plays a role of sensor data collection. Sensor nodes have the ability of energy harvesting, they communicate with sink and upload their sensing data using the energy harvested.

In real scenarios, the sensors’ effective energy harvesting rate and their working power usually suffer a colossal mismatch. Therefore duty cycling is widely used in EH-WSNs. In this paper, we assume sensor nodes employ an harvest-use energy management scheme for its simplicity and easy to implement. Sensor nodes will turn to receive mode immediately and always have a data packet needed to upload once their energy reaches the threshold Ef which we will describe later. When the operation is over, sensor nodes will return to the charging mode and waiting for their energy reaches the Ef again. The energy mode of sensor nodes is shown in Fig. 1.

Fig. 1.
figure 1

Three charging cycles of a sensor node are displayed. In cycle I, the node did not respond to the polling command; in cycle I + 1, the node successfully transmitted its data packet to sink; in cycle I + 2, the node sent a probe packet to sink and received an ACK which implied a collision, it then stopped to transmit the data packet to sink.

We consider the network area is circular with a radius of 50 m; the sink locates in the center of the cycle. The max distance of communication between the sink and sensor nodes is 50 m, which can guarantee the reliable transmission. Thus we assume that the collision is the only reason for reception failure at the sink side. To judge the performance of the proposed protocol, we consider three crucial metrics namely Network Throughput(S), Fairness(F), and Inter-arrival time(Γ). S is termed as the rate of successful data packets receipted by the sink. Fairness represents the balance degree of the network and is quantified using the classic Jain’s fairness metric in this paper, let Ri be the rate of data packets received from sensor i, the Fairness can be calculated using the following equation:

$$ F = \frac{{\left( {\sum\limits_{i = 1}^{n} {R_{i} } } \right)^{2} }}{{n\left( {\sum\limits_{i = 1}^{n} {R_{i}^{2} } } \right)}} $$
(1)

The Inter-arrival time indicates how fast one sensor can successfully access the channel and is computed using:

$$ \varGamma { = }\frac{{\left( {\sum\limits_{i = 1}^{n} {\frac{1}{{R_{\text{i}} }}} } \right)}}{n} $$
(2)

2.2 Probe-Polling Detailed

Probe-Polling is designed for single-hop EH-WSN. Experiments in [10] have shown that the energy harvesting process of sensors is random. Sink in EH-WSNs has no information about the status of sensors when it transmits a polling command. Thus, in Probe-Polling sink broadcasts a polling command contains with a contention probability P instead of a sensor ID which is used in traditional polling schemes.

Probe-Polling effectively saves the bandwidth waste caused by long data packet collision at the cost of adding the short probe packet into the communication process between sink and sensor. The flowchart of Probe-Polling is shown in Fig. 2.

Fig. 2.
figure 2

Flowchart of probe-polling

Sensors which energy reaches the threshold will turn to receive state. Every sensor will generate a random number between 0 and 1 separately upon receiving the polling packet and compare the number with P contained in polling packet. The sensor will transmit a short probe packet to sink only of the generated random number is smaller than P and wait for an ACK packet. Otherwise, the sensor will ignore the polling packet and turn to the charging state waiting for its energy reaches Ef again.

Sink will judge the channel state by receiving the probe packet. After broadcasting a polling packet, the sink will turn to the receive state and wait for the probe packet. If only one probe packet is received, the sink will transmit an ACK packet which indicates the channel is free, the sensor which receives the ACK will upload its data packet to sink and then turns to the charging state for energy harvesting. If more than one sensors transmit probe packets to sink, a collision will be detected at sink side; then an ACK which indicates the channel is in collision will be sent by the sink, sensors which receive the ack will not upload their data packets and turn to the charging state immediately. If sink receives no probe packet throughout the carrier sense time, it will terminate the current polling cycle. We give an example of Probe-Polling in Fig. 3.

Fig. 3.
figure 3

Four polling cycles are displayed. In cycle J, sensor B and sensor C transmitted a probe packet to sink thus caused a collision. In cycle J + 1, only sensor A received the polling packet. However its generated random number was bigger than P, therefore ignored the poll. In Cycle J + 2,there was no sensor in receiving state. In Cycle + 3, sensor A and sensor C received the poll packet; however only sensor A transmitted a probe packet to sink. Sink feedback an ack packet indicated the channel was free. Thus the data packet was successfully uploaded.

Sink will adjust the parameter P in every polling cycle based on the transmission condition of its previous cycle. Specifically, sink will increase P if there is no node transmit probe packet during the last cycle. On the other hand, sink will decrease P if a collision is detected during the last cycle. If sink receives a data packet successfully, it will keep P unchanged. Authors in [10] introduced four specifical adjustment schemes, namely additive-increase with multiplicative-decrease (AIMD), multiplicative-increase with multiplicative-decrease (MIMD), additive-increase with additive-decrease (AIAD), and multiplicative-decrease with additive-decrease (MIAD). Let Pinc be the increaser and Pdec be the decreaser. Name the linear factor as Plin, the multiplicative-increase factor as Pmi, and the multiplicative-decrease factor as Pmd. Define the Pi as the contention parameter of the ith polling cycle. Then we can get:

$$ P_{inc} = \left\{ {\begin{array}{*{20}l} {P_{lin} } \hfill & {{\text{for }}\,{\text{AIMD}}\,{\text{ or}}\,{\text{ AIAD}}} \hfill \\ {P_{mi} * P_{i \, } } \hfill & {{\text{for}}\,{\text{ MIMD}}\,{\text{ or}}\,{\text{ MIAD}}} \hfill \\ \end{array} } \right.\quad P_{dec} = \left\{ {\begin{array}{*{20}l} {P_{lin} } \hfill & {{\text{for}}\,{\text{ AIAD}}\,{\text{ or}}\,{\text{ MIMD}}} \hfill \\ {P_{md} * P_{i \, } } \hfill & {{\text{for }}\,{\text{AIMD }}\,{\text{or }}\,{\text{MIMD}}} \hfill \\ \end{array} } \right. $$
(3)
$$ P_{i + 1} = \left\{ {\begin{array}{*{20}l} {\hbox{max} (P_{i} + P_{inc} ,1)} \hfill & {if\,\, \, no\,reply} \hfill \\ {P_{i} \, } \hfill & {if\,\,success} \hfill \\ {\hbox{min} (P_{i} - P_{dec} ,0)} \hfill & {if\,\,collision} \hfill \\ \end{array} } \right. $$
(4)

Different P adjustment schemes will have different effects on the network performance. To make the Probe-Polling perform as well as possible, We tested different attempts and found that an AIMD scheme with Plin as 0.01 and Pmd as 0.1 showed the best overall performance in simulation.

3 Performance Evaluation

3.1 Parameter Description

The authors in [10] extract the parameters used in the simulation from the commercial Mica2 platform. Mica2 takes the 802.15.4 standard as its physical and Mac layer principle. However, 802.15.4 standard use CSMA as its basic medium access control rules [11], which makes Mica2 not suitable for polling-based Mac schemes. In this paper, we assume both sink and sensor use the CC2500 as their radio transceiver and ATmega128L used in Mica2 as their microcontroller. The transmission rate R is set to 250kbps, the output power of CC2500 is set to –6 dBm. Let the operating voltage be 3 V, the power of transmitting (Ptx) and receiving (Prx) state will be 69 mW and 80 mW. The power during hardware turnaround (Pta) is estimated to be the average of Ptx and Prx, thus to be 74.5 mW.

Figure 4 shows the packet format of Probe-Polling. Considering the polling and ack packet’s data filed size are 8 bytes and 1 byte separately. The total length of polling (Spoll) and ack (Sack) packet are 15 bytes and 8 bytes. Every sensor has 100 bytes data needed to upload once it wakes up. We split the data and put the first byte into the data field of probe packet and the remainder into the data field of data packet. Thus the total length of probe (Spro) and data (Sdata) packet are 8 bytes and 106 bytes. Given the packet length and transmission rate, we can get the transmit time of polling (Tpoll), ack (Tack), probe (Tpro), and data (Tdata) packet: 0.48 ms, 0.26 ms, 0.26 ms, 3.4 ms. The carrier sense time (Tcca) and hardware turnaround time (Tta) are 96 us and 21.5 us according to the datasheet of CC2500.

Fig. 4.
figure 4

Packet format of probe-polling

To make sure that the sensor can receive at least one polling packet once it wakes up from the charging state. The energy threshold Ef should be chosen strictly. Figure 5 showed the timing information of two successive polling cycles. Imagine a sensor wakes up just after the beginning of a successful polling cycle and will successfully upload its data in the next polling cycle. Thus the energy it needed during its awake period should be the energy threshold Ef, and can be calculated using the following equation:

Fig. 5.
figure 5

The transmission timing of two successive polling cycles

$$ E_{f} = (2 * T_{poll} + T_{pro} + 2 * T_{ack} + T_{data} + 4 * T_{ta} ) * P_{rx} + 3 * T_{ta} * P_{ta} + (T_{pro} + T_{data} ) * P_{tx} $$
(5)

The network is deployed in a circular region with the radius to be 50 m. Sink locates the center of the circle, and nodes are randomly spread. Based on the experiment results from PP-MAC, we assume that the energy harvesting rate of the sensor in every second is a continuous variable with an expectation λ and independent from each other. To check the protocol performance under different network sizes, we set λ at 2 mW and vary the number of sensors(n) from 10 to 200. After that, we set the network size to be 100 and vary the λ from 0.1 mW to 10 mW to check the protocol performance under different energy harvesting environments. Every simulation runs 100 s, and each plotted point in the following graphs of results are the average over ten simulation runs.

Table 1 gives a summarized of the parameters used in the simulation.

Table 1. Parameters summarized

3.2 Performance Under Different Network Sizes

To check the protocol’s performance under different networks sizes. In this section, we let the average energy harvesting rate λ at 2 mW and vary the number of sensors from 10 to 200. Two other protocols namely PP-MAC and ID-Polling are included to make a comparison with Probe-Polling. PP-MAC has been proved to have a better overall performance than both slotted and unslotted CSMA under single-hop EH-WSNs. ID-Polling is a widely used protocol, in EH-WSNs it is hard for the sink to know the state of a particular sensor. Thus we assume ID-Polling randomly choose a sensor ID in every polling cycle. The simulation results are shown in Fig. 6.

Fig. 6.
figure 6

Network Performance under different network sizes (λ = 2 mW)

From Fig. 6 we can get that when the node number is small (less than 30), the network throughput and inter-arrival time of Probe-Polling and PP-MAC are similar, that is because when the network size small, both of them has a low collision probability, the advantage of Probe-Polling is weakened. However, when the network size becomes larger, the collision probability will be increased. Thus Probe-Polling will have a higher throughput and lower inter-arrival time than PP-MAC by reducing the bandwidth waste caused by collision.

3.3 Performance Under Different Energy Harvesting Rates

Sensors will get varying average energy harvesting rates with different kinds of energies they harvest. In real scenarios, the average rate λ will also be variable when the environment changes. To check the network performance under different energy harvesting conditions, we fix the network size to 100 and change the λ from 0.1 mW to 10 mW. Figure 7 shows the simulation results.

Fig. 7.
figure 7

Network Performance under different average energy harvesting rates (n = 100)

From Fig. 7 we can get that when the average energy harvesting rate is low (less than 0.4 mW), the network throughput and inter-arrival time of Probe-Polling and PP-MAC are similar. However, with the improvement of λ, Probe Polling will present a better performance than PP-MAC.

Give a deep insight into this phenomena, both small network sizes and low average harvesting rates will make the network have only a small number of awake sensors in every polling cycle. Thus the P will converge to a relative big value, and the collision probability will be tiny. In those conditions, the advantage of Probe-Polling will be suppressive. And the performance of Probe-Polling and PP-MAC will become similar. However, when the network sizes and average harvesting rates increase, the number of awake sensors in every polling cycle will be improved, resulting in pulling up the collision probability. Probe-Polling can effectively reduce the bandwidth waste caused by collision. Thus it will perform better than PP-MAC in those conditions.

4 Conclusion

In this paper, we focus on single-hop EH-WSNs. To reduce the network bandwidth waste caused by collision, we propose a polling based Mac protocol namely Probe-Polling. The core concept of Probe-Polling is using the short probe packet for sink to detect the channel condition before sensor transmits their long data packet, and terminate the current polling cycle once collision happens. Thus the wasted bandwidth caused by long data packet collisions will be effectively saved. We evaluate the proposed protocol under different network scenarios and make a comparison with other protocols. The results show that Probe-Polling achieves high throughput and fairness as well as low inter-arrival times and performs better than other protocols.

For future works, we will develop the Probe-Polling to take the data packet’s priority into account. We believe that the probe packet which used in Probe-Polling could carry the priority information and will be a suitable solution for multi-priority sensor networks.