OS Service Checkpointing via Kernel Handles

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Operating systems face data loss and system instability when services crash, requiring a mechanism to recover crashed services without restarting the entire system.

Innovation Solution

The operating system establishes a contract with the microkernel using an API to checkpoint the state of each service, allowing for the recovery of crashed services by transferring handles to newly started services, enabling the restoration of pre-crash states without restarting the system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the operating system restarts a crashed service without checkpointing its state, then the service can be restarted quickly, but the service loses its pre-crash state and data

Engineering Contradiction:
Improveservice state recoveryVSAvoidservice restart time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary checkpointing of service states before crashes occur. The microkernel automatically checkpoints the state of crashed services into durable storage before restart, so that when services are restarted, their pre-crash state is already prepared and can be restored immediately, eliminating both data loss and restart delays

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a handle as an intermediary mechanism between the microkernel and services. The handle references the checkpointed service state in durable storage, allowing the microkernel to efficiently transfer state restoration capabilities to restarted services without direct access to the underlying storage, thus enabling fast state recovery while maintaining system architecture integrity

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the operating system checkpoints the state of every service, then crashed services can be recovered with their pre-crash state, but the system complexity increases

Engineering Contradiction:
Improveservice state recoveryVSAvoidsystem architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the state management functionality by isolating checkpoint operations within the microkernel. Each service's state is independently checkpointed and managed through separate handles, allowing the complex checkpointing mechanism to be modularized and integrated into the existing microkernel architecture without requiring fundamental system redesign

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements self-service checkpointing where the microkernel automatically manages service state checkpointing without requiring explicit service implementation. Services simply receive handles to their checkpointed states, and the microkernel handles all checkpointing, storage, and restoration operations autonomously, reducing the burden on service developers while maintaining high reliability

Inventive Principle:
Principle #25Self-service

3Reliability

If the operating system isolates service pages from each other, then the chance of corrupting service state decreases, but the memory management complexity increases

Engineering Contradiction:
Improveservice state protectionVSAvoidmemory management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments service memory pages into isolated regions, with each service receiving dedicated pages for its state. This segmentation prevents one service from accessing or corrupting another service's state, while the microkernel manages the allocation and isolation of these pages through a systematic approach that integrates with existing memory management structures

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by providing each service with specialized memory pages tailored to its specific state requirements. The microkernel assigns and manages memory pages locally for each service based on its checkpointed state size and type, optimizing memory usage for each service while maintaining overall system memory management through centralized microkernel control

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11366720B2Building a resilient operating system based on durable services with kernel support
Publication Date: 2022.06.21 META PLATFORMS TECHNOLOGIES LLC
  • US11366720B2 patent drawing
  • US11366720B2 patent drawing
  • US11366720B2 patent drawing

AI summary

In one embodiment, a method includes generating a handle that references a checkpoint for a service, sending the handle to the service, wherein the handle is configured to be used by the service to store one or more states of the service in the checkpoint, determining that the service needs to be restarted, restarting the service, accessing the handle for the checkpoint, and sending the handle for the checkpoint to the restarted service, wherein the handle for the checkpoint is configured to be used by the restarted service to restore the one or more states.