Cluster Application State Snapshot Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-availability computer clusters face significant downtime and data loss when migrating RAM-intensive applications due to the extensive delay required for recalculating lost data upon a computer failure, especially for applications like supply-control-software that perform complex calculations in RAM for extended periods.

Innovation Solution

Creating a snapshot of the application's state in volatile memory and transferring it to storage media, allowing a second instance to initialize from this snapshot rather than initial conditions, thereby minimizing the need for recalculation and reducing downtime by using a transfer processor to expedite the process without halting the application.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the application state is saved to disk using the save function, then data can be recovered after failure, but the calculation delay increases significantly (up to an hour per save operation)

Engineering Contradiction:
Improvedata recovery capabilityVSAvoidcalculation delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system continuously creates snapshots of the application state in volatile memory during normal operation, so that when failure occurs, the most recent state is already prepared and can be immediately transferred to the standby computer without waiting for the application to intentionally save to disk

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of relying on the application's save function to copy data to disk, the system automatically creates a copy of the application state in volatile memory and transfers it to the standby computer's storage, bypassing the need for the application to freeze and save manually

Inventive Principle:
Principle #26Copying

2Measurement precision

If the application is frozen to create a complete state copy in RAM, then the snapshot is accurate, but the application execution is halted during the copying process

Engineering Contradiction:
Improvesnapshot accuracyVSAvoidapplication execution continuity
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system divides the application state into multiple memory sections and copies only the modified sections that need to be included in the snapshot, rather than freezing the entire application state. This allows continuous execution while capturing necessary state information

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system creates snapshots of only the necessary memory sections that contain unmodified data, rather than copying the entire application state. This partial copying approach maintains snapshot accuracy for critical data while minimizing disruption to application execution

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If a complete copy of application data in RAM is made for the snapshot, then the second instance can resume from the exact state, but the time required to create the snapshot increases significantly

Engineering Contradiction:
Improvestate restoration accuracyVSAvoidsnapshot creation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system segments the application memory into sections and identifies which sections need to be copied to the snapshot based on modification status. Only modified sections are copied, reducing the snapshot creation time while maintaining sufficient state information for restoration

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically determines which memory sections need copying based on real-time modification status, allowing the snapshot process to adapt to current application state changes rather than requiring a static complete copy

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7890798B1Computer cluster with second-node instance of application having access to state snapshot of first-node instance of application
Publication Date: 2011.02.15 HEWLETT PACKARD ENTERPRISE DEV LP
  • US7890798B1 patent drawing
  • US7890798B1 patent drawing
  • US7890798B1 patent drawing

AI summary

A computer cluster includes a first computer for running a first instance of an application and a second computer for running a backup instance of the application. The first node provides for creating a snapshot in volatile RAM of a state associated with the application while it is running. Initially, the snapshot can be created in the form of pointers to RAM used by the application so that the snapshot overlaps application data, but sections of the snapshot can be moved in RAM when the application needs to modify a section of its memory. The snapshot can then be transferred to a shared disk. In the event of a failure of the first node, the backup instance can begin processing from the state represented by the snapshot rather than from initial conditions.