冗長化

**冗長化**（じょうちょうか）とは、システムの一部に何らかの障害が発生した場合に備えて、障害発生後でもシステム全体の機能を維持し続けられるように、予備装置を平常時からバックアップとして配置し運用しておくこと。冗長化によって得られる安全性は**冗長性**と呼ばれ、英語では**リダンダンシー**（）と呼ぶ。

常に実用稼動が可能な状態を保ち、使用しているシステムに障害が生じたときに瞬時に切り替えることが可能な仕組みを持つ。障害によってシステムが本来の機能を失うと、人命や財産が失われたり、企業活動が大きな打撃を受けるような場合には、冗長性設計が必須となっている。

## 冗長化の要件
単にバックアップを用意しただけでは同じ原因で同時に故障する共通要因故障（CCF,Common Cause Failure）が起きる可能性を排除できない。

CCFを防ぐためには以下の要件が重要である。

### 独立・分散性
予備装置が同じ場所に置かれている場合、火災で全滅する恐れがある。

こうしたリスクを防ぐため、独立・分散性が重要となる。

分散には地理的分散（天災対策）のほか、電気的（雷サージ等対策）、論理的（ネットワーク障害、ハッキング等対策）分散等がある。

#### 例
複数の油圧系統を用意しても日本航空123便墜落事故、ユナイテッド航空232便不時着事故のようにしばしば油圧系統を全て破壊される事故が生じた。

対策として現代の航空機では壊れた配管を遮断するヒューズが設けられた他、油圧系統を一度に破壊されないように配管を分散配置するようになった。

スペースシャトルの最初のミッション(STS-1)では全てのコンピュータが起動せず、打ち上げが延期された。コンピュータは冗長化されていてもバスが同一なためデッドロックが生じ、結果起動しなかった。

個々の要素を冗長化しても結局同一の航空機、システムを運用している以上、独立・分散性を完全に実現させることは難しい。

### 多様性
異なる種類、異なる構造による冗長化を、**異種冗長化**あるいは多様化、多様性という。

これにより、同一の原因で全ての予備が一斉に停止してしまう可能性を下げることができ、より耐障害性が高まる。

#### 例
電車では電気ブレーキ・油圧ブレーキ・空圧ブレーキといった異なる種類のブレーキを組み合わせて利用している。

国際宇宙ステーションではソフトウェアが同一であったため、同じバグで三台のコンピュータが連続してフリーズした。搭載されているハードディスクもどれも同一機種で起動時の動作に問題があり、再起動にも失敗、一時制御不能になった。後日ソフトウェアを修正すると共にハードディスクは全く異なる仕組みを持つ記憶装置である半導体メモリに置き換えられた。

## コンピュータ・システム
### データ処理

冗長化されたシステムは、大きく分けてデュアルシステムとデュプレックスシステムに分かれる。

**デュアルシステム**は、同じ処理を2組のコンピュータシステムで行い、その結果を照合機でクロスチェックし、処理の正しさを確認しながら処理を進行していくシステム構成。サーバー本体のみならず、電源やケーブル、データベースなど全てを二重化する。コンピュータ・システムにおいては、一瞬の停止も許されない、例えば金融機関や交通機関の運行管理などのシステムで冗長化を行うことが多く、システム内部に相似形のサブシステムを常に並列して稼動させておき、片側に障害が生じたときでも停滞なくもう片側だけで基本的なサービスが行えるように設計・運用されているのがデュアルシステムである。障害発生時には、問題のある側のシステムをメイン処理から切り離し、残された側のシステムのみで処理を続行しつつ、障害からの回復を図る。故障時の切り換えだけでなく処理結果の比較によって異常検出や多数決が行えるのも特徴。

**デュプレックスシステム**は、主系（稼働系ともいう）と副系（待機系ともいう）からなる2系列の処理システム構成で、さらに副系に関しては、ホットスタンバイとコールドスタンバイに分かれる。ホットスタンバイは、待機系をいつでも動作可能な状態で待機させておき、障害発生時に直ちに切り替える方式。コールドスタンバイは、通常時は稼働系でオンライン処理、待機系でバッチ処理を行いながら待機させるが、主系の障害発生時には、主系で行っていたオンライン処理を副系に引き継ぐことで処理を継続する。つまりそれぞれのサブシステムで互いに異なる処理を行う構成。コールドスタンバイは障害発生時まで電源を停止している場合もある。

**クラスタシステム**は、2つの用語があり、「高可用性クラスタシステム」、つまりフェイルオーバーができるデュプレックスシステムを指す場合と、複数台が同時に稼動して負荷分散しながら並列に処理をする「負荷分散クラスタシステム」を指す場合がある。この用語を使用する場合、どちらを指す言葉なのかを明確にするために、「クラスタシステム」という用語の前に、「高可用性」か「負荷分散」を付けて明確化する必要がある。後者の負荷分散クラスタシステムは、結果的に全体を1台の高性能のコンピュータであるかのように利用する。連携しているコンピュータのどれかに障害が発生した場合には、ほかのコンピュータに処理を肩代わりさせることで、システム全体として処理を停止させないようにしている。

また、特に重要なシステムでは、災害や広域障害などに備えて複数のシステムを例えば東京と大阪などのように離れた場所に設置するようになっている。

こういった冗長化は、サービスの継続性が高められるという点で有用であるが、多額の費用がかかることから、完全な冗長化が施せるシステムは費用対効果の面で限られる。一般の消費者向けや企業でも通常の事務処理で用いられるパソコンでは、瞬時の停止を避けるほどの冗長化を施すことは稀であり、ほとんど唯一、比較的脆弱とされるハードディスク・ドライブの故障だけは作成・保存されたファイルすべてが失われる危険性があるのでRAIDによって冗長化が行われることがある。

### 情報保存

企業や政府が運用しているミッションクリティカルなコンピュータ・システムや、ネットワーク上でのサービスを提供している企業の大規模なサーバーファームやデータセンターでのストレージ・システムでは、本来の情報から特定の演算によって冗長なデータを作成しておき、障害によって本来の情報がわずかに失われても誤り検出訂正を可能にする工夫が行われている。

### 伝送路
21世紀現在の一般的なデータ伝送では、伝送路が持つ物理的な制約の上限近くまで使い切るほどの高速大容量の伝送が求められるために、経済性の点でも誤り検出訂正は必須の技術となっている。伝送路自身の冗長性も、トランキングによって確保されたり、ネットワークの断裂に対しても各種のルーティング・プロトコルやQoS技術によって確保されている。

## 輸送機械
### 旅客機
旅客機はエンジンを複数搭載しており、1基のエンジンが故障しても、他のエンジンだけで安全に着陸するまで飛行継続が可能なように、国際的な取り決めで規定されている。機体構造についても、部分的な損壊によって直ちに機体全体の崩壊とならない様、強度部材は冗長性を備える様に、意図的に複数に分かれて配置される設計が採用されている。

方向舵や昇降舵等の操舵翼の操作系についても、油圧系統を分割多重化しており、無線機や航法機器、飛行計器類も現代的な装置類を多重化した上で、旧式の飛行計器も残されている。電力系統や空気圧系統、燃料系統も多重化されている。2人以上乗組む航空機操縦者が機上で同じ機内食を食べないという点も、冗長化の一環といえる。

### 鉄道車両
鉄道車両においては、特にブレーキの伝送系統を二重化し、一方の系統が使用不能になっても他方で制御ができるようなシステムが1960年代以降、各鉄道事業者で導入されている。駆動系についても、かつては電車のモーターの制御は、一部の系列を除き、主制御器1基あたり4 - 8個駆動が主流であったが、VVVFインバータ制御が普及すると、小型の制御器を多数配置して1制御装置あたりモーター1 - 2個駆動とし、1組の駆動系統が故障しても、これをスイッチなどでカット（解放）することで運転継続が可能にするとともに、編成全体に対する故障の影響を最小限に止めるシステムが用いられるようになった。

また、電化された鉄道では変電所を複数持ち、どこかの変電所が故障しても、他の変電所から電力を供給することによって一定レベルの運転を続けることができる。

英国で主にセラフィールド発着便として運転される放射性物質輸送列車において、冗長性確保の目的から重連運転が行われている。重連運転とは複数の機関車を連結して運転することであり、仮に1台の機関車が故障しても、別の機関車で引き続いて運転が可能となることで冗長性が保たれる。

日本では直流電気機関車が使われ始めた大正時代や昭和中期の交流電気機関車の草創期などに電気機関車の信頼性が低かったため、信頼性の高い蒸気機関車と重連運転を行う「電蒸運転」を行っていた。

### 自動車
ブレーキが前輪左と後輪右、前輪右と後輪左と独立した油圧システムで構成されていることがある。このため、片方の油圧システムに故障があっても停止が可能である。また、駐車ブレーキを走行中に動作させる事で減速させる事や、低いギアに入れてエンジンを抵抗にすることによりある程度の減速が出来る。

## 電力
電力系統の機能停止は、電力供給を受けている需要家すべてに大きな被害を与えることになる。特に都市規模の広域停電（大規模停電）では、被害の規模は大きい。欧米域での送電会社や日本での電力会社などでは、送電網や配電網の事故を瞬時/短時間で切り離して、被害拡大を防ぎながら、送電網の事故点の迂回路を設けて被害を局限化するようにしている。このため送電線は同じルートで通常、2系統以上が並行して架設されている。

需要家側も、電力喪失に脆弱な電子機器には予期しない停電に備えて専用の無停電電源装置を備えたり、業務の継続が強く求められる部門では自家発電装置の導入が行われている。病院や空港での電力喪失事故は直接人命に関わるため、例えば日本の病院ではガスタービンやディーゼルエンジン式の発電機や蓄電池が設置されていて、一定時間は確実に電力が確保できるようにされている。

## 建築
2001年に発生したアメリカ同時多発テロ事件で崩壊した世界貿易センターの崩壊プロセスを調査した結果、WTCの鉄筋構造システムは徹底した合理性と最適化を目指して設計されていたために、崩壊に対する冗長性をほとんど備えていなかった事が判明した。事件を契機として、建築構造モデルの方向性は最適化から冗長性の確保へとシフトした。

建築の世界で言う冗長性（リタンダンシー）の概念とは、構造解析やデザインにおいて単に安全率を高めることではなく、建築構造を成立させている多種多様な条件の相互関係を変数として把握し、可能な限り現実に近い変数を備えた合理的なモデルを構築することである。こうした建築情報の高度化に対応するためにBIMやAIなど、より高度な情報処理技術の導入が進んでいる。

## 脚注


## 関連項目
* フォールトトレラントシステム - フォールトトレラント設計
* 信頼性設計 - 信頼性工学 - 冗長性 (情報理論)
* バックアップ - 誤り検出訂正（冗長符号）
* IEEE 802.1aq Shortest Path Bridging
* リスク - リスクマネジメント
* 可用性
* 単一障害点（SPOF: Single Point of Failure）
* レジリエンス (曖昧さ回避)
* グリッド・コンピューティング - インターネットなどのネットワーク上にある計算資源を結びつけ、ひとつの複合したコンピュータシステムとしてサービスを提供