Automatic determination of resource sizing

US10353746B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10353746-B2
Application numberUS-201615396155-A
CountryUS
Kind codeB2
Filing dateDec 30, 2016
Priority dateDec 5, 2014
Publication dateJul 16, 2019
Grant dateJul 16, 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.

A system for providing automatic resource resizing is provided. The system may be configured to maintain a plurality of virtual machine instances. The system may be further configured to receive a request to execute a program code and allocate computing resources for executing the program code on one of the virtual machine instances. The amount of resources allocated for executing the program code may be specified by the request and adjusted as needed.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method, comprising: determining, based on a request to execute a program code of a user, a user-specified amount of a first computing resource to be used to execute the program code; obtaining a virtual machine instance to be used to execute the program code, the virtual machine instance associated with a first maximum amount of the first computing resource and a second maximum amount of a second computing resource, the second computing resource being different from the first computing resource; determining a first ratio of the user-specified amount of the first computing resource to the first maximum amount of the first computing resource; computing a corresponding amount of the second computing resource based on (i) the first ratio of the user-specified amount of the first computing resource to the first maximum amount of the first computing resource and (ii) the second maximum amount of the second computing resource associated with the virtual machine instance; and executing the program code in a container created in the virtual machine instance, the container having at least the user-specified amount of the first computing resource and the computed corresponding amount of the second computing resource. 2. The computer-implemented method of claim 1 , further comprising: determining an actual amount of the first computing resource used by the program code during execution of the program code; determining, based on the actual amount, that the user-specified amount is to be overridden; and executing the program code in another container having an alternate amount of the first computing resource in response to a subsequent request to execute the program code, wherein the alternate amount is different from the user-specified amount. 3. The computer-implemented method of claim 1 , further comprising: determining an actual amount of the second computing resource used by the program code during execution of the program code; determining, based on the actual amount, that the computed corresponding amount is to be adjusted; and executing the program code in another container having an alternate amount of the second computing resource in response to a subsequent request to execute the program code, wherein the alternate amount is different from the computed corresponding amount. 4. The computer-implemented method of claim 1 , further comprising determining, based on the user-specified amount, another resource amount of a third computing resource other than the first and second computing resources. 5. The computer-implemented method of claim 1 , further comprising over-subscribing the virtual machine instance such that a sum of the user-specified amount of the first computing resource allocated to each container created in the virtual machine instance exceeds the first maximum amount. 6. The computer-implemented method of claim 1 , wherein the request does not specify an amount of the second computing resource to be allocated to execute the program code. 7. The computer-implemented method of claim 6 , further comprising receiving a subsequent request to execute another program code of another user, the subsequent request specifying a first amount of the first computing resource and a second amount of the second computing resource to be allocated to execute said another program code. 8. A system, comprising: one or more processors; and one or more memories, the one or more memories having stored thereon instructions, which, when executed by the one or more processors, cause the one or more processors to: determine, based on a request to execute a program code of a user, a user-specified amount of a first computing resource to be used to execute the program code; obtain a virtual machine instance to be used to execute the program code, the virtual machine instance associated with a first maximum amount of the first computing resource and a second maximum amount of a second computing resource, the second computing resource being different from the first computing resource; determine a first ratio of the user-specified amount of the first computing resource to the first maximum amount of the first computing resource; compute a corresponding amount of the second computing resource based on (i) the first ratio of the user-specified amount of the first computing resource to the first maximum amount of the first computing resource and (ii) the second maximum amount of the second computing resource associated with the virtual machine instance; and cause the program code to be executed in a container created in the virtual machine instance, the container having at least the user-specified amount of the first computing resource and the computed corresponding amount of the second computing resource. 9. The system of claim 8 further comprising instructions to: determine an actual amount of the first computing resource used by the program code during execution of the program code; determine, based on the actual amount, that the user-specified amount is to be overridden; and cause the program code to be executed in another container having an alternate amount of the first computing resource in response to a subsequent request to execute the program code, wherein the alternate amount is different from the user-specified amount. 10. The system of claim 8 further comprising instructions to: determine an actual amount of the second computing resource used by the program code during execution of the program code; determine, based on the actual amount, that the computed corresponding amount is to be adjusted; and cause the program code to be executed in another container having an alternate amount of the second computing resource in response to a subsequent request to execute the program code, wherein the alternate amount is different from the computed corresponding amount. 11. The system of claim 8 further comprising instructions to determine, based on the user-specified amount, another resource amount of a third computing resource other than the first and second computing resources. 12. The system of claim 8 further comprising instructions to over-subscribe the virtual machine instance such that a sum of the user-specified amount of the first computing resource allocated to each container created in the virtual machine instance exceeds the first maximum amount. 13. The system of claim 8 , wherein the request does not specify an amount of the second computing resource to be allocated to execute the program code. 14. The system of claim 13 further comprising instructions to receive a subsequent request to execute another program code of another user, the subsequent request specifying a first amount of the first computing resource and a second amount of the second computing resource to be allocated to execute said another program code. 15. Non-transitory physical computer storage storing computer executable instructions that, when executed by one or more processors, configure the one or more processors to: determine, based on a request to execute a program code of a user, a user-specified amount of a first computing resource to be used to execute the program code; obtain a virtual machine instance to be used to execute the program code, the virtual machine instance associated with a first maximum amount of the first computing resource and a second maximum amount of a second computing resource, the second computing resource being different from the first computing resource; determine a first ratio of the user-specified amount of the first computing resource to the first

Assignees

Inventors

Classifications

  • G06F9/5077Primary

    Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · CPC title

  • Program loading or initiating (bootstrapping G06F9/4401; security arrangements for program loading or initiating G06F21/57) · CPC title

  • Hypervisors; Virtual machine monitors · CPC title

  • Allocation of resources, e.g. of the central processing unit [CPU] · CPC title

  • User-type aware · 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 US10353746B2 cover?
A system for providing automatic resource resizing is provided. The system may be configured to maintain a plurality of virtual machine instances. The system may be further configured to receive a request to execute a program code and allocate computing resources for executing the program code on one of the virtual machine instances. The amount of resources allocated for executing the program c…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/5077. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 16 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).