Skip to main content

Energy harvesting-based data uploading for Internet of Things


Uploading data from tremendous devices is one of the most challenging tasks for Internet of Things (IoT) due to the heterogeneous data features and the energy constraints of IoT devices. In this paper, we study the data uploading problem from two tiers. In the first tier, we focus on the scheduling of data uploading from different IoT devices to a specific access point (AP) by considering the heterogeneous data features such as the freshness of the data, the data length, the data uploading period, and the energy state of the IoT device. In the second tier, we deal with the selection among different APs for one IoT device. An AP selection algorithm is proposed and we prove that the AP selection process would eventually reach a stable state. Simulation study shows that our proposed algorithm can improve the successful data uploading rate and the time slot utilization.


With the expected 50 billion deployment of Internet of Things (IoT) devices in 2020, massive data is to be uploaded through wired or wireless networks [1, 2]. However, it is hard to satisfy such data uploading demands with existing network structures due to the following reasons: first, massive data is to be uploaded from the huge amount of IoT devices; second, data from different IoT devices are with heterogeneous features, such as data volume and uploading period; third, some kinds of IoT devices acquire energy from ambiance around [3, 4] which brings a high uncertainty on their energy states.

To deal with the data uploading and/or transmission requirements of IoT devices, several schemes and protocols have been proposed. For example, there already existed several power supply monitoring applications used for data acquiring by using 2G, 3G, or 4G cellular networks. Within WiFi coverage, most of IoT devices are connected by accessing into femtocells. The Bluetooth and LORA are also used by IoT devices. Along with the 5G network evolution, narrow band-Internet of Things (NB-IoT) and EMTC are proposed for IoT communications. However, there are still some concerns to be solved as follows: First, the coverage of any given scheme cannot be perfect anywhere. Therefore, it is unreliable for IoT devices to rely on one specific access scheme. Second, information fusion [5] has not been considered in existing scheme which brings large information redundancy. Practically, for monitoring the environment in a given area, the acquired information from several IoT devices can be fused locally and upload the derived key information only. Third, no existing scheme considers the energy states of IoT devices. We should take the energy states of the IoT devices into consideration when scheduling their data uploading since the data uploading process cannot be conducted without enough energy supply.

In this paper, we deal with these concerns by designing a three-layer network framework and scheduling the data uploading from two tiers, as shown in Fig. 1. In the three-layer framework, the IoT devices with short-range wireless transmission capability belong to the bottom layer; the access points (APs) with wide-range transmission capability belong to the middle layer; and the traditional backbone networks, such as the cellular base station or the cable-based computer networks, belong to the top layer. Within the framework, each IoT device accesses to an appropriate AP for data uploading. Each AP acts as a controller that schedules the data uploading of the accessing devices and ensures the AP’s spectrum efficiency. The main contributions of our work are as follows:

  • In the first tier, we propose a scheduling algorithm where an emergency function is defined for each data uploading requirement by considering the freshness of the data, the data length, the data uploading period, and the energy state of the IoT device. Then, the priority of the data uploading requirements is decided according to their emergency functions.

  • In the second tier, we propose an AP selection algorithm where each IoT device accesses to the AP that can provide the highest expected data uploading probability. It is proved that the AP selection process would eventually reach a stable state.

  • A central slot utilization and also a distributive AP selection algorithm for IoT devices are proposed, to achieve the joint optimization on data uploading and energy harvesting (Table 1).

Fig. 1

System model. The figure describes the considered system model and the problems we are solving

Table 1 AP selection process of IoT devices

The rest of this paper is organized as follows. In Section 2, we summarize the related works on energy harvesting and data uploading. In Section 3, we describe the system model and formulate the data uploading problem. In Section 4, we analyze the data uploading of multiple IoT devices accessing to one identical AP and propose a scheduling algorithm based on the urgency functions of the IoT devices. In Section 5, the AP selection problem is solved by designing a distributive AP selection algorithm. The simulation results are given in Section 6, and we concluded our work in Section 7.

Related work

Wireless energy harvesting (WEH) is critical for IoT devices due to their long-term deployment and self-sustainable operation features [6]. IoT devices with WEH capability can harvest energy from environmental sources such as vibration, solar, thermal, and wireless RF [7]. The harvested energy is converted to usable power by the RF-to-DC rectifier and the power management unit (PMU). Several design issues have been studied for WEH including circuit hardware design, multi-antenna-based WEH, energy converting, and so on [3]. Moreover, information disseminating algorithm [810], privacy-preserving scheme [11, 12], and dominating set discovering algorithm [13] have been proposed for better utilization of the harvested energy in energy harvesting networks.

For data uploading, the well-investigated scheme is the harvest-then-transmit protocol [810]. In [8], the joint optimization problem of down-link RF energy harvesting and up-link information transmission is studied based on time division multiple access (TDMA). A common-throughput metric is proposed to address the doubly near-far problem. Ju and Zhang [14] extend the protocol proposed in [8] by incorporating user cooperation. Sun et al. [10] propose a low-complexity iteration algorithm to achieve a similar throughput as in [8]. However, these work mainly focus on the fairness among multiple users while sacrificing the system throughput to a certain extent. In order to maximize the system throughput, [15, 16] schedule some users for data transmission on certain frequency blocks at given time while arranging other users for energy harvesting. Ng et al. and Sun et al. [17, 18] study the data uploading scheme that can maximize the energy efficiency. By exploring nonlinear fractional programming and Lagrange dual decomposition, an iterative algorithm is proposed to achieve better performance in average energy efficiency and system performance. However, all the abovementioned schemes are centralized that perform well in small-scale network. With the increasing number of users in the network, the computation complexity of these centralized scheme will become intractable.

To accommodate with the data uploading requirements of the large number of users/devices, the multi-tier network structure has been proposed in [1921] without considering the energy harvesting capabilities of the users. Devices are divided into groups, and a device is selected as the gateway/AP within each group. The devices inside the same group may transmit their data to the gateway/AP while the gateway/AP can merge the information of the group and decide the accessing strategy to decrease the data flow in the backbone networks and improve the spectrum efficiency.

Our work is more challenging than the aforementioned ones since we take both the large-scale property of the IoT network and the energy harvesting capability of the IoT devices into consideration when designing the data uploading scheme.

System model and problem formulation

As shown in Fig. 1, we consider a network consisting of three layers: the IoT devices, access points, and the backbone infrastructures. The IoT devices are equipped with energy harvesting capabilities and can be deployed for different applications. Each device is equipped with short-range communication module for data uploading, and this module can support multiple technologies, such as WiFi, BLE4.0, and cognitive access. Each device can select a proper AP for data uploading according to its requirement and communication load. Each AP establishes one specific communication link to the backbone network. For example, AP 1 links to the Internet by wired connection and AP 2 links to cellular base station by NB-IoT. The main concern here lies in two aspects: how to schedule the data uploading of devices which select the identical AP, and how devices select the appropriate AP for data uploading among multiple APs. Without loss of generality, we make the following assumptions: First, the data uploading within an AP operates in a slotted manner (as TDMA). Multiple devices share the same spectrum band by using different time slots. Second, there exists a specific channel for command control between devices and APs. The information about spectrum usage and slot scheduling is exchanged on this channel. An example of the data structure of the devices and the scheduled uploading at AP is given in Fig. 2.

Fig. 2

Frame structure and scheduled uploading. The figure describes the data structure of devices 1, 2, and 3 and the scheduled uploading of these three devices at the AP

Explicitly, we consider that there are M IoT devices and N APs in a given area, which are denoted by \(\mathcal {M}=\{1, \cdots, i, \cdots, M\}\) and \(\mathcal {N}=\{1, \cdots, j, \cdots, N\}\), respectively. These IoT devices are deployed for different applications, thus have different data uploading demands. We characterize an IoT device \(i, i \in \mathcal {M}\) with the following parameters: the data volume si, the data uploading period ti, and the energy state ei. The data volume denotes how many slots are needed to upload its data through AP. The data uploading period ti denotes the intervals for data acquirement, such as the environment monitoring, or system state detections. The energy state ei denotes the current energy of device i, determining whether the data uploading can be performed. Further, we divide each device’s energy state into K+1 states, from empty energy to full energy, and introduce a matrix for describing the energy harvesting process as

$$ \Xi_{i} = \left[ \begin{array}{llll} \xi_{0,0}^{i} & \xi_{0,1}^{i} & \cdots\ &\xi_{0,K}^{i}\\ \xi_{1,0}^{i} & \xi_{1,1}^{i} & \cdots\ & \xi_{1,K}^{i}\\ \vdots & \vdots & \ddots & \vdots \\ \xi_{K,0}^{i} & \xi_{K,1}^{i} & \cdots\ & \xi_{K,K}^{i}\\ \end{array} \right] $$

Here, \(\xi _{k_{1}, k_{2}}^{i}, k_{1}, k_{2} \in [0, K]\) means the probability that the energy state of device i changes from state k1 to state k2. For example, \(\xi _{0,0}^{i}\)means the probability that device i does not acquire any energy and remains in empty energy and \(\xi _{0,k}^{i}\)means the probability that device i has acquired k unit energy from state 0. Note that, although these devices may be equipped with identical energy harvesting module, they also have different Ξi due to different data sensing periods. Moreover, Ξi only represents the energy harvesting ability of device i, but not the energy consumption of data sensing and transmission. Hence, the element \(\xi _{k_{1}, k_{2}}^{i}, k_{1}>k_{2}\) has zero probability.

We further denote the energy required for finishing data upload as \({e^{r}_{i}}\). Device \(i, i \in \mathcal {M}\) with \(e_{i}\geq {e^{r}_{i}}\) can upload its data to an AP, and its energy becomes \(e_{i}-{e_{i}^{r}}\). We define matrix Hi as an indicator whether data uploading is performed,

$$ H_{i} \left[ =\begin{array}{lllll} 1 & 0 & \cdots & \cdots & 0\\ 0 & 1 & \cdots & \cdots & 0\\ 0 & \mathcal{F} & 1-\mathcal{F} & \cdots & 0\\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 &\mathcal{F} & 1-\mathcal{F} \\ \end{array} \right] $$

Note that the energy state between \(\mathcal {F} \) and \(1-\mathcal {F} \) is \({e^{r}_{i}}\) for device i. Hence, we derive the energy transfer probability as ΞiHi to represent the sequential process of energy harvesting and data uploading.

Whether device i uploads its sensing data depends on its acquired data and the uploading strategy. For saving energy, device i would not upload its data if the current data that is unchanged refers to the last period. Similarly, device i can postpone its current uploading to the next period when it infers that the data acquired in the next period is unchanged or energy is below the threshold \({e_{i}^{r}}\). Therefore, we model the data transition as a Markov chain and define the data transition matrix for device i as

$$ \Gamma_{i} = \left[ \begin{array}{llll} \gamma_{1,1}^{i} & \gamma_{1,2}^{i} & \cdots\ &\gamma_{1,L_{i}}^{i}\\ \gamma_{2,1}^{i} & \gamma_{2,2}^{i} & \cdots\ &\gamma_{2,L_{i}}^{i}\\ \vdots & \vdots & \ddots &\vdots \\ \gamma_{L_{i},1}^{i} & \gamma_{L_{i},2}^{i} & \cdots\ &\gamma_{L_{i},L_{i}}^{i}\\ \end{array} \right] $$

Here, \(\gamma _{m, n}^{i}\) represents the probability of transferring from state m,m[1,Li] to state n,n[1,Li]. Note that the dimension of Γi is different referring to a specified sensing object.

The main issue is that how to satisfy these IoT devices’ data uploading requirements. We classify these devices into groups as \(\left \{\mathcal {M}_{1}, \cdots, \mathcal {M}_{j}, \cdots,\mathcal {M}_{N}\right \}, \mathcal {M}_{j} \cap \mathcal {M}_{k}=\phi, \forall j,k \in [1,N]\). Here, \(\mathcal {M}_{j}\) denotes the set of devices uploading data through AP j and AP j needs to properly schedule the uploading requirements for achieving the spectrum efficiency. Taking the WiFi for an example, although there are 14 bands available in 2.4 GHz, only 1 band can be selected for a device at a given time. Thus, each device should work on an identical band. When scheduling, it is necessary to avoid collision when two devices are uploading their data simultaneously on the same slot through the same AP. When several devices have the identical data uploading period, we need to delay some of these devices and avoid possible collisions. In our model, the main problem is how to derive the optimal delay for devices, which is related to their energy state, data state, and so on. Hence, we incorporate depth κ as a metric for measuring the available remaining slots for data uploading. Therefore, κ=0 means device i decides whether to upload its data based on its current data and energy state only. Similarly, κ=1 means device i decides whether to upload its data based on its current data and energy and also the possible data and energy in the next period. By incorporating depth κ, a portion of devices may have a data uploading slots more than one period, even larger than two periods, thus avoiding the potential collision in advance. Note that our proposed mechanism is different from the traditional CSMA mechanism, as users delay a random number of slots before the next transmission. From a given time stamp t=0 to relatively large time stamp t=T, we denote device i’s data in each period as \(\mathbf {d}_{i}=\left \{d_{i,j}^{1}, d_{i,j}^{2}, \cdots, d_{i,j}^{n_{i}}\right \}, n_{i}\cdot t_{i}\leq T \leq (n_{i}+1) \cdot t_{i}\) once it selected AP j for uploading. Here, \(d_{i,j}^{k}, k\in [1, n_{i}]\) denotes a serial of slots beginning with t=ti·(k−1)+1 and ending with t=ti·(k−1+si), that is |di,j|=si. By considering the possible uploading in the next κ periods, the data uploading slots can be changed, such as \(d_{i,j}^{2}\) changed from [ti+1,2·t1] to [ti+1+t,2·t1+t]. Hence, the derived data sequence of device i is denoted as \(\tilde {\mathbf {d}_{i}}\). Note that the data sequence’s transformation is affected by other devices which selected identical AP; thus, the new data sequences \(\tilde {\mathbf {d}_{1}}, \tilde {\mathbf {d}_{2}}, \cdots, \tilde {\mathbf {d}}_{M_{j}} \) have already no collision between each other’s uploading from AP j. Therefore, the optimization problem can be denoted as

$$ \max_{\kappa, \tilde{\mathbf{d}_{1}}, \tilde{\mathbf{d}_{2}}, \cdots, \tilde{\mathbf{d}_{M}}} \frac{\sum\nolimits_{j} \sum\nolimits_{i,i\in \mathcal{M}_{j}} |\tilde{\mathbf{d}_{i}}| }{T} $$

the constraints are

$$ \tilde{\mathbf{d}}_{m} \cap \tilde{\mathbf{d}}_{n} =\phi, \forall m, n\in [1, \mathcal{M}_{j}], j \in [1,N] $$

Therefore, this optimization problem needs an iterative process of two parts: devices select the proper AP for data uploading and the scheduling of data for devices which access the same AP. Thus, we first analyze the data uploading scheduling among devices under a given AP, then begin with the AP selection for M devices.

Data uploading scheduling within one identical AP

In this section, we consider the case when \(\mathcal {M}_{j}\) devices decide to upload their data through AP j. We skip the trivial case that only one device needs to upload its data for a given slot, then focus on the case when there are multiple devices, more than 2, that need to upload their data at the same time. Hence, AP j needs to figure out which device should be uploading first, and other devices wait for the next available slot and avoid possible collisions.

As for comparison, we first derive the collision probability of \(\mathcal {M}_{j}\) devices without scheduling. Taking an example of two devices, each with a data uploading period as three slots and the data volume is one slot, their data uploading probabilities are 0.3 and 0.8. It is apparent that their collision probability is 0.3*0.8/3. Hence, we begin with deriving the uploading probability for \(|\mathcal {M}_{j}|\) devices \({P_{i}^{S}}, i\in \mathcal {M}_{j}\) by their energy transition matrix Ξ and data transition matrix Γ. As we mentioned before, the device would upload its data under conditions: enough energy, that is, \(e_{i}\geq {e_{i}^{r}}\), and data changed compared with the previous period, that is \(d_{i}\neq d_{i}^{-1}\). Therefore, we derive the data uploading probability of device \(i, i\in \mathcal {M}_{j}\) as the following lemma.

Lemma 1

The data uploading probability of device i is denoted as

$$ {P_{i}^{S}}= \left(\sum\limits_{i=1}^{K+1} {\pi_{i}^{e}} \sum\limits_{e_{k}\geq {e_{i}^{r}}, k\in [1, K+1]} \xi_{i,k} \right)\cdot \left(\sum\limits_{i=1}^{L_{i}} {\pi^{d}_{i}} \sum\limits_{j\neq i} \gamma_{ij}^{i}\right). $$


Firstly, we notice the independence of energy acquirement process and data transition process, and we have

$$ {P_{i}^{S}}=P\left(e_{i}\geq {e_{i}^{r}}\right)\cdot P\left(d_{i}\neq d_{i}^{-1}\right) $$

Next, we derive the expression of \(P(e_{i}\geq {e_{i}^{r}})\). Device i acquires energy from solar in each period, then decreases \({e_{i}^{r}}\) by performing the data uploading; thus, we denote this process by Ξi·Hi. Moreover, we derive the stationary probability over energy states as a solution of \({\pi _{i}^{e}} \Xi _{i} H_{i}={\pi _{i}^{e}}\). Hence, the probability of device i with enough energy for data uploading is

$$ P\left(e_{i}\geq {e_{i}^{r}}\right)=\sum\limits_{i=1}^{K+1} {\pi_{i}^{e}} \sum\limits_{e_{k}\geq {e_{i}^{r}}, k\in [1, K+1]} \xi_{i,k} $$

Similar to \(P\left (e_{i}\geq {e_{i}^{r}}\right)\), we derive the stationary probability of Li data states by solving \({\pi _{i}^{d}} \Gamma ={\pi _{i}^{d}}\), then we have

$$ P(d_{i}\neq d_{i}^{-1})=\sum\limits_{i=1}^{L_{i}} {\pi^{d}_{i}} \sum\limits_{j\neq i} \gamma_{ij}^{i} $$

Finally, by incorporating these two parts, we derive the conclusion. □

As we derived device i’s data uploading probability \({P_{i}^{S}}\), and the period si is given, we then derive the collision probability of \(|\mathcal {M}_{j}|\) devices without scheduling for comparison.

Proposition 1

The collision probability of \(|\mathcal {M}_{j}|\) devices without scheduling is

$$ \begin{aligned} &P_{c}\approx \sum\limits_{(m, n), m, n \in \mathcal{M}_{j}} \frac{{P_{m}^{S}}\cdot {P_{n}^{S}}}{[s_{m}, s_{n}]}- \\ &\qquad\qquad 2 \sum\limits_{(m, n, k), m, n, k \in \mathcal{M}_{j}} \frac{{P_{m}^{S}}\cdot {P_{n}^{S}} \cdot {P_{k}^{S}}}{\left[s_{m}, s_{n}, s_{k}\right]} \end{aligned} $$


We begin with collision among any two devices. For device \(m, n, \in m, n \in \mathcal {M}_{j}\), and we denote the beginning slot as t=1, then their uploading data may be colluded when t=[sm,snk,k=1,2,; here, [·] means the least common multiple (LCM) of two variables. Therefore, the overall collisions over the whole set is

$$ P_{c}\left(\mathrm{2 devices}\right)=\sum\limits_{\left(m, n\right), m, n \in \mathcal{M}_{j}} \frac{{P_{m}^{S}}\cdot {P_{n}^{S}}}{\left[s_{m}, s_{n}\right]} $$

However, when we calculate Pc(2devices), we count some of the collisions repeatedly, that is, when more than two devices’ data collude at the same time. Hence, we need to reduce these collision probabilities. Similarly, the overall collisions between every three devices can be denoted as

$$ P_{c}(\mathrm{3 devices})=\sum\limits_{(m, n, k), m, n, k \in \mathcal{M}_{j}} \frac{{P_{m}^{S}}\cdot {P_{n}^{S}} \cdot {P_{k}^{S}}}{[s_{m}, s_{n},, s_{k}]} $$

As the probability Pc(3devices) is calculated three times when calculating Pc(2devices), we derive the modified collision probability as

$$ P_{c}=P_{c}(\mathrm{2 devices})-2\cdot P_{c}(\mathrm{3 devices}) $$

Also the collision between four and five devices may be counted repeatedly, and we omit these parts due to complexity and comparatively small than collision between two and three devices. □

$$ {{} \begin{aligned} U_{i}(n_{i}+T_{i})= \left\{ \begin{aligned} &\gamma_{d_{i}, d_{i}}\cdot \sum\limits_{j \neq d_{i}} \gamma^{i}_{d_{i},j} ~, \bar{e}_{i} \geq 2 e^{req}_{i},\\ &\!\!\!\gamma_{d_{i}, d_{i}}\!\!\cdot\!\sum\limits_{j \neq d_{i}} \gamma^{i}_{d_{i},j} \!\cdot\!\!\sum\limits_{j=e_{i}^{req}}^{K} \xi^{i}_{\bar{e}_{i}-e^{req}_{i}, j}~,e^{req}_{i} \!\!\leq\! \bar{e}_{i} \!\!<\!\! 2e^{req}_{i},\\ &\sum\limits_{j \neq d_{i}} \gamma^{i}_{d_{i},j}\cdot \sum\limits_{j< e^{req}_{i}}\sum\limits_{e^{req}_{i}\leq k\leq K} \xi^{i}_{\bar{e}_{i},j} \xi^{i}_{j,k} +&\\ &\!\!\!\gamma_{d_{i}, d_{i}}\!\!\cdot\! \!\sum\limits_{j \neq d_{i}} \gamma^{i}_{d_{i},j}\!\cdot\!\! \sum\limits_{j\geq e^{req}_{i}}\sum\limits_{e^{req}_{i}\leq k\leq K}\\&\quad \xi^{i}_{\bar{e}_{i},j} \xi^{i}_{j-e^{req}_{i},k}~, \bar{e}_{i} < e^{req}_{i}. \end{aligned} \right. \end{aligned}} $$

By data uploading scheduling, devices may postpone their data to following periods depending on the data transition matrix and energy states. Hence, the main concern is how to sort the data uploading of these devices? Which device can upload in current slot and which devices must postpone their data uploading to following periods? For facilitating the scheduling process, we propose a single metric for each device, which is related to the following factors:

  • The data sequence \(\left \{d^{-1}_{i}, d_{i}, {d^{1}_{i}}, \cdots, {d^{k}_{i}}, \cdots \right \}\): here, \(d^{-1}_{i}\) represents the data uploading in the last period and di denotes the data to be uploaded in the current period; the accurate value of \({d^{1}_{i}}, \cdots, {d^{k}_{i}}, \cdots \) is unknown, and we only infer whether they are different from the current data di using the data transition matrix Γ.

  • The energy sequence \(e_{i}, {e_{i}^{1}}, \cdots \): ei is the current energy state, and \({e_{i}^{1}}, \cdots \) represents the energy state in the following periods and can be inferred by energy transition matrix Ξ.

  • The data uploading period Ti: we denote the remaining slots in the current period as ni, then the available slots can be ni+Ti if there is no data to be uploaded in the next period.

  • The data length si: it is apparent that devices with larger data volume would endure lower successful uploading than others without considering data length si. Thus, we may incorporate data length si as a factor for data uploading scheduling to balance the fairness among devices.

Based on these parameters above, we need to derive the urgency function for devices in \(\mathcal {M}_{j}\) as \(U_{i}\left (T_{i}, n_{i}, d^{-1}_{i}, d_{i}, e_{i}\right)\). Depending on the available time slots and the depth κ, we have

$$ U_{i}=f(s_{i},T_{i}) \cdot \sum\limits_{k=1}^{\kappa} \theta(n_{i}+k\cdot T_{i}) U_{i}(n_{i}+k\cdot T_{i}), $$

here θ(ni+k·Ti) is a decreasing factor referring to the number of slots, which reflect the inaccuracy of Ui(ni+k·Ti).

We begin with deriving Ui(ni), that is new data maybe uploaded in the next period, then only ni slots can be used for uploading the current data; this can be classified into four cases:

1. The last period sensing data \(d^{-1}_{i}\) was sent successfully, and also the data is unchanged in the current period, that is \(d^{-1}_{i}=d_{i}\). In this case, device i need not to participate in transmission competitions, thus denote Ui=0.

2. The sensing data satisfies \(d_{i}\neq d_{i}^{-1}\); thus, IoT device i needs to transmit. The urgency function of device i depends on the remaining slots for transmitting its sensing data. We analyze the situation in the following cases:

(a) Device i also needs to transmit new data \({d^{1}_{i}}\) in the next period; thus, we have \({e_{i}^{1}}\geq e^{req}_{i}\) and \({d^{1}_{i}}\neq d_{i}\). Hence, we have \(U_{i}(n_{i})=P\left ({e_{i}^{1}}\geq e^{req}_{i}, {d^{1}_{i}}\neq d_{i}\right)\).

(b) Device i need not to transmit in the next period but to transmit in the period following the next. Hence, we have \(U_{i}(n_{i}+T_{i})=P\left ({e_{i}^{1}} < e^{req}_{i} \text { or} {d^{1}_{i}}= d_{i}\right)\cdot P\left ({e_{i}^{2}} \geq e^{req}_{i}, {d^{2}_{i}}\neq d_{i}\right)\).

Similar to the derivation of Ui(ni),Ui(ni+Ti) above, we can derive Ui(ni+k·Ti),k=2,.

3. The last period sensing data \(d^{-1}_{i}\) is not transmitted successfully, and the data in the current period is unchanged or the energy is below the threshold; this case is the same as the case above.

4. The last period sensing data \(d^{-1}_{i}\) is not transmitted successfully, and also \(d^{-1}_{i}\neq d_{i}\); thus, data \(d^{-1}_{i}\) is discarded, and the data di in the current period needs to be sent. Hence, this case is also the same as the second case above.

Next, we need to calculate the expression for Ui(ni+k·Ti). We begin with \(U_{i}(n_{i})=P\left ({e_{i}^{1}}\geq e^{req}_{i}, {d^{1}_{i}}\neq d_{i}\right)\). As data transition and energy transition are independent, we have \(U_{i}(n_{i})=P\left ({e_{i}^{1}}\geq e^{req}_{i}\right) \cdot P\left ({d^{1}_{i}}\neq d_{i}\right)=P\left ({e_{i}^{1}}\geq e^{req}_{i}\right) \cdot \sum \nolimits _{j \neq d_{i}} \gamma ^{i}_{d_{i},j}\). The energy state \({e_{i}^{1}}\) can be divided into two cases: First, \(\bar {e}_{i}\geq e^{req}_{i}\), thus no matter whether device i obtains energy outside the sensing can be performed with probability 1. Second, \(\bar {e}_{i}< e^{req}_{i}\), whether device i performs the data sensing depending on obtaining energy to achieve the minimum energy \(e^{req}_{i}\), the probability can be calculated as \(\sum \nolimits _{j=e_{i}^{req}}^{K} \xi ^{i}_{\bar {e}_{i}, j}\). Based on the analysis above, we derive the expression of Ui(ni) as in Eq. (16).

$$ U_{i}(n_{i})= \left\{ \begin{aligned} &\sum\limits_{j \neq d_{i}} \gamma^{i}_{d_{i},j} ~, & & \bar{e}_{i} \geq e^{req}_{i},\\ &\sum\limits_{j=e_{i}^{req}}^{K} \xi^{i}_{\bar{e}_{i}, j}\cdot \sum\limits_{j \neq d_{i}} \gamma^{i}_{d_{i},j} ~,& & \bar{e}_{i} < e^{req}_{i}. \end{aligned} \right. $$

Similarly, we derive the expression of Ui(ni+Ti) as in Eq. (14). Hence, we derive the urgency function of device i as in Eq. (15).

AP selection among IoT devices

In this section, we deal with the AP selection problem for IoT devices. As we denoted before, the AP selection process is performed by IoT devices distributively. For each device, it will join the other APs once it can increase the data uploading probability. The main concern here is that how would a device know joining other APs can bring a larger successful data uploading probability. Although we aim to derive a distributive algorithm for AP selection, some key information is also needed and broadcast to IoT devices. We list the main information needed for AP selection as follows:

  • The slot utilization sequence Θ1,,Θj,,ΘN of AP j,j[1,N]. As for multiple devices that joined AP j for data uploading, AP j assigned the slots to a device with the highest utility of urgency function. Hence, AP j has the accurate statics on slot utilization irrelevant to the data uploading competitions. Note that the slot utilization Ej is easy to derive and broadcast through control channels by APs

  • The data uploading probability \({P_{i}^{S}}\) of device i,i[1,M]. This probability can be derived by device i using energy harvesting matrix and also data transition matrix as in Lemma 1

  • The actual data uploading probability \({A_{i}^{s}}\) of device i,i[1,M]. This probability is derived by counting on the actual uploading data.

These parameters are the overall information needed for AP selection, the first one is derived by AP broadcasting, and the latter two are derived by devices. For devices and APs to derive these parameters accurately, the AP selection should be operated periodically with a relative larger slots.

Basically, we need to find a metric for IoT devices, facilitating their selection among APs. In order to reflect the actual slot usage for devices, the metric must be accurate and brief. Fortunately, the actual data uploading probability \({A_{i}^{s}}, i \in [1, M]\) can be used as a metric to measure the data uploading performance of APs. Suppose that device i selects AP j randomly at the beginning, then perform its data uploading through AP j. After a certain time Ts, each AP broadcasts its slot utilization probability as Θ1,,ΘN. At the same time, data uploading probability \({P_{i}^{S}}\) and actual data uploading probability \(A_{i, j}^{s}\) of device i,iM are derived by device i. Before device i switches to another APs, it must derive the expected actual data uploading probability \(\tilde {A}_{i, k}^{s}, k\in [1, N], k\neq j\).

Lemma 2

The expected actual data uploading probability \(\tilde {A}_{i, k}^{s}, k\in \{1, N\}, k\neq j\) is

$$ \tilde{A}_{i, k}^{s}=\left(1-\Theta_{k}\right)\left(1+\frac{s_{i} \ln \left(1-{P_{i}^{s}} \right)}{T_{i}}\right). $$


As the transmission rate is different between APs, thus the number of slots for data uploading is different either. For AP k,kj, the number of slots is denoted as si,k. Further, we consider that the devices access AP k as a whole, with the data uploading probability Θk. Also, the uploading period is denoted as 1, that is, data would be uploaded in each slot. Suppose that device i has data to be uploaded in the current period, and the number of slots is si, we consider the following cases:

  • Case 1: device i has data to be uploaded in the next period; thus, the remaining slots for data uploading is Tisi. Hence, we can derive the successful uploading probability as the product of case 1 and other devices do not upload at these slots, that is, \({P_{i}^{s}}\cdot (1-\Theta _{k})\frac {T_{i}-s_{i}}{T_{i}}\).

  • Case 2: device i does not have data to be uploaded in the next period but in next two periods; this case has the probability of \({P_{i}^{s}}\left (1-{P_{i}^{s}}\right)\). Also, the remaining slots for data uploading is 2Tisi. Hence, the overall probability is \({P_{i}^{s}}\left (1-{P_{i}^{s}}\right) \cdot \left (1-\Theta _{k}\right)\frac {2T_{i}-s_{i}}{2T_{i}}\).

  • Case k: device i has only 1 data to be uploaded in k period, thus has the probability of \({P_{i}^{s}}\left (1-{P_{i}^{s}}\right)^{k-1}\). Hence, the overall probability is \({P_{i}^{s}}\left (1-{P_{i}^{s}}\right)^{k-1} \cdot \left (1-\Theta _{k}\right)\frac {kT_{i}-s_{i}}{kT_{i}}\).

Summarizing all the cases 1,2,,k,, we can derive the expected actual data uploading probability as

$$ \begin{aligned} \tilde{A}_{i, k}^{s}=&{P_{i}^{s}}\cdot (1-\Theta_{k})\frac{T_{i}-s_{i}}{T_{i}}+ {P_{i}^{s}}(1-{P_{i}^{s}}) \cdot (1-\Theta_{k})\\ &\cdot \frac{2T_{i}-s_{i}}{2T_{i}}+\cdots+{P_{i}^{s}}\left(1-{P_{i}^{s}}\right)^{k-1} \\ &\cdot (1-\Theta_{k})\frac{kT_{i}-s_{i}}{kT_{i}}+\cdots\\ =&(1-\Theta_{k})\left(1+\frac{s_{i} }{T_{i} }\ln(1-{P_{i}^{s}})\right) \end{aligned} $$

Hence, we finish the proof.

Therefore, device i will calculate the data utilization vector \(\tilde {A}_{i,1}^{s}, \cdots, \tilde {A}_{i,N}^{s}\) when APs broadcast their slot utilization Θ1,,ΘN, except for its current selection, that is, AP j. It is apparent that the best AP to be selected is \(\max _{k} \tilde {A}_{i,k}^{s}\). We summarize the AP selection process as in Algorithm 2 (given in Table 1). The variable ε is a minimal positive number, which avoids the ping-pong effect between AP selections.

Then, the next question arises, that is, whether this AP selection process would eventually reach a stable state, no any devices change their selected AP and switch to another one. We begin with the slot utilization Θj of AP j. Considering that devices set \(\mathcal {M}_{j}=\{1, \cdots, M_{j}\}\) selected AP j currently and have the actual data uploading probability as \(A_{1,j}^{s}, \cdots, A_{M_{j},j}^{s}\), thus we can derive that the slot utilization Θj is a summation of data uploading probability of device set \(\mathcal {M}_{j}\), that is, \(\Theta _{j}=\sum \nolimits _{i=1}^{M_{j}} \frac {s_{i}}{T_{i}}{P_{i}^{s}} \). Hence, slot utilization Θj is a function of uploading period Ti, data volume si, and uploading probability \({P_{i}^{S}}\), that is, \(\Theta _{j}=g(T_{i},s_{i},{P_{i}^{s}})\). As we denoted in data uploading scheduling inside AP above, each device acquires the uploading opportunity by sending its urgency function, no collision is derived, but some data can be delayed and eventually discarded when new data is acquired, thus bringing the decreasing in actual data uploading probability. Hence, we conclude that the function g(·) has \(\phantom {\dot {i}\!}g^{\prime }(\cdot) \geq 0, g^{\prime \prime }(\cdot) \leq 0\). Based on this analysis, we derive the following proposition:

Proposition 2

The AP selection process leads to a stable state in finite rounds.


Consider that the current AP selected by device i is AP j, with actual data uploading probability as Ai,j. As the slot utilization vector broadcasting by AP is Θ1,,ΘN, device i selects AP k with \(\max _{k} \tilde {A}_{i,k}^{s}\) for data uploading. It is apparent that device i will increase its successful data uploading probability, that is, \(\tilde {A}_{i,k}^{s} >A_{i,j}\). We further denote the slot utilization of AP j without device i is \(\bar {\Theta }_{j}\) and the slot utilization of AP k by joining device i as \(\bar {\Theta }_{k}\). Thus, we have \(A_{i,j}=\left (1-\bar {\Theta }_{j}\right)\left (1+\frac {s_{i} \ln (1-{P_{i}^{s}})}{T_{i}}\right)\). By incorporating \(\tilde {A}_{i,k}^{s} >A_{i,j}\), we have \(\bar {\Theta }_{j}> \Theta _{k}\).

As we defined before, the slot utilization is a function of data uploading load, that is, \(\Theta _{j}=\sum \nolimits _{i=1}^{M_{j}} \frac {s_{i}}{T_{i}}{P_{i}^{s}}, j\in \mathcal {N}\). Suppose that the current data uploading load in AP j,k are Lj and Lk, thus we have Θj=g(Lj),Θk=g(Lk). Moreover, we have \(\bar {\Theta }_{j}=g\left (L_{j}-\frac {s_{i}}{T_{i}}{P_{i}^{s}}\right), \bar {\Theta }_{k}=g\left (L_{k}+\frac {s_{i}}{T_{i}}{P_{i}^{s}}\right)\). Hence, we have

$$ {{} \begin{aligned} &\bar{\Theta}_{j}+\bar{\Theta}_{k}-\Theta_{j}-\Theta_{k}\\ =&(\bar{\Theta}_{k}-\Theta_{k})-(\Theta_{j}-\bar{\Theta}_{j})\\ =&\left(g\left(L_{k}+\frac{s_{i} {P_{i}^{s}}}{T_{i}}\right)-g(L_{k})\right)-\left(g(L_{j})-g\left(L_{j}-\frac{s_{i} {P_{i}^{s}}}{T_{i}}\right)\right) \end{aligned}} $$

As we derived that \(\bar {\Theta }_{j}> \Theta _{k}\) and \(\phantom {\dot {i}\!}g^{\prime }(\cdot) \geq 0, g^{\prime \prime }(\cdot) \leq 0\), we conclude that \(\bar {\Theta }_{j}+\bar {\Theta }_{k}-\Theta _{j}-\Theta _{k}>0\). This result indicates that device i changes its AP selection for increasing its own successful data uploading probability and also increases the overall slot utilization of both APs. However, the slot utilization of all APs, that is, \(\sum \nolimits _{j} \Theta _{j}\), is finite, thus may achieve its maximization by finite rounds.

Results and discussions

Along with the two-tier data uploading process, the performance of slot scheduling inside AP and AP selection among IoT devices is verified in this section. In the slot scheduling process, we need to figure out, by using proposed Algorithm 1 given in Table 2, whether the slot utilization increases and all IoT devices increase their successful data uploading probabilities compared with the transitional contention-based mechanism. In the AP selection process, we need to figure out whether the selection process halts in finite rounds and if the iterative process may increase the slot utilization on all APs gradually.

Table 2 Data uploading process of the proposed mechanism

Slot utilization inside AP

In this case, a set of IoT devices \(\mathcal {M}_{j}\) selects an identical AP j for data uploading. Firstly, we verify the performance of the proposed algorithm by gradually increasing the data uploading load. Given each IoT device has almost equal data load, that is, \(\frac {{P_{m}^{s}}}{T_{m}}\cdot s_{m} \approx \frac {{P_{n}^{s}}}{T_{n}}\cdot s_{n}, \forall m, n \in \mathcal {M}_{j}\). Suppose that there is only 1 IoT device connected to AP j at the beginning, then we increase the number of IoT devices by 1 at a time and derive the simulation results as in Fig. 3. Here, each IoT device’s data uploading load is set to 0.06, and the maximum load is 1.8 with 30 IoT devices, which is larger than the capacity of AP. As we depicted in the above red curve, the ratio of successful data uploading decreases with the variation on data uploading load. Even with data uploading load of 1.8, successful data uploading of our proposed algorithm achieves 0.58, much larger than 0.09 of the contention-based algorithm. Moreover, the above blue curve indicates that our proposed algorithm reaches almost 100% slot utilization, larger than 60% of the contention-based algorithm, which means that almost each slot is used for data uploading through AP. Besides, the above blue curve coincides with the assumption in Section 5 that the slot utilization on AP is a convex function of the data uploading load.

Fig. 3

The probability of successful data uploading and slot utilization of AP j. Performance comparison between our algorithm and the contention-based algorithm in terms of the successful data uploading probability and the slot utilization probability j

Secondly, we focus on the successful data uploading probabilities of IoT devices individually instead of the overall performance. Consider that there are nine devices that selected this AP and are classified into three classes. Different class has unequal sensing data length and also transmission period, due to heterogeneous energy harvesting matrices and data transition matrices of IoT devices. By generating their data sequences and calculation, we list their parameters, such as uploading period, data volume, and data uploading probability as in Table 3.

Table 3 Parameters of nine IoT devices

In Fig. 4, we compared the performance with different urgency functions. Note that we take random selection among nine devices for transmission as a benchmark scheme for comparison, which is depicted as the red curve. We observe that the class C devices with short period time have the lowest successful transmission rate, about 55%. If we take the simple method, by using the weighted vector, multiply the function f(·) only, as depicted in the green curve, the ratio of class C devices increases a lot by severely damaging the class A devices. Furthermore, we perform the simulations under the urgency function but depth k=0, and depth k=1 only, and also the urgency function with depth k=1. The results indicate that using urgency function and setting depth k=1 achieve better performance and balance among devices, with ratio above 85% for each class devices.

Fig. 4

Successful transmission of nine devices referring to different Gi. The figure shows the successful transmission ratio when different methods are applied for calculating Gi

In Fig. 5, we compare the performance with different depth k. As expected, by considering the future data sensing and energy harvesting state, all devices increase their successful data transmission. However, further increments on depth k cannot bring obvious improvement in performance, but increase the computation complexity. It is apparent that the optimal depth is k=1 under this simulation scenario.

Fig. 5

Successful transmission of nine devices referring to different k. The figure shows the successful transmission ratio when different depth k are used in the emergency function

In Fig. 6, we compared the efficiency of slot usage and data transmission under different urgency functions, where 1–7 in the x-axis represent cases listed as random selection, weighted, G(·) only, and urgency function with k=0,1,2,3. We observed that the proposed mechanism not only increases the successful data transmission, from 85% to above 90%, but also increases the ratio of slot usage. However, by different sensing period constraints, the slot usage cannot increase even by using higher depth k.

Fig. 6

The efficiency of slot usage and data uploading. The figure shows the efficiency of slot usage and data uploading under different situations

AP selection among IoT devices

In this subsection, we evaluate the performance on the AP selection algorithm. Specifically, we need to figure out whether the proposed algorithm leads to a stable state and if the overall successful data uploading probability increases along with the iterative process. In this case, we suppose that there are 20 IoT devices and 2 AP arranged in a given area. From the scratch, 20 IoT devices select AP 1 for data uploading and no device selects AP 2, then devices decide whether to switch to another AP in each round distributively after APs broadcast their current slot utilizations.

The slot utilization probabilities derived by 50 rounds are depicted in Fig. 7. Here, the blue curve indicates that the slot utilization of AP 1 decreases due to the departure of IoT devices. Meanwhile, the green curve increases as the number of devices gradually increased. Overall, the summation of slot utilization in both APs increases in the whole iterative rounds, which is coincided with the theoretical analysis in Proposition 2. Besides, the selection of IoT devices on APs steadied in less than 20 rounds, which indicates that our proposed algorithm has a well-convergence performance.

Fig. 7

The slot utilization of APs in 50 rounds. The figure shows the slot utilization of each AP and the total slot utilization of the existing two APs

In Fig. 8, the successful data uploading probabilities of five devices out of these IoT devices are depicted. It is easy to find that the red curves indicate devices switched to AP 2 and the blue curves indicate devices persisted in AP 1. As AP 2 has less devices, thus users 1, 2, and 3 joined by increasing their successful data uploading probabilities directly to almost 1. Meanwhile, IoT devices which remain in AP 1 also increase their successful data uploading probabilities due to lower data uploading load. Hence, we conclude that the successful data uploading probabilities of IoT devices always increase during the iterative process.

Fig. 8

The successful data uploading probabilities of individual IoT devices. The figure shows the successful data uploading probabilities of IoT device 1 to IoT device 5


In this work, we analyze the scenario that how to schedule the data uploading of multiple energy harvesting enabled IoT devices among multiple APs. Firstly, a multi-layer data uploading process is proposed, which devices access the proper AP for data uploading and APs relay devices’ data through different network access technologies. Secondly, a low-complexity slot allocation algorithm is proposed for devices which select the identical AP; the urgency function of devices ensures that the uploading period, data length, and remaining slots are considered and achieve the fairness among devices. Thirdly, a distributive AP selection algorithm is proposed and thus can achieve the stable selection among devices. Finally, the simulation results indicate that our proposed algorithms well balance the data uploading requirements and also afford multiple access choices in heterogeneous networks with low cost and complexity.


In this paper, we designed a three-layer network framework and scheduled the data uploading from two tiers. In the first tier, we proposed a scheduling algorithm where an emergency function is defined for each data uploading requirement by considering the freshness of the data, the data length, the data uploading period, and the energy state of the IoT device. Then, the priority of the data uploading requirements is decided according to their emergency functions. In the second tier, we proposed an AP selection algorithm where each IoT device accesses to the AP that can provide the highest expected data uploading probability. Experimental results were performed using MATLAB R2009b on Intel? Core i5 system. The requirement of uploading data and the harvested energy were all constructed by an appropriate MATLAB code.



Access point


Internet of Things


Narrow band- Internet of Things


Long-range radio


WIreless FIdelity


Wireless energy harvesting


Radio frequency


Direct current


Power management unit


Media access control


Industrial scientific medical


Time division multiple access


Carrier sense multiple access/collision avoidance


  1. 1

    M. R. Palattella, M. Dohler, A. Grieco, G. Rizzo, J. Torsner, T. Engel, L. Ladid, Internet of Things in the 5G era: enablers, architecture, and business models. IEEE J. Sel. Areas Commun.34(3), 510–527 (2016).

    Article  Google Scholar 

  2. 2

    Z. Cai, X. Zheng, A Private and Efficient Mechanism for Data Uploading in Smart Cyber-Physical Systems. IEEE Trans. Netw. Sci. Eng., 1–1 (2018).

  3. 3

    X. Lu, P. Wang, D. Niyato, D. I. Kim, Z. Han, Wireless networks with RF energy harvesting: a contemporary survey. IEEE Commun. Surv. Tutor.17.2:, 757–789 (2015).

    Article  Google Scholar 

  4. 4

    T. Shi, S. Cheng, Z. Cai, Y. Li, J. Li, Exploring Connected Dominating Sets in Energy-Harvest Networks. IEEEACM Trans. Netw.25(3), 1803–1817 (2017).

    Article  Google Scholar 

  5. 5

    Q. Chen, H. Gao, Z. Cai, L. Cheng, J. Li, in Book Energy-Collision Aware Data Aggregation Scheduling for Energy Harvesting Sensor Networks. Energy-Collision Aware Data Aggregation Scheduling for Energy Harvesting Sensor Networks, (2018), pp. 117–125.

  6. 6

    K. Pouya, et al., Wireless energy harvesting for the Internet of Things. IEEE Commun. Mag.53(6), 102–108 (2015).

    Article  Google Scholar 

  7. 7

    Y. Gang, C. K. Ho, Y. L. Guan, Dynamic resource allocation for multiple-antenna wireless power transfer. IEEE Trans. Sig. Process.62(14), 3565–3577 (2014).

    MathSciNet  Article  Google Scholar 

  8. 8

    H. Ju, R. Zhang, Throughput maximization in wireless powered communication networks. IEEE Trans. Wirel Commun.13(1), 418–428 (2014).

    Article  Google Scholar 

  9. 9

    L. Liu, R. Zhang, K. Chua, Multi-Antenna Wireless Powered Communication With Energy Beamforming. IEEE Trans. Commun.62(12), 4349–4361 (2014).

    Article  Google Scholar 

  10. 10

    Q. Sun, et al., A low-complexity algorithm for throughput maximization in wireless powered communication networks. arXiv preprint arXiv:1403.3665 (2014).

  11. 11

    Q. Gao, T. Jing, X. Xing, X. Cheng, Y. Huo, D. Chen, Simultaneous energy and information cooperation in MIMO cooperative cognitive radio systems (IEEE Wireless Communications and Networking Conference (WCNC), New Orleans, 2015).

    Google Scholar 

  12. 12

    Z. He, Z. Cai, Q. Han, W. Tong, L. Sun, Y. Li, An energy efficient privacy-preserving content sharing scheme in mobile social networks. Personal Ubiquit. Comput.20(5), 833–846 (2016).

    Article  Google Scholar 

  13. 13

    T. Shi, S. Cheng, Z. Cai, L. Li, in The 35th Annual IEEE International Conference on Computer Communications (INFOCOM 2016). Adaptive connected dominating set discovering algorithm in energy-harvest sensor networks.

  14. 14

    H. Ju, R. Zhang, User cooperation in wireless powered communication networks. available online at arXiv:1403.7123.

  15. 15

    W. Wang, L. Li, Q. Sun, J. Jin, in 2013 IEEE 78th Vehicular Technology Conference (VTC Fall). Power Allocation in Multiuser MIMO Systems for Simultaneous Wireless Information and Power Transfer (IEELas Vegas, 2013), pp. 1–5.

    Google Scholar 

  16. 16

    K. Huang, E. Larsson, Simultaneous information and power transfer for broadband wireless systems. IEEE Trans. Sig. Process.61(23), 5972–5986 (2013).

    MathSciNet  Article  Google Scholar 

  17. 17

    D. W. K. Ng, E. S. Lo, R. Schober, in Proc. IEEE WCNC, Shanghai, China. Energy-efficient resource allocation in multiuser OFDM systems with wireless information and power transfer, (2013), pp. 3823–3828.

  18. 18

    Q. Sun, L. Li, J. Mao, Simultaneous information and power transfer scheme for energy efficient MIMO systems. IEEE Commun. Lett.18(4), 600–603 (2014).

    Article  Google Scholar 

  19. 19

    D. Niyato, D. I. Kim, P. Wang, L. Song, in 2016 IEEE International Conference on Communications (ICC). A novel caching mechanism for Internet of Things (IoT) sensing service with energy harvesting (Kuala Lumpur, 2016), pp. 1–6.

  20. 20

    J. Kim, J. -W. Lee, in Proc. IEEE 3rd ICUFN Dalian, China. Energy adaptive MAC protocol for wireless sensor networks with RF energy transfer, (2011), pp. 89–94.

  21. 21

    P. Nintanavongsa, M. Y. Naderi, K. R. Chowdhury, in Proc. IEEE INFOCOM-Mini Conf. Medium access control protocol design for sensors powered by wireless energy transfer (Turin, Italy, 2013), pp. 150–154.

Download references


The authors would like to thank the support from the Natural Science Foundation of China (61702056, 61602062), Educational Commission of JiangSu Province (17KJB520001), the Natural Science Foundation of JiangSu Province (BK20160410), the Provincial Key Laboratory for Computer Information Processing Technology, Soochow University (KJS1521, KJS1522), CERNET innovation project (NGII20160322).

Availability of data and materials

Data sharing is not applicable to this article as no datasets were generated or analyzed during the current study.

Author information




GS and XX conceived the scenario to be considered and carried out the theoretical analysis. GS carried out the simulations. All authors contributed to writing this paper. All authors read and approved the final manuscript.

Corresponding author

Correspondence to Xiaoshuang Xing.

Ethics declarations

Competing interests

The authors declare that they have no competing interests.

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (, which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Sun, G., Xing, X. & Qin, X. Energy harvesting-based data uploading for Internet of Things. J Wireless Com Network 2019, 153 (2019).

Download citation


  • Energy harvesting
  • Data uploading
  • Internet of Things