はじめに
日々利用されているシステムには、故障がつきものです。
しかし一度故障してしまうと、復旧に時間がかかるだけでなく、使用者に迷惑をかけてしまいます。
そのため、システムはなるべく故障しないように、機能を停止することのないように設計されています。
この、システムが故障せず、正常に使用できる能力を信頼性と言います。
今回は、信頼性を高めるために行われている仕組みについて学んでいきましょう!
信頼性を高める仕組み
フォールトアボイダンス
まず初めにご紹介するのは、フォールトアボイダンスという仕組みです。
フォールトアボイダンスとは、故障が起きにくい設計にしたり、将来起こりうる問題に事前に対応した設計にすることで、そもそも故障自体が起きにくいシステムを作ることです。
ポイントは、初めから故障が起きにくい設計にするということです。
現実世界でも、失くしてはいけない家の鍵などには、チェーンをつけて、そもそもなくさないようにすると思います。
そのようなイメージで、そもそも故障が起きることを避けるような仕組みのことをフォールトアボイダンスと言います。
フォールトトレランス
次にご紹介するのは、フォールトトレランスです。
こちらは、もし故障が起こってしまったとしても、動き続けられるようにする仕組みのことです。
故障が起こってしまった場合の保険を持っていると考えるとイメージしやすいかもしれません。
ポイントは、故障が起こってしまった後でもシステムとしては動き続けられるということです。
実際に使用する際は、デュアルシステムやデュプレックスシステムなどで、システムを冗長化させることで、故障に備えているものが多いです。
このように、故障が起こってしまっても問題なく動き続けられるような仕組みをフォールトトレランスと言います。
ちなみに、デュアルシステムやデュプレックスシステムはこちらで解説していますので、是非合わせて読んでみてください。
フェールセーフ
フェールセーフは、もし装置が故障してしまったときでも、安全を最優先とした動きをする仕組みです。
よく例に出されるのは踏切です。
踏切では、わざわざ電気を流して踏切を上げています。そのため、停電などが起こった場合には踏切が上がらないため、誤って線路内に人が入ってしまうという事故を防ぐことができるのです。
このように、もし装置が故障してしまったときでも、安全を最優先とした動きをする仕組みをフェールセーフと言います。
フェールソフト
フェールソフトとは、システムの一部が故障してしまったとき、その部分を切り離したり、使える機能を制限したりすることで、システム全体としては動き続けることです。
この、一部を切り離したり、機能を制限することでシステム全体としては動かす仕組みを縮退運転と言います。
あまりいい例えではないかもしれませんが、組織内で仕事をしない人が出てきた際、その人たちを切り捨てて組織の規模を縮小してでも組織自体は運営していくイメージです。
具体例としてよく挙げられるのは、飛行機のエンジンです。
ご存じの通り飛行機にはエンジンが2つ付いていますが、もし片方が壊れた場合、壊れた方を切り捨ててもう一方のエンジンのみで飛行できるようになっています。
このように、システムが故障した際、縮退運転を行うことをフェールソフトと言います。
練習問題
問題1
問)フォールトトレラントシステムを実現する上で不可欠なものはどれか。
(平成30年度 春期 問13から出題)
ア、システム構成に冗長性をもたせ,部品が故障してもその影響を最小限に抑えることで,システム全体には影響を与えずに処理を続けられるようにする。
イ、システムに障害が発生したときの原因究明や復旧のために,システム稼働中のデータベースの変更情報などの履歴を自動的に記録する。
ウ、障害が発生した場合,速やかに予備の環境に障害前の状態を復旧できるように,定期的にデータをバックアップする。
エ、操作ミスが発生しにくい容易な操作にするか,操作ミスが発生しても致命的な誤りとならないように設計する。
答)ア
フォールトトレランスシステムは、システムを冗長化させることでもし故障が起こってしまったとしても、動き続けられるようにする仕組みのことです。
問題2
フェールセーフ設計の考え方に該当するものはどれか。
(平成26年度 春期 問15より出題)
ア、作業範囲に人間が入ったことを検知するセンサーが故障したとシステムが判断した場合,ロボットアームを強制的に停止させる。
イ、数字入力フィールドに数字以外のものが入力された場合,システムから警告メッセージを出力して正しい入力を要求する。
ウ、専用回線に障害が発生した場合,すぐに公衆回線に切り替え,システムの処理機能が低下しても処理を続行する。
エ、データ収集システムでデータ転送処理に障害が発生した場合,データ入力処理だけを行い,障害復旧時にまとめて転送する。
答)ア
もし装置が故障してしまったときでも、安全を最優先とした動きをする仕組みです。
問題3
問)信頼性設計におけるフェールソフトの例として,適切なものはどれか。
(平成23年度 秋期 17問目から出題)
ア、アプリケーションを間違って終了してもデータを失わないように,アプリケーション側の機能で編集中のデータのコピーを常に記憶媒体に保存する。
イ、一部機能の障害によってシステムが停止しないよう,ハードウェアやソフトウェアを十分に検証し,信頼性の高いものだけでシステムを構成する。
ウ、クラスタ構成のシステムにおいて,あるサーバが動作しなくなった場合でも,他のサーバでアプリケーションを引き継いで機能を提供する。
エ、電子メールでの返信が必要とされる受付システムの入力画面で,メールアドレスの入力フィールドを二つ設けて,同ーかどうかをチェックする。
答)ウ
フェールソフトとは、システムの一部が故障してしまったとき、その部分を切り離したり、使える機能を制限したりすることで、システム全体としては動き続けること
問題4
フォールトトレラントシステムの説明として,適切なものはどれか。
(平成21年度 春期 問15より出題)
ア、システムが部分的に故障しても,システム全体としては必要な機能を維持するシステム
イ、地域的な災害などの発生に備えて,遠隔地に予備を用意しておくシステム
ウ、複数のプロセッサがネットワークを介して接続され,資源を共有するシステム
エ、複数のプロセッサで一つのトランザクションを並行して処理し,結果を照合するシステム
答)ア
フォールトトレランスシステムは、システムを冗長化させることでもし故障が起こってしまったとしても、動き続けられるようにする仕組みのことです。