Compiler Checkpointing for OS-Independent Program Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques for restoring program execution from a point of interruption require cooperation from the operating system, which is not available in all operating systems, making it challenging to implement without manual programming efforts for application developers.
Innovation Solution
A flexible framework at the program level is developed to enable checkpointing and restoration of program execution without operating system cooperation, using automated tools to modify existing code and incorporate instructions for saving and resuming program execution from a checkpoint.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If operating system cooperation is required for program restoration, then restoration capability is provided, but compatibility with operating systems lacking such capability is lost
Solution Approach 1:
The patent introduces a compiler as an intermediary tool that translates source code into executable code with embedded checkpointing instructions. This compiler acts as a mediator between the programmer's intent and the operating system's capabilities, enabling checkpointing functionality to be implemented at the application level without requiring operating system support. The compiler inserts special instructions that create checkpoint data structures and restore points independently of the operating system's native capabilities.
2Reliability
If manual programming is required to implement checkpointing capability, then program restoration is enabled, but development time and complexity increase
Solution Approach 1:
The patent implements checkpointing capability during the compilation phase, which is a preliminary action performed before program execution. The compiler automatically inserts checkpointing instructions, creates data structures for storing program state, and generates restore points without requiring the programmer to manually code these features. This preliminary automation of checkpointing implementation significantly reduces development effort while ensuring reliable program restoration capability.
3Adaptability or versatility
If checkpointing is implemented at the application level, then operating system independence is achieved, but implementation complexity increases
Solution Approach 1:
The patent extracts the checkpointing functionality from the operating system layer and implements it at the application level through compiler-generated code. By taking out the dependency on operating system-specific restoration capabilities and embedding checkpointing instructions directly in the application code, the system achieves operating system independence. The complexity is managed by automating the extraction process through the compiler rather than requiring manual implementation.
Data Source
AI summary
Techniques are described that enable restoring interrupted program execution from a checkpoint without the need for cooperation from the computer's operating system. These techniques can be implemented by modifying existing code using an automated tool that adds instructions for enabling restoring interrupted program execution.


