Application-layer anycasting: a server selection architecture and use in a replicated Web service

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, according to some optimality criteria. In the anycasting communication paradigm, a sender communicates with a receiver chosen from an anycast group of equivalent receivers. As such, anycasting is well suited to the problem of directing clients to replicated servers. 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. By realizing anycasting in the application-layer, we achieve flexibility in the optimization criteria and ease the deployment of the service. As a case study, we examine the performance of our system for a key service: replicated Web servers. To this end, we develop an approach for estimating the response time that a client will experience when accessing given servers. Such information is maintained in the anycast resolver that clients query to obtain the identity of the server with the best estimated response time. Our performance collection technique combines server push with resolver probes to estimate the expected response time without undue overhead. Our experiments show that selecting a server using our architecture and estimation technique can improve the client response time by a factor of two over nearest server selection and by a factor of four over random server selection.

[1]  Peter B. Danzig,et al.  The Harvest Information Discovery and Access System , 1995, Comput. Networks ISDN Syst..

[2]  Peter B. Danzig,et al.  Massively Replicating Services in Wide-Area Internetworks , 1994 .

[3]  Robert Joseph Fowler,et al.  Decentralized object finding using forwarding addresses (object, network, distribution) , 1985 .

[4]  Carey L. Williamson,et al.  Internet Web servers: workload characterization and performance implications , 1997, TNET.

[5]  Reinhold Kröger,et al.  JEWEL: Design and Implementation of a Distributed Measurement System , 1992, IEEE Trans. Parallel Distributed Syst..

[6]  Robert Joseph Fowler,et al.  Decentralized object finding using forwarding address , 1985 .

[7]  Michelle Butler,et al.  A Scalable HTTP Server: The NCSA Prototype , 1994, Comput. Networks ISDN Syst..

[8]  Beth A. Schroeder On-Line Monitoring: A Tutorial , 1995, Computer.

[9]  Michael F. Schwartz,et al.  Locating nearby copies of replicated Internet servers , 1995, SIGCOMM '95.

[10]  Margo I. Seltzer,et al.  The case for geographical push-caching , 1995, Proceedings 5th Workshop on Hot Topics in Operating Systems (HotOS-V).

[11]  Douglas B. Terry Caching Hints in Distributed Systems , 1987, IEEE Transactions on Software Engineering.

[12]  Craig Partridge,et al.  Host Anycasting Service , 1993, RFC.

[13]  Srinivasan Keshav,et al.  A control-theoretic approach to flow control , 1991, SIGCOMM '91.

[14]  Mark Crovella,et al.  Server selection using dynamic path characterization in wide-area networks , 1997, Proceedings of INFOCOM '97.

[15]  Philip S. Yu,et al.  Adaptive TTL schemes for load balancing of distributed Web servers , 1997, PERV.

[16]  Mostafa Ammar,et al.  Optimizing a Generalized Polling Protocol for Resource Finding over a Multiple Access Channel , 1995, Comput. Networks ISDN Syst..

[17]  P.S. Yu,et al.  Scheduling algorithms for distributed Web servers , 1997, Proceedings of 17th International Conference on Distributed Computing Systems.

[18]  Roger M. Needham,et al.  Grapevine: an exercise in distributed computing , 1982, CACM.

[19]  Martin F. Arlitt,et al.  Web server workload characterization: the search for invariants , 1996, SIGMETRICS '96.

[20]  Mark Crovella,et al.  Dynamic Server Selection In The Internet , 1995, Third IEEE Workshop on the Architecture and Implementation of High Performance Communication Subsystems.

[21]  Srinivasan Seshan,et al.  SPAND: Shared Passive Network Performance Discovery , 1997, USENIX Symposium on Internet Technologies and Systems.

[22]  Henning Schulzrinne,et al.  Wide Area Network Service Location , 1997 .

[23]  Adrian Segall,et al.  Directories for Networks with Casually Connected Users , 1989, Comput. Networks ISDN Syst..

[24]  Mark Crovella,et al.  Dynamic Server Selection using Bandwidth Probing in Wide-Area Networks , 1996 .

[25]  Charles E. Perkins,et al.  Service Location Protocol , 1997, RFC.

[26]  Eric C. Rosen,et al.  The Updating Protocol of ARPANET's New Routing Algorithm , 1980, Comput. Networks.

[27]  Yogen K. Dalal,et al.  The clearinghouse: a decentralized agent for locating named objects in a distributed environment , 1983, TOIS.