Zero Downtime OS Swap via Custom Init and RAM Disk

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing operating system swapping technologies require downtime as they necessitate stopping running processes and rebooting the system, leading to significant disruptions and inefficiencies.

Innovation Solution

A method that allows for swapping between different userspaces of an operating system without rebooting the kernel, by loading and executing custom init replacements, and utilizing RAM disks to manage the transition, ensuring continuous operation with the same process IDs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional operating system swapping is performed, then the system can be transformed to a new operating system, but running processes must be stopped and system reboot is required, causing downtime

Engineering Contradiction:
Improvesystem continuityVSAvoiddowntime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The operating system is segmented into userspace and kernel components. The invention allows swapping of userspace (including init processes, shell utilities, and servers) while keeping the kernel running, enabling partial system transformation without full reboot. This segmentation resolves the contradiction by allowing OS transformation while maintaining kernel-level process continuity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The new userspace is loaded into memory (specifically into a RAM disk or memory location accessible to the kernel) before the actual swap occurs. The init replacement is installed and prepared in advance, and the system signals the init system to execute the replacement at the appropriate moment. This preliminary loading eliminates the need for external storage access during swap, enabling seamless transition without downtime.

Inventive Principle:
Principle #10Preliminary action

2Ease of manufacture

If running processes are stopped during OS swap, then the swap can be completed, but service availability is lost

Engineering Contradiction:
Improveswap completionVSAvoidservice availability
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

A custom init replacement acts as an intermediary during the userspace swap. The init replacement manages the transition by signaling the init system to execute the new userspace while maintaining process IDs. This intermediary mechanism allows the swap to complete successfully while preserving service availability, as processes continue running with their original PIDs throughout the transition.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If system reboot is performed to complete OS swap, then the swap is finalized, but operational disruptions occur

Engineering Contradiction:
Improveswap finalizationVSAvoidoperational disruptions
Core Design Contradiction:
ReliabilityVSObject-generated harmful factors

Solution Approach 1:

The invention extracts the reboot requirement from the OS swap process by loading the new userspace into memory and using a custom init replacement to manage the transition. The kernel remains running throughout, and only the userspace components are swapped. This extraction eliminates operational disruptions while still achieving complete swap finalization, as the new userspace becomes active without interrupting kernel-level operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10540172B2System, method, and apparatus for zero downtime operating system transformation
Publication Date: 2020.01.21 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10540172B2 patent drawing

AI summary

A method includes performing operations to swap a system from a first userspace to a third userspace. Operations of the method include: operating the system using the first userspace, loading a second userspace into an operating system memory space accessible to a kernel, and installing a custom init replacement. Operations of the method further include signaling an init system to execute the custom init replacement, thereby operating the system using a second userspace, loading the third userspace into a second memory location accessible to the kernel, and signaling the init system to execute the custom init replacement a second time, thereby operating the system using the third userspace.