IP Library Granted Patent US 10,067,785
Granted Patent B1
US 10,067,785 · App. 15/197,140 · Granted Sep 4, 2018

Event driven virtual machine instance pool balancing

Inventors: Eric Paul Wei (Seattle, WA); James Stanford Gilmore (Seattle, WA)
Assignee: Amazon Technologies, Inc.
G06F9/45558G06F9/5077G06F2009/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 10,067,785
App. No.
15/197,140
Granted
Sep 4, 2018
Kind
B1
Abstract

A system includes one or more computer systems that include one or more processors and memory. The memory includes instructions, that, upon being executed by the one or more processors, cause the system to determine a plurality of increased capacity configuration options for a first pool of servers, generate an assessment value for each of the plurality of increased capacity configuration options, and implement a first configuration option of the plurality of increase capacity configuration options having a greatest health increase assessment value.

Claims (47)

1. A method, comprising:

generating, in a data interface of a distributed computing system, a first pool health index value for a first pool of servers based on a comparison of forecast demand data that estimates a number of virtual machine instances needed at a future time in the first pool of servers configured to host virtual machine instances with forecast capacity data that includes an indication of a number of slots estimated to be available to run virtual machine instances in the first pool of servers at the future time;

determining, in a control interface of the distributed computing system, a plurality of increased capacity configuration options for the first pool of servers;

generating an overall system health assessment value for each of the plurality of increased capacity configuration options;

comparing each of the assessment values to determine a configuration option of the plurality of increased capacity configuration options having a greatest health increase assessment value; and

in response to the first pool health index value being less than a threshold value implementing the determined configuration option, wherein implementing the determined configuration option comprises:

reconfiguring a server that is configured to host a first virtual machine instance type in a second pool of servers to host a second virtual machine instance type in the first pool of servers;

launching available hardware to host a virtual machine instance of the second virtual machine instance type in the first pool of servers; or

evicting a virtual machine instance running on a server in the first pool of servers.

2. The method of claim 1 , further comprising:

in response to implementing the configuration option, generating, by the pool health generation system, a second pool health index value for the first pool of servers based on a comparison of forecast demand data for the first pool of servers with forecast capacity data for the first pool of servers;

determining a second configuration option of the plurality of increased configuration options having a second greatest health increase assessment value; and

in response to the second pool health index value being less than the threshold value, implementing the second configuration option.

3. The method of claim 1 , wherein the generating the assessment value comprises:

generating a pool health index value for the second pool of servers;

determining an amount of time to reconfigure a server that is hosting a first virtual machine instance in the second pool of servers; and

calculating the assessment value based on the pool health index value for the second pool of servers and the amount of time to reconfigure the server that is hosting the first virtual machine instance in the second pool of servers.

4. A system, comprising:

one or more computer systems including one or more processors; and

memory including instructions, that upon being executed by the one or more processors, cause the system to:

generate a first pool health index value for a first pool of servers based on a comparison of forecast demand data that estimates a number of virtual machine instances needed at a future time in the first pool of servers configured to host virtual machine instances with forecast capacity data that includes an indication of a number of slots estimated to be available to run virtual machine instances in the first pool of servers at the future time;

determine a plurality of increased capacity configuration options for the first pool of servers;

generate an assessment value for each of the plurality of increased capacity configuration options; and

implement a first configuration option of the plurality of increased capacity configuration options having a greatest health increase assessment value in response to the first pool health index value being less than a threshold value, wherein implementing the first configuration option comprises:

reconfiguring a first server that is configured to host a first virtual machine instance type in a second pool of servers to host a second virtual machine instance type in the first pool of servers;

launching available hardware to host a virtual machine instance of the second virtual machine instance type in the first pool of servers; or

evicting a virtual machine instance running in the first pool of servers.

5. The system of claim 4 , wherein the instructions, upon being executed, further cause the system to:

generate a second pool health index value for the first pool of servers; and

implement a second configuration option of the plurality of increased capacity configuration options having a second greatest health increase assessment value.

6. The system of claim 5 , wherein the second pool health index value is generated in response to the first configuration option being implemented.

7. The system of claim 4 , wherein the instructions, upon being executed, further cause the system to compare each of the assessment values to determine the first configuration option.

8. The system of claim 4 , wherein the instructions, upon being executed, further cause the system to generate the assessment value by:

generating a pool health index value for the second pool of servers;

determining an amount of time to reconfigure the first server; and

calculating the assessment value based on the pool health index value for the second pool of servers and the amount of time to reconfigure the first server.

9. The system of claim 4 , wherein reconfiguring the first server comprises migrating a virtual machine instance executing on the first server to a second server in the second pool of servers and configuring the first server to host the second virtual machine instance type in the first pool of servers.

10. A method, comprising:

generating a first pool health index value for a first pool of servers based on a comparison of forecast demand data that estimates a number of virtual machine instances needed at a future time in the first pool of servers configured to host virtual machine instances with forecast capacity data that includes an indication of a number of slots estimated to be available to run virtual machine instances in the first pool of servers at the future time;

determining a plurality of increased capacity configuration options that includes reconfiguring a first server that is configured to host a first virtual machine instance type in a second pool of servers to host a second virtual machine instance type in the first pool of servers and that includes launching available hardware to host a virtual machine instance of the second virtual machine instance type in the first pool of servers;

generating an assessment value for each of the plurality of increased capacity configuration options; and

implementing a configuration option of the plurality of increased capacity configuration options in response to the first pool health index value being less than a threshold value, the configuration option having a greatest health increase assessment value of the plurality of increased capacity configuration options.

11. The method of claim of claim 10 , further comprising:

generating a second pool health index value for the first pool of servers; and

implementing a second configuration option of the plurality of increased capacity configuration options, the second configuration option having a second greatest health increase assessment value of the plurality of increased capacity configuration options.

12. The method of claim 11 , wherein the generating the second pool health index value is in response to the one configuration option being implemented.

13. The method of claim 10 , further comprising, comparing each of the assessment values to determine the one configuration option.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2016
From: WEI, ERIC PAUL; GILMORE, JAMES STANFORD
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 039394/0833 →
Cited By (7)
US 12,190,144 US 12,443,424 US 12,450,086 US 12,561,181 US 12,670,028 US 12,670,035 US 12,737,233