Data Coordinator Invalidation for Distributed Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed systems face challenges in maintaining data consistency due to system failures and the complexity of existing protocols like Two-Phase Commit Protocol, which locks data for extended periods, consumes bandwidth, and is prone to errors.
Innovation Solution
A data coordinator locks a data element, sends an invalidation command to nodes, and updates it only if all nodes acknowledge, ensuring all nodes have the same value by rolling back to the previous value if not all acknowledge, thus maintaining consistency without requiring individual node transactions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the Two-Phase Commit Protocol is used to maintain data consistency, then data consistency is improved, but device complexity increases and lock duration increases
Solution Approach 1:
The patent extracts the coordination logic from individual nodes and concentrates it at a dedicated data coordinator. Each node simply invalidates its local copy upon receiving an update, while the coordinator manages the complex coordination of invalidation commands across all nodes and handles commit/abort decisions centrally.
Solution Approach 2:
The data coordinator acts as an intermediary between update requests and node transactions. It receives update requests, sends invalidation commands to all nodes, waits for acknowledgments, and decides whether to commit or abort based on acknowledgment status, thereby mediating the consistency maintenance process.
2Reliability
If the Two-Phase Commit Protocol is used to maintain data consistency, then data consistency is improved, but loss of time increases due to extended locking
Solution Approach 1:
The patent applies preliminary action by having nodes immediately invalidate their local data copies upon receiving the invalidation command, before the final commit decision is made. This preliminary invalidation ensures that nodes are ready to accept new data without requiring them to wait for the entire two-phase commit process to complete.
Solution Approach 2:
The patent skips the traditional two-phase commit process by directly sending invalidation commands to all nodes and waiting only for their acknowledgments. This rushes through the coordination process by eliminating the need for individual node transactions and log-based undo mechanisms.
3Reliability
If the Two-Phase Commit Protocol is used to maintain data consistency, then data consistency is improved, but loss of energy increases due to continuous coordination messages
Solution Approach 1:
The patent extracts the coordination overhead from continuous two-phase commit messages and concentrates it into a single invalidation command phase. Nodes only communicate with the coordinator during the invalidation acknowledgment phase, eliminating continuous coordination traffic throughout the entire update process.
Solution Approach 2:
The patent uses periodic action by having nodes check for updates only when needed (upon read requests) rather than maintaining continuous communication. The invalidation command is sent once to all nodes, and they periodically refresh their data on demand, reducing overall bandwidth consumption.
4Reliability
If the Two-Phase Commit Protocol is used to maintain data consistency, then data consistency is improved, but ease of operation deteriorates due to error susceptibility
Solution Approach 1:
The patent applies self-service by having nodes automatically invalidate their own local copies upon receiving the invalidation command, without requiring complex transaction logging or manual coordination. The nodes autonomously respond to invalidation commands and manage their own data state, reducing the operational complexity and error susceptibility.
Data Source
AI summary
Updating data in a distributed system, in which a data coordinator receives a proposed change to a data element, locks the data element, and sends an invalidation command to nodes in the distributed system. If all nodes acknowledge the invalidation command, the data coordinator updates the data element locally and unlocks the data element. If not all nodes acknowledge the invalidation command, the data coordinator terminates the proposed change and unlocks the data element. Each node that invalidated the data element requests the data element. The data coordinator returns its current value. If the value is changed, all nodes request and receive the update. If a node did not invalidate, it will not request an update, but the value will not have changed so all requesting nodes receive the previous value. Thus, all nodes have the same value for the data element and consistency is maintained throughout the system.


