Allocating computing resources based on user intent
First Claim
1. A method performed by data processing apparatus, the method comprising:
- receiving intent data specifying;
one or more computing services to be hosted by a computing network;
one or more requested characteristics of underlying computing resources for use in hosting the computing service on the computing network; and
for each requested characteristic, a priority value that indicates a priority of the requested characteristic relative to a priority of each other requested characteristic;
identifying a budget constraint for each of the one or more computing services;
identifying available resources data that specifies a set of available computing resources and, for each available computing resource;
characteristics of the available computing resource;
pricing data for the available computing resource; and
forecasted demand data for the available computing resource;
generating a resource allocation problem for allocating computing resources for the one or more computing services based on the received intent data, each budget constraint, and the available resources data;
allocating at least a portion of the set of computing resources for the one or more computing services based on results of evaluating the resource allocation problem to meet a particular resource allocation objective, the allocating comprising;
determining that the budget constraint is not satisfied by a first allocation of computing resources resulting from solving the resource allocation problem to meet the particular resource allocation objective;
generating an adjusted resource allocation problem by removing at least one requested characteristic from the resource allocation problem, the at least one requested characteristic being selected for removal based on the priority value for the at least one requested characteristic; and
identifying a second allocation of computing resources based on results of solving the adjusted resource allocation problem to meet the particular resource allocation objective; and
providing, for the one or more computing services, access to the allocated computing resources.
2 Assignments
0 Petitions
Accused Products
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.
-
Citations
18 Claims
-
1. A method performed by data processing apparatus, the method comprising:
-
receiving intent data specifying; one or more computing services to be hosted by a computing network; one or more requested characteristics of underlying computing resources for use in hosting the computing service on the computing network; and for each requested characteristic, a priority value that indicates a priority of the requested characteristic relative to a priority of each other requested characteristic; identifying a budget constraint for each of the one or more computing services; identifying available resources data that specifies a set of available computing resources and, for each available computing resource; characteristics of the available computing resource; pricing data for the available computing resource; and forecasted demand data for the available computing resource; generating a resource allocation problem for allocating computing resources for the one or more computing services based on the received intent data, each budget constraint, and the available resources data; allocating at least a portion of the set of computing resources for the one or more computing services based on results of evaluating the resource allocation problem to meet a particular resource allocation objective, the allocating comprising; determining that the budget constraint is not satisfied by a first allocation of computing resources resulting from solving the resource allocation problem to meet the particular resource allocation objective; generating an adjusted resource allocation problem by removing at least one requested characteristic from the resource allocation problem, the at least one requested characteristic being selected for removal based on the priority value for the at least one requested characteristic; and identifying a second allocation of computing resources based on results of solving the adjusted resource allocation problem to meet the particular resource allocation objective; and providing, for the one or more computing services, access to the allocated computing resources. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system comprising:
-
a data store for storing data related to available computing resources; and one or more processors configured to interact with the data store, the one or more processors being further configured to perform operations comprising; receiving intent data specifying; one or more computing services to be hosted by a computing network; one or more requested characteristics of underlying computing resources for use in hosting the computing service on the computing network; and for each requested characteristic, a priority value that indicates a priority of the requested characteristic relative to a priority of each other requested characteristic; identifying a budget constraint for each of the one or more computing services; identifying available resources data that specifies a set of available computing resources and, for each available computing resource; characteristics of the available computing resource; pricing data for the available computing resource; and forecasted demand data for the available computing resource; generating a resource allocation problem for allocating computing resources for the one or more computing services based on the received intent data, each budget constraint, and the available resources data; allocating at least a portion of the set of computing resources for the one or more computing services based on results of evaluating the resource allocation problem to meet a particular resource allocation objective, the allocating comprising; determining that the budget constraint is not satisfied by a first allocation of computing resources resulting from solving the resource allocation problem to meet the particular resource allocation objective; generating an adjusted resource allocation problem by removing at least one requested characteristic from the resource allocation problem, the at least one requested characteristic being selected for removal based on the priority value for the at least one requested characteristic; and identifying a second allocation of computing resources based on results of solving the adjusted resource allocation problem to meet the particular resource allocation objective; and providing, for the one or more computing services, access to the allocated computing resources. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer storage medium encoded with a computer program, the program comprising instructions that when executed by data processing apparatus cause the data processing apparatus to perform operations comprising:
-
receiving intent data specifying; one or more computing services to be hosted by a computing network; one or more requested characteristics of underlying computing resources for use in hosting the computing service on the computing network; and for each requested characteristic, a priority value that indicates a priority of the requested characteristic relative to a priority of each other requested characteristic; identifying a budget constraint for each of the one or more computing services; identifying available resources data that specifies a set of available computing resources and, for each available computing resource; characteristics of the available computing resource; pricing data for the available computing resource; and forecasted demand data for the available computing resource; generating a resource allocation problem for allocating computing resources for the one or more computing services based on the received intent data, each budget constraint, and the available resources data; allocating at least a portion of the set of computing resources for the one or more computing services based on results of evaluating the resource allocation problem to meet a particular resource allocation objective, the allocating comprising; determining that the budget constraint is not satisfied by a first allocation of computing resources resulting from solving the resource allocation problem to meet the particular resource allocation objective; generating an adjusted resource allocation problem by removing at least one requested characteristic from the resource allocation problem, the at least one requested characteristic being selected for removal based on the priority value for the at least one requested characteristic; and identifying a second allocation of computing resources based on results of solving the adjusted resource allocation problem to meet the particular resource allocation objective; and providing, for the one or more computing services, access to the allocated computing resources.
-
Specification