US10360061B2ActiveUtilityA1

Systems and methods for loading a virtual machine monitor during a boot process

87
Assignee: AMAZON TECH INCPriority: Dec 11, 2014Filed: Jan 25, 2018Granted: Jul 23, 2019
Est. expiryDec 11, 2034(~8.4 yrs left)· nominal 20-yr term from priority
G06F 8/65G06F 9/45558G06F 2009/45575
87
PatentIndex Score
4
Cited by
91
References
19
Claims

Abstract

Generally described, aspects of the present disclosure relate to loading an updated virtual machine monitor on the physical computing device during a boot process. The updated virtual machine monitor may be loaded from an update manager external to the virtual machine monitor, such as the offload device or a server connected with the physical computing device over a network. In certain embodiments, the updated virtual machine monitor may be loaded in a tiered process by first loading a startup virtual machine monitor, which automatically updates by loading the updated virtual machine monitor. The startup virtual machine monitor may be a virtual machine monitor with less functionality than the updated machine manager, such as where the startup virtual machine monitor may be a “lite” or simple virtual machine monitor while the updated virtual machine monitor may be a fully functional virtual machine monitor of the most recent update or version.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A computing system comprising:
 an offload device comprising an offload device processor and offload device memory storing executable instructions for implementing a first version of a virtual machine monitor; 
 a physical computing device comprising one or more processors and memory, the offload device operably coupled to the physical computing device, wherein the one or more processors are configured to execute computer readable instructions that, upon execution, configure the physical computing device to:
 initiate a boot process; 
 interrupt the boot process upon receiving a boot process interrupt from the offload device; 
 load the first version of the virtual machine monitor from the offload device version into memory; 
 prior to completing the boot process,
 request an update to the first virtual machine monitor from an update manager over a network; 
 receive a first update to the first version of the virtual machine monitor from the update manager; 
 load the first update to the first version of the virtual machine monitor resulting in a second version of the virtual machine monitor; 
 
 complete the boot process using the second version of the virtual machine monitor; and 
 instantiate a plurality of virtual input/output (I/O) components on the offload device associated with at least one virtual machine instance on the physical computing device. 
 
 
     
     
       2. The computing system of  claim 1 , wherein the first version of the virtual machine monitor is stored in an option read-only memory on the offload device. 
     
     
       3. The computing system of  claim 2 , wherein the second version of the virtual machine monitor is loaded by updating the first version of the virtual machine monitor. 
     
     
       4. The computing system of  claim 1 , wherein the offload device is operably coupled to the physical computing device via an interconnect interface. 
     
     
       5. The computing system of  claim 1 , wherein the physical computing device is configured to send a booting notification to the offload device, and wherein the boot process interrupt is received in response to the booting notification. 
     
     
       6. The computing system of  claim 5 , wherein the offload device is configured to initiate an offload device boot process upon receiving the booting notification. 
     
     
       7. The computing system of  claim 1 , wherein the booting notification is part of a Basic Input/Output System (BIOS) call of the physical computing device to an Option ROM of the offload device. 
     
     
       8. The computing system of  claim 5 , wherein the initiation of the boot process occurs in response to a boot trigger issued during a reboot process implemented by the physical computing device. 
     
     
       9. The computing system of  claim 1 , wherein the second version of the virtual machine monitor is further configured to instantiate the at least one virtual machine instance on the physical computing device. 
     
     
       10. The computing system of  claim 1 , wherein the second version of the virtual machine monitor is configured to provide addressing information associated with the plurality of virtual I/O components to the at least one virtual machine instance such that at least some of the I/O requests generated by the virtual machine instances are performed by the virtual I/O components. 
     
     
       11. The computing system of  claim 1 , wherein the at least one virtual machine instance is assigned virtual processing resources and virtual memory resources corresponding to allocations of computing resources. 
     
     
       12. The computing system of  claim 1 , wherein the virtual I/O components are configured to perform at least one I/O function on behalf of the at least one virtual machine instance, wherein the virtual I/O components are instantiated in the offload device memory, wherein each of the virtual I/O components are associated with one of the at least one virtual machine instance. 
     
     
       13. A computer-implemented method comprising:
 initiating a boot process of a physical computing device, the physical computing device operably coupled to an offload device; 
 interrupting the boot process upon receiving a boot process interrupt from the offload device; 
 loading a first version of a virtual machine monitor stored in memory on the offload device into memory on the physical computing device; 
 prior to completing the boot process,
 requesting an update to the first version of the virtual machine monitor from an update manager over a network; 
 receiving a first update to the first version of the virtual machine monitor from the update manager; 
 updating the first version of the virtual machine monitor using the first update, wherein the update to the first version of the virtual machine monitor results in a second version of the virtual machine monitor; 
 
 completing the boot process using the second version of the virtual machine monitor in the memory of the physical computing device; and 
 instantiating a plurality of virtual input/output (I/O) components associated with at least one virtual machine instance instantiated on the physical computing device. 
 
     
     
       14. The method of  claim 13 , wherein the first version of the virtual machine monitor comprises information on which the update manager uses to provide the second version of the virtual machine monitor. 
     
     
       15. The method of  claim 13 , wherein the second version of the virtual machine monitor is loaded from the update manager via the offload device. 
     
     
       16. The method of  claim 13 , wherein the second version of the virtual machine monitor is configured to determine a configuration of a virtual machine instance. 
     
     
       17. The method of  claim 16 , wherein the first version of the virtual machine monitor is not configured to determine a configuration of a virtual machine instance. 
     
     
       18. The method of  claim 13 , wherein the update manager is the offload device. 
     
     
       19. The method of  claim 13 , wherein the first version of the virtual machine monitor is loaded from an option ROM on the offload device.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.