Decoupled Application-OS Architecture for Fault-Tolerant Computing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In traditional computing systems, the reliability of application programs is heavily dependent on the underlying operating system, leading to increased server crashes and downtime due to high loads, with existing solutions like checkpointing and clustering having performance limitations and hardware configuration requirements.

Innovation Solution

A decoupled application program-operating system computing architecture where an application program on a client machine performs system calls to a server machine's operating system over a high-speed interconnect, allowing for fault-tolerant operation and minimal state information loss, with a client operating system acting as a proxy to manage system calls and restarts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If application programs are hosted on highly utilized server machines, then productivity and service capacity are improved, but reliability deteriorates due to increased probability of server crashes

Engineering Contradiction:
Improveservice capacityVSAvoidserver crash probability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the operating system into multiple virtual machines, allowing application programs to be distributed across multiple isolated OS instances. This segmentation prevents a crash in one OS instance from affecting other applications running in different virtual machine instances, thereby maintaining reliability while preserving productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a virtual machine monitor (VMM) as an intermediary layer between the physical hardware and the operating systems. The VMM manages multiple virtual machine instances and enables seamless migration and recovery, allowing applications to be restored quickly after crashes without directly impacting the underlying hardware or other applications.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If checkpointing is used to restore application state after OS crash, then reliability is improved, but performance deteriorates due to performance penalties

Engineering Contradiction:
Improverecovery capabilityVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary actions by continuously maintaining and syncing state information of virtual machine instances in real-time during normal operation. When a crash occurs, the restored state is already prepared and can be quickly activated without requiring time-consuming checkpoint creation and restoration operations, thus minimizing performance impact.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates and maintains copies of virtual machine state information in memory during normal operation. Upon crash, these pre-existing copies can be immediately restored without requiring time-consuming data reconstruction, enabling fast recovery with minimal performance penalty.

Inventive Principle:
Principle #26Copying

3Reliability

If high availability clusters are used to reduce downtime, then reliability is improved, but device complexity increases due to homogenous hardware configuration requirements

Engineering Contradiction:
Improvedowntime reductionVSAvoidhardware configuration requirement
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates universal virtual machine instances that can run on heterogeneous hardware platforms. The virtualized OS instances are platform-agnostic and can be migrated between different physical hardware configurations, eliminating the need for homogenous hardware clusters while maintaining high availability through rapid failover capabilities.

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

Solution Approach 2:

The patent uses virtual machine copying and migration capabilities to replicate OS instances across heterogeneous hardware. Instead of requiring identical hardware configurations, the system can copy virtual machine states to different physical platforms, reducing hardware complexity requirements while maintaining reliability through rapid restoration.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8621496B2Decoupled application program-operating system computing architecture
Publication Date: 2013.12.31 NETAPP INC
  • US8621496B2 patent drawing
  • US8621496B2 patent drawing
  • US8621496B2 patent drawing

AI summary

A method of application program-operating system decoupling includes performing, through an application program configured to execute on a client machine, a system call to a first operating system executing on a server machine over an interconnect configured to couple the server machine to the client machine. The method also includes serving the application program configured to execute on the client machine through the first operating system executing on the server machine in accordance with the system call.