<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMC</journal-id>
<journal-id journal-id-type="nlm-ta">CMC</journal-id>
<journal-id journal-id-type="publisher-id">CMC</journal-id>
<journal-title-group>
<journal-title>Computers, Materials &#x0026; Continua</journal-title>
</journal-title-group>
<issn pub-type="epub">1546-2226</issn>
<issn pub-type="ppub">1546-2218</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">31729</article-id>
<article-id pub-id-type="doi">10.32604/cmc.2023.031729</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Fuzzy Firefly Based Intelligent Algorithm for Load Balancing in Mobile Cloud Computing</article-title>
<alt-title alt-title-type="left-running-head">Fuzzy Firefly Based Intelligent Algorithm for Load Balancing in Mobile Cloud Computing</alt-title>
<alt-title alt-title-type="right-running-head">Fuzzy Firefly Based Intelligent Algorithm for Load Balancing in Mobile Cloud Computing</alt-title>
</title-group>
<contrib-group content-type="authors">
<contrib id="author-1" contrib-type="author" corresp="yes">
<collab>Poonam</collab><email>ahlawatp12@gmail.com</email></contrib>
<contrib id="author-2" contrib-type="author">
<name name-style="western"><surname>Sangwan</surname><given-names>Suman</given-names>
</name></contrib>
<aff><institution>CSE Department, Deenbandhu Chhotu Ram University of Science and Technology</institution>, <addr-line>Murthal, 131039, Sonepat</addr-line>, <country>India</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Poonam. Email: <email>ahlawatp12@gmail.com</email></corresp>
</author-notes>
<pub-date pub-type="epub" date-type="pub" iso-8601-date="2022-08-16"><day>16</day>
<month>08</month>
<year>2022</year></pub-date>
<volume>74</volume>
<issue>1</issue>
<fpage>1783</fpage>
<lpage>1799</lpage>
<history>
<date date-type="received">
<day>25</day>
<month>4</month>
<year>2022</year>
</date>
<date date-type="accepted">
<day>29</day>
<month>6</month>
<year>2022</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2023 Sangwan</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Sangwan</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMC_31729.pdf"></self-uri>
<abstract>
<p>This paper presents a novel fuzzy firefly-based intelligent algorithm for load balancing in mobile cloud computing while reducing makespan. The proposed technique implicitly acts intelligently by using inherent traits of fuzzy and firefly. It automatically adjusts its behavior or converges depending on the information gathered during the search process and objective function. It works for 3-tier architecture, including cloudlet and public cloud. As cloudlets have limited resources, fuzzy logic is used for cloudlet selection using capacity and waiting time as input. Fuzzy provides human-like decisions without using any mathematical model. Firefly is a powerful meta-heuristic optimization technique to balance diversification and solution speed. It balances the load on cloud and cloudlet while minimizing makespan and execution time. However, it may trap in local optimum; levy flight can handle it. Hybridization of fuzzy firefly with levy flight is a novel technique that provides reduced makespan, execution time, and Degree of imbalance while balancing the load. Simulation has been carried out on the Cloud Analyst platform with National Aeronautics and Space Administration (NASA) and Clarknet datasets. Results show that the proposed algorithm outperforms Ant Colony Optimization Queue Decision Maker (ACOQDM), Distributed Scheduling Optimization Algorithm (DSOA), and Utility-based Firefly Algorithm (UFA) when compared in terms of makespan, Degree of imbalance, and Figure of Merit.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Cloud computing</kwd>
<kwd>cloudlet</kwd>
<kwd>mobile cloud computing</kwd>
<kwd>fuzzy</kwd>
<kwd>firefly</kwd>
<kwd>load balancing</kwd>
<kwd>makespan</kwd>
<kwd>degree of imbalance</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>The widespread use of mobile devices has led to the emergence of mobile cloud technology. Mobile users want several applications on their mobiles, and they need cloud services to carry out storage and computation due to limited mobile resources like battery life, storage, and computation. Resource limitations lead to the offloading of mobile data to the cloud to carry out remote computation and then send back the computational result to the mobile device. The mobile cloud computing (MCC) concept introduced in 2010 [<xref ref-type="bibr" rid="ref-1">1</xref>] is a combination of three technologies: Cloud Computing (CC), Mobile Computing (MC), and Mobile Internet [<xref ref-type="bibr" rid="ref-2">2</xref>,<xref ref-type="bibr" rid="ref-3">3</xref>]. The epitome of MCC is to let the user access and compute accurate and real-time information at any time and any place.</p>
<p>Cloud computing has brought a new era of development to the internet. It has removed all limitations regarding computer applications. Cloud is the interconnected assemblage of high-performance servers with extensive storage and computational power accessible through the internet. Cloud resources are available to users on pay per use basis [<xref ref-type="bibr" rid="ref-4">4</xref>]. The proliferation of wireless mobile communication, new web technologies, and the evolution of mobile internet business are driving forces for the development of the internet. Internet technology is a way of communication by using the internet, which is to provide real-time network resources and services to the users. Mobile internet gives convenience and the facility to provide various new business opportunities, computational services, and quality assurance [<xref ref-type="bibr" rid="ref-5">5</xref>]. MC is about sharing different resources and exchanging data among intelligent devices like mobile phones, laptops, and computers. [<xref ref-type="bibr" rid="ref-6">6</xref>].</p>
<p>Although, MCC has eliminated all limitations of mobile devices related to storage, computation, and battery life. However, connecting mobile devices to the cloud undergoes high network latency and high power consumption while data are offloading specifically through 4G/LTE networks [<xref ref-type="bibr" rid="ref-7">7</xref>]. To overcome these problems concept of the cloudlet framework was introduced by M. Satyanarayanan in 2009 [<xref ref-type="bibr" rid="ref-8">8</xref>]. Cloudlets are trusted, resource-rich computer or a cluster of computers that is well connected to the internet and available for use by nearby mobile devices [<xref ref-type="bibr" rid="ref-8">8</xref>]. Cloudlets provide physical proximity to mobile users. They are deployed just one hop distance compared to the cloud, resulting in the offloading of tasks to the nearest cloudlet [<xref ref-type="bibr" rid="ref-9">9</xref>]. Mobile devices use Wi-Fi to connect to the proximate cloudlet [<xref ref-type="bibr" rid="ref-10">10</xref>]. Cloudlet is the middle layer of the 3-tier architecture, as shown in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>. Low latency, high bandwidth, and one-hop distance provide mobile devices with real-time interactive services. For large applications requiring high computational and processing capabilities or when cloudlets are already busy, the cloud is used for data offloading and computational purposes [<xref ref-type="bibr" rid="ref-11">11</xref>]. Due to the proliferation of MCC nowadays, it is essential to balance the load on cloudlet and cloud.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>Three-tier architecture</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_31729-fig-1.png"/>
</fig>
<p>A hybrid meta-heuristic load balancing technique, named fuzzy firefly-based algorithm with levy flight (LF), is introduced in this paper. Firefly algorithm (FA) is a powerful nature-inspired optimization technique used widely by researchers. The essence of the FA is to maintain the proper balance between solution diversification and speed. FA may fall in local optimum and leads to premature convergence. To overcome this issue, LF is used to enhance the exploration of global search space. Levy distribution provides the random movement by generating a random direction and a step length. Fuzzy logic is used to make cloudlet selection. Fuzzy logic provides evenness among true and false values without using any mathematical model. Optimization using fuzzy logic is simple, fast, and adaptive, leading to system stability.</p>
<p>In recent times, MCC has turned out to be a significant research area as it enhances mobile devices&#x2019; capabilities by integrating them with cloud computing technologies and cloudlet. The major highlights of this paper are as follows:
<list list-type="bullet">
<list-item>
<p>Study of existing load balancing techniques in MCC.</p></list-item>
<list-item>
<p>Propose a novel hybrid intelligent load balancing technique named Fuzzy Firefly Algorithm with Levy Flight for balancing the load on cloud and cloudlet.</p></list-item>
<list-item>
<p>Cloudlet selection using Fuzzy logic.</p></list-item>
<list-item>
<p>Formulation of makespan and Degree of imbalance using a mathematical model.</p></list-item>
<list-item>
<p>Formulation of fitness function using execution model and Degree of imbalance.</p></list-item>
<list-item>
<p>Comparison of the proposed technique with ACOQDM, DSOA, and UFA using makespan and Degree of imbalance.</p></list-item>
</list></p>
<p>The remnants of this paper are organized as follows: Section 2 presents existing work on load balancing in MCC. Section 3 drafts the mathematical model of the load balancing problem. The proposed methodology presents a novel hybrid Fuzzy Firefly algorithm with Levy Flight to address the load balancing in Section 5. The results of the proposed technique are discussed in Section 6. Finally, Section7 concludes the paper with some future directions.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Related Work</title>
<p>Many researchers have proposed different load balancing and scheduling techniques [<xref ref-type="bibr" rid="ref-12">12</xref>]. Job scheduling in a mobile cloud environment is challenging as there are numerous processors, and all have numerous different or same instances of virtual machines (VM). Assigning jobs to the correct VM and improving the performance and cost is a significant issue in the mobile cloud environment. Job scheduling should also consider allocating the load to all the VMs to achieve load balancing while minimizing the makespan [<xref ref-type="bibr" rid="ref-13">13</xref>]. Many works have been carried out using a few legacy algorithms used for scheduling and load balancing purposes.</p>
<p>In some existing works, scheduling is performed based on the size of tasks like the Min-Min algorithm chose the job with small tasks [<xref ref-type="bibr" rid="ref-14">14</xref>] and came out to be better as it reduced the makespan while balancing the load. An improved min-min scheduling algorithm with load balancing [<xref ref-type="bibr" rid="ref-15">15</xref>] had been proposed, but execution cost was not considered in this paper. It showed an increase in resource utilization and decreasing the makespan. The max-min algorithm chose the maximum size task after selecting the task [<xref ref-type="bibr" rid="ref-16">16</xref>]. Many research works exist on priority-based scheduling [<xref ref-type="bibr" rid="ref-17">17</xref>] to perform fair scheduling to prioritize the jobs. However, these legacy algorithms were not good enough for complex, uncertain, and real-time user demand. None of these works had considered utility-based prioritization.</p>
<p>On the other hand, meta-heuristic and nature-inspired algorithms like Genetic algorithm (GA), Ant colony optimization (ACO), FA, and Bees colony optimization attempt to provide near-optimal solutions for the scheduling and load balancing problem. In [<xref ref-type="bibr" rid="ref-18">18</xref>], ACO is used and compared the makespan with the First Come First Serve (FCFS) and Round Robin (RR) algorithms. Cost and job interdependency were not considered in this work. ACO concentrated on makespan and cost reduction. Its performance depended on the initial solution, and it also had a more extended convergence than several algorithms. Bees&#x2019; colony algorithm also had a restriction as it converged only in its local optima. Most of the previous works focused only on the execution time [<xref ref-type="bibr" rid="ref-19">19</xref>].</p>
<p>Guo&#x00A0;et&#x00A0;al.&#x00A0;in [<xref ref-type="bibr" rid="ref-20">20</xref>] used Particle swarm optimization <bold>(</bold>PSO) to reduce processing time. A multi-objective scheduling algorithm was proposed to reduce the cost and execution time of jobs using the Pareto frontier method. The Pareto frontier method was also used in one more multi-objective PSO algorithm [<xref ref-type="bibr" rid="ref-21">21</xref>] to reduce the execution time of jobs. Here, attention was given to reducing data transfer time. However, load balancing was not considered in any of the abovementioned work. A layered mobile cloud resource scheduling algorithm was proposed for mobile devices in the mobile cloud environment. An energy-efficient and cost-aware mobile service provisioning scheme for the mobile cloud was proposed in [<xref ref-type="bibr" rid="ref-22">22</xref>]. Chunlin&#x00A0;et&#x00A0;al.&#x00A0;[<xref ref-type="bibr" rid="ref-23">23</xref>] studied the composition of mobile device services to enhance user utility within the capacity of physical resources and other restrictions in the mobile grid. The authors of the paper [<xref ref-type="bibr" rid="ref-24">24</xref>] proposed an algorithm for task assignment in a mobile cloud environment while balancing the load. Cloudlets are used for the execution of tasks leading to reduced makespan. However, this algorithm has the highest energy consumption rate. This paper [<xref ref-type="bibr" rid="ref-25">25</xref>] proposed a distributed scheduling algorithm for resource-intensive mobile applications using the Lagrangian method. A bargaining protocol to maximize resource utilization and profit was introduced in [<xref ref-type="bibr" rid="ref-26">26</xref>]. It balanced the load by distributing jobs to reliable VMs using FA. Wang&#x00A0;et&#x00A0;al.&#x00A0;[<xref ref-type="bibr" rid="ref-27">27</xref>,<xref ref-type="bibr" rid="ref-28">28</xref>] provide task-centered resource allocation in mobile edge computing. Gu&#x00A0;et&#x00A0;al.&#x00A0;[<xref ref-type="bibr" rid="ref-29">29</xref>,<xref ref-type="bibr" rid="ref-30">30</xref>] proposed a secure framework for data queries in fog and cloud environments. Liao&#x00A0;et&#x00A0;al.&#x00A0;proposed [<xref ref-type="bibr" rid="ref-31">31</xref>,<xref ref-type="bibr" rid="ref-32">32</xref>,<xref ref-type="bibr" rid="ref-33">33</xref>] task offloading algorithms in edge computing, providing cost savings related to data transmission, latency, and bandwidth usage, among other benefits.</p>
<p>From the above discussion, we observe that less work is done on cloudlet selection and load balancing on the cloudlet and cloud. Cloudlet selection based on remaining capacity is rarely found. Hence, we propose an intelligent hybrid meta-heuristic Fuzzy Firefly Algorithm with Levy Flight for Load Balancing using capacity and waiting time for cloudlet selection to increase resource reliability while reducing the makespan and maintaining load balancing.</p>
</sec>
<sec id="s3">
<label>3</label>
<title>Mathematical Problem Descriptions</title>
<p>For formulating the problem mathematically, Let us consider n mobile users, each submitting a task set at any time t in the system. This submitted task set is represented by vector <inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2026;</mml:mo><mml:mo>&#x2026;</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>. Tasks are offloaded to cloudlet or public cloud in MCC for execution. Assume p cloudlets in close vicinity of the mobile user represented by vector <inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:mi>C</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2026;</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> and m VMs on each cloudlet or cloud represented by vector <inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:mi>V</mml:mi><mml:mi>M</mml:mi><mml:mo>=</mml:mo></mml:math></inline-formula> {<inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:mi>V</mml:mi><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>V</mml:mi><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mi>V</mml:mi><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2026;</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mi>V</mml:mi><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>}. The user request can be offloaded either on cloudlet or public cloud as the user request arrives. Cloudlets have limited resources and computing power as compared to the cloud. If cloudlets are full and refuse to process the tasks, then tasks can be offloaded to the public cloud. We have assumed an assignment matrix A to show the assignment of tasks to VMs on cloudlets. In this matrix, rows represent the tasks, and columns represent the VMs, as shown by <xref ref-type="disp-formula" rid="eqn-1">Eq. (1)</xref>. Entry <inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> in matrix <inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:mi>A</mml:mi></mml:math></inline-formula> will be 1, if task <inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is assigned to <inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:mi>V</mml:mi><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, otherwise it will be 0.</p>
<p><disp-formula id="eqn-1"><label>(1)</label><mml:math id="mml-eqn-1" display="block"><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="center center center center center" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mrow><mml:mrow><mml:mn mathvariant="bold">11</mml:mn></mml:mrow></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:msub><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mrow><mml:mrow><mml:mn mathvariant="bold">12</mml:mn></mml:mrow></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:msub><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mrow><mml:mrow><mml:mn mathvariant="bold">13</mml:mn></mml:mrow></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mo>&#x2026;</mml:mo><mml:mspace width="thickmathspace" /><mml:mo>&#x2026;</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mrow><mml:mrow><mml:mn mathvariant="bold">1</mml:mn></mml:mrow><mml:mi mathvariant="bold-italic">m</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mrow><mml:mrow><mml:mn mathvariant="bold">21</mml:mn></mml:mrow></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:msub><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mrow><mml:mrow><mml:mn mathvariant="bold">22</mml:mn></mml:mrow></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:msub><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mrow><mml:mrow><mml:mn mathvariant="bold">23</mml:mn></mml:mrow></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mo>&#x2026;</mml:mo><mml:mo>&#x2026;</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mrow><mml:mrow><mml:mn mathvariant="bold">2</mml:mn></mml:mrow><mml:mi mathvariant="bold-italic">m</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2026;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x2026;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x2026;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x2026;</mml:mo><mml:mspace width="thickmathspace" /><mml:mo>&#x2026;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x2026;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:mn mathvariant="bold">1</mml:mn></mml:mrow></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:msub><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:mn mathvariant="bold">2</mml:mn></mml:mrow></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:msub><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:mn mathvariant="bold">3</mml:mn></mml:mrow></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mo>&#x2026;</mml:mo><mml:mspace width="thickmathspace" /><mml:mo>&#x2026;</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mi mathvariant="bold-italic">A</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mi mathvariant="bold-italic">m</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>Similarly, a matrix CT represents the completion time of tasks on VMs. Here also, matrix rows represent the tasks, and columns represent the VMs, as shown by <xref ref-type="disp-formula" rid="eqn-2">Eq. (2)</xref>.</p>
<p><disp-formula id="eqn-2"><label>(2)</label><mml:math id="mml-eqn-2" display="block"><mml:mrow><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="center center center center center" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mn mathvariant="bold">11</mml:mn></mml:mrow></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mn mathvariant="bold">12</mml:mn></mml:mrow></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mn mathvariant="bold">13</mml:mn></mml:mrow></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mo>&#x2026;</mml:mo><mml:mspace width="thickmathspace" /><mml:mo>&#x2026;</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mn mathvariant="bold">1</mml:mn></mml:mrow><mml:mi mathvariant="bold-italic">m</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mn mathvariant="bold">2</mml:mn></mml:mrow><mml:mrow><mml:mn mathvariant="bold">1</mml:mn></mml:mrow></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mn mathvariant="bold">22</mml:mn></mml:mrow></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mn mathvariant="bold">23</mml:mn></mml:mrow></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mo>&#x2026;</mml:mo><mml:mspace width="thickmathspace" /><mml:mo>&#x2026;</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mn mathvariant="bold">2</mml:mn></mml:mrow><mml:mi mathvariant="bold-italic">m</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2026;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x2026;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x2026;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x2026;</mml:mo><mml:mspace width="thickmathspace" /><mml:mo>&#x2026;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x2026;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:mn mathvariant="bold">1</mml:mn></mml:mrow></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:mn mathvariant="bold">2</mml:mn></mml:mrow></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mrow><mml:mn mathvariant="bold">3</mml:mn></mml:mrow></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mo>&#x2026;</mml:mo><mml:mspace width="thickmathspace" /><mml:mo>&#x2026;</mml:mo></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">T</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mi mathvariant="bold-italic">m</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>In this paper, makespan and Degree of imbalance are used for performance analysis of the system. These metrics are defined as follows:</p>
<sec id="s3_1">
<label>3.1</label>
<title>Completion Time</title>
<p>The total time to execute all the assigned tasks is known as completion time. It is evaluated using <xref ref-type="disp-formula" rid="eqn-3">Eq. (3)</xref>.</p>
<p><disp-formula id="eqn-3"><label>(3)</label><mml:math id="mml-eqn-3" display="block"><mml:mrow><mml:mi mathvariant="italic">C</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">m</mml:mi><mml:mi mathvariant="italic">p</mml:mi><mml:mi mathvariant="italic">l</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mspace width="thickmathspace" /><mml:mi>T</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mi>e</mml:mi><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:munderover><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:munderover><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x2217;</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></disp-formula>where <inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> is the completion time of <inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> task on <inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> VM. It is evaluated using <xref ref-type="disp-formula" rid="eqn-4">Eq. (4)</xref></p>
<p><disp-formula id="eqn-4"><label>(4)</label><mml:math id="mml-eqn-4" display="block"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msubsup></mml:math></disp-formula>where <inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> and <inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> are service time, waiting time, and transmission time of <inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> task on <inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> VM respectively.</p>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Service Time</title>
<p>The total time taken to execute the task is known as service time. It is evaluated using <xref ref-type="disp-formula" rid="eqn-5">Eq.(5)</xref></p>
<p><disp-formula id="eqn-5"><label>(5)</label><mml:math id="mml-eqn-5" display="block"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>N</mml:mi><mml:mi>o</mml:mi><mml:mo>.</mml:mo><mml:mi>o</mml:mi><mml:mi>f</mml:mi><mml:mspace width="thickmathspace" /><mml:mi>I</mml:mi><mml:mi>n</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi><mml:mi>r</mml:mi><mml:mi>u</mml:mi><mml:mi>c</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mi>s</mml:mi><mml:mspace width="thickmathspace" /><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mspace width="thickmathspace" /><mml:mi>i</mml:mi><mml:mi>t</mml:mi><mml:mi>h</mml:mi><mml:mspace width="thickmathspace" /><mml:mi>t</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>M</mml:mi><mml:mi>I</mml:mi><mml:mi>P</mml:mi><mml:mi>S</mml:mi><mml:mspace width="thickmathspace" /><mml:mi>o</mml:mi><mml:mi>f</mml:mi><mml:mspace width="thickmathspace" /><mml:mi>V</mml:mi><mml:mi>M</mml:mi><mml:mrow><mml:mtext>j</mml:mtext></mml:mrow><mml:mspace width="thickmathspace" /><mml:mo>&#x2217;</mml:mo><mml:mspace width="thickmathspace" /><mml:mrow><mml:mtext>number of core</mml:mtext></mml:mrow></mml:mrow></mml:mfrac></mml:math></disp-formula></p>
</sec>
<sec id="s3_3">
<label>3.3</label>
<title>Waiting Time</title>
<p>The time interval between execution start time and arrival time is known as waiting time. It is evaluated using <xref ref-type="disp-formula" rid="eqn-6">Eq. (6)</xref>.</p>
<p><disp-formula id="eqn-6"><label>(6)</label><mml:math id="mml-eqn-6" display="block"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msubsup></mml:math></disp-formula>where <inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> represents the arrival time of <inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> task on <inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> VM queue and<inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> represents the execution start time of <inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> task on <inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> VM.</p>
</sec>
<sec id="s3_4">
<label>3.4</label>
<title>Transmission Time</title>
<p>It is the time taken to offload the task to a VM on Cloudlet or public cloud. It is evaluated using <xref ref-type="disp-formula" rid="eqn-7">Eq. (7)</xref>.</p>
<p><disp-formula id="eqn-7"><label>(7)</label><mml:math id="mml-eqn-7" display="block"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mrow><mml:mi mathvariant="italic">B</mml:mi><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">n</mml:mi><mml:mi mathvariant="italic">d</mml:mi><mml:mi mathvariant="italic">w</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">d</mml:mi><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">h</mml:mi></mml:mrow><mml:mspace width="thickmathspace" /><mml:mi>o</mml:mi><mml:mi>f</mml:mi><mml:mspace width="thickmathspace" /><mml:mi>V</mml:mi><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>S</mml:mi><mml:mi>i</mml:mi><mml:mi>z</mml:mi><mml:mi>e</mml:mi><mml:mspace width="thickmathspace" /><mml:mi>o</mml:mi><mml:mi>f</mml:mi><mml:mspace width="thickmathspace" /><mml:mi>t</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi><mml:mi>k</mml:mi><mml:mspace width="thickmathspace" /><mml:mi>i</mml:mi></mml:mrow></mml:mfrac></mml:math></disp-formula>where <inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> is the time taken to offload <inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> task to <inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> VM.</p>
</sec>
<sec id="s3_5">
<label>3.5</label>
<title>Makespan</title>
<p>Makespan is the maximum completion time of all tasks assigned on VMs. The lowest value of makespan indicates enriched scheduling, and It is evaluated using <xref ref-type="disp-formula" rid="eqn-8">Eq. (8)</xref></p>
<p><disp-formula id="eqn-8"><label>(8)</label><mml:math id="mml-eqn-8" display="block"><mml:mrow><mml:mi mathvariant="italic">M</mml:mi><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">k</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">s</mml:mi><mml:mi mathvariant="italic">p</mml:mi><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mo>,</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo>|</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>D</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mspace width="thickmathspace" /><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>V</mml:mi><mml:mi>M</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable><mml:mo>}</mml:mo></mml:mrow></mml:math></disp-formula></p>
</sec>
<sec id="s3_6">
<label>3.6</label>
<title>Response Time</title>
<p>It is the time required to give the first response after submitting a request to the system. It is evaluated using <xref ref-type="disp-formula" rid="eqn-9">Eq. (9)</xref>. A small value of response time is recommended.</p>
<p><disp-formula id="eqn-9"><label>(9)</label><mml:math id="mml-eqn-9" display="block"><mml:mrow><mml:mi mathvariant="italic">R</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">s</mml:mi><mml:mi mathvariant="italic">p</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">n</mml:mi><mml:mi mathvariant="italic">s</mml:mi><mml:mi mathvariant="italic">e</mml:mi></mml:mrow><mml:mspace width="thickmathspace" /><mml:mi>T</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mi>e</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thickmathspace" /><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula>where <inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> is the arrival time of <inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> task on <inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> VM. <inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:msubsup><mml:mi>T</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> is the transmission time of <inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> task on <inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> VM.</p>
</sec>
<sec id="s3_7">
<label>3.7</label>
<title>Processing Capacity</title>
<p>It gives the system processing ability equal to the sum of the capacity of all VMs on a cloudlet or public cloud. It is evaluated using <xref ref-type="disp-formula" rid="eqn-10">Eqs. (10)</xref> and <xref ref-type="disp-formula" rid="eqn-11">(11)</xref>.</p>
<p><disp-formula id="eqn-10"><label>(10)</label><mml:math id="mml-eqn-10" display="block"><mml:mrow><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mi mathvariant="bold-italic">o</mml:mi><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi mathvariant="bold-italic">e</mml:mi><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mi mathvariant="bold-italic">s</mml:mi><mml:mi mathvariant="bold-italic">i</mml:mi><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mi mathvariant="bold-italic">g</mml:mi></mml:mrow><mml:mspace width="thickmathspace" /><mml:mrow><mml:mi mathvariant="bold-italic">C</mml:mi><mml:mi mathvariant="bold-italic">a</mml:mi><mml:mi mathvariant="bold-italic">p</mml:mi><mml:mi mathvariant="bold-italic">a</mml:mi><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi mathvariant="bold-italic">i</mml:mi><mml:mi mathvariant="bold-italic">t</mml:mi><mml:mi mathvariant="bold-italic">y</mml:mi></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi mathvariant="bold-italic">j</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mn mathvariant="bold">1</mml:mn></mml:mrow></mml:mrow><mml:mrow><mml:mi mathvariant="bold-italic">m</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mi mathvariant="bold-italic">P</mml:mi><mml:mi mathvariant="bold-italic">C</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="bold-italic">j</mml:mi></mml:mrow></mml:msub></mml:math></disp-formula></p>
<p><disp-formula id="eqn-11"><label>(11)</label><mml:math id="mml-eqn-11" display="block"><mml:mi>P</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>M</mml:mi><mml:mi>I</mml:mi><mml:mi>P</mml:mi><mml:mi>S</mml:mi><mml:mspace width="thickmathspace" /><mml:mi>o</mml:mi><mml:mi>f</mml:mi><mml:mspace width="thickmathspace" /><mml:mi>V</mml:mi><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mspace width="thickmathspace" /><mml:mo>&#x2217;</mml:mo><mml:mspace width="thickmathspace" /><mml:mi>N</mml:mi><mml:mi>u</mml:mi><mml:mi>m</mml:mi><mml:mi>b</mml:mi><mml:mi>e</mml:mi><mml:mi>r</mml:mi><mml:mspace width="thickmathspace" /><mml:mi>o</mml:mi><mml:mi>f</mml:mi><mml:mspace width="thickmathspace" /><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mspace width="thickmathspace" /><mml:mo>+</mml:mo><mml:mspace width="thickmathspace" /><mml:mi>c</mml:mi><mml:mi>s</mml:mi><mml:mi>b</mml:mi><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></disp-formula>where <inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:mi>c</mml:mi><mml:mi>s</mml:mi><mml:mi>b</mml:mi><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is communication bandwidth handling speed of <inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:mi>V</mml:mi><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>.</p>
</sec>
<sec id="s3_8">
<label>3.8</label>
<title>Degree of Imbalance (DI)</title>
<p>The Degree of imbalance is measured in terms of the reliability of VMs. The reliability of a VM is its ability to work efficiently under all situations, and it is inversely proportional to load. Reliability of <inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> VM is evaluated as given in <xref ref-type="disp-formula" rid="eqn-12">Eq. (12)</xref> [<xref ref-type="bibr" rid="ref-34">34</xref>,<xref ref-type="bibr" rid="ref-35">35</xref>].</p>
<p><disp-formula id="eqn-12"><label>(12)</label><mml:math id="mml-eqn-12" display="block"><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mfrac><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">v</mml:mi><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">l</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi></mml:mrow></mml:msub></mml:mfrac><mml:mo>+</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mfrac><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">v</mml:mi><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">l</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi></mml:mrow></mml:msub></mml:mfrac><mml:mo>+</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mfrac><mml:msub><mml:mi>B</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">v</mml:mi><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">l</mml:mi></mml:mrow></mml:mrow></mml:msub><mml:msub><mml:mi>B</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi></mml:mrow></mml:msub></mml:mfrac></mml:math></disp-formula>where <inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">v</mml:mi><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">l</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-35"><mml:math id="mml-ieqn-35"><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">v</mml:mi><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">l</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-36"><mml:math id="mml-ieqn-36"><mml:msub><mml:mi>B</mml:mi><mml:mrow><mml:mrow><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">v</mml:mi><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">l</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> are available computing power, memory, and bandwidth, respectively. <inline-formula id="ieqn-37"><mml:math id="mml-ieqn-37"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-38"><mml:math id="mml-ieqn-38"><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-39"><mml:math id="mml-ieqn-39"><mml:msub><mml:mi>B</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> are required computing power, memory, and bandwidth, respectively. <inline-formula id="ieqn-40"><mml:math id="mml-ieqn-40"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-41"><mml:math id="mml-ieqn-41"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:math></inline-formula> <inline-formula id="ieqn-42"><mml:math id="mml-ieqn-42"><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> are weights corresponding to power, memory, and bandwidth. Their values are assigned as shown in <xref ref-type="disp-formula" rid="eqn-13">Eq. (13)</xref>.</p>
<p><disp-formula id="eqn-13"><label>(13)</label><mml:math id="mml-eqn-13" display="block"><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:munderover><mml:msub><mml:mi>a</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math></disp-formula></p>
<p>Degree of imbalance of <inline-formula id="ieqn-43"><mml:math id="mml-ieqn-43"><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> VM is measured as given in <xref ref-type="disp-formula" rid="eqn-14">Eq. (14)</xref>.</p>
<p><disp-formula id="eqn-14"><label>(14)</label><mml:math id="mml-eqn-14" display="block"><mml:mi>D</mml:mi><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mtext>VMj</mml:mtext></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>v</mml:mi><mml:mi>g</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:math></disp-formula>where <inline-formula id="ieqn-44"><mml:math id="mml-ieqn-44"><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>v</mml:mi><mml:mi>g</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the average reliability of all VMs and measured in <xref ref-type="disp-formula" rid="eqn-15">Eq. (15)</xref></p>
<p><disp-formula id="eqn-15"><label>(15)</label><mml:math id="mml-eqn-15" display="block"><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>v</mml:mi><mml:mi>g</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mi>m</mml:mi></mml:mfrac></mml:math></disp-formula></p>
<p>Likewise, the Degree of imbalance of all VMs is measured as given in <xref ref-type="disp-formula" rid="eqn-16">Eq. (16)</xref>.</p>
<p><disp-formula id="eqn-16"><label>(16)</label><mml:math id="mml-eqn-16" display="block"><mml:mrow><mml:mi mathvariant="bold-italic">D</mml:mi><mml:mi mathvariant="bold-italic">e</mml:mi><mml:mi mathvariant="bold-italic">g</mml:mi><mml:mi mathvariant="bold-italic">r</mml:mi><mml:mi mathvariant="bold-italic">e</mml:mi><mml:mi mathvariant="bold-italic">e</mml:mi></mml:mrow><mml:mspace width="thickmathspace" /><mml:mrow><mml:mi mathvariant="bold-italic">o</mml:mi><mml:mi mathvariant="bold-italic">f</mml:mi></mml:mrow><mml:mspace width="thickmathspace" /><mml:mrow><mml:mi mathvariant="bold-italic">i</mml:mi><mml:mi mathvariant="bold-italic">m</mml:mi><mml:mi mathvariant="bold-italic">b</mml:mi><mml:mi mathvariant="bold-italic">a</mml:mi><mml:mi mathvariant="bold-italic">l</mml:mi><mml:mi mathvariant="bold-italic">a</mml:mi><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi mathvariant="bold-italic">e</mml:mi></mml:mrow><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">f</mml:mi><mml:mrow><mml:mrow><mml:mn mathvariant="bold">2</mml:mn></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi mathvariant="bold-italic">j</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mn mathvariant="bold">1</mml:mn></mml:mrow></mml:mrow><mml:mrow><mml:mi mathvariant="bold-italic">m</mml:mi></mml:mrow></mml:munderover><mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">R</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">R</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">a</mml:mi><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mi mathvariant="bold-italic">g</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mn mathvariant="bold">2</mml:mn></mml:mrow></mml:mrow></mml:msup></mml:math></disp-formula></p>
<p>The Degree of imbalance value lies between 0 and 1. It is used to measure the performance or load imbalance of the system, and the scheduler tries to reduce the value of DI.</p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Fitness Function</title>
<p>The ultimate goal of this hybrid load balancing technique is to minimize makespan and Degree of imbalance while balancing the load. So, the fitness function can be represented as follows by <xref ref-type="disp-formula" rid="eqn-17">Eq. (17)</xref> using <xref ref-type="disp-formula" rid="eqn-8">Eqs. (8)</xref> and <xref ref-type="disp-formula" rid="eqn-16">(16)</xref> [<xref ref-type="bibr" rid="ref-35">35</xref>,<xref ref-type="bibr" rid="ref-36">36</xref>]:</p>
<p><disp-formula id="eqn-17"><label>(17)</label><mml:math id="mml-eqn-17" display="block"><mml:mrow><mml:mi mathvariant="italic">F</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">n</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">s</mml:mi><mml:mi mathvariant="italic">s</mml:mi></mml:mrow><mml:mspace width="thickmathspace" /><mml:mrow><mml:mi mathvariant="italic">f</mml:mi><mml:mi mathvariant="italic">u</mml:mi><mml:mi mathvariant="italic">n</mml:mi><mml:mi mathvariant="italic">c</mml:mi><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mo>,</mml:mo><mml:mi>F</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2217;</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2217;</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msup></mml:math></disp-formula>where <inline-formula id="ieqn-45"><mml:math id="mml-ieqn-45"><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-46"><mml:math id="mml-ieqn-46"><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, are objective functions for makespan and Degree of imbalance. Here, e is the exponential function and <inline-formula id="ieqn-47"><mml:math id="mml-ieqn-47"><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-48"><mml:math id="mml-ieqn-48"><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> are weights corresponding to the <inline-formula id="ieqn-49"><mml:math id="mml-ieqn-49"><mml:mi>f</mml:mi><mml:mn>1</mml:mn></mml:math></inline-formula> and <inline-formula id="ieqn-50"><mml:math id="mml-ieqn-50"><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> s.t. <inline-formula id="ieqn-51"><mml:math id="mml-ieqn-51"><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> and <inline-formula id="ieqn-52"><mml:math id="mml-ieqn-52"><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>. Weights may be assigned on the basis of the choice or preference of a particular parameter. In the case of equal preference, each weight can be assigned a value of 0.5, so their total should be equal to 1. Hence, the proposed hybrid load balancing technique efficiently balances the mobile cloud load based on the above fitness function.</p>
</sec>
<sec id="s5">
<label>5</label>
<title>Proposed Methodology</title>
<p>This section presents the concept of Fuzzy, firefly with levy flight, and their hybridization to achieve load balancing on the mobile cloud.</p>
<sec id="s5_1">
<label>5.1</label>
<title>Fuzzy Based Decision Maker</title>
<p>The Decision-making process is time-consuming, and sometimes regular computations may not find optimal solutions. Fuzzy systems can be successfully applied in areas of decision making and automatic control with good decisions and results within a short time [<xref ref-type="bibr" rid="ref-37">37</xref>]. Lotfi Zadeh developed the fuzzy logic system in 1965 to solve complex problems with incomplete and imprecise data [<xref ref-type="bibr" rid="ref-38">38</xref>]. They can solve problems by deciding like human beings. Fuzzy logic does not have preset limits but has percentile logic. Depending on membership degree, inputs can be assigned true or false, resulting in certainty or uncertainty to the specified set of inputs. Fuzzy logic provides evenness among true and false values without using any mathematical model. Optimization using fuzzy logic is simple, fast, and adaptive, leading to system stability.</p>
<p>The fundamental steps of the fuzzy system are as follows:
<list list-type="bullet">
<list-item>
<p>Fuzzification: Converting crisp input values to linguistic terms or fuzzified input</p></list-item>
<list-item>
<p>Fuzzy Inference: Fuzzified output by applying rule base</p></list-item>
<list-item>
<p>Defuzzification: Converting the fuzzy output to crisp values</p></list-item>
</list></p>
<p>Let the set of items x are represented by X, where x represents an ordered pair for fuzzy set F shown by <xref ref-type="disp-formula" rid="eqn-18">Eq. (18)</xref>.</p>
<p><disp-formula id="eqn-18"><label>(18)</label><mml:math id="mml-eqn-18" display="block"><mml:mi>F</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mrow><mml:mrow><mml:mtext>&#x03BC;</mml:mtext></mml:mrow></mml:mrow><mml:mi mathvariant="bold">F</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="bold">x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mi mathvariant="bold">X</mml:mi><mml:mo>}</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>The triangular membership function is used for the fuzzification process, as given by <xref ref-type="disp-formula" rid="eqn-19">Eq. (19)</xref>.</p>
<p><disp-formula id="eqn-19"><label>(19)</label><mml:math id="mml-eqn-19" display="block"><mml:mrow><mml:mi mathvariant="italic">T</mml:mi><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">n</mml:mi><mml:mi mathvariant="italic">g</mml:mi><mml:mi mathvariant="italic">l</mml:mi><mml:mi mathvariant="italic">e</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:mi>c</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:mn>0</mml:mn><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:mi>x</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mi>a</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi>x</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>a</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:mi>a</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mi>x</mml:mi><mml:mo>&#x2265;</mml:mo><mml:mi>b</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mfrac><mml:mrow><mml:mi>c</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>b</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:mi>b</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mi>x</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mi>c</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn><mml:mo>,</mml:mo></mml:mtd><mml:mtd><mml:mi>c</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mi>x</mml:mi></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>The proposed method uses a Sugeno fuzzy inference system for cloudlet selection. Inputs are capacity and waiting time, as shown in <xref ref-type="fig" rid="fig-2">Fig. 2</xref>. Based on the input and rule base shown in <xref ref-type="table" rid="table-1">Tab. 1</xref>, the best cloudlet is selected for processing tasks. <xref ref-type="fig" rid="fig-3">Fig. 3</xref> gives a graphical representation of the rule base.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>Fuzzy decision maker</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_31729-fig-2.png"/>
</fig>
<table-wrap id="table-1">
<label>Table 1</label>
<caption>
<title>Fuzzy rule base</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th>Remaining capacity</th>
<th align="center" colspan="3">Waiting time</th>
</tr>
<tr>
<th/>
<th>Low</th>
<th>Medium</th>
<th>High</th>
</tr>
</thead>
<tbody>
<tr>
<td>Low</td>
<td>Medium</td>
<td>Low</td>
<td>Very Low</td>
</tr>
<tr>
<td>Medium</td>
<td>High</td>
<td>Medium</td>
<td>Very Low</td>
</tr>
<tr>
<td>High</td>
<td>Very High</td>
<td>High</td>
<td>Medium</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>Graphical representation of rule base</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_31729-fig-3.png"/>
</fig>
<p>The defuzzification process is about finding a crisp value from the output of the accumulated fuzzy set. If x and y are fuzzy inputs, then fuzzy rule output will be given as by <xref ref-type="disp-formula" rid="eqn-20">Eq. (20)</xref>.</p>
<p><disp-formula id="eqn-20"><label>(20)</label><mml:math id="mml-eqn-20" display="block"><mml:mi>z</mml:mi><mml:mo>=</mml:mo><mml:mi>p</mml:mi><mml:mo>&#x2217;</mml:mo><mml:mi>x</mml:mi><mml:mo>+</mml:mo><mml:mi>q</mml:mi><mml:mo>&#x2217;</mml:mo><mml:mi>y</mml:mi><mml:mo>+</mml:mo><mml:mi>r</mml:mi></mml:math></disp-formula>where p, q, and r are constants. The final fuzzy output is the weighted average of all rules output; it is evaluated using <xref ref-type="disp-formula" rid="eqn-21">Eq. (21)</xref>.</p>
<p><disp-formula id="eqn-21"><label>(21)</label><mml:math id="mml-eqn-21" display="block"><mml:mrow><mml:mi mathvariant="italic">F</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">n</mml:mi><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">l</mml:mi></mml:mrow><mml:mspace width="thickmathspace" /><mml:mrow><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">u</mml:mi><mml:mi mathvariant="italic">t</mml:mi><mml:mi mathvariant="italic">p</mml:mi><mml:mi mathvariant="italic">u</mml:mi><mml:mi mathvariant="italic">t</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2217;</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:math></disp-formula>where <inline-formula id="ieqn-53"><mml:math id="mml-ieqn-53"><mml:mi>N</mml:mi></mml:math></inline-formula> indicates the number of rules in a fuzzy system. <inline-formula id="ieqn-54"><mml:math id="mml-ieqn-54"><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> represents the weight corresponding to <inline-formula id="ieqn-55"><mml:math id="mml-ieqn-55"><mml:msup><mml:mi>i</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> Fuzzy rule.</p>
<p>The main objective of FDM is to select a cloudlet for further processing, and the output of FDM is fed as input to the FA for allocating tasks on VM with load balancing.</p>
</sec>
<sec id="s5_2">
<label>5.2</label>
<title>Firefly Algorithm</title>
<p>A nature-inspired meta-heuristic technique like FA is a powerful optimization technique for solving various problems. Meta-heuristic algorithms are gaining popularity due to their simplicity, versatility, and high efficiency. One such meta-heuristic technique is firefly which is widely used for problem-solving. A critical factor in the success of this algorithm is a proper balance between solution diversification and speed over another technique [<xref ref-type="bibr" rid="ref-39">39</xref>]. FA was developed by Yaung [<xref ref-type="bibr" rid="ref-40">40</xref>] in late 2007 and 2008. The basic idea of FA is that flies produce flashes, and one firefly is attracted to the brighter one. Attraction depends on brightness. A less bright fly will move towards a brighter one for a couple of flashing flies. If no brighter flies are there than a particular, that fly will move randomly in search space. Some flashing rules of standard FA are as follows:
<list list-type="bullet">
<list-item>
<p>All the fireflies are unisex, so one firefly is attracted to another despite the sex.</p></list-item>
<list-item>
<p>Attraction directly depends on brightness, which decreases with distance.</p></list-item>
<list-item>
<p>The objective function determines the brightness of a firefly.</p></list-item>
</list></p>
<sec id="s5_2_1">
<label>5.2.1</label>
<title>Attractiveness and Brightness</title>
<p>Attraction depends on the brightness of the firefly, which is associated with the objective function. A less bright fly will move towards a brighter one for a couple of flashing flies. If no brighter flies are there than a particular, that fly will move randomly in search space. Brightness decreases with distance from the source and is also absorbed by the environment. Brightness or light intensity is given by <xref ref-type="disp-formula" rid="eqn-22">Eq. (22)</xref>.</p>
<p><disp-formula id="eqn-22"><label>(22)</label><mml:math id="mml-eqn-22" display="block"><mml:mi>I</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mi mathvariant="normal">&#x03B3;</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:msup></mml:math></disp-formula>where the intensity at the source is <inline-formula id="ieqn-56"><mml:math id="mml-ieqn-56"><mml:msub><mml:mi>I</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and distance between two flies is r. <inline-formula id="ieqn-57"><mml:math id="mml-ieqn-57"><mml:mrow><mml:mi mathvariant="normal">&#x03B3;</mml:mi></mml:mrow></mml:math></inline-formula> is light absorption coefficient, and it controls the speed of convergence of the solution. Based on it, attractiveness is given by <xref ref-type="disp-formula" rid="eqn-23">Eq. (23)</xref>.</p>
<p><disp-formula id="eqn-23"><label>(23)</label><mml:math id="mml-eqn-23" display="block"><mml:mrow><mml:mi mathvariant="normal">&#x03B2;</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03B2;</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mi mathvariant="normal">&#x03B3;</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:msup></mml:math></disp-formula>where <inline-formula id="ieqn-58"><mml:math id="mml-ieqn-58"><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03B2;</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> is attractiveness at source, i.e., <inline-formula id="ieqn-59"><mml:math id="mml-ieqn-59"><mml:mi>r</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>.</p>
</sec>
<sec id="s5_2_2">
<label>5.2.2</label>
<title>Distance between Fireflies</title>
<p>Distance between two fireflies i and j at positions <inline-formula id="ieqn-60"><mml:math id="mml-ieqn-60"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-61"><mml:math id="mml-ieqn-61"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> can be defined by Euclidian distance given by <xref ref-type="disp-formula" rid="eqn-24">Eq. (24)</xref> [<xref ref-type="bibr" rid="ref-40">40</xref>].</p>
<p><disp-formula id="eqn-24"><label>(24)</label><mml:math id="mml-eqn-24" display="block"><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msqrt><mml:msubsup><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>d</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:msqrt></mml:math></disp-formula>where <inline-formula id="ieqn-62"><mml:math id="mml-ieqn-62"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the <inline-formula id="ieqn-63"><mml:math id="mml-ieqn-63"><mml:msup><mml:mi>k</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> component of spatial coordinate <inline-formula id="ieqn-64"><mml:math id="mml-ieqn-64"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> of <inline-formula id="ieqn-65"><mml:math id="mml-ieqn-65"><mml:msup><mml:mi>j</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> firefly and d represent the number of dimensions. For two dimensions, d is 2, and distance is given by <xref ref-type="disp-formula" rid="eqn-25">Eq. (25)</xref></p>
<p><disp-formula id="eqn-25"><label>(25)</label><mml:math id="mml-eqn-25" display="block"><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msqrt><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:msqrt></mml:math></disp-formula></p>
</sec>
<sec id="s5_2_3">
<label>5.2.3</label>
<title>Positions Update</title>
<p>Position update when firefly <inline-formula id="ieqn-66"><mml:math id="mml-ieqn-66"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> moves towards firefly <inline-formula id="ieqn-67"><mml:math id="mml-ieqn-67"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. It is given by <xref ref-type="disp-formula" rid="eqn-26">Eq. (26)</xref>.</p>
<p><disp-formula id="eqn-26"><label>(26)</label><mml:math id="mml-eqn-26" display="block"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mrow><mml:mi mathvariant="normal">&#x03B2;</mml:mi></mml:mrow><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mi mathvariant="normal">&#x03B3;</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:mi mathvariant="normal">&#x03B1;</mml:mi></mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="normal">&#x03B5;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></disp-formula></p>
<p>The first term represents the current position of the firefly, the second term represents attractiveness, and the third term gives random movement. &#x03B1; is the randomization parameter &#x03B1; &#x2208; [0,1], and &#x03B5; gives random distribution, such as uniform distribution.</p>
</sec>
</sec>
<sec id="s5_3">
<label>5.3</label>
<title>Levy Flight</title>
<p>It is observed from the swarm behavior of fireflies [<xref ref-type="bibr" rid="ref-41">41</xref>] that FA often traps into local optimum and converges prematurely. These flies explore the search space through a series of straight flight paths punctuated by a 90&#x00B0; turn, which creates a levy-flight type search pattern. Yaung [<xref ref-type="bibr" rid="ref-40">40</xref>] introduced a levy-flight-based FA to enhance the exploration ability of global search space. It provides randomization through levy distribution instead of conventional uniform distribution. The position update equation is modified to the following <xref ref-type="disp-formula" rid="eqn-27">Eq. (27)</xref>.</p>
<p><disp-formula id="eqn-27"><label>(27)</label><mml:math id="mml-eqn-27" display="block"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mrow><mml:mi mathvariant="normal">&#x03B2;</mml:mi></mml:mrow><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mi mathvariant="normal">&#x03B3;</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mi>r</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:mi mathvariant="normal">&#x03B1;</mml:mi></mml:mrow><mml:mi>sin</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi mathvariant="normal">&#x03B5;</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2297;</mml:mo><mml:mi>L</mml:mi><mml:mi>e</mml:mi><mml:mi>v</mml:mi><mml:mi>y</mml:mi></mml:math></disp-formula></p>
<p>The symbol<inline-formula id="ieqn-1000"><mml:math id="mml-ieqn-1000"><mml:mo>&#x2297;</mml:mo></mml:math></inline-formula> represents a component-wise multiplication among the random vector from the Levy distribution and the sign vector.</p>
</sec>
<sec id="s5_4">
<label>5.4</label>
<title>Fuzzy Firefly Algorithm with Levy Flight (FFALF)</title>
<p>The proposed FFALF provides better results in solving load balancing problems in heterogeneous and platform-independent environments than already existing techniques. This algorithm assigns tasks to reliable VMs. VM&#x2019;s reliability decreases over time as load increases. This algorithm selects a more reliable VM based on fitness function while balancing the load. <xref ref-type="fig" rid="fig-5">Fig. 5</xref> represents the proposed algorithm. Firstly, the proposed algorithm checks the cloudlet availability in the vicinity based on waiting time and remaining capacity. A fuzzy decision-maker selects the cloudlet or cloud for task offloading as this decision-making is fuzzy [<xref ref-type="bibr" rid="ref-42">42</xref>]. A fuzzy system is best for dealing with complex and uncertain problems. The output of FDM is used as an initial population for the FA. Different parameters value used in firefly is shown in <xref ref-type="table" rid="table-2">Tab. 2</xref> [<xref ref-type="bibr" rid="ref-40">40</xref>,<xref ref-type="bibr" rid="ref-41">41</xref>].</p>
<table-wrap id="table-2">
<label>Table 2</label>
<caption>
<title>Parameters values for firefly</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th>Parameter</th>
<th>Value range</th>
<th>Optimal value</th>
</tr>
</thead>
<tbody>
<tr>
<td>Population Size</td>
<td>[50]</td>
<td>50</td>
</tr>
<tr>
<td>&#x237A;</td>
<td>[0.1,10]</td>
<td>0.5</td>
</tr>
<tr>
<td>&#x03B2;</td>
<td>[0,1]</td>
<td>0.2</td>
</tr>
<tr>
<td>&#x03B3;</td>
<td>[0,1]</td>
<td>0.5</td>
</tr>
<tr>
<td><inline-formula id="ieqn-69"><mml:math id="mml-ieqn-69"><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>[0,1]</td>
<td>0.5</td>
</tr>
<tr>
<td><inline-formula id="ieqn-70"><mml:math id="mml-ieqn-70"><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>[0,1]</td>
<td>0.5</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Here, tasks from users arrive arbitrarily, as shown by [<xref ref-type="bibr" rid="ref-43">43</xref>].In our algorithm <inline-formula id="ieqn-68"><mml:math id="mml-ieqn-68"><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is solution space represented by an array. Array index designates the task, and array value designates the VM on which the corresponding task has been scheduled. For example, with five tasks and 2 VMs, their mapping is shown in <xref ref-type="fig" rid="fig-4">Fig. 4</xref>. Tasks 1, 3, and 5 are mapped to the 2<sup>nd</sup> VM and 2, 5 to the 1<sup>st</sup> VM.</p>
<fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>Solution space</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_31729-fig-4.png"/>
</fig>
<fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>Fuzzy Firefly Algorithm with Levy Flight (FFALF)</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_31729-fig-5.png"/>
</fig>
<p>After generating the initial population, the fitness of all fireflies is calculated using the objective function shown by <xref ref-type="disp-formula" rid="eqn-17">Eq. (17)</xref>. Here, attraction is inversely related to the objective function. A smaller value of the objective function means more attraction [<xref ref-type="bibr" rid="ref-44">44</xref>]. It is observed from the swarm behavior of fireflies [<xref ref-type="bibr" rid="ref-41">41</xref>] that flies follow a logarithmic spiral path in search space. Although this logarithmic path leads to the exploitation of local search space, it traps in the local optimum. Levy flight is used with firefly to find the optimal solution shown by <xref ref-type="disp-formula" rid="eqn-27">Eq. (27)</xref>. It helps in coming out of local optimum and provides more search space exploration.</p>
<p>FFALF is a novel algorithm as, firstly, it makes cloudlet selection to provide a faster response to users. In the past, little work is done for cloudlet selection. Secondly, it uses levy flight with the firefly algorithm for uniform task allocation to VMs. Firefly with Levy Flight increases the probability of jumping out of the local optimum and works ideally both in underloading and overloading situations of VMs.</p>
</sec>
</sec>
<sec id="s6">
<label>6</label>
<title>Performance Evaluations</title>
<p>In this section, we discuss simulation setup and results obtained in different scenarios using a simulated mobile cloud network.</p>
<sec id="s6_1">
<label>6.1</label>
<title>Simulation Setup</title>
<p>Simulation has been carried out on a 64-bit Windows 8 machine having Intel Core i3 and 4 GB RAM using the Cloud Analyst tool with Eclipse Java Neon.3 IDE. The proposed work is compared with dynamic algorithms ACOQDM [<xref ref-type="bibr" rid="ref-24">24</xref>], DSOA [<xref ref-type="bibr" rid="ref-25">25</xref>], UFA [<xref ref-type="bibr" rid="ref-26">26</xref>], in two different scenarios, i.e., different number of tasks and different number of VMs. Two datasets, NASA and CLARKNET [<xref ref-type="bibr" rid="ref-24">24</xref>], are used for evaluation purposes. <xref ref-type="table" rid="table-3">Tab. 3</xref> represents simulation parameters for users, tasks, cloudlet, VMs, and hosts.</p>
<table-wrap id="table-3">
<label>Table 3</label>
<caption>
<title>Simulation parameters</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th>Entities</th>
<th>Simulation parameters</th>
<th>Range of values</th>
</tr>
</thead>
<tbody>
<tr>
<td>Users</td>
<td>No. of users</td>
<td>10&#x2013;80</td>
</tr>
<tr>
<td>Tasks</td>
<td>No of tasks<break/>Size of task<break/>Task arrival rate</td>
<td>100&#x2013;500<break/>100&#x2013;500 MI<break/>10&#x2013;300 requests/sec</td>
</tr>
<tr>
<td>Cloudlet</td>
<td>No. of cloudlet<break/>No. of servers in cloudlet<break/>No. of VMs on cloudlet<break/>Bandwidth<break/>Processing speed</td>
<td>10&#x2013;15<break/>1&#x2013;5<break/>5&#x2013;25<break/>100&#x2013;200 Mbps<break/>50&#x2013;300 MIPS</td>
</tr>
<tr>
<td>Cloud</td>
<td>No. of VMs on cloud<break/>Bandwidth<break/>Processing speed</td>
<td>50&#x2013;100<break/>10000 Mbps<break/>1000&#x2013;2000 MIPS</td>
</tr>
<tr>
<td>VM</td>
<td>Type of policy<break/>Type of VMM<break/>Operating system<break/>No of processors</td>
<td>Space shared<break/>Xen<break/>Linux<break/>one each</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s6_2">
<label>6.2</label>
<title>Results and Discussion</title>
<p>Comparisons are performed in two scenarios: one based on the number of VMs and another based on the number of tasks.</p>
<p><xref ref-type="fig" rid="fig-6">Figs. 6</xref> and <xref ref-type="fig" rid="fig-7">7</xref> show the makespan of the hybrid FFALF algorithm using CLARKNET and NASA datasets, respectively. It is observed that UFA gives a lesser makespan when the number of tasks is smaller. However, FFALF outperforms all when the number of tasks or no. of VMs increases as it allocates tasks to the most reliable VMs.</p>
<fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>Makespan on CLARKNET dataset (a: different no. of tasks with 60 VM, b: different no. of VMs with 300 tasks)</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_31729-fig-6.png"/>
</fig>
<fig id="fig-7">
<label>Figure 7</label>
<caption>
<title>Makespan on NASA dataset (a: different no. of tasks with 60 VM, b: different no. of VMs with 300 tasks)</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_31729-fig-7.png"/>
</fig>
<p><xref ref-type="fig" rid="fig-8">Fig. 8</xref> shows a degree of imbalance (DI) for the proposed algorithm on two different datasets. A lesser value of DI indicates better load distribution. From <xref ref-type="fig" rid="fig-7">Fig. 7</xref>, it is observed that the proposed algorithm outperforms all as the tasks increase. In FFALF, cloudlet selection is made based on the remaining resource capacity for task allocation, leading to the uniform load distribution. Further, firefly with levy flight is used for uniform distribution of tasks on cloudlet and cloud.</p>
<fig id="fig-8">
<label>Figure 8</label>
<caption>
<title>Degree of imbalance (a: on CLARKNET dataset, b: on NASA dataset)</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_31729-fig-8.png"/>
</fig>
<p>Makespan and Degree of imbalance are considered for performance evaluation of all algorithms. The Figure of Merit is evaluated using <xref ref-type="disp-formula" rid="eqn-28">Eq. (28)</xref>, which considers desired parameters in each algorithm. When FFALF is compared with ACOQDM, DSOA, and UFA, It is observed that the FFALF attains higher success rates by strengthening the exploration in the global search space.</p>
<p><disp-formula id="eqn-28"><label>(28)</label><mml:math id="mml-eqn-28" display="block"><mml:mi>F</mml:mi><mml:mi>o</mml:mi><mml:mi>M</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi mathvariant="italic">m</mml:mi><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">k</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">s</mml:mi><mml:mi mathvariant="italic">p</mml:mi><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">n</mml:mi></mml:mrow><mml:mo>+</mml:mo><mml:mi>D</mml:mi><mml:mi>I</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>Overall, it can be seen from <xref ref-type="fig" rid="fig-9">Fig. 9</xref> that FFALF performs better than the others. In conclusion, FFALF excels UFA, DSOA, and ACOQDM at about 17.39%, 10.20%, and 20%, respectively, on the CLARKNET dataset and 20.42%, 10.98%, 17.91% on the NASA dataset, respectively.</p>
<fig id="fig-9">
<label>Figure 9</label>
<caption>
<title>Figure of merit on CLARKNET and NASA dataset</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMC_31729-fig-9.png"/>
</fig>
</sec>
</sec>
<sec id="s7">
<label>7</label>
<title>Conclusion and Future Work</title>
<p>A novel intelligent hybrid meta-heuristic algorithm for better assignment of offloaded tasks in an MCC environment is proposed in this paper. The proposed technique implicitly acts intelligently as the fuzzy system is an integral part of artificial intelligence, automatically deciding based on input values and rule base. Secondly, Fireflies use swarm intelligence in terms of specific rules derived from their swarm behavior, ensuring interaction between various flies. Thirdly, the proposed algorithm automatically adjusts its behavior or converges depending on the information gathered and provides balance in underloaded and overloaded situations. The simulation was carried out in Cloud Analyst, and performance is compared with UFA, DSOA, and ACOQDM on two different datasets, NASA and CLARKNET. The results show that the FFALF excels in UFA, DSOA, and ACOQDM at about 17.39%, 10.20%, and 20%, respectively, on the CLARKNET dataset and 20.42%, 10.98%, and 17.91% on the NASA dataset while balancing the load. In this algorithm, the mobility of users is not considered, so this algorithm can be best applied in indoor environments like shopping marts, supermarkets, malls, and hospitals, where users are considered stationary. Secondly, this algorithm cannot partition large tasks, which can be distributed among multiple cloudlets simultaneously to achieve parallelism. Hence, in the future, this work can be extended by considering the mobility of users and task partitioning.</p>
</sec>
</body>
<back>
<fn-group>
<fn fn-type="other"><p><bold>Funding Statement:</bold> This research work is funded by University Grant Commission with UGC-Ref. No.: 3364/(NET-JUNE 2015).</p>
</fn>
<fn fn-type="conflict"><p><bold>Conflicts of Interest:</bold> The authors declare that they have no conflicts of interest to report regarding the present study.</p>
</fn>
</fn-group>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>H. T.</given-names> <surname>Dinh</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Lee</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Niyato</surname></string-name> and <string-name><given-names>P.</given-names> <surname>Wang</surname></string-name></person-group>, &#x201C;<article-title>A survey of mobile cloud computing: architecture, applications, and approaches</article-title>,&#x201D; <source>Wireless Communications and Mobile Computing</source>, vol. <volume>13</volume>, no. <issue>18</issue>, pp. <fpage>1587</fpage>&#x2013;<lpage>1611</lpage>, <year>2013</year>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Zhong</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Wang</surname></string-name> and <string-name><given-names>H.</given-names> <surname>Wei</surname></string-name></person-group>, &#x201C;<article-title>Cloud computing applied in the mobile internet</article-title>,&#x201D; in <conf-name>Proc. ICCSE</conf-name>, <publisher-loc>Melbourne, VIC, Australia</publisher-loc>, pp. <fpage>218</fpage>&#x2013;<lpage>221</lpage>, <year>2012</year>. </mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>S. S.</given-names> <surname>Qureshi</surname></string-name>, <string-name><given-names>T.</given-names> <surname>Ahmad</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Rafique</surname></string-name> and <string-name><surname>Shuja-ul-islam</surname></string-name></person-group>, &#x201C;<article-title>Mobile cloud computing as future for mobile applications - Implementation methods and challenging issues</article-title>,&#x201D; in <conf-name>Proc. ICCCIS</conf-name>, <publisher-loc>Beijing, China</publisher-loc>, pp. <fpage>467</fpage>&#x2013;<lpage>471</lpage>, <year>2011</year>. </mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>P.</given-names> <surname>Mell</surname></string-name> and <string-name><given-names>T.</given-names> <surname>Grance</surname></string-name></person-group>, &#x201C;<article-title>The NIST definition of cloud computing</article-title>,&#x201D; <source>National Institute of Standards and Technology</source>, vol. <volume>53</volume>, no. <issue>6</issue>, pp. <fpage>50</fpage>, <year>2009</year>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>P.</given-names> <surname>Baldoss</surname></string-name> and <string-name><given-names>G.</given-names> <surname>Thangavel</surname></string-name></person-group>, &#x201C;<article-title>Optimal resource allocation and quality of service prediction in cloud</article-title>,&#x201D; <source>Computers, Materials &#x0026; Continua</source>, vol. <volume>67</volume>, no. <issue>1</issue>, pp. <fpage>253</fpage>&#x2013;<lpage>265</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>E. N.</given-names> <surname>Al-Khanak</surname></string-name>, <string-name><given-names>S. P.</given-names> <surname>Lee</surname></string-name>, <string-name><given-names>S. U. R.</given-names> <surname>Khan</surname></string-name>, <string-name><given-names>N.</given-names> <surname>Behboodian</surname></string-name>, <string-name><given-names>O. I.</given-names> <surname>Khalaf</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>A heuristics-based cost model for scientific workflow scheduling in cloud</article-title>,&#x201D; <source>Computers, Materials &#x0026; Continua</source>, vol. <volume>67</volume>, no. <issue>3</issue>, pp. <fpage>3265</fpage>&#x2013;<lpage>3282</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Jararweh</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Tawalbeh</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Ababneh</surname></string-name> and <string-name><given-names>F.</given-names> <surname>Dosari</surname></string-name></person-group>, &#x201C;<article-title>Resource efficient mobile computing using cloudlet infrastructure</article-title>,&#x201D; in <conf-name>Proc. ICMASN</conf-name>, <publisher-loc>Dalian, China</publisher-loc>, pp. <fpage>373</fpage>&#x2013;<lpage>377</lpage>, <year>2013</year>. </mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Satyanarayanan</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Bahl</surname></string-name>, <string-name><given-names>R.</given-names> <surname>Caceres</surname></string-name> and <string-name><given-names>N.</given-names> <surname>Davies</surname></string-name></person-group>, &#x201C;<article-title>The case for vm-based cloudlets in mobile computing</article-title>,&#x201D; <source>Pervasive Computing</source>, vol. <volume>8</volume>, no. <issue>4</issue>, pp. <fpage>14</fpage>&#x2013;<lpage>23</lpage>, <year>2009</year>.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>K.</given-names> <surname>Dolui</surname></string-name> and <string-name><given-names>S. K.</given-names> <surname>Datta</surname></string-name></person-group>, &#x201C;<article-title>Comparison of edge computing implementations: Fog computing, cloudlet and mobile edge computing</article-title>,&#x201D; in <conf-name>Proc. GIoTS</conf-name>, <publisher-loc>Geneva, Switzerland</publisher-loc>, pp. <fpage>1</fpage>&#x2013;<lpage>6</lpage>, <year>2017</year>. </mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Satyanarayanan</surname></string-name>, <string-name><given-names>G.</given-names> <surname>Lewis</surname></string-name>, <string-name><given-names>E.</given-names> <surname>Morris</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Simanta</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Boleng</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>The role of cloudlets in hostile environments</article-title>,&#x201D; <source>Pervasive Computing</source>, vol. <volume>12</volume>, no. <issue>4</issue>, pp. <fpage>40</fpage>&#x2013;<lpage>49</lpage>, <year>2013</year>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>C. R.</given-names> <surname>Panigrahi</surname></string-name>, <string-name><given-names>J. L.</given-names> <surname>Sarkar</surname></string-name> and <string-name><given-names>B.</given-names> <surname>Pati</surname></string-name></person-group>, &#x201C;<article-title>Transmission in mobile cloudlet systems with intermittent connectivity in emergency areas</article-title>,&#x201D; <source>Digital Communications and Networks</source>, vol. <volume>4</volume>, no. <issue>1</issue>, pp. <fpage>69</fpage>&#x2013;<lpage>75</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Arunarani</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Manjula</surname></string-name> and <string-name><given-names>V.</given-names> <surname>Sugumaran</surname></string-name></person-group>, &#x201C;<article-title>Task scheduling techniques in cloud computing: A literature survey</article-title>,&#x201D; <source>Future Generation Computer Systems</source>, vol. <volume>91</volume>, no. <issue>4</issue>, pp. <fpage>407</fpage>&#x2013;<lpage>415</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>K.</given-names> <surname>Li</surname></string-name></person-group>, &#x201C;<article-title>Scheduling parallel tasks with energy and time constraints on multiple many core processors in a cloud computing environment</article-title>,&#x201D; <source>Future Generation Computer Systems</source>, vol. <volume>82</volume>, no. <issue>2</issue>, pp. <fpage>591</fpage>&#x2013;<lpage>605</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>G.</given-names> <surname>Patel</surname></string-name>, <string-name><given-names>R.</given-names> <surname>Mehta</surname></string-name> and <string-name><given-names>U.</given-names> <surname>Bhoi</surname></string-name></person-group>, &#x201C;<article-title>Enhanced load balanced min-min algorithm for static meta task scheduling in cloud computing</article-title>,&#x201D; <source>Procedia Computer Science</source>, vol. <volume>57</volume>, pp. <fpage>545</fpage>&#x2013;<lpage>553</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Poonam</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Sangwan</surname></string-name></person-group>, &#x201C;<article-title>A comparative study of various load balancing algorithms in cloud computing environment</article-title>,&#x201D; <source>IJARET</source>, vol. <volume>11</volume>, no. <issue>12</issue>, pp. <fpage>2735</fpage>&#x2013;<lpage>2760</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>U.</given-names> <surname>Bhoi</surname></string-name> and <string-name><given-names>P. N.</given-names> <surname>Ramanuj</surname></string-name></person-group>, &#x201C;<article-title>Enhanced max-min task scheduling algorithm in cloud computing</article-title>,&#x201D; <source>International Journal of Application or Innovation in Engineering and Management</source>, vol. <volume>2</volume>, no. <issue>4</issue>, pp. <fpage>259</fpage>&#x2013;<lpage>264</lpage>, <year>2013</year>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Yang</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Pan</surname></string-name>, <string-name><given-names>E.</given-names> <surname>Zhang</surname></string-name> and <string-name><given-names>H.</given-names> <surname>Liu</surname></string-name></person-group>, &#x201C;<article-title>A new class of priority-based weighted fair scheduling algorithm</article-title>,&#x201D; <source>Physics Procedia</source>, vol. <volume>33</volume>, pp. <fpage>942</fpage>&#x2013;<lpage>948</lpage>, <year>2012</year>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Tawfeek</surname></string-name>, <string-name><given-names>A.</given-names> <surname>El-Sisi</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Keshk</surname></string-name> and <string-name><given-names>F.</given-names> <surname>Torkey</surname></string-name></person-group>, &#x201C;<article-title>Cloud task scheduling based on ant colony optimization</article-title>,&#x201D; <source>The International Arab Journal of Information Technology</source>, vol. <volume>21</volume>, no. <issue>2</issue>, pp. <fpage>129</fpage>&#x2013;<lpage>137</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Poonam</surname></string-name>, <string-name><surname>Suman</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Singh</surname></string-name></person-group>, &#x201C;<article-title>Load balancing algorithms in cloud computing environment</article-title>,&#x201D; <source>International Journal of Advanced Research in Computer Science</source>, vol. <volume>9</volume>, no. <issue>2</issue>, pp. 397&#x2013;401, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Guo</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Zhao</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Shen</surname></string-name> and <string-name><given-names>C.</given-names> <surname>Jiang</surname></string-name></person-group>, &#x201C;<article-title>Task scheduling optimization in cloud computing based on heuristic algorithm</article-title>,&#x201D; <source>Journal of Networks</source>, vol. <volume>7</volume>, no. <issue>3</issue>, pp. <fpage>547</fpage>&#x2013;<lpage>553</lpage>, <year>2012</year>.</mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Taheri</surname></string-name>, <string-name><given-names>A. Y.</given-names> <surname>Zomaya</surname></string-name>, <string-name><given-names>H. J.</given-names> <surname>Siegel</surname></string-name> and <string-name><given-names>Z.</given-names> <surname>Tari</surname></string-name></person-group>, &#x201C;<article-title>Pareto frontier for job execution and data transfer time in hybrid clouds</article-title>,&#x201D; <source>Future Generation Computer Systems</source>, vol. <volume>37</volume>, pp. <fpage>321</fpage>&#x2013;<lpage>334</lpage>, <year>2014</year>.</mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Chunlin</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Xin</surname></string-name> and <string-name><given-names>L.</given-names> <surname>LaYuan</surname></string-name></person-group>, &#x201C;<article-title>Flexible service provisioning based on context constraint for enhancing user experience in service oriented mobile cloud</article-title>,&#x201D; <source>Journal of Network and Computer Applications</source>, vol. <volume>66</volume>, no. <issue>1</issue>, pp. <fpage>250</fpage>&#x2013;<lpage>261</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-23"><label>[23]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Chunlin</surname></string-name> and <string-name><given-names>L.</given-names> <surname>LaYuan</surname></string-name></person-group>, &#x201C;<article-title>Cost and energy aware service provisioning for mobile client in cloud computing environment</article-title>,&#x201D; <source>The Journal of Supercomputing</source>, vol. <volume>71</volume>, no. <issue>4</issue>, pp. <fpage>1196</fpage>&#x2013;<lpage>1223</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-24"><label>[24]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Rashidi</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Sharifian</surname></string-name></person-group>, &#x201C;<article-title>A hybrid heuristic queue based algorithm for task assignment in mobile cloud</article-title>,&#x201D; <source>Future Generation Computer Systems</source>, vol. <volume>68</volume>, no. <issue>2</issue>, pp. <fpage>331</fpage>&#x2013;<lpage>345</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-25"><label>[25]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Chunlin</surname></string-name>, <string-name><given-names>T.</given-names> <surname>Jianhang</surname></string-name> and <string-name><given-names>L.</given-names> <surname>Youlong</surname></string-name></person-group>, &#x201C;<article-title>Distributed QoS-aware scheduling optimization for resource-intensive mobile application in hybrid cloud</article-title>,&#x201D; <source>Cluster Computing</source>, vol. <volume>21</volume>, no. <issue>2</issue>, pp. <fpage>1331</fpage>&#x2013;<lpage>1348</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-26"><label>[26]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M. T.</given-names> <surname>Tapale</surname></string-name>, <string-name><given-names>R. H.</given-names> <surname>Goudar</surname></string-name>, <string-name><given-names>M. N.</given-names> <surname>Birje</surname></string-name> and <string-name><given-names>R. S.</given-names> <surname>Patil</surname></string-name></person-group>, &#x201C;<article-title>Utility based load balancing using firefly algorithm in cloud</article-title>,&#x201D; <source>Journal of Data, Information and Management</source>, vol. <volume>2</volume>, no. <issue>4</issue>, pp. <fpage>215</fpage>&#x2013;<lpage>224</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-27"><label>[27]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Wu</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Liao</surname></string-name>, <string-name><given-names>Y. W.</given-names> <surname>Jung</surname></string-name> and <string-name><given-names>J. U.</given-names> <surname>Kim</surname></string-name></person-group>, &#x201C;<article-title>An enhanced PROMOT algorithm with D2D and robust for mobile edge computing</article-title>,&#x201D; <source>Journal of Internet Technology</source>, vol. <volume>21</volume>, no. <issue>5</issue>, pp. <fpage>1437</fpage>&#x2013;<lpage>1445</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-28"><label>[28]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Q.</given-names> <surname>Tang</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Song</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Li</surname></string-name> and <string-name><given-names>J. H.</given-names> <surname>Park</surname></string-name></person-group>, &#x201C;<article-title>Waiting time minimized charging and discharging strategy based on mobile edge computing supported by software-defined network</article-title>,&#x201D; <source>IEEE Internet of Things Journal</source>, vol. <volume>7</volume>, no. <issue>7</issue>, pp. <fpage>6088</fpage>&#x2013;<lpage>6101</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-29"><label>[29]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>K.</given-names> <surname>Gu</surname></string-name>, <string-name><given-names>N.</given-names> <surname>Wu</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Yin</surname></string-name> and <string-name><given-names>W.</given-names> <surname>Jia</surname></string-name></person-group>, &#x201C;<article-title>Secure data query framework for cloud and fog computing</article-title>,&#x201D; <source>IEEE Transactions on Network and Service Management</source>, vol. <volume>17</volume>, no. <issue>1</issue>, pp. <fpage>332</fpage>&#x2013;<lpage>345</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-30"><label>[30]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>W. J.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>Z. Y.</given-names> <surname>Chen</surname></string-name>, <string-name><given-names>X. Y.</given-names> <surname>Gao</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Liu</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Wang</surname></string-name></person-group>, &#x201C;<article-title>Multimodel framework for indoor localization under mobile edge computing environment</article-title>,&#x201D; <source>IEEE Internet of Things Journal</source>, vol. <volume>6</volume>, no. <issue>3</issue>, pp. <fpage>4844</fpage>&#x2013;<lpage>4853</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-31"><label>[31]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Z.</given-names> <surname>Liao</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Peng</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Xiong</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Huang</surname></string-name></person-group>, &#x201C;<article-title>Adaptive offloading in mobile-edge computing for ultra-dense cellular networks based on genetic algorithm</article-title>,&#x201D; <source>Journal of Cloud Computing</source>, vol. <volume>10</volume>, no. <issue>1</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>16</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-32"><label>[32]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Z.</given-names> <surname>Liao</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Peng</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Huang</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Wang</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>Distributed probabilistic offloading in edge computing for genabled massive internet of things</article-title>,&#x201D; <source>IEEE Internet of Things Journal</source>, vol. <volume>8</volume>, no. <issue>7</issue>, pp. <fpage>5298</fpage>&#x2013;<lpage>5308</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-33"><label>[33]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Z.</given-names> <surname>Liao</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Ma</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Huang</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Wang</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Wang</surname></string-name></person-group>, &#x201C;<article-title>HOTSPOT: A UAV-assisted dynamicmobility-aware offloading for mobile-edge computing in 3-D space</article-title>,&#x201D; <source>IEEE Internet of Things Journal</source>, vol. <volume>8</volume>, no. <issue>13</issue>, pp. <fpage>10940</fpage>&#x2013;<lpage>10952</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-34"><label>[34]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Shojafar</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Javanmardi</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Abolfazli</surname></string-name> and <string-name><given-names>N.</given-names> <surname>Cordeschi</surname></string-name></person-group>, &#x201C;<article-title>FUGE: A joint meta-heuristic approach to cloud job scheduling algorithm using fuzzy theory and a genetic method</article-title>,&#x201D; <source>Cluster Computing</source>, vol. <volume>18</volume>, no. <issue>2</issue>, pp. <fpage>829</fpage>&#x2013;<lpage>844</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-35"><label>[35]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Haris</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Zubair</surname></string-name></person-group>, &#x201C;<article-title>Mantaray modified multi-objective Harris hawk optimization algorithm expedites optimal load balancing in cloud computing</article-title>,&#x201D; <source>Journal of King Saud University-Computer and Information Sciences</source>, vol. <volume>12</volume>, no. <issue>10</issue>, pp. <fpage>3256</fpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-36"><label>[36]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Wu</surname></string-name> and <string-name><given-names>K.</given-names> <surname>Wolter</surname></string-name></person-group>, &#x201C;<article-title>Stochastic analysis of delayed mobile offloading in heterogeneous networks</article-title>,&#x201D; <source>IEEE Transactions on Mobile Computing</source>, vol. <volume>17</volume>, no. <issue>2</issue>, pp. <fpage>461</fpage>&#x2013;<lpage>474</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-37"><label>[37]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>N.</given-names> <surname>Mansouri</surname></string-name>, <string-name><given-names>B. M. H.</given-names> <surname>Zade</surname></string-name> and <string-name><given-names>M. M.</given-names> <surname>Javidi</surname></string-name></person-group>, &#x201C;<article-title>Hybrid task scheduling strategy for cloud computing by modified particle swarm optimization and fuzzy theory</article-title>,&#x201D; <source>Computers &#x0026; Industrial Engineering</source>, vol. <volume>130</volume>, no. <issue>5</issue>, pp. <fpage>597</fpage>&#x2013;<lpage>633</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-38"><label>[38]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L. A.</given-names> <surname>Zadeh</surname></string-name></person-group>, &#x201C;<article-title>Fuzzy sets</article-title>,&#x201D; <source>Information and Control</source>, vol. <volume>8</volume>, no. <issue>3</issue>, pp. <fpage>338</fpage>&#x2013;<lpage>353</lpage>, <year>1965</year>.</mixed-citation></ref>
<ref id="ref-39"><label>[39]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>X. S.</given-names> <surname>Yang</surname></string-name></person-group>, &#x201C;<article-title>Nature-inspired metaheuristic algorithms: success and new challenges</article-title>,&#x201D; <source>J Comput. Eng. Inf. Technol</source>, vol. <volume>1</volume>, no. <issue>1</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>3</lpage>, <year>2012</year>.</mixed-citation></ref>
<ref id="ref-40"><label>[40]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>X. S.</given-names> <surname>Yang</surname></string-name></person-group>, <chapter-title>Introduction</chapter-title>. In: <source>Nature-inspired metaheuristic algorithms</source>, <edition>2nd</edition> ed., <publisher-loc>Frome, UK</publisher-loc>: <publisher-name>Luniver Press</publisher-name>, pp. <fpage>1</fpage>&#x2013;<lpage>9</lpage>, <year>2010</year>.</mixed-citation></ref>
<ref id="ref-41"><label>[41]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Wu</surname></string-name>, <string-name><given-names>Y. G.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Burrage</surname></string-name>, <string-name><given-names>Y. C.</given-names> <surname>Tian</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Lawson</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>An improved firefly algorithm for global continuous optimization problems</article-title>,&#x201D; <source>Expert Systems with Applications</source>, vol. <volume>149</volume>, no. <issue>4</issue>, pp. <fpage>113340</fpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-42"><label>[42]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Islam</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Kumar</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Mohiuddin</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Yasmin</surname></string-name>, <string-name><given-names>M. A.</given-names> <surname>Khaleel</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>Efficient resourceful mobile cloud architecture (mRARSA) for resource demanding applications</article-title>,&#x201D; <source>Journal of Cloud Computing</source>, vol. <volume>9</volume>, no. <issue>1</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>21</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-43"><label>[43]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Kumar</surname></string-name> and <string-name><surname>Suman</surname></string-name></person-group>, &#x201C;<article-title>Hybrid cuckoo search algorithm for scheduling in cloud computing</article-title>,&#x201D; <source>CMC-Computers, Materials &#x0026; Continua</source>, vol. <volume>71</volume>, no. <issue>1</issue>, pp. <fpage>1641</fpage>&#x2013;<lpage>1660</lpage>, <year>2022</year>.</mixed-citation></ref>
<ref id="ref-44"><label>[44]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>B.</given-names> <surname>Patel</surname></string-name> and <string-name><given-names>B.</given-names> <surname>Patle</surname></string-name></person-group>, &#x201C;<article-title>Analysis of firefly-fuzzy hybrid algorithm for navigation of quad-rotor unmanned aerial vehicle</article-title>,&#x201D; <source>Inventions</source>, vol. <volume>5</volume>, no. <issue>3</issue>, pp. <fpage>48</fpage>, <year>2020</year>.</mixed-citation></ref>
</ref-list>
</back>
</article>
