Implementing a Load-balanced Web Server System. Architecture of A Cluster-based Web System Courtesy: IBM Research Report, The state of the art in the.

Slides:



Advertisements
Similar presentations
Welcome to Middleware Joseph Amrithraj
Advertisements

Scheduling in Web Server Clusters CS 260 LECTURE 3 From: IBM Technical Report.
QoS Aware Scheduling in a Cluster-Based Web Server Jiani Guo Architecture Lab Department of Computer Science and Engineering University of California,
Network Certification Preparation. Module - 1 Communication methods OSI reference model and layered communication TCP/IP model TCP and UDP IP addressing.
Multimedia Systems As Presented by: Craig Tomastik.
Scalable Content-aware Request Distribution in Cluster-based Network Servers Jianbin Wei 10/4/2001.
1 Routing and Scheduling in Web Server Clusters. 2 Reference The State of the Art in Locally Distributed Web-server Systems Valeria Cardellini, Emiliano.
Introduction to Content-aware Switch Presented by Li Zhao.
Module 8: Concepts of a Network Load Balancing Cluster
Page: 1 Director 1.0 TECHNION Department of Computer Science The Computer Communication Lab (236340) Summer 2002 Submitted by: David Schwartz Idan Zak.
1 Improving Web Servers performance Objectives:  Scalable Web server System  Locally distributed architectures  Cluster-based Web systems  Distributed.
TCP Splicing for URL-aware Redirection
Fair Scheduling in Web Servers CS 213 Lecture 17 L.N. Bhuyan.
Protocols and Quality of Service CP4022 – Lecture 4.
Chris Shuster 4/29/2009 1Chris Shuster.  Application Servers ◦ Backend processing platform. ◦ Multiple platforms, operating system and architecture.
An Introduction to Internetworking. Why distributed systems - Share resources (devices & CPU) - Communicate people (by transmitting data)
Design and Implementation of a Server Director Project for the LCCN Lab at the Technion.
Internet Real Time (IRT) Lab at Columbia University Professor: Henning Schulzrinne Columbia University Presenter: Suman Srinivasan, PhD student
VSP Video Station Protocol Presented by : Mittelman Dana Ben-Hamo Revital Ariel Tal Instructor : Sela Guy Presented by : Mittelman Dana Ben-Hamo Revital.
1 The World Wide Web. 2  Web Fundamentals  Pages are defined by the Hypertext Markup Language (HTML) and contain text, graphics, audio, video and software.
1 © Talend 2014 Service Locator Talend ESB Training 2014 Jan Bernhardt Zsolt Beothy-Elo
Packet and Circuit Switching
By : Kaveri Bhaumik IIT Kanpur
1 Proceeding the Second Exercises on Computer and Systems Engineering Professor OKAMURA Laboratory. Othman Othman M.M.
1 Network Statistic and Monitoring System Wayne State University Division of Computing and Information Technology Information Technology.
Network Address Translation (NAT) CS-480b Dick Steflik.
Research on cloud computing application in the peer-to-peer based video-on-demand systems Speaker : 吳靖緯 MA0G rd International Workshop.
Design Windows Media Services Infrastructure. Module 7: Design Windows Media Services Infrastructure Design Windows Media Services for live streaming.
NETWORK CENTRIC COMPUTING (With included EMBEDDED SYSTEMS)
27/11/2003 Video on Demand /3B Group 10 Au Chok Wai (1) Chan Chi Cheong (2) Lam Shing Chi (13) Wong Lai Ting (33) Wong Mei King (34)
Cognos TM1 Satya Mobile:
Copyright © 2002 Pearson Education, Inc. Slide 3-1 CHAPTER 3 Created by, David Zolzer, Northwestern State University—Louisiana The Internet and World Wide.
Submitted by: Shailendra Kumar Sharma 06EYTCS049.
COT 4600 Operating Systems Fall 2009 Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 3:00-4:00 PM.
Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 17 This presentation © 2004, MacAvon Media Productions Multimedia and Networks.
Outline Overview Video Format Conversion Connection with An authentication Streaming media Transferring media.
How computer’s are linked together.
Scalable Web Server on Heterogeneous Cluster CHEN Ge.

Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Multimedia Systems.
CH1. Hardware: CPU: Ex: compute server (executes processor-intensive applications for clients), Other servers, such as file servers, do some computation.
1 Welcome to CSC 301 Web Programming Charles Frank.
Internet Real-Time Laboratory Arezu Moghadam and Suman Srinivasan Columbia University in the city of New York 7DS System Design 7DS system is an architecture.
Lab Assignment 15/ INF5060: Multimedia data communication using network processors.
The InetAddress Class A class for storing and managing internet addresses (both as IP numbers and as names). The are no constructors but “class factory”
Introduction to Internet. Chapter 1 Objectives Origins of the Internet Packets and Routers TCP/IP DNS HTTP URL Client-Server.
 Load balancing is the process of distributing a workload evenly throughout a group or cluster of computers to maximize throughput.  This means that.
11 CLUSTERING AND AVAILABILITY Chapter 11. Chapter 11: CLUSTERING AND AVAILABILITY2 OVERVIEW  Describe the clustering capabilities of Microsoft Windows.
July 12th 1999Kits Workshop 1 Active Networking at Washington University Dan Decasper.
Presented by : BEN AMOR Adel MAKNI Mahmoud Ramzi
27/11/2004 Video on Demand /3B Group 10 Au Chok Wai (1) Chan Chi Cheong (2) Lam Shing Chi (13) Wong Lai Ting (33) Wong Mei King (34)
Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 17 This presentation © 2004, MacAvon Media Productions Multimedia and Networks.
Web Server.
Web Services. 2 Internet Collection of physically interconnected computers. Messages decomposed into packets. Packets transmitted from source to destination.
Multiplexing Team Members: Cesar Chavez Arne Solas Steven Fong Vi Duong David Nguyen.
Tutorial 11 Solutions. Question 1 Q1. What is meant by interactivity for streaming stored audio/video? What is meant by interactivity for real-time interactive.
Introduction to Content-aware Switch Presented by Li Zhao.
/ Fast Web Content Delivery An Introduction to Related Techniques by Paper Survey B Li, Chien-chang R Sung, Chih-kuei.
Lect5.ppt - 02/23/06 CIS 4100 Systems Performance and Evaluation Lecture 6 by Zornitza Genova Prodanoff.
The Internet Technological Background. Topic Objectives At the end of this topic, you should be able to do the following: Able to define the Internet.
Week-5 (Lecture-1) Streaming media: Audio video content over internet Played immediately No wait for download file Use the data packet Advantages: Video.
Internet Socket Programing
Understanding and Improving Server Performance
Understanding Solutions
Chapter 3 Internet Applications and Network Programming
Network Load Balancing
Module 8: Concepts of a Network Load Balancing Cluster
Application layer Lecture 7.
Internet Protocols IP: Internet Protocol
Performance and Scalability Issues of Multimedia Digital Library
Presentation transcript:

Implementing a Load-balanced Web Server System

Architecture of A Cluster-based Web System Courtesy: IBM Research Report, The state of the art in the locally distributed Web Server systems.

Architecture of Our Web Server Cluster Web Server 1 File Service Database Service Web Server 2 File Service Video-On-Demand Load Distributor (grid1.cs.ucr.edu) http requests

Our Web Server Cluster The whole web server only provides one visible web address to the outside world. Each Web Server is able to provide two kinds of web services. The load distributor distributes the incoming requests among the servers according to either content-aware or content-unaware load balancing strategies.

Tasks to do to set up the system Building up the web services on the servers File Services Video-on-demand Services Database Services Implementing the load distributor on the frond-end node Content aware request distribution Content unaware request distribution

Building Up the Web Services File service Built on top of Apache server. File set is generated by SPECWEB99. Video-On-Demand Real MPEG2 movies are stored in a specific directory on the Apache server. Client video streaming software (VideoLan) is installed and automatically launched by the Apache server. Database service Built on top of Apache and MySQL.

Video On Demand Service VideoLAN project (Open Source Media Streaming Solution) Targeting multimedia streaming of MPEG-1, MPEG-2, MPEG-4 and DivX files, DVDs, digital satellite channels, digital terrestial television channels and live videos on a high-bandwidth IPv4 or IPv6 network in unicast or multicast. Client-server Architecture Server streams MPEG-1, MPEG-2 and MPEG-4 / DivX files, DVDs and live videos on the network in unicast or multicast. Client receives, decodes and displays MPEG stream.

VideoLan System

Building Up Video-On-Demand Service in Our Web Server VideoLan client-server software is installed Server can stream movies to the client in realtime through UDP/RTP or HTTP/TCP For video-on-demand service using HTTP/TCP, only the client is needed. The client software (vlc) is automatically launched once the Apache server detects that it is a video file.

Load Balancing Schemes Content Unaware Scheme Choose a server before receiving the URL request Round Robin Content Aware Schemes Choose a server to dispatch a request after receiving and looking at the URL request Balance load according to different URL request  For database service — Database Server  For video-on-demand service — Multimedia Server  For file service — Round Robin

Implementing the Load Distributor Install the TCPSP The tcp splicing is a technique to splice two connections inside the kernel, so that data relaying between the two connections can be run at near router speeds. Write the Distributor program in C language Two load balancing strategies are implemented The installed kernel module TCPSP is invoked to perform TCP splicing Run the distributor program in the application level

Flow Chart of the Load Distributor (content aware) Establish a TCP connection with the chosen server Splice two TCP connections End Write the URL request to the second TCP connection Monitor the two TCP connections and close them when no more activities are going on DistributorChild Process Listen for incoming connections on port 8888 Accept the connection Choose a server according to the request type and load balancing scheme Create a child process to do further processing Read the URL request

Flow Chart of the Load Distributor (content unaware) Establish a TCP connection with the chosen server Listen for incoming connections on port 8888 Accept the connection Choose a server according to the load balancing scheme Create a child process to do further processing End Splice two TCP connections Read the URL request Write the URL request to the second TCP connection Monitor the two TCP connections and close them when no more activities are going on DistributorChild Process

Comparison with Gage Gage : A QoS Aware Web Server System “Performance Guarantees for Cluster-Based Internet Services”, Chang Li, State University of New York at Stony Brook. The load distributor is implemented as a kernel module. It is faster but can only implement content-unaware load balancing. Gage doesn’t provide a variety of web services.

Planned Performance Measurement Let all servers provide file service, use SPECWEB99 to test the performance of the cluster-based file server. Compare the time taken to service a Database request through the load distributor with that without the load distributor.

SPECWEB99

Let’s go to the lab to see DEMO!