プロセスのOmission fault

  • プロセスがメッセージの送受信に失敗する

ネットワークのOmission fault

  • 通信リンクがメッセージを消失する

定理: Omissionに耐え、両プロセスが停止する決定性送信アルゴリズムは存在しない(Two generals problem, Coordinated attack problem)

  • プロセスからプロセスへ、リンクを介してメッセージを送信することを考える
  • は脱落故障を起こしメッセージが消失する可能性がある
  • はメッセージを繰り返しに送信することでOmission failureに耐えようとするが、いかなる時間上限を設定したとしても(=Partially synchronous system, Synchronous System?)全ての送信が失敗する可能性があるので、永遠に送り続ける必要がある
  • はメッセージを受診したら返信を返すことで、Pの送信をやめさせようとする
  • も繰り返し送り続ける必要がある…(Pが更に返答を返し、Qが更に返答を返し…無限ループ)
  • 背理法: いつか解消されると仮定し最後に必要となるメッセージをとする。はある回数だけを送信した後、終了する。送信された全てのが消失する可能性があるから、結局Qは を受診しなくとも終了できることになる。すなはち、最後のメッセージは不必要であることになり、矛盾が導かれる

参考