Patent ID: 7500082

Claim:
A method for dynamically creating a virtual storage device on a physical computer system, the physical computer system comprising software monitoring created devices, the method comprising: loading a system bus driver module, wherein the system bus driver module simulates a system bus adapted to interface with a plurality of virtual storage devices; dynamically creating a virtual storage device on the simulated system bus by creating a physical device object for the created virtual storage device, the created virtual storage device simulating a physical storage device not operatively connected to the physical computer system; returning a hardware ID to the software monitoring created devices, wherein the hardware ID identifies a type of the physical storage device simulated by the created virtual storage device; attaching, to the created virtual storage device, a storage class driver corresponding to the type of the physical storage device based on processing done by the software monitoring created devices; creating at least one partition on a storage medium of the physical computer system, the storage medium being of a first device type; creating a formatted backing store on the at least one partition, the formatted backing store being formatted like a second device type different from the first device type, the second device type being a type of the simulated physical storage device; mapping the virtual storage device to the formatted backing store in the storage medium of the physical computer system such that data written to the virtual storage device is written to the at least one partition on the storage medium of the physical computer system; mounting a file system to each partition on the created virtual storage device; and handling I/O requests to the created virtual storage device by calculating offsets in the formatted backing store; and dynamically creating at least one second virtual storage device of the plurality of virtual storage devices on the simulated system bus by creating a second physical device object for the at least one second virtual storage device wherein the second virtual storage device is of a different type than the first virtual storage device, the at least one virtual storage device simulating a second physical storage device not operatively connected to the computer system different from the first physical storage device; and automatically performing a plurality of testing operations to test functions of the software or hardware components involving interactions with the first and second physical storage devices, the automatically testing comprising simulating the first and second physical storage devices with the first virtual storage device and the second virtual storage device, wherein performing a plurality of testing functions comprises performing at least one testing operation for the first virtual storage device and the second virtual storage device.