説明

機器管理装置、機器管理システム、機器管理方法、機器管理プログラム、及びそのプログラムを記録した記録媒体

【課題】多くの管理対象機器が応答なし状態であっても、監視時間を延長することなく機器監視処理を行うことができる機器管理装置、機器管理システム、機器管理方法、機器管理プログラム、及びそのプログラムを記録した記録媒体を提供する。
【解決手段】機器管理装置100は、所定のデータ伝送路90を介して接続される複数の機器200から状態情報を含む機器情報を取得し、取得した複数の前記機器情報を基に複数の機器200を管理する装置であって、前記機器情報の取得処理及び/又は管理データ31として保持する機器情報の更新処理を行う情報取得・更新手段Thと、1又は複数の機器200が、応答がなくなってから一定時間経過するまでの監視待機状態であるか否かを判定する機器応答判定手段247と、機器応答判定手段247による判定結果に基づいて、同時に実行させる複数の情報取得・更新手段Thを制御する処理制御手段244と、を有している。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークなどのデータ伝送路を介して接続される1又は複数の機器を管理する機器管理装置、機器管理システムに関し、特に、機器の応答状態に応じて機器監視を制御する技術に関するものである。
【背景技術】
【0002】
ネットワークに接続される1又は複数の画像処理装置(以下、「管理対象機器」と言う。)の管理を効率的に行うため、機器管理装置(機器管理サーバ)により管理対象機器を一元管理するが機器管理システムが知られている。
【0003】
このような機器管理システムにおいて、管理対象機器が多く存在する場合には、機器管理装置と各管理対象機器との間で効率のよいデータ通信を行い、管理対象機器を監視するのかが重要となってくる。
【0004】
そこで、機器管理装置において、管理対象機器とデータ通信を行う複数のスレッドを起動し、短時間での機器監視処理を実現する機器管理システムがある。また、管理対象機器が、24時間常に起動されているとは限らないため、上記複数のスレッドによる機器監視処理では、電源オフなどによりデータ通信時に応答がない場合に、所定のタイムアウト値に従って、管理対象機器とのデータ通信を終了する。
【0005】
例えば、特許文献1には、ARP(Address Resolution Protocol)検索を行い、ネットワーク接続機器からの応答の有無を判断するネットワーク接続機器検出装置が開示されている。また、特許文献2には、マスターエージェントからネットワーク上に未設置のスレイブエージェントに対する不必要なポーリングを省くことにより、スループットの低下を防ぐネットワーク監視システムが開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の機器監視制御では、多くの管理対象機器が応答なし状態となった場合に、機器監視にかかる処理時間が延長する恐れがある。
【0007】
管理対象機器が応答なし状態となった場合に、機器監視処理を行う複数のスレッドは、タイムアウト時間の間、待機状態となる。
【0008】
機器監視処理を行うスレッドは、管理対象機器と機器管理装置との間の通信負荷を考慮して起動数に制限がある。そのため、最大起動数のスレッド全てが待機状態となった場合には、待機状態のスレッドが終了するまで、機器監視処理が一時的に停止することとなる。これでは、例えば、夜間などにおいて、多くの管理対象機器の電源がオフされた状態になった場合に、各管理対象機器からの応答がないことにより、機器監視処理が一時的に停止し、機器監視にかかる処理時間が延長してしまう。
【0009】
本発明は上記従来技術の問題点を鑑み提案されたものであり、その目的とするところは、多くの管理対象機器が応答なし状態であっても、監視時間を延長することなく機器監視処理を行うことができる機器管理装置、機器管理システム、機器管理方法、機器管理プログラム、及びそのプログラムを記録した記録媒体を提供することにある。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明に係る機器管理装置は、所定のデータ伝送路を介して接続される複数の機器から状態情報を含む機器情報を取得し、取得した複数の前記機器情報を基に前記複数の機器を管理する機器管理装置であって、前記機器情報の取得処理及び/又は管理データとして保持する前記機器情報の更新処理を行う情報取得・更新手段と、1又は複数の機器が、応答がなくなってから一定時間経過するまでの監視待機状態であるか否かを判定する機器応答判定手段と、前記機器応答判定手段による判定結果に基づいて、同時に実行させる複数の前記情報取得・更新手段を制御する処理制御手段と、を有している。
【0011】
このような構成によって、本発明に係る機器管理装置は、管理対象機器が最終的に応答なしと判断されるまでの状態を段階的に確認する。機器管理装置は、その確認結果を基に機器監視処理を行うスレッドの起動を制御する。具体的には、機器管理装置は、管理対象機器において、応答がなくなってから一定時間経過(タイムアウト)するまでの監視待機状態が確認された時点で、監視待機状態が確認された管理対象機器を応答待ち対象外とする。機器管理装置は、他の管理対象機器に対して機器監視処理を行う新規スレッドを起動する。つまり、機器管理装置では、タイムアウトによる応答なし状態の最終的な判断を待たずに、応答なしになりそうな状態を確認した時点で、他の管理対象機器に対して機器監視処理を行う新規スレッドを起動する。このように、機器管理装置は、監視時間の延長原因である機器監視処理の待機時間が発生しないように制御を行う。
【0012】
これによって、本発明に係る機器管理装置は、多くの管理対象機器が応答なし状態であっても、監視時間を延長することなく機器監視処理を行うことができる。
【0013】
上記目的を達成するため、本発明に係る機器管理システムは、複数の機器と、前記複数の機器から状態情報を含む機器情報を取得し、取得した複数の前記機器情報を基に前記複数の機器を管理する機器管理装置とが、所定のデータ伝送路を介して接続される機器管理システムであって、前記機器情報の取得処理及び/又は管理データとして保持する前記機器情報の更新処理を行う情報取得・更新手段と、1又は複数の機器が、応答がなくなってから一定時間経過するまでの監視待機状態であるか否かを判定する機器応答判定手段と、前記機器応答判定手段による判定結果に基づいて、同時に実行させる複数の前記情報取得・更新手段を制御する処理制御手段と、を有している。
【0014】
上記目的を達成するため、本発明に係る機器管理方法は、所定のデータ伝送路を介して接続される複数の機器から状態情報を含む機器情報を取得し、取得した複数の前記機器情報を基に前記複数の機器を管理する機器管理装置における機器管理方法であって、1又は複数の機器が、応答がなくなってから一定時間経過するまでの監視待機状態であるか否かを判定する機器応答判定手順と、前記機器応答判定手順による判定結果に基づいて、前記機器情報の取得及び/又は管理データとして保持する前記機器情報の更新を行う複数の情報取得・更新処理を同時に実行するように制御する処理制御手順と、を有している。
【0015】
このような手順によって、本発明に係る機器管理方法は、機器管理装置において、タイムアウトによる応答なし状態の最終的な判断を待たずに、応答なしになりそうな状態を確認した時点で、他の管理対象機器に対して機器監視処理を行う新規スレッドを起動すると言う動作を実現する。
【0016】
これによって、本発明に係る機器管理方法は、多くの管理対象機器が応答なし状態であっても、監視時間を延長することなく機器監視処理を行うことが可能な環境を提供できる。
【発明の効果】
【0017】
本発明によれば、管理対象機器において、応答がなくなってから一定時間経過(タイムアウト)するまでの監視待機状態が確認された時点で、他の管理対象機器に対して機器監視処理を行う新規スレッドを起動することで、多くの管理対象機器が応答なし状態であっても、監視時間を延長することなく機器監視処理が可能な機器管理装置、機器管理システム、機器管理方法、機器管理プログラム、及びそのプログラムを記録した記録媒体を提供することができる。
【図面の簡単な説明】
【0018】
【図1】本発明の第1の実施形態に係る機器管理システムの構成例を示す図である。
【図2】本発明の第1の実施形態に係る機器管理装置のハードウェア構成例を示す図である。
【図3】本発明の第1の実施形態に係る機器管理装置のソフトウェア構成例を示す図である。
【図4】本発明の第1の実施形態に係る機器管理機能の構成例を示す図である。
【図5】本発明の第1の実施形態に係る機器情報のデータ例を示す図である。
【図6】本発明の第1の実施形態に係る制御情報のデータ例を示す図である。
【図7】本発明の第1の実施形態に係る機器監視の処理手順例(応答あり)を示すシーケンス図である。
【図8】本発明の第1の実施形態に係る機器監視の処理手順例(応答なし:その1)を示すシーケンス図である。
【図9】本発明の第1の実施形態に係る機器監視の処理手順例(応答なし:その2)を示すシーケンス図である。
【発明を実施するための形態】
【0019】
以下、本発明の好適な実施の形態(以下、「実施形態」と言う。)について、図面を用いて詳細に説明する。
【0020】
[第1の実施形態]
<システム構成>
本実施形態に係る機器管理システムの構成について説明する。
【0021】
図1は、本実施形態に係る機器管理システム1の構成例を示す図である。図1に示すように、機器管理システム1は、MFP(Multifunction Peripheral)やLP(Laser Printer)といった1又は複数の管理対象機器200、1又は複数のクライアントPC(Personal Computer)300(以下、単に「PC」と言う。)、及び機器管理装置100が、ネットワークなどのデータ伝送路90で相互に接続されている。
【0022】
このようなシステム構成により、機器管理装置100は、当該装置において動作する機器管理機能により管理対象機器200の状態を監視し管理している。また、機器管理装置100は、PC300に対して、管理対象機器200の状態に関する各種情報を提供している。
【0023】
<ハードウェア構成>
次に、上記機器管理装置100のハードウェア構成について説明する。
【0024】
図2は、本実施形態に係る機器管理装置100のハードウェア構成例を示す図である。図2に示すように、機器管理装置100は、入力装置101、表示装置102、ドライブ装置103、RAM(Random Access Memory)104、ROM(Read Only Memory)105、CPU106、インタフェース装置107、及びHDD(Hard Disk Drive)108を含むハードウェアを備え、それぞれがバスで相互に接続されている。
【0025】
入力装置101は、キーボード及びマウスなどを含み、機器管理装置100に各操作信号を入力するのに用いられる。表示装置102は、ディスプレイなどを含み、機器管理装置100による処理結果(例えば「機器の状態情報」)などを表示する。
【0026】
インタフェース装置107は、機器管理装置100をネットワークなどの所定のデータ伝送路90に接続するインタフェースである。よって、機器管理装置100は、インタフェース装置107を介して、管理対象機器200とデータ通信を行うことができる。
【0027】
HDD108は、各種プログラム及びデータを格納している不揮発性の記憶装置である。格納されるプログラム及びデータには、例えば、機器管理装置100全体を制御する情報処理システム(例えば「Windows(登録商標)」や「UNIX(登録商標)」などの基本ソフトウェアであるOS(Operating System))、及び情報処理システム上において各種機能(例えば「機器管理機能」)を提供するアプリケーションなどがある。また、HDD108は、格納している上記プログラム及びデータを、所定のファイルシステム及び/又はDB(Data Base)により管理している。
【0028】
ドライブ装置103は、着脱可能な記録媒体103aとのインタフェースである。これにより、機器管理装置100は、ドライブ装置103を介して、記録媒体103aの読み取り及び/又は書き込みを行うことができる。
【0029】
ROM105は、電源を切っても内部データを保持することができる不揮発性の半導体メモリ(記憶装置)である。ROM105には、機器管理装置100が起動されるときに実行されるBIOS(Basic Input/Output System)、機器管理装置100のシステム設定、及びネットワーク関連設定などのデータが格納されている。
【0030】
RAM104は、上記各種記憶装置から読み出されたプログラム及びデータを一時保持する揮発性の半導体メモリ(記憶装置)である。CPU106は、上記RAM104上に読み出したプログラムを実行することにより、機器管理装置100の全体制御及び各種搭載機能の動作を実現する。
【0031】
このようなハードウェア構成により、機器管理装置100は、例えば、HDD108からRAM104上に読み出したプログラム(機器管理プログラム)をCPU106により実行し、機器管理機能を実現することができる。
【0032】
<ソフトウェア構成>
次に、上記機器管理装置100におけるソフトウェア構成について説明する。
【0033】
図3は、本実施形態に係る機器管理装置100のソフトウェア構成例を示す図である。図3に示すように、機器管理装置100には、httpd(HyperText Transfer Protocol Daemon)21、WebPage生成部22、FrontEnd部23、及び機器管理部24などを含むソフトウェア部品群が搭載(インストール)されている。
【0034】
httpd21は、情報処理システムに常駐するWebサーバ上のプログラムであり、ブラウザからの動作要求を受け付け、その要求に応じてサーバ内に蓄積されたコンテンツを送信する。
【0035】
WebPage生成部22は、httpd21で受け付けた要求を基にブラウザ上に表示させるWebページを生成する。
【0036】
FrontEnd部23は、WebPage生成部22でWebページの生成に必要なデータを後述する機器管理部24から取得し、取得したデータを基にWebページ生成用のデータに加工する。
【0037】
機器管理部24は、機器管理機能を実現するために、管理対象機器200の監視、機器情報の取得、及び取得情報の管理などの各種データ管理、ならびに、要求に応じた検索及び更新などの各種データ操作を行う。
【0038】
つまり、機器管理部24が、機器管理装置100で動作する機器管理機能を実現するソフトウェア部品にあたる。上記httpd21、WebPage生成部22、及びFrontEnd部23などは、PC300に対する情報提供機能を実現するためのソフトウェア部品にあたる。
【0039】
<機器管理機能>
次に、本実施形態に係る機器管理機能について説明する。
【0040】
本実施形態に係る機器管理装置100では、管理対象機器200が最終的に応答なしと判断されるまでの状態を段階的に確認する。機器管理装置100は、その確認結果を基に機器監視処理を行うスレッドの起動を制御する。具体的には、機器管理装置100は、管理対象機器200において、応答がなくなってから一定時間経過(タイムアウト)するまでの監視待機状態が確認された時点で、監視待機状態が確認された管理対象機器200を応答待ち対象外とする。機器管理装置100は、他の管理対象機器200に対して機器監視処理を行う新規スレッドを起動する。機器管理装置100は、このような機器管理機能を有している。
【0041】
本実施形態に係る機器管理機能では、例えば、夜間など、多くの管理対象機器200が応答なし状態となった場合に、機器監視にかかる処理時間の延長を防ぐ。
【0042】
そこで、本実施形態に係る機器管理装置100では、タイムアウトによる応答なし状態の最終的な判断を待たずに、応答なしになりそうな状態を確認した時点で、他の管理対象機器200に対して機器監視処理を行う新規スレッドを起動する。機器管理装置100は、監視時間の延長原因である機器監視処理の待機時間が発生しないように制御を行う。
【0043】
これによって、多くの管理対象機器200が応答なし状態であっても、監視時間を延長することなく機器監視処理が行える。
【0044】
以下に、上記機器管理機能の構成とその動作について説明する。
図4は、本実施形態に係る機器管理機能の構成例を示す図である。図4に示すように、機器管理装置100では、機器情報提供部241、機器情報保持部242、監視タイマ部243、ポーリング制御部244、MIB(Management Information Base)情報取得部245、機器情報更新部246、機器応答判定部247、及び制御情報保持部248などを有する機器管理部24が動作する。
【0045】
上記機器管理機能は、主に、管理対象機器200からMIB情報を取得し、管理データとして保持している1又は複数の管理対象機器200の機器情報を更新する「情報取得・更新機能」、及び管理対象機器200からの情報取得を制御する「情報取得制御機能」に大別される。機器管理機能は、これらの機能動作により管理対象機器200の監視(機器監視処理)を行っている。
【0046】
「情報取得・更新機能」は、上記各機能部のうち、機器情報提供部241、機器情報保持部242、MIB情報取得部245、及び機器情報更新部246により実現される。また、「情報取得制御機能」は、監視タイマ部243、ポーリング制御部244、機器応答判定部247、及び制御情報保持部248により実現される。
【0047】
以下に、「情報取得・更新機能」及び「情報取得制御機能」について順に説明する。
【0048】
《情報取得・更新機能》
MIB情報取得部245は、機器情報更新部246からの情報取得要求に応じて、管理対象機器200からMIB情報を取得する。MIB情報取得部245は、所定のデータ伝送路90により接続される各管理対象機器200から、通信制御部31を介してMIB情報を取得する。
【0049】
MIB情報とは、SNMP(Simple Network Management Protocol)で管理されるネットワーク機器が、機器状態を外部に知らせるために公開する情報である。管理対象機器200では、上記MIB情報をMIB情報保持部32で保持している。
【0050】
MIB情報取得部245は、例えば、管理対象機器200のIPアドレスを基に、SNMPのGetコマンドにより管理対象機器200へMIB情報の取得要求を行う。その結果、管理対象機器200は、RequestコマンドによりMIB情報を応答する。
【0051】
機器情報更新部246は、取得したMIB情報を基に、機器情報保持部242で保持する各管理対象機器200の機器情報を更新する。
【0052】
機器情報保持部242は、例えば、図5に示すような機器情報41を保持している。
【0053】
図5は、本実施形態に係る機器情報41のデータ例を示す図である。図5に示すように、機器情報41は、「IPアドレス」、「モデル名称」、及び「ステータス」などの各情報項目が関連付けられた構成となっている。「IPアドレス」は、管理対象機器200を特定するための機器特定データである。「モデル名称」は、管理対象機器200の機種を特定するための機種特定データである。「ステータス」は、管理対象機器200の状態を表す機器状態データである。
【0054】
例えば、機器情報更新部246は、MIB情報に含まれる機器特定データ及び機種特定データを基に機器情報41を参照し、登録された複数の管理対象機器200〜200の中から、MIB情報を取得した管理対象機器200を特定する。機器情報更新部246は、特定した管理対象機器200の機器状態データを、取得したMIB情報を基に更新する。
【0055】
このようにして更新された機器情報41は、FrontEnd部23が有する機器一覧表示用情報取得部231からの要求に応じて、機器情報提供部241により要求元へ提供される。これにより、機器一覧表示用情報取得部231は、機器一覧表示用の情報を取得する。取得した情報は、FrontEnd部23からWebPage生成部22へと渡され、WebPage生成部22により機器一覧表示用のWebページが生成される。PC300では、例えば、ブラウザを介して上記Webページを閲覧することができる。
【0056】
《情報取得制御機能》
監視タイマ部243は、ポーリング制御部244に対し、一定の時間間隔に従ってポーリング処理の開始を指示することで、機器監視処理の開始タイミングを制御する。
【0057】
管理対象機器200の監視とは、機器状態の変化を検知する処理である。よって、機器監視処理では、最新の機器情報41を基に管理対象機器200の状態変化を検知する。
【0058】
そのため、管理対象機器200を監視するためには、管理対象機器200から周期的にMIB情報を取得し、保持する機器情報41を最新情報に更新する必要がある。そこで、機器管理装置100では、監視タイマ部243から動作開始の指示を受けたポーリング制御部244により、ポーリング処理が開始され、情報取得及び情報更新が行われる。
【0059】
ポーリング制御部244は、監視タイマ部243から動作開始の指示を受けて、情報取得・更新機能として動作するスレッドを起動し、ポーリング処理を開始する。
【0060】
ここで、スレッドについて簡単に説明する。スレッドとは、マルチスレッドに対応したOS上でのソフトウェアの実行単位である。1つのプログラムは、最低1つのスレッドを有する。同じプログラムに属するスレッドは、RAM104上のワークエリアなどのリソースを共有する。また、起動された複数のスレッドは、CPU106を交互に占有することによって見かけ上同時実行できる。つまり並列処理できる。
【0061】
よって、ポーリング制御部244は、監視タイマ部243による動作指示に応じて、複数のスレッドを起動する。なお、ポーリング制御部244により起動するスレッドの数は、管理対象機器200と機器管理装置100との間で通信可能な適正値(以下、「最大スレッド数」と言う。)が予め決められている。
【0062】
ポーリング制御部244は、現在起動中のスレッドの数(以下、「起動スレッド数」と言う。)を管理し、最大スレッド数に基づいて新規スレッドを起動する。このようにして、情報取得・更新機能は、複数のスレッドにより並列実行される。
【0063】
なお、起動スレッド数の管理は、スレッドを起動した際に起動スレッド数を加算し、終了通知を受け付けた際に減算することにより行われる。このように、起動スレッド数は、スレッドの増減に応じて更新される。
【0064】
ポーリング制御部244により起動されたスレッド(以下、便宜上「情報取得・更新スレッド」と言う。)は、管理対象機器200へ情報取得要求を行う前に、機器応答判定部247に対して機器応答の確認要求を行う。
【0065】
機器応答判定部247は、要求に対する管理対象機器200からの応答の有無を判定する。例えば、機器応答判定部247は、情報取得要求を行う前段階で、応答確認のための要求(ダミー要求)行い、管理対象機器200からの応答の有無を判定する。
【0066】
また、機器応答判定部247は、管理対象機器200が最終的に応答なしと判断されるまでの状態を段階的に確認する。通常、管理対象機器200の応答なし状態は、予め設定されたタイムアウト値の経過(一定時間の経過)を基に判断される。具体的には、最初の要求を行ってからタイムアウト値を経過しても応答がなければ応答なし状態と判断される。
【0067】
そこで、機器応答判定部247は、管理対象機器200において、応答がなくなってから一定時間経過(タイムアウト)するまでの監視待機状態(応答なしとなりそうな状態)か否かを判定する。これにより、機器応答判定部247は、管理対象機器200が最終的に応答なしと判断されるまでの状態を段階的に確認する。
【0068】
機器応答判定部247は、以下のような方法で、監視待機状態か否かを判定する。
【0069】
(ダミー要求による判定)
機器応答判定部247は、ダミー要求に対して応答がなければ、管理対象機器200が監視待機状態と判定する。
【0070】
(複数のタイムアウト値による判定)
例えば、2つのタイムアウト値を用意する。1つは、応答なし状態を最終的に判断するための第1のタイムアウト値、もう1つは、第1のタイムアウト値より小さい値(短い時間)の第2のタイムアウト値(仮タイムアウト値)である。
【0071】
このように、タイムアウト値を段階的に設定することで、例えば、通信負荷による応答遅延などを考慮した判定を行うことができる。
【0072】
機器応答判定部247は、ダミー要求を行ってから上記第2のタイムアウト値を経過しても応答がなければ、管理対象機器200が監視待機状態と判定する。
【0073】
このように、機器応答判定部247は、管理対象機器200からの応答の有無だけでなく、応答なし状態を最終的に判断するまでの間に、監視待機状態の管理対象機器200を判定する。
【0074】
機器応答判定部247は、上述した機器応答の確認結果を要求元の情報取得・更新スレッドに応答する。
【0075】
情報取得・更新スレッドは、応答待ちの管理対象機器200の数(以下、「応答待ち機器数」と言う。)により、機器応答の確認状況を管理する。情報取得・更新スレッドは、機器応答の確認要求を行う際に応答待ち機器数を加算する。また、情報取得・更新スレッドは、機器応答の確認結果が「応答あり」又は「監視待機状態(応答なしとなりそうな状態)」の場合に応答待ち機器数を減算する。つまり、応答待ち機器数は、応答待ちの管理対象機器200のうち監視待機状態と判定されていない管理対象機器200の数となる。
【0076】
情報取得・更新スレッドでは、機器応答の確認結果が「監視待機状態」の場合に応答待ち機器数を減算することで、監視待機状態が確認された時点で、監視待機状態が確認された管理対象機器200を応答待ち対象外としている。このように、応答待ち機器数は、機器応答の確認結果に応じて更新される。
【0077】
また、情報取得・更新スレッドは、機器応答の確認結果(応答有無の結果)に基づいて、情報取得・更新機能の実行を制御する。情報取得・更新スレッドは、機器応答の確認結果が「応答あり」の場合のみ、MIB情報取得部245による情報取得及び機器情報更新部246による情報更新を実行する。また、情報取得・更新スレッドは、機器応答の確認結果が「応答なし」の場合、機器情報更新部246による情報更新のみ実行する。
【0078】
情報取得・更新スレッドは、情報更新後、ポーリング制御部244に対してスレッドの終了を通知する。
【0079】
また、監視タイマ部243は、ポーリング制御部244に対し、ポーリング処理の開始を指示した後、応答待ち機器数の変化を確認している。上述したように、応答待ち機器数は、機器応答判定部247による機器応答の確認結果を基に情報取得・更新スレッドにより更新される。
【0080】
監視タイマ部243は、応答待ち機器数の更新が確認されると、ポーリング制御部244に対して、新規スレッドの起動可否の判定要求を行う。つまり、監視タイマ部243は、応答待ち機器数の変化から、監視待機状態が確認され応答待ち対象外となった管理対象機器200が存在するか否かを確認する。
【0081】
ポーリング制御部244は、上記最大スレッド数、上記起動スレッド数、及び上記応答待ち機器数を基に、例えば、以下の条件式(スレッドの起動条件)に従って新規スレッドが起動可能か否かを判定する。
【0082】
(条件式)
[起動スレッド数] < [最大スレッド数] + [応答待ち機器数]
上記条件式の場合には、起動スレッド数が、最大スレッド数と応答待ち機器数との総和より小さい間は、新規スレッドが起動可能と判定される。なお、上記条件式による起動スレッド数には、機器管理に係るサービスにより提供可能な上限値が設けられている。この上限値は、応答待ち機器を考慮した最大の起動スレッド数であり、機器管理装置100のハードウェア性能などを含むリソース資源を考慮した値である。
【0083】
これにより、ポーリング制御部244は、タイムアウトによる応答なし状態の最終的な判断を待たずに、応答なしになりそうな状態を確認した時点で、他の管理対象機器200に対して機器監視処理を行う新規スレッドを起動する。また、ポーリング制御部244は、上記条件式を用いた新規スレッドの起動制御により、起動条件を満たしている間、並列処理させる(同時に実行させる)スレッドの数を増加することができる。
【0084】
なお、上記第1のタイムアウト値、上記第2のタイムアウト値、上記最大スレッド数、上記起動スレッド数、及び上記応答待ち機器数などを含む制御データは、例えば、図6に示すように、制御情報保持部248により保持されている。
【0085】
図6は、本実施形態に係る制御情報42のデータ例を示す図である。図6に示すように、制御情報42は、「設定項目」及び「制御値」などの各情報項目が関連付けられた構成となっている。「設定項目」は、制御値として設定可能な項目を表す項目識別データであり、「制御値」は、各項目の実データである。
【0086】
例えば、設定項目「仮タイムアウト値」、「タイムアウト値」、及び「最大スレッド数」それぞれに対応する実データは、デフォルト値が設定されており、後に、所定のツール又はコマンドを用いて設定変更ができる。一方、設定項目「起動スレッド数」及び「応答待ち機器数」それぞれに対応する実データは、はじめに初期値'0'が設定されおり、処理が実行されると動的に更新される。
【0087】
このような制御情報42は、上述したように、監視タイマ部243及びポーリング部244(起動スレッドを含む)により参照又は更新される。
【0088】
なお、上記機器情報保持部242及び上記制御情報保持部248は、例えば、機器管理装置100が備えるHDD108などの不揮発性の記憶装置が有する機能である。
【0089】
このように、本実施形態に係る機器管理機能は、上記各機能部が連係動作することにより実現される。
【0090】
次に、機器管理機能の詳細な動作(機能部群の連係動作)について、処理手順を示すフローチャートを用いて説明する。
【0091】
機器管理機能は、機器管理装置100に搭載(インストール)される機器管理プログラム(ソフトウェア部品)が、CPU106により、格納先(例えば「ROM」)からRAM104上に読み出され、以下の処理が実行されることで実現される。
【0092】
以下には、機器監視処理において、管理対象機器200から応答がある場合(A)及び応答がない場合(B)の2つのケースについて順に説明する。
【0093】
(A)応答ありの場合
図7は、本実施形態に係る機器監視の処理手順例(応答あり)を示すシーケンス図である。図7に示すように、機器管理装置100では、まず、監視タイマ部243が、一定時間待機後(ステップS101)、ポーリング制御部244に対し、ポーリング処理の開始を指示する(ステップS102)。
【0094】
ポーリング制御部244は、情報取得・更新スレッドThを起動(ステップS201)、制御情報保持部248で保持する起動スレッド数を加算(+1)する(ステップS202)。
【0095】
起動された情報取得・更新スレッドThは、機器応答判定部247に対して機器応答の確認要求を行い(ステップS203)、制御情報保持部248で保持する応答待ち機器数を加算(+1)する(ステップS204)。
【0096】
機器応答判定部247は、要求に応じて、管理対象機器200に対して機器応答の確認を行う(ステップS205)。このとき、機器応答判定部247は、管理対象機器200に対してダミー要求を発行することで、機器応答を確認する。
【0097】
機器応答判定部247は、要求に対して管理対象機器200からの応答の有無を判定する(ステップS206)。
【0098】
機器応答判定部247は、管理対象機器200の機器応答が確認されると、ステップS206において「応答あり」と判定された判定結果を、確認要求元の情報取得・更新スレッドThに渡す(ステップS207)。
【0099】
その結果、情報取得・更新スレッドThは、応答待ち機器数を減算(―1)する(ステップS208)。
【0100】
続いて、情報取得・更新スレッドThは、上記判定結果「応答あり」を基に、機器情報更新部246に対して機器情報の更新要求を行う(ステップS209)。
【0101】
機器情報更新部246は、要求に応じて、MIB情報取得部245に対し、機器情報の取得要求を行う(ステップS210)。
【0102】
MIB情報取得部245は、管理対象機器200からMIB情報を取得し(ステップS211)、取得したMIB情報を、取得要求元の機器情報更新部246に渡す(ステップS212)。
【0103】
これにより、機器情報更新部246は、受け取ったMIB情報に基づいて、機器情報保持部242で保持する機器情報を最新情報に更新し(ステップS213)、更新完了を、更新要求元の情報取得・更新スレッドThに通知する(ステップS214)。
【0104】
情報取得・更新スレッドThは、更新完了通知を受けて、ポーリング制御部244にスレッド終了を通知し、情報取得・更新機能の動作を終了する(ステップS215)。
【0105】
ポーリング制御部244は、スレッド終了通知を受けて、起動スレッド数を減算(―1)する(ステップS216)。
【0106】
また、監視タイマ部243では、ポーリング処理の開始を指示した後、定期的に制御情報保持部248にアクセスし(ステップS301)、応答待ち機器数が更新されたか否かを確認している(ステップS302)。つまり、監視タイマ部243は、情報取得・更新スレッドThにより更新される応答待ち機器数の変化を監視している。
【0107】
監視タイマ部243は、応答待ち機器数の更新が確認されると、ポーリング制御部244に対してスレッドの起動可否の判定要求を行う(ステップS303)。
【0108】
ポーリング制御部244は、最大スレッド数、起動スレッド数、及び応答待ち機器数を基に、所定の条件式に従って新規スレッドが起動可能か否かを判定する。(ステップS304)。
【0109】
これにより、ポーリング制御部244は、所定の条件が満たされた場合に、他の管理対象機器200に対して機器監視処理を行う新規スレッドを起動する。なお、上記判定により起動される新規スレッドThの数は、予め設けておいた機器管理に係るサービスにより提供可能な上限(応答待ち機器を考慮した最大の起動スレッド数)までである。
【0110】
(B)応答なしの場合
図8は、本実施形態に係る機器監視の処理手順例(応答なし:その1)を示すシーケンス図である。図8に示すように、機器管理装置100では、まず、監視タイマ部243が、一定時間待機後(ステップS401)、ポーリング制御部244に対し、ポーリング処理の開始を指示する(ステップS402)。
【0111】
ポーリング制御部244は、情報取得・更新スレッドThを起動(ステップS501)、制御情報保持部248で保持する起動スレッド数を加算(+1)する(ステップS502)。
【0112】
起動された情報取得・更新スレッドThは、機器応答判定部247に対して機器応答の確認要求を行い(ステップS503)、制御情報保持部248で保持する応答待ち機器数を加算(+1)する(ステップS504)。
【0113】
機器応答判定部247は、要求に応じて、管理対象機器200に対して機器応答の確認を行う(ステップS505)。このとき、機器応答判定部247は、管理対象機器200に対してダミー要求を発行することで、機器応答を確認する。
【0114】
機器応答判定部247は、要求に対して管理対象機器200からの応答の有無を判定する(ステップS506)。
【0115】
機器応答判定部247は、管理対象機器200の機器応答が確認されなければ、ステップS506において「監視待機状態(応答なしとなりそうな状態)」と判定された判定結果を、確認要求元の情報取得・更新スレッドThに渡す(ステップS507)。
【0116】
その結果、情報取得・更新スレッドThは、応答待ち機器数を減算(―1)する(ステップS508)。
【0117】
また、機器応答判定部247は、一定時間経過(タイムアウト)するまで、管理対象機器200からの応答の有無を判定する(ステップS509)。このとき、機器応答判定部247は、制御情報保持部248で保持する第1のタイムアウト値(最終判断を行うためのタイムアウト値)を参照し、第1のタイムアウト値に従った一定時間の間(第1のタイムアウト値を経過するまで)、応答の有無を判定する。
【0118】
その結果、機器応答判定部247は、一定時間を経過しても、管理対象機器200の機器応答が確認されなければ、ステップS509において「応答なし」と判定された判定結果を、確認要求元の情報取得・更新スレッドThに渡す(ステップS510)。このようにして、最終的な応答なし状態が判断される。
【0119】
情報取得・更新スレッドThは、上記判定結果「応答なし」を基に、機器情報更新部246に対して機器情報の更新要求を行う(ステップS511)。
【0120】
機器情報更新部246は、要求に応じて、機器情報保持部242で保持する機器情報を最新情報(ステータス:応答なし)に更新し(ステップS512)、更新完了を、更新要求元の情報取得・更新スレッドThに通知する(ステップS513)。このように、最終的な応答なし状態が判断されると、管理対象機器200への情報取得を行わずに、機器状態データを「応答なし」へと変更し情報更新のみを行う。
【0121】
情報取得・更新スレッドThは、更新完了通知を受けて、ポーリング制御部244にスレッド終了を通知し、情報取得・更新機能の動作を終了する(ステップS514)。
【0122】
ポーリング制御部244は、スレッド終了通知を受けて、起動スレッド数を減算(―1)する(ステップS515)。
【0123】
また、監視タイマ部243では、ポーリング処理の開始を指示した後、定期的に制御情報保持部248にアクセスし(ステップS601)、応答待ち機器数が更新されたか否かを確認している(ステップS602)。つまり、監視タイマ部243は、情報取得・更新スレッドThにより更新される応答待ち機器数の変化を監視している。
【0124】
監視タイマ部243は、応答待ち機器数の更新が確認されると、ポーリング制御部244に対してスレッドの起動可否の判定要求を行う(ステップS603)。
【0125】
ポーリング制御部244は、最大スレッド数、起動スレッド数、及び応答待ち機器数を基に、所定の条件式に従って新規スレッドが起動可能か否かを判定する。(ステップS604)。
【0126】
これにより、ポーリング制御部244は、所定の条件が満たされた場合に、他の管理対象機器200に対して機器監視処理を行う新規スレッドを起動する。
【0127】
以上のように、機器管理装置100では、一定の時間間隔で、複数のスレッド(情報取得・更新スレッドTh)を起動し、複数の管理対象機器200に対して機器監視処理が並列して行われる。また、機器管理装置100では、スレッドの起動と終了を管理対象機器200の数だけ繰り返す。
【0128】
従来では、管理対象機器200に対して情報取得要求を行った後に、タイムアウトにより最終的に応答なし状態が判断され、起動中のスレッドが終了すると、新規スレッドが起動される。これにより、管理対象機器200の応答なし状態による機器監視処理の待機時間(新規スレッドが起動されるまでの待ち時間)が発生する。
【0129】
そこで、機器管理装置100では、機器監視処理の待機時間を防ぐため、起動したスレッドのスレッド終了通知を待たずに、ダミー要求による機器応答が確認された時点で、スレッド起動条件に従って新規スレッドを起動するか否かを決定する。
【0130】
図9は、本実施形態に係る機器監視の処理手順例(応答なし:その2)を示すシーケンス図である。図8に示した処理手順との違いは、2つのタイムアウト値を用いて機器応答の判定を行っている点である。よって、以下の説明では、上記相違点に係る処理(ステップS803からステップS814)についてのみ説明する。
【0131】
図9に示すように、起動された情報取得・更新スレッドThは、機器応答判定部247に対して機器応答の確認要求を行い(ステップS803)、制御情報保持部248で保持する応答待ち機器数を加算(+1)する(ステップS804)。
【0132】
機器応答判定部247は、要求に応じて、管理対象機器200に対して機器応答の確認を行う(ステップS805)。このとき、機器応答判定部247は、管理対象機器200に対してダミー要求を発行することで、機器応答を確認する。
【0133】
機器応答判定部247は、仮タイムアウト値を経過するまでの一定時間の間、要求に対して管理対象機器200からの応答の有無を判定する(ステップS806)。このとき、機器応答判定部247は、制御情報保持部248で保持する第2のタイムアウト値を参照し、第2のタイムアウト値(仮タイムアウト値)に従った一定時間の間、応答の有無を判定する。
【0134】
機器応答判定部247は、一定時間を経過しても、管理対象機器200の機器応答が確認されなければ、ステップS806において「監視待機状態(応答なしとなりそうな状態)」と判定された判定結果を、確認要求元の情報取得・更新スレッドThに渡す(ステップS807)。
【0135】
その結果、情報取得・更新スレッドThは、応答待ち機器数を減算(―1)する(ステップS808)。
【0136】
また、機器応答判定部247は、第1のタイムアウト値を経過するまでの一定時間の間、管理対象機器200からの応答の有無を判定する(ステップS809)。このとき、機器応答判定部247は、制御情報保持部248で保持する第1のタイムアウト値を参照し、第1のタイムアウト値(最終判断するためのタイムアウト値)に従った一定時間の間、応答の有無を判定する。
【0137】
その結果、機器応答判定部247は、一定時間を経過しても、管理対象機器200の機器応答が確認されなければ、ステップS809において「応答なし」と判定された判定結果を、確認要求元の情報取得・更新スレッドThに渡す(ステップS810)。このようにして、最終的な応答なし状態が判断される。
【0138】
情報取得・更新スレッドThは、上記判定結果「応答なし」を基に、機器情報更新部246に対して機器情報の更新要求を行う(ステップS811)。
【0139】
機器情報更新部246は、要求に応じて、機器情報保持部242で保持する機器情報を最新情報(ステータス:応答なし)に更新し(ステップS812)、更新完了を、更新要求元の情報取得・更新スレッドThに通知する(ステップS813)。このように、最終的な応答なし状態が判断されると、管理対象機器200への情報取得を行わずに、機器状態データを「応答なし」へと変更し情報更新のみを行う。
【0140】
情報取得・更新スレッドThは、更新完了通知を受けて、ポーリング制御部244にスレッド終了を通知し、情報取得・更新機能の動作を終了する(ステップS814)。
【0141】
以上のように、機器管理装置100では、機器応答の確認において、単にダミー要求に対する応答の有無を判定するのではなく、その中でも、応答なし状態を最終的に判断するための時間より短い時間で、管理対象機器200から応答を待ち受ける。これにより、通信負荷などによる応答遅延が発生した場合でも機器応答を段階的に確認できる。
【0142】
<まとめ>
以上のように、本実施形態に係る機器管理装置100によれば、タイムアウトによる応答なし状態の最終的な判断を待たずに、応答がなくなってから一定時間経過(タイムアウト)するまでの監視待機状態(応答なしとなりそうな状態)を確認した時点で、他の管理対象機器200に対して機器監視処理を行う新規スレッドを起動する。機器管理装置100は、監視時間の延長原因である機器監視処理の待機時間が発生しないように制御を行う。
【0143】
これによって、機器管理装置100は、夜間における電源オフなど、多くの管理対象機器200が応答なし状態であっても、監視時間を延長することなく機器監視処理を行うことができる。
【0144】
ここまで、上記実施形態の説明を行ってきたが、上記実施形態に係る機器管理装置100が有する「機器管理機能」は、図を用いて説明を行った各処理手順を、動作環境(プラットフォーム)にあったプログラミング言語でコード化したプログラムが、CPU106により実行され実現される。
【0145】
上記プログラムは、コンピュータが読み取り可能な記録媒体103aに格納することができる。記録媒体103aには、例えば、フロッピー(登録商標)ディスク、CD(Compact Disk)、及びDVD(Digital Versatile Disk)、ならびにSDメモリカード(SD Memory Card)及びUSB(Universal Serial Bus)メモリなどがある。
【0146】
よって、上記プログラムは、記録媒体103aを読み取り可能なドライブ装置103や外部記憶I/F(非図示)などを介して機器管理装置100にインストールすることができる。また、機器管理装置100は、インタフェース装置107を備えていることから、インターネットなどの電気通信回線を用いて上記プログラムをダウンロードし、インストールすることもできる。
【0147】
また、上記実施形態では、機器情報41及び制御情報42を、機器管理装置100が備える記憶装置(例えば「HDD」)に保持する構成(機器情報保持部242及び制御情報保持部248を有する構成)について説明を行ったが、この限りでない。例えば、機器管理装置100が外部記憶I/F装置(非図示)を備えていれば、上記SDメモリカード及び上記USBメモリなどを含む記録媒体103aが保持する構成であってもよい。さらに、機器管理装置100が備えるインタフェース装置107を介して、所定のデータ伝送路90により接続される外部装置が保持する構成であってもよい。なお、機器情報41及び制御情報42を外部に保持する場合には、機器管理部24が、各情報の格納先を指定可能であることが前提となる。
【0148】
最後に、上記実施形態に挙げた形状や構成に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【0149】
1 機器管理システム
21 httpd
22 WebPage生成部
23 FrontEnd部
231 機器一覧表示用情報取得部
24 機器管理部
241 機器情報提供部
242 機器情報保持部
243 監視タイマ部
244 ポーリング制御部
245 MIB情報取得部
246 機器情報更新部
247 機器応答判定部
248 制御情報保持部
31 通信制御部
32 MIB情報保持部
41 機器情報
42 制御情報
90 データ伝送路
100 機器管理装置
101 入力装置
102 表示装置
103 ドライブ装置(a:記録媒体)
104 RAM(揮発性の半導体メモリ)
105 ROM(不揮発性の半導体メモリ)
106 CPU(中央処理装置)
107 インタフェース装置(NIC:Network I/F Card)
108 HDD(不揮発性の記憶装置)
200 管理対象機器(画像処理装置)
300 クライアントPC(情報処理装置)
【先行技術文献】
【特許文献】
【0150】
【特許文献1】特開2004−247866号公報
【特許文献2】特開2008−125009号公報

【特許請求の範囲】
【請求項1】
所定のデータ伝送路を介して接続される複数の機器から状態情報を含む機器情報を取得し、取得した複数の前記機器情報を基に前記複数の機器を管理する機器管理装置であって、
前記機器情報の取得処理及び/又は管理データとして保持する前記機器情報の更新処理を行う情報取得・更新手段と、
1又は複数の機器が、応答がなくなってから一定時間経過するまでの監視待機状態であるか否かを判定する機器応答判定手段と、
前記機器応答判定手段による判定結果に基づいて、同時に実行させる複数の前記情報取得・更新手段を制御する処理制御手段と、を有することを特徴とする機器管理装置。
【請求項2】
前記処理制御手段は、
前記機器応答判定手段により、前記監視待機状態であると判定された場合に、
同時に実行させる前記情報取得・更新手段の数を増加し、前記情報取得・更新手段を実行することを特徴とする請求項1に記載の機器管理装置。
【請求項3】
前記処理制御手段は、
同時に実行可能な前記情報取得・更新手段の最大数に、応答待ちの状態となっている機器のうち前記監視待機状態と判定されていない機器の数を加算し、同時に実行させる前記情報取得・更新手段の数を増加することを特徴とする請求項2に記載の機器管理装置。
【請求項4】
前記処理制御手段は、
所定の条件に従って、前記情報取得・更新手段の実行可否を判定し、
判定結果に基づいて、前記情報取得・更新手段を実行することを特徴とする請求項1ないし3のいずれか一項に記載の機器管理装置。
【請求項5】
前記処理制御手段は、
現在実行中の前記情報取得・更新手段の数が、同時に実行可能な前記情報取得・更新手段の最大数に、応答待ちの状態となっている機器のうち前記監視待機状態と判定されていない機器の数を加算した値より小さい場合に、前記情報取得・更新手段が実行できると判定することを特徴とする請求項4に記載の機器管理装置。
【請求項6】
前記機器応答判定手段は、
前記情報取得・更新手段の実行による前記機器情報の取得処理及び/又は前記機器情報の更新処理が行われる前に、
前記管理対象機器に対して、機器応答を確認するための要求を発行し、要求に対する応答の有無に基づいて、前記監視待機状態であるか否かを判定することを特徴とする請求項1ないし5のいずれか一項に記載の機器管理装置。
【請求項7】
前記機器応答判定手段は、
前記管理対象機器に対して、機器応答を確認するための要求を発行し、前記一定時間であるタイムアウト値より短い時間経過した時点での要求に対する応答の有無に基づいて、前記監視待機状態であるか否かを判定することを特徴とする請求項6に記載の機器管理装置
【請求項8】
複数の機器と、前記複数の機器から状態情報を含む機器情報を取得し、取得した複数の前記機器情報を基に前記複数の機器を管理する機器管理装置とが、所定のデータ伝送路を介して接続される機器管理システムであって、
前記機器情報の取得処理及び/又は管理データとして保持する前記機器情報の更新処理を行う情報取得・更新手段と、
前記機器が、応答がなくなってから一定時間経過するまでの監視待機状態であるか否かを判定する機器応答判定手段と、
前記機器応答判定手段による判定結果に基づいて、同時に実行させる複数の前記情報取得・更新手段を制御する処理制御手段と、を有することを特徴とする機器管理システム。
【請求項9】
所定のデータ伝送路を介して接続される複数の機器から状態情報を含む機器情報を取得し、取得した複数の前記機器情報を基に前記複数の機器を管理する機器管理装置における機器管理方法であって、
1又は複数の機器が、応答がなくなってから一定時間経過するまでの監視待機状態であるか否かを判定する機器応答判定手順と、
前記機器応答判定手順による判定結果に基づいて、前記機器情報の取得及び/又は管理データとして保持する前記機器情報の更新を行う複数の情報取得・更新処理を同時に実行するように制御する処理制御手順と、を有することを特徴とする機器管理方法。
【請求項10】
所定のデータ伝送路を介して接続される複数の機器から状態情報を含む機器情報を取得し、取得した複数の前記機器情報を基に前記複数の機器を管理する機器管理装置における機器管理プログラムであって、
コンピュータを、
前記機器情報の取得処理及び/又は管理データとして保持する前記機器情報の更新処理を行う情報取得・更新手段と、
1又は複数の機器が、応答がなくなってから一定時間経過するまでの監視待機状態であるか否かを判定する機器応答判定手段と、
前記機器応答判定手段による判定結果に基づいて、同時に実行させる複数の前記情報取得・更新手段を制御する処理制御手段として機能させる機器管理プログラム。
【請求項11】
請求項10に記載のプログラムを記憶した、コンピュータが読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2010−211523(P2010−211523A)
【公開日】平成22年9月24日(2010.9.24)
【国際特許分類】
【出願番号】特願2009−57013(P2009−57013)
【出願日】平成21年3月10日(2009.3.10)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】