# US 10,320,701 B1 · Aggregating resource requests

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,320,701 B1
- Document ID: US10320701B1
- Status: Granted
- Kind: B1
- Application number: 15/879,038
- Filed: 2018-01-24
- Granted: 2019-06-11
- Earliest claimed: 2013-11-20
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Nelson L. Abramson; John Meyer Bossert
- Web page: https://patentgrep.com/patent/US10320701B1

## CPC

- G06F 9/5027: {the resource being a machine, e.g. CPUs, Servers, Terminals}
- G06F 9/5072: {Grid computing}
- G06F 16/285: {Clustering or classification}
- H04L 47/70: Admission control; Resource allocation
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- G06F 2209/5013: Request control
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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

### Claim 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.

### Claim 2 (depends on 1)

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.

### Claim 3 (depends on 1)

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.

### Claim 4 (depends on 1)

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.

### Claim 5 (depends on 1)

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.

### Claim 6 (depends on 1)

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.

### Claim 7 (depends on 1)

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.

### Claim 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.

### Claim 9 (depends on 8)

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.

### Claim 10 (depends on 8)

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.

### Claim 11 (depends on 8)

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.

### Claim 12 (depends on 8)

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.

### Claim 13 (depends on 8)

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.

### Claim 14 (depends on 8)

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.

### Claim 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.

### Claim 16 (depends on 15)

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.

### Claim 17 (depends on 15)

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.

### Claim 18 (depends on 15)

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.

### Claim 19 (depends on 15)

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.

### Claim 20 (depends on 15)

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.
