IP Library Patent Application 14596835
Patent Application
App. No. 14/596,835

TEMPLATE VIRTUAL MACHINES

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 None
App. No.
14/596,835
Abstract

There is provided a method of providing a template virtual machine. An exemplary method comprises creating a template virtual machine comprising an image of an operating system and software running on the operating system. The template virtual machine does not include machine-specific identifiers. The template virtual machine is booted into a virtual machine environment. Subsequently, machine-specific identifiers for the template virtual machine are updated. The template virtual machine may then be booted with machine-specific identifiers into a service instance to perform a function determined by the software running on the operating system such that uniform code pages representing the operating system and software running on the operating system are shared among virtual machines in the virtual machine environment.

Claims (34)

1 . A method of providing a template virtual machine, comprising:

creating a template virtual machine comprising an image of an operating system and software running on the operating system, the template virtual machine being without machine-specific identifiers;

booting the template virtual machine into a virtual machine environment;

updating machine-specific identifiers of the template virtual machine; and

booting the template virtual machine with machine-specific identifiers into a service instance to perform a function determined by the software running on the operating system such that uniform code pages representing the operating system and software running on the operating system are shared among virtual machines in the virtual machine environment.

2 . The method recited in claim 1 , wherein the uniform code pages comprise identical physical memory pages.

3 . The method recited in claim 1 , wherein the uniform code pages are identified in advance of booting the template virtual machine into the virtual machine environment.

4 . The method recited in claim 1 , wherein the function comprises a web hosting function.

5 . The method recited in claim 1 , comprising increasing a consolidation ratio in the virtual machine environment by booting another template virtual machine into the virtual machine environment.

6 . The method recited in claim 1 , comprising sharing configuration information between the template virtual machine and another template virtual machine having the same software running on the operating system.

7 . The method recited in claim 1 , comprising storing attributes that define the machine-specific identifiers in a state separated store.

8 . The method recited in claim 7 , comprising storing attributes corresponding to an application state of the software running on the operating system in the state separated store.

9 . The method recited in claim 7 , comprising modifying an attribute of the template virtual machine by accessing the state separated store either online or offline.

10 . The method recited in claim 7 , comprising storing the state separated store on a differencing virtual hard disk.

11 . The method recited in claim 7 , comprising creating a clone of the template virtual machine by copying the image of the operating system and the software running on the operating system and adding attributes corresponding to machine-specific identifiers.

12 . A system for providing a template virtual machine, the method comprising:

a processing unit; and

a system memory, wherein the system memory comprises code configured to direct the processing unit to:

create a template virtual machine comprising an image of an operating system and software running on the operating system, the template virtual machine being without machine-specific identifiers;

boot the template virtual machine into a virtual machine environment;

update machine-specific identifiers of the template virtual machine; and

boot the template virtual machine with machine-specific identifiers into a service instance to perform a function determined by the software running on the operating system such that uniform code pages representing the operating system and software running on the operating system are shared among virtual machines in the virtual machine environment.

13 . The system recited in claim 12 , wherein the uniform code pages comprise identical physical memory pages.

14 . The system recited in claim 12 , wherein the uniform code pages are identified in advance of booting the template virtual machine into the virtual machine environment.

15 . The system recited in claim 12 , wherein a consolidation ratio in the virtual machine environment is increased by booting another template virtual machine into the virtual machine environment.

16 . The system recited in claim 12 , wherein configuration information is shared between the template virtual machine and a second template virtual machine having the same software running on the operating system.

17 . The system recited in claim 12 , comprising a state separated store that stores attributes that define the machine-specific identifiers.

18 . The system recited in claim 17 , wherein the state separated store stores attributes corresponding to an application state of the software running on the operating system.

19 . The system recited in claim 17 , wherein an attribute of the template virtual machine is modified by accessing the state separated store.

20 . One or more computer-readable storage media, comprising code configured to direct a processing unit to:

create a template virtual machine comprising an image of an operating system and software running on the operating system, the template virtual machine being without machine-specific identifiers;

boot the template virtual machine into a virtual machine environment;

add machine-specific identifiers to the template virtual machine; and

boot the template virtual machine with machine-specific identifiers into a service instance to perform a function determined by the software running on the operating system such that uniform code pages representing the operating system and software running on the operating system are shared among virtual machines in the virtual machine environment.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 036100/0048 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY NAME PREVIOUSLY RECORDED AT REEL: 034713 FRAME: 0460. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 25, 2015
From: SINHA, SUYASH; JAYAMOHAN, AJITH
To: MICROSOFT CORPORATION
Reel/Frame 035282/0673 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2015
From: SINHA, SUYASH; JAYAMOHAN, AJITH
To: C/O MICROSOFT CORPORATION
Reel/Frame 034713/0460 →