<第1の実施形態>
以下、本発明の第1の実施形態について、図面を参照しながら説明する。
[通信システムの全体構成]
以下、通信システムの全体構成について説明する。
図1は、本発明の第1の実施形態に係る通信システム1の全体構成図である。図1に示される通信システム1は、10G-EPON(10 Gigabit-Ethernet Passive Optical Network)システムである。図示されるように、通信システム1は、複数の通信装置100と、各通信装置100にそれぞれ通信接続された複数のユーザ端末200と、上位通信装置300と、光スプリッタ400とを含んで構成される。通信装置100は例えばONUであり、上位通信装置300は例えばOLTである。
通信システム1は、1つの上位通信装置300と複数の通信装置100とが光スプリッタ400を介してPoint-to-Multipoint型に通信接続されたシステムである。但し、通信システム1は、例えば、それぞれ1つずつの上位通信装置300と通信装置100とで構成されるPoint-to-Point型に通信接続されたシステムであっても構わない。ユーザ端末200とは、例えば、パソコン又はホームゲートウェイ等の情報処理装置である。
以下、通信装置100の機能構成及び動作について説明するが、説明を分かり易くするため、従来の通信装置100の機能構成及び動作の一例について先に説明した後、第1の実施形態における通信装置100aの機能構成及び動作について説明する。
以下、従来の通信装置100の機能構成の一例について説明する。
図2は、従来の通信装置100の機能構成を示すブロック図である。図2に示されるように、通信装置100は、通信信号処理部110と、下位側インターフェース部120(以下、「下位側IF部120」という。)と、上位側インターフェース部130(以下、「上位側IF部130」という。)と、制御部140と、電源部150と、状態通知部160と、演算部170と、記憶部180と、を含んで構成される。
なお、図2において、太い実線の矢印は、通信信号(主信号)が流れる通信線を表す。また、破線の矢印は、制御信号が流れる制御信号線を表す。また、二重線の矢印は、警報を示す情報が流れる経路を表す。また、細い実線の矢印は、書き込み及び読み込み対象の情報が流れる経路を表す。
通信信号処理部110は、ユーザ端末200と上位通信装置300との間を流れる通信信号(主信号)に対して、光信号と電気信号の相互変換等の処理を行う。下位側IF部120は、通信信号処理部110から出力された電気信号をユーザ端末200へ送信する。また、下位側IF部120は、ユーザ端末200から送信された電気信号を通信信号処理部110へ出力する。上位側IF部130は、上位通信装置300から送信された光信号を受信し、通信信号処理部110へ出力する。また、上位側IF部130は、通信信号処理部110から出力された光信号を上位通信装置300へ送信する。
制御部140は、通信装置100が備える各機能部の動作を制御する。また、制御部140は、通信信号処理部110及び自己の制御部140において生じたソフトエラー及びハードエラーを検出することができる。制御部140は、一部のソフトエラーが検出された場合には、ビット反転によるエラー訂正によってエラーへの対処を行い、通信断を回避する。また、制御部140は、その他のソフトエラー又はハードエラーが検出された場合には、自律的に自己の通信装置100(自装置)のリセットを実行させることで、エラーからの復旧を試みる。
なお、ここでいうリセットとは、通信装置100の動作状態を初期化するための処理である。例えば、リセットは、電源部150によって通信装置100の電源を一度オフにした後、再びオンにする再起動等である。
図2に示されるように、制御部140は、リセット回数記憶部141と、停止処理部142と、を備える。制御部140は、リセット実行回数を示す情報をリセット回数記憶部141に記録する。例えば、制御部140は、電源部150にリセット指示を行った際に、リセット回数記憶部141に記録されたリセット実行回数の値に1を加算し、値を更新する。
制御部140は、前述のその他のソフトエラー又はハードエラーが検出された場合に、リセット回数記憶部141に記録されたリセット実行回数を示す情報を参照する。当該リセット実行回数が所定の上限回数を超過している場合、制御部140は電源部150へのリセット指示を示す制御信号の出力を行わず、停止処理部142が、通信装置100の動作を停止させる。停止処理部142は、通信装置100の動作を停止させた場合、制御信号線を介して異常発生通知指示を示す制御信号を状態通知部160へ出力する。
電源部150は、制御部140から制御信号線を介してリセット指示を示す制御信号を取得した場合、又は、演算部170から制御信号線を介して例外リセット指示を示す制御信号を取得した場合、リセットを実行する。
状態通知部160は、停止処理部142から出力された異常発生通知指示を示す制御信号を取得した場合、システム管理者等へ異常の発生を通知する。状態通知部160は、例えば、警告ランプを点灯させることにより、システム管理者等へ通信装置100における異常の発生を通知する。
演算部170は、制御部140によって検出されないエラーを検出することができる。制御部140によって検出されないエラーとは、例えば、通信信号処理部110及び制御部140以外の機能部において発生するエラーである。演算部170は、制御部140によって検出されないエラーを検出した場合、例外リセットを実行させる。ここでいう例外リセットとは、制御部140によるリセット指示を伴わないリセットである。演算部170は、制御信号線を介して電源部150へ例外リセット指示を示す制御信号を出力する。電源部150は、演算部170から出力された例外リセット指示を示す制御信号を取得すると、通信装置100のリセットを実行する。
記憶部180は、通信装置100において用いられる各種のデータ及びプログラムを記憶する。
以下、従来の通信装置100の動作の一例について説明する。
図3は、従来の通信装置100の動作を示すフローチャートである。本フローチャートが示す処理は、制御部140及び演算部170が通信装置100におけるエラー発生の検出を待ち受ける状態となった際に開始される。
通信装置100の演算部170がエラーを検出した場合(ステップS001・Yes)、演算部170は、制御信号線を介して電源部150へ例外リセット指示を示す制御信号を出力する(ステップS002)。電源部150は、演算部170から出力された例外リセット指示を示す制御信号を取得すると、リセットを実行する(ステップS008)。以上で、図3のフローチャートが示す通信装置100の動作が終了する。
一方、通信装置100の制御部140がエラーを検出した場合(ステップS001・No、かつ、ステップS003・Yes)、制御部140は、リセット回数記憶部141に記録されたリセット実行回数の値を確認する(ステップS004)。確認されたリセット実行回数の値が所定の上限回数以内である場合(ステップS005・Yes)、制御部140は、制御信号を介して電源部150へリセット指示を示す制御信号を出力する(ステップS006)。そして、制御部140は、リセット回数記憶部141に記録されたリセット実行回数の値に1を加算することによって、値を更新する(ステップS007)。
電源部150は、制御部140から出力されたリセット指示を示す制御信号を取得すると、リセットを実行する(ステップS008)。以上で、図3のフローチャートが示す通信装置100の動作が終了する。
一方、上記のステップS005の処理において、確認されたリセット実行回数の値が所定の上限回数を超えている場合(ステップS005・No)、制御部140の停止処理部142は、通信装置100の動作を停止させる(ステップS009)。そして、停止処理部142は、制御信号線を介して異常発生通知指示を示す制御信号を状態通知部160へ出力する。状態通知部160は、停止処理部142から出力された異常発生通知指示を示す制御信号を取得すると、例えば警告ランプの点灯等を行うことによって、通信装置100における異常の発生をシステム管理者等へ通知する(ステップS010)。
以上で、図3のフローチャートが示す通信装置100の動作が終了する。
以上説明したように、例外リセットは制御部140によるリセット指示を伴わないリセットである。そのため、従来の通信装置100では、例外リセットの実行は、制御部140によってリセット回数記憶部141に記録されるリセット実行回数に計上されない。したがって、電源部150によって実行された(例外リセットを含む)全てのリセットの実行回数が実際には所定の上限回数を超過していたとしても、停止処理部142による通信装置100の動作の停止処理が実行されない場合が生じる。
この場合、システム管理者等に対して通信装置100における異常の発生の通知がなされないため、通信装置100の復旧が遅れ、当該通信装置100による通信サービスをユーザが利用することができない期間の長期化を招く可能性がある。また、この場合、上限回数を超過してリセットが実行されるため、例えば不揮発性メモリ等の使用回数に上限がある部品の劣化が早まり、通信装置100の寿命を短縮させる可能性がある。
上記のような従来の通信装置100の課題を解決する第1の実施形態における通信装置100aの機能構成及び動作について、以下に詳しく説明する。
[通信装置の構成]
以下、通信装置100aの機能構成について説明する。
図4は、本発明の第1の実施形態における通信装置100aの機能構成を示すブロック図である。図4に示されるように、通信装置100aは、通信信号処理部110と、下位側IF部120と、上位側IF部130と、制御部140aと、電源部150と、状態通知部160と、演算部170aと、記憶部180aと、を含んで構成される。
なお、図4において、太い実線の矢印は、通信信号(主信号)が流れる通信線を表す。また、破線の矢印は、制御信号が流れる制御信号線を表す。また、二重線の矢印は、警報を示す情報が流れる経路を表す。また、細い実線の矢印は、書き込み及び読み込み対象の情報が流れる経路を表す。
通信信号処理部110は、ユーザ端末200と上位通信装置300との間を流れる通信信号に対して、光信号と電気信号の相互変換等の処理を行う。
下位側IF部120は、例えばUNI(User Network Interface)である。下位側IF部120は、通信信号処理部110から出力された電気信号をユーザ端末200へ送信する。また、下位側IF部120は、ユーザ端末200から送信された電気信号を通信信号処理部110へ出力する。
上位側IF部130は、例えば光送受信部である。上位側IF部130は、上位通信装置300から送信された光信号を受信し、通信信号処理部110へ出力する。また、上位側IF部130は、通信信号処理部110から出力された光信号を上位通信装置300へ送信する。
制御部140aは、例えばCPU(Central Processing Unit)等のプロセッサを含んで構成される。制御部140aは、通信装置100aが備える各機能部の動作を制御する。
また、制御部140aは、通信信号処理部110及び自己の制御部140aにおいて生じたソフトエラー及びハードエラーを検出することができる。
制御部140aは、一部のソフトエラーが検出された場合には、ビット反転によるエラー訂正によってエラーへの対処を行い、通信断を回避する。例えば、制御部140aは、通信信号処理部110を流れる通信信号を監視する。制御部140aは、データの整合性をチェックすることにより、通信信号処理部110を流れる通信信号に生じるエラーを検出する。そして、制御部140aは、検出されたエラーを訂正する。
また、制御部140aは、その他のソフトエラー又はハードエラーが検出された場合には、自律的に自己の通信装置100a(自装置)のリセットを実行させることで、エラーからの復旧を試みる。なお、その他のソフトエラーとは、例えば、前述のビット反転によるエラー訂正が可能なソフトエラー以外のソフトエラーである。
なお、ここでいうリセットとは、通信装置100aの動作状態を初期化するための処理である。例えば、リセットは、電源部150によって通信装置100aの電源を一度オフにした後、再びオンにする再起動等である。制御部140aは、制御信号線を介して電源部150へリセット指示を出力し、電源部150にリセットを実行させる。
図4に示されるように、制御部140aは、リセット回数記憶部141と、停止処理部142と、を備える。
リセット回数記憶部141は、例えばCPUに搭載されたキャッシュメモリ等の記憶媒体である。リセット回数記憶部141は、制御部140aによるリセット指示により電源部150によって行われたリセットの実行回数(リセット実行回数)を示す情報を記憶する。制御部140aは、リセット実行回数を示す情報をリセット回数記憶部141に記録する。例えば、制御部140aは、電源部150にリセット指示を行った際に、リセット回数記憶部141に記録されたリセット実行回数の値に1を加算することによって、値を更新する。
停止処理部142は、エラー発生状態のまま通信装置100aの動作を停止させる。制御部140aは、前述のその他のソフトエラー又はハードエラーが検出された場合に、リセット回数記憶部141に記録されたリセット実行回数を示す情報を参照する。当該リセット実行回数が所定の上限回数を超過している場合、制御部140aは電源部150へのリセット指示を示す制御信号の出力を行わず、停止処理部142が、通信装置100aの動作を停止させる。停止処理部142は、通信装置100aの動作を停止させた場合、制御信号線を介して異常発生通知指示を示す制御信号を状態通知部160へ出力する。
なお、通信装置100aの動作を停止させる方法としては、任意の方法を用いることができる。例えば、停止処理部142が、通信装置100a全体への電力供給を停止させる指示を示す制御信号を、制御信号線を介して電源部150へ出力するようにしてもよい。この場合、電源部150は、停止処理部142から出力された制御信号を取得すると、通信装置100a全体への電力供給を停止させる。これにより、通信装置100aの動作が停止する。
また、制御部140aは、起動時に、後述される記憶部180aが備えるリセット要因記憶部181を参照する。制御部140aは、リセット要因記憶部181にリセット要因情報が記録されている場合、(例外リセットが実行されたものと判断し、)リセット回数記憶部141に記録されたリセット実行回数の値に1を加算することによって、値を更新する。
このような構成により、リセット回数記憶部141に記録されたリセット実行回数の値は、制御部140aの指示によって行われたリセットの実行回数と、演算部170aの指示によって行われたリセットの実行回数とが加算された値になる。
電源部150は、通信装置100aが備える各機能部へ電力を供給する。また、電源部150は、制御部140aから制御信号線を介してリセット指示を示す制御信号を取得した場合、又は、演算部170aから制御信号線を介して例外リセット指示を示す制御信号を取得した場合、通信装置100a全体への電力の供給を一旦停止した後(すなわち、電源をオフにした後)、通信装置100a全体への電力の供給を再開する(すなわち、電源を再びオンにする)リセットを実行する。
状態通知部160は、停止処理部142から制御信号線を介して異常発生通知指示を示す制御信号を取得する。状態通知部160は、異常発生通知指示を示す制御信号を取得した場合、システム管理者等へ異常の発生を通知する。例えば、状態通知部160は、通信装置100aの異常時に点灯する警告ランプ等の発光部材を含んで構成される。状態通知部160は、例えば、警告ランプを点灯させることにより、システム管理者等へ通信装置100aにおける異常の発生を通知する。
なお、警告ランプを点灯させる方法としては、任意の方法を用いることができる。例えば、停止処理部142が、制御信号線を介して電源部150へ警告ランプへの電力供給指示を示す制御信号を出力するようにしてもよい。この場合、電源部150は、停止処理部142から出力された制御信号を取得すると、警告ランプへの電力供給を開始する。これにより、警告ランプが点灯する。
このように、警告ランプが点灯することによって、システム管理者等は、通信装置100aが異常状態(動作停止状態)であることを早期に認識することができる。システム管理者等は、通信装置100aが異常状態であることを認識すると、手動により通信装置100aの動作状態を復旧させる。例えば、システム管理者等は、通信装置100aが備える電源プラグ(不図示)をコンセント(不図示)に対して抜き差しすることにより、通信装置100aの動作状態を復旧させる。なお、状態通知部160は、例えばシステム管理者等によって通信装置100aが復旧した場合、通知を実行終了(例えば、ランプを消灯)する。
なお、システム管理者等に対して通信装置100aが異常状態であることを通知することができる方法であるならば、警告ランプを点灯させる方法以外の方法が用いられてもよい。例えば、状態通知部160は、通信装置100aに備えられたスピーカ(不図示)等を用いて、音声によりシステム管理者等に対して通知するようにしてもよい。または、例えば、状態通知部160は、自己の通信装置100a又は外部装置に備えられた表示装置(不図示)に、通信装置100aが異常状態であること示す情報を表示させるようにしてもよい。ここでいう表示装置とは、例えば液晶ディスプレイ(LCD)、又は有機EL(Electro-Luminescence)ディスプレイ等である。
演算部170aは、例えばCPU等のプロセッサを含んで構成される。演算部170aは、制御部140aによって検出されないエラーを検出することができる。制御部140aによって検出されないエラーとは、例えば、通信信号処理部110及び制御部140a以外の機能部において発生するエラーである。
演算部170aは、制御部140aによって検出されないエラーを検出した場合、例外リセットを実行させる。ここでいう例外リセットとは、制御部140aによるリセット指示を伴わないリセットである。例外リセットは、前述のリセットと同様に、通信装置100aの動作状態を初期化するための処理である。例えば、例外リセットは、電源部150によって通信装置100aの電源を一度オフにした後、再びオンにする再起動等である。演算部170aは、制御信号線を介して電源部150へ例外リセット指示を示す制御信号を出力する。電源部150は、演算部170aから出力された例外リセット指示を示す制御信号を取得すると、通信装置100aのリセットを実行する。
また、演算部170aは、電源部150へ例外リセット指示を示す制御信号を出力した場合、後述される記憶部180aが備えるリセット要因記憶部181に、例外リセットが実行されたことを示すリセット要因情報を記録する。
記憶部180aは、通信装置100aにおいて用いられる各種のデータ及びプログラムを記憶する。記憶部180aは、例えば、RAM(Random Access Memory)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、及びHDD(Hard Disk Drive)等の記憶媒体、又はこれらの記憶媒体の任意の組み合わせを含んで構成される。例えば、制御部140a及び演算部170aは、記憶部180aが記憶するプログラムを読み出して実行することにより、上記の各機能部を有する装置として通信装置100aを機能させる。
また、図4に示されるように、記憶部180aは、リセット要因記憶部181を備える。
リセット要因記憶部181は、演算部170aによって記録されたリセット要因情報を記憶する。
[通信装置の動作]
以下、通信装置100aの動作の一例について説明する。
図5は、本発明の第1の実施形態における通信装置100aの動作を示すフローチャートである。本フローチャートが示す処理は、通信装置100aの起動時に開始される。なお、ここでいう通信装置100aの起動時とは、初回起動時及びリセットからの復帰時が含まれる。
通信装置100aの制御部140aは、リセット要因記憶部181を参照し、リセット要因情報が記録されているか否かを確認する(ステップS101)。リセット要因記憶部181にリセット要因情報が記録されている場合(ステップS102・Yes)、制御部140aは、リセット回数記憶部141に記録されたリセット実行回数の値に1を加算することによって、値を更新する(ステップS103)。
演算部170aがエラーを検出した場合(ステップS104・Yes)、演算部170aは、制御信号線を介して電源部150へ例外リセット指示を示す制御信号を出力する(ステップS105)。次に、演算部170aは、リセット要因記憶部181に、例外リセットが実行されたことを示すリセット要因情報を記録する(ステップS106)。電源部150は、演算部170aから出力された例外リセット指示を示す制御信号を取得すると、リセットを実行する(ステップS112)。以上で、図5のフローチャートが示す通信装置100aの動作が終了する。
一方、通信装置100aの制御部140aがエラーを検出した場合(ステップS104・No、かつ、ステップS107・Yes)、制御部140aは、リセット回数記憶部141に記録されたリセット実行回数の値を確認する(ステップS108)。確認されたリセット実行回数の値が所定の上限回数以内である場合(ステップS109・Yes)、制御部140aは、制御信号を介して電源部150へリセット指示を示す制御信号を出力する(ステップS110)。そして、制御部140aは、リセット回数記憶部141に記録されたリセット実行回数の値に1を加算することによって、値を更新する(ステップS111)。
電源部150は、制御部140aから出力されたリセット指示を示す制御信号を取得すると、リセットを実行する(ステップS112)。以上で、図5のフローチャートが示す通信装置100aの動作が終了する。
一方、上記のステップS109の処理において、確認されたリセット実行回数の値が所定の上限回数を超えている場合(ステップS109・No)、制御部140aの停止処理部142は、通信装置100aの動作を停止させる(ステップS113)。そして、停止処理部142は、制御信号線を介して異常発生通知指示を示す制御信号を状態通知部160へ出力する。状態通知部160は、停止処理部142から出力された異常発生通知指示を示す制御信号を取得すると、例えば警告ランプの点灯等を行うことによって、通信装置100aにおける異常の発生をシステム管理者等へ通知する(ステップS114)。
以上で、図5のフローチャートが示す通信装置100aの動作が終了する。
以上説明したように、第1の実施形態おける通信装置100aは、自己の通信装置100aの監視を行う。そして、通信装置100aは、自己の通信装置100aにおいてエラーが生じた場合に、自己の通信装置100aのリセット(又は例外リセット)を実行する。それでも自己の通信装置100aが復旧しない場合、通信装置100aは、繰り返しリセット(又は例外リセット)を実行する。所定の上限回数に達するまでリセット(又は例外リセット)が実行されてもなお復旧しない場合には、通信装置100aは、自装置の動作を停止させる。そして、通信装置100aは、例えば警告ランプ等を点灯させることによって、自己の通信装置100aが異常状態(動作停止状態)であることをシステム管理者等に認識させる。これにより、通信装置100aは、システム管理者等による手動での自己の通信装置100a(自装置)の復旧を促すことができる。通信装置100aは、システム管理者等により手動で自装置の復旧がなされるまで待機する。
以上のような構成を備えることによって、第1の実施形態における通信装置100aは、自己の通信装置100aにおいてエラーが生じた場合に、自律的に自己の通信装置100a(自装置)の復旧を試みることができる。これにより、第1の実施形態における通信装置100aによれば、人手による復旧作業が発生する頻度が低減されるため、自己の通信装置100a(自装置)で生じたエラーに対処可能な通信装置の運用コストが削減される。
また、以上説明したように、第1の実施形態おける通信装置100aでは、演算部170aが、制御部140aによるリセット指示を伴わないリセットである例外リセットを実行させる際に、例外リセットが実行されたことを示すリセット要因情報をリセット要因記憶部181に記録する。そして、リセットからの復帰時に、制御部140aは、リセット要因記憶部181を参照し、リセット要因情報が記録されているか否かを確認する。リセット要因情報が記録されている場合、制御部140aは、(例外リセットが実行されたものと判断し、)リセット回数記憶部141に記録されたリセット実行回数の値に1を加算することによって、値を更新する。
以上のような構成を備えることにより、第1の実施形態における通信装置100aは、制御部140aによるリセット指示を伴わないリセットである例外リセットの実行回数が、制御部140aによってリセット回数記憶部141に記録されるリセット実行回数に加算されるようになる。これにより、電源部150によって実行された(例外リセットを含む)全てのリセットの実行回数が所定の上限回数を超過している場合に、停止処理部142が、通信装置100aの動作を停止させる。このように、第1の実施形態における通信装置100aは、上限回数を超えて(例外リセットを含む)リセットが実行されることを防止することができる。
また、以上のような構成を備えることにより、第1の実施形態における通信装置100aは、システム管理者等に対して通信装置100aにおける異常の発生の通知を早期に行うことができる。そのため、通信装置100aは、自装置の復旧を遅らせることなく、自装置によって提供される通信サービスをユーザが利用できない期間が長期化することを防止することができる。また、第1の実施形態における通信装置100aは、上限回数を超過して(例外リセットを含む)リセットを実行することがないため、例えば不揮発性メモリ等の使用回数に上限がある部品の劣化を早めることもなく、通信装置100aの寿命の短縮を防止することができる。
なお、本実施形態では、制御部140aは、通信装置100aで生じたエラーを検出した場合、まず、電源部150にリセット(又は例外リセット)を指示し、それでも自己の通信装置100aが復旧しない場合には所定の上限回数に達するまで、繰り返しリセット(又は例外リセット)を指示する。所定の上限回数に達してもなお復旧しない場合には、制御部140aは、通信装置100aの動作を停止させる。そして、制御部140aは、例えば、通信装置100aに備えられた警告ランプ等を点灯させることによりシステム管理者等へ通知する構成である。但し、このような構成に限られるものではなく、制御部140aが前者の処理のみ又は後者の処理のみを行う構成であってもよい。すなわち、例えば、制御部140aは、(例外リセットを含む)リセット実行回数が所定の上限回数に達してもなお自己の通信装置100aが復旧しない場合には、自己の通信装置100aの動作を停止させることだけを行うようにしてもよい(すなわち、警告ランプの点灯等によるシステム管理者等への通知は行われない構成であってもよい)。
<第2の実施形態>
以下、本発明の第2の実施形態について、図面を参照しながら説明する。
なお、第2の実施形態における通信システムの全体構成は、図1の全体構成図を参照しながら説明した第1の実施形態における通信システム1の全体構成と同様であるため、説明を省略する。
[通信装置の構成]
以下、本実施形態における通信装置100bの機能構成の一例について説明する。
図6は、本発明の第2の実施形態における通信装置100bの機能構成を示すブロック図である。図6に示されるように、通信装置100bは、通信信号処理部110と、下位側IF部120と、上位側IF部130と、制御部140bと、電源部150と、状態通知部160と、演算部170bと、記憶部180と、を含んで構成される。
なお、図6において、太い実線の矢印は、通信信号(主信号)が流れる通信線を表す。また、破線の矢印は、制御信号が流れる制御信号線を表す。また、二重線の矢印は、警報を示す情報が流れる経路を表す。また、細い実線の矢印は、書き込み及び読み込み対象の情報が流れる経路を表す。
通信信号処理部110は、ユーザ端末200と上位通信装置300との間を流れる通信信号(主信号)に対して、光信号と電気信号の相互変換等の処理を行う。下位側IF部120は、通信信号処理部110から出力された電気信号をユーザ端末200へ送信する。また、下位側IF部120は、ユーザ端末200から送信された電気信号を通信信号処理部110へ出力する。上位側IF部130は、上位通信装置300から送信された光信号を受信し、通信信号処理部110へ出力する。また、上位側IF部130は、通信信号処理部110から出力された光信号を上位通信装置300へ送信する。
制御部140bは、通信装置100bが備える各機能部の動作を制御する。また、制御部140bは、通信信号処理部110及び自己の制御部140bにおいて生じたソフトエラー及びハードエラーを検出することができる。制御部140bは、一部のソフトエラーが検出された場合には、ビット反転によるエラー訂正によってエラーへの対処を行い、通信断を回避する。また、制御部140bは、その他のソフトエラー又はハードエラーが検出された場合には、自律的に自己の通信装置100b(自装置)のリセットを実行させることで、エラーからの復旧を試みる。
図6に示されるように、制御部140bは、リセット回数記憶部141と、停止処理部142と、を備える。制御部140bは、リセット実行回数を示す情報をリセット回数記憶部141に記録する。例えば、制御部140bは、電源部150にリセット指示を行った際に、リセット回数記憶部141に記録されたリセット実行回数の値に1を加算することによって、値を更新する。
また、制御部140bは、前述のその他のソフトエラー又はハードエラーが検出された場合に、リセット回数記憶部141に記録されたリセット実行回数を示す情報を参照する。当該リセット実行回数が所定の上限回数を超過している場合、制御部140bは電源部150へのリセット指示を示す制御信号の出力を行わず、停止処理部142が、通信装置100bの動作を停止させる。停止処理部142は、通信装置100bの動作を停止させた場合、制御信号線を介して異常発生通知指示を示す制御信号を状態通知部160へ出力する。
また、制御部140bは、起動時に、後述される演算部170bの例外リセット実行通知部171から出力された例外リセット実施情報を示す制御情報を取得した場合、(例外リセットが実行されたものと判断し、)リセット回数記憶部141に記録されたリセット実行回数の値に1を加算することによって、値を更新する。なお、ここでいう例外リセット実施情報とは、例外リセット指示によるリセットが実行されたことを示す情報である。
このような構成により、リセット回数記憶部141に記録されたリセット実行回数の値は、制御部140bの指示によって行われたリセットの実行回数と、演算部170bの指示によって行われたリセットの実行回数とが加算された値になる。
電源部150は、制御部140bから制御信号線を介してリセット指示を示す制御信号を取得した場合、又は、演算部170bから制御信号線を介して例外リセット指示を示す制御信号を取得した場合、リセットを実行する。
状態通知部160は、停止処理部142から出力された異常発生通知指示を示す制御信号を取得した場合、システム管理者等へ異常の発生を通知する。状態通知部160は、例えば、警告ランプを点灯させることにより、システム管理者等へ通信装置100bにおける異常の発生を通知する。
演算部170bは、制御部140bによって検出されないエラーを検出することができる。制御部140bによって検出されないエラーとは、例えば、通信信号処理部110及び制御部140b以外の機能部において発生するエラーである。演算部170bは、制御部140bによって検出されないエラーを検出した場合、例外リセットを実行させる。ここでいう例外リセットとは、制御部140bによるリセット指示を伴わないリセットである。演算部170bは、制御信号線を介して電源部150へ例外リセット指示を示す制御信号を出力する。電源部150は、演算部170bから出力された例外リセット指示を示す制御信号を取得すると、通信装置100bのリセットを実行する。
また、図6に示されるように、演算部170bは、例外リセット実行通知部171を含んで構成される。
例外リセット実行通知部171は、例外リセット指示によるリセットが行われた場合、通信装置100bの起動時に、制御信号線を介して制御部140bへ例外リセット実施情報を示す制御信号を出力する。
なお、例外リセット実行通知部171が例外リセット指示によるリセットが行われた否かを認識する方法としては、任意の方法が用いられてよい。例えば、前述の第1の実施形態と同様に、演算部170bが、制御信号を介して電源部150へ例外リセット指示を示す制御情報を出力する際に、例外リセットが実行されたことを示すリセット要因情報を記憶部180に記録するようにしてもよい。
記憶部180は、通信装置100bにおいて用いられる各種のデータ及びプログラムを記憶する。
[通信装置の動作]
以下、通信装置100bの動作の一例について説明する。
図7は、本発明の第2の実施形態における通信装置100bの動作を示すフローチャートである。本フローチャートが示す処理は、通信装置100bの起動時に開始される。なお、ここでいう通信装置100bの起動時とは、初回起動時及びリセットからの復帰時が含まれる。
通信装置100bの演算部170bは、例外リセットからの復帰時である場合(ステップS201・Yes)、制御信号線を介して制御部140bへ例外リセット実施情報を示す制御情報を出力する(ステップS202)。制御部140bは、演算部170bから出力された例外リセット実施情報を示す制御信号を取得すると、リセット回数記憶部141に記録されたリセット実行回数の値に1を加算することによって、値を更新する(ステップS203)。
演算部170bがエラーを検出した場合(ステップS204・Yes)、演算部170bは、制御信号線を介して電源部150へ例外リセット指示を示す制御信号を出力する(ステップS205)。電源部150は、演算部170bから出力された例外リセット指示を示す制御信号を取得すると、リセットを実行する(ステップS211)。以上で、図7のフローチャートが示す通信装置100bの動作が終了する。
一方、通信装置100bの制御部140bがエラーを検出した場合(ステップS204・No、かつ、ステップS206・Yes)、制御部140bは、リセット回数記憶部141に記録されたリセット実行回数の値を確認する(ステップS207)。確認されたリセット実行回数の値が所定の上限回数以内である場合(ステップS208・Yes)、制御部140bは、制御信号を介して電源部150へリセット指示を示す制御信号を出力する(ステップS209)。そして、制御部140bは、リセット回数記憶部141に記録されたリセット実行回数の値に1を加算することによって、値を更新する(ステップS210)。
電源部150は、制御部140bから出力されたリセット指示を示す制御信号を取得すると、リセットを実行する(ステップS211)。以上で、図7のフローチャートが示す通信装置100bの動作が終了する。
一方、上記のステップS208の処理において、確認されたリセット実行回数の値が所定の上限回数を超えている場合(ステップS208・No)、制御部140bの停止処理部142は、通信装置100bの動作を停止させる(ステップS212)。そして、停止処理部142は、制御信号線を介して異常発生通知指示を示す制御信号を状態通知部160へ出力する。状態通知部160は、停止処理部142から出力された異常発生通知指示を示す制御信号を取得すると、例えば警告ランプの点灯等を行うことによって、通信装置100bにおける異常の発生をシステム管理者等へ通知する(ステップS213)。
以上で、図7のフローチャートが示す通信装置100bの動作が終了する。
以上説明したように、第2の実施形態おける通信装置100bでは、例外リセット指示によるリセット(例外リセット)が実行された際に、演算部170bの例外リセット実行通知部171が、制御信号線を介して制御部140bへ、例外リセットが実行されたことを示す例外リセット実施情報を示す制御信号を出力する。制御部140bは、例外リセット実行通知部171から出力された例外リセット実施情報を示す制御信号を取得した場合、(例外リセットが実行されたものと判断し、)リセット回数記憶部141に記録されたリセット実行回数の値に1を加算することによって、値を更新する。
以上のような構成を備えることにより、第2の実施形態における通信装置100bは、制御部140bによるリセット指示を伴わないリセットである例外リセットの実行回数が、制御部140bによってリセット回数記憶部141に記録されるリセット実行回数に加算されるようになる。これにより、電源部150によって実行された(例外リセットを含む)全てのリセットの実行回数が所定の上限回数を超過している場合に、停止処理部142が、通信装置100bの動作を停止させる。このように、第2の実施形態における通信装置100bは、上限回数を超えて(例外リセットを含む)リセットが実行されることを防止することができる。
<第3の実施形態>
以下、本発明の第3の実施形態について、図面を参照しながら説明する。
なお、第3の実施形態における通信システムの全体構成は、図1の全体構成図を参照しながら説明した第1の実施形態における通信システム1の全体構成と同様であるため、説明を省略する。
[通信装置の構成]
以下、従来の通信装置100cの機能構成の一例について説明する。
図8は、従来の通信装置100cの機能構成を示すブロック図である。図8に示されるように、通信装置100cは、通信信号処理部110と、下位側IF部120と、上位側IF部130と、制御部140cと、電源部150と、状態通知部160と、演算部170cと、記憶部180cと、を含んで構成される。
なお、図8において、太い実線の矢印は、通信信号(主信号)が流れる通信線を表す。また、破線の矢印は、制御信号が流れる制御信号線を表す。また、二重線の矢印は、警報を示す情報が流れる経路を表す。また、細い実線の矢印は、書き込み及び読み込み対象の情報が流れる経路を表す。
通信信号処理部110は、ユーザ端末200と上位通信装置300との間を流れる通信信号(主信号)に対して、光信号と電気信号の相互変換等の処理を行う。下位側IF部120は、通信信号処理部110から出力された電気信号をユーザ端末200へ送信する。また、下位側IF部120は、ユーザ端末200から送信された電気信号を通信信号処理部110へ出力する。上位側IF部130は、上位通信装置300から送信された光信号を受信し、通信信号処理部110へ出力する。また、上位側IF部130は、通信信号処理部110から出力された光信号を上位通信装置300へ送信する。
制御部140cは、通信装置100cが備える各機能部の動作を制御する。また、制御部140cは、通信信号処理部110及び自己の制御部140cにおいて生じたソフトエラー及びハードエラーを検出することができる。制御部140cは、一部のソフトエラーが検出された場合には、ビット反転によるエラー訂正によってエラーへの対処を行い、通信断を回避する。また、制御部140cは、その他のソフトエラー又はハードエラーが検出された場合には、自律的に自己の通信装置100c(自装置)のリセットを実行させることで、エラーからの復旧を試みる。
図8に示されるように、制御部140cは、リセット回数記憶部141と、停止処理部142と、を備える。制御部140cは、リセット実行回数を示す情報をリセット回数記憶部141に記録する。例えば、制御部140cは、電源部150にリセット指示を行った際に、リセット回数記憶部141に記録されたリセット実行回数の値に1を加算することによって、値を更新する。
また、制御部140cは、前述のその他のソフトエラー又はハードエラーが検出された場合に、リセット回数記憶部141に記録されたリセット実行回数を示す情報を参照する。当該リセット実行回数が所定の上限回数を超過している場合、制御部140cは電源部150へのリセット指示を示す制御信号の出力を行わず、停止処理部142が、通信装置100cの動作を停止させる。停止処理部142は、通信装置100cの動作を停止させた場合、制御信号線を介して異常発生通知指示を示す制御信号を状態通知部160へ出力する。
また、制御部140cは、通信装置100cの起動時に、制御信号線を介して後述される演算部170cの例外リセット回数通知部172へ例外リセット回数要求を示す制御情報を出力する。なお、ここでいう起動時には、リセットからの復帰時も含まれる。また、例外リセット回数要求とは、制御部140cが、例外リセット回数通知部172へ、後述される記憶部180cの例外リセット回数記憶部182に記録された例外リセット実行回数を示す情報の取得を要求するための情報である。
また、制御部140cは、上記の例外リセット回数要求に応じて例外リセット回数通知部172から出力される例外リセット実行回数を示す制御情報を取得する。制御部140cは、例外リセット実行回数を示す制御情報を取得した場合、当該制御情報に基づく例外リセット実行回数の値を、リセット回数記憶部141に記録されたリセット実行回数の値に加算することによって、値を更新する。
このような構成により、リセット回数記憶部141に記録されたリセット実行回数の値は、制御部140cの指示によって行われたリセットの実行回数と、演算部170cの指示によって行われたリセットの実行回数とが加算された値になる。
なお、制御部140cは、システム管理者等による手動での通信装置100cの復帰時に、リセット回数記憶部141に記録されたリセット実行回数の値を消去(クリア)するようにしてもよい。
又は、制御部140cは、リセット(例外リセットを含む)が実行されてからの経過時間を計測し、所定の時間が経過してもリセットが実行されなかった場合に、リセット回数記憶部141に記録されたリセット実行回数の値を消去するようにしてもよい。
電源部150は、制御部140cから制御信号線を介してリセット指示を示す制御信号を取得した場合、又は、演算部170cから制御信号線を介して例外リセット指示を示す制御信号を取得した場合、リセットを実行する。
状態通知部160は、停止処理部142から出力された異常発生通知指示を示す制御信号を取得した場合、システム管理者等へ異常の発生を通知する。状態通知部160は、例えば、警告ランプを点灯させることにより、システム管理者等へ通信装置100cにおける異常の発生を通知する。
演算部170cは、制御部140cによって検出されないエラーを検出することができる。制御部140cによって検出されないエラーとは、例えば、通信信号処理部110及び制御部140c以外の機能部において発生するエラーである。演算部170cは、制御部140cによって検出されないエラーを検出した場合、例外リセットを実行させる。ここでいう例外リセットとは、制御部140cによるリセット指示を伴わないリセットである。演算部170cは、制御信号線を介して電源部150へ例外リセット指示を示す制御信号を出力する。電源部150は、演算部170cから出力された例外リセット指示を示す制御信号を取得すると、通信装置100cのリセットを実行する。
また、図8に示されるように、演算部170cは、例外リセット回数通知部172を備える。
例外リセット回数通知部172は、起動時に制御部140cから出力される例外リセット回数要求を示す制御情報を取得する。例外リセット回数通知部172は、例外リセット回数要求を示す制御情報を取得すると、後述される記憶部180cの例外リセット回数記憶部182を参照し、例外リセット実行回数を示す情報を取得する。そして、例外リセット回数通知部172は、制御信号線を介して制御部140cへ、例外リセット実行回数を示す制御情報を出力する。
記憶部180cは、通信装置100cにおいて用いられる各種のデータ及びプログラムを記憶する。
また、図8に示されるように、記憶部180cは、例外リセット回数記憶部182を備える。
例外リセット回数記憶部182は、例えばCPUに搭載されたキャッシュメモリ等の記憶媒体である。例外リセット回数記憶部182は、演算部170cによる例外リセット指示により電源部150によって行われたリセットの実行回数(例外リセット実行回数)を示す情報を記憶する。演算部170cは、例外リセット実行回数を示す情報を例外リセット回数記憶部182に記録する。例えば、演算部170cは、電源部150にリセット指示を行った際に、例外リセット回数記憶部182に記録されたリセット実行回数の値に1を加算することによって、値を更新する。
[通信装置の動作]
以下、通信装置100cの動作の一例について説明する。
図9は、本発明の第3の実施形態における通信装置100cの動作を示すフローチャートである。本フローチャートが示す処理は、通信装置100cの起動時に開始される。なお、ここでいう通信装置100cの起動時とは、初回起動時及びリセットからの復帰時が含まれる。
通信装置100cの制御部140cは、制御信号線を介して演算部170cの例外リセット回数通知部172へ、例外リセット回数要求を示す制御情報を出力する(ステップS301)。例外リセット回数通知部172は、例外リセット回数要求を示す制御情報を取得すると、例外リセット回数記憶部182を参照し、例外リセット実行回数を示す情報を取得する(ステップS302)。そして、例外リセット回数通知部172は、制御信号線を介して制御部140cへ、例外リセット実行回数を示す制御情報を出力する。
制御部140cは、例外リセット回数通知部172から出力された例外リセット実行回数を示す制御情報を取得すると、当該制御情報に基づく例外リセット実行回数の値を、リセット回数記憶部141に記録されたリセット実行回数の値に加算することによって、値を更新する(ステップS303)。
演算部170cがエラーを検出した場合(ステップS304・Yes)、演算部170cは、制御信号線を介して電源部150へ例外リセット指示を示す制御信号を出力する(ステップS305)。そして、演算部170cは、例外リセット回数記憶部182に記録された例外リセット実行回数の値に1を加算することによって、値を更新する(ステップS306)。電源部150は、演算部170cから出力された例外リセット指示を示す制御信号を取得すると、リセットを実行する(ステップS312)。以上で、図9のフローチャートが示す通信装置100cの動作が終了する。
一方、通信装置100cの制御部140cがエラーを検出した場合(ステップS304・No、かつ、ステップS307・Yes)、制御部140cは、リセット回数記憶部141に記録されたリセット実行回数の値を確認する(ステップS308)。確認されたリセット実行回数の値が所定の上限回数以内である場合(ステップS309・Yes)、制御部140cは、制御信号を介して電源部150へリセット指示を示す制御信号を出力する(ステップS310)。そして、制御部140cは、リセット回数記憶部141に記録されたリセット実行回数の値に1を加算することによって、値を更新する(ステップS311)。
電源部150は、制御部140cから出力されたリセット指示を示す制御信号を取得すると、リセットを実行する(ステップS312)。以上で、図9のフローチャートが示す通信装置100cの動作が終了する。
一方、上記のステップS308の処理において、確認されたリセット実行回数の値が所定の上限回数を超えている場合(ステップS309・No)、制御部140cの停止処理部142は、通信装置100cの動作を停止させる(ステップS313)。そして、停止処理部142は、制御信号線を介して異常発生通知指示を示す制御信号を状態通知部160へ出力する。状態通知部160は、停止処理部142から出力された異常発生通知指示を示す制御信号を取得すると、例えば警告ランプの点灯等を行うことによって、通信装置100cにおける異常の発生をシステム管理者等へ通知する(ステップS314)。
以上で、図9のフローチャートが示す通信装置100cの動作が終了する。
以上説明したように、第3の実施形態おける通信装置100cでは、演算部170cは、記憶部180cの例外リセット回数記憶部182に例外リセット実行回数を記録する。制御部140cは、通信装置100cの起動時に、制御信号線を介して演算部170cの例外リセット回数通知部172へ、例外リセット回数要求を示す制御信号を出力する。例外リセット回数通知部172は、例外リセット回数要求を示す制御情報を取得すると、例外リセット回数記憶部182を参照し、例外リセット実行回数を示す情報を取得する。そして、例外リセット回数通知部172は、制御信号線を介して制御部140cへ、例外リセット実行回数を示す制御情報を出力する。制御部140cは、例外リセット実行回数を示す制御情報を取得すると、当該制御情報に基づく例外リセット実行回数の値を、リセット回数記憶部141に記録されたリセット実行回数の値に加算することによって、値を更新する。
以上のような構成を備えることにより、第3の実施形態における通信装置100cは、制御部140cによるリセット指示を伴わないリセットである例外リセットの実行回数が、制御部140cによってリセット回数記憶部141に記録されるリセット実行回数に加算されるようになる。これにより、電源部150によって実行された(例外リセットを含む)全てのリセットの実行回数が所定の上限回数を超過している場合に、停止処理部142が、通信装置100cの動作を停止させる。このように、第3の実施形態における通信装置100cは、上限回数を超えて(例外リセットを含む)リセットが実行されることを防止することができる。
上述した各実施形態によれば、通信装置は、第1リセット部と、第2リセット部と、停止処理部とを備える。例えば、通信装置は、実施形態における通信装置100a~100cであり、第1リセット部は、実施形態における制御部140a~140cであり、第2リセット部は、実施形態における演算部170a~170cであり、停止処理部は、実施形態における停止処理部142である。
第1リセット部は、第1のリセット要因の発生に応じて自装置の状態をリセットする第1リセットを実行する。例えば、第1のリセット要因は、実施形態における制御部140a~140cによって検出が可能なエラーであり、第1リセットは、実施形態におけるリセットである。
第2リセット部は、第1のリセット要因とは異なる第2のリセット要因の発生に応じて自装置の状態をリセットする第2リセットを実行する。例えば、第2のリセット要因は、実施形態における演算部170a~170cによって検出が可能なエラーであり、第2リセットは、実施形態における例外リセット指示によるリセット(例外リセット)である。
停止処理部は、第1リセット及び第2リセットが実行された合計回数が所定の回数を超過した場合、自装置の動作を停止させる停止処理を実行する。
なお、第2リセット部は、第2リセットを実行する場合、第2リセットの実行記録を記憶部に記録するようにしてもよい。例えば、第2リセットの実行記録は、第1の実施形態におけるリセット要因情報であり、記憶部は、第1の実施形態におけるリセット要因記憶部181である。
また、第1リセット部は、第1リセットが実行された回数を記憶部に記録し、第1リセット及び第2リセットからの復帰時に、記憶部に第2リセットの実行記録が存在する場合、記憶部に記録された回数に1を加算し、加算された回数を示す情報を停止処理部へ出力するようにしてもよい。例えば、第1リセットは、実施形態におけるリセット指示によるリセットであり、第1リセットが実行された回数は、実施形態におけるリセット実行回数であり、記憶部は、実施形態におけるリセット回数記憶部141である。
なお、第2リセット部は、第2リセットからの復帰時に、第2リセットの実行記録を第1リセット部へ出力するようにしてもよい。例えば、第2リセットの実行記録は、第2の実施形態における例外リセット実施情報である。
また、第1リセット部は、第1リセットが実行された回数を記憶部に記録し、第2リセットの実行記録を受信した場合、記憶部に記録された回数に1を加算し、加算された回数を示す情報を停止処理部へ出力するようにしてもよい。
なお、第1リセット部は、第1リセットが実行された回数を記憶部に記録し、第1リセット及び第2リセットからの復帰時に、第2リセットの実行回数を示す情報を第2リセット部から取得し、記憶部に記録された第1リセットが実行された回数と第2リセット部から取得した第2リセットが実行された回数とを加算した回数を停止処理部へ出力するようにしてもよい。例えば、第1リセットが実行された回数は、第3の実施形態におけるリセット実行回数であり、第2リセットが実行された回数は、第3の実施形態における例外リセット実行回数である。
なお、第1リセット部は、手動による停止処理からの復帰時に、記憶部に記録された回数を示す情報を消去するようにしてもよい。例えば、手動による停止処理は、実施形態におけるシステム管理者等による手動での停止処理である。
なお、第1リセット部は、第1リセット及び第2リセットが実行されてからの経過時間を計測し、所定の時間が経過しても第1リセット又は第2リセットが実行されなかった場合に、記憶部に記録された回数を示す情報を消去するようにしてもよい。
なお、通信装置は、停止処理部による停止処理が実行された場合に、自装置が停止状態であることを示す通知を行う通知部をさらに備えていてもよい。例えば、通知部は、実施形態における状態通知部160である。
なお、本発明を適用することできる装置は、上記の各実施形態のような例えばONU等の通信装置100a~100cに限られるものではなく、他の装置においても適用可能である。ここでいう他の装置とは、例えば、OLT、10G-EPON以外の通信システムにおける通信装置、及び通信装置以外の装置である。
上述した各実施形態における通信装置100a~100cの一部又は全部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記録装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものを含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。