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