Batch scheduling
First Claim
1. A method to schedule execution of a plurality of batch jobs by a computer system, the method comprising:
- reading one or more constraints that constrain the execution of the plurality of batch jobs by the computer system, including constraints from a service level agreement specifying irregular run frequencies for the plurality of batch jobs, and an expected number of operations per time period on the computer system;
defining, for each batch job of the plurality of batch jobs, multiple batch jobs with regular run frequencies that together perform all of the operations of the batch job;
grouping the batch jobs with regular run frequencies into at least one run frequency that includes at least one batch job with a regular run frequency;
setting the at least one run frequency to a first run frequency;
computing an average number of operations per time period generated by the at least one batch job in the first run frequency on the computer system during an average duration of the at least one batch job based on a total number of operations generated by the at least one batch job;
computing a worst-case number of operations per time period generated by the at least one batch job in the first run frequency on the computer system by multiplying the at least one batch job'"'"'s average number of operations per time period by a factor that transforms the average number of operations per time period into a greatest number of operations per time period experienced during an execution of the at least one batch job; and
determining an optimized start time that meets the one or more constraints, for the at least one batch job in the first run frequency, based on adding the at least one batch job'"'"'s worst-case number of operations per time period to the expected number of operations per time period on the computer system at a proposed start time and comparing this value to a maximum number of operation per time period of the computer system.
1 Assignment
0 Petitions
Accused Products
Abstract
There is provided a method to schedule execution of a plurality of batch jobs by a computer system. The method includes: reading one or more constraints that constrain the execution of the plurality of batch jobs by the computer system and a current load on the computer system; grouping the plurality of batch jobs into at least one run frequency that includes at least one batch job; setting the at least one run frequency to a first run frequency; computing a load generated by each batch job in the first run frequency on the computer system based on each batch job'"'"'s start time; and determining an optimized start time for each batch job in the first run frequency that meets the one or more constraints and that distributes each batch job'"'"'s load on the computer system using each batch job'"'"'s computed load and the current load.
35 Citations
15 Claims
-
1. A method to schedule execution of a plurality of batch jobs by a computer system, the method comprising:
-
reading one or more constraints that constrain the execution of the plurality of batch jobs by the computer system, including constraints from a service level agreement specifying irregular run frequencies for the plurality of batch jobs, and an expected number of operations per time period on the computer system; defining, for each batch job of the plurality of batch jobs, multiple batch jobs with regular run frequencies that together perform all of the operations of the batch job; grouping the batch jobs with regular run frequencies into at least one run frequency that includes at least one batch job with a regular run frequency; setting the at least one run frequency to a first run frequency; computing an average number of operations per time period generated by the at least one batch job in the first run frequency on the computer system during an average duration of the at least one batch job based on a total number of operations generated by the at least one batch job; computing a worst-case number of operations per time period generated by the at least one batch job in the first run frequency on the computer system by multiplying the at least one batch job'"'"'s average number of operations per time period by a factor that transforms the average number of operations per time period into a greatest number of operations per time period experienced during an execution of the at least one batch job; and determining an optimized start time that meets the one or more constraints, for the at least one batch job in the first run frequency, based on adding the at least one batch job'"'"'s worst-case number of operations per time period to the expected number of operations per time period on the computer system at a proposed start time and comparing this value to a maximum number of operation per time period of the computer system. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system to schedule execution of a plurality of batch jobs by a third party computer system, the system comprising:
at least one processor for implementing; an input module adapted to read one or more constraints that constrain the execution of the plurality of batch jobs by the third party computer system, including constraints from a service level agreement, specifying irregular run frequencies for the plurality of batch jobs, and an expected number of operations per time period on the third party computer system; a frequency regularization module adapted to define, for each batch job of the plurality of batch jobs, multiple batch jobs with regular run frequencies that together perform all of the operations of the batch job, to group the batch jobs with regular run frequencies into at least one run frequency that includes at least one batch job with a regular run frequency, and to set the at least one run frequency to a first run frequency; a load initialization module adapted to compute an average number of operations per time period generated by the at least one batch job in the first run frequency on the third party computer system during an average duration of the at least one batch job based on a total number of operations generated by the at least one batch job; and compute a worst-case number of operations per time period generated by the at least one batch job in the first run frequency on the third party computer system by multiplying the at least one batch job'"'"'s average number of operations per time period by a factor that transforms the average number of operations per time period into a greatest number of operations per time period experienced during an execution of the at least one batch job; and a start time determination module adapted to determine an optimized start time that meets the one or more constraints, for the at least one batch job in the first run frequency, based on adding the at least one batch job'"'"'s worst-case number of operations per time period to the expected number of operations per time period on the third party computer system at a proposed start time and comparing this value to a maximum number of operation per time period of the third party computer system. - View Dependent Claims (7, 8, 9, 10)
-
11. A non-transitory machine-readable storage medium including a set of instructions to schedule execution of a plurality of batch jobs by a computer system, the instructions, when executed by a processor cause the machine to:
-
read one or more constraints that constrain the execution of the plurality of batch jobs by the computer system, including constraints from a service level agreement specifying irregular run frequencies for the plurality of batch jobs, and an expected number of operations per time period on the computer system; define, for each batch job of the plurality of batch jobs, multiple batch jobs with regular run frequencies that together perform all of the operations of the batch job; group the batch jobs with regular run frequencies into at least one run frequency that includes at least one batch job with a regular run frequency; set the at least one run frequency to a first run frequency; compute an average number of operations per time period generated by the at least one batch job in the first run frequency on the computer system during an average duration of the at least one batch job based on a total number of operations generated by the at least one batch job; compute a worst-case number of operations per time period generated by the at least one batch job in the first run frequency on the computer system by multiplying the at least one batch job'"'"'s average number of operations per time period by a factor that transforms the average number of operations per time period into a greatest number of operations per time period experienced during an execution of the at least one batch job; and determine an optimized start time that meets the one or more constraints, for the at least one batch job in the first run frequency, based on adding the at least one batch job'"'"'s worst-case number of operations per time period to the expected number of operations per time period on the computer system at a proposed start time and comparing this value to a maximum number of operation per time period of the computer system. - View Dependent Claims (12, 13, 14, 15)
-
Specification