IP Library Granted Patent US 12,450,086
Granted Patent B1
US 12,450,086 · App. 17/958,091 · Granted Oct 21, 2025

Host fleet management optimizations in a cloud provider network

Inventors: Alexandra Juliet Brasch (Seattle, WA); Casey Lucas Klein (Sammamish, WA); Kerem Bulbul (Seattle, WA); Philip Charles Anderson (Seattle, WA); Cicerone Cojocaru (Seattle, WA); April Nell Drees (Seattle, WA); Andrew C Becker (Seattle, WA); Ruben Ruiz Garcia (Valencia, ES)
Assignee: Amazon Technologies, Inc.
G06F9/45558G06F9/5077G06F17/11G06F2009/4557G06F2009/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 12,450,086
App. No.
17/958,091
Granted
Oct 21, 2025
Kind
B1
Abstract

Techniques for host fleet management in a cloud provider network are described. Forecast data including a forecasted demand for virtual machines in each capacity pool of a set of capacity pools is obtained. A mathematical optimizer application is executed to generate a first optimal fleet plan, the mathematical optimizer application having an objective function to minimize a number of new host computer systems to add to the set of host computer systems to satisfy the forecasted demand for each capacity pool, the first optimal fleet plan includes an identification of a set of hardware types and, for each hardware type in the set, a quantity of new host computer systems of the hardware type. A plurality of new host computer systems is deployed, based on the first optimal fleet plan, for a hardware type in the set of hardware types into the set of host computer systems.

Claims (55)

1. A computer-implemented method comprising:

apportioning computing resources of a fleet of host computer systems of a cloud provider network to capacity pools, each capacity pool having slots for virtual machines of a particular type, wherein a particular type of virtual machine is based on an amount of resources of a host system allocated to the virtual machine type, wherein the resources include a compute capacity, a memory capacity, and a network throughput;

obtaining forecast data, wherein the forecast data includes, for each capacity pool, a forecasted demand in a number of slots;

executing a mathematical optimizer application to generate an optimal fleet plan, the mathematical optimizer application having an objective function to minimize a number of new host computer systems to add to the fleet to satisfy the forecasted demand for each capacity pool, wherein the optimal fleet plan includes an identification of a set of hardware types and, for each hardware type in the set, a quantity of new host computer systems of the hardware type; and

deploying, based on the optimal fleet plan, for a hardware type in the set of hardware types, the quantity of new host computer systems of the hardware type into the fleet of host computer systems.

2. The computer-implemented method of claim 1 , wherein the deploying comprises:

receiving an indication that the quantity of new host computer systems is available to the fleet of host computer systems; and

updating a fleet configuration file to include an identification of each new host computer system.

3. The computer-implemented method of claim 1 , wherein the mathematical optimizer application is an integer linear optimizer.

4. A computer-implemented method comprising:

obtaining first forecast data including a forecasted demand for virtual machines in each capacity pool of a set of capacity pools, wherein each capacity pool represents a number of slots of host computer system resources from a set of host computer systems for virtual machines of a particular type;

executing a mathematical optimizer application to generate a first optimal fleet plan, the mathematical optimizer application having an objective function to minimize a number of new host computer systems to add to the set of host computer systems to satisfy the forecasted demand for each capacity pool, wherein the first optimal fleet plan includes an identification of a set of hardware types and, for each hardware type in the set, a quantity of new host computer systems of the hardware type; and

deploying, based on the first optimal fleet plan, for a hardware type in the set of hardware types, a plurality of new host computer systems of that hardware type into the set of host computer systems.

5. The computer-implemented method of claim 4 , wherein the deploying comprises:

receiving an indication that the plurality of new host computer systems is available to the set of host computer systems; and

updating a fleet configuration file to include an identification of each new host computer system in the plurality of new host computer systems.

6. The computer-implemented method of claim 4 , further comprising:

ordering, based on the first optimal fleet plan, for a hardware type in the set, the quantity of host computer systems of the hardware type into the set of host computer systems.

7. The computer-implemented method of claim 6 , further comprising:

obtaining second forecast data including a forecasted demand for virtual machines in each capacity pool of a set of capacity pools, wherein the second forecast data is for a different time than the first forecast data;

executing the mathematical optimizer application to generate a second optimal fleet plan, wherein the second optimal fleet plan includes an indication of a quantity of a particular hardware type that is different than a corresponding quantity in the first optimal fleet plan; and

updating an order based on a difference between the quantity of the particular hardware type in the second optimal fleet plan and the corresponding quantity in the first optimal fleet plan.

8. The computer-implemented method of claim 4 , wherein each host computer system is associated with a template of a set of templates, wherein the template divides resources of the host computer system into one or more slots, and wherein the objective function is based at least in part on a possible mapping of the set of templates to the plurality of new host computer systems.

9. The computer-implemented method of claim 4 , wherein the mathematical optimizer application is an integer linear optimizer.

10. The computer-implemented method of claim 4 , wherein a template divides host computer system resources into one or more slots and further comprising:

calculating a set of templates of a particular hardware type that have at least one slot for a particular virtual machine type to reduce a solution space of the mathematical optimizer application; and

providing the set of templates to the mathematical optimizer application.

11. The computer-implemented method of claim 4 , wherein a template divides host computer system resources into one or more slots and further comprising:

calculating a set of templates for a group of identical host computer systems of a particular hardware type to reduce a solution space of the mathematical optimizer application; and

providing the set of templates to the mathematical optimizer application.

12. The computer-implemented method of claim 4 , wherein a template divides host computer system resources into one or more slots and further comprising:

calculating a set of templates for a group of identical host computer systems of a particular hardware type that have at least one slot for a particular virtual machine type to reduce a solution space of the mathematical optimizer application; and

providing the set of templates to the mathematical optimizer application.

13. A system comprising:

a first plurality of host computer systems of a cloud provider network, wherein the first plurality of host computer systems form a set of host computer systems, and wherein the computing resources of the set of host computer systems are apportioned to capacity pools, each capacity pool having slots for virtual machines of a particular type; and

one or more electronic devices to implement fleet management services in the cloud provider network, the fleet management services including instructions that upon execution cause the fleet management services to:

execute a mathematical optimizer application to generate a first optimal fleet plan, the mathematical optimizer application having an objective function to minimize a number of new host computer systems to add to the set of host computer systems to satisfy the forecasted demand for each capacity pool, wherein the first optimal fleet plan includes an identification of a set of hardware types and, for each hardware type in the set, a quantity of new host computer systems of the hardware type; and

deploy, based on the first optimal fleet plan, for a hardware type in the set of hardware types, a plurality of new host computer systems of that hardware type into the set of host computer systems.

14. The system of claim 13 , wherein the instructions that upon execution cause the fleet management services to deploy the plurality of new host computer systems include instructions to:

receive an indication that the plurality of new host computer systems is available to the set of host computer systems; and

update a fleet configuration file to include an identification of each new host computer system in the plurality of new host computer systems.

15. The system of claim 13 , wherein the fleet management services include further instructions that upon execution cause the fleet management services to:

order, based on the first optimal fleet plan, for a hardware type in the set, the quantity of host computer systems of the hardware type into the set of host computer systems.

16. The system of claim 13 , wherein the fleet management services include further instructions that upon execution cause the fleet management services to:

obtain second forecast data including a forecasted demand for virtual machines in each capacity pool of a set of capacity pools, wherein the second forecast data is for a different time than the first forecast data;

execute the mathematical optimizer application to generate a second optimal fleet plan, wherein the second optimal fleet plan includes an indication of a quantity of a particular hardware type that is different than a corresponding quantity in the first optimal fleet plan; and

update an order based on a difference between the quantity of the particular hardware type in the second optimal fleet plan and the corresponding quantity in the first optimal fleet plan.

17. The system of claim 13 , wherein each host computer system is associated with a template of a set of templates, wherein the template divides resources of the host computer system into one or more slots, and wherein the objective function is based at least in part on a possible mapping of the set of templates to the plurality of new host computer systems.

18. The system of claim 13 , wherein the mathematical optimizer application is an integer linear optimizer.

19. The system of claim 13 , wherein a template divides host computer system resources into one or more slots, and wherein the fleet management services include further instructions that upon execution cause the fleet management services to:

calculate a set of templates of a particular hardware type that have at least one slot for a particular virtual machine type to reduce a solution space of the mathematical optimizer application; and

provide the set of templates to the mathematical optimizer application.

20. The system of claim 13 , wherein a template divides host computer system resources into one or more slots, and wherein the fleet management services include further instructions that upon execution cause the fleet management services to:

calculate a set of templates for a group of identical host computer systems of a particular hardware type to reduce a solution space of the mathematical optimizer application; and

provide the set of templates to the mathematical optimizer application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2024
From: BRASCH, ALEXANDRA JULIET; KLEIN, CASEY LUCAS; BULBUL, KEREM; ANDERSON, PHILIP CHARLES; COJOCARU, CICERONE; DREES, APRIL NELL; BECKER, ANDREW C.; GARCIA, RUBEN RUIZ
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 068627/0811 →
References Cited (24)
US 10042676B1 · Wei · 2018 [cited by examiner]
US 10067785B1 · Wei · 2018 [cited by examiner]
US 10680969B1 · Quinn · 2020 [cited by examiner]
US 11016816B1 · Gupta · 2021 [cited by examiner]
US 11036537B1 · Quinn · 2021 [cited by examiner]
US 11080097B1 · Panghal · 2021 [cited by examiner]
US 11221887B2 · Gabrielson · 2022 [cited by examiner]
US 11470144B1 · Maurya · 2022 [cited by examiner]
US 20100246405A1 · Potkonjak · 2010 [cited by examiner]
US 20100306382A1 · Cardosa · 2010 [cited by examiner]
US 20110202925A1 · Banerjee · 2011 [cited by examiner]
US 20120066684A1 · Takami · 2012 [cited by examiner]
US 20130042123A1 · Smith · 2013 [cited by examiner]
US 20140196027A1 · Osogami · 2014 [cited by examiner]
US 20140215464A1 · Birke · 2014 [cited by examiner]
US 20160057074A1 · Jacobs · 2016 [cited by examiner]
US 20190317829A1 · Brown · 2019 [cited by examiner]
US 20200218571A1 · Chen · 2020 [cited by examiner]
US 20200379818A1 · Kiraly · 2020 [cited by examiner]
US 20210144056A1 · Chakrapani Rangarajan · 2021 [cited by examiner]
US 20210216351A1 · Chaterji · 2021 [cited by examiner]
US 20220244993A1 · MacDonald · 2022 [cited by examiner]
US 20230004436A1 · Bai · 2023 [cited by examiner]
US 20240111603A1 · Krasilnikov · 2024 [cited by examiner]