Persistent Fault-Tolerant Storage at the Fog Layer

Clouds are powerful computer centers that provide computing and storage facilities that can be remotely accessed. The flexibility and cost-efficiency offered by clouds have made them very popular for business and web applications. The use of clouds is now being extended to safety-critical applicatio...

Full description

Bibliographic Details
Main Author: Bakhshi Valojerdi, Zeinab
Format: Others
Language:English
Published: Mälardalens högskola, Inbyggda system 2021
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:mdh:diva-55680
http://nbn-resolving.de/urn:isbn:978-91-7485-518-0
id ndltd-UPSALLA1-oai-DiVA.org-mdh-55680
record_format oai_dc
spelling ndltd-UPSALLA1-oai-DiVA.org-mdh-556802021-09-24T05:23:49ZPersistent Fault-Tolerant Storage at the Fog LayerengBakhshi Valojerdi, ZeinabMälardalens högskola, Inbyggda systemVästerås : Mälardalen University2021DependabilityFog ComputingFault-toleranceContainerizationEmbedded SystemsInbäddad systemteknikComputer SciencesDatavetenskap (datalogi)Clouds are powerful computer centers that provide computing and storage facilities that can be remotely accessed. The flexibility and cost-efficiency offered by clouds have made them very popular for business and web applications. The use of clouds is now being extended to safety-critical applications such as factories. However, cloud services do not provide time predictability which creates a hassle for such time-sensitive applications. Moreover, delays in the data communication between clouds and the devices the clouds control are unpredictable. Therefore, to increase predictability an intermediate layer between devices and the cloud is introduced. This layer, the Fog layer, aims to provide computational resources closer to the edge of the network. However, the fog computing paradigm relies on resource-constrained nodes, creating new potential challenges in resource management, scalability, and reliability. Solutions such as lightweight virtualization technologies can be leveraged for solving the dichotomy between performance and reliability in fog computing. In this context, container-based virtualization is a key technology providing lightweight virtualization for cloud computing that can be applied in fog computing as well. Such container-based technologies provide fault tolerance mechanisms that improve the reliability and availability of application execution.  By the study of a robotic use-case, we have realized that persistent data storage for stateful applications at the fog layer is particularly important. In addition, we identified the need to enhance the current container orchestration solution to fit fog applications executing in container-based architectures. In this thesis, we identify open challenges in achieving dependable fog platforms. Among these, we focus particularly on scalable, lightweight virtualization, auto-recovery, and re-integration solutions after failures in fog applications and nodes. We implement a testbed to deploy our use-case on a container-based fog platform and investigate the fulfillment of key dependability requirements. We enhance the architecture and identify the lack of persistent storage for stateful applications as an important impediment for the execution of control applications. We propose a solution for persistent fault-tolerant storage at the fog layer, which dissociates storage from applications to reduce application load and separates the concern of distributed storage. Our solution includes a replicated data structure supported by a consensus protocol that ensures distributed data consistency and fault tolerance in case of node failures. Finally, we use the UPPAAL verification tool to model and verify the fault tolerance and consistency of our solution. Licentiate thesis, comprehensive summaryinfo:eu-repo/semantics/masterThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:mdh:diva-55680urn:isbn:978-91-7485-518-0Mälardalen University Press Licentiate Theses, 1651-9256 ; 309application/pdfinfo:eu-repo/semantics/openAccess
collection NDLTD
language English
format Others
sources NDLTD
topic Dependability
Fog Computing
Fault-tolerance
Containerization
Embedded Systems
Inbäddad systemteknik
Computer Sciences
Datavetenskap (datalogi)
spellingShingle Dependability
Fog Computing
Fault-tolerance
Containerization
Embedded Systems
Inbäddad systemteknik
Computer Sciences
Datavetenskap (datalogi)
Bakhshi Valojerdi, Zeinab
Persistent Fault-Tolerant Storage at the Fog Layer
description Clouds are powerful computer centers that provide computing and storage facilities that can be remotely accessed. The flexibility and cost-efficiency offered by clouds have made them very popular for business and web applications. The use of clouds is now being extended to safety-critical applications such as factories. However, cloud services do not provide time predictability which creates a hassle for such time-sensitive applications. Moreover, delays in the data communication between clouds and the devices the clouds control are unpredictable. Therefore, to increase predictability an intermediate layer between devices and the cloud is introduced. This layer, the Fog layer, aims to provide computational resources closer to the edge of the network. However, the fog computing paradigm relies on resource-constrained nodes, creating new potential challenges in resource management, scalability, and reliability. Solutions such as lightweight virtualization technologies can be leveraged for solving the dichotomy between performance and reliability in fog computing. In this context, container-based virtualization is a key technology providing lightweight virtualization for cloud computing that can be applied in fog computing as well. Such container-based technologies provide fault tolerance mechanisms that improve the reliability and availability of application execution.  By the study of a robotic use-case, we have realized that persistent data storage for stateful applications at the fog layer is particularly important. In addition, we identified the need to enhance the current container orchestration solution to fit fog applications executing in container-based architectures. In this thesis, we identify open challenges in achieving dependable fog platforms. Among these, we focus particularly on scalable, lightweight virtualization, auto-recovery, and re-integration solutions after failures in fog applications and nodes. We implement a testbed to deploy our use-case on a container-based fog platform and investigate the fulfillment of key dependability requirements. We enhance the architecture and identify the lack of persistent storage for stateful applications as an important impediment for the execution of control applications. We propose a solution for persistent fault-tolerant storage at the fog layer, which dissociates storage from applications to reduce application load and separates the concern of distributed storage. Our solution includes a replicated data structure supported by a consensus protocol that ensures distributed data consistency and fault tolerance in case of node failures. Finally, we use the UPPAAL verification tool to model and verify the fault tolerance and consistency of our solution.
author Bakhshi Valojerdi, Zeinab
author_facet Bakhshi Valojerdi, Zeinab
author_sort Bakhshi Valojerdi, Zeinab
title Persistent Fault-Tolerant Storage at the Fog Layer
title_short Persistent Fault-Tolerant Storage at the Fog Layer
title_full Persistent Fault-Tolerant Storage at the Fog Layer
title_fullStr Persistent Fault-Tolerant Storage at the Fog Layer
title_full_unstemmed Persistent Fault-Tolerant Storage at the Fog Layer
title_sort persistent fault-tolerant storage at the fog layer
publisher Mälardalens högskola, Inbyggda system
publishDate 2021
url http://urn.kb.se/resolve?urn=urn:nbn:se:mdh:diva-55680
http://nbn-resolving.de/urn:isbn:978-91-7485-518-0
work_keys_str_mv AT bakhshivalojerdizeinab persistentfaulttolerantstorageatthefoglayer
_version_ 1719484777645473792