Content-Aware Load Balancing using Direct Routing for VOD Streaming Service



Similar documents
Purpose-Built Load Balancing The Advantages of Coyote Point Equalizer over Software-based Solutions

Server Traffic Management. Jeff Chase Duke University, Department of Computer Science CPS 212: Distributed Information Systems

How To Balance A Web Server With Remaining Capacity

High-Performance IP Service Node with Layer 4 to 7 Packet Processing Features

Why SSL is better than IPsec for Fully Transparent Mobile Network Access

Multicast-based Distributed LVS (MD-LVS) for improving. scalability and availability

UNIVERSITY OF OSLO Department of Informatics. Performance Measurement of Web Services Linux Virtual Server. Muhammad Ashfaq Oslo University College

ZEN LOAD BALANCER EE v3.04 DATASHEET The Load Balancing made easy

MPLS Based Web Switching

Creating Web Farms with Linux (Linux High Availability and Scalability)

Avaya P333R-LB. Load Balancing Stackable Switch. Load Balancing Application Guide

GLOBAL SERVER LOAD BALANCING WITH SERVERIRON

iseries TCP/IP routing and workload balancing

Router Architectures

A Low Cost Two-Tier Architecture Model For High Availability Clusters Application Load Balancing

Web Switching (Draft)

CSE 3461 / 5461: Computer Networking & Internet Technologies

Introduction. Linux Virtual Server for Scalable Network Services. Linux Virtual Server. 3-tier architecture of LVS. Virtual Server via NAT

ZEN LOAD BALANCER EE v3.02 DATASHEET The Load Balancing made easy

SSL VPN Technology White Paper

Application Note. Onsight TeamLink And Firewall Detect v6.3

A Low Cost Two-tier Architecture Model Implementation for High Availability Clusters For Application Load Balancing

Transport Layer Protocols

Scalability Issues in Cluster Web Servers

Overview: Load Balancing with the MNLB Feature Set for LocalDirector

Availability Digest. Redundant Load Balancing for High Availability July 2013

Building Reliable, Scalable AR System Solutions. High-Availability. White Paper

Network Address Translation (NAT) Adapted from Tannenbaum s Computer Network Ch.5.6; computer.howstuffworks.com/nat1.htm; Comer s TCP/IP vol.1 Ch.

Internet Content Distribution

EMC Data Domain Boost and Dynamic Interface Groups

Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc.

Direct Web Switch Routing with State Migration, TCP Masquerade, and Cookie Name Rewriting

Load Balancing and Sessions. C. Kopparapu, Load Balancing Servers, Firewalls and Caches. Wiley, 2002.

CHAPTER 3 PROBLEM STATEMENT AND RESEARCH METHODOLOGY

Firewall Load Balancing

Protocol Data Units and Encapsulation

Network Security TCP/IP Refresher

Network Basics GRAPHISOFT. for connecting to a BIM Server (version 1.0)

Network Expansion Devices, Switches & Routers

Parallels. Clustering in Virtuozzo-Based Systems

TESTING & INTEGRATION GROUP SOLUTION GUIDE

VPN. Date: 4/15/2004 By: Heena Patel

DNS ROUND ROBIN HIGH-AVAILABILITY LOAD SHARING

DMZ Network Visibility with Wireshark June 15, 2010

The Design and Implementation of Content Switch On IXP12EB

Building a Highly Available and Scalable Web Farm

Advanced Computer Networks. Layer-7-Switching and Loadbalancing

Application Delivery Networking

Scalable Linux Clusters with LVS

DESIGN AND VERIFICATION OF LSR OF THE MPLS NETWORK USING VHDL

Development of Software Dispatcher Based. for Heterogeneous. Cluster Based Web Systems

Final for ECE374 05/06/13 Solution!!

How To Run A Web Farm On Linux (Ahem) On A Single Computer (For Free) On Your Computer (With A Freebie) On An Ipv4 (For Cheap) Or Ipv2 (For A Free) (For

1. Comments on reviews a. Need to avoid just summarizing web page asks you for:

Oct 15, Internet : the vast collection of interconnected networks that all use the TCP/IP protocols

SWE 444 Internet and Web Application Development. Introduction to Web Technology. Dr. Ahmed Youssef. Internet

Visio Enabled Solution: One-Click Switched Network Vision

Indepth Voice over IP and SIP Networking Course

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

ProCurve Networking IPv6 The Next Generation of Networking

Overview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP

How To Build A Large Scale Mail Transfer Protocol (Mta) System In A Distributed System

5.0 Network Architecture. 5.1 Internet vs. Intranet 5.2 NAT 5.3 Mobile Network

AN EFFICIENT LOAD BALANCING ALGORITHM FOR A DISTRIBUTED COMPUTER SYSTEM. Dr. T.Ravichandran, B.E (ECE), M.E(CSE), Ph.D., MISTE.,

Proxy Server, Network Address Translator, Firewall. Proxy Server

Understanding IBM Lotus Domino server clustering

Load Balancing using Pramati Web Load Balancer

Behavior Analysis of TCP Traffic in Mobile Ad Hoc Network using Reactive Routing Protocols

LESSON Networking Fundamentals. Understand TCP/IP

Computer Networks. Definition of LAN. Connection of Network. Key Points of LAN. Lecture 06 Connecting Networks

8.2 The Internet Protocol

How To Make A Vpc More Secure With A Cloud Network Overlay (Network) On A Vlan) On An Openstack Vlan On A Server On A Network On A 2D (Vlan) (Vpn) On Your Vlan

The Evolution of Application Acceleration:

Building a Systems Infrastructure to Support e- Business

Load Balancing in Mobile IPv6 s Correspondent Networks with Mobility Agents

TCP Offload Engines. As network interconnect speeds advance to Gigabit. Introduction to

ΕΠΛ 674: Εργαστήριο 5 Firewalls

Internet Concepts. What is a Network?

HyLARD: A Hybrid Locality-Aware Request Distribution Policy in Cluster-based Web Servers

SFWR 4C03: Computer Networks & Computer Security Jan 3-7, Lecturer: Kartik Krishnan Lecture 1-3

On Cloud Computing Technology in the Construction of Digital Campus

Question: 3 When using Application Intelligence, Server Time may be defined as.

CPS221 Lecture: Layered Network Architecture

VERITAS Cluster Server Traffic Director Option. Product Overview

Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.

Understanding TCP/IP. Introduction. What is an Architectural Model? APPENDIX

Optimizing Data Center Networks for Cloud Computing

Overview of Routing between Virtual LANs

Mobile IP Network Layer Lesson 01 OSI (open systems interconnection) Seven Layer Model and Internet Protocol Layers

SiteCelerate white paper

Data Communication and Computer Network

Network Attached Storage. Jinfeng Yang Oct/19/2015

Advanced Higher Computing. Computer Networks. Homework Sheets

Basic Networking Concepts. 1. Introduction 2. Protocols 3. Protocol Layers 4. Network Interconnection/Internet

Transcription:

Content-Aware Load Balancing using Direct Routing for VOD Streaming Service Young-Hwan Woo, Jin-Wook Chung, Seok-soo Kim Dept. of Computer & Information System, Geo-chang Provincial College, Korea School of Electrical and Computer Engineering, Sung-kyun-kwan University, Korea School of Computer & Multimedia, Hannam University, Korea Abstract The number of internet users rapidly increases as the business relies more on the internet and intranet. Accordingly, the traffic on the Internet is increasing dramatically. The workload on the servers is also increasing rapidly so that servers will be easily overloaded for a short time. To overcome the overloading problem of the servers, it is necessary to increase system performance and availability. In the web server cluster environment, it is necessary to implement router that performs routing using TCP information and requested content information, in order to process client s requests in connection with multiple servers. In this paper, designs a load balancer via direct routing that share a virtual service on a single IP address in the Linux system and suggests an efficient load balancing method to improve transmission speed in the web server cluster environment. It will increase performance and scalability with fast packet transfer and removing bottleneck problem by using TCP Splicing and Content-Aware Balancer method. (Keywords : Content-Aware, Load Balancing, Direct Routing, Linux, VOD streaming server) 1. Introduction As a way to increase system performance, there are two methods: processor performance increase and network performance increase. As the trend of network traffic increase is stronger than that of processor performance increase, the server performance will soon experience lack of performance to cope with the exploding increase of network traffic. Load balancing is one of the good solutions to this problem. Load balancing distributes traffic efficiently among network servers so that system scalability is heightened. It minimizes the service discontinuance so that system availability is increased. As the e-commerce vitalizes, the demand of data service using the web is exploding. Especially, as a variety of functions that execute a special purpose add to the network, the loads of routers and switch systems in the network are gradually increasing. Given the fact, without considering transfer speed, the overall network transmit performance will naturally deteriorate. Many of the current network services are implemented based on TCP/IP [1]. The existing routing process is difficult to have high transmission speed by handling longest prefix match in a way of software to perform it. In recent years, however, the routing process is simplified to perform a high-speed transmission and (forwarding engine) [2, 3] is developed to enable routing in a way of hardware, which allows high speed IP routing. However, as TCP exists at the " This work was supported by a grand No.( R12-2003-004-03003-0) from Ministry of Science and Technology." 1

Transport Layer and closely interconnects with Application Layer, it has a strong sense of software characteristics, which makes it difficult to adopt a high-speed method. This study examines the high-speed method of TCP to prevent deterioration of transmission performance when TCP routing and content routing are implemented in the web server cluster environment. 2. Infrastructure of Web Server Cluster Figure 1 shows a network structure that has web server cluster composed of large and small multiple servers. As shown in the figure, it has a structure that a proxy manages network domain that is generally composed of clients and a proxy named dispatcher manages servers that connects via public network. As the interest and demand on e-commerce using web server is increasing, the number of network with web server cluster structure is on the rise. Therefore, establishing a network environment of web server cluster that guarantees scalability becomes an important technical issue [4, 5, 6]. Server1 Clients Internet Proxy Server2 dispatcher Server n Server cluster Figure 1. Network Structure Using Web Server Cluster When clients connect the web server cluster, they need to be looked at as a single server so that it is important to implement such function that the balancer manages back-end servers. At this time, the balancer needs to efficiently perform session distribution policy so that back-end servers have load balancing. To meet the network high-speed trend, in the web server cluster environment, the technology, which establishes and manages high-speed TCP connections based on the technology that manages existing back-end multiple servers, is gaining its importance. For this purpose, one of the TCP connection high-speed methods like TCP Splicing is emerged, which will be introduced in the following chapter. In the web server cluster environment, such technology that efficiently creates and manages cessions with specific purpose in high speed will be a core technology that strengthens the current e-commerce service. Due to this reason, web server cluster becomes the target to consider the transmission performance optimization. The focus of the discussion is to implement high data transmission speed between client and server. 3. TCP Splicing TCP Splicing is not a technology applied to TCP/IP stack of an individual system like client and server, but a technology that a proxy server (L4 switch in the Figure 2.) connecting client with server handles TCP connections. The exiting proxy server processes a header on the packet received from a client in order to create connections between the client and the server, and puts the packet up to the Application Layer that resides in the main processor of the proxy. When this method is used, a flexible server is able to provide fit to a variety of application service because application layer softwares are different in the main processor when connecting. 2

However, when packets are passed through the proxy, frequent data copies are made in various layers, resulting in slow transmission speed. Due to this disadvantage, the exiting application layer proxy server is not a good solution as it goes against the trend that network equipment are getting faster using high speed backbone network. As above explained, a proxy machine is interposed between the server and the client machine in order to mediate the communication between them. Now it is emerging as the necessary network equipment in the server cluster environment. To improve transmission performance in the proxy is very much alike to improve service quality of network. In order to improve transmission performance, TCP Splicing is suggested [7, 8, 9, 10]. Its basic idea is to exclude a process that goes through the main processor in the entire path of packet data transmission as the client and the server directly connect in the line interface card of L4 Switch that is used for a cluster server proxy shown at Figure 2. By doing this, when packets are transferred to main processor of proxy switch, the data copying process is removed. Therefore, they can make a system so that the end to end data transmission speed between client and server maintains jute like a line speed. Figure 2. Dispatching System with TCP Splicing 4. The Content-Aware Distributor The major challenge in designing the content-aware mechanism is the connection-oriented semantics of TCP protocol that the Web service is based on. Whenever a client tries to issue a request to the Web server, it must first establish a TCP connection to the server. As a result, the dispatcher node has to establish a TCP connection with the client so that it can examine the subsequent HTTP request to perform content-based routing. When the routing decision has been made, relaying the HTTP request (or migrating the established connection) from the dispatcher to the selected server becomes a challenging problem. In particular, such a mechanism should be transparent to users and efficient enough to not render the dispatcher a bottleneck[11,12]. The operation of the content-aware distributor (distributor for short) is largely based on the following three data structures that hold vital information for routing a request: the cluster table, the mapping table and the URL table. Each entry in the cluster table represents one participant server in the cluster. The most important fields of the cluster-table entry include the IP address and MAC address of one participant server, a timer for failure detection, the load index (a measure of current load), and the available connection list (which will be described later). The distributor also maintains and manipulates the mapping table for directing a request to the selected server. Each entry in this table is indexed by the source IP address and source port of the client, and also includes the IP address and port number of selected server, a state indication, TCP state information for the client and the selected server, and a time stamp. The URL table holds information (e.g., location of the document, document sizes, type, priority, etc.) that helps the dispatcher to make routing decisions. 3

5. Designing Cluster Load Balancer 5.1 Linux Cluster Structure The Linux Virtual Server [13] is a highly scalable and highly available server built on a cluster of real servers, with the load balancer running on the Linux operating system. Figure 3 shows one of the general virtual server architecture that has a load balancer and real servers. Figure 3. Linux Virtual Server Structure Real servers share a virtual service on a single IP address in the Linux system and its service contents duplicate in its local disk of each server or share with a distributed file system to provide service. Load Balancer sends client s request to a real server that is interconnected by adequate scheduling methods (eg. Round Robin) whenever a client requests a service to the real server. Up to now, Linux Virtual Server is developed to be seen as a virtual service on a single IP address that has cluster s parallel service with three IP layer balancing methods. The structuring methods of Linux Virtual Server are divided into three: 1) virtual server by Network Address Translation (NAT), 2) virtual server by IP Tunneling, 3) virtual server by Direct Routing. As for the virtual server by Network Address Translation (NAT), a Load Balancer and real servers are connected with switch or hub. The real servers use private internet address system. However, only the virtual IP for service is used by the Load Balancer, which is connected to outside. Therefore, the users or clients see only a single virtual server on a single IP address. The virtual server by NAT has an advantage that uses a private internet address system, which is not globally unique, but since the Load Balancer should handle both client s request packets and real server s reply packets, the load balancer becomes a bottleneck. To solve this disadvantage, IP Tunneling and Direct Routing are other options to take. IP Tunneling forwards requested packets to a real server. When the packets are forwarded, they are encapsulated in an IP packet. The real server replies the request with its result to the client after processing the packets. As for Direct Routing, a real server and a load balancer share a virtual IP for a single service. The load balancer has a single interface that is set by a virtual IP and direct routes the requested packets to the real server selected by the scheduling method. In this study, the Direct Routing is used for implementing a Linux Virtual Server for VOD streaming service. 4

5.2 Designing Linux Cluster Load Balancer This chapter designs a load balancer via direct routing that share a virtual service on a single IP address in the Linux system to improve packet transmission speed and overcome a bottleneck problem by using TCP Splicing and Content-Aware Balancer method. In most internet services, replying packets are larger than requesting packets. In streaming service, a server should handle a large volume of information when replying a small requesting packet. Out of the load balancing methods in the Linux Virtual Server, the method using NAT gives the load balancer a heavy burden because the load balancer handles all the job allocations and replying packets. When the real servers increase, the load balancer becomes a bottleneck. The load balancing method using IP Tunneling and Direct Routing allows the real server to send the replying packets directly to the client. This will solve the bottleneck problem of the load balancer in the NAT method. In addition, Direct Routing has no overhead for tunneling, which enables the cluster system to have a better scalability. 6. Conclusion and Future Study Figure 4. Cluster Server by Direct Routing In the web server cluster environment, it is necessary to implement router that performs routing using TCP information and requested content information, in order to process client s requests in connection with multiple servers. This study designs a load balancer via direct routing that share a virtual service on a single IP address in the Linux system and suggests an efficient load balancing method to improve transmission speed in the web server cluster environment. It will increase performance and scalability with fast packet transfer and removing bottleneck problem by using TCP Splicing and Content-Aware Balancer method. This method is expected to be the noticeable technology that provides an important interface, which make application services for e-commerce effectively be applied to high-speed network infrastructure. As the demand of e-commerce using web servers increases, the demand of web server cluster is also on the rise. Therefore, establishing network environments using web server cluster becomes an important technical issue, since it provides a good scalability, reliability and serviceability. At this time, it is required to study further on the optimum balancing method in the web server cluster environment so as to apply the hybrid 5

(optimum load balancing method by software and hardware) method and improve the reuse of security cession based on high-speed TCP connection.. References [1] W.R Stevens, TCP/IP Illustarted Volume 1., Addison-Wesley, New york.1996. [2] N.McKeown, M.Izzard, A. Mekkittikul, B.Ellersick, and M.Horowitz, "The Tiny Tera : A Packet Switch Core," IEEE Micro, pp.26.-33, 1997. [3] P.Gupta, S.Lin, and N.Mckeown, "Routing lookups in hard ware at Memory Access Speeds," Proceedings of the Conference on Computer Communications(IEEE INFO-COM), pp.1241-1248. 1998. [4] Web Server Farm Performance. White Paper, Arrowpoint Communications, 1998. [5] T. Schroeder, S.Goddard, and B. Ramamurthy, "Scalable Web Server Clustering Technologies." IEEE Network, pp.38-45, 2000. [6] E. Levy-Abegnoli, A. Iyengar, J. Song, and D. Dias, "Design and Performance of a Web Server Accelerator," IEEE INFOCOM'99, pp.135-143,1999. [7] V. Srinivasan, G. Varghese, S. Suri, and M. Waldvogel, Fast and Scalable Layer Four Switching, SIGCOMM, 1998 [8] A, Cohen, S.Rangarajan, and H, Slye, On the Performance of TCP Splicing for URL aware Redirection, Proceedings of the 2nd USENIX symposium on Internet technologies and Systems, 1999. [9] D. A. Maltz. and P, Bhagwat, TCP Splicing for Application Layer Proxy Performance, Jurnal of High Speed Networks, pp.225-240, 1999. [10] Alteon 780 High Density Content Switch Data Sheet. Nortel Networks, 2001. [11] V.Kumar, A.Grama, and V.N.Rao, Scalable Load Balancing Techniques for Parallel Computers, Journal of Distributed Computing, pp.60-79, 1994 [12] S. Keshzv, An Engineering Approach to Computer Networking, Addison-Wesley, New york, 1997 [13] W. Zhang and et al., Linux virtual server project,.org, 1998. 6