Maximum Data Generation Rate Routing Protocol Based on Data Flow Controlling Technology for Rechargeable Wireless Sensor Networks

: For rechargeable wireless sensor networks, limited energy storage capacity, dynamic energy supply, low and dynamic duty cycles cause that it is unpractical to maintain a ﬁxed routing path for packets delivery permanently from a source to destination in a distributed scenario. Therefore, before data delivery, a sensor has to update its waking schedule continuously and share them to its neighbors, which lead to high energy expenditure for reestablishing path links frequently and low efﬁciency of energy utilization for collecting packets. In this work, we propose the maximum data generation rate routing protocol based on data ﬂow controlling technology. For a sensor, it does not share its waking schedule to its neighbors and cache any waking schedules of other sensors. Hence, the energy consumption for time synchronization, location information and waking schedule shared will be reduced signiﬁcantly. The saving energy can be used for improving data collection rate. Simulation shows our scheme is efﬁcient to improve packets generation rate in rechargeable wireless sensor networks.

• We propose a routing protocol of maximum data generation rate base on data flow controlling technology. To the best of our knowledge, there is the first in literature to study the problem based on data flow controlling for R-WSNs.
• We propose a simple yet effective scheme, where we never seek to establish an optimal routing path for data delivery, but we let the data traffic from a sensor flows to its neighbors freely to save the energy of reestablishing routing paths.
• Our algorithm is suitable for a scenario where it is difficult to achieve time synchronization, location information and waking schedule shared. Especially, our algorithm provides better performance in mobile application of R-WSNs, where routing paths will be adjusted dynamically.
The rest of this paper is organized as follows. A number of existing maximum data generation solutions is presented in Section II. In Section III specify the system model, Section IV we present our method and design. In section V, we analyze the theoretical performance and provide experimental results. Conclusions are presented in Section VI.

Related work
Numerous strategies have been introduced to maximize data generation rate in WSNs, e.g., energy usage efficiently [Wang, Ju and Yu (2018); Shrivastava and Pokle (2014)], transmission power controlling scheme [Incel and Krishnamachari (2008)], data aggregation technology [Hakoura and Rabbat (2012)], and tree structure [Shi, Huang, Ren et al. (2013)], etc. In Hung et al. [Hung, Bensaou, Zhu et al. (2006a)], the authors introduce an energyaware fair routing protocol with maximum data collection in WSNs, which is formulated as a concave utility maximization and is solved distributively by a sub-gradient algorithm [Hung, Bensaou, Zhu et al. (2006b)]. In Zhang et al. [Zhang, Jue, Sanglu et al. (2008)], the authors study and analysis Bellman-Ford routing algorithm for wireless sensor networks. In Padmanabh et al. [Padmanabh and Roy (2006)], multicommodity flow algorithm based on golden ratio is utilized for maximizing network lifetime, which optimizes the flow through each node. In these works, to achieve high data collection rate and obtain more packets from monitoring field, energy saving and energy usage efficiently are prior considered due to limited energy supplement. Therefore, it is inevitable to encounter critical tradeoffs between data flow and network lifetime.
Other closely related works have been done focusing on improving data generation rate in connection with the characteristics of R-WSNs, e.g., [Zeng, Zhang and Dong (2014); Roseveare and Natarajan (2014)]. In Liu et al. [Liu, Fan, Zheng et al. (2011)], a centralized algorithm and two distributed algorithms are provided for computing the maximum data collection rate. In Gao et al. [Gao, Lin, Liu et al. (2016)], a maximum data generation rate routing protocol in R-WSNs with multiple sinks has been provided to improve data collection rate by relieving the pressure of data collection with one sink in monitoring field. Ren et al. [Ren, Liang and Xu (2013)] formulate the data collection maximization with multi-rate transmission mechanism and transmission time slot scheduling among the sensors. Renner et al. [Renner, Unterschtz, Turau et al. (2014)] present a lightweight algorithm for online load adaptation of energy-harvesting sensor nodes. He et al. [He, Chin and Soh (2018)] formulate a Mixed Integer Linear Program (MILP) to determine the subset of nodes that if upgraded will maximize the minimum source rate. Mehrabi et al. [Mehrabi and Kim (2016)] provide an optimization model for maximizing data collection throughput using a mobile sink. In these works, the optimal routing paths have been established to improve data generation rate by improving energy usage efficiency, or the optimal data generation rates have been calculated theoretically by establishing optimization model. The maximum data generation rate is obtained based on data routing path established before data transmission. Considering the topology changes dynamically, extra energy will be consumed for routing path rebuilt. These earlier works for maximizing network generation rate can be divided into two parts: 1) focus on the static battery-powered network in traditional WSNs; 2) provide the details about the algorithm to establish optimal link paths for data transmission in R-WSNs. Compared to these earlier works, the main difference of our work is that we seek to maximize the data generation rate without establishing any routing paths before data delivery for saving energy, and improve data collection rate using asynchronous transmission model without clock synchronization. In our work, we introduce a maximum data generation routing protocol based on data flow controlling technology for R-WSNs, where data traffic flows to neighbors freely with fewer packets from previous sensor node for channel detection.
3 System model

Network model
For an undirected graph G = (V, A) of rechargeable wireless sensor network, where V denotes n sensors and k sinks, V = n ∪ k. A is the set of links, A = {A|(i, j) ∈ A, i, j ∈ V }. Each sensor i ∈ S is powered by a rechargeable battery and its energy is harvested from its surrounding environment (e.g., solar power). Each sensor i senses its vicinity with sampling data generation rate G i . We assume that the nodes have sufficient buffer space. The set of nodes are then connected to node i by links denoted as S i . We assume that the network graph is connected, i.e., there always exists a path between any pair of nodes i and j in V . The current remaining energy of node i is E i .

Energy consumption model
For a sensor, the power consumption generally contains five parts: sensing and generating data, idling state, listening channel, receiving packets, and transmitting packets. For all nodes, we assume that e g denotes the power expenditure for generating one bit of data. The idle and channel listening power consumed per unit time, are assumed to be the equivalent for all nodes and independent of traffic, and are denoted by e i and e l , respectively. The first-order radio model for power consumption in receiving and transmitting is adopted in Suzuki [Suzuki (2012)]. Specifically, a node needs ε elec = 50nJ for running the circuitry and ε amp = 100pJ/bit/m 2 for the transmitting amplifier. The energy expenditure for receiving one bit of packet is given by e r = ε elec . The power consumption for transmitting one bit of data to a neighbor node j is given by e t (i, j) = ε elec + ε amp * d n i,j , where n is the path loss exponent, which typically ranges between 2 and 4 for free-space and short-to-medium-range radio communication. We (x i , y i ) and (x j , y j ) denote the coordinate of node i and j, respectively. Hence, d i,j represents the Euclidean distance of node i and j and can be formulated as: Hypothesis, f i,j denotes the data traffic from node i to node j in per unit time. The energy consumption in receiving and transmitting f i,j for node i are e tr (i, j) and e re (i, j), respectively. We have: The value of e tr (i, j) is determined by the distance and the amount of data traffics of two nodes, while e re (i, j) is irrelevant to distance between nodes and is only affected by data traffic rate. Let w i denotes the power consumption of node i in per unit time, which can be formulated as: Where, the values of e i and e l are usually invariant constants and are only affected by the physical properties heavily. Therefore, these factors can be regarded as a coefficient for energy consumption model.

Description of the data flow in a distributed network
In the work, considering the pervasive nature and wide deployment in Internet of Things of R-WSNs, a routing protocol is proposed for focusing on a distributed network with multiple sources and multiple sinks deployed. Without loss of generality, the protocol design can be also used in different scenarios, e.g., a scenario with single source or single sink deployed, or mobile networks. In a distributed network with multiple sinks, these sinks form a tree structure firstly, and a sink is selected as root (called root sink) generally and other sinks (called leaves sinks) are as leaves of the root. All packets from leaves sinks will be transmitted to root sink through pseudo links. Considering a sink equipped with high ability of data processing and energy storage capacity, the overhead for data transmission between sinks can be neglected generally. Fig. 1 shows a sample of data transmission with multiple sinks deployed.

Description of the flow controlling algorithm
We assume that the data generation rate is G i for sensor i, which indicates that the sensor i will generate data traffic G i per unit time in the network, where the unit time perhaps is one minute or ten minutes or one hour and so on. its value can be adjusted dynamically depending on application requirement. The duration of one unit time, it is enough for a sensor to forward packets at least one times. For each unit time, the packets sent to its neighbors are beyond the value εG i /k, where k denotes the number of paths established for data transmission from sensor i to its k neighbors, ε > 0, ε ≈ 0. For illustrating the flow controlling algorithm, we assume the data traffic of sensor i and j are Q i and Q j , respectively, where, Q i > Q j . For sensor i, it will send (Q i − Q j )/2 data to sensor j and both of them have same amount of packets after data transmission. While, if Q j > Q i , sensor j will send (Q j − Q i )/2 data to neighbor i, as is shown in Fig. 2. Theorem 1: There must be a time t, for a sensor i, the total of data traffic k j=1 f i,j from it to its neighbors meets the inequality: Proof: We assume Eq. (5) is not proved, which indicates that the k j=1 f i,j is always Algorithm 1: Flow controlling algorithm Input: where k means that the data flow will be forwarded to next hops through k paths. For the next unit of time, sensor i will generate G i data traffic and send total packets f i,j to its neighbors. So the current total packets of sensor i is Q max we assume sensor i sends the total data traffic G i to its neighbor j, and sensor j obtains the same amount of data traffic with sensor i after data transmission from sensor i to sensor j. For next unit time, sensor i also generates G i data, and sends G i /2 to its neighbor. Now, the total data traffic for sensor i is Q max i + G i /2, obviously, the Q max i is not the maximum data traffic for sensor i, which is conflicted with our previous assumption. Since the data generation rate of sensor i is G i , for ensuring the data flow decreases, the data transmission rate from sensor i to its neighbors should keep in the rate G i all the time, which is unpractical obviously. Therefore, Eq. ( 5) is proved. The process of flow controlling algorithm is shown in Algorithm 1.

The flow controlling algorithm based on potential function
The packets generated by a source sensor will be forwarded to a sink through one or multiple routing paths with one-hop or multiple-hops data transmission. In the process of data traffic flowing to its destination, depending on the flow controlling algorithm proposed in the previous section, the amount of data traffic decreases due to some packets trapped in the forwarding nodes, which is shown in Fig. 2. For analyzing that the network throughput is affected by the data flow controlling algorithm, a potential function for sensors is introduced in the section. Definition 1: The data flow potential function is set to φ(Q), which is differentiable convex function, where, Q denotes the amount of data traffics. S Figure 3: The data flow from a source to a sink with multiple-hops When Q = 0, it means there is no packets in sensors. Generally, a sink always collects packets rather than sends these packets to other sensors. Hence, the amount of data for sinks can be set to 0, whose potential function is φ(0). The data flow potential function φ(Q) reflects the distribution of network data traffics. We assume φ(x) = e αx , α > 0. A source sensor generates packets and its potential function value increases, while a sink collects packets and its potential function value decreases. To achieve maximum data generation rate, we calculate the maximum network throughput firstly and analyze the maximum sum of potential function values for all sensors in the networks. To illustrate the idea of flow controlling algorithm based on potential function, we analyze the total of data flow potential function belonging to a routing path from a source to a sink. For a source sensor i, its current data traffic is Q i , its data generation rate is G i . Depending on the theorem 1, for sensor i, when data generation rate is lower than data traffic sent to neighbors, its data traffic reaches a maximum. In other words, when the output rate begins to exceed the input rate, the data traffic reaches its maximum. We assume maximum data traffic of sensor i is Q i + G i , the potential function increase which can be given by: Therefore, from Ineqt-1 of APPENDIX A, increase in potential function value can be given by: Therefore, according to Eq. (7), when a sensor's data generation rate is set to be G i , its maximum potential function increase reaching G i φ (Q i + G i ). The packets generated by a source sensor reaches destination finally by one-hop or multiple-hops data transmission. In the process of forwarding data, potential function value decreases gradually from a source to a sink. We assume the data flow is f i,j from node i to j. For two ends of an edge (i, j), as shown in Fig. 2, from Ineqt-2 of APPENDIX A, whose potential function increase which can be given by: Fig. 3 shows the data traffic flowing to sink from a source sensor. We assume there are L − 1 sensors and L edges in the routing path from source node to sink. In the process of data transmission from source to destination, some potential function values are canceled out. We assume the maximum amount of data flow in source sensor i is Q max i and its maximum potential function value is φ(Q max i ). After these data reaching a sink through k paths, k ≥ 1, the potential function value in sink is 0 and its potential function value is φ(0). Therefore, in the process of the maximum amount of data flow generated by source sensor forwarded to a sink, the maximum potential function increases for all edges lying in the routing paths can be given as: Hypothesis, φ(x) = e αx , α = ε LG , f i,j = εGi k , where, k ≥ 1, L ≥ 1. Hence, Eq. (9) can be calculated as: where, From Eq. (10) and Eq. (11), the maximum potential function increases of data flow for all edges lying in the routing paths from source to destination can be expressed as:

The maximum data generation rate for source
From the Eq. (6), we know Q max i = Q i +G i . If we consider that there are m source sensors in networks for data collection, the total potential function increases of the networks for all packets transmitted from all source to sinks which can be given as: From Eq. (5), we know the maximum data flow between sensor i and j is f i,j = (1 + ε)G i . Hence, Eq. (13) can be rewritten as: From Eq. (14) and Eq. (7) indicates the sum of potential function increases for all source nodes. Therefore which ensures that the total of potential function of all sensors in network declines, hence: Eq. (15) can be rewritten as: From Eq. (7) and Eq. (16), we can observe that the maximum potential function increases is G i φ (Q max i ) for sensor i, whose maximum value is (1+ε) L(1−2ε−2ε 2 ) . Therefore, in the process of data transmission form source to sink, if the data transmission rate meets f i,j = εGi k , based on Eq. (12), for ensuring the total potential function of network decreases, the inequality can be expressed as: where, α = ε L·G ≈ 0, ε ≈ 0. Hence, Eq. (17) can be rewritten as e αQ max i ≥ 1/ε 2 . The maximum data traffic for sensor i can be given as: In the work, if the data generation rate for a source sensor i is G i and data transmission rate meets f i,j = εGi k , when the amount of data traffic for sensor i beyond that of Eq. (18), the total of potential function lying in the routing path decreases. Therefore, the maximum data traffic for sensor i is L·Gi ε ln 1 ε 2 and whose potential function decreases, which indicates that if data traffic of sensor i is lower than this maximum value, the data flow of whole sensors in network will keep in stable state. Therefore, we should ensure the maximum amount data traffic of each sensor will below the maximum value for all sensors in the network. For Q max i = L·Gi ε ln 1 ε 2 , what we need to declare is that the value is only the maximum data traffic to sensor i for total potential function lying in routing path decreasing, rather than the maximum amount data traffic to sensor i can obtain and is trapped in the sensor. In other words, a sensor maybe have more than L·Gi ε ln 1 ε 2 packets, which means a large number packets are trapped in the sensor. Especially, when a source sensor can not find its neighbors and no adjacent nodes receive its packets from sender, more and more packets will gathered in the sensor until its data buff is full. Obviously, more packets accumulated in sensors will cause high data transmission delay. Therefore, it is the purpose for an optimal routing protocol proposed to transmit data traffic to sink as soon as possible.

Maximum data generation rate for source sensor
According to Eq. (18), since the maximum data traffic for a source is L·Gi ε ln 1 ε 2 , when its adjacent sensors' data is 0, the maximum data transmission between two sensors is f i,j = Q max i /2. According to Eq. (18), we have: From Eq. (19), for the data generation rate of sensor i, we have: where, we assume ε = Θ(y), there is a certain constant numbers c1, c2, G 0 , for all sensors G ≤ G 0 , 0 ≤ c1 · y ≤ ε ≤ c2 · y, when Eq. (20) is proved, the ε can be given as: According to Eq. (20), we can observe the maximum data generation rate for a source sensor is . Therefore, the maximum generation rate is affected by energy replenishment, energy expenditure and routing path length significantly. Energy replenishment and energy expenditure is influence of sensor distributed and hardware communication device significantly. If we reduce the routing path length L, the data generation rate will be improved, which means packets will be forwarded to sink with less hops. Now, a sample is provided for illustrating the maximum data generation rate based on the data flow controlling technology, as is shown in Fig. 4. After packets generated by a source sensor, these packets are always transmitted to destination with the shortest routing path based on data flow controlling technology. If there are fewer sensors lying in the routing path and packets will be forwarded to destination quickly generally. At the same time, for a sensor near a sink, is potential function value declines quickly and vice versa. If a routing path with more sensors and long distance from source to sink, it indicates that packets will be transmitted to sink with more time and more packets will be trapped in the path. The data flow controlling scheme is similar to water flowing downwards, which is the core idea behind our algorithm.

Sink node
Root sink Forwarding node Figure 4: The gradient data flow from four sources to five sinks, which is similar to water flows downwards

Experiment setup
In this section, we evaluate the performance in data generation rate of the proposed algorithm. Each sensors has a 20 cm 2 * 20 cm 2 solar photovoltaic panel, and a rechargeable battery with 100J capacity. Matlab software is used for simulating our algorithm for R-WSNs, where 200 − 400 sensors and 1 − 10 sinks are randomly deployed in a 1000 m * 1000 m square area. Each node can communicate with adjacent nodes within 100m.

System implement
When multiple sinks were deployed in the monitoring field, the performance for all algorithms is evaluated. Due to limited available energy, it is common to deploy multiple sinks for collecting information in realistic applications, as is shown in Fig. 5, which brings at least two advantages comparing to one sink. Firstly, in multiply sinks environment, since packets generated by sensors are only needed to be forwarded to anyone sinks, which is closest to it generally, the degree of routing path from source node to sink will be shorted due to higher sinks density. Secondly, considering sensors are distributed in scenario randomly, scarce of sensors are within the transmission range of sinks, which indicates that these sensors have to undertake the tasks of data collection and data forwarding. It often represents a bottleneck when sensors around sinks run out their energy. Therefore, multiple sinks deployed are adopted widely in WSNs or R-WSNs for improving the performance in data collection and saving energy. For further to express the communication procedure of our strategy in the large scale networks, we execute our algorithm with 300 sensors and 10 sinks randomly deployed in a 1000 m * 1000 m square area. In the experiment scenario, sources (e.g., common sensors) sense ambient and generate information firstly. These sources will coach data or send these data directly to nearly sink with one or multiple-hops forwarding until these data reaching the destination. Fig.5 shows a connection graph with 300 sensor and 10 sinks deployed in monitoring field. In our algorithm, packets will be forwarded to a closer sink through all potential candidate intermediate nodes with high energy and low accumulation packets. Therefore, the energy expenditure for data forwarding will balance to all sensors deployed.

System performance comparison
For providing a insight of the performance of our algorithm (Maximizing Data Generation Rate, simplified as MDGR) under network settings, in this section, we provide an algorithm for performance comparison, which is provided in Mehrabi et al. [Mehrabi and Kim (2016)] and is one of the recognized widely forwarding protocols known to the community in low-duty-cycle WSNs. In Mehrabi et al. [Mehrabi and Kim (2016)], the authors propose an optimization model for Maximizing Data Collection Throughput (simplified as MDC-T), where the data collection problem is formulated as an optimization model. For a fair comparison, we introduce an improved version of the algorithm, where node's duty-cycle is determined periodically and locally. At the same time, multiple sinks are deployed for balancing the energy expenditure.  Figure 6: The data generation rate when 2 sinks are deployed and the duty cycle are set to 1%, 10%, 30%, respectively We compare the data generation rate between our algorithm and MDCT scheme firstly under different number of sensors, where the average node's duty-cycles and the number of sinks are set to 1%, 10%, 30% and 2, 4, 6, 8, respectively, as shown in Fig.6 -Fig.9. From these Figures, we can observe that the data collection rate increases for both algorithms and our algorithm presents better performance comparing to that of MDCT scheme with the sensor density improved for all different node's duty-cycles and sinks. In our algorithm, a sensor adopts dynamic duty cycle mechanism. At the same time, it does not share its waking schedule to its neighbors and cache any waking schedules of other sensors. Therefore, scarce energy will be consumed for time synchronization and saving energy can be utilized for strengthening data collection. From Fig. 6, Fig. 7, Fig. 8, and Fig. 9. We can know that the data collection rates for our scheme are about 5%, 4%, 4% and 3% higher than that of the MDCT algorithm. Theoretically, when more sensors are appended to experiment scenario, more packets will be generated and collected by sinks, which indicates that data generation rate is improved and energy expenditure will be balanced to all deployed sensors. it is a compulsive approach to improve data collection rate for a high sensor density network with low dutycycles, where data transmission collision is scarce. Nevertheless, in real practice, when a large number of sensors are deployed in a smaller field relatively, data collision will be critical and retransmission is unavoidable, which will cause serious energy waste and high data transmission latency. In our work, an ideal condition with no collision and reasonable number sensor is considered for analyzing the data generation rate. In fact, the real data collection rate will be lower than that of our achieved.

Conclusion
In this work, for achieving maximum data generation rate in R-WSNs, we propose a data flow controlling technology to maximize the data collection rate. We do not seek to establish an optimal routing path for data delivery, but we let the data traffic from a sensor flows to its neighbors freely to save the energy utilized for routing path built. At the same time, a sensor does not share its waking schedule to its neighbors and cache any waking  Figure 9: The data generation rate when 8 sinks are deployed and the duty cycle are set to 1%, 10%, 30%, respectively schedules of other sensors. Therefore, the saving energy can be used for strengthening data generation rate and improve the performance of R-WSNs. Our algorithm is suited for a scenario that it is difficult to achieve time synchronization, location information and waking schedule shared, dynamic routing path with mobile application. We define the network system and energy expenditure model firstly. Hereafter, the energy replenished and routing schemes are analyzed. Finally, the data flow controlling technology for maximum data generation rate is illustrated by an example in which a potential function is introduced for computing the maximum potential function and maximum amount of data flow in source sensor. Simulation and experiments show our algorithm provide a better performance for maximizing data collection rate in R-WSNs. There is one point needs attention that the E2E delay perhaps is serious in our scheme because of data recirculation.