Recovery protocols for system malfunctions in virtual computing environments
AssigneeAmazon Technologies, Inc.
InventorDavid William Martin Woodhouse
Life of this patent
Estimating the term…
Abstract
Generally described, the present disclosure relates to the use of a virtual machine monitor to instruct one or more virtual processing units belonging to a malfunctioning virtual machine instance to pause processing. While paused, the virtual machine monitor may store the register data of the virtual processing units to virtual memory of the virtual machine instance (e.g., perform a register dump on behalf of the virtual processing units of the malfunctioning virtual machine instance). The virtual machine monitor may then instruct virtual processing units to reinitialize and invoke protected software (e.g., a crash kernel) from virtual memory in an effort to recover from virtual memory the register data dumped there by the VM monitor.
Claims20
A physical computing device comprising:
- a physical memory configured to store a virtual machine monitor for monitoring a virtual machine instance, wherein the virtual machine instance includes (i) a virtual machine memory storing at least a virtual operating system kernel, and (ii) a virtual processing unit in communication with the virtual machine memory;
- and
- a physical processing unit in communication with the physical memory, wherein the physical processing unit is configured to execute the virtual machine monitor to at least:
- receive a malfunction indication for the virtual machine instance;
- and
- in response to receiving the malfunction indication, determine the virtual machine monitor is to control a recovery protocol instead of the virtual operating system kernel;
- in response to determining the virtual machine monitor is to control the recovery protocol instead of the virtual operating system kernel:
- instruct the virtual processing unit of the virtual machine instance to cease processing;
- store register data of the virtual processing unit to a known memory location;
- instruct the virtual processing unit of the virtual machine instance to reinitialize;
- and
- instruct the virtual processing unit of the virtual machine instance that has reinitialized to invoke a virtual crash kernel that enables the virtual machine instance to recover the register data from the known memory location.
A computer-implemented method comprising:
- receiving, by a virtual resource monitor, an indication of a system malfunction in a virtual computing resource, wherein the virtual computing resource includes (i) a virtual memory storing at least a protected program, and (ii) a virtual processing unit in communication with the virtual memory;
- determining, by the virtual resource monitor, that the virtual resource monitor is to control a recovery protocol instead of the protected program;
- in response to determining that the virtual resource monitor is to control the recovery protocol instead of the protected program:
- instructing, by the virtual resource monitor, the virtual processing unit of the virtual computing resource to stop processing;
- writing, by the virtual resource monitor, register data of the virtual processing unit to a known memory location;
- and
- instructing, by the virtual resource monitor, the virtual processing unit of the virtual computing resource to reinitialize and invoke the protected program stored in the virtual memory so that the protected program, when invoked, causes the virtual processing unit of the virtual computing resource to recover the register data written to the known memory location by the virtual resource monitor.
A computer-implemented method comprising:
- sending, by a virtual machine instance including (i) a virtual memory storing at least an operating program and a protected program, and (ii) a virtual processing unit in communication with the virtual memory, a location of the protected program in virtual memory to a virtual machine monitor;
- sending, by the virtual machine instance, an indication to the virtual machine monitor that the virtual machine monitor is to control a recovery protocol instead of the protected program;
- receiving, by the virtual machine instance, an instruction from the virtual machine monitor in accordance with the recovery protocol to cease processing of the virtual processing unit;
- receiving, by the virtual machine instance, an instruction from the virtual machine monitor in accordance with the recovery protocol to reinitialize and invoke the protected program from the location in virtual memory;
- causing the virtual processing unit of the virtual machine instance to reinitialize;
- and
- causing the virtual processing unit of the virtual machine instance that has reinitialized to invoke the protected program from the location in virtual memory.
Dependencies are inferred from the claim text.