Parallel Storage Command Error Handling via Node Replication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Remotely accessed storage cluster systems face complexity in handling errors during partially parallel data access operations across geographically dispersed nodes, with client devices lacking the capability to monitor and manage fault tolerance effectively due to unsuitable communication protocols and inflexible operating systems.
Innovation Solution
The system employs a mechanism where active nodes in a storage cluster replicate data access commands and monitor each other's status, allowing an inactive node to take over in case of failure, and communicates status indications to client devices, enabling retry attempts or notification of command failure.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data access commands are partially parallelized across geographically dispersed nodes, then productivity is improved, but device complexity increases
Solution Approach 1:
The system segments data access operations by dividing them into parallel command portions that can be executed independently across multiple geographically dispersed nodes. Each node processes a specific portion of the data access command simultaneously, improving overall productivity while maintaining manageable complexity through clear division of labor.
Solution Approach 2:
The patent introduces intermediary components including a coordinator node that manages parallel operations and error handling mechanisms that mediate between multiple nodes. These intermediaries simplify the complexity by providing centralized control and standardized interfaces, allowing parallel processing without requiring each node to understand the entire system architecture.
2Reliability
If fault tolerance mechanisms are implemented across distributed nodes, then reliability is improved, but ease of operation deteriorates
Solution Approach 1:
The system implements self-service fault tolerance where distributed nodes automatically detect, monitor, and handle errors without requiring client device intervention. Error detection mechanisms operate autonomously at each node, and the coordinator node manages fault recovery processes, shielding client devices from complex fault tolerance operations while maintaining high reliability.
Solution Approach 2:
The patent employs feedback mechanisms where nodes continuously report status information to the coordinator, which then adjusts operations to maintain fault tolerance. This automated feedback loop ensures reliability without requiring client devices to monitor or control fault tolerance parameters, keeping the system easy to operate while maintaining high reliability.
3Reliability
If error handling is implemented in parallel command execution, then reliability is improved, but loss of time increases
Solution Approach 1:
The system performs preliminary error detection by checking command portions at each node before full execution completes. Error detection mechanisms are pre-positioned at each distributed node, allowing immediate identification of failures without waiting for overall command completion. This preliminary detection reduces the time lost to errors while maintaining reliability through continuous monitoring.
Solution Approach 2:
When errors are detected in parallel command execution, the system skips affected command portions and rushes through recovery by redirecting to backup nodes or alternative execution paths. This approach minimizes time loss by not halting the entire parallel execution but instead quickly bypassing failed operations and continuing with remaining valid commands, thereby maintaining both reliability and speed.
Data Source
AI summary
Various embodiments are generally directed to techniques for handling errors affecting the at least partially parallel performance of data access commands between nodes of a storage cluster system. An apparatus may include a processor component of a first node, an access component to perform a command received from a client device via a network to alter client device data stored in a first storage device coupled to the first node, a replication component to transmit a replica of the command to a second node via the network to enable performance of the replica by the second node at least partially in parallel, an error component to retry transmission of the replica based on a failure indicated by the second node and a status component to select a status indication to transmit to the client device based on the indication of failure and results of retrial of transmission of the replica.


