Minimum-Cost-Based Neighbour Node Discovery Scheme for Fault Tolerance under IoT-Fog Networks
Abstract
:1. Introduction
- Propose a Priority Task-based Fault-Tolerance (PTFT) mechanism in Fog networks, which identifies the faulty Fog nodes with minimal residual energy.
- −
- Update the energy level of Fog access nodes automatically after a task is executed by the Fog control nodes or the Fog server.
- −
- The Fog control nodes also help to find the cost function for each Fog node with a minimum number of hops connected between them.
- −
- Identify and remove the faulty Fog nodes if the residual energy (Er) of the Fog node is less than 0.1.
- −
- Update the cost function of the Fog network.
- Propose a Minimum-Cost-based Neighbour Candidate Node Discovery (MCNCND) approach, which identifies the linked neighbouring candidate Fog access nodes with minimal costs for task-offloading.
- −
- Initially, the source Fog access node will broadcast its own cost to the linked neighbouring candidate Fog access nodes, and will receive the cost of all linked Fog access nodes.
- −
- Then, it will offload the task to the linked neighbouring Fog access node with the minimum cost.
- −
- This will be repeated until it finds the candidate Fog access nodes with the minimum cost in the Fog network.
- Develop and deploy the Replication and Pre-emptive Forwarding (RPF) process, which tracks the source information of the Fog access node.
- −
- Pre-empt and forward the source Fog access node information to the linked neighbouring candidate Fog access node during the task-offloading process within the source Fog server.
- −
- Replicate the source Fog node information in the neighbour(s) Fog server with minimum cost when all Fog access nodes are busy/faulty in the source Fog server.
2. Related Works
2.1. Fault Tolerance and Node Discovery
2.2. Task Scheduling Based on Cost and Power Consumption
3. Materials and Methods
3.1. Network Model
- Task-offloading within a single Fog server;
- Task-offloading by a neighbour or another Fog server;
- Task-offloading by the cloud centre.
3.2. Communication Model
3.3. Energy and Priority Model
- Er ≥ 0.3 → used for executing high-priority (time-sensitive) tasks from the user/IoT devices.
- (0.1 ≤ Er < 0.3) → used for executing low-priority (time-tolerance) tasks, and may also act as a reserve node for some forms of task-processing.
- Er < 0.1 → identified as faulty FN because the battery life is too short, and this indicates that the FNs will not complete the task efficiently with in the battery’s lifespan.
3.4. Fault Model
3.5. Cost Model
3.6. Problem Formulation and Objective Function
- (1)
- Fault minimization—the prior identification of faulty nodes and immediate task-offloading to the alternate candidate Fog access nodes, either in the same Fog server or a neighbouring Fog server, without disconnecting the task-processing activities.
- (2)
- Residual energy optimization—the continuous monitoring of residual energy levels after the completion of each task by candidate fog access nodes. The optimization can be achieved by selecting the maximum residual energy for high-priority tasks and minimum residual energy for low-priority tasks.
4. Proposed Fault-Tolerance Schemes
4.1. Priority Task-Based Fault-Tolerance (PTFT) Algorithm
Algorithm 1 Priority Task-Based Fault-Tolerance (PTFT) Algorithm |
Initialization: IoT Device, Kk = {K1, K2, …… Kk} and Fog Node, Fn = {N1, N2, ……, Nn} Begin Collect input from Kk Check the task priority (Pi) and measure the residual energy (Er) of the FNs If FN has a higher-priority task (Pi ≥ δ) // Time-sensitive task If residual energy Er ≥ 0.3 Declare source Fog node as the processing node Else Forward the task to the neighbouring candidate Fog access node through MCNCND and RPF algorithms 2 and 3 End if If residual energy (0.1 ≤ Er < 0.3) Identify the next neighbouring candidate (auxiliary/reserve) node Reserve and hold the auxiliary node until the execution of the current task Else residual energy Er < 0.1 Declare it a faulty node Remove the faulty node Forward the task to the reserve node, called pre-emptive forwarding New node is updated End if End if If FN has a lower-priority task (Pi ≤ δ) //Time-tolerance task If residual energy Er ≥ 0.3 Forward the task to the next neighbouring candidate node via Algorithm 2 New node is updated Else residual energy (0.1 ≤ Er < 0.3) The corresponding node itself processes the task and declares it a processing node End if If residual energy Er < 0.1 Declare it a faulty node Remove the faulty node Identify and forward the task to the next neighbouring candidate node via Algorithm 2 Pre-emptive forwarding process occurs (Algorithm 3) New node is updated End if End if End |
4.2. Minimum-Cost-Based Neighbour Candidate Node Discovery (MCNCND) Algorithm
Algorithm 2 Minimum-Cost-Based Neighbour Candidate Node Discovery (MCNCND) Algorithm |
1: Initialization: Fog server, Fs = {S1, S2, …….. , Ss}, 2: Fog Node, Fn = {N1, N2, ……, Nn}; 3: Fog control node, Fnc = {Nc1, Nc2, ……, Ncm}, 4: Fog access node, Fna = {Na1, Na2, ……, Nan} with the condition of (a > c) 5: Begin 6: For i = 1,2,3, …., k 7: Receive task from IoT/user device 8: If Fsi ≠ Flan {Փ }//Source server with the neighbouring candidate Fog access nodes 9: Calculate and broadcast the initial cost of Fog control node Cc1, Cc2,…. , Ccm 10: Initiator (i) (source node) computes its own cost, Clai 11: Initiator sends a request to every linked neighbouring candidate Fog access node ‘Flai’ in the same server 12: Fog control nodes (Fnc) will compute the cost function of all possible linked fog access nodes as follows: Cla1, Cla2, …. , Clan 13: The initiator node will receive the cost list of all linked neighbouring nodes and Identify the Fog access node, stating whether the node is a candidate node or a busy node. 14: Select the min-cost candidate node, Claj = min{ Cla1, Cla2, …. , Clan }, and select the corresponding candidate Fog access node Flaj for task-processing 15: If Flai (Clai) < Flaj (Claj)//cost of initiator is less than neighbouring nodes 16: Declare the initiator node as Flai (Clai), a processing node 17: Otherwise: 18: Consider the min-cost neighbouring candidate Fog access node as the initiator node for further processing (replace Flaj with Flai) 19: End if: 20: Repeat from line 13 to find the min-cost candidate Fog access node Flan 21: Otherwise: //Source server with no candidate Fog access nodes 22: For Fsj , j = 1, 2, 3, …. , n−1 //neighbouring Fog server 23: Calculate the cost of all neighbouring Fog servers Fsj (CSj) 24: End for: 25: Identify the next min-cost neighbouring Fs, CSj = {min (CS1, CS2, ….. , CSs)}→ Fsj 26: Select the min-cost neighbouring Fog server (fsj) with candidate Fog access nodes for task-processing 27: Select the nearest candidate Fog access node (Flai) as the initiator in the respective Fog server (Fsj) 28: Fog control nodes (Fnc) will compute the cost function of all possible linked Fog access nodes as follows: Cla1, Cla2, …. , Clan 29: The initiator node receives the list of the cost of all linked neighbouring nodes and identifies the Fog access node states, and whether the node is a candidate node or a busy node. 30: Select the min-cost candidate node, Claj = min{ Cla1, Cla2, …. , Clan }, and select the corresponding candidate Fog access node Flaj for task-processing 31: If Flai (Clai) < Flaj (Claj)//cost of initiator is less than neighbouring nodes 32: Declare the initiator node, Flai (Clai), a processing node 33: Otherwise: 34: Consider the min-cost neighbouring candidate Fog access node as the initiator node for further processing (replace Flaj with Flai) 35: End if: 36: Repeat from line 29 to find the min-cost candidate Fog access node Flan 37: End if: 38: End for: 39: End |
4.3. Replication and Pre-Emptive Forwarding (RPF) Algorithm
Algorithm 3 Replication and Pre-Emptive Forwarding (RPF) Algorithm |
Initialization: Fog server, Fs = {S1, S2, …….. , Ss}, and Fog node, Fn = {N1, N2, ……, Nn} //Replication from S to S—replicating the entire source task information for fault-free task-processing //Forwarding occurs from N to N within the same server; S→ Fog server and N→ Fog access node Begin 1: If Fsi ≠ Flan {Փ}//task-processing within the same server 2: Find min-cost candidate fog access node Flaj {Claj} = {min (Cla1, Cla2, …. , Clan)} from Algorithm 2 3: Check whether if Flaj is min-cost compared with other fog access nodes (Claj ≤ Cla1, Cla2, …. , Clan) 4: Otherwise, conduct a pre-emptive self-forwarding within the source server 5: Send the task to the neighbouring candidate Fog access node with min-cost flaj { Claj } for task-processing 6: End if: 7: Otherwise, { Flai → Fsj }, conduct a replication//initiator forwards the task to neighbouring Fog server 8: Find Fsj {CSj} = {min (CS1, CS2, ….. , CSs)}//Fog server with min-cost 9: Replicate and pre-emptively forward the task to neighbouring server {Fsi → Fsj} 10: Find min-cost neighbouring Fog access node Flaj {Claj} = {min (Cla1, Cla2, …. , Clan)} and update the process as {Fsj → Flaj } replication 11: Declare min-cost neighbouring Fog access node Flaj as a processing node 12: End if: End |
5. Results and Discussion
5.1. Average Response Time for Various Tasks with Different Lengths
5.2. Task Completion Rate
5.3. Task Acceptance Ratio and Completion Time
5.4. Residual Energy
6. Conclusions
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
References
- Badidi, E.; Mahrez, Z.; Sabir, E. Fog Computing for Smart Cities’ Big Data Management and Analytics: A Review. Future Internet 2020, 12, 190. [Google Scholar] [CrossRef]
- Tanganelli, G.; Vallati, C.; Mingozzi, E. Edge-Centric Distributed Discovery and Access in the Internet of Things. IEEE Internet Things J. 2017, 5, 425–438. [Google Scholar] [CrossRef]
- Ben Salah, N.; Ben Saoud, N.B. Adaptive data placement in the Fog infrastructure of IoT applications with dynamic changes. Simul. Model. Pract. Theory 2022, 119, 102557. [Google Scholar] [CrossRef]
- Badshah, A.; Rehman, G.U.; Farman, H.; Ghani, A.; Sultan, S.; Zubair, M.; Nasralla, M.M. Transforming Educational Institutions: Harnessing the Power of Internet of Things, Cloud, and Fog Computing. Future Internet 2023, 15, 367. [Google Scholar] [CrossRef]
- Mahdikhani, H.; Lu, R.; Shao, J.; Ghorbani, A. Using Reduced Paths to Achieve Efficient Privacy-Preserving Range Query in Fog-Based IoT. IEEE Internet Things J. 2020, 8, 4762–4774. [Google Scholar] [CrossRef]
- Premalatha, B.; Prakasam, P. Optimal Energy-efficient Resource Allocation and Fault Tolerance scheme for task offloading in IoT-FoG Computing Networks. Comput. Netw. 2024, 238, 110080. [Google Scholar] [CrossRef]
- Chen, L.; Shu, Y.; Gu, Y.; Guo, S.; He, T.; Zhang, F.; Chen, J. Group-Based Neighbor Discovery in Low-Duty-Cycle Mobile Sensor Networks. IEEE Trans. Mob. Comput. 2015, 15, 1996–2009. [Google Scholar] [CrossRef]
- Zhang, J.; Zhou, A.; Sun, Q.; Wang, S.; Yang, F. Overview on Fault Tolerance Strategies of Composite Service in Service Computing. Wirel. Commun. Mob. Comput. 2018, 2018, 9787503. [Google Scholar] [CrossRef]
- D’angelo, G.; Ferretti, S.; Marzolla, M. Fault tolerant adaptive parallel and distributed simulation through functional replication. Simul. Model. Pract. Theory 2018, 93, 192–207. [Google Scholar] [CrossRef]
- Semmoud, A.; Hakem, M.; Benmammar, B. A Distributed Fault Tolerant Algorithm for Load Balancing in Cloud Computing Environments. E3S Web Conf. 2022, 351, 01012. [Google Scholar] [CrossRef]
- Zhang, P.; Chen, Y.; Zhou, M.; Xu, G.; Huang, W.; Al-Turki, Y.; Abusorrah, A. A Fault-Tolerant Model for Performance Optimization of a Fog Computing System. IEEE Internet Things J. 2022, 9, 1725–1736. [Google Scholar] [CrossRef]
- Khaldi, M.; Rebbah, M.; Meftah, B.; Smail, O. Fault tolerance for a scientific workflow system in a Cloud computing environment. Int. J. Comput. Appl. 2020, 42, 705–714. [Google Scholar] [CrossRef]
- Peng, H.; Wen, W.-S.; Tseng, M.-L.; Li, L.-L. Joint optimization method for task scheduling time and energy consumption in mobile cloud computing environment. Appl. Soft Comput. 2019, 80, 534–545. [Google Scholar] [CrossRef]
- Kumar, S.M. Cost and fault-tolerant aware resource management for scientific workflows using hybrid instances on clouds. Multimedia Tools Appl. 2017, 77, 10171–10193. [Google Scholar] [CrossRef]
- Ghanavati, S.; Abawajy, J.; Izadi, D. Automata-Based Dynamic Fault Tolerant Task Scheduling Approach in Fog Computing. IEEE Trans. Emerg. Top. Comput. 2020, 10, 488–499. [Google Scholar] [CrossRef]
- Ramzanpoor, Y.; Shirvani, M.H.; Golsorkhtabaramiri, M. Multi-objective fault-tolerant optimization algorithm for deployment of IoT applications on fog computing infrastructure. Complex Intell. Syst. 2021, 8, 361–392. [Google Scholar] [CrossRef]
- Zareie, A.; Sheikhahmadi, A. A hierarchical approach for influential node ranking in complex social networks. Expert Syst. Appl. 2018, 93, 200–211. [Google Scholar] [CrossRef]
- Wang, D.; Wang, H.; Zou, X. Identifying key nodes in multilayer networks based on tensor decomposition. Chaos Interdiscip. J. Nonlinear Sci. 2017, 27, 063108. [Google Scholar] [CrossRef]
- Jaddoa, A.; Sakellari, G.; Panaousis, E.; Loukas, G.; Sarigiannidis, P.G. Dynamic decision support for resource offloading in heterogeneous Internet of Things environments. Simul. Model. Pract. Theory 2019, 101, 102019. [Google Scholar] [CrossRef]
- Urgaonkar, R.; Wang, S.; He, T.; Zafer, M.; Chan, K.; Leung, K.K. Dynamic service migration and workload scheduling in edge-clouds. Perform. Eval. 2015, 91, 205–228. [Google Scholar] [CrossRef]
- Skarlat, O.; Nardelli, M.; Schulte, S.; Borkowski, M.; Leitner, P. Optimized IoT service placement in the fog. Serv. Oriented Comput. Appl. 2017, 11, 427–443. [Google Scholar] [CrossRef]
- Mokni, M.; Yassa, S.; Hajlaoui, J.E.; Omri, M.N.; Chelouah, R. Multi-objective fuzzy approach to scheduling and offloading workflow tasks in Fog–Cloud computing. Simul. Model. Pract. Theory 2023, 123, 102687. [Google Scholar] [CrossRef]
- Luo, J.; Yin, L.; Hu, J.; Wang, C.; Liu, X.; Fan, X.; Luo, H. Container-based fog computing architecture and energy-balancing scheduling algorithm for energy IoT. Future Gener. Comput. Syst. 2019, 97, 50–60. [Google Scholar] [CrossRef]
- Misirli, J.; Casalicchio, E. An Analysis of Methods and Metrics for Task Scheduling in Fog Computing. Future Internet 2023, 16, 16. [Google Scholar] [CrossRef]
- Verma, R.; Chandra, S. HBI-LB: A Dependable Fault-Tolerant Load Balancing Approach for Fog based Internet-of-Things Environment. J. Supercomput. 2022, 79, 3731–3749. [Google Scholar] [CrossRef]
- Ranjan, H.; Dwivedi, A.K.; Prakasam, P. An optimized architecture and algorithm for resource allocation in D2D aided fog computing. Peer-to-Peer Netw. Appl. 2022, 15, 1294–1310. [Google Scholar] [CrossRef]
- Mekonnen, D.; Megersa, A.; Sharma, R.K.; Sharma, D.P. Designing a Component-Based Throttled Load Balancing Algorithm for Cloud Data Centers. Math. Probl. Eng. 2022, 2022, 4640443. [Google Scholar] [CrossRef]
- Yang, Y.; Zhao, S.; Zhang, W.; Chen, Y.; Luo, X.; Wang, J. DEBTS: Delay Energy Balanced Task Scheduling in Homogeneous Fog Networks. IEEE Internet Things J. 2018, 5, 2094–2106. [Google Scholar] [CrossRef]
- Suleiman, H. A Cost-Aware Framework for QoS-Based and Energy-Efficient Scheduling in Cloud–Fog Computing. Future Internet 2022, 14, 333. [Google Scholar] [CrossRef]
- Zhang, C. Design and application of fog computing and Internet of Things service platform for smart city. Future Gener. Comput. Syst. 2020, 112, 630–640. [Google Scholar] [CrossRef]
- Bozorgchenani, A.; Tarchi, D.; Corazza, G.E. Centralized and Distributed Architectures for Energy and Delay Efficient Fog Network-Based Edge Computing Services. IEEE Trans. Green Commun. Netw. 2018, 3, 250–263. [Google Scholar] [CrossRef]
- Baucas, M.J.; Spachos, P. Using cloud and fog computing for large scale IoT-based urban sound classification. Simul. Model. Pract. Theory 2019, 101, 102013. [Google Scholar] [CrossRef]
- Jiang, Y.-L.; Chen, Y.-S.; Yang, S.-W.; Wu, C.-H. Energy-Efficient Task Offloading for Time-Sensitive Applications in Fog Computing. IEEE Syst. J. 2018, 13, 2930–2941. [Google Scholar] [CrossRef]
Symbol | Meaning |
---|---|
Bandwidth | |
Channel cost between device and Fog access node | |
Channel noise power | |
Computational complexity | |
Clai | Cost of initiator/source Fog access node |
Claj | Cost of linked neighbouring candidate Fog access node |
Cost of the Fog node | |
CSj | Cost of the neighbouring Fog server |
Deadline | |
Energy consumption for the task during its execution | |
Energy consumption of the task while transmitting from Kk to Fna | |
Execution time | |
Expected number of faults | |
Fog node active time | |
Flai | Initiator/source Fog access node |
Fsi | Initiator/source Fog server |
Flan | Linked neighbouring candidate Fog access node for task-processing |
Maximum battery life of the Fog nodes | |
Mean failure rate | |
Flaj | Neighbouring Fog access node |
Fsj | Neighbouring Fog server |
Number of hopes | |
Kk | Number of user/IoT devices |
Power consumption of Fog access node | |
Power consumption of user/IoT device | |
Pi | Priority |
δ | Priority threshold level |
ƥ | Probability of fault occurrence |
Er | Residual energy |
Selectivity of all possible neighbouring candidate Fog access nodes | |
Selectivity of the Fog control node | |
Set of attributes | |
Fna | Set of Fog access nodes |
Fn | Set of Fog nodes |
Fnc | Set of the Fog control nodes |
Fs | Set of the Fog servers |
Storage capacity | |
Task computation | |
Task size/length of the task | |
Task type | |
Time taken to forward the task from IoT device to the Fog access nodes | |
Total battery capacity | |
Total energy consumption | |
Total time | |
Transmission channel capacity |
S.No | Parameter | Value |
---|---|---|
1 | Fog server | 5–50 |
2 | Fog control node | 20–100 |
3 | Fog access node | 50–5000 |
4 | User device | 5–1000 |
5 | Number of tasks | 50–1500 |
6 | Task length | 1000–10,000 |
7 | Node capacity | 1500 MIPS |
8 | Initial node energy | 5 J |
9 | Task selection from IoT/user device | Priority based |
10 | Cloud data-center | 1 |
11 | Bandwidth | 500 |
12 | Processing speed | 1200 MIPS |
13 | Fog memory space | 1024 MB |
14 | Deadline of the task | Length based |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Baskar, P.; Periasamy, P. Minimum-Cost-Based Neighbour Node Discovery Scheme for Fault Tolerance under IoT-Fog Networks. Future Internet 2024, 16, 123. https://doi.org/10.3390/fi16040123
Baskar P, Periasamy P. Minimum-Cost-Based Neighbour Node Discovery Scheme for Fault Tolerance under IoT-Fog Networks. Future Internet. 2024; 16(4):123. https://doi.org/10.3390/fi16040123
Chicago/Turabian StyleBaskar, Premalatha, and Prakasam Periasamy. 2024. "Minimum-Cost-Based Neighbour Node Discovery Scheme for Fault Tolerance under IoT-Fog Networks" Future Internet 16, no. 4: 123. https://doi.org/10.3390/fi16040123
APA StyleBaskar, P., & Periasamy, P. (2024). Minimum-Cost-Based Neighbour Node Discovery Scheme for Fault Tolerance under IoT-Fog Networks. Future Internet, 16(4), 123. https://doi.org/10.3390/fi16040123