この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)
出典検索?: "フォールトトレラント設計"
この項目では、理論的なフォールトトレラント設計について説明しています。特定の実装については「フォールトトレラントシステム」をご覧ください。
フォールトトレラント設計あるいは障害許容設計(フォールト・トレラントせっけい、英: fault tolerant design)は、システム設計の手法であり、システムの一部に問題が生じても全体が機能停止するということなく(たとえ機能を縮小しても)動作し続けるようなシステムを設計するものである。
この用語はハードウェアあるいはソフトウェアの障害があってもほとんど途切れることなく動作し続けるコンピュータシステムの設計を指して使われることが多い。
他の領域の例としては、自動車の設計でタイヤが一本パンクしても走行できるような設計を指す。 あるシステムにおけるすべての部品に対してフォールトトレラント設計を施すのは得策ではない。冗長性を上げると反面コストなどが増大し、費用対効果の面で見合わなくなってしまう。 どの部品をフォールトトレラントにすべきかを決定するには以下のような判断基準が考えられる。 全ての条件に適合した部品の例として自動車の搭乗者拘束システム(シートベルトやエアバッグ)がある。我々が意識しない第一の搭乗者拘束システムは重力である。自動車が転覆などした場合、重力による拘束はなくなってしまう。このような事故の際に搭乗者を拘束するのは安全上非常に重要なので、第一の条件に合っている。シートベルトがない時代には事故によって搭乗者が外に放り出されることがよくあった。したがって第二の条件にも合っている。シートベルトなどは価格的にも重量的にもコストは高くない。したがって第三の条件にも合っている。以上のことから、シートベルトを全ての自動車に装備するのはよい考えと言える。その他のエアバッグなどの補助部品はやや高価なので、第三の条件に適合しないかもしれない。このため、安価な自動車にエアバッグを搭載していないものが(高価な自動車よりも)多いのである。逆に、センチュリーおよびセンチュリーロイヤルは、乗っている要人の保護が最優先事項であるため第三の条件は無視され、通常の使い方では満たされない第二の条件も銃撃等による故障という特殊条件を考慮し、同様に絶対に故障してはならないため第一の条件を満たす、としてエンジン及び補機類の冗長化が行われている。 通常は操縦桿と各動翼を複数の系統で繋ぎ、1系統が切断しても操縦不能とならない設計となっている。またケーブル、油圧、フライ・バイ・ワイヤなど、別種の方法で繋ぐことも多い。 ミッションクリティカルなシステムにおいて、コンピュータのフォールトトレラント性は重要である。そういった用途に用いるため、製品自体に広範なフォールトトレラント設計を盛り込んだコンピュータも作られており、タンデムコンピューターズやストラタステクノロジー、NECなどの製品がある。これらはCPUを含む全てのハードウェアを二重化し、ハードウェア障害(部品障害)に対してはフォールトトレラント性を確保し、記述された通りソフトウェアを動作させる。(コンピュータに限った問題では無いが、飛行機のパイロットに墜落させる意図がある場合と同様にオペレーティングシステムやアプリケーションソフトウェアのバグなどの障害やユーザー操作上の問題は対応できない)。
手法
フォールトトレラントな部品
部品それぞれが内部に異常を発生しても部品として機能し続けることができれば、システム全体としても機能し続ける。自動車の例で言うと、自動車にはランフラットタイヤを装備しているものがある。これは、内部に硬いゴムの層を持っているもので、表面がパンクしても走行が可能となっている。走行できる時間は限られているしスピードも落とす必要があるが、パンクによる操作不能が招く事故を防いだり、タイヤ交換と比べてダウンタイムを短縮できたりする。
冗長性
これはバックアップの部品があって、障害が発生したときに自動的に代替して動作するものである。例えば、ダブルタイヤや二軸の後輪や前二軸の車両ではタイヤをひとつ失っても走行には問題無い。多くのタイヤを持っているため、タイヤひとつでは危険ではない。ただし、部品点数が増えるため故障率は上がり、外れたタイヤが被害を及ぼす等の問題は増える。
どのようなときフォールトトレラント設計をするのか
その部品はどれだけ重要か?
輸送のみを目的とする自動車では、ラジオやオーディオは重要(必須)な機能ではない。したがって、ラジオやオーディオをフォールトトレラント設計にする必要性は低い。
その部品はどのくらい障害を起こすか?
自動車のドライブシャフトのように、いくつかの部品は故障することはほとんど考えられないので、フォールトトレラント設計の必要性は低い。
その部品をフォールトトレラントにするのにかかるコストは?
例えば、自動車のエンジンに冗長性を持たせるとすると、経済的にも重量やサイズもコストが高くなることが予想される。
実例
航空機
コンピュータ
Size:18 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)』
担当:undef