(57)【要約】【課題】様々な種類の機器が存在する環境において、各機器の情報を取得し、管理する。【解決手段】少なくとも１つの機器２に接続される機器情報管理装置１００であって、機器２の機種毎に機器情報を取得するための動作が設定された動作定義ファイル１０４と、通信プロトコル毎に設けられた複数のドライバ２０１と、機器２の機種を判定する機種判定手段１０２と、判定した機種に対応する動作定義ファイル１０４を選択し、選択した動作定義ファイル１０４の動作に従って、機器２が実装する通信プロトコルのドライバを用いて、機器２から機器情報を取得し、蓄積部１０５に記憶する取得手段１０３と、を備える。【選択図】図１
2015026154.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの機器に接続される機器情報管理装置であって、
前記機器の機種毎に機器情報を取得するための動作が設定された動作定義ファイルと、
通信プロトコル毎に設けられた複数のドライバと、
前記機器の機種を判定する機種判定手段と、
前記判定した機種に対応する動作定義ファイルを選択し、選択した動作定義ファイルの動作に従って、前記機器が実装する通信プロトコルのドライバを用いて、前記機器から機器情報を取得し、蓄積部に記憶する取得手段と、を備えること
を特徴とする機器情報管理装置。
【請求項２】
請求項１記載の機器情報管理装置であって、
前記動作定義ファイルには、前記機器のバージョンを取得するための動作と、バージョン毎の機器情報を取得するための動作とが設定されていること
を特徴とする機器情報管理装置。
【請求項３】
少なくとも１つの機器に接続される機器監視システムであって、
前記機器の機種毎に機器情報を取得するための動作が設定された動作定義ファイルと、
通信プロトコル毎に設けられた複数のドライバと、
前記機器の機種を判定する機種判定手段と、
前記判定した機種に対応する動作定義ファイルを選択し、選択した動作定義ファイルの動作に従って、前記機器が実装する通信プロトコルのドライバを用いて、前記機器から機器情報を取得し、蓄積手段に記憶する取得手段と、
前記蓄積手段に記憶された機器情報を解析し、前記機器の状態を検出する解析手段と、
異常が検出された場合、外部装置に通知する通知手段と、備えること
を特徴とする機器監視システム。
【請求項４】
請求項３記載の機器監視システムであって、
前記動作定義ファイルには、前記機器のバージョンを取得するための動作と、バージョン毎の機器情報を取得するための動作とが設定されていること
を特徴とする機器監視システム。
【請求項５】
少なくとも１つの機器に接続される機器情報管理装置が行う機器情報管理方法であって、
前記機器管理装置は、
前記機器の機種毎に機器情報を取得するための動作が設定された動作定義ファイルと、
通信プロトコル毎に設けられた複数のドライバと、を備え、
前記機器の機種を判定する機種判定ステップと、
前記判定した機種に対応する動作定義ファイルを選択する選択ステップと、
前記選択した動作定義ファイルの動作に従って、前記機器が実装する通信プロトコルのドライバを用いて、前記機器から機器情報を取得し、蓄積部に記憶する取得ステップと、を行うこと
を特徴とする機器情報管理方法。
【請求項６】
少なくとも１つの機器に接続される機器監視システムが行う機器監視方法であって、
前記機器監視システムは、
前記機器の機種毎に機器情報を取得するための動作が設定された動作定義ファイルと、
通信プロトコル毎に設けられた複数のドライバと、を備え、
前記機器の機種を判定する機種判定ステップと、
前記判定した機種に対応する動作定義ファイルを選択する選択ステップと、
前記選択した動作定義ファイルの動作に従って、前記機器が実装する通信プロトコルのドライバを用いて、前記機器から機器情報を取得し、蓄積部に記憶する取得ステップと、
前記蓄積部に記憶された機器情報を解析し、前記機器の状態を検出する解析手段と、
異常が検出された場合、外部装置に通知する通知ステップと、行うこと
を特徴とする機器監視方法。
【請求項７】
請求項１または２記載の機器情報管理装置としてコンピュータを機能させるための機器情報管理プログラム。
【請求項８】
請求項３または４記載の機器監視システムとしてコンピュータを機能させるための機器監視プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器を監視するために、機器から機器情報を取得する技術に関する。
【背景技術】
【０００２】
近年、ITシステムの高度化が進み、PCに限らず、様々な機器においてユーザーがネットワークインタフェースを介してサービスを利用できる環境が提供されている。このようなネットワークに接続された機器の監視については、例えば、SNMP（Simple Network Management Protocol）などの高度なプロトコルを用いて機器から取得した情報を用いる方法や、メーカ毎または製品毎に各々独自の方法で行われている。また、特許文献１には、利用者端末から情報を取得する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2009-223754号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
機器の多様化が進むオフィス等の環境では、ルーター、複合機等のネットワークに接続される様々な機器が存在する。このような複数の種類の機器が存在する環境においては、各種機器の情報を一元的に管理し、定期的に機器の監視を行うことが求められている。
【０００５】
しかしながら、SNMPを用いて機器から情報を取得する方法では、機器側にSNMPが実装されていることが前提であり、SNMPに対応していない機器は対象外となり、多様な機器を一元的に管理することはできない。なお、SNMPなどの高度なプロトコルを実装していない機器については、その監視が死活監視レベルに限定されてしまう。
【０００６】
また、特許文献１では、対象機器が利用者端末（PC）に限定され、複数の種類の機器に対して情報の取得を行うことは考慮されていない。
【０００７】
本発明は、上記の事情に鑑みなされたもので、本発明の目的は、様々な種類の機器が存在する環境において、各機器の情報を取得し、管理する技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記の課題を解決するため、本発明は、少なくとも１つの機器に接続される機器情報管理装置であって、前記機器の機種毎に機器情報を取得するための動作が設定された動作定義ファイルと、通信プロトコル毎に設けられた複数のドライバと、前記機器の機種を判定する機種判定手段と、前記判定した機種に対応する動作定義ファイルを選択し、選択した動作定義ファイルの動作に従って、前記機器が実装する通信プロトコルのドライバを用いて、前記機器から機器情報を取得し、蓄積部に記憶する取得手段と、を備える。
【０００９】
上記機器情報管理装置において、前記動作定義ファイルには、前記機器のバージョンを取得するための動作と、バージョン毎の機器情報を取得するための動作とが設定されていることとしてもよい。
【００１０】
また、本発明は、少なくとも１つの機器に接続される機器監視システムであって、前記機器の機種毎に機器情報を取得するための動作が設定された動作定義ファイルと、通信プロトコル毎に設けられた複数のドライバと、前記機器の機種を判定する機種判定手段と、前記判定した機種に対応する動作定義ファイルを選択し、選択した動作定義ファイルの動作に従って、前記機器が実装する通信プロトコルのドライバを用いて、前記機器から機器情報を取得し、蓄積手段に記憶する取得手段と、前記蓄積手段に記憶された機器情報を解析し、前記機器の状態を検出する解析手段と、異常が検出された場合、外部装置に通知する通知手段と、備える。
【００１１】
上記機器監視システムにおいて、前記動作定義ファイルには、前記機器のバージョンを取得するための動作と、バージョン毎の機器情報を取得するための動作とが設定されていることとしてもよい。
【００１２】
また、本発明は、少なくとも１つの機器に接続される機器情報管理装置が行う機器情報管理方法であって、前記機器管理装置は、前記機器の機種毎に機器情報を取得するための動作が設定された動作定義ファイルと、通信プロトコル毎に設けられた複数のドライバと、を備え、前記機器の機種を判定する機種判定ステップと、前記判定した機種に対応する動作定義ファイルを選択する選択ステップと、前記選択した動作定義ファイルの動作に従って、前記機器が実装する通信プロトコルのドライバを用いて、前記機器から機器情報を取得し、蓄積部に記憶する取得ステップと、を行う。
【００１３】
また、本発明は、少なくとも１つの機器に接続される機器監視システムが行う機器監視方法であって、前記機器監視システムは、前記機器の機種毎に機器情報を取得するための動作が設定された動作定義ファイルと、通信プロトコル毎に設けられた複数のドライバと、を備え、前記機器の機種を判定する機種判定ステップと、前記判定した機種に対応する動作定義ファイルを選択する選択ステップと、前記選択した動作定義ファイルの動作に従って、前記機器が実装する通信プロトコルのドライバを用いて、前記機器から機器情報を取得し、蓄積部に記憶する取得ステップと、前記蓄積部に記憶された機器情報を解析し、前記機器の状態を検出する解析手段と、異常が検出された場合、外部装置に通知する通知ステップと、行う。
【００１４】
また、本発明は、上記機器情報管理装置としてコンピュータを機能させるための機器情報管理プログラムである。
【００１５】
また、本発明は、上記機器監視システムとしてコンピュータを機能させるための機器監視プログラムである。
【発明の効果】
【００１６】
本発明によれば、様々な種類の機器が存在する環境において、各機器の情報を取得し、管理する技術を提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施の形態における機器監視システムの全体構成図である。
【図２】ドライバ部の構成を示す図である。
【図３】動作定義ファイルの一例を示す図である。
【図４】動作定義ファイルの機器情報を取得するシナリオの記述例を示す図である。
【図５】機器情報取得処理を示すフローチャートである。
【図６】ログイン処理を示すフローチャートである。
【図７】機器情報蓄積部１０５に記憶される機器情報を説明するための説明図である。
【図８】監視処理を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態を、図面を用いて説明する。
【００１９】
図１は、本発明の一実施の形態における機器監視システム１の構成を示すブロック図である。機器監視システム１は、ネットワークを介して接続された少なくとも１つの機器２から情報を取得し、取得した情報を用いて各機器２の状態を監視する。
【００２０】
機器監視システム１の監視対象の機器２としては、例えば、ルーター、複合機（コピー機、プリンター、イメージスキャナ、ファクシミリなどが統合された機器）、ビジネスホン等のネットワークに接続可能な様々な種類・機種の機器が考えられる。なお、上記の機器に限定されるものではなく、ネットワークに接続可能な機器であれば、いずの機器も対象とすることができる。
【００２１】
本実施形態の機器監視システム１は、機器情報管理サブシステム１００（機器情報管理装置）と、機器監視サブシステム１１０（機器監視装置）とを有する。機器情報管理サブシステム１００は、ドライバ部１０１と、機種判定部１０２と、機器情報管理部１０３と、複数の動作定義ファイル１０４と、機器情報蓄積部１０５とを有する。
【００２２】
ドライバ部１０１は、各種の機器２に対しネットワークインタフェースを介して接続し、機器情報管理部１０３の制御に従って、機器情報の取得を行う。機種判定部１０２は、ネットワークに接続された各機器２の種別を、当該機器２の発する通信情報に基づいて特定・判別する。動作定義ファイル１０４には、機種毎に機器情報を取得するための動作（シナリオ、制御情報）が設定されている。
【００２３】
機器情報管理部１０３（取得部）は、複数の機種の機器２の制御における差異を共通化・吸収する処理を行うとともに、機器２の個別の操作をユーザーに提供する。具体的には、機器情報管理部１０３は、機種判定部１０２が判定した機器２の機種に対応する動作定義ファイル１０４を選択し、選択した動作定義ファイル１０４の動作に従って、機器２が実装する通信プロトコルのドライバ部１０１を用いて、機器２から機器情報を取得し、機器情報蓄積部１０５に記憶する。
【００２４】
また、機器情報管理部１０３は、当該機器監視システム１を操作するユーザー（システム管理者など）が使用するユーザー端末３向けに、WEBブラウザベースのユーザインタフェースを提供する機能を有する。ユーザーは、機器情報管理部１０３が提供するユーザインタフェースを介して、ユーザー端末３を操作することにより、監視対象とする機器２を選択することができる。
【００２５】
機器情報蓄積部１０５には、機器情報管理部１０３が取得した機器情報、および、機種判定部１０２が収集した機種情報などが蓄積・記憶される。機器情報蓄積部１０５は、ハードディスク装置や光磁気ディスク装置、フラッシュメモリ等の不揮発性メモリやRAM（Random Access Memory）のような揮発性のメモリ、あるいはこれらの組み合わせにより構成されるものとする。
【００２６】
機器監視サブシステム１１０は、解析部１１１と、通知部１１２とを有する。解析部１１１は、機器情報蓄積部１０５に記憶された機器情報を解析し、機器２の状態を検出する。通知部１１２は、機器２に異常が検出された場合、ユーザー端末３（外部装置）に通知する。
【００２７】
図２は、図１に示す機器情報管理サブシステム１００のドライバ部１０１の構成を示す図である。ドライバ部１０１は、複数の異なる通信プロトコル毎に設けられた複数のプロトコルドライバ２０１を有する。各プロトコルドライバ２０１は、自身の通信プロトコルで、当該通信プロトコルを実装する機器２にアクセスする。また、各プロトコルドライバ２０１は、機器情報管理部１０３からの制御によって動作する。
【００２８】
これにより、本実施形態では、通信プロトコルに依存することなく、様々な通信プロトコルを使用する機器２を制御することができる。すなわち、ドライバ部１０１が、通信プロトコル毎に複数のプロトコルドライバ２０１を備えることで、特定の通信プロトコルを実装した機器２たけでなく、多様な通信プロトコルを用いる機器２から機器情報を取得することができる。
【００２９】
次に、図１に示す機器情報管理サブシステム１００の動作定義ファイル１０４について説明する。
【００３０】
機器２から機器情報を取得するために、機種に応じてプロトコルドライバ２０１を制御するには、一般的には、各プロトコルドライバ２０１を制御するための専用の制御プログラムが用いられる。そのため、異なる機種の機器２がネットワークに接続される度に、機種の仕様に応じてプロトコルドライバ２０１を制御する制御プログラムを作成する必要があり、その作成には、プロトコルの知識だけでなく、その制御に関わるプログラムの知識も必要とされる。制御に関わるプログラムの知識とは、例えばJavaプログラミングにてライブラリで定義されているメッソッドの中から制御に必要なものを選定し、メソッドの実行、実行により機器からの回答の取得、必要により回答結果による追加制御といった知識などである。
【００３１】
本実施形態では、各プロトコルドライバ２０１を制御する専用の制御プログラムを作成することなく、動作定義ファイル１０４を用いてプロトコルドライバ２０１を制御する。動作定義ファイル１０４は、機種毎に設けられ、XML（Extensible Markup Language）形式のシナリオ（動作）が記述される。
【００３２】
図３は、動作定義ファイル１０４の一例を示す図である。動作定義ファイル１０４に記述される制御内容としては、対象とする機器２のファームウェアバージョン情報を取得するためのシナリオと、機器情報を取得するためのシナリオとを有する。各シナリオにおける制御の具体的な記述は、シナリオ要素として「scenario」部分に記載される。
【００３３】
また、図示する例では、ファームウェアバージョン情報毎に複数の機器情報取得のシナリオ要素を設けている。これは、同一機種であっても、ファームウェアバージョン情報が異なる場合に、その機器情報を取得する方法が異なる場合があるため、各々のファームウェアバージョン情報に応じた制御を実現するためのものである。
【００３４】
図４は、機器情報を取得するシナリオの記述例を示す図である。機器情報を取得するシナリオでは、機器２が使用する通信プロトコルにより記述内容が異なる。図示する例では、通信プロトコルとしてhttpを用いた場合であって、機器に対するhttpリクエスト送信に含まれる情報として、プロパティ部、ヘッダ部、パラメータ部における記述の指定と、機器からのhttpレスポンス受信後に実施される処理の記述とを有する。
【００３５】
ここでは、httpリクエストメソッド指定個所にGETやPOST等を選択して記述している。このように、通信の各要素を項目毎にパラメータとして選択し記述することで、その通信処理を制御可能としている。また、シナリオ要素には条件分岐を付加することが可能であり、例えば、機器２から機器情報を取得する際に、機器２から確認を求める信号を受信してから指定の処理を実行するといった制御条件を指定することができる。
【００３６】
このような動作定義ファイル１０４において、機器２のファームウェアバージョン情報の取得および機器情報の取得における制御について、個々にシナリオ要素として定義し、各々の制御で必要な通信パラメータ等を各シナリオ要素の子要素として定義している。動作定義ファイル１０４には、機種毎に異なる機器情報の取得、設定に関する手順が記述される。
【００３７】
本実施形態では、このような動作定義ファイル１０４を追加・変更することで、機器２への制御内容や制御範囲の変更が柔軟に可能となる。つまり、この動作定義ファイル１０４により、機種毎に異なる制御を実現することができ、メーカや製品が異なる様々な種類・機種の機器２を対象にした場合であっても、機器情報の取得制御を容易に行うことができる。また、動作定義ファイル１０４の作成においては、XML（Extensible Markup Language）形式で記述されていることにより、特にプロトコルドライバ２０１内部のプログラム制御に関わる知識を持たなくとも、予め定めた書式に沿ってシナリオを記述する作業で済むことから、プログラムコードを作成する場合に比べ作業量を大幅に軽減させることができる。
【００３８】
なお、機器情報管理部１０３が、動作定義ファイル１０４に記述された内容を読み出して解釈し、ドライバ部１０１の各種プロトコルドライバ２０１を制御し、機器２から機器情報を取得する。
【００３９】
上記説明した機器情報管理サブシステム１００および機器監視サブシステム１１０は、例えば、ＣＰＵと、メモリと、ＨＤＤ等の外部記憶装置と、入力装置と、出力装置とを備えた汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、ＣＰＵがメモリ上にロードされた所定のプログラムを実行することにより、各部の各機能が実現される。例えば、機器情報管理サブシステム１００および機器監視サブシステム１１０の各機能は、機器情報管理サブシステム１００用のプログラムの場合は機器情報管理サブシステム１００のＣＰＵが、そして、機器監視サブシステム１１０用のプログラムの場合は機器監視サブシステム１１０のＣＰＵがそれぞれ実行することにより実現される。また、機器情報管理サブシステム１００用のプログラムおよび機器監視サブシステム１１０用のプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ−ＲＯＭなどのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。
【００４０】
次に、本実施形態の処理について説明する。
【００４１】
図５は、機器情報管理サブシステム１００の機器情報取得処理を示すフローチャートである。
【００４２】
機器監視システム１の起動時、または、ユーザーの指示を受け付けて、図５に示す処理が開始される。機種判定部１０２は、機器監視システム１が接続しているLANなどのネットワーク内に存在する各機器２から機種情報を自律的に収集する（Ｓ４０１）。そして、機種判定部１０２は、収集した機種情報（機種特有の情報）を用いて、各機器２の機種を判別する（Ｓ４０２）。すなわち、各機器２がどの機種であるか特定する。そして、機種判定部１０２は、収集した機種情報および判別した機種を、機器情報管理部１０３に送出する。機種情報には、ARP（Address Resolution Protocol）情報、通信情報などが含まれる。
【００４３】
機器情報管理部１０３は、機種判定部１０２が収集した各機器２の機種情報および機種と用いて機器リストを生成し、機器情報蓄積部１０５に記憶する。機器リストには、例えば、機器情報を取得した機器２毎に、機器２の識別情報（例えば、IPアドレス、機器IDなど）、機種などが設定されている。
【００４４】
そして、機器情報管理部１０３は、機器情報蓄積部１０５に記憶した機器リストを、ユーザー端末３に送信する。ユーザー端末３は、受信した機器リストをディスプレイに表示する。ユーザーは、表示された機器リストの中から、監視対象とする機器２を指定・選択するための操作をユーザー端末３に入力する。ユーザー端末３は、ユーザーが選択した機器の識別情報を、機器監視システム１に送信する。
【００４５】
なお、機器情報管理部１０３は、機種情報を取得した各機器２について、ネットワーク経由でIP接続可能な状態であるか否かの確認を行い、ユーザーに提供する機器リストに接続可否状態を示し、ユーザーに提示することとしてもよい。そして、IP接続可能な状態である機器２についてのみ、ユーザーが監視対象の機器２として選択できるように制御することとしてもよい。
【００４６】
機器情報管理部１０３は、ユーザーが選択した監視対象の機器２の識別情報を受信し（Ｓ４０３）、以下のＳ４０４からＳ４０６の処理を、受信した監視対象の機器２毎に行う。
【００４７】
機器情報管理部１０３は、監視対象の機器２の機種に対応する動作定義ファイル１０４を、機種毎に用意された動作定義ファイル１０４の中から選択し、選択した動作定義ファイルを読み出す（Ｓ４０４）。動作定義ファイル１０４には、機器２のファームウェアバージョン情報を取得するためのシナリオと、取得されたファームバージョン毎に機器情報を取得するための機器情報取得シナリオとが記述されている。なお、機種と動作定義ファイル１０４とを対応付けた対応テーブルが、図示しないメモリなどに記憶されているものとする。
【００４８】
そして、機器情報管理部１０３は、選択した動作定義ファイル１０４に記述されたシナリオに基づいてドライバ部１０１の各プロトコルドライバ２０１を制御し、監視対象の機器２から機器情報を取得する（Ｓ４０５）。
【００４９】
ここでは、機器情報管理部１０３は、動作定義ファイル１０４に基づいて（１）機器にログインし、（２）機器のファームウェアバージョン情報を取得し、（３）取得したファームウェアバージョン情報の機器情報取得シナリオに従って機器情報を取得するものとする。
【００５０】
（１）機器へのログイン処理
図６は、機器２へのログイン処理の一例を示す図である。
【００５１】
監視対象とする機器２にアクセスする際に、機器２からログインＩＤとパスワード等のアカウント情報を求められる場合がある。そのため、動作定義ファイル１０４に、ログイン処理を自動で行うためのシナリオが含まれる場合がある。ログイン方式（認証方式）は、機種毎に異なるため、各動作定義ファイル１０４では、当該機種の機器２で使用されるログイン手順が設定されている。
【００５２】
機器情報管理部１０３は、ドライバ部１０１を用いて、動作定義ファイル１０４に記述されたログイン処理のシナリオに基づき、機器２からの認証要求に対し、機器情報蓄積部１０５に予め保管されたアカウント情報を機器２へ送信する（Ｓ３０１）。
【００５３】
機器２は、アカウント情報を受信し、認証する（Ｓ３０２）。認証に成功した場合（Ｓ３０３：ＯＫ）、機器２は、機器監視システム１のログインを許可する（Ｓ３０４）。これにより、機器監視システム１は、機器２にアクセスすることができる。
【００５４】
一方、認証に失敗した場合（Ｓ３０３：ＮＧ）、機器２は、認証失敗のエラーメッセージを機器監視システム１に送信する。機器情報管理部１０３は、機器２からのエラーメッセージを受信すると、動作定義ファイル１０４に記述されたシナリオにより、機器情報蓄積部１０５に予め保管された初期状態のアカウント情報を、機器２へ送信する（Ｓ３０５）。
【００５５】
機器情報蓄積部１０５には、ユーザーが任意に設定したアカウント情報とは別に、機器２の初期状態におけるアカウント情報が機種毎に保管されているものとする。これは、機器２において、アカウント情報が初期化された状態でのログインを想定したものである。機器情報蓄積部１０５に記憶されたユーザーが設定したアカウント情報を用いて機器２へのログインを試みた結果が失敗と判定された場合、アカウント情報が初期化されていると判断し、初期状態におけるアカウント情報に切り替えて再度ログインを試みることで、機器２の保持するアカウント情報が初期化された場合であってもログインが可能となる。
【００５６】
なお、アカウント情報としては、一般ユーザアカウントと管理者アカウントの２種類のアカウント情報を機器情報蓄積部１０５に記憶・管理することができるものとする。機器２から異なるレベル（一般ユーザーまたは管理者）での認証要求が送信された場合、動作定義ファイル１０４のシナリオには、認証要求のレベルに対応するアカウント情報（一般ユーザーまたは管理者）が設定されているものとする。これにより、機器２からの認証要求のレベルに応じたアカウント情報を送信し、ログイン処理を実行することができる。
【００５７】
（２）ファームウェアバージョン情報の取得処理
動作定義ファイル１０４にファームウェアバージョン情報を取得するシナリオが記載されている場合、機器情報管理部１０３は、当該動作定義ファイル１０４に記述された内容を解釈し、ドライバ部１０１の各種プロトコルドライバ２０１を制御して、機器からファームウェアバージョン情報を取得する。機器情報管理部１０３は、取得したファームウェアバージョン情報に対応する機器情報取得シナリオ要素を、動作定義ファイル１０４内に記述された機器情報取得シナリオの中なら選択し、選択した機器情報取得シナリオ要素に従って、以降の機器情報の取得処理を行う。
【００５８】
なお、ファームウェアバージョン情報を取得するシナリオが動作定義ファイル１０４に記述されていない場合は、ファームウェアバージョン情報の取得を行わず、いずれのファームウェアバージョン情報の機器２においても、同一のシナリオで機器情報の取得が行われる。
【００５９】
（３）機器情報の取得処理
機器情報管理部１０３は、取得したファームウェアバージョン情報の機器情報取得シナリオ（または、ファームウェアバージョン情報に共通の機器情報取得シナリオ）に従って、ドライバ部１０１の各種プロトコルドライバ２０１を制御して、機器２から機器情報を取得する。例えば、ウェブページ画面から機器情報を取得可能な機器２の場合、機器情報管理部１０３は、機器情報取得シナリオに従って、画面の遷移やウェブページ上のボタン押下操作等に該当する制御情報を機器２に送信し、機器２の機器情報を取得する。
【００６０】
機器情報としては、例えば、ログ情報、状態情報（ステータス情報）、エラー情報、通信ログ情報、トナー情報など、機器２または機種に応じて様々な情報が含まれる。
【００６１】
なお、各種の機器情報の取得は、対象となる機器２とドライバ部１０１との間の通信において、以下の処理を実行することにより行われる。
【００６２】
ａ．機器２から機器情報を含む通信情報を送信させる制御処理
ｂ．受信した通信情報から機器情報として所定のキーワード（文字列）を抽出する処理
機器２から機器情報を送信させる方法として、機器２の管理用ウェブページ画面等を表示することで、機器情報を出力させることが考えられる。この場合、出力情報の中から取得する各機器情報にキーを指定し、取得値をバリューとして格納する。これらについては、動作定義ファイル１０４に記載の機器情報取得シナリオにより取得できる。動作定義ファイル１０４に、これらの取得方式を指定することで、機種毎に異なる多様な機器情報の取得方式に対しても、各々の方式を指定することで対応が可能となる。
【００６３】
例えば、機器２のhttpレスポンスから機器情報を取得する処理としては、httpリクエストにより受信したHTML（Hyper Text Markup Language）記述情報から正規化表現による文字列の一致または部分一致を条件に文字列を抽出し、シナリオにて指定されたキー毎に情報を取得し、キーと関連付けて機器情報蓄積部１０５に記憶することが考えられる。あるいは、機器情報として機器２から一括でデータを受信した場合に、そのデータを機器情報蓄積部１０５に保存することもと考えられる。キーと関連付けて機器情報蓄積部１０５に記憶する処理では、機器２から受信したHTML内に記述された文字列を、例えばIPアドレス等の意味を持たせたキーを指定して個々に機器情報蓄積部１０５に保管することができる。
【００６４】
Ｓ４０５の機器情報の取得処理の後、機器情報管理部１０３は、動作定義ファイル１０４に記述されたシナリオに基づいて取得した機器情報を機器情報蓄積部１０５に記憶する（Ｓ４０６）。機器情報管理部１０３は、取得した機器情報に、取得元の機器２を特定するための機器IDと、取得した時刻情報とを付与し、機器情報蓄積部１０５に記憶する。
【００６５】
図７は、機器情報蓄積部１０５に記憶される機器情報を説明するための説明図である。機器情報蓄積部１０５には、取得した機器情報に、機器IDと、取得した時刻情報とが付加された蓄積データ７１が記憶される。機器情報蓄積部１０５において、機器情報は、機器IDをキーとして管理され、付与された時刻情報を付加情報として参照することができる。機器情報蓄積部１０５に記憶された機器情報は、後述する監視処理において、機器毎に機器の状態を検出し、通知する際に用いられ、機器の状態を時刻情報と合わせて取得情報一覧７２としてユーザー端末に通知することができる。
【００６６】
Ｓ４０５の機器情報取得処理は、予め定期スケジューラーにてタイミングや時間間隔などを指定することで、所定のタイミングで定期的に実行される。例えば、Ｓ４０５から所定の時間が経過すると（Ｓ４０７：ＹＥＳ）、Ｓ４０５の処理に戻り、ユーザーが指定した監視対象の各機器２の機器情報を取得し、取得した機器情報を機器情報蓄積部１０５に蓄積する（Ｓ４０６）。機器情報管理部１０３は、Ｓ４０５の機器情報取得処理を定期的を行わせるスケジュール管理機能を持ち、定期的に処理時刻が到来すると、情報取得処理を実行する。なお、ユーザーが監視対象として指定した機器２の機種は、機器情報蓄積部１０５に記憶されるため、その後の機器情報取得処理においても、Ｓ４０４で選択された動作定義ファイル１０４が利用される。
【００６７】
図８は、機器監視サブシステム１１０の監視処理を示すフローチャートである。なお、Ｓ５０１からＳ５０４の処理は、監視対象の機器２毎に行われる。解析部１１１は、機器情報蓄積部１０５に記憶された各機器２の機器情報を抽出する（Ｓ５０１）。具体的には、解析部１１１は、監視対象の各機器２について、直近の所定の期間の機器情報を機器情報蓄積部１０５から抽出する。
【００６８】
そして、解析部１１１は、機器２毎に抽出した機器情報を解析し、機器２の状態を検出する（Ｓ５０２）。例えば、解析部１１１、図示しないメモリなどに記憶された、監視項目とするキーワード（例えば文字列など）を読み出し、抽出した各機器情報の中に当該キーワードが存在するか否かを、文字列の比較などにより判別する。
【００６９】
キーワードは、ユーザーにより、少なくとも１つ、あらかじめメモリなどに登録・定義されているものとする。また、キーワードとしては、機器の状態が確認できるもの（例えば、通信エラー、電源エラーなど機器のエラー状態または不正常な状態を示すもの）が含まれているものとする。なお、キーワードには、正常な状態を示すものが含まれていてもよい。そして、解析部１１１は、読み出したキーワードを用いて、機器毎に正常か異常かの状態判定を行う。
【００７０】
異常を示すキーワードを含む機器情報が存在する場合（Ｓ５０３：ＹＥＳ）、解析部１１１は、当該機器情報を送信した機器２で異常が検出されたと判別し、通知部１１２に通知する。通知部１１２は、解析部１１１から通知を受けると、Ｓ５０１で抽出した機器情報を、取得時刻情報および機器IDとともに、ユーザー端末３に送信する。通知部１１２は、ユーザー端末３のディスプレイに機器情報を表示させるための画面をユーザー端末に送信してもよく、あるいは、メールにより機器情報をユーザー端末３に送信してもよい。なお、通知部１１２は、Ｓ５０１で抽出した機器情報から、例えばキーワードに該当する機器の状態情報のみを抽出し、取得時刻情報および機器IDとともに通知情報（図７：機器Ａ取得情報一覧７２参照）としてユーザー端末３に送信することとしてもよい。
【００７１】
ユーザー端末３は、送信された機器情報の画面またはメールをディスプレイに表示する。これにより、ユーザーは、監視対象の各機器２の監視を効率よく行うことができる。
【００７２】
以上説明した本実施形態では、ネットワークに接続された、様々な機種の機器２の機器情報を、機種毎に設けられた動作定義ファイル１０４を用いて取得する。すなわち、機種毎の動作定義ファイル１０４を、対象の機器２の機種に応じて選択し、選択した動作定義ファイル１０４のシナリオに沿って機器情報を取得する。
【００７３】
これにより、本実施形態では、オフィスのように多様な機種の機器２が存在する環境下であっても、機種に依存することなく、多種多様な機器２に対応でき、各機器２が保有する機器情報を取得し、一元的に機器情報を管理できるとともに、取得した機器情報に基づいて各機器２を監視することができる。また、各機器２の機器情報を定期的に取得して蓄積しておくことで、機器２の状態の変化や遷移を把握して、機器監視として活用することができる。また、機器２の高度化および多様化が進むオフィス環境などであっても、機器情報を用いて機器２を監視し、機器２に発生した故障を早期に発見することができる。また、SNMPなどの高度な通信プロトコルを実装していない機器であっても、機器情報を取得することができる。
【００７４】
また、本実施形態では、機種毎の動作定義ファイル１０４を用いてドライバ部１０１の制御を行う。これにより、機種毎に異なる制御を実現することができ、メーカや製品が異なる様々な種類・機種の機器２を対象にした場合であっても、機器情報の取得を容易に行うことができる。また、動作定義ファイル１０４の作成においては、例えばXML形式などで記述することにより、多様な通信プロトコルやドライバ部１０１の制御を意識することなく、予め定めた書式に沿ってシナリオを記述する作業で済むことから、作業量を大幅に軽減させることができ、新たな機種の機器２が追加された場合であっても容易に対応することができる。
【００７５】
また、本実施形態では、機種判定部１０２を備えることで、接続されたネットワークを介して機器２が発する様々な通信情報を用いて、機種を判定する。これにより、ユーザーによる手作業での機種の調査を不要とすることができる。
【００７６】
なお、本発明は上記実施形態に限定されるものではなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【００７７】
１    ：機器監視システム
１００：機器情報管理サブシステム
１０１：ドライバ部
１０２：機種判定部
１０３：機器情報管理部
１０４：動作定義ファイル
１０５：機器情報蓄積部
１１０：機器監視サブシステム
１１１：解析部
１１２：通知部
２０１：プロトコルドライバ
２    ：機器
３    ：ユーザー端末
【図１】
2015026154.tif 000003
【図２】
2015026154.tif 000004
【図３】
2015026154.tif 000005
【図４】
2015026154.tif 000006
【図５】
2015026154.tif 000007
【図６】
2015026154.tif 000008
【図７】
2015026154.tif 000009
【図８】
2015026154.tif 000010