Fault-Tolerant Computer System Quorum Mechanism
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Fault-tolerant systems using replication-in-space techniques face the challenge of avoiding split-brain operations, where geographically separated computers may produce divergent databases due to uncoordinated operation after a failure, leading to reconciliation issues when communications are restored.
Innovation Solution
A fault-tolerant computer system with multiple servers and a quorum computer that determines which server continues to perform operations based on communication status, using a token mechanism to ensure only one server operates independently, thereby preventing split-brain scenarios.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If servers are geographically separated to achieve disaster tolerance, then system reliability is improved, but the risk of split-brain operation increases
Solution Approach 1:
A quorum computer is introduced as an intermediary between the geographically separated servers. The quorum computer receives heartbeats from both servers and determines which server should continue operating based on communication status. This mediator prevents split-brain by ensuring only one server operates independently when communication is lost, while maintaining the geographic separation needed for disaster tolerance.
2Reliability
If a quorum computer is added to prevent split-brain, then system control is improved, but device complexity increases
Solution Approach 1:
The quorum computer operates autonomously using a predefined algorithm to determine which server should continue operating. It receives heartbeats from servers, applies the quorum rule (server with heartbeat from the other server must stop), and notifies the appropriate server to continue. This self-service approach minimizes human intervention and reduces operational complexity despite adding a system component.
Data Source
AI summary
A fault-tolerant computer system includes at least two servers, each of which is configured to perform a first set of operations. Each of the two servers communicate with a computer that does not perform the first set of operations. In the event of a failure of a component of the system, determining which of the servers will continue to perform the first set of operations based on communication with the computer.


