Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service IEEE/ACM Transactions on Networking Vol.8, No. 4, August.

Slides:



Advertisements
Similar presentations
Scalable Content-Addressable Network Lintao Liu
Advertisements

1 Server Selection & Content Distribution Networks (slides by Srini Seshan, CS CMU)
Reliability on Web Services Presented by Pat Chan 17/10/2005.
June 2007APTLD Meeting/Dubai ANYCAST Alireza Saleh.ir ccTLD
Small-world Overlay P2P Network
1 Internet Networking Spring 2004 Tutorial 13 LSNAT - Load Sharing NAT (RFC 2391)
Internet Networking Spring 2006 Tutorial 12 Web Caching Protocols ICP, CARP.
Cis e-commerce -- lecture #6: Content Distribution Networks and P2P (based on notes from Dr Peter McBurney © )
Application Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service Presented in by Jayanthkumar Kannan On 11/26/03.
Scalable Application Layer Multicast Suman Banerjee Bobby Bhattacharjee Christopher Kommareddy ACM SIGCOMM Computer Communication Review, Proceedings of.
1 A Comparison of Load Balancing Techniques for Scalable Web Servers Haakon Bryhni, University of Oslo Espen Klovning and Øivind Kure, Telenor Reserch.
COS 420 Day 18. Agenda Group Project Discussion Program Requirements Rejected Resubmit by Friday Noon Protocol Definition Due April 12 Assignment 3 Due.
Chapter 29 Structure of Computer Names Domain Names Within an Organization The DNS Client-Server Model The DNS Server Hierarchy Resolving a Name Optimization.
Lesson 11-Virtual Private Networks. Overview Define Virtual Private Networks (VPNs). Deploy User VPNs. Deploy Site VPNs. Understand standard VPN techniques.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #13 Web Caching Protocols ICP, CARP.
Computer Science Lecture 2, page 1 CS677: Distributed OS Last Class: Introduction Distributed Systems – A collection of independent computers that appears.
Anycast Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm.
1 Drafting Behind Akamai (Travelocity-Based Detouring) AoJan Su, David R. Choffnes, Aleksandar Kuzmanovic, and Fabian E. Bustamante Department of Electrical.
Measurement-Based Server Selection within the Application-Layer Anycasting Architecture Mostafa H. Ammar College of Computing Georgia Institute of Technology.
Multicast Communication
Wide Web Load Balancing Algorithm Design Yingfang Zhang.
1 Web Content Delivery Reading: Section and COS 461: Computer Networks Spring 2007 (MW 1:30-2:50 in Friend 004) Ioannis Avramopoulos Instructor:
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #12 LSNAT - Load Sharing NAT (RFC 2391)
1 Towards a deployable IP Anycast service Hitesh Ballani, Paul Francis Cornell University {hitesh,
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
Lecture slides prepared for “Business Data Communications”, 7/e, by William Stallings and Tom Case, Chapter 8 “TCP/IP”.
Load Test Planning Especially with HP LoadRunner >>>>>>>>>>>>>>>>>>>>>>
July 18th, th IETF Yokohama A Protocol for Anycast Address Resolving Shingo Ata, Osaka City University Hiroshi Kitamura,
1 Content Distribution Networks. 2 Replication Issues Request distribution: how to transparently distribute requests for content among replication servers.
Active Network Applications Tom Anderson University of Washington.
Network Administration
Server Load Balancing. Introduction Why is load balancing of servers needed? If there is only one web server responding to all the incoming HTTP requests.
User-Perceived Performance Measurement on the Internet Bill Tice Thomas Hildebrandt CS 6255 November 6, 2003.
1. 1.Charting the CDNs(locating all their content and DNS servers). 2.Assessing their server availability. 3.Quantifying their world-wide delay performance.
{ Content Distribution Networks ECE544 Dhananjay Makwana Principal Software Engineer, Semandex Networks 5/2/14ECE544.
Networking Basics TCP/IP TRANSPORT and APPLICATION LAYER Version 3.0 Cisco Regional Networking Academy.
Oasis: Anycast for Any Service Michael J. Freedman Karthik Lakshminarayanan David Mazières in NSDI 2006 Presented by: Sailesh Kumar.
Application-Layer Anycasting By Samarat Bhattacharjee et al. Presented by Matt Miller September 30, 2002.
CH2 System models.
Information-Centric Networks07a-1 Week 7 / Paper 1 Internet Indirection Infrastructure –Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh.
2: Application Layer1 Chapter 2 outline r 2.1 Principles of app layer protocols r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail r 2.5 DNS r 2.6 Socket.
An Efficient Approach for Content Delivery in Overlay Networks Mohammad Malli Chadi Barakat, Walid Dabbous Planete Project To appear in proceedings of.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
Advanced Networking Lab. Given two IP addresses, the estimation algorithm for the path and latency between them is as follows: Step 1: Map IP addresses.
Application of Content Computing in Honeyfarm Introduction Overview of CDN (content delivery network) Overview of honeypot and honeyfarm New redirection.
Hour 7 The Application Layer 1. What Is the Application Layer? The Application layer is the top layer in TCP/IP's protocol suite Some of the components.
Fast Handoff for Seamless wireless mesh Networks Yair Amir, Clauiu Danilov, Michael Hilsdale Mobisys’ Jeon, Seung-woo.
A Scalable Content-Addressable Network (CAN) Seminar “Peer-to-peer Information Systems” Speaker Vladimir Eske Advisor Dr. Ralf Schenkel November 2003.
TOMA: A Viable Solution for Large- Scale Multicast Service Support Li Lao, Jun-Hong Cui, and Mario Gerla UCLA and University of Connecticut Networking.
Beyond Server Selection: Challenges in Multiple-Origin Content Distribution Mostafa H. Ammar College of Computing Georgia Institute of Technology Atlanta,
Adaptive Web Caching CS411 Dynamic Web-Based Systems Flying Pig Fei Teng/Long Zhao/Pallavi Shinde Computer Science Department.
Load-Balancing Routing in Multichannel Hybrid Wireless Networks With Single Network Interface So, J.; Vaidya, N. H.; Vehicular Technology, IEEE Transactions.
Serverless Network File Systems Overview by Joseph Thompson.
An End-to-End Adaptation Protocol for Layered Video Multicast Using Optimal Rate Allocation Jiangchuan Liu, Member, IEEE, Bo Li, Senior Member, IEEE, and.
CSC 600 Internetworking with TCP/IP Unit 7: IPv6 (ch. 33) Dr. Cheer-Sun Yang Spring 2001.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan Presented.
Chapter 19 Binding Protocol Addresses (ARP) A frame transmitted across a physical network must contain the hardware address of the destination. Before.
The Client-Server Model And the Socket API. Client-Server (1) The datagram service does not require cooperation between the peer applications but such.
CIS679: Anycast r Review of Last lecture r Network-layer Anycast m Single-path routing for anycast messages r Application-layer anycast.
Address Resolution Protocol Yasir Jan 20 th March 2008 Future Internet.
John S. Otto Mario A. Sánchez John P. Rula Fabián E. Bustamante Northwestern, EECS.
Network Topologies for Scalable Multi-User Virtual Environments Lingrui Liang.
Last Class: Introduction
Mohammad Malli Chadi Barakat, Walid Dabbous Alcatel meeting
DNS.
CHAPTER 3 Architectures for Distributed Systems
Internet Networking recitation #12
Early Measurements of a Cluster-based Architecture for P2P Systems
MANAGING DATA RESOURCES
Presentation transcript:

Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service IEEE/ACM Transactions on Networking Vol.8, No. 4, August 2000 Ellen W. Zegura, Member, IEEE, Mostafa H. Ammar, Senior Member, IEEE, Zongming Fei, and Samrat Bhattacharjee

Abstract Server replication improves the ability of a service to handle a large number of clients. Server replication improves the ability of a service to handle a large number of clients. One of the important factors in the efficient utilization of replicated servers is the ability to direct client requests to the “best” server. One of the important factors in the efficient utilization of replicated servers is the ability to direct client requests to the “best” server. This paper examines the definition and support of the anycasting paradigm at the application layer, providing a service that uses an anycast resolver to map an anycast domain name and a selection criteria into an IP address. This paper examines the definition and support of the anycasting paradigm at the application layer, providing a service that uses an anycast resolver to map an anycast domain name and a selection criteria into an IP address.

anycast The anycast paradigm shares characteristics with both the multicast and unicast paradigms. The anycast paradigm shares characteristics with both the multicast and unicast paradigms. Similar to multicast, the anycast paradigm consists of groups of destinations, with the semantics that each destination in a given anycast group is equivalent in some sense. Similar to multicast, the anycast paradigm consists of groups of destinations, with the semantics that each destination in a given anycast group is equivalent in some sense. Similar to unicast, a sender that communicates with an anycast group typically interacts with one destination, chosen from the anycast group. Similar to unicast, a sender that communicates with an anycast group typically interacts with one destination, chosen from the anycast group.

Design goals It should be flexible in the specification of selection criteria. It should be flexible in the specification of selection criteria. It should be suitable for wide-area server replication. It should be suitable for wide-area server replication. It should be deployable in the current internet without modifications to the network infrastructure. It should be deployable in the current internet without modifications to the network infrastructure. It should be scalable to a large number of services, clients, and client requests. It should be scalable to a large number of services, clients, and client requests.

Methods currently used for server selection Domain name system modifications Domain name system modifications –To return one IP address from a set of servers when the DNS server is queried. –The DNS server typically uses a round-robin mechanism to allocate the servers to clients. Network-layer anycasting Network-layer anycasting –RFC 1546 –To associate a common IP anycast address with the group of replicated servers. –The limitations include lack of flexibility in the selection criteria.

Methods currently used for server selection (Cont’d) Router-assisted server selection Router-assisted server selection –Client requests are directed to a DistributedDirector (DD). The DD redirects the client to the best server. –It requires significant coordinated deployment of Cisco equipment and relies on routing tables to determine hop counts from a server to a client. Combined caching and server selection systems Combined caching and server selection systems –E.g., Akamai, Sandpiper. –They Operate their own system of caches containing content from a large number of servers.

Architecture The anycast query contains the anycast domain name (ADN), which identifies the group, and the selection criteria to be used in choosing from the group. The anycast query contains the anycast domain name (ADN), which identifies the group, and the selection criteria to be used in choosing from the group. In our scheme, an ADN is of the form %. In our scheme, an ADN is of the form %. The DomainName part of the system indicates the location of the authoritative anycast resolver for this ADN. The DomainName part of the system indicates the location of the authoritative anycast resolver for this ADN. The Service part of the ADN identifies the service within the authoritative resolver. The Service part of the ADN identifies the service within the authoritative resolver.

Architecture (Cont’d)

An anycast client makes its initial anycast query to its local resolver. An anycast client makes its initial anycast query to its local resolver. If the resolver is authoritative for the ADN in the query or if it has cached information about the ADN, it can process the query immediately and return the appropriate response. If the resolver is authoritative for the ADN in the query or if it has cached information about the ADN, it can process the query immediately and return the appropriate response. Otherwise, the local resolver determines the address of the authoritative resolver for the DomainName part of the ADN and obtains the anycast group information from this resolver. Otherwise, the local resolver determines the address of the authoritative resolver for the DomainName part of the ADN and obtains the anycast group information from this resolver.

Architecture (Cont’d)

Maintenance of metric information in resolvers Remote Server Performance Probing Remote Server Performance Probing –A probing agent periodically queries the servers to estimate the performance that a client would experience. –This technique measures network path performance and does not require server modification. Server Push Server Push –The server monitors its performance and pushes this information to resolvers when interesting changes occur. –This technique are scalability and accurate server measurements. –The servers must be modified and the network path performance is not easily measured.

Maintenance of metric information in resolvers (Cont’d) Probing for Locally Maintained Server Performance Probing for Locally Maintained Server Performance –Each server maintains its own locally monitored performance metrics in a globally readable file. –Remote probing locations can then read the information in the file to obtain the desired information. User Experience User Experience –Users currently make server access decisions based in part on past experience. –The primary advantage is that no additional burden is placed on the server or the network.

Maintenance of metric information in resolvers (Cont’d) P: number of probing agents T p : the period of probing T s : the period of server push 2P/T p 1/T s 2P/T p None

Case study: web server response time Metric collection technique Metric collection technique –Server-push algorithm –Agent probe mechanism –Hybrid push/probe technique

Metric collection technique Server-push algorithm Server-push algorithm –To assess its performance, the server measures the time from just after assigning the process until just before doing the first read. Agent probe mechanism Agent probe mechanism –The probe is made to a well-known file that is maintained at anycast-aware servers specifically to service probe requests. –The file contains the most recent measured performance value by the server. –The response time depends on server and path characteristics is probed.

Metric collection technique (Cont’d) Hybrid push/probe technique Hybrid push/probe technique –The idea is to use the probes to get a measurement of the response time that includes the network path. –Let R denote the most recent measurement of response time when probing for the well-known file. –Let S denote the server time value reported in the file during the most recent probe. –Let S(i) denote the ith value pushed by the server. –Adjustment factor A = R/S. –Thus, the resolver estimates the current response time as R(i) = A * S(i).

Evaluation of push-probe technique

Refinement The set of equivalent servers (ES) is defined as the subset of the replicated servers whose measured performance is within a threshold of best performance. The set of equivalent servers (ES) is defined as the subset of the replicated servers whose measured performance is within a threshold of best performance.

Software components

Experimental setup Anycast-aware servers Anycast-aware servers –Use a modified Apache http daemon to act as a performance-monitoring server. –The modified web server emulates the real server in the number of bytes sent for each request, without actually maintaining the files of the real server. Clients Clients –Modifying the NCSA Mosaic client to have the desired behavior. –Intercepting calls to the gethostbyname() library call and check if the argument is an ADN.

Experimental setup (Cont’d) Anycast resolver and probing agent Anycast resolver and probing agent –Use a modified NCSA Mosaic client that periodically queries each server in the anycast group for the probing file, and communicates the end-to-end response time and performance data to the resolver. Client and server internet locations Client and server internet locations –There were four anycast-aware servers, one running at Washington University, St. Louis, and two running at Georgia Tech. –The anycast resolvers were run at the University of Maryland, College Park, and Georgia Tech. –The anycast-aware clients were located at the University of Maryland and Georgia Tech.

Experimental topology

Experimental results

Experimental results (Cont’d) We could not control variation in the load of network paths. Thus the response times for a given request cannot be directly compared. Instead, the important feature of the plot is the relative values over the complete set of assesses. We could not control variation in the load of network paths. Thus the response times for a given request cannot be directly compared. Instead, the important feature of the plot is the relative values over the complete set of assesses.

Experimental results (Cont’d)

Join and leave thresholds When the leave threshold increases to 1.6, the response time is almost the same as in the random selection case. This is because a server will rarely leave the equivalent group after joining it. The resolvers essentially perform a random selection among the servers. When the leave threshold increases to 1.6, the response time is almost the same as in the random selection case. This is because a server will rarely leave the equivalent group after joining it. The resolvers essentially perform a random selection among the servers. The relatively poor performance for low values of both join and leave threshold is caused by oscillation in server load. Since the thresholds are low, the equivalent server set at a resolver will usually contain only server. The relatively poor performance for low values of both join and leave threshold is caused by oscillation in server load. Since the thresholds are low, the equivalent server set at a resolver will usually contain only server.

Oscillation in server load

Oscillation in server load (cont’d)