前置き
複数のシステムの系からなるシステムオブシステムズ(SoS)の設計においては、
個々のシステムの論理的な連携だけでなく、物理的な配置アーキテクチャ(配置モデル)まで含めて考えることが不可欠です。
なぜ物理アーキテクチャが重要なのか
SoSは、独立して運用されるシステム同士が連携することで成り立っています。
そのため、以下の点を物理アーキテクチャレベルで考慮しないと、SoS全体の信頼性、安全性、そして独立性が根本から崩れてしまいます。
1. 爆発半径(Blast Radius)の制御
これが最も重要です。
「仮にこのネットワークセグメントにインシデント(障害やセキュリティ侵害)が起きた場合に、爆発半径は許容できるか?」
を事前に評価・設計する必要があります。
悪い設計
異なるSoS構成システム(例:航空管制システムと気象情報システム)が、セキュリティレベルの考慮なく同じネットワークセグメントに配置されている。
最悪、航空管制システムと気象情報システム、両方ともシステムダウンする可能性があります。
結果
気象情報システムへのサイバー攻撃が、ネットワークを通じて航空管制システムにまで波及し、壊滅的な影響(許容できない爆発半径)を引き起こす可能性があります。
SoSにおける設計
各構成システムを、その重要度や信頼性の要件に基づき、適切なネットワークセグメントに分離し、ファイアウォールで厳格に制御することで、爆発半径を意図した範囲内に封じ込めます。
カオス実験を行う費用がないのなら、せめてこのデプロイメントモデル上での分離の考察はマストにしましょう。
2. 真の運用独立性の確保
SoSの構成システムは、運用上独立していることが前提です。
しかし、物理インフラ(ネットワーク含む)を無計画に共有すると、この独立性が損なわれます。
事例
システムAのネットワーク設定変更(同じセグメント内)が、意図せずシステムBの通信を阻害してしまう。
SoSにおける設計
配置モデルを考えることで、各システムが他のシステムから予期せぬ物理的干渉を受けないように、ネットワークレベルでの分離(セグメント化)を設計します。
3. パフォーマンスとレイテンシーの考慮
SoSの創発的な挙動は、構成システム間の通信に依存します。
事例
リアルタイム性が要求されるSoS(例:自動運転車群)において、
連携するシステム同士が物理的に遠く離れたネットワークセグメントに配置されていると、
レイテンシーが原因で期待通りの性能が出ない可能性があります。
SoSにおける設計
配置図(Deployment Diagram)を用いて、通信頻度やレイテンシー要件に基づき、物理的な近接性を考慮した配置を行います。
結論
SoSのアーキテクチャを考える際には、UMLの配置図のようなモデルを用いて、
どのサービスコンポーネント(どの構成システムの一部)を、
どの物理ノード(サーバー、ネットワークセグメント)に配置し、
その配置がもたらす影響(特に爆発半径とレイテンシー)
を評価・設計することが、SoS全体の 非機能要件(信頼性、安全性、性能) を満たす上で絶対に不可欠です。