File availability in distributed file storage systems
AssigneeMicrosoft Corporation
InventorsJohn R. Douceur, Roger P. Wattenhofer
Life of this patent
Estimating the term…
Abstract
File availability in distributed file storage systems is improved by initially placing replicas of a file or other object on different ones of multiple devices using a first process. Subsequently, the placement of the replicas is improved by evaluating whether any replicas of a first file can be swapped with any replicas of a second file without a reduction in the combined file availability of the first and second files, and swapping a replica of the first file with a replica of the second file if the swapping results in no reduction in the combined file availability of the first and second files.
Claims48
A method for determining where 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 whether any replicas of the object can be swapped with one of a plurality of replicas of another object and not reduce a combined object availability of the two objects;
- and
- swapping a replica of the object with the one of the plurality of replicas of the other object only if the swapping does not reduce the combined object availability of the two objects.
One or more computer readable media having stored thereon a plurality of instructions that, when executed by one or more processors of a computing device, causes the one or more processors to perform acts comprising:
- working, in conjunction with one or more other processors of another computing device, to determine whether a replica of a file managed by the computing device and a replica of another file managed by the other computing device can be swapped with one another to bring an availability of the file and an availability of the other file closer;
- and
- swapping the replica of the file and the replica of the other file only if the swapping brings the availability of the file and the availability of the other file closer.
A serverless distributed file system comprising:
- a first plurality of computing devices storing files;
- a second plurality of computing devices managing storage of the files;
- wherein a first computing device of the second plurality of computing devices selects a file for which it manages storage and communicates with a second computing device of the second plurality of computing devices to determine whether a replica of the file and a replica of another file for which the second computing device manages storage can be swapped in order to improve a combined file availability;
- and
- if the replicas can be swapped to improve the combined file availability, then instructing the one of the first plurality of computing devices on which the replica of the file is stored to transfer the replica of the file to the one of the first plurality of computing devices on which the replica of the other file is stored, and instructing the one of the first plurality of computing devices on which the replica of the other file is stored to transfer the replica of the other file to the one of the first plurality of computing devices on which the replica of the file is stored.
One or more computer readable media having stored thereon a plurality of instructions that, when executed by one or more processors of a computing device, causes the one or more processors to:
- initially place replicas of a file on different ones of a plurality of devices using a first process;
- and
- subsequently improve the placement of replicas of a plurality of files by evaluating whether any replicas of a first file can be swapped with any replicas of a second file without a reduction in the combined file availability of the first and second files, and swapping a replica of the first file with a replica of the second file if the swapping results in no reduction in the combined file availability of the first and second files.
A method, implemented in a directory group, the method comprising:
- selecting another directory group to participate with in a replica placement improvement process;
- selecting a file maintained by the directory group;
- determining whether exchanging a replica of the file with a replica of another file maintained by the other directory group will increase a combined file availability of the files;
- and
- having the replica of the file and the replica of the other file exchanged if exchanging the replicas will increase the combined file availability of the files.
Dependencies are inferred from the claim text.