A system of network proxies distributes data to multiple servers. Each
network proxy is associated with a server. A network proxy intercepts a
client request for data. If the network proxy determines that the request
can be served using a copy of data stored on the local server, rather
than the data stored on a remote server, it diverts the request to the
local server. If the network proxy determines that the request cannot be
served using a data from the local server, the network proxy diverts the
request to a remote server storing the primary copy of the data. A server
map specifies the locations of the primary copies of data. When a primary
copy of data is updated on one of the servers, the associated network
proxy propagates the updated data to the other servers. The servers can
provide data from files, e-mail services, databases, or multimedia
services.