Patent ID: 7299250

Claim:
A method for determining location to store object replicas, the method comprising: receiving an indication of a homeless replica of an object, wherein the object has a plurality of replicas including the homeless replica; determining an initial placement for the homeless replica, wherein the initial placement is one of a plurality of devices in a system; evaluating, on an object by object basis, whether any replicas of the object can be swapped with one of a plurality of replicas of an other object and not reduce a combined object availability of the two objects, wherein the evaluating comprises determining, for each possible swapping of replicas of objects, an object availability for each object, and checking whether any of the possible swappings result in a combined object availability of two objects that is greater than other combined object availability prior to the evaluating; and swapping a replica of the object with the one of the plurality of replicas of the other object, wherein the swapping is based on the evaluating and performed only if the swapping does not reduce the combined object availability of the two objects, wherein the replica of the object is stored on a first computing device and wherein the swapping the replicas comprises moving the replica of the object to a second computing device, storing the moved replica of the object in the second computing device and moving the one of the plurality of replicas of the other object to the first computing device, wherein the swapping results in decreasing an availability of the object and increasing an availability of the other object.