Patent ID: 8862644

Claim:
A system for distributing data, comprising: a processor configured to: receive at a first node of a plurality of nodes a first request for data associated with a first file; determine at the first node that the first file is located on a second node; receive at the first node a second request for data associated with the first file; determine that a third node should have an instance of the first file; cause the third node to have the instance of the first file; and receive an indication that the third node has received the instance of the first file from a sending node, wherein in response to the indication, the first file is demoted at the sending node to a cached copy and an association to the third node is generated at the sending node to cause the sending node to redirect a subsequent request associated with the first file received at the sending node to the third node; and a memory coupled to the processor and configured to provide the processor with instructions.