Kernel Checkpointing Service for Transparent Application 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 usability on commodity operating systems and hardware.
Innovation Solution
A kernel-based checkpointing service is provided as a Loadable Kernel Module (LKM) that operates transparently to applications, capturing and restoring their state without requiring application customizations or hardware virtualization, using user-space interceptors and optimizing memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If user-space checkpointer with interception is used, then checkpointing functionality is provided, but dependency on system libraries increases and requires constant updating
Solution Approach 1:
The patent introduces a kernel-mode checkpointer as an intermediary between the application and user-space libraries. This kernel module directly accesses application memory and state without requiring library interception, eliminating dependency on system library updates while maintaining checkpointing functionality.
2Reliability
If custom operating system is used for checkpointing, then checkpointing service is provided, but application customization is required which reduces application availability
Solution Approach 1:
The kernel-mode checkpointer is designed as a universal solution that works with any application running on the operating system. It directly interfaces with the OS kernel and application memory spaces without requiring application-specific customization, thereby maintaining broad application compatibility while providing reliable checkpointing services.
3Reliability
If hardware virtualization platform is used, then checkpointing features are provided, but overhead and management complexity increase
Solution Approach 1:
The patent extracts the checkpointing functionality from the hardware virtualization layer and implements it directly in the operating system kernel. This eliminates the need for an additional virtualization software layer, reducing overhead and management complexity while preserving checkpointing features.
4Reliability
If application state is captured for checkpointing, then fault tolerance is achieved, but memory usage increases
Solution Approach 1:
The kernel-mode checkpointer selectively captures only the essential application state information required for checkpointing, rather than duplicating entire memory spaces. It focuses on capturing critical process states, memory pages, and execution context, thereby achieving fault tolerance with optimized memory consumption.
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.


