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

回復ブロック制度

1975-06-01
  • Brian Randell
現代のオフィス環境でリカバリブロック方式を分析するソフトウェアエンジニア。

(画像はイメージです)

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

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

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

The effectiveness of recovery blocks hinges on the diversity of the alternates. The primary and secondary modules should be designed and implemented independently, ideally by different teams using different algorithms or programming languages. This minimizes the chance of a common design flaw (a bug) existing in all alternates, which would cause them all to fail the acceptance test in the same way. The acceptance test itself is a single point of failure and must be simpler and more reliable than the modules it is testing. Compared to N-version programming, another software fault tolerance technique, recovery blocks can be more efficient as they only execute one module at a time, but they introduce latency due to the potential for rollback and re-execution.

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

タイプ

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

混乱

増分

使用法

ニッチ/専門分野

前駆物質

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

アプリケーション

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

特許:

NA

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

  • automated generation of acceptance tests from formal specifications
  • hardware-accelerated checkpointing and rollback mechanisms
  • integration of recovery blocks with machine learning for predictive fault detection
  • distributed recovery blocks for microservices architectures
  • recovery blocks for securing smart contracts on blockchains
  • adaptive recovery block systems that reorder alternates based on past performance
  • lightweight recovery block frameworks for resource-constrained embedded systems
  • concurrent recovery blocks for multi-threaded applications
  • 形式検証 tools for proving the correctness of recovery block implementations
  • self-synthesizing software that generates its own alternate modules
関連キーワード:リカバリブロック、ソフトウェア耐障害性、設計の多様性、受け入れテスト、後方エラー回復、チェックポイント、ブライアン・ランデル、安全性が重要なソフトウェア、冗長モジュール、Nバージョンプログラミング。

歴史的背景

回復ブロック制度

1970
1970
1970-01-01
1975-06-01
1980
1980
1980
1970
1970
1970
1973
1980
1980
1980
1980

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

10年目 周年

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