リカバリ指向コンピューティング( ROCと略されることもある) は、信頼性の高いインターネットサービスを開発するためにスタンフォード大学とカリフォルニア大学バークレー校で構築された手法です。その提唱者は、コンピュータ バグは避けられないものであることを認識し、その有害な影響を軽減することを目指しています。国立科学財団がこのプロジェクトに資金を提供しています。
リカバリ指向コンピューティングには、他のすべての障害処理技術とは異なる特徴があります。
分離と冗長性
こうしたタイプのシステムでは、分離には冗長性が求められます。システムの一部に障害が発生した場合、冗長部分がその役割を担う必要があります。分離は、ソフトウェアによる障害であれ人為的な障害であれ、あらゆる種類の障害に対して障害耐性を備えていなければなりません。システムの一部を分離する方法の 1 つは、Xenなどの仮想マシン モニターを使用することです。仮想マシン モニターを使用すると、物理マシン上で多数の仮想マシンを実行でき、1 つの仮想マシンに問題が発生した場合、物理マシンを再起動せずに再起動したり、仮想マシンを停止して別の仮想マシンでその役割を担ったりすることができます。
システム全体の元に戻すサポート
このようなシステムでは、異なるプログラムや時間枠にわたって元に戻す機能が必要です。システム障害の約半分は人為的ミスが原因であるためです。[1]また、元に戻すサポートがないと、試行錯誤ができないため、実稼働システムのテストの側面が制限されます。
システム全体の元に戻すサポートは、システムのあらゆる側面をカバーする必要があります。これには、ハードウェアとソフトウェアのアップグレード、構成、アプリケーション管理が含まれます。元に戻せる内容には明らかに制限があり、これらの制限は現在、トレードオフに基づいて調査、テスト、評価されています。
統合診断サポート
統合診断サポートは、回復指向のコンピュータが備えるべきもう 1 つの特性です。つまり、システムはシステム障害の根本原因を特定できる必要があります。これができたら、障害を封じ込めてシステムの他の部分に影響を与えないようにするか、障害を修復する必要があります。すべてのシステム コンポーネントまたはモジュールは自己テストを行う必要があります。つまり、自分自身に問題があることを認識できる必要があります。モジュールは、自分自身の問題を特定するだけでなく、依存している他のモジュールの動作も検証できる必要があります。システムは、システム全体のモジュール、リソース、およびユーザー要求の依存関係も追跡する必要があります。これにより、障害を封じ込めることができます。
オンライン検証と回復のメカニズム
回復メカニズムとは、システムが障害から回復する方法です。これらの回復メカニズムは適切に設計されている必要があります。つまり、信頼性が高く、効果的で、効率的であるということです。これらのシステムは、回復メカニズムの動作を積極的にテストして検証する必要があります。そのため、実際に障害が発生した場合、これらのメカニズムは設計どおりに動作し、システムの回復に役立ちます。これらの検証は、生産レベルの機器でも実行する必要があります。このタイプの機器は稼働させるのが最も重要であるためです。これらのテストを実行するには 2 つの方法があり、両方を使用する必要があります。最初の方法は、テストを設定して実行する直接テストです。もう 1 つの方法は、警告なしにテストが行われるランダム テストです。
モジュール性、測定可能性、再起動可能性
ソフトウェアの老朽化の問題は、影響を受けるコンポーネントを再起動することで最も効果的に解決できます。これには、モジュール性と再起動可能性の両方が伴います。コンポーネントは、障害が発生する前に再起動する必要があり、このオプションを利用できるように設計するか、または自動的に再起動するように設計するのが理想的です。アプリケーションも再起動できるように設計する必要があります。
ベンチマーク
これらのシステムでは、進捗状況を追跡することでその存在と使用を正当化するために、信頼性と可用性のベンチマークを頻繁に実施する必要があります。これらのベンチマークは再現可能で、システムの信頼性、信頼性、および可用性を公平に測定できるものでなければなりません。
参照
参考文献
- ^ Brown, Aaron (2001 年 6 月)。「Undo によるヒューマン エラーへの対処」(PDF)。ROC リトリート。2020 年2 月 24 日閲覧。
外部リンク
- バークレー/スタンフォードリカバリ指向コンピューティング(ROC)プロジェクトの公式ウェブサイト。現在までに研究、人物、出版物、講演、リトリート、プロジェクトに関する情報が掲載されています。
