(57)【要約】【課題】  装置間において装置の故障を監視する際に、監視元の装置が故障した場合であっても、正確且つ速やかに装置の故障を検出することが可能な監視制御装等を提供する。【解決手段】  監視制御装置１は、通信部３を介して第１の判別情報１０１を受信すると共に、記憶部４に格納し、その記憶部４に、第２の判別情報があると判別した場合に、監視対象のリソースに障害が発生したと判別し、判別情報が無い場合に、カウンタの値に応じて、監視元のリソースに障害が発生したと判別することを特徴とする。【選択図】      図１
2014178797.tif 000002
【特許請求の範囲】
【請求項１】
通信部を介して監視対象のリソースが正常に動作していることを示す第１の判別情報を受信すると共に、該第１の判別情報を記憶部に格納し、その記憶部に前記第１の判別情報、または該第１の判別情報と異なる第２の判別情報の有無を判別し、
前記第２の判別情報があると判別した場合に、前記監視対象のリソースに障害が発生したと判別し、
前記第１及び前記第２の判別情報が無い場合に、カウンタの値に応じて、監視元のリソースに障害が発生したと判別することを特徴とする監視制御装置。
【請求項２】
前記第１及び前記第２の判別情報が無い場合に、前記カウンタの値を参照すると共に、その値を増加し、
前記増加した値が第１の値の場合に、前記監視元のリソースが正常に動作しているか否かを判別し、正常に動作していると判別した場合に、前記第２の判別情報を生成すると共に、生成した該第２の判別情報を前記記憶部に格納し、
前記増加した値が前記第１の値と異なる第２の値の場合に、前記監視元のリソースに障害が発生したと判別することを特徴とする請求項１に記載の監視制御装置。
【請求項３】
前記監視対象のリソースが正常に動作しているか否かを判別し、該リソースが正常に動作している場合に、前記第１の判別情報を第１の時間周期毎に生成する生成部を、さらに、備えることを特徴とする請求項１または請求項２に記載の監視制御装置。
【請求項４】
前記監視制御装置は、
前記第１の時間周期と異なる前記第２の時間周期毎に前記記憶部に前記第１の判別情報、または前記第２の判別情報の有無を判別することを特徴とする請求項１乃至請求項３の何れかに記載の監視制御装置。
【請求項５】
前記第１の判別情報と前記第２の判別情報とは、
ハートビート情報であることを特徴とする請求項１乃至請求項４の何れかに記載の監視制御装置。
【請求項６】
請求項１乃至請求項５の何れかに記載された監視制御装置を含むことを特徴とする組み込み制御装置。
【請求項７】
通信部を介して監視対象のリソースが正常に動作していることを示す第１の判別情報を受信すると共に、該第１の判別情報を記憶部に格納し、その記憶部に前記第１の判別情報、または該第１の判別情報と異なる第２の判別情報の有無を判別し、
前記第２の判別情報があると判別した場合に、前記監視対象のリソースに障害が発生したと判別し、
前記第１及び前記第２の判別情報が無い場合に、カウンタの値に応じて、監視元のリソースに障害が発生したと判別することを特徴とする監視制御方法。
【請求項８】
前記第１及び前記第２の判別情報が無い場合に、前記カウンタの値を参照すると共に、その値を増加し、
前記増加した値が第１の値の場合に、前記監視元のリソースが正常に動作しているか否かを判別し、正常に動作していると判別した場合に、前記第２の判別情報を生成すると共に、生成した該第２の判別情報を前記記憶部に格納し、
前記増加した値が前記第１の値と異なる第２の値の場合に、前記監視元のリソースに障害が発生したと判別することを特徴とする請求項７に記載の監視制御方法。
【請求項９】
監視制御装置を動作制御するコンピュータ・プログラムであって、そのコンピュータ・プログラムにより、
通信部を介して監視対象のリソースが正常に動作していることを示す第１の判別情報を受信すると共に、該第１の判別情報を記憶部に格納し、その記憶部に前記第１の判別情報、または該第１の判別情報と異なる第２の判別情報の有無を判別し、
前記第２の判別情報があると判別した場合に、前記監視対象のリソースに障害が発生したと判別し、そして、
前記第１及び前記第２の判別情報が無い場合に、カウンタの値に応じて、監視元のリソースに障害が発生したと判別する機能
をコンピュータに実現させることを特徴とするコンピュータ・プログラム。
【請求項１０】
前記第１及び前記第２の判別情報が無い場合に、前記カウンタの値を参照すると共に、その値を増加し、
前記増加した値が第１の値の場合に、前記監視元のリソースが正常に動作しているか否かを判別し、正常に動作していると判別した場合に、前記第２の判別情報を生成すると共に、生成した該第２の判別情報を前記記憶部に格納し、
前記増加した値が前記第１の値と異なる第２の値の場合に、前記監視元のリソースに障害が発生したと判別することを特徴とする請求項９に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器等に搭載された各種ハードウェアデバイスを監視する技術分野に関する。
【背景技術】
【０００２】
組み込み制御装置やサーバ装置、パーソナルコンピュータ等の電子機器は、常に安定して稼動することが求められている。特に組み込み制御装置やサーバ装置においては、２４時間、３６５日安定して稼動することを要求される。
【０００３】
また、組み込み制御装置やサーバ装置は、安定して稼動することだけでなく、障害が発生した際に、障害から迅速に復旧することを要求される。その理由は、障害が発生した際に、例えば、メーカは、サーバ装置の障害発生から復旧までに要する時間が短ければ短いほど、データ等の損失を最小限に留めることができるからである。
【０００４】
このような背景から、メーカは、常に電子機器を安定して稼動すると共に、万一、電子機器に発生した障害に対する被害を極小化したいという要求がある。このため、電子機器の安定稼動と効率的なシステム運用するための技術は、多岐にわたり存在する。
【０００５】
例えば、特許文献１は、オペレーティングシステム（Ｏｐｅｒａｔｉｎｇ＿Ｓｙｓｔｅｍ：以降、「ＯＳ」と称する）動作状態確認システム、確認対象装置、ＯＳ動作状態確認装置、ＯＳ動作状態確認方法およびプログラムに関する技術を開示する。
【０００６】
特許文献１に開示されたＯＳ動作状態確認システムは、監視の対象である装置（以降、「監視対象装置」と称する）と、監視対象装置を監視するＯＳ動作状態確認装置とが通信ネットワークを介して相互に通信可能に接続する。
【０００７】
ＯＳ動作状態確認装置は、監視対象装置と定期的に通信すると共に、その通信が途切れた際に、監視対象装置に不具合が生じたと判別する。
【０００８】
監視対象装置に不具合が生じたと判別した場合に、ＯＳ動作状態確認装置は、監視対象装置にＩＰ（Ｉｎｔｅｒｎｅｔ＿Ｐｒｏｔｏｃｏｌ）パケットを発行するピング（Ｐｉｎｇ）コマンドを実行する。
【０００９】
さらに、ＯＳ動作状態確認装置は、監視対象装置からピングに対する返信を受け付けた場合に、監視対象装置のＯＳが正常でありながら過負荷等の何らかの状態にあると判別する。一方で、ＯＳ動作状態確認装置は、監視対象装置からピングに対する返信を受け付けていない場合に、監視対象装置が故障したと判別する。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１２−０３８２５７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ところで、一般的に知られた、例えば、組み込み制御装置の故障を検出する手法としては、係る制御装置が正常に動作していることを示すハートビート情報が更新されたか否かを判別することによって、その制御装置の故障を検出する方法が存在する。
【００１２】
より具体的に、係る故障を検出する手法は、相互に通信可能に接続された２つの制御装置間においてハートビート情報を送受信すると共に、そのハートビート情報が更新されたか否かを判別する。
【００１３】
さらに、係る故障を検出する手法は、ハートビート情報が更新されていないと判別した場合に、組み込み制御装置が故障したと検出する。
【００１４】
しかしながら、例えば、監視元となる（つまり、監視する側の）組み込み制御装置の通信部が故障している場合に、監視元の組み込み制御装置は、ハートビート情報を送受信することができない。そのため、監視元の組み込み制御装置は、監視対象である（つまり、監視される側の）組み込み制御装置に障害が発生したと判別する。
【００１５】
即ち、係る手法では、監視対象である組み込み制御装置が故障したと誤検出する場合がある。そのため、正常に動作する監視対象の組み込み制御装置は、システムから切り離され、その一方で、故障した監視元の組み込み制御装置は、自装置が組み込まれているシステムにおいて継続して動作することとなる。
【００１６】
また、上述した一般的に知られた係る手法と同様に、特許文献１に開示されたＯＳ動作状態確認装置は、監視元であるＯＳ動作状態確認装置の受信部が故障している場合に、監視対象装置からピングに対する返信を受け付けることができない。そのため、ＯＳ動作状態確認装置は、監視対象装置が故障したと判別する。
【００１７】
即ち、特許文献１では、監視元のＯＳ動作状態確認装置が故障しているか否かを判別することについて考慮されておらず、監視対象装置が故障していない場合であっても、その監視対象装置が故障していると検出する（つまり、誤検出する）場合がある。
【００１８】
本発明の主たる目的は、装置間において装置の故障を監視する際に、監視元の装置が故障した場合であっても、正確且つ速やかに装置の故障を検出することが可能な監視制御装置等を提供することにある。
【課題を解決するための手段】
【００１９】
上記の課題を達成すべく、本発明に係る監視制御装置は、以下の構成を備えることを特徴とする。
【００２０】
即ち、本発明に係る監視制御装置は、
通信部を介して監視対象のリソースが正常に動作していることを示す第１の判別情報を受信すると共に、該第１の判別情報を記憶部に格納し、その記憶部に前記第１の判別情報、または該第１の判別情報と異なる第２の判別情報の有無を判別し、
前記第２の判別情報があると判別した場合に、前記監視対象のリソースに障害が発生したと判別し、
前記第１及び前記第２の判別情報が無い場合に、カウンタの値に応じて、監視元のリソースに障害が発生したと判別することを特徴とする。
【００２１】
或いは、上記に示す監視制御装置を含む組み込み制御装置によっても、同目的を達成される。
【００２２】
また、同目的を達成すべく、本発明に係る監視制御方法は、以下の構成を備えることを特徴とする。
【００２３】
即ち、本発明に係る監視制御方法は、
通信部を介して監視対象のリソースが正常に動作していることを示す第１の判別情報を受信すると共に、該第１の判別情報を記憶部に格納し、その記憶部に前記第１の判別情報、または該第１の判別情報と異なる第２の判別情報の有無を判別し、
前記第２の判別情報があると判別した場合に、前記監視対象のリソースに障害が発生したと判別し、
前記第１及び前記第２の判別情報が無い場合に、カウンタの値に応じて、監視元のリソースに障害が発生したと判別することを特徴とする。
【００２４】
尚、同目的は、上記の各構成を有する監視制御装置及び方法を、コンピュータによって実現するコンピュータ・プログラム、及びそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
【発明の効果】
【００２５】
本発明によれば、装置間において装置の故障を監視する際に、監視元の装置が故障した場合であっても、正確且つ速やかに装置の故障を検出することが可能な監視制御装等を提供することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の第１の実施形態における監視制御装置の構成を示すブロック図である。
【図２】本発明の第２の実施形態における監視制御装置を含む組み込み制御装置の構成を示すブロック図である。
【図３】本発明の第２の実施形態における監視制御装置が行う「第１の時間周期」毎に第１の判別情報を送信する動作を示すフローチャートである。
【図４】本発明の第２の実施形態における監視制御装置が行う第１の判別情報を受信する動作を示すフローチャートである。
【図５Ａ】本発明の第２の実施形態における監視制御装置が行う「第２の時間周期」毎に受信した第１の判別情報、または第２の判別情報の有無を判別する動作を示すフローチャートである。
【図５Ｂ】本発明の第２の実施形態における監視制御装置が行う「第２の時間周期」毎に受信した第１の判別情報、または第２の判別情報の有無を判別する動作を示すフローチャートである。
【図６】本発明の第３の実施形態における監視制御装置の構成を示すブロック図である。
【図７】本発明に係る各実施形態を実現可能な情報処理装置のハードウェア構成を例示的に説明するブロック図である。
【発明を実施するための形態】
【００２７】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【００２８】
＜第１の実施形態＞
図１は、本発明の第１の実施形態における監視制御装置１の構成を示すブロック図である。図１において、監視制御装置１は、監視部２を有する。
【００２９】
より具体的に、監視部２は、通信部３を介して第１の判別情報１０１を受信する。さらに、監視部２は、第１の判別情報１０１を受信するのに応じて、受信した第１の判別情報１０１を記憶部４に格納する。
【００３０】
ここで、第１の判別情報１０１とは、監視制御装置１によって監視されるリソースが正常に稼動（動作）していることを示す情報を含む。また、第１の判別情報１０１は、所定の時間周期（以下、説明の便宜上、「第１の時間周期」と称する）毎に送信されることとする。
【００３１】
また、リソースとは、例えば、組み込み制御装置、サーバ装置及びパーソナルコンピュータ等の電子機器や電子機器に搭載されたハードディスクドライブ（Ｈａｒｄ＿ｄｉｓｋ＿ｄｒｉｖｅ：以降、「ＨＤＤ」と称する）、ネットワークカード（Ｎｅｔｗｏｒｋ＿Ｉｎｔｅｒｆａｃｅ＿Ｃａｒｄ：以降、「ＮＩＣ」と称する）、アプリケーション等である。
【００３２】
次に、監視部２は、送信された第１の判別情報１０１を受信した時、記憶部４に第１の判別情報１０１を格納する。さらに、監視部２は、記憶部４に第１の判別情報１０１、または後述する第２の判別情報の有無を判別（判断）する。即ち、監視部２は、所定の時間周期（以下、説明の便宜上、「第２の時間周期」と称する）毎に第１の判別情報１０１の有無を判別する、または第２の判別情報の有無を判別する。
【００３３】
ここで、第２の時間周期とは、第１の時間周期よりも長い時間周期である。より具体的に、第２の時間周期は、第１の時間周期毎に格納される第１の判別情報１０１の有無を判別可能な時間周期である。
【００３４】
監視部２は、第１の判別情報１０１、または第２の判別情報の有無を判別した結果、記憶部４に第１の判別情報１０１があると判別した場合に、カウンタの値をクリア（リセット、つまり、値を「０」にセット）すると共に、記憶部４に格納された第１の判別情報１０１を消去する。
【００３５】
ここで、カウンタは、例えば、監視部２が含む構成を採用してもよいし、記憶部４が含む構成を採用してもよい。また、監視部２がカウンタの値をクリア、インクリメント及びデクリメントする技術自体は、現在では一般的な技術を採用することができるので、本実施形態における詳細な説明は省略する（以下、各実施形態においても同様）。
【００３６】
監視部２は、第１の判別情報１０１、または第２の判別情報の有無を判別した結果、記憶部４に第２の判別情報があると判別した場合に、監視制御装置１が監視するリソースに障害（故障）が発生したと判別する。即ち、監視部２は、監視制御装置１が監視するリソースの障害（故障）を検出する。
【００３７】
一方で、監視部２は、第１の判別情報１０１、または第２の判別情報の有無を判別する。監視部２は、記憶部４に第１の判別情報１０１及び第２の判別情報が無いと判別した場合に、カウンタの値を参照すると共に、その値を「１」インクリメント（増加）する。
【００３８】
監視部２は、インクリメントしたカウンタの値が「１」（第１の値）の場合に、第２の判別情報を記憶部４に格納する。
【００３９】
より具体的に、カウンタの値が第１の値の場合に、監視部２は、例えば、監視制御装置１を含む組み込み制御装置（自装置、つまり、リソース）が正常に動作しているか否かを判別する。
【００４０】
監視部２は、判別した結果、係る自装置が正常に動作している場合に、第２の判別情報を生成すると共に、生成した第２の判別情報を記憶部４に格納する。
【００４１】
尚、以下の説明において、説明の便宜上、監視対象の装置を監視する側を「監視元」と称する（以下、各実施形態においても同様）。
【００４２】
監視部２は、インクリメントしたカウンタの値が「２」（第２の値）の場合に、例えば、監視制御装置１を含む組み込み制御装置（自装置）に障害（故障）が発生したと判別する。即ち、監視部２は、自装置（つまり、監視元である装置）の障害を検出する。
【００４３】
尚、上述した本実施形態では、説明の便宜上、一例として、監視部２は、カウンタの値を「１」インクリメントする構成を例に説明した。しかしながら本発明に係る実施形態は、係る構成に限定されない。
【００４４】
監視部２は、例えば、カウンタの値を「２」インクリメントしてもよいし、「３」インクリメントしてもよい。即ち、第２の値と第１の値とは、異なる値を示す構成を採用することができる。例えば、第２の値は、第１の値より大きい値を示す構成を採用してもよい。
【００４５】
監視部２は、監視対象の装置、または監視元の装置の障害を検出した際に、その障害を通知する。
【００４６】
例えば、組み込み制御装置が備える不図示のディスプレイ等のユーザインタフェースに障害が発生したことを表示する構成を採用してもよいし、複数の電子機器によって冗長化している場合に、正常に動作する電子機器に切り替える構成を採用してもよい。但し、本実施形態を例に説明する本発明は、これらの構成に限定されない（以下、各実施形態においても同様）。
【００４７】
通信部３は、伝送媒体を介して電子機器と通信可能に接続する。また、通信部３は、各種情報を送受信する。即ち、通信部３は、伝送媒体を介して第１の判別情報１０１を送受信する。
【００４８】
より具体的に、一例として、通信部３は、一般的に知られたＲＳ−２３２Ｃ等のデータバスやＬＡＮ（Ｌｏｃａｌ＿Ａｒｅａ＿Ｎｅｔｗｏｒｋ：以降、「ＬＡＮ」と称する）等を採用することができる。但し、本実施形態を例に説明する本発明は、これらの構成に限定されない（以下の実施形態においても同様）。
【００４９】
記憶部４は、読み書き可能な一時記憶媒体である。即ち、記憶部４は、揮発性の記憶デバイスである。
【００５０】
より具体的に、一例として、記憶部４は、読み込み制御装置やサーバ装置等の電子機器に搭載された主記憶装置等の揮発性記憶素子を採用することができる。但し、本発明は、これらに限定されない（以下の実施形態においても同様）。
【００５１】
尚、上述した本実施形態では、説明の便宜上、一例として、記憶部４は、揮発性の記憶デバイスを採用する構成を例に説明した。しかしながら本発明に係る実施形態は、係る構成に限定されず、記憶部４は、読み書き可能な不揮発性記憶デバイスを採用してもよい。
【００５２】
その場合に、より具体的に、一例として、記憶部４は、電子機器に搭載されたＨＤＤ等の不揮発性記憶素子を採用することができる。
【００５３】
このように本実施の形態に係る監視制御装置１によれば、装置間において装置の故障を監視する際に、監視元の装置が故障した場合であっても、正確且つ速やかに装置の故障を検出することができる。その理由は、以下に述べる通りである。
【００５４】
即ち、監視制御装置１の監視部２は、監視対象の装置が故障したと判別した場合に、監視元のリソース（自装置）が正常に動作しているか否かを判別する。監視部２は、自装置が正常に動作していると判別した場合に、監視対象のリソースが故障したと判別する。一方で、監視部２は、自装置が正常に動作していないと判別した場合に、監視対象のリソースが故障したのではなく自装置が故障したと判別するからである。即ち、監視部２は、自装置が故障したことによって、監視対象のリソースが故障したと判別すること（つまり、誤検出）を阻止することができる。よって、例えば、監視部２は、故障して自装置が誤った判断によって、正常に動作している監視対象のリソースを停止、あるいはリセットするよう誤った指示を行うことによる二次的な不具合をも阻止することができる。
【００５５】
＜第２の実施形態＞
次に、上述した本発明の第１の実施形態に係る監視制御装置１を基本とする第２の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明する。その際、上述した各実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。
【００５６】
図２は、本発明の第２の実施形態における監視制御装置１１（第１の監視制御装置１１ａ、第２の監視制御装置１１ｂ）を含む組み込み制御装置１０（第１の組み込み制御装置１０ａ、第２の組み込み制御装置１０ｂ）の構成を示すブロック図である。
【００５７】
図２において、第１の組み込み制御装置１０ａと第２の組み込み制御装置１０ｂとは、第１の通信部３ａと第２の通信部３ｂとを介して相互に通信可能に接続する。
【００５８】
本実施形態では、第１の実施形態において説明した監視制御装置１に、さらに、生成部１２（第１の生成部１２ａ、第２の生成部１２ｂ）を適用した場合について説明する。
【００５９】
尚、以下の説明において、説明の便宜上、第１の組み込み制御装置１０ａと第２の組み込み制御装置１０ｂとを総称して組み込み制御装置１０と称する。第１の監視制御装置１１ａと第２の監視制御装置１１ｂとを総称して監視制御装置１１と称する。
【００６０】
さらに、第１の監視部２ａと第２の監視部２ｂとを総称して監視部２と称する。第１の通信部３ａと第２の通信部３ｂとを総称して通信部３と称する。第１の記憶部４ａと第２の記憶部４ｂとを総称して記憶部４と称する。第１の生成部１２ａと第２の生成部１２ｂとを総称して生成部１２と称する。
【００６１】
生成部１２は、監視対象の（つまり、監視される）リソースが正常に動作しているか否かを判別すると共に、判別した結果、係るリソースが正常に動作していると判別した場合に、第１の判別情報１０１を生成する。
【００６２】
尚、生成部１２が監視対象のリソースが正常に動作しているか否かを判別する技術自体は、現在では一般的な技術を採用することができるので、本実施形態における詳細な説明は省略する（以下、各実施形態においても同様）。
【００６３】
さらに、生成部１２は、通信部３を介して第１の判別情報１０１を第１の時間周期毎に送信する。
【００６４】
より具体的に、例えば、第１の監視制御装置１１ａから第２の監視制御装置１１ｂに第１の判別情報１０１を送信する場合に、第１の生成部１２ａは、第１の通信部３ａを介して第２の監視制御装置１１ｂに送信する。さらに、第２の監視制御装置１１ｂは、第２の通信部３ｂを介して第１の判別情報１０１を受信する。
【００６５】
次に、本発明の第２の実施形態に係るより具体的な監視制御装置１１の動作について説明する。
【００６６】
図３は、本発明の第２の実施形態における監視制御装置１１が行う動作を示すフローチャートである。図３に示す「第１の時間周期」毎に第１の判別情報１０１を送信するフローチャートに沿って監視制御装置１１の動作手順を説明する。
【００６７】
ここでは、以下の説明において、説明の便宜上、一例として、第２の監視制御装置１１ｂを含む第２の組み込み制御装置１０ｂが第１の組み込み制御装置１０ａを監視する際の動作を説明する。
【００６８】
また、第１の監視制御装置１１ａと第２の監視制御装置１１ｂとは、動作に差異が無いこととする。
【００６９】
さらに、第１の判別情報１０１と第２の判別情報とは、一般的に知られたハートビート情報である。
【００７０】
説明の便宜上、上述した構成を例に説明するが、これに限定されない（以下の実施形態においても同様）。
【００７１】
ステップＳ１：
第１の生成部１２ａは、監視対象のリソースが正常に動作しているか否かを判別する。
【００７２】
ステップＳ２において「ＹＥＳ」：
第１の生成部１２ａは、監視対象のリソースが正常に動作しているか否かを判別した結果、監視対象のリソースが正常に動作していると判別した場合に、処理をステップＳ３に進める。
【００７３】
ステップＳ２において「ＮＯ」：
第１の生成部１２ａは、監視対象のリソースが正常に動作しているか否かを判別した結果、監視対象のリソースが正常に動作していないと判別した場合に、処理を終了する。
【００７４】
ステップＳ３：
第１の生成部１２ａは、第１の判別情報１０１を生成すると共に、第１の通信部３ａを介して第２の組み込み制御装置１０ｂに生成した第１の判別情報１０１を送信する。
【００７５】
ステップＳ４：
第１の生成部１２ａは、第１の時間周期の時間が経過するまで待つ（つまり、Ｗａｉｔする）。即ち、第１の生成部１２ａは、一定時間置きに第１の判別情報１０１を第２の監視制御装置１１ｂに送れるように待ち合わせる。
【００７６】
ステップＳ５：
第１の生成部１２ａは、第１の時間周期の時間が正しく待ち合わせられているか否かを判別する。
【００７７】
ステップＳ６において「ＮＯ」：
第１の生成部１２ａは、第１の時間周期の時間が経過していないと判別した場合に、処理をステップＳ５に戻す。
【００７８】
即ち、第１の生成部１２ａは、もう一度、第１の時間周期の時間が正しく待ち合わせられているか否かを判別する。
【００７９】
ステップＳ６において「ＹＥＳ」：
第１の生成部１２ａは、第１の時間周期の時間が経過したと判別した場合に、処理をステップＳ１に戻す。
【００８０】
即ち、第１の生成部１２ａは、もう一度、監視対象のリソースが正常に動作しているか否かを判別する処理ステップＳ１に分岐する。
【００８１】
次に、図４は、本発明の第２の実施形態における監視制御装置１１が行う動作を示すフローチャートである。図４に示す第１の判別情報１０１を受信するフローチャートに沿って監視制御装置１１の動作手順を説明する。
【００８２】
ステップＳ１１：
第２の監視制御装置１１ｂの第２の監視部２ｂは、第２の通信部３ｂを介して第１の判別情報１０１を受信したか否かを判別する。
【００８３】
ステップＳ１２において「ＮＯ」：
第２の監視部２ｂは、第２の通信部３ｂを介して第１の判別情報１０１を受信したか否かを判別した結果、第１の判別情報１０１を受信していないと判別した場合に、処理をステップＳ１１に戻す。
【００８４】
ステップＳ１２において「ＹＥＳ」：
第２の監視部２ｂは、第２の通信部３ｂを介して第１の判別情報１０１を受信したか否かを判別した結果、第１の判別情報１０１を受信していると判別した場合に、処理をステップＳ１３に進める。
【００８５】
ステップＳ１３：
第２の監視部２ｂは、受信した第１の判別情報１０１を第２の記憶部４ｂに格納する。
【００８６】
次に、図５Ａ及び図５Ｂは、本発明の第２の実施形態における監視制御装置１１が行う動作を示すフローチャートである。図５Ａ及び図５Ｂに示す「第２の時間周期」毎に受信した第１の判別情報１０１、または第２の判別情報の有無を判別するフローチャートに沿って監視制御装置１１の動作手順を説明する。
【００８７】
ステップＳ２１：
第２の監視部２ｂは、第２の時間周期の時間が経過するまで待つ（つまり、Ｗａｉｔする）。即ち、第２の監視部２ｂは、一定時間置きに第１の判別情報１０１が第２の記憶部４ｂにあるか否かを判別できるように待ち合わせる。
【００８８】
ステップＳ２２：
第２の監視部２ｂは、第２の時間周期の時間が正しく待ち合わせられているか否かを判別する。
【００８９】
ステップＳ２３において「ＮＯ」：
第２の監視部２ｂは、第２の時間周期の時間が経過していないと判別した場合に、処理をステップＳ２２に戻す。
【００９０】
即ち、第２の監視部２ｂは、もう一度、第２の時間周期の時間が正しく待ち合わせられているか否かを判別する。
【００９１】
ステップＳ２３において「ＹＥＳ」：
第２の監視部２ｂは、第２の時間周期の時間が経過したと判別した場合に、処理をステップＳ２４に進める。
【００９２】
ステップＳ２４：
第２の監視部２ｂは、第２の記憶部４ｂに第１の判別情報１０１があるか否かを判別する。
【００９３】
ステップＳ２５において「ＹＥＳ」：
第２の監視部２ｂは、第２の記憶部４ｂに第１の判別情報１０１があるか否かを判別した結果、第１の判別情報１０１があると判別した場合に、処理をステップＳ２６に進める。
【００９４】
ステップＳ２５において「ＮＯ」：
第２の監視部２ｂは、第２の記憶部４ｂに第１の判別情報１０１があるか否かを判別した結果、第１の判別情報１０１が無いと判別した場合に、処理をステップＳ２７に進める。
【００９５】
ステップＳ２６：
第２の監視部２ｂは、カウンタの値をクリア（リセット）すると共に、記憶部４に格納された第１の判別情報１０１を消去する。
【００９６】
ステップＳ２７：
第２の監視部２ｂは、第２の記憶部４ｂに第２の判別情報があるか否かを判別する。
【００９７】
ステップＳ２８において「ＹＥＳ」：
第２の監視部２ｂは、第２の記憶部４ｂに第２の判別情報があるか否かを判別した結果、第２の判別情報があると判別した場合に、処理をステップＳ２９に進める。
【００９８】
ステップＳ２８において「ＮＯ」：
第２の監視部２ｂは、第２の記憶部４ｂに第２の判別情報があるか否かを判別した結果、第２の判別情報が無いと判別した場合に、処理をステップＳ３０に進める。
【００９９】
ステップＳ２９：
第２の監視部２ｂは、監視対象の第１の組み込み制御装置１０ａに障害（故障）が発生したと判別する。即ち、第２の監視部２ｂは、第１の組み込み制御装置１０ａの障害（故障）を検出する。
【０１００】
つまり、監視元である第２の組み込み制御装置１０ｂ（自装置）は、正常に動作していることを意味する。一方で、監視対象である第１の組み込み制御装置１０ａは、障害が発生したことを意味する。
【０１０１】
ステップＳ３０：
第２の監視部２ｂは、カウンタの値を参照すると共に、その値を「１」インクリメント（増加）する。
【０１０２】
ステップＳ３１：
第２の監視部２ｂは、インクリメントしたカウンタの値を判別する。即ち、第２の監視部２ｂは、インクリメントしたカウンタの値が「１」であるか否かを判別する。
【０１０３】
ステップＳ３２において「ＹＥＳ」：
第２の監視部２ｂは、インクリメントしたカウンタの値が「１」であるか否かを判別した結果、カウンタの値が「１」であると判別した場合に、処理をステップＳ３３に進める。
【０１０４】
ステップＳ３２において「ＮＯ」：
第２の監視部２ｂは、インクリメントしたカウンタの値が「１」であるか否かを判別した結果、カウンタの値が「１」でないと判別した場合に、処理をステップＳ３６に進める。
【０１０５】
ステップＳ３３：
第２の監視部２ｂは、監視元である第２の組み込み制御装置１０ｂ（自装置）が正常に動作しているか否かを判別する。
【０１０６】
ステップＳ３４において「ＹＥＳ」：
第２の監視部２ｂは、第２の組み込み制御装置１０ｂが正常に動作しているか否かを判別した結果、第２の組み込み制御装置１０ｂが正常に動作していると判別した場合に、処理をステップＳ３５に進める。
【０１０７】
ステップＳ３４において「ＮＯ」：
第２の監視部２ｂは、第２の組み込み制御装置１０ｂが正常に動作しているか否かを判別した結果、第２の組み込み制御装置１０ｂが正常に動作していないと判別した場合に、処理を終了する。
【０１０８】
ステップＳ３５：
第２の監視部２ｂは、第２の判別情報を生成すると共に、生成した第２の判別情報を第２の記憶部４ｂに格納する。
【０１０９】
ステップＳ３６：
第２の監視部２ｂは、インクリメントしたカウンタの値が「２」であるか否かを判別する。
【０１１０】
ステップＳ３７において「ＹＥＳ」：
第２の監視部２ｂは、インクリメントしたカウンタの値が「２」であるか否かを判別した結果、カウンタの値が「２」であると判別した場合に、処理をステップＳ３８に進める。
【０１１１】
ステップＳ３７において「ＮＯ」：
第２の監視部２ｂは、インクリメントしたカウンタの値が「２」であるか否かを判別した結果、カウンタの値が「２」でないと判別した場合に、処理を終了する。
【０１１２】
ステップＳ３８：
第２の監視部２ｂは、監視元である第２の組み込み制御装置１０ｂ（自装置）に障害（故障）が発生したと判別する。即ち、第２の監視部２ｂは、第２の組み込み制御装置１０ｂの障害（故障）を検出する。
【０１１３】
ステップＳ３９：
第２の監視部２ｂは、監視元、または監視対象に発生した障害を検出したか否かを判別する。
【０１１４】
即ち、第２の監視部２ｂは、監視元である第２の組み込み制御装置１０ｂ、または監視対象の第１の組み込み制御装置１０ａに発生した障害を検出したか否かを判別する。
【０１１５】
ステップＳ４０において「ＹＥＳ」：
第２の監視部２ｂは、監視元、または監視対象に発生した障害を検出したか否かを判別した結果、その障害を検出した場合に、処理を終了する。
【０１１６】
ステップＳ４０において「ＮＯ」：
第２の監視部２ｂは、監視元、または監視対象に発生した障害を検出したか否かを判別した結果、その障害を検出していない場合に、処理をステップＳ２１に戻す。
【０１１７】
尚、上述した本実施形態では、説明の便宜上、一例として、監視制御装置１１は、相互に通信可能に接続された組み込み制御装置を監視する構成を例に説明した。しかしながら本発明に係る実施形態は、係る構成に限定されず、監視制御装置１１は、１つ以上の組み込み制御装置を監視する構成を採用してもよい。
【０１１８】
その場合に、監視部２は、１つ以上の監視制御装置１１から受信した第１の判別情報１０１を識別可能なように記憶部４に格納する構成を採用してもよい。
【０１１９】
このように本実施の形態に係る監視制御装置１１によれば、第１の実施形態において説明した効果を享受できると共に、さらに、速やかに装置の故障を検出することができる。その理由は、監視制御装置１１は、さらに、生成部１２を有するからである。生成部１２は、監視部２とは別に自装置が正常に動作するか否かを判別すると共に、自装置が正常に動作する場合には、第１の判別情報１０１を監視元の装置に送信することができるからである。そのため、装置間で相互に障害を監視する場合に、監視制御装置１１は、監視部２と生成部１２とのそれぞれが所定の動作をすることによって、より速やかに障害を検出することができる。
【０１２０】
＜第３の実施形態＞
次に、上述した本発明の第２の実施形態に係る監視制御装置１１を基本とする第３の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明する。その際、上述した各実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。
【０１２１】
図６は、本発明の第３の実施形態における監視制御装置２１の構成を示すブロック図である。
【０１２２】
図６において、監視制御装置２１は、生成部１２と、更新部２２と、監視部２３と、検出部２４とを有する。
【０１２３】
尚、更新部２２、監視部２３及び検出部２４は、上述した第２の実施形態における監視部２に相当する。
【０１２４】
即ち、更新部２２、監視部２３及び検出部２４は、上述した第２の実施形態における監視部２の処理を実行する。
【０１２５】
より具体的に、更新部２２は、図４においてステップＳ１１乃至ステップＳ１３の処理を実行する。さらに、監視部２３は、図５Ａ及び図５ＢにおいてステップＳ２１乃至ステップＳ２９の処理を実行する。また、検出部２４は、図５Ａ及び図５ＢにおいてステップＳ３０乃至ステップＳ４０の処理を実行する。
【０１２６】
このように本実施の形態に係る監視制御装置２１によれば、上述した各実施形態において説明した効果を享受できると共に、さらに、より速やかに装置の故障を検出することができる。その理由は、監視制御装置２１は、第２の実施形態において説明した監視部２が行う処理を分散すると共に、分散した処理を更新部２２、監視部２３及び検出部２４が実行するからである。
【０１２７】
（ハードウェア構成例）
上述した実施形態において図１、図２、図６に示した各部は、ソフトウェアプログラムの機能（処理）単位（ソフトウェアモジュール）と捉えることができる。但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図７を参照して説明する。
【０１２８】
図７は、本発明の模範的な実施形態に係る監視制御装置を実行可能な情報処理装置３００（コンピュータ）の構成を例示的に説明する図である。即ち、図７は、図１に示した監視制御装置１、或いは、図２に示した監視制御装置１１、図６に示した監視制御装置２１の全体または一部の監視制御装置を実現可能なサーバやホストコンピュータ等のコンピュータ（情報処理装置）の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
【０１２９】
図７に示した情報処理装置３００は、ＣＰＵ（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ）３０１、ＲＯＭ（Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）３０２、ＲＡＭ（Ｒａｎｄｏｍ＿Ａｃｃｅｓｓ＿Ｍｅｍｏｒｙ）３０３、ハードディスク３０４（記憶装置）、並びに外部装置との通信インタフェース（Ｉｎｔｅｒｆａｃｅ：以降、「Ｉ／Ｆ」と称する）３０５、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ＿Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）等の記憶媒体３０７に格納されたデータを読み書き可能なリーダライタ３０８を備え、これらの構成がバス３０６（通信線）を介して接続された一般的なコンピュータである。
【０１３０】
そして、上述した各実施形態を例に説明した本発明は、図７に示した情報処理装置３００に対して、その実施形態の説明において参照したブロック構成図（図１、図２、図６）或いはフローチャート（図３、図４、図５Ａ、図５Ｂ）の機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、当該ハードウェアのＣＰＵ３０１に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータ・プログラムは、読み書き可能な揮発性の記憶メモリ（ＲＡＭ３０３）またはハードディスク３０４等の不揮発性の記憶デバイスに格納すれば良い。
【０１３１】
また、前記の場合において、当該ハードウェア内へのコンピュータ・プログラムの供給方法は、ＣＤ−ＲＯＭ等の各種記憶媒体３０７を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等のように、現在では一般的な手順を採用することができる。そして、このような場合において、本発明は、係るコンピュータ・プログラムを構成するコード或いは、そのコードが格納された記憶媒体３０７によって構成されると捉えることができる。
【産業上の利用可能性】
【０１３２】
本発明は、上述した各実施形態には限定されない。本発明は、パーソナルコンピュータ、ＰＯＳ（Ｐｏｉｎｔ＿Ｏｆ＿Ｓａｌｅ）システム、サーバ、複写機、複合機等のリソースの障害を監視する機能を搭載する各種の電子機器に適用可能である。
【符号の説明】
【０１３３】
１    監視制御装置
２    監視部
２ａ    第１の監視部
２ｂ    第２の監視部
３    通信部
３ａ    第１の通信部
３ｂ    第２の通信部
４    記憶部
４ａ    第１の記憶部
４ｂ    第２の記憶部
１０    組み込み制御装置
１０ａ    第１の組み込み制御装置
１０ｂ    第２の組み込み制御装置
１１    監視制御装置
１１ａ    第１の監視制御装置
１１ｂ    第２の監視制御装置
１２    生成部
１２ａ    第１の生成部
１２ｂ    第２の生成部
２１    監視制御装置
２２    更新部
２３    監視部
２４    検出部
１０１    第１の判別情報
３００    情報処理装置
３０１    ＣＰＵ
３０２    ＲＯＭ
３０３    ＲＡＭ
３０４    ハードディスク
３０５    通信インタフェース
３０６    バス
３０７    記憶媒体
３０８    リーダライタ
【図１】
2014178797.tif 000003
【図２】
2014178797.tif 000004
【図３】
2014178797.tif 000005
【図４】
2014178797.tif 000006
【図５Ａ】
2014178797.tif 000007
【図５Ｂ】
2014178797.tif 000008
【図６】
2014178797.tif 000009
【図７】
2014178797.tif 000010