Prioritizing jobs within a cloud computing environment
First Claim
1. A method for prioritizing jobs within a cloud computing environment, comprising:
- selecting a plurality of jobs out of a job queue based on a priority level of the plurality of jobs;
determining an income, a processing need, a set of service level agreement (SLA) terms for each of a plurality of jobs;
determining a processing capacity of the cloud computing environment compared with a total processing need of the plurality of jobs;
prioritizing a set of jobs of the plurality of jobs based on their respective income, processing need, and SLA terms, wherein the prioritizing ensures that the set of SLA terms are met while maximizing the income and without exceeding the processing capacity, and wherein the prioritizing comprises determining a highest total income of a subset of the plurality of jobs that can be performed without exceeding the processing capacity;
determining a set of jobs of the plurality of jobs as presumed to fail based on a processing capacity presumed consumed by the prioritized set of jobs, the jobs comprising at least one of the plurality of jobs other than the prioritized set of jobs;
selecting at least one job from the set of jobs presumed to fail, the selected job having at least one of;
a highest priority of the set of jobs presumed to fail or a lowest processing need of the set of jobs presumed to fail;
performing the prioritized set of jobs from the plurality of jobs; and
performing the selected at least one job presumed to fail.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present invention provide an approach to prioritize jobs (e.g., within a cloud computing environment) so as to maximize positive financial impacts (or to minimize negative financial impacts) for cloud service providers, while not exceeding processing capacity or failing to meet terms of applicable Service Level Agreements (SLAs). Specifically, under the present invention a respective income (i.e., a cost to the customer), a processing need, and set of SLA terms (e.g., predetermined priorities, time constraints, etc.) will be determined for each of a plurality of jobs to be performed. The jobs will then be prioritized in a way that: maximizes cumulative/collective income; stays within the total processing capacity of the cloud computing environment; and meets the SLA terms.
26 Citations
17 Claims
-
1. A method for prioritizing jobs within a cloud computing environment, comprising:
-
selecting a plurality of jobs out of a job queue based on a priority level of the plurality of jobs; determining an income, a processing need, a set of service level agreement (SLA) terms for each of a plurality of jobs; determining a processing capacity of the cloud computing environment compared with a total processing need of the plurality of jobs; prioritizing a set of jobs of the plurality of jobs based on their respective income, processing need, and SLA terms, wherein the prioritizing ensures that the set of SLA terms are met while maximizing the income and without exceeding the processing capacity, and wherein the prioritizing comprises determining a highest total income of a subset of the plurality of jobs that can be performed without exceeding the processing capacity; determining a set of jobs of the plurality of jobs as presumed to fail based on a processing capacity presumed consumed by the prioritized set of jobs, the jobs comprising at least one of the plurality of jobs other than the prioritized set of jobs; selecting at least one job from the set of jobs presumed to fail, the selected job having at least one of;
a highest priority of the set of jobs presumed to fail or a lowest processing need of the set of jobs presumed to fail;performing the prioritized set of jobs from the plurality of jobs; and performing the selected at least one job presumed to fail. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system for prioritizing jobs within a cloud computing environment, comprising:
-
a bus; a processor coupled to the bus; and a memory medium coupled to the bus, the memory medium comprising instructions to; select a plurality of jobs out of a job queue based on a priority level of the plurality of jobs; determine an income, a processing need, a set of service level agreement (SLA) terms for each of a plurality of jobs; determine a processing capacity of the cloud computing environment compared with a total processing need of the plurality of jobs; prioritize a set of jobs of the plurality of jobs based on their respective income, processing need, and SLA terms, wherein the prioritizing ensures that the set of SLA terms are met while maximizing the income and without exceeding the processing capacity, and wherein the prioritizing comprises determining a highest total income of a subset of the plurality of jobs that can be performed without exceeding the processing capacity; determine a set of jobs of the plurality of jobs as presumed to fail based on a processing capacity presumed consumed by the prioritized set of jobs, the jobs comprising at least one of the plurality of jobs other than the prioritized set of jobs; select at least one job from the set of jobs presumed to fail, the selected job having at least one of;
a highest priority of the set of jobs presumed to fail or a lowest processing need of the set of jobs presumed to fail;perform the prioritized set of jobs from the plurality of jobs; and perform the selected at least one job presumed to fail. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer program product for prioritizing jobs within a cloud computing environment, the computer program product comprising a computer readable storage media, and program instructions stored on the computer readable storage media, to:
-
select a plurality of jobs out of a job queue based on a priority level of the plurality of jobs; determine an income, a processing need, a set of service level agreement (SLA) terms for each of a plurality of jobs; determine a processing capacity of the cloud computing environment compared with a total processing need of the plurality of jobs; prioritize a set of jobs of the plurality of jobs based on their respective income, processing need, and SLA terms, wherein the prioritizing ensures that the set of SLA terms are met while maximizing the income and without exceeding the processing capacity, and wherein the prioritizing comprises determining a highest total income of a subset of the plurality of jobs that can be performed without exceeding the processing capacity; schedule the prioritized set of jobs from the plurality of jobs; and schedule at least one job presumed to fail, the at least one job having at least one of;
a highest priority of a set of jobs presumed to fail or a lowest processing need of a set of jobs presumed to fail. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A method for deploying a system for prioritizing jobs within a cloud computing environment, comprising:
deploying a computer infrastructure being operable to; select a plurality of jobs out of a job queue based on a priority level of the plurality of jobs; determine an income, a processing need, a set of service level agreement (SLA) terms for each of a plurality of jobs; determine a processing capacity of the cloud computing environment compared with a total processing need of the plurality of jobs; prioritize a set of jobs of the plurality of jobs based on their respective income, processing need, and SLA terms, wherein the prioritizing ensures that the set of SLA terms are met while maximizing the income and without exceeding the processing capacity, and wherein the prioritizing comprises determining a highest total income of a subset of the plurality of jobs that can be performed without exceeding the processing capacity; schedule the prioritized set of jobs from the plurality of jobs; and schedule at least one job presumed to fail based on the determined processing capacity, the at least one job comprising at least one of the plurality of jobs other than the prioritized set of jobs, wherein the at least one job has at least one of;
a highest priority of a set of jobs presumed to fail or a lowest processing need of a set of jobs presumed to fail.- View Dependent Claims (17)
Specification