| Heartbeat failure detector (HB) can be used to solve quiescent reliable communication problems in asynchronous message-passing systems with process and link failures. Unlike traditional failure detectors which use timeouts, HB does not use timeouts, but use counters.Atomic Commitment (AC) problem requires the participants to agree on an outcome for the transaction: commit or abort. In real-world we commonly use Non-blocking Atomic Commitment (NB-AC), which requires that every correct participant eventually reach an outcome despite the failure of other participants. But R.Guerraoui had proved that when failure occurs, it is impossible to solve NB-AC with unreliable failure detectors. The difficulty in solving NB-AC is that its Non-triviality requires precise knowledge about failures, but unreliable failure detectors cannot provide it, because they may provide error messages. Nevertheless, with a weaker non-triviality, we define a problem weaker than NB-AC, called NB-WAC, which is solvable with unreliable failure detectors, and in fact it is adequate in real-world transactional systems.Up to now, the best way to solve NB-WAC is using traditional unreliable failure detectors, in synchronous systems or in asynchronous systems with process failures but reliable links, and, the algorithms are not quiescent.In asynchronous systems with process and link failures, we use HB to get quiescent solutions for NB-WAC in general and partitionable networks. To do so, first, we extend the definition of HB, then we use it to implement quiescent reliable communication, and then we use quiescent reliable communication to solve uniform consensus problem. Finally, we reduce the NB-WAC problem to uniform consensus problem and finish. |