Hybrid Kernel-User Checkpointing via Intermediary Interface

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecheckpointing service availabilityVSAvoiddependency on system libraries
Core Design Contradiction:
ReliabilityVSDevice complexity

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If custom operating system is used for checkpointing, then checkpointing functionality can be integrated, but application compatibility decreases and requires customization

Engineering Contradiction:
Improvecheckpointing integrationVSAvoidapplication compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

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

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Inventive Principle:
Principle #1Segmentation

3Reliability

If hardware virtualization platform is used, then checkpointing features can be provided, but overhead increases and deployment complexity changes

Engineering Contradiction:
Improvecheckpointing featuresVSAvoidsoftware layer overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

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

Inventive Principle:
Principle #2Taking out (Extraction)

4Reliability

If application modifications are required for checkpointing, then checkpointing can be implemented, but ease of operation decreases and requires customization

Engineering Contradiction:
Improvecheckpointing implementationVSAvoidapplication transparency
Core Design Contradiction:
ReliabilityVSEase of operation

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

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11573868B1System and method for hybrid kernel- and user-space incremental and full checkpointing
Publication Date: 2023.02.07 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11573868B1 patent drawing
  • US11573868B1 patent drawing
  • US11573868B1 patent drawing

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.