Kernel Checkpointing Service for Transparent Application 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 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

VSEngineering 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

Engineering Contradiction:
Improvecheckpointing functionalityVSAvoiddependency on system libraries
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If custom operating system is used for checkpointing, then checkpointing service is provided, but application customization is required which reduces application availability

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

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.

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

3Reliability

If hardware virtualization platform is used, then checkpointing features are provided, but overhead and management complexity increase

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. This eliminates the need for an additional virtualization software layer, reducing overhead and management complexity while preserving checkpointing features.

Inventive Principle:
Principle #2Taking out (Extraction)

4Reliability

If application state is captured for checkpointing, then fault tolerance is achieved, but memory usage increases

Engineering Contradiction:
Improvefault toleranceVSAvoidmemory consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11625307B1System and method for hybrid kernel- and user-space incremental and full checkpointing
Publication Date: 2023.04.11 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11625307B1 patent drawing
  • US11625307B1 patent drawing
  • US11625307B1 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.