Kernel-Mode Checkpointing for Transparent Application State Recovery

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 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

VSEngineering 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

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

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

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

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.

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

3Reliability

If hardware virtualization platform is committed to, then checkpointing features can be provided, but memory and hardware requirements increase

Engineering Contradiction:
Improvecheckpointing featuresVSAvoidmemory requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #2Taking out (Extraction)

4Reliability

If application modifications are required for checkpointing, then checkpointing can be implemented, but transparency to applications is lost

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

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10990487B1System and method for hybrid kernel- and user-space incremental and full checkpointing
Publication Date: 2021.04.27 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10990487B1 patent drawing
  • US10990487B1 patent drawing
  • US10990487B1 patent drawing

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.