IP Library Granted Patent US 11,847,494
Granted Patent B2
US 11,847,494 · App. 17/444,609 · Granted Dec 19, 2023

Allocating computing resources based on user intent

Inventors: David J. Helstroom (Palo Alto, CA); Patricia Weir (San Francisco, CA); Cameron Cody Smith (San Francisco, CA); Zachary A. Hirsch (Sunnyvale, CA); Ulric B. Longyear (Mountain View, CA)
Assignee: Google LLC
G06F9/50G06F9/5005G06F9/505G06F9/5011G06F9/5016G06F9/5022G06F9/5027G06F9/5033G06F9/5038G06F9/5044G06F9/5055G06F9/5061G06F9/5072G06F9/5083
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 11,847,494
App. No.
17/444,609
Granted
Dec 19, 2023
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for allocating computing resources. In one aspect, a method includes receiving intent data specifying one or more computing services to be hosted by a computing network, requested characteristics of computing resources for use in hosting the computing service, and a priority value for each requested characteristic. A budget constraint is identified for each computing service. Available resources data is identified that specifies a set of available computing resources. A resource allocation problem for allocating computing resources for the one or more computing resources is generated based on the intent data, each budget constraint, and the available resources data. At least a portion of the set of computing resources is allocated for the one or more computing services based on results of evaluating the resource allocation problem to meet a particular resource allocation objective.

Claims (40)

1. A computer-implemented method when executed on data processing hardware causes the data processing hardware to perform operations comprising:

receiving a request for one or more computing resources from a plurality of computing resources to implement a computing service, each of the one or more computing resources comprising one or more characteristics, the request comprising:

intent data specifying multiple requested characteristics of the requested one or more computing resources to implement the computing service; and

a resource allocation objective prioritizing at least one of the multiple requested characteristics over the other of the multiple requested characteristics;

determining a first group of computing resources from the plurality of computing resources based on the intent data and the resource allocation objective;

determining that the first group of computing resources fails to satisfy a budget constraint;

in response to determining that the first group of computing resources fails to satisfy the budget constraint, determining a second group of computing resources from the plurality of computing resources based on the intent data and the resource allocation objective, wherein determining the second group of computing resources from the plurality of computing resources comprises removing one of the multiple requested characteristics; and

allocating the second group of computing resources to implement the computing service.

2. The computer-implemented method of claim 1 , wherein the operations further comprise sending, to a client device, data specifying the allocated second group of computing resources and information related to the allocated second group of computing resources.

3. The computer-implemented method of claim 1 , wherein the operations further comprise:

generating a resource allocation problem for allocating computing resources to meet the resource allocation objective; and

solving the resource allocation problem.

4. The computer-implemented method of claim 3 , wherein solving the resource allocation problem comprises:

determining, based on allocation data, that an initial group of computing resources will exceed an allocation constraint;

updating the resource allocation problem in response to determining that the initial group of computing resources will exceed the allocation constraint; and

determining, using the updated resource allocation problem, another of computing resources.

5. The computer-implemented method of claim 3 , wherein the resource allocation problem comprises one of a linear programming problem and a mixed integer programming problem.

6. The computer-implemented method of claim 3 , wherein solving the resource allocation problem includes identifying one or more underlying computing service and one or more underlying computing resources that will be used to provide the computing service using a translation function for the computing service.

7. The computer-implemented method of claim 3 , wherein the resource allocation problem comprises a graph.

8. A system comprising:

data processing hardware; and

memory hardware in communication with the data processing hardware, the memory hardware storing instructions that when executed by the data processing hardware cause the data processing hardware to perform operations comprising:

receiving a request for one or more computing resources from a plurality of computing resources to implement a computing service, each of the one or more computing resources comprising one or more characteristics, the request comprising:

intent data specifying multiple requested characteristics of the requested one or more computing resources to implement the computing service; and

a resource allocation objective prioritizing at least one of the multiple requested characteristics over the other of the multiple requested characteristics;

determining a first group of computing resources from the plurality of computing resources based on the intent data and the resource allocation objective;

determining that the first group of computing resources fails to satisfy a budget constraint;

in response to determining that the first group of computing resources fails to satisfy budget constraint, determining a second group of computing resources from the plurality of computing resources based on the intent data and the resource allocation objective, wherein determining the second group of computing resources from the plurality of computing resources comprises removing one of the multiple requested characteristics; and

allocating the second group of computing resources to implement the computing service.

9. The system of claim 8 , wherein the operations further comprise sending, to a client device, data specifying the allocated second group of computing resources and information related to the allocated second group of computing resources.

10. The system of claim 8 , wherein the operations further comprise:

generating a resource allocation problem for allocating computing resources to meet the resource allocation objective; and

solving the resource allocation problem.

11. The system of claim 10 , wherein solving the resource allocation problem comprises:

determining, based on allocation data, that an initial group of computing resources will exceed an allocation constraint;

updating the resource allocation problem in response to determining that the initial group of computing resources will exceed the allocation constraint; and

determining, using the updated resource allocation problem, another of computing resources.

12. The system of claim 10 , wherein the resource allocation problem comprises one of a linear programming problem and a mixed integer programming problem.

13. The system of claim 10 , wherein solving the resource allocation problem includes identifying one or more underlying computing service and one or more underlying computing resources that will be used to provide the computing service using a translation function for the computing service.

14. The system of claim 10 , wherein the resource allocation problem comprises a graph.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2021
From: HELSTROOM, DAVID J.; WEIR, PATRICIA; SMITH, CAMERON CODY; HIRSCH, ZACHARY A.; LONGYEAR, ULRIC B.
To: GOOGLE INC.
Reel/Frame 057127/0894 →
CONVERSION Recorded Aug 9, 2021
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 057127/0910 →
Continuity (4)
Continuation 16428251 · May 31, 2019
Continuation 15291722 · Oct 12, 2016
Continuation 14196518 · Mar 4, 2014
Related Publication 20210365289A1 · Nov 25, 2021