IP Library Granted Patent US 9,626,215
Granted Patent B2
US 9,626,215 · App. 14/666,979 · Granted Apr 18, 2017

Virtual machine provisioning engine

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,626,215
App. No.
14/666,979
Granted
Apr 18, 2017
Kind
B2
Abstract

Embodiments described herein extend to methods, systems, and computer program products for setting up, configuring, and customizing one or more virtual machines. A scenario definition file may be accessed and parsed to provide information to a virtual machine provisioning server. A virtual machine is provisioned and instantiated according to the information contained in the scenario definition file. A virtual machine is instantiated upon a host machine. Upon instantiation, a virtual machine communicates with a custom action service to execute an action upon the virtual machine.

Claims (33)

1. A method for setting up, configuring, and customizing one or more virtual machines, the method performed at a computer system including one or more processors and data storage, the method comprising:

accessing a virtual machine scenario definition file defining the characteristics of one or more virtual machines, the virtual machine scenario definition file comprising data fields used to describe a group of virtual machines that share a common template;

parsing the virtual machine scenario definition file, including the data fields, to determine information defining a virtual machine;

providing to a virtual machine provisioning server the information defining the virtual machine such that the provisioning server passes a request to a virtual machine host which instantiates the virtual machine; and

communicating with a custom action service of the virtual machine provisioning server to cause an action to execute upon the virtual machine.

2. The method of claim 1 wherein the virtual machine scenario definition file is an XML schema file.

3. The method of claim 1 wherein communicating with the custom action service comprises using a Simple Object Access Protocol (SOAP) based, firewall-friendly protocol.

4. The method of claim 1 wherein the custom action service comprises using a remoting channel using Windows remote management.

5. The method of claim 1 wherein the virtual machine scenario definition file describes a plurality of virtual machines.

6. The method of claim 1 wherein the virtual machine scenario definition file describes a plurality of virtual machines and one or more dependencies between at least two of the plurality of virtual machines.

7. The method of claim 5 wherein a first virtual machine awaits a dependency upon a second machine to be satisfied before completing a custom action.

8. The method of claim 1 wherein the scenario file identifies one or more template files, the template files defining a particular type of virtual machine.

9. The method of claim 1 wherein the scenario file identifies one or more template files, the template files defining a particular type of virtual machine and the template files comprising a pre-configured remoting shell such that, when a virtual machine has been created from at least one of the templates, it may be immediately connected to for communication and/or customization.

10. A computer program product for setting up, configuring, and customizing one or more virtual machines, the computer program product comprising one or more computer readable hardware storage devices having encoded thereon computer executable instructions for performing a method at a computer system including one or more processors, the method comprising:

accessing a virtual machine scenario definition file defining the characteristics of one or more virtual machines, the virtual machine scenario definition file comprising data fields used to describe a group of virtual machines that share a common template;

parsing the virtual machine scenario definition file, including the data fields, to determine information defining a virtual machine;

providing to a virtual machine provisioning server the information defining the virtual machine such that the provisioning server passes a request to a virtual machine host which instantiates the virtual machine; and

communicating with a custom action service of the virtual machine provisioning server to cause an action to execute upon the virtual machine.

11. The computer program product of claim 10 wherein the virtual machine scenario definition file is an XML, schema file.

12. The computer program product of claim 10 wherein communicating with the custom action service comprises using a Simple Object Access Protocol (SOAP) based, firewall-friendly protocol.

13. The computer program product of claim 10 wherein the custom action service comprises using a remoting channel using Windows remote management.

14. The computer program product of claim 10 wherein the virtual machine scenario definition file describes a plurality of virtual machines.

15. The computer program product of claim 10 wherein the virtual machine scenario definition file describes a plurality of virtual machines and one or more dependencies between at least two of the plurality of virtual machines.

16. The computer program product of claim 10 wherein a first virtual machine awaits a dependency upon a second machine to be satisfied before completing a custom action.

17. The computer program product of claim 10 wherein the scenario file identifies one or more template files, the template files defining a particular type of virtual machine.

18. The computer program product of claim 10 wherein the scenario file identifies one or more template files, the template files defining a particular type of virtual machine and the template files comprising a pre-configured remoting shell such that, when a virtual machine has been created from at least one of the templates, it may be immediately connected to for communication and/or customization.

19. A method for setting up, configuring, and customizing one or more virtual machines, the method performed at a computer system including one or more processors and data storage, the method comprising:

accessing a virtual machine scenario definition file defining the characteristics of one or more virtual machines, the virtual machine scenario definition file comprising data fields used to describe a group of virtual machines that share a common template;

parsing the virtual machine scenario definition file, including the data fields, to determine information defining a virtual machine, the scenario file identifying one or more template files, the template files defining a particular type of virtual machine and the template files comprising a pre-configured remoting shell such that, when a virtual machine has been created from at least one of the templates, it may be immediately connected to through the pre-configured remoting shell for communication and/or customization;

providing to a virtual machine provisioning server the information defining the virtual machine such that the provisioning server passes a request to a virtual machine host which instantiates the virtual machine;

communicating with a custom action service of the virtual machine provisioning server to execute an action upon the virtual machine;

connecting to and communicating with the virtual machine.

20. The method of claim 19 wherein the virtual machine scenario definition file describes a plurality of virtual machines.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 035395/0445 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2015
From: YANG, YINGWEI
To: MICROSOFT CORPORATION
Reel/Frame 035243/0976 →