# A Green Routing Protocol with Wireless Power Transfer for Internet of Things
## 2 IPv6 Routing Protocol for Low-Power and Lossy Networks--RPL  
RPL supports the point-to-point, multipoint-to-point, and multicast traffic with thousands of nodes. RPL is a dynamic routing protocol based on metrics, e.g., hop count, latency, throughput, expected transmission count (ETX), energy, etc. to minimize or maximize OFs for route discovery and data forwarding. Default routing metrics for RPL are objective function zero (OF0) and the Minimum Rank with the Hysteresis Objective Function (MRHOF) based on the expected transmission count (ETX).  
OF0 uses rank value to decide upon the preferred next hop. The rank value indicates at what level nodes are in the directed acyclic graph. If the rank has a lower value then the node is closer (according to the hop numbers) to the sink node. The expected transmission count (ETX) is the metric considered for the target work when the quality of the connection is critical. The ETX metric is based on the number of transmission attempts for a successful transmission, thus it is a link metric [3]. In ref. [4], the Minimum Rank with the Hysteresis Objective Function (MRHOF) chooses paths that minimize a metric (ETX metric by default) while using \"hysteresis\", i.e., a threshold value, to avoid a restart of the route selection in response to small variations in the metric values.  
In an RPL-based topology, the underlying nodes self-organize building one or several DODAGs, based on parent-to child- relationships optimized according to the considered OF. DODAG Information Object (DIO) messages are broadcasted by the sink node. The neighboring nodes receiving DIO messages select the best parent according the route metric and then joining to the route. Each node calculates a rank which determines its relative position in the DODAG to avoid routing loops. Then, the node sends DIO messages to the neighboring node usually selecting the one with the lowest rank and the process continues until all the network nodes are covered. During regular operations, the emission of DIO messages is periodic and regulated by the Trickle algorithm [18], which aims at reducing the power consumption of the nodes by minimizing the redundant messages and by adapting dynamically their transmission rate over time. Destination Advertisement Object (DAO) messages are sent by each node to maintain reverse route information, while DODAG Information Solicitations (DIS) packets solicit the DIO packet from neighboring nodes. The data messages flow in the network according to the routes selected in the route establishing phase. The data traffic can occur in an upward or downward manner. Due to interferences in the communication links or low battery level, the routes to the root can change. To repair the topology of the DODAG, the DODAG ROOT increments the DODAGVersionNumber to create a new DODAGVersion [19]. This operation is called global DAG repair. A local repair can also be done transferring the packets to nodes at the same level or switching to the parent node. However, any type of repair results in a longer delay and control overhead until many nodes fail where the network becomes inoperative. The typical DODAG management upon receiving a DIO message is represented as a flow chart in Figure 1, where the rank and parents list update are pointed out.