IP Library Granted Patent US 8,539,570
Granted Patent B2
US 8,539,570 · App. 12/111,110 · Granted Sep 17, 2013

Method for managing a virtual machine

Inventors: Vipul Sharma (Germantown, MD); Andrew W. Brandt (Frederick, MD)
Assignee: Red Hat, Inc.
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 8,539,570
App. No.
12/111,110
Granted
Sep 17, 2013
Kind
B2
Abstract

Methods for managing a virtual machine wherein an administration console (AC) ( 1104 ) transmits a query to a virtualization server ( 1116 ). The virtualization server 1116 includes at least one virtual machine (VM) ( 1124 ). AC ( 1104 ) receives, in response to the query, identification of a VM ( 1124 ) and establishes an authenticated communications link with a proxy machine ( 1108 ) adapted for communicating with the VM ( 1124 ). AC ( 1104 ) transmits over the authenticated communications link to proxy machine ( 1108 ) the identification of the VM ( 1124 ) and performs a management function with respect to the VM ( 1124 ).

Claims (48)

1. A method for virtual machine management, the method comprising:

an administration console (AC) determining a proxy machine of a plurality of proxy machines for at least one virtual machine (VM), wherein each of the plurality of proxy machines is designated to communicate with a distinct type of a plurality of types of operating systems (OSes) of virtual machines (VMs) hosted by a virtualization server, wherein the AC, the determined proxy machine and the virtualization server operate on different physical machines;

the AC establishing an authenticated communications link with the determined proxy machine for the at least one VM having an OS of a type corresponding to the determined proxy machine;

the AC requesting an identification of the at least one VM from the virtualization server;

the AC transmitting over the authenticated communications link to the determined proxy machine the identification of the at least one VM;

the AC performing a management function with respect to the at least one VM using the determined proxy machine when the at least one VM is online; and

the AC performing the management function with respect to the at least one VM using the determined proxy machine when the at least one VM is offline, wherein the management function comprises one or more of monitoring the at least one VM, inspecting the at least one VM, modifying the at least one VM, or enforcing a policy pertaining to the at least one VM.

2. The method of claim 1 , wherein the determined proxy machine comprises at least one of a physical proxy machine, or a virtual proxy machine executing on a physical machine separate from the virtualization server.

3. The method of claim 2 , wherein the management function comprises inspecting a file within the VM.

4. The method of claim 3 , wherein the inspected file is at least one of a disk image file, a wrapper file, a log file, or a snapshot related file.

5. The method of claim 4 , wherein information obtained by inspecting the file is stored within at least one of the AC or the determined proxy machine.

6. The method of claim 5 , wherein the stored information has an identifier for associating the stored information with the VM.

7. The method of claim 6 , wherein the identifier is a hash of a record associated with the VM.

8. The method of claim 4 , wherein information obtained by inspecting the file is stored within the VM.

9. The method of claim 1 , wherein modifying the VM comprises at least one of installing administrative data, installing new software, updating an existing software component, or deleting a software component.

10. The method of claim 1 , wherein enforcing the policy comprises at least one of inserting, deleting or deprecating a certificate associated with the policy.

11. The method of claim 2 , wherein

the determined proxy machine mounts the VM and inspects a file within the VM.

12. The method of claim 11 , wherein the inspected file is at least one of a disk image file, a wrapper file, a log file or a snapshot related file.

13. The method of claim 12 , wherein information obtained by inspecting the file is stored within at least one of the AC, the VM, or the determined proxy machine.

14. The method of claim 13 , wherein the stored information has an identifier for associating the stored information with the VM.

15. The method of claim 14 , wherein the identifier is a hash of a record associated with the VM.

16. The method of claim 1 , wherein performing the management function comprises:

the AC receiving from the virtualization server information about a snapshot file of a running VM, said snapshot file being created by the virtualization server; and

the AC inspecting said snapshot file.

17. A method for virtual machine management, the method comprising:

an administration console (AC) transmitting a query to a virtualization server, said virtualization server comprising at least one virtual machine (VM) having an operating system (OS) of a first type of a plurality of types of OSes of VMs hosted by the virtualization server;

the AC receiving, in response to the query, identification of the at least one VM within the virtualization server;

the AC determining a proxy machine of a plurality of proxy machines for the at least one VM, wherein each of the plurality of proxy machines is designated to communicate with a distinct type of the plurality of types of OSes of VMs hosted by the virtualization server, and establishing an authenticated communications link with the determined proxy machine, said determined proxy machine being designated to communicate with VMs of the first type, wherein the AC, the determined proxy machine and the virtualization server operate on different physical machines;

the AC transmitting over the authenticated communications link to the determined proxy machine the identification of the at least one VM; and

the AC performing a management function with respect to the at least one VM using the determined proxy machine, the management function comprising modifying the at least one VM when the at least one VM is online, and modifying the at least one VM when the at least one VM is offline.

18. A system for virtual machine management, the system comprising:

a memory;

a processing device, coupled to the memory; and

an administration console (AC), executed by the processing device from the memory, to

determine a proxy machine of a plurality of proxy machines for at least one virtual machine (VM), wherein each of the plurality of proxy machines is designated to communicate with a distinct type of a plurality of types of operating systems (OSes) of virtual machines (VMs) hosted by a virtualization server, wherein the AC, the determined proxy machine and the virtualization server operate on different physical machines;

establish an authenticated communications link with the determined proxy machine for at least one VM having an OS of a type corresponding to the determined proxy machine;

request an identification of the at least one VM from the virtualization server;

transmit over the authenticated communications link to the determined proxy machine the identification of the at least one VM;

perform a management function with respect to the at least one VM using the determined proxy machine when the at least one VM is online; and

perform the management function with respect to the at least one VM using the determined proxy machine when the at least one VM is offline, wherein the management function comprises one or more of monitoring the at least one VM, inspecting the at least one VM, modifying the at least one VM, or enforcing a policy pertaining to the at least one VM.

19. A non-transitory machine-readable storage medium storing instructions which, when executed, cause a data processing system to perform a method comprising:

an administration console (AC) determining a proxy machine of a plurality of proxy machines for at least one virtual machine (VM), wherein each of the plurality of proxy machines is designated to communicate with a distinct type of a plurality of types of operating systems (OSes) of virtual machines (VMs) hosted by a virtualization server, wherein the AC, the determined proxy machine and the virtualization server operate on different physical machines;

the AC establishing an authenticated communications link with the determined proxy machine for the at least one VM having an OS of a type corresponding to the determined proxy machine;

the AC requesting an identification of the at least one VM from the virtualization server;

the AC transmitting over the authenticated communications link to the determined proxy machine the identification of the at least one VM;

the AC performing a management function with respect to the at least one VM using the determined proxy machine when the at least one VM is online; and

the AC performing the management function with respect to the at least one VM using the determined proxy machine when the at least one VM is offline, wherein the management function comprises one or more of monitoring the at least one VM, inspecting the at least one VM, modifying the at least one VM, or enforcing a policy pertaining to the at least one VM.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2010
From: FORTISPHERE, INC.
To: RED HAT, INC.
Reel/Frame 024431/0355 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2008
From: SHARMA, VIPUL; BRANDT, ANDREW W.
To: FORTISPHERE, INC.
Reel/Frame 020884/0560 →
Continuity (3)
Continuation In Part 11867456 · Oct 4, 2007
Continuation In Part 11767173 · Jun 22, 2007
Related Publication 20080320583A1 · Dec 25, 2008