IP Library Granted Patent US 8,615,759
Granted Patent B2
US 8,615,759 · App. 13/031,847 · Granted Dec 24, 2013

Methods and apparatus for data center management independent of hypervisor platform

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,615,759
App. No.
13/031,847
Granted
Dec 24, 2013
Kind
B2
Abstract

In some embodiments, an apparatus can include a memory configured to store a first hypervisor message and a second hypervisor message. The apparatus can further include a hypervisor interface module. The hypervisor interface module can retrieve, from the memory, the first hypervisor message and the second hypervisor message. The hypervisor interface module can define a first signal, the first signal being based at least in part on the first hypervisor message and having a first format associated with a first hypervisor platform. The hypervisor interface module can define a second signal, the second signal being based at least in part on the second hypervisor message and having a second format associated with a second hypervisor platform. The hypervisor interface module can send the first signal to a first virtual machine instantiated according to the first hypervisor platform. The hypervisor interface module can send the second signal to a second virtual machine instantiated according to the second hypervisor platform.

Claims (111)

1. An apparatus, comprising:

a memory configured to store a first hypervisor message and a second hypervisor message; and

a hypervisor interface module configured to:

retrieve, from the memory, the first hypervisor message and the second hypervisor message;

define a first signal, the first signal being based at least in part on the first hypervisor message and having a first format associated with a first hypervisor platform;

define a second signal, the second signal being based at least in part on the second hypervisor message and having a second format associated with a second hypervisor platform;

send the first signal to a first virtual machine instantiated according to the first hypervisor platform; and

send the second signal to a second virtual machine instantiated according to the second hypervisor platform;

determine, at the hypervisor interface module, a platform of a hypervisor that has been activated at a host device;

select, as a function of the platform of the hypervisor, a hypervisor interface component from a library of hypervisor interface components, wherein the selecting is performed via the hypervisor interface module configured to:

select the hypervisor interface component from the library of hypervisor interface components that is capable of handling signaling related to the platform of the hypervisor according to a criteria;

process first information for storage in a memory, the first information including two or more capabilities selected from a group composed of translation capabilities, processing capabilities, processing speed, and/or efficiency, of each of the hypervisor interface components; and

select, based on the first information, one or more of the hypervisor interface components to handle signaling related to the platform of the hypervisor; and

process signaling related to the hypervisor as a function of the platform of the hypervisor;

wherein the hypervisor interface module is configured to handle signaling related to hypervisors having different platforms such that differences in the hypervisor platforms are transparent to, or able to be rectified without user action in/while being translated between, the hypervisors.

2. The apparatus of claim 1 , wherein the first signal is sent such that the first virtual machine invokes a specified function associated with a running process of the first virtual machine.

3. The apparatus of claim 1 , wherein the first signal is associated with at least one of:

a disaster recovery function associated with the first virtual machine;

a virtual machine translation function associated with the first virtual machine and the second virtual machine;

a virtual resource provisioning function;

an event reporting function associated with the first virtual machine; or

a data center security function.

4. The apparatus of claim 1 , wherein

the first virtual machine is instantiated at a first partition of the device,

the second virtual machine is instantiated at a second partition of the device,

the first signal is sent such that the first virtual machine is replaced, at the device, by the second virtual machine, and

the second signal is sent such that the second virtual machine performs a specified function associated with the first virtual machine.

5. The apparatus of claim 1 , wherein

the first virtual machine is instantiated at a first device,

the second virtual machine is instantiated at a second device,

the first signal is sent such that the first virtual machine is deactivated,

the second hypervisor message is associated with a function of the first virtual machine, and

the second signal is sent such that the second virtual machine executes at least the function associated with the first virtual machine.

6. The apparatus of claim 1 , wherein

the hypervisor interface module is further configured to receive a third signal including an instruction to instantiate the first virtual machine and the second virtual machine,

the first signal is sent such that the first virtual machine is instantiated at a first device according to the first hypervisor platform, and

the second signal is sent such that the second virtual machine is instantiated at the second device according to the second hypervisor platform.

7. The apparatus of claim 1 , wherein

the hypervisor interface module is further configured to receive, from the first virtual machine, a third signal having the first format, and

send, to an output device, an alert message based at least in part on the third signal.

8. A non-transitory processor-readable medium storing code representing instructions configured to cause one or more processors operating in connection with a hypervisor interface module associated with a management module to:

receive, from a first device, a first signal having a first format associated with a first hypervisor platform and including information associated with a first virtual machine instantiated at the first device according to the first hypervisor platform;

send, to a second device, a second signal based at least in part on the first signal such that the second device defines a second virtual machine based on the first virtual machine, the second virtual machine being instantiated according to a second hypervisor platform, the second signal having a second format associated with the second hypervisor platform.

wherein the hypervisor interface module is configured for:

determining, at the hypervisor interface module, a platform of a hypervisor that has been activated at a host device;

selecting, as a function of the platform of the hypervisor, a hypervisor interface component from a library of hypervisor interface components, wherein the selecting is performed via the hypervisor interface module configured to:

select the hypervisor interface component from the library of hypervisor interface components that is capable of handling signaling related to the platform of the hypervisor according to a criteria;

process first information for storage in a memory, the first information including two or more capabilities selected from a group composed of translation capabilities, processing capabilities, processing speed, and/or efficiency, of each of the hypervisor interface components; and

select, based on the first information, one or more of the hypervisor interface components to handle signaling related to the platform of the hypervisor; and

processing signaling related to the hypervisor as a function of the platform of the hypervisor;

wherein the hypervisor interface module is configured to handle signaling related to hypervisors having different platforms such that differences in the hypervisor platforms are transparent to, or able to be rectified without user action in/while being translated between, the hypervisors;

wherein, as a function of the hypervisor interface module being configured to handle signaling related to hypervisors having different platforms, the management module is configured to send and/or receive one or more signals configured to cause a specified command, function, method and/or operation to be executed by a managed hypervisor or a virtual resource included in the managed hypervisor.

9. The non-transitory processor-readable medium of claim 8 , wherein the first signal is received in response to a failure of the first device.

10. The non-transitory processor-readable medium of claim 8 , wherein

the first virtual machine includes a first instance of an application, and

the second signal is sent such that the second device defines a second instance of the application for execution within the second virtual machine, the second instance of the application having a same application state as the first instance of the application.

11. The non-transitory processor-readable medium of claim 8 , wherein the code further represents instructions configured to cause the processor to:

send, to the second device, a third signal configured to cause the second device to pause the second virtual machine, the third signal having the second format; and

send, in response to a fourth signal received from the first device, a fourth signal configured to cause the second device to unpause the second virtual machine, the fourth signal having the second format.

12. The non-transitory processor-readable medium of claim 8 , wherein the first signal is received in response to a virtual machine reallocation instruction associated with the first device.

13. The non-transitory processor-readable medium of claim 8 , wherein

the first signal is based at least in part on a first application programming interface (API) associated with the first hypervisor platform, and

the second signal is sent based at least in part on a second API associated with the second hypervisor platform.

14. The non-transitory processor-readable medium of claim 8 , wherein

the first signal is received by a disaster recovery module, and

the second signal is sent by a provisioning module.

15. An apparatus, comprising:

a hypervisor interface module including:

a first hypervisor interface component configured to exchange signals with a first hypervisor according to a first format associated with a first hypervisor platform, and

a second hypervisor interface component configured to exchange signals with a second hypervisor according to a second format associated with a second hypervisor platform; and

a provisioning module configured to:

send, to the first hypervisor interface component, a first signal configured to cause the first hypervisor interface component to send a second signal to the first hypervisor such that the second hypervisor defines a first virtual resource according to the first hypervisor platform, the second signal having the first format, and

send, to the second hypervisor interface component, a third signal configured to cause the second hypervisor interface component to send a fourth signal to the second hypervisor such that the second hypervisor defines a second virtual resource according to the second hypervisor platform, the fourth signal having the second format; and

at least one processor and/or memory device configured to process one or more operations of the hypervisor interface module and/or the provisioning module;

wherein the hypervisor interface module is configured for:

determining, at the hypervisor interface module, a platform of a hypervisor that has been activated at a host device;

selecting, as a function of the platform of the hypervisor, a hypervisor interface component from a library of hypervisor interface components, wherein the selecting is performed via the hypervisor interface module configured to:

select the hypervisor interface component from the library of hypervisor interface components that is capable of handling signaling related to the platform of the hypervisor according to a criteria;

process first information for storage in a memory, the first information including two or more capabilities selected from a group composed of translation capabilities, processing capabilities, processing speed, and/or efficiency, of each of the hypervisor interface components; and

select, based on the first information, one or more of the hypervisor interface components to handle signaling related to the platform of the hypervisor; and

processing signaling related to the hypervisor as a function of the platform of the hypervisor;

wherein the hypervisor interface module is configured to handle signaling related to hypervisors having different platforms such that differences in the hypervisor platforms are transparent to, or able to be rectified without user action in/while being translated between, the hypervisors.

16. The apparatus of claim 15 , wherein the first signal is sent in response to a fifth signal received via user input, the fifth signal including an instruction to instantiate the first virtual resource according to the first hypervisor platform.

17. The apparatus of claim 15 , wherein at least one of the first virtual resource and the second virtual resource is a virtual machine.

18. The apparatus of claim 15 , wherein the first hypervisor platform is defined based at least in part on at least one of:

a runtime library;

a programming language; or

a hypervisor version.

19. The apparatus of claim 15 , wherein the first hypervisor interface module is defined in response to a fifth signal indicating a presence of the first hypervisor instantiated at a first device.

20. The apparatus of claim 15 , wherein the second hypervisor interface module is selected from a library of hypervisor interface components based at least in part on a user preference.

21. A method for managing a data center, the method comprising:

exchanging signals, via a first hypervisor interface component of a hypervisor interface module, with a first hypervisor according to a first format associated with a first hypervisor platform, and

exchanging signals, via a second hypervisor interface component of the hypervisor interface module, with a second hypervisor according to a second format associated with a second hypervisor platform; and

via a provisioning module:

sending, to the first hypervisor interface component, a first signal configured to cause the first hypervisor interface component to send a second signal to the first hypervisor such that the first hypervisor defines a first virtual resource according to the first hypervisor platform, the second signal having the first format, and

sending, to the second hypervisor interface component, a third signal configured to cause the second hypervisor interface component to send a fourth signal to the second hypervisor such that the second hypervisor defines a second virtual resource according to the second hypervisor platform, the fourth signal having the second format;

determining, at the hypervisor interface module, a platform of a hypervisor that has been activated at a host device;

selecting, as a function of the platform of the hypervisor, a hypervisor interface component from a library of hypervisor interface components, wherein the selecting is performed via the hypervisor interface module configured to:

select the hypervisor interface component from the library of hypervisor interface components that is capable of handling signaling related to the platform of the hypervisor according to a criteria;

process first information for storage in a memory, the first information including two or more capabilities selected from a group composed of translation capabilities, processing capabilities, processing speed, and/or efficiency, of each of the hypervisor interface components; and

select, based on the first information, one or more of the hypervisor interface components to handle signaling related to the platform of the hypervisor; and

processing signaling related to the hypervisor as a function of the platform of the hypervisor;

wherein the hypervisor interface module is configured to handle signaling related to hypervisors having different platforms such that differences in the hypervisor platforms are transparent to, or able to be rectified without user action in/while being translated between, the hypervisors.

22. The method of claim 21 utilized to perform a management function for a virtual resource moved from one hypervisor environment to another hypervisor environment, the method further comprising:

performing a management function for a virtual resource executing within a first hypervisor environment, wherein signaling related to the management function is translated by a hypervisor interface component associated with the first hypervisor environment;

processing an indicator that the virtual resource has moved from the first hypervisor environment to a second hypervisor environment, wherein the indicator can be received in response to a query to the virtual resource, the first hypervisor of the first hypervisor environment, and/or first hypervisor of the second hypervisor environment, and wherein the query is defined by and is sent from the hypervisor interface module; and

performing the management function for the virtual resource when the virtual resource is executing within the second hypervisor environment, wherein signaling related to the management function can be translated by a hypervisor interface component associated with the second hypervisor environment.

23. The method of claim 21 wherein the method performs management functions related to the operation of virtual resources at a host device that is partitioned so that incompatible hypervisors concurrently operate within the different partitions of the host device.

24. The method of claim 21 wherein the hypervisor interface module is provided as a component of a management module and is configured so that such updates can be made during run-time of the management module without terminating or pausing the operation of the management module.

25. The method of claim 21 wherein the first signal is received in response to a virtual machine reallocation instruction associated with the first device.

26. The method of claim 21 wherein the second hypervisor interface module is selected from a library of hypervisor interface components based at least in part on a user preference.

Assignments (6)
MERGER Recorded Sep 16, 2025
From: VIRTUSTREAM IP HOLDING COMPANY LLC
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 072878/0578 →
RELEASE OF SECURITY INTEREST Recorded Dec 11, 2019
From: SILICON VALLEY BANK
To: VIRTUSTREAM, INC.
Reel/Frame 051255/0185 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2016
From: VIRTUSTREAM, INC.
To: VIRTUSTREAM IP HOLDING COMPANY LLC
Reel/Frame 039694/0886 →
SECURITY INTEREST Recorded Jul 24, 2014
From: VIRTUSTREAM, INC.
To: SILICON VALLEY BANK
Reel/Frame 033383/0103 →
SECURITY AGREEMENT Recorded Mar 21, 2013
From: VIRTUSTREAM, INC.; VIRTUSTREAM DCS, LLC; VIRTUSTREAM LIMITED; VIRTUSTREAM UK LIMITED; NETWORK I LIMITED; VIRTUSTREAM CANADA HOLDINGS, INC.
To: ORIX VENTURES, LLC
Reel/Frame 030062/0558 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2011
From: BOX, JULIAN J; REID, KEVIN D; THOMAS, MARK A
To: VIRTUSTREAM, INC.
Reel/Frame 026091/0890 →