Distributed Storage Replication via Partition View Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed storage systems face challenges in ensuring data consistency and performance due to the inefficiencies of the two-phase commit protocol, which results in low availability and fault tolerance.
Innovation Solution
A distributed storage and replication system is introduced, comprising metadata control (MDC) modules, IO routing modules, and object-based storage device (OSD) nodes, where logical partitions are configured, and a partition view is generated to manage data replication, allowing for efficient routing and processing of IO requests, even in the presence of faulty nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If the two-phase commit protocol is used to ensure data consistency, then data consistency is improved, but system performance and availability deteriorate due to excessive interaction rounds and blocking behavior
Solution Approach 1:
The patent segments the centralized coordination function into distributed peer-to-peer interactions. Instead of a single coordinator managing all participants, each node can act as a coordinator for its own data updates, dividing the coordination workload across multiple nodes and eliminating the bottleneck of centralized coordination.
Solution Approach 2:
The patent implements preliminary actions by having nodes pre-establish replication relationships and maintain local state information about other nodes. This allows the system to quickly determine consistency without requiring full coordination rounds, as nodes already have preliminary knowledge of the system state.
2Manufacturing precision
If the two-phase commit protocol is used to ensure data consistency, then data consistency is improved, but fault tolerance and availability worsen due to blocking behavior and timeout failures
Solution Approach 1:
The patent introduces dynamic behavior where nodes can adapt their coordination strategy based on the operational state of other nodes. If a node is unresponsive, the system dynamically adjusts by allowing updates to proceed with available nodes rather than blocking indefinitely, maintaining availability while preserving consistency through eventual coordination.
Solution Approach 2:
The patent uses version vectors as an intermediary mechanism to mediate consistency checks. Instead of direct blocking coordination between nodes, version vectors serve as a mediator that encodes causal relationships and allows nodes to independently determine consistency without blocking, enabling non-blocking fault tolerance.
3Reliability
If data replication is implemented across multiple nodes, then data reliability is improved, but system complexity increases due to partition management and consistency maintenance
Solution Approach 1:
The patent uses version vectors as a lightweight copyable data structure that can be replicated across all nodes without significant overhead. Each node maintains a copy of the version vector state, allowing independent consistency checks without complex centralized management, thus reducing system complexity while maintaining reliability.
4Manufacturing precision
If a centralized coordinator is used to manage replication, then data consistency is improved, but system extensibility and performance deteriorate due to interaction overhead
Solution Approach 1:
The patent segments the centralized coordinator role into distributed node capabilities. Each node can independently perform coordination functions for its own data updates using version vectors, eliminating the single point of coordination and enabling the system to scale horizontally without proportionally increasing coordination overhead, thus improving extensibility.
Data Source
Figure 1
Figure 2A
Figure 2B
AI summary
The present invention discloses a distributed storage and replication system and a method. The system includes at least one metadata control (MDC) module, multiple IO routing modules, and multiple object-based storage device (OSD) nodes, where the MDC module is adapted to configure, for each OSD node, at least one logical partition (partition) corresponding to physical storage resources managed by each OSD node; the IO routing module is adapted to route a received IO request to an OSD node; and the OSD node is adapted to execute, according to the IO request, storage of data corresponding to the IO request, where the MDC determines that an OSD node in the system is a faulty OSD node, determines a partition on the faulty OSD node, updates a partition view of a partition group that includes the partition on the faulty OSD node, and sends an updating notification to a primary OSD node in the updated partition view; and the primary OSD node is adapted to process, according to the updated partition view after receiving the updating notification sent by the MDC module, replication of the data corresponding to the IO request. According to embodiments of the present invention, processing performance, fault tolerance, and availability of consistency replication are improved.