The present invention provides a system and method of detecting a process
failure and a network failure in a distributed system. The distributed
system includes a plurality of processes, each executing on a host,
operable to transmit messages (i.e., heartbeats) to each other on a
network. A process in the system is operable to execute a process failure
algorithm for detecting failure of a process in the system. The process
failure algorithm includes calculating a difference in the period of time
to receive a heartbeat from a first processes and a period of time to
receive a heartbeat from a second process in the system. If the difference
exceeds a process failure threshold, the second process is suspected of
failing. A process in the system is also operable to execute a network
failure algorithm for detecting failure of a network connecting a
plurality of hosts in the system. The network failure algorithm includes
detecting receipt of a heartbeat from any one of a plurality of processes
in the system within a network failure time limit. If a heartbeat is not
received prior to the expiration of the network failure time limit, the
network in the system is suspected of failing.
De onderhavige uitvinding verstrekt een systeem en een methode om een procesmislukking en een netwerkmislukking in een gedistribueerd systeem te ontdekken. Het gedistribueerde systeem omvat een meerderheid van processen, elk die op een opereerbare gastheer uitvoert, berichten (d.w.z., hartslagen) aan elkaar op een netwerk over te brengen. Een proces in het systeem is opereerbaar om een algoritme uit te voeren van de procesmislukking om mislukking van een proces in het systeem te ontdekken. Het algoritme van de procesmislukking omvat het berekenen van een verschil in de periode van tijd om een hartslag van te ontvangen eerste processen en een tijdspanne om een hartslag van een tweede proces in het systeem te ontvangen. Als het verschil een drempel van de procesmislukking overschrijdt, wordt het tweede proces verdacht van tekortkoming. Een proces in het systeem is ook opereerbaar om een algoritme uit te voeren van de netwerkmislukking om mislukking van een netwerk te ontdekken dat een meerderheid van gastheren in het systeem verbindt. Het algoritme van de netwerkmislukking omvat het ontdekken van ontvangstbewijs van een hartslag van om het even wie van een meerderheid van processen in het systeem binnen een tijdslimiet van de netwerkmislukking. Als een hartslag niet voorafgaand aan de afloop van de tijdslimiet van de netwerkmislukking wordt ontvangen, wordt het netwerk in het systeem verdacht van tekortkoming.