Patent ID: 8417888

Claim:
A system for implementing RAID, comprising: a first computing device coupled to a set of hosts, including: a processor; a data store for storing data associated with a volume; a non-transitory computer readable medium comprising instructions executable by the processor for: executing an application program on the first computing device, wherein the application program is a virtual machine and the application program is executed using a virtualization layer on the first computing device; and implementing a RAID application in association with the first computing device and one or more additional computing devices, the RAID application operable to: receive a command corresponding to a first segment of a set of segments of the volume, wherein the command was issued by the application program and the set of segments and redundancy data corresponding to a RAID level implemented in conjunction with the volume are stored in association with the first computing device and the one or more additional computing devices according to a random permutation; and determine if the first segment is stored in association with the first computing device and if the first segment is stored in association with the first computing device execute the command with respect to the first segment stored in association with the first computing device, and if the first segment is not stored in association with the first computing device, determine a second computing device of the one or more additional computing devices that is associated with the first segment and forward the first command to the second computing device.