Patent ID: 8443139

Claim:
In a computer system having multiple physical machines each configured with a respective virtualization software for supporting execution of one or more virtual machines therein, a method for controlling access to an emulated block-based storage device configured to receive block-based commands from a first virtual machine running in one of the physical machines, the method comprising: receiving a block-based command from the first virtual machine to access the emulated block-based storage device, wherein the emulated block-based storage device is represented by a first file stored in a file-based data storage device that is configured to receive file-level commands and includes a file system and storage resources to store data in accordance with the file system; determining whether a second file associated with the first file exists in the file-based data storage device, wherein the second file is accessible by the virtualization software of the physical machines and maintains a first lock value for controlling access to the first file by the virtual machines; if the second file does not exist, generating a third file that is accessible by the virtualization software of the physical machines and associated with the first file, in which a second lock value for controlling access to the first file by the virtual machines is maintained, and periodically updating the second lock value to allow continued access to the first file by the first virtual machine; and transmitting file level commands to the file-based data storage device corresponding to received block-based commands intended for the emulated block-based storage device.