FE EXAM

デュアルシステム(2系統で照合する構成)

2系統で同じ処理を同時に実行し、結果を照合して信頼性を高める構成。

DIAGRAM
系統A
系統B
照合
入力データ同じ処理を依頼系統A同じ処理を同時に実行結果A系統B同じ処理を同時に実行結果B照合結果A と 結果B を比較(クロスチェック)一致なら出力2系統が常に同じ処理を同時実行し、結果の一致を確認することで誤りを検出する
解説

📌
デュアルシステムとは

系統A系統B照合同じ処理を2系統で同時に実行

デュアルシステムとは、まったく同じ処理を行う2つの系統(システム一式)を用意し、常に両方で同時に処理を実行して、結果が一致するかを照合する構成のことです。デュアル(dual)は「2つの/二重の」という意味です。

ポイントは2つあります。
2系統が同時に動く:片方が予備として眠っているのではなく、両方とも常に同じ処理をしている
結果を照合する:両系の出力を突き合わせ、一致を確認してから結果を採用する

身近な例で考えると、2人の会計係が別々に同じ伝票を計算して答え合わせをするのに似ています。2人の合計が一致すれば正しいと判断でき、もし1人が計算ミスをしても、食い違いから「どこかおかしい」とすぐ気づけます。

📌
結果照合の仕組み

A=10B=10=一致→継続A=10B=99異常検知結果が食い違えば誤り(故障)と判断できる

結果照合(クロスチェック)とは、2系統の出力を1つひとつ突き合わせ、同じ答えになっているかを確認する仕組みです。両系は同じ入力で同じ処理をしているので、正常なら結果は必ず一致します。

照合の結果によって、次のように動作します。
一致したとき:その結果は正しいと判断し、そのまま採用して処理を続ける
食い違ったとき:どちらかに異常(故障やミス)があると検知し、正常な系統で処理を継続する

この仕組みのおかげで、誤った結果をそのまま出してしまう事態を防げます。さらに、片方の系統が故障しても、もう片方が動いているため処理を止めずに続けられます。誤りの「検出」と、故障時の「処理継続」を同時に実現できるのが大きな強みです。

📌
用途(高信頼性が要求される場面)

銀行オンライン取引鉄道列車運行管理金融決済システム止められない・誤れないシステム向け

デュアルシステムは、絶対に止められず、しかも結果に誤りが許されないシステムで使われます。誤りの検出と処理の継続を同時にできるため、極めて高い信頼性が求められる場面に向いています。

代表的な用途は次のとおりです。
銀行のオンラインシステム:残高や送金額を1円でも間違えられない
列車の運行管理:信号やダイヤの誤りが事故につながる
証券・決済などの金融システム:取引の正しさが何より重要

ただし、常に2系統ぶんのハードウェアを動かすため、コストはおよそ2倍かかります。高い信頼性と引き換えに費用がかさむため、本当に止められない・間違えられないシステムに限って採用されます。

📌
なぜ同時実行して照合するのか

1系統だけ結果を出すが…誤りに気づけない改善2系統で照合系統A系統B一致確認→正常片方が誤った結果を出しても食い違いで「どこかおかしい」とわかる

結論:1系統だけでは、その結果が正しいかどうか自分では確認できない。だから2系統で同じ処理をして、答え合わせをするのです。

コンピュータのハードウェアは、まれに「壊れているのに誤った計算結果を出し続ける」ことがあります。その誤りを自分だけでは検出できません。
1系統だけの場合:誤った結果が出ても、それが正しいかどうか分からないまま出力してしまう
2系統で照合する場合:同じ入力・同じ処理をして、結果が食い違ったら「どちらかがおかしい」と即座に検知できる

なぜコストをかけてまで2系統にするのか。銀行の送金や列車の信号制御で、もし誤った結果がそのまま使われたら取り返しがつきません。そのリスクを避けるために、2倍のコストでも2系統の照合を採用する、というのがデュアルシステムの考え方です。身近な例では、重要書類を2人の担当者が別々に見直してダブルチェックするのと同じ発想です。

📌
デュアルとデュプレックスの違いを整理する

デュアルシステム系統A → 常に処理系統B → 常に処理照合で誤り検出デュプレックスシステム主系 → 処理する待機系 → 待つだけ故障時に切替

「デュアル」と「デュプレックス」はどちらも「2つ」という意味の言葉ですが、仕組みがまったく違います。一言で覚えるなら次のとおりです。

デュアルシステム=「常に2系統が同時に動き、答え合わせをする
・通常時:両系統が並んで同じ処理を実行している
・目的:結果を照合して誤りを検出すること
・特徴:常に2系統ぶん動かすので電力・コストが高い

デュプレックスシステム=「普段は1系統だけが動き、壊れたら予備に切り替える
・通常時:主系のみが処理し、待機系は眠っている
・目的:故障時に処理を切り替えて止めないこと
・特徴:普段は1系統ぶんで済むので比較的コストを抑えられる

混同を防ぐ覚え方:「デュアル=ダブルチェック係(常時2人稼働)」「デュプレックス=控え選手(普段はベンチ)」。「誤りを検出したいのか」「止めずに切り替えたいのか」、目的の違いから覚えると混同しなくなります。

練習問題
Q1デュアルシステムの説明として最も適切なものはどれか。
Q2デュアルシステムで両系統の処理結果が一致しなかった場合の動作として適切なものはどれか。
Q3デュアルシステムが特に採用されやすいシステムはどれか。

関連コンテンツ