Article Preview
TopIntroduction
The recent proliferation of Internet of Things (IoT) has led to the significant pervasion of numerous user tasks with ubiquitous, networked computing devices (Atlam et al., 2018). IoT includes various objects and sensors which are ubiquitously connected through the Internet and are capable of transmitting valuable information without any human intervention. In recent times, IoT services have been expanded to enhance the users' quality of life in varying fields (Y. Huang et al., 2020). These devices generate massive volume of data, which is cumbersome to process with the local computation capabilities, resulting in degraded Quality of Service (QoS). Therefore, cloud computing is introduced to compensate for resource-constrained IoT devices (Jain & Kumar, 2021). Cloud computing comprises remote data centers that are capable to provide on-demand user services. However, few limitations of cloud computing such as location unawareness, far locality, and security cannot satisfy the requirements of delay-sensitive applications (Tiwari & Kumar, 2021).
In 2012, Cisco bring a new terminology, named “fog computing” (Dastjerdi et al., 2016) that extends the cloud services at the edge of the network. Fog computing works as a promising solution for delay-sensitive applications by providing location-aware service with reduced response time (Jain et al., 2022). A resource-constrained IoT device can improve its QoS by transmitting the generated task to periphery situated fog node instead of cloud servers. Unlike cloud computing, fog computing resources are dynamic and heterogeneous in nature with limited processing and storage capabilities. Therefore, managing these fog resources by improving the overall user experience is very challenging task(B. B. Gupta et al., 2019; Manasrah et al., 2019).
One of the prominent reasons to bring fog computing is to enhance the satisfaction level of QoS by providing upgraded services to the applications deployed in underlying IoT devices (Ahammad et al., 2021). On the other hand, improper management of fog resources can bring down the achieved QoS instead of any improvement (Vambe et al., 2020). QoS in fog computing measures the overall performance of services provided by service providers. Due to native difference between cloud and fog computing, existing QoS mechanism of cloud computing cannot be directly applied to fog infrastructure. The issue of ensuring QoS while managing the fog resources efficiently is challenging, yet no systematic and comprehensive review explores the importance of these approaches. Therefore, this paper is designed with the aim of conducting a systematic review of QoS-based resource management schemes in fog computing. Resource management techniques are classified into six different classes: resource provisioning, resource allocation, resource scheduling, application placement, load balancing, and task offloading. The major contribution of this review study is as follows:
- •
Provides a systematic review of existing QoS-based resource management techniques in fog computing.
- •
Classify and compare the different ways to manage resources based on various features with their pros and cons.
- •
Discuss the current open issues and challenges presented in the existing mechanism.
- •
Provide a direction for future research for improvising the overall effectiveness and performance of QoS-aware schemes.