Method and system for traversing in reverse chronological order along a critical path of a plurality of jobs, and reducing time gaps between jobs until an estimated end time of the last job is less than or equal to a target end time
First Claim
1. A computer system for managing a flow of batch jobs, comprising:
- a memory comprising a plurality of jobs within a batch queue grouped together into one or more services that each comprises a job and a predecessor job, wherein a time difference comprises the difference between a scheduled start time of the job and an estimated end time of the predecessor job,wherein jobs with a preceding time gap comprise jobs immediately preceded only by non-zero time differences, andwherein the job start depends upon the predecessor job completion; and
a processing unit, coupled to the memory, that identifies those jobs of the plurality of jobs preceded by a time gap, selects a service of the one or more services, traverses in reverse chronological order a critical path of dependent jobs within the selected service until a latest job with a preceding time gap is identified or until at least those jobs along the critical path preceded by another job are traversed,reduces the time difference between the latest job with a preceding time gap and a nearest predecessor job, andrepeats the traversing and reducing until no jobs with time gaps remain along the critical path or until an estimated end time of the selected service is less than or equal to a target end time,wherein the processing unit traverses the critical path by selecting, for each job preceded by another job along the critical path, a nearest predecessor job with an estimated end time that is closest to, but not greater than, a scheduled start time of a currently selected job.
11 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for improved batch flow management are described. At least some embodiments include a computer system for managing a job flow including a memory storing a plurality of batch queue jobs grouped into Services each including a job and a predecessor job. A time difference is the difference between a scheduled job start time and an estimated predecessor job end time. Jobs with a preceding time gap include jobs immediately preceded only by non-zero time differences. The job start depends upon the predecessor job completion. The computer system further includes a processing unit that identifies jobs preceded by a time gap, selects one of the Services, and traverses in reverse chronological order a critical path of dependent jobs within the Service until a latest job with a preceding time gap is identified or at least those jobs along the critical path preceded by another job are traversed.
-
Citations
19 Claims
-
1. A computer system for managing a flow of batch jobs, comprising:
-
a memory comprising a plurality of jobs within a batch queue grouped together into one or more services that each comprises a job and a predecessor job, wherein a time difference comprises the difference between a scheduled start time of the job and an estimated end time of the predecessor job, wherein jobs with a preceding time gap comprise jobs immediately preceded only by non-zero time differences, and wherein the job start depends upon the predecessor job completion; and a processing unit, coupled to the memory, that identifies those jobs of the plurality of jobs preceded by a time gap, selects a service of the one or more services, traverses in reverse chronological order a critical path of dependent jobs within the selected service until a latest job with a preceding time gap is identified or until at least those jobs along the critical path preceded by another job are traversed, reduces the time difference between the latest job with a preceding time gap and a nearest predecessor job, and repeats the traversing and reducing until no jobs with time gaps remain along the critical path or until an estimated end time of the selected service is less than or equal to a target end time, wherein the processing unit traverses the critical path by selecting, for each job preceded by another job along the critical path, a nearest predecessor job with an estimated end time that is closest to, but not greater than, a scheduled start time of a currently selected job. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for managing a flow of batch jobs within a computer system, comprising:
-
grouping, by the computer system, a plurality of jobs within a batch queue into one or more services that each comprises a job and a predecessor job; determining, by the computer system, a time difference comprising the difference between a scheduled start time of the job and an estimated end time of the predecessor job, the job start depending upon the predecessor job completion; identifying, by the computer system, those jobs of the plurality of jobs preceded by a time gap, which comprise jobs immediately preceded only by non-zero time differences; selecting, by the computer system, a service of the one or more services;
traversing, by the computer system, in reverse chronological order a critical path of dependent jobs within the selected service until a latest job with a preceding time gap is identified or until at least those jobs along the critical path preceded by another job are traversed;reducing, by the computer system, the time difference between the latest job with a preceding time gap and a nearest predecessor job; and repeating the traversing and reducing until no jobs with time gaps remain along the critical path or until an estimated end time of the selected service is less than or equal to a target end time, wherein traversing the critical path comprises selecting, for each job preceded by another job along the critical path, a nearest predecessor job with an estimated end time that is closest to, but not greater than, a scheduled start time of a currently selected job. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory computer-readable storage medium comprising software that can be executed on a processor to cause the processor to perform a method for managing a flow of batch jobs within a computer system, comprising:
-
grouping, by the computer system, a plurality of jobs within a batch queue into one or more services that each comprises a job and a predecessor job; determining, by the computer system, a time difference comprising the difference between a scheduled start time of the job and an estimated end time of the predecessor job, the job start depending upon the predecessor job completion; identifying, by the computer system, those jobs of the plurality of jobs preceded by a time gap, which comprise jobs immediately preceded only by non-zero time differences; selecting, by the computer system, a service of the one or more services; traversing, by the computer system, in reverse chronological order a critical path of dependent jobs within the selected service until a latest job with a preceding time gap is identified or until at least those jobs along the critical path preceded by another job are traversed; reducing, by the computer system, the time difference between the latest job with a preceding time gap and a nearest predecessor job; and repeating the traversing and reducing until no jobs with time gaps remain along the critical path or until an estimated end time of the selected service is less than or equal to a target end time, wherein traversing the critical path comprising selecting, for each job preceded by another job along the critical path, a nearest predecessor job with an estimated end time that is closest to, but not greater than, a scheduled start time of a currently selected job.
-
-
14. A networked computer system, comprising:
-
a communication network; and
a plurality of computer systems each coupled to the communication network, at least one computer system of the plurality of computer systems comprising;
a memory comprising a plurality of jobs within a batch queue grouped together into one or more services that each comprises a job and a predecessor job,wherein a time difference comprises the difference between a scheduled start time of the job and an estimated end time of the predecessor job, wherein jobs with a preceding time gap comprise jobs immediately preceded only by non-zero time differences, and wherein the job start depends upon the predecessor job completion; and a processing unit, coupled to the memory, that identifies those jobs of the plurality of jobs preceded by a time gap, selects a service of the one or more services, and traverses in reverse chronological order a critical path of dependent jobs within the selected service until a latest job with a preceding time gap is identified or until at least those jobs along the critical path preceded by another job are traversed, reduces the time difference between the latest job with a preceding time gap and a nearest predecessor job, and repeats the traversing and reducing until no jobs with time gaps remain along the critical path or until an estimated end time of the selected service is less than or equal to a target end time, wherein the processing unit traverses the critical path by selecting, for each job preceded by another job along the critical path, a nearest predecessor job with an estimated end time that is closest to, but not greater than, a scheduled start time of a currently selected job. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification