# An Implementation of Modified Blowfish Technique with Honey Bee Behavior Optimization for Load Balancing in Cloud System Environment

Authors: Preeti Rani; Prem Narayan Singh; Sonia Verma; Nasir Ali; Prashant Kumar Shukla; Musah Alhassan
Journal: Wireless Communications and Mobile Computing
 (2022)

---

## Abstract

Cloud computing is a system that allows data to be saved in the cloud on a virtual worker. Outsiders and virtual machines in the cloud worker supplier played a critical part in efficiently storing and accessing information. Security, access control, and load balancing are critical challenges in cloud engineering. In the past, various solutions for adjusting cloud load have been proposed. Operator-based burden adjustment calculation surpassed all other offered CPU use, cost, and idle time strategies. The productivity of the specialist-based load adjustment computation decreased when any of the client hubs changed regions. Experimental outcomes show that Modified-HBB-LB performs better than the existing load balancing strategies such as HBB-LB, DLB, FCFS, WRR, HDLB, and FIFO by achieving the load balance of the complete system. The Modified-HBB-LB technique reduces the number of migrations tasks (30%, 25% and 20%) as compared to HDLB, DLB, and HBB-LB. The proposed Modified-HBB-LB technique maintains the 3-5% higher performance levels on makespan, completion, and response time as compared to existing comparative techniques.


---

## Body

## 1. Introduction

As a result of the growth of IT-based systems [1, 2], grid computing [3–5], cloud computing [6, 7], expert cloud [8, 9], and MapReduce [10] provide efficient means to transfer data and share resources [11]. In particular, cloud computing is a new idea that represents the collaboration between multiple services and computers over a network, giving users many robust on-demand services at their fingertips. Cloud computing has been the subject of a variety of new studies and research proposals, but its fundamental idea is derivative from both distributed and grid computing [12, 13].In the cloud, there are groups of large data centers and large data centers located in one or more geographical regions, providing unlimited computing resources that users can access. Clouds are hosted by businesses, service providers, and governments [14, 15]. Computing services, content, and storage that anyone in the cloud can access are termed “Intercloud” [16, 17] and interoperability scenarios. The clouds must have the ability to detect each other to exchange information. According to the changing components, external conditions, workloads, software failures, other factors, and hardware breakdowns are applied in complex business processes that additionally complicate the fulfilment of Service Level Agreements (SLAs) [18]. If cloud computing is implemented, frequent user interaction is essential during service negotiations and execution. The scheduling technique that considers SLA-based VM management with the mixed workload is mentioned in Figure 1.Figure 1
The systematic model of the load balancer in cloud computing.Various researchers focus on several important-performance metrics issues, such as virtual machines (VMs) load balancing, a federation of clouds, network flow, scalability, and trust management. Cloud computing offers various outstanding services (software and hardware). Cloud computing offers three basic types of services, namely, Infrastructure As A Service (IAS), Platform As A Service (PAAS), and Software As A Service (SAAS). The cloud computing environment can be used to store real-time data online, backup, and recovery, test, and develop and to facilitate e-government applications [16–18]. The machine learning techniques and multiobjective optimization techniques are also used in the cloud computing [19–21].This paper investigates the role of loading balancer techniques on the live cloud infrastructure with open-source services, which will result in cost reductions for cloud computing. In load balancing systems, several optimization techniques have proven their effectiveness. However, a few of them achieve reliable results in all aspects of the system, including load balancing as well as security. Therefore, the proposed technique exploited the rewards of the existing technique and amended the security layout for the cloud system.This paper proposes Modified-HBB-LB with the Modified-Blowfish for load balancing and their security. According to the performance outcome, the proposed Modified-HBB-LB and Modified-Blowfish techniques provide better load balancing and cloud system security results.We organized the paper as follows: Section2 describes the background and existing theory of load balancing with a comparative analysis of the optimization techniques. Section 3 describes the Modified-Blowfish and Modified-HBB-LB methodology with their security and optimization techniques, respectively. The experimental setup, practical implementation, and comparison analysis of four benchmarks of the load balancing techniques are in Section 4. In Section 5, the conclusions are described.


## 2. Literature Review

Various researchers have worked, including scheduling, load balancing, and resource provisioning, in the field of cloud computing. Cloud load balancing has not yet been comprehensively researched. Here, we review some of the researches dealing with load balancing in the cloud.The authors [19, 22] present a hybrid technique that uses particle swarm optimization (PSO) for shortening, maximizing resource utilization, and makespan. In [23], the enhanced ant colony optimization (ACO) was planned to solve the scheduling issue to balance the load. Constraint functions function conveniently on the scheduling procedure, with their detailed objective to accomplish optimal results, as the authors devised an enhanced ACO to solve the scheduling problem [24]. ACO, Artificial Bee Colony (ABC), and PSO swarm intelligence techniques are used to decrease the execution time to finish the tasks based on dynamic task scheduling [25]. Here, [26] designed a cloud system based on genetic algorithms (GA) to optimize resource utilization by reducing the overall time required for scheduling. A study by [27] examined employment security planning in the context of distributed computing. A wide range of tasks is considered by this algorithm, which reduces makespan time and enhances load balancing by efficiently distributing them to the appropriate servers [28]. With PSO using the chaos perturbation approach, [29] proposed an effective method for task scheduling that facilitates faster convergence times and minimizes makespan times.Based on honeybee behavior load balancing (HBB-LB) and improvement detection operators, the HBB-LB techniques offer balanced scheduling explanations by identifying the low-level heuristic which is used to find improved candidate solutions. We compare the experimental results of our proposed task scheduling algorithm with those of existing heuristic-based scheduling algorithms.Using the Artificial Bee Colony (ABC) algorithm [30], mathematical function optimization problems are solved according to the foraging behavior of honey bee techniques. This method mimics the behavior of honey bees foraging for food. It is highly effective in optimizing any problem due to its properties of memory, character multiplication, local search, and solution improvement [25, 26]. Beehives have to scout bees that scout out food sources, forager bees that collect it, and food sources themselves. Bees gather information about food availability and distance from the hive through the waggle dance. Foragers follow the scouting bees to the beehive and begin to remove food. Sources of food are randomly placed.HBB-LB [31] is a technique presented by the authors that helps gain smooth load balancing within a virtual machine, thereby increasing the throughput. This methodology considers the order of jobs a virtual machine is handling. Virtual machines are classified based on their load. VMs are scheduled according to their new load. The judge’s framework is overwhelmed and underloaded once the load on the virtual machines is measured. The tasks occupied before the present job are performed very beneficially in finding the suitable below loaded virtual machine for the current task. The forager bees will be used in the upcoming tasks similarly to inspect bees.Various load balancing algorithms are used in cloud computing systems, such as round-robin [32], Opportunistic Load Balancing Algorithm (OLB) [33], Max-Min Algorithm [34], Ant Colony Optimization [35], Generalized Priority Algorithm [36], Join-Idle-Queue [37], GA-based load balancing [38], Stochastic Hill Climbing Technique [39], Decentralized Content-Aware Load Balancing [40], Server-Load Balancing for Internet Distributed Services [41], and other techniques [36–38]. The various optimization techniques are based on their problem statement and key objectives in Table 1.Table 1
A comparative analysis of various optimization techniques.
Algorithm
Key objective
Issue
Compare with
HBB-LB [42]
Optimize the load distribution across VMs to maximize the throughput.
Only applied to those virtual machines located in the same data center
HBB-LB, First-in-First-out (FIFO), dynamic loadBalancing (DLB), Weighted Round Robin (WRR)
K-Medoid Clustering, Blowfish encryption, and Dragonfly Algorithm [43]
In addition to enhancing accuracy, Dragonfly’s algorithm is optimized
Blowfish, Rivest, Shamir, Adleman (RSA), and Advanced Encryption Standard (AES)
Heuristic-based algorithms [44]
Energy saving, throughput maximization, makespan minimization
Improve resource utilization, good performance
MCT, Min-Max, MET, Max-Min, and Min-Min load balancing technique
Enhanced ABC-based load balancing technique [30]
Minimizes makespan and reduces the number of VM migrations
Load balancing is made more efficient and effective by altering the bee colony algorithm for cloud environments
Bee colony algorithm
Load balancing-based hyperheuristic technique[45]
To determine which low-level heuristics are necessary to search for improved candidate solutions, HBB-LB with the improvement detection operators are used
Analyze the performance of the proposed load balancing technique
The heuristic technique, including ACO, PSO, and GA
Spider Monkey Optimization [46]
Increasing performance by balancing workload among VMs
They are reducing the average response time and makespan on tasks
Round Robin and Throttled methods
Multiresource Load Balancing Algorithm (MrLBA) [47]
It aims to achieve a makespan, cost, and load-balanced system
Performance metrics, execution time, and costs are reduced, and existing resources are efficiently utilized
ACO, GA-PSO, and hybrid approach
Dynamic load balancing Max-Min and Max DLB3M [48]
Minimum execution time, efficient utilization of resources, and given optimum solution of load
Provide the better synchronization of jobs such that jobs never dead
LB3M (load balancing Max-Min and Max)
Binary Bird Swarm Optimization [32]
This algorithm reduces the response time of the system and maintains balance throughout it, thus increasing the overall performance
Resources are better utilized, and tasks are completed faster.
MAX-MIN, improved PSO, RASA, Come-First-Served (FCFS), SJF, and RR


## 3. Proposed Methodology

By utilizing bumble bee scavenging calculations, we will reduce the response time of assignments by utilizing load rebalancing on the cloud. A dynamic bunching technique is used to boost throughput through assets. An insect settlement enhancement has been suggested to start helping load transfer under cloud registering engineering. Our work has demonstrated pheromone update as a productive and powerful tool for increasing capacity. This paper has designed and developed a virtual machine with encryption based on Diffie Hellman and Blowfish. In this change, we have helped reduce the making length of the cloud figuring-based administrations and decreased the complexity of revamping the solicitation by using a bug state development process.


### 3.1. Modified-Blowfish Encryption

DES or IDEA can be combined with Blowfish as a drop-in trade for symmetric squares. It uses a variable-length key of up to 448 pieces, making it suitable for local use and export. Bruce Schneier created Blowing fish [49] in 1993, intending to give a quick, free alternative to existing encryption estimations. It has begun to receive confirmation as a strong encryption estimation from now on and into the distant future.The Blowfish encryption technology is unpatented, free to use, and accessible to the broadest range of occupations. Blowfish is integrated into numerous encryption programs, includingSplashID. Blowfish’s security system has been widely tested. Blowfish is an open region character, and its encryption has never been fully broken despite being at risk to a great deal of cryptanalysis. Additionally, Blowfish is one of the fastest pieces figured out so everyone can see use, making it ideal for things like SplashID that work on various types of processors, like those found in phones and PCs [20, 21].The enhanced blowfish algorithm (EBA) has been proposed as an encryption technique for encrypting the information on the cloud. It retains a secret key for encrypting and decrypting messages. The purpose of this paper is to convert data into an incomprehensible form using the blowfish encryption technique. Individuals who intend to store their data in the cloud can use a proposed technique to exchange data according to their preferences. It is an asymmetric technique because the keys used in encryption and decryption are similar. The cloud user is the owner of the data sent to the cloud, and they have a messageM to encrypt the data. Message encryption requires a key K. An enhanced blowfish cryptographic technique is employed for this. The encrypted message Em is sent to the cloud through HTTPS, a secure protocol. The cloud service provider knows the encrypted message. An encrypted message Em is sent to the cloud using HTTPS, a secure protocol for communication. A key K is essential for message encryption. An enhanced blowfish is employed for the cryptographic method. Cloud providers have access to messages that invaders cannot understand. Encrypted messages can be retrieved, but the keys are not understandable. It offers another type of security for data owners who have data stored within the cloud. Block lengths are 64 bits; messages longer than 8 bytes are ignored. It has two sections: data encryption and key expansion.During key expansion, the input key is split into four subarrays consisting of4168 bytes. The P array entails eighteen 32-bit boxes. The S boxes comprise four 32-bit arrays of 256 bytes each (the P-array with the first 32-bit box). At this stage, the encryption key is XORed with the second 32 bits of the key, and so on until it reaches 448 bits of security information. Data encryption is done with 64-bit plain text as well as encrypted to 64-bit ciphertext. A 32-bit left part and one 32-bit right part is segmented in Figure 2. The XOR undertaking can then be completed for both 32-bit left and the 32-bit right parts. The process progresses until 16rounds are finished. Enhanced Blowfish sends four 32-bit S-boxes with 256 entries each, divided into eight8-bit blocks with e,f,g, and h. The formula for Ft a function is in
(1)FLH=Sb1,e+Sb2,fmod232⊕Sb3,g+Sb4,hmod232.Figure 2
Encryption data flow of the Modified-Blowfish techniques.


### 3.2. Honeybee Foraging Technique

To develop the honeybee load balancing algorithm, we modelled the cloud environment on the foraging behavior of the honey bee. Cloudlets are mapped to the behavior of honey bees searching for food sources in the virtual cloud computing system. As shown in Table2, the cloud environment is designed after the honey bee’s foraging behavior.Table 2
Honey bee’s foraging behavior for cloud environment.
Honey bee
Cloud computing system
Bees
Cloudlets
Food sources
Virtual machines (VMs)
Bee foraging the food source
Mapping of cloudlet to VM
Bee getting worn out at the food source
VM is overloaded
Bee searching the new food source
Transmitting the task from an overloaded VM to an underloaded VMVMs handle cloudlets like honey bees seeking food. Each VM has diverse capabilities for executing the task. Some VMs may be overloaded, while others may be underloaded. As a result, load balancing is necessary. When a VM is overloaded with several cloudlets (tasks), it is separated from several and assigned to a VM with a lower load [50]. A cloud-based computing system involves transferring computational tasks to a pool of VMs across the Internet, which are dynamically assigned based on the system’s needs or the user. Cloud management policies route service requests to various servers based on the load on the individual servers, their proximity to databases, etc. Using load balancing techniques, response times and makespan can be reduced. It is possible to represent the completion time of task Ti on VMj which can be represented as CTij. The makespan (MS) is calculated by the following [51]:
(2)MS=maxCTij∣i∈T,i=1,2,3,4⋯nandj∈VM,j=1,2,3,4,⋯m.


#### 3.2.1. Mathematical Model

The decrease in waiting time enhances the responsiveness of virtual machines. LetVM=VM1,VM2,⋯,VMm be the set of m VMs that should process n tasks. They are denoted by the set T=T1,T2,⋯,Tn, respectively. All the VMs are distinct parallels denoted as R in the model. Tasks are assigned to these VMs on a nonpreemptive basis. Nonpreemptive tasks are represented as npmt. If a task does nonpreempt, the VMs cannot be interrupted from executing it (assuming that no error occurs). We represent a final time of a task Ti by CTi. The proposed objective is to minimize the makespan (MS) that can be represented as CTmax So, the proposed model is RnpmtCTmax. Processing time Ti is the task on a virtual machine VMj can be represented as Pij. Processing time of tasks in a VMj can be estimated by the following equation:
(3)Pj=∑i=1nPij,j=1,2,3,⋯,m.By minimizingCTmax, we can obtain equation (3). With the help of equations (3) and (4), generate a new equation.
(4)i=1Pij≤CTmax,j=1,2,3,⋯,m,(5)Pj≤CTmax,j=1,2,⋯,m.When load balancing, tasks are transferred between VMs so thatCTmax and response time will be reduced. The processing time of a task will vary based on the capacity of VMs. As a result of load balancing, completion times of tasks may vary if they are transferred.
(6)CTmax=maxi=1nCTimaxj=1n∑i=1nPij.HBB-LB load balancing is a dynamic technique that balances the load and selects the priorities of tasks in the VM waiting queue. We propose a dynamic load balancing technique that combines honeybee behavior with existing dynamic load balancing techniques. Overloaded VMs are like honey bees as their tasks are removed. It will add the number of different priority tasks assigned to that VM as well as the load on the VM if it is an under-loaded VM. Therefore, whenever a high-priority task is assigned to a VM, the VM that has the least number of high-priority tasks will be selected earlier so the task can be performed earlier.In all cases, VMs are organized in ascending order. If a task is detached, it will be assigned to underloaded VMs. Information from the data center can be used to determine the workload for all VMs. A standard deviation (SD) of load on VMs has to be calculated following this step.


#### 3.2.2. VM Capacity

(7)
C
j
=
Pe
numj
X
Pe
mipsj
+
VM
bwj
,where penumj is the number of processors in VMj and Pemipsj are the million instructions per second of all processors in VMj. The VMbwj is the data bandwidth of VMj.(1) Overall VM Capacity.
(8)C=∑i=1mCi.Total VM capacity is the summation of data center capacity.(2) Load on a VM. A VM’s load is the total number of assigned tasks.
(9)LV,mi,t=NT,tSVMi,t.VM’s load can be measured as the number of tasks on its service queue at timet divided by the service rate of VMi. All the VM load in a data center is measured as follows:
(10)L=∑i=1mLVMi.The following is the VM processing time:(11)PTi=LVMiCi.In the processing time, we can calculate the processing time for the data center to finish all the tasks within the timespan by using equation (12) given as follows:
(12)PT=LC.In the standard deviation (SD) of load, the proposed methodology uses SD for calculating the deviations on each VM load. We can calculate the SD of loads by using equation(13)σ=1m∑i=1mPTi−PT2.Then, the load balancing conclusion is completed according to the value of SD.(1)
Load balancing decision: the proposed system needs to decide whether to do load balancing after discovering the workload and SD value. For the load balancing, there are two potential setups: (1) finding whether the whole cloud system is balanced and (2) determining if the entire cloud system is drenched or not. If overloaded VM, load balancing is useless.(i)
Finding VM group state: the SDs of the VM load must be less than or equivalent to the threshold state setTs0−1 to indicate a balanced state [52]. Otherwise, the system may be overloaded or underloaded.(ii)
Finding overloaded group: load balancing is not possible when the current workload of a VM group exceeds its maximum capacity.(2)
VM grouping: this method reduces the time required for finding the optimal VM for the migration of the task. The overloaded VMs are the contenders for the migration. The overloaded VMs are assembled into two or more groups: overloaded and underloaded. In the proposed technique, these uninvolved tasks are preserved as honeybees, and underloaded VMs are their food sources. The VMs are assembled based on the SD and threshold values according to the load.(3)
Task transfer: load balancing should be triggered if the scheduler decides to balance the load. The task of load balancing requires finding overloaded VMs, demand (the load prerequisite), low-loaded VMs, and supply (the offered load). Determining the priority of removed tasks is necessary to determine the finest VM to queue them. Tasks that have been removed earlier (scout bee) from overloaded VMs also help select the correct low-loaded VM (forager bee). Foragers become scouts for the next task until load balancing is successful. Once the load balancing task is accomplished, the forager bee develops the scout bee for the next task. Foragers become scouts for the next task until load balancing is successful. As a result, high-priority tasks will be allocated to the machine with fewer high-priority tasks.(4)
VM selection on various prioritized tasks:(14)Th⟶VMdmin∑Th∈VMd,(15)Tm⟶VMdmin∑Th+∑Tm∈VMd,(16)Tl⟶VMdmin∑T∈VMd,where Th,Tm,Tl denote the high, middle, and low priority tasks in equations (14)–(16).Code 1
Ifσ≤Ts then System is balancedCode 2
If
L
>
maximum
capacity
Loadbalancingisnotpossible
Else
Triggerloadbalancing.
EndPriorities can be classified into high, middle, and low terms. It is essential that when a high-priority task is submitted to a machine that is underloaded that it is considered in conjunction with all other high-priority tasks that have already been assigned to the VMs. It will confirm that the VM has fewer high-priority tasks. Table3 shows the used abbreviations and acronyms and all the used symbols and their definition in Table 4.Table 3
Abbreviations and acronyms.
VMs
Virtual machines
HBB-LB
Honey bee behavior load balancing
HDLB
Hybrid Dynamic load balancing
DLB
Dynamic load balancing
FIFO
First in First out
FCFS
First Come First Serve
WRR
Weighted Round Robin
RSA
Rivest–Shamir–Adleman
AES
Advanced Encryption StandardTable 4
Symbols and their description.
Symbols
Description
T
s
Threshold state set
L
Load of the system
C
Capacity of the system
T
h
,
T
m
,
T
l
High, middle, and low priority tasks
MS
Makespan
E
m
Encrypted message
K
Key
M
Message
Ti
Task
npmt
Non preemptive
Pj
Processing time ofVMj
CT
max
Maximum completion time


## 3.1. Modified-Blowfish Encryption

DES or IDEA can be combined with Blowfish as a drop-in trade for symmetric squares. It uses a variable-length key of up to 448 pieces, making it suitable for local use and export. Bruce Schneier created Blowing fish [49] in 1993, intending to give a quick, free alternative to existing encryption estimations. It has begun to receive confirmation as a strong encryption estimation from now on and into the distant future.The Blowfish encryption technology is unpatented, free to use, and accessible to the broadest range of occupations. Blowfish is integrated into numerous encryption programs, includingSplashID. Blowfish’s security system has been widely tested. Blowfish is an open region character, and its encryption has never been fully broken despite being at risk to a great deal of cryptanalysis. Additionally, Blowfish is one of the fastest pieces figured out so everyone can see use, making it ideal for things like SplashID that work on various types of processors, like those found in phones and PCs [20, 21].The enhanced blowfish algorithm (EBA) has been proposed as an encryption technique for encrypting the information on the cloud. It retains a secret key for encrypting and decrypting messages. The purpose of this paper is to convert data into an incomprehensible form using the blowfish encryption technique. Individuals who intend to store their data in the cloud can use a proposed technique to exchange data according to their preferences. It is an asymmetric technique because the keys used in encryption and decryption are similar. The cloud user is the owner of the data sent to the cloud, and they have a messageM to encrypt the data. Message encryption requires a key K. An enhanced blowfish cryptographic technique is employed for this. The encrypted message Em is sent to the cloud through HTTPS, a secure protocol. The cloud service provider knows the encrypted message. An encrypted message Em is sent to the cloud using HTTPS, a secure protocol for communication. A key K is essential for message encryption. An enhanced blowfish is employed for the cryptographic method. Cloud providers have access to messages that invaders cannot understand. Encrypted messages can be retrieved, but the keys are not understandable. It offers another type of security for data owners who have data stored within the cloud. Block lengths are 64 bits; messages longer than 8 bytes are ignored. It has two sections: data encryption and key expansion.During key expansion, the input key is split into four subarrays consisting of4168 bytes. The P array entails eighteen 32-bit boxes. The S boxes comprise four 32-bit arrays of 256 bytes each (the P-array with the first 32-bit box). At this stage, the encryption key is XORed with the second 32 bits of the key, and so on until it reaches 448 bits of security information. Data encryption is done with 64-bit plain text as well as encrypted to 64-bit ciphertext. A 32-bit left part and one 32-bit right part is segmented in Figure 2. The XOR undertaking can then be completed for both 32-bit left and the 32-bit right parts. The process progresses until 16rounds are finished. Enhanced Blowfish sends four 32-bit S-boxes with 256 entries each, divided into eight8-bit blocks with e,f,g, and h. The formula for Ft a function is in
(1)FLH=Sb1,e+Sb2,fmod232⊕Sb3,g+Sb4,hmod232.Figure 2
Encryption data flow of the Modified-Blowfish techniques.


## 3.2. Honeybee Foraging Technique

To develop the honeybee load balancing algorithm, we modelled the cloud environment on the foraging behavior of the honey bee. Cloudlets are mapped to the behavior of honey bees searching for food sources in the virtual cloud computing system. As shown in Table2, the cloud environment is designed after the honey bee’s foraging behavior.Table 2
Honey bee’s foraging behavior for cloud environment.
Honey bee
Cloud computing system
Bees
Cloudlets
Food sources
Virtual machines (VMs)
Bee foraging the food source
Mapping of cloudlet to VM
Bee getting worn out at the food source
VM is overloaded
Bee searching the new food source
Transmitting the task from an overloaded VM to an underloaded VMVMs handle cloudlets like honey bees seeking food. Each VM has diverse capabilities for executing the task. Some VMs may be overloaded, while others may be underloaded. As a result, load balancing is necessary. When a VM is overloaded with several cloudlets (tasks), it is separated from several and assigned to a VM with a lower load [50]. A cloud-based computing system involves transferring computational tasks to a pool of VMs across the Internet, which are dynamically assigned based on the system’s needs or the user. Cloud management policies route service requests to various servers based on the load on the individual servers, their proximity to databases, etc. Using load balancing techniques, response times and makespan can be reduced. It is possible to represent the completion time of task Ti on VMj which can be represented as CTij. The makespan (MS) is calculated by the following [51]:
(2)MS=maxCTij∣i∈T,i=1,2,3,4⋯nandj∈VM,j=1,2,3,4,⋯m.


### 3.2.1. Mathematical Model

The decrease in waiting time enhances the responsiveness of virtual machines. LetVM=VM1,VM2,⋯,VMm be the set of m VMs that should process n tasks. They are denoted by the set T=T1,T2,⋯,Tn, respectively. All the VMs are distinct parallels denoted as R in the model. Tasks are assigned to these VMs on a nonpreemptive basis. Nonpreemptive tasks are represented as npmt. If a task does nonpreempt, the VMs cannot be interrupted from executing it (assuming that no error occurs). We represent a final time of a task Ti by CTi. The proposed objective is to minimize the makespan (MS) that can be represented as CTmax So, the proposed model is RnpmtCTmax. Processing time Ti is the task on a virtual machine VMj can be represented as Pij. Processing time of tasks in a VMj can be estimated by the following equation:
(3)Pj=∑i=1nPij,j=1,2,3,⋯,m.By minimizingCTmax, we can obtain equation (3). With the help of equations (3) and (4), generate a new equation.
(4)i=1Pij≤CTmax,j=1,2,3,⋯,m,(5)Pj≤CTmax,j=1,2,⋯,m.When load balancing, tasks are transferred between VMs so thatCTmax and response time will be reduced. The processing time of a task will vary based on the capacity of VMs. As a result of load balancing, completion times of tasks may vary if they are transferred.
(6)CTmax=maxi=1nCTimaxj=1n∑i=1nPij.HBB-LB load balancing is a dynamic technique that balances the load and selects the priorities of tasks in the VM waiting queue. We propose a dynamic load balancing technique that combines honeybee behavior with existing dynamic load balancing techniques. Overloaded VMs are like honey bees as their tasks are removed. It will add the number of different priority tasks assigned to that VM as well as the load on the VM if it is an under-loaded VM. Therefore, whenever a high-priority task is assigned to a VM, the VM that has the least number of high-priority tasks will be selected earlier so the task can be performed earlier.In all cases, VMs are organized in ascending order. If a task is detached, it will be assigned to underloaded VMs. Information from the data center can be used to determine the workload for all VMs. A standard deviation (SD) of load on VMs has to be calculated following this step.


### 3.2.2. VM Capacity

(7)
C
j
=
Pe
numj
X
Pe
mipsj
+
VM
bwj
,where penumj is the number of processors in VMj and Pemipsj are the million instructions per second of all processors in VMj. The VMbwj is the data bandwidth of VMj.(1) Overall VM Capacity.
(8)C=∑i=1mCi.Total VM capacity is the summation of data center capacity.(2) Load on a VM. A VM’s load is the total number of assigned tasks.
(9)LV,mi,t=NT,tSVMi,t.VM’s load can be measured as the number of tasks on its service queue at timet divided by the service rate of VMi. All the VM load in a data center is measured as follows:
(10)L=∑i=1mLVMi.The following is the VM processing time:(11)PTi=LVMiCi.In the processing time, we can calculate the processing time for the data center to finish all the tasks within the timespan by using equation (12) given as follows:
(12)PT=LC.In the standard deviation (SD) of load, the proposed methodology uses SD for calculating the deviations on each VM load. We can calculate the SD of loads by using equation(13)σ=1m∑i=1mPTi−PT2.Then, the load balancing conclusion is completed according to the value of SD.(1)
Load balancing decision: the proposed system needs to decide whether to do load balancing after discovering the workload and SD value. For the load balancing, there are two potential setups: (1) finding whether the whole cloud system is balanced and (2) determining if the entire cloud system is drenched or not. If overloaded VM, load balancing is useless.(i)
Finding VM group state: the SDs of the VM load must be less than or equivalent to the threshold state setTs0−1 to indicate a balanced state [52]. Otherwise, the system may be overloaded or underloaded.(ii)
Finding overloaded group: load balancing is not possible when the current workload of a VM group exceeds its maximum capacity.(2)
VM grouping: this method reduces the time required for finding the optimal VM for the migration of the task. The overloaded VMs are the contenders for the migration. The overloaded VMs are assembled into two or more groups: overloaded and underloaded. In the proposed technique, these uninvolved tasks are preserved as honeybees, and underloaded VMs are their food sources. The VMs are assembled based on the SD and threshold values according to the load.(3)
Task transfer: load balancing should be triggered if the scheduler decides to balance the load. The task of load balancing requires finding overloaded VMs, demand (the load prerequisite), low-loaded VMs, and supply (the offered load). Determining the priority of removed tasks is necessary to determine the finest VM to queue them. Tasks that have been removed earlier (scout bee) from overloaded VMs also help select the correct low-loaded VM (forager bee). Foragers become scouts for the next task until load balancing is successful. Once the load balancing task is accomplished, the forager bee develops the scout bee for the next task. Foragers become scouts for the next task until load balancing is successful. As a result, high-priority tasks will be allocated to the machine with fewer high-priority tasks.(4)
VM selection on various prioritized tasks:(14)Th⟶VMdmin∑Th∈VMd,(15)Tm⟶VMdmin∑Th+∑Tm∈VMd,(16)Tl⟶VMdmin∑T∈VMd,where Th,Tm,Tl denote the high, middle, and low priority tasks in equations (14)–(16).Code 1
Ifσ≤Ts then System is balancedCode 2
If
L
>
maximum
capacity
Loadbalancingisnotpossible
Else
Triggerloadbalancing.
EndPriorities can be classified into high, middle, and low terms. It is essential that when a high-priority task is submitted to a machine that is underloaded that it is considered in conjunction with all other high-priority tasks that have already been assigned to the VMs. It will confirm that the VM has fewer high-priority tasks. Table3 shows the used abbreviations and acronyms and all the used symbols and their definition in Table 4.Table 3
Abbreviations and acronyms.
VMs
Virtual machines
HBB-LB
Honey bee behavior load balancing
HDLB
Hybrid Dynamic load balancing
DLB
Dynamic load balancing
FIFO
First in First out
FCFS
First Come First Serve
WRR
Weighted Round Robin
RSA
Rivest–Shamir–Adleman
AES
Advanced Encryption StandardTable 4
Symbols and their description.
Symbols
Description
T
s
Threshold state set
L
Load of the system
C
Capacity of the system
T
h
,
T
m
,
T
l
High, middle, and low priority tasks
MS
Makespan
E
m
Encrypted message
K
Key
M
Message
Ti
Task
npmt
Non preemptive
Pj
Processing time ofVMj
CT
max
Maximum completion time


## 3.2.1. Mathematical Model

The decrease in waiting time enhances the responsiveness of virtual machines. LetVM=VM1,VM2,⋯,VMm be the set of m VMs that should process n tasks. They are denoted by the set T=T1,T2,⋯,Tn, respectively. All the VMs are distinct parallels denoted as R in the model. Tasks are assigned to these VMs on a nonpreemptive basis. Nonpreemptive tasks are represented as npmt. If a task does nonpreempt, the VMs cannot be interrupted from executing it (assuming that no error occurs). We represent a final time of a task Ti by CTi. The proposed objective is to minimize the makespan (MS) that can be represented as CTmax So, the proposed model is RnpmtCTmax. Processing time Ti is the task on a virtual machine VMj can be represented as Pij. Processing time of tasks in a VMj can be estimated by the following equation:
(3)Pj=∑i=1nPij,j=1,2,3,⋯,m.By minimizingCTmax, we can obtain equation (3). With the help of equations (3) and (4), generate a new equation.
(4)i=1Pij≤CTmax,j=1,2,3,⋯,m,(5)Pj≤CTmax,j=1,2,⋯,m.When load balancing, tasks are transferred between VMs so thatCTmax and response time will be reduced. The processing time of a task will vary based on the capacity of VMs. As a result of load balancing, completion times of tasks may vary if they are transferred.
(6)CTmax=maxi=1nCTimaxj=1n∑i=1nPij.HBB-LB load balancing is a dynamic technique that balances the load and selects the priorities of tasks in the VM waiting queue. We propose a dynamic load balancing technique that combines honeybee behavior with existing dynamic load balancing techniques. Overloaded VMs are like honey bees as their tasks are removed. It will add the number of different priority tasks assigned to that VM as well as the load on the VM if it is an under-loaded VM. Therefore, whenever a high-priority task is assigned to a VM, the VM that has the least number of high-priority tasks will be selected earlier so the task can be performed earlier.In all cases, VMs are organized in ascending order. If a task is detached, it will be assigned to underloaded VMs. Information from the data center can be used to determine the workload for all VMs. A standard deviation (SD) of load on VMs has to be calculated following this step.


## 3.2.2. VM Capacity

(7)
C
j
=
Pe
numj
X
Pe
mipsj
+
VM
bwj
,where penumj is the number of processors in VMj and Pemipsj are the million instructions per second of all processors in VMj. The VMbwj is the data bandwidth of VMj.(1) Overall VM Capacity.
(8)C=∑i=1mCi.Total VM capacity is the summation of data center capacity.(2) Load on a VM. A VM’s load is the total number of assigned tasks.
(9)LV,mi,t=NT,tSVMi,t.VM’s load can be measured as the number of tasks on its service queue at timet divided by the service rate of VMi. All the VM load in a data center is measured as follows:
(10)L=∑i=1mLVMi.The following is the VM processing time:(11)PTi=LVMiCi.In the processing time, we can calculate the processing time for the data center to finish all the tasks within the timespan by using equation (12) given as follows:
(12)PT=LC.In the standard deviation (SD) of load, the proposed methodology uses SD for calculating the deviations on each VM load. We can calculate the SD of loads by using equation(13)σ=1m∑i=1mPTi−PT2.Then, the load balancing conclusion is completed according to the value of SD.(1)
Load balancing decision: the proposed system needs to decide whether to do load balancing after discovering the workload and SD value. For the load balancing, there are two potential setups: (1) finding whether the whole cloud system is balanced and (2) determining if the entire cloud system is drenched or not. If overloaded VM, load balancing is useless.(i)
Finding VM group state: the SDs of the VM load must be less than or equivalent to the threshold state setTs0−1 to indicate a balanced state [52]. Otherwise, the system may be overloaded or underloaded.(ii)
Finding overloaded group: load balancing is not possible when the current workload of a VM group exceeds its maximum capacity.(2)
VM grouping: this method reduces the time required for finding the optimal VM for the migration of the task. The overloaded VMs are the contenders for the migration. The overloaded VMs are assembled into two or more groups: overloaded and underloaded. In the proposed technique, these uninvolved tasks are preserved as honeybees, and underloaded VMs are their food sources. The VMs are assembled based on the SD and threshold values according to the load.(3)
Task transfer: load balancing should be triggered if the scheduler decides to balance the load. The task of load balancing requires finding overloaded VMs, demand (the load prerequisite), low-loaded VMs, and supply (the offered load). Determining the priority of removed tasks is necessary to determine the finest VM to queue them. Tasks that have been removed earlier (scout bee) from overloaded VMs also help select the correct low-loaded VM (forager bee). Foragers become scouts for the next task until load balancing is successful. Once the load balancing task is accomplished, the forager bee develops the scout bee for the next task. Foragers become scouts for the next task until load balancing is successful. As a result, high-priority tasks will be allocated to the machine with fewer high-priority tasks.(4)
VM selection on various prioritized tasks:(14)Th⟶VMdmin∑Th∈VMd,(15)Tm⟶VMdmin∑Th+∑Tm∈VMd,(16)Tl⟶VMdmin∑T∈VMd,where Th,Tm,Tl denote the high, middle, and low priority tasks in equations (14)–(16).Code 1
Ifσ≤Ts then System is balancedCode 2
If
L
>
maximum
capacity
Loadbalancingisnotpossible
Else
Triggerloadbalancing.
EndPriorities can be classified into high, middle, and low terms. It is essential that when a high-priority task is submitted to a machine that is underloaded that it is considered in conjunction with all other high-priority tasks that have already been assigned to the VMs. It will confirm that the VM has fewer high-priority tasks. Table3 shows the used abbreviations and acronyms and all the used symbols and their definition in Table 4.Table 3
Abbreviations and acronyms.
VMs
Virtual machines
HBB-LB
Honey bee behavior load balancing
HDLB
Hybrid Dynamic load balancing
DLB
Dynamic load balancing
FIFO
First in First out
FCFS
First Come First Serve
WRR
Weighted Round Robin
RSA
Rivest–Shamir–Adleman
AES
Advanced Encryption StandardTable 4
Symbols and their description.
Symbols
Description
T
s
Threshold state set
L
Load of the system
C
Capacity of the system
T
h
,
T
m
,
T
l
High, middle, and low priority tasks
MS
Makespan
E
m
Encrypted message
K
Key
M
Message
Ti
Task
npmt
Non preemptive
Pj
Processing time ofVMj
CT
max
Maximum completion time


## 4. Implementation Result

To obtain more desirable cloud load balancing, the performance is analyzed based on a few metrics [47–49].
(i)
Encryption time: it is the time to convert plaintext to ciphertext. It depends on the plaintext, key size, mode, and block size. We measured encryption time in seconds. Encryption time can affect system performance [53].(ii)
Decryption time: it is required to recover the plaintext from encrypted data. It is aimed to be less than encryption time so that the system is fast and responsive. Decryption time affects the system’s performance.(iii)
Execution time: it indicates the time during the execution of the load balancing techniques. They should be minimized to ensure the best performance.(iv)
Response time: when a request is made and a response is provided, the response time measures the time between those two events.(v)
Makespan: it indicates the maximum completion time that the resources are allocated to the VM user.(vi)
Imbalance degree: the imbalance degree is calculated by the following equation (17), where MaxT and MinT are the maximum and minimum numbers of tasks, respectively, and AvgT is the average number of task (T) [42].
(17)ID=MaxT−MinTAvgT.(vii)
Migration time: it indicates how long it will take to allocate resources from one hub to the next. To improve techniques, it should be minimized.


## 5. Results Analysis and Discussion

In this section, we represent the proposed Modified-HBB-LB with the enhanced-Blowfish technique. The proposed technique has been implemented using CloudSim 3.0.3. We are running our CloudSim 3.0.3 and JAVA version is 1.8.0.112 software on window 10, 8GB RAM operation system. MATLAB 2020a are used for the plotting. All the function and programs are written in Dev C++, MATLAB, and Java. The proposed Modified-Blowfish experiment is compared with the well-known benchmark of security such as AES [54], RSA [55], and Blowfish [43, 47]. The proposed Modified-HBB-LB experiment is also compared with existing benchmark HBB-LB [31], DLB [56, 57], FCFS [58], and WRR, HDLB, and FIFO [59, 60] techniques.We compare the performance of the proposed Modified-Blowfish security techniques in terms of execution, encryption, and decryption time. The order of magnitude is better for Modified-HBB-LB than HBB-LB, DLB, FCFS, WRR, HDLB, and FIFO [59, 60] terms of the response time, makespan, imbalance degree, and task migration based on the number of assigned VMs and tasked. The proposed techniques are performed better and stable in terms of the above-mentioned performance metrics [61].


### 5.1. Encryption Time (Seconds)

Figure3 illustrates the encryption time (seconds) versus file size (Mb). The Modified-Blowfish techniques take almost equal encryption time to encrypt the 20 (Mb) file size with AES, RSA, and Blowfish. The encryption time is increased with the file size [62]. These techniques consider the different file sizes to see the rate of the growth changes of the encryption time and the file sizes. The file size varies between 20 and 100 (Mb) of the data to simulate the encryption time. Therefore, based on the results, the Modified-Blowfish techniques provide superior results than the AES, RSA, and Blowfish [63].Figure 3
Comparison of encryption time (sec) versus file size (Mb).


### 5.2. Decryption Time (Seconds)

Figure4 illustrates the decryption time (seconds) versus file size (Mb). The Modified-Blowfish techniques calculate the decryption time during the generation of the original files at the received side. The file size is varied between 20 and 100 (Mb) of the data to simulate the decryption time [64]. The performance of the proposed Modified-Blowfish techniques is measured based on the encryption and decryption time based on the different file sizes and compared with the various existing technologies such as RSA, AES, and Blowfish. The Modified-Blowfish techniques take less time to recover the original files than AES, RSA [65], and Blowfish [64, 65].Figure 4
Comparison of decryption time (sec) versus file size (Mb).


### 5.3. Execution Time (Seconds)

Figure5 below illustrates the execution time (seconds) of complete encryption and classification with encryption for all the selected encryption techniques. RSA and AES techniques take the longest time to finish the task based on the size of 40 and 60 (Mb) files size.Figure 5
Comparative analysis of execution time (sec) versus (a) number of tasks (left) and (b) file size (Mb) (right), respectively.
(a)
(b)Blowfish techniques take a higher execution time than RSA, with AES techniques at 20 (Mb) file sizes. Blowfish takes less execution time than RSA and AES on the rest of the size of the files, such as 40, 60, and 80 (Mb). Modified-Blowfish techniques are much faster than all existing techniques such as AES, RSA, and Blowfish based on the different file sizes (Mb).


### 5.4. Response Time (Seconds)

Figure6 demonstrates the response time (seconds) based on the number of tasks completed. Here, we compare the proposed technique Modified-HBB-LB with HBB-LB, DLB, WRR, and FIFO based on the number of tasks between 10 and 40. The performance of the Modified-HBB-LB is better than the existing approach, such as HBB-LB, DLB, WRR, and FIFO.Figure 6
Comparative analysis of response time (Sec) versus several tasks.


### 5.5. Makespan (Seconds)

In Figure7, we compare the makespan time using Modified-HBB-LB and HBB-LB, DLB, WRR, and FIFO based on the number of tasks.Figure 7
Comparative analysis of makespan (sec) versus several tasks.


### 5.6. Imbalance Degree

The imbalance degree is compared before and after load balancing, shown in Figure8(a). The imbalance degree performance of the proposed Modified-HBB-LB technique is compared with the HBB-LB, DLB, FCFS, and WRR based on the number of tasks as shown in Figure 8(b).Figure 8
(a) Imbalance degree measure before and after load balancing versus several tasks. (b) Comparative analysis of imbalance degree versus several tasks.
(a)
(b)


### 5.7. Task Migration

Figure9 illustrates the number of task migrations based on the number of assigned tasks when VMs are fixed. Here, we calculated the performance of the migrated task on different VM values from 3 to 6 and compare the performance among Modified-HBB-LB, HBB-LB, HDLB, and DLB methods. The number of task migration is lesser in the Modified-HBB-LB compared to the DLB, HBB-LB, and HDLB based on the different number of VMs in all four scenarios.Figure 9
Comparative analysis of the number of task migration versus the number of tasks based on different VMs.Figure10 demonstrates the comparative analysis of task migration based on the number of VMs, and the number of tasks varies from 10 to 40. The Modified-HBB-LB technique is more effective, and fewer migrations are needed than DLB, HBB-LB, and HDLB methods.Figure 10
Comparative analysis of task migration versus the number of VMs based on different tasks assigned.


## 5.1. Encryption Time (Seconds)

Figure3 illustrates the encryption time (seconds) versus file size (Mb). The Modified-Blowfish techniques take almost equal encryption time to encrypt the 20 (Mb) file size with AES, RSA, and Blowfish. The encryption time is increased with the file size [62]. These techniques consider the different file sizes to see the rate of the growth changes of the encryption time and the file sizes. The file size varies between 20 and 100 (Mb) of the data to simulate the encryption time. Therefore, based on the results, the Modified-Blowfish techniques provide superior results than the AES, RSA, and Blowfish [63].Figure 3
Comparison of encryption time (sec) versus file size (Mb).


## 5.2. Decryption Time (Seconds)

Figure4 illustrates the decryption time (seconds) versus file size (Mb). The Modified-Blowfish techniques calculate the decryption time during the generation of the original files at the received side. The file size is varied between 20 and 100 (Mb) of the data to simulate the decryption time [64]. The performance of the proposed Modified-Blowfish techniques is measured based on the encryption and decryption time based on the different file sizes and compared with the various existing technologies such as RSA, AES, and Blowfish. The Modified-Blowfish techniques take less time to recover the original files than AES, RSA [65], and Blowfish [64, 65].Figure 4
Comparison of decryption time (sec) versus file size (Mb).


## 5.3. Execution Time (Seconds)

Figure5 below illustrates the execution time (seconds) of complete encryption and classification with encryption for all the selected encryption techniques. RSA and AES techniques take the longest time to finish the task based on the size of 40 and 60 (Mb) files size.Figure 5
Comparative analysis of execution time (sec) versus (a) number of tasks (left) and (b) file size (Mb) (right), respectively.
(a)
(b)Blowfish techniques take a higher execution time than RSA, with AES techniques at 20 (Mb) file sizes. Blowfish takes less execution time than RSA and AES on the rest of the size of the files, such as 40, 60, and 80 (Mb). Modified-Blowfish techniques are much faster than all existing techniques such as AES, RSA, and Blowfish based on the different file sizes (Mb).


## 5.4. Response Time (Seconds)

Figure6 demonstrates the response time (seconds) based on the number of tasks completed. Here, we compare the proposed technique Modified-HBB-LB with HBB-LB, DLB, WRR, and FIFO based on the number of tasks between 10 and 40. The performance of the Modified-HBB-LB is better than the existing approach, such as HBB-LB, DLB, WRR, and FIFO.Figure 6
Comparative analysis of response time (Sec) versus several tasks.


## 5.5. Makespan (Seconds)

In Figure7, we compare the makespan time using Modified-HBB-LB and HBB-LB, DLB, WRR, and FIFO based on the number of tasks.Figure 7
Comparative analysis of makespan (sec) versus several tasks.


## 5.6. Imbalance Degree

The imbalance degree is compared before and after load balancing, shown in Figure8(a). The imbalance degree performance of the proposed Modified-HBB-LB technique is compared with the HBB-LB, DLB, FCFS, and WRR based on the number of tasks as shown in Figure 8(b).Figure 8
(a) Imbalance degree measure before and after load balancing versus several tasks. (b) Comparative analysis of imbalance degree versus several tasks.
(a)
(b)


## 5.7. Task Migration

Figure9 illustrates the number of task migrations based on the number of assigned tasks when VMs are fixed. Here, we calculated the performance of the migrated task on different VM values from 3 to 6 and compare the performance among Modified-HBB-LB, HBB-LB, HDLB, and DLB methods. The number of task migration is lesser in the Modified-HBB-LB compared to the DLB, HBB-LB, and HDLB based on the different number of VMs in all four scenarios.Figure 9
Comparative analysis of the number of task migration versus the number of tasks based on different VMs.Figure10 demonstrates the comparative analysis of task migration based on the number of VMs, and the number of tasks varies from 10 to 40. The Modified-HBB-LB technique is more effective, and fewer migrations are needed than DLB, HBB-LB, and HDLB methods.Figure 10
Comparative analysis of task migration versus the number of VMs based on different tasks assigned.


## 6. Conclusion and Future Scope

Cloud engineering has pariah, virtual machine, and cloud expert associations to accomplish various endeavours like weight changing, security, and directing positions. The virtual machine is the customer’s trust praiseworthy machine that secures the data and consigns anticipated errands. In this work, it has been contemplated that successful expert-based weight rebalancing estimation diminished when imperfection occurred in the framework. The defect can occur in the framework when a customer changes its region. Further improvement in the administrator-based weight rebalancing estimation will be proposed for the endeavour redistribution and to overhaul security in the cloud plan. In this paper, Modified-Blowfish is used to secure the cloud system, and Modified-HBB-LB optimization techniques are designed for load balancing. Both the proposed techniques are performed better and more efficiently than well-known existing techniques. The Modified-HBB-LB technique reduces the number of migrations tasks 30%, 25%, and 20% as compared to HDLB, DLB, and HBB-LB. The proposed Modified-HBB-LB technique maintains the 3-5% higher performance levels on makespan, completion, and response time as compared to existing comparative techniques. Our future work will include measuring the technique’s effectiveness on load balancing and security and applying it to a real-world case to improve its performance and results.



---

*Source: 3365392-2022-05-25.xml*