(57)【要約】【課題】３個以上の機能ブロックの内の１つの機能ブロックに障害が発生した場合であっても、監視対象の機能ブロックの監視を他の機能ブロックによって継続することができる通信装置及びその復旧方法を提供する。【解決手段】通信装置１は、機能ブロック１０＿１，…，１０＿Ｎ（Ｎは３以上の整数）を備え、機能ブロック１０＿ｋは機能ブロック１０＿ｋ＋１の障害の有無を監視し、機能ブロック１０＿ｋによって機能ブロック１０＿ｋ＋１の障害が検出されたときに、機能ブロック１０＿ｋは機能ブロック１０＿ｋ＋１に復旧命令信号を出力し、機能ブロック１０＿ｋ＋２は機能ブロック１０＿ｋ＋１の障害の有無を監視し、機能ブロック１０＿ｋ＋２によって機能ブロック１０＿ｋ＋１の障害が検出されたときに、機能ブロック１０＿ｋ＋２は機能ブロック１０＿ｋ＋１に復旧命令信号を出力する。【選択図】図１
2018037920.tif 000002
【特許請求の範囲】
【請求項１】
予め決められた処理を行う第１から第Ｎ（Ｎは３以上の整数）の機能ブロックを備えた通信装置であって、
前記第１から第Ｎの機能ブロックの各々は、
自身の機能ブロック以外の機能ブロックである他の機能ブロックの障害の有無を監視する監視部と、
前記監視部によって前記他の機能ブロックの障害が検出されたときに、前記障害が検出された前記他の機能ブロックに復旧命令信号を出力する復旧命令部と、
前記自身の機能ブロックの障害を解消する復旧処理を行う制御部と、
を有し、
前記第１から第Ｎの機能ブロックの内の第ｋ（ｋはＮ以下の正の整数）の機能ブロックは、前記第１から第Ｎの機能ブロックの内の第ｋ＋１の機能ブロックの障害の有無を監視し、前記第ｋの機能ブロックによって前記第ｋ＋１の機能ブロックの障害が検出されたときに、前記第ｋの機能ブロックは、前記第ｋ＋１の機能ブロックに復旧命令信号を出力し、
前記第１から第Ｎの機能ブロックの内の前記第ｋ＋２の機能ブロックは、前記第ｋ＋１の機能ブロックの障害の有無を監視し、前記第ｋ＋２の機能ブロックによって前記第ｋ＋１の機能ブロックの障害が検出されたときに、前記第ｋ＋２の機能ブロックは、前記第ｋ＋１の機能ブロックに復旧命令信号を出力する
ことを特徴とする通信装置。
【請求項２】
前記第ｋ＋１の機能ブロックは、前記第ｋの機能ブロックの障害の有無を監視し、前記第ｋ＋１の機能ブロックによって前記第ｋの機能ブロックの障害が検出されたときに、前記第ｋ＋１の機能ブロックは、前記第ｋの機能ブロックに復旧命令信号を出力し、
前記第ｋ＋１の機能ブロックは、前記第ｋ＋２の機能ブロックの障害の有無を監視し、前記第ｋ＋１の機能ブロックによって前記第ｋ＋２の機能ブロックの障害が検出されたときに、前記第ｋ＋１の機能ブロックは、前記第ｋ＋２の機能ブロックに復旧命令信号を出力する
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記第１から第Ｎの機能ブロックの各々は、自身の機能ブロックの状態を示す状態通知信号を出力する状態通知部を有し、
前記第ｋの機能ブロックは、前記第ｋ＋１の機能ブロックから出力される状態通知信号に基づいて、前記第ｋ＋１の機能ブロックの障害の有無を監視し、
前記第ｋ＋２の機能ブロックは、前記第ｋ＋１の機能ブロックから出力される状態通知信号に基づいて、前記第ｋ＋１の機能ブロックの障害の有無を監視する
ことを特徴とする請求項１又は２に記載の通信装置。
【請求項４】
前記第１から第Ｎの機能ブロックの各々は、自身の機能ブロックの状態を示す状態通知信号を出力する状態通知部を有し、
前記第ｋ＋１の機能ブロックは、前記第ｋの機能ブロックから出力される状態通知信号に基づいて、前記第ｋの機能ブロックの障害の有無を監視し、
前記第ｋ＋１の機能ブロックは、前記第ｋ＋２の機能ブロックから出力される状態通知信号に基づいて、前記第ｋ＋２の機能ブロックの障害の有無を監視する
ことを特徴とする請求項２に記載の通信装置。
【請求項５】
前記第ｋの機能ブロックによる前記第ｋ＋１の機能ブロックの障害の有無の監視と、前記第ｋ＋２の機能ブロックによる前記第ｋ＋１の機能ブロックの障害の有無の監視とは、第１から第Ｎの機能ブロックの内の一部の機能ブロックについて行われる
ことを特徴とする請求項１に記載の通信装置。
【請求項６】
ｋ＝Ｎ−１のときは、第１の機能ブロックを前記第ｋ＋２の機能ブロックとみなし、
ｋ＝Ｎのときは、第１の機能ブロックを前記第ｋ＋１の機能ブロックとみなし、第２の機能ブロックを前記第ｋ＋２の機能ブロックとみなし、
前記第ｋの機能ブロックによる前記第ｋ＋１の機能ブロックの障害の有無の監視と、前記第ｋ＋２の機能ブロックによる前記第ｋ＋１の機能ブロックの障害の有無の監視とは、第１から第Ｎの機能ブロックの全ての機能ブロックについて行われる
ことを特徴とする請求項１に記載の通信装置。
【請求項７】
前記第１から第Ｎの機能ブロックの内の少なくとも１つの監視対象の機能ブロックは、前記少なくとも１つの監視対象の機能ブロック以外の３つ以上の機能ブロックによって障害の有無を検出されることを特徴とする請求項１から６のいずれか１項に記載の通信装置。
【請求項８】
予め決められた処理を行う第１から第Ｎ（Ｎは３以上の整数）の機能ブロックを備えた通信装置であって、
前記第１から第Ｎの機能ブロックの各々は、
自身の機能ブロック以外の機能ブロックである他の機能ブロックの障害の有無を監視する監視部と、
前記監視部によって前記他の機能ブロックの障害が検出されたときに、前記障害が検出された前記他の機能ブロックに復旧命令信号を出力する復旧命令部と、
前記自身の機能ブロックの障害を解消する復旧処理を行う制御部と、
を有し、
前記第１から第Ｎの機能ブロックの内の第ｋ（ｋはＮ以下の正の整数）の機能ブロックは、前記第１から第Ｎの機能ブロックの内の第ｋ＋１の機能ブロックの障害の有無を監視し、前記第ｋの機能ブロックによって前記第ｋ＋１の機能ブロックの障害が検出されたときに、前記第ｋの機能ブロックは、前記第ｋ＋１の機能ブロックに復旧命令信号を出力し、
前記第ｋ＋１の機能ブロックは、前記第１から第Ｎの機能ブロックの内の第ｋ＋２の機能ブロックの障害の有無を監視し、前記第ｋ＋１の機能ブロックによって前記第ｋ＋２の機能ブロックの障害が検出されたときに、前記第ｋ＋１の機能ブロックは、前記第ｋ＋２の機能ブロックに復旧命令信号を出力し、
前記第ｋの機能ブロックは、前記第ｋ＋１の機能ブロックが復旧できないことが検出された後の期間、前記第ｋ＋１の機能ブロックの状態の監視を停止し、前記第ｋ＋２の機能ブロックの状態の監視を開始し、
前記第ｋの機能ブロックによって前記第ｋ＋２の機能ブロックの障害が検出されたときに、前記第ｋの機能ブロックは、前記第ｋ＋２の機能ブロックに復旧命令信号を出力する
ことを特徴とする通信装置。
【請求項９】
前記第ｋの機能ブロックは、前記第ｋ＋１の機能ブロックの障害を検出してから復旧が完了するまでの期間、前記第ｋ＋１の機能ブロックの状態の監視を停止し、前記第ｋ＋２の機能ブロックの状態の監視を行うことを特徴とする請求項８に記載の通信装置。
【請求項１０】
前記第１から第Ｎの機能ブロックの各々は、自身の機能ブロックの状態を示す状態通知信号を出力する状態通知部を有し、
前記第ｋの機能ブロックは、前記第ｋ＋１の機能ブロックから出力される状態通知信号に基づいて、前記第ｋ＋１の機能ブロックの障害の有無を監視し、
前記第ｋ＋１の機能ブロックは、前記第ｋ＋２の機能ブロックから出力される状態通知信号に基づいて、前記第ｋ＋２の機能ブロックの障害の有無を監視し、
前記第ｋの機能ブロックは、前記第ｋ＋１の機能ブロックが復旧できないことが検出された後の期間、前記第ｋ＋２の機能ブロックから出力される状態通知信号に基づいて、前記第ｋ＋２の機能ブロックの障害の有無を監視する
ことを特徴とする請求項８に記載の通信装置。
【請求項１１】
前記第ｋの機能ブロックによる、前記第ｋ＋２の機能ブロックの障害の有無の監視は、第１から第Ｎの機能ブロックの内の一部の機能ブロックについて行われる
ことを特徴とする請求項８から１０のいずれか１項に記載の通信装置。
【請求項１２】
ｋ＝Ｎ−１のときは、第１の機能ブロックを前記第ｋ＋２の機能ブロックとみなし、
ｋ＝Ｎのときは、第１の機能ブロックを前記第ｋ＋１の機能ブロックとみなし、第２の機能ブロックを前記第ｋ＋２の機能ブロックとみなし、
前記第ｋの機能ブロックによる前記第ｋ＋１の機能ブロックの障害の有無の監視と、前記第ｋの機能ブロックによる前記第ｋ＋２の機能ブロックの障害の有無の監視とは、第１から第Ｎの機能ブロックの全ての機能ブロックについて行われる
ことを特徴とする請求項８から１０のいずれか１項に記載の通信装置。
【請求項１３】
前記第１から第Ｎの機能ブロックの各々は、外部装置と通信を行う通信部を有し、
前記第１から第Ｎの機能ブロックの内の障害を検出した機能ブロックは、検出された障害に関する情報を前記外部装置に送信する
ことを特徴とする請求項１から１２のいずれか１項に記載の通信装置。
【請求項１４】
第１から第Ｎの機能ブロックの内の前記復旧命令信号を受け取った機能ブロックは、前記自身の機能ブロックへの電力の供給を一時停止した後に電力の供給を再開することによって前記復旧処理を行う
ことを特徴とする請求項１から１３のいずれか１項に記載の通信装置。
【請求項１５】
予め決められた処理を行う第１から第Ｎ（Ｎは３以上の整数）の機能ブロックを備えた通信装置の復旧方法であって、
前記第１から第Ｎの機能ブロックの各々は、自身の機能ブロック以外の機能ブロックである他の機能ブロックの障害の有無を監視する監視機能と、前記他の機能ブロックの障害が検出されたときに、前記障害が検出された前記他の機能ブロックに復旧命令信号を出力する復旧命令機能と、前記自身の機能ブロックの障害を解消する復旧処理を行う電源制御機能とを備え、
前記復旧方法は、
前記第１から第Ｎの機能ブロックの内の第ｋ（ｋはＮ以下の正の整数）の機能ブロックが、前記第１から第Ｎの機能ブロックの内の第ｋ＋１の機能ブロックの障害の有無を監視するステップと、
前記第ｋの機能ブロックによって前記第ｋ＋１の機能ブロックの障害が検出されたときに、前記第ｋの機能ブロックが、前記第ｋ＋１の機能ブロックに復旧命令信号を出力するステップと、
前記第１から第Ｎの機能ブロックの内の前記第ｋ＋２の機能ブロックが、前記第ｋ＋１の機能ブロックの障害の有無を監視するステップと、
前記第ｋ＋２の機能ブロックによって前記第ｋ＋１の機能ブロックの障害が検出されたときに、前記第ｋ＋２の機能ブロックが、前記第ｋ＋１の機能ブロックに復旧命令信号を出力するステップと
を有することを特徴とする通信装置の復旧方法。
【請求項１６】
予め決められた処理を行う第１から第Ｎ（Ｎは３以上の整数）の機能ブロックを備えた通信装置の復旧方法であって、
前記第１から第Ｎの機能ブロックの各々は、自身の機能ブロック以外の機能ブロックである他の機能ブロックの障害の有無を監視する監視機能と、前記他の機能ブロックの障害が検出されたときに、前記障害が検出された前記他の機能ブロックに復旧命令信号を出力する復旧命令機能と、前記自身の機能ブロックの障害を解消する復旧処理を行う電源制御機能とを有し、
前記復旧方法は、
前記第１から第Ｎの機能ブロックの内の第ｋ（ｋはＮ以下の正の整数）の機能ブロックが、前記第１から第Ｎの機能ブロックの内の第ｋ＋１の機能ブロックの障害の有無を監視するステップと、
前記第ｋの機能ブロックによって前記第ｋ＋１の機能ブロックの障害が検出されたときに、前記第ｋの機能ブロックが、前記第ｋ＋１の機能ブロックに復旧命令信号を出力するステップと、
前記第ｋ＋１の機能ブロックが、前記第１から第Ｎの機能ブロックの内の第ｋ＋２の機能ブロックの障害の有無を監視するステップと、
前記第ｋ＋１の機能ブロックによって前記第ｋ＋２の機能ブロックの障害が検出されたときに、前記第ｋ＋１の機能ブロックが、前記第ｋ＋２の機能ブロックに復旧命令信号を出力するステップと、
前記第ｋの機能ブロックが、前記第ｋ＋１の機能ブロックに障害が検出されてから復旧されるまでの期間及び復旧できないことが検出された後の期間に、前記第ｋ＋１の機能ブロックの状態の監視を停止し、前記第ｋ＋２の機能ブロックの状態の監視を開始するステップと、
前記第ｋの機能ブロックによって前記第ｋ＋２の機能ブロックの障害が検出されたときに、前記第ｋの機能ブロックが、前記第ｋ＋２の機能ブロックに復旧命令信号を出力するステップと
を有することを特徴とする通信装置の復旧方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３個以上の機能ブロックを有する通信装置及び通信装置の復旧方法に関する。
【背景技術】
【０００２】
一般に、通信装置における障害の有無は、上位装置としての監視装置によって定期的に監視される。監視装置が通信装置の障害の存在を検出した場合、監視装置が通信装置に復旧命令を送信する、又は、ユーザ（保守者を含む）が通信装置の復旧のための操作（例えば、通信装置の電源断及び電源再投入）を行う、などの対応が必要である。しかし、この場合には、監視装置に負荷が集中することがある、及びユーザ操作が要求される場合には障害の検出から復旧完了までに要する時間の短縮が難しく且つユーザに負担を与える、という課題がある。
【０００３】
これらの課題を解決できる技術として、自律復旧機能を備えた装置が提案されている（例えば、特許文献１参照）。この装置は、駆動部を制御する機能ブロックとしての制御部（駆動制御部）と、ヒューマンインタフェース部を制御する他の機能ブロックとしての他の制御部（ヒューマンインタフェース制御部）とを備えている。この装置では、２つの制御部（２つの機能ブロック）が、相手方の制御部（監視対象の機能ブロック）で実行されている制御プログラムが正常に機能しているか否かを互いに監視し、制御プログラムが正常に機能していないと判断したときに監視対象の機能ブロックを再起動させることにより、正常に機能していない機能ブロックの復旧処理を行う。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１４９３７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１で提案されている装置では、２つの機能ブロックの内の一方の機能ブロックに障害が発生している期間中、他方の機能ブロックは監視されておらず、他方の機能ブロックの障害を検出することができないという課題がある。
【０００６】
本発明は、上記従来技術の課題を解決するためになされたものであり、３個以上の機能ブロックの内の１つの機能ブロックに障害が発生した場合であっても、監視対象の機能ブロックの監視を他の機能ブロックによって継続することができる通信装置及びその復旧方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様に係る通信装置は、予め決められた処理を行う第１から第Ｎ（Ｎは３以上の整数）の機能ブロックを備えた通信装置であって、前記第１から第Ｎの機能ブロックの各々は、自身の機能ブロック以外の機能ブロックである他の機能ブロックの障害の有無を監視する監視部と、前記監視部によって前記他の機能ブロックの障害が検出されたときに、前記障害が検出された前記他の機能ブロックに復旧命令信号を出力する復旧命令部と、前記自身の機能ブロックの障害を解消する復旧処理を行う制御部とを有し、前記第１から第Ｎの機能ブロックの内の第ｋ（ｋはＮ以下の正の整数）の機能ブロックは、前記第１から第Ｎの機能ブロックの内の第ｋ＋１の機能ブロックの障害の有無を監視し、前記第ｋの機能ブロックによって前記第ｋ＋１の機能ブロックの障害が検出されたときに、前記第ｋの機能ブロックは、前記第ｋ＋１の機能ブロックに復旧命令信号を出力し、前記第１から第Ｎの機能ブロックの内の前記第ｋ＋２の機能ブロックは、前記第ｋ＋１の機能ブロックの障害の有無を監視し、前記第ｋ＋２の機能ブロックによって前記第ｋ＋１の機能ブロックの障害が検出されたときに、前記第ｋ＋２の機能ブロックは、前記第ｋ＋１の機能ブロックに復旧命令信号を出力することを特徴とする。
【０００８】
本発明の他の態様に係る通信装置は、予め決められた処理を行う第１から第Ｎ（Ｎは３以上の整数）の機能ブロックを備えた通信装置であって、前記第１から第Ｎの機能ブロックの各々は、自身の機能ブロック以外の機能ブロックである他の機能ブロックの障害の有無を監視する監視部と、前記監視部によって前記他の機能ブロックの障害が検出されたときに、前記障害が検出された前記他の機能ブロックに復旧命令信号を出力する復旧命令部と、前記自身の機能ブロックの障害を解消する復旧処理を行う制御部と、を有し、前記第１から第Ｎの機能ブロックの内の第ｋ（ｋはＮ以下の正の整数）の機能ブロックは、前記第１から第Ｎの機能ブロックの内の第ｋ＋１の機能ブロックの障害の有無を監視し、前記第ｋの機能ブロックによって前記第ｋ＋１の機能ブロックの障害が検出されたときに、前記第ｋの機能ブロックは、前記第ｋ＋１の機能ブロックに復旧命令信号を出力し、前記第ｋ＋１の機能ブロックは、前記第１から第Ｎの機能ブロックの内の第ｋ＋２の機能ブロックの障害の有無を監視し、前記第ｋ＋１の機能ブロックによって前記第ｋ＋２の機能ブロックの障害が検出されたときに、前記第ｋ＋１の機能ブロックは、前記第ｋ＋２の機能ブロックに復旧命令信号を出力し、前記第ｋの機能ブロックは、前記第ｋ＋１の機能ブロックが復旧できないことが検出された後の期間、前記第ｋ＋１の機能ブロックの状態の監視を停止し、前記第ｋ＋２の機能ブロックの状態の監視を開始し、前記第ｋの機能ブロックによって前記第ｋ＋２の機能ブロックの障害が検出されたときに、前記第ｋの機能ブロックは、前記第ｋ＋２の機能ブロックに復旧命令信号を出力することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、３個以上の機能ブロックの内の１つの機能ブロックに障害が発生した場合であっても、監視対象の機能ブロックの監視を他の機能ブロックによって継続することができるという効果がある。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態１に係る通信装置の構成例を示すブロック図である。
【図２】実施の形態１に係る通信装置の他の構成例を示すブロック図である。
【図３】実施の形態１に係る通信装置の機能ブロックの概略構成を示すブロック図である。
【図４】実施の形態１に係る通信装置における機能ブロックの障害発生時の動作を示すシーケンス図である。
【図５】（ａ）及び（ｂ）は、実施の形態１に係る通信装置における監視対象の機能ブロックが２つの機能ブロックから復旧命令信号を受け取ったときの動作を示す図である。
【図６】本発明の実施の形態２に係る通信装置の構成例を示すブロック図である。
【図７】実施の形態２に係る通信装置の他の構成例を示すブロック図である。
【図８】実施の形態２に係る通信装置の機能ブロック（障害発生前）の概略構成を示すブロック図である。
【図９】実施の形態２に係る通信装置の機能ブロック（障害発生時）の概略構成を示すブロック図である。
【図１０】実施の形態２に係る通信装置における機能ブロックの障害発生時の動作を示すシーケンス図である。
【図１１】本発明の実施の形態１の変形例に係る通信装置の構成例を示すブロック図である。
【発明を実施するための形態】
【００１１】
《１》実施の形態１
《１−１》通信装置１の構成例
図１は、本発明の実施の形態１に係る通信装置１の構成例を示すブロック図である。通信装置１は、実施の形態１に係る復旧方法を実行することができる装置である。図１に示されるように、実施の形態１に係る通信装置１は、予め決められた処理（例えば、通信のための信号処理）を行う第１から第Ｎの機能ブロックとしての機能ブロック１０＿１，…，１０＿Ｎ（機能ブロックを互いに区別する必要がない場合には、機能ブロック１０とも表記する）と、機能ブロック１０＿１，…，１０＿Ｎに電力を供給する電源部１６とを備えている。ここで、Ｎは、３以上の整数である。なお、通信装置１は、機能ブロック１０＿１，…，１０＿Ｎ以外の機能ブロック（図１には示さず）を備えてもよい。
【００１２】
機能ブロック１０＿１，…，１０＿Ｎの各々は、ある処理を実行（すなわち、ある機能を実現）するための部分（機能部）である。機能ブロック１０＿１，…，１０＿Ｎの各々は、ある処理を実行するためのソフトウェアであるプログラムを格納する記憶部としてのメモリと、このプログラムを実行する情報処理部としてのプロセッサとを有するプログラム実行部であることが可能である。また、機能ブロック１０＿１，…，１０＿Ｎの各々は、ある処理を実行するための電気回路である半導体集積回路によって構成されることも可能である。また、機能ブロック１０＿１，…，１０＿Ｎの各々は、プログラム実行部と半導体集積回路との組み合わせによって構成されることも可能である。
【００１３】
電源部１６は、機能ブロック１０＿１，…，１０＿Ｎに電力を供給するための電力供給回路を有する。電源部１６は、外部から受け取った電力を機能ブロック１０＿１，…，１０＿Ｎに供給する回路、又は、内蔵された電池から電力を機能ブロック１０＿１，…，１０＿Ｎに供給する回路のいずれであってもよい。また、電源部１６は、外部から受け取った電力を機能ブロック１０＿１，…，１０＿Ｎに供給する回路と、内蔵された電池から電力を機能ブロック１０＿１，…，１０＿Ｎに供給する回路との両方を有してもよい。
【００１４】
図１の例では、機能ブロック１０＿１，…，１０＿Ｎは、機能ブロック１０＿１，…，１０＿Ｎの動作を制御する制御部１４＿１，…，１４＿Ｎ（制御部を互いに区別する必要がない場合には、制御部１４とも表記する）をそれぞれ有している。制御部１４＿１，…，１４＿Ｎは、例えば、機能ブロック１０＿１，…，１０＿Ｎに入力される電力をそれぞれ制御する電力制御部としての機能（電力制御機能）を持つ。制御部１４＿１，…，１４＿Ｎは、例えば、機能ブロック１０＿１，…，１０＿Ｎ（すなわち、自身の機能ブロック）に供給される電力をＯＮ（電力供給）又はＯＦＦ（電力供給停止）に切り替えることができる。制御部１４＿１，…，１４＿Ｎによる電力供給のＯＦＦ及びその後のＯＮ（電力供給を一時停止し、その直後に電力供給を再開する動作、すなわち、再起動）により、機能ブロック１０＿１，…，１０＿Ｎに存在する障害を解消する（障害が存在しない状態に戻す）ための復旧処理を行うことができる。
【００１５】
なお、制御部１４＿１，…，１４＿Ｎによる復旧処理は、電力供給のＯＦＦ及びその直後のＯＮの処理に限定されず、復旧処理のためのソフトウェア（Ｓ／Ｗ）を実行することによるＳ／Ｗリセット、及び、復旧処理のためのハードウェア（Ｈ／Ｗ）を動作させることによるＨ／Ｗリセットであってもよい。
【００１６】
図１に示されるように、機能ブロック１０＿１，…，１０＿Ｎには、第ｋの機能ブロック（例えば、機能ブロック１０＿ｋ）、第ｋ＋１の機能ブロック（例えば、機能ブロック１０＿ｋ＋１）、及び第ｋ＋２の機能ブロック（例えば、機能ブロック１０＿ｋ＋２）が含まれる。本出願では、機能ブロック１０＿ｋと機能ブロック１０＿ｋ＋１とが互いに隣り合う機能ブロックであり、機能ブロック１０＿ｋ＋１と機能ブロック１０＿ｋ＋２とが互いに隣り合う機能ブロックである場合を説明する。
【００１７】
ここで、ｋは、Ｎ以下の正の整数である。また、ｋ＝Ｎ−１のときは、機能ブロック１０＿Ｎ−１と機能ブロック１０＿Ｎとが隣り合う機能ブロックであり、機能ブロック１０＿Ｎと機能ブロック１０＿１とが隣り合う機能ブロックである。また、ｋ＝Ｎのときは、機能ブロック１０＿Ｎと機能ブロック１０＿１とが隣り合う機能ブロックであり、機能ブロック１０＿１と機能ブロック１０＿２とが隣り合う機能ブロックである。
【００１８】
図１に機能ブロック１０＿ｋから延びる接続線１７＿ｋ＋１で示されるように、機能ブロック１０＿ｋは、機能ブロック１０＿ｋによる監視対象の機能ブロックである機能ブロック１０＿ｋ＋１の障害の有無を監視し、機能ブロック１０＿ｋによって機能ブロック１０＿ｋ＋１の障害が検出されたときに、機能ブロック１０＿ｋは、機能ブロック１０＿ｋ＋１に復旧命令信号を出力する。この復旧命令信号を受け取った機能ブロック１０＿ｋ＋１は、自身の機能ブロック１０＿ｋ＋１を障害が存在しない状態に戻すための復旧処理を行うことができる。
【００１９】
また、図１に機能ブロック１０＿ｋ＋２から延びる接続線１８＿ｋ＋１で示されるように、機能ブロック１０＿ｋ＋２は、機能ブロック１０＿ｋ＋２による監視対象の機能ブロックである機能ブロック１０＿ｋ＋１の障害の有無を監視し、機能ブロック１０＿ｋ＋２によって機能ブロック１０＿ｋ＋１の障害が検出されたときに、機能ブロック１０＿ｋ＋２は、機能ブロック１０＿ｋ＋１に復旧命令信号を出力する。この復旧命令信号を受け取った機能ブロック１０＿ｋ＋１は、自身の機能ブロック１０＿ｋ＋１を障害が存在しない状態に戻すための復旧処理を行うことができる。
【００２０】
このように、通信装置１が図１の構成例を採用することにより、機能ブロック１０＿ｋ及び機能ブロック１０＿ｋ＋２の内のいずれか一方の機能ブロック（例えば、機能ブロック１０＿ｋ）に障害が発生して監視機能が停止した場合であっても、監視対象の機能ブロックである機能ブロック１０＿ｋ＋１の監視を他方の機能ブロック（例えば、機能ブロック１０＿ｋ＋２）によって継続することができる。
【００２１】
また、図１に機能ブロック１０＿ｋ＋１から延びる接続線１８＿ｋで示されるように、機能ブロック１０＿ｋ＋１は、機能ブロック１０＿ｋ＋１による監視対象の機能ブロックである機能ブロック１０＿ｋの障害の有無を監視し、機能ブロック１０＿ｋ＋１によって機能ブロック１０＿ｋの障害が検出されたときに、機能ブロック１０＿ｋ＋１は、機能ブロック１０＿ｋに復旧命令信号を出力する。この復旧命令信号を受け取った機能ブロック１０＿ｋは、自身の機能ブロック１０＿ｋを障害が存在しない状態に戻すための復旧処理を行うことができる。
【００２２】
また、図１に機能ブロック１０＿ｋ＋１から延びる接続線１７＿ｋ＋２で示されるように、機能ブロック１０＿ｋ＋１は、機能ブロック１０＿ｋ＋１による監視対象の機能ブロックである機能ブロック１０＿ｋ＋２の障害の有無を監視し、機能ブロック１０＿ｋ＋１によって機能ブロック１０＿ｋ＋２の障害が検出されたときに、機能ブロック１０＿ｋ＋１は、機能ブロック１０＿ｋ＋２に復旧命令信号を出力する。この復旧命令信号を受け取った機能ブロック１０＿ｋ＋２は、自身の機能ブロック１０＿ｋ＋２を障害が存在しない状態に戻すための復旧処理を行うことができる。
【００２３】
図１には、機能ブロック１０＿ｋによる機能ブロック１０＿ｋ＋１の障害の有無の監視と、機能ブロック１０＿ｋ＋２による機能ブロック１０＿ｋ＋１の障害の有無の監視とは、機能ブロック１０＿１から１０＿Ｎまでの内の一部について行われている場合、すなわち、３個の機能ブロックについて行われている場合を示している。しかし、互いに隣り合う機能ブロックの間で互いに監視し合う構成（接続関係）を、図１の場合よりも多くすることも可能である。なお、互いに隣り合う機能ブロックの間で互いに監視し合う構成（接続関係）を、機能ブロック１０＿１から１０＿Ｎまでの全てに適用した例は、後述の図２を用いて説明する。
【００２４】
なお、隣り合う機能ブロックとは、通信装置１内における実際の位置が互いに最も近い１対の機能ブロックという意味ではなく、通信装置１内において互いに監視し合うことが可能な位置関係にある１対の機能ブロックという意味である。互いに監視し合う機能ブロックの組み合わせは、機能ブロックの配置及び重要度（通信機能に関係する重要度の高い機能ブロック又は通信機能自体に影響を与えない重要度の低い機能ブロック）などに決定することが可能である。
【００２５】
《１−２》通信装置１の他の構成例
図２は、実施の形態１に係る通信装置１の他の構成例を示すブロック図である。図１では機能ブロック１０＿１，…，１０＿Ｎの内の一部の機能ブロックが互いに監視し合う構成例を示したが、図２では、機能ブロック１０＿１，…，１０＿Ｎの全ての機能ブロックが互いに監視し合う構成例を示す。言い換えれば、図２においては、機能ブロック１０＿ｋと機能ブロック１０＿ｋ＋１との間で互いに監視し合い、機能ブロック１０＿ｋ＋１と機能ブロック１０＿ｋ＋２との間で互いに監視し合う関係が、ｋ＝１からｋ＝Ｎまでの全ての機能ブロックについて形成されている。図２においては、機能ブロック１０＿１，…，１０＿Ｎは、隣り合う機能ブロックと接続され、全体としてリング状に接続されている。ただし、ｋ＝Ｎ−１のときは、監視対象の機能ブロックは機能ブロック１０＿Ｎであり、機能ブロック１０＿Ｎと機能ブロック１０＿Ｎ−１との間で互いに監視し合い、機能ブロック１０＿Ｎと機能ブロック１０＿１との間で互いに監視し合う。また、ｋ＝Ｎのときは、監視対象の機能ブロックは機能ブロック１０＿１であり、機能ブロック１０＿１と機能ブロック１０＿Ｎとの間で互いに監視し合い、機能ブロック１０＿１と機能ブロック１０＿２との間で互いに監視し合う。
【００２６】
図２に示されるように、機能ブロック１０＿ｋは、機能ブロック１０＿ｋによる監視対象の機能ブロックである機能ブロック１０＿ｋ＋１の障害の有無を監視し、機能ブロック１０＿ｋによって機能ブロック１０＿ｋ＋１の障害が検出されたときに、機能ブロック１０＿ｋは、機能ブロック１０＿ｋ＋１に復旧命令信号を出力する。この復旧命令信号を受け取った機能ブロック１０＿ｋ＋１は、自身の機能ブロック１０＿ｋ＋１における復旧処理を行うことができる。また、機能ブロック１０＿ｋ＋１は、機能ブロック１０＿ｋ＋１による監視対象の機能ブロックである機能ブロック１０＿ｋの障害の有無を監視し、機能ブロック１０＿ｋ＋１によって機能ブロック１０＿ｋの障害が検出されたときに、機能ブロック１０＿ｋ＋１は、機能ブロック１０＿ｋに復旧命令信号を出力する。この復旧命令信号を受け取った機能ブロック１０＿ｋは、自身の機能ブロック１０＿ｋにおける復旧処理を行うことができる。
【００２７】
また、図２に示されるように、機能ブロック１０＿ｋ＋２は、機能ブロック１０＿ｋ＋２による監視対象の機能ブロックである機能ブロック１０＿ｋ＋１の障害の有無を監視し、機能ブロック１０＿ｋ＋２によって機能ブロック１０＿ｋ＋１の障害が検出されたときに、機能ブロック１０＿ｋ＋２は、機能ブロック１０＿ｋ＋１に復旧命令信号を出力する。この復旧命令信号を受け取った機能ブロック１０＿ｋ＋１は、自身の機能ブロック１０＿ｋ＋１における復旧処理を行うことができる。また、機能ブロック１０＿ｋ＋１は、機能ブロック１０＿ｋ＋１による監視対象の機能ブロックである機能ブロック１０＿ｋ＋２の障害の有無を監視し、機能ブロック１０＿ｋ＋１によって機能ブロック１０＿ｋ＋２の障害が検出されたときに、機能ブロック１０＿ｋ＋１は、機能ブロック１０＿ｋ＋２に復旧命令信号を出力する。この復旧命令信号を受け取った機能ブロック１０＿ｋ＋２は、自身の機能ブロック１０＿ｋ＋２における復旧処理を行うことができる。
【００２８】
図２の構成例では、機能ブロック１０＿ｋと機能ブロック１０＿ｋ＋１と同様に、機能ブロック１０＿１，…，１０＿Ｎの全てについて、隣り合う機能ブロックが互いに相手方を監視し合う。このように、通信装置１が図２の構成例を採用することにより、機能ブロック１０＿１，…，１０＿Ｎの内のいずれかの機能ブロック（例えば、機能ブロック１０＿ｋ）に障害が発生して監視機能が停止した場合であっても、監視対象の機能ブロック１０＿ｋ＋１の監視を他の機能ブロック（例えば、機能ブロック１０＿ｋ＋２）によって継続することができる。
【００２９】
《１−３》機能ブロックの構成
図３は、実施の形態１に係る通信装置１の機能ブロックの概略構成を示すブロック図である。図３には、図１及び図２に示される機能ブロックの内の一部の機能ブロックの内部構成が示されている。図３には、３個の機能ブロック１０＿ｋ，１０＿ｋ＋１，１０＿ｋ＋２が示されているが、図３に示される内部構成は、機能ブロック１０＿１，…，１０＿Ｎの全てに適用可能である。したがって、機能ブロックの内部構成の説明に際しては、図１及び図２をも参照する。
【００３０】
機能ブロック１０＿１，…，１０＿Ｎは、状態通知部１１＿１，…，１１＿Ｎ（状態通知部を互いに区別する必要がない場合には、状態通知部１１とも表記する）と、監視部１２＿１，…，１２＿Ｎと（監視部を互いに区別する必要がない場合には、監視部１２とも表記する）、復旧命令部１３＿１，…，１３＿Ｎ（復旧命令部を互いに区別する必要がない場合には、復旧命令部１３とも表記する）と、制御部１４＿１，…，１４＿Ｎとをそれぞれ備えている。また、機能ブロック１０＿１，…，１０Ｎは、外部インタフェース部（Ｉ／Ｆ部）１５＿１，…，１５＿Ｎ（外部インタフェース部を互いに区別する必要がない場合には、外部インタフェース部１５とも表記する）をそれぞれ備えてもよい。
【００３１】
監視部１２＿１，…，１２＿Ｎは、自身の機能ブロック以外の機能ブロック（他の機能ブロック）の障害の有無を監視する監視機能を有する。図２の例では、機能ブロック１０＿ｋ＋１の監視部１２＿ｋ＋１は、他の機能ブロックとしての機能ブロック１０＿ｋ及び１０＿ｋ＋２の障害の有無を監視する。また、機能ブロック１０＿ｋの監視部１２＿ｋと機能ブロック１０＿ｋ＋２の監視部１２＿ｋ＋２は、他の機能ブロックとしての機能ブロック１０＿ｋ＋１の障害の有無を監視する。
【００３２】
状態通知部１１＿１，…，１１＿Ｎは、自身の機能ブロックの状態を示す状態通知信号を出力する。状態通知信号の出力は、例えば、定期的に繰り返される。監視部１２＿１，…，１２＿Ｎは、他の機能ブロックの障害の有無を、状態通知信号に基づいて監視することができる。例えば、機能ブロック１０＿ｋの監視部１２＿ｋは、他の機能ブロックとしての機能ブロック１０＿ｋ＋１の状態通知部１１＿ｋ＋１から出力された状態通知信号に基づいて、障害の有無を監視する。また、機能ブロック１０＿ｋ＋２の監視部１２＿ｋ＋２は、他の機能ブロックとしての機能ブロック１０＿ｋ＋１の状態通知部１１＿ｋ＋１から出力された状態通知信号に基づいて、障害の有無を監視する。
【００３３】
復旧命令部１３＿１，…，１３＿Ｎは、監視部１２＿１，…，１２＿Ｎによって他の機能ブロックの障害が検出されたときに、障害が検出された他の機能ブロックに復旧命令信号を出力する復旧命令機能を有する。例えば、機能ブロック１０＿ｋの復旧命令部１３＿ｋは、他の機能ブロックとしての機能ブロック１０＿ｋ＋１に障害が検出されたときに、機能ブロック１０＿ｋ＋１の制御部１４＿ｋ＋１に復旧命令信号を出力する。また、機能ブロック１０＿ｋ＋２の復旧命令部１３＿ｋ＋２は、他の機能ブロックとしての機能ブロック１０＿ｋ＋１に障害が検出されたときに、機能ブロック１０＿ｋ＋１の制御部１４＿ｋ＋１に復旧命令信号を出力する。このように、復旧命令部（例えば、１３＿ｋ）は、自身の機能ブロック（例えば、１０＿ｋ）の監視部（例えば、１２＿ｋ）及び２つの他の機能ブロック内の制御部と接続される。復旧命令部（例えば、１３＿ｋ）は、自身の機能ブロック（例えば、１０＿ｋ）の監視部（例えば、１２＿ｋ）から障害検出通知を受け取った場合、Ｓ／Ｗリセット、Ｈ／Ｗリセット、及び電源断後の電源再投入（電源ＯＦＦ／ＯＮ）による再起動のいずれかの選択、すなわち、復旧処理の種類の選択を行い、障害が発生した他の機能ブロック内の制御部に対して復旧命令信号を出力する。復旧命令信号は、復旧処理の種類を含むことができる。また、復旧命令部（例えば、１３＿ｋ）は、自身の機能ブロック（例えば、１０＿ｋ）の監視部（例えば、１２＿ｋ）から復旧不可能通知を受け取った場合、障害が発生した他の機能ブロック内の制御部に対して、障害が発生した機能ブロックにおける電源ＯＦＦ命令を出力してもよい。
【００３４】
制御部１４＿１，…，１４＿Ｎは、自身の機能ブロックの障害を解消する復旧処理を行う復旧処理機能を有する。制御部１４＿１，…，１４＿Ｎは、復旧命令信号を受け取ると、自身の機能ブロックの障害を解消する復旧処理を行う。復旧処理としては、機能ブロックのＳ／Ｗリセット、機能ブロックのＨ／Ｗリセット、及び機能ブロックの電源断及びその直後の電源再投入（再起動）がある。制御部（例えば、１４＿ｋ）は、２つの他の機能ブロック内の復旧命令部と接続され、復旧命令信号を受け取った場合、自身の機能ブロック（例えば、１０＿ｋ）に対してＳ／Ｗリセット、Ｈ／Ｗリセット、及び、電源ＯＦＦ／ＯＮによる復旧処理のいずれかを実行し、復旧を試みる。また、制御部（例えば、１４＿ｋ）は、他の機能ブロック内の復旧命令部から電源ＯＦＦ命令を受け取った場合、自身の機能ブロック（例えば、１０＿ｋ）の電源をＯＦＦにすることができる。
【００３５】
なお、機能ブロック１０＿１，…，１０＿Ｎの内部構成は、図３の例に限定されず、例えば、状態通知部（例えば、１１＿ｋ）と監視部（例えば、１２＿ｋ）とが１つの構成である状態通知・監視部であってもよく、又は、監視部（例えば、１２＿ｋ）と復旧命令部（例えば、１３＿ｋ）とが１つの構成である監視・復旧命令部であってもよく、又は、他の構成であってもよい。
【００３６】
外部インタフェース部１５＿１，…，１５＿Ｎは、上位装置又は下位装置などの他の通信装置（外部装置）と通信可能に接続され、他の通信装置との間で主信号データの送受信を行うことができる。また、外部インタフェース部（例えば、１５＿ｋ）は、自身の機能ブロック（例えば、１０＿ｋ）内の監視部（例えば、１２＿ｋ）と接続され、監視部（例えば、１２＿ｋ）から障害検出通知を受け取った場合は、機能ブロック（例えば、１０＿ｋ）に障害が存在することを知らせる障害警報を上位装置に送信することができる。外部インタフェース部（例えば、１５＿ｋ）は、監視部（例えば、１２＿ｋ）から回復検出通知を受け取った場合は、機能ブロック（例えば、１０＿ｋ）の障害が復旧されたことを知らせる回復通知を上位装置に送信することができる。
【００３７】
また、自身の機能ブロック（例えば、１０＿ｋ）の監視部（例えば、１２＿ｋ）は、外部インタフェース部（例えば、１５＿ｋ）と接続され、監視対象の機能ブロックの障害を検出した場合には、自身の機能ブロック（例えば、１０＿ｋ）の復旧命令部（例えば、１３＿ｋ）及び外部インタフェース部（例えば、１５＿ｋ）に障害検出通知を出力する。自身の機能ブロック（例えば、１０＿ｋ）の監視部（例えば、１２＿ｋ）は、監視対象の機能ブロックの回復を検出した場合には、外部インタフェース部（例えば、１５＿ｋ）に回復検出通知を出力することができる。自身の機能ブロック（例えば、１０＿ｋ）の監視部（例えば、１２＿ｋ）は、監視対象の機能ブロックの復旧が不可能であることを示す復旧不可能を検出した場合には、復旧命令部（例えば、１３＿ｋ）及び外部インタフェース部（例えば、１５＿ｋ）に復旧不可能通知を出力することができる。
【００３８】
機能ブロック１０＿１，…，１０＿Ｎの状態通知部１１＿１，…，１１＿Ｎと、監視部１２＿１，…，１２＿Ｎと、復旧命令部１３＿１，…，１３＿Ｎと、制御部１４＿１，…，１４＿Ｎと、外部インタフェース部１５＿１，…，１５＿Ｎとは、ソフトウェアであるプログラムを格納する記憶部としてのメモリと、このプログラムを実行する情報処理部としてのプロセッサとを有するプログラム実行部であること、又は、半導体集積回路によって構成されること、又は、プログラム実行部と半導体集積回路との組み合わせによって構成されることが可能である。
【００３９】
図３に示されるように、機能ブロック１０＿ｋの監視部１２＿ｋは、機能ブロック１０＿ｋ＋１の状態通知部１１＿ｋ＋１から出力される状態通知信号に基づいて機能ブロック１０＿ｋ＋１の障害の有無を監視し、機能ブロック１０＿ｋの監視部１２＿ｋによって機能ブロック１０＿ｋ＋１の障害が検出されたときに、機能ブロック１０＿ｋの復旧命令部１３＿ｋは、機能ブロック１０＿ｋ＋１の制御部１４＿ｋ＋１に復旧命令信号を出力する。この復旧命令信号を受け取った機能ブロック１０＿ｋ＋１の制御部１４＿ｋ＋１は、機能ブロック１０＿ｋ＋１を障害が存在しない状態に戻すための復旧処理を行うことができる。
【００４０】
また、機能ブロック１０＿ｋ＋２の監視部１２＿ｋ＋２は、機能ブロック１０＿ｋ＋１の状態通知部１１＿ｋ＋１から出力される状態通信信号に基づいて機能ブロック１０＿ｋ＋１の障害の有無を監視し、機能ブロック１０＿ｋ＋２の監視部１２＿ｋ＋２によって機能ブロック１０＿ｋ＋１の障害が検出されたときに、機能ブロック１０＿ｋ＋２の復旧命令部１３＿ｋ＋２は、機能ブロック１０＿ｋ＋１の制御部１４＿ｋ＋１に復旧命令信号を出力する。この復旧命令信号を受け取った機能ブロック１０＿ｋ＋１の制御部１４＿ｋ＋１は、機能ブロック１０＿ｋ＋１を障害が存在しない状態に戻すための復旧処理を行うことができる。
【００４１】
また、機能ブロック１０＿ｋ＋１の監視部１２＿ｋ＋１は、機能ブロック１０＿ｋの状態通知部１１＿ｋから出力される状態通信信号に基づいて機能ブロック１０＿ｋの障害の有無を監視し、機能ブロック１０＿ｋ＋１の監視部１２＿ｋ＋１によって機能ブロック１０＿ｋの障害が検出されたときに、機能ブロック１０＿ｋ＋１の復旧命令部１３＿ｋ＋１は、機能ブロック１０＿ｋの制御部１４＿ｋに復旧命令信号を出力する。この復旧命令信号を受け取った機能ブロック１０＿ｋの制御部１４＿ｋは、機能ブロック１０＿ｋを障害が存在しない状態に戻すための復旧処理を行うことができる。
【００４２】
また、機能ブロック１０＿ｋ＋１の監視部１２＿ｋ＋１は、機能ブロック１０＿ｋ＋２の状態通知部１１＿ｋ＋２から出力される状態通信信号に基づいて機能ブロック１０＿ｋ＋２の障害の有無を監視し、機能ブロック１０＿ｋ＋１の監視部１２＿ｋ＋１によって機能ブロック１０＿ｋ＋２の障害が検出されたときに、機能ブロック１０＿ｋ＋１の復旧命令部１３＿ｋ＋１は、機能ブロック１０＿ｋ＋２の制御部１４＿ｋ＋２に復旧命令信号を出力する。この復旧命令信号を受け取った機能ブロック１０＿ｋ＋２の制御部１４＿ｋ＋２は、機能ブロック１０＿ｋ＋２を障害が存在しない状態に戻すための復旧処理を行うことができる。
【００４３】
《１−４》通信装置１の動作
図４は、実施の形態１に係る通信装置１における機能ブロックの障害発生時の動作を示すシーケンス図である。なお、機能ブロック１０＿ｋ，１０＿ｋ＋１，１０＿ｋ＋２の動作の説明に際しては、図１から図３をも参照する。また、図４においては、機能ブロック１０＿ｋ，１０＿ｋ＋２が機能ブロック１０＿ｋ＋１の障害を監視する場合の動作を説明するが、他の機能ブロックの組み合わせに関する動作も、図４における動作と同様である。
【００４４】
機能ブロック１０＿ｋ，１０＿ｋ＋２の監視部１２＿ｋ，１２＿ｋ＋２は、監視対象の機能ブロック１０＿ｋ＋１の状態通知部１１＿ｋ＋１から状態通知信号が定期的に送信されているか否かを監視する。機能ブロック１０＿ｋ＋１に障害が発生すると（ステップＳ１０１）、機能ブロック１０＿ｋ＋１の状態通知部１１＿ｋ＋１から状態通知信号が送信されなくなることにより（ステップＳ１０２）、機能ブロック１０＿ｋ，１０＿ｋ＋２の監視部１２＿ｋ，１２＿ｋ＋２は、機能ブロック１０＿ｋ＋１に障害が発生したことを検出する（ステップＳ１０３）。
【００４５】
機能ブロック１０＿ｋ＋１における障害発生を検出した機能ブロック１０＿ｋ，１０＿ｋ＋２において、監視部１２＿ｋ，１２＿ｋ＋２は、機能ブロック１０＿ｋ，１０＿ｋ＋２の復旧命令部１３＿ｋ，１３＿ｋ＋２に障害検出通知をそれぞれ出力し、復旧命令部１３＿ｋ，１３＿ｋ＋２は、機能ブロック１０＿ｋ＋１の制御部１４＿ｋ＋１４に対して、復旧命令信号をそれぞれ出力する（ステップＳ１０４，Ｓ１０５）。
【００４６】
機能ブロック１０＿ｋ，１０＿ｋ＋２の監視部１２＿ｋ，１２＿ｋ＋２は、機能ブロック１０＿ｋ，１０＿ｋ＋２の外部インタフェース部１５＿ｋ，１５＿ｋ＋２を経由して、上位装置に対して、機能ブロック１０＿ｋ＋１の障害の発生を知らせる警報通知を送信する（ステップＳ１０６，Ｓ１０７）。
【００４７】
復旧命令信号を受け取った機能ブロック１０＿ｋ＋１の制御部１４＿ｋ＋１は、自身の機能ブロック１０＿ｋ＋１に対して復旧処理（例えば、機能ブロック１０＿ｋ＋１の再起動）を行って（ステップＳ１０８）、復旧を試みる。機能ブロック１０＿ｋ＋１の再起動が完了し、自身の機能ブロック１０＿ｋ＋１の障害が解消した場合（すなわち、復旧が成功した場合）には（ステップＳ１０９）、状態通知部１１＿ｋ＋１は状態通知信号の送信を再開する（ステップＳ１１０）。
【００４８】
機能ブロック１０＿ｋ，１０＿ｋ＋２の監視部１２＿ｋ，１２＿ｋ＋２は、機能ブロック１０＿ｋ＋１から状態通知信号の送信が再開されたことを検出すると、外部インタフェース部１５＿ｋ，１５＿ｋ＋２を経由して上位装置へ回復通知を送信する（ステップＳ１１１，Ｓ１１２）。
【００４９】
機能ブロック１０＿ｋ＋１が障害を解消できなかった場合（すなわち、復旧が成功しなかった場合）には、機能ブロック１０＿ｋ，１０＿ｋ＋２の監視部１２＿ｋ，１２＿ｋ＋２は、復旧命令部１３＿ｋ，１３＿ｋ＋２から機能ブロック１０＿ｋ＋１の制御部１４＿ｋ＋１に対して電源ＯＦＦ命令を出力する。機能ブロック１０＿ｋ＋１の制御部１４＿ｋ＋１は、電源ＯＦＦ命令を受け取ると、機能ブロック１０＿ｋ＋１の電源をＯＦＦにする。また、機能ブロック１０＿ｋ，１０＿ｋ＋２の監視部１２＿ｋ，１２＿ｋ＋２は、外部インタフェース部１５＿ｋ，１５＿ｋ＋２を経由して、上位装置へ故障警報を送信する。なお、機能ブロック１０＿ｋ＋１が障害を解消できなかった状況（すなわち、復旧が成功しなかった状況）は、例えば、機能ブロック１０＿ｋ，１０＿ｋ＋２の監視部１２＿ｋ，１２＿ｋ＋２が、機能ブロック１０＿ｋ＋１の状態通知部１１＿ｋ＋１からの状態通知信号を、例えば、復旧命令信号の出力時から予め決められた基準時間以上、受け取ることができなかったことにより、検出可能である。
【００５０】
なお、実施の形態１では、図２に示されるように、ある機能ブロックが隣り合う（両隣の）２つの機能ブロックと接続されたリング状の接続状態を形成し、機能ブロックが両隣の機能ブロックと相互監視する場合を例示した。しかし、互いに監視し合う機能ブロックの組み合わせは、互いに隣り合う機能ブロックに限定されない。互いに監視し合う機能ブロックの組み合わせは、通信装置１の構造、機能ブロックの重要度（通信装置１の動作に必ず必要な機能ブロックであるか否かなど）などに応じて変更可能である。
【００５１】
図５（ａ）及び（ｂ）は、実施の形態１に係る通信装置１における監視対象の機能ブロック１０＿ｋ＋１が２つの機能ブロック１０＿ｋ，１０＿ｋ＋１から復旧命令信号を受け取ったときの動作を示す図である。
【００５２】
実施の形態１では、図３に示されるように、機能ブロック１０＿ｋ＋１に対して機能ブロック１０＿ｋ，１０＿ｋ＋２が監視及び復旧命令信号の出力を行う。そのため、機能ブロック１０＿ｋ＋１の障害発生を機能ブロック１０＿ｋ，１０＿ｋ＋２の両方で検出し、機能ブロック１０＿ｋ，１０＿ｋ＋２の両方から機能ブロック１０＿ｋ＋１に対して復旧命令信号を出力することがある。このような場合には、図５（ａ）に示されるように機能ブロック１０＿ｋ＋１の制御部１４＿ｋ＋１は、機能ブロック１０＿ｋ，１０＿ｋ＋２から出力される復旧命令信号の論理積を用いるか、又は、図５（ｂ）に示されるように機能ブロック１０＿ｋ＋１の制御部１４＿ｋ＋１は、機能ブロック１０＿ｋ，１０＿ｋ＋２から出力される復旧命令信号の論理和を用いることができる。
【００５３】
図５（ａ）の場合には、機能ブロック１０＿ｋ又は機能ブロック１０＿ｋ＋２が故障すると復旧処理が実行できなくなるため、機能ブロック１０＿ｋ又は機能ブロック１０＿ｋ＋２が故障したとき、すなわち、機能ブロック１０＿ｋ＋１の監視部１２＿ｋ＋１が機能ブロック１０＿ｋの状態通知部１１＿ｋ又は機能ブロック１０＿ｋ＋２の状態通知部１１＿ｋ＋２のいずれかから予め決められた基準時間以上、状態通知信号を受け取ることができなかったときに、機能ブロック１０＿ｋ＋１の監視部１２＿ｋ＋１は、制御部１４＿ｋ＋１に実行条件を図５（ａ）の論理積から図５（ｂ）の論理和に変更するよう指示し、制御部１４＿ｋ＋１は、故障していない機能ブロックからの復旧命令により復旧処理を実行するようにしてもよい。
【００５４】
《１−５》効果
以上に説明したように、実施の形態１に係る通信装置１においては、ある１つの機能ブロック（監視対象の機能ブロック）に対する監視を２つの機能ブロックが行っているため、監視を行っている２つの機能ブロックの内の一方が故障して、復旧不可能となった場合であっても、監視を行っている他方の機能ブロックが監視対象の機能ブロックの監視を継続することができる。よって、２つの機能ブロックの内の一方が故障した場合であっても、監視対象の機能ブロックは障害発生時に自律的に復旧処理を行うことができる。
【００５５】
また、実施の形態１に係る通信装置１においては、複数の機能ブロックで同時に障害が発生した場合であっても、監視を行っている２つの機能ブロックの内の一方が正常に動作している場合には、監視対象の機能ブロックは障害発生時に自律的に復旧処理を行うことができる。
【００５６】
さらに、実施の形態１に係る通信装置１においては、１つの機能ブロックに対して２つの機能ブロックが監視を行っており、監視を行っている２つの機能ブロックの各々が外部インタフェース部を有しているため、警報通知経路を多重化することができ、上位装置に確実に警報通知を送信することが可能である。
【００５７】
《２》実施の形態２
《２−１》通信装置２の構成例
上記実施の形態１においては、２つの機能ブロックが１つの機能ブロックに対して監視を行い、復旧命令信号を出力する通信装置１及びその復旧方法を説明した。これに対し、実施の形態２においては、１つの監視を行う機能ブロックが１つの監視対象の機能ブロックに対して監視を行い、復旧命令信号を出力し、監視を行う機能ブロックが故障して復旧不可能になった場合には、別の機能ブロックが監視対象の機能ブロックの監視を引き継ぐように構成されている。
【００５８】
図６は、本発明の実施の形態２に係る通信装置２の構成例を示すブロック図である。通信装置２は、実施の形態２に係る復旧方法を実行することができる装置である。図６に示されるように、実施の形態２に係る通信装置２は、予め決められた処理（例えば、通信のための信号処理）を行う第１から第Ｎの機能ブロックとしての機能ブロック２０＿１，…，２０＿Ｎ（機能ブロックを互いに区別する必要がない場合には、機能ブロック２０とも表記する）と、機能ブロック２０＿１，…，２０＿Ｎに電力を供給する電源部２６とを備えている。電源部２６は、実施の形態１における電源部１６と同様に構成される。ここで、Ｎは、３以上の整数である。なお、通信装置２は、機能ブロック２０＿１，…，２０＿Ｎ以外の機能ブロック（図６に示さず）を備えてもよい。
【００５９】
機能ブロック２０＿１，…，２０＿Ｎの各々は、ある処理を実行するための部分（機能部）である。機能ブロック２０＿１，…，２０＿Ｎの各々は、ある処理を実行するためのソフトウェアであるプログラムを格納する記憶部としてのメモリと、このプログラムを実行する情報処理部としてのプロセッサとを有するプログラム実行部であることが可能である。また、機能ブロック２０＿１，…，２０＿Ｎの各々は、ある処理を実行するための電気回路である半導体集積回路によって構成されることも可能である。また、機能ブロック２０＿１，…，２０＿Ｎの各々は、プログラム実行部と半導体集積回路との組み合わせによって構成されることも可能である。
【００６０】
図６に示されるように、機能ブロック２０＿１，…，２０＿Ｎは、制御部２４＿１，…，２４＿Ｎ（制御部を互いに区別する必要がない場合には、制御部２４とも表記する）をそれぞれ有している。制御部２４＿１，…，２４＿Ｎは、実施の形態１における制御部１４＿１，…，１４＿Ｎと同様に構成される。
【００６１】
図６に示されるように、機能ブロック２０＿１，…，２０＿Ｎには、第ｋの機能ブロック（例えば、機能ブロック２０＿ｋ）、第ｋ＋１の機能ブロック（例えば、機能ブロック２０＿ｋ＋１）、及び第ｋ＋２の機能ブロック（例えば、機能ブロック２０＿ｋ＋２）が含まれる。ここで、ｋは、Ｎ以下の正の整数である。また、ｋ＝Ｎのときは、機能ブロック１０＿Ｎは、機能ブロック１０＿１を監視する。
【００６２】
図６に機能ブロック２０＿ｋ＋１から延びる接続線２７＿ｋ＋２で示されるように、機能ブロック２０＿ｋ＋１は、監視対象の機能ブロックである機能ブロック２０＿ｋ＋２の障害の有無を監視する。機能ブロック２０＿ｋ＋１によって機能ブロック２０＿ｋ＋２の障害が検出されたときに、機能ブロック２０＿ｋ＋１は、機能ブロック２０＿ｋ＋２に復旧命令信号を出力する。この復旧命令信号を受け取った機能ブロック２０＿ｋ＋２は、復旧処理を行うことができる。
【００６３】
また、図６に機能ブロック２０＿ｋから延びる接続線２７＿ｋ＋１で示されるように、機能ブロック２０＿ｋは、監視対象の機能ブロックである機能ブロック２０＿ｋ＋１の障害の有無を監視する。機能ブロック２０＿ｋによって機能ブロック２０＿ｋ＋１の障害が検出されたときに、機能ブロック２０＿ｋは、機能ブロック２０＿ｋ＋１に復旧命令信号を出力する。この復旧命令信号を受け取った機能ブロック２０＿ｋ＋１は、復旧処理を行うことができる。
【００６４】
機能ブロック２０＿ｋ＋１が、復旧処理を行っても復旧が完了できない場合（すなわち、障害が解消されない場合）には、機能ブロック２０＿ｋは、機能ブロック２０＿ｋ＋１が、復旧不可能であると判断する。このとき、機能ブロック２０＿ｋ＋２を監視している機能ブロック２０＿ｋ＋１が、正常に動作していない。そこで、実施の形態２に係る通信装置２においては、機能ブロック２０＿ｋ＋１が、復旧不可能であると判断された場合には、機能ブロック２０＿ｋから延びる接続線２８＿ｋ＋２で示されるように、機能ブロック２０＿ｋは、監視対象の機能ブロックである機能ブロック２０＿ｋ＋２の障害の有無を監視する。機能ブロック２０＿ｋによって機能ブロック２０＿ｋ＋２の障害が検出されたときに、機能ブロック２０＿ｋは、機能ブロック２０＿ｋ＋２に復旧命令信号を出力する。この復旧命令信号を受け取った機能ブロック２０＿ｋ＋２は、復旧処理を行うことができる。
【００６５】
このように、通信装置２が図６の構成例を採用することにより、機能ブロック２０＿ｋ＋１に障害が発生して監視機能が停止した場合であっても、他の機能ブロック２０＿ｋが、監視対象の機能ブロック２０＿ｋ＋２の監視を継続することができる。
【００６６】
図６には、機能ブロック２０＿ｋによる機能ブロック２０＿ｋ＋１の障害の有無の監視と、機能ブロック２０＿ｋ＋１による機能ブロック２０＿ｋ＋２の障害の有無の監視とは、機能ブロック２０＿１から２０＿Ｎまでの内の一部について行われている場合、すなわち、３個の機能ブロックについて行われている場合を示している。しかし、同様の構成（接続関係）を、図６の場合よりも多くすることも可能である。
【００６７】
《２−２》通信装置２の他の構成例
図７は、実施の形態２に係る通信装置２の他の構成例を示すブロック図である。上記図６では、機能ブロック２０＿ｋ＋１が復旧不可能であると判断された場合には、機能ブロック２０＿ｋが、監視を行う予備の機能ブロックとして機能し、監視対象の機能ブロックである機能ブロック２０＿ｋ＋２の障害の有無の監視を開始する構成が、機能ブロック２０＿１，…，２０＿Ｎの内の一部について採用されている。これに対し、図７では、機能ブロック２０＿ｋ＋１が復旧不可能であると判断された場合には、機能ブロック２０＿ｋが、監視を行う予備の機能ブロックとして機能し、監視対象の機能ブロックである機能ブロック２０＿ｋ＋２の障害の有無の監視を開始する構成が、機能ブロック２０＿１，…，２０＿Ｎの全てについて採用されている。このため、図７における機能ブロック２０＿１，…，２０＿Ｎでは、機能ブロック２０＿１，…，２０＿Ｎは全体としてリング状に接続されている。
【００６８】
なお、ｋ＝Ｎ−１のときは、機能ブロック２０＿Ｎ−１による監視対象の機能ブロックは機能ブロック２０＿Ｎであり、機能ブロック２０＿Ｎによる監視対象の機能ブロックは機能ブロック２０＿１である。また、ｋ＝Ｎのときは、機能ブロック２０＿Ｎによる監視対象の機能ブロックは機能ブロック２０＿１である。
【００６９】
図７に示されるように、機能ブロック２０＿１，…，２０＿Ｎの内の機能ブロック２０＿ｋは、機能ブロック２０＿ｋ＋１の障害の有無を監視し、機能ブロック２０＿ｋによって機能ブロック２０＿ｋ＋１の障害が検出されたときに、機能ブロック２０＿ｋは、機能ブロック２０＿ｋ＋１に復旧命令信号を出力する。この復旧命令信号を受け取った機能ブロック２０＿ｋ＋１は、復旧処理を行うことができる。
【００７０】
機能ブロック２０＿ｋ＋１は、機能ブロック２０＿ｋ＋２の障害の有無を監視し、機能ブロック２０＿ｋ＋１によって機能ブロック２０＿ｋ＋２の障害が検出されたときに、機能ブロック２０＿ｋ＋１は、機能ブロック２０＿ｋ＋２に復旧命令信号を出力する。この復旧命令信号を受け取った機能ブロック２０＿ｋ＋２は、復旧処理を行うことができる。
【００７１】
機能ブロック２０＿ｋは、機能ブロック２０＿ｋ＋１に障害が検出されて復旧できないことが検出された後の期間に、機能ブロック２０＿ｋ＋１の状態の監視を停止し、機能ブロック２０＿ｋ＋２の状態の監視を開始する。
【００７２】
なお、機能ブロック２０＿ｋは、機能ブロック２０＿ｋ＋１に障害が検出されてから復旧が完了するまでの期間、機能ブロック２０＿ｋ＋１の状態の監視を停止し、機能ブロック２０＿ｋ＋２の状態の監視を行ってもよい。
【００７３】
機能ブロック２０＿ｋによって機能ブロック２０＿ｋ＋２の障害が検出されたときに、機能ブロック２０＿ｋは、機能ブロック２０＿ｋ＋２に復旧命令信号を出力する。この復旧命令信号を受け取った機能ブロック２０＿ｋ＋２は、復旧処理を行うことができる。
【００７４】
このように、通信装置２が図７の構成例を採用することにより、機能ブロック２０＿ｋ＋１に障害が発生して監視機能が停止した場合であっても、監視対象の機能ブロックである機能ブロック２０＿ｋ＋２の監視を他の機能ブロックである機能ブロック２０＿ｋによって継続することができる。
【００７５】
図６では機能ブロック２０＿１，…，２０＿Ｎの内の一部の機能ブロックが、機能ブロック２０＿ｋ＋１に障害が発生して監視機能が停止した場合であっても、監視対象の機能ブロックである機能ブロック２０＿ｋ＋２の監視を他の機能ブロックである機能ブロック２０＿ｋによって継続することができる。これに対し、図７においては、機能ブロック２０＿１，…，２０＿Ｎのいずれかに障害が発生して監視機能が停止した場合であっても、監視対象の機能ブロックである機能ブロックの監視を他の機能ブロックである機能ブロックによって継続することができ、全体としてリング状に接続されている。
【００７６】
《２−３》機能ブロックの構成
図８は、実施の形態２に係る通信装置２の機能ブロック（障害発生前）の概略構成を示すブロック図である。また、図９は、実施の形態２に係る通信装置の機能ブロック（障害発生時）の概略構成を示すブロック図である。図８及び図９には、図６及び図７に示される機能ブロックの内の一部の機能ブロックの内部構成が示されている。図８及び図９には、３個の機能ブロック２０＿ｋ，２０＿ｋ＋１，２０＿ｋ＋２を示しているが、図８及び図９に示される内部構成は、機能ブロック２０＿１，…，２０＿Ｎの全てに適用可能である。したがって、機能ブロックの内部構成の説明に際しては、図６及び図７をも参照する。
【００７７】
機能ブロック２０＿１，…，２０＿Ｎは、状態通知部２１＿１，…，２１＿Ｎ（状態通知部を互いに区別する必要がない場合には、状態通知部２１とも表記する）と、監視部２２＿１，…，２２＿Ｎと（監視部を互いに区別する必要がない場合には、監視部２２とも表記する）、復旧命令部２３＿１，…，２３＿Ｎ（復旧命令部を互いに区別する必要がない場合には、復旧命令部２３とも表記する）と、制御部２４＿１，…，２４＿Ｎとをそれぞれ備えている。また、機能ブロック２０＿１，…，２０Ｎは、外部インタフェース部（Ｉ／Ｆ部）２５＿１，…，２５＿Ｎ（外部インタフェース部を互いに区別する必要がない場合には、外部インタフェース部２５とも表記する）をそれぞれ備えてもよい。
【００７８】
監視部２２＿１，…，２２＿Ｎは、自身の機能ブロック以外の機能ブロックである他の機能ブロックの障害の有無を監視する監視機能を有する。図８の例では、機能ブロック２０＿ｋ＋１の監視部２２＿ｋ＋１は、他の機能ブロックとしての機能ブロック２０＿ｋ＋２の障害の有無を監視し、機能ブロック２０＿ｋの監視部２２＿ｋは、他の機能ブロックとしての機能ブロック２０＿ｋ＋１の障害の有無を監視する。
【００７９】
状態通知部２１＿１，…，２１＿Ｎは、自身の機能ブロックの状態を示す状態通知信号を出力する。状態通知信号の出力は、例えば、定期的に繰り返される。監視部２２＿１，…，２２＿Ｎは、自身の機能ブロック以外の機能ブロックである他の機能ブロックの障害の有無を、状態通知信号に基づいて監視することができる。例えば、機能ブロック２０＿ｋの監視部２２＿ｋは、他の機能ブロックとしての機能ブロック２０＿ｋ＋１の状態通知部２１＿ｋ＋１から出力された状態通知信号に基づいて、障害の有無を監視する。また、機能ブロック２０＿ｋ＋１の監視部２２＿ｋ＋１は、他の機能ブロックとしての機能ブロック２０＿ｋ＋２の状態通知部２１＿ｋ＋２から出力された状態通知信号に基づいて、障害の有無を監視する。障害の検出方法は、実施の形態１の場合と同じである。
【００８０】
復旧命令部２３＿１，…，２３＿Ｎは、監視部２２＿１，…，２２＿Ｎによって他の機能ブロックの障害が検出されたときに、障害が検出された他の機能ブロックに復旧命令信号を出力する復旧命令機能を有する。例えば、障害が発生していないときには、図８に示されるように、機能ブロック２０＿ｋの復旧命令部２３＿ｋは、他の機能ブロックとしての機能ブロック２０＿ｋ＋１に障害が検出されたときに、機能ブロック２０＿ｋ＋１の制御部２４＿ｋ＋１に復旧命令信号を出力する。また、機能ブロック２０＿ｋ＋１の復旧命令部２３＿ｋ＋１は、他の機能ブロックとしての機能ブロック２０＿ｋ＋２に障害が検出されたときに、機能ブロック２０＿ｋ＋２の制御部２４＿ｋ＋２に復旧命令信号を出力する。また、機能ブロック２０＿ｋ＋１に障害が発生しているときには、図９に示されるように、機能ブロック２０＿ｋの復旧命令部２３＿ｋは、他の機能ブロックとしての機能ブロック２０＿ｋ＋２に障害が検出されたときに、機能ブロック２０＿ｋ＋２の制御部２４＿ｋ＋２に復旧命令信号を出力する。このように、機能ブロック２０＿ｋ＋２は、機能ブロック２０＿ｋ＋１の故障時（障害発生時）に機能ブロック２０＿ｋによって監視されるので、３個以上の機能ブロックの内の１つの機能ブロックに障害が発生した場合であっても、監視対象の機能ブロックの監視を他の機能ブロックによって継続することができる。
【００８１】
復旧命令部（例えば、２３＿ｋ）は、自身の機能ブロック（例えば、２０＿ｋ）の監視部（例えば、２２＿ｋ）から障害検出通知を受け取った場合、Ｓ／Ｗリセット、Ｈ／Ｗリセット、及び電源断後の電源再投入（電源ＯＦＦ／ＯＮ）のいずれかの選択、すなわち、復旧処理の種類の選択を行い、障害が発生した他の機能ブロック内の制御部に対して復旧命令信号を出力する。復旧命令信号は、復旧処理の種類を含むことができる。また、復旧命令部（例えば、２３＿ｋ）は、自身の機能ブロック（例えば、２０＿ｋ）の監視部（例えば、２２＿ｋ）から復旧不可能通知を受け取った場合、障害が発生した他の機能ブロック内の制御部に対して電源ＯＦＦ命令を出力する。
【００８２】
制御部２４＿１，…，２４＿Ｎは、自身の機能ブロックの障害を解消する復旧処理を行う復旧処理機能を有する。制御部２４＿１，…，２４＿Ｎは、復旧命令信号を受け取ると、自身の機能ブロックの障害を解消する復旧処理を行う。復旧処理としては、機能ブロックのＳ／Ｗリセット、機能ブロックのＨ／Ｗリセット、及び機能ブロックの電源断後の電源再投入がある。制御部（例えば、２４＿ｋ）は、２つの他の機能ブロック内の復旧命令部と接続され、復旧命令信号を受け取った場合、自身の機能ブロック（例えば、２０＿ｋ）に対してＳ／Ｗリセット、Ｈ／Ｗリセット、及び、電源ＯＦＦ／ＯＮによる復旧処理のいずれかを実行し、復旧を試みる。また、制御部（例えば、２４＿ｋ）は、他の機能ブロック内の復旧命令部から電源ＯＦＦ命令を受け取った場合、自身の機能ブロック（例えば、２０＿ｋ）の電源をＯＦＦにすることができる。
【００８３】
なお、機能ブロック２０＿１，…，２０＿Ｎの内部構成は、図８及び図９の例に限定されず、例えば、状態通知部（例えば、２１＿ｋ）と監視部（例えば、２２＿ｋ）とが１つの構成である状態通知・監視部であってもよく、又は、監視部（例えば、２２＿ｋ）と復旧命令部（例えば、２３＿ｋ）とが１つの構成である監視・復旧命令部であってもよく、又は、他の構成であってもよい。
【００８４】
外部インタフェース部２５＿１，…，２５＿Ｎは、上位装置又は下位装置などの他の通信装置（外部装置）と通信可能に接続され、他の通信装置との間で主信号データの送受信を行うことができる。また、外部インタフェース部（例えば、２５＿ｋ）は、自身の機能ブロック（例えば、２０＿ｋ）内の監視部（例えば、２２＿ｋ）と接続され、監視部（例えば、２２＿ｋ）から障害検出通知を受け取った場合は、監視対象の機能ブロック（例えば、２０＿ｋ＋１）に障害が存在することを知らせる障害警報を上位装置に送信することができる。外部インタフェース部（例えば、２５＿ｋ）は、監視部（例えば、２２＿ｋ）から障害が復旧されたことを知らせる回復検出通知を受け取った場合は、監視対象の機能ブロック（例えば、２０＿ｋ＋１）の障害が復旧されたことを知らせる回復通知を上位装置に送信することができる。
【００８５】
また、自身の機能ブロック（例えば、２０＿ｋ）の監視部（例えば、２２＿ｋ）は、外部インタフェース部（例えば、２５＿ｋ）と接続され、監視対象の機能ブロックの障害を検出した場合には、自身の機能ブロック（例えば、２０＿ｋ）の復旧命令部（例えば、２３＿ｋ）及び外部インタフェース部（例えば、２５＿ｋ）に障害検出通知を出力する。自身の機能ブロック（例えば、２０＿ｋ）の監視部（例えば、２２＿ｋ）は、監視対象の機能ブロックの回復を検出した場合には、外部インタフェース部（例えば、２５＿ｋ）に回復検出通知を出力することができる。自身の機能ブロック（例えば、２０＿ｋ）の監視部（例えば、２２＿ｋ）は、監視対象の機能ブロックの復旧が不可能であることを示す復旧不可能を検出した場合には、復旧命令部（例えば、２３＿ｋ）及び外部インタフェース部（例えば、２５＿ｋ）に復旧不可能通知を出力することができる。
【００８６】
機能ブロック２０＿１，…，２０＿Ｎの状態通知部２１＿１，…，２１＿Ｎと、監視部２２＿１，…，２２＿Ｎと、復旧命令部２３＿１，…，２３＿Ｎと、制御部２４＿１，…，２４＿Ｎと、外部インタフェース部２５＿１，…，２５＿Ｎとは、ソフトウェアであるプログラムを格納する記憶部としてのメモリと、このプログラムを実行する情報処理部としてのプロセッサとを有するプログラム実行部であること、又は、半導体集積回路によって構成されること、又は、プログラム実行部と半導体集積回路との組み合わせによって構成されることが可能である。
【００８７】
《２−４》動作
図１０は、実施の形態２に係る通信装置２における機能ブロックの障害発生時の動作を示すシーケンス図である。なお、機能ブロック２０＿ｋ，２０＿ｋ＋１，２０＿ｋ＋２の動作の説明に際しては、図６から図９をも参照する。また、図１０においては、機能ブロック２０＿ｋ，２０＿ｋ＋１，２０＿ｋ＋２の動作を説明するが、他の機能ブロックにおける動作も図１０における動作と同様である。
【００８８】
機能ブロック２０＿ｋの監視部２２＿ｋは、監視対象の機能ブロック２０＿ｋ＋１の状態通知部２１＿ｋ＋１から状態通知信号が送信されているか否かを監視する。機能ブロック２０＿ｋ＋１に障害が発生すると（ステップＳ２０１）、機能ブロック２０＿ｋ＋１の状態通知部２１＿ｋ＋１から状態通知信号が送信されなくなることにより（ステップＳ２０２）、機能ブロック２０＿ｋの監視部２２＿ｋは、機能ブロック２０＿ｋ＋１に障害が発生したことを検出する（ステップＳ２０３）。
【００８９】
機能ブロック２０＿ｋ＋１の障害が検出されると、機能ブロック２０＿ｋの復旧命令部２３＿ｋは、機能ブロック２０＿ｋ＋１内の制御部２４＿ｋ＋１に対して、復旧命令信号を送信する（ステップＳ２０４，Ｓ２０５）。
【００９０】
機能ブロック２０＿ｋの監視部２２＿ｋは、機能ブロック２０＿ｋの外部インタフェース部２５＿ｋを経由して、上位装置に対して、機能ブロック２０＿ｋ＋１の障害の発生を知らせる警報通知を送信する（ステップＳ２０６，Ｓ２０７）。
【００９１】
復旧命令信号を受け取った機能ブロック２０＿ｋ＋１の制御部２４＿ｋ＋１は、自身の機能ブロック２０＿ｋ＋１に対して復旧処理（例えば、機能ブロック２０＿ｋ＋１の再起動）を行って（ステップＳ２０８）、復旧を試みる。
【００９２】
復旧命令信号を受け取った機能ブロック２０＿ｋ＋１の制御部２４＿ｋ＋１は、再起動が完了し、復旧した場合は、状態通知部２１＿ｋ＋１に状態通知信号の送信を再開させる。機能ブロック２０＿ｋ内の監視部２２＿ｋは、機能ブロック２０＿ｋ＋１から状態通知信号の送信が再開されたことを検出すると、外部インタフェース部２５＿ｋを経由して上位装置へ回復通知を送信する。
【００９３】
機能ブロック２０＿ｋ＋１の再起動が完了しても、自身の機能ブロック２０＿ｋ＋１の障害が解消しなかった場合（すなわち、復旧不可能である場合）には（ステップＳ２０９）、状態通知部２１＿ｋ＋１は状態通知信号の停止を継続する（ステップＳ２１０）。もしくは、機能ブロック２０＿ｋ＋１が起動しない場合には（ステップＳ２０９）、状態通知部２１＿ｋ＋１は状態通知信号を送信できない（ステップＳ２１０）。状態通知信号の停止を検出した機能ブロック２０＿ｋの監視部２２＿ｋは、機能ブロック２０＿ｋ＋１に電源ＯＦＦ命令を出力し（ステップＳ２１１）、電源ＯＦＦ命令を受け取った機能ブロック２０＿ｋ＋１の制御部２４＿ｋ＋１は自身の機能ブロックの電源をＯＦＦにする（ステップＳ２１２）。
【００９４】
機能ブロック２０＿ｋの監視部２２＿ｋは、外部インタフェース部２５＿ｋを経由して、上位装置へ故障警報を送信し（ステップＳ２１４）、新たな監視対象である機能ブロック２０＿ｋ＋２の監視を開始する（ステップＳ２１５，Ｓ２１６）。
【００９５】
《２−５》効果
以上に説明したように、実施の形態２に係る通信装置２においては、１つの機能ブロックに対して１つの機能ブロックが監視を行い、ある機能ブロックが完全に故障した（すなわち、障害が復旧不可能である）場合には、他の機能ブロックが故障した機能ブロックが監視していた機能ブロックの監視を引き継ぐようにしたので、各機能ブロック内におけるリソースの増加を抑えつつ、機能ブロックが完全に故障した（復旧不可能である）場合であっても、通信装置２の全体としては、各機能ブロックの監視を継続することができる。
【００９６】
《３》変形例１
上記実施の形態１では、監視対象の機能ブロックを２つの機能ブロックで監視する場合を説明したが、監視対象の機能ブロックの重要度に応じて、監視する機能ブロックの数を増減させてもよい（すなわち、重要度に応じた重み付けを行ってもよい）。図１１は、変形例１の通信装置１ａの構成例を示すブロック図である。図１１において、図２に示される構成要素と同一又は対応する構成要素には、図２に示される符号と同じ符号が付される。例えば、通信装置１の動作上障害発生の影響が大きい機能ブロック（図１１における１０＿ｋ＋１）に対しては、３つ以上の所定の数の機能ブロック（１０＿ｋ，１０＿ｋ＋２．１０＿ｋ＋３）によって監視を行い、逆に、障害発生の影響が小さい機能ブロック（図１１における１０＿ｋ＋２）に対しては、１つの機能ブロックで監視を行う（図１１における１０＿ｋ＋１）、又は、監視を行わない形態でもよい。
【００９７】
《４》変形例２
上記実施の形態２では、例えば、監視対象の機能ブロック２０＿ｋ＋２を１つの機能ブロック２０＿ｋ＋１で監視し、監視する機能ブロック２０＿ｋ＋１に障害が発生した場合には、予備の機能ブロック２０＿ｋが監視対象の機能ブロック２０＿ｋ＋２の監視を開始する場合を説明した。しかし、監視対象の機能ブロックの重要度に応じて、予備の機能ブロックの数を増減させてもよい（すなわち、重要度に応じた重み付けを行ってもよい）。例えば、通信装置２の動作上障害発生の影響が大きい機能ブロックに対しては、２つ以上の所定の数の機能ブロックを予備の機能ブロックとし、逆に、障害発生の影響が小さい機能ブロックに対しては、予備の機能ブロックを用意しない形態でもよい。
《５》変形例３
上記実施の形態及び変形例においては、通信装置及び通信装置の復旧方法を説明したが、本発明は、通信装置以外の電子機器（外部インタフェース部を備えない機器）にも適用可能である。
【符号の説明】
【００９８】
１  通信装置、  １０＿１，…，１０＿ｋ，１０＿ｋ＋１，１０＿ｋ＋２，…，１０＿Ｎ（Ｎは３以上の整数、ｋはＮ以下の正の整数）  機能ブロック、
１１＿１，…，１１＿ｋ，１１＿ｋ＋１，１１＿ｋ＋２，…，１１＿Ｎ  状態通知部、  １２＿１，…，１２＿ｋ，１２＿ｋ＋１，１２＿ｋ＋２，…，１２＿Ｎ  監視部、
１３＿１，…，１３＿ｋ，１３＿ｋ＋１，１３＿ｋ＋２，…，１３＿Ｎ  復旧命令部、  １４＿１，…，１４＿ｋ，１４＿ｋ＋１，１４＿ｋ＋２，…，１４＿Ｎ  制御部、
１５＿１，…，１５＿ｋ，１５＿ｋ＋１，１５＿ｋ＋２，…，１５＿Ｎ  外部インタフェース部、  ２  通信装置、  ２０＿１，…，２０＿ｋ，２０＿ｋ＋１，２０＿ｋ＋２，…，２０＿Ｎ  機能ブロック、
２１＿１，…，２１＿ｋ，２１＿ｋ＋１，２１＿ｋ＋２，…，２１＿Ｎ  状態通知部、  ２２＿１，…，２２＿ｋ，２２＿ｋ＋１，２２＿ｋ＋２，…，２２＿Ｎ  監視部、
２３＿１，…，２３＿ｋ，２３＿ｋ＋１，２３＿ｋ＋２，…，２３＿Ｎ  復旧命令部、  ２４＿１，…，２４＿ｋ，２４＿ｋ＋１，２４＿ｋ＋２，…，２４＿Ｎ  制御部、
２５＿１，…，２５＿ｋ，２５＿ｋ＋１，２５＿ｋ＋２，…，２５＿Ｎ  外部インタフェース部。
【図１】
2018037920.tif 000003
【図２】
2018037920.tif 000004
【図３】
2018037920.tif 000005
【図４】
2018037920.tif 000006
【図５】
2018037920.tif 000007
【図６】
2018037920.tif 000008
【図７】
2018037920.tif 000009
【図８】
2018037920.tif 000010
【図９】
2018037920.tif 000011
【図１０】
2018037920.tif 000012
【図１１】
2018037920.tif 000013