An architecture for service replication must be able to selectively and dynamically replicate IP services (not hosts) fully transparently to the clients. It must be completely application independent, making it a solution for current and next-generation services. In addition, it should be easy to incrementally shoe-horn into the existing IP infrastructure (similar to the MBONE).
With these requirements in mind, we designed and implemented HYDRANET, an infrastructure for service scaling on IP. HYDRANET replicates services by globally replicating IP addresses. A service is replicated by installing replicas on one or more host servers and have them bind to the same set of TCP or UDP ports as the service on the origin host. Redirectors ensure that the replicas on the host servers are accessible under the same IP address as the origin host. When a redirector receives an IP packet destined to a replicated service, it determines the location of the ``nearest'' replica of the service, which is identified by the pair of IP address and port number. If the destination of the packet does not appear to the redirector as a service with replica, the packet is simply forwarded to its destination. This allows to dynamically, and transparently, install replicas at strategic locations (for example ``near'' large client populations).
We borrow the general idea for the support of replicated services from Mobile IP [20]. In the proposed Mobile IP protocol, the home agent of the mobile node forwards incoming packets to the roaming mobile node by tunnelling them to its current foreign agent, which then passes them to the mobile node. We can think of the processes running replicated services being software equivalents of mobile hosts, and the host servers being the equivalent of foreign agents. In addition to the differences between host servers and foreign agents, the two main points of difference are (1) that multiple copies of the replicated servers can be active simultaneously, while only one copy of the mobile node exists at any point in time; (2) the redirectors can be thought of as a distributed version of the home agent.