<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Comput. Sci.</journal-id>
<journal-title>Frontiers in Computer Science</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Comput. Sci.</abbrev-journal-title>
<issn pub-type="epub">2624-9898</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fcomp.2023.1293209</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Computer Science</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Machine learning-driven task scheduling with dynamic K-means based clustering algorithm using fuzzy logic in FOG environment</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name><surname>Sheikh</surname> <given-names>Muhammad Saad</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<xref ref-type="corresp" rid="c001"><sup>&#x0002A;</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/2504098/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Enam</surname> <given-names>Rabia Noor</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Qureshi</surname> <given-names>Rehan Inam</given-names></name>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref>
<xref ref-type="author-notes" rid="fn001"><sup>&#x02020;</sup></xref>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
</contrib>
</contrib-group>
<aff id="aff1"><sup>1</sup><institution>Computer Engineering Department, Sir Syed University of Engineering and Technology</institution>, <addr-line>Karachi</addr-line>, <country>Pakistan</country></aff>
<aff id="aff2"><sup>2</sup><institution>Stanley College</institution>, <addr-line>Perth, WA</addr-line>, <country>Australia</country></aff>
<author-notes>
<fn fn-type="edited-by"><p>Edited by: Manlio Bacco, National Research Council (CNR), Italy</p></fn>
<fn fn-type="edited-by"><p>Reviewed by: Saira Bano, National Research Council (CNR), Italy; Achilles Machumilane, National Research Council (CNR), Italy</p></fn>
<corresp id="c001">&#x0002A;Correspondence: Muhammad Saad Sheikh <email>msaad&#x00040;ssuet.edu.pk</email></corresp>
<fn fn-type="present-address" id="fn001"><p>&#x02020;Present address: Rehan Inam Qureshi, Functional Analyst (Strategic Projects), University of Southern Queensland, Toowoomba, QLD, Australia</p></fn></author-notes>
<pub-date pub-type="epub">
<day>14</day>
<month>12</month>
<year>2023</year>
</pub-date>
<pub-date pub-type="collection">
<year>2023</year>
</pub-date>
<volume>5</volume>
<elocation-id>1293209</elocation-id>
<history>
<date date-type="received">
<day>16</day>
<month>09</month>
<year>2023</year>
</date>
<date date-type="accepted">
<day>20</day>
<month>11</month>
<year>2023</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2023 Sheikh, Enam and Qureshi.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Sheikh, Enam and Qureshi</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/"><p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p></license>
</permissions>
<abstract>
<p>Fog Computing has emerged as a pivotal technology for enabling low-latency, context-aware, and efficient computing at the edge of the network. Effective task scheduling plays a vital role in optimizing the performance of fog computing systems. Traditional task scheduling algorithms, primarily designed for centralized cloud environments, often fail to cater to the dynamic, heterogeneous, and resource-constrained nature of Fog nodes. To overcome these limitations, we introduce a sophisticated machine learning-driven methodology that adapts task allocation to the ever-changing Fog environment&#x00027;s conditions. Our approach amalgamates K-Means clustering algorithm enhanced with fuzzy logic, a robust unsupervised learning technique, to efficiently group Fog nodes based on their resource characteristics and workload patterns. The proposed method combines the clustering capabilities of K-means with the adaptability of fuzzy logic to dynamically allocate tasks to fog nodes. By leveraging machine learning techniques, we demonstrate how tasks can be intelligently allocated to fog nodes, resulting in reducing execution time, response time and network usage. Through extensive experiments, we showcase the effectiveness and adaptability of our proposed approach in dynamic fog environments. Clustering proves to be a time-effective method for identifying groups of jobs per virtual machine (VM) efficiently. To model and evaluate our proposed approach, we have utilized iFogSim. The simulation results affirm the effectiveness of our scheduling technique, showcasing significant enhancements in execution time reduction, minimized network utilization, and improved response time when compared to existing machine learning and non-machine learning based scheduling methods within the iFogSim framework.</p></abstract>
<kwd-group>
<kwd>machine learning</kwd>
<kwd>fog computing (FC)</kwd>
<kwd>Internet of Things (IoT)</kwd>
<kwd>symbiotic organism search algorithm (SOS)</kwd>
<kwd>task scheduling</kwd>
<kwd>K-mean clustering algorithm</kwd>
<kwd>fuzzy logic</kwd>
<kwd>fog nodes (FD)</kwd>
</kwd-group>
<counts>
<fig-count count="5"/>
<table-count count="4"/>
<equation-count count="1"/>
<ref-count count="49"/>
<page-count count="13"/>
<word-count count="9302"/>
</counts>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Networks and Communications</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<title>1 Introduction</title>
<p>The advent of the Internet of Things (IoT) has ushered in an era of pervasive data generation, enabling smart cities, industrial automation, healthcare monitoring, and a myriad of other applications (Kumar et al., <xref ref-type="bibr" rid="B28">2019</xref>). However, the efficient processing and analysis of this vast volume of data at the edge of the network have posed significant challenges. Fog computing, an extension of cloud computing (Arooj et al., <xref ref-type="bibr" rid="B7">2021</xref>), offers a promising solution by bringing computation and data storage closer to the data sources, thereby reducing latency, bandwidth usage, and enabling real-time decision-making. In this paradigm, a fundamental aspect that demands attention is the scheduling of tasks on fog nodes, which is pivotal in ensuring timely execution and resource optimization (Goniwada, <xref ref-type="bibr" rid="B15">2022</xref>).</p>
<p>Fog computing introduces a dynamic and heterogeneous environment where resources, such as computing power and network bandwidth, can vary significantly across fog nodes. Moreover, the tasks to be executed often exhibit diverse characteristics, including varying execution times and real-time requirements (Guo and Chen, <xref ref-type="bibr" rid="B16">2023</xref>). The challenge lies in orchestrating these resources efficiently to meet stringent task execution deadlines while optimizing resource utilization.</p>
<p>Traditional cloud computing scheduling algorithms are ill-suited for the fog computing landscape due to the inherent differences in resource proximity and the real-time constraints imposed by IoT applications. While centralized cloud environments benefit from ample resources and stable conditions, fog nodes operate on the edge, where resources are constrained, and environmental conditions are volatile.</p>
<p>One critical aspect of effective task scheduling in fog computing is the accurate prediction of task execution times. Unlike cloud data centers (Zhang et al., <xref ref-type="bibr" rid="B49">2023</xref>) where resource performance is relatively stable, fog nodes are susceptible to resource fluctuations due to factors such as network congestion, device failures, and environmental conditions. Consequently, execution times for tasks can exhibit considerable variability.</p>
<p>Fog computing serves as an intermediary layer positioned between end users and cloud data centers. Its utility becomes particularly pronounced when dealing with applications demanding minimal latency and immediate responses, contingent on the origin of the data source. Within this stratum, a multitude of virtual servers can be seamlessly deployed to efficiently manage incoming requests.</p>
<p>Resource allocation, as described by Kreuzberger et al. (<xref ref-type="bibr" rid="B26">2023</xref>), is a methodical process involving the distribution of accessible resources to internet-based Cloud clients. The precise timing and sequence of these allocations hold paramount importance, as they play a pivotal role in optimizing the advantages derived from virtual server utilization. This strategic allocation has the potential to enhance system throughput without imposing undue charges on customers. Furthermore, ensuring the availability of resources for high-priority tasks is essential to prevent them from languishing at the end of the task queue. Neglecting this aspect could lead to inefficient utilization of virtual servers and potential financial losses for a company. Consequently, the prioritized allocation of resources for profit maximization emerges as a critical and promising research area.</p>
<p>Machine learning (ML) (Aqib et al., <xref ref-type="bibr" rid="B6">2023</xref>; Li et al., <xref ref-type="bibr" rid="B29">2023</xref>), a pivotal field, has witnessed remarkable progress across various academic domains. Numerous research endeavors have been undertaken to explore the utilization of machine learning in addressing challenges within the realm of fog computing. Recent years have seen a notable surge in the application of machine learning (ML) to enhance fog computing applications and provide a spectrum of fog-related services. These services encompass efficient resource management, security enhancement, latency reduction, energy conservation, and traffic modeling, among others. Within the diverse landscape of fog computing, various devices, sensors, and objects contribute copious amounts of data that necessitate processing. Real-time processing not only holds the potential to enhance operational efficiency but, in some scenarios, becomes imperative. To ensure optimal resource utilization, sensors, devices, and objects often engage in resource-intensive interactions (Aqib et al., <xref ref-type="bibr" rid="B6">2023</xref>). Consequently, the management of resources in fog computing demands careful consideration and implementation (Alguliyev et al., <xref ref-type="bibr" rid="B4">2023</xref>). This section of the study delves into investigations that harness ML algorithms for the purpose of resource management within the domain of fog computing.</p>
<p>In this paper, we introduce a novel Scheduling Algorithm designed for task allocation at the fog computing level. Our algorithm efficiently assigns tasks to virtual machines (VMs) responsible for executing the request/response model within the fog computing environment. To achieve this, we harness the K-Means clustering algorithm (Awad et al., <xref ref-type="bibr" rid="B9">2023</xref>; You et al., <xref ref-type="bibr" rid="B48">2023</xref>) with fuzzy logic (Ranjan and Sharma, <xref ref-type="bibr" rid="B36">2023</xref>) for scheduling fog devices. The primary contributions of our work are as follows:</p>
<list list-type="order">
<list-item><p>Introduction of K-means Clustering Scheduling enhanced with fuzzy logic within the fog computing paradigm.</p></list-item>
<list-item><p>Implementation of the proposed algorithm within the iFogSim simulator (Gupta et al., <xref ref-type="bibr" rid="B18">2016</xref>; Saad et al., <xref ref-type="bibr" rid="B39">2023</xref>).</p></list-item>
<list-item><p>Substantial reduction in execution time, response time and network usage signifying an improvement in operational efficiency.</p></list-item>
</list>
<p>The remaining parts of the paper are partitioned into the following hierarchy: Section 2 explores relevant literature, in Section 3 we discuss problem statement and proposed solution, Section 4 discuss application and model in detail, Section 5 elaborates suggested workflow, Section 6 presents our experimental results and comparative analysis, validating the effectiveness of our approach, Section 7 concludes the paper and summarizes future work.</p>
</sec>
<sec id="s2">
<title>2 Literature survey</title>
<p>The many scheduling methods now in use may be placed in one of three major categories: stochastic (Bhaumik et al., <xref ref-type="bibr" rid="B11">2016</xref>; Guo, <xref ref-type="bibr" rid="B17">2017</xref>), deterministic (Hosseinzadeh et al., <xref ref-type="bibr" rid="B22">2023</xref>; Reddy and Sudhakar, <xref ref-type="bibr" rid="B37">2023</xref>), or hybrid (Saif et al., <xref ref-type="bibr" rid="B40">2023</xref>; Tran-Dang and Kim, <xref ref-type="bibr" rid="B44">2023</xref>). Non-deterministic algorithms, often known as stochastic algorithms, are those that create a result depending on a degree of randomness and an objective function. Stochastic algorithms are also known as evolutionary algorithms. This category also contains algorithms that use heuristic and metaheuristic approaches. Heuristic algorithms find answers by trial and error (Saad et al., <xref ref-type="bibr" rid="B39">2023</xref>), but they cannot ensure that the results will be the best possible solution. Metaheuristic approaches, on the other hand, are more generic. Then there are hybrid algorithms, which are the mixture of many algorithms from the aforementioned scheduling algorithm types. Deterministic algorithms derive the answer exclusively from the input and do not make use of chance or randomness in any way. A literature overview of task scheduling algorithms that use one of these three techniques is presented below in this section.</p>
<p>The field of fog computing is one that is now undergoing significant development. The research community is gradually beginning to pay greater attention to task scheduling in fog computing, despite the fact that there is not a great deal of research on the subject. In distributed systems, the metaheuristic method is often used to schedule tasks and handle resources (Jeyaraj et al., <xref ref-type="bibr" rid="B24">2023</xref>). But not much study has been done on how scheduling methods can be used in fog computing architecture.</p>
<p>In the research carried out and presented by Li et al. (<xref ref-type="bibr" rid="B29">2023</xref>), many distinct strategies for the placement of services have been investigated in the context of cloud computing, and edge computing. The atomization idea and both simultaneous and sequential processing have been tried for service location. Gupta and Singh (<xref ref-type="bibr" rid="B19">2023</xref>) showed and talked about fog computer designs and other tools that work. They have told us more about organizing and allocating resources in the fog environment, as well as the different modeling tools that can be used for fog computing.</p>
<p>The Bee Life Algorithm was applied to the challenge of task scheduling in the research that Vispute and Vashisht (<xref ref-type="bibr" rid="B45">2023</xref>) presented to the scientific community. Both the entire amount of RAM and the execution speed of the CPU have been used as parameters. They compared their effort to the work done by GA and PSO in order to highlight how far things had come. For the purpose of allocation, a static method of task scheduling is used rather than a dynamic one. A cloud-fog infrastructure-based job scheduling approach that was developed by Agarwal et al. (<xref ref-type="bibr" rid="B2">2023</xref>) and was based on the genetic algorithm (GA) mechanism was also presented. Comparing the proposed method to the Bee Life algorithm revealed that the proposed method is superior. In this paper, the authors demonstrate efficacy using a limited data set. In Bakshi et al. (<xref ref-type="bibr" rid="B10">2023</xref>) by Skarlat et al., a technique for fog device-based service placement in fog colonies is developed. After determining a suitable service deployment sequence, this method optimizes the sequence using the GA method. However, the technique has a flaw in that they have only compared the developed technique to the GA and first fit techniques.</p>
<p>EPSO is a method of resource scheduling that was created by He and Bai (<xref ref-type="bibr" rid="B20">2023</xref>) for use in a fog computing network. In order to make the convex issues more manageable, it combined the PSO approach with the proximal gradient technique. In order to bring the local and global solutions closer together, the approach that was devised makes use of additional gradient parameters. Comparisons of total time and makespan metrics have been carried out in order to demonstrate the usefulness of the established approach. The newly discovered approach shortens the amount of time needed to complete a large number of jobs, but at the expense of an increased amount of energy usage.</p>
<p>In the research that was reported by Singhrova (<xref ref-type="bibr" rid="B42">2023</xref>), the fireworks method was used to schedule jobs in an environment that had a variety of different types of resources. In order to get the most effective scheduling sequences, it makes use of the components of the fireworks evolutionary approach. The methodology was evaluated in light of the genetic algorithm, and the researchers saw a rapid convergence. The fireworks were chosen using the tournament-based selection approach, however the algorithm did not have a cloud or fog environment built for it.</p>
<p>The approach of task scheduling known as the fireworks algorithm was presented in the work that was done by Shen et al. (<xref ref-type="bibr" rid="B41">2023</xref>). They have developed a detecting method for explosions caused by fireworks. In addition to this, the authors have implemented the task clustering mechanism, then proceeded to implement the method. Memory and CPU utilization indicators have been included in their load utilization model, however the time aspect has not been taken into consideration. Consumption of both energy and time has been regarded as the most important elements in the research carried out by Hosseinzadeh et al. (<xref ref-type="bibr" rid="B22">2023</xref>). The authors have successfully resolved the issues with scheduling and commitment by using the fireworks method.</p>
<p>The implementation of cloudlets in mobile edge computing has reportedly been successfully completed, as stated in Abadi et al. (<xref ref-type="bibr" rid="B1">2023</xref>) research. The placement was carried out with a focus on minimizing times and taking total time of ownership into account. Mishra and Chaturvedi (<xref ref-type="bibr" rid="B31">2023</xref>) presented the methodology for cloud-based work distribution as their contribution. This approach used two distinct tactics in order to maximize performance while also reducing the amount of inappropriate job allocation. They have improved the scheduling of cloud-based resources as well as the load allocation across those resources.</p>
<p>The authors Atiq et al. (<xref ref-type="bibr" rid="B8">2023</xref>) established a novel paradigm for resource allocation and task scheduling that concurrently takes into consideration three separate criteria. These elements are referred to as the resource balancing factor, task completion time, and throughput. They have made use of the Lyapunov drift methodology in order to optimize and cut down on the amount of time spent waiting for tasks, but it does not include a modern optimization method. Kumar and Karri (<xref ref-type="bibr" rid="B27">2023</xref>) suggested a way in which scheduling is intended to function on different parameters by integrating the allocation and selection of resources in a fog environment. In this approach, scheduling is meant to work on multiple parameters. The suggested approach selects a methodology for rapidly completing tasks in order to lower the task loading factor; however, it does not include an optimization technique, which would be helpful in improving the method&#x00027;s currently poor outcome.</p>
<p>Numerous researchers have tried to use various numbers of goals to tackle the multi objective optimization issue of the workflow applications. To plan the workflow tasks across the available resources, a hybrid meta-heuristic GA-PSO method is suggested in this research (Yin et al., <xref ref-type="bibr" rid="B47">2023</xref>). The proposed method uses the properties of heterogeneous tasks and nodes but unable to accomplish multi-objective optimization.</p>
<p>When the total number of repetitions of the process is raised above a certain threshold, the results generated by the algorithms that are based on IGA are, in a nutshell, superior than those produced by other algorithms.</p>
<p>Increasing the total number of repetitions of the process, on the other hand, will result in the IGA-based meta-heuristic algorithm taking a longer amount of time to arrive at the best possible answer (Meng et al., <xref ref-type="bibr" rid="B30">2023</xref>; Sun et al., <xref ref-type="bibr" rid="B43">2023</xref>). Besides that, the IPSO-based meta-heuristic algorithms provide superior outcomes in a shorter amount of time when compared to the other methods. However, since the PSO-based algorithms converged on a solution so quickly, the reliability of the results could be jeopardized as a result of this. This rapid convergence may result in the algorithms being stuck in the locally optimum solution (Gomathi et al., <xref ref-type="bibr" rid="B14">2023</xref>; Pirozmand et al., <xref ref-type="bibr" rid="B35">2023</xref>).</p>
<p>In the research presented in Chaplot et al. (<xref ref-type="bibr" rid="B13">2023</xref>), the Ant Colony Algorithm is employed for the purpose of scheduling grouped tasks onto virtual machines. This method encompasses three crucial steps in its execution: the initial grouping of jobs based on factors like time and time, the subsequent prioritization of tasks, and finally, the selection of the most suitable virtual machine (VM) through the utilization of the Ant Colony Algorithm. This particular approach is further implemented and simulated within the iFogSim framework. The notable outcome of this integration is an enhancement in the simulation results, achieved while consuming minimal energy resources. The utilization of the Ant Colony Algorithm in the context of task scheduling contributes significantly to the optimization of resource allocation and the overall performance of the iFogSim simulation environment.</p>
<p>In the paper presented by the authors in Alhijawi and Awajan (<xref ref-type="bibr" rid="B5">2023</xref>), they introduce an innovative scheduling approach that merges knapsack optimization with Symbiotic Organism Search (SOS). Additionally, they discuss a distinctive application focused on identifying health issues among elderly individuals through the use of Elderly Human Activity Detection (EAHD) in smart home environments. The SOS process involves three distinct stages. The first stage is Mutualism, which is followed by the random selection of organisms. This combination of knapsack optimization and SOS introduces a novel approach to task scheduling, particularly within the context of health monitoring in smart homes for the elderly population. The second is commensalism, and the third is parasitism. This formula, 1/(TUC&#x0002B;BW), is used to compute fitness value at each phase. Two case studies employing iFogsim DCNS and EAHD that outperform FCFS and Knapsack algorithms.</p>
<p>The GKS algorithm is a scheduling approach proposed in Cerf et al. (<xref ref-type="bibr" rid="B12">2023</xref>) that uses knapsack to deploy modules on fog devices. Using knapsack approaches, PEs are allocated to modules. In order to fill a knapsack with extra items (modules), the GKS algorithm is utilized to maximize profit while reducing weight. In iFogsim, this strategy outperforms energy consumption-based algorithms.</p>
<p>The researchers presented in their work a knapsack-based strategy to scheduling concurrent video transfers in a cloud context, with an emphasis on minimizing the completion time, known as the Least Completion Time (MCT) (Paparella et al., <xref ref-type="bibr" rid="B33">2023</xref>). They used the &#x0201C;maximum min&#x0201D; strategy, which involves selecting the most powerful machines in the cloud infrastructure and allocating them to a certain amount of video segments. The MCT method was then used to schedule these portions. The study findings found that, when both execution time and segment count were considered, the &#x0201C;maximum min&#x0201D; approach beat the MCT technique. This shows that the &#x0201C;maximum min&#x0201D; technique is more efficient and effective, resulting in shorter execution durations and a lower total segment count.</p>
<p>Many fields are now using machine learning. In domains like speech recognition, data classification, and face recognition, the robots are intelligently functioning. RL is a technique for finding the best answer without the assistance of the outside environment (Kober et al., <xref ref-type="bibr" rid="B25">2013</xref>). An essential algorithm for machine learning is found in the artificial intelligence (AI) branch known as reinforcement learning (RL). Until the session is over, this process is repeated (Roy et al., <xref ref-type="bibr" rid="B38">2017</xref>). Due to the quick growth of AI and RL as well as the drawbacks of other task scheduling techniques, RL is integrated with AI to solve optimization challenges through task scheduling. SARSA, TD-learning, and Q-learning are three different traditional RL Algorithms (Peng et al., <xref ref-type="bibr" rid="B34">2015</xref>). The Q-learning method is the most effective task scheduling algorithm (Wei et al., <xref ref-type="bibr" rid="B46">2017</xref>). One method for leveraging the Markov decision process (MDP) to solve different issues when all the information is not available is Q-learning.</p>
<p>The research cited in reference Alexandrescu (<xref ref-type="bibr" rid="B3">2023</xref>), Alguliyev et al. (<xref ref-type="bibr" rid="B4">2023</xref>), Aqib et al. (<xref ref-type="bibr" rid="B6">2023</xref>), and Jamshed et al. (<xref ref-type="bibr" rid="B23">2023</xref>), upon which I have anchored my foundational problem statement for this entire study, has a notable limitation. Specifically, it fails to account for various operational time parameters, among others. Furthermore, the research does not incorporate the utilization of fuzzy logic to enhance the adaptability of task allocation within fog nodes across different degrees of membership.</p>
<p>The proposed algorithm is compared with Symbiotic Organism Search (SOS) (Hosseinioun et al., <xref ref-type="bibr" rid="B21">2022</xref>) and k-means (Mtshali et al., <xref ref-type="bibr" rid="B32">2019</xref>) algorithm. Symbiotic Organism Search (SOS) is a metaheuristic algorithm inspired by the symbiotic relationships between organisms in an ecosystem. Symbiotic Organism Search (SOS) can be used in task scheduling in fog computing to find optimal task assignments to fog nodes, while minimizing certain objectives such as makespan, cost, and energy consumption. SOS can be slow to converge, especially for complex problems as well as sensitive for initial population. The K-means algorithm can be used to group tasks together based on their characteristics such as task length and resource requirements. Once the tasks have been grouped, they can be assigned to fog nodes based on the resources available at each node. For example, tasks that require a lot of resources can be assigned to fog nodes with more resources, while tasks that have a tight deadline can be assigned to fog nodes that are closer to the data source. K-means is suitable for scenarios where data points naturally belong to distinct clusters and there is little ambiguity in cluster assignments.</p>
</sec>
<sec id="s3">
<title>3 Problem statement</title>
<p>Use of k-mean algorithm in task scheduling is only effective when each data point is assigned exclusively to one cluster. It uses crisp, binary membership assignments where a point belongs to a cluster or it doesn&#x00027;t. K-means is suitable for scenarios where data points naturally belong to distinct clusters and there is little ambiguity in cluster assignments.</p>
<p>But when there is an uncertainty or ambiguity in assigning tasks to fog nodes, when there is a requirement that tasks can be partially allocated to multiple fog nodes in order to take benefit from the resources of multiple nodes simultaneously, when in fog computing environments, the workload and resource availability of fog nodes fluctuate, when QoS requirements are not strictly binary but have varying degrees of importance or compliance, when task scheduling involves optimizing multiple conflicting objectives, such as minimizing energy consumption while maximizing task execution speed or reliability, when fog nodes have diverse capabilities, including computational power, memory, and network bandwidth, when the fog computing system needs to adapt rapidly to changing task requirements or node conditions, in all these scenario k-mean clustering will not give optimal results.</p>
<sec>
<title>3.1 Proposed solution</title>
<p>In order to get optimal results, use of K-means clustering using fuzzy logic is valuable in fog computing scenarios where there is uncertainty, variability, and ambiguity in task scheduling and assignment. It uses soft, probabilistic assignments with degrees of membership. It enables flexible task allocation decisions that consider partial membership of tasks to fog nodes and varying degrees of suitability, helping to optimize resource utilization and meet diverse QoS requirements.</p>
</sec>
</sec>
<sec id="s4">
<title>4 Application and system models</title>
<p>Fog computing, a variant of cloud computing, operates applications on fog devices situated between end-user devices and the distant cloud. This architectural approach capitalizes on the benefits of both cloud and edge computing, making it particularly advantageous for scenarios involving distributed data and low-latency requirements. At the foundational layer of this architecture, IoT sensors play a pivotal role in the reception and transmission of data via gateways to the higher layers. Concurrently, actuators are responsible for system control tasks. Fog computing, as a practical implementation, empowers edge devices to preprocess and analyze data, enhancing overall system efficiency. It&#x00027;s important to note that each fog network application boasts a distinct topology. To facilitate the creation of custom and predefined topologies, the iFogSim simulator offers a user-friendly Graphical User Interface (GUI) module (Gupta et al., <xref ref-type="bibr" rid="B18">2016</xref>). This GUI empowers users to incorporate various elements such as sensors, actuators, fog, cloud components, and connection elements into their topological designs.</p>
<p>To illustrate the practical application of these concepts, we utilize iFogSim in a case study centered around car parking, demonstrating the creation and utilization of a new topology for this specific scenario. Other modules within the simulator are designed to interpret and execute these customized topologies. Fog computing stands as a pivotal enabler across several critical domains within IoT applications, such as smart car parking system.</p>
<p>In the context of fog computing, innovative solutions emerge. For instance, in the realm of traffic management, fog computing can be harnessed to facilitate dynamic road access based on real-time cues, such as flashing lights. This technology adeptly identifies pedestrians and cyclists while accurately gauging the speed and proximity of oncoming vehicles. Consequently, when motion is detected, sensor-based lighting systems are triggered, and conversely, they switch off when activity ceases (Gupta et al., <xref ref-type="bibr" rid="B18">2016</xref>). Smart traffic lights, a quintessential fog computing component, can be envisaged as fog nodes that seamlessly communicate with one another, effectively transmitting warning signals to nearby vehicles. This collaboration draws upon various communication technologies, including zigbee, 4G, smart traffic signals, and roadside infrastructure, which collectively optimize interactions between fog computing entities and vehicular access points (Gupta et al., <xref ref-type="bibr" rid="B18">2016</xref>).</p>
<p>This case study revolves around a distributed monitoring camera system that spans multiple domains, including healthcare, transportation, security, and manufacturing (Kumar et al., <xref ref-type="bibr" rid="B28">2019</xref>). Within this context, the application model comprises five distinct functions:</p>
<list list-type="order">
<list-item><p>Raw Video Processing: The system processes raw video feeds to identify specific objects and detect movements occurring in front of the cameras.</p></list-item>
<list-item><p>Object Tracking: An object tracking module is employed to calculate configurations necessary for effective monitoring.</p></list-item>
<list-item><p>PTZ Configuration: The Pan-Tilt-Zoom (PTZ) setup is utilized to adjust the camera&#x00027;s position, enhancing its surveillance capabilities. Both physical cameras and actuators play a role in this process.</p></list-item>
<list-item><p>User Interface Interaction: The system includes a user interface component responsible for transmitting relevant information about tracked objects to the user&#x00027;s device.</p></list-item>
</list>
<p>The physical topology of this case study, denoted as &#x0201C;case study-A&#x0201D;, is represented by the DCNS video camera application architecture (Gupta et al., <xref ref-type="bibr" rid="B18">2016</xref>), as illustrated in <xref ref-type="fig" rid="F1">Figure 1</xref>. All components enclosed within the dotted line are integral to this architectural setup, with fog devices contained within a designated box. &#x0201C;M1&#x0201D; denotes Module 1 within the architecture.</p>
<fig id="F1" position="float">
<label>Figure 1</label>
<caption><p>Case study A-video surveillance camera.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-05-1293209-g0001.tif"/>
</fig></sec>
<sec id="s5">
<title>5 Proposed algorithm</title>
<sec>
<title>5.1 Number of clusters selection</title>
<p>In the scenario where you have only one objective, which is sending images as data or tasks with varying number of instructions, input and output file size as task parameters and with different CPU length (500, 2,000) in MIPS, with different RAM (500, 2,000) in MB, and with different uplink and download bandwidth as fog nodes parameters, the number of clusters would be 9. The reason for this is that the CPU length, RAM, and bandwidth are the three factors that are affecting the execution time, response time and network usage of the tasks. Since the number of instructions, input and output file size can vary, the CPU length, RAM, and bandwidth requirements of the tasks can also vary. The nine clusters could be:</p>
<list list-type="simple">
<list-item><p>Cluster 1: Fog nodes with CPU lengths in the range (500, 1,000) MIPS, RAM in the range (200, 1,000) MB, and bandwidth in the range (10, 100) Mbps (Low CPU, low RAM, low bandwidth).</p></list-item>
<list-item><p>Cluster 2: Fog nodes with CPU lengths in the range (1,000, 1,500) MIPS, RAM in the range (1,000, 1,500) MB, and bandwidth in the range (10, 100) Mbps (Medium CPU, medium RAM, low bandwidth).</p></list-item>
<list-item><p>Cluster 3: Fog nodes with CPU lengths in the range (1,500, 2,000) MIPS, RAM in the range (1,500, 2,000) MB, and bandwidth in the range (10, 100) Mbps (High CPU, high RAM, low bandwidth).</p></list-item>
<list-item><p>Cluster 4: Fog nodes with CPU lengths in the range (500, 1,000) MIPS, RAM in the range (200, 1,000) MB, and bandwidth in the range (100, 1,000) Mbps (Low CPU, low RAM, medium bandwidth).</p></list-item>
<list-item><p>Cluster 5: Fog nodes with CPU lengths in the range (1,000, 1,500) MIPS, RAM in the range (1,000, 1,500) MB, and bandwidth in the range (100, 1,000) Mbps (Medium CPU, medium RAM, medium bandwidth).</p></list-item>
<list-item><p>Cluster 6: Fog nodes with CPU lengths in the range (1,500, 2,000) MIPS, RAM in the range (1,500, 2,000) MB, and bandwidth in the range (100, 1,000) Mbps (High CPU, high RAM, medium bandwidth).</p></list-item>
<list-item><p>Cluster 7: Fog nodes with CPU lengths in the range (500, 1,000) MIPS, RAM in the range (200, 1,000) MB, and bandwidth in the range (1,000, 10,000) Mbps (Low CPU, low RAM, high bandwidth).</p></list-item>
<list-item><p>Cluster 8: Fog nodes with CPU lengths in the range (1,000, 1,500) MIPS, RAM in the range (1,000, 1,500) MB, and bandwidth in the range (1,000, 10,000) Mbps (Medium CPU, medium RAM, high bandwidth).</p></list-item>
<list-item><p>Cluster 9: Fog nodes with CPU lengths in the range (1,500, 2,000) MIPS, RAM in the range (1,500, 2,000) MB, and bandwidth in the range (1,000, 10,000) Mbps (High CPU, high RAM, high bandwidth).</p></list-item>
</list>
</sec>
<sec>
<title>5.2 Fuzzy logic in task allocation</title>
<p>In task allocation for fog computing, fuzzy logic is used to assign tasks to fog nodes with varying degrees of membership. This approach allows for more flexibility and adaptability when deciding which fog node is best suited for a given task. Here&#x00027;s an expanded explanation with equations:</p>
<p><bold>Step 1&#x02014;Fuzzy sets and membership functions:</bold> In fuzzy logic, attributes are represented as fuzzy sets, where each set is characterized by a membership function. These membership functions determine the degree to which an element belongs to a set. In task allocation, each fog node and task attribute (e.g., execution time, response time, and bandwidth) can be represented as fuzzy sets. The membership functions, denoted as &#x003BC;(x), assign a membership degree between 0 and 1 for each element x. For example, if we have a task with an execution time attribute, we can define a fuzzy set &#x0201C;LowExecutionTime&#x0201D; with a membership function &#x003BC;(LowExecutionTime), where &#x003BC;(LowExecutionTime)(x) represents the degree to which the execution time of the task is &#x0201C;low&#x0201D;.</p>
<p><bold>Step 2&#x02014;Membership degree calculation:</bold> To allocate tasks to fog nodes, we calculate the membership degree of each task to each fog node based on their attributes. This degree represents how suitable a fog node is for executing a particular task. The membership degree &#x003BC;(A)(x) of an element x belonging to fuzzy set A can be calculated using various methods, such as the Gaussian function, triangular function, or trapezoidal function. Here&#x00027;s a general equation using a Gaussian membership function:</p>
<disp-formula id="E1"><mml:math id="M1"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mo>&#x003BC;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>A</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>x</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mtext>exp</mml:mtext><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mo>-</mml:mo><mml:mn>0</mml:mn><mml:mo>.</mml:mo><mml:msup><mml:mrow><mml:mn>5</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x0002A;</mml:mo></mml:mrow></mml:msup><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>x</mml:mtext><mml:mo>-</mml:mo><mml:mtext>c</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>/</mml:mo><mml:mo>&#x003C3;</mml:mo></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<list list-type="simple">
<list-item><p>- A represents the fuzzy set (e.g., &#x0201C;Low Execution Time&#x0201D;).</p></list-item>
<list-item><p>- x is the value of the attribute (e.g., execution time of a task).</p></list-item>
<list-item><p>- c is the center of the fuzzy set (representing a typical value for that set).</p></list-item>
<list-item><p>- &#x003C3; (sigma) controls the spread or width of the membership function.</p></list-item>
</list>
<p><bold>Step 3&#x02014;Multiple attributes and fuzzy rules:</bold> Task allocation often considers multiple attributes, such as execution time, response time, and bandwidth. Each attribute can have its fuzzy sets and membership functions.</p>
<p>Fuzzy rules can be defined to determine how these attributes collectively affect the membership degree. For example, a fuzzy rule might state: &#x0201C;If execution time is low AND response time is fast, then the membership degree for fog node A is high.&#x0201D;</p>
<p><bold>Step 4&#x02014;Aggregation of membership degrees:</bold> Once membership degrees for various attributes are calculated, they are aggregated to determine the overall membership degree of a task to a fog node. This aggregation can be done using operators like the minimum (AND) or maximum (OR) operators, depending on the inference method used.</p>
</sec>
<sec>
<title>5.3 The enhanced K-means algorithm</title>
<p>The proposed approach enhances the traditional K-means algorithm with fuzzy logic to perform task scheduling in fog computing environments. The key steps of this enhanced K-means algorithm are as follows:</p>
<list list-type="simple">
<list-item><p><bold>Step 1&#x02014;Initialization:</bold> Initialize cluster centroids (representing fog nodes) and set the fuzziness parameter.</p></list-item>
<list-item><p><bold>Step 2&#x02014;Membership calculation:</bold> Calculate the membership degrees for each task with respect to each fog node based on criteria such as proximity, resource availability, and historical performance.</p></list-item>
<list-item><p><bold>Step 3&#x02014;Centroid update:</bold> Update the fog node centroids based on the weighted average of the tasks&#x00027; characteristics and their membership degrees.</p></list-item>
<list-item><p><bold>Step 4&#x02014;Convergence check:</bold> Iterate steps 2 and 3 until convergence criteria are met.</p></list-item>
</list>
</sec>
<sec>
<title>5.4 Simulation workflow</title>
<p>iFogsim is a Java-based simulator designed for the development and testing of fog computing scenarios, topologies, and applications (Gupta et al., <xref ref-type="bibr" rid="B18">2016</xref>). The workflow within iFogsim is depicted in <xref ref-type="fig" rid="F2">Figure 2</xref>. Initially, the FogBroker class is responsible for creating the fog computing environment. Subsequently, the createApplication method is employed to establish a case study or any application to evaluate the performance of fog nodes, sensors, and actuators within the fog environment. The createFogDevice method is utilized to generate a specified number of fog devices, each with distinct attributes and capacities.</p>
<fig id="F2" position="float">
<label>Figure 2</label>
<caption><p>iFogSim application operational sequence.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-05-1293209-g0002.tif"/>
</fig>
<p>These attributes encompass essential hardware details like node name, MIPS (Million Instructions Per Second), RAM (Random Access Memory), uplink and downlink bandwidth, level, ratePerMips, busyPower, and idlePower. Upon application submission, our proposed scheduling algorithm, termed: &#x0201C;K-Means Clustering and Fuzzy Logic&#x0201D;, is invoked through the Clustering (Tuples, FD) method. This method clusters tasks/tuples in accordance with the approach outlined in <xref ref-type="fig" rid="F6">Algorithm 1</xref>. Subsequently, it assigns virtual machines (VMs) to the created clusters, with the appAllocationPolicy class responsible for handling the scheduling as shown in <xref ref-type="fig" rid="F7">Algorithm 2</xref>. Following the scheduling phase, the simulation incorporates updates pertaining to execution times, response time and network usage. The simulation results are then presented for further analysis and evaluation.</p>
<fig id="F6" position="float">
<label>Algorithm 1</label>
<caption><p>K-means clustering and fuzzy logic.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-05-1293209-g0006.tif"/>
</fig>
<fig id="F7" position="float">
<label>Algorithm 2</label>
<caption><p>DCNS with K-means clustering and fuzzy logic.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-05-1293209-g0007.tif"/>
</fig>
<p>In <xref ref-type="fig" rid="F6">Algorithm 1</xref>, we first apply K-means clustering to the fog nodes to group them into clusters with centroids. Then, we use fuzzy logic to calculate membership degrees for tasks to each fog cluster, update the cluster centroids based on tasks&#x00027; membership degrees, and finally assign tasks to fog clusters. Subsequently, tasks within each fog cluster are assigned to the specific fog node (centroid) of that cluster. This hybrid approach leverages both K-means clustering and fuzzy logic to make informed task allocation decisions in fog computing environments.</p>
<p>In <xref ref-type="fig" rid="F7">Algorithm 2</xref>, we initiate the creation of the fog broker and the application. For every camera and specific area, a fog device is generated. These applications are then introduced to the fog broker alongside the creation of fog devices. Subsequently, the application is incorporated into the fog broker during the FD creation phase. The mapping of modules takes place, followed by the commencement of iFogSim, which includes the scheduling of modules for VM allocation through Clustering (<xref ref-type="fig" rid="F6">Algorithm 1</xref>).</p>
</sec>
</sec>
<sec id="s6">
<title>6 Experiment and results</title>
<p>This research utilized the iFogsim library for conducting simulations. iFogsim, a Java-based library, comprises modules and classes specifically designed for simulating fog computing scenarios (Gupta et al., <xref ref-type="bibr" rid="B18">2016</xref>). Users familiar with the Cloudsim library will find the iFogsim package, along with its associated classes, essential for their work. To execute the program successfully, a computer with the following specifications is required: an Intel Core i5 processor, a minimum of 3 gigabytes of RAM, and the Microsoft Windows 10 operating system. For implementing the new scheduling algorithm, we will employ two distinct case studies as part of the experimentation process. <xref ref-type="table" rid="T1">Tables 1</xref>, <xref ref-type="table" rid="T2">2</xref> shows the initialization values for AppModule and FogDevice used as iFogsim entities.</p>
<table-wrap position="float" id="T1">
<label>Table 1</label>
<caption><p>Task input characteristics.</p></caption>
<table frame="box" rules="all">
<thead>
<tr style="background-color:&#x00023;919498;color:&#x00023;ffffff">
<th valign="top" align="left"><bold>Parameters</bold></th>
<th valign="top" align="left"><bold>Units</bold></th>
<th valign="top" align="center"><bold>Value</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">No. of instructions</td>
<td valign="top" align="left">Instructions</td>
<td valign="top" align="center">(1, 100)<sup>&#x0002A;</sup>10<sup>9</sup></td>
</tr>
<tr>
<td valign="top" align="left">Size of input file</td>
<td valign="top" align="left">MB</td>
<td valign="top" align="center">(10, 100)</td>
</tr>
<tr>
<td valign="top" align="left">Size of output file</td>
<td valign="top" align="left">MB</td>
<td valign="top" align="center">(10, 100)</td>
</tr></tbody>
</table>
</table-wrap>
<table-wrap position="float" id="T2">
<label>Table 2</label>
<caption><p>Fog node characteristics.</p></caption>
<table frame="box" rules="all">
<thead>
<tr style="background-color:&#x00023;919498;color:&#x00023;ffffff">
<th valign="top" align="left"><bold>Parameters</bold></th>
<th valign="top" align="left"><bold>Units</bold></th>
<th valign="top" align="center"><bold>Fog node values</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">CPU Length</td>
<td valign="top" align="left">MIPS</td>
<td valign="top" align="center">(500, 2,000)</td>
</tr>
<tr>
<td valign="top" align="left">Ram</td>
<td valign="top" align="left">MB</td>
<td valign="top" align="center">(500, 2,000)</td>
</tr>
<tr>
<td valign="top" align="left">Uplink bandwidth</td>
<td valign="top" align="left">Mbps</td>
<td valign="top" align="center">(10, 10,000)</td>
</tr>
<tr>
<td valign="top" align="left">Download bandwidth</td>
<td valign="top" align="left">Mbps</td>
<td valign="top" align="center">(10, 10,000)</td>
</tr></tbody>
</table>
</table-wrap>
<p>The experiment parameters are summarized in <xref ref-type="table" rid="T1">Table 1</xref>, which shows that for experiment 1 we have created eight scenarios and in every scenario the number of data input (cameras) are increased with the difference of 100 and throughout this whole experiment, number of fog nodes are fixed to 40 and we got the results as shown in <bold>Table 4</bold>.</p>
<p>To assess the effect of the proposed method on the workflow scheduling issue relative to existing algorithms, we conducted comprehensive tests on real-world workflow application that is efficient car parking using the simulation settings in terms of number of data input and fog node characteristics listed in <xref ref-type="table" rid="T3">Table 3</xref>. These factors were used to determine the characteristics of the fog node and workflow application utilized in the research.</p>
<table-wrap position="float" id="T3">
<label>Table 3</label>
<caption><p>Experiment parameters.</p></caption>
<table frame="box" rules="all">
<thead>
<tr style="background-color:&#x00023;919498;color:&#x00023;ffffff">
<th valign="top" align="left"><bold>Experiment</bold></th>
<th valign="top" align="left"><bold>Purpose</bold></th>
<th valign="top" align="left"><bold>Data input parameters</bold></th>
<th valign="top" align="center"><bold>Fog node parameters</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">1</td>
<td valign="top" align="left">Heterogenous task and dynamic nodes</td>
<td valign="top" align="left">(100, 100, 800)</td>
<td valign="top" align="center">40</td>
</tr></tbody>
</table>
</table-wrap>
<p>We devised a scenario in which high-definition, intelligent cameras photograph parking spots. Following that, the images are sent to the fog node. The fog node analyses the pictures to assess the condition of the parking slot and displays parking space visuals on a Wi-Fi-connected smart LED attached to the fog node. The link between the fog nodes and the cloud server is established through a proxy server. In the simulation, we established variables for parking areas and the number of cameras. In our experimental situation, we established eight parking lots. One hundred to eight hundred cameras were originally deployed to each parking lot to gather photos of the parking area.</p>
<p>It is very important to point out that we produced at least one fog node for each individual region and later on we increased the number of fog nodes in order to analyze the result gathered from different settings. We increased the number of cameras so that we could analyze the data gathered from a variety of settings and to evaluate the effects on the execution time, response time and network usage use in a fog node.</p>
<p>We conducted a total of eight simulation runs for the two scenarios (differing in the number of cameras) and three methodologies (Symbiotic Organism Search SOS, K-means Clustering and K-means Clustering using fuzzy logic) within the DCNS (Gupta et al., <xref ref-type="bibr" rid="B18">2016</xref>) framework. Our comparison primarily relies on identifying the best results achieved under identical configurations for the case studies. <xref ref-type="table" rid="T4">Table 4</xref> presents the actual execution time, response time and network utilization for three case studies. In the provided <xref ref-type="table" rid="T4">Table 4</xref>, it is evident that our proposed scheduling method, DCNS K-means Clustering using fuzzy logic, proves to be more effective compared to the existing scheduling methods that is DCNS (SOS) and DCNS K-means Clustering.</p>
<table-wrap position="float" id="T4">
<label>Table 4</label>
<caption><p>Actual execution times, response time, and network utilization.</p></caption>
<table frame="box" rules="all">
<thead>
<tr style="background-color:&#x00023;919498;color:&#x00023;ffffff">
<th valign="top" align="left"><bold>No. of data input (cameras)</bold></th>
<th valign="top" align="center"><bold>DCNS SOS</bold></th>
<th valign="top" align="center"><bold>DCNS SOS</bold></th>
<th valign="top" align="center"><bold>DCNS SOS</bold></th>
<th valign="top" align="center"><bold>DCNS K-means clustering</bold></th>
<th valign="top" align="center"><bold>DCNS K-means clustering</bold></th>
<th valign="top" align="center"><bold>DCNS K-means clustering</bold></th>
<th valign="top" align="center"><bold>DCNS K-means clustering using fuzzy logic</bold></th>
<th valign="top" align="center"><bold>DCNS K-means clustering using fuzzy logic</bold></th>
<th valign="top" align="center"><bold>DCNS K-means clustering using fuzzy logic</bold></th>
</tr>
</thead>
<tbody>
<tr style="background-color:&#x00023;919498;color:&#x00023;ffffff">
<td/>
<td valign="top" align="center"><bold>Execution time (ms)</bold></td>
<td valign="top" align="center"><bold>Network usage (kb)</bold></td>
<td valign="top" align="center"><bold>Response time (ms)</bold></td>
<td valign="top" align="center"><bold>Execution time (ms)</bold></td>
<td valign="top" align="center"><bold>Network usage (kb)</bold></td>
<td valign="top" align="center"><bold>Response time (ms)</bold></td>
<td valign="top" align="center"><bold>Execution time (ms)</bold></td>
<td valign="top" align="center"><bold>Network usage (kb)</bold></td>
<td valign="top" align="center"><bold>Response time (ms)</bold></td>
</tr>
<tr>
<td valign="top" align="left">100</td>
<td valign="top" align="center">20,432</td>
<td valign="top" align="center">10,678</td>
<td valign="top" align="center">1,557.14</td>
<td valign="top" align="center">15,851</td>
<td valign="top" align="center">6,582</td>
<td valign="top" align="center">817.37</td>
<td valign="top" align="center">10,852</td>
<td valign="top" align="center">5,583</td>
<td valign="top" align="center">408</td>
</tr>
<tr>
<td valign="top" align="left">200</td>
<td valign="top" align="center">24,720</td>
<td valign="top" align="center">12,048</td>
<td valign="top" align="center">4,448.42</td>
<td valign="top" align="center">14,410</td>
<td valign="top" align="center">6,872</td>
<td valign="top" align="center">3,422.93</td>
<td valign="top" align="center">11,209</td>
<td valign="top" align="center">7,572</td>
<td valign="top" align="center">1,701</td>
</tr>
<tr>
<td valign="top" align="left">300</td>
<td valign="top" align="center">21,681</td>
<td valign="top" align="center">11,030</td>
<td valign="top" align="center">10,749.93</td>
<td valign="top" align="center">14,812</td>
<td valign="top" align="center">6,648</td>
<td valign="top" align="center">8,042.06</td>
<td valign="top" align="center">11,012</td>
<td valign="top" align="center">6,448</td>
<td valign="top" align="center">4,156</td>
</tr>
<tr>
<td valign="top" align="left">400</td>
<td valign="top" align="center">26,606</td>
<td valign="top" align="center">11,357</td>
<td valign="top" align="center">19,924</td>
<td valign="top" align="center">17,738</td>
<td valign="top" align="center">8,052</td>
<td valign="top" align="center">14,310</td>
<td valign="top" align="center">13,450</td>
<td valign="top" align="center">6,578</td>
<td valign="top" align="center">7,345</td>
</tr>
<tr>
<td valign="top" align="left">500</td>
<td valign="top" align="center">26,357</td>
<td valign="top" align="center">11,202</td>
<td valign="top" align="center">37,520.06</td>
<td valign="top" align="center">16,849</td>
<td valign="top" align="center">7,077</td>
<td valign="top" align="center">22,506.54</td>
<td valign="top" align="center">13,105</td>
<td valign="top" align="center">6,410</td>
<td valign="top" align="center">11,255</td>
</tr>
<tr>
<td valign="top" align="left">600</td>
<td valign="top" align="center">22,126</td>
<td valign="top" align="center">11,316</td>
<td valign="top" align="center">45,202</td>
<td valign="top" align="center">14,833</td>
<td valign="top" align="center">6,655</td>
<td valign="top" align="center">26,402</td>
<td valign="top" align="center">10,959</td>
<td valign="top" align="center">5,675</td>
<td valign="top" align="center">13,401</td>
</tr>
<tr>
<td valign="top" align="left">700</td>
<td valign="top" align="center">20,387</td>
<td valign="top" align="center">10,072</td>
<td valign="top" align="center">54,121</td>
<td valign="top" align="center">16,466</td>
<td valign="top" align="center">7,340</td>
<td valign="top" align="center">32,306</td>
<td valign="top" align="center">1,112</td>
<td valign="top" align="center">5,400</td>
<td valign="top" align="center">16,351</td>
</tr>
<tr>
<td valign="top" align="left">800</td>
<td valign="top" align="center">20,221</td>
<td valign="top" align="center">10,010</td>
<td valign="top" align="center">53,125</td>
<td valign="top" align="center">14,541</td>
<td valign="top" align="center">7,101</td>
<td valign="top" align="center">32,012</td>
<td valign="top" align="center">1,011</td>
<td valign="top" align="center">5,109</td>
<td valign="top" align="center">15,153</td>
</tr></tbody>
</table>
</table-wrap>
<p>In <xref ref-type="table" rid="T4">Table 4</xref>, we have gathered the results of the DCNS case study, collected from eight simulation runs using iFogsim. These results include the execution time in milliseconds (ms), response time in milliseconds (ms) and network usage in kilobytes (KB). To facilitate a comparison between the existing DCNS (SOS) and DCNS K-means Clustering and the proposed K-means Clustering using fuzzy logic scheduling method.</p>
<p><xref ref-type="fig" rid="F3">Figure 3</xref> represents the execution time comparison between DCNS with the existing scheduling (SOS), K-means Clustering and the proposed K-means Clustering using fuzzy logic Scheduling. It is evident that DCNS proposed K-means Clustering using fuzzy logic Scheduling exhibits significantly lower execution times compared to DCNS with the existing scheduling (SOS) and K-means Clustering scheduling.</p>
<fig id="F3" position="float">
<label>Figure 3</label>
<caption><p>Comparison of execution times (in milliseconds) between DCNS (SOS), DCNS K-means clustering and the proposed DCNS K-means clustering using fuzzy logic.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-05-1293209-g0003.tif"/>
</fig>
<p><xref ref-type="fig" rid="F4">Figure 4</xref> represents the network usage comparison between DCNS with the existing scheduling (SOS), K-means Clustering and the proposed K-means Clustering using fuzzy logic Scheduling. It is evident that DCNS proposed K-means Clustering using fuzzy logic Scheduling exhibits significantly lower network usage compared to DCNS with the existing scheduling (SOS) and K-means Clustering scheduling.</p>
<fig id="F4" position="float">
<label>Figure 4</label>
<caption><p>Comparison of network usage (in kilobytes) between DCNS (SOS), DCNS K-means clustering and the proposed DCNS K-means clustering using fuzzy logic.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-05-1293209-g0004.tif"/>
</fig>
<p><xref ref-type="fig" rid="F5">Figure 5</xref> represents the response time comparison between DCNS with the existing scheduling (SOS), K-means Clustering and the proposed K-means Clustering using fuzzy logic Scheduling. It is evident that DCNS proposed K-means Clustering using fuzzy logic Scheduling exhibits significantly lower response time compared to DCNS with the existing scheduling (SOS) and K-means Clustering scheduling.</p>
<fig id="F5" position="float">
<label>Figure 5</label>
<caption><p>Comparison of response time (in milliseconds) between DCNS (SOS), DCNS K-means clustering and the proposed DCNS K-means clustering using fuzzy logic.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-05-1293209-g0005.tif"/>
</fig></sec>
<sec sec-type="conclusions" id="s7">
<title>7 Conclusion</title>
<p>In this research, we presented a novel approach to task scheduling in fog computing environments using the K-means clustering algorithm enhanced with fuzzy logic. The combination of clustering capabilities with adaptability to uncertainty and variability provided by fuzzy logic proved to be effective in improving task scheduling efficiency, reducing execution time, response time and network usage and enhancing resource utilization. Leveraging machine learning techniques, our approach demonstrates remarkable reductions in execution time, response time and network usage in dynamic fog environments. This approach adheres to the strategy of task clustering and the subsequent allocation of these optimal clusters to fog devices to identify more suitable virtual machines for allocation. The experimental evaluation of this proposed model is conducted using the iFogsim toolkit. The results provide compelling evidence that the proposed clustering algorithm surpasses the existing scheduling schemes (SOS) and k-means in iFogsim, notably in terms of reducing execution time, response time and network usage. Task scheduling remains a critical challenge in fog computing, and the integration of K-Means clustering with fuzzy logic offers an exciting avenue for further exploration and development. Future research avenues may focus on further enhancing the scalability and robustness of our proposed approach, as well as its applicability in various fog computing scenarios. Overall, the proposed task scheduling algorithm is a promising approach for fog computing applications. However, the proposed algorithm is still under development and has not been evaluated in all possible fog computing environments. It&#x00027;s a very difficult task to design a fuzzy logic rules considering fog nodes capabilities, task requirements etc. otherwise this will limit the proposed algorithm to get the optimal solution.</p>
</sec>
<sec sec-type="data-availability" id="s8">
<title>Data availability statement</title>
<p>The raw data supporting the conclusions of this article will be made available by the authors, without undue reservation.</p>
</sec>
<sec sec-type="author-contributions" id="s9">
<title>Author contributions</title>
<p>MS: Writing &#x02013; original draft. RE: Supervision, Writing &#x02013; review &#x00026; editing. RQ: Supervision, Writing &#x02013; review &#x00026; editing.</p>
</sec>
</body>
<back>
<sec sec-type="funding-information" id="s10">
<title>Funding</title>
<p>The author(s) declare that no financial support was received for the research, authorship, and/or publication of this article.</p>
</sec>
<sec sec-type="COI-statement" id="conf1">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s11">
<title>Publisher&#x00027;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Abadi</surname> <given-names>Z. J. K.</given-names></name> <name><surname>Mansouri</surname> <given-names>N.</given-names></name> <name><surname>Khalouie</surname> <given-names>M.</given-names></name></person-group> (<year>2023</year>). <article-title>Task scheduling in fog environment&#x02014;challenges, tools and methodologies: a review</article-title>. <source>Comp. Sci. Rev.</source> <volume>48</volume>, <fpage>100550</fpage>. <pub-id pub-id-type="doi">10.1016/j.cosrev.2023.100550</pub-id></citation>
</ref>
<ref id="B2">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Agarwal</surname> <given-names>G.</given-names></name> <name><surname>Gupta</surname> <given-names>S.</given-names></name> <name><surname>Ahuja</surname> <given-names>R.</given-names></name> <name><surname>Rai</surname> <given-names>A. K.</given-names></name></person-group> (<year>2023</year>). <article-title>Multiprocessor task scheduling using multi-objective hybrid genetic Algorithm in Fog&#x02013;cloud computing</article-title>. <source>Knowl. Based Syst.</source> <volume>272</volume>, <fpage>110563</fpage>. <pub-id pub-id-type="doi">10.1016/j.knosys.2023.110563</pub-id></citation>
</ref>
<ref id="B3">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Alexandrescu</surname> <given-names>A.</given-names></name></person-group> (<year>2023</year>). <article-title>Parallel processing of sensor data in a distributed rules engine environment through clustering and data flow reconfiguration</article-title>. <source>Sensors</source> <volume>23</volume>, <fpage>1543</fpage>. <pub-id pub-id-type="doi">10.3390/s23031543</pub-id><pub-id pub-id-type="pmid">36772584</pub-id></citation></ref>
<ref id="B4">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Alguliyev</surname> <given-names>R. M.</given-names></name> <name><surname>Aliguliyev</surname> <given-names>R. M.</given-names></name> <name><surname>Alakbarov</surname> <given-names>R. G.</given-names></name></person-group> (<year>2023</year>). <article-title>Constrained k-means algorithm for resource allocation in mobile cloudlets</article-title>. <source>Kybernetika</source> <volume>59</volume>, <fpage>88</fpage>&#x02013;<lpage>109</lpage>. <pub-id pub-id-type="doi">10.14736/kyb-2023-1-0088</pub-id></citation>
</ref>
<ref id="B5">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Alhijawi</surname> <given-names>B.</given-names></name> <name><surname>Awajan</surname> <given-names>A.</given-names></name></person-group> (<year>2023</year>). <article-title>Genetic algorithms: theory, genetic operators, solutions, and applications</article-title>. <source>Evolut. Intellig.</source> <fpage>1</fpage>&#x02013;<lpage>12</lpage>. <pub-id pub-id-type="doi">10.1007/s12065-023-00822-6</pub-id></citation>
</ref>
<ref id="B6">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Aqib</surname> <given-names>M.</given-names></name> <name><surname>Kumar</surname> <given-names>D.</given-names></name> <name><surname>Tripathi</surname> <given-names>S.</given-names></name></person-group> (<year>2023</year>). <article-title>Machine learning for fog computing: review, opportunities and a fog application classifier and scheduler</article-title>. <source>Wireless Pers. Commun.</source> <volume>129</volume>, <fpage>853</fpage>&#x02013;<lpage>880</lpage>. <pub-id pub-id-type="doi">10.1007/s11277-022-10160-y</pub-id></citation>
</ref>
<ref id="B7">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Arooj</surname> <given-names>A.</given-names></name> <name><surname>Farooq</surname> <given-names>M. S.</given-names></name> <name><surname>Akram</surname> <given-names>A.</given-names></name> <name><surname>Iqbal</surname> <given-names>R.</given-names></name> <name><surname>Sharma</surname> <given-names>A.</given-names></name> <name><surname>Dhiman</surname> <given-names>G.</given-names></name></person-group> (<year>2021</year>). <article-title>Big data processing and analysis in internet of vehicles: architecture, taxonomy, and open research challenges</article-title>. <source>Arch. Comput. Methods Eng</source>. <fpage>1</fpage>&#x02013;<lpage>37</lpage>. <pub-id pub-id-type="doi">10.1007/s11831-021-09607-5</pub-id></citation>
</ref>
<ref id="B8">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Atiq</surname> <given-names>H. U.</given-names></name> <name><surname>Ahmad</surname> <given-names>Z.</given-names></name> <name><surname>Uz Zaman</surname> <given-names>S. K.</given-names></name> <name><surname>Khan</surname> <given-names>M. A.</given-names></name> <name><surname>Shaikh</surname> <given-names>A. A.</given-names></name> <name><surname>Al-Rasheed</surname> <given-names>A.</given-names></name></person-group> (<year>2023</year>). <article-title>Reliable resource allocation and management for IoT transportation using fog computing</article-title>. <source>Electronics</source> <volume>12</volume>, <fpage>1452</fpage>. <pub-id pub-id-type="doi">10.3390/electronics12061452</pub-id></citation>
</ref>
<ref id="B9">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Awad</surname> <given-names>F. H.</given-names></name> <name><surname>Hamad</surname> <given-names>M. M.</given-names></name> <name><surname>Alzubaidi</surname> <given-names>L.</given-names></name></person-group> (<year>2023</year>). <article-title>Robust classification and detection of big medical data using advanced parallel K-means clustering, YOLOv4, and logistic regression</article-title>. <source>Life</source> <volume>13</volume>, <fpage>691</fpage>. <pub-id pub-id-type="doi">10.3390/life13030691</pub-id><pub-id pub-id-type="pmid">36983845</pub-id></citation></ref>
<ref id="B10">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bakshi</surname> <given-names>M.</given-names></name> <name><surname>Chowdhury</surname> <given-names>C.</given-names></name> <name><surname>Maulik</surname> <given-names>U.</given-names></name></person-group> (<year>2023</year>). <article-title>Cuckoo search optimization-based energy efficient job scheduling approach for IoT-edge environment</article-title>. <source>J. Supercomput.</source> <fpage>1</fpage>&#x02013;<lpage>29</lpage>. <pub-id pub-id-type="doi">10.1007/s11227-023-05358-1</pub-id></citation>
</ref>
<ref id="B11">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bhaumik</surname> <given-names>H.</given-names></name> <name><surname>Bhattacharyya</surname> <given-names>S.</given-names></name> <name><surname>Nath</surname> <given-names>M. D.</given-names></name> <name><surname>Chakraborty</surname> <given-names>S.</given-names></name></person-group> (<year>2016</year>). <article-title>Hybrid soft computing approaches to content based video retrieval: a brief review</article-title>. <source>Appl. Soft Comput.</source> <volume>46</volume>, <fpage>1008</fpage>&#x02013;<lpage>1029</lpage>. <pub-id pub-id-type="doi">10.1016/j.asoc.2016.03.022</pub-id></citation>
</ref>
<ref id="B12">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Cerf</surname> <given-names>S.</given-names></name> <name><surname>Doerr</surname> <given-names>B.</given-names></name> <name><surname>Hebras</surname> <given-names>B.</given-names></name> <name><surname>Kahane</surname> <given-names>Y.</given-names></name> <name><surname>Wietheger</surname> <given-names>S.</given-names></name></person-group> (<year>2023</year>). <article-title>The first proven performance guarantees for the Non-Dominated Sorting Genetic Algorithm II (NSGA-II) on a combinatorial optimization problem</article-title>. <source>arXiv preprint</source> arXiv:2305.13459. <pub-id pub-id-type="doi">10.24963/ijcai.2023/613</pub-id></citation>
</ref>
<ref id="B13">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chaplot</surname> <given-names>N.</given-names></name> <name><surname>Pandey</surname> <given-names>D.</given-names></name> <name><surname>Kumar</surname> <given-names>Y.</given-names></name> <name><surname>Sisodia</surname> <given-names>P. S.</given-names></name></person-group> (<year>2023</year>). <article-title>A comprehensive analysis of artificial intelligence techniques for the prediction and prognosis of genetic disorders using various gene disorders</article-title>. <source>Arch. Comput. Methods Eng.</source> <volume>30</volume>, <fpage>3301</fpage>&#x02013;<lpage>3323</lpage>. <pub-id pub-id-type="doi">10.1007/s11831-023-09904-1</pub-id></citation>
</ref>
<ref id="B14">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Gomathi</surname> <given-names>B.</given-names></name> <name><surname>Lokesh</surname> <given-names>S.</given-names></name> <name><surname>Antony Vijay</surname> <given-names>J.</given-names></name></person-group> (<year>2023</year>). <article-title>&#x0201C;Task scheduling algorithm using improved PSO in dew computing,&#x0201D;</article-title> in <source>Micro-Electronics and Telecommunication Engineering: Proceedings of 6th ICMETE 2022</source>, <publisher-loc>Singapore</publisher-loc>: <publisher-name>Springer Nature Singapore</publisher-name>, <fpage>317</fpage>&#x02013;<lpage>324</lpage>.</citation>
</ref>
<ref id="B15">
<citation citation-type="book"><person-group person-group-type="editor"><name><surname>Goniwada</surname> <given-names>S. R.</given-names></name></person-group> (ed.). (<year>2022</year>). <article-title>&#x0201C;Cloud native services,&#x0201D;</article-title> in <source>Cloud Native Architecture and Design</source> (<publisher-loc>Berkeley, CA</publisher-loc>: <publisher-name>Apress</publisher-name>), <fpage>27</fpage>&#x02013;<lpage>54</lpage>.</citation>
</ref>
<ref id="B16">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Guo</surname> <given-names>C.</given-names></name> <name><surname>Chen</surname> <given-names>J.</given-names></name></person-group> (<year>2023</year>). <article-title>&#x0201C;Big data analytics in healthcare,&#x0201D;</article-title> in <source>Knowledge Technology and Systems: Toward Establishing Knowledge Systems Science</source>, eds Y. Nakamori and H. Nomiya (<publisher-loc>Singapore</publisher-loc>: <publisher-name>Springer Nature Singapore</publisher-name>), <fpage>27</fpage>&#x02013;<lpage>70</lpage>.</citation>
</ref>
<ref id="B17">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Guo</surname> <given-names>Q.</given-names></name></person-group> (<year>2017</year>). <article-title>Task scheduling based on ant colony optimization in cloud environment</article-title>. <source>AIP Conf. Proc</source>. 1834, 1. <pub-id pub-id-type="doi">10.1063/1.4981635</pub-id></citation>
</ref>
<ref id="B18">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gupta</surname> <given-names>H.</given-names></name> <name><surname>Dastjerdi</surname> <given-names>A.</given-names></name> <name><surname>Ghosh</surname> <given-names>S.</given-names></name> <name><surname>Buyya</surname> <given-names>R.</given-names></name></person-group> (<year>2016</year>). <article-title>iFogSim: a toolkit for modeling and simulation of resource management techniques in internet of things, edge and fog computing environments</article-title>. <source>Softw. Pract. Exp</source>. <volume>47</volume>, <fpage>1275</fpage>&#x02013;<lpage>1296</lpage>. <pub-id pub-id-type="doi">10.1002/spe.2509</pub-id></citation>
</ref>
<ref id="B19">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Gupta</surname> <given-names>S.</given-names></name> <name><surname>Singh</surname> <given-names>N.</given-names></name></person-group> (<year>2023</year>). <article-title>&#x0201C;Resource management with load balancing strategies in Fog-IoT computing environment: trends, challenges and future directions,&#x0201D;</article-title> in <source>2023 International Conference on Artificial Intelligence and Smart Communication (AISC)</source> (<publisher-loc>Greater Noida</publisher-loc>: <publisher-name>IEEE</publisher-name>).</citation>
</ref>
<ref id="B20">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>He</surname> <given-names>J.</given-names></name> <name><surname>Bai</surname> <given-names>W.</given-names></name></person-group> (<year>2023</year>). <article-title>&#x0201C;Computation offloading and task scheduling based on improved integer particle swarm optimization in fog computing,&#x0201D;</article-title> in <source>2023 3rd International Conference on Neural Networks, Information and Communication Engineering (NNICE)</source> (<publisher-loc>Qingdao</publisher-loc>: <publisher-name>IEEE</publisher-name>).</citation>
</ref>
<ref id="B21">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hosseinioun</surname> <given-names>P.</given-names></name> <name><surname>Kheirabadi</surname> <given-names>M.</given-names></name> <name><surname>Kamel Tabbakh</surname> <given-names>S. R.</given-names></name> <name><surname>Ghaemi</surname> <given-names>R.</given-names></name></person-group> (<year>2022</year>). <article-title>aTask scheduling approaches in fog computing: a survey</article-title>. <source>Trans. Emerg. Telecommun. Technol.</source> <volume>33</volume>, <fpage>e3792</fpage>. <pub-id pub-id-type="doi">10.1002/ett.3792</pub-id></citation>
</ref>
<ref id="B22">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hosseinzadeh</surname> <given-names>M.</given-names></name> <name><surname>Azhir</surname> <given-names>E.</given-names></name> <name><surname>Lansky</surname> <given-names>J.</given-names></name> <name><surname>Mildeova</surname> <given-names>S.</given-names></name> <name><surname>Ahmed</surname> <given-names>O. H.</given-names></name> <name><surname>Malik</surname> <given-names>M. H.</given-names></name> <etal/></person-group>. (<year>2023</year>). <article-title>Task scheduling mechanisms for fog computing: a systematic survey</article-title>. <source>IEEE Access</source>. <pub-id pub-id-type="doi">10.1109/ACCESS.2023.3277826</pub-id></citation>
</ref>
<ref id="B23">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jamshed</surname> <given-names>M. A.</given-names></name> <name><surname>Ismail</surname> <given-names>M.</given-names></name> <name><surname>Pervaiz</surname> <given-names>H.</given-names></name> <name><surname>Atat</surname> <given-names>R.</given-names></name> <name><surname>Bayram</surname> <given-names>I. S.</given-names></name> <name><surname>Ni</surname> <given-names>Q.</given-names></name></person-group> (<year>2023</year>). <article-title>Reinforcement learning-based allocation of fog nodes for cloud-based smart grid</article-title>. <source>e-Prime-Adv. Electr. Eng. Electr. Energy</source> <volume>4</volume>, <fpage>100144</fpage>. <pub-id pub-id-type="doi">10.1016/j.prime.2023.100144</pub-id></citation>
</ref>
<ref id="B24">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jeyaraj</surname> <given-names>R.</given-names></name> <name><surname>Balasubramaniam</surname> <given-names>A.</given-names></name> <name><surname>Ma</surname> <given-names>A. K.</given-names></name> <name><surname>Guizani</surname> <given-names>N.</given-names></name> <name><surname>Paul</surname> <given-names>A.</given-names></name></person-group> (<year>2023</year>). <article-title>Resource management in cloud and cloud-influenced technologies for internet of things applications</article-title>. <source>ACM Comput. Surv.</source> <volume>55</volume>, <fpage>1</fpage>&#x02013;<lpage>37</lpage>. <pub-id pub-id-type="doi">10.1145/3571729</pub-id></citation>
</ref>
<ref id="B25">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kober</surname> <given-names>J.</given-names></name> <name><surname>Bagnell</surname> <given-names>J. A.</given-names></name> <name><surname>Peters</surname> <given-names>J.</given-names></name></person-group> (<year>2013</year>). <article-title>Reinforcement learning in robotics: asurvey</article-title>. <source>Int. J. Robotics Res</source>. <volume>32</volume>, <fpage>1238</fpage>&#x02013;<lpage>1274</lpage>. <pub-id pub-id-type="doi">10.1177/0278364913495721</pub-id></citation>
</ref>
<ref id="B26">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kreuzberger</surname> <given-names>D.</given-names></name> <name><surname>K&#x000FC;hl</surname> <given-names>N.</given-names></name> <name><surname>Hirschl</surname> <given-names>S.</given-names></name></person-group> (<year>2023</year>). <article-title>Machine learning operations (mlops): overview, definition, and architecture</article-title>. <source>IEEE Access</source>. <pub-id pub-id-type="doi">10.1109/ACCESS.2023.3262138</pub-id></citation>
</ref>
<ref id="B27">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kumar</surname> <given-names>M. S.</given-names></name> <name><surname>Karri</surname> <given-names>G. R.</given-names></name></person-group> (<year>2023</year>). <article-title>Eeoa: time and energy efficient task scheduling in a cloud-fog framework</article-title>. <source>Sensors</source> <volume>23</volume>, <fpage>2445</fpage>. <pub-id pub-id-type="doi">10.3390/s23052445</pub-id><pub-id pub-id-type="pmid">36904650</pub-id></citation></ref>
<ref id="B28">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kumar</surname> <given-names>S.</given-names></name> <name><surname>Tiwari</surname> <given-names>P.</given-names></name> <name><surname>Zymbler</surname> <given-names>M.</given-names></name></person-group> (<year>2019</year>). <article-title>Internet of Things is a revolutionary approach for future technology enhancement: a review</article-title>. <source>J. Big Data</source> <volume>6</volume>, <fpage>111</fpage>. <pub-id pub-id-type="doi">10.1186/s40537-019-0268-2</pub-id></citation>
</ref>
<ref id="B29">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Li</surname> <given-names>Y.</given-names></name> <name><surname>Zhang</surname> <given-names>X.</given-names></name> <name><surname>Zeng</surname> <given-names>T.</given-names></name> <name><surname>Duan</surname> <given-names>J.</given-names></name> <name><surname>Wu</surname> <given-names>C.</given-names></name> <name><surname>Wu</surname> <given-names>D.</given-names></name> <etal/></person-group>. (<year>2023</year>). <article-title>Task placement and resource allocation for edge machine learning: a gnn-based multi-agent reinforcement learning paradigm</article-title>. <source>arXiv preprint</source> arXiv:2302.00571. <pub-id pub-id-type="doi">10.1109/TPDS.2023.3313779</pub-id></citation>
</ref>
<ref id="B30">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Meng</surname> <given-names>L.</given-names></name> <name><surname>Cheng</surname> <given-names>W.</given-names></name> <name><surname>Zhang</surname> <given-names>B.</given-names></name> <name><surname>Zou</surname> <given-names>W.</given-names></name> <name><surname>Fang</surname> <given-names>W.</given-names></name> <name><surname>Duan</surname> <given-names>P.</given-names></name></person-group> (<year>2023</year>). <article-title>An improved genetic algorithm for solving the multi-AGV flexible job shop scheduling problem</article-title>. <source>Sensors</source> <volume>23</volume>, <fpage>3815</fpage>. <pub-id pub-id-type="doi">10.3390/s23083815</pub-id><pub-id pub-id-type="pmid">37112156</pub-id></citation></ref>
<ref id="B31">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Mishra</surname> <given-names>P. K.</given-names></name> <name><surname>Chaturvedi</surname> <given-names>A. K.</given-names></name></person-group> (<year>2023</year>). <article-title>&#x0201C;State-of-the-art and research challenges in task scheduling and resource allocation methods for cloud-fog environment,&#x0201D;</article-title> in <source>2023 3rd International Conference on Intelligent Communication and Computational Techniques (ICCT)</source> (<publisher-loc>Jaipur</publisher-loc>: <publisher-name>IEEE</publisher-name>).</citation>
</ref>
<ref id="B32">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Mtshali</surname> <given-names>M.</given-names></name> <name><surname>Dlamini</surname> <given-names>S.</given-names></name> <name><surname>Adigun</surname> <given-names>M.</given-names></name> <name><surname>Mudali</surname> <given-names>P.</given-names></name></person-group> (<year>2019</year>). <article-title>&#x0201C;K-means based on resource clustering for smart farming problem in fog computing,&#x0201D;</article-title> in <source>2019 IEEE Africon</source> (IEEE).</citation>
</ref>
<ref id="B33">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Paparella</surname> <given-names>V.</given-names></name> <name><surname>Anelli</surname> <given-names>V. W.</given-names></name> <name><surname>Nardini</surname> <given-names>F. M.</given-names></name> <name><surname>Perego</surname> <given-names>R.</given-names></name> <name><surname>Di Noia</surname> <given-names>T.</given-names></name></person-group> (<year>2023</year>). <article-title><italic>Post-hoc</italic> selection of pareto-optimal solutions in search and recommendation</article-title>. <source>arXiv preprint</source> arXiv:2306.12165. <pub-id pub-id-type="doi">10.1145/3583780.3615010</pub-id></citation>
</ref>
<ref id="B34">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Peng</surname> <given-names>Z.</given-names></name> <name><surname>Cui</surname> <given-names>D.</given-names></name> <name><surname>Zuo</surname> <given-names>J.</given-names></name> <name><surname>Li</surname> <given-names>Q.</given-names></name> <name><surname>Xu</surname> <given-names>B.</given-names></name> <name><surname>Lin</surname> <given-names>W.</given-names></name></person-group> (<year>2015</year>). <article-title>Random task schedulingscheme based on reinforcement learning in cloud computing</article-title>. <source>Clust. Comput</source>. <volume>18</volume>, <fpage>1595</fpage>&#x02013;<lpage>1607</lpage>. <pub-id pub-id-type="doi">10.1007/s10586-015-0484-2</pub-id></citation>
</ref>
<ref id="B35">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Pirozmand</surname> <given-names>P.</given-names></name> <name><surname>Jalalinejad</surname> <given-names>H.</given-names></name> <name><surname>Hosseinabadi</surname> <given-names>A. A. R.</given-names></name> <name><surname>Mirkamali</surname> <given-names>S.</given-names></name> <name><surname>Li</surname> <given-names>Y.</given-names></name></person-group> (<year>2023</year>). <article-title>An improved particle swarm optimization algorithm for task scheduling in cloud computing</article-title>. <source>J. Ambient Intellig. Human. Comput.</source> <volume>14</volume>, <fpage>4313</fpage>&#x02013;<lpage>4327</lpage>. <pub-id pub-id-type="doi">10.1007/s12652-023-04541-9</pub-id></citation>
</ref>
<ref id="B36">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ranjan</surname> <given-names>V.</given-names></name> <name><surname>Sharma</surname> <given-names>L.</given-names></name></person-group> (<year>2023</year>). <article-title>&#x0201C;Real-time task scheduling and resource scheduling in fog computing using deep learning techniques,&#x0201D;</article-title> in <source>2023 International Conference on Distributed Computing and Electrical Circuits and Electronics (ICDCECE)</source> (IEEE).</citation>
</ref>
<ref id="B37">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Reddy</surname> <given-names>P. B.</given-names></name> <name><surname>Sudhakar</surname> <given-names>C.</given-names></name></person-group> (<year>2023</year>). <article-title>An osmotic approach-based dynamic deadline-aware task offloading in edge&#x02013;fog&#x02013;cloud computing environment</article-title>. <source>J. Supercomput.</source> <fpage>1</fpage>&#x02013;<lpage>23</lpage>. <pub-id pub-id-type="doi">10.1007/s11227-023-05440-8</pub-id></citation>
</ref>
<ref id="B38">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Roy</surname> <given-names>A.</given-names></name> <name><surname>Xu</surname> <given-names>H.</given-names></name> <name><surname>Pokutta</surname> <given-names>S.</given-names></name></person-group> (<year>2017</year>). <article-title>&#x0201C;Reinforcement learning under modelmismatch,&#x0201D;</article-title> in <source>Paper Presented at: 31st Conference on Neural Information Processing Systems (NIPS 2017)</source>, Long Beach, CA, <fpage>3043</fpage>&#x02013;<lpage>3052</lpage>.</citation>
</ref>
<ref id="B39">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Saad</surname> <given-names>M.</given-names></name> <name><surname>Qureshi</surname> <given-names>R. I.</given-names></name> <name><surname>Rehman</surname> <given-names>A. U.</given-names></name></person-group> (<year>2023</year>). <article-title>&#x0201C;Task scheduling in fog computing: parameters, simulators and open challenges.&#x0201D;</article-title> in <source>2023 Global Conference on Wireless and Optical Technologies (GCWOT)</source> (<publisher-loc>Malaga</publisher-loc>: <publisher-name>IEEE</publisher-name>).</citation>
</ref>
<ref id="B40">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Saif</surname> <given-names>F. A.</given-names></name> <name><surname>Latip</surname> <given-names>R.</given-names></name> <name><surname>Hanapi</surname> <given-names>Z. M.</given-names></name> <name><surname>Shafinah</surname> <given-names>K.</given-names></name></person-group> (<year>2023</year>). <article-title>Multi-objective grey wolf optimizer algorithm for task scheduling in cloud-fog computing</article-title>. <source>IEEE Access</source> <volume>11</volume>, <fpage>20635</fpage>&#x02013;<lpage>20646</lpage>. <pub-id pub-id-type="doi">10.1109/ACCESS.2023.3241240</pub-id></citation>
</ref>
<ref id="B41">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Shen</surname> <given-names>X.</given-names></name> <name><surname>Xu</surname> <given-names>D.</given-names></name> <name><surname>Song</surname> <given-names>L.</given-names></name> <name><surname>Zhang</surname> <given-names>Y.</given-names></name></person-group> (<year>2023</year>). <article-title>Heterogeneous multi-project multi-task allocation in mobile crowdsensing using an ensemble fireworks algorithm</article-title>. <source>Appl. Soft Comput.</source> <volume>145</volume>, <fpage>110571</fpage>. <pub-id pub-id-type="doi">10.1016/j.asoc.2023.110571</pub-id></citation>
</ref>
<ref id="B42">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Singhrova</surname> <given-names>A.</given-names></name></person-group> (<year>2023</year>). <article-title>Levy flight firefly based efficient resource allocation for fog environment</article-title>. <source>Intellig. Autom. Soft Comput.</source> <volume>37</volume>, <fpage>e035389</fpage>. <pub-id pub-id-type="doi">10.32604/iasc.2023.035389</pub-id></citation>
</ref>
<ref id="B43">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Sun</surname> <given-names>L.</given-names></name> <name><surname>Shi</surname> <given-names>W.</given-names></name> <name><surname>Wang</surname> <given-names>J.</given-names></name> <name><surname>Mao</surname> <given-names>H.</given-names></name> <name><surname>Tu</surname> <given-names>J.</given-names></name> <name><surname>Wang</surname> <given-names>L.</given-names></name></person-group> (<year>2023</year>). <article-title>Research on production scheduling technology in knitting workshop based on improved genetic algorithm</article-title>. <source>Appl. Sci.</source> <volume>13</volume>, <fpage>5701</fpage>. <pub-id pub-id-type="doi">10.3390/app13095701</pub-id></citation>
</ref>
<ref id="B44">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Tran-Dang</surname> <given-names>H.</given-names></name> <name><surname>Kim</surname> <given-names>D. S.</given-names></name></person-group> (<year>2023</year>). <article-title>Fog computing: fundamental concepts and recent advances in architectures and technologies</article-title>. <source>Cooper. Distrib. Intellig. Comput. Fog Comput. Concepts Architect. Fram</source>. <fpage>1</fpage>&#x02013;<lpage>18</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-031-33920-2_1</pub-id></citation>
</ref>
<ref id="B45">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Vispute</surname> <given-names>S. D.</given-names></name> <name><surname>Vashisht</surname> <given-names>P.</given-names></name></person-group> (<year>2023</year>). <article-title>Energy-efficient task scheduling in fog computing based on particle swarm optimization</article-title>. <source>SN Comp. Sci.</source> <volume>4</volume>, <fpage>391</fpage>. <pub-id pub-id-type="doi">10.1007/s42979-022-01639-3</pub-id></citation>
</ref>
<ref id="B46">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wei</surname> <given-names>Z.</given-names></name> <name><surname>Zhang</surname> <given-names>Y.</given-names></name> <name><surname>Xu</surname> <given-names>X.</given-names></name> <name><surname>Shi</surname> <given-names>L.</given-names></name> <name><surname>Feng</surname> <given-names>L.</given-names></name></person-group> (<year>2017</year>). <article-title>A task scheduling algorithmbased on Q-learning and shared value function for WSNs</article-title>. <source>Comput. Netw.</source> <volume>126</volume>, <fpage>141</fpage>&#x02013;<lpage>149</lpage>. <pub-id pub-id-type="doi">10.1016/j.comnet.2017.06.005</pub-id></citation>
</ref>
<ref id="B47">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yin</surname> <given-names>C.</given-names></name> <name><surname>Li</surname> <given-names>H.</given-names></name> <name><surname>Peng</surname> <given-names>Y.</given-names></name> <name><surname>Fang</surname> <given-names>Q.</given-names></name> <name><surname>Xu</surname> <given-names>X.</given-names></name> <name><surname>Dan</surname> <given-names>T.</given-names></name> <etal/></person-group>. (<year>2023</year>). <source>An Optimized Resource Scheduling Algorithm Based on GA and ACO Algorithm</source>.</citation>
</ref>
<ref id="B48">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>You</surname> <given-names>Y.</given-names></name> <name><surname>Liu</surname> <given-names>Z.</given-names></name> <name><surname>Liu</surname> <given-names>Y.</given-names></name> <name><surname>Peng</surname> <given-names>N.</given-names></name> <name><surname>Wang</surname> <given-names>J.</given-names></name> <name><surname>Huang</surname> <given-names>Y.</given-names></name> <etal/></person-group>. (<year>2023</year>). <article-title>K-means module division method of FDM3D printer-based function&#x02013;behavior&#x02013;structure mapping</article-title>. <source>Appl. Sci.</source> <volume>13</volume>, <fpage>7453</fpage>. <pub-id pub-id-type="doi">10.3390/app13137453</pub-id></citation>
</ref>
<ref id="B49">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname> <given-names>X.</given-names></name> <name><surname>Xu</surname> <given-names>M.</given-names></name> <name><surname>Su</surname> <given-names>J.</given-names></name> <name><surname>Zhao</surname> <given-names>P.</given-names></name></person-group> (<year>2023</year>). <article-title>Structural models for fog computing based internet of things architectures with insurance and risk management applications</article-title>. <source>Eur. J. Operat. Res.</source> <volume>305</volume>, <fpage>1273</fpage>&#x02013;<lpage>1291</lpage>. <pub-id pub-id-type="doi">10.1016/j.ejor.2022.07.033</pub-id></citation>
</ref>
</ref-list>
</back>
</article>