Abstract
The employment of mobile vehicles to charge sensors via wireless energy transfer is a promising technology to maintain the perpetual operation of wireless sensor networks (WSNs). Most existing studies assumed that sensors are powered with off-the-shelf batteries, e.g., Lithium batteries, which are cheap, but it takes some non-trivial time to fully charge such a battery (e.g., 30–80 min). The long charging time may incur long sensor dead durations, especially when there are many lifetime-critical sensors to be charged. On the other hand, other studies assumed that every sensor is powered with an ultra-fast charging battery, where it only takes some trivial time to replenish such a battery, e.g., 1 min, but the adoption of many ultra-fast sensors will bring about high purchasing cost. In this paper, we propose a novel heterogeneous sensor network model, in which there are only a few ultra-fast sensors and many low-cost off-the-shelf sensors. The deployment cost of the network in the model is low, as the number of ultra-fast sensors is limited. We also have an important observation that we can significantly shorten sensor dead durations by enabling the ultra-fast sensors to relay more data for lifetime-critical off-the-shelf sensors. We then propose a joint charging scheduling and routing allocation algorithm, such that the longest sensor dead duration is minimized. We finally evaluate the performance of the proposed algorithm through extensive simulation experiments. Experimental results show that the proposed algorithm is very promising and the longest sensor dead duration by it is only about 10% of those by existing algorithms.
1. Introduction
Wireless sensor networks are widely used in many Internet of Things (IoTs) applications, including video monitoring, traffic control, structural health monitoring, radiation detection, forest fire and volcanor monitoing, etc. [1,2,3,4,5]. The energy consumption of sensors on data transmission however is very high. Although many techniques have been proposed to save sensor energy, such as dynamic duty cycle [6,7,8], sensors will run out of their energy eventually.
Many researchers proposed to prolong sensor lifetimes by enabling them to harvest energy from their surrounding environments, such as solar energy, wind energy, etc. [9,10]. However, the energy harvesting rates of sensors are low and unstable, due to their dynamic surrounding environments. For example, it is reported that the energy generating rates in sunny, cloudy and shadowy days can vary by up to three orders of magnitude in a solar harvesting system [11]. Such unpredictability and intermittency pose challenges in the efficient usage of harvested energy for various monitoring or surveillance tasks [12]. Recently, some pioneering researchers [13,14,15,16] proposed a revolutionary way to replenish sensor energy, that is, employing a mobile vehicle equipped with a charging device to move in the vicinity of a lifetime-critical sensor, and charge it via wireless energy transfer [14]. By doing so, the charging rate is high and stable.
A lot of attention has been paid to the vehicle charging scheduling for wireless sensor networks. Most of these studies assumed that sensors are powered with off-the-shelf batteries [15,17,18,19,20,21,22,23,24,25], such as Lithium batteries, we here abbreviate an off-the-shelf battery powered sensors by an off-the-shelf sensor. The price of such a battery is only about a few dollars [26]; however, it usually takes some non-trivial time to fully charge one, e.g., 30–80 min [26]. Therefore, these studies mainly focused on shortening sensor dead durations due to the long charging time of off-the-shelf sensors.
Although excellent studies have been conducted for shorten sensor dead durations, some sensors still expire their energy for some durations, as the charging time of a sensor is non-trivial (e.g., 30–80 min). For example, in Figure 1a, assume that there are four off-the-shelf sensors , , and in a sensor network and three of them, i.e., , , , will run out of their energy soon. Assume that the residual lifetime of each lifetime-critical sensor is 40 min, i.e., min, and it takes an hour to fully charge each of them and their charging sequence is . For the sake of convenience, we ignore the traveling time of the charging vehicle, as it is usually much shorter than the sensor charging time [27]. It can be seen that the dead durations of sensors , , are 0, min, and min, respectively.
Figure 1.
An illustration of a novel network model with deploying a few ultra-fast sensors. (a) a sensor network consists of only off-the-shelf sensors. (b) deploy one ultra-fast sensor. (c) allocate a new routing.
On the other hand, other researchers [12,27,28,29,30] assumed that every sensor is powered with an ultra-fast charging battery, and it only takes a trivial time to fully charge such a battery, e.g., within 1 min [27,28], we here abbreviate an ultra-fast charging battery powered sensor by an ultra-fast sensor. Therefore, they usually ignored the sensor charging time when scheduling charging vehicles.
It is obvious that the adoption of ultra-fast sensors can significantly shorten sensor dead durations or even avoid their energy expirations. For example, in Figure 1a, if every sensor is powered with an ultra-fast charging battery, the energy expirations of sensors , , can be avoided, as the residual lifetime of each of these sensors is 40 min and it takes a very short time to charge such a sensor, e.g., 1 min.
It can be seen that, although the adoption of off-the-shelf sensors is cheap, but the dead durations of sensors may be long due to the long charging time of the sensors. Contrarily, the adoption of many ultra-fast sensors can significantly shorten sensor dead durations, but the adoption will incur a high purchasing cost. For example, the price of an ultra-fast charging battery is usually about 30–40 dollars, which is about ten times the cost of an off-the-shelf battery, e.g., a Lithium battery with the same capacity costs only 2–3 dollars [27,31]. Therefore, it is unrealistic to adopt many ultra-fast sensors in a wireless sensor network.
In this paper, we propose a novel heterogeneous sensor network model, in which there are only a few ultra-fast sensors and many low-cost off-the-shelf sensors in a sensor network. The ultra-fast sensors are deployed at some strategic locations near to the base station, as the sensors close to the base station need to relay a large amount of data from other remote sensors.
We here illustrate a heterogeneous sensor network. In Figure 1b, we only deploy one ultra-fast sensor , instead of three. We now consider the charging order again in Figure 1b, where the residual lifetimes of the three lifetime-critical sensors , , are 40 min, and it takes 1 min to charge the ultra-fast sensor and an hour to fully charge either off-the-shelf sensor or . Then, the dead durations of , , are reduced to 0, 0, and 21 min, which are shorter than the sensor dead durations with only off-the-shelf sensors in Figure 1a, i.e., 0, 20 min, and 80 min.
We, however, observe that we can further reduce sensor dead durations by jointly considering charging scheduling and routing allocation in the heterogeneous sensor network. We can enable ultra-fast sensors to relay more data than off-the-shelf sensors, since the former can be quickly charged. For example, sensor can forward its data to the ultra-fast sensor , rather than (see Figure 1c).
Then, the residual lifetime of is shortened from 40 min to, e.g., 20 min, while the residual lifetime of is prolonged from 40 min to, e.g., 80 min. In addition, the residual lifetime of sensor remains 40 min, as its routing load does not change. If we still charge the three lifetime-critical sensors in the order of , none of them runs out of their energy before their energy replenishments, as their start charging time points are 0, 1st, and 61th min, respectively, while their residual lifetimes are 20, 40, and 80 min, respectively.
In this paper, we propose a novel heterogeneous network model, where a sensor network consists of only a few ultra-fast sensors and many low-cost off-the-shelf sensors. Then, the cost of deploying such a sensor network is low, due to the limited number of deployed ultra-fast sensors. On the other hand, we can significantly shorten sensor dead durations by not only scheduling the charging vehicle but also allocating routing among sensors smartly.
The main contributions in this paper are highlighted as follows:
- Unlike existing studies that either assumed that all sensors are powered with low-cost off-the-shelf batteries, or assumed that every sensor is equipped with a high-cost ultra-fast charging battery, in this paper, we propose a novel heterogeneous sensor network model, where a sensor network consists of a few ultra-fast sensors and many low-cost off-the-shelf sensors. The deployment cost of such a network then is very low.
- Under this novel network model, we study a fundamental problem of joint charging scheduling and routing allocation, such that the longest sensor dead duration is minimized. We also propose an efficient algorithm for this problem.
- We finally evaluate the performance of the proposed algorithm through extensive simulation experiments. The experimental results show that the proposed algorithm is very promising, and the longest sensor dead duration by it is only 10% of those by existing algorithms.
The rest of this paper is organized as follows: Section 2 defines the network model, charging model and the problem, Section 3 presents the algorithm for the problem, Section 4 analyzes the proposed algorithm, Section 5 evaluates the performance of the proposed algorithm through extensive simulation experiments, Section 6 introduces the related work. Finally, Section 7 concludes this paper.
2. Preliminaries
In this section, we first introduce a novel heterogeneous network model and then present the charging model. We finally define the problem.
2.1. A Novel Heterogeneous Network Model
We consider a wireless sensor network , which is deployed in a two-dimensional area, where is a set of sensors in the network, and b is a base station for collecting data from all sensors.
We assume that there are two types of sensors in the network. The first type of sensors are powered by off-the-shelf batteries, e.g., Lithium battery, and it usually takes a while to fully charge such a sensor, e.g., 30–80 min [26]. The other type of sensors are powered by ultra-fast charging batteries, and it takes only a very short time to fully charge such one, e.g., 1 min [27]. Assume that there are off-the-shelf sensors and ultra-fast sensors . Let and . Then, . Notice that the number of ultra-fast sensors usually is very small, e.g., , as the cost of each ultra-fast charging battery is not cheap. Denote by and the energy capacities of a sensor in and , respectively.
We now consider the placement of sensors. We assume that the off-the-shelf sensors are randomly deployed. On the other hand, since the communication range of a sensor is limited, sensors close to the base station have to relay sensing data from other remote sensors. Therefore, the former sensors consume more their energy on relaying data than the latter ones. We thus assume that the ultra-fast sensors are deployed at some strategic locations near to the base station, as they can be quickly charged. For example, the ultra-fast sensor can be co-located with the most energy-consuming off-the-shelf sensors.
We assume that there is an edge in for any two nodes and in if they are within the transmission range of each other. Denote by the set of neighbor nodes of each node in , i.e, .
Assume that each sensor generates data at a rate of , and the generated data will be relayed to the base station via a given routing path, e.g., the delay-aware routing [32,33]. Each sensor can monitor its residual energy level and estimate its energy consumption rate. Denote by () the amount of residual energy of sensor at time t. On the other hand, following [34], the energy consumption rate of sensor at time t is , where , , are the energy consumptions for data sensing, data transmission and data reception per unit data, respectively, and are the data transmission rates from sensors to , and from to , at time t, respectively, , is the distance-independence constant term, is a coefficient of the distance-independence term, is the distance between sensor and sensor , and is the path-loss index. Then, the residual lifetime of sensor at time t is .
2.2. Charging Model
As the energy stored in every sensor battery is limited, it will run out of its energy due to data sensing, data transmission and data reception. To provide controllable and perpetual energy to sensors, we employ a charging vehicle equipped with a recharging device to replenish sensor energy. Denote by and the charging rates of the vehicle for charging an off-the-shelf sensor and an ultra-fast sensor, respectively. We assume that the vehicle can move at a speed of s m/s.
The energy consumptions of different sensors vary significantly, i.e., some sensors may have little energy left while the others consume only a small fraction of their energy. Then, it is unnecessary for the vehicle to charge all sensors in each round, and sensors should be charged in an on-demand manner. To this end, each sensor sends a charging request to the base station once its residual lifetime falls below a given lifetime threshold at some time , e.g., h. After receiving the charging request, the base station starts a new charging round by dispatching the vehicle to charge lifetime-critical sensors.
Let V be the set of to-be-charged sensors in the current charging round. There are two types of sensors in set V, the lifetime-critical off-the-shelf sensors in and the ultra-fast sensors in , i.e., , where an off-the-shelf sensor is contained in if its residual lifetime at time is no longer than , i.e., , is a given constant with , and is the lifetime-critical threshold. Notice that every ultra-fast sensor in is contained in the set of to-be-charged sensors V, as they are deployed at strategic locations where data traffics are extremely heavy. Moreover, it only takes a very short time to fully charge an ultra-fast sensor, and the number of ultra-fast sensors usually is small, e.g., .
The base station will find a closed charging tour C of the charging vehicle for the sensors in V and allocate routing for the network . Let , where . Then, the charging vehicle is dispatched to fully charge the sensors in V along tour C one by one (see Figure 2). Once all sensors in V is fully charged, the vehicle will return to the base station and recharge itself for the next charging round. Denote by T the duration that the vehicle spends for charging sensors along tour C, i.e, , which consists of the time spent on vehicle traveling, charging the lifetime-critical off-the-shelf sensors in , and charging the ultra-fast sensors in .
Figure 2.
An example of a charging tour of the vehicle.
2.3. Problem Definition
Many applications of sensor networks are sensitive to the data collection delay, and they usually require a continuous data collection, such as the sensor networks for video monitoring, radiation detection and forest fire detection [1,35,36]. For example, in a sensor network for radiation detection, once the energy depletion of a sensor lasts for a few hours, a radiation release cannot be detected in real time and the radiation may quickly spread to the degree of out of control and thus lead to a disaster. Therefore, we must shorten the dead durations of sensors as much as possible, due to their energy depletions. The objective of this paper is thus to find a charging tour C of the vehicle for charging sensors in V and allocate routing for each link in network , such that the longest dead duration of sensors in V is minimized. Let be the start charging time of sensor in V when the vehicle starts to charge sensor in tour C; the dead duration of sensor then is if , where is the residual lifetime of sensor at time ; otherwise, (), .
Given a heterogeneous sensor network , a charging vehicle, and a set V of to-be-charged sensors at some time , the dead duration minimization problem is to find a charging tour C of the vehicle for charging sensors in V, and allocate the routing for each link in period , such that the longest dead duration of sensors in V is minimized, i.e.,
subject to the following constraints, i.e.,
Constraint (2) shows the flow reservation of each sensor . Constraint (3) indicates that the generated data from all sensors in must be sent back to the base station. Constraints (4) and (5) calculate the energy consumption rate and the residual lifetime of each sensor at time , respectively. Constraints (6) and (7) define the dead duration and the start charging time of sensor in the tour, and .
3. Algorithm for the Dead Duration Minimization Problem
In this section, we devise a joint charging scheduling and routing allocation algorithm for the dead duration minimization problem. We first present the framework of the algorithm, which invokes two algorithms for two subproblems of the original problem. We then detail the two algorithms.
3.1. Algorithm Framework
Recall that the dead duration minimization problem is to allocate the routing for each link in period , and find a charging tour C for the charging vehicle to replenish sensors in V, such that the longest dead duration of sensors is minimized. It can be seen that the allocation of routing and the scheduling of charging tour C are tightly coupled. On one hand, the residual lifetime of each sensor is highly related to the routing , where a sensor consumes its energy quickly if it relays a large amount of data from other sensors. To minimize the longest sensor dead duration, the vehicle should charge the sensors with short residual lifetimes first. On the other hand, once the charging tour C is delivered, the start charging time that each sensor will be charged by the vehicle can be derived, by following Constraint (7). The routing should be carefully allocated, such that the dead duration of each sensor before its start charging time is minimized. In this paper, we tackle the challenging dead duration minimization problem by considering its two subproblems. In the first subproblem, assume that the routing is given, and the subproblem is to find a charging tour C, such that the longest dead duration of sensors in V is minimized, and this subproblem is referred to as the charging scheduling subproblem. In the second subproblem, we assume the charging tour C is given, and the subproblem is to allocate the routing for each link , so that we can deliver the minimum longest sensor dead duration, and this problem is referred to as the routing allocation subproblem. We will propose two algorithms for the two subproblems in two later subsections, respectively. Having the two algorithms, we devise a joint charging scheduling and routing allocation algorithm as follows.
The algorithm iteratively finds the routing and charging tour. Denote by and the routings allocated before and after the Kth iteration, respectively. Similarly, denote by and the charging tours delivered before and after the Kth iteration, respectively, where . Initially, we obtain by assuming that each sensor uploads its data along its minimum energy path to the base station. Within each iteration K, the algorithm consists of two steps. In the first step, with the given routing , it finds a charging tour , by utilizing the algorithm for the charging scheduling subproblem. In the second step, having the charging tour , it obtains a routing by invoking the algorithm for the routing allocation subproblem. If the new solution is no better than , the algorithm terminates and is the final solution to the dead duration minimization problem. Otherwise, (( is better than )), we continue to the next iteration, until the difference of the objective values of the two solutions is no greater than a small threshold with , e.g., min, or the number of the performed iterations achieves a given maximum iteration number , e.g., .
The algorithm for the dead duration minimization problem is presented in Algorithm 1.
| Algorithm 1 Joint charging scheduling and routing allocation algorithm (CSRA). |
Input: a set , a set V of to-be-charged sensors, the residual energy of each sensor in at some time , a small threshold with . Output: routing , charging tour C.
|
3.2. Algorithm for the Charging Scheduling Subproblem
Given a set of to-be-charged sensors at some time , and the routing for each link in period . The charging scheduling subproblem is to find a charging tour , such that the longest dead duration of sensors in V is minimized, i.e.,
subject to constraints (2), (3), (4), (5), (6), and (7).
Assume that the charging time of each lifetime-critical off-the-shelf sensor in is a constant [37], e.g., = 1 h, since its residual energy is very low, where , is the energy capacity of the sensor, and is the off-the-shelf sensor charging rate. We further assume that the traveling time among two consecutive visited sensors can be considered as a small constant , e.g., min, as the vehicle traveling time usually is much shorter than the charging time of a lifetime-critical off-the-shelf sensor in , e.g., 1 min vs. 1 h [23]. Let .
Since it takes only a very short time to fully charge ultra-fast sensors in and these sensors have heavy data relay loads, the vehicle should charge sensors in before the lifetime-critical off-the-shelf sensors in . Thus, the charging tour consists of a sub-tour for charging ultra-fast sensors in and a sub-tour for replenishing lifetime-critical off-the-shelf sensors in , i.e., . We obtain sub-tour by a brute-force search, by enumerating all charging sequences. Notice that the number of ultra-fast sensors in usually is very small, and the brute-force search then will not take a long time. On the other hand, we derive the sub-tour for lifetime-critical off-the-shelf sensors in in non-decreasing order of their residual lifetimes, i.e, , where , is the residual lifetime of sensor and .
The algorithm for the charging scheduling subproblem is presented in Algorithm 2. We later will showthat Algorithm 2 delivers an optimal solution to the charging scheduling subproblem (see Section 4.1).
| Algorithm 2 Algorithm for the charging scheduling subproblem. |
Input: a set V of to-be-charged sensors, routing , the residual energy of each sensor . Output: charging tour .
|
3.3. Algorithm for the Routing Allocation Subproblem
Given a sensor network , a set V of to-be-charged sensors, and the charging tour of sensors in V, the routing allocation subproblem is to find the routing for each link in period , such that the longest dead duration of sensors in V is minimized, i.e.,
subject to constraints (2), (3), (4), (7), and constraint
where is the longest dead duration of sensors in V, , and are the start charging time, residual energy and energy consumption rate of sensor , respectively. Notice that only flow rates s are variables.
To obtain the optimal flow rates, we rewrite constraint (9) as:
which is equivalent to . Then, subproblem is equivalent to
subject to constraints (2), (3), (4), (7), and
We note that the objective function in problem is a linear function, and constraints (2), (3), (4), and (7) are also linear functions. However, constraint (12) is not a linear function, where , and are constants, while and are variables.
To solve problem , we reduce it to a series of linear programming (LP) problems. Denote by the minimum longest dead duration of sensors in V. The basic idea behind is to guess the optimal value . Given a guess of , we consider the following LP:
subject to constraints (2), (3), (4), (7), and
Notice that constraint (13) is a linear function, as is a given constant.
When , we will show that there are no feasible solutions to LP (see Section 4.2). Otherwise (), we will prove that there is a feasible solution to LP . Then, we can find the minimum longest sensor dead duration through a binary search in interval .
The algorithm for the routing allocation subproblem is given in Algorithm 3.
| Algorithm 3 Algorithm for the routing allocation subproblem. |
Input: a set of sensors, a set V of to-be-charged sensors, the residual energy of each sensor in at some time , the charging tour . Output: routing .
|
4. Algorithm Analysis
In this section, we analyze the proposed algorithms for the charging scheduling subproblem and routing allocation subproblem in Section 4.1 and Section 4.2, respectively.
4.1. Algorithm Analysis for the Charging Scheduling Subproblem
Recall that the objective of the charging scheduling subproblem is to find a charging tour for sensors in V, such that the longest dead duration of sensors in V is minimized, given routing , where tour consists of a sub-tour for charging ultra-fast sensors in and a sub-tour for replenishing lifetime-critical off-the-shelf sensors in , sub-tour is obtained by a brute-force search, sub-tour is delivered by charging sensors in in non-decreasing order of their residual lifetimes, i.e., , , and In the following, we show that the sub-tour delivered by Algorithm 2 is an optimal solution to the charging scheduling subproblem, i.e., the longest dead duration of sensors in is minimized, if they are charged in non-decreasing order of their residual lifetimes, see Theorem 1.
Theorem 1.
Given a set V of to-be-charged sensors, Algorithm 2 delivers an optimal solution to the charging scheduling subproblem.
Proof of Theorem 1.
For the sake of convenience, assume that , where is the residual lifetime of a sensor and . Denote by the time that the charging vehicle spends in the sub-tour . Then, the dead duration of in sub-tour is , where , is the charging time of each lifetime-critical off-the-shelf sensor and is the traveling time among two consecutive visited sensors. Let be the longest sensor dead duration in sub-tour , i.e., . Denote by the dead duration of sensor in an optimal solution, and denote by the longest sensor dead duration in the optimal solution. Then, .
In the following, we show that sub-tour is an optimal solution by an induction on the number of sensors n in .
(i) Consider , it is obvious that Algorithm 2 delivers an optimal solution.
() We assume that Algorithm 2 can deliver an optimal solution , when there are sensors with .
() Consider that there are sensors. Let be the sub-tour delivered by Algorithm 2, where . We distinguish our discussion into two cases: case (1) sensor is charged at the last in the optimal solution; and case sensor is not charged at the last in the optimal solution.
We first consider case sensor is charged at the last in the optimal solution. We show that the longest sensor dead duration in an optimal solution is no shorter than that in the solution delivered by Algorithm 2, since
Therefore, is also an optimal solution.
We then consider case sensor is charged at the pth order in the optimal solution with , while another sensor is charged at the th order, i.e., . We obtain another charging sub-tour from by swapping only the charging orders of sensors and , i.e., . We will prove that the longest sensor dead duration in is no longer than , i.e., . On one hand,
since the charging order of each sensor in set in tour is the same as that in the optimal solution . Note that , .
On the other hand, following the definition of the optimal value , we know that
where , and .
It can be seen that
and
Then, by combining Equations (16) and (17), we have that
Therefore, we have . Then, is also an optimal solution, where sensor is charged at the last. The rest is to reduce to case (1), omitted.
We finally analyze the time complexity of Algorithm 2. We first obtain a sub-tour for the ultra-fast sensors in with a brute-force search, which takes time , where . We then find a sub-tour for the off-the-shelf sensors, by charging them in non-decreasing order of their residual lifetimes, which takes time. Therefore, the time complexity of Algorithm 2 is , where . It must be mentioned that the number of ultra-fast sensors in a sensor network usually is very small, e.g., . Therefore, the time complexity of Algorithm 2 is only . The theorem then follows. ☐
4.2. Algorithm Analysis for the Routing Allocation Subproblem
In this subsection, we show that Algorithm 3 delivers an optimal solution to the routing allocation subproblem by Theorem 2.
Theorem 2.
Algorithm 3 delivers an optimal solution to the routing allocation subproblem.
Proof of Theorem 2.
In Section 3.3, we have shown that the routing allocation subproblem is equivalent to subproblem . In the following, we show that (i) there are no feasible solutions to the Linear Programming (LP) when ; and () that there is a feasible solution to LP if . Then, the optimal value can be found through a binary search in interval .
We first show (i) there are no feasible solutions to LP if . Assume that there is a feasible solution to LP when . Notice that is also a feasible solution to subproblem and the longest sensor dead duration is . However, this contradicts the assumption that is the minimum longest sensor dead duration. Then, the assumption that there is a feasible solution to LP is incorrect when .
On the other hand, we prove () there is a feasible solution to LP if . Let be an optimal solution to LP , and be the energy consumption rate of sensor with routing . We have
that is, , which indicates is a feasible solution to LP if . The theorem then follows. ☐
5. Performance Evaluation
In this section, we evaluate the performance of the proposed algorithm CSRA through extensive simulations. We will also study the impact of important parameters on the algorithm performance, including the network size, the maximum data sensing rate, the off-the-shelf sensor charging rate, the vehicle traveling speed, and the number of ultra-fast sensors.
5.1. Simulation Environment
We consider a wireless sensor network deployed in a 500 m × 500 m two-dimensional square area, and a base station is located at the center of the square. There are 100 to 500 off-the-shelf sensors randomly deployed in the area, and a small number of ultra-fast sensors are co-located with the most energy-consuming off-the-shelf sensors, e.g., . Both the capacities of an off-the-shelf battery and an ultra-fast charging battery are 10.8 kJ. A charging vehicle is initially located at the base station, and its moving speed is m/s. The charging rates and of the vehicle for charging an off-the-shelf sensor and an ultra-fast sensor are 5 W and 300 W, respectively. Then, the durations for charging an off-the-shelf sensor and an ultra-fast sensor to their full energy capacities are 36 min () and 36 s (), respectively. The data sensing rate of each sensor is randomly selected from an interval , where = 1 kbps and = 10 kbps. A well-known energy consumption model of sensors is adopted from [34]. The simulator was implemented in language C++ and all simulations were operated on a Dell server with an Intel(R) Core(TM) i7 CPU (2.5 GHz) and a 16 GB RAM (ChengDu, China). In our simulation experiments, the monitoring period of the sensor network is one year. To evaluate the performance of the proposed algorithm CSRA, we also consider five existing algorithms. Specifically, algorithm TSP (traveling salesman problem) finds a charging tour such that the vehicle traveling distance in the tour is minimized, while ignoring the sensor residual lifetimes [16]. Algorithm EDF (earliest deadline first) charges sensors in non-decreasing order of sensor residual lifetimes. Algorithm AA (Adaptive Algorithm) schedules the vehicle to charge some sensors before their energy depletions, such that the difference of the energy replenished to sensors and the energy consumed on vehicle traveling is maximized [25]. Algorithm NETWRAP (an NDN based real time wireless recharging protocol) chooses to-be-charged sensors by considering both the vehicle traveling time and the sensor residual lifetimes [26]. Finally, algorithm TSCA (temporal spatial real-time charging scheduling algorithm) first obtains a charging tour in non-decreasing order of sensor residual lifetimes, and then adjusts the sensor charging sequence, so that the number of dead sensors is minimized and the energy efficiency of the vehicle is maximized [18]. We will apply each of the mentioned algorithms in 20 different network topologies with the same network size and then obtain average values.
5.2. The Convergence of Algorithm CSRA
We first study the convergence of the proposed algorithm CSRA (joint Charging Scheduling and Routing Allocation algorithm), by increasing the number of iterations from 1 to 10. Figure 3 shows that the longest and average sensor dead durations by Algorithm CSRA decrease very quickly with the increase of the number of iterations and the performance of Algorithm CSRA almost does not change when .
Figure 3.
The convergence of Algorithm CSRA, when there are 200 off-the-shelf sensors. (a) Longest sensor dead duration. (b) Average sensor dead duration.
5.3. Algorithm Performance
In the following, we study the impact of the network size, the maximum data sensing rate, the off-the-shelf sensor charging rate, the vehicle traveling speed, and the number of ultra-fast sensors.
We first evaluate the performance of the proposed algorithm CSRA against existing algorithms TSP, NETWRAP, AA, TSCA, by varying the number of off-the-shelf sensors from 100 to 500, while the number of ultra-fast sensors is 5. Figure 4a shows that the longest sensor dead duration by each algorithm becomes longer with the increase of the network size, as more sensors need to be charged and their waiting times before their chargings are prolonged. Figure 4a also demonstrates that the longest sensor dead durations delivered by the proposed algorithm CSRA are much shorter than those by the existing five algorithms. For example, the longest sensor dead duration by algorithm CSRA is only about , , , , and of those by algorithms TSP, EDF, NETWRAP, AA, TSCA, respectively, when there are 500 off-the-shelf sensors. The rationale behind is that algorithm CSRA considers both the charging scheduling and routing allocation to shorten the longest sensor dead duration in the heterogeneous sensor networks, while existing algorithms considered only the sensor residual lifetimes and vehicle traveling cost. Figure 4b further indicates that the average sensor dead durations by algorithm CSRA are also significantly shorter than those by the other five algorithms. For example, the average sensor dead duration by algorithm CSRA is about , , , , of those by algorithms TSP, EDF, NETWRAP, AA, TSCA, respectively, when there are off-the-shelf sensors. Figure 4c shows the average running times of the six mentioned algorithms, from which it can be seen that the average running time of algorithm CSRA is longer than the five algorithms. It, however, must be mentioned that the average running time of algorithm CSRA is acceptable in practice, as it is no more than two seconds even when there are off-the-shelf sensors. In the following, we do not compare the running times of the algorithms, since the curves are similar.
Figure 4.
The performance of different algorithms, by varying the number of off-the-shelf sensors , while kbps, W, and m/s. (a) Longest sensor dead duration. (b) Average sensor dead duration. (c) Average running times of different algorithms.
We then investigate the performance of the algorithms, by increasing the maximum data sensing rate from 10 kbps to 20 kbps, where m/s, and W. Figure 5a,b show the longest and average sensor dead durations of the six algorithms increase with a larger maximum data sensing rate , respectively. The rationale behind is that sensors will consume more of their energy with larger data sensing rates, and sensors then may run out of their energy faster. Figure 5 also demonstrates that the longest and average sensor dead durations by algorithm CSRA are much better than those by the existing algorithms, especially when the data sensing rate is larger. For example, the longest sensor dead duration by algorithm CSRA is only , , , , and , of those by algorithms TSP, EDF, NETWRAP, AA, TSCA, respectively, when kbps.
Figure 5.
The performance of different algorithms, by varying the maximum data sensing rate , while , W, and m/s. (a) Longest sensor dead duration. (b) Average sensor dead duration.
We also evaluate the algorithm performance, by varying the charging rate of an off-the-shelf sensor from 1 W to 5 W, while fixing the charging rate of an ultra-fast sensor at 300 W. It can be seen from Figure 6 that the longest and average sensor dead durations become shorter when the charging rate grows, as the waiting time of each sensor before its charging is shorter with a fast charging rate. Figure 6a further plots that the longest sensor dead duration by algorithm CSRA is the shortest, e.g., only about 5% of those by the other algorithms when the charging rate of off-the-shelf sensors is 1 W.
Figure 6.
The performance of different algorithms, by varying the charging rate of off-the-shelf sensors, while , kbps, and m/s. (a) Longest sensor dead duration. (b) Average sensor dead duration.
We further study the impact of the vehicle traveling speed s on the algorithm performance, by varying the speed s from 1 m/s to 10 m/s. Figure 7 plots that the longest and average sensor dead durations of the proposed algorithm CSRA are still the shortest ones among the six algorithms. Figure 7 also shows that the longest dead duration by each of the six algorithms only slightly decreases with a faster vehicle traveling speed. The improvement is only slight, since the sensor charging time is much longer than the vehicle traveling time [23,26].
Figure 7.
The performance of different algorithms, by varying the vehicle traveling speed s. (a) Longest sensor dead duration. (b) Average sensor dead duration.
We finally investigate the performance of different algorithms, by increasing the number of ultra-fast sensors from 0 to 8, while there are 200 off-the-shelf sensors. Figure 8a demonstrates that the longest sensor dead duration by Algorithm CSRA decreases with the increase of . Notice that the longest sensor dead duration by Algorithm CSRA is only about 70% of those by the existing algorithms when there are no ultra-fast sensors, i.e., , since Algorithm CSRA jointly considers charging scheduling and routing allocation by enabling other off-the-shelf sensors that have sufficient energy to relay more data for lifetime-critical sensors, while existing algorithms only considered the charging scheduling of mobile charging vehicles. Figure 8 also shows that the longest and average sensor dead durations by Algorithm CSRA only slightly decease when there are more than five ultra-fast sensors, and the longest sensor dead duration by Algorithm CSRA is about 25% of those by the existing algorithms when .
Figure 8.
The performance of different algorithms, by increasing the number of ultra-fast sensors from 0 to 8, while there are 200 off-the-shelf sensors. (a) Longest sensor dead duration. (b) Average sensor dead duration.
In summary, it can be seen from the experimental results that the longest and average sensor dead durations by the proposed algorithm CSRA are much shorter than those by existing algorithms TSP, EDF, NETWRAP, AA and TSCA.
6. Related Work
The employment of mobile charging vehicles is a promising technique to replenish sensor energy, and the vehicle scheduling for prolonging network lifetimes has been studied in literature. Most of these studies assumed that every sensor is powered with a low-cost off-the-shelf battery [17,18,19,20,21,23,38,39,40], e.g., Lithium battery, where the price of such a battery is about only a few dollars [31]. It, however, usually takes some non-trivial time to fully charge such a battery, e.g., 30–80 min [26].
Some studies employed only one charging vehicle to charge sensors in a sensor network [17,18,19,20,23]. He et al. [17] proposed a Nearest-Job-Next with Preemption discipline to increase the average number of charged sensors per unit time and shorten their charging latencies. Liang et al. [20] proposed approximation algorithms to maximize the total utility of charging sensors in a charging tour, subject to the energy capacity of a charging vehicle. Lin et al. [18] devised a temporal-spatial charging scheduling algorithm to minimize the number of dead sensors and maximize energy efficiency. Xu et al. [23] maximized sensor lifetimes while minimizing the length of charging tour, by proposing a novel charging paradigm in which each sensor can be partially replenished. Lin et al. [19] developed a Primary and Passer-by scheduling algorithm to increase the number of charged sensors before their energy expiration times, by charging some energy-sufficient sensors that are close to energy-critical sensors, such that their chargings will not prolong the dead durations of latter sensors.
On the other hand, some other studies [21,38,39,40] employed multiple charging vehicles to maintain sensor networks perpetually. Liang et al. [40] devised an approximation algorithm to minimize the number of dispatched vehicles to charge energy-critical sensors, subject to the energy capacity of each vehicle. Jiang et al. [39] considered not only the charging sequence but also the vehicle depot positioning, such that the number of deployed charging vehicles is minimized and the ratio of the sensor charging time to traveling time is maximized. Dai et al. [38] scheduled multiple charging vehicles to replenish sensor energy with an objective of maximizing the total amount of energy charged into sensors, and further minimizing the overall charging time under the electromagnetic radiation safety constraint. Wang et al. [21] proposed a hybrid network framework that consists of solar-powered sensors and wireless-powered sensors. They studied the problem of minimizing vehicle traveling energy, such that the perpetual operations of sensors are maintained.
It can be seen that, although excellent studies have been conducted for replenishing sensor energy and shortening their dead durations, some sensors may still expire their energy, as the charging time of a sensor is non-trivial, e.g., 30–80 min [26].
We note that other researchers [12,27,28,29,30] assumed that every sensor is powered with an ultra-fast charging battery, and it only takes a trivial time to fully charge such a battery, e.g., within 1 min [27,28]. Therefore, they usually ignored the sensor charging time. For example, Zhao et al. [28] assumed that a vehicle is able to not only charge sensors but also collect sensing data. In each charging round, they first found the charging tour of lifetime-critical sensors and then allocated routing in the period that the vehicle performs sensor charging, such that the utility of collected sensing data is maximized. Zhang et al. [29] adopted a collaborative charging paradigm, in which any two charging vehicles can transfer energy with each other. They investigated the problem of employing multiple vehicles to charge sensors, such that the ratio of the energy consumed for charging sensors to the energy consumption on vehicle traveling is maximized. Xu et al. [27] studied the problem of scheduling multiple charging vehicles to charge sensors in a given monitoring period such that none of these sensors depletes its energy and the total traveling cost of the vehicles is minimized, where the energy consumption rates of different sensors vary significantly.
Different from these mentioned existing studies, in this paper, we propose a novel heterogeneous network model by deploying a few ultra-fast sensors at some strategic locations near the base station. The network cost is low, since we deploy only a few expensive ultra-fast sensors. On the other hand, we show that the network performance can be significantly improved with even such a small number of ultra-fast sensors, by enabling ultra-fast sensors to relay more data for other lifetime-critical sensors.
7. Conclusions
Unlike exiting studies that deployed only off-the-shelf sensors or ultra-fast sensors, in this paper, we proposed a novel heterogeneous sensor network model, in which a sensor network consists of a few ultra-fast sensors and many low-cost off-the-shelf sensors. Then, the deployment cost of the network is low as the number of ultra-fast sensors is limited. Under the novel network model, we studied a problem of finding a charging tour and allocating routing, such that the longest sensor dead duration is minimized. We further devised an efficient algorithm for the problem, by enabling ultra-fast sensors to relay more data from lifetime-critical off-the-shelf sensors. We finally evaluated the proposed algorithm through extensive simulations. In addition, experimental results showed that the longest sensor dead duration by the proposed algorithm is much shorter than those by existing algorithms, e.g., 90% shorter.
Author Contributions
Conceptualization, J.P. and W.X.; Methodology, J.P. and W.X.; Software, Q.G.; Validation, Q.G., H.L. and Z.L.; Formal Analysis, W.X. and Q.G; Investigation, Q.G and Z.L.; Resources, T.L. and H.L.; Data Curation, Q.G; Writing—Original Draft Preparation, Q.G and W.X., Writing–Review and Editing, Q.G and T.L.; Visualization, H.L.; Supervision, J.P.; Project Administration, J.P.; Funding Acquisition, W.X.
Funding
The research was funded by the National Natural Science Foundation of China (NSFC) with Grant No. 61602330, Sichuan Science and Technology Program (Grant No. 2018GZ0094, 2018GZ0093, 2017GZDZX0003), and the Fundamental Research Funds for the Central Universities (Grant No. 20822041B4104). In addition, the work by Zheng Li was supported by the NSFC with Grant No. 61471250 and the work by Tang Liu was supported by the Scientific Research Fund of Sichuan Provincial Education Department (18ZA0404). Furthermore, the work by Hongyou Li was funded by Sichuan Science and Technology Program with Grant No. 2016RZ0064.
Conflicts of Interest
The authors declare no conflict of interest.
References
- Cheng, X.; Yang, N.; Shi, Y.; Lei, H. Design of radiation detection system with WSN. In Proceedings of the 2011 Cross Strait Quad-Regional Radio Science and Wireless Technology Conference, Harbin, China, 26–30 July 2011; pp. 946–949. [Google Scholar]
- IEC White Paper Internet of Things: Wireless Sensor Networks. Available online: http://www.iec.ch/whitepaper/pdf/iecWP-internetofthings-LR-en.pdf (accessed on 10 June 2018).
- Kim, S.; Pakzad, S.; Culler, D.; Demmel, J.; Fenves, G.; Glaser, S.; Turon, M. Health monitoring of civil infrastructures using wireless sensor networks. In Proceedings of the 6th international conference on Information processing in sensor networks, Cambridge, MA, USA, 25–27 April 2007; pp. 254–263. [Google Scholar]
- Werner-Allen, G.; Lorincz, K.; Welsh, M.; Marcillo, O.; Johnson, J.; Ruiz, M.; Lees, J. Deploying a wireless sensor network on an active volcano. IEEE Internet Comput. 2006, 10, 18–25. [Google Scholar] [CrossRef]
- Yu, L.; Wang, N.; Meng, X. Real-time forest fire detection with wireless sensor networks. In Proceedings of the 2005 International Conference on Wireless Communications, Networking and Mobile Computing, Wuhan, China, 26–26 September 2005; pp. 1214–1217. [Google Scholar]
- Keshavarzian, A.; Lee, H.; Venkatraman, L. Wakeup scheduling in wireless sensor networks. In Proceedings of the 7th ACM international symposium on Mobile ad hoc networking and computing, Florence, Italy, 22–25 May 2006; pp. 322–333. [Google Scholar]
- Ye, W.; Heidemann, J.; Estrin, D. An energy-efficient MAC protocol for wireless sensor networks. In Proceedings of the Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies, New York, NY, USA, 23–27 June 2002; pp. 1567–1576. [Google Scholar]
- Zhang, Z.; Ma, M.; Yang, Y. Energy efficient multi-hop polling in clusters of two-layered heterogeneous sensor networks. IEEE Trans. Comput. 2005, 57, 231–245. [Google Scholar] [CrossRef]
- Voigt, T.; Ritter, H.; Schiller, J. Utilizing solar power in wireless sensor networks. In Proceedings of the 28th Annual IEEE International Conference on Local Computer Networks, Bonn/Konigswinter, Germany, 20–24 October 2003; pp. 416–422. [Google Scholar]
- Wang, C.; Guo, S.; Yang, Y. Energy-efficient mobile data collection in energy-harvesting wireless sensor networks. In Proceedings of the 20th IEEE International Conference on Parallel and Distributed Systems (ICPADS), Hsinchu, Taiwan, 16–19 December 2014; pp. 55–62. [Google Scholar]
- Rahimi, M.; Shah, H.; Sukhatme, G.; Heideman, J.; Estrin, D. Studying the feasibility of energy harvesting in a mobile sensor network. In Proceedings of the 2003 IEEE International Conference on Robotics and Automation, Taipei, Taiwan, 14–19 September 2003; pp. 19–24. [Google Scholar]
- Xu, W.; Liang, W.; Lin, X.; Mao, G. Efficient scheduling of multiple mobile chargers for wireless sensor networks. IEEE Trans. Veh. Technol. 2016, 65, 7670–7683. [Google Scholar] [CrossRef]
- Karalisa, A.; Joannopoulosb, J.D.; Soljacicb, M. Efficient wireless non-radiative mid-range energy transfer. Ann. Phys. 2008, 323, 34–48. [Google Scholar] [CrossRef]
- Kurs, A.; Karalis, A.; Moffatt, R.; Joannopoulos, J.D.; Fisher, P.; Soljacic, M. Wireless power transfer via strongly coupled magnetic resonances. Science 2007, 317, 83–86. [Google Scholar] [CrossRef] [PubMed]
- Wang, C.; Li, J.; Ye, F.; Yang, Y. Improve charging capability for wireless rechargeable sensor networks using resonant repeaters. In Proceedings of the IEEE 35th International Conference on Distributed Computing Systems, Columbus, OH, USA, 29 June–2 July 2015; pp. 133–142. [Google Scholar]
- Xie, L.; Shi, Y.; Hou, Y.T.; Sherali, H.D. Making sensor networks immortal: An energy-renewal approach with wireless power transfer. IEEE/ACM Trans. Netw. 2012, 20, 1748–1761. [Google Scholar] [CrossRef]
- He, L.; Kong, L.; Gu, Y.; Pan, J.; Zhu, T. Evaluating the on-demand mobile charging in wireless sensor networks. IEEE Trans. Mob. Comput. 2015, 14, 1861–1875. [Google Scholar] [CrossRef]
- Lin, C.; Zhou, J.; Guo, C.; Song, H.; Wu, G.; Obaidat, M.S. TSCA: A temporal-spatial real-time charging scheduling algorithm for on-demand architecture in wireless rechargeable sensor networks. IEEE Trans. Mob. Comput. 2018, 17, 211–224. [Google Scholar] [CrossRef]
- Lin, C.; Han, D.; Deng, J.; Wu, G. P2S: A primary and passer-by scheduling algorithm for on-demand charging architecture in wireless rechargeable sensor networks. IEEE Trans. Veh. Technol. 2017, 66, 8047–8058. [Google Scholar] [CrossRef]
- Liang, W.; Xu, W.; Shi, W.; Mao, G.; Das, S.K. Approximation algorithms for charging reward maximization in rechargeable sensor networks via a mobile charger. IEEE/ACM Trans. Netw. 2017, 25, 3161–3174. [Google Scholar] [CrossRef]
- Wang, C.; Li, J.; Ye, F.; Yang, Y.; Ye, F. A hybrid framework combining solar energy harvesting and wireless charging for wireless sensor networks. In Proceedings of the IEEE INFOCOM 2016—The 35th Annual IEEE International Conference on Computer Communications, San Francisco, CA, USA, 10–14 April 2016; pp. 1–9. [Google Scholar]
- Xie, L.; Shi, Y.; Hou, Y.T.; Lou, W.; Sherali, H.D.; Midkiff, S.F. Multi-node wireless energy charging in sensor networks. IEEE/ACM Trans. Netw. 2015, 23, 437–450. [Google Scholar] [CrossRef]
- Xu, W.; Liang, W.; Jia, X.; Xu, Z. Maximizing sensor lifetime with the minimal service cost of a mobile charger in wireless sensor networks. IEEE Trans. Mob. Comput. 2018. [Google Scholar] [CrossRef]
- Wang, C.; Li, J.; Ye, F.; Yang, Y. Recharging schedules for wireless sensor networks with vehicle movement costs and capacity constraints. In Proceedings of the Eleventh Annual IEEE International Conference on Sensing, Communication, and Networking, Singapore, Singapore, 30 June–3 July 2014; pp. 468–476. [Google Scholar]
- Wang, C.; Li, J.; Ye, F.; Yang, Y. A mobile data gathering framework for wireless rechargeable sensor networks with vehicle movement costs and capacity constraints. IEEE Trans. Comput. 2016, 65, 2411–2427. [Google Scholar] [CrossRef]
- Wang, C.; Li, J.; Ye, F.; Yang, Y. NETWRAP: An NDN based real-timewireless recharging framework for wireless sensor networks. IEEE Trans. Mob. Comput. 2014, 13, 1283–1297. [Google Scholar]
- Xu, W.; Liang, W.; Lin, X.; Mao, G.; Ren, X. Towards perpetual sensor networks via deploying multiple mobile wireless chargers. In Proceedings of the 43rd International Conference on Parallel Processing, Minneapolis, MN, USA, 20 November 2014; pp. 80–89. [Google Scholar]
- Zhao, M.; Li, J.; Yang, Y. A framework of joint mobile energy replenishment and data gathering in wireless rechargeable sensor networks. IEEE Trans. Mob. Comput. 2014, 13, 2689–2705. [Google Scholar] [CrossRef]
- Zhang, S.; Wu, J.; Lu, S. Collaborative mobile charging for sensor networks. In Proceedings of the IEEE 9th International Conference on Mobile Ad-Hoc and Sensor Systems, Las Vegas, NV, USA, 8–11 October 2012; pp. 84–92. [Google Scholar]
- Zhao, M.; Li, J.; Yang, Y. Joint mobile energy replenishment and data gathering in wireless rechargeable sensor networks. In Proceedings of the 23rd International Teletraffic Congress, San Francisco, CA, USA, 06–09 September 2011; pp. 238–245. [Google Scholar]
- Lithium Battery. Available online: https://www.amazon.com/Energizer-Lithium-Batteries-Lasts-Longer/dp/B00003IEMD/ref=sr_1_1_s_it?s=hpc&ie=UTF8&qid=1534904877&sr=1-1&keywords=Energizer+AA+Lithium+Batteries+2+Pack (accessed on 20 June 2018).
- Boshoff, J.N.; Helberg, A.S.J. Improving QoS for real-time multimedia traffic in ad-hoc networks with delay aware multi-path routing. In Proceedings of the 2008 Wireless Telecommunications Symposium, Pomona, CA, USA, 24–26 April 2008; pp. 1–8. [Google Scholar]
- Yao, Y.; Cao, Q.; Vasilakos, A.V. EDAL: An energy-efficient, delay-aware, and lifetime-balancing data collection protocol for heterogeneous wireless sensor networks. IEEE/ACM Trans. Netw. 2015, 23, 810–823. [Google Scholar] [CrossRef]
- Hou, Y.T.; Shi, Y.; Sherali, H.D. Rate allocation and network lifetime problems for wireless sensor networks. IEEE/ACM Trans. Netw. 2008, 16, 321–334. [Google Scholar] [CrossRef]
- Barbarán, J.; Diaz, M.; Esteve, I.; Rubio, B. RadMote: A mobile framework for radiation monitoring in nuclear power plants. Int. J. Electron. Circuit. Syst. 2007, 1, 104–109. [Google Scholar]
- Gomaa, R.; Adly, I.; Sharshar, K.; Safwat, A.; Ragai, H. ZigBee wireless sensor network for radiation monitoring at nuclear facilities. In Proceedings of the 6th Joint IFIP Wireless and Mobile Networking Conference (WMNC), Dubai, United Arab Emirates, 23–25 April 2013; pp. 1–4. [Google Scholar]
- Zou, T.; Xu, W.; Liang, W.; Peng, J.; Cai, Y.; Wang, T. Improving charging capacity for wireless sensor networks by deploying one mobile vehicle with multiple removable chargers. Ad Hoc Netw. 2017, 63, 79–90. [Google Scholar] [CrossRef]
- Dai, H.; Ma, H.; Liu, A.X. Radiation constrained scheduling of wireless charging tasks. IEEE/ACM Trans. Netw. 2018, 26, 314–327. [Google Scholar] [CrossRef]
- Jiang, G.; Lam, S.K.; Sun, Y.; Tu, L.; Wu, J. Joint charging tour planning and depot positioning for wireless sensor networks using mobile chargers. IEEE/ACM Trans. Netw. 2017, 25, 2250–2266. [Google Scholar] [CrossRef]
- Liang, W.; Xu, W.; Ren, X.; Jia, X.; Lin, X. Maintaining sensor networks perpetually via wireless recharging mobile vehicles. In Proceedings of the 39th Annual IEEE Conference on Local Computer Networks, Edmonton, AB, Canada, 8–11 September 2014; pp. 270–278. [Google Scholar]
© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).