# US 9,438,529 B1 · Computing process analysis by metrics profiling

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

- Number: US 9,438,529 B1
- Document ID: US9438529B1
- Status: Granted
- Kind: B1
- Application number: 14/497,152
- Filed: 2014-09-25
- Granted: 2016-09-06
- Earliest claimed: 2014-09-25
- Assignees: Amazon Technologies, Inc.
- Applicants: Amazon Technologies, Inc.
- Inventors: Marcin Piotr Kowalski
- Web page: https://patentgrep.com/patent/US9438529B1

## CPC

- H04L 43/04: Processing captured monitoring data, e.g. for logfile generation
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 2009/45562: {Creating, deleting, cloning virtual machine instances}
- G06F 2009/4557: {Distribution of virtual machine instances; Migration and load balancing}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computing resource of a provider network is scheduled to undergo a process. During execution of the process, data associated with the process is monitored. An expected profile of the monitored data during execution of the process is determined. The expected profile is determined based on the type of the computing resource. Based on a comparison between the monitored data and the expected profile, a determination is made as to progress of the process.

## Claims

### Claim 1

A system for managing computing resources of a provider network, the system comprising:
one or more computing devices;
at least one memory having stored therein computer instructions that, upon execution by the system, at least cause the system to:
receive a request for instantiation of a virtual machine instance on one of the one or more computing devices, the one virtual machine instance associated with a customer of the provider network;
in response to the request, initiate a process to instantiate the requested virtual machine instance;
during execution of the process, monitor data associated with initialization of the requested virtual machine instance to a predetermined operational state of the requested virtual machine instance, the data including one or more of CPU cycles per unit time, data written and read per unit time, and input/output operations per unit time;
determine an expected profile of the monitored data during the initialization, the expected profile determined based at least in part on the requested virtual machine instance; and
based on a comparison between the monitored data and the expected profile, make a determination pertaining to progress of the initialization of the requested virtual machine instance and a determination of success or failure of the process to instantiate the requested virtual machine instance.

### Claim 2 (depends on 1)

The system according to claim 1, further comprising computer instructions that, upon execution by the system, at least cause the system to generate a status message indicative of progress toward the predetermined operational state.

### Claim 3 (depends on 1)

The system according to claim 1, further comprising computer instructions that, upon execution by the system, at least cause the system to terminate the initialization based on the failure.

### Claim 4 (depends on 1)

The system according to claim 1, further comprising computer instructions that, upon execution by the system, at least cause the system to determine a probable cause for the failure.

### Claim 5

A method for managing computing resources by a provider network, the method comprising:
in response to a request for a process of a computing resource of the provider network, initiating the requested process;
during execution of the process, monitoring data associated with the process of the computing resource;
determining an expected profile of the monitored data during execution of the process, the expected profile determined based at least in part on the computing resource; and
based on a comparison between the monitored data and the expected profile, making a determination as to progress of the process of the computing resource and a determination of success or failure of the process of the computing resource.

### Claim 6 (depends on 5)

The method of claim 5, wherein information pertaining to the progress of the process is provided via an application programming interface (API) configured to receive data indicative of an identifier for the computing resource and send data indicative of the progress.

### Claim 7 (depends on 5)

The method of claim 5, wherein the computing resource is instantiated on one or more computing devices of the provider network.

### Claim 8 (depends on 5)

The method of claim 5, wherein the computing resource is a virtual machine instance.

### Claim 9 (depends on 5)

The method of claim 5, wherein the monitored data includes data that is observable externally of the process.

### Claim 10 (depends on 5)

The method of claim 5, wherein the monitored data comprises one or more of input/output operations per unit time and amount of data received per unit time.

### Claim 11 (depends on 10)

The method of claim 10, further comprising redirecting, cancelling, or extending the process in response to the one or more inputs.

### Claim 12 (depends on 5)

The method of claim 5, further comprising in response to the determination as to progress, redirecting, cancelling, duplicating, or reinitializing the process.

### Claim 13 (depends on 5)

The method of claim 5, wherein the requested process is a termination of the computing resource.

### Claim 14 (depends on 5)

The method of claim 5, wherein the requested process is an initialization of the computing resource.

### Claim 15 (depends on 5)

The method of claim 5, wherein the requested process is an intermediate process of the computing resource.

### Claim 16 (depends on 5)

The method of claim 5, wherein the determination as to progress includes determination of a useful state of the computing resource.

### Claim 17

A non-transitory computer-readable storage medium having stored thereon computer-readable instructions that, upon execution on one or more computing devices, at least cause:
initiating a process associated with a computing resource of a provider network;
during execution of the process, monitoring externally observable data associated with the process;
determining an expected profile of the monitoring externally observable data during execution of the process, the expected profile determined based at least in part on the computing resource; and
based on a comparison between the monitored data and the expected profile, making a determination as to progress of the process and a determination of success or failure of the process.

### Claim 18 (depends on 17)

The non-transitory computer-readable medium of claim 17, further comprising computer-readable instructions that, when executed by one or more processors of a computer system, cause the computer system to at least implement:
a programming interface sub-system configured to:
receive first electronic messages that encode identifiers indicative of requests to provide notification pertaining to the progress; and
in response to receiving one of the electronic messages, sending second electronic messages indicative of information pertaining to a current status of the progress.
