(57)【要約】【課題】複数のベンダ支援を遠隔的に監視される装置に与える方法及び装置を提供すること。【解決手段】本方法は、監視される装置に関する製造者、形式、及び固有の識別子の少なくとも１つを取得するために、監視される装置に問い合わせを行うステップと、階層的手法を利用して、監視システムが、監視される装置とインターフェースするよう構築されているか否かを、第１データベースに格納されている情報を利用して判別するステップと、監視される装置が監視システムにより支援されるか否かを、第２データベースに格納されている情報を利用して判別するステップを包含する。階層的手法は、最初に、監視される装置の製造者が監視システムによって支援されるか否を判定するステップと、その装置の形式が間システムによって支援されるか否かをその後に判定するステップとを含む。【選択図】　　　図１
2004005692.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを通じて通信可能に接続された監視システム及び複数の監視される装置を有するネットワークシステムにおいて、監視される装置が前記監視システムによって支援されるか否かを判別する方法であって、前記監視システムは第１及び第２データベースに通信可能に接続され、当該方法は：（ａ）監視される装置の製造者、形式及び固有の識別子の少なくとも１つを取得するために監視される装置に問い合わせを行うステップ；
（ｂ）前記第１データベースに格納された情報を利用して、前記監視システムが監視される装置とインターフェースをとるように構築されているか否かを判定するステップ；及び
（ｃ）前記第２データベースに格納された情報を利用して、監視される装置が監視システムによって支援されるか否かを判定するステップ；
より成ることを特徴とする方法。
【請求項２】
ステップ（ｂ）が、監視される装置から得られる製造者、形式及び固有の識別子の少なくとも１つを有する第１データベースに問い合わせを行うことにより実行されることを特徴とする請求項１記載の方法。
【請求項３】
ステップ（ｃ）が、更に：
監視される装置の製造者が監視システムによって支援されるか否かを判定し、それが真であるならば；
監視される装置の形式が監視システムによって支援されるか否かを判定し；及び
監視される装置が監視システムによって支援される場合に、前記第２データベースに格納された情報を利用して、製造者及び形式の情報を有する第１データベースを更新するステップより成ることを特徴とする請求項１記載の方法。
【請求項４】
更に：
製造者が監視システムによって支援される場合に、監視される装置から連続番号又は固有の識別子の少なくとも１つを取得するステップ；
製造者が監視システムにより支援されていない場合に、監視される装置のＭＡＣアドレスを取得するステップ；及び
ＭＡＣアドレスが監視される装置から取得することができなかった場合に、ランダムな番号を固有の識別子に割り当てるステップ；
より成ることを特徴とする請求項３記載の方法。
【請求項５】
更に：
監視される装置の製造者が監視システムによって支援されない場合に、監視される装置を一般的に列挙するステップ；及び
複数の監視される装置に共通する情報を、監視される装置から取得するステップ；
より成ることを特徴とする請求項３記載の方法。
【請求項６】
更に：
一般的な製造者により製造されたものとして監視される装置を列挙するステップ；
前記複数の監視される装置に共通する情報を取得するステップ；及び
複数の監視される装置に共通する情報を、前記一般的な製造者から取得するステップ；
より成ることを特徴とする請求項５記載の方法。
【請求項７】
更に：
監視される装置の形式が、監視システムによって支援されている場合に、監視される装置に固有の情報を取得するステップ；及び
一般的な製造者により製造された監視される装置に共通する情報を取得するステップ；
より成ることを特徴とする請求項６記載の方法。
【請求項８】
前記第１データベースが：
監視システム及び監視される装置の間で通信を可能にするための情報；及び
前記監視される装置に関連し、監視システムの初期化後に付加されるステータス情報；
を有するシステムコンフィギュレーションデータベースより成ることを特徴とする請求項１記載の方法。
【請求項９】
前記監視システムが監視される装置とインターフェースをとるように構築されているか否かを判定する前記ステップが、前記第１データベースに格納されたデータを利用して前記監視される装置に問い合わせを行うステップより成ることを特徴とする請求項１記載の方法。
【請求項１０】
前記第１データベースが、システムコンフィギュレーションデータベースより成り、更に：
監視システム及び監視される装置の間で通信を可能にする情報；及び
前記監視される装置に関連し、監視される装置を監視するための監視システムの初期化後に付加されるステータス情報；
を有することを特徴とする請求項９記載の方法。
【請求項１１】
前記第２データベースが、システムサポートデータベースであり、監視システムによって支援される様々な製造者及び装置形式についての情報を有することを特徴とする請求項１記載の方法。
【請求項１２】
ネットワークに通信可能に接続された複数の監視される装置を含むネットワークシステムにおける、前記複数の監視される装置の中の少なくとも１つの監視される装置を監視する装置であって：
前記ネットワークに通信可能に接続された監視システム；
前記監視システムに通信可能に接続された第１及び第２データベース；
監視される装置の製造者、形式及び固有の識別子の少なくとも１つを取得するために、監視される装置に問い合わせを行う手段；
監視システムが監視される装置とインターフェースをとるよう構築されているか否かを、前記第１データベースに格納された情報を利用して判定する手段；及び
監視される装置が監視システムにより支援されているか否かを、前記第２データベースに格納された情報を利用して判定する手段；
より成ることを特徴とする装置。
【請求項１３】
前記第１データベースが：
監視システム及び監視される装置の間で通信を可能にするための情報；及び
前記監視される装置に関連し、監視システムの初期化後に付加されるステータス情報；
を有するシステムコンフィギュレーションデータベースより成ることを特徴とする請求項１２記載の装置。
【請求項１４】
前記第１データベースが、システムコンフィギュレーションデータベースより成り、更に：
監視システム及び監視される装置の間で通信を可能にする情報；及び
前記監視される装置に関連し、監視される装置を監視するための監視システムの初期化後に付加されるステータス情報；
を有することを特徴とする請求項１２記載の装置。
【請求項１５】
前記第２データベースが、システムサポートデータベースであり、監視システムによって支援される様々な製造者及び装置形式についての情報を有することを特徴とする請求項１２記載の装置。
【請求項１６】
ネットワークを通じて通信可能に接続された監視システム及び複数の監視される装置を含むネットワークシステムにおける、コンピュータに利用可能な媒体内のコンピュータプログラムであって、前記監視システムは第１及び第２データベースに通信可能に接続され：
監視される装置の製造者、形式及び固有の識別子の少なくとも１つを取得するために監視される装置に問い合わせを行わせる命令；
前記第１データベースに格納された情報を利用して、前記監視システムが監視される装置とインターフェースをとるように構築されているか否かを判定させる命令；及び
前記第２データベースに格納された情報を利用して、監視される装置が監視システムによって支援されるか否かを判定させる命令；
より成ることを特徴とするコンピュータプログラム。
【請求項１７】
ネットワークに接続された複数の装置の中の監視される装置を含むネットワークシステムであって：
コントローラに通信可能に接続される第１及び第２データベースであって、前記第２データベースは、監視される装置が前記コントローラにより支援されるか否かを判定するための情報を格納するところの第１及び第２データベース；
より成り、前記コントローラは監視される装置を監視し、前記コントローラは：
監視される装置の製造者、形式及び固有の識別子の少なくとも１つを取得するために監視される装置に問い合わせを行うステップ；
前記第１データベースに格納された情報を利用して、前記監視システムが監視される装置とインターフェースをとるように構築されているか否かを判定するステップ；及び
前記第２データベースに格納された情報を利用して、監視される装置が監視システムによって支援されるか否かを判定するステップ；
を実行させる論理を有し、前記第１データベース内のコンフィギュレーション情報は、前記コントローラが監視される装置とインターフェースをとることを可能にするために第２データベースに格納された情報を利用して更新され、これにより、複数の装置の中で、監視システムにより監視される装置を更新する柔軟性を与えることを特徴とするネットワークシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータシステムにおけるハードウエアの構成（ｃｏｎｆｉｇｕｒａｔｉｏｎ）又はインストレーション（ｉｎｓｔａｌｌａｔｉｏｎ）を監視することに関連する。
【０００２】
尚、本願は、以下の同一所有者の出願に関連する：それらは、２００２年２月１１日付け出願の“Ｍｅｔｈｏｄ　ａｎｄ　Ａｐｐａｒａｔｕｓ　Ｕｔｉｌｉｚｉｎｇ　Ｃｏｍｍｕｎｉｃａｔｉｏｎ　Ｍｅａｎｓ　Ｈｉｅｒａｒｃｈｙ　ｔｏＣｏｎｆｉｇｕｒｅ　ｏｒ　Ｍｏｎｉｔｏｒ　ａｎ　Ｉｎｔｅｒｆａｃｅ　Ｄｅｖｉｃｅ”と題する米国特許出願番号第１０／０６８，８６１号、２００２年５月１３日付け出願の“Ｖｅｒｉｆｉｆｃａｔｉｏｎ　Ｓｃｈｅｍｅ　ｆｏｒ　Ｅｍａｉｌ　Ｍｅｓｓａｇｅ　Ｃｏｎｔａｉｎｉｎｇ　ＩｎｆｏｒｍａｔｉｏｎＡｂｏｕｔ　Ｒｅｍｏｔｅｌｙ　Ｍｏｎｉｔｏｒｅｄ　Ｄｅｖｉｃｅｓ”と題する米国特許出願番号第１０／１４２，９８９号；２００１年１月９日付け出願の“Ｍｅｔｈｏｄ　ａｎｄ　Ｓｙｓｔｅｍ　ｏｆ　Ｒｅｍｏｔｅ　Ｓｕｐｐｏｒｔ　ｏｆ　Ｄｅｖｉｃｅ　Ｕｓｉｎｇ　Ｅｍａｉｌ”と題する米国特許出願番号第０９／７５６，１２０号であり、これらの開示内容は本願の参考に供される。また、本願は、２００２年２月２７日付け出願の“Ａｒｃｈｉｔｅｃｔｕｒｅ　ｏｆ　ｔｈｅ　Ｒｅｍｏｔｅ　Ｍｏｎｉｔｏｒｉｎｇ　ｏｆ　Ｄｅｖｉｃｅｓ　Ｔｈｒｏｕｇｈ　ｔｈｅ　Ｌｏｃａｌ　Ｍｏｎｉｔｏｒｉｎｇ　Ｓｔａｔｉｏｎａｎｄ　Ｓｅｎｄｉｎｇ　ｔｏ　ｔｈｅ　Ｃｅｎｔｒａｌ　Ｓｔａｔｉｏｎ　ｉｎ　Ｗｈｉｃｈ　ｔｈｅ　Ｍｕｔｉｐｌｅ　Ｖｅｎｄｏｒｓ　Ａｒｅ　Ｓｕｐｐｏｒｔｅｄ”と題する米国特許出願番号第６０／３５９，６４８号にも関連し、その開示内容も本願の参考に供される。
【０００３】
【従来の技術】
概して、コンピュータシステムはハードウエアとソフトウエアを有する。ハードウエアは実際の物理的な演算機器であるが、ソフトウエアはそのハードウエアを動作させるための一連のリストである。一般に、コンピュータシステムは互いにやりとりを行う（インターフェースをとる）様々なハードウエア装置を包含する。ハードウエア装置が互いにやりとりを行う場合には、ハードウエア装置間の通信を可能にし、ハードウエア装置が協同的に動作し得るようにする、ハードウエアを動作させるソフトウエアを必要とする。また、ハードウエア装置は監視されることが望ましい。説明の便宜上、構成する又は監視するハードウエア装置は、制御する装置として言及される。同様に、説明の便宜上、その制御する装置によって、協同的に動作するよう構成される又は監視されるハードウエア装置は、インターフェース装置として言及される。
【０００４】
ハードウエア装置が互いに最初にやりとりを行う場合に、装置を動作させるソフトウエアは、協同的な動作を可能にするよう構成されないままであるのが一般的である。従って、コンピュータハードウエア装置をインストールする大部分は、そのソフトウエアを協同的に（ｃｏｌｌｅｃｔｉｖｅｌｙ）構成する。場合によっては、ユーザは、コンピュータハードウエアを開放し、ジャンパ又はディップスイッチを物理的に設定することで、手動的にコンピュータハードウエアを構築する必要がある。更に、場合によっては、インストール手順は、ユーザが、フロッピディスクからソフトウエアをロードしてハードウエア装置を構成することを含む。また、ハードウエア装置を自動的に構築し得るソフトウエアを、コンピュータハードウエア装置に包含させる試みもなされている。しかしながら、上述した手法についてはいくつかの明白な不都合及び不備が存在する。
【０００５】
【発明が解決しようとする課題】
１つの不都合は、自動ハードウエアインストールソフトウエアが、その機能において、ソフトウエアに具体的にプログラムされていなかった新製品又は新製造者に適合することを制限することである。従来技術では、制御する装置がインターフェース装置の具体的な形式又はモデル（ｍｏｄｅｌ）を認識しなかったならば、自動的な構築は不可能である。言い換えれば、制御装置が、インターフェースをとる装置の形式を予定してプログラムされていなかったならば、自動的なハードウエア構築は成功しないであろう。そのような場合には、ユーザは、ハードウエア装置に対するコンフィギュレーション通信手段を手動でインストールする必要があろう。
【０００６】
従来技術の他の不都合は、インターフェース装置の特定のモデルが識別されなかった場合に、制御装置はハードウエア装置を部分的に構築することができないことである。言い換えれば、制御装置がインターフェース装置の特定のモデルを識別できないならば、インターフェース装置は協同的に機能するよう構成されない。これは、動作しない又は実質的に使用できない未構成インターフェース装置となってしまう。
【０００７】
ネットワークに設けられるハードウエア装置は、保守、利用その他の目的で監視されることが望ましい。しかしながら、様々な製造業者間の通信手段及びインターフェース装置のモデルの、ネットワーク上の様々なインターフェース装置と通信することは、制御装置にとって困難になってきている。これらの不都合は、ネットワーク管理者が、ネットワーク上のインターフェース装置の実効性及び効率に関する重要な情報を取得することを妨げる。
【０００８】
【課題を解決するための手段】
本発明は、少なくとも１つのネットワーク接続装置（監視される装置）をコントローラを利用して監視する方法及びシステムに関連する。
【０００９】
複数の業者支援（ｖｅｎｄｏｒ　ｓｕｐｐｏｒｔ）を遠隔的に監視される装置に与える方法及び装置が説明される。本方法は、監視される装置に関する製造者、形式（モデル）、及び固有の識別子の少なくとも１つを取得するために、監視される装置に問い合わせるステップと、階層的手法を利用して、監視システムが、監視される装置とインターフェースするよう構築されているか否かを、第１データベースに格納されている情報を利用して判別するステップと、監視される装置が関しシステムにより支援されるか否かを、第２データベースに格納されている情報を利用して判別するステップを包含する。階層的手法は、最初に、監視される装置の製造者が監視システムによって支援されるか否を判定するステップと、その装置の形式が間システムによって支援されるか否かをその後に判定するステップとを含む。
【００１０】
本発明の一態様によれば、システムと供に装置を構築するために、複数のデータベースが利用される。有用なコンピュータ資源は、システム動作中のコンピュータ資源を保存しつつ、システムと供に装置のインストールの間に使用されるので、これらの態様は有益である。例えば、システムは、装置が構築される場合に別々の２つのデータベースを利用し得る。第１のデータベース（即ち、システムコンフィギュレーションデータベース）は、既にシステムに構築済みの装置に関する装置情報を格納し、及び装置はシステムにより監視されるので装置の動作状態情報が格納される。そのような装置情報は、製造者名及び形式名を包含し、動作状態情報はページ数及びトナー残量（ｔｏｎｅｒ　ｌｅｖｅｌ）を包含し得る。
【００１１】
第１データベースに格納される装置情報はシステムの初期化中に使用され、第１データベースに格納される状態情報はシステム動作中に蓄積される。従って、第１データベースは、状態情報を含むので、巨大になり得る。しかしながら、初期化中には装置情報が使用され、システムが動作中の場合にのみ状態情報が加えられるので、コンピュータ資源の消費は節約される。
【００１２】
本発明の一態様では、本発明によるシステムは第２データベース（即ち、システム支援データベース）をも利用する。この第２データベースは、複数の装置に関するデータを包含し得るので、比較的大きくなり得る。装置がシステムと供に初期化され、システムが装置と未だインターフェースするよう構築されていない場合に、第１データベース（即ち、システムコンフィギュレーションデータベース）は、第２データベース（即ち、システム支援データベース）からの情報を利用して更新されることが可能であり、その装置がシステムとインターフェースすることを可能にする。格納される多大な情報量に起因して、第２データベースに問い合わせをすることは時間がかかるだけでなく、貴重なコンピュータ資源の多くを使用することにもなる。装置に関する重要な情報（ｃｒｉｔｉｃａｌ　ｉｎｆｏｒｍａｔｉｏｎ）（即ち、プロトコル）が、第２データベースからの情報と供に第１データベース内で一旦更新されると、その第１データベースのみが使用される。
【００１３】
一態様によれば、本発明は、ネットワークを通じて通信可能に接続された監視システム及び複数の監視される装置を有するネットワークシステムにおいて、監視される装置が前記監視システムによって支援されるか否かを判別する方法であって、前記監視システムは第１及び第２データベースに通信可能に接続され、当該方法は、監視される装置の製造者、形式及び固有の識別子の少なくとも１つを取得するために監視される装置に問い合わせを行うステップ；前記第１データベースに格納された情報を利用して、前記監視システムが監視される装置とインターフェースをとるように構築されているか否かを判定するステップ；及び前記第２データベースに格納された情報を利用して、監視される装置が監視システムによって支援されるか否かを判定するステップより成ることを特徴とする方法である。
【００１４】
前記監視システムが監視される装置とインターフェースをとるように構築されているか否かを判定するステップは、監視される装置から得られる製造者、形式及び固有の識別子の少なくとも１つを有する第１データベースに問い合わせを行うことにより実行される。
【００１５】
監視される装置が監視システムによって支援されるか否かを判定するステップは、監視される装置の製造者が監視システムによって支援されるか否かを判定し、それが真であるならば；監視される装置の形式が監視システムによって支援されるか否かを判定し；及び監視される装置が監視システムによって支援される場合に、前記第２データベースに格納された情報を利用して、製造者及び形式の情報を有する第１データベースを更新するステップより成る。
【００１６】
本方法は、更に：製造者が監視システムによって支援される場合に、監視される装置から連続番号又は固有の識別子の少なくとも１つを取得するステップ；製造者が監視システムにより支援されていない場合に、監視される装置のＭＡＣアドレスを取得するステップ；及びＭＡＣアドレスが監視される装置から取得することができなかった場合に、ランダムな番号を固有の識別子に割り当てるステップより成る。本方法は、更に、監視される装置の製造者が監視システムによって支援されない場合に、監視される装置を一般的に列挙するステップ；複数の監視される装置に共通する情報を、監視される装置から取得するステップ；及び複数の監視される装置に共通する情報を、一般的な製造者から取得するステップより成る。
【００１７】
また、本方法は、監視される装置の形式が、監視システムによって支援されている場合に、監視される装置に固有の情報を取得するステップ；及び一般的な製造者により製造された監視される装置に共通する情報を取得するステップより成る。前記第１データベースは、監視システム及び監視される装置の間で通信を可能にするための情報；及び前記監視される装置に関連し、監視システムの初期化後に付加されるステータス情報を有するシステムコンフィギュレーションデータベースである。
【００１８】
前記監視システムが監視される装置とインターフェースをとるように構築されているか否かを判定する前記ステップは、前記第１データベースに格納されたデータを利用して前記監視される装置に問い合わせを行うステップより成る。前記第１データベースは、システムコンフィギュレーションデータベースより成り、更に、監視システム及び監視される装置の間で通信を可能にする情報；及び前記監視される装置に関連し、監視される装置を監視するための監視システムの初期化後に付加されるステータス情報を有する。前記第２データベースは、システムサポートデータベースであり、監視システムによって支援される様々な製造者及び装置形式についての情報を有する。
【００１９】
他の態様にあっては、本発明は、ネットワークに通信可能に接続された複数の監視される装置を含むネットワークシステムにおける、前記複数の監視される装置の中の少なくとも１つの監視される装置を監視する装置であって：前記ネットワークに通信可能に接続された監視システム；前記監視システムに通信可能に接続された第１及び第２データベース；監視される装置の製造者、形式及び固有の識別子の少なくとも１つを取得するために、監視される装置に問い合わせを行う手段；監視システムが監視される装置とインターフェースをとるよう構築されているか否かを、前記第１データベースに格納された情報を利用して判定する手段；及び監視される装置が監視システムにより支援されているか否かを、前記第２データベースに格納された情報を利用して判定する手段より成る。
【００２０】
更なる他の態様にあっては、本発明は、ネットワークを通じて通信可能に接続された監視システム及び複数の監視される装置を含むネットワークシステムにおける、コンピュータに利用可能な媒体内のコンピュータプログラムプロダクトであって、前記監視システムは第１及び第２データベースに通信可能に接続され：監視される装置の製造者、形式及び固有の識別子の少なくとも１つを取得するために監視される装置に問い合わせを行わせる命令；前記第１データベースに格納された情報を利用して、前記監視システムが監視される装置とインターフェースをとるように構築されているか否かを判定させる命令；及び前記第２データベースに格納された情報を利用して、監視される装置が監視システムによって支援されるか否かを判定させる命令より成ることを特徴とするコンピュータプログラムプロダクトである。
【００２１】
更なる態様にあっては、本発明は、ネットワークに接続された複数の装置の中の監視される装置を含むネットワークシステムであって、当該システムは、コントローラに通信可能に接続される第１及び第２データベースであって、前記第２データベースが、監視される装置が前記コントローラにより支援されるか否かを判定するための情報を格納するところの第１及び第２データベースより成り、前記コントローラは監視される装置を監視し、前記コントローラは、監視される装置の製造者、形式及び固有の識別子の少なくとも１つを取得するために監視される装置に問い合わせを行うステップ；前記第１データベースに格納された情報を利用して、前記監視システムが監視される装置とインターフェースをとるように構築されているか否かを判定する階層的（ｈｉｅｒａｃｈｉｃａｌ）方法を使用するステップ；及び前記第２データベースに格納された情報を利用して、監視される装置が監視システムによって支援されるか否かを判定するステップ；を実行させる論理を有し、前記第１データベース内のコンフィギュレーション情報は、前記コントローラが監視される装置とインターフェースをとることを可能にするために第２データベースに格納された情報を利用して更新され、これにより、複数の装置の中で、監視システムにより監視される装置を更新する柔軟性（ｆｌｅｘｉｂｉｌｉｔｙ）を与えることを特徴とするネットワークシステムである。
【００２２】
本発明の利点は、システムでなくデータベースを修正することで、システムがサポートする装置を変更することの容易さを包含する。
【００２３】
本発明及びそれに付随する多くの利点に関する更なる内容は、添付図面に関連する以下の詳細な説明を参照することにより理解されるであろう。
【００２４】
【発明の実施の形態】
図１は、装置２及びシステム８のネットワーク関係を示す図である。装置２はネットワーク４を通じてシステム８とインターフェースする。システム８は、システムコンフィギュレーションデータベース（ＳＤＣ）６及びシステムサポートデータベース（ＳＳＤ）１０に接続されている。ネットワーク４は、装置２及びシステム８がデータを交換することを可能にする任意の形式の通信機構であり得る。例えば、ネットワーク４は、広域ネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）又は装置２及びシステム８を物理的に接続する単独のケーブルとすることが可能である。本発明は、ネットワークの形式には限定されず、装置２及びシステム８の間で通信を可能にする他のネットワークがあり得ることは、理解されるであろう。
【００２５】
システムコンフィギュレーションデータベース６は、第１及び第２の種類の情報を包含する。第１種類の情報は、例えば、製造者名、形式名、ＩＰアドレス、会社名、連絡先名称、及び連絡先のＥメールアドレスのようなコンフィギュレーション又は装置情報である。コンフィギュレーション情報は、どの装置が監視されることを要するかを判別するために、システム８の初期化中にのみ使用される。しかしながら、システムコンフィギュレーションデータベース６は、装置２と通信するために使用するプロトコルが何であるかについての情報を有しない。しかしながら、ＳＣＤ６は、例えばＩＰアドレスのような通信に必要な情報を有する。従って、ＳＣＤ６は、システム８が装置２とインターフェースするよう構築されているか否かを判別するために使用される情報を包含する。ＳＣＤ６に格納される第２種類の情報は、状態又はステータス（ｓｔａｔｕｓ）情報である。ステータス情報の例は、ページ数、エラー状態、及びトナーレベル等である。システム８がネットワーク４に接続された装置を監視している場合に、ステータス情報は、システム８の初期化後にデータベース（ＳＣＤ６）に付加される。システムコンフィギュレーションデータベース（ＳＣＤ６）は、システムサポートデータベース（ＳＳＤ１０）に直接的に依存するものではない。
【００２６】
ＳＳＤ１０は、システム８によりサポートされる製造者及び形式についての情報を包含する。このシステムは、製造者又は形式によらず総ての装置をサポート（支援）し得るが、装置２から得られるステータス情報の量は、ＳＳＤ１０によってサポートされる製造者及び形式に依存する。製造者及び形式がＳＳＤ１０によってサポートされるならば、詳細な情報が装置２から取得され得る。従って、ＳＳＤ１０は、システムコンフィギュレーションデータベース（ＳＣＤ６）に、どのような種類のステータス情報が格納されるかを判定する。
【００２７】
ＳＣＤ６及びＳＳＤ１０の両者からの情報は、監視される装置を表現する装置対象又はオブジェクト（ｏｂｊｅｃｔ）を生成するために使用される。単独の装置２がネットワーク４に接続されるよう図示されているが、監視される必要のある複数の装置がネットワーク４に接続され得ることは、理解されるであろう。装置オブジェクトは、システム８が装置２と通信することを可能にし、装置２からどのような情報を取得するかを定める。
【００２８】
図２は、装置８が装置２とインターフェースするよう構築されているか否かをどのようにして判別するかを示すフローチャートである。ブロック１２では、システム８、又はネットワーク４の一部であるその他の装置が、システム８は装置２とインターフェースするよう構築されているか否かを判定する。例えば、システム８が装置２と通信することを可能にするソフトウエアによりシステム８がプログラムされているか否かが判定される。言い換えれば、システム８は、システム８及び装置２がデータを交換し協同して動作し得るような、装置２と両立可能な（ｃｏｍｐａｔｉｂｌｅ）プロトコルを利用する。システム８が装置２とインターフェースするよう構築されているか否かの判定において、システム８は、装置２からコンフィギュレーション情報をも取得し、装置２がシステム８によりサポートされるか否かを判定する。
【００２９】
ブロック１４では、システム８が装置２とインターフェースするよう構築されていると判定されたならば、ブロック２０にて、システムサポートデータベース１０に格納されている情報に基づいて、システム８及び装置２の間で通信プロトコルが確立される。ブロック２２では、システム８が装置２とインターフェースするよう構築されたか否かを判定する場合に取得したコンフィギュレーション情報を利用して、システムコンフィギュレーションデータベース（ＳＣＤ６）が更新される。しかしながら、ブロック１４にて、システム８が装置２とインターフェースするよう構築されていないと判定されたならば、プロセスは終了し、装置２はシステム８とインターフェースしないであろう。
【００３０】
図３は、システムコンフィギュレーションデータベース（ＳＣＤ６）を利用して、システム８が装置２とインターフェースするよう構築されているか否かをどのように判定するかを示すフローチャート例である。ブロック２４にて、装置２は、その製造者、形式及び／又は固有の識別情報を判別するために、標準的な通信プロトコルを利用して問い合わせられる。
【００３１】
ブロック２６にて、装置の製造者、形式又は固有の識別情報が判定されたならば、プロセスは３６に進み、そうでなければプロセスはブロック２８に進む。ブロック３６では、システム８は装置２とインターフェースするよう構築されると判定される。
【００３２】
ブロック２８では、装置の製造者、形式及び／又は固有の識別情報を判定するために、装置２はシステムコンフィギュレーションデータベース６に格納されたデータを利用して問い合わせられる。ブロック３４では、装置の製造者、形式及び／又は固有の識別情報がブロック２８にて識別されたか否かが判定される。ブロック３４の判定結果が肯定的であるならば、ステップ３６にてシステムは装置２とインターフェースするよう構築されていることが判定される。ブロック３４の判定結果が否定的であるならば、ブロック３８にて、システムは装置２とインターフェースしないことが判定される。
【００３３】
ブロック２４，２８における製造者及び形式情報に関する装置２への問い合わせにおいて、装置の製造者及び形式は、システムサポートデータベース１０を利用して検査され、製造者及び形式がシステム８によりサポートされるか否かを判定する。しかしながら、これは、システム８が装置２とインターフェースするよう構築されるか否かに影響するものではない。
【００３４】
それがシステム８により監視される場合に、システムサポートデータベース１０は、装置２からどのようなステータス情報が取得されるかを判定するために使用される。装置２に関する装置オブジェクトは、取得するステータス情報が何であるかについてのＳＳＤ１０からの情報を包含する。装置の製造者及び形式がＳＳＤ１０にてサポートされていなかったならば、装置オブジェクトは、ネットワーク４に接続される総ての装置に利用可能なステータス情報を取得する。製造者がＳＳＤ１０にてサポートされているが、装置の形式はサポートされていない場合には、装置オブジェクトは、製造者の総ての装置に利用可能なステータス情報を取得する。製造者及び形式がサポートされていたならば、装置オブジェクトは、その形式の総ての装置に利用可能なステータス情報を取得する。
【００３５】
図４は、装置２がシステム８によりサポートされているか否かを判定する階層的アプローチの例を示す。ブロック５６，５８において、装置２がシステム８によりサポートされているか否かが判定される。製造者がサポートされてないならば、ブロック６０にて装置は一般的なプロトコルを利用して構築されるべきことが判定される。製造者がサポートされていたならば、プロセスはブロック６２に進む。
【００３６】
ブロック６２，６４では、装置の形式がシステム８によりサポートされているか否かが判定される。形式がサポートされていなければ、ブロック６６にて、その装置は、製造者に固有のプロトコルを利用して構築されるべきことが判定される。形式がサポートされていたならば、ブロック６８にて、装置は形式に固有のプロトコルを利用して構築されるべきことが判定される。
【００３７】
図５は、本発明の実施例によるソフトウエアオブジェクトを示す。ソフトウエアオブジェクトの送信インターフェース管理（Ｓｅｎｄ　Ｉｎｔｅｒｆａｃｅ　Ｍａｎａｇｅｒ）７０は、ソフトウエアオブジェクトのデータ転送（ＤａｔａＴｒａｎｓｆｅｒ）７４、ＯＤＢＣ−１　７２、装置ファクトリ（ＤｅｖｉｃｅＦａｃｔｏｒｙ）７６、業者モデル又はベンダモデル（ＶｅｎｄｏｒＭｏｄｅｌ）７８、ＯＤＢＣ−２　８４、ＳＮＭＰ８０及び装置８２とインターフェースする。
【００３８】
表１は、ＯＤＢＣ−１　７２の機能を示す。
【００３９】
【表１】
2004005692.tif 000003
表２は、装置ファクトリ７６の機能を示す。
【００４０】
【表２】
2004005692.tif 000004
表３は、データ転送７４の機能を示す。
【００４１】
【表３】
2004005692.tif 000005
表４は、装置８２の機能を示す。
【００４２】
【表４】
2004005692.tif 000006
表５は、ＯＤＢＣ−２　８４の機能を示す。
【００４３】
【表５】
2004005692.tif 000007
表６は、ＳＮＭＰ８０の機能を示す。
【００４４】
【表６】
2004005692.tif 000008
ベンダモデル７８は、監視される装置の製造者及び形式に関する情報を取得することについての責任を有する。ソフトウエアオブジェクトは、監視される装置の製造者、形式及び固有の識別子を取得する。ベンダモデル７８のクラス（ｃｌａｓｓ）Ｃベンダモデル（ＣＶｅｎｄｏｒＭｏｄｅｌ）は、データベースからの情報を利用して、システムによりサポートされる製造者及び形式を判定する。また、そのクラスは、監視される装置から形式及び固有の識別子を取得するのに必要なデータベースからの情報を利用する。Ｃベンダモデルの公的な（ｐｕｂｌｉｃ）又は私的な（ｐｒｉｖａｔｅ）機能は、以下の表７に示される。
【００４５】
【表７】
2004005692.tif 000009
以下の表８は、上記の関数で使用されるＣベンダモデルクラスの属性を示す。
【００４６】
【表８】
2004005692.tif 000010
ＭａｎｕｆａｃｔｕｒｅｒＡｎｄＭｏｄｅｌＩｎｆｏＶｅｃｔｏｒにおけるＭａｎｕｆａｃｔｕｒｅｒＡｎｄＭｏｄｅｌＩｎｆｏは、以下の構造を有する：
ｓｔｒｕｃｔ　ＭａｎｕｆａｃｔｕｒｅｒＡｎｄＭｏｄｅｌＩｎｆｏ｛
ｓｔｄ：：ｓｔｒｉｎｇ　ｍ＿ｓＭａｎｕｆａｃｔｕｒｅｒ；
ｓｔｄ：：ｓｔｒｉｎｇ　ｍ＿ｓＥｎｔｅｒｐｒｉｓｅＯＩＤ；
ｓｔｄ：：ｓｔｒｉｎｇ　ｍ＿ｓＭｏｄｅｌＯＩＤ；
ｓｔｄ：：ｓｔｒｉｎｇ　ｍ＿ｓＵｎｉｑｕｅＯＩＤ；
｝；
ｍ＿ｓＭａｎｕｆａｃｔｕｒｅは、製造者の名称である。ｍ＿ｓＥｎｔｅｒｐｒｉｓｅＯＩＤは、その製造者に関する事業（ｅｎｔｅｒｐｒｉｓｅ）オブジェクト識別子である。事業対象識別子は、製造者に固有である。ｍ＿ｓＭｏｄｅｌＯＩＤは、装置の形式名を発見するために使用可能なオブジェクト識別子である。ｍ＿ｓＵｎｉｑｕｉＯＤＩは、装置の固有の識別子を発見するために使用可能なオブジェクト識別子である。固有の識別子は、連続番号又は装置のＭＡＣアドレスとすることが可能である。
【００４７】
デバイスファクトリ７６は、監視される装置を表現する装置オブジェクトを生成する責務を有する。デバイスファクトリ７６は、それが取得するのに必要なステータス情報が何であるかを装置オブジェクトが把握していることを確認する。Ｃデバイスファクトリ（ＣＤｅｖｉｃｅＦａｃｔｏｒｙ）は、デバイスファクトリ７６パッケージにおける唯一のクラスである。Ｃデバイスファクトリの公的な又は私的な関数は、以下の表９に示される。
【００４８】
【表９】
2004005692.tif 000011
表１０は、上記の関数に使用されるＣデバイスファクトリの属性を示す。
【００４９】
【表１０】
2004005692.tif 000012
ｉｎｆｏＴｙｐｅは、ステータス情報の具体的な形式を表現するために使用される、ｍ＿ＧｅｎｅｒｉｃＤｅｖｉｃｅＶｅｎｄｏｒ及びｍ＿ＭａｎｕｆａｃｔｕｒｅｒＶｅｃｔｏｒＭａｐに使用される数である。例えば、５０３は、監視される装置について用紙切れ（ＮｏＰａｐｅｒ）状態を表現し、６０１は、監視される装置のページライフ数（ｐａｇｅ　ｌｉｆｅ　ｃｏｕｎｔ）を表現する。
【００５０】
装置８２は、監視される装置を表現する。それは、監視される装置のステータス情報にアクセスする。ステータス情報は、エラーステータス、ページ数、トナーカートリッジレベル、及び報知のような情報を包含する。Ｃデバイス（ＣＤｅｖｉｃｅ）は、装置８２パッケージ内の唯一のクラスである。Ｃデバイスの公的な関数は、以下の表１１に示される。
【００５１】
【表１１】
2004005692.tif 000013
以下の表１２は、上記の関数で使用されるＣ装置クラスの属性を示す。
【００５２】
【表１２】
2004005692.tif 000014
図６は、製造者、形式及び固有の識別子を区別するために使用されるオブジェクト識別子についての情報を取得するため、及びシステムによりサポートされる製造者及び形式についての情報を取得するためにシステムが初期化される場合のシーケンス図を例示する。ベンダモデル８６は、その情報を取得するためにＯＤＢＣ２　８８と相互作用する。ＯＤＢＣ２　８８は、ベンダモデル８６により要求された情報を取得するための、データベースに対するインターフェースを与える。ベンダモデル８６は、ＯＤＢＣ２　８８の関数ｇｅｔＭａｎｕｆＩｎｆｏ（）９０を呼び出し、監視される装置の製造者、形式及び固有の識別子を区別するのに使用されるオブジェクト識別子をデータベースから取得する。この情報は、上記の表８のｍ＿ＭａｎｕｆａｃｔｕｒｅＡｎｄＭｏｄｅｌＩｎｆｏＶｅｃｔｏｒに格納される。ｇｅｔＭａｎｕｆＩｎｆｏ（）９０は、システムによりサポートされる総ての製造者について総てのオブジェクト識別子がデータベースから読み取られるまで、複数回呼び出される。その後に、ベンダモデル８６は、ＯＤＢＣ２　８８の関数ｇｅｔＳｕｐｐｏｒｔｅｄＭｏｄｅｌ（）９２を呼び出し、システムによりサポートされる製造者及び形式をデータベースから取得する。この情報は、上記の表８のｍ＿ＭａｎｕｆａｃｔｕｒｅｒＭｏｄｅｌＭｐａに格納される。ｇｅｔＳｕｐｐｏｒｔｅｄＭｏｄｅｌ（）は、システムによりサポートされる総ての形式がデータベースから読み取られるまで、複数回呼び出される。システムによりサポートされる製造者及び形式を削除、修正又は付加するために唯一必要な変更は、サポートされる製造者及びモデルについての情報を格納するデータベースにおけるものである。システムによりサポートされる製造者及び形式が変わる場合に、何らの変更もシステムに行われる必要がない。その情報は、初期化中にデータベースから読み取られる。
【００５３】
図７は、初期化中に、監視される装置を表現するための装置オブジェクトを生成するシーケンス図を例示する。最初に、システム８（図１）は、装置２との通信を確立しようとする。システム８が装置２とインターフェースするよう構築することができなかったならば、製造者、形式及び固有の識別子のような装置２からのコンフィギュレーション情報が取得される。コンフィギュレーション情報を判定するプロセスにおける判定は、システムサポートデータベース（ＳＳＤ１０）を利用して、装置２がシステム８によりサポートされるか否かを見出すために行われる。装置オブジェクトは、ＳＳＤ１０からの情報を利用して形成され、装置がシステム８によりサポートされているか否かによらず　−　システム８及び装置２間に通信プロトコルを設定する。そして、装置に関するコンフィギュレーション情報が、システムコンフィギュレーションデータベース（ＳＣＤ６）にて更新される。送信インターフェース管理部９４は、ＯＤＢＣ９６のｇｅｔＣｏｎｆｉｇ（）１０２を呼び出す。ＯＤＢＣ９６は、監視される装置のコンフィギュレーション情報を取得するために、データベースにインターフェースを与える。コンフィギュレーション情報は、製造者名、形式名及び監視される装置のＩＰアドレス、並びに監視される装置について責任を有する者の氏名、電話番号及びＥメールアドレスを包含する。データベースは、監視されるべき総ての装置のコンフィギュレーション情報を包含する。しかしながら、図５のＯＤＢＣ２　８４に関連するデータベース内で特定されるように、データベース内の総ての装置がシステムによってサポートされないこともあり得る。
【００５４】
送信インターフェース管理部９４は、ｓｅｔＡｇｅｎｔ（）１０４を呼び出し、装置の製造者、形式及び固有の識別子を取得するために、監視される装置とのＳＮＮＰセッションを行う。この関数の詳細は、図８に示される。送信インターフェース管理部９４は、ベンダモデル９８のｇｅｔＭａｎｕｆａｃｔｕｒｅｒ（）１０６、ｇｅｔＭｏｄｅｌ（）１０８及びｇｅｔＵｎｉｑｕｅＩＤ（）１１０を呼び出し、監視される装置の製造者名、形式名及び固有の識別子を取得する。送信インターフェース管理部９４は、監視される装置に関する装置オブジェクトを生成するために、装置ファクトリ１００のｃｒｅａｔＤｅｖｉｃｅ（）１１２を呼び出す。装置オブジェクトは、監視される装置のステータス情報を取得するために、送信インターフェース管理部９４により使用される。送信インターフェース管理部９４は、データベース内のコンフィギュレーション情報を更新するために、ＯＤＢＣ９６のｕｐｄａｔｅＣｏｎｆｉｇ（）を呼び出す。
【００５５】
シーケンス内の総てのステップは、データベース内の監視される総ての装置が取得されるまで、反復される。装置オブジェクトは、監視される装置の各々について生成される。送信インターフェース管理部９４は各装置オブジェクトを維持する。
【００５６】
図８は、ベンダモデル１１８のｓｅｔＡｇｅｎｔ（）１２２関数を実行するためのシーケンス図である。送信インターフェース管理部１１６は、ベンダモデル１１８のｓｅｔＡｇｅｎｔ（）１２２を呼び出す。ベンダモデル１１８はＳＮＭＰ１２０のｓｅｔＡｇｅｎｔ（）１２４を呼び出す。この関数は、システム及び監視される装置の間でＳＮＭＰセッションを設定する。ベンダモデル１１８は、監視される装置の製造者名を取得するために、それ自身の関数ｏｂｔａｉｎＭａｎｕｆａｃｔｕｒｅ（）１２６を呼び出す。関数ｏｂｔａｉｎＭａｎｕｆａｃｔｕｒｅ（）１２６では、ベンダモデル１１８が、ＳＮＭＰ１２０のｇｅｔＮｅｘｔＳｔｒｉｎｇＶａｌｕｅＦｏｒＯＩＤ（）１２８を呼び出し、ＳＮＭＰを通じて監視される装置から事業オブジェクト識別子を取得する。事業オブジェクト識別子は、監視される装置の製造者を区別するために使用される。ベンダモデル１１８は、監視される装置の形式名を取得するために、それ自身の関数ｏｂｔａｉｎＭｏｄｅｌ（）１３０を呼び出す。関数ｏｂｔａｉｎＭｏｄｅｌ（）１３０では、ベンダモデル１１８は、ＳＮＭＰ１２０のｇｅｔＮｅｘｔＳｔｒｉｎｇＶａｌｕｅＦｏｒＯＩＤ（）１３２を呼び出し、監視される装置の形式名をＳＮＭＰを通じて取得する。ベンダモデル１１８は、監視される装置の固有の識別子を取得するために、それ自身の関数ｏｂｔａｉｎＵｎｉｑｕｅＩＤ（）１３４を呼び出す。関数ｏｂｔａｉｎＵｎｉｑｕｅＩＤ（）１３４では、ベンダモデル１１８は、ＳＮＭＰ１２０のｇｅｔＮｅｘｔＳｔｒｉｎｇＶａｌｕｅＦｏｒＯＩＤ（）１３６を呼び出し、監視される装置の固有の識別子をＳＮＭＰを通じて取得する。
【００５７】
図９は、ベンダモデルのｓｅｔＡｇｅｎｔ（）に関するフローチャート例である。ステップ１４０では、製造者名、形式名及び固有の識別子を表現する変数が、空白の文字列（ｅｍｐｔｙ　ｓｔｒｉｎｇ）に設定される。これらの変数は、表８に例示されるような、ｍ＿ｓＭａｎｕｆａｃｔｕｒｅ，ｍ＿ｓＭｏｄｅｌ，及びｍ＿ｓＵｎｉｑｕｅＩＤである。ステップ１４２では、監視される装置の事業オブジェクト識別子がＳＮＭＰを通じて取得される。ステップ１４４では、監視される装置から得られる事業オブジェクト識別子が、システムによりサポートされるものと比較される。システムによりサポートされる事業オブジェクト識別子及びその対応する製造者は、表８に示されるようなベクトルｍ＿ＭａｎｕｆａｃｔｕｒｅｒＡｎｄＭｏｄｅｌＩｎｆｏＶｅｃｔｏｒ内に格納される。このベクトルは、監視される装置の事業オブジェクト識別子が発見されたか否かを判別するために調査される。事業オブジェクト識別子がそのベクトルに見出されなかったならば、次はステップ１５６に進められる。事業オブジェクト識別子がベクトルに見出されたならば、監視される装置の製造者はシステムによってサポートされ、次はステップ１４６に進められる。ステップ１４６では、製造者名ｍ＿ｓＭａｎｕｆａｃｔｕｒｅｒに対する変数が、ベクトル内の事業オブジェクト識別子に対応する製造者名に設定される。ステップ１４８では、監視される装置の形式名及び固有の識別子を見出すために使用されるオブジェクト識別子に関する変数ｍ＿ｓＣｕｒｒｅｎｔＭｏｄｅｌＯＩＤ及びｍ＿ｓＣｕｒｒｅｎｔＵｎｉｑｕｅＯＩＤは、そのベクトル内の事業オブジェクト識別子に対応するオブジェクト識別子に設定される。ステップ１５０では、オブジェクト識別子ｍ＿ｓＣｕｒｒｅｎｔＭｏｄｅｌＯＩＤを利用して、形式名が、監視される装置からＳＮＭＰを通じて取得される。
【００５８】
ステップ１５２では、監視される装置から得られた形式名が、システムによりサポートされるものと比較される。システムによりサポートされる製造者及び形式は、表８に記載されているようなマップｍ＿ＭａｎｕｆａｃｔｕｒｅｒＭｏｄｅｌＭａｐに格納されている。このマップは、その形式がマップ内で発見されるか否かを判定するために調査される。その形式がマップ内で発見されなかったならば、次はステップ１５６に進む。形式がマップ内で発見されたならば、監視される装置の形式はシステムによってサポートされ、次はステップ１５４に進む。ステップ１５４では、形式名ｍ＿ｓＭｏｄｅｌに関する変数が、監視される装置から得られた形式名に設定される。ステップ１５６では、オブジェクト識別子ｍ＿ｓＣｕｒｒｅｎｔＵｎｉｑｕｅＯＩＤを利用して、固有の識別子が監視される装置からＳＮＭＰを通じて取得される。その後に、固有の識別子ｍ＿ｓＵｎｉｑｕｅＩＤに関する変数が、監視される装置から得られた固有の識別子に設定される。
【００５９】
ベンダモデルの関数ｓｅｔＡｇｅｎｔ（）は、システムによりサポートされるか否かを判定するために、監視される装置の製造者名及び形式名をシステムがＳＮＭＰを通じて取得することを可能にする。また、それは、システムが製造者名及び形式名を確認することを可能にする。
【００６０】
図１０は、監視される装置の特定の製造者及び形式についてのステータス情報を取得するために使用される情報をシステムが取得する場合のシーケンス図を例示する。装置ファクトリ１６０は、その情報を取得するためにＯＤＢＣ２　１６２と対話する。ＯＤＢＣ２　１６２は、装置ファクトリ１６２により要求された情報を取得するために、データベースにインターフェースを与える。装置ファクトリ１６０は、ＯＤＢＣ２　１６２の関数ｇｅｔＭａｎｕｆＳｔａｔｕｓＩｎｆｏ（）１６４を呼び出し、監視される装置から特定の製造者に関するステータス情報をＳＮＭＰを通じて取得するのに必要な情報を取得する。その情報は、ステータス情報の何らかの形式を表現する番号（ｉｎｆｏＴｙｐｅ）と、ＳＮＭＰを通じてステータス情報を取得するためのオブジェクト識別子を包含する。ｇｅｔＭａｎｕｆＳｔａｔｕｓＩｎｆｏ（）１６６は、特定の製造者に関する総てのステータス情報を取得するのに必要な情報がデータベースから読み出されるまで、複数回呼び出される。装置ファクトリ１６０は、特定の形式について監視される装置からＳＮＭＰを通じてステータス情報を取得するのに必要な情報を得るために、ＯＤＢＣ２　１６２の関数ｇｅｔＭｏｄｅｌＳｔａｔｕｓＩｎｆｏ（）１６８を呼び出す。その情報は、ステータス情報の何からかの形式を表現する番号（ｉｎｆｏＴｙｐｅ）及びＳＮＭＰを通じてステータス情報を取得するのに使用されるオブジェクト識別子を包含する。ｇｅｔＭｏｄｅｌＳｔａｔｕｓＩｎｆｏ（）１７０は、特定の形式についての総てのステータス情報を取得するのに必要な情報がデータベースから読み取られるまで、複数回呼び出される。このシーケンスは、監視される装置について装置オブジェクトが形成される場合に、装置ファクトリのｃｒｅａｔｅＤｅｖｉｃｅ（）関数の中で呼び出される。その情報は、図１１に示されるように、装置オブジェクトに付加される。
【００６１】
製造者に関連するステータス情報及び形式に関連するステータス情報を取得するために使用される情報を格納するためのデータベースを利用することで、監視される装置から得られるステータス情報は、システムに何らの変更もせずに、容易に修正され、削除され又はデータベースに付加され得る。
【００６２】
図１１は、装置ファクトリのｃｒｅａｔｅＤｅｖｉｃｅ（）関数に関するフローチャートを示す。ステップ１７４では、装置オブジェクトが、監視される装置を表現するために形成される。ステップ１７６では、総ての製造者の装置からステータス情報を取得するのに必要な情報を包含するベクトルが、局所的な又はローカル（ｌｏｃａｌ）ベクトルに割り当てられる。このベクトルは、表１０に示されるｍ＿ＧｅｎｅｒｉｃＤｅｖｉｃｅＶｅｃｔｏｒに相当する。ステップ１７８では、監視される装置の製造者名が検査され、それがシステムによってサポートされているか否かが判定される（システムによってサポートされていなければ、製造者名は空白文字列である。）。製造者名がサポートされていなかったならば、次はステップ１８６に進む。製造者名がサポートされていたならば、次はステップ１８０に進む。
【００６３】
ステップ１８０では、特定の製造者の監視される装置からステータス情報を取得するために必要な情報が、マップから取得され、ローカルベクトルに付加される。マップは、表１０に示されるｍ＿ＭａｎｕｆａｃｔｕｒｅｒＶｅｃｔｏｒＭａｐに相当する。ステップ１８２では、監視される装置の形式名が検査され、それがシステムによってサポートされているか否かが判別される（システムによってサポートされていなければ、形式名は空白文字列である。）。形式名がサポートされていなければ、次はステップ１８６に進む。形式名がサポートされていたならば、次はステップ１８４に進む。
【００６４】
ステップ１８４では、特定の形式の監視される装置からステータス情報を取得するのに必要な情報が、データベースから取得され、ローカルベクトルに付加される。ステップ１８６では、監視される装置の総てのステータス情報を取得するために必要な情報を包含するローカルベクトルが、装置オブジェクトに設定される。装置オブジェクトは、監視される装置から得るべきステータス情報が何であるかについての情報を有する。
【００６５】
装置ファクトリは総ての装置オブジェクトを生成及び初期化し、取得する必要のあるステータス情報が何であるかを把握するようにする。
【００６６】
図１２は、ｍｏｎｉｔｏｒＳｔａｔｕｓ（）関数を実行するシーケンス図を示す。本プロセスは、監視される装置のステータス情報を所望の場所に送信する。送信インターフェース管理部１９０は、データ転送１９６のｓｔａｒｔＳｅｎｄ（）１９８を呼び出し、監視される装置のステータス情報をＥメール（ＳＭＴＰ）を通じて送信するためにシステムを準備する。送信インターフェース管理部１９０は、監視される装置のステータス情報を取得するために、装置１９４のｇｅｔＳｔａｔｕｓ（）２００を呼び出す。装置１９４は、監視される装置に相当し、取得する必要のあるステータス情報が何であるかを把握する。送信インターフェース管理部１９０は、監視される装置のステータス情報をデータベース内に格納するために、ＯＤＢＣ１９２のｓａｖｅＳｔａｔｕｓ（）２０２を呼び出す。送信インターフェース管理部１９０は、監視される装置のステータス情報をＥメール（ＳＭＴＰ）を通じて送信するために、データ転送１９６のｄａｔａＳｅｎｄ（）２０４を呼び出す。ｇｅｔＳｔａｔｕｓ（）２００、ｓａｖｅＳｔａｔｕｓ（）２０２、及びｄａｔａＳｅｎｄ（）２０４のステップは、監視される装置各々について反復される。監視される装置各々について、装置オブジェクトが存在する。送信インターフェース管理部１９０は、Ｅメールを利用したステータス情報の送信を完了するために、データ転送１９６のｅｎｄＳｅｎｄ（）２０６を呼び出す。
【００６７】
図１３は、装置２１０のｇｅｔＳｔａｔｕｓ（）２１４関数を実行するためのシーケンス図を示す。送信インターフェース管理部２０８は、監視される装置のステータス情報を取得するために、装置２１０のｇｅｔＳｔａｔｕｓ（）２１４を呼び出す。装置２１０は、特定の製造者及び形式の監視される装置を表す。ステータス情報は、ＳＮＭＰを通じて監視される装置から取得される。監視される装置がシステムによってサポートされていなかったならば、監視される装置から得られるステータス情報は、エラーステータスのような、監視される総ての装置に対して取得可能なステータス情報（全システム（ａｌｌ−ｓｙｓｔｅｍ）ステータス情報）である。製造者が、形式を除いてシステムによりサポートされているならば、監視される装置から得られるステータス情報は、全システムステータス情報、及び特定の製造者の監視される総ての装置に対して取得可能なステータス情報（製造者固有ステータス情報）である。監視される装置の製造者及び形式がシステムによりサポートされるならば、監視される装置から得られるステータス情報は、全システムステータス情報、製造者固有ステータス情報、及び特定の形式の監視される装置総てに対して取得可能なステータス情報（形式固有ステータス情報）である。装置２１０はベクトルを含み、取得するのにどの情報をそれが必要とするかを把握するようにする。装置２１０は、Ｓｎｍｐ２１２のｇｅｔＮｅｘｔＳｔｒｉｎｇＶａｌｕｅＦｏｒＯＩＤ（）を呼び出し、システムが監視される装置からＳＮＭＰを通じてステータス情報を取得することを可能にする。ｇｅｔＮｅｘｔＳｔｒｉｎｇＶａｌｕｅＦｏｒＯＩＤ（）２１８は、総ての情報を監視される装置から取得するために複数回呼び出される。
【００６８】
図１４は、システムによりサポートされる製造者及び形式についての情報を含むデータベースのテーブル（表）を示す。このテーブルは、各製造者及び形式について取得される情報が何であるかについての情報をも包含する。製造者（Ｍａｎｕｆａｃｔｕｒｅｒ）２３０は、システムによりサポートされる製造者についての情報を含むテーブルである。また、製造者２３０は、付随する情報　−　製造者に対する事業オブジェクト識別子、監視される装置の形式名を見出すために使用されるオブジェクト識別子、監視される装置の固有の識別子を見出すために使用されるオブジェクト識別子を含む。ＳｕｐｐｏｒｔｅｄＭｏｄｅｌＢｙＭａｎｕｆａｃｔｕｒｅｒ２２０は、システムによってサポートされる、その対応する製造者に関する形式を包含するテーブルである。システムによりサポートされる製造者及び形式を付加又は削除するには、Ｍａｎｕｆａｃｔｕｒｅ２３０及びＳｕｐｐｏｒｔｅｄＭｏｄｅｌＢｙＭａｎｕｆａｃｔｕｒｅｒ２２０のテーブルが修正されることのみが必要とされる。システムのコード（ｃｏｄｅ）に対する何らの修正もなされる必要がない。システムは、データベースのこれらのテーブルからその情報を読み取る。
【００６９】
ＣｏｍＭａｎｕｆＳｔａｔｕｓ２２６は、その製造者名に基づいて監視される装置からどのような情報が取得されるかについての情報を含むテーブルである。このテーブルは、製造者名、及び情報の形式（ｔｙｐｅ）を表す番号を含む。ＭｏｄｅｌＳｔａｔｕｓ２２２は、その形式名に基づいて監視される装置からどのような情報が取得されるかについての情報を含むテーブルである。このテーブルは、製造者名、形式名、及び情報の形式を表す番号を含む。監視される装置から取得される情報の付加又は削除を行うには、ＣｏｍＭａｎｕｆＳｔａｔｕｓ２２６及びＭｏｄｅｌＳｔａｔｕｓ２２２のテーブルの修正のみが必要になる。システムのコードに対しては何らの修正も要しない。システムは、データベースのこれらのテーブルからその情報を読み取る。
【００７０】
ＥｎｕｍＯＩＤ２２４は、その番号に対応する情報を見出すために使用されるオブジェクト識別子についての情報を含むテーブルである。オブジェクト識別子は、監視される装置からＳＮＭＰを通じて特定の情報の形式を見出すためにシステムにより使用される。ＥｎｕｍＣｏｒｒｅｓｐｏｎｄｅｎｃｅ２２８は、情報の形式を表現するために使用される番号の記述を含むテーブルである。このテーブルは、システムにより使用されないが、番号が表すものが何であるかについての情報をシステムのユーザに与える。
【００７１】
図１５は、図１４にて説明したようなデータベースのテーブルの内容の例を示す。マイクロソフト（登録商標）アクセスは、システムによりサポートされる製造者及び形式についての情報を格納するために使用されるデータベースである。
【００７２】
図１６は、ＯＤＢＣ２パッケージについてのクラス図を示す。ＣＳｕｐｐｏｒｔＯＤＢＣ２３２クラスは、データベース内の情報にアクセスするための、このパッケージに関するインターフェースである。ＣＭａｎｕｆａｃｔｕｒｅｒＤａｔａ２４０クラスは、監視される装置の製造者、形式及び固有ＩＤを取得するために、データベースからの情報にアクセスする。ＣＳｕｐｐｏｒｔｅｄＭｏｄｅｌＤａｔａ２３４クラスは、システムによりサポートされる監視される装置の製造者及び形式についてのデータベースからの情報にアクセスする。ＣＣｏｍＭａｎｕｆＳｔａｔｕｓＤａｔａ２３６クラスは、監視される装置に関連する製造者ステータス情報を取得するために必要なデータベースからの情報にアクセスする。ＣＭｏｄｅｌＳｔａｔｕｓ２３８クラスは、監視される装置に関連する形式ステータス情報を取得するために必要なデータベースからの情報にアクセスする。ＣＭａｎｕｆａｃｔｕｒｅｒＤａｔａ２４２クラスは、製造者情報を有するデータベース内のテーブルに対するインターフェースを与える。ＣＳｕｐｐｏｒｔｅｄＭｏｄｅｌＤａｔａｂａｓｅ２４４クラスは、サポートされる形式についての情報を含むデータベース内のテーブルに対するインターフェースを与える。ＣＣｏｍＭａｎｕｆＳｔａｔｕｓＤａｔａｂａｓｅ２４６クラスは、製造者ステータス情報を含むデータベース内のテーブルに対するインターフェースを与える。ＣＭｏｄｅｌＳｔａｔｕｓＤａｔａｂａｓｅ２５０クラスは、形式ステータス情報を含むデータベース内のテーブルに対するインターフェースを与える。ＣＩｎｆｏＴｙｐｅＯＩＤＤａｔａｂａｓｅ２４８クラスは、ｉｎｆｏＴｙｐｅ一覧表（ｅｎｕｍｅｒａｔｉｏｎ）とオブジェクト識別子との間の対応（ｃｏｒｒｅｓｐｏｎｄｅｎｃｅ）を有するデータベース内のテーブルに対するインターフェースを与える。
【００７３】
ＣＭａｎｕｆａｃｔｕｒｅｒＤａｔａｂａｓｅ２４２、ＣＳｕｐｐｏｒｔｅｄＭｏｄｅｌＤａｔａｂａｓｅ２４４、ＣＣｏｍＭａｎｕｆＳｔａｔｕｓＤａｔａｂａｓｅ２４６、ＣＭｏｄｅｌＳｔａｔｕｓＤａｔａｂａｓｅ２５０、及びＣＩｎｆｏＴｙｐｅＯＩＤＤａｔａｂａｓｅ２４８は、総てマイクロソフト（登録商標）基本クラス（ＭＦＣ：Ｍｉｃｒｏｓｏｆｔ　Ｆｏｕｎｄａｔｉｏｎ　Ｃｌａｓｓ）ライブラリのＣＲｅｃｏｒｄｓｅｔ２５２から導出されるクラスである。
【００７４】
本発明の好適実施例に関するこれまでの記述は、例示及び説明を意図してなされている。本発明を総て論じ尽くすこと又は本発明を開示された詳細な態様に限定することを意図するものではなく、教示された内容に照らして多くの修正又は変形が可能である。例えば、ここに説明又は図示された１つ又はそれ以上の概念は、“Ｍｅｔｈｏｄ　ａｎｄ　Ｓｙｓｔｅｍ　ｏｆ　Ｒｅｍｏｔｅ　Ｓｕｐｐｏｒｔ　ｏｆ　Ｄｅｖｉｃｅ　Ｕｓｉｎｇ　Ｅｍａｉｌ”と題する２００１年１月９日に出願された関連出願の出願番号第０９／７５６，１２０号に開示されているシステム及び／又は方法に応用することが可能である。更に、出願番号第０９／７５６，１２０号に開示されている概念又は特徴は、ここに開示したシステム又は方法に応用され得る。本願実施例は、本発明の原理及びその実際の製品を好適に説明するために選択及び記述され、これにより、他の当業者が、本発明及び様々な実施例を、予定される特定の用途に合わせた様々な修正と供に利用することを可能にする。本発明の範囲は、特許請求の範囲によってのみ規定されることを意図する。
【００７５】
【図面の簡単な説明】
【図１】
図１は、本願実施例による装置２及びシステム８に関するネットワーク関係を示す図である。
【図２】
図２は、システム８が装置２とインターフェースするよう構成されているか否かを判別することを含むステップを示すフローチャート例である。
【図３】
図３は、システムコンフィギュレーションデータベース６を利用して、システム８が装置２とインターフェースするよう構成されているか否かを判別することを含むステップを示すフローチャート例である。
【図４】
図４は、装置２がシステム８によりサポートされているか否かを判別するための階層的手法の例を示す図である。
【図５】
図５は、本発明の実施例によるソフトウエアオブジェクトを示す図である。
【図６】
図６は、製造者、形式及び固有の識別子を区別するために使用されるオブジェクト識別子に関する情報を取得するために、及び製造者とシステムによりサポートされる形式についての情報を取得するためにシステムが初期化された場合の　シーケンス例を示す図である。
【図７】
図７は、初期化中に監視される装置を表現するための装置オブジェクトを生成するシーケンス例を示す図である。
【図８】
図８は、ＶｅｎｄｏｒＭｏｄｅｌ１１８のｓｅｔＡｇｅｎｔ（）１２２機能を実行するためのシーケンス図を示す。
【図９】
図９は、ＶｅｎｄｏｒＭｏｄｅｌのｓｅｔＡｇｅｎｔ（）１２２機能に関するフローチャート例を示す。
【図１０】
図１０は、監視される装置の具体的な製造者及び形式に関するステータス情報を取得するための情報をシステムが取得する場合のシーケンスを例示する。
【図１１】
図１１は、ＤｅｖｉｃｅＦａｃｔｏｒｙのｃｒｅａｔｅＤｅｖｉｃｅ（）機能に関するフローチャートを示す。
【図１２】
図１２は、ｍｏｎｉｔｏｒＳｔａｔｕｓ（）機能を実行するためのシーケンス図である。
【図１３】
図１３は、装置２１０のｇｅｔＳｔａｔｕｓ（）２１４関数を実行するためのシーケンス図である。
【図１４】
図１４は、システムによりサポートされる製造者及び形式についての情報を有するデータベーステーブルを示す。
【図１５】
図１５は、図１４に示されるようなデータベーステーブルの内容の具体例を示す図である。
【図１６】
図１６は、ＯＤＢＣ２パッケージに関する階級図を示す。
【符号の説明】
２　装置
４　ネットワーク
６　システムコンフィギュレーションデータベース
８　システム
１０　システムサポートデータベース
７０　送信インターフェース管理部
７２　ＯＤＢＣ１
７４　データ転送
７６　デバイスファクトリ
７８　ベンダモデル
８０　ＳＮＭＰ
８２　装置
８４　ＯＤＢＣ２
８６　ベンダモデル
８８　ＯＤＢＣ２
９４　送信インターフェース管理部
９６　ＯＤＢＣ
９８　ベンダモデル
１００　デバイスファクトリ
１１６　送信インターフェース管理部
１１８　ベンダモデル
１２０　Ｓｎｍｐ
１６０　デバイスファクトリ
１６２　ＯＤＢＣ２
１９０　送信インターフェース管理部
１９２　ＯＤＢＣ
１９４　装置
１９６　データ転送
２０８　送信インターフェース管理部
２１０　装置
２１２　Ｓｎｍｐ
２３２　ＣＳｕｐｐｏｒｔＯＤＢＣ
２３４　ＣＳｕｐｐｏｒｔｅｄＭｏｄｅｌＤａｔａ
２３６　ＣＣｏｍＭａｎｕｆＳｔａｔｕｓＤａｔａ
２３８　ＣＭｏｄｅｌＳｔａｔｕｓＤａｔａ
２４０　ＣＭａｎｕｆａｃｔｕｒｅｒＤａｔａ
２４２　ＣＭａｎｕｆａｃｔｕｒｅｒＤａｔａｂａｓｅ
２４４　ＣＳｕｐｐｏｒｔｅｄＭｏｄｅｌＤａｔａｂａｓｅ
２４６　ＣＣｏｍＭａｎｕｆＳｔａｔｕｓＤａｔａｂａｓｅ
２４８　ＣＩｎｆｏＴｙｐｅＯＩＤＤａｔａｂａｓｅ
２５０　ＣＭｏｄｅｌＳｔａｔｕｓＤａｔａｂａｓｅ
２５２　ＣＲｅｃｏｒｄＳｅｔ
【図１】
2004005692.tif 000015
【図２】
2004005692.tif 000016
【図３】
2004005692.tif 000017
【図４】
2004005692.tif 000018
【図５】
2004005692.tif 000019
【図６】
2004005692.tif 000020
【図７】
2004005692.tif 000021
【図８】
2004005692.tif 000022
【図９】
2004005692.tif 000023
【図１０】
2004005692.tif 000024
【図１１】
2004005692.tif 000025
【図１２】
2004005692.tif 000026
【図１３】
2004005692.tif 000027
【図１４】
2004005692.tif 000028
【図１５】
2004005692.tif 000029
【図１６】
2004005692.tif 000030