IP Library Granted Patent US 9,699,109
Granted Patent B1
US 9,699,109 · App. 14/671,628 · Granted Jul 4, 2017

Assessing performance of networked computing environments

Inventor: Abdul Sathar Sait (Redmond, WA)
Assignee: Amazon Technologies, Inc.
H04L47/783G06F9/45558G06F2009/45595
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,699,109
App. No.
14/671,628
Granted
Jul 4, 2017
Kind
B1
Abstract

Systems and methods are described for accurately determining which of a set of networked computing environments most closely approximates a target computing environment. The determination is based on executing a reference workload in the target computing environment and calculating a coefficient of equivalency for each of the networked computing environments, which relates the performance of one or more computing resources in the target computing environment to the corresponding resources in the networked computing environments. The coefficient of equivalency may further be used to determine which of a set of networked computing environments will provide a target level of performance when executing the workload. The target computing environment may be assessed in terms of time, cost, percentage of capacity utilized, or other criteria.

Claims (33)

1. A computer-implemented method comprising:

causing execution of a reference workload in a customer computing environment, the reference workload comprising one or more computer-readable instructions that, when executed in the customer computing environment, cause utilization of one or more customer computing resources;

collecting one or more resource metrics for the customer computing environment, the one or more resource metrics for the customer computing environment based at least in part on the execution of the reference workload, the one or more resource metrics for the customer computing environment including at least one metric for each of the one or more customer computing resources, wherein the at least one metric includes at least a throughput and a total utilization;

obtaining one or more resource metrics for a plurality of virtual computing environments, wherein the one or more resource metrics for a virtual computing environment include at least one resource metric for each of one or more virtual computing resources, the one or more virtual computing resources each corresponding to a customer computing resource, wherein the at least one resource metric includes at least a throughput;

calculating a coefficient of equivalency for the plurality of virtual computing environments, the coefficient of equivalency based at least in part on the resource metrics for the customer computing environment and the resource metrics for the virtual computing environment; and

identifying, based at least in part on the coefficient of equivalency for each of the plurality of virtual computing environments, a virtual computing environment from the plurality of virtual computing environments that approximates the customer computing environment.

2. The computer-implemented method of claim 1 , wherein the reference workload is based at least in part on a database server, a web server, an application server, a media server, or a file server.

3. The computer-implemented method of claim 1 , wherein identifying a virtual computing environment that approximates the customer computing environment comprises identifying a virtual computing environment whose utilization has the smallest difference from the utilization of the customer computing environment.

4. The computer-implemented method of claim 1 , wherein identifying a virtual computing environment that approximates the customer computing environment comprises:

identifying, based at least in part on the coefficient of equivalency for each of the plurality of virtual computing environments, a set of virtual computing environments from the plurality of virtual computing environments, each of the set of virtual computing environments having a utilization not greater than the customer computing environment; and

identifying, from within the set of virtual computing environments, a virtual computing environment with the largest coefficient of equivalency.

5. The computer-implemented method of claim 1 further comprising:

obtaining a performance target, the performance target specifying a target coefficient of equivalency; and

determining a virtual computing environment with a coefficient of equivalency having the smallest difference from the target coefficient of equivalency.

6. A system comprising:

a non-transitory computer-readable data store configured to store specific computer-executable instructions; and

a computing device including a processor in communication with the non-transitory computer-readable data store, the processor configured to execute the computer-executable instructions to at least:

obtain at least one resource metric for a plurality of networked computing environments, the at least one resource metric for each networked computing environment including at least one resource metric for each of one or more networked computing resources, the one or more networked computing resources each corresponding to a target computing resource;

calculate a coefficient of equivalency for the plurality of networked computing environments, the coefficient of equivalency based at least in part on a resource profile associated with a target computing environment and a resource profile for the networked computing environment; and

identify, based at least in part on the coefficient of equivalency for each of the plurality of networked computing environments, a networked computing environment from the plurality of networked computing environments that approximates the target computing environment.

7. The system of claim 6 , the processor further configured to execute the computer-executable instructions to at least:

cause execution of a reference workload in the target computing environment, the reference workload comprising one or more computer-readable instructions that, when executed in the target computing environment, cause utilization of one or more target computing resources;

collect the resource profile for the target computing environment, the resource profile for the target computing environment based at least in part on the execution of the reference workload, the resource profile for the target computing environment including at least one resource metric and at least one utilization metric for at least one of the one or more target computing resources, wherein the at least one utilization metric includes at least a total duration of utilization; and

obtain the resource profile for each of the plurality of networked computing environments, the resource profile based at least in part on the at least one resource metric for the networked computing environment and a modeled execution of the reference workload in the networked computing environment.

8. The system of claim 6 , wherein identifying the networked computing environment that approximates the target computing environment comprises determining, from among the plurality of networked computing environments, a networked computing environment whose utilization has the smallest difference from the target computing environment, wherein the determination is based at least in part on the coefficient of equivalency.

9. The system of claim 6 , wherein identifying the networked computing environment that approximates the target computing environment comprises:

identifying, based at least in part on the coefficient of equivalency for each of the plurality of networked computing environments, a set of networked computing environments from the plurality of networked computing environments, each of the set of networked computing environments having utilization not greater than the target computing environment; and

identifying, from within the set of networked computing environments, a networked computing environment with the largest coefficient of equivalency.

10. The system of claim 6 , the processor further configured to execute the computer-executable instructions to at least:

obtain a performance target; and

identify, based at least in part on the coefficients of equivalency for each of the plurality of networked computing environments, a networked computing environment from the plurality of virtual computing environments that approximates the target performance level.

11. The system of claim 10 , wherein the performance target specifies a percentage improvement.

12. The system of claim 10 , wherein the performance target specifies a fixed amount of utilization, and wherein identifying a networked computing environment is further based at least in part on an aggregate utilization metric for the target computing environment.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2026
From: AMAZON TECHNOLOGIES, INC.
To: AMAZON WEB SERVICES, INC.
Reel/Frame 074238/0699 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2015
From: SAIT, ABDUL SATHAR
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 035812/0024 →