Job Hold Tool for Maintenance Conflict Resolution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
During maintenance windows, scheduled jobs often conflict with server or application maintenance, leading to incomplete or erroneous executions as the systems are taken offline, disrupting user expectations and maintenance processes.
Innovation Solution
A job hold tool comprising a conflict engine, hold engine, and start engine identifies jobs scheduled to conflict with maintenance windows, holds them from starting, and resumes them once maintenance is complete, ensuring uninterrupted maintenance and successful job execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If jobs are scheduled to run during maintenance windows, then job execution frequency is maintained, but job execution reliability deteriorates due to system being taken offline
Solution Approach 1:
The conflict engine performs preliminary identification of jobs that would conflict with maintenance windows before the maintenance occurs. By analyzing the job schedule against the maintenance schedule in advance, the system proactively determines which jobs need to be held, preventing execution conflicts before they happen.
Solution Approach 2:
The hold engine applies a preliminary counter-action by preventing (holding) jobs from executing during maintenance windows. This anti-action of stopping job execution is taken in advance based on the conflict identification, offsetting the potential harmful effect of jobs running during maintenance when the system is taken offline.
2Reliability
If jobs are held during maintenance windows, then job execution reliability is improved, but job completion time increases due to delays
Solution Approach 1:
The system dynamically adjusts job execution timing based on maintenance schedules. Jobs are held during maintenance windows and then resumed or rescheduled afterward. The start engine monitors maintenance completion and triggers job execution at the appropriate time, creating a flexible, dynamic scheduling system that adapts to maintenance requirements while minimizing delays.
Solution Approach 2:
The start engine receives notifications when maintenance is complete and uses this feedback information to trigger the execution of held jobs. This feedback mechanism ensures that jobs are resumed at the optimal time after maintenance, minimizing unnecessary delays while ensuring reliable execution.
3Ease of operation
If a centralized job management system is implemented, then job scheduling control is improved, but system complexity increases
Solution Approach 1:
The job management system is segmented into three distinct functional components: the conflict engine for identifying scheduling conflicts, the hold engine for preventing job execution during maintenance, and the start engine for resuming jobs after maintenance. This segmentation allows each component to perform its specific function independently, simplifying the overall system architecture while maintaining centralized control.
Solution Approach 2:
The conflict engine, hold engine, and start engine work together as a universal job management framework that can handle multiple jobs across different maintenance windows. The system is designed to be multi-functional, managing both identification of conflicts and execution control through a coordinated set of engines that share common data structures and scheduling logic.
Data Source
AI summary
A job hold tool includes a memory, a conflict engine, a hold engine, and a start engine. The memory stores a maintenance schedule indicating a period of time during which maintenance is scheduled to occur and a job schedule indicating a plurality of scheduled start times for a plurality of jobs. The conflict engine identifies, based on the job schedule and the maintenance schedule, each job of the plurality of jobs whose scheduled start time is within the period of time. The hold engine holds each job identified by the conflict engine such that each held job will not start at its scheduled start time. The start engine starts each held job in response to a received notification that the maintenance is complete.


