Methods and apparatuses enable creation of a virtual machine (VM) clone initiated through application or service logic. The application requests generation of a VM clone from within the runtime execution of the application. The request is serviced by a VM generator, which identifies a state of the VM to clone and identifies hardware resources on which to create the VM clone. Based on a determination of what resources on which to generate the VM clone, the VM generator creates the VM clone on the determined resources, having the identified state. In one embodiment, a use case of resource copy or reference copy is selected for each resource. In one embodiment, the VM generator considers a number of factors in determining where to instantiate the VM clone. The parameters may include hints or preference parameters sent by the application and/or resource loading or performance.


  • Mic Bowman
  • Rob Knauerhase
  • Paul Brett
  • Robert Adams