# US 2021/0240513 A1 · Computing service with configurable virtualization control levels and accelerated launches

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

- Number: US 2021/0240513 A1
- Document ID: US20210240513A1
- Status: Published application
- Kind: A1
- Application number: 17/214,517
- Filed: 2021-03-26
- Published: 2021-08-05
- Earliest claimed: 2018-12-11
- Assignees: Amazon Technologies, Inc.
- Applicants: Amazon Technologies, Inc.
- Inventors: Upendra Bhalchandra Shevade; Diwakar Gupta; Michael B. Furr; Kevin P. Smith; Nishant Mehta
- Web page: https://patentgrep.com/patent/US20210240513A1

## CPC

- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/5027: {the resource being a machine, e.g. CPUs, Servers, Terminals}
- G06F 9/5016: {the resource being the memory}
- G06F 9/505: {considering the load}
- G06F 2009/45562: {Creating, deleting, cloning virtual machine instances}
- G06F 2009/45575: {Starting, stopping, suspending or resuming virtual machine instances}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A first virtualization control mode to be used for configuring one or more compute instances is determined. Based at least partly on the mode, preparatory configuration operations for launching a compute instance are initiated. The operations include transferring at least a portion of a machine image to a storage device accessible from a host, and initialization of a virtual network interface. A compute instance is instantiated using the machine image at the host. The compute instance is a thread of an intermediary process launched by an administrative agent at the host in response to a launch request.

## Claims

### Claim at position 1

-40. (canceled)

### Claim 41

A computer-implemented method, comprising:
in response to one or more programmatic requests from a client of a virtualized computing service of a provider network, (a) provisioning a single-tenant host for one or more virtual machines of the client and (b) determining that oversubscription of processing units of the single-tenant host is permitted;
in response to a first launch request from the client, launching a first virtual machine on the single-tenant host, wherein the first virtual machine is configured to utilize up to a first count of processing units; and
in response to a second launch request from the client, launching a second virtual machine on the single-tenant host, wherein the second virtual machine is configured to utilize up to a second count of processing units, wherein a total count of processing units allotted to virtual machines running on the single-tenant host exceeds a processing unit capacity of the single-tenant host, and wherein the total count includes the first count and the second count.

### Claim 42 (depends on 41)

The computer-implemented method as recited in claim 41, wherein a programmatic request of the one or more programmatic requests indicates one or more resource requirements for the single-tenant host.

### Claim 43 (depends on 41)

The computer-implemented method as recited in claim 41, further comprising:
providing an identifier of the single-tenant host via a programmatic interface, wherein the identifier is indicated in the first launch request.

### Claim 44 (depends on 41)

The computer-implemented method as recited in claim 41, further comprising:
prior to receiving the first launch request, caching a first portion of a machine image at the single-tenant host; and
subsequent to receiving the first launch request, combining the first portion with a second portion of the machine image to obtain a final machine image used to launch the first virtual machine.

### Claim 45 (depends on 41)

The computer-implemented method as recited in claim 41, further comprising:
causing a local communication channel to be established for communication between the first and second virtual machines at the single-tenant host, wherein the local communication channel does not utilize a network device.

### Claim 46 (depends on 41)

The computer-implemented method as recited in claim 41, further comprising:
in response to a third launch request from the client, launching a third virtual machine on another host, wherein the third virtual machine is configured to utilize up to a first amount of memory; and
in response to a fourth launch request from the client, launching a fourth virtual machine on the other host, wherein the fourth virtual machine is configured to utilize up to a second amount of memory, wherein a total amount of memory allotted to virtual machines running on the other host exceeds a memory capacity of the other host, and wherein the total amount includes the first amount and the second amount.

### Claim 47 (depends on 41)

The computer-implemented method as recited in claim 41, further comprising:
performing one or more operations to configure the first virtual machine within an isolated virtual network indicated by the client.

### Claim 48

A system, comprising:
one or more computing devices;
wherein the one or more computing devices include instructions that upon execution on or across the one or more computing devices cause the one or more computing devices to:
in response to one or more programmatic requests from a client of a virtualized computing service of a provider network, (a) provision a single-tenant host for one or more virtual machines of the client and (b) determine that oversubscription of processing units of the single-tenant host is permitted;
in response to a first launch request from the client, launch a first virtual machine on the single-tenant host, wherein the first virtual machine is configured to utilize up to a first count of processing units; and
in response to a second launch request from the client, launch a second virtual machine on the single-tenant host, wherein the second virtual machine is configured to utilize up to a second count of processing units, wherein a total count of processing units allotted to virtual machines running on the single-tenant host exceeds a processing unit capacity of the single-tenant host, and wherein the total count includes the first count and the second count.

### Claim 49 (depends on 48)

The system as recited in claim 48, wherein a programmatic request of the one or more programmatic requests indicates one or more resource requirements for the single-tenant host.

### Claim 50 (depends on 48)

The system as recited in claim 48, wherein the one or more computing devices include further instructions that upon execution on or across the one or more computing devices further cause the one or more computing devices to:
provide an identifier of the single-tenant host via a programmatic interface, wherein the identifier is indicated in the first launch request.

### Claim 51 (depends on 48)

The system as recited in claim 48, wherein the one or more computing devices include further instructions that upon execution on or across the one or more computing devices further cause the one or more computing devices to:
prior to receiving the first launch request, cache a first portion of a machine image at the single-tenant host; and
subsequent to receiving the first launch request, combine the first portion with a second portion of the machine image to obtain a final machine image used to launch the first virtual machine.

### Claim 52 (depends on 48)

The system as recited in claim 48, wherein the one or more computing devices include further instructions that upon execution on or across the one or more computing devices further cause the one or more computing devices to:
cause a local communication channel to be established for communication between the first and second virtual machines at the single-tenant host, wherein the local communication channel does not utilize a network device.

### Claim 53 (depends on 48)

The system as recited in claim 48, wherein the one or more computing devices include further instructions that upon execution on or across the one or more computing devices further cause the one or more computing devices to:
in response to a third launch request from the client, launch a third virtual machine on another host, wherein the third virtual machine is configured to utilize up to a first amount of storage; and
in response to a fourth launch request from the client, launch a fourth virtual machine on the other host, wherein the fourth virtual machine is configured to utilize up to a second amount of storage, wherein a total amount of storage allotted to virtual machines running on the other host exceeds a storage capacity of the other host, and wherein the total amount includes the first amount and the second amount.

### Claim 54 (depends on 48)

The system as recited in claim 48, wherein the one or more computing devices include further instructions that upon execution on or across the one or more computing devices further cause the one or more computing devices to:
perform one or more operations to configure the first virtual machine within an isolated virtual network indicated by the client.

### Claim 55

One or more non-transitory computer-accessible storage media storing program instructions that when executed on or across one or more processors cause the one or more processors to:
in response to one or more programmatic requests from a client of a virtualized computing service of a provider network, (a) provision a single-tenant host for one or more virtual machines of the client and (b) determine that oversubscription of processing units of the single-tenant host is permitted;
in response to a first launch request from the client, launch a first virtual machine on the single-tenant host, wherein the first virtual machine is configured to utilize up to a first count of processing units; and
in response to a second launch request from the client, launch a second virtual machine on the single-tenant host, wherein the second virtual machine is configured to utilize up to a second count of processing units, wherein a total count of processing units allotted to virtual machines running on the single-tenant host exceeds a processing unit capacity of the single-tenant host, and wherein the total count includes the first count and the second count.

### Claim 56 (depends on 55)

The one or more non-transitory computer-accessible storage media as recited in claim 55, wherein a programmatic request of the one or more programmatic requests indicates one or more resource requirements for the single-tenant host.

### Claim 57 (depends on 55)

The one or more non-transitory computer-accessible storage media as recited in claim 55, storing further program instructions that when executed on or across the one or more processors further cause the one or more processors to:
provide an identifier of the single-tenant host via a programmatic interface, wherein the identifier is indicated in the first launch request.

### Claim 58 (depends on 55)

The one or more non-transitory computer-accessible storage media as recited in claim 55, storing further program instructions that when executed on or across the one or more processors further cause the one or more processors to:
prior to receiving the first launch request, cache a first portion of a machine image at the single-tenant host; and
subsequent to receiving the first launch request, combine the first portion with a second portion of the machine image to obtain a final machine image used to launch the first virtual machine.

### Claim 59 (depends on 55)

The one or more non-transitory computer-accessible storage media as recited in claim 55, storing further program instructions that when executed on or across the one or more processors further cause the one or more processors to:
cause a local communication channel to be established for communication between the first and second virtual machines at the single-tenant host, wherein the local communication channel does not utilize a network device.

### Claim 60 (depends on 55)

The one or more non-transitory computer-accessible storage media as recited in claim 55, storing further program instructions that when executed on or across the one or more processors further cause the one or more processors to:
in response to a third launch request from the client, launch a third virtual machine on another host, wherein the third virtual machine is configured to utilize up to a first amount of network bandwidth; and
in response to a fourth launch request from the client, launch a fourth virtual machine on the other host, wherein the fourth virtual machine is configured to utilize up to a second amount of network bandwidth, wherein a total amount of network bandwidth allocated to virtual machines running on the other host exceeds a network bandwidth capacity of the other host, and wherein the total amount includes the first amount and the second amount.
