Kernel-Mode Checkpointing for Transparent Application State Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing checkpointing technologies require modifications to applications, custom operating systems, or hardware virtualization, making them complex and costly, and are not transparent to applications, which limits their widespread adoption on commodity operating systems and hardware.
Innovation Solution
A kernel service-based checkpointing system that operates as a Loadable Kernel Module (LKM), providing transparent checkpointing services without requiring application modifications or hardware virtualization, using user-space interceptors and optimizing memory usage by leveraging virtual memory areas and page table entries.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If user-space checkpointer with interception is used, then checkpointing service can be provided to applications, but the checkpointer becomes dependent on system libraries and requires constant updating
Solution Approach 1:
The patent introduces a kernel-mode checkpointer as an intermediary layer between the user-space applications and the operating system kernel. This kernel-mode component acts as a mediator that handles checkpointing operations directly at the kernel level, eliminating the need for user-space interceptors and system library dependencies. The kernel-mode checkpointer communicates with user-space components through well-defined interfaces, providing stable checkpointing services independent of system library changes.
2Reliability
If custom operating system is used for checkpointing, then checkpointing functionality can be integrated, but applications must be customized for the custom operating system
Solution Approach 1:
The patent implements a universal checkpointing architecture where the kernel-mode checkpointer provides standardized checkpointing services that can be accessed by multiple applications and operating systems through common interfaces. The system is designed to work with standard operating systems without requiring custom OS development, while maintaining consistent checkpointing functionality across different platforms and application types.
3Reliability
If hardware virtualization platform is committed to, then checkpointing features can be provided, but memory and hardware requirements increase
Solution Approach 1:
The patent extracts the checkpointing functionality from hardware virtualization dependencies and implements it directly in the operating system kernel. By taking out the virtualization layer and implementing checkpointing natively in kernel-mode, the system eliminates the need for additional hardware virtualization infrastructure, reducing memory overhead and hardware requirements while maintaining full checkpointing capabilities.
4Reliability
If application modifications are required for checkpointing, then checkpointing can be implemented, but transparency to applications is lost
Solution Approach 1:
The kernel-mode checkpointer implements self-service mechanisms by automatically intercepting and managing checkpointing operations at the kernel level without requiring application-level modifications. The system uses kernel-hooks and memory management interfaces to automatically capture application state, eliminating the need for applications to be aware of or participate in the checkpointing process, thereby maintaining full transparency.
Data Source
AI summary
A system includes a multi-process application that runs on primary hosts and is checkpointed by a checkpointer comprised of a kernel-mode checkpointer module and one or more user-space interceptors providing at least one of barrier synchronization, checkpointing thread, resource flushing, and an application virtualization space. Checkpoints may be written to storage and the application restored from said stored checkpoint at a later time. Checkpointing may be incremental using Page Table Entry (PTE) pages and Virtual Memory Areas (VMA) information. Checkpointing is transparent to the application and requires no modification to the application, operating system, networking stack or libraries. In an alternate embodiment the kernel-mode checkpointer is built into the kernel.


