An overview of data replication on the Internet <s> Location of Redirection <s> This RFC is the revised specification of the protocol and format used ::: in the implementation of the Domain Name System. It obsoletes RFC-883. ::: This memo documents the details of the domain name client - server ::: communication. <s> BIB001 </s> An overview of data replication on the Internet <s> Location of Redirection <s> We investigate the issues involved in developing a scalable World Wide Web (WWW) server on a cluster of workstations and parallel machines. The objective is to strengthen the processing capabilities of such a server by utilizing the power of multicomputers to match huge demands in simultaneous access requests from the Internet. We have implemented a system called SWEB on a distributed memory machine, the Meiko CS-2, and networked workstations. The scheduling component of the system actively monitors the usages of CPU, I/O channels and the interconnection network to effectively distribute HTTP requests across processing units to exploit task and I/O parallelism. We present the experimental results on the performance of this system. <s> BIB002 </s> An overview of data replication on the Internet <s> Location of Redirection <s> The World Wide Web and the phrase 'traffic jam' have become as linked in the minds of many computer users as are the urban superhighway and rush hour to the early morning commuter. Insufficient bandwidth causing high latency are the order of the day. Caching is a standard solution for this type of problem, and it was applied to the Web early on for this reason. The more advanced approaches of replication and application level naming were introduced to further attack the problem. However, these complex methods could easily exacerbate the situation if the implementation is not well designed and the results are not evaluated carefully. This article examines the benefits that can be obtained from both caching and replication by analyzing the performance of the main proxy cache at the University of Kaiserslautern as well as a system of replicate servers designed and implemented at the University's System Software research group. Our data show that replication in particular helps to reduce overall bandwidth as well as user-perceived latency. It can also provide a more fault-tolerant and evenly balanced system. <s> BIB003 </s> An overview of data replication on the Internet <s> Location of Redirection <s> Individual machines are no longer sufficient to handle the offered load to many Internet sites. To use multiple machines for scalable performance, load balancing, fault transparency, and backward compatibility with URL naming must be addressed. A number of approaches have been developed to provide transparent access to multi-server Internet services including HTTP redirect, DNS aliasing, Magic Routers, and Active Networks. Recently however, portable Java code and lightly loaded client machines allow the migration of certain service functionality onto the client. In this paper, we argue that in many instances, a client-side approach to providing transparent access to Internet services provides increased flexibility and performance over the existing solutions. We describe the design and implementation of Smart Clients and show how our system can be used to provide transparent access to scalable and/or highly available network services, including prototypes for: telnet, FTP, and an Internet chat application. <s> BIB004 </s> An overview of data replication on the Internet <s> Location of Redirection <s> Abstract The strategy of the Internet2-distributed Storage Infrastructure is to promote the development of innovative applications by focusing on Internet channels that enable differential investment in infrastructure to support specific services and content. In our sense a channel is a collection of content which can be transparently delivered to end user communities at a chosen cost/performance point through a flexible, policy-based application of resources. Three key elements of this approach are focusing on collections of content, policy-based application of resources through replication, and transparent delivery to end users. The resulting architectural developments may be as important to the commodity Internet as to next generation applications. <s> BIB005 </s> An overview of data replication on the Internet <s> Location of Redirection <s> To construct high performance Web servers, system builders are increasingly turning to distributed designs. An important challenge that arises in such designs is the need to direct incoming connections to individual hosts. Previous methods for connection routing (layer 4 switching) have employed a centralized node to handle all incoming requests. In contrast, we propose a distributed approach, called distributed packet rewriting (DPR), in which all hosts of the distributed system participate in connection routing. DPR promises better scalability and fault-tolerance than the current practice of using centralized special-purpose connection routers. We describe the implementation of four variants of DPR and compare their performance. We show that DPR provides performance comparable to centralized alternatives, measured in terms of throughput and delay. Also, we show that DPR enhances the scalability of Web server clusters by eliminating the performance bottleneck exhibited when centralized connection routing techniques are utilized. <s> BIB006 </s> An overview of data replication on the Internet <s> Location of Redirection <s> We present and evaluate an implementation of a prototype scalable web server consisting of a load-balanced cluster of hosts that collectively accept and service TCP connections. The host IP addresses are advertised using round robin DNS (RR-DNS) technique, allowing any host to receive requests from any client. Once a client attempts to establish a TCP connection with one of the hosts, a decision is made as to whether or not the connection should be redirected to a different host-namely, the host with the lowest number of established connections. We use the low-overhead Distributed Packet Rewriting (DPR) technique to redirect TCP connections. In our prototype, each host keeps information about the remaining hosts in the system. Load information is maintained using periodic multicast amongst the cluster hosts. Performance measurements suggest that our prototype outperforms both pure RR-DNS and the stateless DPR solutions. <s> BIB007
Depending upon where the redirection occurs, the various schemes proposed in the literature could fall under the following main categories: Client Side Redirection: The web browser obtains a set of physical replicas and chooses where to send the request. This approach is used for example in BIB003 and BIB004 . The scheme in BIB004 relies on Java applets carrying knowledge of the actual replication scheme. URLs point to these applets and the choice is done at the client's side. Although such policy scales well, the overhead for fetching and running the applet can not be neglected. In BIB003 information about replica sets is propagated in HTTP headers. The scheme although scalable, requires changes to be made at both servers and clients in order to process the headers. Router Redirection: A multiplexing router is placed in front of a server farm and the domain name of the web site is mapped to the IP address of the router. Upon receiving the first packet from a client the router selects a server in the farm and forwards the request. A database for the active sessions is kept in order to make sure that all packets from a single client end at the same server. Server respond packets are intercepted and their headers are modified so as to contain the router's IP address. CISCO's Local Director  implement this policy. DNS Redirection: Several schemes proposed in the literature take advantage of the DNS BIB001 infrastructure to redirect requests. In BIB005 , the DNS server of the service provider returns the set of IP addresses corresponding to the locations of different replicas. The DNS resolver at the client side decides where to send the request, possibly after probing the servers and measuring the response time.  also uses the DNS backbone for redirection only that server selection is done at the sites' DNS server, with the aim of load balancing the servers. Although, DNS based redirection adds no extra communication on the critical path of request processing it suffers from another disadvantage. The performance of the DNS backbone, relies heavily on caching recently resolved names, which can result in stale replica selection and server overloading, thus hindering the scalability and performance of DNS based redirection schemes. In  the authors quantify the impact (in terms of latency) of reducing the TTL values of the cached name resolutions. They provide empirical evidence that the latency can rise by two orders of magnitude when DNS resolution is done without caching. Moreover, trace analysis of dial-up ISP clients indicated that clients can be very distant from their corresponding nameservers, which can lead to redirecting requests to suboptimal servers.  studies the contribution of DNS lookups when retrieving web documents. Simulation results showed that the DNS entries which return multiple IP addresses, change more frequently compared to those returning a single one. Server Side Redirection: Some of the proposed techniques rely on the web servers performing request redirection. Examples of this approach are the SWEB system BIB002 and the Distributed Packet Rewriting (DPR) BIB006 . In SWEB each server decides whether to serve a request locally or redirect it using the HTTP redirection functionality  . The decision is taken based on the current workload exhibited by the servers, which requires the servers to periodically broadcast their state. DPR on the other hand, uses a packet rewriting mechanism which allows a web server to act essentially as a router, redirecting the connection elsewhere. Implementation details on distributed connection routing using DPR can be found in BIB007 . A positive aspect of server side redirection is the fact that it allows the actual content of a request to determine the redirection decision (e.g., a server optimized to run CGI scripts should satisfy the biggest portion of such requests).