# An Energy Efficient Routing Approach for Cloud-Assisted Green Industrial IoT Networks
## 5 Proposed Energy Efficient and Reliable Routing Approach
### The Routing Metrics and RAROF Design  
In the RPL objective function, the use of the routing metric is not only to select the path between source and destination but also to find the optimal route among all the potential routes between them. Therefore, the proposed RAROF considers different routing metrics as the route selection criteria. As explained in [27], different OFs are designed to achieve different application goals that consider the link as well as nodes' characteristics, during the parent selection process. Therefore, we consider both node and link representative routing metrics to create a composite routing metric that RAROF can use to select the best path, and through which a node forwards the data packets to ensure the reliability and energy efficiency. In order to define RPL compliant OF for IIoT networks, in which resource is the key concern, in particular the energy consumption, it is inevitable to include node metric that takes into account the energy consumption tendency and state. To this end, we have used energy-oriented metrics that anticipate the energy vulnerability of nodes and enables making a wise decision on route selection. The _NVI_ metric is proposed to identify the vulnerable node in terms of remaining energy (life of a node) during path construction. Since the emergency monitoring network needs a seamless operation to ensure reliable data delivery, the _NVI_ metric is reasonable to include in routing decisions that prolong the network lifetime and provide reliability. If the maximum energy capacity and the energy already consumed by a node \(v_{i}\) is given by \(Ecap(v_{i})\) and \(Econ(v_{i})\), respectively, then the _NVI_ can be defined as follows. \[NVI(v_{i})\ =\ \delta\cdot\left(\frac{Ecap(v_{i})+Econ(v_{i})}{Econ(v_{i})} \right)\times\frac{1}{Dc} \tag{2}\]  
\[Dc\ =\ \frac{SD}{BI}\ =\ 2^{SO-BO},\,\textit{such that}\ 0\leq SO\leq BO\geq 14 \tag{3}\]  
where \(\delta\) is a constant normalization factor used to normalize the metric value and \(Dc\) denotes the duty cycle, which is defined as the ratio of time in which the node is in active in \(SD\) within a \(BI\). In this work, we define \(Ecap(v_{i})\) as the maximum initial energy of a node. In our experiment, the value of \(\delta\) is set to 10. According to [51], the appropriate \(Dc\) can be obtained based on the potential combination between _SO_s and _BO_s that satisfies Equation (1). In our proposal, we use the same function to define the duty cycle in the network. The energy consumption tendency of a node typically depends on its position, its role in the network, and other factors. To understand the energy vulnerability, we explicitly take into account the level of energy depletion within the available active duration for communication. Therefore, we ignore the idle state of the node, as radio communication is the dominant energy consumer of a node's battery. Hence, the energy consumed, \(Econ(v_{i})\), by a node can be calculated as follows:  
\[Econ(v_{i})\ =\ \frac{Pc(v_{i})\times T_{tr}{}^{d}(v_{i})\cdot\omega}{D_{b}{}^{r}} \tag{4}\]  
where \(Pc(v_{i})\) is the energy disbursed on each transmitted bit by a node \(i\), \(T_{tr}{}^{d}(v_{i})\) is the total data traffic transmitted by a node \(i\), \(\omega\) is the quality of the link, and \(D_{b}{}^{r}\) is the specified data rate in bits per second;  
\[T_{tr}{}^{d}(v_{i})\ =\ T_{tx}(v_{i})+\sum_{v_{i\to i}\in x}T_{rx}(v_{i\to 1}) \tag{5}\]  
where \(T_{tx}(v_{i})\) is data traffic transmitted by a node itself, \(T_{rx}(v_{i\to 1})\) is the data traffic received from all the associated child nodes of a node, x denotes the set of child nodes associated in under single hop. In our experiment, we use Energest, an energy estimation module of Contiki OS. This module is used to know how long the operating states (i.e., transmission reception, processing, and low power mode) last. To know the power consumed by these states, we have used CC2420 chipset datasheet [52].