IP Library Granted Patent US 11,048,539
Granted Patent B2
US 11,048,539 · App. 15/907,227 · Granted Jun 29, 2021

Transitioning virtual machines to an inactive state

Inventor: Rupesh Shantamurty (Bangalore, IN)
Assignee: Hewlett Packard Enterprise Development LP
G06F9/45558G06F2009/45575G06F2009/45591G06F2009/45595
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 11,048,539
App. No.
15/907,227
Granted
Jun 29, 2021
Kind
B2
Abstract

An example computer system is provided that utilizes an agent to operate autonomously in transitioning virtual machines between an active state and an inactive state. In an implementation, a processor executes instructions to cause a computer system to implement a virtual machine communication interface, and to host a virtual machine. In some examples, the processor executes instructions to cause the computer system to utilize an agent to operate autonomously in transitioning the virtual machine from an active state to an inactive state after a period of inactivity. In other examples, the processor may execute instructions to cause the computer system to transition the virtual machine from the inactive state back to the active state upon receiving a data packet targeted for the inactive virtual machine.

Claims (41)

1. A computer system comprising:

a memory to store a set of instructions;

a processor to execute the set of instructions to cause the computer system to:

implement a virtual machine communication interface;

host multiple virtual machines, the virtual machines being operable to communicate with the virtual machine communication interface;

utilize an agent to determine a period of inactivity of at least one virtual machine of the multiple virtual machines by monitoring system data of the at least one virtual machine according to a predetermined set of rules, the system data including CPU idle time and network activity on a port of the at least one virtual machine;

utilize an agent to operate autonomously on the at least one virtual machine to transition the at least one virtual machine from an active state to an inactive state after the period of inactivity of the at least one virtual machine;

transition the at least one virtual machine from the inactive state back to the active state when the virtual machine communication interface receives a data packet identifying data targeted for the at least one virtual machine;

if the data packet received by the virtual machine communication interface targets an inactive virtual machine, wherein the virtual machine is transitioned from the inactive state to the active state by causing the virtual machine communication interface to buffer the data packet and instruct a network resource to transition the virtual machine to the active state.

2. The computer system of claim 1 , wherein the agent notifies the virtual machine communication interface before transitioning the virtual machine from the active state to the inactive state.

3. The computer system of claim 2 , wherein the agent notifies the virtual machine communication interface by transmitting data associated with the virtual machine to the virtual machine communication interface.

4. The computer system of claim 1 , wherein the virtual machine communication interface maintains a data store of virtual machines in the inactive state.

5. The computer system of claim 1 , wherein the virtual machine communication interface is implemented as a pluggable module to an existing virtual machine infrastructure or as a software-defined network switch.

6. A non-transitory computer-readable medium to store a set of instructions that, when executed by a processor of a computer system, cause the computer system to:

implement a virtual machine communication interface;

host multiple virtual machines, the virtual machines being operable to communicate with the virtual machine communication interface;

utilize an agent to determine a period of inactivity of at least one virtual machine of the multiple virtual machines by monitoring system data according to a predetermined set of rules, the system data including CPU idle time and network activity on a port of the virtual machine;

utilize the agent to operate autonomously on the virtual machine to transition the at least one virtual machine from an active state to an inactive state after the period of inactivity of the at least one virtual machine; and

transition the at least one virtual machine from the inactive state back to the active state when the virtual machine communication interface receives a data packet targeted for the at least one virtual machine;

if the data packet received by the virtual machine communication interface targets an inactive virtual machine, wherein the virtual machine is transitioned from the inactive state to the active state by causing the virtual machine communication interface to buffer the data packet and instruct a network resource to transition the virtual machine to the active state.

7. The non-transitory computer-readable medium of claim 6 , wherein the virtual machine communication interface maintains a data store of virtual machines in the inactive state.

8. The non-transitory computer-readable medium of claim 6 , further comprising instructions executable to cause the computer system to determine whether the data packet includes identifying data of the virtual machine stored in a data store.

9. The non-transitory computer-readable medium of claim 6 , wherein the agent notifies the virtual machine communication interface before transitioning the virtual machine from the active state to the inactive state.

10. The non-transitory computer-readable medium of claim 9 , wherein the agent notifies the virtual machine communication interface by transmitting data associated with the virtual machine to the virtual machine communication interface.

11. The non-transitory computer-readable medium of claim 6 , wherein the virtual machine communication interface is implemented as a pluggable module to an existing virtual machine infrastructure or as a software-defined network switch.

12. A method for autonomously managing virtual machines, the method comprising:

implementing, by a processor of a computer system, a virtual machine communication interface;

hosting, by the processor, multiple virtual machines, the multiple virtual machines being operable to communicate with the virtual machine communication interface;

utilizing, by the processor, an agent to determine a period of inactivity of at least one virtual machine of the multiple virtual machines by monitoring system data of the at least one virtual machine according to a predetermined set of rules, the system data including CPU idle time and network activity on a port of the at least one virtual machine;

utilizing, by the processor, the agent to operate autonomously to transition the at least one virtual machine of the multiple virtual machines from an active state to an inactive state after a period of inactivity of the at least one virtual machine; and

transitioning, by the processor, the at least one virtual machine from the inactive state back to the active state when the virtual machine communication interface receives a data packet identifying data targeted for the at least one virtual machine;

if the data packet received by the virtual machine communication interface targets an inactive virtual machine, wherein the processor causes the computer system to transition the virtual machine from the inactive state to the active state by causing the virtual machine communication interface to buffer the data packet and instruct a network resource to transition the virtual machine to the active state.

13. The method of claim 12 , wherein transitioning the at least one virtual machine from the inactive state back to the active state includes determining whether the data packet includes identifying data of the at least one virtual machine stored in a data store.

14. The method of claim 12 , wherein the agent notifies the virtual machine communication interface before transitioning the at least one virtual machine from the active state to the inactive state.

15. The method of claim 14 , wherein the agent notifies the virtual machine communication interface by transmitting an identifier of the virtual machine to the virtual machine communication interface.

16. The computer system of claim 14 , wherein the set of instructions includes instructions that, when executed by the processor, cause the computer system to:

determine whether the data packet includes identifying data of the virtual machine stored in a data store, and

in response to determining that the data packet includes the identifying data, causing the virtual machine to transition from the inactive state back to the active state.

17. The method of claim 10 , wherein the virtual machine communication interface is implemented as a pluggable module to an existing virtual machine infrastructure or as a software-defined network switch, or as a network function virtualization module of the software-defined network switch.

18. The method of claim 10 , wherein the predetermined set of rules includes different rules for triggering when respective virtual machines transition to the inactive state.

19. The non-transitory computer-readable medium of claim 6 , wherein the predetermined set of rules includes different rules for triggering when respective virtual machines transition to the inactive state.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2018
From: SHANTAMURTY, RUPESH
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 045057/0282 →
Continuity (1)
Related Publication 20190265998A1 · Aug 29, 2019