The present invention provides a system and method of adjusting a heartbeat
timeout utilized for monitoring a process in a distributed system. The
distributed system includes a plurality of processes monitoring one
another by transmitting messages (i.e., heartbeats) indicative of a
process being operational. A first process monitoring a second process is
operable to receive one or more heartbeats from the second process in the
distributed system. If the first process fails to receive a heartbeat from
the second process prior to an expiration of the heartbeat timeout, the
second process is suspected of failing. If the first process receives a
heartbeat from the second process prior to the expiration of the heartbeat
timeout, the first process recalculates the heartbeat timeout.
Recalculating the heartbeat timeout includes gradually increasing or
decreasing the heartbeat timeout based on a period of time to receive a
heartbeat. Thus, the heartbeat timeout is gradually increased or decreased
based on observed conditions, and transient conditions, which may affect
transmission within the distributed system, may be accounted for prior to
suspecting a process failure.
La présente invention fournit un système et une méthode d'ajuster un arrêt de battement de coeur utilisé pour surveiller un processus dans un système réparti. Le système réparti inclut une pluralité de la surveillance de processus une une autre en transmettant l'indicative de messages (c.-à-d., battements de coeur) d'un processus étant opérationnel. Une première surveillance de processus un deuxième processus est fonctionnelle pour recevoir un ou plusieurs battements de coeur du deuxième processus dans le système réparti. Si le premier processus ne reçoit pas un battement de coeur du deuxième processus avant une expiration de l'arrêt de battement de coeur, on suspecte le deuxième processus d'échouer. Si le premier processus reçoit un battement de coeur du deuxième processus avant l'expiration de l'arrêt de battement de coeur, le premier processus recalcule l'arrêt de battement de coeur. Le recalcul de l'arrêt de battement de coeur inclut graduellement l'augmentation ou diminuer l'arrêt de battement de coeur basé sur une période de recevoir un battement de coeur. Ainsi, l'arrêt de battement de coeur est graduellement augmenté ou diminué basé sur des conditions observées, et des conditions passagères, qui peuvent affecter la transmission dans le système réparti, peuvent être expliquées avant de suspecter un échec de processus.