Patent ID: 7200618

Claim:
A computing device for determining location to store object replicas, the computing device comprising: means for receiving an indication of a homeless replica of an object wherein the object has a plurality of replicas including the homeless replica, wherein the object is a file; means for determining an initial placement for the homeless replica, wherein the initial placement is one of a plurality of devices in a system; means for evaluating, on an object by object basis, whether any replicas of a first object can be swapped with one of a plurality of replicas of a second object and not reduce a combined object availability of the first and second objects, wherein the first object is selected as one of a plurality of objects managed by a first computing device having a lowest object availability, and the second object is selected as one of another plurality of objects managed by a second computing device having a highest file availability, wherein the means for evaluating comprises: means for determining, for each possible swapping of replicas of the objects, an object availability for each object; and means for checking whether any of the possible swappings result in the combined object availability of the first and second objects that is greater than a combined object availability; and means for swapping a replica of the first object with the one of the plurality of replicas of the second object only if the swapping does not reduce the combined object availability of the first and second objects, wherein the swapping results in increasing an availability of the first object and decreasing an availability of the second object.