Checkpoint Restart System for Workflow Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveprogram reliabilityVSAvoidexecution time
Core Design Contradiction:
ReliabilityVSLoss of time

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvetask execution completenessVSAvoidworkflow efficiency
Core Design Contradiction:
ReliabilityVSProductivity

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #23Feedback

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

Engineering Contradiction:
Improverecovery capabilityVSAvoidstorage system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7634687B2Checkpoint restart system and method
Publication Date: 2009.12.15 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7634687B2 patent drawing
  • US7634687B2 patent drawing
  • US7634687B2 patent drawing

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.