Kernel Checkpointing via Character Device for Commodity Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing checkpointing technologies require extensive user-space components, custom operating systems, or hardware virtualization, making them complex, costly, and dependent on system libraries, which limits their applicability to commodity operating systems and hardware.
Innovation Solution
A kernel-based checkpointing service is provided as a Loadable Kernel Module (LKM) that operates transparently, capturing and restoring the state of applications without requiring application customizations or hardware virtualization, using interceptors and a resource virtualization layer to manage application state across commodity operating systems and hardware.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If user-space checkpointing components are used, then checkpointing functionality is provided, but system complexity and dependency on system libraries increase
Solution Approach 1:
The patent introduces a character device as an intermediary interface between user-space applications and kernel-space checkpointing functionality. This allows applications to interact with the checkpointing system through standard file I/O operations, eliminating the need for complex user-space checkpointing components while maintaining reliability.
Solution Approach 2:
The patent replaces the mechanical system of user-space checkpointing components with a kernel-space implementation. By moving the checkpointing functionality into the kernel, the system eliminates dependency on system libraries and reduces overall system complexity while maintaining the checkpointing functionality.
2Reliability
If custom operating systems are used for checkpointing, then checkpointing is provided, but adaptability to commodity operating systems is reduced
Solution Approach 1:
The patent implements a universal checkpointing interface through the character device that can be used across different operating systems. The kernel module provides checkpointing functionality that works with standard file I/O operations, making it adaptable to commodity operating systems without requiring custom operating system modifications.
3Reliability
If hardware virtualization is used, then checkpointing and migration are enabled, but hardware requirements and costs increase
Solution Approach 1:
The patent extracts the checkpointing functionality from hardware virtualization dependencies and implements it directly in the kernel. This allows fault tolerance and application migration to be achieved through software-based checkpointing without requiring hardware virtualization, thereby reducing hardware requirements and costs while maintaining reliability.
4Manufacturing precision
If application modifications are made for checkpointing, then checkpointing precision is improved, but ease of operation is reduced
Solution Approach 1:
The patent implements self-service checkpointing where the kernel automatically captures and manages application state without requiring application modifications. The character device interface allows applications to request checkpointing through standard operations, and the kernel handles the precise state capture automatically, maintaining both checkpointing precision and ease of operation.
Data Source
AI summary
A system, method, and computer readable medium for hybrid kernel-mode and user-mode checkpointing of multi-process applications using a character device. The computer readable medium includes computer-executable instructions for execution by a processing system. A multi-process application 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 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 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.


