Dynamic virtual machine shutdown without service interruptions
First Claim
Patent Images
1. A method for dynamically managing a sleep state of a virtual machine, wherein the method comprises:
- using a virtualization component API that can handle multiple types of hypervisors, to detect idleness of a virtual machine;
putting the idle virtual machine into a sleep state;
instantiating a virtual machine surrogate when the virtual machine is put into the sleep state to operate on behalf of the virtual machine, wherein instantiating a virtual machine surrogate comprises instantiating a network proxy module that listens to network traffic, and instantiating a service proxy module that executes workloads;
enabling the virtual machine surrogate to handle network traffic that is capable of being handled by the virtual machine surrogate on behalf of the virtual machine in the sleep state, wherein handing network traffic comprises the virtual machine surrogate using the service proxy module of the virtual machine surrogate for executing a workload on behalf of the virtual machine in the sleep state, wherein executing a workload comprises the service proxy module establishing a network connection with one or more network devices in a network and issuing commands to the one or more network devices to execute the workload; and
enabling the virtual machine surrogate to queue network traffic and using the virtualization component API to wake-up the virtual machine in the sleep state for network traffic that the virtual machine surrogate is incapable of handling,wherein the virtual machine surrogate comprises a low-profile virtual machine and small foot-print process that have low memory consumption.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for dynamically managing a sleep state of a virtual machine are provided. The techniques include detecting idleness of a virtual machine, putting the idle virtual machine into a sleep state, implementing a virtual machine surrogate, wherein the virtual machine surrogate listens to network traffic, enabling the virtual machine to handle network traffic that is capable of being handled by the virtual machine, and enabling the virtual machine to queue network traffic and wake-up the virtual machine in the sleep state for network traffic that the virtual machine surrogate is incapable of handling.
-
Citations
17 Claims
-
1. A method for dynamically managing a sleep state of a virtual machine, wherein the method comprises:
-
using a virtualization component API that can handle multiple types of hypervisors, to detect idleness of a virtual machine; putting the idle virtual machine into a sleep state; instantiating a virtual machine surrogate when the virtual machine is put into the sleep state to operate on behalf of the virtual machine, wherein instantiating a virtual machine surrogate comprises instantiating a network proxy module that listens to network traffic, and instantiating a service proxy module that executes workloads; enabling the virtual machine surrogate to handle network traffic that is capable of being handled by the virtual machine surrogate on behalf of the virtual machine in the sleep state, wherein handing network traffic comprises the virtual machine surrogate using the service proxy module of the virtual machine surrogate for executing a workload on behalf of the virtual machine in the sleep state, wherein executing a workload comprises the service proxy module establishing a network connection with one or more network devices in a network and issuing commands to the one or more network devices to execute the workload; and enabling the virtual machine surrogate to queue network traffic and using the virtualization component API to wake-up the virtual machine in the sleep state for network traffic that the virtual machine surrogate is incapable of handling, wherein the virtual machine surrogate comprises a low-profile virtual machine and small foot-print process that have low memory consumption. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer program product comprising a non-transitory computer readable recordable storage medium including computer useable program code for dynamically managing a sleep state of a virtual machine, the computer program product including:
-
computer useable program code for using a virtualization component API that can handle multiple types of hypervisors, to detect idleness of a virtual machine; computer useable program code for putting the idle virtual machine into a sleep state; computer useable program code for instantiating a virtual machine surrogate when the virtual machine is put into the sleep state to operate on behalf of the virtual machine, wherein instantiating a virtual machine surrogate comprises instantiating a network proxy module that listens to network traffic, and instantiating a service proxy module that executes workloads; computer useable program code for enabling the virtual machine surrogate to handle network traffic that is capable of being handled by the virtual machine surrogate on behalf of the virtual machine in the sleep state, wherein handing network traffic comprises the virtual machine surrogate using the service proxy module of the virtual machine surrogate for executing a workload on behalf of the virtual machine in the sleep state, wherein executing a workload comprises the service proxy module establishing a network connection with one or more network devices in a network and issuing commands to the one or more network devices to execute the workload; and computer useable program code for enabling the virtual machine surrogate to queue network traffic and using the virtualization component API to wake-up the virtual machine in the sleep state for network traffic that the virtual machine surrogate is incapable of handling, wherein the virtual machine surrogate comprises a low-profile virtual machine and small foot-print process that have low memory consumption. - View Dependent Claims (7, 8, 9)
-
-
10. A system for dynamically managing a sleep state of a virtual machine, comprising:
-
a memory; and at least one processor coupled to the memory and operative to; use a virtualization component API that can handle multiple types of hypervisors, to detect idleness of a virtual machine; put the idle virtual machine into a sleep state; instantiate a virtual machine surrogate when the virtual machine is put into the sleep state to operate on behalf of the virtual machine, wherein instantiating a virtual machine surrogate comprises instantiating a network proxy module that listens to network traffic, and instantiating a service proxy module that executes workloads; enable the virtual machine surrogate to handle network traffic that is capable of being handled by the virtual machine surrogate on behalf of the virtual machine in the sleep state, wherein handing network traffic comprises the virtual machine surrogate using the service proxy module of the virtual machine surrogate for executing a workload on behalf of the virtual machine in the sleep state, wherein executing a workload comprises the service proxy module establishing a network connection with one or more network devices in a network and issuing commands to the one or more network devices to execute the workload; and enable the virtual machine surrogate to queue network traffic and use the virtualization component API to wake-up the virtual machine in the sleep state for network traffic that the virtual machine surrogate is incapable of handling, wherein the virtual machine surrogate comprises a low-profile virtual machine and small foot-print process that have low memory consumption. - View Dependent Claims (11, 12, 13, 14)
-
-
15. An apparatus for dynamically managing a sleep state of a virtual machine, the apparatus comprising:
-
means for using a virtualization component API that can handle multiple types of hypervisors, to detect idleness of a virtual machine; means for putting the idle virtual machine into a sleep state; means for instantiating a virtual machine surrogate when the virtual machine is put into the sleep state to operate on behalf of the virtual machine, wherein the means for instantiating a virtual machine surrogate comprises means for instantiating a network proxy module that listens to network traffic, and means for instantiating a service proxy module that executes workloads; means for enabling the virtual machine surrogate to handle network traffic that is capable of being handled by the virtual machine surrogate on behalf of the virtual machine in the sleep state, wherein handing network traffic comprises the virtual machine surrogate using the service proxy module of the virtual machine surrogate for executing a workload on behalf of the virtual machine in the sleep state, wherein executing a workload comprises the service proxy module establishing a network connection with one or more network devices in a network and issuing commands to the one or more network devices to execute the workload; and means for enabling the virtual machine surrogate to queue network traffic and using the virtualization component API to wake-up the virtual machine in the sleep state for network traffic that the virtual machine surrogate is incapable of handling, wherein the virtual machine surrogate comprises a low-profile virtual machine and small foot-print process that have low memory consumption. - View Dependent Claims (16, 17)
-
Specification