車載システムにおける高信頼性と電力管理機能の実現 ――ソフトウェアにもフェイル・セーフの考えかたが必須
●サービス,アプリケーションの分離とインターフェース
復旧については,その時間によって三つの段階が考えられます(図5).ここでは.3段階のうち1番目の2重化による復旧について考えてみます.
第1段階の2重化したサービスの切り替えであれば,待機しているサービスへの切り替えとなります.そのため,非常に短い切り替え時間を期待できます.ハードウェアも含めて2重化を実現した場合,コストが増大しますが,ソフトウェアの範囲の2重化であれば,専用のハードウェアがなくても実現可能です.
復旧において,2重化による第1段階の解決を行う場合は,サービスとアプリケーションを切り替え可能なインターフェースで分離している必要があります.初めにアプリケーションとサービス1がリンクして動作しているとします(図6).この環境でサービス1が停止した場合,サービス2に切り替えることによってサービスを継続できるようになります.図6において,HA(High
Availability)アタッチメント・コードが切り換え可能なインターフェースの役割を果たしています.
〔図5〕 段階的な復旧
第1段階は2重化したサービスの切り替えによる復旧,第2段階はサービス・プロセスの再起動による復旧,第3段階はOS自体のリブートによる復旧となる.この三つの段階をきちんと実装したシステムが,もっとも信頼性に配慮していると言える.
〔図6〕アプリケーションとサービスを分離する
サービス1が停止した場合,サービス2に切り替えることによってサービスを継続させる.