Abstract
Cloud computing is a new framework, which is facing a numerous type of challenges including resource management and energy consumption of data centers. One of the most important duties of cloud service providers is to manage resources and schedule tasks for reducing energy consumption in data centers. In this paper, fuzzy logic is used for finding most adequate DC, improved DVFS algorithm is used for selecting ideal host and developed version of EDF-VD algorithm is utilized for Task scheduling and load balance in cloud computing. Our approach improvement to the current methods including EEVS, DVFS, Homogeneous, MBFD and EEVS-N.
Introduction
Cloud computing is a developed version of distributed computing, parallel computing and grid computing or we can say it is mercantile implementation of these concepts [1]. Cloud computing can be defined as a distributed parallel system consist of a set of connected virtual computers which get allocated dynamically and can be offered as one or more computational resources. The allocation of these computational resources to the end user is based on the contract between service provider and customer (end user) [2, 3].
Using the cloud computing has so many advantages such as reliability, service quality and error avoidance [4]. One of the key technologies in cloud computing which has turned it into a reliable environment and framework is the virtualization. Virtualization makes it possible to separate virtual machines. In such way that each virtual machine can be configure on a number of hosts based on the needs of end user. Exact features of the host in which virtual machine is running, are hidden for the end users. Therefore, virtual machines can gradually transfer new tasks of user’s applications from one host to another host without any interruption in services. Also it is possible that allocated resources to a virtual machine may get increased or decreased dynamically. Growth in scale and complexity of data centers have made modern mercantile organizations and managers and designers to think about redesigning the data centers. By supporting the virtualization technology, cloud platforms will achieve this ability to propose computational power in form of virtual machines to end users [5]. Since hundreds of thousands of virtual machines get used in cloud environment, it is very difficult to allocate resources manually [6]. In addition, the allocation of resources to the requested tasks along with maintaining the load balance can be helpful in improving the work flow of data centers in cloud computing. The process of reallocating the total load to single hosts(servers) in data center in such a way to improve the efficiency and response times and gets rid of conditions where some hosts carry more load and some other carry a little load, is named load balancing [7]. A resource management methodology in cloud computing must be able to change its strategy according to variant circumstances of environment and different types of tasks in order to make itself adaptable with new situations. Therefore, it is necessary to use a dynamic method for managing resources in the cloud for resource allocation, load balancing and task scheduling purposes, some methods like symbiotic organisms search optimization (SOS) [9], SIMPLIFIED SWARM OPTIMIZATION (SSO) Algorithm [10], earliest deadline first with virtual deadlines (EDF-VD) scheduling algorithm and etc. In this paper, EDF-VD task scheduling algorithm is used to get the most out of cloud resources (maximum utilization). Obviously the increase of optimality in utilizing cloud’s resources will cause reduction in energy consumption. By management of resources we will be able to proportionally distribute the existing load on the system of data center between available resources and this way the load balancing goal will be achieved. One of the important characteristics that a data center must have and should be considered in design phase is that it must be able to prevent hotspot. In data center, hosts which have extra load usually will cause loss of performance and are vulnerable. In order to decrease the load on these hotspots, some amount of their load must get transferred to hosts which have lower load on themselves. In cloud computing environment, these loads actually are virtual machines which have data extra load and in case extra load got increased, a certain number of them must get transferred to another host. As we mentioned, by virtualization technique we will be able to decrease the coherency of asymmetric applications to the number of servers and by this we will cause improvements in efficiency and also reduction of consumed energy (by switching the extra servers off). In this paper, the proposed method for load balancing between hosts in cloud computing is named combination dynamic voltage and frequency scaling (DVFS).
The rest of this paper is categorized this way: In part 2, previous works are surveyed, in part 3 the preliminaries of energy consumption in data centers will be studied. In part 4 the proposed method is presented along with the description of the offered architecture. In part 5 and 6 the obtained results and in part 7 the final conclusion and future suggestions are presented.
Related works
Some of analyzed load balancing algorithms in cloud networks are as follows: Round Robin (RR) [11] algorithm, Randomized algorithm [12], Central Manager algorithm [13], Threshold algorithm [14], dynamic load balancing algorithms [15], local queue algorithm [16], honey bee exploration algorithm [17] and OLB+LBMM algorithm [18].
RR algorithm is one of load balancing methods which try to optimize energy consumption. This algorithm, distributes tasks between secondary processors. The order of allocating tasks to secondary processors will be based on assortment which RR algorithm decides. This means that after the execution of selected processor between the assortments, if there was no next processor, selection flow will return to the beginning of assortment (first processor in the assortment). Selection of processors will take place locally on each processor and independent from allocation of other processors. The main advantage of RR algorithm is that it doesn’t need any interconnection between processes. RR usually gets used in web servers, since most of HTTP requests are similar in nature, these requests will be distributed equally. This defined schema is not according to service level agreement principle [19]. Another method of load balancing is Random algorithm. This algorithm uses random numbers for selecting secondary processors. Secondary processors get selected using numbers which are randomly generated based on statistical distribution. This algorithm can bring best efficiency among all load balancing algorithms for an application with special purpose, but it is against service level agreement principle [20]. The next algorithm for load balancing and reducing energy consumption is Central manager schema. In each step, central processor selects a secondary processor for allocating tasks. The selected secondary processor is a processor which has the lowest amount of load on itself. Central processor is able to gather information of loads of all of secondary processors; therefore, the selection task can be performed based on this algorithm. Load manager, makes load balancing decisions based on the information of load on the system and makes it possible to make best decision during the process. It is expected that this algorithm performs better than parallel applications. Especially when dynamic activities get generated by different hosts [21].
The next surveyed algorithm is from dynamic load balancing algorithms based on scheduling. In dynamic load balancing algorithms, the mass of loads gets distributed over processors during the execution time. Central manager allocates the new process to the secondary processor based on newly gathered information. In a distributed system, dynamic load balancing can take place in two different ways: Distributed and non-distributed (centralized). In distributed approach, load balancing algorithms get executed by all machines of system and all of them are responsible for maintaining the balance of loads. The relation between machines can be in two forms, participatory, non-participatory. Processes work together to gain a universal balance through system.Scheduling decisions will take place after anticipating their influence on general standards [22].
On the other hand, in non-participatory algorithms, each machine decides about scheduling of its own resources independently from the rest of the system; therefore, the machine can schedule and allocate tasks based on local efficiency. In participatory algorithms, the tasks of controlling energy consumption and maximize the profitability are considered but these are not respected in this paper [23]. Dynamic load balancing algorithms can produce more messages than centralized load balancing algorithms can; because every machine in the system needs to communicate with every other machine. The advantage here is that if one or some of machines confront to a system failure, the main trend of load balancing will not fail and it just would influence performance of system but in this resources, creative learning methods are used and this is against service level agreement [23, 24]. Some methods or experiences have been used until today for improving efficiency of energy consumption. These methods are as follows: Improving algorithms of applications, and using hardware with efficient energy consumption (lower and efficient) [25]. In [26] reduction of energy consumption in virtualized data centers of cloud is analyzed. In this paper, authors propose an efficient resource management system for data centers in cloud which reduces operational costs and also provides service quality. The frugality in electrical energy consumption will be acquired by checking virtual machines constantly and checking how much the resources are used efficiently now. The main tool which is used in this work is live migration of virtualized machine in cloud computing. Live migration, is possibility to transfer virtual machines to physical hosts which have lower amount of extra load, and cloud service provider will have the flexibility to reallocate VMs dynamically based on their (current) needs and allocation policy, to resources (it means the resources allocation to virtual machines could get increased or decreased).
In [27], an architecture is proposed for energy management in virtualized data centers, in which resources get managed in two forms, local and global. For power management at local level, system uses power management strategies of guest operating systems, in other words it uses the same strategies as if the operating system is installed and running on a physical machine. For allocation of virtualized machines at global level, universal (global) policies which benefit live migration technology will be used. In [28] efficient allocation challenge and power of virtualized machines in virtualized environments in virtualized asymmetric computing environments is analyzed. In the presented method of paper, min, max and mutual value parameters are used in VMM which respectively represent minimum value, maximum value and relative value that each of VMs can share same resource. This method is only suitable for business centers environments and personal clouds in which service level agreement has no importance in them and it is not necessary for them to support any of service level agreements and don’t have to worry about priority of applications. In [31], authors made some studies over resource allocation in HPC (High Performance Computing) systems like cluster, grid and cloud. Sharkh et al. in [32], discussed about internal and external factors for optimized resource allocation. On the other hand, Manvi and Shyam in [33], had some studies for testing resource management techniques such as allocation, mapping and adaptation in IaaS. Authors in [34], studied resource allocation for applications known as “Mashup”. In the primary developed sample, backend system is a system of compact resources which is responsible for gathering information from applications or external services and analyzing that information in real time. Authors in [35], proposed a method based on cost, for allocating resources to work flow. In the presented method, four strategies are used for allocating a virtual framework. Yet, each virtual machine is settled in a physical machine and all physical machines have similar structure. In their research, existing sources could be extremely busy or idle because of heterogeneity. Also another important limit between limits of this research is that it won’t be possible to add or delete or even change the abilities of a virtual machine through time.
System model
This part studies the anatomy of models of cloud computing and virtual machines. These models are the bases of proposed method which is described in parts 4 and 5.
Power model
The allocation of power of modern processors can be categorized in two parts: Dynamic power and static power which in equation P
Cpu
= P
Static
+ P
dynamic
Dynamic power is equal to P
dynamic
= aCV2f, which a represents Switching activity, C is physical capacity, V is value of vlotage and f represents frequency for the subject operation. Values of switching activity and value of capacity can be considered as constants; because they get determined only by low-level system design. It has been assumed that voltage V is proportional to f frequency so we will have this equation P
dynamic
= α f3. But in operation, still dynamic power is not exactly inside cube of frequency. So on this basis, in this paper we have assumed these two equations P
dynamic
= αf
h
, (α, h > 0) and
Static power which is known as leakage power, is result of leakage of existing flows in active circuits. Static power generally is correlated to type of transistors and processing technology. It has been reported that idleness power in a processor sometimes can be more than 50 percent of its peak power, and the big part of idleness power of a processors is static power. Static power is represented this way
Which in the above relations, t represents duration of execution for power model in processing the calculations of virtual machines. Execution time gets calculated using computation of virtual machine and operational frequency of core. Therefore, the equation of t can be defined this way
In each processor, there is a series of cores, which some of them are active and some other are inactive (idle). Static power for active and idle cores is assumed by this equation P
static
/ - nc. Also the power of an active processor is assume to be
Which t i is the execution time of ith cpu and in case if core was in idle state, t i = 0.
Physical machine model
In this paper, we focus on clouds with heterogeneous physical machines and assume that cores of each processor can be controlled independently. Each physical machine in the cloud (which can also be called node) can be personal computers or servers and usually consists of multiple cores which can operate in different frequencies. Set of heterogeneous PMMs are represented by PMM = {pmm1, pmm2, . . . , pmm n } which n represents number of PMMs. Each heterogeneous virtual machine consists of two parts: Processor and other parts. Processor of each heterogeneous virtual machine can be defined as follows: cpu = (nc, ns, P static , F, P) Which nc, ns represent number of cores and number of operational situation of processors and P static represents static power of processor. F, P represent frequency and dynamic power respectively. We have assumed that cores of nc are homogeneous in pm physical machine. Therefore, we define F = {f1, f2, . . . , f ns } and P = {p1, p2, . . . , p ns } which f i , p j represent frequency and dynamic power of ith processor in situation j. Without losing the generality, we have these assumptions f1 < f1 < . . . < f ns and p1 < p1 < . . . < p ns and minimum and maximum of frequency and dynamic power are represented this way fmin = f1, fmax = f ns , pmin = p1 and pmax = p ns .
If the core was in sleeping state, then the frequency and dynamic power will be equal to zero. Energy of cloud which consists of N heterogeneous physical machines gets consumed during tasks processes by all active physical machines. Therefore, energy consumption of the whole cloud for processing tasks is shown in the following equation:
Virtual machine
In this article we have focused on virtual machines which get processed continuously in the cloud. Set of virtual machines are represented this way VN = {vm1, vm2, . . . , vm m } It is assumed that each virtual machine gets process only by one core in every moment. For example, vmi can’t be executed in two or more cores at the same time. But VMs can migrate during the process from one core to another core. Execution time and energy consumption for migration of virtual machines are ignored in this paper. Each VM is defined.
Proposed method
As it can be understood from Fig. 1, in this research some algorithms are provided for desirable management of data centers in cloud computing, which can proportionally distribute loads between different hosts for load balancing and also can reduce energy consumption. Therefore, the proposed method gets executed during the process of requests of users in cloud computing.

Architecture of proposed model.
The proposed method for managing resources in data center and reducing consumption of energy gets done in form of several steps which are as follows: Keeping the load balance in hosts with DVFS algorithm: According to multitude number of requests from users for accessing different resources in hosts which are inside cloud environment, at first load balancing must be performed on these hosts which it gets done by proposed method of DVFS in local management unit. Local management unit finds the current suitable host after inspecting available resources of existing hosts in clusters inside data center and checking the level of their efficiency and then it will lead the user’s request to that suitable host. Of course if the user requested more than one virtual machine, the local management unit can select different hosts for each VM. Local management unit constantly and in different intervals checks the efficiency clusters and their inner hosts and if it was necessary then it uses load balancing and energy management algorithms over hosts to balance the load between hosts and also reduce energy consumption. Selecting suitable data center: For selecting most suitable data center and best path, before sending the requests to related hosts in the data center, the suggested decision making algorithm will be used based on the value of required bandwidth. The decision making algorithm which is suggested in this part, in order to find a strong server with suitable bandwidth inspects if the current server is eligible then lets it to execute the operation otherwise the decision making algorithm will be executed and will find the most suitable server. So if the server didn’t determine as strong server by decision making algorithm, then live migration to the new server will start. After selecting related server for processing request of user, the decision making algorithm will offer the chosen server and then the requests will be assigned to its related hosts. Task scheduling using EDF-VD algorithm: After transferring requests of users to related host, EDF-VD algorithm would get executed and all of requests which are mapped to certain tasks will be allocated to related virtual machine after applying the scheduling to the partitions. After reception of tasks by each virtual machine, it will be inspected that if the user has request a virtual machine more than once or not. If there were more than one request for a virtual machine from one user, then another virtual machine will be disposed for that certain user. At last all the partitions will be executed in parallel.
The proposed model in this research consists of several algorithms which each algorithm has its own duty and special structure and gets used for optimizing responses to requests from users and also optimizing the consumption of energy in data center. In the following part, each of these algorithms are explained completely:
Selecting data center using fuzzy logic
There are two main parameters for decision making system in order to select suitable data center in cloud computing which are as follows: bandwidth and distance from source. In order to provide parameters of data center, distance to source and bandwidth, the following values is defined:
distance={Low, Mid, High}
bandwidth={Low, Mid, High}
In order to have an accurate selection, we must set some rules, then perform the selection based on these rules.
So according to Table 1 and presented rules, membership functions of distance and bandwidth gets defined as follows.
Table of rules and circumstances for selecting the suitable data center
Table of rules and circumstances for selecting the suitable data center
The selection operation for finding a suitable data center gets performed based on above rules. We assume that data center 1 has 80 percent of bandwidth and data center 2 has 60 percent of distance. Therefore, distance of data center 1 to source is about 50 meters and distance of data center 2 to source is about 70 meters. So by these interpretations, the probability of selecting each data center is like this, because data center 1 has 80 percent battery and 50 percent distance to source and this means that its bandwidth is on High and it distance is Mid, so the probability of selection for this data center is in Good state. And probability for selecting node 2 is in weak state because its energy is on Mid and its distance is High, so finally node 1 will be selected. The selection of proper data center gets done by decision making system based on these conditions: R1 = if (BW = Low & distance = Low) then select_DC = Mid R2 = if (BW = Mid & distance = Low) then select_DC = Good R3 = if (BW = High & distance = Low) then select_DC = Best R4 = if (BW = Low & distance = Mid) then select_DC = Weak R5 = if (BW = Mid & distance = Mid) then select_DC = Mid R6 = if (BW = High & distance = Mid) then select_DC = Good R7 = if (BW = Low & distance = High) then select_DC = Worst R8 = if (BW = Mid & distance = High) then select_DC = Weak R9 = if (BW = High & distance = High) then select_DC = Mid
The important point here is that if there were two data center with exact same conditions, then Fitness function should be used to find most proper node.
Fitness = BW + (1/Distance)
Select - node = Max (Fit1, Fit2)
Therefore, by using the proposed method and the presented creativity, we will have a magnificent improvement in routing, duration of sending messages, reduction of energy consumption and finally increasing the life time of network.
One of the most important processes that is used in this research to select an optimized host in a data center for executing requests of users is the decision making process for finding proper host. DVFS algorithm has the ability to balance the load in the network and this way increase the life time of nodes. Figure 4 shows how DVFS algorithm performs load balancing. As it can be seen in Fig. 2, migration operation or selection of suitable host will take place according to the rules which are defined for DVFS algorithm. So, the condition of network will be analyzed by central cluster, right after a client sends a request to the cloud environment. If the condition of network was suitable, then the rest of the operation will take place. Then the table of all virtual machines will be analyzed. The network will be inspected in aspect of congestion and the host which has lower number of virtual machines executing will be selected. The condition of network will have reanalyzed to check if the network is not busy. If the network was not busy then the next steps will be performed otherwise the operation will start from the beginning.

Polarity factor based on bandwidth.

Polarity factor based on distance.

Proposed algorithm in cloud network for keeping the load balance.
So if all the preconditions were satisfied, a strong server with proper bandwidth will be selected and migration operation will take place. If a suitable server was not found, the operation of inspecting virtual machines in the hosts will get executed again until a server free up in the network, and then the operation of selecting host will take place. After this step it is necessary to process the request, which we discuss it in the following subpart.
EDF-VD [29] scheduling algorithm is the developed version of EDF [30]. This algorithm which never has been used for task scheduling in cloud computing, is presented for administering sensitive tasks. Some requests from clients are known as sensitive requests(HI) and some other are known as non-sensitive requests(LO). Sensitive requests(HI) need to be execute with higher priority than non-sensitive requests. So, this new idea can be implemented in cloud computing by using improved version of EDF algorithm. The presented idea in this part can be explained this way, at first all virtual machines will be categorized in form of different partitions, then the requests from user will be distributed over available partitions using EDF-VD scheduling algorithm and finally each partition gets executed in parallel and requests will get execute by virtual machines in each partition.
According to Table 2 number of partitions are shown in rows and number of virtual machines in each partition are shown in columns. For example, consider task T4(11,5,R1), this term shows task number 4 from request number 1 which needs 11 milliseconds to get executed and is of priority 5. Also T4 is getting executed by partition number 3 and virtual machine number 1. As it can be understood from Table 2, after entrance of requests to the cloud, then the proposed algorithm will analyze the requests and divide each request to a set of tasks, with different execution times and different priorities and each task will be marked with an exclusive number, a certain priority and a request number. After dividing each request to a set of tasks, the tasks will be allocated to idle virtual machine which has the required energy, according to their duration of execution and also their priority. After allocating a task to a partition, a flag will be set in the temporary memory, and this flag will express the state of virtual machines in each partition. In the next steps, improved EDF-VD algorithm will allocate resources to other tasks based on this flag which is defined for each partition, and finally all the partitions will be executed in parallel by one core of processor. In case that all the virtual machines were busy, requests will be settled in a queue, based on level sensitivity or non-sensitivity (priority) and their execution time. Therefore, we can present a proper feedback to each request from user and control the consumption of energy in virtual machines. Making it possible to execute partitions in parallel and also optimized allocation of tasks to virtual machines, have resulted a huge improvement in energy consumption in data centers.
Task scheduling in partitions and virtual machines using EDF-VD algorithm
Task scheduling in partitions and virtual machines using EDF-VD algorithm
After simulation of proposed method, the obtained results will be evaluated and compared to other methods from theses aspects: consumption of energy, execution time of tasks, response time and etc. In this paper, the proposed method will be named EDF-DVFS. The base articles which are used are mentioned in the Resources [7, 36]. It is necessary to mention that some important criteria are evaluated in these articles. The simulation has been experimented on a system with these characteristics:
In Table 4 the characteristics of used physical machine is presented.
Factors and specifications of simulation system
Factors and specifications of simulation system
Characteristics of used physical machine in evaluating results of simulation
In this part, we have evaluated some criteria in order to compare the proposed method with other methods. The results of responding to requests of users using proposed method are shown in Table 5 in each second.
Number of responses to the requests in one second for the proposed method in the simulation
The average number of responses to requests, in one second according to number of virtual machines are shown in Fig. 5. In the following experiment, RAM capacity has been decided to be 512 megabytes.
As shown in Fig. 5, the average number of service requests per second with the number 1 virtual machine is relatively high, and this is greatly reduced by increasing the number of virtual machines. As shown in Fig. 6, the performance of the proposed method is slightly worse than the ReMM with the number of 1 virtual machine, but with increasing number of virtual machines and processors, more requests are answered. On the other hand, the proposed method acts better in achieving lower response time comparing to method in article [36]. When executing EDF-DVFS algorithm, some changes will occur which reduce costs of using resources which will lead to reduction of energy consumption in data centers of cloud, these changes are shown in Fig. 6.

Number of responses to the sent requests in one second with different number of processors and different virtual machines.

Lowering costs related to energy consumption in cloud computing.
As it can be seen from Fig. 6, by parallelizing execution of tasks in hosts and partitioning virtual machines for executing requests, the costs of processing by virtual machines will be decreased about 500 iterations and in final iterations this value will gain a consistency. In the Table 6, time of responding to requests of clients in proposed method and other methods are compared.
Time of responding to requests of clients in proposed method in comparison with other methods
According to Table 6, Fig. 7 gets drawn according to maximum, minimum and average value of Response time. In Fig. 7, maximum, minimum and average value of response time in proposed method is compared with DVFS, EEVS, EEVS-N, MBFD and Homogeneous. In the Fig. 7, the results of proposed method are compared with other methods based on response times.
Generally, the response time of the proposed method has 2.74 times improvement comparing to DVFS method, 4.49 times improvement comparing to EEVS method, 4.19 times improvement comparing to EEVS-N method, 4.11 times improvement comparing to MBFD method and finally 4.49 times improvement comparing to Homogeneous method. The costs for communicating and transmitting requests in the proposed method are compared with other methods in the Fig. 8.

Comparing maximum, minimum and average response time in proposed method with other methods.

Comparative diagram for costs of communication and transferring operations for comparing proposed method with other methods.
Generally, the costs of communication in the proposed method are 0.88 times better than EEVS method, 3.8 times better than EEVS-N method, 1.1 times better than MBFD method and finally 1.08 times better than Homogeneous method. Another criterion which we have analyzed in this research in order to optimize and reduce consumption of energy is the migration of tasks between different virtual machines. This criterion plays an important role in scheduling and load balancing and therefore in optimized allocation of resources in cloud computing. As the number of migrating tasks- during scheduling and resource allocation- gets lower it means that load balance has been maintained between virtual machines and a smaller number of tasks will be lost. As the number of migrating tasks gets higher, the execution time and response time will get higher consequently. In Table 7, number of migrated tasks between virtual machines when we have 10 to 500 tasks and 5 to 40 virtual machines in proposed method is compared with number of migrated tasks in other methods with same circumstances.
Comparing migration of tasks in cloud computing with 10 to 500 tasks and 5 to 40 virtual machines in proposed method with other methods
As it can be seen in the obtained results, migration of tasks from one virtual machine to the other virtual machines in the proposed method is lower by considering the number of different iterations. As the number of virtual machines goes up, the number of required migrations goes down, but on the other hand the costs of system gets highly increased by increasing the number of virtual machines immethodically. The reduction of task migrations in virtual machines in the proposed method which will lead to protection of load balance in cloud computing is shown in Fig. 9.

Reducing task migration using the dragonfly algorithm and keeping the load balance between virtual machines at the same time.
As it can be seen in Fig. 9, number of tasks which get migrated goes down to zero after protecting the load balance between virtual machines. In the early iterations the number of migrated tasks is fairly high but this number gradually goes down to zero. This has made a huge reduction in consumption of energy in data centers.
Resource management in cloud computing and optimizing energy consumption of data centers are the most important challenges which today are considered by different researchers and scientists. Presenting simple and optimal solution for improving the process of executing requests is also very important. Therefore, we used a combination of different algorithms in sensitive and important parts of cloud computing in order to be able to optimize the scheduling of the execution of the tasks in addition to resource management and also to improve the speed and costs of processing the requests of users by scheduling the tasks and a parallelization solution in the hosts. So generally, in this research, the decision making logic has been used to select the suitable data center based on distance from source and the bandwidth. Improved version of DVFS technique has been used for selecting the most suitable host according to virtual machines under cover. And finally all the requests of users get categorized using developed version of EDF-VD algorithm, and all the virtual machines gets segregated into partitions, and all the tasks gets distributed between different virtual machines while keeping the load balance. At last all the partitions which contain virtual machines will start processing requests in parallel. After simulation of the proposed method, we observed that proposed method in this research has a huge improvements comparing to other methods that have been used until. As future developments over these achievements, we can use evolutionary algorithms for task scheduling and we can use the Bounding techniques for keeping the load balance.
