In this approach all the cooperative servers are equivalent, in that any of them can handle requests from any client. The servers make efficient use of network bandwidth by using IP multicasting to communicate. The protocol they implemented is presented graphically in Figure 2.1, and its explanation follows:
Figure 2.1 : Illustration of the distributed proxying protocol.
Although it might appear strange that the server A re-directs the client to proxy B instead of having B send the copy to A which would pass it to the client, at a closer glance it looks like a very good idea. If it didn't do so, there would be two proxies working to serve only one client, and the bandwidth in the proxies' network would be used inefficiently. Another possible solution would be to use multicast at the client level, but in this case the client browser would need to be modified, which, again, is not desirable. The solution presented above still requires a modification to implement the redirection mechanism, but it is minor: an extension to HTTP to include a special redirect code, and modification at the client to interpret this code.