Shared NVM Pool Failover for High Availability Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current High Availability (HA) computer systems face challenges in maintaining continuous operation due to potential hardware or software failures, particularly in systems requiring fault tolerance, as existing failover mechanisms introduce additional failure points and increase complexity through replication and heartbeat signal reliance.

Innovation Solution

A computing system architecture utilizing a shared Non-Volatile Memory (NVM) pool across multiple nodes, where each node has a processing unit and local NVM, allowing for the execution of programs and failover operations by assigning standby processes to take over when the active process fails, with mechanisms to detect failures and reassign execution through a shared memory pool.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional failover mechanisms with replication and heartbeat signals are used, then fault tolerance is improved, but system complexity increases and additional failure points are introduced

Engineering Contradiction:
Improvefault toleranceVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the failover detection mechanism from the traditional heartbeat signal approach and relocates it to the shared NVM pool. By removing the separate heartbeat communication channel and embedding failure detection directly in the memory access operations, the system reduces complexity while maintaining fault tolerance. The shared NVM pool itself becomes the detection medium rather than requiring additional dedicated signaling infrastructure.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent merges the data storage function and the failure detection function into a single shared NVM pool. Instead of having separate components for data replication and separate components for heartbeat signaling, both functions share the same NVM infrastructure. This consolidation eliminates additional failure points while maintaining the ability to detect and respond to process failures.

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If traditional failover mechanisms with dedicated heartbeat signals are used, then process failure detection is improved, but additional failure points are introduced

Engineering Contradiction:
Improvefailure detection capabilityVSAvoidadditional failure points
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent removes the dedicated heartbeat signal communication channel from the system architecture. By extracting this separate signaling mechanism and replacing it with failure detection through shared memory access patterns, the system eliminates the additional failure points associated with dedicated heartbeat communication while preserving the ability to detect process failures.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If standby processes are assigned across multiple computing nodes with shared NVM, then seamless failover is enabled, but memory access complexity increases

Engineering Contradiction:
Improvefailover seamlessnessVSAvoidmemory access complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The shared NVM pool serves multiple functions simultaneously: it provides data storage for active and standby processes, enables failure detection through access pattern monitoring, and facilitates seamless failover by maintaining data accessibility across computing nodes. This multi-functionality reduces the need for separate specialized components while achieving reliable failover.

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

Data Source

PatentUS10467113B2Executing programs through a shared NVM pool
Publication Date: 2019.11.05 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10467113B2 patent drawing
  • US10467113B2 patent drawing
  • US10467113B2 patent drawing

AI summary

An example method for performing failover operations is disclosed. The example disclosed herein comprises assigning an assigned memory region for a first program to store data from the first program, wherein the assigned memory region is a part of a shared NVM pool. The example further comprises executing a plurality of standby processes which are instances from the first program, and distributing the execution of the standby processes across a plurality of computing nodes. The process further comprising electing one standby process as an active process, detecting when the active process stops executing the first program instructions through the shared NVM pool, and reassigning the first program instructions execution to one of the standby processes through the shared NVM pool.