Partition Tolerance in Cluster Object Store Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed storage systems face challenges in managing node failures, which can lead to 'split brain' scenarios where data inconsistencies arise due to partitioning of clusters, resulting in conservative access restrictions that may not be necessary, especially when some data could be safely accessed within a partition.
Innovation Solution
A method that determines the majority of data components for each object within a partition, allowing configuration operations while denying access from other partitions, and permits I/O operations if a quorum of data components is present within a partition, ensuring data integrity and availability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If at most one partition of cluster is allowed to be functional at any point in time, then data consistency is maintained, but data availability decreases as access is disallowed to data that could be safely accessed within a partition
Solution Approach 1:
The patent applies local quality by making access permissions object-specific rather than partition-wide. Each object independently determines whether its data components form a quorum within a partition, allowing some objects to be accessed while others remain restricted. This resolves the contradiction by enabling data availability for safe objects while maintaining data consistency for objects that require full cluster coordination.
Solution Approach 2:
The patent segments the cluster into independent object-level access decisions rather than treating the entire partition as a single unit. By evaluating quorum conditions for each object separately, the system allows different objects to have different access states within the same partition, thereby improving overall data availability while maintaining consistency for critical objects.
2Reliability
If conservative access restrictions are applied to prevent split brain scenarios, then data inconsistency is prevented, but system availability and operational flexibility are reduced
Solution Approach 1:
The patent introduces dynamic access control where partition availability is not fixed but determined in real-time based on quorum conditions for each object. The system continuously evaluates whether a quorum of data components exists within a partition and adjusts access permissions accordingly, allowing the system to adapt to changing cluster conditions while maintaining data consistency.
Solution Approach 2:
The patent changes the parameter of access control from a static binary state (entire partition accessible or entirely restricted) to a dynamic state based on quorum thresholds. By using quorum parameters to determine object-level access, the system achieves both data consistency and access flexibility, allowing partitions to be accessed when sufficient data components are present.
3Reliability
If all nodes in a partition are restricted from accessing data, then data consistency across the entire cluster is maintained, but unnecessary access restrictions reduce system productivity
Solution Approach 1:
The patent applies partial action by allowing access to only those objects within a partition that meet the quorum condition, rather than restricting access to all objects in the partition. This selective approach enables productive access to data that can be safely accessed while maintaining consistency for objects that require full cluster coordination, thereby improving overall system productivity.
Solution Approach 2:
The patent implements local quality by applying different access permissions to different objects within the same partition based on their individual quorum status. Objects with sufficient data components within the partition are accessible, while objects requiring data from multiple partitions remain restricted, optimizing both consistency and productivity at the object level.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Techniques are disclosed for managing a cluster of computing nodes following a division of the cluster into at least a first and second partition, where the cluster aggregates local storage resources of the nodes to provide an object store, and objects stored in the object store are divided into data components stored across the nodes. In accordance with one method, it is determined that a majority of data components comprising a first object are stored within nodes in the first partition. It is determined that a majority of data components comprising a second object are stored within nodes in the second partition. In one aspect, configuration objects are permitted to be performed on the first object in the first partition while denying access to the first object from the second partition, and on the second object in the second partition while denying access to the second object from the first partition. In another aspect, I/O operations are permitted upon determining that that a quorum number of the component objects contain a full copy of the data of the first virtual disk object.