Abstract
Introduction
Wireless sensor networks (WSNs) have been used to gather environmental information such as temperature, humidity, or pressure from inaccessible areas such as virgin forest, volcanoes, or deep water. A WSN consists of many wireless sensor nodes, which have a limited lifetime because they run on batteries. Therefore, it is important to prolong the lifetime of the nodes in WSNs, and many studies have been researched.1,2
One of the methods of improving the lifetime of a WSN is to use energy-harvesting nodes. Such a node can potentially operate permanently by recharging its battery with environmental energy. Unlike typical WSNs, therefore, the primary research goal of energy-harvesting WSNs is the efficient use of the harvested energy during permanent operation of the nodes. In particular, if a node harvests extra energy, it can gather more data to improve the resolution of data using that energy.
A wireless sensor node in a WSN usually involves multi-hop transmission, passing data from one node to the next, because the radio of a node cannot reach a sink node directly. As a result, the nodes closer to the sink node consume more energy because they have to transmit more data than the outer nodes.3,4 One of the methods of solving this problem is data compression, which can reduce the burden of intermediate nodes with the compressed data. However, this type of node should be applied carefully because the energy consumed during the performance of the data compression algorithm is not negligible.
In this article, we propose a selective data compression scheme for energy-harvesting WSNs, in which a node adjusts its sensing period and chooses a compression algorithm depending on its energy level to improve the resolution of gathered data. In order to achieve the goal, when a node has excessive energy, it gathers data more frequently and chooses a compression algorithm that has a high compression ratio but consumes more energy. In contrast, when a node is expected to be defunct, it gathers data less frequently and uses a compression algorithm that consumes less energy.
The remainder of this article is organized as follows. In section “Related work,” we review related work. Section “Adaptive sensing and compression rate selection scheme” introduces a sensing rate and data compression selection scheme and describes how nodes choose their sensing rate and compression algorithm. In section “Performance evaluation,” we present experimental results and assess the performance of our scheme. Section “Conclusion” concludes the article.
Related work
Data compression schemes for WSNs
A wireless sensor node is a tiny embedded system with many constraints incurred by the limited hardware capacity, in particular processing speed and memory size. For that reason, a lightweight compression scheme has been needed for WSNs.5–7
Sadler and Martonosi 8 proposed two lossless compression schemes. The first one was the Sensor Lempel–Ziv–Welch (S-LZW) that was designed for WSNs based on the Lempel–Ziv–Welch (LZW) algorithm. 9 The other was a Sensor Lempel–Ziv–Welch with Burrows–Wheeler Transform (S-LZW-BWT), which rearranges a character string into runs of similar characters using the Burrows–Wheeler Transform (BWT) 10 before compression. Marcelloni and Vecchio 11 proposed an entropy-based lossless compression scheme that used the difference of gathered data. It is similar to the JPEG (Joint Photographic Experts Group) format commonly used for image compression. In each compression scheme described above, the nodes compress only their own data. Meanwhile, some researchers proposed in-network compression schemes, in which relay nodes compressed data received from other nodes.12,13 Compressive sensing is the representative scheme of in-network compression. Compressive sensing can significantly reduce the number of sampling points that corresponds to the amount of obtained data.14–16 Zheng et al. 17 introduced a compressive sensing scheme, which used a random walk algorithm for data gathering in WSNs unlike the conventional approaches that required uniform sampling. Liu et al. 18 proposed a compressive sensing scheme for WSNs, which adopted a power-law decaying data model verified by real data sets. They also proposed a random projection-based estimation algorithm for the data model. Li et al. 14 described how compressive sensing could provide new insights into data sampling and acquisition in WSNs, and an IoT (Internet of Things) framework using a compressive sensing algorithm. Nguyen and Teague 19 proposed a compressive sensing algorithm for clustering schemes in WSNs.
Energy-harvesting WSNs
Traditional WSNs usually have a limited lifetime because they consist of wireless nodes that run on batteries. Recently, in order to overcome this limitation, energy-harvesting nodes have been used
20
that harvest energy from the sun,21–26 wind,26,27 heat,
28
and vibration.
29
In particular, solar-powered wireless sensor nodes are usually preferred30–32 because of the high areal density of solar power (about
Adaptive sensing and compression rate selection scheme
In this article, we propose an adaptive sensing and compression rate selection scheme for energy-harvesting WSNs to improve the resolution of gathered data. The scheme is designed for delay-tolerant WSNs 36 where each node stores its own sensed data for a while and occasionally transmits it to the sink node. In this scheme, a node periodically selects a data compression algorithm and adjusts its sensing rate according to its estimated residual energy to improve its longevity. When it is estimated that a node has harvested excess energy, it gathers additional data and compresses it with a high-compression algorithm using the extra energy. In contrast, when the node is estimated to be exhausted, it gathers less data and similarly selects an appropriate compression algorithm. In order to achieve this, a node selects one of the following three modes according to its estimated residual energy.
Low-compression mode
A node in a normal state transmits data compressed by an algorithm that has a low compression ratio and consumes relatively less energy in order to reduce energy consumption. In this article, the S-LZW algorithm 8 is used for this mode. S-LZW is designed to reduce the computation overhead so as to use it for WSNs based on the LZW algorithm. 9 Figure 1(b) shows a simple operation in this mode. As shown in Figure 1(b), this mode is selected by a node, which has no enough energy to select high-compression mode and is estimated not to be exhausted. The node in this mode gathers the larger amount of data than transmission size, and it transmits compressed data packets whose size is reduced to the same size as the transmission size.

Overview of the sensing and compression rate selection scheme: (a) high-compression mode, (b) low-compression mode, and (c) energy-saving mode.
High-compression mode
If the harvested energy of a node is about to run over the capacity of its energy storage, the node collects sensing data more frequently in order to increase the resolution of data. In general WSNs, however, nodes that are closer to the sink node spend more energy than the outside nodes due to the relay data. Outer nodes may have more energy, and they will be able to sense more frequently. As a result, the additional sensed data impose a heavy burden on the intermediate nodes. Therefore, in a case where a node gathers additional data, it should compress the data using a high-compression algorithm to reduce the overhead of the intermediate nodes.
We use the S-LZW-BWT algorithm for this mode. The S-LZW-BWT algorithm rearranges a character string into runs of similar characters using the BWT 10 before compression. BWT does not shrink the size of the data by itself, but it makes the data easier to compress. It helps to improve the compression ratio, but it consumes much more energy than S-LZW because of the additional operations. Table 1 describes the compression ratio and energy consumption of the compression algorithms used in each mode. The compression ratio in Table 1 is defined as follows
Comparison between two compression algorithms.
S-LZW: Sensor Lempel–Ziv–Welch; S-LZW-BWT: Sensor Lempel–Ziv–Welch with Burrows–Wheeler Transform.
Figure 1(a) represents the operation of a node in this mode. As shown in Figure 1(a), this mode is selected by a node whose energy is expected to overflow in low-compression mode. The node in this mode gathers the larger amount of data than low-compression mode, and it transmits compressed data packets whose size is reduced to the same size as the transmission size similar to low-compression mode.
Energy-saving mode
If a node is expected to be exhausted, it selects an energy-saving mode to reduce energy consumption. The node in this mode adjusts its sensing period so as not to exhaust its energy, and it transmits uncompressed data. Figure 1(c) shows the operation in energy-saving mode. As shown in Figure 1(c), this mode is selected by a node whose energy is expected to be exhausted in other modes. The node in this mode gathers less data than other modes and transmits uncompressed data whose size is the same as the transmission size.
Operation of a node
A sensor node gathers sensing data every

Operation of a node over time during two rounds.
Operation mode selection
In the proposed scheme, a node determines its sensing period and compression algorithm dynamically in order to improve data resolution while it continues to survive. Therefore, the node determines its operation mode that has a different sensing period and compression ratio according to its estimated residual energy, calculated based on the amount of harvested and consumed energy. A node is initialized as low-compression mode and then selects its mode for the next round at the beginning of each transmission period
High-compression mode
If harvested energy exceeds the capacity of the energy storage, it gets lost. In order to prevent this waste, if the estimated residual energy is likely to exceed the limit, the node selects a high-compression mode, in which the node gathers additional data to improve data resolution.
In order to examine whether the residual energy exceeds the capacity of an energy storage, a node should estimate its residual energy during the next round. Assuming the current time is
where
If
where
Low-compression mode
If a node in high-compression mode is expected to be exhausted due to a large consumption of energy, it chooses low-compression mode to save its energy. In order to know whether the energy may be exhausted, we should confirm whether its estimated residual energy is less than the minimum energy required to operate properly during
By substituting consuming power in high-compression mode
Energy-saving mode
If a node may be exhausted in both high- and low-compression modes, that node should choose energy-saving mode to save its energy. Therefore, a node operates in energy-saving mode if it satisfies the following condition
If it is estimated that a node in energy-saving mode would not be exhausted due to the harvesting energy, the node switches to low-compression mode. Thus, a node should switch to low-compression mode if the node satisfies the following conditions
Determination of sensing period
As mentioned in subsection “Operation mode selection,” in the proposed scheme, a node varies its sensing period according to its operation mode. However, dynamically varying the amount of transmitting data makes it difficult to estimate the consumption of energy because the load of intermediate nodes cannot be estimated correctly. To avoid that, the amount of transmitting data has to be stable. For that reason, in order that the amount of transmission data remains stable, the sensing period of a node should be adjusted according to the compression ratio of algorithms used in each mode.
Assuming that the amount of data gathered by a node at each sensing period
where
Entire process of the proposed scheme
The proposed scheme can be used for an energy-harvesting WSN, which consists of many tiny sensor nodes that monitor their environments. Every sensor node initializes its operating mode as low-compression mode and reselects its mode every
By repeating the above process, the proposed scheme can reduce the number of blackout nodes and increase the amount of obtained data at the sink node effectively. Algorithm 1 shows the mode selection algorithm of the proposed scheme as described above.
Performance evaluation
In order to evaluate our scheme, we performed a simulation. In this section, we explain the simulation and its results.
Simulation environment
We wrote a simulation in C++ to compare our scheme with other schemes such as noncompression, S-LZW (low compression), and S-LZW-BWT (high compression). In this simulation, we used TelosB mote model40,41 with energy-harvesting module, which has been widely used in WSNs. We measured the average residual energy, the number of blackout nodes, the total amount of sensed data, and the total amount of data arriving at the sink node. We deployed 100 energy-harvesting nodes and one sink node at random positions, and each test set ran 10 times for 1000 rounds to obtain the average values. At the beginning of each round, all nodes found their routes to the sink node using the minimum depth tree (MDT) algorithm, and they transmitted data to the sink node. After that, the nodes determined their next mode and sensing period at the end of the round and started the next round. Table 2 summarizes the important parameters used in this simulation. The hardware specification in the table is derived from TelosB mote specification 41 and the power consumption model of TelosB. 40
Important parameters used in the simulation.
Simulation results
Figure 3 shows the average residual energy with the passage of time. In the noncompression scheme, nodes were always in overcharge condition because they did not consume energy to compress data. Conversely, the average residual energy of nodes in other schemes was lower than that in the noncompression because they consume more energy to collect extra data and compress it. In particular, because S-LZW-BWT consumed more energy to compress and collect additional data, its average residual energy was the smallest among the schemes. However, the proposed scheme exploited the S-LZW and S-LZW-BWT algorithms selectively. Consequently, its average residual energy was intermediate between the S-LZW and S-LZW-BWT algorithms. In Figure 4, however, the proportions of blackout nodes of S-LZW, S-LZW-BWT, and the proposed scheme were 15.9%, 23.1%, and 10.6%, respectively. The results, apart from the proposed scheme, were similar to the average residual energy in Figure 3, but the proportion of blackout nodes of the proposed scheme was as small as S-LZW. This was because the adaptive mode selection of the proposed scheme effectively suppressed the occurrence of blackout nodes.

Average residual energy over time.

Number of blackout nodes over time.
Figure 5 shows the total amount of data sensed by each node with the passage of time. The scheme using the higher compression ratio algorithm collects the more data because all schemes transmit the same amount of data. In Figure 5, therefore, S-LZW and S-LZW-BWT schemes, respectively, gathered 37.5% and 49.2% more data than noncompression scheme. However, the result of the proposed scheme was similar to S-LZW-BWT in spite of higher energy level of the proposed scheme than S-LZW-BWT as shown in Figure 3.

Change in the amount of sensed data.
Figure 6 represents the total amount of data obtained at the sink over time. Comparing it with the result in Figure 5, the proposed scheme only lost 16.7% sensed data during transmission, while S-LZW and S-LZW-BWT lost 17.2% and 25.6%, respectively. Note that the proportion of lost data in S-LZW-BWT was large. This is because many intermediate nodes using S-LZW-BWT would be exhausted by the significant amount of energy needed to compress the data, as shown in Figure 4, and the data which they should have relayed could not be transmitted. However, the proposed scheme adaptively selects sensing periods and compression algorithms to gather more data within range to operate properly. As a result, the proposed scheme could effectively reduce the number of blackout nodes and then collect more data than other schemes.

Change in the amount of data delivered to the sink.
Figures 7 and 8, respectively, depict the amount of data sensed by all nodes and data arriving at the sink node with the amount of harvested energy. The amount of sensed data in Figure 7 was similar to the result in Figure 5, but the amount of received data in Figure 8 was unlike the result in Figure 7 according to the energy-harvesting ratio. In the case of the higher harvesting ratio, since there were few blackout nodes, almost all sensed data arrived at the sink node, and the result was similar to that in Figure 7. However, when the harvesting ratio decreased, S-LZW-BWT, which consumes more energy, incurred more blackout nodes. As a result, the amount of gathered data of S-LZW-BWT was lower than that of S-LZW or noncompression scheme. In contrast, the proposed scheme showed a superior performance over the other schemes in all cases because it could suppress the occurrence of blackout nodes effectively according to the circumstances.

Amount of sensed data with the charging rate.

Amount of gathered data with the charging rate.
Table 3 shows the comparison of the simulation results of all schemes at the 500th round as described above. The results show that the proposed scheme has better performance than other schemes though some nodes have been blackout.
Comparison of the simulation results at the 500th round.
S-LZW: Sensor Lempel–Ziv–Welch; S-LZW-BWT: Sensor Lempel–Ziv–Welch with Burrows–Wheeler Transform.
Conclusion
In this article, we have proposed a sensing and compression rate selection scheme for energy-harvesting WSNs, in which nodes adaptively select a compression algorithm and adjust the sensing rate in order to suppress the occurrence of blackout nodes and increase the resolution of sensed data at the same time.
In cases of expected overcharge, these nodes use the extra harvested energy to collect more data and compress it to reduce transmission energy. As a result, they can collect more data while they consume more energy within range to operate properly. Conversely, in cases of expected lack of energy, they expand the sensing rate and compress the data using a low-compression algorithm that consumes less energy in order to reduce the amount of transmitted data. Simulation results verified that the proposed scheme could reduce the occurrence of blackout nodes compared to a high-compression scheme and could increase the amount of data that arrives at the sink node compared to a low-compression scheme. Consequently, the proposed scheme could lead to better performance using the advantages of other schemes adaptively.
