System and method for hybrid kernel and user-space checkpointing using a character device

Inventors

Havemose, Allan

Assignees

Philips North America LLC

Interested in licensing this patent?

MTEC can help explore whether this patent might be available for licensing for your application.

Publication Number

US-11698839-B1

Patent

Publication Date

2023-07-11

Expiration Date


Abstract

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.

Core Innovation

The document describes a hybrid kernel-mode and user-space checkpointing system for transparent multi-process application state capture and restoration on a host with a host operating system. A kernel-mode checkpointer creates one or more checkpoints related to one or more applications, while a user-space interceptor layer provides checkpoint/restore integration. The system targets deterministic multi-process checkpointing without application modification by coordinating execution of one or more applications so that consistent state is captured across processes.

To coordinate checkpoint creation, the system uses a barrier synchronization scheme that deterministically halts processes at a synchronization point and then releases them after checkpoint data has been collected. Checkpoint data collection includes reading per-process memory pages through a character-device interface using a read operation that includes memory pages used by the applications. The checkpoint content further includes global OS state, a process hierarchy and shared data, and per-process page-set data, including page counts and page-number presence, so the application and process state can be recreated on restore.

During checkpointing, additional virtualization mappings are stored in an Application Virtualization Space to restore kernel-visible constructs such as PIDs, file metadata, and related namespaces. Restoration recreates processes per hierarchy, overlays checkpointed memory pages, remaps Application Virtualization Space resources to the new host, reinstalls interceptors, and resumes execution. The architecture supports primary/backup concepts and includes discussion of live migration and fault recovery scenarios, with device-driver and VFS integration concepts for access to the checkpointing interface.

Claims Coverage

The partial claim set includes four independent claims. Across these independent claims, the inventive coverage focuses on a checkpointer that captures application memory pages via a read function, implemented and accessed via a character device, and on checkpoint coordination via a synchronization point, together with pointer-forwarding behavior after read and, in some dependent claim coverage, inclusion of Application Virtualization Space mappings.

Read function to include application memory pages

A checkpointer configured to create one or more checkpoints related to one or more applications, wherein the checkpointer comprises instructions for said CPUs for a read function to include memory pages used by said one or more applications.

Forward a device pointer to a next page after a read

A checkpointer device configured to create one or more checkpoints related to one or more applications, wherein said checkpointer device comprises instructions for said CPUs to forward a device pointer to a next page after a read.

Character device read includes application memory pages

A checkpointer device configured to create one or more checkpoints related to one or more applications, wherein said checkpointer device is a character device, wherein said checkpointer character device comprises instructions for said CPUs for a read function to include memory pages used by said one or more applications.

Pause execution at a synchronization point

CPUs configured to execute said one or more applications on a host with a host operating system and trigger said one or more applications to pause execution at a synchronization point for the execution of said one or more applications, wherein said checkpointer character device comprises instructions for said CPUs to forward a device pointer to a next page after a read.

Across the independent claims provided, the main inventive themes are deterministic multi-process checkpointing centered on a checkpointer that creates checkpoints by reading application memory pages, using a character device interface and, in some embodiments, forwarding the device pointer to a next page after each read. One independent claim additionally recites pausing application execution at a synchronization point as part of the checkpointing execution coordination.

Stated Advantages

Not explicitly described in patent.

Documented Applications

Not explicitly described in patent.

JOIN OUR MAILING LIST

Stay Connected with MTEC

Keep up with active and upcoming solicitations, MTEC news and other valuable information.