Studies show a client needs 4 times its local cache to see significant improvements. Don't want server intervention because want to keep this algorithm simple. When a client cannot find a block in its local cache, it consult the server. If the server does not have it in its cache, it tries to find it in another client's cache and forward the request to such client. The client receiving the forwarded request sends the data directly back to the requesting client.
Clients still have full control of their local cache while reaping benefits from others.
This method also does not increase server load too much. Unnecessary duplication of data because there is not coordination among clients. Behaves much like moving memory from clients to the server. High global hit rate because of the global memory management. Also, server load might increase as a result of all the coordination.