基本情報の勉強で一番厄介なのが似たような単語の区別だと思うのですが、
フォールトトレラント、フェールソフト、フールプルーフ…全部「フ~」でマジ無理って思ったので、
備忘録としてまとめます。
(最悪赤太文字だけ見れば区別できるように書いています)
Fの対障害用語
・フォールトトレラント
・フォールトトレランス
・フォールトアボイダンス
・フォールトマスキング
・フェールセーフ
・フェールソフト
・フェールオーバー
・フェールバック
・フォールバック
・フールプルーフ
こんなにあると思いませんでした。
どれもシステムの信頼性に関するもので、「システム障害に対してどんな対策をするか」がポイント。
名前が似てるだけじゃなくて、考え方だったり機能の話だったりするのが紛らわしい。
実際に試験を受けた際の思い出的には、これら全部をしっかりきっちり覚えるよりは他のところを広く勉強した方がいいような気もしますが、
現場の仕様書とか打ち合わせとかでしれっと出てくる度にちょっと焦るので再勉強します
■「フォールト」から始まるもの
フォールト(fault):障害、故障
1. フォールトトレラント(Fault Tolerant)
障害発生時、機能を縮小せずに継続させる設計手法。
広義では「問題発生時の備え」という考え方そのものを指したりもする。
→ 「もしも障害が起こったら」という想定がある。
何かが起こっても今まで通りに稼働させる。誤りに対して寛容。
e.g.
・ハードディスクのRAID
・停電時でも発電機の起動で電力供給を継続するビル
トレラント(tolerant):許容、耐性のある -形容詞
2. フォールトトレランス(Fault Tolerance)
フォールトトレラントと同義。
形容詞か名詞かの違い。
トレランス(tolerance):耐性 -名詞
3. フォールトアボイダンス(Fault Avoidance)
事前対策により、障害を回避する設計手法。
これも考え方や、技術を指したりする。
→ 「そもそも障害が起こらないように」というやり方。
e.g.
・高品質な部品を使う
・故障しにくい設計
・テストの徹底
アボイダンス(avoidance):逃避、回避
4. フォールトマスキング(Fault Masking)
障害時に障害の影響を他に与えないようにするという考え方。
システムの外から見ると故障状態はマスキングされる。
e.g.
・冗長符号によるエラー訂正
マスキング(masking):覆い隠すこと
■「フェール」から始まるもの
・フェール(fail):失敗する
5. フェールセーフ(Fail Safe)
障害発生時、安全を優先してシステムを移行する設計思想。
制御し続けないかぎり作動部は停止方向に動作させるようになっている。
→ 制御部が故障したときの対応
e.g.
・電気ストーブ(倒れたら勝手に消える)
・踏切の遮断機(故障時は重力で下がる=踏切に立ち入れないようにする)
セーフ(safe):安全
6. フェールソフト(Fail Soft)
障害発生時、機能を縮小してでも稼働継続を優先する設計思想。
作動部が一部動作しなくてもなんとか制御続行可能にする。
→ 作動部が故障した時の対応
e.g.
・飛行機のエンジン(片方のエンジンが故障したら、もう片方のエンジンだけで飛べる)
ソフト(soft):柔軟な(?)
→ 「柔軟に対応する」?
7. フェールオーバー(Fail Over)
障害発生時、自動的に予備システムに切り替えること(機能)。
つまり、システムが冗長化されている必要がある。
具体的な機能の話。
フォールトトレラントのような考え方があって、フェールオーバーの仕組みが採用されているという関係性。多分。
e.g.
・記憶装置のミラーリング
☆ 人間が手動で切替え → スイッチオーバー
オーバー(over):超える
→ 「切替により超える」?
8. フェールバック(Fail Back)
フェールオーバーした予備から障害発生前の元の状態に切り戻すこと(機能)。
これも機能の話。
=フェールオーバーとフェールバックはセット
・バック(back):戻る
■「フォール」から始まるもの
・フォール(fall):落ちる、落とす
ひとつだけです。
9. フォールバック(Fall Back)
機能や性能を下げて(制限して)稼働を続けること。
「縮退運転」ともいう。
フェールソフトと似てるが、フェールソフトがフェールの後処理の考え方で、フォールバックはフェールを起こしにくくする為の考え方。
e.g.
・4Gスマホ(基地局が古くて4Gが使えない場所でも3Gで使えるようにする)
・Blu-rayプレイヤー(古いモニターでも映像の解像度を下げて見れるようにする)
■「フール」から始まるもの
・フール(fool):愚かな🤪
ひとつだけです。
10. フールプルーフ(Fool Proof)
ユーザが誤った操作をしても、安全に稼働させる設計思想。
「大抵の人は説明書を読まないので意図しない操作に備えよう」という考え方。
e.g.
・電子レンジ(扉を閉めなければ作動しない)
・トイレのおしり洗浄機(人が座っていないと水は出ない)
プルーフ(proof):耐性、防ぐ
区別のポイント
実際名前だけではなく意味も結構似ているなと感じます。
似てるやつは自分が納得できるポイント大事。
例えば、
フェールセーフ:安全優先
フェールソフト:稼働継続優先(機能縮小あり)
フォールトトレラント:稼働継続優先(機能縮小なし)
また、
フォールトトレラント:**「問題が起きたら」の対策案
フォールトアボイダンス:「問題を起こさないため」**の対策案
(参考:フォールトトレランス (fault tolerance))
↓ あと、これなるほどなって思いました。
「フォールトに備えてたのにフールがフェイルを起こしたのでフォールした」
(参考:フェールソフト/フェールセーフ/・・10つをかんたんに覚える方法)
「**障害(fault)に備えてたのにおばかさん(fool)がやらかした(fail)ので性能を落として稼働を継続(fall)**した」
って感じでしょうか。
おわりに
個人的には「フールプルーフ」っていう名前に技術者側の感情が乗ってて好きです。
ちゃんと説明書読むようにします。
間違い等ありましたらご教示ください。