1 Applying Linux High-Availability and Load Balancing Servers for Video-on-Demand (VOD) Systems Chao-Tung Yang 1, Ko-Tzu Wang 1, Kuan-Ching Li 2, and Liang-Teh Lee 3 1 High Performance Computing Laboratory, Dept. of Computer Science and Information Engineering, Tunghai University, Taichung 407, Taiwan ROC 2 Parallel and Distributed Processing Center, Dept. of Computer Science and Information Management, Providence University, Taichung 433, Taiwan ROC 3 Dept. of Computer Science and Engineering, Tatung University, Taipei 104, Taiwan ROC Abstract. In this research paper, we integrate and implement High-Availability (HA) and Load-Balancing technologies to clusters of workstations, increasing both the availability and scalability of services and resources in these systems. The cluster of workstations is commonly built and used as web-based VOD servers. Thus, this paper presents the hardware and software configurations of cluster systems working as VOD servers. Keywords: VOD servers, Cluster Computing Systems, High-Availability, Load Balancing. 1 Introduction Supercomputers are systems that lead the world in processing capacity and power. Many of design tricks that enabled past supercomputers to outperform all other systems are now incorporated into personal computers, making a single modern desktop PC of today more powerful than a 15-year old supercomputer. Because of problems carried out by supercomputers that can easily be split up into smaller parts to be worked on simultaneously, traditional supercomputers can often be replaced by parallel-processing systems clusters of workstations, several individual personal machines programmed and interconnected among themselves to act as one computer. A PC-based cluster is basically a computer system that interconnects two or more individual computers or systems (often called computing nodes ) that cooperate with each other in order to execute applications. Common end-goals for building and running applications on a cluster system includes: an increase in reliability, load distribution and achievement of high-performance. There are two basic types of cluster systems: high-availability cluster systems and load balancing cluster systems. Nowadays, Video-on-Demand (VOD) includes a diverse set of services and opportunities. Today s technology allows telecommunication network operators to offer services This research was supported in part by National Science Council, Taiwan, under grant no. NSC E K. Aizawa, Y. Nakamura, and S. Satoh (Eds.): PCM 2004, LNCS 3332, pp , c Springer-Verlag Berlin Heidelberg 2004
2 456 C.T. Yang et al. such as home shopping, games, and movies on demand. These services should have a competitive price comparing to the video rental, and customers do not need to travel for these services. These possibilities have been reached with the development of the telecommunication and electronic industry. The capacity of a hard disk has doubled almost every year at a nearly-constant cost. The useful compression ratio for video has been increased considerably. MPEG format video can be transported at few megabits per second rate. Video-on-Demand (VOD) is a subscriber video service where customers can interactively select his/her choice from a collection of alternatives. As the underlying technologies are relatively new, VOD still lacks a universal standardization. Nevertheless, many research institutes and commercial organizations have established de-facto standards and consequently, there are many operational VOD-related services available today. In this paper, the technologies of High-Availability and Load Balancing are combined and implemented into a PC-based cluster system, with the goal of increasing both the availability and scalability of services and resources when using this type of computer systems. By combining high-availability and fail-over clustering solutions, it is provided robust performance and virtually non-existent downtime. Combo clusters are the perfect solution for ISPs and network applications in which continuous uptime is critical. Still in this research paper, we show that the VOD system using cluster of workstations proposed in our research achieves high response time and non-disruption of service. 2 Background Increasing critical commercial applications are developed over the Internet, providing highly available services that are increasingly important. One of the most important advantages of a clustered system is that its hardware and software are implemented with redundancy. High availability can be provided by detecting computing node or daemon failures and reconfiguring the system appropriately, so that the workload can be taken over by the remaining computing nodes of the cluster system. In fact, high availability is a quite big field. An elegant highly available system may have a reliable group communication sub-system, membership management, quorum sub-systems, concurrent control sub-system and other modules. There are several researches to be done. Though, in this meantime, we can use some existing software to construct highly available Linux Virtual Server (LVS) systems. Load balancing clusters integrate multiple systems that share the load of incoming requests in an equitably distributed manner [4,5]. The systems do not work together on a single process, but rather handle incoming requests independent one of another. This type of cluster is especially suited to ISPs and e-commerce applications that require real-time resolution of several simultaneous incoming requests. Additionally, to organize a cluster to be scalable, it must ensure that each server is fully utilized. The standard technique for accomplishing this is Load Balancing. The basic idea behind load balancing is, by distributing the load proportionally among all the servers in the cluster system, the servers can each run at full capacity, while all requests receive the lowest possible response time. This is the type of cluster system that distributes incoming traffic or resource requests among multiple computing nodes running the same programs. Every node in the cluster
3 Applying Linux High-Availability and Load Balancing Servers 457 is able to handle requests. If a computing node fails, requests are redistributed among remaining available computing nodes. This type of request distribution is very useful in a web hosting environment. The system architecture of load balancing servers is shown in Figure 1-Left. Fig. 1. Left. System architecture of Load-Balancing servers. Right. System architecture of High- Availability servers. Fail-over clustering technique [1,4,5] allows Network Administrators to improve significantly quality of service levels for practically every TCP/IP based network service, such as WWW, Mail, News, and FTP. Unlike distributed processing clusters, high-availability clusters seamlessly and transparently integrate existing stand-alone, non-cluster aware applications, together into a single virtual network, providing the architectural framework necessary to allow the network to continuously and effortlessly grow, to meet performance and reliability demands. This type of servers is shown in Figure 1-Right. This technology aims at achieving uninterrupted availability of services and resources through the use of redundancy built into the system. The general idea is that, if one computer node in the cluster fails, applications or services that were running on that node, it automatically fail-overs to an available running node. The types of applications that typically use this type of clusters can be listed as mission-critical database, mail, and file and application servers. The file system used in our VOD system is parallel virtual file system (PVFS). The PVFS project has been conducted jointly between The Parallel Architecture Research Laboratory at Clemson University and The Mathematics and Computer Science Division at Argonne National Laboratory [6,7,8,9,10,11]. The PVFS is an effort to provide a parallel file system for PC-based clusters. As a parallel file system, PVFS provides a global name space, striping data across multiple I/O nodes, and multiple user interfaces as shown in Figure 2-Left. The system is implemented at user level, so no kernel modifications are necessary to install or run such system. All communications are performed using TCP/IP, so no additional message passing libraries are needed, and support is included for using existing binaries on PVFS files.
4 458 C.T. Yang et al. 3 The Proposed System Video-On-Demand (VOD) systems are designed by integrating high-availability and load-balancing servers on PC-based clusters has been discussed in [2,3,12,13,14]. In this section, it is described the design of the proposed system, its implementation, and the rationale behind it. Figures 2-Right, 3-Left and 3-Right show the system architecture and hierarchy of a typical VOD system. The main objective of VOD system is to simplify the storage of thousands of hours of multimedia material, integrating high-capacity, high-latency, tertiary storage systems, called archive servers, with low-capacity, rapid-access, secondary storage systems, called video file servers. We have developed a storage policy (i.e., cache policy) to determine which files need to be migrated to the video file server, in order to reduce the expected access time when a user requests material. VOD system establishes a framework where it is possible to implement different cache policies that permits faster answers to the clients based on the media access patterns. Fig. 2. Left. PVFS consists of multiple HDs on PCs. Right. System architecture of a typical VOD system. Fig. 3. Left. Hierarchy of a VOD architecture. Right. VOD system.
5 Applying Linux High-Availability and Load Balancing Servers 459 Fig. 4. System architecture of VideoLAN. If we have several clients trying to access stored media, several video file servers that can play media, one or more archive servers that integrate tertiary storage into the architecture by using PVFS and a database that stores meta-data using MySQL needed to identify stored material and locate desired material. See figure 4 for more details. The second goal of VOD system is to support media assets with different video, audio, image, and text formats, and thus, avoiding the user to deal with multiple formats inherent in multimedia material. Users can add new data types and formats by providing directives that describe how to treat new type or format. For example, a user can have different versions of the same video shot (e.g., AVI, MPEG, and RealVideo formats), but he wants to handle these files as only one object. The VideoLAN  is selected and used in our VOD system as shown in Figure 4. This VideoLAN solution includes: VLS (VideoLAN Server), which can stream MPEG-1, MPEG-2 and MPEG-4 files, DVDs, digital satellite channels, digital terrestrial television channels and live videos on the network in unicast or multicast, VLC (initialy VideoLAN Client), which can be used as a server to stream MPEG-1, MPEG-2 and MPEG-4 files, DVDs and live videos on the network in unicast or multicast; or used as a client to receive, decode and display MPEG streams under multiple operating systems. The following libraries are installed in each client: Libdvdcss: to be able to read encrypted DVDs, Libdvdplay: to have DVD menu navigation, Libdvbpsi: to be able to read from the network, a52dec: to be able to decode the AC3 (i.e. A52) sound format often used in DVDs, ffmpeg, libmad and faad2: to read MPEG-4 / DivX files, libogg and libvorbis: to read Ogg Vorbis files. On the client side, the user can input commands to initiate the screen in order to view the video in Linux OS environment. See Figures 5-Left and 5-Right for screen visualization.
6 460 C.T. Yang et al. Fig. 5. Left. VLC screen view Right. VOD system portal. As a VOD server, you need a running Web server. For example, you can use a Linux server running Apache. Make your MPEG-1, MPEG-2 or MPEG-4/DivX files available to the clients on the Web server. For example, we have a Web server that DNS name is local server. In this server, we put an MPEG file video1.xyz that is available to clients at the URL and use the following command vlc -vvv video1.mpeg --sout udp:user s IP The third objective of the VOD system is to permit easy control (e.g., browsing, addition, modification, and deletion) of material using a well-known desktop interface metaphor as shown in Figures 6-Left and 6-Right. In addition, the system should allow remote users to access the system using the Internet. The goals have been achieved by integrating access to the system into a web-based Graphical User Interface (GUI). Fig. 6. Left. VOD system register function. Right. VOD system monitor and control. Finally, the system provides access control through a remote identification and authentication service. It implements a policy to relate ownership and access control and therefore, enforce access restrictions. In this way, it is possible to create management services such as copyright protection and billing.
7 Applying Linux High-Availability and Load Balancing Servers 461 Fig. 7. Left. Scheduling selection function. Right. VOD system status menu. Our VOD system offers three types of load-balancing cluster solutions as shown in Figures 7-Left and 7-Right. Each utilizes the highest-quality, performance-optimized system of load balancing hardware, software and components. Fewest Connections: This technique routes requests to the server that is currently handling the smallest number of requests/connections. For example, if Server 1 is currently handling 20 requests, and Server 2 is currently handling 10 requests/connections, the next request/connection will be automatically routed to Server 2, since that server currently has the least number of active connections/requests. Round Robin: This technique routes requests to the next available server on a rotating basis. For example, incoming requests/connections are routed to Server 1, then Server 2, and finally Server 3 before starting again with Server 1. Weighted Fair: This technique routes requests to servers based upon their current request load and their performance capabilities. For example, If Server 1 is four times faster at handling requests than Server 2; the administrator factors this difference by routing 4 times as many performance loads to Server 1 than Server 2. The experimental environment is built using the following hardware and software configurations on master and backup nodes: CPU Intel PIII 1GHz * 2 CPUs, 512MB DDR memory, HD 30GB, OS RedHat Linux 8.0 and 9.0, application software LVS (Linux Virtual Server), The IPVS Netfilter module for kernel 2.4, HA (HighAvailability)- HeartBeat, WEB Apache and PHP, also RSYNC, IPVSADM, SUPER and REALCHK. The hardware and software configurations to work as redundancy are listed as: CPU Intel Celeron 900 MHz, 256MB memory, HD 30GB, OS RedHat Linux 8.0 and 9.0, application software LVS (Linux Virtual Server), the IPVS Netfilter module for kernel 2.4, PVFS v1.6.0, pvfs-kernel v1.6.0, VOD vlc i386.rpm and FFmpeg version 0.4.8, WEB Apache, PHP, and also, SUPER and RSYNC. The hardware and software configuration of database node (SQL Server) is: CPU Intel Celeron 900 MHz, 256MB DDR memory, HD 30GB, OS RedHat Linux 9.0, and the application software used is MySQL database.
8 462 C.T. Yang et al. 4 Conclusion High-Availability (HA) and load balancing clusters are used when it is critical the content or service to be available and/or processed as fast as possible. Internet Service Providers or E-commerce web sites services require high availability, load balancing and scalability. In this paper, we integrated the technologies of High-Availability and Load Balancing in clusters of workstations, by combining features of both of the cluster types, increasing both the availability and scalability of services and resources. Nowadays, PC-based clusters with this technology are commonly used for web-based VOD servers. References 1. LVS (Linux Virtual Server), 2. Apache Server, 3. PHP programming, 4. HA (High Availability), 5. Linux HA, 6. The OpenGFS Project, 7. Sistina s Global File System (GFS), gfs.htm 8. GPFS, 9. General Parallel File System for Linux, 10. The Parallel Virtual File System Project, 11. Journal File System Technology for Linux, 12. VideoLan - Open Source Video Streaming Solution, 13. Sourceforge, 14. MySQL database,
Escola Tècnica Superior d Enginyeria Departamento d Arquitectura de Computadors i Sistemas Operatius P2P-VoD on Internet: Fault Tolerance and Control Architecture Thesis submitted by Rodrigo Godoi under
HP StoreOnce Catalyst and HP Data Protector 7 Implementation and Best Practice Guide Release 1 Executive Summary This guide is intended to enable the reader to understand the basic technology of HP StoreOnce
Microsoft Corporation and HP Using Network Attached Storage for Reliable Backup and Recovery Microsoft Corporation Published: March 2010 Abstract Tape-based backup and restore technology has for decades
Plug Into The Cloud with Oracle Database 12c ORACLE WHITE PAPER DECEMBER 2014 Disclaimer The following is intended to outline our general product direction. It is intended for information purposes only,
Introduction to InfiniBand for End Users Industry-Standard Value and Performance for High Performance Computing and the Enterprise Paul Grun InfiniBand Trade Association INTRO TO INFINIBAND FOR END USERS
Linux Virtual Server for Scalable Network Services Wensong Zhang National Laboratory for Parallel & Distributed Processing Changsha, Hunan 410073, China email@example.com, http://www.linuxvirtualserver.org/
UPnP CERTIFIED TECHNOLOGY YOUR SIMPLE SOLUTION FOR HOME, OFFICE AND SMALL BUSINESS INTEROPERABILITY September 2010 INTRODUCTION Not long ago, consumers and small business owners were reasonably satisfied
Microsoft System Center 2012 R2 Why Microsoft? For Virtualizing & Managing SharePoint July 2014 v1.0 2014 Microsoft Corporation. All rights reserved. This document is provided as-is. Information and views
Best Practices Guide McAfee epolicy Orchestrator for use with epolicy Orchestrator versions 4.5.0 and 4.0.0 COPYRIGHT Copyright 2011 McAfee, Inc. All Rights Reserved. No part of this publication may be
Contents Introduction...1 Overview of x86 Virtualization...2 CPU Virtualization...3 The Challenges of x86 Hardware Virtualization...3 Technique 1 - Full Virtualization using Binary Translation...4 Technique
ES 2 : A Cloud Data Storage System for Supporting Both OLTP and OLAP Yu Cao, Chun Chen,FeiGuo, Dawei Jiang,YutingLin, Beng Chin Ooi, Hoang Tam Vo,SaiWu, Quanqing Xu School of Computing, National University
Kwaabana: File sharing for rural networks David L. Johnson Meraka Institute, CSIR Pretoria, South Africa firstname.lastname@example.org Elizabeth M. Belding University of California Santa Barbara email@example.com
Special Publication 800-125 Guide to Security for Full Virtualization Technologies Recommendations of the National Institute of Standards and Technology Karen Scarfone Murugiah Souppaya Paul Hoffman NIST
Front cover Introduction to Grid Computing Learn grid computing basics Understand architectural considerations Create and demonstrate a grid environment Bart Jacob Michael Brown Kentaro Fukui Nihar Trivedi
Cumulus 8.1 Administrator Guide Copyright 2010, Canto GmbH. All rights reserved. Canto, the Canto logo, the Cumulus logo, and Cumulus are registered trademarks of Canto, registered in the U.S. and other
PNUTS: Yahoo! s Hosted Data Serving Platform Brian F. Cooper, Raghu Ramakrishnan, Utkarsh Srivastava, Adam Silberstein, Philip Bohannon, Hans-Arno Jacobsen, Nick Puz, Daniel Weaver and Ramana Yerneni Yahoo!
Andy Davis Akamai Technologies 1400 Fashion Island Blvd San Mateo, CA 94404 EdgeComputing: Extending Enterprise Applications to the Edge of the Internet Jay Parikh Akamai Technologies 1400 Fashion Island
A Survey on Virtual Machine Security Jenni Susan Reuben Helsinki University of Technology firstname.lastname@example.org Abstract Virtualization plays a major role in helping the organizations to reduce the operational
VMware Horizon 6.0 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new edition. To check for more recent editions of this
IP Video Surveillance Guide Anixter is a leading global supplier of communications and security products, electrical and electronic wire and cable, fasteners and other small components. We help our customers
An Oracle White Paper June 2013 Oracle Real Application Clusters One Node Executive Overview... 1 Oracle RAC One Node 12c Overview... 2 Best In-Class Oracle Database Availability... 5 Better Oracle Database
Firewall Strategies June 2003 (Updated May 2009) 1 Table of Content Executive Summary...4 Brief survey of firewall concepts...4 What is the problem?...4 What is a firewall?...4 What skills are necessary
Page 1 of 78 Features - NAS NDMP Client TABLE OF CONTENTS OVERVIEW SYSTEM REQUIREMENTS - NAS NDMP IDATAAGENT INSTALLATION Install the MediaAgent - Windows Install the MediaAgent - Windows -Clustered Environment