応用情報技術者試験過去問を解いてみた R6年度 春期 問12

目次

はじめに

今回も、応用情報技術者試験の過去問を解いていきます。
今回のテーマは「システムの信頼性設計」です。

一見似たような用語(フェールセーフ・フェールソフトなど)が並びますが、
それぞれの意味の違いを正しく理解しているかが問われています。


問題

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

  • ア:フェールセーフとは,利用者の誤操作によってシステムが異常終了してしまうことのないように,単純なミスを発生させないようにする設計方法である。
  • イ:フェールソフトとは,故障が発生した場合でも機能を縮退させることなく稼働を継続する概念である。
  • ウ:フォールトアボイダンスとは,システム構成要素の個々の品質を高めて故障が発生しないようにする概念である。
  • エ:フォールトトレランスとは,故障が生じてもシステムに重大な影響が出ないように,あらかじめ定められた安全状態にシステムを固定し,全体として安全が維持されるような設計方法である。

解答

正解:ウ


解説

この問題は「用語の正確な定義理解」を問う典型問題です。
それぞれの選択肢を比較すると、違いが明確になります。

各選択肢の正誤

選択肢用語判定理由
フェールセーフミス防止ではなく「異常時に安全にする設計」が「フェールセーフ」

説明は「フールプルーフ」の内容
フェールソフト機能を縮退させながら継続するのが正しい
フォールトアボイダンス故障そのものを発生させない設計
フォールトトレランス説明はフェールセーフの内容

図:信頼性設計の全体像

故障をどう扱うか?

├── 故障を起こさない
│ └→ フォールトアボイダンス(予防)

├── 故障しても動き続ける
│ ├→ フォールトトレランス(耐える)
│ └→ フェールソフト(機能縮退)

└── 故障したら安全に止める
└→ フェールセーフ(安全確保)

👉 この「分類」で覚えると一気に理解できます。


問題の用語解説

フェールセーフ(Fail-Safe)

  • 異常時に安全な状態にする設計
  • 例:
    • 信号機 → 故障時に赤になる
    • エレベーター → ドアが開く

👉 「壊れたら止める(安全側)」


フェールソフト(Fail-Soft)

  • 故障しても機能を落としながら継続
  • 例:
    • サーバ → 一部機能停止で運用継続

👉 「多少弱くなっても動き続ける」


フォールトアボイダンス(Fault Avoidance)

  • そもそも故障を起こさない設計
  • 例:
    • 高品質部品の使用
    • 厳密なテスト

👉 「予防」


フォールトトレランス(Fault Tolerance)

  • 故障しても正常に動き続ける
  • 例:
    • 冗長構成(サーバ二重化)
    • RAID

👉 「壊れても止まらない」


体系的位置づけ

この問題は、応用情報の中でも以下の分野に該当します。

分類内容
大分類システムアーキテクチャ
中分類信頼性設計
小分類フォールトトレランス / フェールセーフ

👉 インフラ・設計系の超重要基礎知識


今回の問題の重要ポイント

ポイント①:似ている用語を区別する

  • フェールセーフ ≠ フォールトトレランス
  • フェールソフト ≠ フォールトトレランス

👉 「止めるのか?続けるのか?」が軸


ポイント②:4分類で覚える

観点用語
故障を防ぐフォールトアボイダンス
故障しても動くフォールトトレランス
劣化して動くフェールソフト
安全に止めるフェールセーフ

👉 この表は暗記推奨です


ポイント③:選択肢は“入れ替え問題”

今回の問題は、

  • 用語と説明がズレているだけ
    です。

👉 試験ではよくあるパターン



信頼性設計でよく出る用語まとめ(+解説)

① 故障の“起こり方”に関する用語

信頼性(Reliability)

  • 一定期間、正常に動作する確率
    👉 「壊れにくさ」

MTBF(Mean Time Between Failures)

  • 平均故障間隔
    👉 故障と故障の間の平均時間
  • 数値が大きいほど良い

MTTR(Mean Time To Repair)

  • 平均修復時間
    👉 故障してから復旧までの時間
  • 小さいほど良い

可用性(Availability)

Availability=MTBFMTBF+MTTRAvailability = \frac{MTBF}{MTBF + MTTR}

👉 「使える時間の割合」


ポイント

MTBF が大きい(=壊れにくい)

MTTR が小さい(=すぐ直る)

⇒ 可用性 が高い


② 故障への“対処方法”に関する用語

(※今回の問題と直結する重要ゾーン)

冗長化(Redundancy)

  • 同じ機能を複数用意する

例:

  • サーバ2台構成
  • 電源二重化

👉 「片方壊れてもOK」


ホットスタンバイ

  • 常に稼働状態の予備機

👉 即切替可能(高コスト)


コールドスタンバイ

  • 停止状態の予備機

👉 起動に時間がかかる(低コスト)


デュアルシステム

  • 2つのシステムを並列稼働

👉 どちらかが生きていればOK


多重化(Multiplexing)

  • 同じ処理を複数系統で実行

👉 信頼性アップ


③ 障害検出・回復に関する用語

フェイルオーバー(Failover)

  • 障害時に自動で予備系に切替

👉 サーバ切替など


フェイルバック(Failback)

  • 復旧後、元に戻す

チェックポイント

  • 処理途中の状態を保存

👉 再開可能にする


ロールバック

  • 異常時に前の状態へ戻す

👉 DBトランザクションなど


④ データ保護に関する用語

バックアップ

  • データのコピー

レプリケーション

  • データをリアルタイム複製

👉 災害対策で重要


RAID

  • 複数ディスクで冗長化

例:

  • RAID1(ミラーリング)
  • RAID5(分散+パリティ)

⑤ 信頼性を高める“設計思想”

高可用性(HA:High Availability)

  • 常に使える状態を維持

災害対策(DR:Disaster Recovery)

  • 災害時の復旧設計

SLA(Service Level Agreement)

  • サービス品質の保証

例:

  • 稼働率99.9%

更に知りたい人へ:フォールトマスキングとフールプルーフ

フォールトマスキング(Fault Masking)

■ 概要

  • 故障が発生しても、外から見えないようにする技術

👉 ユーザーから見ると「正常に動いているように見える」


■ 具体例

  • RAID(複数ディスクでデータ補完)
  • 多重化システム(同時処理)
  • 投票システム(多数決で正しい結果を採用)

■ イメージ

内部でエラー発生

別の正常な結果で補正

外部には正常に見える

■ ポイント

  • フォールトトレランスの一部として使われることが多い
  • 「壊れても見えない」がキーワード

フールプルーフ(Fool Proof)

■ 概要

  • 人間がミスしても問題が起きないようにする設計

👉 ヒューマンエラー対策


■ 具体例

  • USBは逆向きに挿せない
  • 電子レンジはドアが開いていると動かない
  • 入力フォームの必須チェック

■ イメージ

人がミスしそう

そもそもできないようにする

事故を未然に防ぐ

■ ポイント

  • フェールセーフと混同しやすい!

フールプルーフ vs フェールセーフ(超重要比較)

用語タイミング内容
フールプルーフ事前ミスできないようにする
フェールセーフ事後ミスしても安全にする

■ 具体的な違い

例:電子レンジ

  • フールプルーフ
    👉 ドアが開いていたら「そもそも動かない」
  • フェールセーフ
    👉 異常が起きたら「自動停止する」

全体整理(追加版)

これで信頼性設計はかなり網羅できています👇

■ 故障への考え方まとめ

分類用語
予防フォールトアボイダンス / フールプルーフ
継続フォールトトレランス / フォールトマスキング
劣化継続フェールソフト
安全停止フェールセーフ

まとめ

今回の問題は、信頼性設計の基本4概念の理解が問われました。

  • 正解は「ウ(フォールトアボイダンス)」
  • 他の選択肢はすべて「定義のズレ」

最重要の理解

👉 「故障をどう扱うか」で分類する

これができれば、ほぼ確実に正解できます。


コメント

タイトルとURLをコピーしました