[https://en.wikipedia.org/wiki/Bully_algorithm](https://en.wikipedia.org/wiki/Bully_algorithm) - $N$個のプロセス$P_0, P_1, ..., P_{N-1}$が存在 - プロセスID: $id(P_k) = k$ - いずれのプロセスも、コーディネーターがリクエストに応答しなくなったことに気づくと選挙を開始する - $P_k$は、自身より大きな$id$を持つプロセス$P_{k+1}, P_{k+2}, ..., P_{N-1}$にELECTIONメッセージを送信 - 誰も応答しないなら、自身がコーディネーターとなり、VICTORYメッセージを全体に送る - $P_{i>k}$から応答があれば、選挙は$P_i$に引き継がれ、自分の仕事は終わり - 生きている中で最も大きな$id$のプロセスがコーディネーターになる - なんかガキ大将っぽいから、Bullyという名前なんだろうか(kekeho) - [[Safety]]: 障害のない全てのプロセスがプロセス$Q$を選出するか、全く選出しないかどちらか。Bully algorithmはこれを満たす - 複数のプロセスがコーディネータになっていると仮定したら、それぞれがVICTORYメッセージを送っているはずだが、それ以前に上位者にELECTIONを送っているはずだから - [[Liveness]]: [[同期システム]]、[[Crash-recovery model]]の元で、Livenessも保証される