# ディペンダビリティ
## 定義
ディペンダビリティ(dependability)とは、「正当に信頼できるサービスを提供する能力」であり、可用性(availability)・信頼性(reliability)・安全性(safety)・完全性(integrity)・保守性(maintainability)を属性として包含する統合概念である。セキュリティは機密性(confidentiality)・完全性・可用性の合成であり、ディペンダビリティのサブセットとして位置づけられる。(Source: [[@2004__TDSC__Basic Concepts and Taxonomy of Dependable and Secure Computing]] §2.3)
代替定義: 「許容範囲を超える頻度・深刻度のサービス失敗を避ける能力」。この定義からディペンダビリティ失敗(dependability failure)概念が導かれる。ディペンダビリティへの脅威は**障害(fault)→エラー(error)→失敗(failure)** の基本連鎖で記述される。(Source: [[@2004__TDSC__Basic Concepts and Taxonomy of Dependable and Secure Computing]] §2.2, §4.1)
達成手段は障害防止(fault prevention)・フォールトトレランス(fault tolerance)・障害除去(fault removal)・障害予測(fault forecasting)の 4 カテゴリに集約される。
### 属性の一覧
| 属性 | 定義 | 対象 |
|---|---|---|
| 可用性(availability) | 正規サービスの提供準備が整っている状態 | Dep + Sec |
| 信頼性(reliability) | 正規サービスの継続性 | Dep |
| 安全性(safety) | 壊滅的結果の不在 | Dep |
| 完全性(integrity) | 不適切なシステム改変の不在 | Dep + Sec |
| 保守性(maintainability) | 修正と修繕を受け入れる能力 | Dep |
| 機密性(confidentiality) | 情報の不正開示の不在 | Sec |
### 障害タクソノミーの概要
8 基本視点(フェーズ・ドメイン・境界・自然/人為・意図・目的・故意性・能力)から 31 複合障害クラスを定義。主な上位グループ: 開発障害 / 物理障害 / 相互作用障害(§3.2)。
### 信頼(trust)の形式化
依存(dependence): システム A のディペンダビリティがシステム B のそれによってどれだけ影響を受けるかの程度。信頼(trust)は受け入れられた依存関係(accepted dependence)として形式化できる。(§4.2)
## 横断的知見
- **「障害防止・フォールトトレランス・障害除去・障害予測」という 4 手段の体系は SRE の実践と対応関係にある**: [[SRE]] の「エラーバジェット」はディペンダビリティ属性の定量化に相当し、「トイル管理」は障害防止に、「緊急対応 (oncall)」は障害除去に、「信頼性テスト」は障害予測に対応すると読める。(Source: [[@2004__TDSC__Basic Concepts and Taxonomy of Dependable and Secure Computing]], [[@2016__OReilly__SRE Book - Chapter 3 Embracing Risk]])
- **「脆弱性(vulnerability)は外部障害がシステムを侵害するのを可能にする内部障害」という定義は、[[メタ安定障害]] の構造と共鳴する**: メタ安定障害は「通常は無害なトリガを壊滅的な失敗に増幅する内部状態の特性」であり、Avizienis 2004 の vulnerability 概念の特殊ケースと見なせる。(Source: [[@2004__TDSC__Basic Concepts and Taxonomy of Dependable and Secure Computing]] §2.2; [[メタ安定障害]])
- **現代の [[障害緩和]] 研究はディペンダビリティの「達成手段」のうちフォールトトレランス+障害除去の境界領域に位置する**: AIOps の緩和(SRE の oncall 対応)は「実行時の障害除去」と「フォールトトレランスの一形態(サービス継続しながら修復)」の両方の性質を持ち、どちらに分類されるかは修復の「外部エージェント(人/エージェント)の関与」の有無で変わる。
- **ディペンダビリティの抽象タクソノミーは、DfR と FRACAS によって実務プロセスへ落ちる**: Avizienis 2004 は可用性・信頼性・安全性・完全性・保守性と、障害防止・フォールトトレランス・障害除去・障害予測の概念地図を与える。[[wiki/entities/Practical Reliability Engineering|Practical Reliability Engineering]] は同じ地図を、[[Design for Reliability]](要求→設計→解析→検証→妥当性確認→制御)と [[FRACAS]](故障報告→解析→是正処置→再試験)という実務の閉ループに変換する。(Source: [[@2004__TDSC__Basic Concepts and Taxonomy of Dependable and Secure Computing]], [[wiki/entities/Practical Reliability Engineering|Practical Reliability Engineering]])
- **Heimerdinger+Weinstock 1992 の「障害回避的措置(fault evasion)」は Avizienis 2004 の4手段タクソノミーと並列して解釈できる事前対応型アプローチである**: [[@1992__CMU SEI__A Conceptual Framework for System Fault Tolerance]] は Avizienis 2004 と同じ4手段のうち「フォールトトレランス」の実行時対応を「fault tolerance(動作継続)」と「fault evasion(仕様違反前の予防的再構成)」の2つに分割する。Avizienis の「障害予測(fault forecasting)」が将来の障害を予測するのに対し、fault evasion は「現在の正常範囲逸脱を検知して即時対処する」点が異なる。この概念は 30 年後に AIOps のプロアクティブカテゴリ([[プロアクティブ障害管理]])として再実装されることになる。(Source: [[@1992__CMU SEI__A Conceptual Framework for System Fault Tolerance]] §2.2.4, [[@2004__TDSC__Basic Concepts and Taxonomy of Dependable and Secure Computing]] §5.1)
- **Salfner+ 2010 は Avizienis 2004 の fault → error → failure 3 段階連鎖を symptom と undetected/detected 区別を加えた 5 段階に拡張した**: [[A Survey of Online Failure Prediction Methods]] §2.1 は (i) 検出された error と検出されない error を明示分離し、(ii) error の副作用として現れる「out-of-norm な振る舞い」を **symptom** と命名した(本論文 Figure 3)。これにより fault は testing、undetected error は auditing、symptom は monitoring、detected error は reporting、failure は tracking で可視化できるという技法対応が成立し、オンライン障害予測手法の入力データ系統(failure tracking / symptom monitoring / detected error reporting / undetected error auditing)を直接導く。Avizienis 2004 が「失敗連鎖の意味論」を与えたのに対し、Salfner+ 2010 は「連鎖を計測する技法と入力データ系統の対応」を与えた。両者は補完関係。(Source: [[@2004__TDSC__Basic Concepts and Taxonomy of Dependable and Secure Computing]] §3.1-§3.2, [[A Survey of Online Failure Prediction Methods]] §2.1 §4)
- **『Observability Engineering』第2版はAvizienis 2004の6属性(可用性・信頼性・保守性・安全性・機密性・完全性)フレームワークに「オブザーバビリティ」を第7の属性として加えることを提案し、Laprie系譜のディペンダビリティ研究とオブザーバビリティ研究を明示的に接続する**: [[@2026__OReilly__Observability Engineering 2E - Chapter 1 What Is Observability?]] は Jean-Claude Laprie の1995年ディペンダビリティ枠組み(Avizienis 2004 が体系化した6属性と同系譜)を引用し、「任意のシステム状態を理解・デバッグできる能力」としてのオブザーバビリティをこのリストに加えるべきだと主張する。Avizienis 2004 が定義する障害防止・フォールトトレランス・障害除去・障害予測という4つの達成手段は、いずれも「障害の存在を前提に、その影響を防ぐ・耐える・除く・予測する」という受動的な構えを取るのに対し、オブザーバビリティの追加提案は「未知の障害状態を能動的に理解できる能力」という、既存4手段のどれにも収まらない次元を持ち込む。クラウド時代のマイクロサービス化により「部分的な劣化」という第三の障害状態が支配的になり、モニタリングが「どこで」は示せても「なぜ」は示せなくなったことが、この新属性の追加を動機づけている。(Source: [[@2004__TDSC__Basic Concepts and Taxonomy of Dependable and Secure Computing]], [[@2026__OReilly__Observability Engineering 2E - Chapter 1 What Is Observability?]])
- **Hidalgo は Avizienis 2004 と同じ「信頼性は既存の工学分野からの借用である」という系譜認識を、実務者向けの比喩で独立に追認する**: [[@2023__OReillyJapan__SLO サービスレベル目標 - Chapter 2 信頼性についての考え方]] §2.1 は、信頼性工学(Reliability Engineering)を安全工学(Safety Engineering)・レジリエンス工学(Resilience Engineering)・要求工学(Requirements Engineering)と並ぶ、コンピューターシステムより古い歴史を持つ確立された分野として位置づけ、「橋が足元で崩壊しないと確信できるのは信頼性工学・安全工学があるからだ」と述べたうえで、SLO に基づくアプローチは新しい発明ではなくこれらの分野の知見の応用にすぎないと明言する。Avizienis 2004 は可用性・信頼性・安全性・完全性・保守性を包含する統合概念として学術的にディペンダビリティを体系化したのに対し、Hidalgo は同じ「信頼性は単一分野の発明ではなく既存の工学的伝統の応用である」という認識を、実務入門書の文脈で独立に到達している。両者は学術タクソノミーと実務者の直感的説明という異なる形式でありながら、信頼性を孤立した新概念として扱わない点で収束する。(Source: [[@2004__TDSC__Basic Concepts and Taxonomy of Dependable and Secure Computing]], [[@2023__OReillyJapan__SLO サービスレベル目標 - Chapter 2 信頼性についての考え方]])
- **Avizienis 2004 のタクソノミーの骨格は、実は Laprie 自身による 1996 年時点の定式化にすでに存在し、2004 年論文はその 8 年後の精緻化にあたる**: [[@1996__McGrawHill__Handbook of Software Reliability Engineering - Chapter 2 Software Reliability and System Reliability]] §2.2 は、[[Jean-Claude Laprie]] が共著者 [[Karama Kanoun]] とともに、障害(impairments: fault/error/failure)・属性(attributes: availability/reliability/safety/confidentiality/integrity/maintainability の6属性)・手段(means: fault prevention/removal/tolerance/forecasting の4手段)という3軸構造をすでに提示している。この3軸構造・6属性・4手段はいずれも [[@2004__TDSC__Basic Concepts and Taxonomy of Dependable and Secure Computing]] の枠組みと同一であり、Avizienis 2004 が「新規に」体系化したのではなく、Laprie が 1990 年代前半から主導してきた定式化(1992年の用語集編纂を含む)を、Avizienis・Randell・Landwehr との共著でさらに精緻化・英語圏の標準として確立したものであることが分かる。一方で、障害(fault)の分類は 1996 年時点では5視点(nature/phenomenological cause/system boundaries/phase of creation/persistence)から7クラス(physical faults/transient faults/intermittent faults/design faults/interaction faults/malicious logic/intrusions)を導くにとどまり、2004年論文の8視点31クラスに比べて粗い。この差は、2004年論文執筆までの8年間でセキュリティ(intrusions/malicious logic)の扱いが大幅に精緻化されたことを反映していると考えられる。(Source: [[@1996__McGrawHill__Handbook of Software Reliability Engineering - Chapter 2 Software Reliability and System Reliability]] §2.2.1-§2.2.2, [[@2004__TDSC__Basic Concepts and Taxonomy of Dependable and Secure Computing]] §2, §3.2)
- **1996年の Laprie&Kanoun は、validation を「fault removal と fault forecasting の統合」として位置づけ、この統合から「validation の validation」という再帰的問題を導く。この再帰性への注目は、2004年論文には引き継がれない独自の視点である**: 1996年本章 §2.2.4 は、fault removal(「正しいシステムを作っているか」)と fault forecasting(「それがどれだけ長く正しいままか」)を validation という単一概念にまとめ、この統合ゆえに coverage(検証状況の実際の運用状況に対する代表性)の重要性、さらには「検証に使う手法・ツール自体の信頼性をどう検証するか」という再帰的な問題が生じると論じる。この再帰性への明示的な着目は、属性・手段・障害の3軸構造を静的に提示する2004年論文の記述には見られない、1996年本章に固有の観察であり、後の [[障害注入]] における「テスト自体の代表性」の議論の先駆けと見なせる。(Source: [[@1996__McGrawHill__Handbook of Software Reliability Engineering - Chapter 2 Software Reliability and System Reliability]] §2.2.4)
- **同一書籍の編者(Lyu, 第1章)と分担執筆者(Laprie & Kanoun, 第2章)は、「誤り(error)」の二義性という同じ現象に触れながら、その扱い方が対照的である**: [[@1996__McGrawHill__Handbook of Software Reliability Engineering - Chapter 1 Introduction]] §1.4 は誤り(error)を「(1) 計算値・観測値と真値の乖離」「(2) フォールトを埋め込む人間の行為」という2義に**明示的に**分けたうえで、(2) は「mistake という語を使うのが望ましい」と述べて用語の混同を戒める。一方 [[@1996__McGrawHill__Handbook of Software Reliability Engineering - Chapter 2 Software Reliability and System Reliability]] §2.2.2 は「誤り」を「後続の故障につながりうるシステム状態の一部」という(1)の意味だけで形式的に定義しているにもかかわらず、直後の例示では "The result of a programmer's error is a (dormant) fault"、"A maintenance or operating manual writer's error may result in a fault" のように、フォールトを生む**人間の行為**の意味で「誤り」を無自覚に使っており、Lyu が意図的に回避した二義性を Laprie & Kanoun 自身が実例の中で踏襲してしまっている。形式的な定義の厳密さでは第2章が優るが、用語運用の一貫性では第1章の方が自覚的である、という非対称な関係が見える。(Source: [[@1996__McGrawHill__Handbook of Software Reliability Engineering - Chapter 1 Introduction]] §1.4, [[@1996__McGrawHill__Handbook of Software Reliability Engineering - Chapter 2 Software Reliability and System Reliability]] §2.2.2)
- **Lyu の「欠陥(defect)」概念に対応する上位概念は、Laprie & Kanoun の impairments タクソノミーには存在しない**: 第1章 §1.4 は「フォールトと故障の区別が重要でない場面で使う包括語」として defect を導入し、この語は第9章(直交欠陥分類、ODC)の議論の土台になる。第2章 §2.2 の impairments to dependability(Fig 2.1・2.2)は fault・error・failure を並列な3カテゴリとして定義するのみで、2つ以上を束ねる包括語を持たない。これは矛盾ではなく、Lyu の defect が「実務上どの段階の問題かを厳密に区別しない、ODC のような分類作業に向けた実用語」であるのに対し、Laprie & Kanoun の impairments タクソノミーは「段階を厳密に区別すること自体」を目的とする理論的枠組みであるという、両章の目的の違いを反映していると解釈できる。(Source: [[@1996__McGrawHill__Handbook of Software Reliability Engineering - Chapter 1 Introduction]] §1.4, [[@1996__McGrawHill__Handbook of Software Reliability Engineering - Chapter 2 Software Reliability and System Reliability]] §2.2)
> [!contradiction] フォールト→故障の因果連鎖: 第1章と第2章で粒度が食い違う
> 第1章(Lyu, §1.4)は "In summary, a software failure is an incorrect result with respect to the specification or an unexpected software behavior perceived by the user... while a software fault is the identified or hypothesized cause of the software failure." と要約しており、フォールト(fault)が誤り(error)を経ずに直接故障(failure)の原因として位置づけられる(フォールト→故障の二段階連鎖)。誤り(error)は「計算値・観測値と真値の乖離」または「フォールトを埋め込む人間の行為」という2義を持つ補助的な用語として別立てで定義され、fault-tolerant computing の文脈に限り "an intermediate stage in between faults and failures" として中間段階に言及されるにとどまる(必須の構成要素としては扱われない)。(Source: ch.1 §1.4)
> 第2章(Laprie & Kanoun, §2.2.2)は "A fault is active when it produces an error"、"A failure occurs when an error passes through the system-user interface and affects the service delivered by the system" と定義し、フォールト→誤り→故障(fault → error → failure)の三段階連鎖を必須・基幹の構造として提示する。この体系ではフォールトが誤りを経ずに直接故障を生む経路は定義上存在しない。この三段階連鎖は本ページ上部で述べた Avizienis 2004(2004年論文)の fault→error→failure 連鎖の直接の前身であり、Salfner+ 2010 の5段階拡張も同じ骨格を継承している。(Source: ch.2 §2.2.2, Fig 2.1・2.2)
> 第1章 §1.5 は Laprie の枠組み([Lapr85a],[Avi86a])に依拠すると明言し、詳細は「第2章 §2.2 を見よ」と読者を誘導しているにもかかわらず、自章の定義の要約文ではその三段階連鎖を踏襲していない。同一書籍内で編者(Lyu)と分担執筆者(Laprie & Kanoun)の因果連鎖の粒度が食い違っている。(Source: [[@1996__McGrawHill__Handbook of Software Reliability Engineering - Chapter 1 Introduction]] §1.4, [[@1996__McGrawHill__Handbook of Software Reliability Engineering - Chapter 2 Software Reliability and System Reliability]] §2.2.2)
- **本書第1章が与える信頼性の定義(「規定の条件下で規定の期間にわたり要求機能を故障せずに遂行する確率」)は、対象が「工学製品」か「サービス」かという違いを除けば、Avizienis 2004 の信頼性属性の定義(「正規サービスの継続性」)と同型である**: 両者とも信頼性を時間軸上の連続性・生存確率として定義する点で一致する。ただし本書第1章は信頼性工学の目的を「防止→是正→対処→予測」という優先順位で経験的に序列化するのに対し、Avizienis 2004 は障害防止・フォールトトレランス・障害除去・障害予測を並列な4手段として体系化するにとどまり、優先順位を与えない。工学製品を対象とする本書が防止を最優先に置く実務的な序列化を行う一方、コンピューティングシステムを対象とするディペンダビリティタクソノミーは中立的な分類にとどまる、という対比が見える。(Source: [[@2012__Wiley__Practical Reliability Engineering - Chapter 1 Introduction to Reliability Engineering]] §1.1, [[@2004__TDSC__Basic Concepts and Taxonomy of Dependable and Secure Computing]])
- **計算機アーキテクチャの教科書は、SLAを起点とする「サービス達成/サービス中断」の2状態モデルとMTTF/MTTR/FITの定量公式を、Laprie系譜のfault→error→failure連鎖・O'Connorのinherent availability式とは独立に定式化しており、両者は「非冗長系の可用性=MTTF/(MTTF+MTTR)」という同一の式に収束する**: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 1 Fundamentals of Quantitative Design and Analysis]] §1.7は、SLA(サービスレベル合意)を基準にシステムを「サービス達成」「サービス中断」の2状態間の遷移としてとらえ、信頼性をMTTF(平均故障間隔、その逆数がFIT=10億時間あたり故障数)、修理可能性をMTTR(平均修理時間)で定量化する。非冗長系の可用性の式Module availability=MTTF/(MTTF+MTTR)は、[[可用性]]概念がまとめる[[wiki/entities/Practical Reliability Engineering|Practical Reliability Engineering]]の固有可用性$A_I=\mathrm{MTBF}/(\mathrm{MTBF}+\mathrm{MTTR})$と数式上完全に一致する。計算機アーキテクチャ・信頼性工学という異なる工学分野の教科書が、Laprie系譜のfault→error→failure連鎖という媒介なしに同一の定量式へ独立に到達している点は、この式が特定分野の理論体系に依存しない汎用的な定量的道具であることを示唆する。ただし本書はAvizienis 2004のような属性(可用性・信頼性・安全性・完全性・保守性)や達成手段(防止・トレランス・除去・予測)のタクソノミーを持たず、MTTF/MTTR/FITという計算のための最小限の語彙のみを導入する点で、他ソースより薄い理論的厚みにとどまる。(Source: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 1 Fundamentals of Quantitative Design and Analysis]] §1.7, [[@2012__Wiley__Practical Reliability Engineering - Chapter 16 Maintainability, Maintenance and Availability]] §16.2.1)
- **本書の冗長化MTTF近似式$\mathrm{MTTF}_{pair}=\mathrm{MTTF}^2/(2\times\mathrm{MTTR})$は、Amdahlの法則の「一部分の改善が全体に寄与する割合による上限」という一般原理の具体例として、性能領域を超えたディペンダビリティへの応用を提供する**: §1.7は電源の冗長化によってMTTFが単一電源比で約4150倍(200,000時間→約830,000,000時間)に改善する計算例を示し、続く§1.9はこの改善を[[アムダールの法則]]の枠組みに当てはめ、系全体のディペンダビリティ改善対象の寄与割合が22%(23,000FITのうち5,000FIT分)にとどまるため、劇的な単一コンポーネント改善にもかかわらず系全体の信頼性向上はわずか1.28倍に減殺されると計算する。これは「単一障害点(single point of failure)」という信頼性工学の一般原則——最も弱いコンポーネントが系全体のディペンダビリティを規定する——を、Amdahlの法則という定量的枠組みで裏付ける具体例であり、ディペンダビリティ向上への投資判断において「どのコンポーネントが系全体への寄与割合が大きいか」を先に特定すべきだという設計指針を導く。(Source: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 1 Fundamentals of Quantitative Design and Analysis]] §1.7, §1.9, §1.11)
- **Appendix Dのfault→error→failure連鎖は、本文が引く1996年のLaprie&Kanounの定式化を、書名を明示して直接継承しており、この用語系譜がストレージ工学の教科書にまで一貫して流れ込んでいることを裏づける**: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Appendix D Storage Systems]] §D.3は「Laprie [1985] and Gray and Siewiorek [1991]」の用語法に基づくと明記したうえで、「障害(fault)は潜在エラー(latent error)を生み、活性化されると有効エラー(effective error)になり、サービスに影響すると故障(failure)が生じる」という定義と、Gray and Siewiorekによる障害原因の4分類(ハードウェア障害・設計障害・運用障害・環境障害)を提示する。この4分類は、本ページ既出のAvizienis 2004(2004年論文)・Laprie & Kanoun 1996(既存の横断的知見参照)が体系化してきたfault→error→failure連鎖と同一の骨格であり、計算機アーキテクチャという実務寄りの教科書even 2019年時点でもLaprie系譜の用語をそのまま継承していることを示す。ただしH&Pは属性(可用性・信頼性等)・達成手段(防止・トレランス・除去・予測)のタクソノミーには立ち入らず、障害原因の4分類とfault→error→failure連鎖という最小限の骨格だけを実務的に切り出して使っている。(Source: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Appendix D Storage Systems]] §D.3, [[@2004__TDSC__Basic Concepts and Taxonomy of Dependable and Secure Computing]] §2.2)
- **「components fail fast」という仮定への反証(Tertiary Disk)は、Avizienis 2004のfault→error→failure連鎖が理論上は瞬時の遷移として描く箇所に、実測データで「潜在エラーの活性化から故障宣告までが長時間の異常挙動として観測される」という時間的な厚みを与える**: H&P §D.9はTertiary Disk(368台のSCSIディスクを含む20台PCクラスタ)の実測から、故障とみなされた4台のディスクが、システムログに数百件のエラーメッセージを最大186時間にわたって記録し続けたのちに運用者が交換を決めたことを示す(図D.20)。ほぼすべての故障がまず一過性障害(transient fault)として現れ、運用者が「解雇(fired)」を判断するまで動作し続けたという記述は、本ページが集約するfault→error→failure連鎖(既出)が抽象的には「潜在エラーの活性化」「サービスへの影響」という離散的な遷移として描く過程が、実運用では長時間にわたる観測可能なプロセスであることを、具体的なログデータで裏づける一次資料である。(Source: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Appendix D Storage Systems]] §D.9, [[@2004__TDSC__Basic Concepts and Taxonomy of Dependable and Secure Computing]] §2.2)
- **Tertiary DiskとTandemの実測データは、Avizienis 2004の障害4分類(ハードウェア・設計・運用・環境)のうち「運用障害」が支配的になっていく経年変化を、独立した2つのシステムで裏づける**: H&P §D.3は、Tertiary Disk(2000年、UC Berkeley)でディスク以外の部品(SCSIケーブル・バックプレーン・Ethernetスイッチ)がディスク本体と同等以上に故障したこと、Tandem Computers(Gray [1990]、1985〜1989年)でハードウェア障害の比率が29%から7%へ低下する一方ソフトウェア障害が34%から62%へ増大したこと、FCCの通信障害報告(1992〜2001年)で人的過誤起因の顧客停止時間割合が約1/3から2/3へ増加したことを列挙し、複数の独立データが「大規模システムの故障の主因は運用者の過誤である」という結論に収束すると述べる。これは、Avizienis 2004が障害原因を4分類として並列に提示するのみで優先順位を与えないのに対し(既存の横断的知見参照)、実測データが時代とともに運用障害・設計障害(ソフトウェア)の相対的な重みを増大させているという、タクソノミーだけでは見えない経年的なトレンドを補う。(Source: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Appendix D Storage Systems]] §D.3, [[@2004__TDSC__Basic Concepts and Taxonomy of Dependable and Secure Computing]] §3.2)
- **Salfner+ 2010 の時間軸4変数(t_d・t_l・t_p・t_w)は、計算機アーキテクチャ教科書のMTTF/MTTR/FITが与える「長期・事後的な」ディペンダビリティ定量化とは向きが逆の、「短期・事前的な」定量化の語彙である**: [[@2010__ACM CSUR__A Survey of Online Failure Prediction Methods - Chapter 2 Definitions]] §2.2 は、データウィンドウ長 t_d(観測に使う過去データの範囲)・リードタイム t_l(現在から予測対象の障害までの先読み時間)・予測期間 t_p(予測が有効とみなされる時間区間)・最小警告時間 t_w(予防的対処に最低限必要な時間、t_l > t_w が要件)という4変数で「これから起きる障害にどれだけ早く気づき、対処時間を確保できるか」を定量化する。これに対し [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 1 Fundamentals of Quantitative Design and Analysis]] §1.7 の可用性式 MTTF/(MTTF+MTTR) は、障害が実際に起きたあとの平均修理時間(MTTR)を用いて系の定常的な可用性を統計的に事後評価する。両者はいずれも「障害後にどれだけ早く復旧できるか(MTTR)」対「障害前にどれだけ早く気づけるか(t_l)」という、ディペンダビリティ改善の異なる作用点を測る指標であり、Salfner+ 2010 自身が §1.2 でプロアクティブ障害管理(オンライン障害予測 → 診断 → 対処スケジューリング → 対処実行)を「フォールトトレランス機構が新しい計算アーキテクチャの複雑性に追いつけなくなったことへの対応」と位置づけている点は、MTTR短縮という事後的対処の限界を、事前の t_l 確保によって補おうとする狙いとして読める。(Source: [[@2010__ACM CSUR__A Survey of Online Failure Prediction Methods - Chapter 2 Definitions]] §1.2, §2.2, [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 1 Fundamentals of Quantitative Design and Analysis]] §1.7)
- **Salfner+ 2010 第1章の根本原因分析(root cause analysis)対 障害予測(failure prediction)という時間軸の対比は、Avizienis 2004 のディペンダビリティ達成手段タクソノミーにおける「障害除去(fault removal)」対「障害予測(fault forecasting)」の対比と同型である**: [[@2010__ACM CSUR__A Survey of Online Failure Prediction Methods - Chapter 1 Introduction]] §1.1 は、観測された誤動作の原因(過去の fault)を特定する根本原因分析と、その誤動作が将来の故障につながるリスクを評価する障害予測(未来方向)を、Figure 1 で明示的に対比する。この「過去を説明する」対「未来を評価する」という切り分けは、本ページ上部で述べた Avizienis 2004 の4手段タクソノミー(障害防止・フォールトトレランス・障害除去・障害予測)のうち、障害除去(既に存在する障害を発見し取り除く、過去志向)と障害予測(将来の障害発生確率を評価する、未来志向)の対比にそのまま対応する。Avizienis 2004 が手段を並列に列挙するのに対し、Salfner+ 2010 は障害予測の側だけを取り出し、その内部をさらに t_d・t_l・t_p・t_w という時間軸で精緻化する点で補完的である。(Source: [[@2010__ACM CSUR__A Survey of Online Failure Prediction Methods - Chapter 1 Introduction]] §1.1, [[@2004__TDSC__Basic Concepts and Taxonomy of Dependable and Secure Computing]] §5.1)
## 未解決の問い
- ディペンダビリティの「定量的な」達成度はどう測るか。Avizienis 2004 は「許容範囲を超える頻度・深刻度の失敗」という枠組みを提供するが、頻度・深刻度の具体的な計測手法は「さらなる精緻化が必要」と論文自身が認める。SLO/SLA とディペンダビリティ仕様はどのように対応づけられるか。[[エラーバジェット]] は属性ごとの「許容可能な失敗量」の運用的表現と見なせるが、安全性(safety)や機密性(confidentiality)のように確率論的な目標設定が馴染まない属性をどう扱うか。
- ディペンダビリティとセキュリティの「共通尺度」は 2004 年時点で未解決とされた。現在の状況は。攻撃者の能力を確率論的にモデル化するセキュリティ評価の枠組みはどこまで進んでいるか。
- 「信頼(trust)= 受け入れられた依存関係」という定義は、AI エージェントがインフラを操作する [[agentic SRE]] において何を意味するか。エージェントへの信頼のレベル付け([[SRE AI Autonomy Levels]])はこの形式的定義の上に構築できるか。
- 「コンピテンシー欠如(incompetence)」は人為的障害クラスとして分類されたが、AI/ML モデルが開発・運用に組み込まれた場合にどのカテゴリに属するか。意図的でなく非悪意の開発障害として扱うべきか。
- ソフトウェアエージング(software aging)は開発障害クラスの特殊ケースとして分類されたが、LLM 推論・継続学習における「モデルの劣化」はどの障害クラスに相当するか。([[ソフトウェアエイジング]] で詳細に追跡)
- カバレッジ(coverage)の概念は「フォールトトレランス有効性の尺度」として定義されるが、AI エージェントが診断・修復を実施する場合のカバレッジをどう定量化するか。
- **「オブザーバビリティを第7属性として加える」という2026年の提案は、Avizienis 2004 のタクソノミー(属性・脅威・達成手段の三層構造)のどこに位置づくか**: 新属性として並列に追加するだけで済むのか、それとも「達成手段」(障害防止・フォールトトレランス・障害除去・障害予測)の側にも「オブザーバビリティ」に相当するカテゴリを新設する必要があるのか。オブザーバビリティは他の6属性(可用性・信頼性・保守性・安全性・機密性・完全性)と異なり、それ自体は「サービスの性質」ではなく「サービスの性質を知る能力」であるという点で範疇が異なるようにも見え、既存タクソノミーへの形式的な統合はまだ試みられていない。(Source: [[@2004__TDSC__Basic Concepts and Taxonomy of Dependable and Secure Computing]], [[@2026__OReilly__Observability Engineering 2E - Chapter 1 What Is Observability?]])
- **計算機アーキテクチャの教科書(§1.7・§1.9)が使うMTTF/MTTR/FITという最小限の語彙は、Avizienis 2004の属性・脅威・達成手段の三層タクソノミーのどこに位置づくか**: 本書はAvizienis 2004のような理論的な分類体系を持たず、計算のための定量式のみを提供する。工学分野が異なれば同じ現象(MTTF/MTTRからの可用性計算)にどれだけ異なる理論的厚みを与えるか、という比較の材料として、計算機アーキテクチャ・信頼性工学・ディペンダブルコンピューティングの3分野の記述の厚みを横断的に整理する余地がある。
- **「validation の validation」という 1996 年の再帰的問題提起は、2026 年時点でどこまで解決されたか**: [[@1996__McGrawHill__Handbook of Software Reliability Engineering - Chapter 2 Software Reliability and System Reliability]] §2.2.4 が指摘する「検証手法・ツール自体の信頼性をどう検証するか」という問題は、fault removal と fault forecasting を統合する validation 概念に内在する。AI エージェントが自らの診断・修復を検証する [[agentic SRE]] の文脈では、エージェント自身の判断の妥当性を誰がどう検証するかという同型の再帰的問題が生じる。1996 年の coverage 概念(検証状況の実運用に対する代表性)は、エージェントの検証能力の evaluation coverage としてそのまま転用できるか。
- **最小警告時間 t_w(対処に要する最小準備時間)は、MTTR系の実務指標とどう対応づけられるか**: [[@2010__ACM CSUR__A Survey of Online Failure Prediction Methods - Chapter 2 Definitions]] §2.2 は t_w を「予防的・準備的対処に最低限必要な時間」とのみ定義し、具体的にどう見積もるかは触れていない(第3章以降の評価指標議論でも扱われるか要確認)。もし t_w が対処の種類ごとの所要時間から決まるなら、[[可用性]] 概念が集約するMTTR(平均修理時間)の実測値・分布が t_w の見積もりに転用できる可能性がある。障害予測(未来志向・t_l確保)と修復(過去志向・MTTR短縮)という2つの改善レバーを同一の時間単位で比較評価する枠組みは、本論文にも他の既存ソースにもまだ現れていない。
## 関連
- ソース: [[@2004__TDSC__Basic Concepts and Taxonomy of Dependable and Secure Computing]] / [[wiki/entities/Practical Reliability Engineering|Practical Reliability Engineering]] / [[@2012__Wiley__Practical Reliability Engineering - Chapter 1 Introduction to Reliability Engineering]] / [[A Survey of Online Failure Prediction Methods]] / [[@2010__ACM CSUR__A Survey of Online Failure Prediction Methods - Chapter 1 Introduction]] / [[@2010__ACM CSUR__A Survey of Online Failure Prediction Methods - Chapter 2 Definitions]] / [[@1992__CMU SEI__A Conceptual Framework for System Fault Tolerance]] / [[@2026__OReilly__Observability Engineering 2E - Chapter 1 What Is Observability?]] / [[@2023__OReillyJapan__SLO サービスレベル目標 - Chapter 2 信頼性についての考え方]] / [[@1996__McGrawHill__Handbook of Software Reliability Engineering - Chapter 2 Software Reliability and System Reliability]] / [[@1996__McGrawHill__Handbook of Software Reliability Engineering - Chapter 1 Introduction]] / [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 1 Fundamentals of Quantitative Design and Analysis]] / [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Appendix D Storage Systems]]
- 概念: [[ソフトウェア耐障害性]] / [[障害緩和]] / [[障害注入]] / [[メタ安定障害]] / [[可用性]] / [[SRE]] / [[agentic SRE]] / [[障害予測]] / [[プロアクティブ障害管理]] / [[ソフトウェアエイジング]] / [[オブザーバビリティ]] / [[信頼性工学]] / [[バスタブ曲線]] / [[システム信頼性モデル]] / [[アムダールの法則]]
- 人物: [[Algirdas Avizienis]] / [[Jean-Claude Laprie]] / [[Brian Randell]] / [[Carl Landwehr]] / [[Felix Salfner]] / [[Miroslaw Malek]] / [[Karama Kanoun]]
- 組織: [[IFIP WG 10.4]] / [[LAAS-CNRS]] / [[Humboldt University of Berlin]]
- 関連 MOC: [[structures/SRE - MOC]]
## 出典
- [[@2004__TDSC__Basic Concepts and Taxonomy of Dependable and Secure Computing]](全文: §2〜§5, 図 1・2・11・14・22)
- [[wiki/entities/Practical Reliability Engineering|Practical Reliability Engineering]](ch.1 §1.1, ch.7, ch.12 §12.6, ch.17)
- [[A Survey of Online Failure Prediction Methods]](§2.1 fault/error/symptom/failure の 5 段階連鎖と可視化技法対応・Figure 3)
- [[@2010__ACM CSUR__A Survey of Online Failure Prediction Methods - Chapter 1 Introduction]](§1.1 根本原因分析と障害予測の時間軸対比・Figure 1、§1.2 プロアクティブ障害管理)
- [[@2010__ACM CSUR__A Survey of Online Failure Prediction Methods - Chapter 2 Definitions]](§2.2 オンライン予測の時間軸4変数 t_d/t_l/t_p/t_w の定義・Figure 4)
- [[@1992__CMU SEI__A Conceptual Framework for System Fault Tolerance]](§2.2 障害回避的措置、§3.2 障害/失敗の定義、§4 冗長性管理機構)
- [[@2026__OReilly__Observability Engineering 2E - Chapter 1 What Is Observability?]](Laprie 1995 の6属性へオブザーバビリティを第7属性として追加する提案、Kálmán 1960 の制御理論的起源)
- [[@2023__OReillyJapan__SLO サービスレベル目標 - Chapter 2 信頼性についての考え方]](信頼性工学を安全工学・レジリエンス工学・要求工学と並ぶ既存分野として位置づける実務者視点)
- [[@2012__Wiley__Practical Reliability Engineering - Chapter 1 Introduction to Reliability Engineering]](信頼性の確率的定義、信頼性工学の目的の優先順位、§1.1)
- [[@1996__McGrawHill__Handbook of Software Reliability Engineering - Chapter 2 Software Reliability and System Reliability]](§2.2 ディペンダビリティの3軸構造の1996年時点の定式化、Fig 2.1・2.2・2.3)
- [[@1996__McGrawHill__Handbook of Software Reliability Engineering - Chapter 1 Introduction]](§1.4 fault/error/failure/defect の用語定義。第2章との突き合わせに使用)
- [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 1 Fundamentals of Quantitative Design and Analysis]](§1.7 SLA・MTTF/MTTR/FIT・冗長化計算例、§1.9 Amdahlの法則によるディペンダビリティ改善の限界)
- [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Appendix D Storage Systems]](§D.3 Laprie・Gray and Siewiorek系譜のfault→error→failure連鎖と障害4分類、Tertiary Disk・Tandemの実測データ、§D.9「components fail fast」の反証)