IP Library Granted Patent US 9,038,062
Granted Patent B2
US 9,038,062 · App. 11/945,923 · Granted May 19, 2015

Registering and accessing virtual systems for use in a managed system

Inventors: Joseph Fitzgerald (Franklin Lakes, NJ); Oleg Barenboim (Fort Lee, NJ)
Assignee: ManageIQ, Inc.
G06F9/45533G06F8/60G06F21/53
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,038,062
App. No.
11/945,923
Granted
May 19, 2015
Kind
B2
Abstract

Techniques are disclosed for controlling and managing virtual machines and other such virtual systems. VM execution approval is based on compliance with policies controlling various aspects of VM. The techniques can be employed to benefit all virtual environments, such as virtual machines, virtual appliances, and virtual applications. For ease of discussion herein, assume that a virtual machine (VM) represents each of these environments. In one particular embodiment, a systems management partition (SMP) is created inside the VM to provide a persistent and resilient storage for management information (e.g., logical and physical VM metadata). The SMP can also be used as a staging area for installing additional content or agentry on the VM when the VM is executed. Remote storage of management information can also be used. The VM management information can then be made available for pre-execution processing, including policy-based compliance testing.

Claims (46)

1. A computer implemented method for registering and accessing virtual machines, comprising:

storing, in at least a first virtual machine repository, a plurality of virtual machines including a first virtual machine having a plurality of virtual machine characteristics, each virtual machine including:

at least one virtual disk, and

at least one configuration file;

generating a unique identifier for the first virtual machine;

extracting metadata from the at least one configuration file of the first virtual machine;

assigning a logical name to the first virtual machine based the extracted metadata, the logical name including a plurality of discrete tags concatenated together as a string of characters, wherein each discrete tag is representative of a respective virtual machine characteristic of the plurality of virtual machine characteristics;

storing a virtual machine registry including at least:

the unique identifier for each virtual machine of the plurality of virtual machines, wherein the unique identifier for each one of the plurality of virtual machines is different from each other unique identifier,

the logical name for each virtual machine of the plurality of virtual machines, wherein the logical name for each one of the plurality of virtual machines is different from the unique identifier,

a storage location for each virtual machine of the plurality of virtual machines, and

a host environment format for each virtual machine of the plurality of virtual machines,

wherein, for each virtual machine that is registered in the registry, the registry associates the unique identifier, the logical name, the storage location, and the host environment format;

receiving a request to access the first virtual machine of the plurality of virtual machines;

acquiring the storage location of the first virtual machine using the virtual machine registry; and

transferring the first virtual machine from the first virtual machine repository to at least one of a second virtual machine repository, a deployment destination, and an execution platform.

2. The computer implemented method of claim 1 , further comprising:

translating the first virtual machine into a first format responsive to the request.

3. The computer implemented method of claim 1 , further comprising:

compressing the first virtual machine prior to transferring the first virtual machine.

4. The computer implemented method of claim 1 , further comprising:

encrypting the first virtual machine prior to transferring the first virtual machine.

5. The computer implemented method of claim 1 , further comprising:

generating at least one signature using the metadata.

6. The computer implemented method of claim 1 , further comprising:

creating genealogy metadata for the first virtual machine.

7. The computer implemented method of claim 1 , wherein the virtual machine registry is implemented as a UDDI registry.

8. The computer implemented method of claim 1 , wherein the virtual machine registry is implemented as an SQL database.

9. A system for registering and accessing virtual machines, the system comprising:

at least one processor; and

at least one computer readable medium encoded with instructions, which when executed by the at least one processor, cause the at least one processor to:

store, in at least a first virtual machine repository, a plurality of virtual machines including a first virtual machine having a plurality of virtual machine characteristics, each virtual machine including:

at least one virtual disk, and

at least one configuration file;

generate a unique identifier for the first virtual machine;

extract metadata from the at least one configuration file of the first virtual machine;

assign a logical name to the first virtual machine based the extracted metadata, the logical name including a plurality of discrete tags concatenated to ether as a string of characters, wherein each discrete tag is representative of a respective virtual machine characteristic of the plurality of virtual machine characteristics;

store a virtual machine registry including at least:

the unique identifier for each virtual machine of the plurality of virtual machines, wherein the unique identifier for each one of the plurality of virtual machines is different from each other unique identifier,

the logical name for each virtual machine of the plurality of virtual machines, wherein the logical name for each one of the plurality of virtual machines is different from the unique identifier,

a storage location for each virtual machine of the plurality of virtual machines, and

a host environment format for each virtual machine of the plurality of virtual machines,

wherein, for each virtual machine that is registered in the registry, the registry associates the unique identifier, the logical name, the storage location, and the host environment format;

receive a request to access the first virtual machine of the plurality of virtual machines;

acquire the storage location of the first virtual machine using the virtual machine registry; and

transfer the first virtual machine from the first virtual machine repository to at least one of a second virtual machine repository, a deployment destination, and an execution platform.

Assignments (2)
MERGER Recorded Apr 5, 2018
From: MANAGEIQ, INC.
To: RED HAT, INC.
Reel/Frame 045445/0665 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2008
From: FITZGERALD, JOSEPH J.; BARENBOIM, OLEG
To: MANAGEIQ, INC.
Reel/Frame 020522/0417 →
Continuity (2)
Continuation In Part 11550356 · Oct 17, 2006
Related Publication 20080134175A1 · Jun 5, 2008