I/O Shipping for Cluster Application Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed file storage systems, conventional approaches to maintaining connectivity between nodes and data stores can lead to performance degradation and application blackouts due to increased I/O request times and abrupt node shutdowns when connectivity is lost.
Innovation Solution
Implementing I/O shipping to transfer I/O requests from a disconnected node to another node with active connectivity, allowing for graceful shutdown and continuation of application execution on the second node, thereby reducing the need for data and application recovery and minimizing blackout time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If I/O requests are routed through a second node when connectivity is lost, then application execution can continue, but the time needed to satisfy I/O requests increases due to the lengthened path
Solution Approach 1:
The patent introduces a second node as an intermediary to handle I/O requests when the primary node loses connectivity to the data store. The second node receives I/O requests from the application, accesses the data store directly, and returns data to the application. This intermediary approach maintains application execution continuity while accepting the time penalty of the extended I/O path.
2Reliability
If the cluster software panics the node upon connectivity loss, then data integrity is protected, but the application must be recovered causing a blackout period
Solution Approach 1:
The patent implements preliminary action by having the second node assume the I/O role and execute the application in advance before the primary node is fully shut down. This preparation allows for a smoother transition when connectivity is restored, reducing the blackout period while maintaining data integrity through controlled failover procedures.
Solution Approach 2:
The system dynamically adjusts its behavior based on connectivity status. When connectivity is lost, the system transitions from direct node-data store communication to intermediary node communication. When connectivity is restored, the system can transition back to direct communication. This dynamic adaptation allows the system to maintain reliability while minimizing disruption time.
3Loss of time
If the application is gracefully shut down on the first node and executed on the second node, then blackout time is reduced, but the system complexity increases due to node coordination requirements
Solution Approach 1:
The patent implements feedback mechanisms where nodes continuously monitor connectivity status and automatically adjust their roles. The second node detects when the first node loses connectivity, takes over I/O handling, and can return control when connectivity is restored. This feedback-driven automation reduces the perceived complexity by eliminating manual intervention while maintaining sophisticated node coordination.
Data Source
AI summary
When a loss of connectivity between a first node in a cluster of nodes and a data store is detected, an input/output (I/O) request associated with an application that was executing on the first node is shipped to a second node in the cluster that is in communication with the data store. The application can be gracefully shut down on the first node, and the second node can execute the application and satisfy the I/O request.


