IP Library Granted Patent US 12,298,880
Granted Patent B2
US 12,298,880 · App. 18/487,024 · Granted May 13, 2025

AI agent for pre-build configuration of cloud services

Inventors: Rajeev Sudhakar Bhopi (Mercer Island, WA); Yiwen Zhu (San Francisco, CA); Helen Mary Serr (Boston, MA); Jonah Karpman (San Diego, CA); Matthew Joseph Gleeson (New York, NY); Nicholas Kent Glaze (Cambridge, MA); Subramaniam Venkatraman Krishnan (San Jose, CA); Irwin Hollar McNeely, III (Cambridge, MA)
Assignee: Microsoft Technology Licensing, LLC.
G06F11/3442G06F8/70
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,298,880
App. No.
18/487,024
Granted
May 13, 2025
Kind
B2
Abstract

Example solutions provide an artificial intelligence (AI) agent for pre-build configuration of cloud services in order to enable the initial build of a computational resource (e.g., in a cloud service) to minimize the likelihood of excessive throttling or slack. Examples leverage prior-existing utilization data and project metadata to identify similar use cases. The utilization data includes capacity information and resource consumption information (e.g., throttling and slack) for prior-existing computational resources, and the project metadata includes information for hierarchically categorization, to identify similar resources. A pre-build configuration is generated for the customer's resource, which the customer may tune based upon the customer's preferences for a cost and performance balance point.

Claims (80)

1. A system comprising:

a processor; and

a computer-readable medium storing instructions that are operative upon execution by the processor to:

receive prior-existing utilization data and project metadata, wherein the utilization data comprises capacity information and resource consumption information for prior-existing computational resources, and wherein the project metadata includes information for hierarchically categorizing the prior-existing computational resources;

create, using the utilization data and project metadata, a capacity prediction model for generating a pre-build configuration for a first computational resource;

generate, using the capacity prediction model, the pre-build configuration for the first computational resource; and

tune the pre-build configuration using a selected cost and performance balance point and prior-existing project history data.

2. The system of claim 1 , wherein the instructions are further operative to:

build the first computational resource in accordance with the pre-build configuration, the pre-build configuration comprising a processor count, amount of memory, and/or storage capacity for the first computational resource.

3. The system of claim 2 , wherein the instructions are further operative to:

receive input data by the first computational resource; and

generate output data using the first computational resource, based on at least the input data.

4. The system of claim 1 ,

wherein the capacity information comprises processor count, amount of memory, and/or storage capacity for the prior-existing computational resources;

wherein the resource consumption information comprises slack information and throttling information for the prior-existing computational resources; and

wherein the project history data comprises requested changes or reported incidents for the prior-existing computational resources.

5. The system of claim 1 , wherein the instructions are further operative to:

train a first model to perform capacity sizing for the capacity prediction model based on at least the utilization data;

train a second model to perform workload prediction for the capacity prediction model based on at least the project metadata; and

train a third model to perform capacity sizing for the capacity prediction model based on at least the project history data.

6. The system of claim 1 , wherein the instructions are further operative to:

present a user interface (UI);

receive, through the UI, an initial build target selection, wherein generating the pre-build configuration for the first computational resource comprises generating the pre-build configuration for the first computational resource based on at least the initial build target selection;

receive, through the UI, the selected cost and performance balance point; and

display, in the UI, at least a portion of the pre-build configuration.

7. The system of claim 6 , wherein the instructions are further operative to:

display, in the UI, at least a portion of a hierarchy of the capacity prediction model; and

display, in the UI, information for a prior-existing computational resource used in generating the capacity prediction model.

8. A computer-implemented method comprising:

receiving prior-existing utilization data and project metadata, wherein the utilization data comprises capacity information and resource consumption information for prior-existing computational resources, and wherein the project metadata includes information for hierarchically categorizing the prior-existing computational resources;

creating, using the utilization data and project metadata, a capacity prediction model for generating a pre-build configuration for a first computational resource;

generating, using the capacity prediction model, the pre-build configuration for the first computational resource, the pre-build configuration comprises processor count, amount of memory, and/or storage capacity for the first computational resource; and

tuning the pre-build configuration using a selected cost and performance balance point and prior-existing project history data.

9. The computer-implemented method of claim 8 , further comprising:

building the first computational resource in accordance with the pre-build configuration;

receiving input data by the first computational resource; and

generating output data using the first computational resource, based on at least the input data.

10. The computer-implemented method of claim 8 ,

wherein the capacity information comprises processor count, amount of memory, and/or storage capacity for the prior-existing computational resources;

wherein the resource consumption information comprises slack information and throttling information for the prior-existing computational resources; and

wherein the project history data comprises requested changes or reported incidents for the prior-existing computational resources.

11. The computer-implemented method of claim 8 , further comprising:

training a first model to perform capacity sizing for the capacity prediction model based on at least the utilization data;

training a second model to perform workload prediction for the capacity prediction model based on at least the project metadata; and

training a third model to perform capacity sizing for the capacity prediction model based on at least the project history data.

12. The computer-implemented method of claim 8 , further comprising:

presenting a user interface (UI);

receiving, through the UI, an initial build target selection, wherein generating the pre-build configuration for the first computational resource comprises generating the pre-build configuration for the first computational resource based on at least the initial build target selection;

receiving, through the UI, the selected cost and performance balance point; and

displaying, in the UI, at least a portion of the pre-build configuration.

13. The computer-implemented method of claim 12 , further comprising:

displaying, in the UI, at least a portion of a hierarchy of the capacity prediction model; and

displaying, in the UI, information for a prior-existing computational resource used in generating the capacity prediction model.

14. The computer-implemented method of claim 8 , wherein generating the pre-build configuration and tuning the pre-build configuration each comprises optimizing the pre-build configuration for a target slack rate and a target throttling rate.

15. A computer storage device having computer-executable instructions stored thereon, which, on execution by a computer, cause the computer to perform operations comprising:

receiving prior-existing utilization data and project metadata, wherein the utilization data comprises capacity information and resource consumption information for prior-existing computational resources, and wherein the project metadata includes information for hierarchically categorizing the prior-existing computational resources;

creating, using the utilization data and project metadata, a capacity prediction model for generating a pre-build configuration for a first computational resource;

generating, using the capacity prediction model, the pre-build configuration for the first computational resource;

tuning the pre-build configuration using a selected cost and performance balance point and prior-existing project history data; and

building the first computational resource in accordance with the pre-build configuration, the pre-build configuration comprising a processor count, amount of memory, and/or storage capacity for the first computational resource.

16. The computer storage device of claim 15 , wherein the operations further comprise:

receiving input data by the first computational resource; and

generating output data using the first computational resource, based on at least the input data.

17. The computer storage device of claim 15 , wherein the operations further comprise:

wherein the capacity information comprises processor count, amount of memory, and/or storage capacity for the prior-existing computational resources;

wherein the resource consumption information comprises slack information and throttling information for the prior-existing computational resources; and

wherein the project history data comprises requested changes or reported incidents for the prior-existing computational resources.

18. The computer storage device of claim 15 , wherein the operations further comprise:

training a first model to perform capacity sizing for the capacity prediction model based on at least the utilization data;

training a second model to perform workload prediction for the capacity prediction model based on at least the project metadata; and

training a third model to perform capacity sizing for the capacity prediction model based on at least the project history data.

19. The computer storage device of claim 15 , wherein the operations further comprise:

presenting a user interface (UI);

receiving, through the UI, an initial build target selection, wherein generating the pre-build configuration for the first computational resource comprises generating the pre-build configuration for the first computational resource based on at least the initial build target selection;

receiving, through the UI, the selected cost and performance balance point; and

displaying, in the UI, at least a portion of the pre-build configuration.

20. The computer storage device of claim 19 , wherein the operations further comprise:

receiving, through the UI, an explainability setting selection;

displaying, in the UI, at least a portion of a hierarchy of the capacity prediction model; and

displaying, in the UI, information for a prior-existing computational resource used in generating the capacity prediction model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2023
From: BHOPI, RAJEEV SUDHAKAR; ZHU, YIWEN; SERR, HELEN MARY; KARPMAN, JONAH; GLEESON, MATTHEW JOSEPH; GLAZE, NICHOLAS KENT; KRISHNAN, SUBRAMANIAM VENKATRAMAN; MCNEELY, IRWIN HOLLAR, III
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 065365/0857 →
Continuity (1)
Related Publication 20250123939A1 · Apr 17, 2025
References Cited (26)
US 7308684B2 · Chan · 2007 [cited by examiner]
US 8965548B1 · Kamath · 2015 [cited by examiner]
US 9043752B2 · Bagheri · 2015 [cited by examiner]
US 9286043B2 · Jubran · 2016 [cited by examiner]
US 9489194B2 · Kletzky · 2016 [cited by examiner]
US 9614781B1 · Goltzman · 2017 [cited by examiner]
US 9785900B2 · Kamath · 2017 [cited by examiner]
US 10270650B2 · Goltzman · 2019 [cited by examiner]
US 10671510B1 · Willson · 2020 [cited by examiner]
US 11474860B2 · Moltzan · 2022 [cited by examiner]
US 11803419B2 · Moltzan · 2023 [cited by examiner]
US 11886921B2 · Regge · 2024 [cited by examiner]
US 12028878B2 · Jin · 2024 [cited by examiner]
US 20110307901A1 · Blanding · 2011 [cited by applicant]
US 20200082316A1 · Megahed et al. · 2020 [cited by applicant]
US 20210157640A1 · Moltzan · 2021 [cited by examiner]
US 20220150898A1 · Jin · 2022 [cited by examiner]
US 20220164510A1 · Reid · 2022 [cited by examiner]
“Gray Systems Lab”, Retrieved From: https://www.microsoft.com/en-us/research/group/gray-systems-lab/, Retrieved Date: Jun. 15, 2023, 1 Page. [cited by applicant]
Agarwal, et al., “Compute And Storage Options in Azure Database for PostgreSQL—Flexible Server”, Retrieved From: https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/concepts-compute-storage, Aug. 11, 2023… [cited by applicant]
Cahoon, et al., “Doppler: Automated SKU Recommendation in Migrating SQL Workloads to the Cloud”, In Proceedings of the VLDB Endowment, vol. 15, Issue 12, Aug. 2022, pp. 3509-3521. [cited by applicant]
Grinsztajn, et al., “Why Do Tree-Based Models Still Outperform Deep Learning on Tabular Data?”, In Repository of arXiv:2207.08815v1, Jul. 18, 2022, pp. 1-33. [cited by applicant]
Kasturi, Sain. , “XGBOOST vs LightGBM: Which algorithm wins the race!!!”, Retrieved From: https://towardsdatascience.com/lightgbm-vs-xgboost-which-algorithm-win-the-race-1ff7dd4917d, Jul. 11, 2019, 8 Pages. [cited by applicant]
Rzadca, et al., “Autopilot: Workload Autoscaling at Google”, In Proceedings of the Fifteenth European Conference on Computer Systems, Apr. 27, 2020, 16 Pages. [cited by applicant]
Zhang, et al., “HALO: Hierarchy-Aware Fault Localization for Cloud System”, In Proceedings of the 27th ACM SIGKDD Conference on Knowledge Discovery & Data Mining, Aug. 14, 2021, 11 Pages. [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2024/048036, Jan. 9, 2025, 14 pages. [cited by applicant]