🌌
分散処理を勉強した記録~その4~
この記事は、
「分散処理システム」著:真鍋義文 森北出版株式会社
を参考にしています。
今回は、「トークンリングネットワークの故障検出」についてまとめました。
<トークンリングネットワークとは>
リング状にプロセスが接続されているネットワークがあります。
そのネットワーク上に「トークン」が1つだけ流れています。
このトークンを使って通信するのが「トークンリングネットワーク」です。
トークンには通信可能を示す「フリー」状態と、
通信中を示す「ビジー」状態があります。
ここで、プロセス2がプロセス3へメッセージを送信する仕組みを紹介します。
プロセス2はフリー状態のトークンを捕まえて、メッセージを載せます。
トークンはメッセージを任されたので、お役目から解放されるまで「ビジー」になります。
プロセス3にトークンが到着するまで、トークンはネットワークを流れ続けます。
プロセス3はトークンを受信したら、受信フラグを設定します。
プロセス2は受信フラグを確認したら、トークンを「フリー」状態に戻します。
<故障の検出>
ここで、トークンリングネットワークが正常に動作している状態を定義します。
トークンリングネットワークは、トークンが動作の要となっています。
トークンが存在しない、もしくはトークンが複数存在すると、予期しない動作をする可能性があります。
よって、
「トークンリングネットワークが正しく動作している」ということは、
「トークンが1つしか存在しない」ことと同じ意味とします。
前回紹介した「分散スナップショット」を使えば、
システム全体のトークンの数が分かるので、
トークンの数が「1」以外の場合は「故障」していると言えます。
今回はここまでです。ありがとうございました。
Discussion