IP Library › Granted Patent US 10,360,015
Granted Patent B2
US 10,360,015 · App. 15/472,157 · Granted Jul 23, 2019

Updating virtual machine images

Inventor: Nicholas Alexander Allen (Seattle, WA)
Assignee: Amazon Technologies, Inc.
G06F8/65
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 10,360,015
App. No.
15/472,157
Granted
Jul 23, 2019
Kind
B2
Abstract

Remote computing resource service providers allow customers to execute virtual computer systems in a virtual environment on hardware provided by the computing resource service provider. The virtual computer systems may be suspended for an indeterminate amount of time and saved as images in one or more storage systems of the service provider. Periodically, updates for the virtual computer systems are required. In order to update virtual computer systems that are stored in a suspended state, an offline patch and indirection map is generated and used to update the virtual computer systems.

Claims (44)

1. A computer-implemented method, comprising:

generating a patch identifying a log of changes to be made to a virtual machine instance;

updating a different virtual machine instance based at least in part on the log of changes;

generating a mapping between the different virtual machine instance and a resource associated with the log of changes;

identifying, based at least in part on the log of changes, the virtual machine instance; and

updating the virtual machine instance based at least in part on the log of changes identified in the patch and the mapping.

2. The computer-implemented method of claim 1 , further comprising storing an image of the virtual machine instance after updating.

3. The computer-implemented method of claim 1 , wherein the patch includes at least one of a security policy update, licensing policy update, software update, access rights update, database update, operating system update, firmware update, networking interface update or administrative update.

4. The computer-implemented method of claim 1 , wherein the patch is generated by the different virtual machine instance that is instantiated from a template associated with the log of changes.

5. A system, comprising:

memory to store instructions, as a result of being executed by one or more processors, cause the system to:

generate a patch identifying a log of changes to be made to a virtual machine instance;

update a different virtual machine instance based at least in part on the log of changes;

generate a mapping between the different virtual machine instance and a resource associated with the log of changes;

identify, based at least in part on the log of changes, the virtual machine instance; and

update the virtual machine instance based at least in part on the log of changes identified in the patch and the mapping.

6. The system of claim 5 , wherein the instructions that identify the virtual machine instance, as a result of being executed by the one or more processors, further cause the system to identify the virtual machine instance based at least in part on expiration of a period of time associated with updating the virtual machine instance.

7. The system of claim 5 , wherein the instructions, as a result of being executed by the one or more processors, further cause the system to:

generate the different virtual machine instance; and

update the different virtual machine instance to generate the log of changes prior to identifying the virtual machine instance.

8. The system of claim 7 , wherein the instructions that cause the updating of the virtual machine instance, as a result of being executed by the one or more processors, further cause the system to:

generate a mapping between the different virtual machine instance and an updated resource associated with the log of changes; and

update the virtual machine instance based at least in part on the mapping.

9. The system of claim 7 , wherein the instructions that generate the different virtual machine instance, as a result of being executed by the one or more processors, further cause the system to generate the different virtual machine instance based at least in part on the identified virtual machine instance.

10. The system of claim 5 , wherein, prior to being updated, the virtual machine instance lacks access to the resource associated with the log of changes.

11. The system of claim 5 , wherein the instructions, as a result of being executed by the one or more processors, further cause the system to store an image of the virtual machine instance after being updated, the image including version information newer than that of a previous image of the virtual machine instance.

12. A non-transitory computer-readable storage medium comprising executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least:

generate a patch identifying a log of changes to be made to a virtual machine instance;

update a different virtual machine instance based at least in part on the log of changes;

generate a mapping between the different virtual machine instance and a resource associated with the log of changes;

identify, based at least in part on the log of changes, the virtual machine instance; and

update the virtual machine instance based at least in part on the log of changes identified in the patch and the mapping.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the instructions that cause the computer system to generate the patch, as a result of being executed by the one or more processors, further cause the computer system to at least:

generate a different virtual machine instance;

update the different virtual machine instance based at least in part on a state of access, by the different virtual machine instance, to the resource;

record one or more operations of the different virtual machine instance during the updating; and

generate mapping information associated with the resource based at least in part on the recorded one or more operations.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions that cause the computer system to identify the virtual machine instance include instructions that, as a result of being executed by the one or more processors, further cause the computer system to update the virtual machine instance using the mapping information.

15. The non-transitory computer-readable storage medium of claim 12 , wherein the virtual machine instance is identified based at least in part on expiration of a period of time associated with updating the virtual machine instance.

16. The non-transitory computer-readable storage medium of claim 12 , wherein the instructions, as a result of being executed by the one or more processors, further cause the computer system to generate an image of the virtual machine instance after the virtual machine instance is updated.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the image is associated with version information newer than that of a previous image of the virtual machine instance.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the instructions, as a result of being executed by the one or more processors, further cause the computer system to provide, in connection with a request to instantiate the virtual machine instance after the virtual machine instance is updated, both the previous image and the image for instantiation.

19. The computer-implemented method of claim 1 , wherein the different virtual machine instance has similar characteristics as the virtual machine instance.

20. The computer-implemented method of claim 1 , wherein the mapping includes a corresponding logical abstraction associated with the computing resource of the different virtual machine instance.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2017
From: ALLEN, NICHOLAS ALEXANDER
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 041771/0688 →
Continuity (2)
Continuation 14133006 · Dec 18, 2013
Related Publication 20170272337A1 · Sep 21, 2017
Cited By (1)
US 12,683,884