Hardware-based mechanisms for updating computer systems
AssigneeAmazon Technologies, Inc.
InventorsMichael David Marr, Nachiketh Rao Potlapally
Life of this patent
Estimating the term…
Abstract
Techniques for using hardware-based mechanisms for updating computing resources are described herein. At a time after receiving a code update request, one or more hardware-supported system management capabilities of processors within a computing system are invoked at least to interrupt execution of currently running instructions. While the system management capabilities are active and instruction execution is suspended, programmatic routines are updated. After the updates are complete, instruction execution is resumed.
Claims25
A computer-implemented method for configuring computer systems, comprising:
- receiving, by a computer system, a system management interrupt;
- as a result of receiving the system management interrupt, entering a System Management Mode supported by one or more processors of the computer system so as to temporarily suspend execution of a subset of executable instructions associated with operation of a trusted computing base that includes at least a virtual machine manager and a service domain layer;
- receiving one or more updates to at least a portion of the trusted computing base;
- authenticating the integrity of the received update by at least performing a cryptographic operation on the received update with a cryptographic key;
- updating the portion of the trusted computing base using the authenticated update;
- and
- resuming execution of the subset of the executable instructions.
A computer-implemented method for configuring computer systems, comprising:
- receiving, at a computer system, a code update request;
- at a time after receiving the code update request, invoking one or more hardware-supported system management capabilities of one or more processors of the computer system at least to interrupt execution of at least a subset of executable instructions associated with one or more programmatic routines;
- updating the one or more programmatic routines while execution of the associated subset of instructions is interrupted;
- and
- resuming execution of the subset of the executable instructions.
A computer system, comprising:
- one or more processors;
- and
- memory, including instructions executable by the one or more processors to cause the computer system to at least:
- receive requests to update one or more operating systems in active operation upon the computer system;
- process the received requests by at least:
- pausing the active operation of the operating system by at least entering a privileged management mode supported by the processor;
- updating the operating system in accordance with the received request;
- and
- at a time after the operating system has been updated, resuming the active operation of the operating system.
One or more non-transitory computer-readable storage media having collectively stored thereon executable instructions that, when executed by one or more processors of a computing resource provider's computer system, cause the computer system to at least:
- receive an instruction to the one or more processors to enter a hardware-supported system management mode so as to suspend operation of actively operating code;
- process the instruction to enter the hardware-supported system management mode;
- at a time after entering the hardware-supported system management mode:
- obtain a code patch that is effective to update the code;
- apply the code patch to update the code;
- and
- at a time after the code patch has been executed, enable the processors to resume the active operation of the code.
Dependencies are inferred from the claim text.