Single use execution environment for on-demand code execution

US11604669B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11604669-B2
Application numberUS-202016782873-A
CountryUS
Kind codeB2
Filing dateFeb 5, 2020
Priority dateFeb 5, 2020
Publication dateMar 14, 2023
Grant dateMar 14, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Systems and methods are provided for efficiently configuring an execution environment for an on-demand code execution system to handle a single request (or session) for a single user. Once the session or request is complete, the execution environment is reset, such as by having the hardware processor state, memory, and storage reset. In particular, prior to the execution of code, state of the execution environment of the host computing device is retrieved, such as hardware processor(s), memory, and/or storage state. Moreover, during execution of the code instructions, intermediate state can be gathered. Following the execution of the code, the execution environment is reset based on the saved state related to the hardware processor(s), memory, and/or storage. A subsequent code execution securely occurs in the execution environment and the execution environment is reset again, and so forth.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer implemented method comprising: under control of a computer hardware processor configured with specific computer executable instructions, receiving, from a host computing device in an on-demand code execution system, first hardware processor state from a hardware processor of the host computing device; receiving, from the host computing device, first storage device state from a storage device of the host computing device; causing code instructions to execute in an execution environment on a virtual machine instance of the host computing device; while causing the code instructions to execute in the execution environment on the virtual machine instance of the host computing device, receiving, from the host computing device, memory device state from a memory device of the host computing device, wherein causing the code instructions to execute causes: the hardware processor of the host computing device to change to a second hardware processor state, the storage device of the host computing device to change to a second storage device state, and the memory device of the host computing device to change in state; and resetting the execution environment on the virtual machine instance of the host computing device, wherein resetting the execution environment further comprises: transmitting reset instructions to the hardware processor of the host computing device, wherein the reset instructions are configured to: cause the hardware processor of the host computing device to revert to the first hardware processor state, and flush a cache of the hardware processor; causing the storage device of the host computing device to revert back to the first storage device state; and causing the memory device of the host computing device to revert to an initial state based at least in part on the memory device state. 2. The computer implemented method of claim 1 , wherein causing the code instructions to execute causes: recording, in the host computing device, the memory device state that indicates a memory page that was accessed or modified. 3. The computer implemented method of claim 2 , wherein recording the memory device state that indicates the memory page that was accessed further comprises: generating a duplicate memory page of the memory page that was accessed. 4. The computer implemented method of claim 3 , wherein causing the memory device of the host computing device to revert to the initial state based at least in part on the memory device state further comprises discarding the duplicate memory page. 5. The computer implemented method of claim 2 , wherein recording the memory device state that indicates the memory page that was accessed further comprises: generating a duplicate memory page of the memory page that was modified. 6. A system comprising: a data storage medium; and one or more computer hardware processors in communication with the data storage medium, the one or more computer hardware processors configured to execute computer-executable instructions to at least: receive, from a host computing device in an on-demand code execution system, first hardware processor state from a hardware processor of the host computing device; cause first code instructions to execute in an execution environment on a virtual machine instance of the host computing device; while causing the first code instructions to execute in the execution environment on the virtual machine instance of the host computing device, the one or more computer hardware processors is further configured to: receive, from the host computing device, memory device state from a memory device of the host computing device, wherein to cause the first code instructions to execute causes: the hardware processor of the host computing device to change to a second hardware processor state, and the memory device of the host computing device to change in state; and reset the execution environment on the virtual machine instance of the host computing device, wherein to reset the execution environment, the one or more computer hardware processors is further configured to: transmit reset instructions to the hardware processor of the host computing device, wherein the reset instructions are configured to: cause the hardware processor of the host computing device to revert to the first hardware processor state, and flush a cache of the hardware processor; and cause the memory device of the host computing device to revert to an initial state based at least in part on the memory device state. 7. The system of claim 6 , wherein to cause the first code instructions to execute, the host computing device is further configured to: create a bit map that indicates at least a first clean memory page and a second memory page that has been accessed or modified, wherein the memory device state indicates that the second memory page has been accessed or modified. 8. The system of claim 7 , wherein to cause the memory device of the host computing device to revert to the initial state based at least in part on the memory device state, the one or more computer hardware processors is further configured to: identify, using the bit map, the first clean memory page and the second memory page that has been accessed or modified; maintain the first clean memory page; and replace the second memory page that has been accessed or modified with a clean second memory page. 9. The system of claim 6 , wherein the host computing device further comprises a reset device, wherein the reset device comprises a processor of the one or more computer hardware processors configured to transmit the reset instructions to the hardware processor of the host computing device. 10. The system of claim 6 , wherein to cause the memory device of the host computing device to revert to the initial state, at least a portion of the memory device is instructed to power off and power on. 11. The system of claim 6 , wherein the first code instructions are received from a first user computing device, and wherein the one or more computer hardware processors is further configured to: receive, from a second user computing device different from the first user computing device, second code instructions; and cause the second code instructions to execute in the execution environment on the virtual machine instance of the host computing device. 12. A system comprising: a data storage medium; and one or more computer hardware processors in communication with the data storage medium, the one or more computer hardware processors configured to execute computer-executable instructions to at least: receive, from a first host computing device in an on-demand code execution system, first hardware processor state from a hardware processor of the first host computing device; while first code instructions execute in a first execution environment on a first virtual machine instance of the first host computing device, receive, from the first host computing device, memory device state from a memory device of the first host computing device, wherein to cause the first code instructions to execute causes: the hardware processor of the first host computing device to change to a second hardware processor state, and the memory device of the first host computing device to change in state; and reset the first execution environment on the first virtual machine instance of the first host computing device, wherein to reset the first execution environment, the one or more computer hardware processors is further configured to: transmit reset instructions to the hardware processor of the first host computing device, wherein the re

Assignees

Inventors

Classifications

  • Distribution of virtual machine instances; Migration and load balancing · CPC title

  • Memory management, e.g. access or allocation · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • with main memory updating (G06F12/0806 takes precedence) · CPC title

  • Page mode · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11604669B2 cover?
Systems and methods are provided for efficiently configuring an execution environment for an on-demand code execution system to handle a single request (or session) for a single user. Once the session or request is complete, the execution environment is reset, such as by having the hardware processor state, memory, and storage reset. In particular, prior to the execution of code, state of the e…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 14 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).