Execution plan generation and scheduling for network-accessible resources
US-9479382-B1 · Oct 25, 2016 · US
US9843534B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9843534-B2 |
| Application number | US-201414575353-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 18, 2014 |
| Priority date | Dec 18, 2014 |
| Publication date | Dec 12, 2017 |
| Grant date | Dec 12, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
An approach is provided for managing the provisioning and utilization of resources. A management platform determines a request from a user for execution of one or more data processing tasks by a remote computing service. The management platform also processes and/or facilitates a processing of at least one execution constraint associated with the user, a group associated with the user, or a combination thereof to determine a maximum number of clusters, cluster instances, or a combination thereof of the remote computing service to be provisioned for fulfilling the request. The management platform further causes, at least in part, a provisioning of one or more clusters, one or more cluster instances, or a combination thereof to the user, the group, or a combination thereof to within the maximum number of clusters, cluster instances, or a combination thereof based on the at least one execution constraint.
Opening claim text (preview).
What is claimed is: 1. A method comprising: in response to a request from a user for execution of one or more data processing tasks by a remote computing service, identifying, by an apparatus, the user and an association between the user and at least one of a plurality of user groups of an entity; retrieving, by the apparatus based on the association, at least one execution constraint associated with the user, the at least one user group, or a combination thereof to determine a maximum number of clusters, cluster instances, or a combination thereof of the remote computing service to be provisioned for fulfilling the request, wherein the at least one execution constraint is below execution constraints contracted between the entity and the remote computing service; initiating a comparison of the at least one execution constraint against an availability of one or more clusters, one or more cluster instances, or a combination thereof based on the execution of the at least one data processing task; determining a cost saving, a performance increase, or a combination thereof is achievable for the user, the at least one user group, or a combination thereof based on the comparison; initiating, by the apparatus, a provisioning of the one or more clusters, the one or more cluster instances, or a combination thereof to the user, the at least one user group, or a combination thereof to be within the maximum number of clusters, cluster instances, or a combination thereof based on the at least one execution constraint and to achieve the cost saving, the performance increase, or a combination thereof; and real-time monitoring and adjusting, by the apparatus, clusters and cluster instances being provisioned to the user or the at least one user group, for dynamically maintaining the at least one execution constraint and the execution constraints contracted between the entity and the remote computing service. 2. A method of claim 1 , further comprising: determining a completion of execution of at least one of the one or more data processing tasks by at least one of the one or more clusters, at least one of the one or more cluster instances, or a combination thereof based on the provisioning; and initiating an assignment of at least one other of the one or more data processing tasks to the at least one of the one or more clusters, the at least one of the one or more cluster instances, or a combination thereof based on the completion of execution, wherein the provisioning is based on the assignment, and wherein the clusters and the cluster instances being provisioned to the user and the one or more other users are real-time adjusted via repurposing, configuration adjustment, or a combination thereof to meet the at least one execution constraint and the execution constraints. 3. A method of claim 2 , further comprising: determining a remaining number of the one or more data processing tasks assigned to a queue associated with the at least one of the one or more clusters, the at least one of the one or more cluster instances, or a combination thereof exceeds a backlog threshold specified by the user, the at least one user group, or a combination thereof; and initiating a provisioning of another cluster, another instance, or a combination thereof based on the backlog, wherein the assignment is based on the exceeding of the backlog threshold, and wherein the apparatus is a network platform separate from the entity and the remote computing service. 4. A method of claim 2 , further comprising: initiating an adjustment of a size of the at least one of the one or more clusters, the at least one of the one or more cluster instances, or a combination thereof based on the completion of execution; and initiating a termination of the at least one of the one or more clusters, at least one of the one or more cluster instances, or a combination thereof based on the completion of execution, wherein the adjustment is based on the assignment, the termination, or a combination thereof, and wherein the apparatus is implemented via a plurality of user devices of the users of the entity. 5. A method of claim 1 , further comprising: initiating another comparison of the at least one execution constraint against (a) a payment rate associated with the remote computing service, (b) a payment amount rendered by the user, the at least one user group, or a combination thereof to the remote computing service, (c) an estimated time of completion of execution of the one or more data processing tasks, (d) an estimated utilization of the remote computing service by the user, the at least one user group, or a combination thereof, or (e) a combination thereof; and determining another cost saving, another performance increase, or a combination thereof is achievable for the user, the at least one user group, or a combination thereof based on the another comparison, wherein the provisioning is further based on the another cost saving, the another performance increase, or a combination thereof. 6. A method of claim 5 , wherein the execution constraint includes a cost limit, a performance limit, a cluster limit, a cluster instance limit, a time limit, a data limit, or a combination thereof assigned to the user, the at least one user group, or a combination thereof, and wherein the user and the association are identified via an account number, a job number, an internet protocol address, or a combination thereof. 7. A method of claim 5 , further comprising: determining that the cost savings, the performance increase, or a combination thereof is not achievable for the user, the at least one user group, or a combination thereof based on the comparison, wherein the provisioning is performed based on the determination. 8. A method of claim 1 , further comprising: initiating a presentation of a configuration interface on a user device; and receiving an input via the configuration interface specifying the at least one execution constraint, a backlog threshold, a cluster configuration type, or a combination thereof associated with the user, the at least one user group, or a combination thereof, wherein the request for execution of the one or more data processing tasks is based on the input. 9. A method of claim 8 , wherein the cluster configuration type corresponds to (a) a size, a data processing capability, or a combination thereof of the one or more cluster instances, (b) an operating system requirement of the user, the at least one user group, or a combination thereof, (c) or a combination thereof, and wherein the configuration interface includes one or more fields for receiving a cost ceiling input, a performance level, a maximum number of clusters or cluster instances, a time limit, a backlog threshold, or a combination thereof. 10. A method of claim 1 , wherein the remote computing service is a cloud based system, a distributed system, or a combination thereof and the one or more clusters include the one or more cluster instances, and wherein the apparatus is a server of the remote computing service that executes application programming interfaces facilitating user interactions with the remote computing service. 11. An apparatus comprising: at least one processor; and at least one memory including computer program code for one or more programs, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to perform at least the following, in response to a request from a user for execution of one or more data processing tasks by a remote computing service, identify the user and an association between the user and at least one of a plurality of user groups of an entity
by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade · CPC title
Arrangements for program control, e.g. control units (program control for peripheral devices G06F13/10) · CPC title
Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities (flow or congestion control using dynamic resource allocation, e.g. in-call renegotiation, H04L47/76) · CPC title
Clust · CPC title
Partitioning or combining of resources · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.