(57)【要約】【課題】複数の仲介装置を必要とすることなく、仲介装置内のモジュールに対する影響を考慮しつつ、自動的に復帰させる。【解決手段】監視対象となる機器から情報を収集する収集部と、収集部の死活監視を行って応答の有無を判定する判定部と、判定部による判定の結果に応じて収集部のプロセスを監視する監視部と、監視部の依頼に応じて情報処理装置内のプロセスをリブートする状態管理部と、を備え、監視部は、状態管理部が停止している状態であるか否かを判定し、状態管理部が停止している状態であると判定した場合に、状態管理部をリブートする。【選択図】図３
2020135185.tif 000002
【特許請求の範囲】
【請求項１】
監視対象となる機器とネットワークを介して前記機器を監視するシステムとに接続された、前記機器と前記システムとを仲介する情報処理装置であって、
前記機器から情報を収集する収集部と、
前記収集部の死活監視を行って応答の有無を判定する判定部と、
前記判定部による判定の結果に応じて前記収集部のプロセスを監視する監視部と、
前記監視部の依頼に応じて前記情報処理装置内のプロセスをリブートする状態管理部と、を備え、
前記監視部は、前記状態管理部が停止している状態であるか否かを判定し、前記状態管理部が停止している状態であると判定した場合に、前記状態管理部をリブートする、
ことを特徴とする情報処理装置。
【請求項２】
前記監視部は、所定の間隔で繰り返し前記状態管理部をリブートする、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記監視部は、前記状態管理部とともに当該監視部をリブートする、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記状態管理部は、前記判定部が前記収集部からの応答がないと判定した場合において、前記監視部が前記収集部が停止していると判定した場合に、前記監視部からの依頼に応じて前記収集部をリブートする、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記監視部は、前記収集部のリブート回数が所定の閾値以上となったか否かを判定し、前記リブート回数が所定の閾値以上となったと判定した場合、前記情報処理装置のリブートを実行する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
監視対象となる機器とネットワークを介して前記機器を監視するシステムとに接続された、前記機器と前記システムとを仲介する情報処理装置で行われる監視方法であって、
前記機器から情報を収集する収集部の死活監視を行って応答の有無を判定する判定部による判定の結果に応じて前記収集部のプロセスを監視する監視部が、前記監視部の依頼に応じて前記情報処理装置内のプロセスをリブートする状態管理部が停止している状態であるか否かを判定し、
前記監視部が、前記状態管理部が停止している状態であると判定した場合に、前記状態管理部をリブートする、
ことを特徴とする監視方法。
【請求項７】
コンピュータに、
収集部が、監視対象となる機器から情報を収集する収集処理と、
判定部が、前記収集部の死活監視を行って応答の有無を判定する判定処理と、
監視部が、前記判定部による判定の結果に応じて前記収集部のプロセスを監視する監視処理と、
状態管理部が、前記監視部の依頼に応じて、前記機器とネットワークを介して前記機器を監視するシステムとに接続された、前記機器と前記システムとを仲介する情報処理装置内のプロセスをリブートするリブート処理と、を実行させ、
前記監視処理において、前記状態管理部が停止している状態であるか否かを判定し、前記状態管理部が停止している状態であると判定した場合に、前記状態管理部をリブートする処理を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、監視方法、および監視プログラムを格納した記録媒体
に関する。
【背景技術】
【０００２】
ネットワークを介して、機器の状態を監視するシステムがある。例えば、特許文献１では、故障検知をする目的で、ゲートウェイ機能を持った仲介装置を複数用意し、互いを監視する構成が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、特許文献１では、ゲートウェイ機能を持った仲介装置を複数用意し、互いを監視することによって故障か否かを検知するだけであるため、故障したモジュールは故障のままの状態となり、保守員等が現地に向かって手動で復帰させる必要がある。また、仲介装置が互いに監視するため、少なくとも２台の仲介装置が必要となる。さらに、上記故障したモジュールを復帰させる場合、当該モジュールを復帰させるための処理が、仲介装置内の他のモジュールに対して与える影響については考慮されていない。
【０００４】
本発明は、複数の仲介装置を必要とすることなく、仲介装置内のモジュールに対する影響を考慮しつつ、自動的に復帰させることが可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の一態様にかかる情報処理装置は、監視対象となる機器とネットワークを介して前記機器を監視するシステムとに接続された、前記機器と前記システムとを仲介する情報処理装置であって、前記機器から情報を収集する収集部と、前記収集部の死活監視を行って応答の有無を判定する判定部と、前記判定部による判定の結果に応じて前記収集部のプロセスを監視する監視部と、前記監視部の依頼に応じて前記情報処理装置内のプロセスをリブートする状態管理部と、を備え、前記監視部は、前記状態管理部が停止している状態であるか否かを判定し、前記状態管理部が停止している状態であると判定した場合に、前記状態管理部をリブートする、ことを特徴とする情報処理装置として構成される。
【発明の効果】
【０００６】
本発明の一態様によれば、複数の仲介装置を必要とすることなく、仲介装置内のモジュールに対する影響を考慮しつつ、自動的に復帰させることができる。
【図面の簡単な説明】
【０００７】
【図１】本実施例にかかる情報処理装置を有する監視システムの構成例を示す図である。
【図２】ＰＣのハードウェア構成図である。
【図３】本システムで行われる処理（監視処理）の処理手順を示すフローチャートである。
【図４】仲介モジュールの停止判断を含んだデータコレクタモジュールの監視処理の処理手順を示すフローチャートである。
【図５】プロセス監視部の定期的なリブートを行うリブート処理の処理手順を示すフローチャートである。
【図６】仲介モジュールの停止判断を含んだデータコレクタモジュールの監視処理の他の処理手順を示すフローチャートである。
【図７】従来手法における監視方法の例を示す概念図である。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照して、情報処理装置、監視方法、および監視プログラムを格納した記録媒体の実施の形態を詳細に説明する。以下では、監視対象となる装置側のゲートウェイの役割を担う仲介モジュール１０１と、装置側の情報を集めるデータコレクタモジュール１０２とが、１つの仲介装置上でプロセスとして動作する環境下において、データコレクタモジュール１０２を監視し、当該データコレクタモジュール１０２が停止したと判断した場合、当該データコレクタモジュール１０２のプロセスをリブートすることを前提としている。これにより、自動的に仲介装置による監視対象となる装置の監視を継続することができ、保守員が監視対象となる装置が設置されている現地に赴く必要がなくなる。
【０００９】
図１は、本実施例にかかる情報処理装置を有する監視システム１０００の構成例を示す図である。監視システム１０００は、監視対象となる機器に接続された仲介装置である情報処理装置１００と、情報処理装置１００を介して監視対象となる機器を監視し、情報処理装置１００との間で様々なデータを送受信して処理を行うシステムであるクラウド１２０と、クラウド１２０が情報処理装置１００から受信した情報の処理を行う際に実行されるアプリケーション１４０とを有して構成されている。情報処理装置１００と、クラウド１２０およびアプリケーション１４０とは、有線、無線を問わず、ネットワークＮを介して接続される。図１では、特に示していないが、情報処理装置１００には、監視対象となる１または複数の機器が電気的に接続されているものとする。
【００１０】
情報処理装置１００は、監視対象となる機器に関する情報を収集し、クラウド１２０に収集した情報を提供する仲介装置である。情報処理装置１００としては、ＰＣやサーバをはじめとするプロセッサを備えた様々な装置を適用することができる。以下では、情報処理装置１００の一例として、ＰＣを用いる場合について説明し、情報処理装置１００を、単にＰＣ１００と表記する。
【００１１】
図１に示すように、ＰＣ１００は、仲介モジュール１０１と、データコレクタモジュール１０２と、プロセス監視部１０３と、システム状態管理部１０４とを有している。図１では、クラウド１２０が、ユーザインタフェースを担うアプリケーション１４０と現地に設置された１または複数のＰＣ１００との間の各種情報（例えば、機器の状態をあらわす数値）の経路の役割を果たしている。クラウド１２０では、ＰＣ１００から受信した上記各種情報を管理するとともに、図示しないディスプレイ等の表示装置に出力し、本システムの管理者がその内容を確認し、ＰＣ１００に接続された監視対象となる機器の状態を監視して把握することができるようになっている。
【００１２】
ＰＣ１００の内部には、クラウド１２０と通信するためのゲートウェイの役割を担う仲介モジュール１０１と、機器側の情報を集めるデータコレクタモジュール１０２と、ＰＣ１００内で動作するプロセスを監視するプロセス監視部１０３と、ＰＣ１００のシステム状態を管理してリブート処理を行うシステム状態管理部１０４とがＰＣ１００内のプロセスとして動作している。これらの各部はプログラムの実行によりその機能が実現されるが、各部が行う具体的な処理については後述する。
【００１３】
図２は、ＰＣ１００のハードウェア構成図である。図２に示されているように、ＰＣ１００は、コンピュータによって構築されており、ＣＰＵ５０１、ＲＯＭ５０２、ＲＡＭ５０３、ＨＤ５０４、ＨＤＤ(Hard Disk Drive)コントローラ５０５、ディスプレイ５０６、外部機器接続Ｉ／Ｆ(Interface)５０８、ネットワークＩ／Ｆ５０９、データバス５１０、キーボード５１１、ポインティングデバイス５１２、ＤＶＤ−ＲＷ(Digital Versatile Disk Rewritable)ドライブ５１４、メディアＩ／Ｆ５１６を備えている。
【００１４】
これらのうち、ＣＰＵ５０１は、ＰＣ１００全体の動作を制御する。ＲＯＭ５０２は、ＩＰＬ等のＣＰＵ５０１の駆動に用いられるプログラムを記憶する。ＲＡＭ５０３は、ＣＰＵ５０１のワークエリアとして使用される。ＨＤ５０４は、プログラム等の各種データを記憶する。ＨＤＤコントローラ５０５は、ＣＰＵ５０１の制御にしたがってＨＤ５０４に対する各種データの読み出し又は書き込みを制御する。ディスプレイ５０６は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続Ｉ／Ｆ５０８は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、ＵＳＢ(Universal Serial Bus)メモリやプリンタ等である。ネットワークＩ／Ｆ５０９は、通信ネットワーク１００を利用してデータ通信をするためのインターフェースである。バスライン５１０は、図２に示されているＣＰＵ５０１等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【００１５】
また、キーボード５１１は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス５１２は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。ＤＶＤ−ＲＷドライブ５１４は、上記プログラムを格納するための着脱可能な記録媒体の一例としてのＤＶＤ−ＲＷ５１３に対する各種データの読み出し又は書き込みを制御する。なお、ＤＶＤ−ＲＷに限らず、ＤＶＤ−Ｒ等であってもよい。メディアＩ／Ｆ５１６は、フラッシュメモリ等の記録メディア５１５に対するデータの読み出し又は書き込み（記憶）を制御する。
【００１６】
図３は、本システムで行われる処理（監視処理）の処理手順を示すフローチャートである。監視処理は、ＰＣ１００内部のデータコレクタモジュール１０２が死活監視を行う際の処理である。監視処理では、主として、プロセス監視部１０３およびシステム状態管理部１０４が処理を行う。
本処理の特徴としては、データコレクタモジュール１０２からの応答がない場合、プロセス監視部１０３にデータコレクタモジュール１０２が停止していないかどうか確認する。プロセスが停止していることが確認された場合は、システム状態管理部１０４にデータコレクタモジュール１０２のリブートを依頼し、データコレクタモジュール１０２のプロセスのリブートを実行する。プロセスが停止していないことが確認された場合は、プロセスが停止していないにもかかわらず応答がない状態であると判断し、死活監視における死亡（offline）として、その情報がクラウド１２０に送信される。以下、具体的に説明する。
【００１７】
まず、仲介モジュール１０１が、データコレクタモジュール１０２に対する死活監視を実行し（Ｓ３０１）、データコレクタモジュール１０２からの応答の有無を判定する（Ｓ３０２）。プロセス監視部１０３は、データコレクタモジュール１０２からの応答があると判定した場合（Ｓ３０２；Ｙｅｓ）、Ｓ３０３に進み、データコレクタモジュール１０２に対する死活監視結果をクラウド１２０に送信する（Ｓ３０３）。
一方、仲介モジュール１０１が、データコレクタモジュール１０２からの応答がないと判定した場合（Ｓ３０２；Ｎｏ）、プロセス監視部１０３は、データコレクタモジュール１０２の稼働状況（例えば、プロセスの実行状況）の監視を開始して確認し（Ｓ３０４）、データコレクタモジュール１０２が停止しているか否かを判定する（Ｓ３０５）。
【００１８】
プロセス監視部１０３は、データコレクタモジュール１０２が停止していないと判定した場合（Ｓ３０５；Ｎｏ）、Ｓ３０３に進み、データコレクタモジュール１０２に対する死活監視結果をクラウド１２０に送信する。一方、プロセス監視部１０３は、データコレクタモジュール１０２が停止していると判定した場合（Ｓ３０５；Ｙｅｓ）、システム状態管理部１０４にデータコレクタモジュール１０２のリブートを依頼する（Ｓ３０６）。システム状態管理部１０４は、プロセス監視部１０３からの依頼にしたがって、データコレクタモジュール１０２のプロセスのリブートを実行する（Ｓ３０７）。
【００１９】
図３に示した監視処理を行うことにより、データコレクタモジュール１０２が自動復帰するため、保守員は、ＰＣ１００が設置されている現地に行くことなく、ＰＣ１００への対応を行うことができる。
【００２０】
図４は、仲介モジュールの停止判断を含んだデータコレクタモジュールの監視処理の処理手順を示すフローチャートである。図３の監視処理では、仲介モジュール１０１がプロセス停止している場合、最初の処理であるＳ３０１において、データコレクタモジュール１０２に対する死活監視処理が実行できない。そこで、図４では、仲介モジュール１０１のプロセスを監視する処理を追加した監視処理を実行する。以下、具体的に説明する。
まず、監視処理を実行する前に、プロセス監視部１０３は、仲介モジュール１０１のプロセスが停止していないか確認する（Ｓ４０１）。プロセス監視部１０３は、仲介モジュール１０１のプロセスが停止しているか否かを判定し（Ｓ４０２）、仲介モジュール１０１のプロセスが停止していないと判定した場合（Ｓ４０２；Ｎｏ）、図３に示した監視処理を実行する。
【００２１】
一方、プロセス監視部１０３は、仲介モジュール１０１のプロセスが停止していると判定した場合（Ｓ４０２；Ｙｅｓ）、システム状態管理部１０４に仲介モジュール１０１のリブートを依頼し（Ｓ４０３）、システム状態管理部１０４が、仲介モジュール１０１のプロセスをリブートする（Ｓ４０４）。その後、図３のＳ３０１の処理を実行する。
このようなＳ４０１〜Ｓ４０４の処理を行うことにより、仲介モジュール１０１のプロセスが停止している場合でも、当該仲介モジュール１０１を自動復帰することができ、死活監視を実行することができる。
【００２２】
図５は、プロセス監視部の定期的なリブートを行うリブート処理の処理手順を示すフローチャートである。図３、４の処理では、プロセス監視部１０３のプロセスが停止している場合、プロセスの停止判断ができず、処理を継続できなくなる。そこで、プロセス監視部１０３は、定期的にリブート処理を実行し、想定していない不意のプロセス停止を防止する処理を追加した監視処理を実行する。図５に示すプロセス監視部１３のリブート処理は、ある一定間隔ごとに繰り返し実行される。これにより、リブートのタイミングを意識する必要がなくなる。以下では、上記監視処理を定期的に実行するが、他のタイミングで実行してよい。例えば、以下に示す監視処理を、図３、図４に示した監視処理においてデータコレクタモジュール１０２をリブートした後に実行してもよい。これにより、データコレクタモジュール１０２と、以下の処理でリブートされるシステム状態管理部１０４、プロセス監視部１０３との間でリブートのタイミングを同期させることができる。以下、具体的に説明する。
【００２３】
まず、プロセス監視部１０３は、前回のリブート処理あるいは前回の監視処理から一定期間が経過したか否かを判定する（Ｓ５０１）。プロセス監視部１０３は、前回のリブート処理あるいは前回の監視処理から一定期間が経過していないと判定した場合（Ｓ５０１；Ｎｏ）、処理を終了させる。
一方、プロセス監視部１０３は、前回のリブート処理あるいは前回の監視処理から一定期間が経過したと判定した場合（Ｓ５０１；Ｙｅｓ）、データコレクタモジュール１０２が死活監視を終了している状態であるか否かを判定する（Ｓ５０２）。プロセス監視部１０３は、データコレクタモジュール１０２が死活監視を終了している状態でない、すなわち死活監視実行中であると判定した場合（Ｓ５０２；Ｎｏ）、処理を終了させる。
【００２４】
一方、プロセス監視部１０３は、データコレクタモジュール１０２が死活監視を終了している状態であると判定した場合（Ｓ５０２；Ｙｅｓ）、システム状態管理部１０４が停止しているか否かを判定する（Ｓ５０３）。プロセス監視部１０３は、システム状態管理部１０４が停止していると判定した場合（Ｓ５０３；Ｙｅｓ）、システム状態管理部１０４のリブートを実行する（Ｓ５０４）。一方、プロセス監視部１０３は、システム状態管理部１０４が停止していないと判定した場合（Ｓ５０３；Ｎｏ）、Ｓ５０５に進む。
Ｓ５０４またはＳ５０３が実行されると、プロセス監視部１０３は、自らのリブートを実行する（Ｓ５０５）。
【００２５】
このような処理を行うことにより、仲介モジュール１０１とデータコレクタモジュール１０２のプロセスが、プロセス監視部１０３の停止により死活監視が実行されなくなる場合でも、死活監視を継続することができる。また、プロセス監視部１０３は、システム状態管理部１０４が停止している場合に、システム状態管理部１０４のリブートを実行するので、例えば、システム状態管理部１０４が、複数あるデータコレクタモジュールのうちの１つまたは複数のデータコレクタモジュールのリブート実行中に、当該システム状態管理部１０４をリブートすることがなくなる。その結果、当該システム状態管理部１０４のリブートによるデータコレクタモジュールへの影響を避けることができる。また、この場合、当該システム状態管理部１０４のリブートとともにプロセス監視部１０３のリブートを行うため、当該システム状態管理部１０４とプロセス監視部１０３との間でリブートのタイミングを同期させることができる。その結果、システム状態管理部１０４およびプロセス監視部１０３をリブートするタイミングを別々に管理する必要がなくなる。
【００２６】
図６は、仲介モジュールの停止判断を含んだデータコレクタモジュールの監視処理の他の処理手順を示すフローチャートである。当該処理では、図４に示した処理に加え、さらにＳ３０７を実行した後のＰＣ１００の状態を考慮するステップが追加されている。以下では、当該追加された処理について説明し、図４と同一の処理については同一の符号を付してその説明を省略している。
図６のＳ３０７において、システム状態管理部１０４が、プロセス監視部１０３からの依頼にしたがって、データコレクタモジュール１０２のプロセスのリブートを実行すると、プロセス監視部１０３は、データコレクタモジュール１０２をリブートした回数をカウントし、カウンタに記録する（Ｓ６０１）。プロセス監視部１０３は、カウンタに記録した回数が、あらかじめ定められた閾値以上となったか否かを判定し（Ｓ６０２）、カウンタに記録した回数が、あらかじめ定められた閾値以上となっていないと判定した場合（Ｓ６０２；Ｎｏ）、処理を終了させる。一方、プロセス監視部１０３は、カウンタに記録した回数が、あらかじめ定められた閾値以上となったと判定した場合（Ｓ６０２；Ｙｅｓ）、ＰＣ１００のリブートを実行する（Ｓ６０３）。なお、ＰＣ１００のリブート後は、プロセス監視部１０３が保持するカウンタはゼロに初期化される。
【００２７】
このような処理を行うことにより、データコレクタモジュール１０２がプロセスを停止してデータ収集ができない状態となり、リブートを何度も実行しても改善しない場合、ＰＣ１００自体に問題があると判断し、当該ＰＣ１００をリブートして、図３に示したデータコレクタモジュールの死活監視を実行することができる。
上記実施例に示した処理を行うことにより、クラウドから遠隔地にある仲介モジュールとデータコレクタモジュールを搭載したＰＣに対して、プロセスが停止する状況になっていてもリブート処理を行い、現地に行かなくても自動復帰することができる。したがって、図７に示す従来手法における監視方法の例を示す概念図のような問題が生じることがなくなる。すなわち、従来の監視手法では、ＰＣ７００の仲介モジュール７０１がデータコレクタモジュール７０２に対して死活監視を行ない、プロセスが停止等の原因で応答がない場合、ネットワークＮで接続されたクラウド７２０側に死亡(Offline)が通知される。その後、クラウド７２０側のアプリケーション７４０からは復帰処理ができないので、保守員が現地に行ってＰＣ７００のリブートまたはＰＣ７００の入れ替えを行なう必要があるが、このような問題を解消することができる。
【００２８】
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC（Application Specific Integrated Circuit）、DSP（digital signal processor）、FPGA（field programmable gate array）や従来の回路モジュール等のデバイスを含むものとする。
【００２９】
なお、情報処理装置１０は、通信機能を備えた装置であれば、画像形成装置に限られない。情報処理装置１０は、例えば、ＰＪ（Projector：プロジェクタ）、ＩＷＢ（Interactive White Board：相互通信が可能な電子式の黒板機能を有する白板）、デジタルサイネージ等の出力装置、ＨＵＤ（Head Up Display）装置、産業機械、撮像装置、集音装置、医療機器、ネットワーク家電、自動車（Connected Car）、ノートＰＣ（Personal Computer）、携帯電話、スマートフォン、タブレット端末、ゲーム機、ＰＤＡ（Personal Digital Assistant）、デジタルカメラ、ウェアラブルＰＣまたはデスクトップＰＣ等であってもよい。
【００３０】
本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化したり、上記実施の形態に開示されている複数の構成要素を適宜組み合わせて実施することができる。
【符号の説明】
【００３１】
１０００      監視システム
１００        ＰＣ（情報処理装置）
１０１        仲介モジュール（判定部）
１０２        データコレクタモジュール（収集部）
１０３        プロセス監視部（監視部）
１０４        システム状態管理部（状態管理部）
１２０        クラウド
１４０        アプリケーション
【先行技術文献】
【特許文献】
【００３２】
【特許文献１】特開２０１７−０７９４６５号公報
【図１】
2020135185.tif 000003
【図２】
2020135185.tif 000004
【図３】
2020135185.tif 000005
【図４】
2020135185.tif 000006
【図５】
2020135185.tif 000007
【図６】
2020135185.tif 000008
【図７】
2020135185.tif 000009