ハートビート 【heartbeat】
概要
ハートビート(heartbeat)とは、心臓の鼓動、拍動、心拍という意味の英単語で、IT分野では、ネットワーク上で機器が外部に一定間隔で発する、自らが正常に動作していることを知らせる信号やデータをこのように呼ぶ。外部から機器が正常に動作しているか常に調べ続ける「死活監視」の手法の一つで、監視対象の機器にあらかじめ決まった周期で短いデータを送るよう設定しておき、監視側ではこれが途切れること無く着信しているかどうかを確認する。
一定時間着信が途絶えると、相手側に何らかの不具合が生じたと判断し、管理者への通知や待機系への切り替えなど、事前に準備された対応を実行する。監視する側と監視される側が固定されている場合と、対等な関係の機器同士が相互に互いを監視しあう場合がある。
この仕組みは様々な分野で用いられるが、特に、複数のコンピュータを束ねて外部から一台のように振る舞わせる「クラスタリング」(clustering)において、参加するコンピュータ(ノード)間でお互いが正常に動作しているか監視する機構としてよく用いられる。
セッション維持のためのハートビート
通信プロトコルや通信ソフトなどの場合、死活監視のためだけでなく、通信を確立した相手方とのセッションや接続が途切れることを防ぐため、一定間隔で短いデータを送信し続けることがある。これをハートビートと呼び、伝送するデータの内容自体には意味がない。
サーバやネットワーク境界の中継機器の中には、一定時間通信が行われないと自動的に回線を切断したり、セッションを終了させたりするものがある。これを防ぐため、人間が何も操作しなくても接続を維持できるように自動的に送出される無意味なデータをハートビートという。この方法で接続維持を維持する仕組みを「キープアライブ」(keepalive)という。
(2024.4.1更新)