車載マルチメディア・ネットワーク「MOST」の設計ノウハウ ──ロバスト性の高いシステムを構築するためのハード/ソフト開発術
●一つのノードがダウンしてもネットワーク全体は機能
システムのロバスト性を高めるには,例えばある装置のマイクロコントローラがダウンした場合でもネットワーク・システム全体に悪影響を与えないような構成にしなければなりません.図5では,FOTのRXのStatus信号とマイクロコントローラからの電源HOLD信号を入力とするシンプルなゲート回路によって,NICとFOTの電源を制御しています.
FOTのStatus信号の状態をマイクロコントローラを組み込んでポーリングまたは割り込みなどでチェックし,ソフトウェアによってNICやFOTの電源を制御する方法なども考えられます.しかし,パワーON時やネットワークの再起動時にマイクロコントローラに何らかの不ぐあいが発生した場合,NICおよびFOTのTXの電源がONにならないため,光のリングがこの装置で途切れてしまいます.その結果,当該装置だけでなくネットワーク全体がダウンしてしまう可能性があります.
図5のようなゲート回路によってNICとFOTの電源を制御すれば,通常,NICのパワーON時にそのRX信号(入力)がそのままTX信号(出力)へ接続されている状態(「オール・バイパス・モード」と呼ぶ)になります.そのため,マイクロコントローラに不ぐあいがあって起動がうまくいかない場合でも,ネットワーク上のほかの装置の起動に影響を与えずにすみます.
このように,装置に何らかの不ぐあいが発生してもできるだけネットワーク・システム全体にその影響が及ばないように設計することがたいせつです.なぜなら,これはシステム全体のロバスト性だけでなく,不ぐあいが発生したときのデバッグの容易さや問題の切り分けやすさにもかかわってくるからです.