Shared NVM Pool Failover for High Availability Systems
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If traditional failover mechanisms with dedicated heartbeat signals are used, then process failure detection is improved, but additional failure points are introduced
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.
3Reliability
If standby processes are assigned across multiple computing nodes with shared NVM, then seamless failover is enabled, but memory access complexity increases
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.
Data Source
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.


