Patent ID: 8683464

Claim:
At a computer system including a processor and a memory, in a computer networking environment including a plurality of computing systems, a computer-implemented method for dynamically creating and managing a plurality of virtual machines, the method comprising: an act of the computer system receiving a user request, the user request requesting to create a plurality of virtual machines, wherein each virtual machine is controlled by an associated workflow; an act of the computer system accessing a provisioning schema that indicates one or more configuration settings that are to be used by the associated workflow when provisioning each of the plurality of virtual machines; an act of the computer system initiating a virtual service layer that is configured to support multiple virtual machine hosts, each host being configured to operate at least one virtual machine; and an act of the virtual service layer instantiating each of the plurality of virtual machines on at least one virtual machine host according to the respective configuration settings from the accessed provisioning schema, instantiating the plurality of virtual machines including directly associating a read-only virtual hard disk image with each of the plurality of virtual machines and applying the respective configuration settings to the read-only virtual hard disk image, such that each virtual machine of the plurality of virtual machines is provisioned according to the indicated configuration settings, wherein the read-only virtual hard disk image is distributed to a plurality of computer systems, such that when one computer system receives a plurality of substantially simultaneous requests for the read-only virtual hard disk image, one or more of the requests are forwarded to the other computer systems on which the virtual hard disk image has been distributed.