RDMA Failover Virtual Layer for Non-Disruptive Connection Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
RDMA connections in computer systems are disrupted by errors, leading to downtime and unsynchronized data, especially in cluster storage environments where high availability is crucial.
Innovation Solution
A failover virtual layer is introduced that creates virtual and physical queue structures, allowing for non-disruptive failover by masking errors from upper subsystems, enabling continuous data transfer and synchronization between nodes without reestablishing connections.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If error handling follows traditional RDMA protocols, then errors are detected and handled, but the RDMA connection is disrupted and requires reestablishment
Solution Approach 1:
The patent introduces a virtualization layer as an intermediary between the upper subsystem and the physical RDMA queue structures. This virtual layer abstracts the error handling process, allowing errors to be managed at the virtualization level without propagating disruptions to the upper subsystem. The virtual queue structures act as a buffer that decouples the error-prone physical layer from the connection-critical upper layer, enabling error recovery while maintaining connection continuity.
Solution Approach 2:
The patent segments the RDMA connection management into multiple independent virtual queue structures that can be individually managed. When an error occurs in one physical queue, only the affected virtual queue is impacted, while other virtual queues continue to operate. This segmentation allows selective failure isolation and enables the system to maintain operational connections even when some queue structures experience errors.
2Reliability
If queue structures are recreated after errors, then new connections are established, but application operations are disrupted
Solution Approach 1:
The patent creates virtual queue structures that are logical copies or abstractions of the physical queue structures. These virtual queues can be rapidly recreated or switched without affecting the upper subsystem, as the virtualization layer absorbs the recreation process. When physical queues fail, the system can switch to alternative virtual queue configurations or recreate virtual queues without interrupting application operations, thereby maintaining productivity during error recovery.
Solution Approach 2:
The patent establishes multiple virtual queue structures in advance before errors occur. These pre-configured virtual queues are ready to be activated immediately when errors are detected, eliminating the need for time-consuming connection reestablishment. The preliminary setup of virtual queue structures enables rapid failover and maintains application operation continuity during error recovery scenarios.
3Loss of information
If errors are communicated to upper subsystem, then error status is known, but requests must be stopped until new QS is created
Solution Approach 1:
The virtualization layer serves as an intermediary that filters and manages error status communication to the upper subsystem. Instead of directly communicating raw errors that would force request cessation, the virtual layer translates errors into manageable status information and handles recovery transparently. This allows the upper subsystem to remain aware of error conditions through controlled status reporting while continuing to post requests without interruption, as the virtual layer manages the actual error recovery process.
Data Source
AI summary
A novel RDMA connection failover technique that minimizes disruption to upper subsystem modules (executed on a computer node), which create requests for data transfer. A new failover virtual layer performs failover of an RDMA connection in error so that the upper subsystem that created a request does not have knowledge of an error (which is recoverable in software and hardware), or of a failure on the RDMA connection due to the error. Since the upper subsystem does not have knowledge of a failure on the RDMA connection or of a performed failover of the RDMA connection, the upper subsystem continues providing requests to the failover virtual layer without interruption, thereby minimizing downtime of the data transfer activity.


