[第50回]国家試験解説[AP令和4年秋]

応用情報技術者試験 令和4年秋期 問13

システムの信頼性設計に関する記述のうち,適切なものはどれか。

ア:フェールセーフとは,利用者の誤操作によってシステムが異常終了してしまうことのないように,単純なミスを発生させないようにする設計方法である。

イ:フェールソフトとは,故障が発生した場合でも機能を縮退させることなく稼動を継続する概念である。

ウ:フォールトアボイダンスとは,システム構成要素の個々の品質を高めて故障が発生しないようにする概念である。

エ:フォールトトレランスとは,故障が生じてもシステムに重大な影響が出ないように,あらかじめ定められた安全状態にシステムを固定し,全体として安全が維持されるような設計手法である。

出典 IPA公開[過去問題]:https://www.ipa.go.jp/shiken/mondai-kaiotu/gmcbt80000008smf-att/2022r04a_ap_am_qs.pdf

フォールトトレランスとは

システムやコンピュータやハードディスクなどの機器が部分的に故障や停止しても事前に用意してい置いた予備システムや予備機器に切り替えてシステムを動かすことを言います。

どのようなシステムであってもシステムを構成しているコンピュータやハードディスクなどの物理的な機器類は経年劣化や初期不良などを抱えています。また、システムに使用しているソフトウェアもソフトウェア上のエラーや通信系のトラブルなどで正常に動かなくなる可能性があります。

しかし、システムとしてトラブルがあってもそのシステムを使うユーザに迷惑をかけるわけにはいきません。そこで同じ構成要素のシステムをもう1組用意しておき、片方を主系、もう片方を待機系とします。こうしておけば主系でトラブルがあっても待機系に切り替えてシステムを動かし、その間に主系を修理することができます。

システムだけではなく、クラウドにあるサーバに対して、複数のISPと契約しておくのもフォールトトレラントと言えるでしょう。

フェールセーフとは

システムに部分的なトラブル(故障や破損、誤作動、誤操作など)があった場合にできるだけ安全な状態にする仕組みのことを言います。ただ、フェールソフトと違い、安全性を確保するためにシステム全体を止めてでも安全性を確保します。

特に列車のシステムや信号システム、製造工場で使用しているシステムなどは誤作動を起こすと最悪、人命を奪いかねません。そうならないようにシステムにトラブルがあった時にはシステムを停止させるなど安全な状態にしなければなりません。

信号システムにトラブルがあった場合は交通事故が起きないように全ての信号を赤にする、電車の運転システムにトラブルがあった場合は緊急停止を作動させるなどの方法がフェールセーフとしてあげられます。

フェースソフトとは

システムに部分的なトラブル(故障や破損、誤作動、誤操作など)があった場合にできるだけ安全な状態にする仕組みのことを言います。ただ、フェールセーフと違い、システムを止めて安全性を確保するのではなく、トラブルのあった部分を切り離すなどしてシステム全体を止めることなく、被害拡大を防ぐこと言います。

フェールソフトではトラブルがあった場合でもシステム自体は動かす必要がありますので、トラブルがあった箇所に関する機能を一時的に使用不可にする場合もあります。

フォールトアボイダンスとは

システムに使われているコンピュータやハードディスク、ソフトウェアなどの個々のパーツに対して信頼性の高いパーツを使うことでシステムそのものの信頼性を上げることです。

基本的にどのようなシステムであってもCPUやメモリ、ハードディスクなど物理的なパーツを使うことになります。そのため、信頼性の高いパーツを使うことで故障や障害の発生率を下げるのです。ただ、現代はレンタルサーバを使うケースやクラウド上にある別の会社のソフトウェアを使うことも増えています。その場合は故障率の低いアイテムを提供している事業者を活用します。

正解は、「ウ:フォールトアボイダンスとは,システム構成要素の個々の品質を高めて故障が発生しないようにする概念である」です。

本問の様にシステムの信頼性に関する問題は非常に出題頻度が高く、このほかにも「フールプルーフ」「フォールトマスキング」があります。これら全て出題された経歴があるのでしっかり覚えましょう。

フールプルーフとは

システムを操作する際に誤操作できないようにしたり、入力を求める場合は入力値をある程度事前に制限して誤入力できないようあらかじめ対策することを言います。

完全に自動化させ、人間の手が一切入らないシステムは数少ないです。多くのシステムは人間の手が入ります。人の手が入る以上、どうしても誤操作の危険性があります。

例として、扉や蓋が完全に閉じていないと動かない電子レンジや洗濯機、プルダウンメニューから選んで入力する誕生日などがあります。

フォールトマスキングとは

システムにトラブルが出たときにトラブルによる影響が他の部分に出ないようにすることを言います。中には簡単な構造になっているシステムもありますが、ほとんどのシステムは様々な機能を持っていたり、多くのコンピュータと連携していたりと複雑な構造になっています。そのため、ある機能でトラブルが発生した場合に、他の機能にまで影響するケースがあります。フォールトマスキングでは発生したトラブルの影響が他に伝わらないようにします。