Checkpoint Restart System for Workflow Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional computer programs fail and require restarting from the beginning upon failure, leading to inefficiencies and significant execution time losses, especially in workflow applications where lengthy tasks may be interrupted by minor issues.
Innovation Solution
Implementing an execution engine that generates and stores checkpoint components, including completion data and program state, to allow for restarting at or near the point of failure, along with diagnostic and correction components to identify and address the cause of failure.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional programs restart from the beginning upon failure, then program reliability is maintained through complete re-execution, but execution time and efficiency deteriorate significantly
Solution Approach 1:
The system performs preliminary actions by creating checkpoint components during normal execution, capturing program state and completion data before failures occur. These checkpoints are stored in non-volatile memory and enable the program to resume from the last known good state rather than restarting from the beginning, thus reducing execution time while maintaining reliability
Solution Approach 2:
The program execution is segmented into discrete checkpoints that can be independently managed. Each checkpoint represents a specific state in the execution timeline, allowing the system to divide the execution history into manageable segments and resume from the most recent successful segment rather than re-executing the entire program
2Reliability
If workflow applications restart from the beginning after failure, then complete task execution is ensured, but productivity deteriorates due to redundant execution of lengthy tasks
Solution Approach 1:
The workflow application creates checkpoint components that capture completion data and program state at regular intervals or after specific tasks. When a failure occurs, these pre-created checkpoints enable the application to resume from the last successful task rather than restarting from the beginning, ensuring task completeness while eliminating redundant execution of already-completed lengthy tasks
Solution Approach 2:
The system implements feedback mechanisms where the execution engine monitors task completion and updates checkpoint components accordingly. This feedback loop ensures that the checkpoint accurately reflects the current state of workflow execution, allowing the system to make informed decisions about where to resume execution after a failure, thereby maintaining productivity and efficiency
3Reliability
If checkpoint components are stored in non-volatile memory, then data persistence and recovery capability are improved, but device complexity and storage requirements increase
Solution Approach 1:
Instead of copying the entire program or all data, the system creates focused checkpoint components that capture only the essential program state and completion data at specific intervals. These lightweight copies are stored in non-volatile memory and enable recovery without requiring complex backup and restoration mechanisms, thus improving reliability while minimizing the increase in device complexity
Data Source
AI summary
The subject invention pertains to a systems and methods of restarting programs upon failure. In particular, the systems and methods provide for generation of a checkpoint component including program execution status or completion data as well as state. This checkpoint component can then be employed by an execution engine to restart the program at a point in time captured by the checkpoint component. According to one specific aspect of the invention, these systems and methods can be applied to a workflow system to facilitate restarting a workflow package or process described thereby.


