SERVER LOAD BALANCER
SHILPI TANDON
9911103551
CONTENTS
•About server load balancing
•Objective
•Why not reational database?
•Introduction
•System design
•Implementation
•Testing
•References
What is server Load Balancing?
• Server Load balancing is a technique to distribute loads among
clients.
• In sever load technique we control requests of various clients
among various servers.
• There is a control server which will distribute the load.
Objective
 To develop a Server Load Balancer for structured data, that will
manage lager amount data.
 To provide functionality : upload , download and delete operation
data .
 To provide reliability ,scalability, high performance.
 Reliability is achieved by replication, scalability is achieved by data sharing and high
performance is achieved as client directly contact with slave server in spite of master server.
Why not Relational database?
 Lots of data are producing recently, so its practically impossible
to store all data at one location
 Problem with RDBMS is the horizontal distribution of load and
data.
 Due to this horizontal distribution there exits various relation
between data that is not easily achievable.
 To store an application entities in a persistent and consistent way
then an RDBMS is overkill.
Introduction
 Server load Balancing System is used for managing structured
data.
 Designed to scale to a very large size: data across many
commodity servers.
 Can work in case of hardware failure of slave server nodes.
 It has three main part
1) Master server
2) Slave server
3) Client API
Master’s server Task
 Synchronization between slave server.
 Sending location of data to machine running client API.
 Assigning Unique key to each data.
 Failure detection.
 Master is responsible for load balancing and fault tolerance.
Slave server
 Slave servers store data with its unique key.
 Slave server sends its status continuously to master server.
 Salve server is responsible for uploading ,downloading and deletion of data.
Machine running client API
 Client API calculate manage all activity that user or upper layer demand.
 It accept a unique key and data that is to be stored.
 It act as client for master and slave server.
 It contact with master server for the location where it can store data.
 On receiving location it store data to that location .
Data that this system can Handle?
 It can handle any kind of data, the system is only concerned about
data and key.
 Based on layered architecture .
 Upper layer are responsible for giving this layer data into structured
form.
 This system has main functionality of providing scalability and
reliability.
System Design
Implementation
MASTER
SERVER
SLAVE
SERVER
SLAVE
SERV ER
CLIENT STEP 1
MASTER
SERVER
RUNNING ,
WAITING
FOR SLAVE
SERVER AND
CLIENT
STEP 2
SLAVE SERVER
RUNNING , WAITING
FOR CLIENT AND
SENDING DETAILS
TO MASTER
STEP 3
CLIENT RUNIING
STEP 6
CLIENT
CONTACT
WITH SLAVE
SERVER AND
STORE DATA
AT SPECIFIC
KEY.
Slave server Insert Handling
UPLOADING
 Client will request for space from master server by sending
size and name of image/folder.
 Master server create key.
 Master Server Stores: size of data, location(IP address),key,
size of image.
 It will send a packet containing IP-address and key to client.
 Client will contact will slave server on basses of IP address
and get stored with given key.
Reading
 Client will enter name of image /folder .
 Master server by looking in its METADATA get IP-address, PORT
NUMBER and key corresponding to given name of image/folder.
 Client will now directly contact from given IP-address and get key element.
Creation of Database
 For database we are using simple file structure of C file.
 Particular directory is created for each user.
Testing
Has three main phases as :-
1) Generation of large amount of data
Our system is independent of data , so for testing we are using text, image, video
and audio for testing.
2) For offline testing we are going to reduce size of each slave server to 10 GB.
3)Hardware constraints
4 Laptop with at least 10GB free space.
Dual core processor (2 GHZ).
LAN wire having minimum 100mbps speed.
Linux operating system.
4)All machine are running on same hosting facility that make round trip time very less.
5) Sequential write is used.
Reference’s
 Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A.
WallachMike Burrows, Tushar Chandra, Andrew Fikes, Robert E. Gruber
Bigtable: A Distributed Storage System for Structured Data ,2006
 Ankur Khetrapal, Vinay Ganesh (Dept. of Computer Science, Purdue
University)
HBase and Hypertable for large scale distributed storage
 Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung
The Google File System, 2003
 White paper of HyperTable,2102
THANK YOU
SHILPI TANDON
9911103551
F5-CSE

Server load balancer ppt

  • 1.
    SERVER LOAD BALANCER SHILPITANDON 9911103551
  • 2.
    CONTENTS •About server loadbalancing •Objective •Why not reational database? •Introduction •System design •Implementation •Testing •References
  • 3.
    What is serverLoad Balancing? • Server Load balancing is a technique to distribute loads among clients. • In sever load technique we control requests of various clients among various servers. • There is a control server which will distribute the load.
  • 4.
    Objective  To developa Server Load Balancer for structured data, that will manage lager amount data.  To provide functionality : upload , download and delete operation data .  To provide reliability ,scalability, high performance.  Reliability is achieved by replication, scalability is achieved by data sharing and high performance is achieved as client directly contact with slave server in spite of master server.
  • 5.
    Why not Relationaldatabase?  Lots of data are producing recently, so its practically impossible to store all data at one location  Problem with RDBMS is the horizontal distribution of load and data.  Due to this horizontal distribution there exits various relation between data that is not easily achievable.  To store an application entities in a persistent and consistent way then an RDBMS is overkill.
  • 6.
    Introduction  Server loadBalancing System is used for managing structured data.  Designed to scale to a very large size: data across many commodity servers.  Can work in case of hardware failure of slave server nodes.  It has three main part 1) Master server 2) Slave server 3) Client API
  • 7.
    Master’s server Task Synchronization between slave server.  Sending location of data to machine running client API.  Assigning Unique key to each data.  Failure detection.  Master is responsible for load balancing and fault tolerance. Slave server  Slave servers store data with its unique key.  Slave server sends its status continuously to master server.  Salve server is responsible for uploading ,downloading and deletion of data.
  • 8.
    Machine running clientAPI  Client API calculate manage all activity that user or upper layer demand.  It accept a unique key and data that is to be stored.  It act as client for master and slave server.  It contact with master server for the location where it can store data.  On receiving location it store data to that location .
  • 9.
    Data that thissystem can Handle?  It can handle any kind of data, the system is only concerned about data and key.  Based on layered architecture .  Upper layer are responsible for giving this layer data into structured form.  This system has main functionality of providing scalability and reliability.
  • 10.
  • 11.
    Implementation MASTER SERVER SLAVE SERVER SLAVE SERV ER CLIENT STEP1 MASTER SERVER RUNNING , WAITING FOR SLAVE SERVER AND CLIENT STEP 2 SLAVE SERVER RUNNING , WAITING FOR CLIENT AND SENDING DETAILS TO MASTER STEP 3 CLIENT RUNIING STEP 6 CLIENT CONTACT WITH SLAVE SERVER AND STORE DATA AT SPECIFIC KEY.
  • 12.
    Slave server InsertHandling UPLOADING  Client will request for space from master server by sending size and name of image/folder.  Master server create key.  Master Server Stores: size of data, location(IP address),key, size of image.  It will send a packet containing IP-address and key to client.  Client will contact will slave server on basses of IP address and get stored with given key.
  • 13.
    Reading  Client willenter name of image /folder .  Master server by looking in its METADATA get IP-address, PORT NUMBER and key corresponding to given name of image/folder.  Client will now directly contact from given IP-address and get key element. Creation of Database  For database we are using simple file structure of C file.  Particular directory is created for each user.
  • 14.
    Testing Has three mainphases as :- 1) Generation of large amount of data Our system is independent of data , so for testing we are using text, image, video and audio for testing. 2) For offline testing we are going to reduce size of each slave server to 10 GB. 3)Hardware constraints 4 Laptop with at least 10GB free space. Dual core processor (2 GHZ). LAN wire having minimum 100mbps speed. Linux operating system. 4)All machine are running on same hosting facility that make round trip time very less. 5) Sequential write is used.
  • 15.
    Reference’s  Fay Chang,Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. WallachMike Burrows, Tushar Chandra, Andrew Fikes, Robert E. Gruber Bigtable: A Distributed Storage System for Structured Data ,2006  Ankur Khetrapal, Vinay Ganesh (Dept. of Computer Science, Purdue University) HBase and Hypertable for large scale distributed storage  Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung The Google File System, 2003  White paper of HyperTable,2102
  • 16.