# Minimum-Cost-Based Neighbour Node Discovery Scheme for Fault Tolerance under IoT-Fog Networks
## 3 Materials and Methods  
### Network Model  
In this section, the IoT-FoG network model, which is considered for analysis, is presented. The general network model used for the IoT-FoG network is illustrated in Figure 1. It has three layers, namely, the cloud, Fog, and IoT layers. The Fog layer is composed of Fog servers and Fog nodes, which are connected to each other for efficient task-offloading activities. Table 1 represents the symbols and notations used in the proposed methods. Figure 1: Model of the IoT-FoG network. The set of Fog servers is denoted as \(\mathbf{F_{s}}\) = {S\({}_{1}\), S\({}_{2}\),......., S\({}_{s}\)}, the Fog Node (FN) set is defined as \(\mathbf{F_{n}}\) = {N\({}_{1}\), N\({}_{2}\),......, N\({}_{n}\)}, and the set of user/IoT devices are denoted as \(\mathbf{K_{k}}\) = {K\({}_{1}\), K\({}_{2}\),......K\({}_{k}\)}. In this proposed model, the task-offloading will take place in three different stages, as follows:  
1. Task-offloading within a single Fog server;
2. Task-offloading by a neighbour or another Fog server;
3. Task-offloading by the cloud centre. Efficient task-offloading is obtained based on the availability of active Fog access nodes in the proposed model. The Fog node (FN) can be subdivided into two types: (1) Fog control nodes (\(\mathbf{F_{nc}}\)) and (2) Fog access nodes (\(\mathbf{F_{na}}\)). One or more Fog control nodes will control \begin{table}
\begin{tabular}{l l} \hline \hline
**Symbol** & **Meaning** \\ \hline \(BW\) & Bandwidth \\ \(c_{K,na}\) & Channel cost between device and Fog access node \\ \(N_{0}\) & Channel noise power \\ \(C_{1}^{max}\) & Computational complexity \\ \(C_{1 ai}\) & Cost of initiator/source Fog access node \\ \(C_{1 aj}\) & Cost of linked neighbouring candidate Fog access node \\ \(C_{f}\) & Cost of the Fog node \\ \(C_{Sj}\) & Cost of the neighbouring Fog server \\ \(D_{i}\) & Deadline \\ \(E_{exc}\) & Energy consumption for the task during its execution \\ \(E_{up}\) & Energy consumption of the task while transmitting from K\({}_{k}\) to \(\mathbf{F_{na}}\) \\ \(T_{exc}\) & Execution time \\ \(N(F)\) & Expected number of faults \\ \(FAt_{n}\) & Fog node active time \\ \(\mathbf{F_{lai}}\) & Initiator/source Fog access node \\ \(\mathbf{F_{si}}\) & Initiator/source Fog server \\ \(\mathbf{F_{lan}}\) & Linked neighbouring candidate Fog access node for task-processing \\ \(BL\) & Maximum battery life of the Fog nodes \\ \(f(t)\) & Mean failure rate \\ \(\mathbf{F_{laj}}\) & Neighbouring Fog access node \\ \(\mathbf{F_{sj}}\) & Neighbouring Fog server \\ \(d_{ij}\) & Number of hopes \\ \(\mathbf{K_{k}}\) & Number of user/IoT devices \\ \(\mathbf{P_{na}}\) & Power consumption of Fog access node \\ \(\mathbf{P_{k}}\) & Power consumption of user/IoT device \\ \(\mathbf{P_{i}}\) & Priority \\ \(\delta\) & Priority threshold level \\ \(\hat{p}\) & Probability of fault occurrence \\ \(\mathbf{E_{r}}\) & Residual energy \\ \(\sigma_{j}\) & Selectivity of all possible neighbouring candidate Fog access nodes \\ \(\sigma_{c}\) & Selectivity of the Fog control node \\ \(t_{i}\) & Set of attributes \\ \(\mathbf{F_{na}}\) & Set of Fog access nodes \\ \(\mathbf{F_{n}}\) & Set of Fog nodes \\ \(\mathbf{F_{nc}}\) & Set of the Fog control nodes \\ \(\mathbf{F_{s}}\) & Set of the Fog servers \\ \(SC_{i}^{max}\) & Storage capacity \\ \(t_{c}\) & Task computation \\ \(X_{i}\) & Task size/length of the task \\ \(t_{y}\) & Task type \\ \(T_{up}\) & Time taken to forward the task from IoT device to the Fog access nodes \\ \(BC_{i}^{max}\) & Total battery capacity \\ \(E_{consumed}\) & Total energy consumption \\ \(T_{tot}\) & Total time \\ \(C_{t/(k\to n)}\) & Transmission channel capacity \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Notations and symbols used. every Fog access node. The Fog control node gathered the details of residual energy levels and the task priorities of user/IoT data to process the task received through the corresponding Fog server. According to this, it will control the task-offloading in Fog access nodes for efficient task-processing.