Patent Number: 
Section: claims

1. 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; andhandling I/O requests to the created virtual storage device by calculating offsets in the formatted backing store; anddynamically 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; andautomatically 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. 2. The method of claim 1 wherein the created virtual storage device is a removable disk drive. 3. The method of claim 1 wherein the created virtual storage device is a fixed disk drive. 4. The method of claim 1 wherein the created virtual storage device is an optical disk drive. 5. The method of claim 1 wherein the formatted backing store is formatted in IS09660 format. 6. The method of claim 1 wherein the formatted backing store is formatted in UDF format. 7. The method of claim 1 wherein the formatted backing store contains a partition table and at least one partition. 8. A computer storage medium having computer-executable instructions for performing the steps recited in claim 1. 9. A computer storage medium having computer-executable components and software monitoring created devices, the computer-executable components adapted for execution on a physical computer comprising a memory, the computer-executable components comprising a plurality of modules, the modules comprising:a system bus driver module for simulating a system bus adapted to interface with a plurality of virtual storage devices;a virtual storage device creation module for creating a virtual storage device on the simulated system bus by creating a physical device object, the created virtual storage device simulating a physical storage device not operatively coupled to the physical computer system, and returning a hardware ID to software monitoring created devices identifying a type of the physical storage device simulated by the created virtual storage device;a storage class attachment module for 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;a partition manager module for creating a partition on a storage medium of the physical computer system, the storage medium being of a first device type, and mapping the virtual storage device to the partition in the storage medium of the physical computer system such that data written to the virtual storage device is written to the partition on the storage medium of the physical computer system;a file system mounting module for mounting a file system to each partition on the created virtual storage device;an I/O request module for handling I/O requests to the created virtual storage device by calculating offsets in the formatted backing store; anddynamically 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; andautomatically 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. 10. The computer storage medium of claim 9 wherein the created virtual storage device is a removable disk drive. 11. The computer storage medium of claim 9 wherein the created virtual storage device is a fixed disk drive. 12. The computer storage medium of claim 9 wherein the created virtual storage device is an optical disk drive. 13. A method for automating testing of software or hardware components by creating a plurality of virtual storage devices on a 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 the plurality of virtual storage devices;dynamically creating a first virtual storage device of the plurality of virtual storage devices on the simulated system bus by creating a physical device object for the first virtual storage device, the first virtual storage device simulating a first 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 first virtual storage device;attaching, to the first 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 a partition on a storage medium of the physical computer system, the storage medium being of a first device type;mapping the first virtual storage device to the partition on the storage medium of the computer system such that data written to the first virtual storage device is written to the partition on the storage medium of the computer system;mounting a file system to the partition on the storage medium;handling I/O requests to the first virtual storage device by calculating offsets in the formatted backing store; anddynamically 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; andautomatically 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. 14. The method of claim 13 further comprising an act of 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. 15. The method of claim 13 wherein the plurality of testing operations comprises simulating, using one of the first and second virtual storage devices, insertion of a compact disc into a CD-ROM drive to test at least one of autoplay functionality, CD burning functionality, or audio playback functionality. 16. The method of claim 13 wherein the plurality of testing operations comprises a first subset of testing operations involving interactions with the first physical storage device and a second subset of testing operations involving interactions with the second physical storage device. 17. The method of claim 13 wherein the partition manager module is further adapted to create a formatted backing store on the partition, the formatted backing store being formatted like a second device type, different from the first device type.