IP Library Granted Patent US 10,320,701
Granted Patent B1
US 10,320,701 · App. 15/879,038 · Granted Jun 11, 2019

Aggregating resource requests

Inventors: Nelson L. Abramson (New York, NY); John Meyer Bossert (Mountain View, CA)
Assignee: Google LLC
H04L47/70G06F17/30598H04L67/10H04L67/42
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,320,701
App. No.
15/879,038
Granted
Jun 11, 2019
Kind
B1
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for aggregating requests for resources. In one aspect, a method includes receiving a set of requests for computing resources. Each request specifies one or more computing resources and, for each of the one or more computing resources, a quantity of the computing resource requested. A quantity-based provider condition that a request must meet for inclusion in an allocation process is identified. Each received request that fails to meet the quantity-based provider condition is included in a proper subset. Requests in the proper subset of requests are grouped into one or more groups based at least on the quantity of the one or more resources specified by each request of the proper subset and the quantity-based provider condition. A respective combined request is generated for each group of requests.

Claims (61)

1. A method comprising:

receiving, by a cloud provider server and from one or more cloud client devices of resource requesters, a set of requests for computing resources, each request specifying one or more computing resources and, for each of the one or more computing resources, a quantity of the computing resource requested;

identifying, by the cloud provider server and as non-compliant requests, requests that do not comply with a ratio-based provider condition that is based on a specified ratio between two or more particular types of computing resources;

grouping, by the cloud provider server, the non-compliant requests into one or more groups such that each group has a combined ratio between the two or more particular types of computing resources that satisfies the ratio-based provider condition, each group including one or more non-compliant requests;

allocating, by the cloud provider server, a set of computing resources to at least one group based on a respective combined request for the at least one group; and

providing, by the cloud provider server, data that causes the allocated computing resources to be allocated to resource requesters.

2. The method of claim 1 , wherein the ratio-based provided provider condition specifies that requests for computing resources that specify a respective quantity of each of the two or more particular types of computing resources for which a ratio between the quantities of the two or more particular types of computing resources is not within a threshold amount of the specified ratio are non-compliant requests.

3. The method of claim 1 , wherein grouping the non-compliant requests into one or more groups comprises:

identifying a plurality of non-compliant requests as candidates for a particular group;

determining, for each of the two or more particular types of computing resources, a total quantity of the particular type of computing resource requested by the plurality of non-compliant requests;

determining, based on the total quantity of each particular type of computing resource, a combined ratio between the two or more particular types of computing resources requested by the plurality of non-compliant requests;

determining that the combined ratio is within a threshold amount of the specified ratio; and

determining to group the plurality of requests in a particular group together in response to determining that the combined ratio is within the threshold amount of the specified ratio.

4. The method of claim 1 , wherein the ratio-based provided condition specifies that requests for computing resources that specify a respective quantity of each of the two or more particular types of computing resources for which a ratio between the quantities of the two or more particular types of computing resources does not match the specified ratio are non-compliant requests.

5. The method of claim 1 , wherein allocating the set of computing resources to the at least one group comprises:

generating a respective combined request for each group of non-compliant requests, each combined request being a request that complies with the ratio-based provider condition;

providing data specifying each combined request as an input to an allocation process that allocates computing resources based on requests for the computing resources; and

receiving data specifying the allocation of the set of computing resources from the allocation process.

6. The method of claim 1 , wherein grouping the non-compliant requests into one or more groups comprises grouping the non-compliant requests such that a total quantity of computing resources requested by each group satisfies a quantity-based provider condition.

7. The method of claim 1 , wherein grouping the non-compliant requests into one or more groups comprises grouping the non-compliant requests such that a total quantity of each particular type of computing resource requested by each group satisfies a quantity-based provider condition for the particular type of computing resource.

8. A system, comprising:

a data store comprising one or more non-transitory computer storage media for storing ratio-based provider conditions; and

one or more cloud provider servers comprising one or more hardware processors and configured to interact with the data store, the one or more cloud provider servers being further configured to perform operations comprising:

receiving, by a cloud provider server and from one or more cloud client devices of resource requesters, a set of requests for computing resources, each request specifying one or more computing resources and, for each of the one or more computing resources, a quantity of the computing resource requested;

identifying, by the cloud provider server and as non-compliant requests, requests that do not comply with a ratio-based provider condition that is based on a specified ratio between two or more particular types of computing resources;

grouping, by the cloud provider server, the non-compliant requests into one or more groups such that each group has a combined ratio between the two or more particular types of computing resources that satisfies the ratio-based provider condition, each group including one or more non-compliant requests;

allocating, by the cloud provider server, a set of computing resources to at least one group based on a respective combined request for the at least one group; and

providing, by the cloud provider server, data that causes the allocated computing resources to be allocated to resource requesters.

9. The system of claim 8 , wherein the ratio-based provider condition specifies that requests for computing resources that specify a respective quantity of each of the two or more particular types of computing resources for which a ratio between the quantities of the two or more particular types of computing resources is not within a threshold amount of the specified ratio are non-compliant requests.

10. The system of claim 8 , wherein grouping the non-compliant requests into one or more groups comprises:

identifying a plurality of non-compliant requests as candidates for a particular group;

determining, for each of the two or more particular types of computing resources, a total quantity of the particular type of computing resource requested by the plurality of non-compliant requests;

determining, based on the total quantity of each particular type of computing resource, a combined ratio between the two or more particular types of computing resources requested by the plurality of non-compliant requests;

determining that the combined ratio is within a threshold amount of the specified ratio; and

determining to group the plurality of requests in a particular group together in response to determining that the combined ratio is within the threshold amount of the specified ratio.

11. The system of claim 8 , wherein the ratio-based provided condition specifies that requests for computing resources that specify a respective quantity of each of the two or more particular types of computing resources for which a ratio between the quantities of the two or more particular types of computing resources does not match the specified ratio are non-compliant requests.

12. The system of claim 8 , wherein allocating the set of computing resources to the at least one group comprises:

generating a respective combined request for each group of non-compliant requests, each combined request being a request that complies with the ratio-based provider condition;

providing data specifying each combined request as an input to an allocation process that allocates computing resources based on requests for the computing resources; and

receiving data specifying the allocation of the set of computing resources from the allocation process.

13. The system of claim 8 , wherein grouping the non-compliant requests into one or more groups comprises grouping the non-compliant requests such that a total quantity of computing resources requested by each group satisfies a quantity-based provider condition.

14. The system of claim 8 , wherein grouping the non-compliant requests into one or more groups comprises grouping the non-compliant requests such that a total quantity of each particular type of computing resource requested by each group satisfies a quantity-based provider condition for the particular type of computing resource.

15. A non-transitory computer storage medium encoded with a computer program, the program comprising instructions that when executed by a cloud provider server cause the cloud provider server to perform operations comprising:

receiving, by a cloud provider server and from one or more cloud client devices of resource requesters, a set of requests for computing resources, each request specifying one or more computing resources and, for each of the one or more computing resources, a quantity of the computing resource requested;

identifying, by the cloud provider server and as non-compliant requests, requests that do not comply with a ratio-based provider condition that is based on a specified ratio between two or more particular types of computing resources;

grouping, by the cloud provider server, the non-compliant requests into one or more groups such that each group has a combined ratio between the two or more particular types of computing resources that satisfies the ratio-based provider condition, each group including one or more non-compliant requests;

allocating, by the cloud provider server, a set of computing resources to at least one group based on a respective combined request for the at least one group; and

providing, by the cloud provider server, data that causes the allocated computing resources to be allocated to resource requesters.

16. The non-transitory computer storage medium of claim 15 , wherein the ratio-based provider condition specifies that requests for computing resources that specify a respective quantity of each of the two or more particular types of computing resources for which a ratio between the quantities of the two or more particular types of computing resources is not within a threshold amount of the specified ratio are non-compliant requests.

17. The non-transitory computer storage medium of claim 15 , wherein grouping the non-compliant requests into one or more groups comprises:

identifying a plurality of non-compliant requests as candidates for a particular group;

determining, for each of the two or more particular types of computing resources, a total quantity of the particular type of computing resource requested by the plurality of non-compliant requests;

determining, based on the total quantity of each particular type of computing resource, a combined ratio between the two or more particular types of computing resources requested by the plurality of non-compliant requests;

determining that the combined ratio is within a threshold amount of the specified ratio; and

determining to group the plurality of requests in a particular group together in response to determining that the combined ratio is within the threshold amount of the specified ratio.

18. The non-transitory computer storage medium of claim 15 , wherein the ratio-based provided condition specifies that requests for computing resources that specify a respective quantity of each of the two or more particular types of computing resources for which a ratio between the quantities of the two or more particular types of computing resources does not match the specified ratio are non-compliant requests.

19. The non-transitory computer storage medium of claim 15 , wherein allocating the set of computing resources to the at least one group comprises:

generating a respective combined request for each group of non-compliant requests, each combined request being a request that complies with the ratio-based provider condition;

providing data specifying each combined request as an input to an allocation process that allocates computing resources based on requests for the computing resources; and

receiving data specifying the allocation of the set of computing resources from the allocation process.

20. The non-transitory computer storage medium of claim 15 , wherein grouping the non-compliant requests into one or more groups comprises grouping the non-compliant requests such that a total quantity of computing resources requested by each group satisfies a quantity-based provider condition.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2018
From: ABRAMSON, NELSON L.; BOSSERT, JOHN MEYER
To: GOOGLE LLC
Reel/Frame 044762/0263 →
Continuity (2)
Continuation 15263797 · Sep 13, 2016
Continuation 14085414 · Nov 20, 2013
Cited By (1)
US 12,511,168