Storage Cluster Command Coordination for Parallel Execution and Cancellation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Client devices are not configured to monitor or control the complex architectures of remotely accessed storage cluster systems, leading to inefficiencies in handling fault tolerance and delays in data retrieval due to complex communications protocols and operating systems.
Innovation Solution
A storage cluster system is structured into high availability groups with active and inactive nodes, forming a mesh of communications sessions to enable parallel performance and cancellation of data access commands, using metadata duplication for quick reestablishment of sessions post-reboot and employing sequence and set identifiers for efficient command management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple geographically dispersed nodes are used to perform storage tasks in a fault-tolerant manner, then reliability is improved, but device complexity increases due to the need for coordinated error handling and data synchronization
Solution Approach 1:
The system divides the storage cluster into multiple high availability groups, each containing a primary node and secondary nodes. This segmentation allows independent fault tolerance within each group while reducing overall system coordination complexity through modular organization of nodes and their responsibilities
Solution Approach 2:
The patent introduces a coordinator node that acts as an intermediary to manage and coordinate error handling across geographically dispersed nodes. This intermediary centralizes the complexity of coordinating parallel performance and cancellation of commands, allowing individual nodes to execute tasks independently while maintaining system-wide consistency through the coordinator's oversight
2Productivity
If active nodes communicate through sessions to synchronize commands, then coordination efficiency is improved, but communication overhead increases due to the need for maintaining multiple communication sessions
Solution Approach 1:
The patent merges multiple communication sessions into a single coordinated communication channel through the coordinator node. Instead of maintaining separate communication sessions between each pair of active nodes, the coordinator consolidates communication, reducing the quantity of communication overhead while maintaining coordination efficiency through centralized message routing and synchronization
3Reliability
If inactive nodes are kept ready to take over in case of errors, then reliability is improved, but loss of time occurs during the reestablishment of communications sessions after node failure
Solution Approach 1:
The patent implements preliminary action by pre-configuring inactive secondary nodes with all necessary communication session information and credentials before failures occur. When a primary node fails, the designated secondary node can immediately take over and reestablish communications sessions without time-consuming setup procedures, as all configuration information was prepared in advance
Solution Approach 2:
The system creates copies of communication session information and node configuration data across multiple nodes, particularly from primary to secondary nodes. This copying ensures that when a node failure occurs, the standby node already possesses the necessary information to immediately assume the failed node's responsibilities without delays associated with information retrieval or session reestablishment
Data Source
AI summary
Various embodiments are directed to techniques for coordinating at least partially parallel performance and cancellation of data access commands between nodes of a storage cluster system. An apparatus may include a processor component of a first node coupled to a first storage device storing client device data; an access component to perform replica data access commands of replica command sets on the client device data, each replica command set assigned a set ID; a communications component to analyze a set ID included in a network packet to determine whether a portion of a replica command set in the network packet is redundant, and to reassemble the replica command set from the portion based if the portion is not redundant; and an ordering component to provide the communications component with set IDs of replica command sets of which the access component has fully performed the set of replica data access commands.


