次に、本発明を実施するための形態について、図面を参照しながら詳細に説明する。
図1は、本発明に係る通信システムの一実施の形態を示し、この通信システム1は、同一の構成を有する複数の通信装置10A及び10Bで構成される。通信システム1では、通信装置10A及び10B間で無線フレーム20の送受信が行われ、この無線フレーム20に含まれる情報に基づき、一方の通信装置において、対向する他方の通信装置におけるファームウェア稼動異常を検出する。そして、一方の通信装置で、検出された異常に対する最適な復旧手段を選択し、対向する他方の通信装置に対して選択された復旧手段を送信することにより、一方の通信装置において、ファームウェア稼動異常を復旧させる。
通信装置10Aは、大別して、MODEM(MOdulator-DEModulator)部11A、信号処理部12A、インターフェース部13A、制御部14A、メモリ15A、ウォッチドッグタイマ16A、復旧制御部17A及び電源瞬停回路18Aを備える。また、通信装置10Bは、通信装置10Aと同様に、MODEM部11B、信号処理部12B、インターフェース部13B、制御部14B、メモリ15B、ウォッチドッグタイマ16B、復旧制御部17B及び電源瞬停回路18Bを備える。尚、通信装置10A及び10Bは、同一の構成を有するため、以下では、通信装置10Aを例にとって説明する。
MODEM部11Aは、対向する通信装置(この例では、通信装置10B)との間で無線等による通信を行い、所定の無線フレーム20の送受信を行う。MODEM部11Aは、後述する信号処理部12Aから供給された無線フレーム20を通信装置10Bに対して送信すると共に、通信装置10Bから受信した無線フレーム20を信号処理部12Aに供給する。
無線フレーム20は、対向局ファームウェアチェックビット21、対向局制御ビット22、無線チェックビット23、及び通信装置10Aと通信装置10Bとの間でやりとりされるデータ24が多重されたフレームである。尚、無線フレーム20の詳細については、後述する。
信号処理部12Aは、MODEM部11Aから供給された無線フレーム20に多重された対向局ファームウェアチェックビット21、対向局制御ビット22及び無線チェックビット23を抽出する。信号処理部12Aは、無線フレーム20から抽出した対向局ファームウェアチェックビット21を後述する制御部14Aに供給すると共に、対向局制御ビット22及び無線チェックビット23を後述する復旧制御部17Aに供給する。
また、信号処理部12Aは、制御部14Aから対向する通信装置10Bに対する復旧手段を示す情報が供給され、この情報を対向局制御ビット22として無線フレーム20に多重し、MODEM部11Aに供給する。さらに、信号処理部12Aは、後述するインターフェース部13Aから供給されたデータ24を無線フレーム20に多重し、MODEM部11Aに供給することもできる。
インターフェース部13Aは、外部に対する信号の入出力を行い、例えば、外部から入力されたデータ24を信号処理部12Aに供給する。
制御部14Aは、例えばCPUであり、装置全体を制御する。制御部14Aは、ファームウェアの動作状態を確認し、ファームウェアが正常に動作している場合に、動作状態を通知するための信号としてのクリアパルスを、後述するウォッチドッグタイマ16Aに対して所定時間毎に出力する。また、制御部14Aは、ウォッチドッグタイマ16Aからリセット信号を受信した場合、通信装置10Aに対するリセット処理を行う。
制御部14Aは、後述するメモリ15Aに格納された復旧手段選択条件を、通信装置10Aの起動時やリセット時、メモリ内容の書き換えタイミング等の所定のタイミングで取り込む。また、制御部14Aは、信号処理部12Aから供給された対向局ファームウェアチェックビット21に基づき、対向する通信装置10Bの状態を確認する。
具体的には、例えば、制御部14Aは、信号処理部12Aから供給された対向局ファームウェアチェックビット21が期待する値で更新されているか否かを確認し、対向する通信装置10Bのファームウェアが正常に稼動しているか否かを判断する。例えば、対向局ファームウェアチェックビット21の値が期待値ではない場合、制御部14Aは、対向する通信装置10Bがファームウェア稼動異常であると判断する。
そして、制御部14Aは、メモリ15Aから取り込まれた復旧手段選択条件の中から、現状に合致する復旧手段選択条件を選択し、選択した復旧手段を示す情報を信号処理部12Aに供給する。
メモリ15Aは、例えば、SRAM構造を有する記憶部であり、復旧手段選択条件及び復旧制御条件とが格納される。
復旧手段選択条件は、ファームウェアの稼動異常が発生した対向する通信装置10Bに対して、ファームウェアの稼動異常を復旧させるための複数の復旧手段を示す。具体的には、無線フレーム20に多重された対向局ファームウェアチェックビット21及び無線チェックビット23、並びに現在の時刻等に基づき、対向する通信装置10Bに対する復旧手段を示す。
例えば、無線チェックビット23が正常値であり、対向局ファームウェアチェックビット21が期待値である場合には、復旧手段として「現状維持」が選択される。また、例えば、無線チェックビット23が正常値、対向局ファームウェアチェックビット21が期待値とは異なる値であり、かつ現在の時刻が商用サービス中でない場合には、復旧手段として「即時瞬停」が選択される。
復旧制御条件は、ファームウェアの稼動異常が発生した自装置に対する復旧制御を行うための複数の制御条件を示す。具体的には、ウォッチドッグタイマ16Aから出力されるリセット信号の有無、無線フレーム20に多重された対向局制御ビット22及び無線チェックビット23に基づき、自装置(通信装置10A)に対する制御条件を示す。
例えば、ウォッチドッグタイマ16Aからリセット信号が継続的に出力され、無線チェックビット23が正常値であり、対向局制御ビット22が復旧指示があることを示す場合には、復旧指示に従った復旧制御が行われる。また、例えば、ウォッチドッグタイマ16Aからのリセット信号が出力されず、無線チェックビット23が正常値であり、対向局制御ビット22が復旧指示がないことを示す場合には、復旧制御は行われない。
ウォッチドッグタイマ16Aは、所定の時間をカウントするカウンタであり、制御部14Aからクリアパルスが供給されることによりカウンタの値をリセットして、次にクリアパルスが供給されるまでの時間をカウントする。
ウォッチドッグタイマ16Aは、カウント値に対して所定の時間が予め設定されており、クリアパルスが供給されてから次のクリアパルスが供給されるまでに設定された時間が経過した場合に、対向する通信装置10Bがファームウェア稼動異常であると判断し、制御部14A及び復旧制御部17Aに対してリセット信号を供給する。
復旧制御部17Aは、ウォッチドッグタイマ16Aから供給されたリセット信号と、信号処理部12Aから供給された対向局制御ビット22及び無線チェックビット23とに基づき復旧処理を行う。ここで、復旧制御部17Aは、メモリ15Aに格納された復旧制御条件を、通信装置10Aの起動時やリセット時、メモリ内容の書き換えタイミング等の所定のタイミングで取り込み、この復旧制御条件の中から現状に合致する条件を選択する。そして、復旧制御部17Aは、選択した復旧制御条件に従い、復旧処理を行う。
また、復旧制御部17Aは、選択した復旧制御条件に基づき、必要に応じて後述する電源瞬停回路18Aに対して電源の瞬停を要求するための電源瞬停発出信号s3Aを供給する。
電源瞬停回路18Aは、復旧制御部17Aから供給された電源瞬停発出信号s3Aに基づき、制御部14A及びメモリ15Aに対して電源を瞬停させるための電源瞬停信号s4Aを供給する。ここで、電源瞬停信号s4Aは、例えばパルス信号とすることにより、電源瞬停信号s4Aによって電源を停止させた場合でも、自動的に電源を復旧させることができる。
次に、無線フレーム20について、図2を参照して説明する。無線フレーム20は、上述したように、対向局ファームウェアチェックビット21、対向局制御ビット22、無線チェックビット23、及び通信装置10Aと通信装置10Bの間でやりとりされるデータ24が多重されたフレームである。
対向局ファームウェアチェックビット21は、無線フレーム20の送信元となる通信装置におけるファームウェアの稼動状態を確認する際に用いられる情報である。対向局ファームウェアチェックビット21には、最初に所定の数値を示す情報が格納され、対向する通信装置との間で無線フレーム20のやりとりが行われ、通信装置で無線フレーム20を受信した際に、対向局ファームウェアチェックビット21の値は、一定期間で一定のルールに従って更新される。
具体的には、例えば、通信装置において無線フレーム20を受信した場合に、対向局ファームウェアチェックビット21に格納された値に対して1だけインクリメントした値が格納されることにり、対向局ファームウェアチェックビット21が更新される。
対向局制御ビット22は、無線フレーム20の送信先となる通信装置における復旧手段を指示する際に用いられる情報である。対向局制御ビット22には、例えば、対向する通信装置における異常箇所の電源を即時あるいは所定時間後にOFFすることを示す情報や、現状を維持することを示す情報等が格納される。
無線チェックビット23は、通信状態を確認するための通信チェックビットであり、例えば、通信装置10A及び10Bが無線接続される場合においては、通信装置10A及び10Bの間の無線通信状態を確認する際に用いられる情報である。無線チェックビット23は、例えば、予め設定された所定パターンの任意のビット数で構成される。通信装置で無線フレーム20を受信した際に、この無線チェックビット23に格納された値が所定パターンと異なる場合には、無線通信状態に異常が発生したと判断することができる。
次に、上記構成を有する通信システム1の動作について、図3〜6に示すフローチャートを参照して説明する。ここでは、まず、通信システム1における基本処理について説明し、次に、具体的な実施例に基づいて、ファームウェアの稼動状態毎の動作について説明する。尚、以下では、通信装置10Aにおけるファームウェアの稼動状態を、対向する通信装置10Bで判断して復旧処理を行う場合を例にとって説明し、各通信装置における処理の説明を容易とするため、それ以外の処理等については説明を省略する。
(1)基本処理
まず、通信装置10Aにおいて、制御部14Aは、自装置におけるファームウェアの稼動状態を確認するためのファームウェア稼動状態確認処理を行う(ステップS1)。ファームウェア稼動状態確認処理の詳細については、後述する。
次に、ステップS2において、信号処理部12Aは、予め設定された対向局ファームウェアチェックビット21、対向局制御ビット22、無線チェックビット23及びデータ24を多重した無線フレーム20を生成する。信号処理部12Aは、生成した無線フレーム20をMODEM部11Aに対して供給し、MODEM部11Aを介して対向する通信装置10Bに対して送信する(ステップS3)。
通信装置10Bにおいて、MODEM部11Bは、通信装置10Aから送信された無線フレーム20を受信して信号処理部12Bに供給する(ステップS4)。信号処理部12Bは、無線フレーム20から対向局ファームウェアチェックビット21、対向局制御ビット22及び無線チェックビット23を抽出し(ステップS5)、対向局ファームウェアチェックビット21を制御部14Bに供給し、対向局制御ビット22及び無線チェックビット23を復旧制御部17Bに供給する。
ここで、制御部14Bは、上述の処理に先立って、所定のタイミングでメモリ15Bから復旧手段選択条件を予め取り込む。ステップS6において、制御部14Bは、信号処理部12Bから供給された対向局ファームウェアチェックビット21が期待値で更新されているか否かを確認し、通信装置10Aのファームウェアが正常に稼動しているか否かを判断する。
次に、ステップS7において、制御部14Bは、通信装置10Aのファームウェアの稼動状態に対する判断の結果に応じて、現状に合致する復旧手段を選択する復旧手段選択処理を行う。尚、復旧手段選択処理の詳細については、後述する。
ステップS8において、信号処理部12Bは、予め設定された無線チェックビット23と、通信装置10Aから受信した対向局ファームウェアチェックビット21に対して期待値で更新された対向局ファームウェアチェックビット21と、復旧手段選択処理によって制御部14Bから供給された復旧手段を示す情報に基づく対向局制御ビット22とが多重された無線フレーム20を生成する。ステップS9において、信号処理部12Bは、生成した無線フレーム20をMODEM部11Bに供給し、MODEM部11Bを介して通信装置10Aに対して送信する。
次に、通信装置10Aにおいて、MODEM部11Aは、通信装置10Bから送信された無線フレーム20を受信して信号処理部12Aに供給する(ステップS10)。信号処理部12Aは、無線フレーム20から対向局ファームウェアチェックビット21、対向局制御ビット22及び無線チェックビット23を抽出し(ステップS11)、対向局ファームウェアチェックビット21を制御部14Aに供給し、対向局制御ビット22及び無線チェックビット23を復旧制御部17Aに供給する。
ステップS12において、復旧制御部17Aは、信号処理部12Aから供給された対向局制御ビット22及び無線チェックビット23、並びにウォッチドッグタイマ16Aから供給されたリセット信号s2Aに基づき、復旧処理を行う。
このように、通信装置10A及び10Bは、互いに対向する通信装置におけるファームウェアの稼動状態を、通信を行う毎に確認し、対向する通信装置におけるファームウェアの稼動異常を検出した場合に、異常を復旧させる手段を対向する通信装置に対して指示する。これにより、一方の通信装置におけるファームウェアの稼動異常を、対向する他方の通信装置で検出すると共に、ファームウェアの稼動異常を自動的に復旧させることができる。
次に、図3のステップS1におけるファームウェア稼動状態確認処理の流れについて、図4に示すフローチャートを参照して説明する。
まず、以下に示す処理に先立って、制御部14Aは、ファームウェアが正常に稼動していることを示す動作状態通知信号としてのクリアパルスs1Aをウォッチドッグタイマ16Aに対して所定時間毎に出力する。
ステップS21において、ウォッチドッグタイマ16Aは、クリアパルスs1Aが供給されたか否かを判断する。クリアパルスs1Aが供給された場合(ステップS21;Yes)、ウォッチドッグタイマ16Aは、ファームウェアが正常に稼動していると判断し、カウント値をリセットすると共に、次のクリアパルスs1Aが供給されるまでの時間のカウントを開始する(ステップS22、S23)。
一方、クリアパルスs1Aが供給されない場合(ステップS21;No)、ウォッチドッグタイマ16Aは、ファームウェアに稼動異常が発生したと判断し、リセット信号s2Aを制御部14A及び復旧制御部17Aに対して出力し、リセット処理を行う(ステップS24、S25)。そして、上述したステップS21〜S25の処理が所定時間毎に巡回的に行われる。
このように、通信装置10Aでは、制御部14Aから所定時間毎に出力されるクリアパルスs1Aにより、自装置のファームウェアが正常に稼動しているか否かを判断することができる。
次に、図3のステップS7における復旧手段選択処理の流れについて、図5に示すフローチャートを参照して説明する。ここでは、主に、制御部14Bにおいて、メモリ15Bに格納された復旧手段選択条件の中から現状に合致する復旧手段を選択する処理を行う。
まず、ステップS31において、復旧制御部17Bは、無線チェックビット23の値が正常であるか否かを判断する。無線チェックビット23の値が正常であると判断した場合(ステップS31;Yes)には、処理がステップS32に移行する。
ステップS32において、制御部14Bは、対向局ファームウェアチェックビット21が期待値で更新されているか否かを確認する。対向局ファームウェアチェックビット21が期待値で更新されている場合(ステップS32;Yes)、制御部14Bは、メモリ15Bから取り込んだ復旧手段選択条件の中から、「現状維持」を示す復旧手段を対向局制御ビット22として選択し(ステップS33)、一連の処理が終了する。
一方、対向局ファームウェアチェックビット21が期待値で更新されていない場合(ステップS32;No)には、処理がステップS34に移行し、制御部14Bは、現在の時刻に基づき商用サービス中であるか否かを判断する。
商用サービス中ではないと判断した場合(ステップS34;No)、制御部14Bは、メモリ15Bから取り込まれた復旧手段選択条件の中から、「即時瞬停」を示す復旧手段を対向局制御ビット22として選択し(ステップS35)、一連の処理が終了する。
また、商用サービス中であると判断した場合(ステップS34;Yes)、制御部14Bは、メモリ15Bから取り込んた復旧手段選択条件の中から、「所定時間後に瞬停」を示す復旧手段を対向局制御ビット22として選択し(ステップS36)、一連の処理が終了する。
一方、ステップS31において、無線チェックビット23の値が正常ではないと判断された場合(ステップS31;No)には、処理がステップS37に移行する。ステップS37において、制御部14Bは、ウォッチドッグタイマ16Bからリセット信号s2Bが供給されたか否かを判断する。リセット信号s2Bが供給されていないと判断した場合(ステップS37;No)には、処理がステップS38に移行する。また、リセット信号s2Bが供給されたと判断した場合(ステップS37;Yes)には、処理がステップS39に移行する。
ステップS38において、制御部14Bは、リセット信号s2Bが供給されてから所定時間経過したか否かを判断する。所定時間が経過したと判断した場合(ステップS38;Yes)には、処理がステップS39に移行する。また、所定時間が経過していないと判断した場合(ステップS38;No)には、処理がステップS38に戻り、所定時間が経過するまでステップS38の処理が繰り返される。
ステップS39において、制御部14Bは、ウォッチドッグタイマ16Bから供給されたリセット信号s2Bに基づき、リセット処理を行う。
次に、ステップS40において、制御部14Bは、ステップS39のリセット処理によって状況が改善されたか否かを判断する。状況が改善されたと判断した場合(ステップS40;Yes)には、一連の処理が終了し、状況が改善されないと判断した場合(ステップS40;No)、制御部14Bは、図示しない上位装置に対してアラームを送信する(ステップS41)。
このように、復旧手段選択処理では、対向する通信装置から供給された対向局ファームウェアチェックビット21及び無線チェックビット23に基づき、無線通信状態が正常であるか否かを確認すると共に、対向する通信装置におけるファームウェアが正常に稼動しているか否かを判断し、判断結果に応じて対向する通信装置におけるファームウェアの稼動異常を復旧させるための手段を選択する。これにより、対向する通信装置の現状に合致する復旧手段を適切かつ自動的に選択することができる。
次に、図3のステップS12における復旧処理の流れについて、図6に示すフローチャートを参照して説明する。ここでは、主に、復旧制御部17Aにおいて、メモリ15Aに格納された復旧制御条件の中から現状に合致する制御条件を選択する処理を行う。
まず、ステップS51において、復旧制御部17Aは、無線チェックビット23の値が正常であるか否かを判断する。無線チェックビット23の値が正常であると判断した場合(ステップS51;Yes)には、処理がステップS52に移行する。
次に、ステップS52において、復旧制御部17Aは、対向局制御ビット22が示す情報に基づき通信装置10Bからの復旧指示があるか否かを判断する。復旧指示があると判断した場合(ステップS52;Yes)、復旧制御部17Aは、通信装置10Bから指示された復旧手段に基づく復旧制御を行い(ステップS53)、一連の処理が終了する。また、復旧指示がないと判断した場合(ステップS52;No)には、一連の処理が終了する。
一方、ステップS51において、無線チェックビット23の値が正常ではないと判断した場合(ステップS51;No)、復旧制御部17Aは、電源瞬停回路18Aに対して電源瞬停発出信号s3Aを供給し、電源瞬停回路18Aは、この電源瞬停発出信号s3Aに基づき制御部14Aに対して異常箇所を瞬停させるための電源瞬停信号s4Aを供給する。これにより、制御部14Aは、異常箇所に対する瞬停処理を行う(ステップS54)。
このように、復旧処理では、対向局制御ビット22及び無線チェックビット23に基づき、ファームウェアの稼動異常に対する適切な復旧処理を自動的に行うことができる。
(2)ファームウェアが正常に稼動する場合
次に、通信装置10Aのファームウェアが正常に稼動し、かつ通信装置10A及び10Bの間の無線通信状態が正常である場合について、図3〜図6を参照して説明する。
まず、通信装置10Aにおいて、制御部14Aは、ファームウェア稼動状態確認処理を行う(図3のステップS1)。このとき、制御部14Aは、ウォッチドッグタイマ16Aに対して所定時間毎にクリアパルスs1Aを継続的に出力する(図4のステップS21;Yes)。そのため、ファームウェア稼動状態確認処理において、ウォッチドッグタイマ16Aは、ファームウェアが正常に稼動していると判断する。従って、ウォッチドッグタイマ16Aは、制御部14A及び復旧制御部17Aに対してリセット信号s2Aを出力する。
次に、信号処理部12Aは、無線フレーム20を生成し、MODEM部11Aを介して通信装置10Bに送信する(図3のステップS2、S3)。ここで、ステップS1において、ファームウェアが正常に稼動していると判断されるため、無線フレーム20に多重される対向局ファームウェアチェックビット21の値は、期待値で更新された値となる。
次に、通信装置10Bにおいて、MODEM部11Bは、無線フレーム20を受信し(ステップS4)、信号処理部12Bは、無線フレーム20から対向局ファームウェアチェックビット21、対向局制御ビット22及び無線チェックビット23を抽出する(ステップS5)。
ステップS6において、制御部14Bは、信号処理部12Bで抽出された対向局ファームウェアチェックビット21が期待値で更新されているか否かを確認し、通信装置10Aのファームウェアが正常に稼動しているか否かを判断する。
この例では、無線通信状態が正常であり、また、ファームウェアが正常に稼動しているため、無線チェックビット23が正常であり(図5のステップS31;Yes)、かつ対向局ファームウェアチェックビット21が期待値(ステップS32;Yes)であることから、図3のステップS7における復旧手段選択処理において、制御部14Bは、メモリ15Bから取り込んた復旧手段選択条件の中から、「現状維持」を示す復旧手段を対向局制御ビット22として選択する(ステップS33)。
次に、図3のステップS8において、信号処理部12Bは、予め設定された無線チェックビット23と、通信装置10Aから受信した対向局ファームウェアチェックビット21に対して期待値で更新された対向局ファームウェアチェックビット21と、復旧手段として「現状維持」を示す対向局制御ビット22とが多重された無線フレーム20を生成する。そして、ステップS9において、MODEM部11Bは、生成された無線フレーム20を通信装置10Aに送信する。
通信装置10Aにおいて、MODEM部11Aは、無線フレーム20を受信する(ステップS10)。信号処理部12Aは、無線フレーム20から対向局ファームウェアチェックビット21、対向局制御ビット22及び無線チェックビット23を抽出する(ステップS11)。
ステップS12において、復旧制御部17Aは、信号処理部12Aから供給された対向局制御ビット22及び無線チェックビット23、並びにウォッチドッグタイマ16Aから供給されたリセット信号s2Aに基づき、復旧処理を行う。この場合、無線チェックビット23が正常であり(図6のステップS51;Yes)、かつ対向局制御ビット22が復旧手段として「現状維持」を示す(ステップS52;No)ことから、特別な復旧制御を行わず、一連の処理が終了する。尚、復旧手段として「現状維持」を示すことは、復旧指示がないものとする。
(3)通信装置10A及び10B間の無線通信状態が正常であるときに、通信装置10Aにおけるファームウェアに稼動異常が発生した場合
次に、通信装置10A及び10B間の無線通信状態が正常であるときに、通信装置10Aにおけるファームウェアに稼動異常が発生した場合について、図3〜図6を参照して説明する。
まず、通信装置10Aにおいて、制御部14Aは、ファームウェア稼動状態確認処理を行う(図3のステップS1)。このとき、通信装置10Aでは、ファームウェアに稼動異常が発生するため、制御部14Aは、ウォッチドッグタイマ16Aに対するクリアパルスs1Aの出力を停止する(図4のステップS21;No)。そのため、ファームウェア稼動状態確認処理において、ウォッチドッグタイマ16Aは、ファームウェアに稼動異常が発生したと判断する。従って、ウォッチドッグタイマ16Aは、制御部14A及び復旧制御部17Aに対してリセット信号s2Aを出力し、リセット処理を行う(ステップS24、S25)。
次に、信号処理部12Aは、無線フレーム20を生成し、MODEM部11Aを介して通信装置10Bに送信す(図3のステップS2、S3)。ここで、ステップS1において、ファームウェアに稼動異常が発生したと判断されるため、無線フレーム20に多重される対向局ファームウェアチェックビット21の値は、期待値とは異なる値で更新された値となる。
次に、通信装置10Bにおいて、MODEM部11Bは、無線フレーム20を受信する(ステップS4)。信号処理部12Bは、無線フレーム20から対向局ファームウェアチェックビット21、対向局制御ビット22及び無線チェックビット23を抽出する(ステップS5)。
ステップS6において、制御部14Bは、信号処理部12Bで抽出された対向局ファームウェアチェックビット21が期待値で更新されているか否かを確認し、通信装置10Aのファームウェアが正常に稼動しているか否かを判断する。
この例では、無線通信状態が正常であり、また、ファームウェアに稼動異常が発生したため、無線チェックビット23が正常であり(図5のステップS31;Yes)、かつ対向局ファームウェアチェックビット21が期待値と異なる値(ステップS32;No)であることから、図3のステップS7における復旧手段選択処理において、制御部14Bは、メモリ15Bから取り込んた復旧手段選択条件の中から、「即時瞬停」又は「所定時間後に瞬停」を示す復旧手段を対向局制御ビット22として選択する(ステップS35、S36)。
尚、現在の時刻に基づき、現時点が商用サービス中でない場合(ステップS34;No)、制御部14Bは、「即時瞬停」を示す復旧手段を選択し、商用サービス中の場合(ステップS34;Yes)には、「所定時間後に瞬停」を示す復旧手段を選択する。
次に、図3のステップS8において、信号処理部12Bは、予め設定された無線チェックビット23と、通信装置10Aから受信した対向局ファームウェアチェックビット21に対して所定のルールで更新された対向局ファームウェアチェックビット21と、復旧手段として「即時瞬停」又は「所定時間後に瞬停」を示す対向局制御ビット22とが多重された無線フレーム20を生成する。そして、ステップS9において、MODEM部11Bは、生成された無線フレーム20を通信装置10Aに送信する。
通信装置10Aにおいて、MODEM部11Aは、無線フレーム20を受信する(ステップS10)。信号処理部12Aは、無線フレーム20から対向局ファームウェアチェックビット21、対向局制御ビット22及び無線チェックビット23を抽出する(ステップS11)。
ステップS12において、復旧制御部17Aは、信号処理部12Aから供給された対向局制御ビット22及び無線チェックビット23、並びにウォッチドッグタイマ16Aから供給されたリセット信号s2Aに基づき、復旧処理を行う。この場合、無線チェックビット23が正常であり(図6のステップS51;Yes)、かつ対向局制御ビット22が復旧指示があることを示す(ステップS52;Yes)ことから、対向局制御ビット22が示す復旧手段(「即時瞬停」又は「所定時間後に瞬停」)に従って復旧制御を行い、一連の処理が終了する。
また、このように通信装置10Aにおけるファームウェアに稼動異常が発生する場合に、リセット信号s2Aに基づくリセット処理によって復旧し、ウォッチドッグタイマ16Aからリセット信号s2Aが出力されなくなる場合も考えられるが、この場合においても、通信装置10Bから受信する無線フレーム20に多重された対向局制御ビット22の復旧指示を確認し、復旧指示の内容に応じた復旧制御を行う。ただし、対向局制御ビット22が示す復旧手段が「現状維持」を示す場合(すなわち、復旧指示がない場合)には、特別な復旧制御を行わない。これにより、復旧判断の確実性を向上させることができる。
また、商用サービス時間帯は、制御部14Aをリセット処理のみに固定することにより、復旧障害によるリセット処理の繰り返しによって生じる、さらなる障害の発生や、不要な電力消費、瞬停処理による無線障害等を防止することができ、商用サービス時間帯以降に電源を瞬停させることにより、制御部14Aに対するリスクを低減させつつ復旧させることができる。
尚、この例では、対向局制御ビット22が示すタイミングで瞬停させるようにしたが、これに限られず、例えば、通信装置10Aにおける復旧制御条件をより詳細に設定し、通信装置10Bからの復旧指示に従う場合であっても、通信装置10Aにおける重要な処理等を優先させ、この処理を電源を瞬停する前に完了させるようにしてもよい。
(4)通信装置10A及び10B間の無線通信状態が異常であるときに、通信装置10Aにおけるファームウェアに稼動異常が発生した場合
次に、通信装置10A及び10B間の無線通信状態が異常であるときに、通信装置10Aにおけるファームウェアに稼動異常が発生した場合について、図3〜図6を参照して説明する。
まず、通信装置10Aにおいて、制御部14Aは、ファームウェア稼動状態確認処理を行う(図3のステップS1)。このとき、通信装置10Aでは、ファームウェアに稼動異常が発生するため、制御部14Aは、ウォッチドッグタイマ16Aに対するクリアパルスs1Aの出力を停止する(図4のステップS21;No)。そのため、ファームウェア稼動状態確認処理において、ウォッチドッグタイマ16Aは、ファームウェアに稼動異常が発生したと判断する。従って、ウォッチドッグタイマ16Aは、制御部14A及び復旧制御部17Aに対してリセット信号s2Aを出力し、リセット処理を行う(ステップS24、S25)。
次に、信号処理部12Aは、無線フレーム20を生成し、MODEM部11Aを介して通信装置10Bに送信する(図3のステップS2、S3)。ここで、ステップS1において、ファームウェアに稼動異常が発生したと判断されるため、無線フレーム20に多重される対向局ファームウェアチェックビット21の値は、期待値とは異なる値で更新された値となる。また、この例では、通信装置10A及び10B間の無線通信状態が異常であるため、無線フレーム20に多重される無線チェックビット23の値は、予め設定された所定値とは異なる値となる。
次に、通信装置10Bにおいて、MODEM部11Bは、無線フレーム20を受信する(ステップS4)。信号処理部12Bは、無線フレーム20から対向局ファームウェアチェックビット21、対向局制御ビット22及び無線チェックビット23を抽出する(ステップS5)。
ステップS6において、制御部14Bは、信号処理部12Bで抽出された対向局ファームウェアチェックビット21が期待値で更新されているか否かを確認し、通信装置10Aのファームウェアが正常に稼動しているか否かを判断する。
この例では、無線通信状態が異常であるため、無線チェックビット23が異常である(図5のステップS31;No)ことから、制御部14Bは、通信装置10Bのウォッチドッグタイマ16Bからリセット信号s2Bが出力されたか否かを判断する(ステップS37)。
ここで、ウォッチドッグタイマ16Bからリセット信号s2Bが出力されておらず(ステップS37;No)、所定時間経過しても状況が改善されない場合(ステップS38;Yes、ステップS40;No)、制御部14Bは、上位装置に対してアラームを送信する(ステップS41)。そして、通信装置10Bは、例えば、対向する通信装置10A以外に、無線通信を新たに確立すべき通信装置があるか否かの指示を受け、この指示に基づく新たな通信装置との間で無線通信を確立させる。
一方、通信装置10Aにおいて、ウォッチドッグタイマ16Aがリセット信号s2Aを継続的に出力し、かつ無線チェックビット23の値が所定値と異なることによって無線通信状態が異常であることを示す場合、復旧制御部17Aは、電源瞬停回路18Aに対して電源瞬停発出信号s3Aを供給すると共に、電源瞬停回路18Aは、この電源瞬停発出信号s3Aに基づく電源瞬停信号s4Aを制御部14Aに対して供給する。これにより、制御部14Aによって異常箇所に対する瞬停処理が行われる。
このように、本実施の形態に係る通信装置では、対向する通信装置10Aにおけるファームウェアの稼動異常を検出した場合で、無線通信状態も異常であるときには、自装置の異常を考慮した処理を行う。そして、自装置にも問題がないと判断した場合には、対向する通信装置10Aとの通信復旧を断念し、通信可能な他の通信装置との間で通信網の復旧を図ることができる。
(5)通信装置10A及び10B間の無線通信状態が正常であるときに、通信装置10Aにおけるファームウェアが正常に稼動しているが、通信装置10B側で通信装置10Aにおけるファームウェアの稼動異常を検出した場合
次に、通信装置10Aにおけるファームウェアが正常に稼動しているが、通信装置10B側で通信装置10Aにおけるファームウェアの稼動異常を検出する場合について説明する。
通常、通信装置10Aのファームウェアが正常に稼動する場合、通信装置10Bにおいて通信装置10Aのファームウェア稼動異常を検出することはないが、何らかの障害等により、通信装置10Aから送信され、通信装置10Bで受信される無線フレーム20に多重された対向局ファームウェアチェックビット21の値が、期待値とは異なる値で更新される場合が考えられる。
この場合、通信装置10Bにおいては、上述した(3)の例と同様に、復旧手段選択処理において、制御部14Bは、メモリ15Bから取り込んだ復旧手段選択条件の中から、「即時瞬停」又は「所定時間後に瞬停」を示す復旧手段を対向局制御ビット22として選択する。そして、信号処理部12Bは、選択した復旧手段に基づく対向局制御ビット22が多重された無線フレーム20を生成し、生成した無線フレーム20をMODEM部11Bを介して通信装置10Aに送信する。
一方、通信装置10Aにおいては、ファームウェアの稼動異常が発生していないため、ウォッチドッグタイマ16Aは、制御部14A及び復旧制御部17Aに対してリセット信号s2Aを出力しない。しかし、通信装置10Aにおいては、ファームウェアが正常に稼動しているにもかかわらず、復旧指示(瞬停)があることを示す対向局制御ビット22が多重された無線フレーム20を通信装置10Bから受信する。
そこで、このように通信装置10A及び10B間の無線通信状態が正常であり、かつ、リセット信号s2Aが出力されていない場合、復旧制御部17Aは、瞬停を指示する対向局制御ビット22が供給される回数をカウントする。そして、所定回数(例えば、10回)以上継続して瞬停を指示する対向局制御ビット22が供給された場合、ウォッチドッグタイマ16Aは、制御部14Aに対してリセット信号s2Aを出力し、リセット処理を行う。
また、リセット処理後においても、上述と同様に所定回数以上継続して瞬停を指示する対向局制御ビット22が供給された場合に、この対向局制御ビット22に従って復旧制御(瞬停処理)が行われる。
尚、例えば、通信装置10Aにおける復旧制御条件をより詳細に設定することにより、通信装置10A内がマルチタスク制御で、ウォッチドッグタイマ16Aに対する処理が正常に稼動しているにもかかわらず、他のプログラム処理が稼動異常となっている場合に、自装置ではファームウェアの稼動異常が検出できず、ウォッチドッグタイマ16Aが制御部14Aに対してリセット信号を出力することができない場合でも、復旧させることができる。
次に、メモリ15A及び15Bに格納された復旧手段選択条件及び復旧制御条件の変更方法について説明する。
復旧手段選択条件及び復旧制御条件は、格納された条件が常に現状に合致するもので構成されるとは限らない。そこで、本実施の形態においては、メモリ15A及び15Bに格納された復旧手段選択条件及び復旧制御条件が常に現状に合致するものとなるように、外部から復旧手段選択条件及び復旧制御条件を変更することができる。
以下、通信装置10Aのメモリ15Aに格納された復旧手段選択条件及び復旧制御条件を、通信装置10Bから送信する無線フレーム20を用いて変更する方法について説明する。
まず、外部で作成された、復旧手段選択条件及び復旧制御条件を変更するためのデータ(以下、「変更用データ」とする)が通信装置10Bのインターフェース部13Bに入力される。
インターフェース部13Bは、入力された変更用データを信号処理部12Bに供給する。信号処理部12Bは、この変更用データをデータ24として多重した無線フレーム20を生成する。ここで、データ24としての変更用データは、通常のデータと区別ができるように生成される。例えば、変更用データにおける先頭から所定数のビットの値を、変更用データであることが認識できるように予め設定された所定値とする。
信号処理部12Bは、生成した無線フレーム20をMODEM部11Bに供給し、MODEM部11Bを介して通信装置10Aに送信する。
通信装置10Aにおいて、MODEM部11Aは、無線フレーム20を受信し、信号処理部12Aに供給する。信号処理部12Aは、無線フレーム20からデータ24を抽出し、データ24が変更用データであるか否かを判断する。データ24が変更用データであると判断した場合、信号処理部12Aは、この変更用データが含まれた復旧手段選択条件書き換え信号s5Aをメモリ15Aに対して供給する。
メモリ15Aは、信号処理部12Aから供給された復旧手段選択条件書き換え信号s5Aに基づき、格納された復旧手段選択条件及び復旧制御条件を書き換える。このとき、メモリ15Aは、制御部14A及び復旧制御部17Aに対して、メモリ内容の書き換え中であることを示す通知を供給する。この通知により、制御部14A及び復旧制御部17Aは、クリアパルスs1A及び電源瞬停信号s4Aの出力を禁止することにより、リセット処理や瞬停処理を禁止する。
そして、メモリ15Aにおける復旧手段選択条件及び復旧制御条件の変更が終了した後、制御部14A及び復旧制御部17Aは、メモリ15Aから復旧手段選択条件及び復旧制御条件を取り込み、制御部14A及び復旧制御部17Aに取り込まれた内容を更新する。
尚、このような復旧手段選択条件及び復旧制御条件の変更は、確実に実施する必要があるため、通信装置10A及び10Bにおいて、ファームウェアの稼動異常が発生していない場合に実施すると好ましい。
また、上述した(1)〜(5)の例において、復旧指示に基づく復旧制御(瞬停)を行う場合に、メモリ15A又は15Bに格納された復旧手段選択条件の変更処理が行われているときには、この書き換え処理が終了した後に復旧制御を行うと好ましい。
以上のように、本実施の形態によれば、互いに対向する通信装置の間で無線フレームを送受信する際に、一方の通信装置が受信した無線フレームに多重されたファームウェアの稼動状態を示す情報に基づき、対向する他方の通信装置におけるファームウェアの稼動状態を検出する。そして、一方の通信装置が、検出結果に応じて他方の通信装置に対する最適な復旧手段を選択し、この復旧手段を示す情報を無線フレームに多重して送信し、無線フレームを受信した他方の通信装置が、多重された復旧手段を示す情報に基づき復旧制御を行う。そのため、ファームウェアの稼動異常が発生した他方の通信装置は、外部からユーザが操作することなく、自動的にファームウェアの稼動異常を復旧させることができる。
以上、本発明の実施の形態について説明したが、本発明は、上述した本発明の実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。上述の例では、通信システムとして、対向する通信装置間が無線接続された場合について説明したが、これに限られず、例えば、通信装置間を有線で接続してもよい。
また、上述の例のように、ファームウェアの全部をチェックする場合に限られず、例えば、対向局ファームウェアチェックビットを工夫して、ファームウェアの一部のみをチェックするようにしてもよい。