こんにちは、みっちゃんです。

今回の記事では「機械が故障した時」の対応を考える「フォールトトレランス」について紹介したいと思います。

目次(まとめ)
- 故障した時の対策をはかる「フォールトトレランス」
- 安全性を優先する「フェールセーフ」と継続性を優先する「フェールソフト」
- 故障しないように対策をはかる「フォールトアボイダンス」
- 参考文献

故障した時の対策をはかる「フォールトトレランス」

人間が風邪を引くように、機械が故障することは避けられません。

手洗い・うがいなどを徹底しても風邪を引いてしまうように、機械が故障しないようにする対策には限界があります。

そこで「故障した時にどうしたらいいのか」と対策をはかる「フォールトトレランス」という考え方があります。


【フォールトトレランス(fault tolerance)】
故障が発生した場合でも、機能を縮退させることなく稼働を継続する概念


フォールトトレランスを実現するための方法として、以下のようなものが知られています。

- フェールセーフ(fail safe)
- フェールソフト(fail soft)
- フールプルーフ(fool proof)

それぞれ次のセクションで紹介します。

安全性を優先する「フェールセーフ」と継続性を優先する「フェールソフト」

【フェールセーフ】
故障が生じてもシステムに重大な影響が出ないように、あらかじめ定められた安全状態にシステムを固定し、全体として安全が維持されるような設計方法

例えば、ストーブがついたまま倒れたら、火事という「重大な影響」が起こります。

これに対処するため、倒れるという「故障」が生じた場合には、電源オフという「あらかじめ定められた安全状態」にして、火事が起こらないようにします。


【フェールソフト】
故障が発生した場合に、一部機能を切り離すなどして、動作を継続するような設計方法

例えば、コンピュータで作業中に、急に停電が起こったとします。

停電の影響で手元のデータがなくならないように、一時的にバッテリー動作に移行して、動作を継続するようにします。


また「フールプルーフ」は「人のミス」に対処する方法です。

【フールプルーフ】
ユーザの誤操作によってシステムがダウンしてしまうことがないように、単純なミスを発生させないようにする設計方法

故障しないように対策をはかる「フォールトアボイダンス」

「フォールトトレランス」とは逆の考え方に「フォールトアボイダンス」があります。


【フォールトアボイダンス(fault avoidance)】
システム構成要素の1つ1つの品質を高めて故障が発生しないようにする概念

実際には故障が発生するものなので、稼働率ができるだけ高いものを採用して、システムを構成していくことになります。


ややこしい用語が多いのですが、情報処理試験の受験の際には覚えておきましょう。

参考文献

きたみりゅうじ「キタミ式イラストIT塾 応用情報技術者」技術評論社