Intelligent Cloud Based Load Balancing System Empowered with Fuzzy Logic

: Cloud computing is seeking attention as a new computing paradigm to handle operations more efficiently and cost-effectively. Cloud computing uses dynamic resource provisioning and de-provisioning in a virtualized environment. The load on the cloud data centers is growing day by day due to the rapid growth in cloud computing demand. Elasticity in cloud computing is one of the fundamental properties, and elastic load balancing automatically distributes incoming load to multiple virtual machines. This work is aimed to introduce efficient resource provisioning and de-provisioning for better load balancing.In this article, a model is proposed in which the fuzzy logic approach is used for load balancing to avoid underload and overload of resources. A Simulator in Matlab is used to test the effectiveness and correctness of the proposed model. The simulation results have shown that our proposed intelligent cloud-based load balancing system empowered with fuzzy logic is better than previously published approaches.

community. Cloud Computing provides its services through a set of virtualized resources such as servers, virtual machines, etc. Three fundamental service models, namely Infrastructure as service (IaaS), Software as service (SaaS), and Platform as service (PaaS), are used to offer cloud services.
The rapid growth in the cloud computing market has produced loads of increased work cloud computing demand and has created loads of increased workload on cloud data centers [2]. This is the reason that the main concerns of cloud computing are load balancing and energy consumption [3,4]. Load balancing is when the workload is assigned and reassigned among available resources to maximize the system's throughput. The process's primary concern is to minimize the cost, energy consumption, and response time to improve the overall system's overall resource utilization and performance [5,6]. Load balancing is the distribution of traffic, sending and receiving data, and data across all servers without delay with load balancing [7]. Cost efficiency, scalability, flexibility, and priority are the significant goals of load balancing. Load balancing algorithms are classified [8] depending on the system's state and on who initiated the process. In the case of the system's state, algorithms may be segregated as static or dynamic, while in the latter case, it depends on the requirement generated by the sender, receiver, or symmetric.
The remainder of this paper is organized as follows: Section 2 is the literature review. Section 3 presents the proposed model and evaluation of the output. Section 4 presents the simulation and discuss the results generated from the simulation. Sections 5 discusses the conclusions of the study.

Literature Review
In the research communities, the attention towards cloud computing is increasing day by day. The cloud infrastructure is designed to enable virtualized file-sharing of enhancing performance and develop an environment with efficient resource scheduling and effective load balancing. The user in the cloud environment uses virtualization to access their stored files and execute different tasks. In this context, efficient resource utilization and load balancing are very significant. Load balancing is the process of allocating and redistributing the workload among available resources to maximize throughput, reduce cost, response time, and power consumption, improve resource utilization, and performance [8]. A wildcard rule [9] is used to implement a load balancer. The implementation of the wild card rule improved the time spent on the switch. The Round-robin method is used for the flow of packets going to different ports. They give a new direction for load balancing by improving the load balance time by reducing the control plane's flow. Load Balancer is deployed to make the system fault-tolerant and highly available. It can be applied as an application load balancer or as a network load balancer. When a quick response is required, the load balancer is deployed as a network load balancer, while in case of high availability of different natures of applications like mobile application and desktop application, the application load balancer is deployed.
A queuing theory-based analytical model is presented in [10] to assess elasticity strategies' effects. The evaluation is made to measure the performance of cloud-based three-tier applications. They simulated the logic of CPU utilization based scale-out and scale-in actions. While in [11], Markov decision processes (MDPs) are used to propose a formal model for quantitative analysis of horizontal elasticity at the infrastructure level. The proposed model defines how VMs are adding to and removing from managed systems at run time. However, the work is limited to metrics of infrastructure strategies, and metrics related to deployed processes are not considered. A framework named ADVISE is proposed in [12] to evaluate elasticity in cloud services and applications. The proposed model's evaluation determines the typical elasticity behavior of cloud services at run time by using a learning and clustering-based evaluation process. A framework named STRATFram is proposed in [13] that describes and evaluates the elasticity strategy for service-based business processes. The framework provides a service-based process holder with editors and languages to provide their proper elasticity model. It also provides service-based processes, a description, and the evaluation of elasticity strategies based on different elasticity models. The description part of the proposed model is used to conceal the complexities and underlying techniques to make the system more extensible.
Makespan time is the total time required to process a job or set of jobs for complete execution. Minimization of makespan time depends on the allocation of jobs to the virtual machines. In [14], a cloud resource broker-based architecture is designed and developed to attain minimum makespan time and improve resource utilization. The proposed model continuously monitors the virtual machine's workload, and decisions are made as per the defined threshold condition. They developed a heuristic-based load balancing algorithm and compared the Min-Min algorithm results, First Come First Serve, and Shortest Job First under all conditions. They proved that in the proposed algorithm, the makespan time is reduced by more than 10%, and the utilization ratio of cloud resources is enhanced by more than 30%. An algorithm based on the greedy technique is proposed in [15].
In the proposed algorithm, the makespan and execution time of tasks is minimized, but they do not consider task migration or virtual machine migration approach. However, the results of the proposed algorithm are not better in the real environment. Load balancing is performed through virtual machine migration and static and dynamic load balancing algorithms with their pros and cons. A dynamic algorithm using Honey bee behavior is proposed in [16]. The proposed algorithm Honey bee behavior inspired by load balancing (HBB-LB) is designed to minimize the response time while maximizing the throughput. The algorithms consider the priority of tasks so that the time to execute the job is minimal. The drawback of the proposed algorithm is that it may lead to starvation when low priority tasks remain in a wait state in the presence of a more priority-based queue. An efficient last optimal k interval-based dynamic task scheduling algorithm is proposed in [17], a modification cloud resource broker architecture [14]. With the proposed algorithm, the makespan time is reduced, and the ratio of tasks to meet deadlines is also increased. The scalability of the proposed algorithm is tested on a significant number of functions. The results show that the algorithm help makes smart decisions to manage the load of applications better.
Resource Scheduling is also put together with Load Balancing algorithms. An agent-based load balancing algorithm presented in [18] provides a dynamic load balancing for the cloud environment. The proposed algorithm only ensures the load balancing while the optimization concerns are not considered. As cloud computing is attaining attention quickly, geographically distributed data centers are also becoming very important. Therefore another critical aspect of cloud computing is energy efficiency. A k-mean Clustering algorithm is proposed in [19] that reduces energy consumption and delay by dynamically adjusting the number of machines. In Parallel scientific applications, the internal workload increases during the execution and demand resources to meet system requirements. In [20], a new elasticity controller is proposed for automatic resource provisioning. The fuzzy logic controller and autonomic computing are combined in the proposed controller. Their results justify that the proposed controller is more appropriate for elasticity in parallel applications. The implemented approach allows the application to request additional resources at run time. The fuzzy elasticity controller can collect information from the internal and external workload and deliver both the horizontal and vertical elasticity on the application's call. They showed that the proposed controller minimized finish time by 64% and increased resource utilization by 36%.
In [21] Mamdani fuzzy inference system is used to present the smart city's idea in modeling complex traffic processes. They work on integrating cloud data, social networking services, and intelligent sensors to propose a framework in the context of smart cities. Their work to model complex traffic processes gives direction to understand traffic on the cloud. In [22], a multilayer Mamdani fuzzy inference system is used to classify the different stages of hepatitis. The proposed expert system classifies the stages of hepatitis as no hepatitis, acute HBV, or chronic HBV. The proposed method used two input variables at layer one and seven variables at layer two. The idea of classifying the stages is inspired to detect load as high, medium, and low in our proposed model. Our proposed work has also used the Mamdani fuzzy inference system with two input variables and one output variable. Fig. 1 presented the system model architecture of our proposed intelligent cloud-based load balancing system empowered with fuzzy logic. In this research, dynamic load balancing is considered and proposed a new load balance system model for virtual machines based on the Round Robin Algorithm. The proposed model aims to find better processing and response time to the system's resources to manage its resources efficiently. The proposed model estimates the results efficiently for each virtual machine's status that either the machine is underload or overload. Fuzzy Logic is used to calculate the load status of each virtual machine. A user request is composed according to some rules. These requests are also referred to as jobs. To execute user requests, a suitable virtual machine is required. A virtual machine can perform many jobs.

Proposed System Model
The main things that are worth mentioning about a resource are its availability. The availability of the resource can be determined by computing its average load time. The time indicates whether a resource is an underload or overload. It also enforces to maintain the state of a resource. The state of a resource is considered as idle or busy. The idle state indicates that the resource is free and is not processing any request. At the same time, a busy state indicates that resource is processing some request. When a resource is in a busy state, it is required to compute the resource's load. The computed resource will provide information that either the resource is underload or overload. If the resource is underload, it can also be used to realize some other jobs.
The algorithm using in load balancing is started working before the job is processing on the server by using the parameters, e.g., virtual machine assigned load, speed of the processor, etc. The information is managed in each virtual machine and finds out the least loaded machine as shown in Tab. 1. The proposed model implements the technique of load balancing with the help of fuzzy logic.

Membership Functions
Membership value is defined by using the membership function as shown in Tabs. 2 and 3, which is between zero and one. A membership function can be written as.

Fuzzy Set Operations
Fuzzy set operations can be categorized into three types, named union (OR), intersection (AND), and Additive Compliment (NOT). Two fuzzy sets like and ß defined on the universe ϒ, χ ∈ ϒ. It can be written as:   Figs. 2a and 2b shows the proposed system's surface view that represents the data distribution relationship in terms of input and output. A three-dimensional output surface can be generated with the Surface Viewer, where two of the inputs vary. It shows the relationship of Balanced load with datacenter and virtual machine.  Simulation results are generated by using the MATLAB R2017b tool with two input variables and one output variable. The proposed intelligent cloud-based load balancing system's performance is shown in Figs. 3a-3c. Fig. 3a shows that if the data center's value is medium and the virtual machine is medium, then each machine load will be in balanced as medium. Similarly in Fig. 3b represent that if the value of datacenter is medium and the virtual machine is high, then each machine will be in low balanced load, and it also observed that if the value of datacenter is medium and the virtual machine is low, then each machine will be in high balanced load.

Conclusion
Cloud computing uses dynamic resource provisioning and de-provisioning in a virtualized environment. The growing demand for cloud computing has caused an increasing load in cloud data centers. Elasticity in cloud computing is one of the fundamental properties, and elastic load balancing automatically distributes incoming load to multiple virtual machines. The proposed intelligent cloud-based load balancing expert system is developed using the Mamdani fuzzy inference system divided the level of balanced load in the cloud computing environment into high, medium, and low. The simulation results confirmed that the proposed system continues a fair decision for load balancing in each machine and can be used in top hours, quickly, and efficiently.