Process Migration via Kernel State Checkpointing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing technologies face challenges in migrating a running process from a source computer system to a target system during failover operations, particularly due to the lack of operating system support for kernel state migration, leading to temporary service unavailability and long failover times, especially in mission-critical applications.

Innovation Solution

A method and apparatus that generate a checkpoint for the process on the source computer system, including its kernel state, and transfer it to a target system, where the kernel state is loaded into a skeleton process, allowing seamless process migration with the entire user context swapped out to a shared storage device, enabling transparent failover and reducing migration time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional fault-tolerant computer systems restart a data service during failover, then service availability is restored, but service resumption is not transparent to clients and requires reestablishing network connections

Engineering Contradiction:
Improveservice availabilityVSAvoidtransparent service resumption
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent creates a checkpoint (copy) of the process state including kernel state, and transfers this copy to the target system. This allows the target system to resume the process without clients needing to reestablish connections, making failover transparent while maintaining service availability.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs preliminary actions by generating a checkpoint of the process state before failover occurs. This pre-prepared state includes all necessary kernel information, enabling the target system to immediately resume service without requiring connection reestablishment, thus achieving both availability and transparency.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If traditional systems shutdown service on source and start new service on target during failover, then service is restored on target system, but failover time increases due to service shutdown and restart

Engineering Contradiction:
Improveservice restorationVSAvoidfailover time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Instead of shutting down and restarting services, the patent copies the process state (checkpoint) to the target system. This eliminates the time-consuming service shutdown and restart operations while ensuring service restoration, significantly reducing failover time.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs preliminary checkpointing of the process state before failover. This pre-prepared state allows the target system to immediately resume service without waiting for service shutdown and restart, achieving rapid service restoration with minimal time loss.

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If process migration mechanisms migrate process at high level without kernel states, then migration is simpler to implement, but kernel state cannot be transferred and network connections must be reestablished

Engineering Contradiction:
Improvemigration implementationVSAvoidkernel state
Core Design Contradiction:
Ease of manufactureVSLoss of information

Solution Approach 1:

The patent segments the process state into user-level components and kernel-level components. It captures and transfers the kernel state portion (including network connection information) to the target system, preventing information loss while maintaining implementation feasibility through systematic state separation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a universal checkpoint format that can be transferred between different systems. This checkpoint structure accommodates both user-level and kernel-level state information, enabling comprehensive state migration while maintaining ease of implementation through a standardized approach.

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

4Device complexity

If existing UNIX kernels provide no kernel service to generate checkpoint, then operating system remains simple, but fault-tolerant systems cannot migrate running processes efficiently

Engineering Contradiction:
Improveoperating system structureVSAvoidprocess migration efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent introduces a kernel service that performs preliminary checkpointing of process state. This service captures the complete process state (including kernel state) in advance, enabling efficient process migration without requiring complex real-time synchronization mechanisms, thus improving productivity while maintaining reasonable system complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a checkpoint mechanism as an intermediary between the process and the migration system. This intermediary captures and stores the process state, allowing the migration system to transfer processes efficiently without requiring direct complex interactions between systems, balancing productivity improvement with controlled complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7523344B2Method and apparatus for facilitating process migration
Publication Date: 2009.04.21 ORACLE AMERICAN INC
  • US7523344B2 patent drawing
  • US7523344B2 patent drawing
  • US7523344B2 patent drawing

AI summary

A system that migrates a process from a source computer system to a target computer system. During operation, the system generates a checkpoint for the process on the source computer system, wherein the checkpoint includes a kernel state for the process. Next, the system swaps out dirty pages of a user context for the process to a storage device which is accessible by both the source computer system and the target computer system and transfers the checkpoint to the target computer system. The system then loads the kernel state contained in the checkpoint into a skeleton process on the target computer system. Next, the system swaps in portions of the user context for the process from the storage device to the target computer system and resumes execution of the process on the target computer system.