<?xml version="1.0" encoding="UTF-8"?>
<article xmlns:xlink="http://www.w3.org/1999/xlink">
<front><article-meta>
<title-group><article-title>Optimizing Cloud Performance: A Comprehensive Study of Load Balancing Strategies and Algorithms</article-title></title-group>
<contrib-group>
<contrib contrib-type="author"><name><surname></surname><given-names>Siddharth Singh</given-names></name><xref ref-type="aff" rid="aff1"/></contrib>
<contrib contrib-type="author"><name><surname>Singh</surname><given-names>Ayush</given-names></name><xref ref-type="aff" rid="aff1"/></contrib>
<contrib contrib-type="author"><name><surname>Sahu</surname><given-names>Aman Kumar</given-names></name><xref ref-type="aff" rid="aff2"/></contrib>
<contrib contrib-type="author"><name><surname>Siddiqui</surname><given-names>Nabeel Anwar</given-names></name><xref ref-type="aff" rid="aff2"/></contrib>
<aff id="aff1">School of Computer Science Engineering, KIIT University, Bhubaneswar, India.</aff>
<aff id="aff2">School of Computer Engineering KIIT (Deemed to be) University, Bhubaneswar -751024, Odisha, India.</aff>
</contrib-group>
<abstract><p>Cloud computing is a big system of interconnected servers that store data and run programs over the internet. As this technology grows, ensuring it runs smoothly and efficiently is important. One way to do this is through load balancing, where tasks and data are distributed evenly across the servers to avoid overloading any of them. However, achieving effective load balancing can be challenging due to factors like servers&apos; geographical spread and differences in capabilities. Our study delved into various load balancing strategies used in cloud computing, including Min-Min, Max-Min, Least Connection, Source Hash, Least Bandwidth, and Round Robin. While these strategies help optimize performance, they also come with their own set of limitations and challenges. By examining the pros and cons of different methods, our study gives us a better understanding of how load balancing works in cloud computing right now. It also helps us see how we can improve things in the future. We want to keep improving cloud computing so it can handle all the tasks it needs to in today&apos;s digital world. Our research helps us learn more about cloud computing and how we can make it stronger and more efficient in the years to come.</p></abstract>
<kwd-group kwd-group-type="author"><kwd>Cloud Computing</kwd><kwd>Load Balancing</kwd><kwd>Scheduling Algorithms</kwd></kwd-group>
</article-meta></front>
<body>
<sec id="sec-1"><label>1</label><title>Introduction</title>
<p>Cloud computing technology is growing rapidly. Cloud computing is a technology that utilizes the internet and central isolated servers to sustain data and applications. Cloud computing provides a flexible way to retain data and files. Cloud computing involves virtualization, distributed computing and web services. Cloud computing aims to provide maximum services at minimum cost, enhance response time, and provide better performance. With advancements in technologies like the internet, today, millions of computing devices connect to the cloud and access data at any given time, and these devices get a response from a cloud in a matter of seconds <xref ref-type="bibr" rid="ref-1">[1]</xref>. Fig. 1 shows cloud computing architecture.</p>
<p>Fig. 1 Cloud computing architecture.</p>
<p>Cloud computing is becoming quite popular; hence, there has been a signiﬁcant increase in the amount of processing carried out in the cloud, and the load on the cloud is increasing <xref ref-type="bibr" rid="ref-2">[2]</xref>. In a cloud computing environment, there are multiple types of loads: CPU load, Network load, Memory load, Storage load, etc., which may affect the efficiency and availability of resources in that environment. To overcome this problem, various load balancing techniques are devised, which are used to distribute incoming network traffic and computational tasks across multiple servers or resources in a cloud environment with the primary goals of optimizing resource utilization by distributing loads across different servers, improving performance by preventing single servers from becoming overloaded, enhance scalability and availability by allowing the cloud to scale by adding or removing servers depending on workload demand and also mitigate downtime and failures <xref ref-type="bibr" rid="ref-3">[3]</xref>. Fig. 2 shows load balancing in cloud computing.</p>
<p>Fig. 2 Load balancing in cloud computing.</p>
<p>Load-balancing concepts encounter multiple challenges due to various physical and logical issues that can impact their effectiveness <xref ref-type="bibr" rid="ref-4">[4]</xref>. Challenges associated with load balancing are outlined in <xref ref-type="table" rid="tab1">Table 1</xref>.</p>
<table-wrap id="tab1"><label>Table 1</label><caption><p>Issues associated with load balancing.</p></caption><graphic content-type="pdf-region" xlink:href="pdf-region:2:66,729.6,537.1,756.2"/><p content-type="note">This table is shown in the PDF version of the article.</p></table-wrap>
<p>Geographical distribution <xref ref-type="bibr" rid="ref-5">[5]</xref> Cloud data centres are geographically distributed, but load balancing may overlook communication delays and resource allocation.</p>
<p>Virtual machine migration <xref ref-type="bibr" rid="ref-6">[6]</xref> Multiple Virtual Machines (VMs) on the same physical machine can overload due to the distinct structures of these VMs.</p>
<p>Algorithm complexity <xref ref-type="bibr" rid="ref-7">[7]</xref> Load balancing algorithms should be straightforward and succinct to uphold cloud efficiency.</p>
<p>Heterogeneous nodes <xref ref-type="bibr" rid="ref-8">[8]</xref> Different user needs require diverse nodes, impacting load-balancing choices.</p>
<p>Single point of failure <xref ref-type="bibr" rid="ref-9">[9]</xref> Load balancing algorithms run on a central node, risking complete computing failure if the central node malfunctions.</p>
<p>Load balancer scalability <xref ref-type="bibr" rid="ref-10">[10]</xref> The response time of load balancing is influenced by factors such as computing power, topology, and storage, highlighting the importance of scalability.</p>
<p>The paper is structured as follows. Section 2 provides a literature review of load-balancing algorithms. Section 3 discusses the challenges associated with load balancing, while Section 4 highlights the limitations of various load-balancing algorithms. Section 5 explores potential improvements in these algorithms to enhance efficiency and fault tolerance. Finally, Section 6 summarizes the key findings, future research directions, and</p>
</sec>
<sec id="sec-2"><label>2</label><title>Literature Review</title>
<p>There are two load-balancing strategies: 1) static load-balancing algorithms, and 2) dynamic load-balancing algorithms <xref ref-type="bibr" rid="ref-2">[2]</xref>. A static load balancing algorithm does not consider a node&apos;s previous state or behaviour while distributing the load. On the other hand, a dynamic load balancing algorithm checks the prior state of a node while distributing the load, such as CPU load, amount of memory used, delay or network load, and so on. We can go with static algorithms if the systems have low load variations; otherwise, dynamic algorithms are good <xref ref-type="bibr" rid="ref-11">[11]</xref>. Load balancing techniques classiﬁcation are outlined in <xref ref-type="table" rid="tab2">Table 2</xref>.</p>
<table-wrap id="tab2"><label>Table 2</label><caption><p>Load balancing techniques classification.</p></caption><graphic content-type="pdf-region" xlink:href="pdf-region:2:66,312.8,537.1,339.5"/><p content-type="note">This table is shown in the PDF version of the article.</p></table-wrap>
<p>fixed rules do not consider the Collect information for a load balancer to min-min, max-min, round robin, current state or previous allocate tasks to the resources at the shortest job first, opportunists knowledge of resources such optimum time load balancing, appropriate load as storage, preprocessing, etc. balancing, heuristic load Sub-optimal load balancing balancing, IP Hash Load Balancer cannot make optional decisions, so it comes up with a suboptimal solution.</p>
<p>Dynamic load balancing <xref ref-type="bibr" rid="ref-3">[3]</xref> Distributed load balancing Examples of dynamic Making decisions based on the All nodes participate in task scheduling, techniques system&apos;s current status. In load distribution, resource allocation, and cooperative load balancing, non-addition to task transfer from distributing and redistributing tasks cooperative load balancing, overloaded machine to effectively. centralized load balancing, underloaded machine. sesmi-distributed load balancing, Centralized load balancing least connection Only a Single node is responsible for load distribution and decision-making.</p>
<sec id="sec-3"><label>2.1</label><title>Load Balancing Algorithms</title>
<sec id="sec-4"><label>2.1.1</label><title>Min-Min scheduling algorithm</title>
<p>The Min-Min algorithm is a simple cloud scheduling algorithm and is the basis of contemporary cloud scheduling algorithms. The Min-Min algorithm finds the resource which can perform the given tasks in the least time and execute them in that resource <xref ref-type="bibr" rid="ref-5">[5]</xref>. The algorithm Min-Min is adapted from <xref ref-type="bibr" rid="ref-5">[5]</xref> is presented below:</p>
<p>Algorithm 1. Min-Min.</p>
<p>Step 1. For all submitted tasks in the task set Ti.</p>
<p>Step 2. For all resources Ri.</p>
<p>Step 3. Compute Ctij = Etij + rtij.</p>
<p>Step 4. Do while set is not empty.</p>
<p>Step 5. Find task Tk that gives minimum execution time.</p>
<p>Step 6. Assign task Tk to resource Rj that gives minimum expected completion time.</p>
<p>Step 7. Delete task Tk from the set.</p>
<p>Step 8. Update ready time rtj for the selected Resources j.</p>
<p>Step 9. Update Ctij for all Ti .</p>
<p>Step 10. End do.</p>
<p><xref ref-type="fig" rid="fig3">Fig. 3</xref> shows the flow chart of the Min-Min algorithm.</p>
<fig id="fig3"><label>Figure 3</label><caption><p>Min-Min algorithm flow-chart.</p></caption><graphic content-type="pdf-region" xlink:href="pdf-region:3:66,72.4,537.1,420.7"/><p content-type="note">This figure is shown in the PDF version of the article.</p></fig>
</sec>
<sec id="sec-5"><label>2.1.2</label><title>Max-Min scheduling algorithm</title>
<p>This algorithm is the same as the Min-Min algorithm. First, we select the machine that can perform various tasks in minimum time. From the selected tasks, we choose the task that will execute in maximum time and execute that. Then, we remove that task from the set <xref ref-type="bibr" rid="ref-12">[12]</xref>. The algorithm Max-Min is adapted from <xref ref-type="bibr" rid="ref-6">[6]</xref> is presented below:</p>
<p>Algorithm 2. Max-Min.</p>
<p>For all task ti in meta-task Mv (in an arbitrary order) do for all machines mj (in a fixed arbitrary order) do ctij = etij + rj end for carry out some processing while all task in Mv are mapped do for each task ti in Mv find its earliest completion time and the machine that obtain it do find the task ti with maximum earliest completion time end for assign the task ti to the machine mi that gives the earliest completion time . delete the task tk from Mv update rj update ctij for all ti belong Mv end while end for.</p>
<p><xref ref-type="fig" rid="fig4">Fig. 4</xref> shows the flow chart of the Max-Min algorithm.</p>
<fig id="fig4"><label>Figure 4</label><caption><p>Max-Min algorithm flow chart.</p></caption><graphic content-type="pdf-region" xlink:href="pdf-region:5:66,405,537.1,778.2"/><p content-type="note">This figure is shown in the PDF version of the article.</p></fig>
</sec>
<sec id="sec-6"><label>2.1.3</label><title>Least connection algorithm</title>
<p>As proposed by <xref ref-type="bibr" rid="ref-13">[13]</xref>, the Least Connection algorithm effectively facilitates dynamic scheduling and routing of incoming visitors to the server with the fewest active connections, as demonstrated in Fig. 5. This approach ensures fair load distribution by continuously monitoring and selecting the least-loaded server based on active connections. It is particularly beneficial in high-traffic scenarios, as emphasized in <xref ref-type="bibr" rid="ref-8">[8]</xref>, as it optimizes resource utilization and system performance. The algorithm performs exceptionally well in environments with longer session requirements, such as databases (e.g., MariaDB or SQL) managing high transaction rates. However, alternative load balancing strategies, as recommended in <xref ref-type="bibr" rid="ref-14">[14]</xref>, may be more suitable for short-lived connections like HTTP.</p>
<p>Fig .5. Least connection algorithm.</p>
<p>Algorithm 3 below, known as the Least Connection Algorithm adapted from <xref ref-type="bibr" rid="ref-9">[9]</xref>, dynamically selects the server with the fewest active connections to efficiently manage incoming requests in distributed systems.</p>
<p>Algorithm 3. Least Connection algorithm.</p>
<p>function least_conn_algorithm(servers):</p>
<p>min_conn = infinity selected_server = null // Loop through each server in the server list for server in servers:</p>
<p>// If the server&apos;s connections are less than min_conn if server.connections &lt; min_conn:</p>
<p>// Update min_conn and selected_server min_conn = server.connections selected_server = server // Return the server with the least connections return selected_serve.</p>
<sec id="sec-7"><title>Explanation</title>
<p>The least connection algorithm examines a list of servers and identifies the server with the fewest active connections. It initializes the minimum connections variable to a very large value and the selected server variable to null. Then, it iterates through the servers, comparing the number of connections on each server with the current minimum <xref ref-type="bibr" rid="ref-15">[15]</xref>. If a server has fewer connections, it updates the minimum connections variable and selects that server. Ultimately, it returns the server with the least connections. This approach ensures that incoming requests are distributed to the server with the lightest load, balancing the overall load across the servers. The key variables used in the algorithm are the server list, the minimum connections, and the selected server, while the primary function is responsible for iterating through the servers and identifying the server with the least connections <xref ref-type="bibr" rid="ref-16">[16]</xref>.</p>
</sec>
</sec>
<sec id="sec-8"><label>2.1.4</label><title>Source hash algorithm</title>
<p>As proposed in <xref ref-type="bibr" rid="ref-17">[17]</xref>, the source hashing algorithm determines server selection in this load-balancing approach. Utilizing the source IP address as the hash key in the hash table, as explained in <xref ref-type="bibr" rid="ref-10">[10]</xref>, ensures consistent routing of a user&apos;s request to the server that previously handled their request. Illustrated in <xref ref-type="fig" rid="fig6">Fig. 6</xref>, this sincere load-balancing algorithm provides continuity in routing for the same user based on their source IP address. This algorithm is advantageous for applications requiring consistent routing for the same user. However, challenges, as noted in <xref ref-type="bibr" rid="ref-17">[17]</xref>, arise due to dynamic IP addresses provided by ISPs, impacting the maintenance of this server-specific routing approach.</p>
<fig id="fig6"><label>Figure 6</label><caption><p>Source hash algorithm.</p></caption><graphic content-type="pdf-region" xlink:href="pdf-region:7:66,586,537.1,778.2"/><p content-type="note">This figure is shown in the PDF version of the article.</p></fig>
<p>Algorithm 4 given below, referred to as the Source Hash Load Balancing algorithm adapted from <xref ref-type="bibr" rid="ref-11">[11]</xref>, dynamically selects the server based on the hash value generated from the source address to manage incoming requests efficiently.</p>
<p>Algorithm 4. IP Hash algorithm.</p>
<p>Function source_hash_load_balancing(servers, source_address):</p>
<p>Hash_value = hash_function(source_address) // Use a hash function to generate a hash value Hash_int = convert_hex_to_int(hash_value) // Convert hexadecimal hash value to integer Selected_server = null // Determine the index of the selected server based on the hash value Selected_server_index = hash_int % length(servers) // Return the selected server Return servers[selected_server_index].</p>
<sec id="sec-9"><title>Explanation</title>
<p>The Source Hash Load Balancing algorithm is designed to distribute incoming requests among a group of servers based on the hash value generated from the source address. It uses a hash function to convert the source address into a hash value, which is then transformed into an integer. This integer is used to determine the index of the selected server by taking the modulo of the server list length. The algorithm returns the server associated with the calculated index, ensuring that requests from the same source address consistently go to the same server <xref ref-type="bibr" rid="ref-18">[18]</xref>. The key variables include the server list, source address, hash value, hash integer, and the selected server. The algorithm contributes to load balancing by providing a stable mapping of source addresses to servers, promoting efficient resource utilization.</p>
</sec>
</sec>
<sec id="sec-10"><label>2.1.5</label><title>Least bandwidth</title>
<p>The Least Bandwidth algorithm, referenced in <xref ref-type="bibr" rid="ref-8">[8]</xref>, dynamically prioritizes servers based on Mbps capacity, directing requests to the server with the least network traffic (<xref ref-type="fig" rid="fig7">Fig. 7</xref>). The details in <xref ref-type="bibr" rid="ref-12">[12]</xref> explain how it adapts to varying network bandwidths and changing conditions. By monitoring network traffic and considering weight-based variations, it intelligently selects the least-loaded server, optimizing resource utilization and system performance for diverse scenarios <xref ref-type="bibr" rid="ref-19">[19]</xref>. This approach provides an efficient and adaptable solution for load balancing in environments with fluctuating network conditions, aligning with modern strategies, as outlined in <xref ref-type="bibr" rid="ref-8">[8]</xref>.</p>
<fig id="fig7"><label>Figure 7</label><caption><p>Least Bandwidth algorithm.</p></caption><graphic content-type="pdf-region" xlink:href="pdf-region:8:66,603.6,537.1,778.6"/><p content-type="note">This figure is shown in the PDF version of the article.</p></fig>
<p>Algorithm 5, known as the Least Bandwidth Algorithm and adapted from <xref ref-type="bibr" rid="ref-12">[12]</xref>, dynamically prioritizes servers based on their Mbps capacity to manage incoming requests in distributed systems efficiently.</p>
<p>Algorithm 5. Least Bandwidth algorithm.</p>
<p>Function least_bandwidth_algorithm(servers):</p>
<p>min_bandwidth = infinity selected_server = null // Loop through each server in the server list for server in servers:</p>
<p>// If the server&apos;s Mbps capacity is less than min_bandwidth if server.mbps_capacity &lt; min_bandwidth:</p>
<p>// Update min_bandwidth and selected_server min_bandwidth = server.mbps_capacity selected_server = server // Return the server with the least Mbps capacity return selected_server.</p>
<sec id="sec-11"><title>Explanation</title>
<p>The Least Bandwidth algorithm prioritizes servers by evaluating their Mbps capacity. It initializes the minimum bandwidth variable to a very large value and the selected server variable to null. Then, it iterates through the servers, comparing the Mbps capacity of each server with the current minimum. If a server has a lower Mbps capacity, it updates the minimum bandwidth variable and selects that server. Ultimately, it returns the server with the least Mbps capacity. This strategy efficiently distributes incoming requests to servers with lower network traffic, optimizing resource utilization and system performance. The key variables are the server list, minimum bandwidth, and the selected server, while the primary function iterates through servers to identify the one with the least Mbps capacity <xref ref-type="bibr" rid="ref-20">[20]</xref>.</p>
</sec>
</sec>
<sec id="sec-12"><label>2.1.6</label><title>Round Robin scheduling algorithm</title>
<p>The round-robin algorithm is one of the oldest, simplest, fairest and most widely used scheduling algorithms, designed especially for time-sharing systems. In the RR algorithm, the jobs share the CPU time by allocating a slice of time; usually between 10 and 100 ms for each job, called Quantum Time (QT) <xref ref-type="bibr" rid="ref-13">[13]</xref>. All runnable processes are kept in a circular queue. The CPU scheduler goes around this queue, allocating the CPU to each process for a time interval of one quantum. New processes are added to the tail of the queue <xref ref-type="bibr" rid="ref-13">[13]</xref>, <xref ref-type="bibr" rid="ref-14">[14]</xref>. Algorithm 6 shows the pseudocode of the RR algorithm as described in <xref ref-type="bibr" rid="ref-13">[13]</xref>. <xref ref-type="table" rid="tab3">Table 3</xref> shows an analysis of various load-balancing algorithms <xref ref-type="bibr" rid="ref-21">[21]</xref>.</p>
<p>Algorithm 6. The Pseudocode of the RR algorithm in CPU scheduling.</p>
<p>Step 1. Keep the ready queue as a FIFO queue of tasks.</p>
<p>Step 2. New tasks added to the tail of the queue will be selected, set a timer to interrupt after one time slot, and dispatch the tasks.</p>
<p>Step 3. The task may have executed less than one time quantum. In this case:</p>
<p>I. The task itself will release the resources voluntarily.</p>
<p>II. The scheduler will then proceed to the next task in the ready queue.</p>
<p>Step 4. Otherwise, if the running task is longer than one time quantum, the timer will go off and will cause an interruption to the OS.</p>
<table-wrap id="tab3"><label>Table 3</label><caption><p>Load Balancing algorithms analysis.</p></caption><graphic content-type="pdf-region" xlink:href="pdf-region:9:66,140.8,537.1,553"/><p content-type="note">This table is shown in the PDF version of the article.</p></table-wrap>
<p>balancing, which are mentioned below <xref ref-type="bibr" rid="ref-22">[22]</xref>:</p>
<p>Disadvantages Use Cases May lead to suboptimal Applications with makespan due to predictable and stable resource imbalance workloads</p>
<p>Limited dynamic workload handling Similar limitations as Similar to Min-Min, Min-Min suitable for static May lead to suboptimal workloads makespan due to resource imbalance May lead to server High-traffic applications, overload in certain databases with high scenarios transaction rates Performance may degrade with short-lived connections Vulnerable to DDoS Applications requiring attacks and IP spoofing consistent routing for the same users Challenges with dynamic IP addresses</p>
<p>Risk of bandwidth Environments with constraints leading to fluctuating network service interruptions conditions</p>
<p>Dependency on network speed Assumes servers have Basic load balancing in equivalent loads, simple environments leading to resource imbalance</p>
<p>Limited scalability</p>
</sec>
</sec>
</sec>
<sec id="sec-13"><label>3</label><title>Challenges Associated with Load Balancing</title>
<p>Cloud computing depends on the proper utilization of resources to fulfil customer requirements. Load balancing techniques are just responsible for this, but there are various challenges associated with load</p>
<sec id="sec-14"><label>3.1</label><title>Geographical Distribution of Nodes</title>
<p>Data centres are strategically positioned according to the geographical characteristics of an area or place to facilitate computational tasks. In this configuration, dispersed nodes are highly valued as an integrated system for efficiently executing user-requested operations.</p>
</sec>
<sec id="sec-15"><label>3.2</label><title>Single Point of Failure</title>
<p>Load-balancing decisions are centralized and managed by the master node using various dynamic load-balancing algorithms, resulting in a non-distributed setup. If the master node experiences a failure, it disrupts the entire computing domain.</p>
</sec>
<sec id="sec-16"><label>3.3</label><title>Virtual Machine Migration</title>
<p>Virtualization involves consolidating multiple VMs onto a single physical system. Each deployed VM exhibits unique behaviour with diverse configurations. In cases where the physical system becomes overwhelmed, certain VMs may need to be relocated to a remote location using Cloudlet migration techniques.</p>
</sec>
<sec id="sec-17"><label>3.4</label><title>Algorithm Complexity</title>
<p>Algorithm design should prioritize simplicity and ease of implementation. Increased algorithm complexity corresponds to decreased performance and efficiency within the cloud environment.</p>
</sec>
<sec id="sec-18"><label>3.5</label><title>Load Balancer Scalability</title>
<p>Cloud services offer users the flexibility to access services at any time or location by swiftly scaling resources up or down based on demand. An effective load-balancing algorithm should dynamically adjust to rapid changes in demand related to network topology, power, etc., to optimize system performance.</p>
</sec>
</sec>
<sec id="sec-19"><label>4</label><title>Limitations of Scheduling Algorithms</title>
<sec id="sec-20"><label>4.1</label><title>Limitations of Min-Min Scheduling Algorithm</title>
<p>While the Min-Min algorithm offers simplicity and ease of implementation, it comes with some limitations that can hinder its effectiveness in cloud computing environments <xref ref-type="bibr" rid="ref-23">[23]</xref>. Here are some key problems associated with Min-Min:</p>
<sec id="sec-21"><label>4.1.1</label><title>Suboptimal makespan</title>
<p>Min-Min focuses on assigning tasks to resources with the minimum execution time for each individual task. This might lead to some resources overloading while others remain idle. This can result in a suboptimal overall completion time (makespan) for all tasks <xref ref-type="bibr" rid="ref-16">[16]</xref>.</p>
</sec>
<sec id="sec-22"><label>4.1.2</label><title>Limited dynamic workload handling</title>
<p>Min-Min is designed for static workloads, where the number of tasks and resource capabilities remain constant. However, cloud environments are dynamic, with workloads fluctuating. This can lead to inefficient load balancing when workloads change <xref ref-type="bibr" rid="ref-17">[17]</xref>.</p>
</sec>
<sec id="sec-23"><label>4.1.3</label><title>Resource heterogeneity assumption</title>
<p>Min-Min typically assumes homogeneous resources (all resources have the same capabilities). In reality, cloud environments consist of heterogeneous resources (e.g., CPU, memory, storage) with varying capacities. This can lead to suboptimal task allocation if resource heterogeneity is not considered <xref ref-type="bibr" rid="ref-17">[17]</xref>.</p>
</sec>
</sec>
<sec id="sec-24"><label>4.2</label><title>Limitations of Max-Min Scheduling Algorithm</title>
<sec id="sec-25"><label>4.2.1</label><title>Suboptimal makespan (like Min-Min)</title>
<p>Like Min-Min, Max-Min prioritizes minimizing the workload on the most loaded resource. While this might seem beneficial, it can lead to situations where other resources remain underutilized. This can result in a suboptimal overall completion time (makespan) for all tasks <xref ref-type="bibr" rid="ref-24">[24]</xref>.</p>
</sec>
<sec id="sec-26"><label>4.2.2</label><title>Limited dynamic workload handling (like Min-Min)</title>
<p>Max-Min, like Min-Min, is designed for static workloads. When workloads fluctuate in dynamic cloud environments, Max-Min&apos;s efficiency can decrease, potentially leading to imbalanced load distribution <xref ref-type="bibr" rid="ref-17">[17]</xref>.</p>
</sec>
<sec id="sec-27"><label>4.2.3</label><title>Resource heterogeneity assumption (like Min-Min)</title>
<p>Max-Min typically assumes homogeneous resources (all resources have the same capabilities). In reality, cloud environments consist of heterogeneous resources (e.g., CPU, memory, storage) with varying capacities. This can lead to suboptimal task allocation if resource heterogeneity is not considered <xref ref-type="bibr" rid="ref-17">[17]</xref>.</p>
</sec>
</sec>
<sec id="sec-28"><label>4.3</label><title>Limitations of Source Hash Algorithm</title>
<sec id="sec-29"><label>4.3.1</label><title>Distributed denial of service (DDoS) attacks (privacy concerns)</title>
<p>Attackers could potentially manipulate source addresses to target specific servers, leading to uneven loads or overloading a particular server <xref ref-type="bibr" rid="ref-18">[18]</xref>.</p>
</sec>
<sec id="sec-30"><label>4.3.2</label><title>Hash Polarization</title>
<p>Uneven distribution of hash values can lead to certain servers consistently handling a disproportionate share of the load, like the Traffic Polarization Effect <xref ref-type="bibr" rid="ref-19">[19]</xref> in networking, in which certain traffic or congestion gets collected in certain routers or servers.</p>
</sec>
<sec id="sec-31"><label>4.3.3</label><title>Dynamic IP addresses causing IP spoofing</title>
<p>Dynamic IP addresses, especially those assigned by Internet Service Providers (ISPs), introduce the risk of IP spoofing in systems that rely on IP-based authentication or verification. Attackers may exploit the dynamic nature of IP assignments to impersonate legitimate users or devices by forging their source IP addresses <xref ref-type="bibr" rid="ref-18">[18]</xref>.</p>
</sec>
</sec>
<sec id="sec-32"><label>4.4</label><title>Limitations of Least Bandwidth Algorithm</title>
<sec id="sec-33"><label>4.4.1</label><title>Bandwidth limit exceeded (509 Error)</title>
<p>Choosing routes with the least traffic may lead to bandwidth constraints, suspending the site due to the Bandwidth Limit Exceeded 509 error <xref ref-type="bibr" rid="ref-21">[21]</xref>. Users experience service disruption, and the site becomes temporarily unavailable.</p>
</sec>
<sec id="sec-34"><label>4.4.2</label><title>Dependency on Network Speed</title>
<p>Internet or connection speed heavily depends on the data transfer rate, affecting the user experience. Slower network performance in low-bandwidth systems negatively impacts data transfer rates <xref ref-type="bibr" rid="ref-20">[20]</xref>.</p>
</sec>
<sec id="sec-35"><label>4.4.3</label><title>Bandwidth consumption management</title>
<p>The inability to manage bandwidth consumption may lead to unpredictable spikes, potentially causing service interruptions. Difficulty in maintaining a consistent and reliable level of service <xref ref-type="bibr" rid="ref-20">[20]</xref>.</p>
</sec>
</sec>
<sec id="sec-36"><label>4.5</label><title>Limitations of Round Robin</title>
<p>The biggest limitation of using the round-robin algorithm in load balancing is that the algorithm assumes that servers are in such a manner that they can handle equivalent loads. If certain servers have more CPU, RAM, or other specifications, the algorithm has no way to distribute more requests to these servers. As a result, servers with less capacity may overload easily and fail; meanwhile, servers with higher capacity may remain idle and not be utilized completely.</p>
<p>To overcome this, the weighted round-robin load balancing algorithm can be introduced to allow site administrators to assign weights to each server based on criteria like traffic-handling capacity. Servers with higher weights receive a higher proportion of client requests.</p>
<p>For a simplified example, assume that a company has a cluster of three servers:</p>
<p>I. Server A can handle 30 requests per second, on average.</p>
<p>II. Server B can handle 20 requests per second, on average.</p>
<p>III. Server C can handle 10 requests per second, on average.</p>
<p>Next, assume that the load balancer receives 6 requests.</p>
<p>I. 3 requests are sent to Server A.</p>
<p>II. 2 requests are sent to Server B.</p>
<p>III. 1 request is sent to Server C.</p>
<p>In this manner, the weighted round-robin algorithm distributes the load according to each server&apos;s capacity and solves the issue our simple round-robin had <xref ref-type="bibr" rid="ref-21">[21]</xref>.</p>
</sec>
</sec>
<sec id="sec-37"><label>5</label><title>Proposed Work</title>
<p>Considering the advantages and disadvantages of each load-balancing algorithm, the proposed work aims to address the limitations while leveraging the strengths to enhance overall performance and efficiency in diverse cloud computing environments.</p>
<sec id="sec-38"><label>5.1</label><title>Optimization of Min-Min and Max-Min Algorithms [23]</title>
<p>I. Develop enhanced versions of Min-Min and Max-Min algorithms that incorporate dynamic workload handling mechanisms to address the limitations related to suboptimal makespan and limited scalability <xref ref-type="bibr" rid="ref-22">[22]</xref>. II. Introduce adaptive task allocation strategies to balance resource utilization effectively, particularly in environments with fluctuating workloads <xref ref-type="bibr" rid="ref-22">[22]</xref>.</p>
</sec>
<sec id="sec-39"><label>5.2</label><title>Improvement of Least Connection Algorithm</title>
<p>I. Implement algorithms or mechanisms to mitigate the risk of server overload in high-traffic scenarios while maintaining performance consistency <xref ref-type="bibr" rid="ref-23">[23]</xref>.</p>
<p>II. Investigate methods to improve the performance of the Least Connection algorithm in handling short-lived connections, potentially through optimization techniques or adaptive adjustments <xref ref-type="bibr" rid="ref-23">[23]</xref>.</p>
</sec>
<sec id="sec-40"><label>5.3</label><title>Enhancement of Source Hash Algorithm</title>
<p>I. Enhance security measures to address DDoS attacks and IP spoofing vulnerabilities, such as integrating robust authentication and access control mechanisms <xref ref-type="bibr" rid="ref-24">[24]</xref>.</p>
<p>II. Explore strategies to mitigate challenges associated with dynamic IP addresses, potentially through adaptive routing mechanisms or dynamic IP management solutions <xref ref-type="bibr" rid="ref-24">[24]</xref>.</p>
</sec>
<sec id="sec-41"><label>5.4</label><title>Refinement of Least Bandwidth Algorithm</title>
<p>I. Develop algorithms or approaches to proactively manage and prevent bandwidth constraints, including dynamic bandwidth allocation strategies and network traffic optimization techniques.</p>
<p>II. Investigate methods to reduce dependency on network speed and enhance adaptability to varying network conditions through intelligent routing and protocol optimizations.</p>
</sec>
<sec id="sec-42"><label>5.5</label><title>Scalability and Adaptability of Round Robin Algorithm</title>
<p>I. Design enhancements to improve the scalability of the Round Robin algorithm, allowing it to handle larger and more complex environments effectively.</p>
<p>II. Introduce dynamic load balancing policies or mechanisms to address resource imbalances and optimize task distribution across servers with varying capacities.</p>
</sec>
<sec id="sec-43"><label>5.6</label><title>Performance Evaluation and Comparative Analysis</title>
<p>I. Conduct comprehensive performance evaluations and comparative analyses of the proposed enhancements against traditional algorithms.</p>
<p>II. Utilize real-world workload scenarios and benchmarks to assess the effectiveness and efficiency of the proposed improvements in diverse cloud computing environments.</p>
<p>These proposed enhancements and evaluations aim to advance the state-of-the-art load balancing algorithms, address existing limitations, and pave the way for more efficient and adaptive load management in cloud computing infrastructures.</p>
</sec>
</sec>
<sec id="sec-44"><label>6</label><title>Conclusion</title>
<p>In conclusion, this paper has comprehensively studied various load-balancing strategies and algorithms in cloud computing environments. Through analyzing the strengths and weaknesses of prominent algorithms such as Min-Min, Max-Min, Least Connection, Source Hash, Least Bandwidth, and Round Robin, we have gained insights into their applicability, limitations, and potential for optimization.</p>
<p>We have identified key challenges and opportunities to improve load-balancing techniques by scrutinizing these algorithms and their performance characteristics. Our exploration has highlighted the importance of addressing suboptimal makespan, limited scalability, vulnerability to attacks, and dependency on network conditions.</p>
<p>Through the proposed work, which aims to optimize existing algorithms and enhance their adaptability, scalability, and security, we seek to contribute to the evolution of load-balancing methodologies in cloud computing. By developing more robust and efficient load-balancing strategies, we aim to improve resource utilization, enhance system performance, and effectively meet the demands of modern digital environments. Overall, this study serves as a foundation for further research and development in the field of load balancing in cloud computing. By addressing the identified challenges and implementing proposed enhancements, we can strive towards realizing the full potential of cloud computing technologies, ultimately leading to more resilient, scalable, and efficient cloud infrastructures for future applications and services.</p>
</sec>
<sec id="sec-45"><title>Author Contributions</title>
<p>Ayush Singh: Conceptualization of the study, methodology development, and writing the original draft.</p>
<p>Aman Kumar Sahu: Data analysis, implementation of load balancing algorithms, and manuscript review.</p>
<p>Nabeel Anwar Siddiqui: Assisted with research, validation of the results, and contributed to discussions on the limitations of the strategies.</p>
<p>Siddharth Singh: Supervision, overall project administration, and final editing of the manuscript.</p>
</sec>
<sec id="sec-46"><title>Funding</title>
<p>This research received no external funding.</p>
</sec>
<sec id="sec-47"><title>Data Availability</title>
<p>The data used and analyzed during the current study are available from the corresponding author upon reasonable request.</p>
</sec>
<sec id="sec-48"><title>Conflicts of Interest</title>
<p>The authors declare no conflicts of interest regarding the publication of this paper.</p>
<p>These sections should be tailored to reflect the specific details and contributions if necessary.</p>
</sec>
<sec id="sec-figures"><title>Figures</title>
<fig><label>Figure</label><caption><p>Image from the PDF file; its caption could not be matched.</p></caption><graphic xlink:href="https://siot.reapress.com/public/journals/1/jats-figures/34/fig-1-f05e8365af4f.jpg"/></fig>
<fig><label>Figure</label><caption><p>Image from the PDF file; its caption could not be matched.</p></caption><graphic xlink:href="https://siot.reapress.com/public/journals/1/jats-figures/34/fig-2-608e04e4b4df.png"/></fig>
</sec>
</body>
<back><ref-list><title>References</title>
<ref id="ref-1"><label>1</label><mixed-citation>Pradeep, K., &amp; Jacob, T. P. (2016). Comparative analysis of scheduling and load balancing algorithms in cloud environment. 2016 international conference on control, instrumentation, communication and computational technologies (ICCICCT) (pp. 526–531). IEEE.</mixed-citation></ref>
<ref id="ref-2"><label>2</label><mixed-citation>Aslam, S., &amp; Shah, M. A. (2015). Load balancing algorithms in cloud computing: a survey of modern techniques. 2015 national software engineering conference (NSEC) (pp. 30–35). IEEE.</mixed-citation></ref>
<ref id="ref-3"><label>3</label><mixed-citation>Alkhatib, A. A. A., Alsabbagh, A., Maraqa, R., &amp; Alzubi, S. (2021). Load balancing techniques in cloud computing: Extensive review. Advances in science, technology and engineering systems journal, 6(2), 860–870. <ext-link ext-link-type="uri" xlink:href="https://dx.doi.org/10.25046/aj060299">https://dx.doi.org/10.25046/aj060299</ext-link></mixed-citation></ref>
<ref id="ref-4"><label>4</label><mixed-citation>Shah, N., &amp; Farik, M. (2015). Static load balancing algorithms in cloud computing: challenges &amp; solutions. International journal of scientific &amp; technology research, 4(10), 365–367.</mixed-citation></ref>
<ref id="ref-5"><label>5</label><mixed-citation>Chen, H., Wang, F., Helian, N., &amp; Akanmu, G. (2013). User-priority guided min-min scheduling algorithm for load balancing in cloud computing. 2013 national conference on parallel computing technologies (PARCOMPTECH) (pp. 1–8). IEEE.</mixed-citation></ref>
<ref id="ref-6"><label>6</label><mixed-citation>Ghosh, T. K., Goswami, R., Bera, S., &amp; Barman, S. (2012). Load balanced static grid scheduling using max-min heuristic. 2012 2nd IEEE international conference on parallel, distributed and grid computing (pp. 419–423). IEEE.</mixed-citation></ref>
<ref id="ref-7"><label>7</label><mixed-citation>Mohapatra, H., &amp; Rath, A. K. (2019). Fault tolerance in WSN through PE-LEACH protocol. IET wireless sensor systems, 9(6), 358–365. <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1049/iet-wss.2018.5229">https://doi.org/10.1049/iet-wss.2018.5229</ext-link></mixed-citation></ref>
<ref id="ref-8"><label>8</label><mixed-citation>Alankar, B., Sharma, G., Kaur, H., Valverde, R., &amp; Chang, V. (2020). Experimental setup for investigating the efficient load balancing algorithms on virtual cloud. Sensors, 20(24), 7342. <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3390/s20247342">https://doi.org/10.3390/s20247342</ext-link></mixed-citation></ref>
<ref id="ref-9"><label>9</label><mixed-citation>Rahmika, A. R., Tahir, Z., Paundu, A. W., &amp; Zainuddin, Z. (2023). Web server load balancing mechanism with least connection algorithm and multi-agent system. CommIT (communication and information technology) journal, 17(2), 245–258. <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.21512/commit.v17i2.8872">https://doi.org/10.21512/commit.v17i2.8872</ext-link></mixed-citation></ref>
<ref id="ref-10"><label>10</label><mixed-citation>Yang, M., Wang, H., &amp; Zhao, J. (2015). Research on load balancing algorithm based on the unused rate of the cpu and memory. 2015 fifth international conference on instrumentation and measurement, computer, communication and control (IMCCC) (pp. 542–545). IEEE.</mixed-citation></ref>
<ref id="ref-11"><label>11</label><mixed-citation>Ma, C., &amp; Chi, Y. (2022). Evaluation test and improvement of load balancing algorithms of nginx. IEEE access, 10, 14311–14324.</mixed-citation></ref>
<ref id="ref-12"><label>12</label><mixed-citation>Mohapatra, H., &amp; Rath, A. K. (2019). Detection and avoidance of water loss through municipality taps in India by using smart taps and ICT. IET wireless sensor systems, 9(6), 447–457. <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1049/iet-wss.2019.0081">https://doi.org/10.1049/iet-wss.2019.0081</ext-link></mixed-citation></ref>
<ref id="ref-13"><label>13</label><mixed-citation>Alhaidari, F., &amp; Balharith, T. Z. (2021). Enhanced round-robin algorithm in the cloud computing environment for optimal task scheduling. Computers, 10(5), 63. <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3390/computers10050063">https://doi.org/10.3390/computers10050063</ext-link></mixed-citation></ref>
<ref id="ref-14"><label>14</label><mixed-citation>Pradhan, P., Behera, P. K., &amp; Ray, B. N. B. (2016). Modified round robin algorithm for resource allocation in cloud computing. Procedia computer science, 85, 878–890. <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1016/j.procs.2016.05.278">https://doi.org/10.1016/j.procs.2016.05.278</ext-link></mixed-citation></ref>
<ref id="ref-15"><label>15</label><mixed-citation>Mohapatra, H., &amp; Rath, A. K. (2020). Fault-tolerant mechanism for wireless sensor network. IET wireless sensor systems, 10(1), 23–30. <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1049/iet-wss.2019.0106">https://doi.org/10.1049/iet-wss.2019.0106</ext-link></mixed-citation></ref>
<ref id="ref-16"><label>16</label><mixed-citation>Kaur, R., &amp; Luthra, P. (2014). Load balancing in cloud system using max min and min min algorithm. International journal of computer applications, 975, 8887.</mixed-citation></ref>
<ref id="ref-17"><label>17</label><mixed-citation>Kumar, P., &amp; Kumar, R. (2019). Issues and challenges of load balancing techniques in cloud computing: A survey. ACM computing surveys (CSUR), 51(6), 1–35. <ext-link ext-link-type="uri" xlink:href="https://dl.acm.org/doi/abs/10.1145/3281010">https://dl.acm.org/doi/abs/10.1145/3281010</ext-link></mixed-citation></ref>
<ref id="ref-18"><label>18</label><mixed-citation>Mohapatra, H., &amp; Rath, A. K. (2020). Survey on fault tolerance-based clustering evolution in WSN. IET networks, 9(4), 145–155. <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1049/iet-net.2019.0155">https://doi.org/10.1049/iet-net.2019.0155</ext-link></mixed-citation></ref>
<ref id="ref-19"><label>19</label><mixed-citation>Martin, R., Menth, M., &amp; Hemmkeppler, M. (2007). Accuracy and dynamics of multi-stage load balancing for multipath internet routing. 2007 IEEE international conference on communications (pp. 6311–6318). IEEE.</mixed-citation></ref>
<ref id="ref-20"><label>20</label><mixed-citation>Mohapatra, H., &amp; Rath, A. K. (2019). Fault tolerance through energy balanced cluster formation (ebcf) in WSN. Smart innovations in communication and computational sciences: proceedings of icsiccs-2018 (pp. 313– 321). Springer.</mixed-citation></ref>
<ref id="ref-21"><label>21</label><mixed-citation>Mohapatra, H., &amp; Rath, A. K. (2022). IoE based framework for smart agriculture: Networking among all agricultural attributes. Journal of ambient intelligence and humanized computing, 13(1), 407–424. DOI:10.1007/s12652-021-02908-4</mixed-citation></ref>
<ref id="ref-22"><label>22</label><mixed-citation>Derakhshan, M., &amp; Bateni, Z. (2018). Optimization of tasks in cloud computing based on max-min, min-min and priority. 2018 4th international conference on web research (ICWR) (pp. 45–50). IEEE.</mixed-citation></ref>
<ref id="ref-23"><label>23</label><mixed-citation>Mohapatra, H., &amp; Rath, A. K. (2021). An IoT based efficient multi-objective real-time smart parking system. International journal of sensor networks, 37(4), 219–232. <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1504/IJSNET.2021.119483">https://doi.org/10.1504/IJSNET.2021.119483</ext-link></mixed-citation></ref>
<ref id="ref-24"><label>24</label><mixed-citation>Khan, B. U. I., Olanrewaju, R. F., Morshidi, M. A., Mir, R. N., Kiah, M. L. B. M., &amp; Khan, A. M. (2022). Evolution and analysis of secure hash algorithm (Sha) family. Malaysian journal of computer science, 35(3), 179–200. <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.22452/mjcs.vol35no3.1">https://doi.org/10.22452/mjcs.vol35no3.1</ext-link></mixed-citation></ref>
</ref-list></back>
</article>