# Routing with Renewable Energy Management in Wireless Sensor Networks
## 2 Related Work  
Energy-based algorithms in WSNs can be classified into three distinct categories: (1) energy efficiency, (2) energy awareness, and (3) energy harvesting. In the first category, energy-efficient algorithms try to extend the lifetime of the network by exchanging battery-level information and avoiding the full depletion of sensor nodes. In [17], two routing schemes are proposed to forward data toward the sink node. In this solution, energy efficiency is accomplished by carefully choosing the routes with more available energy, even if it means longer routes. In the Efficient Energy Aware Routing (EEAR) [18], sensor nodes are equipped with GPS (Global Positioning System) to estimate their positions, and this information, with the battery level, is broadcasted by each node to its neighbors so they can make better decisions when choosing the next hop on the routing process. In the second category (energy-aware algorithms), the sensor nodes have information regarding their battery levels and use this information to increase the network lifetime as a whole [19]. For instance, in the Battery-Aware Routing (BAR) [20], each node can forward data toward the sink node based on a multi-hop routing computation that maximizes the total energy of a route. In [21], a routing protocol similar to the AODV [22] is proposed. In this solution, called Energy-Aware Routing Protocol (EARP), a node that needs to send data starts a flooding process that is maintained until the packet reaches the destination. However, differently from AODV, EARP can estimate better route expiration times based on the residual energy of the nodes, resulting in better energy usage of the nodes. GAF(Geographic Adaptive Fidelity) [23] works by dividing the sensor area in a grid and uses the GPS coordinate of a node to estimate in which cell it is located. After that, nodes can be divided into three states: discovered, awake, and sleeping so that only a single node remains awake in a cell while the other nodes in this cell are sleeping. The generated grid is computed in such a way that every node in a cell is able to communicate to the other nodes in neighboring cells. By doing this, the algorithm guarantees the existence of routes toward the sink node. Finally, energy awareness has also been applied to other WSNs algorithms such as coverage control [20] and clusters formation [24; 25; 26; 27]. In the third category, the algorithms are based on the capability of the sensor nodes to convert available environmental energy to electrical energy (e.g., solar cells) so that the battery of the sensor nodes can be recharged. In [28], the authors propose an algorithm that computes the best path between source and target based on the energy by using an on-demand routing. In [29], two greedy forward routing protocols are proposed based on a model that chooses the best routes based on the local information of neighbors, thus resulting in an increased lifetime of the network. In Adaptive Energy Harvesting Aware Clustering (AEHAC) [30], a cluster-based algorithm that uses the battery and energy harvesting information of the nodes is proposed. This information is used to elect the cluster-heads (CH), which will be the nodes with greater energy availability. Another cluster-based algorithm is proposed in [31]. The proposed solution elects new cluster-heads periodically, but only after reserving energy for them to avoid the energy-shortage problem. Similarly, the Energy Harvesting Opportunistic Routing protocol (EHOR) [32] is an opportunistic routing algorithm that uses the residual energy of the nodes to choose which node will be used to forward the data. More recently, in [33], a routing algorithm was proposed for rechargeable wireless sensor networks in which fixed optimal routing paths for data delivery are not maintained and, instead, data traffic flows from a sensor to its neighbors freely to save energy. Regarding our proposed REBORN algorithm, we can say that it has characteristics from all three categories.