この記事では、システムの信頼性設計について、初心者にも分かりやすく、図解付きで丁寧に解説しています!
フォールトトレランス
- フォールトトレランスは、障害が発生しても大丈夫なようにする設計
- フェールソフトは、稼働を重視したフォールトトレランスの1つで、障害が発生した箇所を切り離して縮小稼働する設計
- フェールセーフは、安全を重視したフォールトトレランスの1つで、障害が発生した時に安全な状態に移行する設計
- フォールトマスキングは、いつも通りを重視したフォールトトレランスの1つで、障害が発生しても外部に影響を及ぼさないようにシステムを二重で稼働させるような設計
- フールプルーフは、利用者に誤操作をさせない設計、もしくは誤操作しても問題を発生させない設計
フォールトアボイダンス
- フォールトアボイダンスは、障害が発生しないようにする設計
フォールトトレランス
絶対に故障しないシステムがあれば最高ですが、残念なことにシステムは故障してしまうものです。とは言え、例えば、飛行機を構成する何百とある機械の内の1つが壊れたからと言って、墜落してしまうようなことがあると大問題です。なので、システムが故障しても、ある程度は大丈夫なように設計しよう、という考え方が重要になります。このような考え方をフォールトトレランスと呼びます。
フォールトトレランスを実現する方法には次のようなものがあります。
フェールソフト
フェールソフトとは、障害が発生した時に故障した箇所を切り離すなどして、システム全体を止めずに稼働し続けるようにする設計です。フェールソフトは「稼働重視」です。フェールには「故障」、ソフトには「柔軟」という意味があります。故障しても柔軟に稼働し続けるということですね。
例えば、飛行機はエンジンを複数搭載しており、1つが故障しても飛び続けることが出来ます。飛行機は飛び続けないと大事故に繋がるのでフェールソフトに基づく設計がされています。
フェールセーフ
フェールセーフとは、障害が発生した時、周りに危険が及ばないように安全な状態へ移行させるような設計です。フェールセーフは「安全重視」です。フェールには「故障」、セーフには「安全」という意味があります。故障しても安全ということですね。
例えば、ガスコンロは地震が発生した時に勝手に火が消えます。また、電車はブレーキが故障した時に非常ブレーキが作動して停止します。障害が発生した時に安全な状態へ移行するのがフェールセーフです。
フールプルーフ
フールプルーフとは、人間が誤った使い方をしても危険が生じないようにする、もしくは、そもそも誤った使い方を出来ないようにすることです。フールには「愚か者」、プルーフには「防ぐ」という意味があります。愚か者がシステムを触っても問題が発生しないようにするってことですね。
例えば、洗濯機は蓋が閉まっていないと動きません。洗濯機の蓋が開いた状態で洗濯できると、子供が中に入って大事故になります。なので、そもそもそんなことが発生しないようにしているという訳です。
フォールトマスキング
フォールトマスキングとは、障害が発生しても、外部に影響を与えないようにする設計です。フォールトマスキングは「いつも通り重視」です。フォールトには「失敗」、マスキングには「隠す」という意味があります。障害が発生してもバレない様に稼働するということですね。
例えば、銀行では全く同じシステムが常に2つ動いており、1つに障害が発生しても問題なく稼働し続けることが出来ます。システムを完全に動かし続ける必要があるシステムにフォールトマスキングが適用されます。
フォールトアボイダンス
フォールトトレランスはシステムが故障しても大丈夫なように設計する考え方でしたが、フォールトアボイダンスは故障そのものを防ぐような考え方です。
応用情報技術者試験での出題例
令和6年度春期問12、令和4年度秋期問13
応用情報技術者
午前試験 令和6年度春期問12、令和4年度秋期問13
システムの信頼性設計に関する記述のうち,適切なものはどれか。
ア フェールセーフとは,利用者の誤操作によってシステムが異常終了してしまうことのないように,単純なミスを発生させないようにする設計方法である。
イ フェールソフトとは,故障が発生した場合でも機能を縮退させることなく稼働を継続する概念である。
ウ フォールトアボイダンスとは,システム構成要素の個々の品質を高めて故障が発生しないようにする概念である。
エ フォールトトレランスとは,故障が生じてもシステムに重大な影響が出ないように,あらかじめ定められた安全状態にシステムを固定し,全体として安全が維持されるような設計方法である。
正解は”ウ”。フォールトアボイダンスは故障が発生しないようにする設計です。
ア:「フールプルーフ」の説明です。
イ:「フォールトマスキング」の説明です。
エ:「フェールセーフ」の説明です。
令和5年度春期問15
応用情報技術者
午前試験 令和5年度春期問15
コンピュータシステムの信頼性を高める技術に関する技術として,適切なものはどれか。
ア フェールセーフは,構成部品の信頼性を高めて、故障が起きないようにする技術である。
イ フェールソフトは,ソフトウェアに起因するシステムフォールトに対処するための技術である。
ウ フォールトアボイダンスは,構成部品に故障が発生しても運用を継続できるようにする技術である。
エ フォールトトレランスは,システムを構成する重要部品を多重化して,故障に備える技術である。
正解は”エ”。フォールトトレランスは故障が発生した時に備える設計です。
ア:「フォールトアボイダンス」の説明です。
イ:「フェールソフト」はソフトウェアでは無く、ハードウェアに起因する障害に対処します。
ウ:「フェールソフト」の説明です。
令和3年度秋期問13
応用情報技術者
午前試験 令和3年度秋期問13
信頼性設計においてフールプルーフを実現する仕組みの一つであるインタロックの例として,適切なものはどれか。
ア ある機械が故障したとき,それを停止させて代替の機械に自動的に切り替える仕組み
イ ある条件下では,特定の人間だけが,システムを利用することを可能にする仕組み
ウ システムの一部に不具合が生じたとき,その部分を停止させて機能を縮小してシステムを稼働し続ける仕組み
エ 動作中の機械から一定の範囲内に人間が立ち入ったことをセンサが感知したとき,機械の動作を停止させる仕組み
正解は”エ”。人間が誤った行動を取っても障害を発生させないようにするのがフールプルーフです。
インタロックの意味を知らなくても、「人間の誤りに対処するのがフールプルーフである」と知っていれば解ける問題です。