# US 12,003,571 B2 · Client-directed placement of remotely-configured service instances

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

- Number: US 12,003,571 B2
- Document ID: US12003571B2
- Status: Granted
- Kind: B2
- Application number: 18/321,292
- Filed: 2023-05-22
- Published: 2023-09-14
- Granted: 2024-06-04
- Earliest claimed: 2013-12-18
- Assignees: Amazon Technologies, Inc.
- Applicants: Amazon Technologies, Inc.
- Inventors: Andries Petrus Johannes Dippenaar; Duncan Matthew Clough; Gideon Jan-Wessel Redelinghuys; Mathew Daniel; Gideon Klompje; Gavin Alexander Bramhill; Marcin Piotr Kowalski; Richard Alan Hamman; Roland Paterson-Jones; Almero Gouws
- Web page: https://patentgrep.com/patent/US12003571B2

## CPC

- H04L 67/025: for remote control or remote monitoring of applications
- H04L 63/00: {Network architectures or network communication protocols for network security (cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00; network architectures or network communication protocols for wireless network security H04W12/00; security arrangements for protecting computers or computer systems against unauthorised activity G06F21/00)}
- H04L 67/52: specially adapted for the location of the user terminal
- H04L 41/0895: Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
- H04L 41/5041: characterised by the time relationship between creation and deployment of a service
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Methods and apparatus for client-directed placement of remotely configured service instances are described. One or more placement target options are selected for a client of a network-accessible service based on criteria such as service characteristics of the placement targets. The selected options, including a particular placement target that includes instance hosts configurable from remote control servers, are indicated programmatically to the client. A determination is made that a service instance is to be configured at the particular placement target on behalf of the client. A remote control server is configured to issue administrative commands to an instance host at the particular placement target to configure the service instance.

## Claims

### Claim 1

A computer-implemented method, comprising:
obtaining, at a network-accessible service of cloud computing environment via one or more programmatic interfaces, a latency requirement of an application of a client;
selecting, by the network-accessible service for execution of the application, based at least in part on the latency requirement, a first host located in a telecommunication provider's premise external to the cloud computing environment; and
transmitting, from a control server of the network-accessible service, a set of commands to the first host, wherein the set of commands configure an instance at which at least a portion of the application is executed, and wherein the control server is located at a premise other than the telecommunication provider's premise.

### Claim 2 (depends on 1)

The computer-implemented method as recited in claim 1, further comprising:
analyzing one or more performance metrics pertaining to execution of the portion of the application at the first host; and
based at least in part on a result of said analyzing, causing the portion of the application to be executed at a second host instead of the first host.

### Claim 3 (depends on 2)

The computer-implemented method as recited in claim 2, wherein the second host is located at a different premise than the first host.

### Claim 4 (depends on 1)

The computer-implemented method as recited in claim 1, further comprising:
obtaining, at the network-accessible service, an availability requirement of the application, wherein the selecting of the first host is based at least in part on the availability requirement.

### Claim 5 (depends on 1)

The computer-implemented method as recited in claim 1, further comprising:
obtaining, at the network-accessible service, a security requirement of the application, wherein the selecting of the first host is based at least in part on the security requirement.

### Claim 6 (depends on 1)

The computer-implemented method as recited in claim 1, further comprising:
obtaining, at the network-accessible service, an indication of a category of computations to be performed by the application, wherein the selecting of the first host is based at least in part on the category of computations.

### Claim 7 (depends on 1)

The computer-implemented method as recited in claim 1, further comprising:
obtaining, at the network-accessible service, an indication of a software stack requirement of the application, wherein the selecting of the first host is based at least in part on the software stack requirement.

### Claim 8

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:
obtain, at a network-accessible service of cloud computing environment via one or more programmatic interfaces, a latency requirement of an application of a client;
select, by the network-accessible service for execution of the application, based at least in part on the latency requirement, a first host located in a telecommunication provider's premise external to the cloud computing environment; and
transmit, from a control server of the network-accessible service, a set of commands to the first host, wherein the set of commands configure an instance at which at least a portion of the application is executed, and wherein the control server is located at a premise other than the telecommunication provider's premise.

### Claim 9 (depends on 8)

The system as recited in claim 8, wherein the one or more computing devices include further instructions that upon execution on or across the one or more computing devices:
obtain one or more performance metrics pertaining to execution of the portion of the application at the first host; and
based at least in part on analysis of the one or more performance metrics, cause the portion of the application to be executed at a second host instead of the first host.

### Claim 10 (depends on 9)

The system as recited in claim 9, wherein the second host is located at a different premise than the first host.

### Claim 11 (depends on 8)

The system as recited in claim 8, wherein the one or more computing devices include further instructions that upon execution on or across the one or more computing devices:
obtain, at the network-accessible service, an availability requirement of the application, wherein the first host is selected based at least in part on the availability requirement.

### Claim 12 (depends on 8)

The system as recited in claim 8, wherein the one or more computing devices include further instructions that upon execution on or across the one or more computing devices:
obtain, at the network-accessible service, a security requirement of the application, wherein the first host is selected based at least in part on the security requirement.

### Claim 13 (depends on 8)

The system as recited in claim 8, wherein the one or more computing devices include further instructions that upon execution on or across the one or more computing devices:
obtain, at the network-accessible service, an indication of a category of computations to be performed by the application, wherein the first host is selected based at least in part on the category of computations.

### Claim 14 (depends on 8)

The system as recited in claim 8, wherein the one or more computing devices include further instructions that upon execution on or across the one or more computing devices:
obtain, at the network-accessible service, an indication of a software stack requirement of the application, wherein the first host is selected based at least in part on the software stack requirement.

### Claim 15

One or more non-transitory computer-accessible storage media storing program instructions that when executed on or across one or more processors:
obtain, at a network-accessible service of cloud computing environment via one or more programmatic interfaces, a latency requirement of an application of a client;
select, by the network-accessible service for execution of the application, based at least in part on the latency requirement, a first host located in a telecommunication provider's premise external to the cloud computing environment; and
transmit, from a control server of the network-accessible service, a set of commands to the first host, wherein the set of commands configure an instance at which at least a portion of the application is executed, and wherein the control server is located at a premise other than the telecommunication provider's premise.

### Claim 16 (depends on 15)

The one or more non-transitory computer-accessible storage media as recited in claim 15, storing further program instructions that when executed on or across the one or more processors:
obtain one or more performance metrics pertaining to execution of the portion of the application at the first host; and
based at least in part on analysis of the one or more performance metrics, cause the portion of the application to be executed at a second host instead of the first host.

### Claim 17 (depends on 16)

The one or more non-transitory computer-accessible storage media as recited in claim 16, wherein the second host is located at a different premise than the first host.

### Claim 18 (depends on 15)

The one or more non-transitory computer-accessible storage media as recited in claim 15, storing further program instructions that when executed on or across the one or more processors:
obtain, at the network-accessible service, an availability requirement of the application, wherein the first host is selected based at least in part on the availability requirement.

### Claim 19 (depends on 15)

The one or more non-transitory computer-accessible storage media as recited in claim 15, storing further program instructions that when executed on or across the one or more processors:
obtain, at the network-accessible service, a security requirement of the application, wherein the first host is selected based at least in part on the security requirement.

### Claim 20 (depends on 15)

The one or more non-transitory computer-accessible storage media as recited in claim 15, storing further program instructions that when executed on or across the one or more processors:
obtain, at the network-accessible service, an indication of a category of computations to be performed by the application, wherein the first host is selected based at least in part on the category of computations.
