This document discusses client-side load balancing in a cloud computing environment. It describes how a client-side load balancer can distribute requests across backend web servers in a scalable way without requiring control of the infrastructure. The proposed architecture uses static anchor pages hosted on Amazon S3 that contain JavaScript code to select a web server based on its reported load. The JavaScript then proxies the request to that server and updates the page content. This approach achieves high scalability and adaptiveness without hardware load balancers or layer 2 optimizations.
Cloud computing is a pay-per-use model enabling convenient, on-demand network access to shared pool of configurable computing resources (e.g., networks, services, storage, applications and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
Cloud computing is a pay-per-use model enabling convenient, on-demand network access to shared pool of configurable computing resources (e.g., networks, services, storage, applications and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
This is a small and simple Presentation on the topic Mobile Cloud Computing Made for a Symposium. The content inside the slides are taken from Google and various research papers, this slide is purely for educational purpose and not meant for commercial publication.
Cloud computing & energy efficiency using cloud to decrease the energy use in...Puru Agrawal
Cloud can be used to decrease the energy use in large companies. This presentation deals with a model which explains as how cloud can be used to decrease the energy uses. This is a field related to green computing and minimum use of energy resources.
Cloud deployment models: public, private, hybrid, community – Categories of cloud computing: Everything as a service: Infrastructure, platform, software - Pros and Cons of cloud computing – Implementation levels of virtualization – virtualization structure – virtualization of CPU, Memory and I/O devices – virtual clusters and Resource Management – Virtualization for data center automation.
This is the firs presentation I created for training IBM EBIS community on cloud computing and apporach to cloud sales and projects. All the materials come from IBM internal documentation and precedent classes slide.
This is a small and simple Presentation on the topic Mobile Cloud Computing Made for a Symposium. The content inside the slides are taken from Google and various research papers, this slide is purely for educational purpose and not meant for commercial publication.
Cloud computing & energy efficiency using cloud to decrease the energy use in...Puru Agrawal
Cloud can be used to decrease the energy use in large companies. This presentation deals with a model which explains as how cloud can be used to decrease the energy uses. This is a field related to green computing and minimum use of energy resources.
Cloud deployment models: public, private, hybrid, community – Categories of cloud computing: Everything as a service: Infrastructure, platform, software - Pros and Cons of cloud computing – Implementation levels of virtualization – virtualization structure – virtualization of CPU, Memory and I/O devices – virtual clusters and Resource Management – Virtualization for data center automation.
This is the firs presentation I created for training IBM EBIS community on cloud computing and apporach to cloud sales and projects. All the materials come from IBM internal documentation and precedent classes slide.
Dynamic Resource Allocation Using Virtual Machines for Cloud Computing Enviro...SaikiranReddy Sama
In Dynamic Resource Allocation, WE PRESENT A SYSTEM THAT USES VIRTUALIZATION TECHNOLOGY TO ALLOCATE DATA CENTER RESOURCES DYNAMICALLY.
WE INTRODUCE THE CONCEPT OF “SKEWNESS”.
And BY MINIMIZING SKEWNESS, WE CAN COMBINE DIFFERENT TYPES OF WORKLOADS NICELY AND IMPROVE THE OVERALL UTILIZATION OF SERVER RESOURCES.
WE DEVELOP A SET OF HEURISTICS THAT PREVENT OVERLOAD IN THE SYSTEM EFFECTIVELY WHILE SAVING ENERGY USED.
Dynamic resource Allocation using Virtual Machines For Cloud Computing
E VALUATION OF T WO - L EVEL G LOBAL L OAD B ALANCING F RAMEWORK IN C L...ijcsit
With technological advancements and c
onstant changes of Internet, cloud computing has been today's
trend. With the lower cost and convenience of cloud computing services, users have increasingly put
their
Web resources and information in the cloud environment. The availability and reliability
of the client
systems will become increasingly important. Today cloud applications slightest interruption, the imp
act
will be significant for users. It is an important issue that how to ensure reliability and stability
of the cloud
sites. Load balancing w
ould be one good solution.
This paper presents a framework for global server load balancing of the Web sites in a cloud with tw
o
-
level
load balancing model. The proposed framework is intended for adapting an open
-
source load
-
balancing
system and the frame
work allows the network service provider to deploy a load balancer in different data
centers dynamically while the customers need more load balancers for increasing the availability
Dynamic Cloud Partitioning and Load Balancing in Cloud Shyam Hajare
Cloud computing is the emerging and transformational paradigm in the field of information technology. It mostly focuses in providing various services on demand and resource allocation and secure data storage are some of them. To store huge amount of data and accessing data from such metadata is new challenge. Distributing and balancing of the load over a cloud using cloud partitioning can ease the situation. Implementing load balancing by considering static as well as dynamic parameters can improve the performance cloud service provider and can improve the user satisfaction. Implementation the model can provide dynamic way of resource selection de-pending upon different situation of cloud environment at the time of accessing cloud provisions based on cloud partitioning. This model can provide effective load balancing algorithm over the cloud environment, better refresh time methods and better load status evaluation methods.
4. ABSTRACT
• The concept of Cloud computing
has significantly changed the
field of parallel and distributed
computing systems today.
• Cloud computing enables a wide
range of users to access
distributed, scalable, virtualized
hardware and/or software
infrastructure over the Internet.
4
5. ABSTRACT
• Load balancing is a methodology
to distribute workload across
multiple computers, or other
resources over the network links
to achieve optimal resource
utilization, maximize
throughput, minimum response
time, and avoid overload.
5
6. ABSTRACT
• With recent beginning of technology, resource control or load
balancing in cloud computing is main challenging issue.
• Efficient load balancing scheme ensures efficient resource
utilization by provisioning of resources to cloud user’s on-demand
basis in pay-as-you-say-manner.
• Load balancing in the cloud computing environment has an
important impact on the performance.
• Good load balancing makes cloud computing more efficient and
improves user satisfaction.
6
7. MOTIVATION
• PROBLEM
I. Cloud Computing is a new trend emerging in
IT environment with huge requirements of
infrastructure and resources.
II. Availability of cloud systems is one of the
main concerns of cloud computing. The
term, availability of clouds, is mainly
evaluated by type of information comparing
with resource scaling.
III. Work load control is crucial to improve
system performance and maintain stability.
PROBLEM
SOLUTION
RESULT
7
8. MOTIVATION
• SOLUTION
I. Load balancing in cloud computing provides
an efficient solution to various issues residing
in cloud computing environment set-up and
usage.
II. Load balancing must take into account two
major tasks, one is the resource provisioning
or resource allocation and other is task
scheduling in distributed environment.
PROBLEM
SOLUTION
RESULT
8
9. MOTIVATION
• RESULT
Efficient provisioning of resources and scheduling of
resources as well as tasks will ensure:
I. Resources are easily available on demand.
II. Resources are efficiently utilized under
condition of high/low load.
III. Energy is saved in case of low load (i.e. when
usage of cloud resources is below certain
threshold).
IV. Cost of using resources is reduced.
PROBLEM
SOLUTION
RESULT
9
10. CLOUD COMPUTING
• A Cloud computing is emerging as
a new paradigm of large scale
distributed computing.
• It has moved computing and data
away from desktop and portable
PCs, into large data centres.
10
11. CLOUD COMPUTING
• Cloud Computing is made up
by aggregating two terms in
the field of technology.
• First term is Cloud and the
second term is computing.
11
12. CLOUD COMPUTING
• What is Cloud?
• Cloud is a pool of heterogeneous
resources.
• It is a mesh of huge infrastructure
and has no relevance with its name
“Cloud”.
• Infrastructure refers to both the
applications delivered to end users
as services over the Internet and the
hardware and system software in
data centres that is responsible for
providing those services.
12
14. CLOUD COMPUTING
SAAS
• E-Mail
• ERP
• CRM
• Collaborative
PAAS
• Application
Development
• Web
• Decision Support
• Streaming
IAAS
• Caching
• File
• System
Management
• Networking
• Security
14
15. TYPES OF CLOUD COMPUTING
• PRIVATECLOUD
• For people who are the type to keep
everything within arms’ reach and
on a leash -- dogs, children, keys,
you name it.
• Afraid of releasing your data to
public cloud?
• Need to constantly monitor it?
• These chained-in, restrained cloud
environments are protected behind
a firewall
15
16. TYPES OF CLOUD COMPUTING
• PUBLIC CLOUD
• If private clouds are like pets
on leashes, public clouds are
wild animals roaming free.
• Public clouds owners are those
who are willing to trust data to
off-premises cloud providers.
• They gain the benefits of that
pay-as-you-go services so you
only pay for what you use
16
17. LOAD BALANCING
• Load balancing is a relatively new technique that facilitates networks
and resources by providing a maximum throughput with minimum
response time.
• Dividing the traffic between servers, data can be sent and received
without major delay.
• Different kinds of algorithms are available that helps traffic loaded
between available servers.
• Without load balancing, users could experience delays, timeouts and
possible long system responses.
17
19. LOAD BALANCING ALGORITHMS
STATIC ALGORITHMS DYNAMIC ALGORITHMS
• Cloud provider installs
heterogeneous resources.
• resources are flexible in dynamic
environment.
• Cloud cannot rely on the prior
knowledge whereas it takes into
account run-time statistics.
• Cloud provider installs
homogeneous resources.
• Resources in the cloud are not
flexible
• Cloud requires prior knowledge of
nodes capacity, processing power ,
memory, performance and statistics
of user requirements.
19
20. Start
Request a connection
to a resource
Stop
Chose the next
available resource
Retrieve highest
priority conn. string
Return resource to
requestor
Collect usage
patterns
Data
resource available
More
available resource
YES
YES
NO
NO
20
22. CLIENT SIDE LOAD BALANCER
• Load balancer forwards packets to web servers according to
different workloads on servers.
• However, it is hard to implement a scalable load balancer because
of both the “cloud’s commodity business model and the limited
infrastructure control allowed by cloud providers.”
• Client-side Load Balancer (CLB) solve this problem by using a
scalable cloud storage service.
• CLB allows clients to choose back-end web servers for dynamic
content although it delivers static content.
22
23. EXISTING SOLUTIONS
• Hardware based load balancer- to handle high level of
load
• Software based load balancer- for generic servers
Load Balancer
• Local DNS Server
• Can hand out diff. IP address to diff. DNS Servers
DNS Load
Balancing
• One can fully control infrastructure
• Do not impose: Single Performance bottleneck,
expensive Hardware, Lack of adaptiveness
Layer 2
Optimization
23
24. EXISTING SOLUTIONS : DRAWBACKS
• Hardware based load balancer- Expensive
• Software based load balancer-Not ScalableLoad Balancer
• Local DNS Server
• lack of Adaptiveness and Granularity
DNS Load
Balancing
• One can fully control infrastructure
• this ability could open doors for security exploits.
Layer 2
Optimization
24
25. PROPOSED SYSTEM
• architecture has no single point of scalability bottleneck
• communication flows between the browser and the
chosen back-end web server.
Compared to Software
Load Balancer
• architecture has a finer load balancing granularity and
adaptiveness.
• client's browser makes the decision.
Compared to DNS Load
Balancing
• It achieve high scalability without requiring sophisticated
control on the infrastructure as layer 2 optimization does
Compared to Layer 2
Optimization
25
27. EXPLANATION
For each dynamic page, we create an anchor
static page. This anchor page includes two
parts.
• The first part contains the list of web servers'
IP addresses and their individual load (such
as CPU, memory, network bandwidth, etc.)
information. They are stored in a set of
JavaScript variables that can be accessed
directly from other JavaScript code.
• The second part contains the client-side load
balancing logic, again written in JavaScript.
Static
Page
Web
Server
Load
File
LB
JavaScript
27
29. AMAZON - S3 (SIMPLE STORAGE SERVICE)
• S3's domain hosting capability is used, which maps a domain (by
DNS aliasing) to S3. We create a bucket with the same name as the
domain name (e.g., www.website.com).
• When a user accesses the domain, the request is routed to S3 and
S3 uses the host header to determine the bucket from which to
retrieve the content.
29
30. SAMPLE ANCHOR STATIC PAGE
1. <html>
2. <head><title></title>
3. <script type="text/javascript">
4. <!--
5. // the load balancing logic
6. </script>
7. <script type="text/javascript">
8. // the server list and load
9. // information in JavaScript
10. // variables
11. </script></head>
12. <body onLoad="load();">
13. <span id="ToBeReplaced"> </span>
14. </body></html>
30
31. WORKING
• When a client browser loads an anchor page, the browser executes
the following steps in JavaScript:
1. Examine the load variables to determine to which web server it
should send the actual request. The current algorithm randomly
chooses a web server where the probability of choosing any one is
inversely proportional to its relative load.
31
32. WORKING
2. JavaScript sends a request to a proxy on
the target web server. The JavaScript
sends over two pieces of information
encoded as URL parameters. First, it
sends the browser cookie associated
with the site (document.cookie).
Second, it sends the URL path
(location.pathname).
One Web Server
Proxy
Normal
Web
Contents
32
33. WORKING
3. The proxy uses the cookie and URL path to re-construct a new
HTTP request; and sends the request to the actual web server.
4. The web server processes the request; invokes dynamic script
processor as necessary; and returns the result back to the proxy.
5. The proxy wraps around the result in a JavaScript.
6. The client browser executes the returned JavaScript from the
proxy; updates the page display; and updates the cookies if a set-
cookie header has been returned.
33
34. SAMPLE JAVASCRIPT
• The JavaScript returned from the proxy looks like the following.
1. function page() {
2. return "<HTML page content>";
3. }
4. function set-cookie() {
5. <set cookie if instructed
6. by web server>
7. }
34
35. WORKING
• As described above, the goal of the load balancing logic is to choose
a back-end web server based on the load, send the client request
(cookie along with URL path) to the proxy, receive the returned
JavaScript and update the current HTML page.
35
36. Service specific load balancing
ADVANTAGES
Wide area services
Scalable Services
Client Code Portability
Parallelism
Fault Tolerance
36
37. CONCLUSION
• A cloud is an attractive infrastructure solution for web applications since
it enables web applications to dynamically adjust its infrastructure
capacity on demand.
• A scalable load balancer is a key building block to efficiently distribute a
large volume of requests and fully utilize the horizontally scaling
infrastructure cloud.
• However, as we pointed out, it is not trivial to implement a scalable load
balancer due to both the cloud's commodity business model and the
limited infrastructure control allowed by cloud providers.
• In this study, the Client-side Load Balancing (CLB) architecture uses a
scalable cloud storage service such as Amazon S3.
37
38. CONCLUSION
• Through S3, CLB directly delivers static contents while allowing a client to
choose a corresponding back-end web server for dynamic contents.
• A client makes the load balancing decision based on the list of back-end
web servers and their load information.
• CLB uses JavaScript to implement the load balancing algorithm, which
not only makes the load balancing mechanism transparent to users, but
also gets around browsers' cross-domain security limitation.
• Our evaluation shows that the proposed architecture is scalable while
introducing a small latency overhead.
38
39. REFERENCES
• Amazon Web Services. Amazon Web Services (AWS).
http://aws.amazon.com.
• F5 Networks. F5 Networks. http://www.f5.com.
• Google Inc. Google Search Engine.
• IEEE Paper on ‘Client Side Load Balancer Using Cloud’ by S. Wee &
H. Liu
39