Kernel Checkpointing via Character Device for Commodity Systems

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

VSEngineering Contradiction Analysis

1Reliability

If user-space checkpointing components are used, then checkpointing functionality is provided, but system complexity and dependency on system libraries increase

Engineering Contradiction:
Improvecheckpointing functionalityVSAvoidsystem complexity
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 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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

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

2Reliability

If custom operating systems are used for checkpointing, then checkpointing is provided, but adaptability to commodity operating systems is reduced

Engineering Contradiction:
Improvecheckpointing serviceVSAvoidoperating system compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

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.

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

3Reliability

If hardware virtualization is used, then checkpointing and migration are enabled, but hardware requirements and costs increase

Engineering Contradiction:
Improvefault toleranceVSAvoidhardware 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 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.

Inventive Principle:
Principle #2Taking out (Extraction)

4Manufacturing precision

If application modifications are made for checkpointing, then checkpointing precision is improved, but ease of operation is reduced

Engineering Contradiction:
Improvecheckpointing precisionVSAvoidapplication transparency
Core Design Contradiction:
Manufacturing precisionVSEase of operation

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11698839B1System and method for hybrid kernel and user-space checkpointing using a character device
Publication Date: 2023.07.11 PHILIPS NORTH AMERICA LLC
  • US11698839B1 patent drawing
  • US11698839B1 patent drawing
  • US11698839B1 patent drawing

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.