Continuous Debugging via Job Scheduler Error Interception

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computer systems, especially in Continuous Integration, Continuous Delivery, and Continuous Deployment environments, jobs composed of multiple programs with incompatible syntaxes or unhandled exceptions can fail after hours of execution, leading to significant time loss and inefficiency due to the lack of real-time monitoring and rigorous pre-deployment testing.

Innovation Solution

An automated debugger integrated into a job scheduler that intercepts errors, inserts breakpoints, and re-executes jobs with cached intermediary results, allowing for immediate debugging and remediation, even when the job is not actively monitored.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If jobs are executed without real-time monitoring, then computing resources are preserved and efficiency is improved, but errors are not detected until job completion leading to significant debugging time loss

Engineering Contradiction:
Improvedebugging timeVSAvoidjob execution time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The debugger is configured to intercept errors as they occur during job execution, allowing errors to be detected and addressed before the job completes. This preliminary detection prevents the loss of debugging time that would occur if errors were only discovered after job completion, while still allowing the job to continue executing and preserving computing resources.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements continuous feedback by monitoring job execution in real-time through the debugger. Error information is fed back to developers immediately when errors occur, enabling timely remediation. This feedback mechanism resolves the contradiction by providing error detection capabilities without requiring continuous active monitoring of the job.

Inventive Principle:
Principle #23Feedback

2Reliability

If developers actively monitor long-running jobs, then errors are detected in real-time, but computing resources are consumed and efficiency decreases

Engineering Contradiction:
Improveerror detection capabilityVSAvoidcomputing resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The debugger is integrated into the job scheduler and operates autonomously to monitor job execution and intercept errors. This self-service capability allows the system to detect errors reliably without requiring developer intervention or active monitoring, thereby avoiding the consumption of additional computing resources while maintaining high reliability.

Inventive Principle:
Principle #25Self-service

3Reliability

If extensive pre-deployment testing is performed, then deployment reliability is improved, but development time and productivity are reduced

Engineering Contradiction:
Improvedeployment reliabilityVSAvoiddevelopment speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The debugger prepares by being pre-configured with breakpoint information and error interception capabilities before job execution begins. This preliminary setup enables the system to reliably detect errors during execution without requiring extensive pre-deployment testing, thus maintaining deployment reliability while preserving development speed.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10678677B1Continuous debugging
Publication Date: 2020.06.09 RED HAT ISRAEL
  • US10678677B1 patent drawing
  • US10678677B1 patent drawing
  • US10678677B1 patent drawing

AI summary

Continuous debugging is disclosed. For example, a source code repository stores a first project. A processor is configured to execute a job scheduler, which includes a debugger. The job scheduler receives a request to execute a job, which includes executing a first executable code. A guest is instantiated. The first project is copied as a second project. The second project is compiled into the first executable code. The guest is instructed to execute the job including the first executable code. The debugger intercepts an error caused by executing the first executable code. The debugger updates the second project by inserting a breakpoint into the second project based on the error. The updated second project is compiled into a second executable code. The guest is instructed to re-execute the job including executing the second executable code. Execution of the second executable code is paused at the breakpoint.