リカバリブロック方式は ソフトウェア 設計の多様性と後方エラー回復に基づくフォールトトレランス技術。プログラムを一連のブロックとして構成し、各ブロックはプライマリモジュール、受け入れテスト、および1つ以上の代替モジュールで構成されます。プライマリモジュールの出力が受け入れテストに失敗した場合、システムの状態が復元され、代替モジュールが実行されます。

(画像はイメージです)
リカバリブロック方式は ソフトウェア 設計の多様性と後方エラー回復に基づくフォールトトレランス技術。プログラムを一連のブロックとして構成し、各ブロックはプライマリモジュール、受け入れテスト、および1つ以上の代替モジュールで構成されます。プライマリモジュールの出力が受け入れテストに失敗した場合、システムの状態が復元され、代替モジュールが実行されます。
ブライアン・ランデルによって提唱されたリカバリブロックの概念は、ソフトウェアのフォールトトレランスを実現するための構造化されたアプローチです。これは、特定の操作に対して代替手段と呼ばれる冗長なソフトウェアモジュールを提供し、操作の結果の正しさを検証するメカニズムと組み合わせるという原則に基づいています。主要な構成要素は、受け入れテスト(AT)、プライマリ代替手段(P)、および一連のセカンダリ代替手段(Q1、Q2、…)です。プライマリ代替手段を実行する前に、システムは現在の状態のチェックポイントを保存します。Pが完了すると、出力に対して受け入れテストが実行されます。ATは、結果が許容できるものであることを検証する重要なロジックです。絶対的な正しさを証明する必要はなく、結果が妥当で一貫性があることを検証すればよいのです。
結果がATに合格した場合、チェックポイントは破棄され、プログラムは続行されます。しかし、ATが失敗した場合、またはプライマリ代替処理自体が実行に失敗した場合(例えば、実行時エラーによる場合)、システムはロールバックを実行します。保存されたチェックポイントから状態を復元し、シーケンス内の次の代替処理(Q1)を実行します。Q1の出力は、同じ受け入れテストにかけられます。このプロセスは、代替処理がテストに合格する結果を生成するか、すべての代替処理が尽くされるまで継続され、その時点でシステムレベルの障害が宣言されます。
リカバリブロックの有効性は、代替モジュールの多様性に左右されます。プライマリモジュールとセカンダリモジュールは、それぞれ独立して設計および実装されるべきであり、理想的には異なるチームが異なるアルゴリズムまたはプログラミング言語を使用して設計および実装する必要があります。これにより、すべての代替モジュールに共通の設計上の欠陥(バグ)が存在する可能性が最小限に抑えられ、結果としてすべての代替モジュールが同じように受け入れテストに失敗する事態を防ぐことができます。受け入れテスト自体は単一障害点となるため、テスト対象のモジュールよりもシンプルで信頼性の高いものでなければなりません。別のソフトウェア耐障害性技術であるNバージョンプログラミングと比較すると、リカバリブロックは一度に1つのモジュールしか実行しないため、より効率的ですが、ロールバックと再実行の可能性からレイテンシが発生します。
ボットによるトラフィック(現在1日あたり4万件以上)を排除するため、このコンテンツはコミュニティメンバー限定となっています。
> ログイン < または > 登録 < (100%無料)でこれにアクセスできます。他のすべての制限付きコンテンツとツールも同様です。
回復ブロック制度
(日付が不明または関連性がない場合、例えば「流体力学」などでは、その注目すべき出現時期の概算値が提示されます。)
フルサイズの画像とダウンロードは、登録会員のみが100%無料で利用できます。
> ログイン <