Advances in semiconductor technology has given birth to low-power, miniaturized computing units (microcontrollers, DSPs, (nano)-FPGAs), and radio modules. Such circuits are commonly used for implementing the nodes in wireless sensor networks (WSN) and, more generally, in the internet of things (IoT). On the other hand, and although new battery technologies (e.g., hydrogen fuel cells) are being developed and promise new performance levels, those available today are not always sufficient when it comes to filling the gap between the physical size, capacity, and energy requirements of the computing and communication modules of the nodes.
Furthermore, for some applications, it is sometimes not possible to include a battery or super-capacitor in the nodes due to stringent physical constraints or for maintenance reasons (for example, it may be impossible to access a node integrated in a physical structure and replace its energy storage unit if the battery fails or once its maximum number of charge/discharge cycles have been reached, in the case of e.g., intensive and/or very-long term applications) [1
Thus, many research efforts strive at designing (A) architectural solutions that effectively reduce energy consumption in the processing and communication modules, and (B) energy harvesting (EH) solutions that can complement, or even replace, the energy storage units of the nodes for, e.g., autonomous systems, leading to the concept of transient computing (TC) discussed later on.
In the context of WSN nodes, the idea of using EH emerged in the late 1990s [2
] and refers to the various techniques that allow collecting energy from the environment (solar, thermal, radio frequency (RF), etc.) and use it to recharge and/or complement energy storage units, such as rechargeable batteries or super-capacitors, especially in the context of fully-autonomous WSN nodes and/or for prolonging the lifespan of battery-powered WSN nodes. EH, aided by energy prediction or estimation, has led to a service-oriented infrastructure supporting a broad range of applications such as IoT and cyber-physical systems by optimizing the energy consumption and balancing the traffic load to increase the nodes’ lifetime.
Nevertheless, EH remains challenging in many cases (e.g., for wearable sensors) due to strict form factor constraints and usability concerns [3
Examples of EH used in wearable WSNs include the research proposed in [1
] where the authors conducted real-world scenario experiments and achieved 550 μW for an indoor photovoltaic source and 98–250 μW for a thermal source with 3° and 5° temperature gradients, respectively. Several works have been proposed to minimize the RF energy requirements of the devices with different techniques, such as at the physical layer [4
], MAC, routing algorithms, and duty cycle [6
]. In [10
], the authors used solar and wind energy harvesters and interfaced them with an ultralow power WSN hardware infrastructure that is suitable for long-term wireless structural health monitoring (WSHM).
RF-EH is an emerging alternative among the numerous energy harvesting techniques. Indeed, many RF transmitters (TV towers, mobile base stations, wireless access points, and even dedicated RF transmitters) have been deployed in the past decades; RF energy can, thus, be considered as easily available in many places [11
], especially in indoor environments [12
]. RF-EH has found applications in wireless charging, wireless body area networks, surveillance, and cognitive radio networks [13
] with quality of service (QoS) constraints. Harvesting such energy is typically achieved by means of a so-called rectenna, connected to the WSN nodes, that converts a share of the available energy of the RF signal into electrical energy. Such rectennas are typically composed of an antenna and matched voltage multiplier/rectifying circuitry tuned to the radio frequency of interest; such a setup converts the RF signal to a DC voltage. In particular, dedicated indoor RF sources possibly provides higher AC voltages and, thus, DC voltages, because of typically short distances between the energy source and the nodes, e.g., 1.25 V @ 0.5 m [11
]. Furthermore, when it comes to large-scale wireless networks, simulation results [15
] indicate that RF-EH can increase the lifetime of a network by up to 70% while maintaining adequate quality of service. Simulation results presented in [16
] suggest that RF-EH can increase the lifetime of randomly-deployed dense cooperative WSNs up to 69%.
] the authors focused on a solar energy harvester and energy management, in combination with a new energy forecast model for WSNs. In [18
], the authors proposed a hybrid energy harvesting concept based on wind, solar, and chemical energy, which can be used for both simultaneous and individual harvesting processes.
As illustrated above, a large body of research related to EH for WSNs and the IoT has been published in the literature; the interested reader can refer to, e.g., [19
] for a recent overview.
That being said, there is still room for research in this field. For example, it has recently been suggested in [3
] to combine the concepts of EH and TC. The overall idea stems from the fact that harvested energy is typically fluctuating and intermittent, possibly leaving the WSN nodes without power (even if they include a battery or super-capacitor since these can possibly reach a discharged state). Another argument behind TC is to enable the design and implementation of WSN nodes that operate without an energy storage unit (for e.g., size or maintenance issues, as mentioned earlier).
Such WSN nodes operating with energy storage, but complemented with TC, are suitable for, e.g., applications that do not require permanent monitoring, or that are tolerant to delays (e.g., storing data locally and transmitting it when energy is again available), or that are tolerant to missing data (such missing data can sometimes be compensated for by means of spatial or temporal correlation techniques).
A critical issue in TC is stopping (ideally pausing) and restarting (ideally resuming) computations depending on the available power. For this, several methods, such as checkpointing [20
] and dynamic power management [22
], have been recently proposed. They all rely on the use of microcontrollers that feature non-volatile memory, i.e., flash or more recently ferroelectric RAM (FRAM), to enable saving and restoring the state and data of the node.
One of the first research effort related to TC is the Mementos approach, proposed by Ransford et al. [20
]. It turns general computing programs into interruptible versions that are ‘protected’ from frequent power cuts by means of a checkpointing mechanism that saves and restores the context data and program into flash memory on a periodic basis. Although this mechanism adds an overhead in terms of execution time, it enables suspending the execution when the voltage reaches a given threshold and resuming when the voltage rises sufficiently again. In effect, this type of approach enables spreading computation over time as a function of the available energy.
As a follow-up to the above, DINO (“Death Is Not an Option”) [23
] adds support for dealing with the inconsistency between volatile and non-volatile data that may occur due to frequent interrupts. Another novelty in DINO is the use of a microcontroller based on FRAM instead of Flash memory. The reported execution-time overhead for DINO is between 1.8× and 2.7×.
Further improvements to TC have been proposed in Hibernus [21
]. The key idea here is to replace the periodic checkpointing by an ad-hoc technique, whereby the microcontroller enters the save mode only when the power supply voltage falls to a given threshold (detected by means of a comparator). Hibernus significantly reduces the number of checkpoints and, thus, reduces the execution time and energy overheads by 76%–100% and 49%–79%, respectively, as compared to Mementos.
] goes one step further by using the FRAM in a unified mode (i.e., containing the instructions, data, and saves); thus, the RAM is not used, which can reduce execution time and energy consumption since there are no data transfers between the FRAM and the RAM.
Recently, Balsamo et al. [22
] have developed a TC method that adapts the power consumption of energy-storage-less devices dynamically by means of dynamic frequency scaling (DFS), which allows handling energy fluctuations in a finer manner. In addition to a threshold for detecting power cuts, two extra thresholds are used to help decide if the voltage and frequency of the FRAM-based microcontroller should be decreased or increased. Tests conducted on Fast Fourier Transform (FFT), Cycling Redundancy check (CRC), and Rivest, Shamir, and Adleman (RSA) algorithms together with solar and micro-turbine energy harvesters show that it is not only possible to adjust the performance of the microcontroller but also to effectively reduce the number of save and restore phases since the microcontroller is allowed to run in a lower performance mode when the available power is reduced.
Whereas transient computing has been demonstrated on microcontrollers (mostly without wireless connectivity features), the literature still lacks reports on experiments with wireless-enabled sensor nodes. The purpose of this paper is to share findings and experimental results obtained when three EH sources (solar, thermal, and RF) are used to power both wired and wireless sensor nodes without energy storage, and evaluate the practical feasibility of TC for WSNs.
The main contributions presented in this paper are:
The practical implementation of three EH sources combined with a TC method on FRAM wireless sensor nodes, and
The assessment of the practical feasibility of such combinations.
In particular, it is shown that for the selected EH sources and nodes, the solar and thermal energy sources can power both non-wireless and wireless sensor nodes without energy storage, whereas in our specific implementation, the developed RF energy source can only be used for the selected nodes without wireless connectivity.
4. Concluding Remarks
Our practical experimental results show that EH combined with TC in WSN nodes is feasible. However, a number of conditions have to be met to makes this possible.
One of them is to implement a mechanism that allows pausing and resuming computations on the nodes depending on the available power. The results show that for simple applications, such as the one used in our experiments, a lightweight method like CTPL combined with a FRAM-based microcontroller is sufficient.
Another condition is to have energy sources that are powerful enough to power the nodes. The experimental results show that it is possible to boot and operate WSN nodes solely on certain harvested energy sources (in our case: solar, thermal, or hybrid), but not on others (in our case: RF and an onboard solar panel in ambient conditions). The experimental results also confirmed that the peak currents can be problematic, not only for booting the nodes but also for resuming computations after a power cut. Although adding extra capacitors might alleviate the problem, this would somehow defeat the whole purpose of operating WSN nodes without energy storage units.
Generally speaking, the experimental results are positive, but also highlight the need for careful dimensioning of the EH sources and the save/restore method. For those applications that are more complex or more demanding, it would most likely be needed to use more sophisticated methods, such as the ones discussed in the introduction; this is a possible topic for future work.
Another topic that needs to be further investigated is the impact that TC has on the application that runs on the WSN nodes in terms of quality of services (QoS) and quality of experience (QoE), especially for a large number of nodes. For this, it would be best to begin with simulations to evaluate metrics, such as delay, latency, throughput, and jitter in a system where the nodes are on and off at different times. Despite the fact that, in general, such patterns are expected to degrade the QoS and QoE, it might be possible to apply some of the methods and techniques developed for delay-tolerant networking and disruption-tolerant networking (although the memory and bandwidth overheads would have to be minimized significantly).