# US 2014/0156835 A1 · Methods and systems for dynamically managing requests for computing capacity

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0156835 A1
- Document ID: US20140156835A1
- Status: Published application
- Kind: A1
- Application number: 14/171,153
- Filed: 2014-02-03
- Published: 2014-06-05
- Earliest claimed: 2010-09-21
- Assignees: Amazon Technologies, Inc.
- Applicants: Amazon Technologies, Inc.
- Inventors: Lee A. Atchison; Brian A. White; Peter D. Cohen; Peter N. De Santis; Mikhail Garber
- Web page: https://patentgrep.com/patent/US20140156835A1

## CPC

- G06F 9/455: Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- H04L 67/1031: Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
- G06F 9/5072: {Grid computing}
- G06F 9/5077: {Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455)}
- G06F 9/5027: {the resource being a machine, e.g. CPUs, Servers, Terminals}
- G06F 9/505: {considering the load}
- G06F 9/5083: {Techniques for rebalancing the load in a distributed system}
- H04L 67/1001: for accessing one among a plurality of replicated servers
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Embodiments of systems and methods are described for dynamically managing requests for computing capacity from a provider of computing resources. Illustratively, the computing resources may include program execution capabilities, data storage or management capabilities, network bandwidth, etc. The systems or methods automatically allocate computing resources for execution of one or more programs associated with the user. The systems and methods may enable the user to make changes to the allocated resources after execution of the one or more programs has started.

## Claims

### Claim 1

A computing system configured to manage execution of programs for users, the system comprising:
an interactive request manager component that is configured to manage execution of programs for users of a program execution service (PES), the interactive request manager component comprising physical computing hardware configured to:
receive a request from a first user to share, with users of the PES, a first virtualization environment generated for the first user, the first virtualization environment including an operating system and at least one program service provided by the PES, the program services comprising a user-customizable load balancer configured to allow a user to distribute workload across one or more of the plurality of computing nodes or one or more instances of the virtualization environment for a user application;
update a list of virtualization environments available for selection by users of the PES to provide an updated list of virtualization environments that includes information related to the first virtualization environment;
provide the updated list of virtualization environments to users of the PES;
receive a selection of the first virtualization environment that is included in the updated list from a second user of the PES; and
generate a second virtualization environment for the second user, the second virtualization environment based at least in part on the first virtualization environment.

### Claim 2 (depends on 1)

The system of claim 1, wherein the interactive request manager component is further configured to receive from the second user at least one change that is to be made to the first virtualization environment, and to generate the second virtualization environment based at least in part on the at least one change.

### Claim 3 (depends on 2)

The system of claim 2, wherein the interactive request manager component is further configured to receive a request from the second user to share, with users of the PES, the second virtualization environment generated for the second user, and to further update the updated list to include information related to the second virtualization environment.

### Claim 4 (depends on 3)

The system of claim 3, wherein the interactive request manager component is further configured to receive from a third user a selection of the first virtualization environment or the second virtualization environment.

### Claim 5 (depends on 1)

The system of claim 1, wherein the interactive request manager component is further configured to execute an application provided by the second user using the second virtualization environment.

### Claim 6 (depends on 1)

The system of claim 1, wherein the interactive request manager component is further configured to recommend at least one virtualization environment included in the updated list of virtualization environments to the second user.

### Claim 7 (depends on 6)

The system of claim 6, wherein the at least one recommended virtualization environment is based at least in part on preferences provided by the second user.

### Claim 8 (depends on 1)

The system of claim 1, wherein the interactive request manager component is further configured to provide the first user with a fee based at least in part on the selection of the first virtualization environment by the second user.

### Claim 9 (depends on 1)

The system of claim 1, further comprising one or more of: (1) a monitoring interface configured to allow the user to monitor execution of the program, (2) a load scaler configured to scale computing resources of the PES in response to variations in demand for execution of the program, or (3) a plurality of database management services.

### Claim 10

A computer-implemented method for dynamically managing requests for computing capacity provided by a program execution service (PES), the method comprising:
under control of the PES that provides a plurality of computing nodes that are each configurable to execute one or more programs of multiple users of the PES, the PES further providing a plurality of user-customizable program services:
receiving a request from a first user to share, with users of the PES, a first virtualization environment generated for the first user, the first virtualization environment including an operating system and at least one program service provided by the PES;
updating a list of virtualization environments available for selection by users of the PES to provide an updated list of virtualization environments that includes information related to the first virtualization environment;
providing the updated list of virtualization environments to users of the PES;
receiving a selection of the first virtualization environment that is included in the updated list from a second user of the PES; and
generating a second virtualization environment for the second user, the second virtualization environment based at least in part on the first virtualization environment.

### Claim 11 (depends on 10)

The method of claim 10, further comprising receiving from the second user at least one change that is to be made to the first virtualization environment, and to generate the second virtualization environment based at least in part on the at least one change.

### Claim 12 (depends on 11)

The method of claim 11, further comprising receiving a request from the second user to share, with users of the PES, the second virtualization environment generated for the second user, and to further update the updated list to include information related to the second virtualization environment.

### Claim 13 (depends on 12)

The method of claim 12, further comprising receiving from a third user a selection of the first virtualization environment or the second virtualization environment.

### Claim 14 (depends on 10)

The method of claim 10, further comprising executing an application provided by the second user using the second virtualization environment.

### Claim 15 (depends on 10)

The method of claim 10, further comprising recommending at least one virtualization environment included in the updated list of virtualization environments to the second user.

### Claim 16 (depends on 15)

The method of claim 15, wherein the at least one recommended virtualization environment is based at least in part on preferences provided by the second user.

### Claim 17 (depends on 10)

The method of claim 10, further comprising providing the first user with a fee based at least in part on the selection of the first virtualization environment by the second user.

### Claim 18 (depends on 10)

The method of claim 10, wherein the PES further comprises one or more of: (1) a monitoring interface configured to allow the user to monitor execution of the program, (2) a load scaler configured to scale computing resources of the PES in response to variations in demand for execution of the program, or (3) a plurality of database management services.

### Claim 19

Non-transitory physical computer storage comprising computer-executable instructions that, when executed by a computing system, direct the computing system to perform operations comprising:
receiving a request from a first user to share, with users of a program execution service (PES), a first virtualization environment generated for the first user, the first virtualization environment including an operating system and at least one program service provided by the PES, the PES providing a plurality of computing nodes that are each configurable to execute one or more programs of multiple users of the PES, the PES further providing a plurality of user-customizable program services;
updating a list of virtualization environments available for selection by users of the PES to provide an updated list of virtualization environments that includes information related to the first virtualization environment;
providing the updated list of virtualization environments to users of the PES;
receiving a selection of the first virtualization environment that is included in the updated list from a second user of the PES; and
generating a second virtualization environment for the second user, the second virtualization environment based at least in part on the first virtualization environment.

### Claim 20 (depends on 19)

The non-transitory physical computer storage of claim 19, wherein the operations further comprise receiving from the second user at least one change that is to be made to the first virtualization environment, and to generate the second virtualization environment based at least in part on the at least one change.
