Job management in presence of implicit dependency
First Claim
Patent Images
1. A computer-implemented method, comprising:
- receiving in a scheduler an initial definition of dependencies between jobs, the initial dependencies including a static dependency between a first job and a second job as an initial start condition for the second job, the static dependency specifying that the start of the second job depends on the completion of the first job;
starting the first job by action of the scheduler after the receiving of the initial definition of dependencies;
receiving an indication of completion of the started first job and an indication of an execution of at least one child job dynamically created by the started first job without being initiated by action of the scheduler;
detecting, at the scheduler, a unique identifier of the at least one child job, the at least one child job not being represented in the initial definition of dependencies between jobs or in any dependency in the initial definition of dependencies between jobs, and the child job completing after the started first job completes;
if the scheduler detects that the started first job has created the at least one child job, changing the initial start condition into an adjusted start condition for the second job by adding an implicit dependency on the at least one child job to the definition of dependencies, the implicit dependency specifying that the start of the second job is made further to depend at least on the completion of the at least one child job;
receiving an indication of completion of the at least one child job; and
executing the second job in response to at least the indication of completion of the at least one child job.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and computer program products for job management in the presence of implicit dependency. In a situation where static dependency exists between a first computer job and a second computer job as an initial start condition for the second job, where the start of the second job depends on the completion of the first job, a scheduler determines whether the first job has created a child job, in which case the initial start condition is changed into an adjusted start condition by adding an implicit dependency, whereby the start of the second job is made further to depend at least on the completion of the child job.
22 Citations
26 Claims
-
1. A computer-implemented method, comprising:
-
receiving in a scheduler an initial definition of dependencies between jobs, the initial dependencies including a static dependency between a first job and a second job as an initial start condition for the second job, the static dependency specifying that the start of the second job depends on the completion of the first job; starting the first job by action of the scheduler after the receiving of the initial definition of dependencies; receiving an indication of completion of the started first job and an indication of an execution of at least one child job dynamically created by the started first job without being initiated by action of the scheduler; detecting, at the scheduler, a unique identifier of the at least one child job, the at least one child job not being represented in the initial definition of dependencies between jobs or in any dependency in the initial definition of dependencies between jobs, and the child job completing after the started first job completes; if the scheduler detects that the started first job has created the at least one child job, changing the initial start condition into an adjusted start condition for the second job by adding an implicit dependency on the at least one child job to the definition of dependencies, the implicit dependency specifying that the start of the second job is made further to depend at least on the completion of the at least one child job; receiving an indication of completion of the at least one child job; and executing the second job in response to at least the indication of completion of the at least one child job. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for job management in a computer installation where a static dependency exists between a first job and a second job as an initial start condition for the second job so that the start of the second job depends on the completion of the first job, the method comprising:
-
starting the first job using a local job administration program; and sending status information about the started first job from the local job administration program to a scheduler, the status information indicating a unique identifier of a child job dynamically created by the first job without being initiated by action of the local job administration program or the scheduler, the child job not being represented in a static dependency as part of an initial start condition for the second job and the child job completing after the started first job completes, to enable the scheduler to change the initial start condition for the second job into an adjusted start condition for the second job by adding an implicit dependency to the initial start condition of the second job so that the start of the second job is made further to depend at least on the completion of the child job. - View Dependent Claims (10, 11)
-
-
12. A system for managing jobs, the system comprising:
-
a processor operable to execute computer program instructions; a data store that includes a representation of jobs including child jobs and dependencies including static dependencies and implicit dependencies, the representation having an initial state, the static dependencies being those dependencies that are represented in the initial state of the representation; computer program instructions for tracking a current status of jobs and for updating the representation to reflect the current status of jobs, including the status of jobs that are started by other jobs and not by the system for managing jobs; and computer program instructions using the representation to avoid starting a second job when the data store indicates that the second job has an implicit dependency on a uniquely identified first job that is not completed, the implicit dependency being a dependency that arose from the dynamic creation of the first job by a started parent job without being initiated by action of the system for managing jobs, the creation of the first job not being represented by any of the static dependencies, the first job not being represented in the initial representation of jobs and dependencies, the first job not being included in any dependency in the initial representation of jobs and dependencies, and the first job completing after the started parent job completes;
the indication of the implicit dependency of the second job on the first job being added to the dependencies included in the data store after the creation of the first job by the parent job, the implicit dependency indicating a start condition so that the start of the second job is made to depend, at least in part, on the completion of the first job. - View Dependent Claims (13)
-
-
14. A computer program product, tangibly embodied in a machine-readable storage device, for job management in the presence of child jobs, the computer program product comprising instructions operable to cause data processing apparatus to:
-
receive in a scheduler an initial definition of dependencies between jobs, the initial dependencies including a static dependency between a first job and a second job as an initial start condition for the second job, the static dependency specifying that the start of the second job depends on the completion of the first job; start the first job by action of the scheduler after the initial definition of dependencies is received; receive an indication of completion of the started first job and an indication of an execution of at least one child job dynamically created by the started first job without being initiated by action of the scheduler; detect, at the scheduler, a unique identifier of at least one child job, the at least one child job not being represented in the initial definition of dependencies between jobs or in any dependency in the initial definition of dependencies between jobs, and the child job completing after the started first job completes; change the initial start condition into an adjusted start condition for the second job by adding an implicit dependency on the at least one child job to the definition of dependencies, if the scheduler detects that the started first job has created the child job, the implicit dependency specifying that the start of the second job is made further to depend at least on the completion of the at least one child job; receive an indication of completion of the at least one child job; and execute the second job in response to at least the indication of completion of the at least one child job. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer program product, tangibly embodied in a machine-readable storage device, for job management in a computer installation where a static dependency exists between a first job and a second job as an initial start condition for the second job, so that the start of the second job depends on the completion of the first job, the computer program product comprising instructions operable to cause data processing apparatus to:
-
start the first job using a local job administration program; and send status information about the first job from the local job administration program to a scheduler, the status information indicating a unique identifier of a child job dynamically created by the started first job without being initiated by action of the local job administration program or the scheduler, the child job not being represented in a static dependency as part of an initial start condition for the second job and the child job completing after the started first job completes, to enable the scheduler to change the initial start condition for the second job into an adjusted start condition for the second job by adding an implicit dependency to the initial start condition of the second job so that the start of the second job further depends on the completion of the child job. - View Dependent Claims (23, 24)
-
-
25. A computer program product, tangibly embodied in a machine-readable storage device, for managing jobs, the computer program product comprising instructions operable to cause data processing apparatus to:
-
establish a representation of jobs including child jobs and dependencies including static dependencies and implicit dependencies, the representation having an initial state, the static dependencies being dependencies represented in the initial state of the representation; track current status of jobs and update the representation to reflect the current status of jobs, including the status of dynamically-created jobs that are started by other started jobs without being initiated by action of the program product for managing jobs, the dynamically-created jobs not being represented in the initial state of the representation; detect the creation of dynamically-created jobs and, as a consequence, change all start conditions that involve a parent job of a dynamically-created job so that the condition on the respective parent job becomes a condition on both the respective parent job and the dynamically-created job; and use the representation to avoid starting a second job when the representation indicates that the second job has an implicit dependency on a uniquely identified first job that is not completed, the implicit dependency being a dependency that arose from the dynamic creation of the first job by a parent job and not by the program product for managing jobs, the dynamic creation of the first job not being represented in the initial state of the representation or by any of the static dependencies, and the first job completing after the parent job completes. - View Dependent Claims (26)
-
Specification