Web cluster alternatives



Similar documents
CS514: Intermediate Course in Computer Systems

GLOBAL SERVER LOAD BALANCING WITH SERVERIRON

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

Load Balancing in Mobile IPv6 s Correspondent Networks with Mobility Agents

Load Balancing in Mobile IPv6 s Correspondent Networks with Mobility Agents

Lecture 3: Scaling by Load Balancing 1. Comments on reviews i. 2. Topic 1: Scalability a. QUESTION: What are problems? i. These papers look at

Scalability Issues in Cluster Web Servers

Content Delivery Networks

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

Advanced Computer Networks. Layer-7-Switching and Loadbalancing

How To Understand The Power Of A Content Delivery Network (Cdn)

Availability Digest. Redundant Load Balancing for High Availability July 2013

Advanced Networking Technologies

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

CS 188/219. Scalable Internet Services Andrew Mutz October 8, 2015

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

Network Security TCP/IP Refresher

Understanding Slow Start

Scalable Linux Clusters with LVS

EECS 489 Winter 2010 Midterm Exam

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

A Task-Based Adaptive-TTL approach for Web Server Load Balancing *

Proxy Server, Network Address Translator, Firewall. Proxy Server

Measuring the Web: Part I - - Content Delivery Networks. Prof. Anja Feldmann, Ph.D. Dr. Ramin Khalili Georgios Smaragdakis, PhD

Building a Highly Available and Scalable Web Farm

Communications and Networking

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

Alteon Global Server Load Balancing

Single Pass Load Balancing with Session Persistence in IPv6 Network. C. J. (Charlie) Liu Network Operations Charter Communications

Web Caching and CDNs. Aditya Akella

Application Delivery Networking

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

Content Delivery Networks

Scalable Web-Server Systems: Architectures, Models and Load Balancing Algorithms

Content Distribution Networks (CDN)

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

Internet Content Distribution

DEPLOYMENT GUIDE Version 1.1. DNS Traffic Management using the BIG-IP Local Traffic Manager

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

Internet Protocol: IP packet headers. vendredi 18 octobre 13

SiteCelerate white paper

architecture: what the pieces are and how they fit together names and addresses: what's your name and number?

Internet Firewall CSIS Packet Filtering. Internet Firewall. Examples. Spring 2011 CSIS net15 1. Routers can implement packet filtering

Lab 5 Explicit Proxy Performance, Load Balancing & Redundancy

Content Delivery Networks (CDN) Dr. Yingwu Zhu

DATA COMMUNICATOIN NETWORKING

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

Request Routing, Load-Balancing and Fault- Tolerance Solution - MediaDNS

Web Application Hosting Cloud Architecture

VXLAN: Scaling Data Center Capacity. White Paper

SSL Inspection Step-by-Step Guide. June 6, 2016

Web Switching (Draft)

Content Distribu-on Networks (CDNs)

Load Balancing. Final Network Exam LSNAT. Sommaire. How works a "traditional" NAT? Un article de Le wiki des TPs RSM.

Layer 4-7 Server Load Balancing. Security, High-Availability and Scalability of Web and Application Servers

Distributed Systems. 23. Content Delivery Networks (CDN) Paul Krzyzanowski. Rutgers University. Fall 2015

Chapter 12 Supporting Network Address Translation (NAT)

FLEX: Load Balancing and Management Strategy for Scalable Web Hosting Service

Radware AppDirector and Juniper Networks Secure Access SSL VPN Solution Implementation Guide

The Ecosystem of Computer Networks. Ripe 46 Amsterdam, The Netherlands

Internet Control Protocols Reading: Chapter 3

Improving DNS performance using Stateless TCP in FreeBSD 9

Category: Informational Juniper Networks, Inc. August Load Sharing using IP Network Address Translation (LSNAT)

WAN Traffic Management with PowerLink Pro100

Implementation, Simulation of Linux Virtual Server in ns-2

Technical Support Information Belkin internal use only

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

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

Load Balancing Web Applications

INTRODUCTION TO FIREWALL SECURITY

DNS ROUND ROBIN HIGH-AVAILABILITY LOAD SHARING

Global Server Load Balancing

Chapter 8 Security Pt 2

Computer Networks - CS132/EECS148 - Spring

Cisco Integrated Services Routers Performance Overview

DMZ Network Visibility with Wireshark June 15, 2010

Outline. CSc 466/566. Computer Security. 18 : Network Security Introduction. Network Topology. Network Topology. Christian Collberg

IP address format: Dotted decimal notation:

Link Load Balancing :50:44 UTC Citrix Systems, Inc. All rights reserved. Terms of Use Trademarks Privacy Statement

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

ExamPDF. Higher Quality,Better service!

Scalable Internet Services and Load Balancing

Internet Content Distribution

A Link Load Balancing Solution for Multi-Homed Networks

Network Layers. CSC358 - Introduction to Computer Networks

Network Simulation Traffic, Paths and Impairment

High volume Internet data centers. MPLS-based Request Routing. Current dispatcher technology. MPLS-based architecture

FortiBalancer: Global Server Load Balancing WHITE PAPER

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

Introduction to LAN/WAN. Network Layer (part II)

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

Outline VLAN. Inter-VLAN communication. Layer-3 Switches. Spanning Tree Protocol Recap

CLE202 Introduction to ServerIron ADX Application Switching and Load Balancing

Application. Transport. Network. Data Link. Physical. Network Layers. Goal

Firewalls. Ahmad Almulhem March 10, 2012

Transcription:

Web cluster alternatives Web cluster Web switch Layer 4 (TCP) Web switch Layer 7 (HTTP) Two-way One-way Two-way One-way TCP gateway TCP splicing TCP handoff TCP conn. hop Packet rewriting Packet tunneling Packet forwarding 1.83 Layer 4 Web switch Layer 4 Web switch works at TCP/IP level Mapping on a per-connection basis Packets pertaining to the same TCP connection must be assigned to the same machine Binding table maintained by the Web switch to associate each active connection with the assigned The Web switch examines the header of each incoming packet new connection (SYN bit) new assignment existing connection lookup in the binding table Each connection requires about 32 bytes of information in the binding table 1.84

Two-way architecture Packet rewriting technique HTTP 1 HTTP 2 HTTP 3 Client browser INTERNET 144.55.62.18 (VIP) Web switch LAN Application Servers DB s 1.85 Layer 4 Two way Packet rewriting Packet rewriting is based on the IP Network Address Translation (NAT) technique [K. Egevang, P. Francis, The IP Network Address Translator (NAT), RFC 1631, May 1994] Each internal has its own private IP address Outbound packets must pass back through the Web switch The Web switch dynamically modifies both inbound and outbound IP packets IP destination address in inbound packet (VIP IP address) IP source address in outbound packet (IP VIP) IP and TCP checksum recalculation 1.86

One-way architecture Packet rewriting Packet tunneling Packet forwarding Web 1 Web 2 Web 3 Client browser INTERNET 144.55.62.18 (VIP) Web switch LAN Application Servers DB s 1.87 Layer 4 One way Packet rewriting Outbound packets do not need to pass back through the Web switch A separate high-bandwidth connection can be used for outbound packets Each internal has its own unique IP address The Web switch modifies only inbound IP packets IP destination address in inbound packet (VIP IP ) IP and TCP checksum recalculation The HTTP modifies outbound IP packets IP source address in outbound packet (IP VIP) IP and TCP checksum recalculation Modifications of the kernel (TCP/IP stack) 1.88

Layer 4 One way Packet tunneling IP tunneling (or IP encapsulation) is a technique to encapsulate IP datagrams within IP datagrams. The effect is to transform the old headers and data into the payload of the new packet The Web switch tunnels the inbound packet destined to the VIP address to the HTTP by encapsulating it within an IP datagram When the target receives the encapsulated packet it strips the IP header off and finds that the inside packet is destined to the VIP address it processes the request and returns the response directly to the client by using VIP as the source address 1.89 Layer 4 One way Packet forwarding Clever idea! PRO: Little overhead per packet CON: Web switch and HTTP s must be on the same physical network segment There is no modification of inbound/outbound packets at TCP/IP layers Packets are forwarded from the Web switch to an HTTP and vice versa at the MAC level (through a redirection of the MAC frames) 1.90

Layer 4 One way Packet forwarding The same VIP address is shared by the Web switch and the s through the use of primary ( switch) and secondary IP addresses ( HTTP s) Even if all nodes share the VIP address, the inbound packets reach the Web switch because, to avoid collisions, the nodes disable ARP The private addresses are now at the MAC layer (packet forwarding = MAC address translation) The Web switch forwards an inbound packet to a by writing the MAC address in the layer 2 destination address and re-transmitting the frame on the shared LAN segment Since all nodes share the same VIP address, the with the right MAC address can recognize itself as a destination and can respond directly to the client 1.91 Prototypes/Products (layer 4 clusters) Two-way One-way Packet rewriting Packet rewriting Packet tunneling Packet forwarding Cisco s LocalDirector Magicrouter Foundry Networks ServerIron Alteon WebSystems LSNAT Linux Virtual Server F5 Networks BIG/ip HydraWebTechs Coyote Point Systems Equalizer Radware s WSD IBM TCP router Linux Virtual (LVS) IBM Network Dispatcher ONE-IP LSMAC Dispatcher BIG-IP F5 Networks LSMAC NetStructure Intel Traffic Director Alteon 180 Nortel Networks 2002 Radware Foundry Networks Server Iron 1.92

Web cluster alternatives Web cluster Web switch Layer 4 (TCP) Web switch Layer 7 (HTTP) Two-way One-way Two-way One-way TCP gateway TCP splicing TCP handoff TCP conn. hop Packet rewriting Packet tunneling Packet forwarding 1.93 Layer 7 Web switch Level 7 Web switch works at application level The Web switch must establish a connection with the client, and inspects the HTTP request content to decide about dispatching The switch parses HTTP header (URL, cookie) The switch manages inbound packets (ACK packets) 1.94

Layer 7 Two way TCP gateway On the Web switch is executed an application level proxy that mediates all communications between a client and a The Web switch: maintains a permanent TCP connection with each HTTP (for efficiency reasons) issues the same request to the selected HTTP Packets are forwarded by the Web switch at application level TCP gateway technique is affected by serious overhead Two TCP connections per HTTP request Way up and down through the protocol stack from/to the application layer 1.95 Communication through layer-7 switch data application transport network link physical Client network link physical router HTTP application transport network link physical application transport network link physical DISPATCHING application transport network link physical Web switch data application transport network link physical 1.96

Layer 7 Two way TCP splicing It is quite similar to the TCP gateway technique, but data are forwarded by the switch at network level Once the TCP connection between the client and the Web switch has been established and the persistent TCP connection between the switch and the target has been chosen, the two connections are spliced together ( joined ) IP packets are forwarded from one endpoint to the others without traversing the transport layer up to the application layer on the Web switch The Web switch kernel handles the subsequent packets by changing the IP and TCP packet headers so that both the client and HTTP can recognize these packets as destined to them It requires modifications at the kernel level 1.97 Layer 7 One way TCP handoff Permanent TCP connection between the Web switch and each HTTP The Web switch passes (handoff) the TCP connection established by the client with the Web switch to the HTTP, which can communicate directly with the client The TCP hand-off mechanism remains transparent to the client, as packets sent by the s appear to be coming from the Web switch Incoming traffic on already established connections (i.e., any ack packet sent by the client to the switch) is forwarded to the target by an efficient module of the Web switch The TCP hand-off mechanism requires consistent modifications to the switch and kernels 1.98

Layer 7 One way TCP connection hop This a software-based proprietary solution implemented by Resonate as a TCP-based encapsulation protocol It is executed at the network layer between the network interface card (NIC) driver and the s native TCP/IP stack Proprietary protocol Not enough information 1.99 Prototypes/Products (layer 7 clusters) Two-way One-way TCP gateway TCP splicing TCP handoff TCP conn. hop IBM Network Dispatcher HACC Nortel s Alteon Web Systems F5 BIG-IP Foundry Nets ServerIron ScalaServer ClubWeb* [by Weblab] Resonate s Central Dispatcher IBM Network Dispatcher Cisco CSS Radware WSD Zeus Load Balancer 1.100

DISPATCHING ALGORITHMS Decisions at the Web switch Client TCP/HTTP interactions Web switch 144.55.62.18 (VIP) LAN HTTP s httpd 1. Access control 2. Request dispatching Both of them important for: - QoWS implementation - open space for reasearch Web application s Back-end s WEB CLUSTER servlet EJB 1.102

Web switch dispatching Mapping from VIP to actual address Hit/Page request distribution Fine grain control on request assignment Centralized control 1.103 Layer 4 vs. Layer 7 operations Client SYN Layer 4 Web switch HTTP Client SYN Layer 7 Web switch HTTP SYN, ACK ACK HTTP request SYN, ACK ACK HTTP request (parsing) 1.104

Consequences on dispatching Layer 4 TCP connection Content blind dispatching Stateless and state-aware algorithms Layer 7 HTTP connection Content aware dispatching Stateless and state-aware algorithms 1.105 Layer 7 Web switch properties Main features of content-aware dispatching (or content-based routing) allows content/type segregation on specialized s supports persistent connections facilitates caching mechanisms allows HTTP/1.1 requests to be assigned to different HTTP s 1.106

Layer 4 Web switch algorithms Layer 4 algorithms Information less Client info aware Server state aware Random Round Robin IP address TCP port Active conn. CPU/disk utiliz. Response time Client partition Weighted Round Robin Least loaded 1.107 Static algorithms Random no information regarding the cluster state no history about previous assignments Round Robin (RR) no information regarding the cluster state history regarding only the previous assignment 1.108

Client info aware algorithms Client partition Request assignment based on client information in inbound packets Client IP address Client port Rough method to implement QoWS disciplines for individuals or group of clients (not users!) 1.109 Server state aware algorithms Request assignment based on load info Least loaded ( AVOID!) Weighted Round-Robin (WRR) it allows configuration of weights as a function of load 1.110

Server state aware algorithms Possible metrics to evaluate load Input metrics: information get by the Web switch without cooperation, e.g., Active connections Server metrics: information get by the Web s and transmitted to the Web switch, e.g., CPU/Disk utilization, response time Forward metrics: information get directly by the Web switch, e.g., emulation of requests to Web s HTTP s Web application s Back-end s WEB CLUSTER Web switch 144.55.62.18 (VIP) LAN httpd servlet EJB 1.111 Layer 7 Web switch algorithms Layer 7 algorithms Client info aware Client info and state aware Cookie SSL id URL URL Active connections Session Id. Content partition CAP LARD 1.112

Client info aware algorithms Session identifiers HTTP requests with same SSL id or same cookie assigned to the same Goal: avoid multiple client identifications for the same session Content partition Content partitioned among s according to file type (HTML, image, dynamic content, audio, video, ) Goal: use specialized s for different contents Content partitioned among s according to file size (Thresholds may be chosen dynamically.) Goal: augment load balancing File space partitioned among the s through a hash function Goal: improve cache hit rate in Web s 1.113 Client info aware algorithms Content Aware Partition (CAP Proc. WWW 2000) Resource classification according to the impact of HTTP requests on main Web components, e.g., Low impact (small-medium static files) Network bound (large file download) Disk bound (database queries) CPU bound ( secure requests) Cyclic assignment of each class of requests to Web s Goal: augment load sharing of component bound requests among Web s 1.114

Client and state aware algorithm Locality-Aware Request Distribution (LARD) First request for a given target assigned to the least loaded (metrics: number of active connections) Subsequent requests for the same target assigned to the previously selected Goal: improve locality (cache hit rate) in cache A A A A A Web A A A A C B C A A C B Level 7 Web switch C B C C B Web B C 1.115 Final considerations (Web clusters) Alternative architettures Layer-4 Web switch (Content information blind) Layer-7 Web switch (Content information aware) Main pros Fine grain control on dispatching of client requests High internal availability High security High performance ( infinite performance?) 1.116

Web cluster power Client browser INTERNET HTTP (s) LAN (Presentation logic) 1. Is there any theoretical limit for adding new s? 2. Is there any practical limit for adding new s? Web application (s) Back-end (s) (Business logic) (Transaction / Data ) 1.117 Limits? HTTP s Web application s Web switch 144.55.62.18 (VIP) LAN No limit at the Presentation level No limit at the Business level Some limits at the Data level Back-end s WEB CLUSTER NO LIMIT?? INFINITE POWER?? 1.118

Single points of failure Internet connection Web switch Web cluster cons Maximum scalability bounded by Web switch capacity Internet access bandwidth 1.119 System possibilities and network limits Web cluster throughput: 5 Mbps 85 Mbps W Network throughputs: T1 - T2: Large company to ISP 3.1/6.3 Mbps T3 - OC1: ISP to Internet infrastructure 44.7-51.8 Mpbs OC3: Large company backbone 155.5 Mbps OC12 - OC256: Internet backbones 0.62-13.2 Gbps 1.120

Network bottlenecks Last mile Internet Core Peering point First mile 1.121 Managing a popular Web site If your Web site is really popular Youcan afford larger investments You cannot take any kind of risks about availability Network Electrical power Road works Bad weather Unfaithful employee 1.122

SYSTEM (GEOGRAPHICAL DISTRIBUTION) Pressure on Web-based architectures Scale-up HW/SW improvements LAN Scale-out Sistemswith multiple s (Web/cache) WAN 1.124

Taxonomy Scalable Web systems Local distribution Global distribution Web cluster Mirror site Distributed s Distributed Web clusters 1.125 Mirror site Information that is geographically replicated on multiple Web sites Web site addresses Multiple hostnames (e.g., www.site1.com, www.site2.com,, www.siten.com ) One IP address for each site Dispatching left to users 1.126

Mirror sites Mars Polar Lander Mission Public Sector Mirror Sites Mirror site Site Address Load Capacity SDSC - USA http://mars.sdsc.edu Bandwidth Internet2 - USA http://mars.dsi.internet2.edu Bandwidth NCSA - USA http://www.ncsa.uiuc.edu/mars Bandwidth Mars Society - USA http://missions.marssociety.org/mpl Bandwidth KSC - USA http://www.ksc.nasa.gov/mars Bandwidth HIGP - USA http://mars.pgd.hawaii.edu Bandwidth Simple architecture, but Visibly replicated architecture It is very hard to maintain information consistency among mirror sites No way of controlling load distribution Hard to trace users 1.127 Geographically distributed s If your Web site is really popular Do you think is a good choice to spread single saround the world? 1.128

Taxonomy Scalable Web systems Local distribution Global distribution Web cluster Mirror site Distributed s Distributed Web clusters 1.129 Taxonomy Scalable Web systems Local distribution Global distribution Web cluster Mirror site Distributed s Distributed Web clusters Two-levels dispatching (DNS+ Web switch) Three-levels dispatching (DNS+ Web switch+ HTTP s) 1.130

Distributed Web clusters Web site realized on an architecture of geographically distributed Web clusters Web site addresses One hostname (e.g., www.site.com ) One IP address for each Web cluster First level dispatching Authoritative DNS or other entity during the lookup phase Second level dispatching Web switchof the Web cluster selects one Third level dispatching Each Web may redirect the received request to another 1.131 Distributed Web cluster Web switch 1 104.32.11.102 Web switch 2 120.88.41.54 Web switch 3 86.104.34.28 Local DNS Web switch 4 26.38.98.10 Authoritative DNS for www.site.com 1.132

Dispatching mechanisms 1. DNS dispatching -- global 2. Web switch dispatching -- local 3. HTTP dispatching (HTTP redirection) -- local 1.133 Distributed Web cluster (2-level dispatching) Web switch 1 104.32.11.102 HTTP request Web switch 2 120.88.41.54 Web object Web switch 3 86.104.34.28 www.site.com Local DNS (120.88.41.54,TTL) Web switch 4 26.38.98.10 Authoritative DNS for www.site.com 1.134

Distributed Web cluster (3-level dispatching) Web switch 1 104.32.11.102 Web switch 2 120.88.41.54 First HTTP request Web object OR goto 86.104.34.28 Web object Web switch 3 86.104.34.28 Second HTTP request www.site.com Local DNS (120.88.41.54,TTL) Web switch 4 26.38.98.10 Authoritative DNS for www.site.com 1.135 DNS dispatching The distributed Web cluster architectures implement global dispatching by intervening in the lookup phase of the address request: A client asks for the IP address of a Web corresponding to the hostname in the URL If the hostname is valid, it receives the couple (IP address, TimeToLive) The enhanced authoritative DNS of the Web site (or another entity that replaces or integrates the authoritative DNS) can use various dispatching policies to select the best Web cluster 1.136

Issues of DNS dispatching Typical issues Load spikes in some hours/days Additional issues Traffic depending on time zones Client distribution among Internet zones Proximity between client and Web Caching of [hostname-ip] at intermediate DNS s for TTL interval 1.137 Issues of DNS dispatching Because of hostname - IP address caching, the DNS of highly popular Web sites controls only 5-7% of traffic reaching the s of the site [IBM source data] Unlike Web switch (controlling 100% traffic), the DNS should use sophisticated algorithms Nevertheless, all CDN architectures use some sort of DNS dispatching 1.138

Actions on TTL values Constant TTL Set TTL=0 to augment DNS control Drawbacks Not cooperative DNSes (name s may ignore very small TTL values <300 seconds) Browser caches Risk of overloading authoritative DNS Adaptive TTL Tailor TTL value adaptively for each address request by taking into account the popularity of client Internet domain and Web loads 1.139 DNS dispatching algorithms DNS dispatching Information less Client info aware Server state aware Client and state aware Random RR Internet domain Least loaded Internet domain Server load Proximity Multi-tier RR Least residual load Adaptive TTL 1.140

Internet proximity Internet proximity is an interesting open issue Client- geographic proximity does not mean Internet proximity (round trip latency) Static information client IP address to determine Internet zone (geographical distance) hop count ( stable more than static information) network hops (e.g., traceroute) Autonomous System hops (routing table queries) It does not guarantee selection of the best connected Web, e.g., links are not created equal 1.141 Internet proximity Dynamic evaluation of proximity round trip time (e.g., ping, tcping) available link bandwidth (e.g., cprobe) latency time of HTTP requests (request emulation) Additional time and traffic costs for evaluation A related open issue: Correlation between hop count and round trip time? Old measures: close to zero [Crovella 95] Recent measures: strong, reasonably strong 1.142

Addressing DNS dispatching issues Utilizing multiple level DNS dispatching CDN choice [-->] Integrating DNS dispatching with HTTP or Web switch global dispatching: HTTP redirection IP tunneling 1.143 HTTP redirection The redirection mechanism is part of the HTTP protocol and is supported by current browser and software DNS and Web switch use centralized scheduling disciplines Redirection is a distributed scheduling policy, in which all Web nodes can participate in (re-)assigning requests Redirection is completely transparent to the user (not to the client!) 1.144

HTTP redirection message header HTTP OK status code 302 - Moved temporarily to a new location New location Redirection to an IP address (better performance) Redirection to an hostname 1.145 Redirection policies - alternatives Trigger mechanism Centralized: DNS or other entity Distributed: any Web (typically when highly loaded) Selection policy (page requests to be redirected) all page requests (All) all page requests larger than a threshold (Size) all page requests with many embedded objects (Num) Location policy (choice of the new target Web cluster) Round Robin (RR) Hash function Least loaded (Load) Client-to- proximity (Prox) 1.146

Performance comparison Two-levels vs. Three-levels dispatching Which selection policy? Redirect-All vs. Redirect-Heavy Which location policy? Dispatching algorithms Level 1 (DNS): proximity Level 2 (Web switch): Weighted Round Robin Level 3 (Web s) Selection policy ( which page requests have to be redirected? ): Redirect all requests (All) Redirect heavy requests: Size, number of embedded objects (Num) Location policy ( towards which cluster? ): RoundRobin (RR) Least loaded cluster (Load) Cluster proximity (Prox) 1.147 Performance results 2 level dispatching Size-based redirection Redirect-all policy 1.148

Performance results (2) Percentage of redirected requests Response time (90-percentile) 1.149 Summary A third-level dispatching mechanism guarantees immediate actions to shift the load away from an overloaded Web cluster augments the Quality of Web-based Services because the percentage of client requests with guaranteed response time is much higher HTTP redirection is easy to implement but works for HTTP services only IP tunneling can be used when it is necessary to provide other services Limiting redirection to the heaviest requests (Redirect- Heavy) reduces the percentage of redirection to a small fraction of requests (about 5%) without deteriorating the response time achieved by Redirect-All policies 1.150

Comparison Distributed Web cluster (two-level dispatching) High control on load reaching the Web cluster Slow reaction to an overloaded Web cluster Distributed Web cluster (three-level dispatching) Immediate actions to shift the load away from an overloaded Web cluster Redirection valid only for HTTP services 1.151 Summing up Scalable Web- systems are based on multiple platforms A dispatching mechanism to direct the client request to the best A dispatching algorithm to define the best An executor to carry out the scheduling algorithm and the relative mechanism 1.152

Web dispatching mechanisms Mechanism Executor Item Coarse Hostname resolution - Local dispatching - Global dispatching HTTP redirection - Local dispatching DNS / Other entity Web Session Page request Granularity control - Global dispatching Packet redirection - Local dispatching Web switch Hit / Page request Fine 1.153 Web dispatching algorithms Static (information-less) Dynamic client info aware state aware client info and state aware Adaptive (not yet investigated) Low Level of information dependency High 1.154

SYSTEM (AFTER REPLICATION, CACHING) Pressure on Web-based architectures Scale-up HW/SW improvements LAN Scale-out Sistemswith multiple s (Web/cache) WAN 1.156

Proxy origin Intranet gateway After, cache repository Client1 Proxy HTTP Client k FIREWALL 1.157 CONTENT CONSUMER Proxy Caching mechanisms CONTENT PROVIDER Web cluster + Reverse proxy Web cluster + Reverse proxy THIRD PARTIES ISP (content consumer side) cooperative proxy s Companies (content provider side) Content Delivery Network (CDN) 1.158

CONTENT CONSUMER Client1 Proxy (cache) Cache Hit Cache Miss HTTP Client k FIREWALL 1.159 Virtual / Reverse proxy (CONTENT PROVIDER side) Client Virtual or Reverse proxy Web Web Virtual Web Pushing techniques 1.160

Possibility of spreading VS in different network regions (AS) Client Virtual Virtual Web Web Virtual Virtual Web 1.161 Architecture for 1 million hits per minute Primary site (master) Primary site Reverse proxy or Secondary 1.162

Why few primary sites and thousands of secondary s? Manageability Alternative solution # primary s Performance # secondary s 1.163 Push model ( Content provider manages everything) Content generator Primary sites Secondary s (cache s) Content consumer Master 1.164

Modello push (altre ipotesi di gestione) Content generator Primary sites Secondary s (cache s) Content consumer Master 1.165 Replication and Caching Local distribution Global distribution Web cluster Web switch (livello 4) Web switch (livello 7) Content Provider Web multi-cluster 2 level Dispatching (DNS+ Web switch) 3 level Dispatching (DNS+ Web switch+ ) Cache Proxy (cooperative) Reverse proxy (virtual s) ISP Content Delivery Networks (CDN) Special companies 1.166

Web caching ISP Clients Web 1 AS AS Web Server 2 AS ISP proxy Web Server N 1.167 Cooperativo Web caching (ISP) 1 Client 4 Cache miss proxy 2 proxy proxy proxy 3 Cache proxy hit proxy proxy Many alternative architectures (hierarchical, flat, hybrid) Many lookup algorithms Many cooperation algorithms proxy Web Server 1.168

Hierarchical vs. Flat scheme Hierarchical Flat Client 1.169 Possible advantages of Web caching Latency reduction Less traffic Less overhead on Web sites But, many studies show that generalized Web caching has limited benefits (low cache hit rates) 1.170

Business alternative: content delivery Content delivery information delivery data delivery Content = digital material for which someone (user, ISP, content provider, ) can spend money Exemples Web embedded objects video-on-demand pay-per-download music software distribution pay-per-use software 1.171 Web caching CDN Cooperative cache s Cache s distributed over many Internet regions (AS) Web caching is independent of Web site management Generalized caching: content of any Web site ISP can pay because they save bandwidth (content provider don t) Content provider outsources content distribution problems to CDN company Selective caching: just content of customer Web sites Content providers pay (ISP don t) 1.172

CDN Architecture Application level On-demand contents Streaming on-demand Streaming live Middleware level Data placement Content consistency Monitoring & Billing Network level Content/Service lookup Routing mechanisms Servers Web Media static secure streaming cache cache media cache Origin (s) Content s DNS s 1.173 CDN routing through URL rewriting content Client content content content content content content HTML Page (URL) content Origin HTML page 1.174

Akamai example Twofold DNS resolution Origin content 6 content 5 6 1 Client HTML file with modified URL 2 Local DNS 4 3 Low level DNS (CDN) Top level DNS (CDN) 1.175 Does a CDN work? (their measures #1) Internet anomay 1.176

Does a CDN work? (their measures #2) Stripe: with CDN Cyan: without CDN Users leave Source: Keynote Systems, Inc. 1.177 Does a CDN work? (our measures #1) www.nobelcom.com Distribuzione cumulativa 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 with CDN without CDN 0.1 0 0 5 10 15 20 25 30 35 40 Tr Tr* Tempo di risposta (sec) www.nobelcom.com HTTP GET method is the larger contribution to the response time Bimodal effects for DNS resolution Distribuzione cumulativa 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Tempo di risposta (sec) Tr TDNS,p TDNS,I Tconn TGET 1.178

Does a CDN work? (our measures #2) www.nobelcom.com 48 46 44 42 Tr(media) Tr(mediana) Tr*(media) Tr*(mediana) CDNs work! 40 38 36 34 32 Tempo di risposta (sec) 30 28 26 24 22 20 18 16 14 12 10 8 6 4 2 0 0:00 1:00 2:00 3:00 4:00 5:00 6:00 7:00 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 23:00 They can have limited effects on clients on narrow bandwidth connections Ora della giornata 1.179