(57)【要約】【課題】他社の管理対象機器から詳細な機器情報を取得することができる機器管理装置、機器管理システム、機器情報取得方法、機器情報取得プログラム、及びそのプログラムを記録した記録媒体を提供する。【解決手段】機器管理装置１００は、所定のデータ伝送路９０を介して接続される機器２００（自社）及び／又は３００（他社）の状態を監視し、状態情報を含む機器情報３１を基に機器２００及び／又は３００を管理する装置であって、機器２００及び／又は３００から取得した機器の種類を識別する情報に基づき、機器２００及び／又は３００の製造元であるベンダを判別する判別手段２１２と、判別結果に基づき、機器２００及び／又はから機器情報３１を取得する取得プログラムと、取得する機器情報３１を指定するパラメータとを特定する特定手段２１１と、特定した前記パラメータに従って、前記取得プログラムを実行する実行手段２１４と、を有することを特徴とする。【選択図】図４
2010072758.tif 000002
【特許請求の範囲】
【請求項１】
所定のデータ伝送路を介して接続される機器の状態を監視し、状態情報を含む機器に関する情報に基づき前記機器を管理する機器管理装置であって、
前記機器から取得した機器の種類を識別する情報に基づき、前記機器の製造元であるベンダを判別する判別手段と、
前記判別手段による判別結果に基づき、前記機器から機器に関する情報を取得する取得プログラムと、取得する機器に関する情報を指定するパラメータとを特定する特定手段と、
前記特定手段により特定した前記パラメータに従って、前記取得プログラムを実行する実行手段と、を有することを特徴とする機器管理装置。
【請求項２】
前記判別手段は、
前記機器から取得した機器の種類を識別する情報に基づき、
前記機器の種類を識別する情報と、前記ベンダを判別する情報とが対応付けて定義された定義情報を参照し、
前記ベンダを判別する情報を特定することで、前記ベンダを判別することを特徴とする請求項１に記載の機器管理装置。
【請求項３】
前記特定手段は、
前記判別手段による判別結果に基づき、
前記ベンダを判別する情報ごとに、前記取得プログラムに関する情報と、前記パラメータに関する情報とが対応付けて定義された定義情報を参照し、
前記ベンダに対応する前記取得プログラム及び前記パラメータを特定することを特徴とする請求項１又は２に記載の機器管理装置。
【請求項４】
前記実行手段は、
前記特定手段により特定した取得プログラムに関する情報に基づいて求めた、前記取得プログラムの実行アドレスに基づき、前記取得プログラムを実行することを特徴とする請求項１ないし３のいずれか一項に記載の機器管理装置。
【請求項５】
当該機器管理装置が、
前記実行手段により、前記取得プログラムを実行した結果、他社の機器から得られた機器に関する情報に対して、所定のデータ変換を行う変換手段を有し、
前記変換手段は、
前記他社の機器から得られた機器に関する情報を、自社の仕様に合わせた情報にデータ変換することを特徴とする請求項１ないし４のいずれか一項に記載の機器管理装置。
【請求項６】
前記変換手段は、
変換前の値と変換後の値とが対応付けて定義された定義情報に基づき、前記他社の機器から得られた機器に関する情報をデータ変換することを特徴とする請求項５に記載の機器管理装置。
【請求項７】
前記変換手段は、
前記他社の機器から得られた機器に関する情報の情報種に基づき、
前記情報種ごとに、機器に関する情報をデータ変換する変換プログラムに関する情報が定義された定義情報を参照し、
前記情報種に対応する前記変換プログラムを実行することでデータ変換を行うことを特徴とする請求項５又は６に記載の機器管理装置。
【請求項８】
前記定義情報は、
当該機器管理装置が備える記憶装置、当該機器管理装置を所定のデータ伝送路で接続された外部機器が備える記憶装置、当該機器管理装置が読み取り可能な記録媒体のいずれかの記憶領域に格納されることを特徴とする請求項１ないし７に記載の機器管理装置。
【請求項９】
所定のデータ伝送路を介して接続される機器の状態を機器管理装置によって監視し、状態情報を含む機器に関する情報に基づき前記機器を管理する機器管理システムであって、
前記機器管理装置が、
前記機器から取得した機器の種類を識別する情報に基づき、前記機器の製造元であるベンダを判別する判別手段と、
前記判別手段による判別結果に基づき、前記機器から機器に関する情報を取得する取得プログラムと、取得する機器に関する情報を指定するパラメータとを特定する特定手段と、
前記特定手段により特定した前記パラメータに従って、前記取得プログラムを実行する実行手段と、を有することを特徴とする機器管理システム。
【請求項１０】
所定のデータ伝送路を介して接続される機器の状態を監視し、状態情報を含む機器に関する情報に基づき前記機器を管理する機器管理装置における機器情報取得方法であって、
前記機器から取得した機器の種類を識別する情報に基づき、前記機器の製造元であるベンダを判別する判別手順と、
前記判別手順による判別結果に基づき、前記機器から機器に関する情報を取得する取得プログラムと、取得する機器に関する情報を指定するパラメータとを特定する特定手段と、
前記特定手順により特定した前記パラメータに従って、前記取得プログラムを実行する実行手順と、を有することを特徴とする機器情報取得方法。
【請求項１１】
所定のデータ伝送路を介して接続される機器の状態を監視し、状態情報を含む機器に関する情報に基づき前記機器を管理する機器管理装置における機器情報取得プログラムであって、
コンピュータを、
前記機器から取得した機器の種類を識別する情報に基づき、前記機器の製造元であるベンダを判別する判別手段と、
前記判別手段による判別結果に基づき、前記機器から機器に関する情報を取得する取得プログラムと、取得する機器に関する情報を指定するパラメータとを特定する特定手段と、
前記特定手段により特定した前記パラメータに従って、前記取得プログラムを実行する実行手段として機能させる機器情報取得プログラム。
【請求項１２】
請求項１１に記載のプログラムを記録した、コンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークなどのデータ伝送路を介して接続される少なくとも１台以上の機器を管理する機器管理装置、機器管理システムに関し、特に、機器管理装置が、システムに参加する機器をポーリングし、機器に関する情報の取得を行う技術に関するものである。
【背景技術】
【０００２】
ネットワークなどの所定のデータ伝送路を介して複合機やプリンタと言った画像処理装置などの状態を監視するシステムはすでに知られており、ユーザは管理対象の複数の機器（以下、「管理対象機器」と言う。）に自ら出向くことなく、管理対象機器の異常を検知する（知る）ことが可能となっている。
【０００３】
例えば、特許文献１には、ネットワークを介して機器を管理するシステム環境において、当該装置と同じネットワークに接続される機器を検索し、各機器のＩＰアドレスを取得するとともに、各機器が保有する他の機器のＩＰアドレスを取得し、当該装置と異なるネットワークのサブネットアドレスを生成し、生成したサブネットアドレスに基づき、他のネットワークに接続される機器を検索することで、ユーザの作業負担を軽減し、異なるネットワーク上の機器を検索することが可能な機器管理装置が提案されている。
【０００４】
このような機器管理システムでは、機器管理装置が、管理対象機器から機器に関する情報（以下、「機器情報」と言う。）を取得し、取得した機器情報に基づき、各機器の状態を監視し、管理している。
【０００５】
また、上記機器管理システムにおいて、機器情報の取得は、機器管理装置が、例えばＳＮＭＰ（Simple Network Management Protocol）などの通信プロトコルを用いて、ネットワーク上に接続される機器とデータ通信を行い、ＭＩＢ（Management Information Base）情報を取得することにより行われる。
【０００６】
例えば、特許文献２には、ネットワークに接続される機器の機種を判別し、判別結果に応じて機器が実装するＭＩＢが定義されたデータファイルを読み出し、読み出したデータファイルを参照して機器からＭＩＢを取得することで、機種によらず、単一のＭＩＢ取得プログラムにより全ての機器のＭＩＢを取得し、機器の状態を監視することが可能なネットワーク監視装置（機器管理装置）が提案されている。
【特許文献１】特開２００７−２２１５６５号公報
【特許文献２】特開２００３−４４３７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献に示される従来の機器管理装置では、管理対象機器から詳細な情報を取得することができない。
【０００８】
ＭＩＢ情報には、主に標準ＭＩＢと拡張ＭＩＢとに大別され、例えばデバイス名称や状態情報と言った機器情報が、ＩＥＴＦ（Internet Engineering Task Force）による技術仕様の保存・公開形式であるＲＦＣ（Request for Comments）の規定に従って定義されている。
【０００９】
標準ＭＩＢは、機器を製造するメーカ（以下、「ベンダ」と言う。）に依存しない簡易情報（標準的な情報）が定義されており、一方、拡張ＭＩＢには、ベンダに依存する詳細情報（拡張された情報）、すなわちベンダ独自の情報が定義可能となっている。
【００１０】
このようなＭＩＢ情報の取得により機器を管理する機器管理システムでは、異なるベンダの機器が管理対象となる（システム導入を行ったベンダの機器と他のベンダの機器とが混在する環境となる）ことが考えられる。そのため、機器管理装置が機器を管理するには、標準ＭＩＢと自社の拡張ＭＩＢの情報に加えて、他社の拡張ＭＩＢの情報も取得する必要がある。
【００１１】
ところが、従来の機器管理装置では、他社で独自に定義された拡張ＭＩＢを取得する点について考慮されておらず、その結果、標準ＭＩＢと自社の拡張ＭＩＢの情報しか取得することができない。つまり、管理対象機器のうち、他社の機器からは、標準ＭＩＢである簡易情報しか取得することができなかった。
【００１２】
このようなことから、従来技術では、現在の機器管理システムが導入される環境下において、他社の機器が自社の機器に比べて少ない（簡易な）情報に基づき管理されることから、ユーザに適切な機器管理機能を提供することができていないことが考えられる。
【００１３】
本発明は上記従来技術の問題点を鑑み提案されたものであり、その目的とするところは、他社の管理対象機器から詳細な機器情報を取得することができる機器管理装置、機器管理システム、機器情報取得方法、機器情報取得プログラム、及びそのプログラムを記録した記録媒体を提供することである。
【課題を解決するための手段】
【００１４】
上記目的を達成するため、本発明にあっては、所定のデータ伝送路を介して接続される機器の状態を監視し、状態情報を含む機器に関する情報に基づき前記機器を管理する機器管理装置が、前記機器から取得した機器の種類を識別する情報に基づき、前記機器の製造元であるベンダを判別する判別手段と、前記判別手段による判別結果に基づき、前記機器から機器に関する情報を取得する取得プログラムと、取得する機器に関する情報を指定するパラメータとを特定する特定手段と、前記特定手段により特定した前記パラメータに従って、前記取得プログラムを実行する実行手段と、を有する装置であることを要旨としている。
【００１５】
このような構成によって、本発明に係る機器管理装置は、管理対象機器の種類を識別する情報（機種識別情報）を取得し、取得した機種識別情報に基づき管理対象機器のベンダ（製造元）を判別し、管理対象機器から機器情報を取得するための取得プログラムや、ベンダごとに取得する機器情報を指定するパラメータ（機器が実装しているＭＩＢのオブジェクトＩＤ（ＯＩＤ））などの機器情報を取得するための情報が定義された定義ファイルから、判別したベンダの機器管理装置から機器情報を取得する際に用いるパラメータを特定し、特定したパラメータを取得プログラムに設定し実行する。
【００１６】
また、上記目的を達成するため、本発明に係る機器管理装置は、前記判別手段が、前記機器から取得した機器の種類を識別する情報に基づき、前記機器の種類を識別する情報と、前記ベンダを判別する情報とが対応付けて定義された定義情報を参照し、前記ベンダを判別する情報を特定することで、前記ベンダを判別する。
【００１７】
また、上記目的を達成するため、本発明に係る機器管理装置は、前記特定手段が、前記判別手段による判別結果に基づき、前記ベンダを判別する情報ごとに、前記取得プログラムに関する情報と、前記パラメータに関する情報とが対応付けて定義された定義情報を参照し、前記ベンダに対応する前記取得プログラム及び前記パラメータを特定する。
【００１８】
また、上記目的を達成するため、本発明に係る機器管理装置は、前記実行手段が、前記特定手段により特定した取得プログラムに関する情報に基づいて求めた、前記取得プログラムの実行アドレスに基づき、前記取得プログラムを実行する。
【００１９】
また、上記目的を達成するため、本発明に係る機器管理装置は、前記実行手段により、前記取得プログラムを実行した結果、他社の機器から得られた機器に関する情報に対して、所定のデータ変換を行う変換手段を有し、前記変換手段が、前記他社の機器から得られた機器に関する情報を、自社の仕様に合わせた情報にデータ変換する。
【００２０】
また、上記目的を達成するため、本発明に係る機器管理装置は、前記変換手段が、変換前の値と変換後の値とが対応付けて定義された定義情報に基づき、前記他社の機器から得られた機器に関する情報をデータ変換する。
【００２１】
また、上記目的を達成するため、本発明に係る機器管理装置は、前記変換手段が、前記他社の機器から得られた機器に関する情報の情報種に基づき、前記情報種ごとに、機器に関する情報をデータ変換する変換プログラムに関する情報が定義された定義情報を参照し、前記情報種に対応する前記変換プログラムを実行することでデータ変換を行う。
【００２２】
また、上記目的を達成するため、本発明に係る機器管理装置は、前記定義情報が、当該機器管理装置が備える記憶装置、当該機器管理装置を所定のデータ伝送路で接続された外部機器が備える記憶装置、当該機器管理装置が読み取り可能な記録媒体のいずれかの記憶領域に格納される。
【００２３】
これによって、本発明に係る機器管理装置は、機器管理システムにおいて、自社の管理対象機器と同様に、他社の管理対象機器からも詳細な機器情報を取得することができる。その結果、異なるベンダの機器が管理対象機器として混在するネットワーク環境下であっても、ベンダを問わず詳細な機器情報に基づき機器管理を行うことができ、好適な機器管理機能をユーザへ提供することができる。
【００２４】
上記目的を達成するため、本発明に係る機器管理システムは、所定のデータ伝送路を介して接続される機器の状態を機器管理装置によって監視し、状態情報を含む機器に関する情報に基づき前記機器を管理するシステムであって、前記機器管理装置が、前記機器から取得した機器の種類を識別する情報に基づき、前記機器の製造元であるベンダを判別する判別手段と、前記判別手段による判別結果に基づき、前記機器から機器に関する情報を取得する取得プログラムと、取得する機器に関する情報を指定するパラメータとを特定する特定手段と、前記特定手段により特定した前記パラメータに従って、前記取得プログラムを実行する実行手段と、を有することを特徴とする。
【００２５】
上記目的を達成するため、本発明に係る機器情報取得方法は、所定のデータ伝送路を介して接続される機器の状態を監視し、状態情報を含む機器に関する情報に基づき前記機器を管理する機器管理装置における方法であって、前記機器から取得した機器の種類を識別する情報に基づき、前記機器の製造元であるベンダを判別する判別手順と、前記判別手順による判別結果に基づき、前記機器から機器に関する情報を取得する取得プログラムと、取得する機器に関する情報を指定するパラメータとを特定する特定手段と、前記特定手順により特定した前記パラメータに従って、前記取得プログラムを実行する実行手順と、を有することを特徴とする。
【００２６】
このような手順によって、本発明に係る機器情報取得方法は、管理対象機器の種類を識別する情報（機種識別情報）を取得し、取得した機種識別情報に基づき管理対象機器のベンダ（製造元）を判別し、管理対象機器から機器情報を取得するための取得プログラムや、ベンダごとに取得する機器情報を指定するパラメータ（機器が実装しているＭＩＢのオブジェクトＩＤ（ＯＩＤ））などの機器情報を取得するための情報が定義された定義ファイルから、判別したベンダの機器管理装置から機器情報を取得する際に用いるパラメータを特定し、特定したパラメータを取得プログラムに設定し実行すると言う機器情報取得動作を実現する。
【００２７】
これによって、本発明に係る機器情報取得方法は、機器管理システムにおいて、自社の管理対象機器と同様に、他社の管理対象機器からも詳細な機器情報の取得が行われる環境を提供できる。
【発明の効果】
【００２８】
本発明によれば、ベンダごとに予め保持しておいた、取得する機器情報を指定するパラメータ群の中から、管理対象機器のベンダ判別結果に基づき特定したパラメータを、管理対象機器から機器情報を取得するための取得プログラムに設定し、実行するようにしたことにより、他社の管理対象機器から詳細な機器情報を取得することができる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の好適な実施の形態（以下、「実施形態」という。）について、図面を用いて詳細に説明する。
【００３０】
［第１の実施形態］
＜システム構成＞
では、本実施形態に係る機器管理システムの構成について説明する。図１は、本発明の第１の実施形態に係る機器管理システム１の構成例を示す図である。
【００３１】
図１に示すように、機器管理システム１は、ＭＦＰ（Multifunction Peripheral）やＬＰ（Laser Printer）と言った少なくとも１台以上の自社が製造した機器（以下、「自社管理対象機器」と言う。）２００及び／又は他社が製造した機器（以下、「他社管理対象機器」と言う。）３００と、少なくとも１台以上のクライアントＰＣ（Personal Computer）４００（以下、単に「ＰＣ」と言う。）と、機器管理装置１００とが、ネットワークなどのデータ伝送路９０で相互に接続されている。
【００３２】
このようなシステム構成により、機器管理装置１００は、当該装置において動作する機器管理機能によって自社管理対象機器２００及び／又は他社管理対象機器３００の状態監視や情報収集（例えば、「状態」や「ジョブ履歴」などの各種情報。）などを行い、各機器を管理している。また、ＰＣ３００に対しては、自社管理対象機器２００及び／又は他社管理対象機器３００の状態に関する各種情報を提供する。
【００３３】
＜ハードウェア構成＞
次に、上記機器管理システム１において、機器管理を行う機器管理装置１００のハードウェア構成について説明する。図２は、本発明の第１の実施形態に係る機器管理装置１００のハードウェア構成例を示す図である。
【００３４】
図２に示すように、機器管理装置１００は、入力装置１０１と、表示装置１０２と、ドライブ装置１０３と、ＲＡＭ（Random Access Memory）１０４と、ＲＯＭ（Read Only Memory）１０５と、ＣＰＵ（Central Processing Unit）１０６と、インタフェース装置１０７と、ＨＤＤ（Hard Disk Drive）１０８とから構成され、それぞれがバスで相互に接続されている。
【００３５】
入力装置１０１は、キーボード及びマウスなどで構成され、機器管理装置１００に各操作信号を入力するのに用いられる。表示装置１０２は、ディスプレイなどで構成され、機器管理装置１００による処理結果（例えば「自社管理対象機器２００及び／又は他社管理対象機器３００から取得した状態に関する各種情報」）などを表示する。
【００３６】
インタフェース装置１０７は、機器管理装置１００をネットワークなどのデータ伝送路９０に接続するインタフェースである。上記システム構成において説明を行ったように、機器管理装置１００は、インタフェース装置１０７を介して、自社管理対象機器２００及び／又は他社管理対象機器３００やＰＣ４００などとのデータ通信を行う。
【００３７】
ＨＤＤ１０８は、機器管理装置１００全体を制御し情報処理システム（例えば「Ｗｉｎｄｏｗｓ（登録商標）」や「ＵＮＩＸ（登録商標）」などの基本ソフトウェアであるＯＳ（Operating System））を提供するなどのプログラムやデータ、情報処理システム上において各種機能（例えば「機器管理機能」や「データ通信機能」）を提供するなどのプログラムやデータ（例えば「アプリケーションプログラム」や「アプリケーションデータ」）などを格納している不揮発性の記憶装置である。また、ＨＤＤ１０８は、格納している上記プログラムやデータを、所定のファイルシステムやＤＢ（Data Base）により管理している。
【００３８】
なお、上記プログラムやデータは、例えばＣＤ（Compact Disk）などの記録媒体１０３ａによって機器管理装置１００に提供されるか、ネットワークなどのデータ伝送路９０からインタフェース装置１０７を介してダウンロードされる。例えば、記録媒体１０３ａから提供される場合は、記録媒体１０３ａを読み取り可能なドライブ装置１０３を介してＨＤＤ１０８にインストールされる。
【００３９】
ＲＯＭ１０５は、電源を切っても内部データを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１０５には、機器管理装置１００が起動されるときに実行されるＢＩＯＳ（Basic Input/Output System）や、機器管理装置１００のシステム設定やネットワーク関連の設定などのデータが格納されている。
【００４０】
ＲＡＭ１０４は、上記各種記憶装置から読み出されたプログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）であり、ＣＰＵ１０６は、このＲＡＭ１０４上に読み出したプログラムを実行することにより、機器管理装置１００の全体制御や機器管理装置１００が搭載する各種機能を動作させる。
【００４１】
このようなハードウェア構成により、機器管理装置１００は、例えば、ＨＤＤ１０８からＲＡＭ１０４上に読み出した機器管理機能を実現するためのプログラムをＣＰＵ１０６により実行し、自社管理対象機器２００及び／又は他社管理対象機器３００の状態監視や各種情報の収集、またＰＣ４００への情報提供を行ったりすることができる。
【００４２】
＜機器管理機能＞
ここからは、上記ハードウェア構成上で動作する本実施形態に係る機器管理機能について簡単に説明する。図３は、本発明の第１の実施形態に係る機器管理機能の構成例を示す図である。
【００４３】
機器管理機能は、自社管理対象機器２００及び／又は他社管理対象機器３００から、例えばＭＩＢ情報などの状態情報を含む機器に関する情報（以下、便宜上「機器情報」と言う。）を取得し、取得した機器情報３１を基に状態を監視し、各機器を管理する機能である。よって、図３に示すような複数の機能部から構成される状態管理機能部群２０を有している。
【００４４】
（状態管理機能部群）
状態管理機能部群２０は、機器状態監視部２１及び機器情報管理部２２を有している。
【００４５】
機器状態監視部２１は、ネットワークなどのデータ伝送路９０を介して、自社管理対象機器２００及び／又は他社管理対象機器３００から機器情報３１を取得し、各機器の状態を監視する。また、機器状態監視部２１は、機器情報３１の取得を、予め決められた監視間隔（動作タイミング）に従ったポーリング処理により行う。
【００４６】
また、機器情報管理部２２は、機器状態監視部２１が取得した機器情報３１を保持し、自社管理対象機器２００及び／又は他社管理対象機器３００ごとに管理する。なお、機器情報管理部２２では、機器情報３１を、機器管理装置１００が備える記憶装置（例えば「ＨＤＤ１０８」など。）の所定の記憶領域に格納することで管理する。
【００４７】
このように、本実施形態に係る機器管理機能は、上記状態管理機能部群２０の動作により機能する。なお、状態管理機能部群２０の動作は、主に、機器管理装置１００に搭載（インストール）される機器管理コンポーネント（アプリケーション）の機器管理機能に関するソフトウェア部品により実現される。
【００４８】
そこで問題となるのが、本発明が解決する課題として前述したように、従来技術では、自社管理対象機器２００と同様に、他社管理対象機器３００から詳細な機器情報３１（拡張ＭＩＢ）を取得することができない点である。
【００４９】
そのため、現在の機器管理システム１が導入される環境下において、他社管理対象機器３００が自社管理対象機器２００に比べて少ない（簡易な）情報に基づき管理されることとなり、ユーザに適切な機器管理機能を提供することができていない。
【００５０】
そこで、本実施形態に係る機器管理装置１００では、管理対象とする機器の種類を識別する情報（以下、「機種識別情報」と言う。）を取得し、取得した機種識別情報を基に機器のベンダ（製造元）を判別し、機器から機器情報３１を取得するための取得プログラムや、ベンダごとに取得する機器情報３１を指定するパラメータ（機器が実装しているＭＩＢのオブジェクトＩＤ（以下、「ＯＩＤ」と言う。））などの機器情報３１を取得するための情報が定義された定義ファイル（定義情報）から、判別したベンダの機器（自社管理対象機器２００又は他社管理対象機器３００）から機器情報３１を取得する際に用いるパラメータを特定し、特定したパラメータを取得プログラムに設定し実行する機器情報取得機能を有している。
【００５１】
これによって、本実施形態に係る機器管理装置１００では、機器管理システム１において、自社管理対象機器２００と同様に、他社管理対象機器３００からも詳細な機器情報３１を取得することができ、異なるベンダの機器が混在するネットワーク環境下であっても、ベンダを問わず詳細な機器情報３１を基に機器管理を行うことができ、好適な機器管理機能をユーザへ提供することができる。
【００５２】
では、上記機器情報取得機能の構成とその動作について詳しく説明する。
【００５３】
＜機器情報取得機能＞
《機能構成》
機器情報取得機能は、上記機器管理機能を構成する機器状態監視部２１が有する機能である。よって、機器状態監視部２１は、図４に示すような複数の機能部を有している。図４は、本発明の第１の実施形態に係る機器情報取得機能の構成例を示す図である。
【００５４】
図４に示すように、機器情報取得機能は、機器情報取得部２１１と、ベンダ判別情報取得部２１２と、実行プログラム情報取得部２１３と、プログラム実行部２１４とから構成される。
【００５５】
機器情報取得部２１１は、自社管理対象機器２００及び／又は他社管理対象機器３００から機器情報３１を取得する機能である。
【００５６】
機器情報取得部２１１は、まず、情報取得の指示を受け付けると、後述するベンダ判別情報取得部２１２により取得したベンダ（機器の製造元）を判別する情報（以下、「ベンダ判別情報」と言う。）を基に、機器から機器情報３１を取得するための取得プログラムや、ベンダごとに取得する機器情報３１を指定するパラメータ（機器が実装しているＭＩＢのＯＩＤ）などの機器情報３１を取得するための情報が定義された定義ファイルである定義情報４１を参照し、機器のベンダに対応した機器情報３１を取得する際に用いるパラメータを特定する。すなわち、機器情報取得部２１１は、定義情報４１から、ベンダ判別情報に対応付けて（自社及び他社の機器ごとに）定義された、取得する機器情報３１を指定するパラメータ（機器が実装しているＭＩＢのＯＩＤ）を取得する。なお、定義情報４１は、予め機器管理装置１００が備える記憶装置（例えば「ＨＤＤ１０８」など）の所定の記憶領域に格納されている。
【００５７】
ここで、ＯＩＤについて簡単に説明する。ＯＩＤとは、機器が実装するＭＩＢの中から、特定の機器情報３１を指定するための識別コードである。
【００５８】
ＭＩＢは、木構造のデータ構造をしており、全てのノードが一意に番号付けされている。この番号がノードの識別子となる。機器が実装するＭＩＢの中から、特定の機器情報３１を指定するためには、木構造の頂点に位置するノードから指定される情報までの複数のノードの識別子により行える。これが上記識別コードである。
【００５９】
なお、上記ＭＩＢの構造は、管理情報構造（ＳＭＩ：Structure of Management Information）と呼ばれ、ＲＦＣ１１５５「Structure and Identification of Management Information for TCP/IP-based Internets」で規定されている。またこの中で、ＳＮＭＰで管理される機器が標準的に備えている標準ＭＩＢの詳細な構造については、ＲＦＣ１２１３「Management Information Base for Network Management of TCP/IP-based Internets：ＭＩＢ−ＩＩ」に規定されている。
【００６０】
このようなＯＩＤにより、機器に対して取得したい機器情報３１を指定することが可能で、ＯＩＤが、取得したい機器情報３１を指定するパラメータとなる。なお、ここで言うパラメータとは、ソフトウェアを実行したりプログラム内で関数を呼び出したりするときに、その動作を指定するために外部から与える設定値を意味する。
【００６１】
機器情報取得部２１１は、定義情報４１内からパラメータ（ＯＩＤ）を特定（取得）すると、後述するプログラム実行部２１４へ、定義情報４１に定義される取得プログラムの実行を指示する。
【００６２】
実行指示された取得プログラムでは、特定されたパラメータ（sysObjectIDを指定するＯＩＤ）により指定された機器情報３１を、実行結果として受け取り、受け取った実行結果を、実行を指示した機器情報取得部２１１へと返す。
【００６３】
その結果、機器情報取得部２１１は、特定（取得）したパラメータにより指定した機器情報３１を、取得プログラムの実行結果として受け取る。
【００６４】
ベンダ判別情報取得部２１２は、自社管理対象機器２００及び／又は他社管理対象機器３００のベンダ判別情報を取得する機能である。
【００６５】
ベンダ判別情報取得部２１２は、情報取得の指示を受け付けると、まず、後述するプログラム実行部２１４へ、定義情報４１に定義される取得プログラムの実行を指示する。定義情報４１には、上記機器情報３１を取得するための取得プログラムのほか、機種識別情報（sysObjectID［MIB-II RCF1213］の値）を取得する取得プログラムも定義されている。
【００６６】
実行指示された取得プログラムでは、まず、所定のパラメータにより指定された機種識別情報を、実行結果として受け取り、実行結果として受け取った機種識別情報を基に、定義情報４１を参照し、機種識別情報に対応するベンダ判別情報を特定する。すなわち、定義情報４１から、機種識別情報に対応付けて定義されたベンダ判別情報を取得する。取得されたベンダ判別情報は、実行を指示したベンダ判別情報取得部２１２へと返される。
【００６７】
その結果、ベンダ判別情報取得部２１２は、ベンダ判別情報を、取得プログラムの実行結果として受け取る。つまり、ベンダ判別情報取得部２１２は、自社管理対象機器２００及び他社管理対象機器３００において共通して取得可能な標準ＭＩＢである機種識別情報を取得し、さらに、取得した機種識別情報を基に、機器の製造元であるベンダを判別する情報を特定（取得）する。
【００６８】
実行プログラム情報取得部２１３は、上記機器情報取得部２１１又は上記ベンダ判別情報取得部２１２で実行を指示する各種情報の取得プログラムに関する情報（以下、「実行プログラム情報」と言う。）を取得する機能である。
【００６９】
実行プログラム情報取得部２１３は、上記機器情報取得部２１１又は上記ベンダ判別情報取得部２１２からの情報取得指示を受け付けると、定義情報４１を参照し、取得情報に対応する実行プログラム情報を特定する。すなわち、定義情報４１から、取得情報に対応付けて定義された実行プログラム情報を取得する。
【００７０】
その結果、実行プログラム情報取得部２１３は、取得した実行プログラム情報を基に、実行する取得プログラムのアドレス値を求め、情報取得を要求した上記機器情報取得部２１１又は上記ベンダ判別情報取得部２１２に、求めたアドレス値を情報取得結果として応答する。
【００７１】
プログラム実行部２１４は、上記機器情報取得部２１１又は上記ベンダ判別情報取得部２１２から実行が指示される各種情報の取得プログラムを実行する機能である。
【００７２】
プログラム実行部２１４は、上記機器情報取得部２１１又は上記ベンダ判別情報取得部２１２からの実行指示を受け付けると、実行プログラム情報取得部２１３により求められたアドレス値を基に、取得プログラムを実行する。また、このとき、取得プログラムには、例えば「外部変数への設定」や「関数引数への設定」などにより、取得したい各種情報を指定するパラメータ（機器が実装しているＭＩＢのＯＩＤ）が設定され、実行される。
【００７３】
また、プログラム実行部２１４は、各取得プログラムからの実行結果に関する情報を、所定のデータにまとめて結果情報を生成し、実行を指示した上記機器情報取得部２１１又は上記ベンダ判別情報取得部２１２へ、生成した結果情報を返す。
【００７４】
では、上記に説明を行った各機能部による機器情報取得の連携動作について説明し、本実施形態に係る機器情報取得機能の詳細を明らかにする。
【００７５】
《機能動作》
機器情報取得機能は、上記各機能部が連携動作することで機能し、機器管理装置１００に搭載される機器管理機能における機器情報取得を実現するためのソフトウェア部品が、ＣＰＵ１０６により格納先（例えば「ＲＯＭ１０５」など）からＲＡＭ１０４に読み出され、以下の処理が実行されることで実現される。
【００７６】
（機器情報取得処理：その１）
図５は、本発明の第１の実施形態に係る機器情報取得の処理手順例（その１）を示すシーケンス図である。また、図６は、本発明の第１の実施形態に係る機器情報３１を取得するための定義情報４１（その１）のデータ例を示す図である。
【００７７】
本実施形態に係る機器情報取得の処理手順では、主に、管理対象の機器のベンダを判別するためのベンダ判別情報を取得する「ベンダ判別情報の取得処理」と、取得したベンダ判別情報を基に判別したベンダの機器（自社管理対象機器２００又は他社管理対象機器３００）から機器情報３１を取得する際に用いるパラメータ（ＯＩＤ）を、定義情報４１内から特定し、特定したパラメータを用いて、機器からの機器情報３１を取得する「機器情報の取得処理」とが行われる。
【００７８】
なお、以下の説明では、各機能部が行う処理の中で、どのように定義情報４１が用いられているかについて分かりやすく説明を行うため、具体的な参照データの一例として図６を用いて説明を行う。また、以下の説明では、機器管理装置１００が処理の中で機器情報を取得する相手を他社管理対象装置３００として説明を行う。
【００７９】
まず、図５に示すように、機器管理装置１００は、「機器情報３１の取得処理」を行う前に、「ベンダ判別情報の取得処理」を行う。
【００８０】
機器管理装置１００は、スケジューラＳから機器情報取得部２１１へ、ベンダ判別情報の取得が指示される（ステップＳ１０１）。
【００８１】
機器情報取得部２１１は、ベンダ判別情報取得の指示を受け付けると、ベンダ判別情報取得部２１２へ、ベンダ判別情報の初期化を指示する（ステップＳ１０２）。
【００８２】
ベンダ判別情報取得部２１２は、初期化を行った後に、実行プログラム情報取得部２１３へ、ベンダ判別の基となる機種識別情報を取得する実行プログラム情報の取得を指示する（ステップＳ１０３）。
【００８３】
実行プログラム情報取得部２１３は、実行プログラム情報取得の指示を受け付けると、図６（Ａ）に示す定義情報４１１を参照し、「＜param＞タグ」により、最終的に取得する"VendorID"（ベンダ判別情報）に対応付けて定義された"VendorIDParamController"（実行プログラム情報）を取得する。実行プログラム情報取得部２１３は、取得した"VendorIDParamController"を基に、実行する取得プログラムのアドレス値を求め、情報取得を要求したベンダ判別情報取得部２１２に、求めたアドレス値を情報取得結果として応答する。
【００８４】
ベンダ判別情報取得部２１２は、機種識別情報の取得プログラムのアドレス値を受け取ると、プログラム実行部２１４に取得プログラムの実行を指示する（ステップＳ１０４）。
【００８５】
プログラム実行部２１４は、実行指示を受け付けると、ステップＳ１０３において求められたアドレス値を基に、機種識別情報の取得プログラムを実行する。
【００８６】
このとき、取得プログラムは、図６（Ａ）に示す定義情報４１１において、"sysObjectID"（機種識別情報）に対応付けて定義されたパラメータ"1.3.6.1.2.1.1.2"（取得する機種識別情報を指定するパラメータ（ＯＩＤ））が設定され実行される。その結果、他社管理対象機器３００から機種識別情報（sysObjectID）を取得する。
【００８７】
続いて、取得プログラムは、図６（Ａ）の参照符号４１１ａに示す「＜reslutTable＞タグ」により、機種識別情報に対応付けて定義されたベンダ判別情報の候補（resultValueに対応付けられたVendorIDの値）を参照し、取得した機種識別情報に対応するベンダ判別情報を特定（取得）する。
【００８８】
例えば、取得した機種識別情報が「sysObjectID = "1.3.6.1.4.20000.1.2.3.0"」であった場合には、定義されたベンダ判別情報の候補のうち、取得した機種識別情報の値と一致する"resultValue"の値に対応するベンダ判別情報「VendorID ID = "XCompany"」が、ベンダ判別情報として特定（取得）される。また、取得した機種識別情報が「sysObjectID = "1.3.6.1.4.30000.1.1.1.1.0"」であった場合には、定義されたベンダ判別情報の候補のうち、ベンダ判別情報「VendorID ID = "YCompany"」が、ベンダ判別情報として特定（取得）される。
【００８９】
プログラム実行部２１４は、このようにして特定（取得）されたベンダ判別情報を、実行結果に関する情報として所定のデータにまとめて結果情報を生成し（ステップＳ１０６）、生成した結果情報を、実行を指示したベンダ判別情報取得部２１２へ返す。
【００９０】
ベンダ判別情報取得部２１２は、受け取った結果情報をメモリ（ＲＡＭ１０４）上に保持し、受け取った旨を、機器情報取得部２１１へ返し、さらに機器情報取得部２１１は、スケジューラＳへと返す。
【００９１】
続いて、機器管理装置１００は、スケジューラＳから機器情報取得部２１１へ、機器情報の取得が指示される（ステップＳ１０７）。
【００９２】
機器情報取得部２１１は、ベンダ判別情報取得部２１２にベンダ判別情報の取得を要求する（ステップＳ１０８）。その結果、ベンダ判別情報取得部２１２は、ステップＳ１０６において生成されメモリ上に保持したおいた結果情報の中からベンダ判別情報（VendorID）を抽出し、抽出データ（VendorIDの値）を、要求元に返す。
【００９３】
例えば、取得したベンダ判別情報が「VendorID ID = "XCompany"」の場合には、抽出データとして"XCompany"が返される。
【００９４】
続いて、機器情報取得部２１１は、取得したベンダ判別情報を基に、図６（Ｂ）に示す定義情報４１２を参照する。このとき、機器情報取得部２１１は、図６（Ｂ）の参照符号４１２ａ及び４１２ｂに示す「＜vendorID＞タグ」により、ベンダごとに対応付けて定義された、機器から機器情報３１を取得するための取得プログラム（controller）と、ベンダごとに取得する機器情報３１を指定するパラメータ（機器が実装しているＭＩＢのＯＩＤ（value））を参照し、取得したベンダ判別情報に対応するパラメータを特定（取得）する（ステップＳ１０９）。
【００９５】
例えば、取得したベンダ判別情報"XCompany"の場合には、「＜vendorID＞タグ」により定義された"XCompany"に対応する定義情報４１２ａ「＜vendorID name = "XCompany"＞ ・・・・ ＜/vendorID＞」から、機器情報３１であるＸ−ＤｅｖｉｃｅＮａｍｅ（Ｘ社の機器名称）を指定するパラメータ「value = "1.3.6.1.4.1.20000.1.2.3.4"」を特定（取得）する。また、取得したベンダ判別情報"YCompany"の場合には、「＜vendorID＞タグ」により定義された"YCompany"に対応する定義情報４１２ｂ「＜vendorID name = "YCompany"＞ ・・・・ ＜/vendorID＞」から、機器情報３１であるＹ−ＤｅｖｉｃｅＮａｍｅ（Ｙ社の機器名称）を指定するパラメータ「value = "1.3.6.1.4.1.30000.3.1.3.4"」を特定（取得）する。
【００９６】
機器情報取得部２１１は、このようにして特定（取得）したパラメータとベンダ判別情報とを、実行プログラム情報取得部２１３へ渡し、指定された機器情報３１を取得する実行プログラム情報の取得を指示する（ステップＳ１１０）。
【００９７】
実行プログラム情報取得部２１３は、実行プログラム情報取得の指示を受け付けると、ベンダ判別情報（VendorID）を基に図６（Ｂ）に示す定義情報４１２ａ及び４１２ｂに示す「＜vendorID＞タグ」により定義された、機器から機器情報３１を取得するための取得プログラム（controller）を参照し、取得する機器情報３１に対応付けて定義された取得プログラムの情報（実行プログラム情報）を取得する。実行プログラム情報取得部２１３は、取得した実行プログラム情報を基に、実行する取得プログラムのアドレス値を求め、情報取得を要求した機器情報取得部２１１に、求めたアドレス値を情報取得結果として応答する。
【００９８】
例えば、ベンダ判別情報"XCompany"の場合には、「＜vendorID＞タグ」により定義された"XCompany"に対応する定義情報４１２ａ「＜vendorID name = "XCompany"＞ ・・・・ ＜/vendorID＞」から、取得する"DeviceName"（機器情報３１）に対応付けて定義された"StringParamController"（実行プログラム情報）を取得し、取得した"StringParamController"を基に、実行する取得プログラムのアドレス値を求め、求めたアドレス値を情報取得結果として応答する。
【００９９】
また、ベンダ判別情報"YCompany"の場合には、「＜vendorID＞タグ」により定義された"YCompany"に対応する定義情報４１２ｂ「＜vendorID name = "YCompany"＞ ・・・・ ＜/vendorID＞」から、取得する"DeviceName"（機器情報３１）に対応付けて定義された"StringParamController"（実行プログラム情報）を取得し、取得した"StringParamController"を基に、実行する取得プログラムのアドレス値を求め、求めたアドレス値を情報取得結果として応答する。
【０１００】
機器情報取得部２１１は、機器情報３１の取得プログラムのアドレス値を受け取ると、プログラム実行部２１４に取得プログラムの実行を指示する（ステップＳ１１１）。
【０１０１】
プログラム実行部２１４は、実行指示を受け付けると、ステップＳ１１０において求められたアドレス値を基に、機器情報３１の取得プログラムを実行する。
【０１０２】
このとき、取得プログラムは、ステップＳ１０９において取得されたパラメータ"1.3.6.1.4.1.20000.1.2.3.4"（取得する機器情報３１を指定するＯＩＤ）が設定され実行される。その結果、他社管理対象機器３００から機器情報３１（DeviceName）を取得する。
【０１０３】
プログラム実行部２１４は、このようにして取得された機器情報３１を、実行結果に関する情報として所定のデータにまとめて結果情報を生成し（ステップＳ１１３）、生成した結果情報を、実行を指示した機器情報取得部２１１へ返す。
【０１０４】
機器情報取得部２１１は、受け取った結果情報をスケジューラＳへと返す。
【０１０５】
（機器情報の取得処理：その２）
上記に説明を行った処理手順は、機器管理装置１００に搭載される機器管理機能を実現する既存ソフトウェア部品群により実行されるものである。しかし、機器管理システム１における機器管理環境の変化（例えば、新たなベンダの機器を管理対象として追加するなど）によっては、既存のソフトウェア部品以外に、独自のソフトウェア部品を開発し、後に追加することも想定される。
【０１０６】
ここで言う独自のソフトウェア部品とは、例えば、新規の機器情報３１や拡張された機器情報３１などを取得する取得プログラムをＤＬＬ化したファイルデータ（ＤＬＬファイル）を意味する。
【０１０７】
ＤＬＬとは、Ｗｉｎｄｏｗｓ（登録商標）において、複数のアプリケーションソフトが共通して利用するような汎用性の高いプログラムを部品化してファイルとして保存しておき、必要に応じてメモリに呼び出して利用する手法で、そのようにして利用されるプログラム部品のことである。
【０１０８】
このことから、情報を取得する機能部をＤＬＬ化しておくことで、機器管理装置１００が搭載する各アプリケーションから共通して利用することができる。
【０１０９】
以下に、上記独自のソフトウェア部品を用いて、どのように機器情報３１の取得が行われるのかについて説明する。図７は、本発明の第１の実施形態に係る機器情報取得の処理手順例（その２）を示すシーケンス図である。また、図８は、本発明の第１の実施形態に係る機器情報を取得するための定義情報（その２）のデータ例を示す図である。
【０１１０】
なお、以下の説明では、図５を用いて説明を行った「機器情報の取得処理」の処理手順と異なる点についてのみ説明を行う。
【０１１１】
図７に示すように、機器管理装置１００は、機器情報取得部２１１が、図５のステップＳ１０９の処理手順同様、取得する機器情報３１を指定するパラメータを定義情報４１から取得後（ステップＳ２０３）、実行プログラム情報取得部２１３へ、ＤＬＬファイルの読み込みを指示する（ステップＳ２０４）。
【０１１２】
実行プログラム情報取得部２１３は、実行プログラム情報取得の指示を受け付けると、ベンダ判別情報を基に図８に示す定義情報４１２ａ及び４１２ｂを参照し、取得する機器情報３１に対応付けて定義された取得プログラム（実行プログラム）がＤＬＬ化されたＤＬＬファイルを読み込み（ステップＳ２０５）、その結果を応答する。
【０１１３】
例えば、ベンダ判別情報が"XCompany"の場合には、「＜vendorID＞タグ」により定義された"XCompany"に対応する定義情報４１２ａ「＜vendorID name = "XCompany"＞ ・・・・ ＜/vendorID＞」から、取得する"DeviceName"（機器情報３１）に対応付けて定義された"XStringChangeParamController"（実行プログラム）がＤＬＬ化された"XModule.dll"を読み込む。
【０１１４】
また、ベンダ判別情報が"YCompany"の場合には、「＜vendorID＞タグ」により定義された"YCompany"に対応する定義情報４１２ｂ「＜vendorID name = "YCompany"＞ ・・・・ ＜/vendorID＞」から、取得する"DeviceName"（機器情報３１）に対応付けて定義された"YStringChangeParamController"（実行プログラム）がＤＬＬ化された"YModule.dll"を読み込む。
【０１１５】
続いて、機器情報取得部２１１は、パラメータとベンダ判別情報とを、実行プログラム情報取得部２１３へ渡し、指定された機器情報３１を取得する実行プログラム情報の取得を指示する（ステップＳ２０６）。
【０１１６】
実行プログラム情報取得部２１３は、実行プログラム情報取得の指示を受け付けると、ベンダ判別情報を基に図８に示す定義情報４１２ａ及び４１２ｂに示す「＜vendorID＞タグ」により定義された、機器から機器情報３１を取得するための取得プログラム（controller）を参照し、取得する機器情報３１に対応付けて定義された取得プログラムの情報（実行プログラム情報）を取得する。実行プログラム情報取得部２１３は、取得した実行プログラム情報を基に、実行する取得プログラムのアドレス値を求め（ステップＳ２０７）、情報取得を要求した機器情報取得部２１１に、求めたアドレス値を情報取得結果として応答する。
【０１１７】
機器情報取得部２１１は、図５のステップＳ１１１の処理手順と同様に、機器情報３１の取得プログラムのアドレス値を受け取ると、プログラム実行部２１４に取得プログラムの実行を指示する（ステップＳ２０８）。以降のステップＳ２０９及ぶＳ２１０は、図６のステップＳ１１２及ぶＳ１１３と同様である。
【０１１８】
＜まとめ＞
以上のように、本発明の第１の実施形態によれば、本実施形態に係る機器管理装置１００は、まず、ベンダ判別情報取得部２１２が、管理対象とする機器（自社管理対象装置２００及び／又は他社管理対象装置３００）の機種識別情報（sysObjectID）を取得し、取得した機種識別情報を基に機器のベンダを判別する（ベンダ判別情報（VendorID）を取得し）。
【０１１９】
続いて、機器情報取得部２１１が、機器から機器情報３１を取得するための取得プログラム（controller）や、ベンダごとに取得する機器情報３１を指定するパラメータ（機器が実装しているＭＩＢのＯＩＤ（value））などの機器情報３１を取得するための情報が定義された定義情報４１から、判別したベンダの機器（自社管理対象機器２００又は他社管理対象機器３００）から機器情報３１を取得する際に用いるパラメータを特定（取得）する。
【０１２０】
その結果、特定（取得）されたパラメータとベンダ判別情報とを基に、実行プログラム情報取得部２１３が、取得プログラムのアドレス値を求め、プログラム実行部２１４が、求められたアドレス値を基に、特定したパラメータを取得プログラムに設定し実行する。
【０１２１】
これによって、機器管理装置１００では、機器管理システム１において、自社管理対象機器２００と同様に、他社管理対象機器３００からも詳細な機器情報３１（拡張ＭＩＢ）を取得することができる。また、機器情報３１の取得に関する情報（定義情報４１）を、データファイルとしたことにより、開発時の仕様変更や運用時の保守など、拡張性の高い機器情報取得機能を実現することができる。
【０１２２】
以上のことから、本実施形態に係る機器管理システム１では、異なるベンダの機器が混在するネットワーク環境下であっても、ベンダを問わず詳細な機器情報３１を基に機器管理を行うことができ、好適な機器管理機能をユーザへ提供することができる。
【０１２３】
［第２の実施形態］
第１の実施形態では、自社管理対象機器と同様に、他社管理対象機器からも詳細な機器情報を取得する構成について説明を行った。
【０１２４】
このような場合、機器情報を管理する機器管理装置では、自社の機器情報と同様に、他社の仕様に従った形式の機器情報を管理しなければならない。つまり、異なった形式のデータを管理しなければならない。
【０１２５】
そのため、機器情報を基にした機器管理を汎用的にかつ効率よく行うためには、機器情報を管理する上で、例えば、取得した自社及び他社（異なるベンダ）の機器情報を共通して取り扱う必要がある。
【０１２６】
そこで、本実施形態に係る機器管理装置が有する機器管理機能における機器情報取得機能では、取得した他社の機器情報を自社の機器情報と共通して取り扱えるようにデータ変換を行う機能（データ変換機能）をさらに有し、上記問題点を解決するものである。
【０１２７】
以下に、上記本実施形態に係る機器管理装置について説明するが、本実施形態に係る機器管理装置と、第１の実施形態に係る機器管理装置との違いは、上記データ変換機能のみであることから、それ以外の技術的事項については、第１の実施形態と同じ図面と符号を参照し説明を省略する。
【０１２８】
＜機器情報取得機能＞
《機能構成》
図９は、本発明の第２の実施形態に係る機器情報取得機能の構成例を示す図である。図９に示すように、本実施形態に係る機器情報取得機能を構成する各機能部は、第１の実施形態に係る機器情報取得機能と同様である。
【０１２９】
機能構成において、第１の実施形態と異なる点は、定義情報４１内に、自社の機器情報３１を基に他社の機器情報３１をデータ変換する手続き（変換テーブル（データ変換部）５１）が定義されている点と、プログラム実行部２１４が、この変換テーブル５１に基づき、他社の機器情報３１を、自社の機器情報３１と同様に取り扱えるようにデータ変換を実施する点である。
【０１３０】
では、以降に、その変換テーブル５１を用いた機能動作の詳細について説明する。
【０１３１】
《機能動作》
図１０は、本発明の第２の実施形態に係る結果情報を生成する処理手順例を示すフローチャートである。
【０１３２】
他社の機器情報３１を、自社の機器情報３１と同様に取り扱えるようにするためには、他社管理対象機器３００から機器情報３１を取得後、機器情報３１の取得を指示した情報取得要求元に取得結果を応答するまでの間に行う必要がある。
【０１３３】
そのため、本実施形態では、図５のステップＳ１１３や図７のステップＳ２１０で説明を行った、取得後の機器情報３１を基に結果情報を生成する段階でデータ変換を行う。
【０１３４】
図１０（Ａ）には、その際に行われる処理手順の一例が示されており、図１０（Ｂ）には、さらにその処理の中で行われるデータ変換処理の一例が示されている。
【０１３５】
（結果情報生成処理）
図１０（Ａ）に示すように、機器管理装置１００は、プログラム実行部２１４が、実行指示を受け付けると（ステップＳ３０１）、取得する機器情報３１を取得する取得プログラムのアドレス値を基に、機器情報３１の取得プログラムを実行し、他社管理対象機器３００から機器情報３１を取得する（ステップＳ３０２）。
【０１３６】
続いて、プログラム実行部２１４は、定義情報４１を参照し（ステップＳ３０３）、定義情報４１から、データを変換する変換プログラムの情報（実行プログラム情報）が取得できるか否か（実行プログラム情報が定義されているか否か）を判定する（ステップＳ３０４）。
【０１３７】
ステップＳ３０４において、実行プログラム情報が取得可能と判定された場合、すなわち、実行プログラム情報が定義されていると判定された場合（ステップＳ３０４：ＹＥＳ）には、実行プログラム情報を取得し（ステップＳ３０５）、取得した情報を基に、実行する変換プログラムのアドレス値を求める。
【０１３８】
プログラム実行部２４１は、求められたアドレス値を基に、データを変換する変換プログラムを実行し、データ変換処理を行う（ステップＳ３０６）。
【０１３９】
プログラム実行部２１４は、このようにしてデータ変換された値を、実行結果に関する情報として所定のデータにまとめて結果情報を生成する（ステップＳ３０７）。
【０１４０】
このようにして生成された結果情報は、実行を指示した機器情報取得部２１１へと返される。
【０１４１】
一方、ステップＳ３０４において、実行プログラム情報が取得不可能と判定された場合、すなわち、実行プログラム情報が定義されていないと判定された場合（ステップＳ３０４：ＮＯ）には、他社管理対象機器３００から取得した機器情報３１が、データ変換を行う必要がないものと判断し、図に示す処理を終了する。
【０１４２】
（データ変換処理）
以下に説明する処理手順は、上記ステップＳ３０６において変換プログラムが実行されることにより行われるデータ変換処理の詳細である。
【０１４３】
図１０（Ｂ）に示すように、実行された変換プログラムは、まず、取得した他社の機器情報３１と、機器情報３１の情報種とを基に、定義情報４１内に「＜reslutTable＞タグ」により定義された、取得した機器情報３１の値と変換後の値とが対応付けられた変換テーブル５１を検索し（ステップＳ４０１）、他社の機器情報３１の値に対応する変換後の値が定義されているか否かを判定する（ステップＳ４０２）。
【０１４４】
ステップＳ４０２において、変換テーブル５１に、変換後の値が定義されている場合（ステップＳ４０２：ＹＥＳ）には、該当する変換後の値を取得し、他社の機器情報３１を変換する（他社の機器情報３１の値を、取得した変換後の値に置き換える）（ステップＳ４０３）。
【０１４５】
一方、ステップＳ４０２において、変換テーブル５１に、変換後の値が定義されていない場合（ステップＳ４０２：ＮＯ）には、図に示す処理を終了する。
【０１４６】
本実施形態に係る機器管理装置１００は、上記処理手順により、機器情報取得機能におけるデータ変換処理を行っている。
【０１４７】
ここからは、本実施形態に係るデータ変換機能について、変換テーブル５１のデータ例を基に、より具体的に説明する。
【０１４８】
例えば、データ変換機能を動作させる場面には、以下のようなものが想定される。
（１）自社の拡張ＭＩＢの値と他社の拡張ＭＩＢの値との整合をとる場面
（２）標準ＭＩＢにおいてベンダ独自に定義された値に対応する場面
（３）取得プログラムによる機器情報の出力内容に新たな情報を追加する場面
（４）ベンダ独自のＴｒａｐＭＩＢに対応する場面
以降の説明では、上記各場面を例に順に説明する。
【０１４９】
（１）自社の拡張ＭＩＢの値と他社の拡張ＭＩＢの値との整合をとる場面
図１１は、本発明の第２の実施形態に係る機器情報３１を取得するための定義情報４１（その１）のデータ例を示す図である。
【０１５０】
本実施形態に係る機器情報取得機能において、ベンダ判別情報"XCompany"を基に、図１１に示す定義情報４１２１を参照した場合、「<vendorID＞タグ」により定義されたベンダ判別情報"XCompany"に該当する情報から、プログラム実行部２１４が、「＜param＞タグ」により定義された機器情報３１を取得する"CopyStatusParamController"の取得プログラムに、パラメータ「value = "1.3.6.1.4.1.20000.4.3.2.1"」を設定し、"X-CopyStatusSummary"を取得し、さらに、パラメータ「value = "1.3.6.1.4.1.20000.4.5.6.1"」を設定し、"X-EnageStatusSummary"を取得する。
【０１５１】
続いて、プログラム実行部２１４は、「＜resultTable＞タグ」により定義された情報が存在するか否かを基に、変換プログラムの情報（実行プログラム情報）が取得可能か否かを判定する。
【０１５２】
プログラム実行部２１４は、「＜resultTable＞タグ」により定義された情報が存在する場合に、変換プログラム情報が取得可能であると判断し、「"controller"="ValueChangeController"」から、変換プログラム（ValueChangeController）を特定し、実行する。
【０１５３】
このようにして実行された変換プログラム（ValueChangeController）は、図中の変換テーブル５１１ａを参照し、取得プログラム（CopyStatusParamController）により取得した"X-CopyStatusSummary"及び"X-EnageStatusSummary"の値を変換する。
【０１５４】
ここで、変換テーブル５１の構成について説明する。自社の拡張ＭＩＢ（自社の機器情報３１）の値と他社の拡張ＭＩＢ（他社の機器情報３１）の値との整合をとる場面で用いられる変換テーブル５１では、１つのデータ変換の手続きが、１つの「＜result＞タグ」により定義されている。また、「＜result＞タグ」では、機器情報３１の種類を表す情報種（valueID）と、変換前（取得した他社の機器情報３１）の値（value）と、変換後の値（resultValue）とが１つずつ対応付けられて定義される構成となっている。よって、変換テーブル５１には、変換対象となる他社の機器情報３１の数だけ、「＜result＞タグ」によりデータ変換の手続きが定義されている。
【０１５５】
このような構成の変換テーブル５１を用いてデータ変換を行う場合には、以下の手順により変換処理される。
（手順１）変換テーブル５１１ａの「valueID」を参照し、取得した他社の機器情報３１の情報種に対応する「＜result＞タグ」を絞り込む。機器情報３１の情報種は、取得する機器情報３１を指定するパラメータ（value）と同じ「＜obj＞タグ」に、"valueID"の値として定義されており、この値は、取得される他社の機器情報３１の名称（name）やパラメータ（value）に対応付けられている。
（手順２）絞り込まれた１つ以上の「＜result＞タグ」の情報の中から、取得した他社の機器情報３１の値と一致する"value"の値が定義された「＜result＞タグ」を特定する。
（手順３）特定した「＜result＞タグ」の情報に定義される"resultValue"の値を、変換後の値として取得する。
【０１５６】
例えば、取得した他社の機器情報３１が"X-CopyStatusSummary"で、その値が"0x0100"であった場合に、図中の変換テーブル５１１ａを用いてデータ変換を行うと、図中の定義情報４１２１では、"X-CopyStatusSummary"の情報種が、「valueID = "1"」と定義されていることから、変換テーブル５１１ａ内において「valueID = "1"」が定義された「＜result＞タグ」の情報が、データ変換の手続き候補として絞り込まれる。
【０１５７】
次に、絞り込まれた１つ以上の「＜result＞タグ」の情報の中から、"X-CopyStatusSummary"の値"0x0100"と一致する"value"の値が定義された「＜result＞タグ」を特定し、特定した「＜result＞タグ」の情報に定義される"resultValue"の値"0x0020"を、変換後の値として取得する。
【０１５８】
また、取得した他社の機器情報３１が"X-EnageStatusSummary"で、その値が"0x1000"であった場合には、図中の定義情報４１２１では、"X-EnageStatusSummary"の情報種が、「valueID = "2"」と定義されていることから、変換テーブル５１１ａ内において「valueID = "2"」が定義された「＜result＞タグ」の情報が、データ変換の手続き候補として絞り込まれる。
【０１５９】
次に、絞り込まれた１つ以上の「＜result＞タグ」の情報の中から、"X-EnageStatusSummary"の値"0x0001"と一致する"value"の値が定義された「＜result＞タグ」を特定し、特定した「＜result＞タグ」の情報に定義される"resultValue"の値"0x1000"を、変換後の値として取得する。
【０１６０】
また、図中の定義情報４１２１には、取得した他社の機器情報３１が文字列であった場合に、その文字列に対応する自社の機器情報３１のコード値に変換する変換テーブル５１１ｂの例が示されている。このように、データ形式が異なる場合であっても、整合をとることが可能である。
【０１６１】
このようにして取得した変換後の値は、プログラム実行部２１４により、実行結果に関する情報として所定のデータにまとめられ、結果情報が生成される。これにより、変換後の値を用いて生成した結果情報が、情報取得要求元である機器情報取得部２１１へと返される。
【０１６２】
なお、上記データ変換処理を行う際に、変換テーブル５１に該当する情報種や変換前の値が存在しない場合には、例えば、図中の変換テーブル５１１ａ及び５１１ｂに示すように、所定の変換値（"0xFFFF"）に変換する。
【０１６３】
（２）標準ＭＩＢにおいてベンダ独自に定義された値に対応する場面
図１２は、本発明の第２の実施形態に係る機器情報３１を取得するための定義情報４１（その２）のデータ例を示す図である。
【０１６４】
例えば、標準ＭＩＢには、Ｐｒｉｎｔｅｒ−ＭＩＢ（prtAlertLocation）と言った、ベンダ独自に定義可能な情報がある。このように、ベンダごとに共通性がなく、拡張性の高い機器情報３１に対しては、自社と他社との間で共通化する必要がある。
【０１６５】
そのため、図１２に示すような変換テーブル５１２が定義された定義情報４１２２を基に、取得した他社の機器情報３１を、自社の仕様に合わせて変換する。
【０１６６】
本実施形態に係る機器情報取得機能において、図１２に示す定義情報４１２２を参照した場合、「＜vendorID＞タグ」により定義された情報から、プログラム実行部２１４が、「＜param＞タグ」により定義された機器情報３１を取得する"StringParamController"の取得プログラムに、パラメータ「value = "1.3.6.1.4.1.43.18.1.1.6.1"」を設定し、"prtAletLocation"を取得する。
【０１６７】
続いて、プログラム実行部２１４は、「＜resultTable＞タグ」により定義された情報が存在するか否かを基に、変換プログラムの情報（実行プログラム情報）が取得可能か否かを判定する。
【０１６８】
プログラム実行部２１４は、「＜resultTable＞タグ」により定義された情報が存在する場合に、変換プログラム情報が取得可能であると判断し、「"controller"="PrinterAlertCodeValueController"」から、変換プログラム（PrinterAlertCodeValueController）を特定し、実行する。
【０１６９】
このようにして実行された変換プログラム（PrinterAlertCodeValueController）は、図中の変換テーブル５１２を参照し、取得プログラム（StringParamController）により取得した"prtAletLocation"の値を変換する。
【０１７０】
ここで、変換テーブル５１の構成について説明する。標準ＭＩＢにおいてベンダ独自に定義された値に対応する場面で用いられる変換テーブル５１では、１つのデータ変換の手続きが、１つの「＜result＞タグ」により定義されている。また、「＜result＞タグ」では、機器情報３１の種類を表す情報種（valueID）と、変換前（取得した他社の機器情報３１）の値（value）と、変換後の値（resultValue）と、ベンダ判別情報（vendorID）とが１つずつ対応付けられて定義される構成となっている。よって、変換テーブル５１には、変換対象となる他社の機器情報３１の数だけ、「＜result＞タグ」によりデータ変換の手続きが定義されている。
【０１７１】
このような構成の変換テーブル５１を用いてデータ変換を行う場合には、以下の手順により変換処理される。
（手順１）変換テーブル５１１ａの「valueID」を参照し、取得した他社の機器情報３１の情報種に対応する「＜result＞タグ」を絞り込む。機器情報３１の情報種は、取得する機器情報３１を指定するパラメータ（value）と同じ「＜obj＞タグ」に、"valueID"の値として定義されており、この値は、取得される他社の機器情報３１の名称（name）やパラメータ（value）に対応付けられている。
（手順２）絞り込まれた１つ以上の「＜result＞タグ」の情報の中から、さらにベンダ判別情報を基に、該当する「＜result＞タグ」を絞り込む。
（手順３）絞り込まれた１つ以上の「＜result＞タグ」の情報の中から、取得した他社の機器情報３１の値と一致する"value"の値が定義された「＜result＞タグ」を特定する。
（手順４）特定した「＜result＞タグ」の情報に定義される"resultValue"の値を、変換後の値として取得する。
【０１７２】
例えば、判別されたベンダ判別情報が"XCompany"で、取得した他社の機器情報３１"prtAletLocation"の値が"10022"であった場合に、図中の変換テーブル５１２を用いてデータ変換を行うと、図中の定義情報４１２２では、"prtAletLocation"の情報種が、「valueID = "1"」と定義されていることから、変換テーブル５１２内において「valueID = "1"」が定義された「＜result＞タグ」の情報が、データ変換の手続き候補として絞り込まれる。
【０１７３】
次に、絞り込まれた１つ以上の「＜result＞タグ」の情報の中から、さらにベンダ判別情報"XCompany"を基に、「vendorID = "XCompany"」が定義され該当する「＜result＞タグ」を絞り込む。
【０１７４】
次に、絞り込まれた１つ以上の「＜result＞タグ」の情報の中から、"prtAletLocation"の値"10022"と一致する"value"の値が定義された「＜result＞タグ」を特定し、特定した「＜result＞タグ」の情報に定義される"resultValue"の値"10123"を、変換後の値として取得する。
【０１７５】
また、判別されたベンダ判別情報が"YCompany"で、取得した他社の機器情報３１"prtAletLocation"の値が"30123"であった場合に、図中の変換テーブル５１２を用いてデータ変換を行うと、図中の定義情報４１２２では、"prtAletLocation"の情報種が、「valueID = "1"」と定義されていることから、変換テーブル５１２内において「valueID = "1"」が定義された「＜result＞タグ」の情報が、データ変換の手続き候補として絞り込まれる。
【０１７６】
次に、絞り込まれた１つ以上の「＜result＞タグ」の情報の中から、さらにベンダ判別情報"YCompany"を基に、「vendorID = "YCompany"」が定義され該当する「＜result＞タグ」を絞り込む。
【０１７７】
次に、絞り込まれた１つ以上の「＜result＞タグ」の情報の中から、"prtAletLocation"の値"30123"と一致する"value"の値が定義された「＜result＞タグ」を特定し、特定した「＜result＞タグ」の情報に定義される"resultValue"の値"20010"を、変換後の値として取得する。
【０１７８】
また、図中の定義情報４１２２には、「＜result＞タグ」により、機器情報３１の種類を表す情報種（valueID）と、変換前（取得した他社の機器情報３１）の値（value）と、変換後の値（resultValue）とを対応付けて定義されるデータ変換の手続きに従って、取得した他社の機器情報３１を、自社の仕様に合わせて変換する変換テーブル５１２の例が示されている。このように、ベンダ判別情報（VendorID）に依存せず、他社の機器に共通して（「Ｘ社」と「Ｙ社」の各機器に共通して）データ変換を行うことも可能である。
【０１７９】
このようにして取得した変換後の値は、プログラム実行部２１４により、実行結果に関する情報として所定のデータにまとめられ、結果情報が生成される。これにより、変換後の値を用いて生成した結果情報が、情報取得要求元である機器情報取得部２１１へと返される。
【０１８０】
なお、上記データ変換処理を行う際に、変換テーブル５１に該当する情報種や変換前の値が存在しない場合には、例えば、図中の変換テーブル５１１ａ及び５１１ｂに示すように、所定の変換値（"0xFFFF"）に変換する。
【０１８１】
（３）取得プログラムによる機器情報の出力内容に新たな情報を追加する場面
図１３は、本発明の第２の実施形態に係る機器情報３１を取得するための定義情報４１（その３）のデータ例を示す図である。
【０１８２】
例えば、図１３に示す定義情報４１２３に、「＜param＞タグ」により定義された取得プログラム"CopyStatusParamController"を用いて、機器情報３１（CopyStatus）を取得する場合、出力内容（CopyStatusに関する取得可能な情報）が決まっている。なぜなら、取得プログラムは、自社により開発されたプログラムであるため、開発時の仕様に従った内容でしか出力できないためである。
【０１８３】
このような取得プログラムを用いて他社の機器情報３１を取得する場合、他社が提供する新たな情報を、自社の仕様に従って取得できるようにしたい。
【０１８４】
そのため、図１３に示すような変換テーブル５１３ａ及び５１３ｂが定義された定義情報４１２３を基に、取得した他社の機器情報３１を基に、他社が提供する新たな情報を自社の仕様に合わせて変換する。
【０１８５】
なお、上記データ変換機能において、「取得プログラムによる情報取得」、「変換プログラムの実行」、「変換テーブルの構成」、及び「データ変換の手順」については、上記（１）で説明を行った内容と同様であることから、ここでの説明を省略し、図１３に示す変換テーブル５１３ａ及び５１３ｂを用いて行われる具体的な変換処理についてのみ説明を行う。
【０１８６】
例えば、取得した他社の機器情報３１"X-CopyStatusSummary"の値が、他社が提供する新たな値"0x0040"であった場合に、図中の変換テーブル５１３ａを用いてデータ変換を行うと、図中の定義情報４１２３では、"X-CopyStatusSummary"の情報種が、「valueID = "1"」と定義されていることから、変換テーブル５１３ａ内において「valueID = "1"」が定義された「＜result＞タグ」の情報が、データ変換の手続き候補として絞り込まれる。
【０１８７】
次に、絞り込まれた１つ以上の「＜result＞タグ」の情報の中から、"X-CopyStatusSummary"の値"0x0040"と一致する"value"の値が定義された「＜result＞タグ」を特定し、特定した「＜result＞タグ」の情報に定義される"resultValue"の値"Toner empty (Cyan)"を、変換後の値（自社の仕様に従った所定の文字列）として取得する。
【０１８８】
また、取得した他社の機器情報３１"X-EnageStatusSummary"の値が、他社が提供する新たな値"0x0001"であった場合には、図中の定義情報４１２３では、"X-EnageStatusSummary"の情報種が、「valueID = "2"」と定義されていることから、変換テーブル５１３ａ内において「valueID = "2"」が定義された「＜result＞タグ」の情報が、データ変換の手続き候補として絞り込まれる。
【０１８９】
次に、絞り込まれた１つ以上の「＜result＞タグ」の情報の中から、"X-EnageStatusSummary"の値"0x0001"と一致する"value"の値が定義された「＜result＞タグ」を特定し、特定した「＜result＞タグ」の情報に定義される"resultValue"の値"Energy Saver Mode"を、変換後の値（自社の仕様に従った所定の文字列）として取得する。
【０１９０】
このようにして取得した変換後の値は、プログラム実行部２１４により、実行結果に関する情報として所定のデータにまとめられ、結果情報が生成される。これにより、変換後の値を用いて生成した結果情報が、情報取得要求元である機器情報取得部２１１へと返される。
【０１９１】
なお、上記データ変換処理を行う際に、変換テーブル５１に該当する情報種や変換前の値が存在しない場合には、例えば、図中の変換テーブル５１３ａ及び５１３ｂに示すように、所定の変換値（"Other Error"）に変換する。
【０１９２】
（４）ベンダ独自のＴｒａｐＭＩＢに対応する場面
図１４は、本発明の第２の実施形態に係る機器情報３１を取得するための定義情報４１（その４）のデータ例を示す図である。
【０１９３】
まず、Ｔｒａｐについて簡単に説明する。Ｔｒａｐとは、自社管理対象機器２００や他社管理対象機器３００に、エラーが発生したり、設定が変更されたり、何らかの変化が発生した場合に、予め指定しておいた宛先（例えば「機器管理装置１００」など）に状態情報を含む機器情報３１を通知する機能である。
【０１９４】
このようにして取得される機器情報３１には、変化が発生した機器のＩＰアドレスと、発生したイベント（発生障害や設定変更）を識別するイベント識別情報（イベントＩＤ）と、発生時刻と、ＯＩＤと、そのＯＩＤの値が含まれる。
【０１９５】
このうち、ＯＩＤには、主に標準ＭＩＢのＯＩＤが設定されているが、場合によっては、他社の拡張ＭＩＢのＯＩＤが設定されており、このような場合には、他社の拡張ＭＩＢのＯＩＤとそのＯＩＤの値を自社の仕様に従って変換し、アプリケーションが利用できるようにしたい。
【０１９６】
そのため、図１４に示すような変換テーブル５１４が定義された定義情報４１２４を基に、取得した他社の機器情報３１を基に、他社が提供する情報を自社の仕様に合わせて変換する。
【０１９７】
本実施形態に係る機器情報取得機能において、ＴｒａｐＭＩＢにより機器情報３１（ＯＩＤ"1.3.6.1.4.1.20000.4.3.2.1"）を取得し、図１４に示す定義情報４１２４を参照した場合、プログラム実行部２１４が、「＜param＞タグ」により定義された機器情報３１を変換する"TrapParamController"の変換プログラムにより、取得したＯＩＤ"1.3.6.1.4.1.20000.4.3.2.1"を基に、「＜obj＞タグ」により定義された情報を参照し、機器情報３１の名称"name"の値"X-CopyStatusSummary"及び機器情報３１の種類を表す情報種"valueID"の値"11"を取得する。
【０１９８】
続いて、プログラム実行部２１４は、「＜resultTable＞タグ」により定義された情報の中に、取得した情報種"valueID"の値"11"に対応する情報が存在するか否かを基に、他社の拡張ＭＩＢに対応する変換プログラム（以下、「他社拡張ＭＩＢ対応変換プログラム」と言う。）の情報（実行プログラム情報）が取得可能か否かを判定する。
【０１９９】
プログラム実行部２１４は、「＜resultTable＞タグ」により定義された情報が存在する場合に、他社拡張ＭＩＢ対応変換プログラム情報が取得可能であると判断し、「"controller"="TrapCodeValueController"」から、他社拡張ＭＩＢ対応変換プログラム（ValueChangeController）を特定し、実行する。
【０２００】
このようにして実行された他社拡張ＭＩＢ対応変換プログラム（TrapCodeValueController）は、図中の変換テーブル５１４を参照し、変換プログラム（TrapParamController）により取得した"X-CopyStatusSummary"の値を変換する。
【０２０１】
ここで、変換テーブル５１の構成について説明する。自社の拡張ＭＩＢ（自社の機器情報３１）の値と他社の拡張ＭＩＢ（他社の機器情報３１）の値との整合をとる場面で用いられる変換テーブル５１では、１つのデータ変換の手続きが、１つの「＜result＞タグ」により定義されている。また、「＜result＞タグ」では、機器情報３１の種類を表す情報種（before_valueID，after_valueID）と、変換前（取得した他社の機器情報３１）の値（value）と、変換後の値（resultValue）とが１つずつ対応付けられて定義される構成となっている。よって、変換テーブル５１には、変換対象となる他社の機器情報３１の数だけ、「＜result＞タグ」によりデータ変換の手続きが定義されている。
【０２０２】
また、変換テーブル５１には、取得した他社の機器情報３１の値（value）だけでなく、機器情報３１の種類を表す情報種に基づき、他社の機器情報３１の名称（name）を自社の仕様に合わせるために変換する必要がある。
【０２０３】
そのため、機器情報３１の種類を表す情報種の変換前の値（before_valueID）と、変換後の値（after_valueID）とが対応付けられて定義されている。
【０２０４】
このような構成の変換テーブル５１を用いてデータ変換を行う場合には、以下の手順により変換処理される。
（手順１）変換テーブル５１１ａの「before_valueID」を参照し、取得した他社の機器情報３１の情報種に対応する「＜result＞タグ」を絞り込む。機器情報３１の情報種は、取得する機器情報３１を指定するパラメータ（value）と同じ「＜obj＞タグ」に、"valueID"の値として定義されており、この値は、取得される他社の機器情報３１の名称（name）やＯＩＤの値（value）に対応付けられている。
（手順２）絞り込まれた１つ以上の「＜result＞タグ」の情報の中から、取得した他社の機器情報３１の値と一致する"value"の値が定義された「＜result＞タグ」を特定する。
（手順３）特定した「＜result＞タグ」の情報に定義される"after_valueID"の値と、"resultValue"の値を、変換後の値として取得する。
（手順４）さらに、「＜obj＞タグ」の情報の中から、機器情報３１の種類を表す情報種の変換後の値（after_valueID）に対応付けて定義された機器情報３１の名称（name）を取得する。
【０２０５】
例えば、取得した他社の機器情報３１（ＴｒａｐＭＩＢ）が、ＯＩＤ"1.3.6.1.4.1.20000.4.3.2.1"の"X-CopyStatusSummary"で、その値が"0x0100"であった場合に、図中の変換テーブル５１４を用いてデータ変換を行うと、図中の定義情報４１２４では、"X-CopyStatusSummary"の情報種が、「valueID = "11"」と定義されていることから、変換テーブル５１４内において「before_valueID = "11"」が定義された「＜result＞タグ」の情報が、データ変換の手続き候補として絞り込まれる。
【０２０６】
次に、絞り込まれた１つ以上の「＜result＞タグ」の情報の中から、"X-CopyStatusSummary"の値"0x0100"と一致する"value"の値が定義された「＜result＞タグ」を特定し、特定した「＜result＞タグ」の情報に定義される"after_valueID"の値"9"と、"resultValue"の値"0x0020"を、変換後の値として取得する。
【０２０７】
このようにして変換された機器情報３１の種類を表す情報種の変換後の値"after_valueID"の値"9"を基に、「＜obj＞タグ」の情報の中から、一致する"valueID"の値が定義された「＜obj＞タグ」を特定し、特定した「＜obj＞タグ」の情報に定義される機器情報３１の名称"name"の値"MyCompanyCopyAlertCodeOrg"を、変換後の機器情報３１の名称として取得する。
【０２０８】
また、図中の定義情報４１２４には、取得した他社の機器情報３１が文字列であった場合に、その文字列に対応する自社の機器情報３１のコード値に変換する変換テーブル５１４の例が示されている。このように、データ形式が異なる場合であっても、整合をとることが可能である。
【０２０９】
このようにして取得した変換後の値は、プログラム実行部２１４により、実行結果に関する情報として所定のデータにまとめられ、結果情報が生成される。これにより、変換後の値を用いて生成した結果情報が、情報取得要求元である機器情報取得部２１１へと返される。
【０２１０】
なお、上記データ変換処理を行う際に、変換テーブル５１に該当する情報種や変換前の値が存在しない場合には、例えば、図中の変換テーブル５１４に示すように、所定の変換値（"0xFFFF"）に変換する。
【０２１１】
＜まとめ＞
以上のように、本発明の第２の実施形態によれば、本実施形態に係る機器管理装置１００は、第１の実施形態と同様の機器情報取得機能を実現している。
【０２１２】
さらに、機器管理装置１００では、プログラム実行部２１４により、取得プログラムを実行後、取得した他社の機器情報３１がデータ変換を行うデータか否かを判断し、データ変換を行うデータであった場合に変換プログラムを実行する。
【０２１３】
その結果、変換プログラムが、変換テーブル５１が定義されている定義情報４１を基に、取得した他社の機器情報３１を自社の仕様に従ってデータ変換を行う。
【０２１４】
これによって、機器管理装置１００では、第１の実施形態と同様の効果を奏するとともに、機器管理システム１において、他社の機器情報３１を自社の機器情報３１と共通して取り扱うことができる。
【０２１５】
以上のことから、本実施形態に係る機器管理システム１では、異なるベンダの機器が混在するネットワーク環境下であっても、ベンダを問わず詳細な機器情報３１を基に、効率よく機器管理を行うことができ、好適な機器管理機能をユーザへ提供することができる。
【０２１６】
ここまで、上記実施形態に基づき本発明の説明を行ってきたが、上記各実施形態に係る機器管理装置１００が有する「機器情報取得機能」は、図を用いて説明を行った各処理手順を、動作環境（プラットフォーム）にあったプログラミング言語でコード化したプログラムとしてＣＰＵ１０８により実行することで実現される。よって、上記プログラムは、コンピュータが読み取り可能な記録媒体１０３ａに格納することができる。
【０２１７】
また、上記プログラムは、フロッピー（登録商標）ディスク、ＣＤ、ＤＶＤ（Digital Versatile Disk）などの記録媒体１０３ａに記憶させることによって、これらの記録媒体１０３ａを読み取り可能なドライブ装置１０３を介して機器管理装置１００にインストールすることができる。また、機器管理装置１００は、インタフェース装置１０７を備えていることから、インターネットなどの電気通信回線を用いて上記プログラムをダウンロードし、インストールすることもできる。
【０２１８】
ところで、上記各実施形態では、機器管理装置１００が備える記憶装置の所定の記憶領域に、機器情報３１や定義情報４１を保持する構成について説明を行ったが、本発明がこの構成に限定されるものではない。
【０２１９】
例えば、上記各種情報を外部の記録媒体１０３ａに保持する構成や、データ伝送路９０を介して接続された外部機器が備える記憶装置に保持する構成であってもよく、必ずしも、機器管理装置１００が備える記憶装置に保持する構成でなくてもよい。上記各種情報の格納先については、これらの情報を管理・参照する各機能部により制御される構成であればよい。
【０２２０】
また、上記各実施形態では、ＸＭＬ（Extensible Markup Language）データによる定義情報４１を例が説明を行ったが、本発明がこのデータ形式に限定されるものではない。
【０２２１】
定義情報４１は、機器情報取得機能における、ベンダ判別情報、機器情報３１を取得する取得プログラムの情報（実行プログラム情報）、及び取得する機器情報３１を指定するパラメータ（ＯＩＤ）、並びにデータ変換機能における変換プログラムの情報（実行プログラム情報）及び変換後の値など、それぞれの情報が特定（取得）される構成であればよい。
【０２２２】
上記各実施形態において、定義情報４１のデータ形式にＸＭＬを用いた理由は、ＸＭＬデータの場合、データを解析し定義内容を解釈する汎用プログラム（ＸＭＬパーサ）が存在するため機能実現を容易に行える点や、定義内容をテキストで入力可能なため開発や保守が容易に行える点などが上げられる。
【０２２３】
最後に、上記実施形態に挙げた形状や構成に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【図面の簡単な説明】
【０２２４】
【図１】本発明の第１の実施形態に係る機器管理システムの構成例を示す図である。
【図２】本発明の第１の実施形態に係る機器管理装置のハードウェア構成例を示す図である。
【図３】本発明の第１の実施形態に係る機器管理機能の構成例を示す図である。
【図４】本発明の第１の実施形態に係る機器情報取得機能の構成例を示す図である。
【図５】本発明の第１の実施形態に係る機器情報取得の処理手順例（その１）を示すシーケンス図である。
【図６】本発明の第１の実施形態に係る機器情報を取得するための定義情報（その１）のデータ例を示す図である。
【図７】本発明の第１の実施形態に係る機器情報取得の処理手順例（その２）を示すシーケンス図である。
【図８】本発明の第１の実施形態に係る機器情報を取得するための定義情報（その２）のデータ例を示す図である。
【図９】本発明の第２の実施形態に係る機器情報取得機能の構成例を示す図である。
【図１０】本発明の第２の実施形態に係る結果情報を生成する処理手順例を示すフローチャートである。
【図１１】本発明の第２の実施形態に係る機器情報を取得するための定義情報（その１）のデータ例を示す図である。
【図１２】本発明の第２の実施形態に係る機器情報を取得するための定義情報（その２）のデータ例を示す図である。
【図１３】本発明の第２の実施形態に係る機器情報を取得するための定義情報（その３）のデータ例を示す図である。
【図１４】本発明の第２の実施形態に係る機器情報を取得するための定義情報（その４）のデータ例を示す図である。
【符号の説明】
【０２２５】
１      機器管理システム
２０    状態管理機能部群
２１    機器状態監視部
２１１  機器情報取得部
２１２  ベンダ判別情報取得部
２１３  実行プログラム情報取得部
２１４  プログラム実行部
２２    機器情報管理部
３１    機器情報
４１    定義情報
５１    変換テーブル
９０    データ伝送路
１００  機器管理装置
１０１  入力装置
１０２  表示装置
１０３  ドライブ装置（ａ：記録媒体）
１０４  ＲＡＭ（揮発性の半導体メモリ）
１０５  ＲＯＭ（不揮発性の半導体メモリ）
１０６  ＣＰＵ（中央処理装置）
１０７  インタフェース装置（ＮＩＣ：Network I/F Card）
１０８  ＨＤＤ（不揮発性の記憶装置）
２００  自社管理対象機器（画像処理装置）
３００  他社管理対象機器（画像処理装置）
４００  クライアントＰＣ（情報処理装置）
【図１】
2010072758.tif 000003
【図２】
2010072758.tif 000004
【図３】
2010072758.tif 000005
【図４】
2010072758.tif 000006
【図５】
2010072758.tif 000007
【図６】
2010072758.tif 000008
【図７】
2010072758.tif 000009
【図８】
2010072758.tif 000010
【図９】
2010072758.tif 000011
【図１０】
2010072758.tif 000012
【図１１】
2010072758.tif 000013
【図１２】
2010072758.tif 000014
【図１３】
2010072758.tif 000015
【図１４】
2010072758.tif 000016