Hybrid Kernel-User Checkpointing via Intermediary Interface
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing checkpointing technologies require modifications to applications, custom operating systems, or hardware virtualization, making them complex, costly, and not universally applicable on commodity systems.
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 through virtual memory area management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If user-space checkpointer with interception is used, then checkpointing service can be provided, but dependency on system libraries increases and requires constant updating
Solution Approach 1:
The patent introduces a character device as an intermediary interface between user-space applications and kernel-space checkpointing functionality. This mediator allows the checkpointer to communicate with the kernel through standardized device operations rather than directly depending on system libraries, reducing library dependency while maintaining checkpointing service availability
Solution Approach 2:
The patent replaces the mechanical dependency on system libraries with a kernel-module-based architecture. By implementing the core checkpointing logic in kernel space as a loadable module, the system eliminates the need for extensive user-space library implementations, thereby reducing updating requirements and improving service stability
2Reliability
If custom operating system is used for checkpointing, then checkpointing functionality can be integrated, but application compatibility decreases and requires customization
Solution Approach 1:
The patent creates a universal checkpointing solution that works across multiple operating systems by implementing the core functionality as a loadable kernel module. This modular approach allows the same checkpointing code to be adapted to different OS kernels (Linux, BSD, etc.) without requiring custom operating systems, thereby maintaining application compatibility while providing integrated checkpointing
Solution Approach 2:
The patent segments the checkpointing system into separate kernel-module and user-space components. The kernel module handles OS-specific operations while the user-space checkpointer provides a standardized interface, allowing the system to work across different operating systems without requiring application customization
3Reliability
If hardware virtualization platform is used, then checkpointing features can be provided, but overhead increases and deployment complexity changes
Solution Approach 1:
The patent extracts the checkpointing functionality from the hardware virtualization layer and implements it directly in the operating system kernel. By taking out the virtualization dependency, the system eliminates the additional software layers and associated overhead, providing checkpointing features through a more direct kernel-module implementation that works on standard hardware platforms
4Reliability
If application modifications are required for checkpointing, then checkpointing can be implemented, but ease of operation decreases and requires customization
Solution Approach 1:
The character device acts as an intermediary that provides a standardized interface for checkpointing operations. Applications interact with this standard interface without needing to know the underlying implementation details, making the system easy to operate while maintaining reliable checkpointing functionality
Data Source
AI summary
A system includes a multi-process application that runs. A multi-process application runs on primary hosts and is checkpointed by a checkpointer comprised of at least one 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.


