Persistent Reservation Command Filtering in Distributed Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed storage systems using Persistent Reservations face issues with data synchronization between group leaders and backup group leaders, leading to potential 'split-brain' syndrome and data integrity problems due to communication failures, causing incoming commands to be blocked and resulting in data inaccessibility.
Innovation Solution
Implementing a filtering mechanism for Persistent Reservation commands, where commands indicating persistence through power loss are checked for synchronization, and those without this feature are processed regardless of synchronization state, while commands requesting persistence are conditionally processed based on synchronization state, reducing data interruptions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If synchronization checking is performed for all Persistent Reservation commands, then data integrity is improved, but command processing speed deteriorates and data accessibility worsens
Solution Approach 1:
The patent applies different synchronization checking policies to different types of commands based on their persistence requirements. Non-persistent commands (without persistence through power loss indication) are processed without synchronization checking, while persistent commands are checked for synchronization. This local differentiation resolves the contradiction by applying strict integrity checks only where necessary.
Solution Approach 2:
The patent uses the persistence parameter (persistence through power loss indication) as a conditional parameter to change the processing behavior. When this parameter is false, commands are processed immediately without synchronization checks; when true, synchronization checks are performed. This parameter-based conditional processing resolves the speed-integrity tradeoff.
2Reliability
If synchronization checking is performed for all Persistent Reservation commands, then data integrity is improved, but data accessibility deteriorates due to command blocking
Solution Approach 1:
The patent creates different processing paths based on command type: non-persistent commands access storage immediately without synchronization barriers, while persistent commands wait for synchronization. This local quality approach ensures data accessibility for non-critical operations while maintaining integrity for persistent operations.
Solution Approach 2:
By allowing non-persistent commands to proceed without synchronization checks, the system maintains continuous operation for these commands. Only persistent commands are blocked during synchronization issues, ensuring that useful actions continue uninterrupted where possible while maintaining integrity where required.
3Reliability
If full synchronization is required before processing commands, then split-brain syndrome is prevented, but system availability deteriorates
Solution Approach 1:
The patent applies synchronization requirements selectively: non-persistent commands are processed locally without requiring group leader synchronization, preventing split-brain for these operations. Persistent commands do require synchronization to prevent split-brain. This local differentiation maintains availability while preventing split-brain where necessary.
Solution Approach 2:
Instead of requiring full synchronization for all commands (excessive action), the patent applies synchronization only to persistent commands (partial action). This partial approach is sufficient to prevent split-brain syndrome for critical operations while maintaining system availability for non-critical operations.
Data Source
AI summary
Certain examples described herein relate to Persistent Reservation commands in a distributed storage system. In one example, a Persistent Reservation command is received. It is determined whether the Persistent Reservation command indicates persistence through power loss. It is also determined whether a group leader of the distributed storage system is synchronized with a backup group leader. Responsive to the group leader being synchronized with the backup group leader, the command is admitted.


