AbstractQuick response time in companies is observed when cloud computing is unable to it. The ultimate purpose for introducing cloud computing is to let user use all these available technologies without any deep knowledge for any one of them. Besides that, cost reduction is the major benefit of using cloud computing which ultimately helps users to focus on their profitable attributes instead of being impeded by any IT obstacles.Cloud computing offers the tools and technologies to create data/compute through parallel applications at very low cost as compared to available parallel computing techniques. Cloud computing uses the concepts of scheduling and load balancing to migrate tasks to less utilized machines for efficient sharing the resources.
Practically, the upcoming jobs consist of multiple interdependent tasks and they may execute the independent tasks in multiple machines or in the same VM. The participating resources are managed by allocating the tasks to appropriate resources by static or dynamic scheduling to make the cloud computing more efficient and thus it improves the user satisfaction.IntroductionComputing services are delivered by cloud computing like storage, servers, database, analytics, software and many more on the internet. Company provides services and they are known as cloud providers. Charges for services billed according to usage and electricity.
Online service to send mail, edit documents, watch movie or TV, listen music,play games or store pictures and other files, it’s all possible because of cloud computing.Following things are allowed on cloud computing-To Create apps and services;To Store, backup and recover data; Host websites and blogs; Stream audio and video; Deliver software on demand; Analyse data for patterns and make predictions. Reasons why organisations sifting there interest to cloud computing could be cost-It removes the cost of hardware and software purchases . No cost for setting up and running any software and hardware, so we don’t need rooms of server and more electricity for power and cooling; speed-Most services of cloud computing are on demand services and self services, so huge amount of resources are easily operated on a click of a mouse, gives more flexibility to business intelligence; global space-Cloud computing services also provide scale elastic ability. In Cloud speak, IT resources are delivered at right amount, for example: less or more power , range , storage; producibility-database centre requires lots of racks for servers – for hardware setups, time records and many more time consuming activities, cloud computing removes this time consuming task and provide time efficiency to speed up to achieve more efficient goals to business intelligence.
Cloud computing is a new variation of traditional distributed computing and grid computing. The development of cloud computing is still facing enormous challenges. A major concern is about data security, that is, how to protect data from unauthorized users and leakage. In order to reduce operation costs on clientend and boost the efficiency of collaboration, the cloud undertook the majority of jobs. From the view of users, losing control of the executions of jobs may increase the risk of being hacked especially when the security of entire task highly depend on the trustworthiness of the cloud. As can be seen, for both individual user and large-scale enterprises, it is an important issue to protect key data within cloud pattern. This issue, to some extent, has a great impact on the development of cloud computing.
This paper has designed a secure document service mechanism for the document service based on cloud environment. We highlight that the major threats against the safety of document service and the privacy of user documents focus on two concept: 1)documents would be intercepted and captured during transferring from client-end to the cloud and 2)access control for documents stored in the cloud. Load balancing is a new approach that assists networks and resources by providing a high throughput and least response time 5.At first level: The load balancer assigns the requested instances to physical computers at the time of uploading an application attempting to balance the computational load of multiple applications across physical computers.
At second level: When an application receives multiple incoming requests, each of these requests must be assigned to a specific application instance to balance the computational load across a set of instances of the same application 3.Load balancing is the process of improving the performance of the system by shifting of workload among the processors. Workload of a machine means the total processing time it requires to execute all the tasks assigned to the machine. Balancing the load of virtual machines uniformly means that anyone of the available machine is not idle or partially loaded while others are heavily loaded. Load balancing is one of the important factors to heighten the working performance of the cloud service provider. The benefits of distributing the workload includes increased resource utilization ratio which further leads to enhancing the overall performance thereby achieving maximum client satisfaction 4.In cloud computing, if users are increasing load will also be increased, the increase in the number of users will lead to poor performance in terms of resource usage, if the cloud provider is not configured with any good mechanism for load balancing and also the capacity of cloud servers would not be utilized properly. This will confiscate or seize the performance of heavy loaded node.
If some good load balancing technique is implemented, it will equally divide the load (here term equally defines low load on heavy loaded node and more load on node with less load now) and thereby we can maximize resource utilization. One of the crucial issue of cloud computing is to divide the workload dynamically.Based on the current state of the system they are classified as: 1. Static Load Balancing In the static load balancing algorithm the decision of shifting the load does not depend on the current state of the system. It requires knowledge about the applications and resources of the system. The performance of the virtual machines is determined at the time of job arrival. The master processor assigns the workload to other slave processors according to their performance. The assigned work is thus performed by the slave processors and the result is returned to the master processor.
Static load balancing algorithms are not preemptive and therefore each machine has at least one task assigned for itself. Its aims in minimizing the execution time of the task and limit communication overhead and delays. This algorithm has a drawback that the task is assigned to the processors or machines only after it is created and that task cannot be shifted during its execution to any other machine for balancing the load.The four different types of Static load balancing techniques are Round Robin algorithm, Central Manager algorithm, Threshold algorithm and randomized algorithm.
2. Dynamic Load Balancing In this type of load balancing algorithms the current state of the system is used to make any decision for load balancing, thus the shifting of the load is depend on the current state of the system. It allows for processes to move from an over utilized machine to an underutilized machine dynamically for faster execution. This means that it allows for process preemption which is not supported in Static load balancing approach. An important advantage of this approach is that its decision for balancing the load is based on the current state of the system which helps in improving the overall performance of the system by migrating the load dynamically. Literature ReviewLoad balancing uses a number of algorithms, called load balancing methods, to determine how to distribute the load among the servers. In the region of cloud computing there already exist some excellent algorithms for server load balancing.
Load balancing algorithms are categorized into two forms,one is static load balancing algorithm,the other is dynamic.There are various limitations in static load balancing i.e. in the long run,static weight remains same and the actual load is bound to deviate from the actual load condition,resulting in load imbalance so it can’t handle long connectivity application well.
Most of the dynamic load balancing algorithms varies on the basis of various parameters.Dynamic load balancing algorithms are more accurate regards there task and yields to more efficient load balancing.1)Least Connection.When a load balancer is configured to use the least connection method, it selects the service with the least number of active connections to ensure that the load of the active requests is balanced on the services1.
” NetScaler, available as a network device or as a virtualized appliance, is a web application delivery appliance that accelerates internal and externally-facing web application up to 5x, optimizes application availability through advanced L4-7 traffic management, increases security with an integrated application firewall, and substantially lowers costs by increasing web server efficiency.””.It combines high-speed load balancing and content switching with application acceleration, highly-efficient data compression, static and dynamic content caching, SSL acceleration, network optimization, application performance monitoring, and robust application security. When the next request comes in, however, the load balancer using a “least connections” algorithm will choose the latter member, increasing the burden on that member and likely further degrading performance which could be the drawback of this algorithm.
Secondly, The premise of the least connections algorithm is that the application instance with the fewest number of connections is the least loaded. The only way to know which application instance is the least loaded is to monitor its system variables directly, gathering CPU utilization and memory and comparing it against known maximums. That generally requires either SNMP, agents, or other active monitoring mechanisms that can unduly tax the system in and of itself by virtue of consuming resources.2)Agent based dynamic load balancing in cloud computingIn agent based dynamic load balancing agent consists of two walk on the very first walk it categorize the servers as overloaded and underloaded server on the basis of job assigned to the server.On the second walk agent starts to back track the server bridge to find the underloaded and overloaded server2.If server is overloaded then finds the number of jobs to be transmitted over the under loaded server and transfer it and if server is under loaded then finds number of jobs that server can receive and migrates the jobs from heavily loaded servers. Whereas number of jobs to be transmitted from overloaded server and number of jobs that an under loaded server can receive will calculated2. Agent will perform this operation until it reaches at the firstserver with balancing all servers’ load including first server also.
In this way agent will balance the load without interrupting the system’s work. 3)Round RobinIn this algorithm all the processes are divided between all processors.In this each process is assigned to the processor in a round robin order. The work load distributions between processors are equal. Different processes have not same job processing time.At many point of time some nodes may be heavily loaded and others remain idle In web servers where http requests are of similar nature and distributed equally then RR algorithm is used. In Round Robin Scheduling the time quantum play a important role. When time quantum is very large then RR Scheduling Algorithm is same as the FCFS Scheduling.
and when time quantum is too small then Round Robin Scheduling is known as Processor Sharing Algorithm.The main advantage of this algorithm is that it utilizes all the resources in a balanced order. An equal number of machines are allocated to all the nodes which ensure fairness. In this method it considers current load on each virtual machine.
Because of the non-uniform distribution of workload, this algorithm is not suitable for cloud computing. Some nodes get heavily loaded and some nodes get lightly loaded because the running time of any process is not known in advance.4) Min Min algorithm It starts with a set of all unassigned tasks .In this minimum completion time for all tasks is found. Then after that among these minimum times the minimum value is selected.
Then task with minimum time schedule on machine. After that the execution time for all other tasks is updated on that machine then again the same procedure is followed until all the tasks are assigned on the resources. The main problem of this algorithm is has a starvation.5) Max Min algorithmMax-Min algorithm is almost same as the min-min algorithm. The main difference is following: In this algorithm first finding out minimum execution times, then the maximum value is selected which is the maximum time among all the tasks on any resources. After that maximum time finding, the task is assigned on the particular selected machine. Then the execution time for all tasks is updated on that machine, this is done by adding the execution time of the assigned task to the execution times of other tasks on that machine. Then all assigned task is removed from the list that executed by the system.
Max-min strategy resolves the difficulty of Min-min, by giving Priority to large tasks. The Max-min algorithm selects the task with the Maximum completion time and assigns it to the resource on which achieves minimum execution time. It is clear the Max-min seems better choice whenever the number of small tasks is much more than large ones. The main problem of this algorithm is has a starvation. One of the features of the Max-min strategy is that chooses large tasks to be Executed firstly, which in turn small task delays for long time. 6) Honeybee foraging behaviour It is a nature inspired Algorithm for self-organization. Honeybee achieves global load balancing through local server actions.
The performance of the system is enhanced with increased system diversity. It achieves global load balancing through local serve actions. Performs well as system diversity increases.The main problem is that throughput is not increased with an increase in system size.
When the diverse population of service types is required then this algorithm is best suited. The disadvantage of this algorithm is that, it does not show any significant improvement in throughput, which is due to the additional queue and the computation overhead.7)Active clustering In this algorithm same type nodes of the system are grouped together and they work together in groups. It works like as self-aggregation load balancing technique where a network is rewired to balance the load of the system. Systems optimize using similar job assignments by connecting similar services.
System Performance improved with improved resources. The throughput is improved by using all these resources effectively.The performance of the system is enhanced with high availability of resources, thereby increasing the throughput. This increase in throughput is due to the efficient utilization of resources.Degrades as system diversity increases.
The literature review suggests that the available algorithms has some drawbacks in terms of managing the jobs/requests over the server/machines.SummaryREFERANCES1 Citrix Blog home(2010 sep,02).Retrieved fromhttps://www.citrix.com/blogs/2010/09/02/load-balancing-least-connections/ 2 Agent Based Dynamic Load Balancing in Cloud ComputingJitender Grover1,Shivangi Katiyar2http://www.academia.
edu/26102693/Agent_Based_Dynamic_Load_Balancing_in_Cloud_Computing3 JianzheTai,JueminZhang,JunLi,WaleedMeleis and NingfangMi “A R A: Adaptive Resource Allocation for Cloud Computing Environments under Bursty Workloads” 978-1-4673-0012-4/11 ©2011 IEEE.5.R. Shimonski, Windows 2000 And Windows Server 2003, Clustering and Load Balancing Emeryville, McGrow-Hill Professional Publishing, CA, USA, 2003.4 Ali M Alakeel, “A Guide To Dynamic Load Balancing In Distributed Computer Systems”, International Journal of Computer Science and Network Security, Vol. 10 No. 6, June 2010.