Pre-configure and pre-launch compute resources

US10489175B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10489175-B2
Application numberUS-201313914225-A
CountryUS
Kind codeB2
Filing dateJun 10, 2013
Priority dateJun 10, 2013
Publication dateNov 26, 2019
Grant dateNov 26, 2019

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, methods and computer-readable media are described for pre-warming compute instances in datacenters. A service provider associated with the datacenters may expect a demand for the compute instances and pre-configure computing resources within the datacenters to pre-launch the compute instances. As such, when a user requests a compute instance, the service provider may satisfy the request by allocating a pre-warmed compute instance to the user.

First claim

Opening claim text (preview).

What is claimed is: 1. A system for provisioning and launching compute instances, the system comprising: one or more datacenters comprising a plurality of computing devices configured to communicate with each other over network connections; and one or more memories having stored therein computer-readable instructions that, upon execution on the system, cause the system at least to: determine an expected demand for a plurality of compute instances, the plurality of compute instances being associated with a plurality of machine images and a plurality of compute instance types; determine one or more computing devices from the plurality of computing devices configured to host the plurality of compute instances based at least in part on the expected demand that customers are expected to request and an expected availability of the plurality of computing devices to be available to host the expected demand; prior to receiving a request from a customer node to launch a compute instance, launch and idle the plurality of compute instances on the one or more computing devices based at least in part on the plurality of machine images and the plurality of compute instance types; and in response to receiving the request from the customer node to launch the compute instance, activate the compute instance from one of the plurality of machine images that are idle on the one or more computing devices. 2. The system of claim 1 , wherein the expected demand is determined based at least in part on a history of requests received from customer nodes, and wherein the history of requests is sorted based at least in part on configuration parameters of compute instances associated with the requests. 3. The system of claim 1 , wherein the instructions to determine an expected demand for a plurality of compute instances comprise instructions that, upon execution on the system, cause the system at least to: analyze a history of requests for compute instances to determine a target for the plurality of compute instances and the one or more computing devices; and revise the target based at least in part on statistical factors associated with the requests. 4. The system of claim 1 , wherein the instructions to determine one or more computing devices from the plurality of computing devices comprise instructions that, upon execution on the system, cause the system at least to: balance the expected demand with the expected availability to meet a constraint associated with launching and idling the plurality of compute instances; and determine the one or more computing devices based at least in part on the balance. 5. A method, comprising: providing a plurality of pre-configured machine images on a plurality of compute nodes, wherein the plurality of pre-configured machine images is based at least in part on an expected demand that customers are expected to request and an expected availability of the plurality of compute nodes to be available to host the preconfigured machine images; launching the compute instance prior to receiving the request from a user node; idling the launched compute instance prior to receiving the request from the user node; after receiving a request from the user node to launch a compute instance, determining that the compute instance is associated with at least a type of machine image of the plurality of pre-configured machine images; and completing a launch of the compute instance using the associated type of machine image on a compute node of the plurality of compute nodes based at least in part on the determination by activating the idled compute instance in response to receiving the request from the user node. 6. The method of claim 5 , wherein the expected demand is based at least in part on previously received requests for compute instances. 7. The method of claim 5 , wherein the expected demand comprises types of a plurality of compute instances associated with the plurality of pre-configured machine images and identifiers associated with the plurality of pre-configured machine images. 8. The method of claim 7 , wherein the expected demand further comprises a timeframe within which requests for the plurality of compute instances from user nodes are expected to be received and regions expected to be indicated in the requests from the user nodes. 9. The method of claim 5 , wherein the machine image is pre-configured for launch on the compute node based at least in part on: caching the machine image from a root storage device that stores the machine image; modifying a configuration file of the machine image based at least in part on a configuration of the compute instance; and allocating a storage volume to the compute instance based at least in part on the configuration of the compute instance. 10. The method of claim 9 , wherein the completing a launch of the compute instance comprises booting an operating system of the machine image on the compute node based at least in part on the configuration file that is modified. 11. A non-transitory computer-readable medium comprising instructions that, upon execution on a system, cause the system to perform operations comprising: determining a demand for a plurality of compute instances associated with a plurality of machine images wherein the demand for the plurality of compute instances is associated with expected requests for launching the plurality of compute instances and an expected availability of the plurality of compute nodes to be available to host the compute instances; determining a plurality of compute nodes configured to launch the plurality of compute instances from the plurality of machine images, the determining being based at least in part on a constraint associated with launching the plurality of compute instances on the plurality of compute nodes; configuring the plurality of machine images on the plurality of computing nodes prior to receiving a request from a user node to launch a compute instance of the plurality of compute instances; and after receiving the request from the user node, completing a launch of a specific type of compute instance using one of the plurality of configured machine images on one of the plurality of compute nodes. 12. The non-transitory computer-readable medium of claim 11 further comprising instructions that, upon execution on the system, cause the system to perform operations comprising: analyzing a history associated with launched instances to determine a plurality of configuration parameters associated with the expected requests for launching plurality of compute instances; determining a target associated with launching the plurality of compute instances on a plurality of compute nodes based at least in part on availabilities of the plurality of compute nodes; and setting the demand based at least in part on the target, the demand comprising one or more configuration parameters from the plurality of configuration parameters. 13. The non-transitory computer-readable medium of claim 12 , wherein the plurality of configuration parameters include a number of the plurality of compute instances, types of the plurality of compute instances, and identifiers of the plurality of machine images. 14. The non-transitory computer-readable medium of claim 12 , wherein the history is based at least in part on requests for the launched instances associated with a plurality of user nodes, wherein the launched instances are hosted at a specific location. 15. The non-transitory computer-readable medium of claim 11 , wherein the constraint is based at least in part on an available compute capacity at the plurality of c

Assignees

Inventors

Classifications

  • Image based installation; Cloning; Build to order · CPC title

  • Reservation · CPC title

  • wherein the managed service relates to distributed or central networked applications · CPC title

  • the condition being an adaptation, e.g. in response to network events · CPC title

  • Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components · 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 US10489175B2 cover?
Systems, methods and computer-readable media are described for pre-warming compute instances in datacenters. A service provider associated with the datacenters may expect a demand for the compute instances and pre-configure computing resources within the datacenters to pre-launch the compute instances. As such, when a user requests a compute instance, the service provider may satisfy the reques…
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 Nov 26 2019 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).