Product Design, Manufacturing & Innovation Resources
» 回復ブロック制度

回復ブロック制度

1975-06-01
  • Brian Randell
近代的なオフィスでリカバリー・ブロック・スキームを分析するソフトウェア・エンジニア。.

(画像はイメージです)

The recovery block scheme is a ソフトウェア fault-tolerance technique based on design diversity and backward error recovery. It structures a program as a series of blocks, each with a primary module, an acceptance test, and one or more alternate modules. If the primary module’s output fails the acceptance test, the system state is restored, and an alternate module is executed.

ブライアン・ランデルによって提唱されたリカバリブロックの概念は、ソフトウェアのフォールトトレランスを実現するための構造化されたアプローチです。これは、特定の操作に対して代替手段と呼ばれる冗長なソフトウェアモジュールを提供し、操作の結果の正しさを検証するメカニズムと組み合わせるという原則に基づいています。主要な構成要素は、受け入れテスト(AT)、プライマリ代替手段(P)、および一連のセカンダリ代替手段(Q1、Q2、…)です。プライマリ代替手段を実行する前に、システムは現在の状態のチェックポイントを保存します。Pが完了すると、出力に対して受け入れテストが実行されます。ATは、結果が許容できるものであることを検証する重要なロジックです。絶対的な正しさを証明する必要はなく、結果が妥当で一貫性があることを検証すればよいのです。

結果がATに合格した場合、チェックポイントは破棄され、プログラムは続行されます。しかし、ATが失敗した場合、またはプライマリ代替処理自体が実行に失敗した場合(例えば、実行時エラーによる場合)、システムはロールバックを実行します。保存されたチェックポイントから状態を復元し、シーケンス内の次の代替処理(Q1)を実行します。Q1の出力は、同じ受け入れテストにかけられます。このプロセスは、代替処理がテストに合格する結果を生成するか、すべての代替処理が尽くされるまで継続され、その時点でシステムレベルの障害が宣言されます。

リカバリブロックの有効性は、代替モジュールの多様性に左右されます。プライマリモジュールとセカンダリモジュールは、それぞれ独立して設計および実装されるべきであり、理想的には異なるチームが異なるアルゴリズムまたはプログラミング言語を使用して設計および実装する必要があります。これにより、すべての代替モジュールに共通の設計上の欠陥(バグ)が存在する可能性が最小限に抑えられ、結果としてすべての代替モジュールが同じように受け入れテストに失敗する事態を防ぐことができます。受け入れテスト自体は単一障害点となるため、テスト対象のモジュールよりもシンプルで信頼性の高いものでなければなりません。別のソフトウェア耐障害性技術であるNバージョンプログラミングと比較すると、リカバリブロックは一度に1つのモジュールしか実行しないため、より効率的ですが、ロールバックと再実行の可能性からレイテンシが発生します。

UNESCO Nomenclature: 1203
コンピュータサイエンス

タイプ

ソフトウェア/アルゴリズム

混乱

増分

使用法

ニッチ/専門分野

前駆物質

  • プログラミング言語における例外処理の概念
  • データベースのトランザクションおよびロールバックメカニズム
  • プログラムの検証と正当性に関する初期の研究
  • ハードウェアエンジニアリングにおける冗長性の一般原則

アプリケーション

  • 鉄道信号システムにおける安全性が極めて重要なソフトウェア
  • 原子炉保護システム
  • ソフトウェア障害が壊滅的な結果を招く航空宇宙用途
  • 実験的な耐障害性オペレーティングシステム

特許:

NA

潜在的なイノベーションのアイデア

ボットによるトラフィック(現在1日あたり4万件以上)を排除するため、このコンテンツはコミュニティメンバー限定となっています。
> ログイン < または > 登録 < (100%無料)でこれにアクセスできます。他のすべての制限付きコンテンツとツールも同様です。

関連キーワード:リカバリブロック、ソフトウェア耐障害性、設計の多様性、受け入れテスト、後方エラー回復、チェックポイント、ブライアン・ランデル、安全性が重要なソフトウェア、冗長モジュール、Nバージョンプログラミング。

歴史的背景

回復ブロック制度

1970
1970
1970-01-01
1975-06-01
1980
1980
1980
1970
1970
1970
1973
1980
1980
1980
1982-07-01

(日付が不明または関連性がない場合、例えば「流体力学」などでは、その注目すべき出現時期の概算値が提示されます。)

関連する発明、革新、および技術原理

フルサイズの画像とダウンロードは、登録会員のみが100%無料で利用できます。