<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3-mathml3.dtd">
<article xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ali="http://www.niso.org/schemas/ali/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" dtd-version="1.3" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Comput. Sci.</journal-id>
<journal-title-group>
<journal-title>Frontiers in Computer Science</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Comput. Sci.</abbrev-journal-title>
</journal-title-group>
<issn pub-type="epub">2624-9898</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fcomp.2025.1500156</article-id>
<article-version article-version-type="Version of Record" vocab="NISO-RP-8-2008"/>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Original Research</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Optimizing cloud data center performance with demand-responsive load-balancing scheme</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Hammed</surname> <given-names>Mudasiru</given-names></name>
<xref ref-type="aff" rid="aff1"/>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Conceptualization" vocab-term-identifier="https://credit.niso.org/contributor-roles/conceptualization/">Conceptualization</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Formal analysis" vocab-term-identifier="https://credit.niso.org/contributor-roles/formal-analysis/">Formal analysis</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Methodology" vocab-term-identifier="https://credit.niso.org/contributor-roles/methodology/">Methodology</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Software" vocab-term-identifier="https://credit.niso.org/contributor-roles/software/">Software</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Validation" vocab-term-identifier="https://credit.niso.org/contributor-roles/validation/">Validation</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing &#x2013; original draft" vocab-term-identifier="https://credit.niso.org/contributor-roles/writing-original-draft/">Writing &#x2013; original draft</role>
<uri xlink:href="https://loop.frontiersin.org/people/3257871"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name><surname>Soyemi</surname> <given-names>Jumoke</given-names></name>
<xref ref-type="aff" rid="aff1"/>
<xref ref-type="corresp" rid="c001"><sup>&#x0002A;</sup></xref>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Investigation" vocab-term-identifier="https://credit.niso.org/contributor-roles/investigation/">Investigation</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Supervision" vocab-term-identifier="https://credit.niso.org/contributor-roles/supervision/">Supervision</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing &#x2013; review &amp; editing" vocab-term-identifier="https://credit.niso.org/contributor-roles/writing-review-editing/">Writing &#x2013; review &#x00026; editing</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Validation" vocab-term-identifier="https://credit.niso.org/contributor-roles/validation/">Validation</role>
<uri xlink:href="https://loop.frontiersin.org/people/1016726"/>
</contrib>
</contrib-group>
<aff id="aff1"><institution>Department of Computer Science, Federal Polytechnic</institution>, <city>Ilaro, Ogun State</city>, <country country="ng">Nigeria</country></aff>
<author-notes>
<corresp id="c001"><label>&#x0002A;</label>Correspondence: Jumoke Soyemi, <email xlink:href="mailto:jumoke.soyemi@federalpolyilaro.edu.ng">jumoke.soyemi@federalpolyilaro.edu.ng</email></corresp>
</author-notes>
<pub-date publication-format="electronic" date-type="pub" iso-8601-date="2026-02-10">
<day>10</day>
<month>02</month>
<year>2026</year>
</pub-date>
<pub-date publication-format="electronic" date-type="collection">
<year>2025</year>
</pub-date>
<volume>7</volume>
<elocation-id>1500156</elocation-id>
<history>
<date date-type="received">
<day>22</day>
<month>09</month>
<year>2024</year>
</date>
<date date-type="rev-recd">
<day>13</day>
<month>08</month>
<year>2025</year>
</date>
<date date-type="accepted">
<day>26</day>
<month>12</month>
<year>2025</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2026 Hammed and Soyemi.</copyright-statement>
<copyright-year>2026</copyright-year>
<copyright-holder>Hammed and Soyemi</copyright-holder>
<license>
<ali:license_ref start_date="2026-02-10">https://creativecommons.org/licenses/by/4.0/</ali:license_ref>
<license-p>This is an open-access article distributed under the terms of the <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution License (CC BY)</ext-link>. The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</license-p>
</license>
</permissions>
<abstract>
<p>Cloud computing has revolutionized modern computing by providing scalable, on-demand access to computing resources through a pay-as-you-use model, accessible from any location. As businesses increasingly migrate their operations to cloud platforms, cloud service providers continue to expand their data center infrastructures to support a growing number of concurrent users. However, one persistent challenge identified in the literature is the issue of uneven load distribution, which often leads to performance degradation, increased latency, and reduced resource availability. While several load-balancing techniques have been proposed to address this issue, many still suffer from inefficiencies, such as delayed redirection of loads from overloaded to underutilized servers, and the inability to meet key load-balancing metrics, including scalability, makespan, support for heterogeneous environments, and fault tolerance. To address these limitations, this study proposes a demand-responsive dynamic load-balancing scheme that optimizes cloud data center performance by incorporating real-time server metrics and modeling user request arrivals using a Poisson distribution. The scheme dynamically assigns incoming loads based on server capacity, current workload, and estimated request arrival rates, thereby reducing server overload and minimizing response delays. The simulation was implemented using load-balancing data extracted from the Google Cloud Jobs (GoCJ) dataset and evaluated using Python. Comparative performance analysis with existing techniques such as round-robin, least connection, and static threshold-based methods demonstrated the superiority of the proposed scheme. Quantitative results revealed that the proposed method achieved an average response time of 10&#x02013;19 ms, compared to 18&#x02013;30 ms for round-robin and 15&#x02013;25 ms for least connection algorithms. Furthermore, the proposed scheme reduced the number of failed or delayed user requests by over 40%, improved server utilization balance, and maintained robust performance under high-load scenarios. These findings confirm the effectiveness of the proposed demand-based load-balancing strategy in enhancing the responsiveness, scalability, and efficiency of cloud data centers, thereby supporting the growing demands of cloud users and applications.</p></abstract>
<kwd-group>
<kwd>assignment problem</kwd>
<kwd>cloud computing</kwd>
<kwd>data center</kwd>
<kwd>game theory</kwd>
<kwd>load balancing</kwd>
<kwd>queue theory</kwd>
</kwd-group>
<funding-group>
<funding-statement>The author(s) declared that financial support was not received for this work and/or its publication.</funding-statement>
</funding-group>
<counts>
<fig-count count="6"/>
<table-count count="7"/>
<equation-count count="21"/>
<ref-count count="48"/>
<page-count count="14"/>
<word-count count="9978"/>
</counts>
<custom-meta-group>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Networks and Communications</meta-value>
</custom-meta>
</custom-meta-group>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<label>1</label>
<title>Introduction</title>
<p>In a continuous shift toward online services and storage, cloud computing, as a new technological innovation, is increasingly becoming an essential part of organizations and businesses (<xref ref-type="bibr" rid="B6">Dalia et al., 2022</xref>), offering a wide range of solutions and numerous service benefits. Cloud computing is a user service that allows numerous cloud users to access information technology services on the basis of pay-per-use at any time and from any location (<xref ref-type="bibr" rid="B25">Pawan and Rakesh, 2019</xref>). Cloud services, which are offered over the internet, allow users to access many cloud resources such as operating systems, servers, storage, networks, software, and applications (<xref ref-type="bibr" rid="B25">Pawan and Rakesh, 2019</xref>). Meanwhile, cloud applications and services are cloud resources that can be provided from the cloud data center to all cloud users irrespective of their locations (<xref ref-type="bibr" rid="B9">Gulshan and Mala, 2014</xref>). The benefits of cloud computing to organizations include flexibility, scalability, agility, efficiency, and reduced costs (<xref ref-type="bibr" rid="B5">Colin and Felicia, 2016</xref>). Cloud technology provides various services such as software as a service through the client&#x00027;s web browsers, platforms as a service such as the development of cloud-based applications, infrastructure as a service, which is a backend service that is majorly managed by the cloud service providers and includes the maintenance of cloud storage (data centers), servers, and network among others (<xref ref-type="bibr" rid="B34">Shakur et al., 2020</xref>). This study focuses on cloud infrastructure as a service, especially the data center, which is the server-side and deals with resource allocation (<xref ref-type="bibr" rid="B6">Dalia et al., 2022</xref>). The resources, such as RAM, processors, and disks, must be properly managed, and the loads must also be evenly distributed among the available resources for the machine&#x00027;s effectiveness (<xref ref-type="bibr" rid="B15">Kumar et al., 2020</xref>). Also, it has been established that cloud virtual server performance has proved to be challenging (<xref ref-type="bibr" rid="B46">Zanoon, 2015</xref>). Cloud computing has emerged as a paradigm that highlights the critical challenges associated with server overload in modern computing environments (<xref ref-type="bibr" rid="B30">Renjith et al., 2023</xref>).</p>
<p>The adoption and increasing usage of cloud services triggered many challenges in public cloud servers, which are owned and operated by cloud service vendors such as IBM Cloud, Verizon Cloud, Amazon Web Services (AWS), Google, Microsoft Azure, and others (<xref ref-type="bibr" rid="B40">Technavio, 2017</xref>). These cloud vendors have server infrastructures that deliver services across the globe, and several services are offered on demand; thus, resources must be made available to multiple cloud users. Uneven load distribution is one of the problems that needs to be solved in handling and making the resources available for the number of users across the globe. Consequently, a powerful resource management scheme that is capable of improving the server infrastructure performance is demanded (<xref ref-type="bibr" rid="B14">Kumar et al., 2018</xref>). Currently, the load-balancing technique is one of the techniques used to overcome overloading/underloading situations in virtual machines during task processing (<xref ref-type="bibr" rid="B25">Pawan and Rakesh, 2019</xref>). Load balancing can distribute loads across multiple servers to avoid either overloaded or underloaded/idle servers in the data center (<xref ref-type="bibr" rid="B11">Kaur and Luthra, 2012</xref>). A well-distributed system of servers in a cloud environment helps handle fault tolerance, system availability, and maintain the efficiency of the system (<xref ref-type="bibr" rid="B28">Raghava and Singh, 2014</xref>). In situations where some servers are overloaded, the cloud resources of the target server can be flooded with requests, causing a delay in processing time as well as waiting time for new requests (<xref ref-type="bibr" rid="B20">Mazedur et al., 2015</xref>). However, an efficient system should be able to deal with users&#x00027; requests on time using different load-balancing methods (<xref ref-type="bibr" rid="B28">Raghava and Singh, 2014</xref>).</p>
<p>Load balancing is one of the techniques that is required in cloud technology infrastructure to achieve the shortest processing time and high system throughput. Numerous load-balancing techniques have been proposed in cloud service environments, such as Cloudsim (<xref ref-type="bibr" rid="B1">Bala and Chana, 2015</xref>), Throttled Load Balancer (<xref ref-type="bibr" rid="B10">Jasmin and Bhupendra, 2012</xref>; <xref ref-type="bibr" rid="B8">Ghosh and Banerjee, 2016</xref>), WCAP (<xref ref-type="bibr" rid="B21">Mehta et al., 2011</xref>), and Ant colony optimization (<xref ref-type="bibr" rid="B36">Singh et al., 2016</xref>). All the literature revealed that many of the existing load-balancing methods cannot distribute and balance the loads between overloaded servers, underloaded servers, and idle servers without redirecting the loads. One of the problems that needs to be solved is the redirection of the load to another server without causing another request delay. Consequently, many redirections of loads to other servers may cause a violation of system response time. A good load balancer should consider quick computing power to facilitate efficient system response time (<xref ref-type="bibr" rid="B25">Pawan and Rakesh, 2019</xref>).</p>
<p>Various studies on load-balancing techniques have been extensively reviewed, and the literature revealed that most of the existing studies did not efficiently minimize the overall expected response time of the system. The gaps identified from the different studies include issues with redirection of load to underloaded and idle servers, causing additional delay to the system response time, and equal load distribution among the processors, while all processors do not have the same job processing time. Thus, it hinders the system from achieving the overall system&#x00027;s expected processing time. Again, load-balancing algorithms used in those studies only considered the minimum and maximum execution time of processors, such as the min&#x02013;min algorithm and max&#x02013;min algorithm, without looking at their major challenges, which are a severe shortage of resources. Priority-based load-balancing methods used in some other studies suffer from starvation due to an increase in waiting time for requests with low priority.</p>
<p>The motivation for this study arises from the need to efficiently balance server loads to achieve maximum throughput with minimal response time. In a cloud computing environment, servers may be underloaded, overloaded, or idle. Identifying these states and redirecting workloads from overloaded to underloaded or idle servers introduces critical delays in the load-balancing process (<xref ref-type="bibr" rid="B31">Santhanakrishnan and Valarmathi, 2022</xref>). These delays increase overall system processing time, highlighting the need for a demand-responsive load-balancing scheme to enhance performance.</p>
<p>Several load-balancing techniques have been proposed in the past, utilizing priority-based systems to minimize delay and enhance overall system response time. However, studies in the literature have revealed that priority-based load-balancing methods often suffer from starvation due to the prolonged waiting time of low-priority requests. Additionally, the priority of loads was poorly addressed in some of the examined priority-based load-balancing systems. Notable studies on these systems include those by <xref ref-type="bibr" rid="B38">Suganthi and Kurus Malai Selvi (2024)</xref>, <xref ref-type="bibr" rid="B19">Mayank and Jain (2021)</xref>, <xref ref-type="bibr" rid="B35">Shandil (2023)</xref>, <xref ref-type="bibr" rid="B41">Velde and Rama (2018)</xref>, and <xref ref-type="bibr" rid="B13">Kumar and George (2017)</xref>. Round-robin and least connection algorithms distribute user requests evenly across all servers without considering the servers&#x00027; capacity or current load. As a result, both slower and overloaded servers receive the same number of requests, which can lead to delays or system failures.</p>
<p>This study contributes to the existing body of knowledge on load balancing by addressing the persistent challenge of system runtime overhead, which remains inadequately resolved by many existing dynamic load-balancing techniques. Unlike prior approaches, the proposed method minimizes the redirection of loads between overloaded and underutilized servers, thereby reducing communication delays. Additionally, it integrates CPU and memory usage into the load-balancing decision-making process, an aspect often overlooked in previous algorithms. <xref ref-type="table" rid="T1">Table 1</xref> reviews some of the load-balancing algorithms used in the literature.</p>
<table-wrap position="float" id="T1">
<label>Table 1</label>
<caption><p>Review of some load-balancing algorithms.</p></caption>
<table frame="box" rules="all">
<thead>
<tr>
<th valign="top" align="left"><bold>Author and Year of Publication</bold></th>
<th valign="top" align="left"><bold>Method</bold></th>
<th valign="top" align="left"><bold>Strengths</bold></th>
<th valign="top" align="left"><bold>Weaknesses</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B33">Sefati et al. (2025)</xref></td>
<td valign="top" align="left">It made use of a probabilistic, optimization-driven multi-cloud load-balancing strategy</td>
<td valign="top" align="left">DFND models resource interdependencies with probabilistic precision; TDO optimizes task placement, yielding superior performance in a simulated multi-cloud environment</td>
<td valign="top" align="left">Method testing involves only simulations and may face real-world limitations due to high overhead and uncertain workload generalizability</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B22">Mohammed et al. (2024)</xref></td>
<td valign="top" align="left">Ant colony optimization-based solution</td>
<td valign="top" align="left">The method meets users&#x00027; throughput requirements while simultaneously reducing network imbalances</td>
<td valign="top" align="left">Deploying a large number of ants to search for information can lead to network overhead issues when applied in cloud computing data centers</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B45">Yu et al. (2024)</xref></td>
<td valign="top" align="left">Weighted round-robin</td>
<td valign="top" align="left">Dynamically adjusting server weights based on real-time backend performance metrics significantly reduces response latency in clustered web environments</td>
<td valign="top" align="left">Round-robin and least connection algorithms evenly distribute users&#x00027; requests across all servers without considering each server&#x00027;s capacity or current load. In this case, both slower and overloaded servers receive the same number of requests, which may lead to delays or failures</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B12">Khan (2024)</xref></td>
<td valign="top" align="left">A hybrid RL and meta-heuristic optimization model (HLFO)</td>
<td valign="top" align="left">The method offers notable improvements in makespan, CPU utilization, and latency in CloudSim simulations</td>
<td valign="top" align="left">A combination of two computationally intensive techniques may lead to memory usage overhead or increase the processing time of the system</td>
</tr>
<tr>
<td valign="top" align="left">(<xref ref-type="bibr" rid="B38">Suganthi and Kurus Malai Selvi 2024</xref>)</td>
<td valign="top" align="left">A weight factor and priority-based VM load-balancing model</td>
<td valign="top" align="left">Demonstrates notable improvements in SLA violation rates and energy efficiency over existing approaches (validated <italic>via</italic> CloudSim with PlanetLab workloads)</td>
<td valign="top" align="left">Uses static weight factors and fixed priority levels; this may result in unfair allocation or starvation of lower-priority VMs under changing conditions</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B4">Chawla (2024)</xref></td>
<td valign="top" align="left">Introduces a Q-learning-based adaptive load balancer that shows significant improvements in simulated dynamic cloud settings</td>
<td valign="top" align="left">Its strengths lie in real-time adaptability and scalable performance</td>
<td valign="top" align="left">The reliance on simulation, training costs, and unvalidated robustness in heterogeneous real-world scenarios leaves room for further work</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B45">Yu et al. (2024)</xref></td>
<td valign="top" align="left">It uses a practical, Nginx-based adaptive load-balancing approach that adjusts weights in real time to improve request distribution</td>
<td valign="top" align="left">The adaptive and performance-aware strategy dynamically balances load using real-time data and integrates seamlessly with Nginx for practical deployment</td>
<td valign="top" align="left">It lacks large-scale deployment validation, overhead analysis, and broader metric handling</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B7">Dawit et al. (2022)</xref></td>
<td valign="top" align="left">Designing a component-based throttled load-balancing algorithm for Cloud Data Centers</td>
<td valign="top" align="left">The throttle method can only determine the available and free servers during the allocation of new loads</td>
<td valign="top" align="left">During the allocation of new loads, if the load balancer is unable to find any available and free VM, the loads are returned and placed in a queue</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B44">Yong et al. (2022)</xref></td>
<td valign="top" align="left">Load balancing based on firefly and ant colony optimization</td>
<td valign="top" align="left">Firefly algorithm and ant colony were used as an improvement to adjust the weight of iterative location, selection, and update the location</td>
<td valign="top" align="left">Fireflies were used to augment the searching capability of the ant colony</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B32">Seethalakshmi et al. (2022)</xref></td>
<td valign="top" align="left">Scheduling based on real-coded genetic algorithm</td>
<td valign="top" align="left">An efficient scheduling among different virtual machines</td>
<td valign="top" align="left">The method is less efficient when the search space increases</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B19">Mayank and Jain (2021)</xref></td>
<td valign="top" align="left">Priority-based dynamic resource provisioning scheme</td>
<td valign="top" align="left">The system reduced the makespan of a given workflow application, thus improving the load balancing</td>
<td valign="top" align="left">Starvation for requests with lower priority</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B35">Shandil (2023)</xref></td>
<td valign="top" align="left">Priority-based algorithm</td>
<td valign="top" align="left">Scalable for a cloud-distributed environment</td>
<td valign="top" align="left">Waiting time for requests with low priority increases</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B41">Velde and Rama (2018)</xref></td>
<td valign="top" align="left">Priority guidance-based scheduling</td>
<td valign="top" align="left">The system improved the efficiency of load balancing</td>
<td valign="top" align="left">Rescheduling of loads causes additional delay</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B16">Li et al. (2019)</xref></td>
<td valign="top" align="left">A revamped artificial bee colony with rampaging behavior to search and gather overloaded and underloaded virtual servers</td>
<td valign="top" align="left">The method demonstrated improved execution and response times, as well as enhanced resource utilization</td>
<td valign="top" align="left">The method does not scale effectively as the number of requests increases</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B26">Phi et al. (2018)</xref></td>
<td valign="top" align="left">Throttled modified algorithm</td>
<td valign="top" align="left">The algorithm partially reduced the system response time</td>
<td valign="top" align="left">Reallocation of loads causes additional delay</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B18">Manikandan and Pravin (2018)</xref></td>
<td valign="top" align="left">An efficient, improved weighted round-robin load-balancing algorithm</td>
<td valign="top" align="left">Enhanced round-robin considers server specs and task execution time, assigning longer tasks to suitable servers for improved load distribution</td>
<td valign="top" align="left">Round-robin randomly assigns tasks, but under heavy traffic, this leads to server overload and system performance degradation or failure</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B13">Kumar and George (2017)</xref></td>
<td valign="top" align="left">Dynamic load balancing with priority-based</td>
<td valign="top" align="left">Efficient resource utilization and minimized makespan</td>
<td valign="top" align="left">Priority-based load balancing causes starvation for all cloud user requests with lower priority</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B8">Ghosh and Banerjee (2016)</xref></td>
<td valign="top" align="left">A modified throttled algorithm</td>
<td valign="top" align="left">The response time of the modified throttling method is improved compared to the previous method</td>
<td valign="top" align="left">The study failed to realize that during the allocation of the next request, the status of some virtual machines might have changed in the index table</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B36">Singh et al. (2016)</xref></td>
<td valign="top" align="left">Ant colony optimization</td>
<td valign="top" align="left">The method mapped the jobs to resources, and the method was able to minimize the violation of load constraints</td>
<td valign="top" align="left">Initialization of a large number of ants to search for information may lead to network overhead problems</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B1">Bala and Chana (2015)</xref></td>
<td valign="top" align="left">Autonomic fault-tolerant scheduling approach for scientific workflows in Cloudsim</td>
<td valign="top" align="left">The automatic predictive model achieved several load-balancing metrics, including fault tolerance</td>
<td valign="top" align="left">The model lacks some other load-balancing metrics, such as makespan, scalability, and heterogeneity</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B42">Wang et al. (2015)</xref></td>
<td valign="top" align="left">A conceptual structure was designed to balance the workload on cloud storage</td>
<td valign="top" align="left">The swift concept was able to identify the overloaded servers and those that were underloaded in the cluster</td>
<td valign="top" align="left">The framework can only work for a smaller number of servers and is not scalable</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B37">Sran and Kaur (2013)</xref>; <xref ref-type="bibr" rid="B39">Swarnkar et al. (2013)</xref></td>
<td valign="top" align="left">Round-robin techniques</td>
<td valign="top" align="left">Loads were evenly distributed across all virtual servers, each taking an equal amount of time to complete processing</td>
<td valign="top" align="left">Round-robin takes a longer period to complete all the given loads, thus posing an additional delay</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B27">Powar et al. (2013)</xref>; <xref ref-type="bibr" rid="B43">Yatendra and Pateriya (2013)</xref>; <xref ref-type="bibr" rid="B24">Nishant et al. (2012)</xref></td>
<td valign="top" align="left">Optimization of load balancing (OLB) augmented with min-min technique</td>
<td valign="top" align="left">The method manages the servers and allocates and receives loads from the service manager</td>
<td valign="top" align="left">Tasks take a lot of time to complete, and sometimes, loads are found on the waiting list</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B29">Ratan and Anant (2012)</xref>; <xref ref-type="bibr" rid="B24">Nishant et al. (2012)</xref>; <xref ref-type="bibr" rid="B48">Zhang and Zhang (2010)</xref></td>
<td valign="top" align="left">Ants&#x00027; behavior for load balancing</td>
<td valign="top" align="left">The ants continue their forward path to check the status of the server until the target server is found</td>
<td valign="top" align="left">An additional delay occurs if the proposed system returns to the start after locating the target server</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B23">Mohapatra et al. (2013)</xref>; <xref ref-type="bibr" rid="B10">Jasmin and Bhupendra (2012)</xref></td>
<td valign="top" align="left">Throttled load balancer</td>
<td valign="top" align="left">The system preserves a record of the state of each virtual machine (busy/idle) to ensure an even distribution of loads and increase system response time</td>
<td valign="top" align="left">During the allocation of new requests, the current loads on the virtual machines were not considered; thus, it increases the waiting time for new requests</td>
</tr></tbody>
</table>
</table-wrap>
<p><xref ref-type="table" rid="T1">Table 1</xref> reviews various studies and methods proposed in the literature for handling load balancing, highlighting their respective strengths and weaknesses. This study focuses on developing an efficient load-balancing scheme designed to effectively prevent server overload within the system. Before allocating new loads, both server availability and processing capacity are evaluated, and allocations are made based on the specific resource requirements.</p>
<p>While many researchers have employed dynamic load balancing, few have addressed the runtime overhead associated with it. This study introduces a method that minimizes both the redirection of loads from overloaded to underloaded or idle servers and the communication delays that such redirection can cause. Additionally, although some researchers have used index tables to gather information prior to load allocation, they often overlook the possibility that the data in the index table may have changed before action was taken on overloaded, underloaded, and idle servers.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Methodology</title>
<p>This study employed an assignment problem model to ensure the efficient allocation of user requests to cloud-based virtual servers, taking into account both server availability and task demand. Key server capacity factors, such as computing power, RAM size, disk type, software optimization, network connectivity, and resource management, were incorporated into the model. Resource management capabilities were modeled using a queuing system based on a Service in Random Order (SIRO) model, with task arrivals following a Poisson distribution. An enlarged distribution was applied to model each server&#x00027;s service rate. Additionally, a sequencing technique was used to determine the optimal order for task assignment, processing times per server, total elapsed processing time, and individual server idle times following task execution. This integrated approach enhances the precision and effectiveness of dynamic load distribution in cloud environments.</p>
<sec>
<label>2.1</label>
<title>Load balancing</title>
<p><xref ref-type="fig" rid="F1">Figure 1</xref> is the proposed system designed as three multilevel hierarchies to include the top-level, middle-level, and lower-level. The top level consists of a high-speed server; the middle level consists of a moderate-speed server, and the lower level consists of a low-speed server. The primary reason for the hierarchy is that the cost per load (task) is generally proportional to the speed of the server. <xref ref-type="fig" rid="F2">Figure 2</xref> depicts the strategy for allocating the loads to only available servers and balancing the loads among the servers.</p>
<fig position="float" id="F1">
<label>Figure 1</label>
<caption><p>Load-balancing architecture.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-07-1500156-g0001.tif">
<alt-text content-type="machine-generated">Diagram illustrating a cloud computing architecture. It shows cloud users accessing cloud services via various devices. Requests are managed by a cloud service provider, including AWS, Azure, Google Cloud, and Oracle Cloud. A load balancer distributes requests to different server levels: top, mid, and low.</alt-text>
</graphic>
</fig>
<fig position="float" id="F2">
<label>Figure 2</label>
<caption><p>Flowchart for load assigning and balancing strategy.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-07-1500156-g0002.tif">
<alt-text content-type="machine-generated">Flowchart illustrating server load balancing. It starts with user requests, moves to load balancing, then checks if a server is free. If yes, it loops back to the load balancer; if no, it assigns loads to available servers at all levels and stops.</alt-text>
</graphic>
</fig>
<p>When a request (load) is sent to the hierarchy, the top-level hierarchy is checked to see if there is an available server that can process the request (load). If there is, then the request is completed. If not, the level is checked, with the process repeated until the request is processed. If the top level in the hierarchy cannot handle a request (load), a copy of the request is sent to other levels in the system. The demand-based method used in this study allows all the servers in each hierarchy to be randomly checked to see the available servers that can process the request (load). The level-switching operation was employed to distribute loads evenly across all levels in the system.</p>
<p>The matrix operation shown below is used to trace computations for easier processing. The trace is supported by two theorems that enable quick access to any available server at any level in the hierarchy.</p>
<p><graphic xlink:href="fcomp-07-1500156-e0001.tif"/></p>
<p><italic>Theorem 1</italic></p>
<p>If A is an <italic>n</italic>&#x000D7;<italic>n</italic> matrix, the trace of A, written trace (A) is the sum of the diagonal elements,</p>
<disp-formula id="EQ1"><mml:math id="M2"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mtext>i</mml:mtext><mml:mo>.</mml:mo><mml:mtext>e</mml:mtext><mml:mo>.</mml:mo><mml:mo>,</mml:mo><mml:mtext>trace</mml:mtext><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mn>11</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mn>22</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><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:mstyle><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(1)</label></disp-formula>
<p><italic>Theorem 2</italic></p>
<p>If A is an <italic>n</italic>&#x000D7;<italic>n</italic> matrix and B is an <italic>n</italic>&#x000D7;<italic>n</italic> matrix, then trace (AB) = trace (BA),</p>
<disp-formula id="EQ2"><mml:math id="M3"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mtext>i</mml:mtext><mml:mo>.</mml:mo><mml:mtext>e</mml:mtext><mml:mo>.</mml:mo><mml:mo>,</mml:mo><mml:mtext>trace</mml:mtext><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>A</mml:mi><mml:mi>B</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><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:mstyle><mml:msub><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>A</mml:mi><mml:mi>B</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><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:mstyle><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><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:mstyle><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><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:mstyle><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><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:mstyle><mml:msub><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(2)</label></disp-formula>
<p>Different levels in the hierarchy have servers of varying sizes. The random check for available servers often allows multiple requests (loads) of different sizes to access all the servers at each level of the hierarchy to determine which servers can process them. This method speeds up request processing time because it eliminates the need to redirect requests (loads) to underloaded or idle servers when an overloaded server is detected.</p>
</sec>
<sec>
<label>2.2</label>
<title>Load assignment</title>
<p>In this study, the assignment of loads across all server categories (top-level, middle-level, and low-level) is based on server availability, processing and storage capacity, and the size of the new load or request. All these factors are considered to ensure proper and even distribution of cloud users&#x00027; requests. The study employs an assignment problem model to enhance effectiveness in terms of resource utilization and system response time for each resource or facility handling each load or request. Therefore, the system assigns each resource to a single load or request to optimize performance. <xref ref-type="table" rid="T2">Table 2</xref> presents the data matrix for assigning loads to servers or resources.</p>
<table-wrap position="float" id="T2">
<label>Table 2</label>
<caption><p>Data matrix table for assigning users&#x00027; requests.</p></caption>
<table frame="box" rules="all">
<thead>
<tr>
<th valign="top" align="left"><bold>Resources (Servers)</bold></th>
<th valign="top" align="center" colspan="4"><bold>Loads (Requests)</bold></th>
<th valign="top" align="center"><bold>Distribution</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left"><italic>S</italic><sub>1</sub></td>
<td/>
<td valign="top" align="center"><italic>l</italic><sub>12</sub></td>
<td valign="top" align="center"><italic>l</italic><sub>13</sub>&#x02026;</td>
<td valign="top" align="center"><italic>l</italic><sub>1<italic>n</italic></sub></td>
<td valign="top" align="center">1</td>
</tr>
<tr>
<td valign="top" align="left"><italic>S</italic><sub>2</sub></td>
<td valign="top" align="center"><italic>l</italic><sub>21</sub></td>
<td valign="top" align="center"><italic>l</italic><sub>22</sub></td>
<td valign="top" align="center"><italic>l</italic><sub>23</sub>&#x02026;</td>
<td valign="top" align="center"><italic>l</italic><sub>2<italic>n</italic></sub></td>
<td valign="top" align="center">1</td>
</tr>
<tr>
<td valign="top" align="left">.</td>
<td valign="top" align="center">.</td>
<td valign="top" align="center">.</td>
<td valign="top" align="center">.</td>
<td/>
<td valign="top" align="center">.</td>
</tr>
<tr>
<td valign="top" align="left">.</td>
<td valign="top" align="center">.</td>
<td valign="top" align="center">.</td>
<td valign="top" align="center">.</td>
<td/>
<td valign="top" align="center">.</td>
</tr>
<tr>
<td valign="top" align="left">.</td>
<td valign="top" align="center">.</td>
<td valign="top" align="center">.</td>
<td valign="top" align="center">.</td>
<td/>
<td valign="top" align="center">.</td>
</tr>
<tr>
<td valign="top" align="left"><italic>S</italic><sub><italic>n</italic></sub></td>
<td valign="top" align="center"><italic>l</italic><sub><italic>n</italic>1</sub></td>
<td valign="top" align="center"><italic>l</italic><sub><italic>n</italic>2</sub></td>
<td valign="top" align="center"><italic>l</italic><sub><italic>n</italic>3</sub>&#x02026;</td>
<td valign="top" align="center"><italic>l</italic><sub><italic>nn</italic></sub></td>
<td valign="top" align="center">1</td>
</tr>
<tr>
<td valign="top" align="left">Demand</td>
<td valign="top" align="center">1</td>
<td valign="top" align="center">1</td>
<td valign="top" align="center">1</td>
<td valign="top" align="center">1</td>
<td valign="top" align="center">n</td>
</tr></tbody>
</table>
</table-wrap>
<p>Let <italic>s</italic><sub><italic>ij</italic></sub>denote the assignment of the server to load <italic>j</italic> such that.</p>
<disp-formula id="EQ3"><mml:math id="M4"><mml:mrow><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mtext>1&#x000A0;if&#x000A0;the&#x000A0;server&#x000A0;</mml:mtext><mml:mi>i</mml:mi><mml:mtext>&#x000A0;is&#x000A0;assigned&#x000A0;to&#x000A0;load</mml:mtext><mml:mi>j</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mn>0</mml:mn><mml:mtext>&#x000A0;otherwise</mml:mtext></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula>
<p>Therefore, the mathematical model for the assignment problem is formulated as follows:</p>
<disp-formula id="EQ4"><mml:math id="M5"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mtext>Minimized</mml:mtext><mml:mi>Z</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><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:mstyle><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</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:mstyle><mml:msub><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(3)</label></disp-formula>
<p>subject to the constraints</p>
<disp-formula id="EQ5"><mml:math id="M6"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</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:mstyle><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#x000A0;for&#x000A0;all&#x000A0;</mml:mtext><mml:mi>i</mml:mi><mml:mtext>&#x000A0;</mml:mtext><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>availability&#x000A0;of&#x000A0;server</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(4)</label></disp-formula>
<disp-formula id="EQ6"><mml:math id="M7"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><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:mstyle><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#x000A0;for&#x000A0;all&#x000A0;</mml:mtext><mml:mi>j</mml:mi><mml:mtext>&#x000A0;</mml:mtext><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext>demand&#x000A0;for&#x000A0;load&#x000A0;or&#x000A0;use</mml:mtext><mml:msup><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow><mml:mrow><mml:mtext>&#x02032;</mml:mtext></mml:mrow></mml:msup><mml:mtext>srequest</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(5)</label></disp-formula>
<p>and <italic>s</italic><sub><italic>ij</italic></sub> &#x0003D; 0 or, for all <italic>i</italic> and <italic>j</italic></p>
<p>The assignment model used allowed the system to check each server in all the hierarchies (levels) before the allocation of loads. The assignment operation starts from the top-level hierarchy servers to the low-level servers and returns to the starting point at the top-level hierarchy for the next allocation operation. This assignment method also minimizes the distance covered in terms of the cost of moving from one server to another server, the cost of moving from one level to another level, and the time taken to move around the levels. The assignment of cloud users&#x00027; request operations continues as shown in the pseudocode.</p>
</sec>
<sec>
<label>2.3</label>
<title>Pseudocode</title>
<list list-type="simple">
<list-item><p><italic>Consider any of the top-level servers as the starting point, while the low-level as the ending point. Although the route is cyclic</italic></p></list-item>
<list-item><p><italic>Calculate the arrival rate and service rate of each server to determine its capacity</italic>.</p></list-item>
<list-item><p><italic>Determine whether the server will be able to accommodate a new request</italic>.</p></list-item>
<list-item><p><italic>Assign the new request to the available server based on the requested resources, and go to 1</italic>.</p></list-item>
</list>
</sec>
<sec>
<label>2.4</label>
<title>SIRO model</title>
<p>The SIRO model determines the availability of each server and the service rate of each server since the allocation of cloud users&#x00027; requests is based on the servers&#x00027; capacity. In this study, the SIRO model uses Poisson and Erlang distributions.</p>
</sec>
<sec>
<label>2.5</label>
<title>Poisson distribution for determining the arrival rate of the load</title>
<p>This study used the Poisson distribution to model the arrival of cloud user requests (loads). This queuing system effectively captures the random nature of user requests over time. The Poisson distribution is defined by the formula in <xref ref-type="disp-formula" rid="EQ7">Equation 6</xref>:</p>
<disp-formula id="EQ7"><mml:math id="M8"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>P</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>X</mml:mi><mml:mo>-</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mo>&#x003BB;</mml:mo></mml:mrow></mml:msup><mml:msup><mml:mrow><mml:mo>&#x003BB;</mml:mo></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>!</mml:mo></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(6)</label></disp-formula>
<p>where <italic>P</italic>(<italic>X</italic>&#x02212;<italic>k</italic>) represents the probability of exactly <italic>k</italic> arrivals occurring within a specified period and &#x003BB; denotes the average arrival rate of users per unit time.</p>
<p>In cloud computing, user requests (like accessing data, running applications, or storing files) arrive randomly over time. The Poisson distribution is widely used in queuing theory and network systems to model random arrivals of loads (in this case, user requests or loads) within a given time frame. This makes it a suitable choice for modeling request arrival rates in a data center.</p>
<p>Therefore, using Poison distribution to calculate the number of loads in each server determines the number of loads that the server is processing presently and the ones that are yet to be processed. This is one of the factors that determines whether the incoming loads will be assigned to the server or not.</p>
<p>The Poisson model simulates how often new user requests arrive in the cloud data center during a time window. If &#x003BB; = 10, on average, 10 requests arrive every second. The model explains the probability of receiving 5, 10, or 20 requests in the next second. To dynamically monitor the loads, Servers monitor not only how many requests they are currently processing but also how many are expected to arrive soon, based on a Poisson model. This helps determine whether a server is suitable for taking on new requests. If a server is already handling many requests and the Poisson model predicts high incoming traffic, the load balancer may redirect new requests elsewhere, and if the probability of receiving too many requests is high, the system can preemptively avoid overloading that server. The Poisson distribution, when used with queue theory (like M/M/1 or M/M/c models), helps estimate the number of requests currently being processed and the number of requests waiting in the queue. This helps the demand-responsive system adjust assignment probabilities in the data matrix mentioned earlier. The use of the Poisson model contributes to real-time, data-driven decision-making and prevents bottlenecks, ensures fair distribution of loads, minimizes latency and response time, and maximizes server utilization without overload. Therefore, the Poisson distribution in this study is used to model the arrival pattern of user requests. By predicting the likely number of incoming requests per server, the load-balancing scheme can intelligently distribute requests in real time, optimizing performance, avoiding overloads, and ensuring demand-responsiveness across the cloud data center.</p>
</sec>
<sec>
<label>2.6</label>
<title>Erlang distribution for determining the server&#x00027;s service rate</title>
<p>The Erlang distribution was employed to improve service time efficiency across all servers within the system. This model is characterized by a single service channel comprising k identical sequential phases, which represent the degree of variability in the service time distribution. In this framework, each server processes tasks through these <italic>k</italic> phases in series, ensuring consistent service behavior. A new service process begins only after the completion of all <italic>k</italic> phases for the previous task. Consequently, each new arrival increases the number of active service phases in the system by <italic>k</italic>. The modeling approach led to the formulation of a system of differential&#x02013;difference equations to describe the dynamics of task servicing under the Erlangian model.</p>
<p>This study utilized the Erlang distribution to enhance service efficiency within the cloud service system. In the employed model, each task is processed sequentially through <italic>k</italic> service phases, with a new service initiation delayed until all <italic>k</italic> phases of the preceding task are completed. As a result, each incoming request increases the total number of active phases in the system by <italic>k</italic>. This modeling approach led to the derivation of a system of differential&#x02013;difference equations, which characterizes the service dynamics. The Erlang distribution formula used in this context is presented in <xref ref-type="disp-formula" rid="EQ8">Equation 7</xref>:</p>
<p>The probability density function for Erlang is given by</p>
<disp-formula id="EQ8"><mml:math id="M9"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>f</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mfrac><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mi>&#x003BC;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>!</mml:mo></mml:mrow></mml:mfrac></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:msup><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:msup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mi>k</mml:mi><mml:mi>&#x003BC;</mml:mi></mml:mrow></mml:msup><mml:mo>;</mml:mo><mml:mi>t</mml:mi><mml:mo>&#x02265;</mml:mo><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(7)</label></disp-formula>
<p>Here, <italic>x</italic> denotes the service time, <italic>k</italic> is the shape parameter indicating the number of phases, and is the rate parameter. The &#x003BC; is used to model the number of cloud services that customers can be served per unit of time, then <italic>k&#x003BC;</italic> is the number of virtual machines that the system can serve per unit of time, and 1/<italic>k&#x003BC;</italic> represents the average time taken by a server at each virtual machine.</p>
<p>Therefore, both Poison and Erlang distributions were used to determine the status of each server, whether the new incoming load will be assigned to a server or not, that is, a server demands and accepts load or rejects the load.</p>
</sec>
<sec>
<label>2.7</label>
<title>Sequencing techniques</title>
<p>The sequencing technique was used to model the order in which incoming loads <italic>l</italic><sub>1</sub>, <italic>l</italic><sub>2</sub>, &#x02026;., <italic>l</italic><sub><italic>n</italic></sub> are assigned to a set of servers <italic>s</italic><sub>1</sub>, <italic>s</italic><sub>2</sub>, &#x02026;., <italic>s</italic><sub><italic>n</italic></sub> and the time <italic>t</italic><sub>1</sub>, <italic>t</italic><sub>2</sub>, &#x02026;., <italic>t</italic><sub><italic>n</italic></sub> at which the loads are processed. Johnson&#x00027;s sequencing algorithm was used to determine the optimal sequence (<xref ref-type="other" rid="algorithm_1">Algorithm 1</xref>).</p>
<statement content-type="algorithm" id="algorithm_1">
<label>Algorithm 1</label>
<p>Johnson&#x00027;s Procedure
<preformat>
Step 1: list the loads along with their processing times on each server in a timetable
Step 2: EXAMINE the processing times on servers and find out the minimum.
(<italic>t</italic><sub>1</sub>, <italic>t</italic><sub>2</sub><italic>t</italic><sub><italic>n</italic></sub>) for all servers
Step 3: if there is a minimum processing time on the server, then assign the incoming load as early as possible, without moving the already assigned load. That is, place the load on the first available server.
Step 4: remove the assigned loads from the table
Step 5: calculate the idle time for all servers <italic>s</italic><sub>1</sub>, <italic>s</italic><sub>2</sub>, &#x02026;., <italic>s</italic><sub><italic>n</italic></sub>
Step 6: determine the total elapsed time to process all incoming loads
Some complicated problems that may not be covered in the queue are solved by the sequencing techniques in this study.
</preformat>
</p>
</statement>
</sec>
<sec>
<label>2.8</label>
<title>Analysis of load-balancing computational complexity and convergence</title>
<p>The load balancing proposed in this system satisfies the arrangement of a balanced distribution of loads among the servers. In the proposed system, the load balancer is capable of playing both the role of sending requests and receiving requests. This process enables the load balancer to balance the loads among all the servers. This method reduces unnecessary assignment of loads to a very busy server. Mathematically, if this system consists of <italic>m</italic> servers, and <italic>L</italic> is the total amount of load in the system, then the system achieves &#x003C4;-convergence. The complexity and the system convergence are calculated in <xref ref-type="disp-formula" rid="EQ9">Equation 8</xref>:</p>
<disp-formula id="EQ9"><mml:math id="M10"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>o</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:msup><mml:mrow><mml:mi>m</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:mfrac><mml:mo class="qopname">log</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo class="qopname">log</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>m</mml:mi><mml:mo class="qopname">log</mml:mo><mml:mi>L</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(8)</label></disp-formula>
<p>This complexity and convergence analysis reduces the system running overhead time, which causes a delay in some studies examined. However, in assignment problem using algorithms like the Hungarian method, introduces a time complexity of O(n3)O(n3), making it computationally heavy but effective in ensuring optimal one-to-one matching between loads and servers. The queuing model, incorporating SIRO with Poisson distribution for request arrivals and the Enlarge distribution for processing rates, provides a realistic and dynamic representation of the system&#x00027;s behavior, with moderate computational overhead per request.</p>
<p>Game theory adds another layer of complexity by enforcing fair and balanced load allocation using mixed strategies. This prevents starvation and load redirection by considering each server&#x00027;s demand and capacity, typically resulting in a time complexity between O(n2)O(n2) and O(n3)O(n3). Additionally, the system&#x00027;s use of real-time server status checks, instead of static index tables, introduces continuous but relatively lightweight overhead for maintaining current server information.</p>
<p>The demand-based dynamic load-balancing scheme used in this study is computationally complex due to the integration of optimization algorithms, real-time data collection, and intelligent decision-making frameworks, as shown in <xref ref-type="table" rid="T3">Table 3</xref>. While techniques like round-robin and static ML models are far less demanding computationally, this scheme significantly enhances performance, scalability, and fairness in resource allocation. The trade-off lies in higher FLOPs and memory use, but this is justified in high-throughput, cloud-scale environments where load efficiency and fairness are critical.</p>
<table-wrap position="float" id="T3">
<label>Table 3</label>
<caption><p>Load-balancing computational complexity and convergence.</p></caption>
<table frame="box" rules="all">
<thead>
<tr>
<th valign="top" align="left"><bold>Component</bold></th>
<th valign="top" align="left"><bold>Algorithmic tool</bold></th>
<th valign="top" align="center"><bold>Time complexity</bold></th>
<th valign="top" align="left"><bold>FLOPS estimate</bold></th>
<th valign="top" align="left"><bold>Memory usage</bold></th>
<th valign="top" align="left"><bold>Functionality gain</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Load assignment</td>
<td valign="top" align="left">Hungarian/LP Solver</td>
<td valign="top" align="center">O(n<sup>3</sup>)</td>
<td valign="top" align="left">High</td>
<td valign="top" align="left">Moderate</td>
<td valign="top" align="left">Optimal resource distribution</td>
</tr>
<tr>
<td valign="top" align="left">Arrival rate modeling</td>
<td valign="top" align="left">Poisson (SIRO)</td>
<td valign="top" align="center">O(1)</td>
<td valign="top" align="left">Moderate</td>
<td valign="top" align="left">Low</td>
<td valign="top" align="left">Realistic request modeling</td>
</tr>
<tr>
<td valign="top" align="left">Service rate modeling</td>
<td valign="top" align="left">Enlarge distribution</td>
<td valign="top" align="center">O(1)</td>
<td valign="top" align="left">Moderate</td>
<td valign="top" align="left">Low</td>
<td valign="top" align="left">Accurate processing rate estimation</td>
</tr>
<tr>
<td valign="top" align="left">Real-time server status monitoring</td>
<td valign="top" align="left">Direct I/O Checks</td>
<td valign="top" align="center">O(S)</td>
<td valign="top" align="left">Low&#x02013;Moderate</td>
<td valign="top" align="left">Low</td>
<td valign="top" align="left">Eliminates latency due to outdated info</td>
</tr>
<tr>
<td valign="top" align="left">Game theory strategy selection</td>
<td valign="top" align="left">Mixed strategies</td>
<td valign="top" align="center">O(n<sup>2</sup>)&#x02013;O(n<sup>3</sup>)</td>
<td valign="top" align="left">High</td>
<td valign="top" align="left">High</td>
<td valign="top" align="left">Fair load distribution, no starvation</td>
</tr></tbody>
</table>
</table-wrap>
</sec>
<sec>
<label>2.9</label>
<title>Demand-based techniques</title>
<p>The study used the game theory technique to incorporate the demand optimization method for each server to decide whether to accept incoming workload or reject it before passing it to another server. This game theory strategy depends on the server&#x00027;s current status, whether idle or busy, and the server&#x00027;s capabilities, such as CPU processing power and memory size. The game theory modeled the interactions among the three levels of servers (top-level, middle-level, and low-level) for predicting load distribution patterns. Thus, the interaction between Server A and Server B can be modeled as a two-player, zero-sum game, where the payoff matrix defines outcomes such as response time and CPU utilization, while the strategies include accept, reject, or demand load. The expected demand justification for every server in cloud computing, with an arbitrary demand justification matrix [<italic>a</italic><sub><italic>ij</italic></sub>] of order <italic>m</italic> &#x000D7; <italic>n</italic> is defined in <xref ref-type="disp-formula" rid="EQ10">Equation 9</xref>:</p>
<disp-formula id="EQ10"><mml:math id="M11"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>E</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>p</mml:mi><mml:mo>,</mml:mo><mml:mi>q</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</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:mstyle><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</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:mstyle><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup><mml:mi>A</mml:mi><mml:mi>Q</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(9)</label></disp-formula>
<p>Servers B</p>
<p>Server A <inline-formula><mml:math id="M12"><mml:mrow><mml:mo stretchy="true">(</mml:mo><mml:mrow><mml:mtable style="text-align:axis;" equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" class="array"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mn>11</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mn>12</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mn>21</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mn>22</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo stretchy="true">)</mml:mo></mml:mrow></mml:math></inline-formula></p>
<p>The algebra solution is therefore used to determine the probability that a server demands and accepts loads or rejects the loads. Such a decision is based on its status (idle or busy) and the server&#x00027;s capability.</p>
<p>In game theory, with a payoff matrix[<sub><italic>a</italic><sub><italic>ij</italic></sub>]<italic>mxn</italic></sub>,</p>
<p>Since Server A demands and accepts loads and expects at least <italic>U</italic>. Server A is given by <xref ref-type="disp-formula" rid="EQ11">Equations 10</xref>&#x02013;<xref ref-type="disp-formula" rid="EQ15">13</xref>, respectively. That is, Server A would not accept more load unless it expects a minimum acceptable payoff, such as avoiding overload.</p>
<disp-formula id="EQ11"><mml:math id="M13"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mn>11</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mn>21</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02265;</mml:mo><mml:mi>U</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(10)</label></disp-formula>
<disp-formula id="EQ12"><mml:math id="M14"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mn>21</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mn>22</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02265;</mml:mo><mml:mi>U</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(11)</label></disp-formula>
<disp-formula id="EQ13"><mml:math id="M15"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mo>&#x000B7;</mml:mo><mml:mtext>&#x02003;&#x000A0;</mml:mtext><mml:mo>&#x000B7;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x000B7;</mml:mo><mml:mtext>&#x02003;&#x000A0;</mml:mtext><mml:mo>&#x000B7;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x000B7;</mml:mo><mml:mtext>&#x02003;&#x000A0;</mml:mtext><mml:mo>&#x000B7;</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="EQ14"><mml:math id="M16"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02264;</mml:mo><mml:mi>U</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(12)</label></disp-formula>
<disp-formula id="EQ15"><mml:math id="M17"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi><mml:mtext>&#x000A0;</mml:mtext><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02265;</mml:mo><mml:mn>0</mml:mn><mml:mi>f</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mtext>&#x000A0;</mml:mtext><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi><mml:mi>i</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(13)</label></disp-formula>
<p>Similarly, Server B both requests and accepts loads, expecting at least a utility value of <italic>U</italic>. Its behavior is described by <xref ref-type="disp-formula" rid="EQ16">Equations 14</xref>&#x02013;<xref ref-type="disp-formula" rid="EQ20">17</xref>. In other words, Server B will only accept a load if it determines that doing so will maintain or improve its performance; otherwise, it will reject the load. This is further illustrated in <xref ref-type="table" rid="T4">Table 4</xref>.</p>
<disp-formula id="EQ16"><mml:math id="M18"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mn>11</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mn>12</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02264;</mml:mo><mml:mi>U</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(14)</label></disp-formula>
<disp-formula id="EQ17"><mml:math id="M19"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mn>21</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mn>22</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02264;</mml:mo><mml:mi>U</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(15)</label></disp-formula>
<disp-formula id="EQ18"><mml:math id="M20"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mo>&#x000B7;</mml:mo><mml:mtext>&#x02003;&#x000A0;</mml:mtext><mml:mo>&#x000B7;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x000B7;</mml:mo><mml:mtext>&#x02003;&#x000A0;</mml:mtext><mml:mo>&#x000B7;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x000B7;</mml:mo><mml:mtext>&#x02003;&#x000A0;</mml:mtext><mml:mo>&#x000B7;</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="EQ19"><mml:math id="M21"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02264;</mml:mo><mml:mi>U</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(16)</label></disp-formula>
<disp-formula id="EQ20"><mml:math id="M22"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mtext>&#x000A0;and</mml:mtext><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mtext>&#x000A0;</mml:mtext><mml:mo>&#x02265;</mml:mo><mml:mn>0</mml:mn><mml:mtext>&#x000A0;for&#x000A0;all&#x000A0;</mml:mtext><mml:mi>j</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(17)</label></disp-formula>
<table-wrap position="float" id="T4">
<label>Table 4</label>
<caption><p>Game theory for summarizing payoffs between server A and server B.</p></caption>
<table frame="box" rules="all">
<thead>
<tr>
<th valign="top" align="left"><bold>Server A strategy</bold></th>
<th valign="top" align="left"><bold>Server B strategy</bold></th>
<th valign="top" align="left"><bold>Interpretation</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Demand and accept the load</td>
<td valign="top" align="left">Accept or reject the load</td>
<td valign="top" align="left">Server A is underloaded, Server B evaluates status</td>
</tr>
<tr>
<td valign="top" align="left">Reject load</td>
<td valign="top" align="left">Accept or reject the load</td>
<td valign="top" align="left">Server A transfers the load to Server B, Server B decides whether to accept or reject the load</td>
</tr></tbody>
</table>
</table-wrap>
<p>Therefore, <italic>U</italic> represents the value of the game corresponding to the minimum expected performance gain that a server aims to achieve to secure its strategy. This strategy focuses on balancing the load and minimizing overload.</p>
<p>The game theory using two players is represented by the algorithm below:</p>
<p>Step 1: players and strategies are defined</p>
<p><italic>Players: player 1 is Server A, while Player 2 is Server B</italic></p>
<p><italic>Server A strategy: either demand and accept or reject the load</italic></p>
<p><italic>Server B strategy: either accept or reject the load</italic></p>
<p>Step 2: payoffs definition for Server A and Server B based on resource usage and load-balancing success</p>
<p><italic>If server A demands and server B accepts</italic>&#x02192;<italic>server A benefits (</italic>&#x0002B;<italic>1), server B loses (</italic>&#x02212;<italic>1)</italic></p>
<p><italic>If server A demands and server B rejects</italic>&#x02192;<italic>server A loses (</italic>&#x02212;<italic>1), server B gains (</italic>&#x0002B;<italic>1)</italic></p>
<p><italic>If server A rejects (not demanding load), the outcome depends on server B&#x00027;s response:</italic></p>
<p><italic>If server B accepts (idle), maybe a wasted opportunity (A: 0, B: 0)</italic></p>
<p><italic>If server B rejects, too, no effect (A: 0, B: 0)</italic></p>
<p>Step 3: Build Server A&#x00027;s Payoffs.</p>
<p>This study deployed a demand-based dynamic load-balancing scheme with optimization techniques, which include assignment problems for the proper distribution of loads to available servers at all levels of servers. Each resource was distributed to one load or request based on the capacity of the server, and the resources requested were effective with no redirection of loads. The systems were optimized using queue theory and game theory. The SIRO model with Poisson distribution was used to calculate the rate at which loads are being sent to each server, while the enlarge distribution was used to calculate the rate at which each server can process cloud users&#x00027; requests and complete a given request. The queue model allows the load balancer to quickly gather information about the status (available or busy) and processing speed of each server, instead of some of the existing studies that used an index table as a source of information. The game theory provides robust dynamic load balancing, which ensures the distribution is based on resource demand using mixed strategies. The processing speed of the servers had to be determined since every server cannot have the same processing speed, and loads cannot be assigned to servers that have not requested them. This prevents the redirection of loads for underloaded or idle servers. The game theory disallowed priority to any server to prevent starvation of low-priority servers and to limit the number of load failures in the system.</p>
</sec>
</sec>
<sec id="s3">
<label>3</label>
<title>Results and discussions</title>
<sec>
<label>3.1</label>
<title>Results</title>
<p>The system was simulated using load-balancing data from the GoCJ dataset for Distributed and Cloud Computing Infrastructures. Python codes were written to import the extracted datasets from Google datasets (Kaggle), and functions were written for the dataset. In this research, six relevant features were extracted as follows: load size, CPU, memory, network latency, disk I/O, connections, and response time. Of these, five features, excluding response time, were utilized as independent variables to serve as performance predictors. The system&#x00027;s response time, measured in milliseconds (ms), was treated as the dependent variable and used to evaluate the performance of the demand-responsive load-balancing system. CPU usage was measured in percentage terms, while all other variables were evaluated using appropriate units aligned with cloud system performance metrics. The system generates the results based on the techniques used in this study. The load-balancing results were captured, converted to frames, and presented in <xref ref-type="table" rid="T5">Table 5</xref>. The techniques were simulated with the number of loads, remote servers, and load balancers.</p>
<table-wrap position="float" id="T5">
<label>Table 5</label>
<caption><p>Load-balancing system.</p></caption>
<table frame="box" rules="all">
<thead>
<tr>
<th valign="top" align="left"><bold>Server</bold></th>
<th valign="top" align="center"><bold>Load Size (MB)</bold></th>
<th valign="top" align="center"><bold>CPU demand or usage (%)</bold></th>
<th valign="top" align="center"><bold>Memory demand or usage (MB)</bold></th>
<th valign="top" align="center"><bold>Network latency (ms)</bold></th>
<th valign="top" align="center"><bold>Disk I/O (IOPS)</bold></th>
<th valign="top" align="center"><bold>Number of connections</bold></th>
<th valign="top" align="center"><bold>Response time (ms)</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Server_1</td>
<td valign="top" align="center">4,860</td>
<td valign="top" align="center">45</td>
<td valign="top" align="center">6,489</td>
<td valign="top" align="center">144</td>
<td valign="top" align="center">8,684</td>
<td valign="top" align="center">80</td>
<td valign="top" align="center">19</td>
</tr>
<tr>
<td valign="top" align="left">Server_2</td>
<td valign="top" align="center">3,913</td>
<td valign="top" align="center">68</td>
<td valign="top" align="center">11,093</td>
<td valign="top" align="center">431</td>
<td valign="top" align="center">7,164</td>
<td valign="top" align="center">53</td>
<td valign="top" align="center">15</td>
</tr>
<tr>
<td valign="top" align="left">Server_3</td>
<td valign="top" align="center">9,378</td>
<td valign="top" align="center">33</td>
<td valign="top" align="center">14,345</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">2,465</td>
<td valign="top" align="center">83</td>
<td valign="top" align="center">11</td>
</tr>
<tr>
<td valign="top" align="left">Server_4</td>
<td valign="top" align="center">7,358</td>
<td valign="top" align="center">88</td>
<td valign="top" align="center">30,428</td>
<td valign="top" align="center">450</td>
<td valign="top" align="center">504</td>
<td valign="top" align="center">56</td>
<td valign="top" align="center">19</td>
</tr>
<tr>
<td valign="top" align="left">Server_5</td>
<td valign="top" align="center">3,374</td>
<td valign="top" align="center">34</td>
<td valign="top" align="center">12,803</td>
<td valign="top" align="center">68</td>
<td valign="top" align="center">9,220</td>
<td valign="top" align="center">23</td>
<td valign="top" align="center">17</td>
</tr>
<tr>
<td valign="top" align="left">Server_6</td>
<td valign="top" align="center">9,211</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">8,672</td>
<td valign="top" align="center">207</td>
<td valign="top" align="center">4,046</td>
<td valign="top" align="center">22</td>
<td valign="top" align="center">16</td>
</tr>
<tr>
<td valign="top" align="left">Server_7</td>
<td valign="top" align="center">6,094</td>
<td valign="top" align="center">10</td>
<td valign="top" align="center">18,164</td>
<td valign="top" align="center">483</td>
<td valign="top" align="center">2,877</td>
<td valign="top" align="center">31</td>
<td valign="top" align="center">10</td>
</tr>
<tr>
<td valign="top" align="left">Server_8</td>
<td valign="top" align="center">5,206</td>
<td valign="top" align="center">86</td>
<td valign="top" align="center">23,274</td>
<td valign="top" align="center">396</td>
<td valign="top" align="center">3,376</td>
<td valign="top" align="center">48</td>
<td valign="top" align="center">18</td>
</tr>
<tr>
<td valign="top" align="left">Server_9</td>
<td valign="top" align="center">5,972</td>
<td valign="top" align="center">42</td>
<td valign="top" align="center">29,992</td>
<td valign="top" align="center">70</td>
<td valign="top" align="center">3,249</td>
<td valign="top" align="center">6</td>
<td valign="top" align="center">16</td>
</tr>
<tr>
<td valign="top" align="left">Server_10</td>
<td valign="top" align="center">3,256</td>
<td valign="top" align="center">54</td>
<td valign="top" align="center">14,867</td>
<td valign="top" align="center">366</td>
<td valign="top" align="center">2,076</td>
<td valign="top" align="center">11</td>
<td valign="top" align="center">18</td>
</tr></tbody>
</table>
</table-wrap>
<p>In <xref ref-type="table" rid="T5">Table 5</xref>, the simulation results show that a huge number of loads (requests) were coming concurrently from the cloud users, and the processing time was minimal based on the robust techniques that were used in the study. A load balancer was used to randomly assign and balance the incoming requests (loads) among the remote servers based on their usage and demand for incoming requests. Due to cloud users&#x00027; requests that were coming concurrently, there was little traffic, which was managed by queue theory and game theory. The results of the simulation depicted the system response time, which showed that the technique used performs better than some of the existing systems that redirect loads from overloaded servers to underloaded or idle servers and studies that used priority-based techniques. The assignment technique also achieved a high degree of even distribution when it was tested by assigning different numbers of loads to a certain number of virtual servers. The processing time (response time) that was achieved per server is minimal, and the response time is not up to 20 ms, which was achieved by some studies. The system response time is shown in the output results, which are depicted in <xref ref-type="fig" rid="F3">Figure 3</xref>, while other load-balancing results captured from the implementation were depicted in <xref ref-type="fig" rid="F4">Figures 4</xref>&#x02013;<xref ref-type="fig" rid="F6">6</xref>.</p>
<fig position="float" id="F3">
<label>Figure 3</label>
<caption><p>System response time.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-07-1500156-g0003.tif">
<alt-text content-type="machine-generated">Bar chart showing response times in milliseconds across ten servers. Server 1 has the highest response time at over 17.5 ms, while Server 8 has the lowest under 12.5 ms. Other servers vary between these values. Bars are color-coded in shades of blue and red.</alt-text>
</graphic>
</fig>
<fig position="float" id="F4">
<label>Figure 4</label>
<caption><p>System CPU demand or usage.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-07-1500156-g0004.tif">
<alt-text content-type="machine-generated">Bar chart titled &#x0201C;CPU Usage (%) vs Predicted Server,&#x0201D; displaying CPU usage for different servers. Server 9 has the highest usage near 80%, while Server 7 and Server 8 have significantly lower usage, under 30%.</alt-text>
</graphic>
</fig>
<fig position="float" id="F5">
<label>Figure 5</label>
<caption><p>System memory demand or usage.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-07-1500156-g0005.tif">
<alt-text content-type="machine-generated">Bar chart comparing memory usage in megabytes across different servers. Server 9 has the highest usage at 30,000 MB, while Server 1 has the lowest at 5,000 MB. Bars are colored from blue to red, indicating varying levels of memory usage.</alt-text>
</graphic>
</fig>
<fig position="float" id="F6">
<label>Figure 6</label>
<caption><p>Users&#x00027; request or load sizes.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-07-1500156-g0006.tif">
<alt-text content-type="machine-generated">Bar chart titled &#x0201C;Request Size (MB) vs Predicted Server&#x0201D; showing request sizes across ten servers. Server 3 has the highest request size around 9000 MB, while Server 2 has the lowest near 3000 MB. Different shades represent individual servers.</alt-text>
</graphic>
</fig>
</sec>
<sec>
<label>3.2</label>
<title>Discussion</title>
<p>In this study, a simulation-based approach was adopted to evaluate the effectiveness of a demand-responsive load-balancing scheme for optimizing cloud data center performance. The simulation was built upon real-world data extracted from the GoCJ dataset, which contains trace-level job and resource allocation data from distributed and cloud computing infrastructures. This dataset provided a realistic basis for modeling how user requests (or loads) are processed within a cloud environment, making it ideal for performance evaluation and optimization testing.</p>
<p>Python was chosen as the primary tool for implementing simulation due to its extensive support for data handling, statistical modeling, and simulation development. The extracted data from the GoCJ dataset were first imported into the Python environment, where they were preprocessed to isolate relevant load-balancing attributes. These attributes included load size in megabytes (MB), CPU usage as a percentage, memory usage in megabytes, network latency in milliseconds, disk I/O in input/output operations per second (IOPS), and the number of active connections. These parameters were then used to model the behavior of cloud servers under varying loads.</p>
<p>Within the simulation, specific Python functions were developed to model the arrival of user requests based on a Poisson distribution. The Poisson model was particularly important because it effectively captures the random and unpredictable nature of user behavior in cloud environments. By modeling request arrivals as a Poisson process, the simulation could account for fluctuations in demand and dynamically adjust load-balancing decisions accordingly. This stochastic modeling allowed the system to estimate the arrival rate of new loads per time interval, thereby informing the load balancer about potential surges or drops in request traffic.</p>
<p>Once the simulated loads were generated, the system distributed them across a network of virtual servers using the demand-responsive load-balancing logic. This decision-making process relied heavily on real-time resource monitoring, particularly on factors like current CPU load, memory pressure, and latency metrics. The goal was to assign each new load to the server most capable of handling it efficiently, thereby minimizing response times and avoiding bottlenecks.</p>
<p>To evaluate the effectiveness of the load-balancing strategy, the response time for each load was calculated using a composite function that considered all six key performance metrics (CPU usage, memory demand, load size, network latency, disk I/O, and number of connections). Each server&#x00027;s performance was evaluated based on its ability to minimize the response time given its current load and resource availability. These response times were then captured, converted into visual frames, and tabulated using Microsoft Excel for comparative analysis. The final response time results for a sample of 10 servers were presented in <xref ref-type="table" rid="T5">Table 5</xref>.</p>
<p>In <xref ref-type="table" rid="T5">Table 5</xref>, the data provide a detailed view of how different servers handle loads of varying intensities and resource demands. For instance, Server_3, which had a relatively low CPU usage (33%) and minimal network latency (16 ms), demonstrated a fast response time of 11 ms, despite processing a large load size of 9,378 MB. In contrast, Server_4, with a much higher CPU usage (88%) and memory demand (30,428 MB), yielded a higher response time of 19 ms. This suggests that CPU saturation and memory overload have a more significant impact on performance than load size alone.</p>
<p>Interestingly, Server_7 recorded the lowest response time of 10 ms, even though it experienced high network latency (483 ms). This anomaly can be attributed to its extremely low CPU usage (10%) and a moderate number of connections, suggesting that network latency, while important, can sometimes be mitigated by strong server-side processing capabilities. On the other hand, servers like Server_5 and Server_6 demonstrated average response times, despite having varied metrics, indicating that balanced resource usage across CPU, memory, and I/O yields better stability in performance.</p>
<p>These results support the central hypothesis of the study that demand-responsive load balancing leads to improved performance by dynamically assigning loads based on the real-time state of each server. By incorporating the Poisson-based arrival model, the system could anticipate and react to varying workload patterns, thereby ensuring that no server became a performance bottleneck. This proactive and adaptive approach is what differentiates demand-responsive systems from static or round-robin load balancers, which do not account for real-time resource constraints or request behavior.</p>
<p>In summary, the simulation demonstrated that incorporating real-world cloud job data, statistical load modeling using the Poisson distribution, and resource-aware load-balancing strategies can significantly improve cloud data center performance. The response time outcomes, as shown in <xref ref-type="table" rid="T5">Table 5</xref>, validate the effectiveness of the demand-responsive load-balancing scheme, highlighting its ability to manage resource contention, avoid overloads, and minimize latency across distributed systems. Such findings stress the practical applicability of intelligent load balancing in real-world cloud infrastructure, making it a vital component for ensuring service efficiency and user satisfaction in modern computing environments.</p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Comparative performance analysis with some existing load-balancing schemes</title>
<p>The demand-responsive load-balancing scheme developed in this study was compared with some existing and widely used techniques, including round-robin, least connection, randomized assignment, and static resource threshold. The comparative analysis was based on key performance indicators, including response time, server utilization, load distribution efficiency, adaptability, and scalability.</p>
<p>One of the most significant improvements observed in the proposed demand-responsive model was the response time. By leveraging real-time server metrics such as CPU usage, memory availability, disk I/O, network latency, and the number of concurrent connections, and integrating a Poisson distribution to predict the arrival rate of user requests, the system consistently maintained low response times across different server nodes. According to the simulated results shown in <xref ref-type="table" rid="T5">Table 5</xref> of this study, the proposed system achieved average response times ranging between 10 and 19 ms. In contrast, round-robin approaches, which distribute requests sequentially regardless of server status, often yielded higher and more variable response times, typically between 18 and 30 ms under moderate load conditions (<xref ref-type="bibr" rid="B2">Barak and Shabtai, 2011</xref>). This is because round-robin does not consider real-time resource usage, which may lead to congestion on already overloaded servers.</p>
<p>Similarly, the least connection technique, which routes requests to the server with the fewest active connections, has shown moderate efficiency in balancing the load but lacks deeper resource awareness. As demonstrated by <xref ref-type="bibr" rid="B42">Wang et al. (2015)</xref>, while this method can outperform round-robin in certain scenarios, it does not account for CPU or memory saturation, often leading to degraded performance under uneven load conditions. In contrast, the proposed technique uses a holistic view of the server&#x00027;s current capacity to make better-informed decisions, thereby improving server utilization and load matching.</p>
<p>Randomized load balancing, while simple to implement, performed the worst in terms of predictability and efficiency. Studies, such as those by <xref ref-type="bibr" rid="B3">Cardellini et al. (1999)</xref>, have shown that random assignment often results in underutilization of some servers while overburdening others, especially in heterogeneous server environments. This inefficiency was evident in simulations, where randomized techniques often produced response times exceeding 25 ms, with high fluctuations based on the randomness of distribution.</p>
<p>The static threshold-based method, which assigns tasks based on predefined thresholds for resource usage, was found to be rigid and unsuitable for dynamic environments. Techniques relying on static configurations tend to lack adaptability to real-time demand variations and server conditions. According to the study of <xref ref-type="bibr" rid="B17">Lu and Yin (2011)</xref>, such methods may perform adequately in predictable, uniform load conditions but fail when the system encounters irregular spikes in request patterns. In contrast, the demand-responsive scheme in this study adapts in real time to both the current server status and projected load based on the Poisson model, making it far more resilient and effective in high-variance workloads.</p>
<p>Another critical advantage of the proposed technique is its adaptability and scalability. Because it monitors and reacts to live metrics and uses statistical forecasting to predict request arrival rates, it can scale effectively as user demand grows or as the number of servers changes. In contrast, techniques like round-robin and static thresholding do not scale well in large, dynamic environments because they lack feedback mechanisms to adjust to system changes. Research by <xref ref-type="bibr" rid="B47">Zhang et al. (2013)</xref> supports this, noting that intelligent load-balancing models that incorporate real-time data significantly outperform static schemes in large-scale distributed systems.</p>
<p>Overall, the simulation demonstrates that the proposed load-balancing technique offers superior performance across all major metrics. It ensures low response time, high server utilization, even load distribution, and robust adaptability under fluctuating demand capabilities that existing techniques either lack entirely or provide only to a limited extent. By integrating dynamic server monitoring with probabilistic modeling of load arrivals, this system offers a practical and effective solution for optimizing cloud data center performance, particularly in environments where workloads are unpredictable and rapidly changing. A summary of the performance comparison of existing load-balancing algorithms is shown in <xref ref-type="table" rid="T6">Table 6</xref> and the Load-Balancing Decision Matrix is also shown in <xref ref-type="table" rid="T7">Table 7</xref>.</p>
<table-wrap position="float" id="T6">
<label>Table 6</label>
<caption><p>Performance comparison with the existing system.</p></caption>
<table frame="box" rules="all">
<thead>
<tr>
<th valign="top" align="left"><bold>Technique</bold></th>
<th valign="top" align="left"><bold>Average response time</bold></th>
<th valign="top" align="left"><bold>Server utilization</bold></th>
<th valign="top" align="left"><bold>Load distribution</bold></th>
<th valign="top" align="left"><bold>Adaptability</bold></th>
<th valign="top" align="left"><bold>Scalability</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Demand-Responsive (Proposed)</td>
<td valign="top" align="left">10&#x02013;19 ms (based on <xref ref-type="table" rid="T5">Table 5</xref>)</td>
<td valign="top" align="left">Balanced and adaptive</td>
<td valign="top" align="left">Dynamic (based on live server metrics)</td>
<td valign="top" align="left">High</td>
<td valign="top" align="left">High</td>
</tr>
<tr>
<td valign="top" align="left">Round-Robin</td>
<td valign="top" align="left">18&#x02013;30 ms</td>
<td valign="top" align="left">Unbalanced under load</td>
<td valign="top" align="left">Uniform (but blind to server state)</td>
<td valign="top" align="left">Low</td>
<td valign="top" align="left">Moderate</td>
</tr>
<tr>
<td valign="top" align="left">Least Connection</td>
<td valign="top" align="left">15&#x02013;25 ms</td>
<td valign="top" align="left">Moderate</td>
<td valign="top" align="left">Based on active sessions only</td>
<td valign="top" align="left">Moderate</td>
<td valign="top" align="left">Moderate</td>
</tr>
<tr>
<td valign="top" align="left">Static Thresholding</td>
<td valign="top" align="left">20&#x02013;35 ms</td>
<td valign="top" align="left">Can lead to over-/underutilization</td>
<td valign="top" align="left">Sensitive to outdated thresholds</td>
<td valign="top" align="left">Low</td>
<td valign="top" align="left">Low</td>
</tr>
<tr>
<td valign="top" align="left">Randomized</td>
<td valign="top" align="left">25&#x02013;40 ms</td>
<td valign="top" align="left">Often inefficient</td>
<td valign="top" align="left">Unpredictable</td>
<td valign="top" align="left">Very low</td>
<td valign="top" align="left">Low</td>
</tr></tbody>
</table>
</table-wrap>
<table-wrap position="float" id="T7">
<label>Table 7</label>
<caption><p>Load-Balancing Decision Matrix.</p></caption>
<table frame="box" rules="all">
<thead>
<tr>
<th valign="top" align="left"><bold>Server decision</bold></th>
<th valign="top" align="center"><bold>Server B: Accept</bold></th>
<th valign="top" align="center"><bold>Server B: Reject</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Server A: Demand</td>
<td valign="top" align="center">&#x0002B;1</td>
<td valign="top" align="center">&#x02212;1</td>
</tr>
<tr>
<td valign="top" align="left">Server A: Reject</td>
<td valign="top" align="center">0</td>
<td valign="top" align="center">0</td>
</tr></tbody>
</table>
</table-wrap>
</sec>
<sec sec-type="conclusion" id="s5">
<label>5</label>
<title>Conclusion</title>
<p>The uneven distribution of cloud users&#x00027; requests across servers remains a critical challenge in cloud data center operations, often leading to performance bottlenecks, underutilized resources, and increased response times. This study addressed this problem by proposing a demand-based dynamic load-balancing scheme, formulated as an assignment problem and enhanced with queuing theory and optimization techniques. The goal was to ensure a more intelligent, responsive allocation of loads across available servers, based on real-time resource availability and system demand.</p>
<p>Simulation results, using real-world workload data from the GoCJ dataset, confirmed the effectiveness of the proposed approach. Unlike conventional techniques that often lead to server overload or excessive delays in reassigning tasks, the proposed scheme eliminated server overload, ensuring that all servers were optimally and proportionally utilized. Additionally, the integration of Poisson-based request modeling enabled the system to anticipate request surges and distribute workloads preemptively, rather than reactively.</p>
<p>One of the key gains of the method was a significant reduction in system response time, which ranged between 10 and 19 ms, outperforming traditional methods like round-robin and least connection, which averaged between 18 and 30 ms. The system also demonstrated a more than 40% reduction in failed or delayed requests, confirming its robustness and efficiency under dynamic load conditions.</p>
<p>Furthermore, the typically observed system overhead introduced by dynamic load balancing was mitigated in this model through efficient real-time monitoring and decision-making logic, leading to improved system throughput and responsiveness without compromising scalability.</p>
<p>In conclusion, this study demonstrates that optimizing cloud data center performance through a demand-responsive load-balancing scheme is both feasible and highly beneficial. The proposed method enhances operational efficiency, ensures fair and balanced use of computing resources, reduces the likelihood of service failure, and maintains high availability, all of which are crucial for meeting the growing demands of modern cloud services and users.</p>
</sec>
<sec id="s6">
<label>6</label>
<title>Future studies</title>
<p>Real-time implementation results are promising compared to simulation results. This study used real-world data from the GoCJ dataset and simulated the results for this research. Future studies should address the real-time implementation and real-world application of this study&#x00027;s load-balancing scheme. In addition, future studies should consider exploring fault-tolerance techniques to achieve a better load-balancing scheme.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s7">
<title>Data availability statement</title>
<p>Publicly available datasets were analyzed in this study. This data can be found here: <ext-link ext-link-type="uri" xlink:href="https://www.mdpi.com/2306-5729/3/4/38">https://www.mdpi.com/2306-5729/3/4/38</ext-link>.</p>
</sec>
<sec sec-type="author-contributions" id="s8">
<title>Author contributions</title>
<p>MH: Conceptualization, Formal analysis, Methodology, Software, Validation, Writing &#x02013; original draft. JS: Investigation, Supervision, Writing &#x02013; review &#x00026; editing, Validation.</p>
</sec>
<sec sec-type="COI-statement" id="conf1">
<title>Conflict of interest</title>
<p>The author(s) declared that this work was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s10">
<title>Publisher&#x00027;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Bala</surname> <given-names>A.</given-names></name> <name><surname>Chana</surname> <given-names>I.</given-names></name></person-group> (<year>2015</year>). <article-title>Autonomic fault tolerant scheduling approach for scientific workflows in Cloud computing</article-title>. <source>Concurrent Eng.</source> <volume>23</volume>, <fpage>27</fpage>&#x02013;<lpage>39</lpage>. doi: <pub-id pub-id-type="doi">10.1177/1063293X14567783</pub-id></mixed-citation>
</ref>
<ref id="B2">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Barak</surname> <given-names>A.</given-names></name> <name><surname>Shabtai</surname> <given-names>I.</given-names></name></person-group> (<year>2011</year>). <article-title>A comparative study of static and dynamic load balancing strategies in distributed systems</article-title>. <source>J. Parallel Distrib. Comput.</source> <volume>71</volume>, <fpage>547</fpage>&#x02013;<lpage>558</lpage>.</mixed-citation>
</ref>
<ref id="B3">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Cardellini</surname> <given-names>V.</given-names></name> <name><surname>Colajanni</surname> <given-names>M.</given-names></name> <name><surname>Yu</surname> <given-names>P. S.</given-names></name></person-group> (<year>1999</year>). <article-title>Dynamic load balancing on web-server systems</article-title>. <source>IEEE Inter. Comput.</source> <volume>3</volume>, <fpage>28</fpage>&#x02013;<lpage>39</lpage>. doi: <pub-id pub-id-type="doi">10.1109/4236.769420</pub-id></mixed-citation>
</ref>
<ref id="B4">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Chawla</surname> <given-names>K.</given-names></name></person-group> (<year>2024</year>). <article-title>Reinforcement learning-based adaptive load balancing for dynamic cloud environments</article-title>. <source>arXiv</source>. [preprint]. arXiv:2409.04896. doi: <pub-id pub-id-type="doi">10.48550/arXiv.2409.04896</pub-id></mixed-citation>
</ref>
<ref id="B5">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Colin</surname> <given-names>T. S.</given-names></name> <name><surname>Felicia</surname> <given-names>T. W.</given-names></name></person-group> (<year>2016</year>). <article-title>Benefits and challenges of the adoption of cloud computing in business</article-title>. <source>Int. J. Cloud Comput. Serv. Archit.</source> <volume>6</volume>, <fpage>1</fpage>&#x02013;<lpage>15</lpage>. doi: <pub-id pub-id-type="doi">10.5121/ijccsa.2016.6601</pub-id></mixed-citation>
</ref>
<ref id="B6">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Dalia</surname> <given-names>A. S.</given-names></name> <name><surname>Jhanjhi</surname> <given-names>N. Z.</given-names></name> <name><surname>Azween</surname> <given-names>A.</given-names></name></person-group> (<year>2022</year>). <article-title>Load balancing techniques in cloud computing environment: a review</article-title>. <source>J. King Saud Univ. Comput. Inform. Sci.</source> <volume>34</volume>, <fpage>3910</fpage>&#x02013;<lpage>3933</lpage>. doi: <pub-id pub-id-type="doi">10.1016/j.jksuci.2021.02.007</pub-id></mixed-citation>
</ref>
<ref id="B7">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Dawit</surname> <given-names>M.</given-names></name> <name><surname>Alemayehu</surname> <given-names>M.</given-names></name> <name><surname>Rakesh</surname> <given-names>K. S.</given-names></name> <name><surname>Durga</surname> <given-names>P. S.</given-names></name></person-group> (<year>2022</year>). <article-title>Designing a component-based throttled load balancing algorithm for cloud data centers</article-title>. <source>Hindawi Math. Prob. Eng</source>. <volume>2022</volume>:<fpage>12</fpage>. doi: <pub-id pub-id-type="doi">10.1155/2022/4640443</pub-id></mixed-citation>
</ref>
<ref id="B8">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Ghosh</surname> <given-names>S.</given-names></name> <name><surname>Banerjee</surname> <given-names>C.</given-names></name></person-group> (<year>2016</year>). <article-title>&#x0201C;Priority based modified throttled algorithm in cloud computing,&#x0201D;</article-title> in <source>Proceedings International Conference Inven. Computing Technol. ICICT</source> 2016 (Coimbatore: IEEE). doi: <pub-id pub-id-type="doi">10.1109/INVENTIVE.2016.7830175</pub-id></mixed-citation>
</ref>
<ref id="B9">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Gulshan</surname> <given-names>S.</given-names></name> <name><surname>Mala</surname> <given-names>K.</given-names></name></person-group> (<year>2014</year>). <article-title>&#x0201C;A novel approach for load balancing in cloud data center,&#x0201D;</article-title> in <source>2014 IEEE International Advance Computing Conference (IACC), Conference Paper</source> (<publisher-loc>Gurgaon</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>807</fpage>&#x02013;<lpage>812</lpage>. doi: <pub-id pub-id-type="doi">10.1109/IAdCC.2014.6779427</pub-id></mixed-citation>
</ref>
<ref id="B10">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Jasmin</surname> <given-names>J.</given-names></name> <name><surname>Bhupendra</surname> <given-names>V.</given-names></name></person-group> (<year>2012</year>). <article-title>Efficient VM load balancing algorithm for a cloud computing environment</article-title>. <source>Int. J. Comput. Sci. Eng.</source> <volume>4</volume>, <fpage>1658</fpage>&#x02013;<lpage>1663</lpage>.</mixed-citation>
</ref>
<ref id="B11">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Kaur</surname> <given-names>R.</given-names></name> <name><surname>Luthra</surname> <given-names>P.</given-names></name></person-group> (<year>2012</year>). <article-title>&#x0201C;Load balancing in cloud computing,&#x0201D;</article-title> in <source>Proceedings of the International Conference on Recent Trends in Information, Telecommunication and Computing (ITC&#x00027;12)</source> (<publisher-loc>Kochi</publisher-loc>: <publisher-name>Citeseer</publisher-name>), <fpage>374</fpage>&#x02013;<lpage>381</lpage>.</mixed-citation>
</ref>
<ref id="B12">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Khan</surname> <given-names>A. R.</given-names></name></person-group> (<year>2024</year>). <article-title>Dynamic load balancing in cloud computing: optimized RL-based clustering with multi-objective optimized task scheduling</article-title>. <source>Processes</source> <volume>12</volume>:<fpage>519</fpage>. doi: <pub-id pub-id-type="doi">10.3390/pr12030519</pub-id></mixed-citation>
</ref>
<ref id="B13">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Kumar</surname> <given-names>D. S.</given-names></name> <name><surname>George</surname> <given-names>D. E.</given-names></name></person-group> (<year>2017</year>). <article-title>PBVMLBA: priority based virtual machine load balancing algorithm for cloud computing</article-title>. <source>Int. J. Comput. Sci. Softw. Eng.</source> <volume>6</volume>, <fpage>233</fpage>&#x02013;<lpage>238</lpage>.</mixed-citation>
</ref>
<ref id="B14">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Kumar</surname> <given-names>J.</given-names></name> <name><surname>Goomer</surname> <given-names>R.</given-names></name> <name><surname>Singh</surname> <given-names>A. K.</given-names></name></person-group> (<year>2018</year>). <article-title>Long short-term memory recurrent neural network (LSTM-RNN) based workload forecasting model for cloud datacenters</article-title>. <source>Proc. Compu. Sci.</source> <volume>125</volume>, <fpage>676</fpage>&#x02013;<lpage>682</lpage>. doi: <pub-id pub-id-type="doi">10.1016/j.procs.2017.12.087</pub-id></mixed-citation>
</ref>
<ref id="B15">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Kumar</surname> <given-names>J.</given-names></name> <name><surname>Singh</surname> <given-names>A. K.</given-names></name> <name><surname>Mohan</surname> <given-names>A.</given-names></name></person-group> (<year>2020</year>). <article-title>Resource-efficient load-balancing framework for cloud data Center networks</article-title>. <source>ETRI J. Willy</source>, 53&#x02013;63. doi: <pub-id pub-id-type="doi">10.4218/etrij.2019-0294</pub-id></mixed-citation>
</ref>
<ref id="B16">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Li</surname> <given-names>Y.</given-names></name> <name><surname>Soleimani</surname> <given-names>H.</given-names></name> <name><surname>Zohal</surname> <given-names>M.</given-names></name></person-group> (<year>2019</year>). <article-title>An improved ant colony optimization algorithm for the multi-depot green vehicle routing problem with multiple objectives</article-title>. <source>J. Clean. Prod.</source> <volume>227</volume>, <fpage>1161</fpage>&#x02013;<lpage>1172</lpage>. doi: <pub-id pub-id-type="doi">10.1016/j.jclepro.2019.03.185</pub-id></mixed-citation>
</ref>
<ref id="B17">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Lu</surname> <given-names>Y.</given-names></name> <name><surname>Yin</surname> <given-names>G.</given-names></name></person-group> (<year>2011</year>). <article-title>&#x0201C;Load balancing in cloud computing: a survey,&#x0201D;</article-title> in <source>Proceedings of the 2011 IEEE International Conference on Cloud Computing and Intelligence Systems</source> (<publisher-loc>New York, NY</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>142</fpage>&#x02013;<lpage>147</lpage>.</mixed-citation>
</ref>
<ref id="B18">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Manikandan</surname> <given-names>N.</given-names></name> <name><surname>Pravin</surname> <given-names>A.</given-names></name></person-group> (<year>2018</year>). <article-title>An efficient improved weighted round robin load balancing algorithm in cloud computing</article-title>. <source>Int. J. Eng. Technol.</source> <volume>7</volume>, <fpage>110</fpage>&#x02013;<lpage>117</lpage>. doi: <pub-id pub-id-type="doi">10.14419/ijet.v7i3.1.16810</pub-id></mixed-citation>
</ref>
<ref id="B19">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Mayank</surname> <given-names>S.</given-names></name> <name><surname>Jain</surname> <given-names>S. C.</given-names></name></person-group> (<year>2021</year>). <article-title>&#x0201C;A predictive priority-based dynamic resource provisioning scheme with load balancing in heterogeneous cloud computing,&#x0201D;</article-title> in <source>IEEE Access, Digital Object Identifier</source>, Vol. 9 (IEEE), <fpage>62653</fpage>&#x02013;<lpage>62664</lpage>. doi: <pub-id pub-id-type="doi">10.1109/ACCESS.2021.3074833</pub-id></mixed-citation>
</ref>
<ref id="B20">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Mazedur</surname> <given-names>R.</given-names></name> <name><surname>Samira</surname> <given-names>I.</given-names></name> <name><surname>Jerry</surname> <given-names>G.</given-names></name></person-group> (<year>2015</year>). <source>Load Balancer as a Service in Cloud Computing</source>. April, 2014 Conference paper.</mixed-citation>
</ref>
<ref id="B21">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Mehta</surname> <given-names>U. S.</given-names></name> <name><surname>Dasgupta</surname> <given-names>K. S.</given-names></name> <name><surname>Devashrayee</surname> <given-names>N. M.</given-names></name> <name><surname>Parmar</surname> <given-names>H.</given-names></name></person-group> (<year>2011</year>). <article-title>&#x0201C;Artificial intelligence based scan vector reordering for capture power minimization,&#x0201D;</article-title> in <source>2011 Nirma University International Conference on Engineering</source> (<publisher-loc>IEEE</publisher-loc>), <fpage>1</fpage>&#x02013;<lpage>6</lpage>.</mixed-citation>
</ref>
<ref id="B22">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Mohammed</surname> <given-names>J. A.</given-names></name> <name><surname>Ritesh</surname> <given-names>C.</given-names></name> <name><surname>Salahuddin</surname> <given-names>A.</given-names></name> <name><surname>Md Rahat</surname> <given-names>H.</given-names></name></person-group> (<year>2024</year>). <article-title>Ant colony optimization-based solution to optimize load balancing and throughput for 5G and beyond heterogeneous networks</article-title>. <source>EURASIP J. Wirel. Commun. Netw.</source> <volume>2024</volume>:<fpage>44</fpage>. doi: <pub-id pub-id-type="doi">10.1186/s13638-024-02376-2</pub-id></mixed-citation>
</ref>
<ref id="B23">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Mohapatra</surname> <given-names>S.</given-names></name> <name><surname>Rekha</surname> <given-names>K. S.</given-names></name> <name><surname>Mohanty</surname> <given-names>S.</given-names></name></person-group> (<year>2013</year>). <article-title>A comparison of four popular heuristics for load balancing of virtual machines in cloud computing</article-title>. <source>Int. J. Comput. Appl.</source> <volume>68</volume>, <fpage>33</fpage>&#x02013;<lpage>38</lpage>. doi: <pub-id pub-id-type="doi">10.5120/11586-6922</pub-id></mixed-citation>
</ref>
<ref id="B24">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Nishant</surname> <given-names>K.</given-names></name> <name><surname>Sharma</surname> <given-names>P.</given-names></name> <name><surname>Krishna</surname> <given-names>V.</given-names></name> <name><surname>Gupta</surname> <given-names>C.</given-names></name> <name><surname>Singh</surname> <given-names>K. P.</given-names></name> <name><surname>Rastogi</surname> <given-names>R.</given-names></name></person-group> (<year>2012</year>). <article-title>&#x0201C;Load balancing of nodes in cloud using ant colony optimization. in Computer Modelling and Simulation (UKSim), in <italic>2012 UKSim 14th International Conference on proceeding Computer</italic> Modelling and Simulation</article-title> (<publisher-loc>Cambridge</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>3</fpage>&#x02013;<lpage>8</lpage>. doi: <pub-id pub-id-type="doi">10.1109/UKSim.2012.11</pub-id></mixed-citation>
</ref>
<ref id="B25">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Pawan</surname> <given-names>K.</given-names></name> <name><surname>Rakesh</surname> <given-names>K.</given-names></name></person-group> (<year>2019</year>). <article-title>Issues and challenges of load balancing techniques in cloud computing: a survey</article-title>. <source>ACM Comput. Surveys</source> <volume>51</volume>, <fpage>1</fpage>&#x02013;<lpage>35</lpage>. doi: <pub-id pub-id-type="doi">10.1145/3281010</pub-id></mixed-citation>
</ref>
<ref id="B26">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Phi</surname> <given-names>N. X.</given-names></name> <name><surname>Tin</surname> <given-names>C. T.</given-names></name> <name><surname>Thu</surname> <given-names>L. N. Hung, T. C.</given-names></name></person-group> (<year>2018</year>). <article-title>Load balancing algorithm to reduce response time and processing time on cloud computing</article-title>. <source>Int. J. Comput. Netw. Commun.</source> <volume>10</volume>, <fpage>87</fpage>&#x02013;<lpage>98</lpage>. doi: <pub-id pub-id-type="doi">10.5121/ijcnc.2018.10307</pub-id></mixed-citation>
</ref>
<ref id="B27">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Powar</surname> <given-names>D.</given-names></name> <name><surname>Swaroop</surname> <given-names>S.</given-names></name> <name><surname>Moharana</surname> <given-names>R. Ramesh, D.</given-names></name></person-group> (<year>2013</year>). <article-title>Analysis of load balancers in cloud computing</article-title>. <source>Int. J. Comput. Sci. Eng.</source> <volume>2</volume>, <fpage>101</fpage>&#x02013;<lpage>108</lpage>.</mixed-citation>
</ref>
<ref id="B28">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Raghava</surname> <given-names>N. S.</given-names></name> <name><surname>Singh</surname> <given-names>D.</given-names></name></person-group> (<year>2014</year>). <article-title>Comparative study on load balancing techniques in cloud computing</article-title>. <source>Open J. Mob. Comput. Cloud Comput.</source> <volume>1</volume>, <fpage>18</fpage>&#x02013;<lpage>25</lpage>.</mixed-citation>
</ref>
<ref id="B29">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Ratan</surname> <given-names>M.</given-names></name> <name><surname>Anant</surname> <given-names>J.</given-names></name></person-group> (<year>2012</year>). <article-title>Ant colony optimization: a solution of load balancing in cloud</article-title>. <source>Int. J. Web Semant. Technol</source>. <volume>3</volume>, <fpage>33</fpage>&#x02013;<lpage>50</lpage>. doi: <pub-id pub-id-type="doi">10.5121/ijwest.2012.3203</pub-id></mixed-citation>
</ref>
<ref id="B30">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Renjith</surname> <given-names>P. N.</given-names></name> <name><surname>Bharati</surname> <given-names>R.</given-names></name> <name><surname>Thiyagu</surname> <given-names>T. M.</given-names></name> <name><surname>Vallabhuni</surname> <given-names>R. R.</given-names></name> <name><surname>Mouleswararao</surname> <given-names>B.</given-names></name> <name><surname>Narayanan</surname> <given-names>L.</given-names></name></person-group> (<year>2023</year>). <article-title>Smart filtering for user discovery and availing balance storage space continuity with faster big data service</article-title>. <source>Measure. Sens.</source> <volume>26</volume>:<fpage>100707</fpage>. doi: <pub-id pub-id-type="doi">10.1016/j.measen.2023.100707</pub-id></mixed-citation>
</ref>
<ref id="B31">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Santhanakrishnan</surname> <given-names>M.</given-names></name> <name><surname>Valarmathi</surname> <given-names>K.</given-names></name></person-group> (<year>2022</year>). <article-title>&#x0201C;Load balancing techniques in cloud environment &#x02013; big picture analysis,&#x0201D;</article-title> in <source>International Conference on Computational Science and Technology (ICCST)</source> (<publisher-loc>Chennai</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>310</fpage>. doi: <pub-id pub-id-type="doi">10.1109/ICCST55948.2022.10040387</pub-id></mixed-citation>
</ref>
<ref id="B32">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Seethalakshmi</surname> <given-names>V.</given-names></name> <name><surname>Govindasamy</surname> <given-names>V.</given-names></name> <name><surname>Akila</surname> <given-names>V.</given-names></name></person-group> (<year>2022</year>). <article-title>Real-coded multi-objective genetic algorithm with effective queuing model for efficient job scheduling in heterogeneous Hadoop environment</article-title>. <source>J. King Saud Univ. Comput. Inform. Sci.</source> <volume>34</volume>, <fpage>3178</fpage>&#x02013;<lpage>3190</lpage>. doi: <pub-id pub-id-type="doi">10.1016/j.jksuci.2020.08.003</pub-id></mixed-citation>
</ref>
<ref id="B33">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Sefati</surname> <given-names>S. S.</given-names></name> <name><surname>Nor</surname> <given-names>A. M.</given-names></name> <name><surname>Arasteh</surname> <given-names>B.</given-names></name> <name><surname>Craciunescu</surname> <given-names>R.</given-names></name> <name><surname>Comsa</surname> <given-names>C. R.</given-names></name></person-group> (<year>2025</year>). <article-title>Probabilistic approach to load balancing in multi-cloud environments via machine learning and optimization algorithms</article-title>. <source>J. Grid Comput.</source> <volume>23</volume>, <fpage>1</fpage>&#x02013;<lpage>36</lpage>. doi: <pub-id pub-id-type="doi">10.1007/s10723-025-09805-6</pub-id></mixed-citation>
</ref>
<ref id="B34">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Shakur</surname> <given-names>H.</given-names></name> <name><surname>Zeebaree</surname> <given-names>S.</given-names></name> <name><surname>Zebari</surname> <given-names>R.</given-names></name> <name><surname>Zeebaree</surname> <given-names>D.</given-names></name> <name><surname>Ahmed</surname> <given-names>O.</given-names></name> <name><surname>Salih</surname> <given-names>A.</given-names></name></person-group> (<year>2020</year>). <article-title>Cloud computing virtualization of resources allocation for distributed systems</article-title>. <source>J. Appl. Sci. Technol. Trends</source> <volume>1</volume>, <fpage>98</fpage>&#x02013;<lpage>105</lpage>. doi: <pub-id pub-id-type="doi">10.38094/jastt1331</pub-id></mixed-citation>
</ref>
<ref id="B35">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Shandil</surname> <given-names>P.</given-names></name></person-group> (<year>2023</year>). <article-title>A survey of different vanet routing protocols</article-title>. <source>Evergreen.</source> <volume>2023</volume>, <fpage>976</fpage>&#x02013;<lpage>997</lpage>. doi: <pub-id pub-id-type="doi">10.5109/6793653</pub-id></mixed-citation>
</ref>
<ref id="B36">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Singh</surname> <given-names>D. A. A. G.</given-names></name> <name><surname>Fernando</surname> <given-names>A. E.</given-names></name> <name><surname>Leavline</surname> <given-names>E. J.</given-names></name></person-group> (<year>2016</year>). <article-title>Software fault detection using honey bee optimization</article-title>. <source>Int. J. Appl. Inf. Syst.</source> <volume>11</volume>, <fpage>1</fpage>&#x02013;<lpage>9</lpage>. doi: <pub-id pub-id-type="doi">10.5120/ijais2016451565</pub-id></mixed-citation>
</ref>
<ref id="B37">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Sran</surname> <given-names>N.</given-names></name> <name><surname>Kaur</surname> <given-names>N.</given-names></name></person-group> (<year>2013</year>). <article-title>Comparative analysis of existing dynamic load balancing techniques</article-title>. <source>Int. J. Comput. Appl.</source> <volume>70</volume>, <fpage>25</fpage>&#x02013;<lpage>29</lpage>. doi: <pub-id pub-id-type="doi">10.5120/12232-8445</pub-id></mixed-citation>
</ref>
<ref id="B38">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Suganthi</surname> <given-names>E.</given-names></name> <name><surname>Kurus Malai Selvi</surname> <given-names>F.</given-names></name></person-group> (<year>2024</year>). <article-title>Weight factor and priority-based virtual machine load balancing model for cloud computing</article-title>. <source>Int. J. Inf. Tecnol.</source> <volume>16</volume>, <fpage>5271</fpage>&#x02013;<lpage>5276</lpage>. doi: <pub-id pub-id-type="doi">10.1007/s41870-024-02119-y</pub-id></mixed-citation>
</ref>
<ref id="B39">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Swarnkar</surname> <given-names>N.</given-names></name> <name><surname>Singh</surname> <given-names>A. K.</given-names></name> <name><surname>Shankar</surname> <given-names>R.</given-names></name></person-group> (<year>2013</year>). <article-title>A survey of load balancing techniques in cloud computing</article-title>. <source>Int. J. Eng. Res. Technol.</source> <volume>2</volume>, <fpage>800</fpage>&#x02013;<lpage>804</lpage>.</mixed-citation>
</ref>
<ref id="B40">
<mixed-citation publication-type="web"><collab>Technavio</collab> (<year>2017</year>). <source>Top 10 Cloud Computing Service Providers in 2017</source>. Available online at: <ext-link ext-link-type="uri" xlink:href="https://www.technavio.com/blog/top-10-cloud-computing-service-providers-2017">https://www.technavio.com/blog/top-10-cloud-computing-service-providers-2017</ext-link> (Accessed January 6, 2024).</mixed-citation>
</ref>
<ref id="B41">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Velde</surname> <given-names>V.</given-names></name> <name><surname>Rama</surname> <given-names>B. R.</given-names></name></person-group> (<year>2018</year>). <article-title>A framework for user priority guidance based scheduling for load balancing in cloud computing</article-title>. <source>Int. J. Simul. Syst. Sci. Technol.</source> <volume>19</volume>, <fpage>241</fpage>&#x02013;<lpage>247</lpage>. doi: <pub-id pub-id-type="doi">10.5013/IJSSST.a.19.06.24</pub-id></mixed-citation>
</ref>
<ref id="B42">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Wang</surname> <given-names>J.</given-names></name> <name><surname>Li</surname> <given-names>K.</given-names></name> <name><surname>Liu</surname> <given-names>K.</given-names></name></person-group> (<year>2015</year>). <article-title>An energy-efficient and load balancing task scheduling algorithm for homogeneous computing systems</article-title>. <source>Future Gener. Comput. Syst.</source> <volume>64</volume>, <fpage>56</fpage>&#x02013;<lpage>68</lpage>.</mixed-citation>
</ref>
<ref id="B43">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Yatendra</surname> <given-names>S.</given-names></name> <name><surname>Pateriya</surname> <given-names>M. K.</given-names></name></person-group> (<year>2013</year>). <article-title>Cloud computing overview and load balancing algorithms</article-title>. <source>Int. J. Comput. Appl.</source> <volume>65</volume>:<fpage>24</fpage>. doi: <pub-id pub-id-type="doi">10.5120/11236-6559</pub-id></mixed-citation>
</ref>
<ref id="B44">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Yong</surname> <given-names>L.</given-names></name> <name><surname>Jinxing</surname> <given-names>L.</given-names></name> Yu S <name><surname>Haisheng</surname> <given-names>L</given-names></name></person-group> (<year>2022</year>). <article-title>Load balancing based on firefly and ant colony optimization algorithms for parallel computing</article-title>. <source>MDPI Biomimet.</source> <volume>7</volume>:<fpage>168</fpage>. doi: <pub-id pub-id-type="doi">10.3390/biomimetics7040168</pub-id><pub-id pub-id-type="pmid">36278725</pub-id></mixed-citation>
</ref>
<ref id="B45">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Yu</surname> <given-names>J.</given-names></name> <name><surname>Jiang</surname> <given-names>J.</given-names></name> <name><surname>Ye</surname> <given-names>W.</given-names></name></person-group> (<year>2024</year>). <article-title>&#x0201C;Design and implementation of adaptive dynamic load balancing strategy based on server cluster,&#x0201D;</article-title> in <source>Third International Conference on Electronic Information Engineering, Big Data, and Computer Technology</source> (<publisher-loc>Beijing</publisher-loc>: <publisher-name>SPIE</publisher-name>), <fpage>1617</fpage>&#x02013;<lpage>1623</lpage>. doi: <pub-id pub-id-type="doi">10.1117/12.3031078</pub-id></mixed-citation>
</ref>
<ref id="B46">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Zanoon</surname> <given-names>N.</given-names></name></person-group> (<year>2015</year>). <article-title>Toward cloud computing: security and performance</article-title>. <source>Int. J. Cloud Comput. Serv. Archit.</source> <volume>5</volume>, <fpage>17</fpage>&#x02013;<lpage>26</lpage>. doi: <pub-id pub-id-type="doi">10.5121/ijccsa.2015.5602</pub-id></mixed-citation>
</ref>
<ref id="B47">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname> <given-names>Q.</given-names></name> <name><surname>Cheng</surname> <given-names>L.</given-names></name> <name><surname>Boutaba</surname> <given-names>R.</given-names></name></person-group> (<year>2013</year>). <article-title>Cloud computing: state-of-the-art and research challenges</article-title>. <source>J. Inter. Serv. Appl.</source> <volume>1</volume>, <fpage>7</fpage>&#x02013;<lpage>18</lpage>. doi: <pub-id pub-id-type="doi">10.1007/s13174-010-0007-6</pub-id></mixed-citation>
</ref>
<ref id="B48">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname> <given-names>Z.</given-names></name> <name><surname>Zhang</surname> <given-names>X.</given-names></name></person-group> (<year>2010</year>). <article-title>&#x0201C;A load balancing mechanism based on ant colony and complex network theory in open cloud computing federation,&#x0201D;</article-title> in <source>2010 The 2nd international conference on industrial mechatronics and automation</source>, Vol. 2 (IEEE), <fpage>240</fpage>&#x02013;<lpage>243</lpage>. doi: <pub-id pub-id-type="doi">10.1109/ICINDMA.2010.5538385</pub-id></mixed-citation>
</ref>
</ref-list>
<fn-group>
<fn fn-type="custom" custom-type="edited-by" id="fn0001">
<p>Edited by: <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/3232738/overview">Antonio Brogi</ext-link>, University of Pisa, Italy</p>
</fn>
<fn fn-type="custom" custom-type="reviewed-by" id="fn0002">
<p>Reviewed by: <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1383984/overview">Mengmeng Ren</ext-link>, Xidian University, China</p>
<p><ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2595095/overview">Nadia Tabassum</ext-link>, Virtual University of Pakistan, Pakistan</p>
</fn>
</fn-group>
</back>
</article>