ABSTRACT

Distributed applications are modeled around replicating copies of the same data on many hosts in a network for a variety of reasons. For one, system designers can alleviate the single-server implosion problem and instead distribute client requests for data across many hosting servers. Second, making data locally available on a host speeds up applications because the applications do not block for network input/output as data is transmitted; in some networks, this latency can be on the order of hundreds of milliseconds. Also, a desirable side effect is data robustness due to the existence of redundant copies on geographically separated hosts.