みんカラでフェイルセーフに関する記事を見つけたのですが、予想通り間違っていたので書いておきます。
フェイルセーフとは何ぞやと言うと「装置・システムにおいて、誤操作・誤動作による障害が発生した場合、常に安全側に制御すること。またはそうなるような設計手法で信頼性設計のひとつ。」
フェイルセーフ - Wikipedia
ではフォールトトレラントとは何ぞやと言うと「システムの一部に問題が生じても全体が機能停止するということなく(たとえ機能を縮小しても)動作し続けるようなシステムを設計するもの」
フォールトトレラント設計 - Wikipedia
どちらも障害発生時に影響が大きくならないようにするための設計手法です。最近ではほぼ当たり前になってきています。
今回見つけた記事ではトヨタ センチュリーのエンジン故障時の片側6気筒走行機能をフェイルセーフだと言っていたのですが、これは間違いです。
フェイルセーフは障害発生時に安全側へ制御します。例えば鉄道車両のブレーキですが、全ての車両を貫通しているブレーキ管と、それぞれの車両だけのブレーキ管があり、片方の空気圧が下がればもう片方の空気圧が上がる設計になっています。ですので列車が切り離されてしまった場合は貫通しているブレーキ管の圧力が下がりますので自動的にブレーキがかかると言う仕組みです。切り離された車両の暴走を止めるために必ず止めるようになっているわけです。
車であれば、エンジンが故障した場合に停止させるなどがフェイルセーフに当たります。
信号機も停電やシステムエラーが発生した場合は、アナログ的に赤だけが光るようになっています。
もっと小さなものならヒューズやブレーカーもフェイルセーフと言えます。
このように、障害発生時に自動的に、自然に停止させる。これがフェイルセーフです。この考え方はいろんなところで使われています。
フェイルセーフで安全になると考えられていましたが、安全側に制御は出来ますがシステムが止まってしまったら不便になってしまい障害発生時の損害が大きくなります。そこで考えられたのがフォールトトレラント設計です。
センチュリーのシステムはエンジンが故障した場合は片側6気筒で走行できるようになっています。これなら出力は下がりますが走行を続けることが可能です。
飛行機もフェイルセーフでは足りません。エンジンが故障した時点でシステムを止めてしまったら墜落してしまいます。ですのがエンジンの回転が停止しても滑空によってある程度飛行を続けることが出来るシステムになっています。これもフォールトトレラント設計です。
パソコンでは一部を除いてソフトウェアがエラーを出してもOS全体を巻き込んでシャットダウンしないようになっています。
障害が発生しても全体に影響が出ない、障害が起きた部分の隔離が出来る、障害が他の部分に影響を与えて新たな障害を作らない、代替モードがあるなど、いくつかの要件を満たしていればフォールトトレラント設計と呼べるでしょう。
フォールトレジスタントという考え方もあります。これは故障確率を徹底的に下げるという方法です。この場合は故障確率は非常に低いですが(例えば飛行機でエンジンが4基とも停止するなど)、故障が発生すると全体が停止してしまうのでフォールトトレラントではありません。
ブログ一覧 |
雑記 | 日記
Posted at
2014/03/13 11:58:08