JP4723868B2 - ネットワーク装置から状態情報を得るために用いられるプロトコルを管理するための方法及びシステム - Google Patents

ネットワーク装置から状態情報を得るために用いられるプロトコルを管理するための方法及びシステム Download PDF

Info

Publication number
JP4723868B2
JP4723868B2 JP2005018672A JP2005018672A JP4723868B2 JP 4723868 B2 JP4723868 B2 JP 4723868B2 JP 2005018672 A JP2005018672 A JP 2005018672A JP 2005018672 A JP2005018672 A JP 2005018672A JP 4723868 B2 JP4723868 B2 JP 4723868B2
Authority
JP
Japan
Prior art keywords
information
protocol
status information
type
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005018672A
Other languages
English (en)
Other versions
JP2005216307A (ja
JP2005216307A5 (ja
Inventor
哲郎 元山
カーティス フォング アヴェリィ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/764,582 external-priority patent/US7296079B2/en
Priority claimed from US10/764,527 external-priority patent/US20050177642A1/en
Priority claimed from US10/764,467 external-priority patent/US7606894B2/en
Priority claimed from US10/764,569 external-priority patent/US7610372B2/en
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JP2005216307A publication Critical patent/JP2005216307A/ja
Publication of JP2005216307A5 publication Critical patent/JP2005216307A5/ja
Application granted granted Critical
Publication of JP4723868B2 publication Critical patent/JP4723868B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、ネットワークに接続された装置をモニタリングする方法に関する。本発明は、特に、複数のプロトコルを用いてネットワーク接続された装置のリモートモニタリングのための方法、システム及びコンピュータプログラムプロダクトに関する。
一般に知られているように、コンピュータシステムはハードウェアとソフトウェアとを含む。ソフトウェアは、コンピュータシステムを構成するハードウェア構成要素を動作し、管理するために作成される命令のリストを含む。代表的には、コンピュータシステムはスタンドアロンタイプ又はネットワーク化されたタイプである。ネットワーク化されたタイプのコンピュータシステムにおいては、複数の別個の装置がネットワークに接続され、それ故、それら別個の装置の間の通信はネットワークにより可能にされる。
更に、ハードウェア装置を動作するためのソフトウェアは、ハードウェア装置が協調的に機能することが可能であるようにハードウェア装置間の通信を可能にするために構成される必要がある。更に、そのような通信を容易にするために、又、ハードウェア装置は、各々のハードウェア装置が効率的な方式で機能することを確実にするために認識される各々のハードウェア装置の状態はモニタリングされることが望ましい。
本特許出願の目的について、本発明者は、複数の別個の装置又はハードウェア装置を制御し、構成し又はモニタリングするハードウェア装置をモニタリング装置と呼び、そのモニタリング装置により制御され、構成され又はモニタリングされるハードウェア装置を“モニタリングされる装置”と呼ぶこととする。
ネットワークにおいて位置付けられたハードウェア装置に対して、それらの装置は維持、使用又は他の目的のためにモニタリングされることが望ましい。しかしながら、ハードウェア装置及びインタフェースに関連する製造メーカーの違いに鑑みて、モニタリング装置が、ネットワークに接続された種々の他の装置と通信することは困難であり得る。そのような不利点は、ネットワーク管理者がネットワークに接続された装置の性能及び効率に関する重要な情報を得ることのないようにする可能性が最も高い。
SNMP(Simple Network Management Protocol)は、今日、データ通信ネットワーク、情報通信システム及び他のグローバル可到達装置のモニタリング及び管理のためのデファクトインダストリスタンダードとなっている。実際には、コンピュータ及び関連装置を扱う全ての組織は、ローカルエリアネットワーク及び広域ネットワークに亘ってそのような装置各々を中央でモニタし、診断し及び構成することができることを期待している。SNMPはこのような相互作用を可能にするプロトコルである。
装置がSNMP要求に応じるためには、SNMP要求を正確に理解し、その要求により要求された動作を実行し、SNMP応答を生成することを可能にするソフトウェアを装置に備えることが好ましい。SNMPエージェントソフトウェアは、代表的には、ネットワークエンティティに存在するサブシステムソフトウェアモジュールである。
システムにより実行されるオブジェクトの収集は、一般に、MIB(Management Information Base)と呼ばれる。MIBは又、装置のモニタリングに関する情報を有するデータベースであることが可能である。他のMIBの例としては、2、3例を挙げると、イーサネット(登録商標)インタフェースに重点を置いたイーサネット(登録商標)MIBと、802.1Dの管理のためのオブジェクトを規定するブリッジMIBとを含む。
プライベートMIBは有効キーなしで解読することが困難である値を含むため、装置をモニタリングするためにSNMPを用いることは困難である。ネットワークに接続された種々の装置をモニタリングするためにSNMPを用いる企業は、その企業の機密情報として維持される一意の識別子/キーを作成する。大部分において、結果は2値又は整数値として表示される。それ故、SNMPを用いる場合、モニタリングされている装置“被モニタリング装置”から受信された結果は、ユーザ理解可能方式でモニタリングされる装置の状態をユーザに提供することができない。
更に、SNMPを用いる場合、2値又は整数値として得られる結果を解読するためにプライベートMIBにアクセスすること又は有効キーなしで被モニタリング装置に関する詳細情報を得ることは困難である。更に、所定のプロトコル(例えば、SNMP又はHTTP/HTML)は、例えば、タイムアウトパケット又は損失パケット等の種々の理由のために失敗する可能性がある。従って、装置からのデータの抽出がそのような状況下で適切に管理されない場合、一部のプロトコルは他のプロトコルに比べてより多くの資源を必要とするために、時間及びメモリの非効率性がもたらされる。更に、一部のプロトコルを用いる情報抽出は、他のプロトコルを用いることに比べて、必要とする処理及びメモリはかなり少ないことが可能である。更に、あるプロトコルにより得られる一部の情報は、他のプロトコルにより得られる情報に比べて、装置をモニタリングするためにより有用であることが可能である。
本発明のシステム及び方法は、ネットワークに接続された装置のモニタリングを可能にすることにより、上記の問題点に対する解決方法を扱う。従って、ネットワークに通信可能であるように結合された別個の装置間で装置をモニタリングする方法について開示する。
その方法は、ハードウェアアクセスモジュールにより第1データベースにアクセスする段階であって、第1データベースは複数の通信プロトコルを支援する、段階を含む。第1データベースは、被モニタリング装置のモデル情報及び製造メーカーのような種々の情報を得るために複数の通信プロトコルにより用いられる情報と共に記憶される。
通信プロトコルは複数の通信プロトコルの中から選択され、選択された通信プロトコルは被モニタリング装置から状態情報を受信する。その方法は、第1データベースからの選択された通信プロトコル及び情報を用い、被アクセス装置から状態情報を受信し、及び第2データベース(DeviceODBC)に受信された状態情報を記憶して、被モニタリング装置にアクセスする段階を更に含む。
他の実施形態においては、本発明は、ネットワークに通信可能であるように結合された個別の装置間の装置をモニタリングする方法を提供する。複数の通信プロトコルが被モニタリング装置から情報を受信するために用いられることが可能である。例えば、SNMPプロトコルは被モニタリング装置にアクセスするために、先ず、選択され、SNMPプロトコルを用いて効率的に検索される装置情報が得られる。続いて、装置が付加プロトコルを支援する場合、HTTPプロトコルおよびFTPプロトコルが、SNMPプロトコルを用いて、効率的な検索ができなかった情報を得るために選択される。プロトコルの選択は、データベースに記憶された支援情報に関連して、プロトコルマネージャにより実行される。
本発明においては、モニタリングシステムは、例えば、LAN又はWANのようなネットワークに接続された少なくとも1つの装置(被モニタリング装置)をモニタリングすることが可能である。被モニタリング装置は、一意のIPアドレスを有する。被モニタリング装置に割り当てられたIPアドレス及び被モニタリング装置のためのベンダ/製造メーカーについての詳細はデータベースに記憶される。ネットワークをスキャンすること及び装置に問い合わせすることにより、装置のIPアドレスを得ることができる。そのような方法は既知である。それ故、モニタリングされるべき装置のIPアドレスはデータベースに既に取得され、記憶されていることが仮定される。
本発明は、被モニタリング装置から受信されたHTML情報から必要な情報をどのように抽出するかを指定する。一旦、被モニタリング装置のウェブページ位置がアクセスされる(即ち、IPアドレス及び指定されたポートにより)と、被モニタリング装置に対応する固有のウェブページが表示される。ウェブページにおける情報は、キー及び値の対のフォームの状態にある。例えば、トナーレベルは、カラープリンタのウェブページにおいて“黒色100%”として示されることが可能である。HTML/XMLパーサが、ウェブページにおける情報から必要な情報を検索するためにページの情報解析を行うために用いられる。HTML/XMLパーサを用いて、ウェブページから抽出された、必要な情報及びパラメータ値は、DeviceODBCに記憶される。
本発明は又、ここで説明するようなモニタリングシステムにより支援される装置モデル及び被モニタリング装置の種々のベンダを識別する。被モニタリング装置の種々のベンダはベンダ固有の方法で被モニタリング装置についての情報を提供するため、本発明は、被モニタリング装置のベンダ及びモデルの識別が被モニタリング装置の作動状態を決定することを可能にする。
本発明の一特徴に従って、ネットワークに通信可能であるように結合された被モニタリング装置に関連する状態情報を抽出するために用いられるそれぞれの通信プロトコルに関連する複数のプロトコルオブジェクトを初期化する、方法、システム及びコンピュータプログラムプロダクトであって:
(1)それぞれの通信プロトコル間で通信プロトコルを選択する段階;(2)選択された通信プロトコルを用いて、装置にアクセスするために、第1メモリから情報を検索する段階;(3)装置に関連するベンダ情報を得るように試みるために第1メモリから検索された情報と選択された通信プロトコルとを用いて装置にアクセスする段階;(4)ベンダ情報が装置から得られたかどうかを判定する段階;(5)ベンダ情報が装置から得られた場合、それぞれの通信プロトコルの各々を用いて、状態情報を抽出するために支援情報を第2メモリから得、複数のプロトコルオブジェクトの各々におけるそれぞれの支援情報及びベンダ情報を記憶する段階;並びに(6)ベンダ情報が装置から得られなかった場合、ベンダ情報が得られるまで又はそれぞれの通信プロトコルの各々の通信プロトコルが選択されるまで、処理段階を繰り返す段階;
を有する方法、システム及びコンピュータプログラムプロダクトを提供する
本発明の他の特徴に従って、ネットワークに通信可能であるように結合された被モニタリング装置からどの状態情報が抽出されるべきかを決定するための、方法、システム及びコンピュータプログラムプロダクトであって:
(1)装置から状態情報を抽出するために用いられる複数の通信プロトコルの中から通信プロトコルを選択する段階;(2)選択された通信プロトコルに関連するプロトコルオブジェクトを第1メモリから検索する段階であって、プロトコルオブジェクトは、選択された通信プロトコルを用いて、少なくとも、状態情報のタイプと、状態情報の重みと、装置からの状態情報のタイプを抽出するための情報とを含む、段階;(3)状態情報のタイプが第2メモリに存在するかどうかを判定する段階であって、第2メモリは装置から前に抽出された状態情報から構成されている、段階;(4)前記の判定する段階が、状態情報のタイプが第2メモリに存在することを判定した場合、プロトコルオブジェクトに記憶された状態情報の重みが、第2メモリに記憶された同じタイプの状態情報に関連する対応する重みより大きいかどうかをチェックする段階;並びに(5)(a)前記の判定する段階が、状態情報のタイプが第2メモリに存在しないことを判定した場合、又は(b)前記の判定する段階が、状態情報のタイプが第2メモリに存在することを判定し、前記のチェックする段階が、状態情報の重みが第2メモリに記憶された同じタイプの状態情報に関連する対応する重みより大きいことを判定した場合、状態情報を得るためにプロトコルオブジェクトに含まれる装置を抽出するための情報と選択された通信プロトコルとを用いて装置にアクセスする段階;
を有する方法、システム及びコンピュータプログラムプロダクトを提供する。
本発明の他の特徴に従って、ネットワークに通信可能であるように結合された少なくとも1つの被モニタリング装置に関連する情報を管理するための、方法、システム及びコンピュータプログラムプロダクトであって:
(1)少なくとも1つの被モニタリング装置から状態情報を抽出するために用いられる複数の通信プロトコル間から通信プロトコルを選択する段階;(2)選択された通信プロトコルに関連するプロトコルオブジェクトを第1メモリから検索する段階であって、プロトコルオブジェクトは、少なくとも1つの被モニタリング装置のベンダ及びモデル情報を含む、段階;(3)選択された通信プロトコルにより支援される少なくとも1つの被モニタリング装置についての被モニタリング装置のベンダ名をプロトコルオブジェクトから得る段階;(4)得られたモデル名に対応するモデル名をプロトコルオブジェクトから得る段階;(5)得られたベンダ名と得られたモデル名とを用いて記述的ストリングを生成する段階;(6)記述的ストリングが第2メモリに存在するかどうかを判定する段階;並びに(7)前記の判定する段階が、記述的ストリングが第2メモリに存在しないことを判定した場合、プロトコルオブジェクトに関連して第2メモリにその記述的措置リングを記憶する段階;
を有する方法、システム及びコンピュータプログラムプロダクトを提供する。
本発明の他の特徴に従って、ネットワークに通信可能であるように結合された少なくとも1つの被モニタリング装置から状態情報を抽出するために必要な情報を管理するための、方法、システム及びコンピュータプログラムプロダクトであって:
(1)被モニタリング装置から状態じょうほうを抽出するために用いられる複数の通信プロトコルの中から通信プロトコルを選択する段階;(2)第1メモリから記述的ストリングを検索する段階であって、記述的ストリングは、選択された通信プロトコルにより支援される対応するモデル名及びベンダ名を含む、段階;(3)記述的ストリングから対応するモデル名とベンダ名とを抽出する段階;(4)抽出されたベンダ名及び抽出されたモデル名が被モニタリング装置のベンダ名及びモデル名それぞれに適合するかどうかを判定する段階;並びに(5)前記の判定する段階が、抽出されたベンダ名及び抽出されたモデル名が被モニタリング装置のベンダ名及びモデル名それぞれに適合することを判定した場合、選択された通信プロトコルを用いて状態情報を得るために装置にアクセスする段階;
を有する方法、システム及びコンピュータプログラムプロダクトを提供する。
本発明の他の特徴に従って、必要に応じて、ネットワーク装置に関連する状態情報を抽出するために通信プロトコルを用いることができることを判定するための方法、システム及びコンピュータプログラムプロダクトであって:
(1)複数の通信プロトコルの中から通信プロトコルを選択する段階;(2)選択された通信プロトコルを用いて、ネットワーク装置にアクセスするための情報を、ネットワーク装置に関連する装置オブジェクトから得る段階;(3)装置オブジェクトから得られたネットワーク装置にアクセスするための情報と選択された通信プロトコルとを用いて、ネットワーク装置にアクセスすることができるかどうかを判定する段階;(4)前記の判定する段階が、ネットワーク装置が選択された通信プロトコルを用いてアクセスされることができない場合、選択された通信プロトコルを用いて、ネットワーク装置にアクセスするための情報を装置オブジェクトから取り除く段階;並びに(5)前記の判定する段階が、ネットワーク装置が選択された通信プロトコルを用いてアクセスされることができる場合、ネットワーク装置型状態情報を抽出するために選択された通信プロトコルを用いることができるかどうかを判定するために更なるテストを実行する段階;
を有する方法、システム及びコンピュータプログラムプロダクトを提供する。
更に、更なるテストを実行する段階は:(1)選択された通信プロトコルを用いて、ネットワーク装置からネットワーク装置のベンダを得ることができるかどうかを判定する手順;(2)前記の判定する手順が、選択された通信プロトコルを用いてベンダを得ることができないことを判定した場合、選択された通信プロトコルが一般ベンダを支援するかどうかをチェックする手順であって、選択された通信プロトコルが一般ベンダを支援しない場合、選択された通信プロトコルを用いてネットワーク装置にアクセスするための情報を装置オブジェクトから取り除く手順;(4)得られたベンダが選択された通信プロトコルにより支援されない場合、選択された通信プロトコルが一般ベンダを支援するかどうかをチェックする手順であって、選択された通信プロトコルが一般ベンダを支援しない場合、選択された通信プロトコルを用いてネットワーク装置にアクセスするための情報を装置オブジェクトから取り除く手順;並びに(5)得られたベンダが選択された通信プロトコルにより支援される場合、モデル情報に関連する更なるテストを実行する手順;
から構成される。
更に、モデル情報に関連する更なるテストを実行する手順は:選択された通信プロトコルを用いてネットワーク装置から、ネットワーク装置のモデルをえることができるかどうかを判定する段;(2)前記の判定する段階が、選択された通信プロトコルを用いてモデルを得ることができないことを判定した場合、選択さえた通信プロトコルが一般モデルを支援するかどうかをチェックする段階であって、選択された通信プロトコルが一般モデルを支援しない場合、選択された通信プロトコルをもしいてネットワーク装置にアクセスするための情報を装置オブジェクトから取り除く段;並びに(3)得られたモデルが選択された通信プロトコルにより支援されない場合、選択された通信プロトコルが一般モデルを支援するかどうかをチェックする段であって、選択された通信プロトコルが一般モデルを支援しない場合、選択された通信プロトコルを用いてネットワーク装置にアクセスするための情報を装置オブジェクトから取り除く段;
から構成される。
図1は、装置の動作をモニタリングし、診断し、制御するための種々の装置及びコンピュータを有する模式図を示している。特に、図1は、例えば、コンピュータワークステーション17、18、20及び22に接続された狭域ネットワーク(LAN)のような第1ネットワーク16を含む。それらのワークステーションは、例えば、パーソナルコンピュータ装置、Unix(登録商標)ベースのコンピュータ、Linuxベースのコンピュータ又はApple社のMacintosheを含むいずれのタイプのコンピュータであることが可能である。又、ディジタル画像形成装置24、ファックス装置28及びプリンタ32はネットワーク16に接続される。当業者は理解するであろうように、ディジタルコピー器/プリンタ24及びファックス装置28の2つの又はそれ以上の構成要素は、一体化された“画像形成装置”に結合されることができる。例えば、コピー器/プリンタ24、ファックス装置28、プリンタ31並びにワークステーション17、18、20及び22は機器又は被モニタ装置と呼ぶことが可能である。一部の構成においては、1つ又はそれ以上のワークステーションを事務所用電気製品に代えることが可能である。又、いずれのワークステーション17、18、20及び22並びに事務所用電気製品27は、ネットワーク16において被モニタ装置をポーリングするため、及びモニタリング装置に収集されたデータを送信するために、中間モニタリング装置として機能することができる。
そのような事務所の電気製品の一例としては、株式会社リコー製のeCabinet(登録商標)がある。又、ファックスサーバ(図示せず)はネットワーク16に接続され、電話、ケーブル又は無線コネクションを有することが可能である。各々のディジタルコピー器/プリンタ24、ファックス装置28及びプリンタ32は又、ネットワーク16に接続されることに加えて、従来の電話コネクション26及び/又はケーブルコネクション30及び/又は無線コネクション34それぞれを含むことが可能である。下で説明するように、被モニタリング装置24、28及び32は、直接電話コネクション、無線コネクション又はケーブルコネクションにより又はネットワーク16により、例えば、インターネットを介して、モニタリング装置と又呼ばれる、リモートモニタリング、診断及び制御ステーションと通信する。
他の代表的なビジネス環境下では、被モニタリング装置は、例えば、多機能イメージング装置、スキャナ、プロジェクタ、会議システム及びシュレッダ等を含むことが可能である。他の用途においては、ネットワーク16は、被モニタリング装置が例えば、マイクロ波オーブン、洗浄器、乾燥器、皿洗い器、家庭用娯楽システム、冷蔵庫、炊飯器、加熱器、エアコン、温水器、セキュリティカメラ等のような電気製品又はメータ(電気、ガス、水)である家庭用ネットワークであることが可能である。
図1において、広域ネットワーク(WAN)(例えば、インターネット又はその後継器)は、一般に、参照番号10により表される。WAN10は、プラーベートWAN、公衆WAN又はハイブリッドタイプであることが可能である。WAN10は、参照番号12A乃至12Iにより表される複数相互接続されたルータ及びコンピュータを含む。WANに亘って通信する方法は、“Simple Mail Transfer Protocol”と題されたRFC821、“ARPAインターネットテキストメッセージのフォーマットのための規格”と題されたRFC822、“ファイル転送プロトコル(FTP)”と題されたRFC959、“多目的インターネットメール拡張仕様(MIME)パート1:インターネットメッセージ本体”と題されたRFC2045、“An Extensible Message Format for Delivery Status Notifications”と題されたRFC1894、“Post Office Protocol−バージョン3”と題されたRFC1939、“Hypertext Transfer Protocol−HTTP/1.1”todaisareta RFC
2068、“An Extensible Message Format for Message Disportion Notifications”と題されたRFC2298を含む、www.ietf.org/rfc.htmlにおけるInternet Engineering Task Force(IETF)から利用可能な一連のRFC(Request for Comments)により周知である。これらのリファレンスの各々のコンテンツは、それらの援用によって発明の説明を一部代替する。
通信に関する伝送制御プロトコル/インターネットプロトコル(TCP/IP)については、例えば、1994年にAddison−Wesley Publishing Companyから出版された、W.R.Stevens著、文献“TCP/IP Illustrated”,Vol.1,The protocolsに記載されており、その文献の全体のコンテンツの援用によって発明の説明を一部代替する。又、Comer及びStevens著、“Internetworking with TCP/IP”,Vol.1−3の援用によって発明の説明を一部代替する。
図1を続けて参照するに、ファイアウォール50Aは、WAN10とネットワーク16との間に接続される。ファイアウォールは、ファイアウォールの一の側において許可されたコンピュータのみがネットワーク、コンピュータ又はファイアウォールの他の側における個別の部品にアクセスすることが可能である装置である。ファイアウォールは周知であり、市販されている装置及び/又はソフトウェア(例えば、Zone Labs社製のZone Alarm)である。同様に、ファイアウォール50B及び50Cは、ネットワーク52及びワークステーション42それぞれからWAN10を分離する。ファイアウォールに関する追加の詳細については、文献、“Firewalls and Internet Security”byW.R.Cheswick and S.M.Bellovin,1994,Addison Wesley Publishingと、文献、“Building Internat Firewalls”byD.B.Chapman and E.D.Zwicky,1995,O‘Reilly & Associates,Inc.において見出すことができる。その文献の全体のコンテンツの援用によって発明の説明を一部代替する。
ネットワーク52は従来のネットワークであり、複数のワークステーション56、62、68及び74を含む。これらのワークステーションは、1つの企業の異なる部署(例えば、営業、購買、経理、広報、マーケティング、製造、デザインエンジニアリング及び顧客サービス部)内に分布された状態で位置付けられることが可能である。ネットワーク52により接続されたワークステーションに加えて、ネットワーク52に直接、接続されないワークステーション42を又、備えることが可能である。ワークステーション42に接続されたディスク46に記憶されたデータベースにおける情報は、ネットワーク52に直接、接続されたワークステーションに対してWAN10に亘って適切な暗号化及びプロトコルを用いて共有されることが可能である。又、ワークステーション42は、電話回線への直接接続及び/又はケーブルネットワーク及び/又は無線ネットワーク44を含み、ディスク46におけるデータベースは電話回線、ケーブルネットワーク又は無線ネットワーク44によりアクセスされることが可能である。本発明により用いるケーブルネットワークは、テレビジョンプログラミングを担持するために典型的に用いられるケーブルネットワーク、コンピュータと共に典型的に用いられるディジタルデータの高速通信を提供するケーブル、又はいずれの他の所望のタイプのケーブルを用いて、実施されることが可能である。
他の実施形態においては、ワークステーション42は、ラップトップコンピュータ、PDA、パームトップコンピュータ又はネットワーク能力を有する携帯電話であることが可能である。これらの装置は、ディスク46に記憶されたデータベースに記憶された情報にアクセスするために用いられることが可能である。
ディジタルコピー器/プリンタ24、オフィス電気製品27、ファックス装置28又はプリンタ32それぞれに関する情報は、ディスク46、54、58,64、70及び76に記憶された1つ又はそれ以上のデータベースに記憶されることが可能である。基地のデータベースは、(1)Microsoft、IBM、Oracle及びSybaseによるSQLデータベース、(2)他の関連データベース、及び(3)非関連データベース(Objectivity、JYD Software Engineering及びOrient Technologyからのオブジェクト指向データべースを含む)、を含む。各々の営業、購買、経理、広報、マーケティング、製造、デザインエンジニアリング及び顧客サービス部は、それらの部署自体のデータベースを有することが可能である、又は1つ又はそれ以上のデータベースを共有することが可能である。データベースを記憶するために用いられる各々のディスクは、ハードディスク又は光ディスクのような不揮発性メモリである。代替として、データベースは、固体メモリ装置及び/又は半導体メモリ装置を含むいずれの記憶装置に記憶されることが可能である。例えば、ディスク64はマーケティングデータベースを記憶することが可能であり、ディスク58は製造データベースを記憶することが可能であり、ディスク70はエンジニアリングデータベースを記憶することが可能であり、及びディスク76は顧客サービスデータベースを記憶することが可能である。代替として、ディスク54及び56は1つ又はそれ以上のデータベースを記憶することが可能である。
WAN10に接続されるワークステーション56、62、68、74及び42に加えて、これらのワークステーションは又、モニタされる、診断される及び/又は制御される機械/装置への安全な接続を提供するための、電話回線、ケーブルネットワーク又は無線ネットワークへの接続を含むことが可能である。更に、通信媒体の一が適切に動作しない場合、他の通信媒体の1つが、通信のためのバックアップとして自動的に使用されることが可能である。
本発明の特徴は、機械を診断及び制御するためのコンピュータ/モニタリングシステムと機械との間の通信又は伝送の“蓄積型(store−and−forward)”モード(例えば、インターネットの電子メール、又は、ここでは、e−mailという)を使用することである。代替として、伝送されるメッセージは、FTP及びHTTP(Hyper Text Transfer Protocol)のような直接的な端末間接続(例えば、最終目的地へのソケットコネクション)を形成する通信のモードを用いて、実施されることが可能である。
図2は、図1に示しているディジタルコピー器/プリンタ24の機械的レイアウトを示している。図2において、参照番号101はスキャナのためのファンであり、参照番号102はレーザプリンタと共に用いられる多面鏡であり、参照番号103はレーザ(図示せず)からの光をコリメートするために用いられるFθレンズを表す。参照番号104スキャナからの光を検出するためのセンサを表す。参照番号105はスキャナからセンサに光を焦点合わせするためのレンズを表し、参照番号106は感光ドラム132において画像を消去するために用いるクエンチングランプを表す。帯電コロナユニット107及び現像ローラ108を備えている。参照番号109はスキャンされる文書を描写するためのランプを表し、要素110、111及び112はセンサ104に光を反射するための鏡を表す。ドラム鏡113は、多面鏡102からもたらされる光を感光ドラム132に反射するために備えられる。ファン114はディジタル画像形成装置の帯電領域を冷やすために用いられ、第1給紙ローラ115は第1給紙カセット117から紙を供給するために用いられ、参照番号116はマニュアル給紙テーブルを表す。同様に、第2給紙ローラ118は第2カセット119と連動して用いられる。参照番号120は中継ローラを表し、参照番号121はレジストレーションローラを表し、122は画像密度センサを表し、123は転写/分離コロナユニットを表す。参照番号124はクリーニングユニットを表し、125は真空ファンを表し、126は搬送ベルトを表し、127は圧力ローラを表し、そして128は出口ローラを表す。加熱ローラ129は紙にトナーを固定するために用いられ、130は排気ファンを表し、主モータ131はディジタルコピー器/プリンタ24を駆動するために用いられる。
図3は、図2のディジタルコピー器/プリンタ24の電気的構成要素を示すブロック図であり、CPU160はその装置の制御装置として機能するマイクロプロセッサである。ランダムアクセスメモリ(RAM)162は、ディジタルコピー器/プリンタ24の動作パラメータを含む帯電情報を動的に記憶する。不揮発性メモリ(例えば、読み出し専用メモリ(ROM)又はフラッシュメモリ)は、ディジタルコピー器/プリンタを作動させるために用いられるプログラムコードとコピー器/プリンタを表す静的状態データ(例えば、モデル名、モデル番号、装置のシリアルナンバー及びデフォルトパラメータ)とを記憶する。
マルチポートネットワークインタフェース166は、ディジタルコピー器/プリンタ24が少なくとも1つの通信ネットワークにより外部装置と通信することを可能にするように備えられている。参照番号168は電話、無線又はケーブル回線を表し、参照番号170は168において認識されるネットワークとは異なる他の種類のネットワークを表す。マルチポートネットワークインタフェースの更なる詳細については、図4を参照して説明することとする。インタフェース制御器172は、システムバス186に操作パネルを接続するために用いられる。操作パネル174は、例えば、コピーの枚数、縮小/拡大、暗さ/明るさ等のような画像形成装置の操作を制御するためのコピーボタン、キーを含むディジタルコピー器/プリンタ24においてみられる標準的な入力及び出力装置を含む。更に、液晶表示装置が、ユーザに対してディジタルコピー器/プリンタ24のメッセージ及びパラメータを表示するために操作パネル174内に含まれることが可能である。
ローカルコネクションインタフェース171は、RS232、パラレルプリンタポート、USB及びIEEE 1394のようなローカルポートによる接続である。FireWire(IEEE 1394)は、Wicklgren,I.,“The Facts About “FireWire”,IEEE Spectrum, April 1997,Vol.34,Number 4,pp.19−25において説明されており、その文献の全体のコンテンツの援用によって発明の説明を一部代替する。好適には、エラー検出及び再送を含む“高信頼性”通信プロトコルが用いられる。
ストレージインタフェース176はシステムバス186に記憶装置を接続する。例えば、記憶装置は、従来の電気的消却プログラム可能型読取専用メモリ(EEPROM:Electrically Erasable Programmable Read Only Memory)により置き換えることができるフラッシュメモリ178、及びディスク182を有する。ディスク182は、ハードディスク、光ディスク及び/又はフロッピー(登録商標)ディスクドライブであることが可能である。付加メモリ装置は、コネクション180によりディジタルコピー器/プリンタ24に接続されることが可能である。フラッシュメモリ178は、装置24の寿命に亘って殆ど変わらない、ディジタルコピー器/プリンタ24のパラメータを表す半静的状態データを記憶するために用いられる。そのようなパラメータは、例えば、ディジタルコピー器/プリンタのオプション及び設定を含む。任意インタフェース184は、外部のインタフェースのような付加ハードウェアがディジタルコピー器/プリンタ24に接続されることを可能にする。クロック/タイマー187は、時間及び月日の両方を常に把握し、又、経過時間を測定するために利用される。
図3は又、ディジタルコピー器/プリンタ24を構成する種々の部分を示している。参照番号202はソータを表し、ディジタルコピー器/プリンタ24の出力をソーティングするために用いられるアクチュエータ及びセンサを含む。デュプレクサ200は従来のセンサ及びアクチュエータを含む。大きい容量のトレーユニット198は、紙トレーが大量のシートを保持するために備えられる。デュプレクサと同様に、トレーユニット198は又、従来のセンサ及びアクチュエータを含む。
給紙制御器196は、ディジタル画像形成装置に及びそれにより給紙する操作を制御するために用いられる。スキャナ194はディジタル画像形成装置に画像をスキャンするために用いられ、光、鏡等のような従来のスキャニング要素を含む。更に、スキャナセンサは、スキャナがホームポジションにあることを決定するためにホームポジションセンサとして用いられ、ランプサーミスタはスキャンランプの正確な操作を確実にするために用いられる。プリンタ/イメージャ192はディジタル画像形成装置の出力をプリントし、従来のレーザプリント機構と、トナーセンサと、画像密度センサとを含む。フューザ190は、高温ローラを用いてページ上でトナーを溶かすために用いられ、出口センサと、フューザ190が過熱されないようにするサーミスタと、オイルセンサとを含む。更に、例えば、自動文書供給器、異なる種類のソータ/コレータ、又はディジタル画像形成装置に付加されることができる他の要素のような、ディジタル画像形成装置の任意の要素に接続するために用いられる、任意のユニットインタフェース188がある。
図4は、マルチポートネットワークインタフェース166についての詳細を示している。ディジタル画像形成装置は、トークンリングインタ、電話回線168Aに接続された従来の電話インタフェース224、無線インタフェース、又はLAN170に接続されたイーサネット(登録商標)インタフェースにより、外部装置に通信することが可能である。他のインタフェースとして、DSL(Digital Subscriber Line)(オリジナルDSL、同心DSL及び非対称DSL)を含むことが可能であるが、これらに限定されない。LAN(Local Area Network)及び電話回線の両方に接続される信号装置はIntel社から市販されており、Intel Pro 10/100+Modemとして知られている。
CPU若しくは他のマイクロプロセッサ又は回路構成は、ディジタル画像形成装置のセンサの各々の状態をモニタするためにモニタリング処理を実行し、順序付け処理がディジタル画像形成装置を制御し、操作するために用いられる。更に、ディジタル画像形成装置の全体的操作を制御するために実行される(1)中央システム制御処理と、ディジタル画像形成装置に接続された外部装置への高信頼性の通信を確実にするために用いられる(2)通信処理とがある。システム制御処理は、静的状態メモリ(例えば、図3のROM164)、セミ静的メモリ(例えば、フラッシュメモリ178又はディスク182)又は動的状態メモリ(例えば、揮発性又は不揮発性メモリ)(例えば、RAM162、フラッシュメモリ178又はディスク182)におけるデータ記憶をモニタし、制御する。更に、静的状態メモリは、例えば、フラッシュメモリ178か又はディスク182のどちらかを含む不揮発性メモリのようなROM164以外の素子であることが可能である。
上記の詳細説明はディジタル画像形成装置に関するものであるが、本発明は、例えば、アナログコピー装置、ファックス装置、スキャナ、プリンタ、ファックスサーバ、プロジェクタ、会議装置、シュレッダ、他の事務用機器又は事務所用電気製品のような他の事務所用機器又は装置、若しくは、他の電気製品(例えば、電子レンジ、VCR、DVD、ディジタルカメラ、携帯電話、パームトップコンピュータ)に同等に適用可能である。更に、本発明は、蓄積型(store−and−forward)又は直接接続ベースの通信を用いて動作する他の種類の装置を含む。そのような装置は、検針システム(ガス、水道、電気検針システムを含む)、自動販売機、又は、操作又はリモート診断の間にモニタされる必要がある、いずれの機械的装置(例えば、自動車、洗浄器、乾燥器)を含む。特殊用途の機器及びコンピュータのモニタリングに加えて、本発明は、モニタリングされる及び/又は制御される一般用途のコンピュータをモニタリング、制御及び診断するために用いられることができる。
図5は、異なる装置及びサブシステムがWAN10に接続されている、本発明の他のシステムを示す図である。しかしながら、本発明の一部としてこれらの装置又はサブシステムの各々を有する必要はない。図5における各々の構成要素又はサブシステムは、本発明の個別の部分である。更に、図1に示す要素は、図5に示すWAN10に接続されることが可能である。図5において、インターネット260−1に接続されたファイアウォール50−1を示している。インターネット260−1に接続されたサービスマシン254は、データベースフォーマットに記憶されることが可能であるデータ256を含み、又はそれに接続されている。データ256は、履歴、性能、故障、並びに、被モニタリング装置の操作、故障又は設定若しくはコンピュータ又は任意装置が非モニタリング装置により含まれるというような設定情報、を含む。サービスマシン254は、データを伝送するために被モニタリング装置を必要とし、又は、リモート制御及び/又は診断テストが被モニタリング装置において実施されることが必要である、コンピュータ又は装置として実施されることが可能である。サービスマシン254はいずれの種類の装置として実施されることが可能であり、好ましくは、一般用途コンピュータのようなコンピュータ化された装置を用いて実施される。又、サービスマシン254は、ビリング、アカウンティング、サービス処理、パーツ追跡及びレポートを含む種々多様なデータベースを有するネットワークに亘って、複数のコンピュータから成ることが可能である。
図5の他のサブシステムは、ファイアウォール50−2、イントラネット260−2及びそれらの接続されたプリンタ262を含む。このサブシステムにおいて、プリンタ262により(及び、同様に、コピー装置286により)電子メッセージを送信する及び受信する機能が、(1)回路構成、(2)マイクロプロセッサ又は(3)プリンタ262に組み込まれた又はそれの内部に含まれたいずれの他の種類のハードウェア(即ち、別個の一般用途のコンピュータを用いることなく)、により実行される。
代替の種類のサブシステムは、America Online、Earthlink及びNiftyserveのような既知の営利会社を含む、いずれのタイプのインターネットサービスプロバイダ(ISP)であることが可能であるインターネットサービスプロバイダ264の利用を含む。このようなサブシステムにおいて、コンピュータ266は、ディジタル又はアナログモデム(例えば、電話回線モデムと、ケーブルモデムと、ADSL(Asymmetric Digital Subscriber Line)に亘って使用されるモデムのようないずれの種類の通信を用いるモデムと、高周波モデム、光ファイバモデム又は赤外光線を用いる装置のような無線モデムと)によりISP264に接続される。更に、事務所用装置268はコンピュータ266に接続される。事務所用装置268(又は、図5に示す、いずれの他の装置)の代替として、ディジタルコピー装置、いずれの主対の電気製品、セキュリティシステム、又は電気、水道又はガスユーティリティメータのようなユーティリティメータ、又はいずれのここで述べた他の装置のような、異なる種類の機器をモニタリングする、又は制御することが可能である。
又、図5に、ネットワーク274に接続されたファイアウォール50−3を示している。ネットワーク274はいずれの種類のコンピュータネットワーク(例えば、イーサネット(登録商標)又はトークンリングネットワーク)として実施されることが可能である。ネットワークを制御するために用いられることが可能であるネットワーキングソフトウェアは、Novell社又はMicrosoft社から市販されているソフトウェアを含むいずれの好ましいネットワーキングソフトウェアを含む。ネットワーク274は、必要に応じて、インターネットとして実施されることが可能である。ネットワーク274に接続されたコンピュータ272は、事務所用装置278から情報を得るために用いられ、ネットワークに接続された種々の機器において起こった問題を示すレポート及びネットワーク274に接続された装置の月間使用レポートのようなレポートを作成することが可能である。この実施形態においては、コンピュータ276は事務所用装置278とネットワーク274との間に接続されている。このコンピュータはネットワークから通信を受信し、適切なコマンド、データ又はいずれの他の情報を事務所用装置278に転送する。
事務所用装置278とコンピュータ276との間の通信は、高周波コネクション、電気的コネクション及び光コネクション(例えば、赤外線コネクション又は光ファイバコネクション)を含む有線ベースの又は無線方式を用いて実現されることが可能である。同様に、図5に示している種々のネットワーク及びイントラネットの各々は、高周波ネットワークのような無線ネットワークの確立により含まれるいずれの好ましい方式を用いて確立されることが可能である。ここで説明している無線通信は、Bluetooth仕様(ワールドワイドウェブサイトwww.bluetooth.comで利用可能である)の状態で開示された周波数ホッピング無線技術のような拡散コード及び周波数ホッピング技術を用いる技術を含む拡散スペクトル技術を用いて確立されることが可能であり、その援用によって発明の説明を一部代替する。
図5に示す他のサブシステムは、ファイアウォール50−4、イントラネット260−4、イントラネットに接続されたコンピュータ282、事務所用電気製品185及びコピー装置286を有する。コンピュータ282は、レポートを作成し、診断又は制御手順を要求するために用いられる。このような診断及び制御手順は、事務所用電気製品185及びコピー装置286又は図5に示されている又は図5と共に用いられるいずれの他の装置に関連して実行されることが可能である。図5は複数のファイアウォールを示しており、ファイアウォールは好適であるが、オプションの装置、それ故、本発明は、必要に応じて、ファイアウォールの使用なしで操作されることが可能である。ネットワーク化された装置のモニタリング及び制御のために、サービスマシン254の代わりに、いずれのコンピュータ(266、272又は282)を用いることができる。更に、いずれのコンピュータは、ウェブにより必要な装置情報又は使用情報を検索するために、サービスマシン254にアクセスすることが可能である。
図6Aは、典型的なe−mail交換システムに接続された装置/電気製品300を示しており、それは、構成要素302、304、306、308、310、312、314、316及び316を含み、従来の方式で実施されることが可能であり、上で参照したStevensによる文献における図28.1からアレンジされている。コンピュータインタフェース302は、ここで説明している、いずれのアプリケーションユニット又は装置/電気製品300と接続される。図6Aは、装置/電気製品300が送信器であることを示しており、送信及び受信機能は図6Aにおけるものとは逆になっている。更に、必要に応じて、ユーザは装置/電気製品300と接続する必要は全くない。コンピュータインタフェース302は、次いで、メールエージェント304と相互作用する。Unix(登録商標)に対するポピュラーメールエージェントは、MH、Berkeley Mail、Elm及びMushを含む。オペレーティングシステムのWindows(登録商標)ファミリに対するメールエージェントは、Microsoft Outlook及びMicrosoft Outlook Expressを含む。コンピュータインタフェース302の要請により、メールエージェント304は、送信されるe−mailメッセージを作成し、必要に応じて、送信されるそのようなメッセージをキュー306に置く。送信されるべきメールはメッセージトランスファエージェント(MTA:Messaage Transfer Agent)308に転送される。Unix(登録商標)システムに対する共通MTAはSendmailである。典型的には、メッセージトランスファエージェント308及び312は、TCP/IPコネクション310を用いて通信を交換する。特に、メッセージトランスファエージェント308と312との間の通信はいずれのサイズのネットワーク(例えば、WAN又はLAN)に亘って存在することが可能である。更に、メッセージトランスファエージェント308及び312はいずれの通信プロトコルを用いることが可能である。本発明の一実施形態においては、図6Aの要素302および304は、アプリケーションユニットの使用をモニタリングするためにライブラリに存在する。
メッセージトランスファエージェント312から、e−mailメッセージはユーザメールボックス314に記憶され、メールエージェント316に転送され、最終的に、受信端末として機能する端末318においてユーザに送信される。
この“蓄積型(store−and−forward)”プロセスは、直接接続がメール受信者と確立されるまで待つ必要があることから、送信メールエージェント304を解放する。ネットワーク遅延のために、通信は、アプリケーションが感応しない実質的時間量を必要とする。そのような感応性における遅延は、一般に、アプリケーションユニットのユーザには受け入れられない。蓄積型プロセスとしてe−mailを用いることにより、固定された時間の期間(例えば、3日)の間、故障が自動的に生じた後、再送信が試みられる。代替の実施形態においては、アプリケーションは、1つ又はそれ以上の個別のスレッドに通信要求を渡すことにより、待つことを回避することができる。そのようなスレッドは、このとき、受信端末318との通信を制御することができる一方、アプリケーションは、再び、ユーザインタフェースへの応答を開始する。ユーザが継続する前に終了した通信を有するように望む、他の実施形態においては、受信端末との直接通信が用いられる。そのような直接通信は、送信端末と受信端末との間のファイアウォールによりブロックされないいずれのプロトコルを用いることができる。そのようなプロトコルの例としては、Telnet、FTP(File Transfer Protocol)及びHTTP(Hyper Text Transfer Protocol)がある。
インターネットのような公衆WANは、一般に、安全であるとはみなされない。それ故、メッセージの機密性を保つことが望まれる場合、公衆WAN(及び、他企業プレイベートWAN)に亘って伝送されるメッセージを暗号化することができる。暗号化機構は周知であって、市販されており、本発明と共に用いられることが可能である。例えば、C++ライブラリ機能、crypt()は、Unix(登録商標)オペレーティングシステムと共に使用するためにSun Microsystems社から市販されている。暗号化及び復号化ソフトウェアパッケージは周知であって、市販されており、本発明と共にしようされることが又、可能である。そのようなパッケージの1つはPGP社から市販されているPGPである。
図6Aの一般的構造に対する代替としては、コンピュータインタフェース302、メールエージェント304、メールキュー306及びメッセージトランスファエージェント308として機能する単一のコンピュータを用いることが可能である。更に、メッセージトランスファエージェント308は、TCP/IPコネクション310によりメッセージトランスファエージエンと312に接続される。図6Cの実施形態においては、装置/電気製品300は、e−mailの能力を用いてTCP/IPコネクション310に直接接続される。図6Cの実施形態の1つを使用することは、装置/電気製品300としてe−mailの能力と共にファックス装置を用いることを含む(例えば、RFC2305において規定されるように(インターネットメールを用いるファックスの簡単なモード))。
図6Dは、装置/電気製品300は、それ自体によりe−mailを直接受信する能力を有しないが、装置/電気製品300はメールサーバからメールを受信するためにPOP3プロトコルを用いるように、メールボックス314及びメッセージトランスファエージェント308を含むメールサーバ/POP3サーバへのコネクション310を有する。
図7は、メールを転送するための代替の実施形態を示しており、上で参照したStevensによる文献の図28.3から適合化されたものである。図7は、各々の端部にリレーシステムを有する電子メールシステムを示している。図7の構成は、機構における一システムがメールハブとして機能することを可能にする。図7においては、2つのメールエージェント304及び316の間に接続された4つのMTAが存在する。これらのMTAは、ローカルMTA322A、リレーMTA328A、リレーMTA328B及びローカルMTA322Dを含む。メールメッセージのために用いられる最も一般的なプロトコルは、本発明と共に用いられることができるSMTP(Simple Mail Transfer Protocol)であるが、いずれの好ましいメールプロトコルを用いることが可能である。図7において、参照番号320は、コンピュータインタフェース302、メールエージェント304及びローカルMTA322A を含む送信ホストを表す。装置/電気製品300は、送信ホスト320に接続され、又は、代替として、送信ホスト320内に含まれる。他の場合には、装置/電気製品300及びホスト320は、ホストの能力が装置/電気製品300に組み込まれた1つの機器の状態にあることが可能である。他のローカルMTA322B、322C、322E及び322Fを又、含むことが可能である。送信及び受信されるメールは、リレーMTA328Aのメールのキュー306Bにおいてキューイングされることが可能である。メッセージはTCP/IPコネクション310(例えば、インターネットコネクション又はいずれの他の種類のネットワークにおけるコネクション)において転送される。
送信されたメッセージは、リレーMTA328Bにより受信され、必要に応じて、メールのキュー306Cに記憶される。メールは、次いで、受信ホスト342のローカルMTA322Dに転送される。メールは、1つ又はそれ以上のユーザメールボックス314に置かれ、続いて、メールエージェント316に転送され、最終的に、端末318においてユーザに転送されることが可能である。必要に応じて、メールはユーザインタラクションなしで端末に直接、転送されることが可能である。
図5のコンピュータ266及び276を含む、本発明において用いられる種々のコンピュータは、図8に示すように実施されることが可能である。更に、必要に応じて、図5のサービスマシン254、コンピュータ272及びコンピュータ282を含む、本発明において用いられるいずれの他のコンピュータは、図8に示すコンピュータと類似する方式で実施されることが可能である。しかしながら、図8に示している要素の全てが、それらのコンピュータの各々において必要とされるとは限らない。
図8においては、コンピュータ360は、例えば、Intel、AMD、Motorola、日立及びNECのような企業から市販されているマイクロプロセッサを含むいずれのタイプのプロセッサとして実施されることが可能であるCPU362を含む。RAM364のような作用メモリがあり、無線インタフェース366は無線装置368と通信する。インタフェース366と装置368との間の通信はいずれの無線媒体(例えば、高周波又は光波)を用いることが可能である。高周波は、Bluetooth仕様において開示されているような周波数ホッピング技術を用いて又はCDMA(Code Division Multiple Access)通信のようなスペクトル拡散技術を用いて、実施されることが可能である。
コンピュータ360はROM370とフラッシュメモリ371とを含むが、いずれの他の種類の不揮発性メモリ(例えば、電気的消却プログラム可能ROM、即ち、EEPROM)をフラッシュメモリ371に付加して又はそれに代えて用いることが可能である。入力制御器372はキーボード374及びマウス371に接続されている。シリアル装置380に接続されたシリアルインタフェース378がある。更に、パラレルインタフェース382はパラレル装置384に接続され、ユニバーサルシリアルバス(USB)インタフェース386はユニバーサルシリアルバス装置388に接続され、又、IEEE 1394装置398に接続された、一般に、ファイアワイア(fire wire)装置と呼ばれるIEEE 1394装置400がある。システムバス390はコンピュータ360の種々の要素に接続している。ディスク制御器396は、フロッピー(登録商標)ディスクドライブ394及びハードディスクドライブ392に接続される。通信制御器406は、コンピュータ360がネットワーク404に亘って他のコンピュータ(例えば、e−mailメッセージを送信することにより)通信することを可能にする。I/O(Input/Output)制御器408は、例えば、SCSI(Small Computer System Interface)バスを用いて、ハードディスク412及びプリンタ410に接続される。又、CRT(陰極線管)414に接続された表示制御器416があるが、液晶表示装置、発光ダイオード表示装置、プラズマ表示装置等を含む、いずれの他の種類の表示装置を用いることが可能である。
ここで、図9を参照するに、本発明の代表的な実施形態に従った、全体的なシステム900の模式図を示している。システム900は、複数の装置であって、例えば、レーザプリンタ908、スキャナ910、ネットワーク装置912及び多機能プリンタ914を含むように示されており、全てはネットワーク100に接続されている。これらの複数の装置は、一般に、ここでは、“被モニタリング装置”という。システム900は又、被モニタリング装置908、910、912及び914をモニタリングし、制御するためのネットワーク100に接続されたワークステーション/モニタリングシステム902(以下、制御器902という)を含む。各々の被モニタリング装置908、910、912及び914には一意のアドレスが与えられている。例えば、ある装置に割り当てられたIPアドレスは、その装置に対する一意のアドレスとなる。それ故、制御器902においてユーザは、それぞれの被モニタリング装置に割り当てられた一意のIPアドレスにアクセスすることにより被モニタリング装置908乃至914の間のそれぞれの装置にアクセスすることができる。本発明は、ネットワークに接続された装置を一意に識別するためにIPアドレスを用いることに限定されるものではないことを理解することができるであろう。
被モニタリング装置908乃至914の間の装置にアクセスするとき、制御器902は、SNMP又は/及びHTTPプロトコルにより種々の情報を得る。そのような情報は、トラブルシューティング情報を含む装置の動作状態に関する詳細情報を含む。例えば、制御器902は、特定の装置のジャム(jam)位置を得て、アクセスし、そのジャムを取り除くようにその装置の担当者にメッセージを送信する。レーザプリンタ908の動作状態/詳細は、トナーレベル、ペーパージャムの兆候、プリンタのトレーのプリント用紙の品質等のような詳細を含む。
制御器902はネットワーク100に物理的に接続されることが可能であり、又は無線で結合されることが可能であることが理解されるであろう。例えば、ネットワーク100に無線で結合されたように示されている携帯情報端末(PDA)920又はラップトップコンピュータ922は又、制御器922として用いられることが可能である。アクセスポイント924は、ネットワーク100とPDA922又はラップトップコンピュータ922との間の無線通信を可能にするインタフェースとして機能する。以下、本発明は、制御器902はネットワークに接続された被モニタリング装置の状態を制御し、モニタリングすることを前提として説明することとする。
ネットワーク100は、そのような被モニタリング装置の制御及びモニタリングを可能にする被モニタリング装置908乃至914と制御器902との間の通信を容易にする。ネットワークに接続されている装置の数は、本発明においては限定されない。ネットワーク100はローカルエリアネットワーク(LAN)又は広域ネットワーク(WAN)であることが可能である。同様に、被モニタリング装置908、910、912及び914は単なる例示として示されている。
制御器902は、記憶装置904及びデータベース906に通信可能であるように結合されている。記憶装置904は、ハードディスク、光ディスク及び/又は外部ディスク装置を含む。データベース906は記憶装置904に通信可能であるようにリンクされ、記憶装置904に記憶されたデータの容易な検索のためのRDBMS(Relational Database Management System)を含む。記憶装置904は、好ましくは、被モニタリング装置908乃至914の各々に関する詳細データを記憶している。例えば、レーザプリンタ908の型、モデル、種々の機能及びトラブルシューティングの詳細のような詳細情報は記憶装置904に記憶されている。又、所定の基準値と比較される、レーザプリンタの動作状態についての偏差値は又、記憶装置904に記憶されることが可能である。データベース906及び記憶装置904は制御器902に通信可能であるように結合されると説明したが、制御器902はインストールされるデータベース及び設置される記憶装置と共に構築されることが可能であることが理解されるであろう。そのような場合、記憶装置906及びデータベース904は制御器902に内在するとして示される。
制御器902は、複数の装置908乃至914の制御及びモニタリングを用にするためにソフトウェアと共にインストールされる。シンプルネットワーク管理プロトコル(SNMP)、ファイル転送プロトコル(FTP)及びハイパーテキスト転送プロトコル(HTTP)は複数の装置908乃至914をモニタリングするための制御器902により用いられ、複数の装置908乃至914から受信されたデータは、参照番号950に示すように、ASN.1バイナリフォーマット、HTTMフォーマット又はXMLフォーマットの方式で提供される。
図9はイメージング装置のみを示しているが、モニタリング装置と複数の被モニタリング装置との間で情報を通信するためのネットワークは、電気製品と検針装置がネットワークに接続されている家庭用ネットワークを含むことが可能である。制御器/ワークステーション902により収集されたデータは、e−mail、FTP又は更なる処理のためのリモート装置に対するいずれの他の通信プロトコル手段により送信されることができる。ワークステーション902、PDA920又はラップトップ922は、データを収集し、データを記憶し、通信プロトコルによりデータを送信する制御器であることが可能であるが、制御器はネットワークに接続されたいずれの装置であることが可能であることが理解されるであろう。いずれのネットワーク装置(例えば、プリンタ)は、ネットワークにおいて他の装置の状態をモニタリングし、収集されたデータを記憶し、及び/又はいずれの他の通信プロトコル手段(例えば、e−mail、FTP)により収集されたデータを送信することが可能であるモニタリングシステムを含むことができる。Xerox Document 4025及びHP LaserJet 9000は両方共、e−mailを送信することができる。
モニタリングシステムアーキテクチャ
図10は、本発明の代表的な実施形態に従ったリモート装置に関連したデータのモニタリングにおいて用いられるモニタリングシステム1000(及び、関連インタフェース機能)を示している。モニタリングシステム1000は、例えば、NTにおけるService、WIndows 2000及びUnix(登録商標)におけるDaemonのようなコンピュータ駐在プログラムであるソフトウェアモジュールMonitoeServise 1004を含む。好ましい実施形態においては、モニタリングシステムは、オブジェクト指向ソフトウェア環境を用いて実施される。又、タイマーモジュール1002及びモニタモジュール1006はモニタリングシステム1000に含まれる。タイマーモジュール1002及びモニタモジュール1006は、モニタサービスモジュール1004により呼び出されるライブラリ機能である。例えば、モニタサービスモジュール1004はInitTimer1003機能と呼び出すことによりタイマーモジュール1002を初期化し、obtainDelayAndAction(int&,int&)機能を呼び出すことにより遅延パラメータ及びアクションパラメータを得る。init()機能は又、図13に示しように、モニタモジュール1006における種々のモジュールを初期化するためのモニタサービスモジュール1004と呼ばれる。init()機能は、既知の方法により収集されたIPアドレス、パラメータ名及び値を含む外部ソースにより被モニタリング装置に割り当てられたIPアドレス及びパラメータ値を得るために用いられることができる。モニタモジュール1006は、下で更に詳細に説明するように、支援データベース1024に及びモニタデータベース1014に通信可能であるように結合されている。
一旦、被モニタ装置のIPアドレスが得られると、IPアドレスは、製造メーカー(ベンダ)及びモデル情報のような情報を得るために被モニタリング装置と連絡をとるモニタリングシステムにより用いられる。モニタリングシステム1000により実行される一部の機能には次のような機能がある。
void initTimer(void)
この機能はタイマーを初期化する。特に、この機能はレジストリからタイミング情報を得るためにタイマーオブジェクトをトリガする。
void obtainDelayAndAction(int&out_nDelay,int&out_nAction)
この機能は、アクションインジケータ及びスリープ機能(1000を掛ける必要がある)に対してすぐに遅延時間を返送する。アクションインジケータは、次のように規定される。即ち、0=イベントチェッキング;1=被モニタリングデータを送信する;及び、2=データをモニタリングし、ローカルデータベースに記憶する。
int init(void)
この機能はモニタを初期化する。更に、それは装置がモニタリングされるようにする。リターンintはエラーがないとして0が定義されるエラーコードである。
int monitorStatus(int in_nAction)
この機能はプリセット情報である。リターンintはエラーがないとして0が定義されるエラーコードである。
int end(void)
この機能は、オブジェクトを閉じる前にモニタをきれいにする。リターンintはエラーがないとして0が定義されるエラーコードである。
モニタモジュール
図11は、種々のソフトウェアサブモジュールと、モニタモジュール1006のサブモジュール間の呼び出し機能とを含むモニタモジュール1006の構造の詳細を示している。モニタモジュール1006は、多くのモジュールにより用いられるクラスを含む共通モジュール1101、図10に示すようにインタフェース機能により規定されるタスクを終了するために、他のサブモジュール(装置ODBCモジュール1004、装置モジュール1110及びHWaccessモジュール1116を含む)を管理するモニタマネージャモジュール1102を含む。特に、装置ODBCモジュール1104は、標準インタフェースにより外部装置情報にアクセスするために、アクセスされる。HWaccessモジュール1116は、複数の通信プロトコルからの選択された通信プロトコル(例えば、HTTP、SNMP及びFTP)を用いて、被モニタリング装置からベンダ、モデル、一意のID及び状態情報を得る。
次に、上記のモニタモジュール間のインタフェースの一部の列挙及び説明を行う。例えば、一部のモジュールは、変換フォーマットにおいて情報を得るために“init”機能又は付加機能を有する必要がある。
void updataConfig(std::map<infoType,std::string>&)
この機能が呼び出される前に、呼び出し機能は、獲得された機能がヌルストリングを返送する場合、ベンダおよびモデルエントリを置き換えないことが好ましい。この機能は、装置ODBCモジュール1104において現在の記録の装置情報データベースを更新する。この機能は、下のObtainConfigが最初に呼び出されるとき、最も効率的である。先ず、この機能は、IPアドレスが装置ODBCモジュール1104において同じであるかどうかを調べる。IPアドレスフィールドが同じでない場合、正確なIPアドレスを有する記録がデータベースから得られる。次いで、他のフィールドがコピーされ、記録は更新される。
bool obtainConfig(std::map<infoType,std::string>&,std::map<std::string,std::vector<SParameter>>&)
この機能は、所定のフォーマットにおける装置情報に対する装置ODBCモジュール1104からマップを、並びにプロトコル及び関連パラメータのマップを得る。この機能は、データが返送される場合、真を返送し、更なるデータが存在しない場合、偽を返送する。
bool saveStatus(std::map<infoType,std::string>&)
この機能は装置ODBCモジュール1104に状態情報を記憶する。この機能は、記憶が成功したとき、真を返送し、そうでないときは、偽を返送する。
Cdevice createDevice(const std::string&in_sIP,CHWaccess&in_HWaccess,std::map<std::string,std::vector<SParameter>>&in_ProtocolParameters)
この機能は、in_sIPとin_ProtocolParametersとに基づいて
装置を与える。与えられた装置はCHWaccessによりハードウェアに接続される。装置を与えることができない場合、その機能は0を返送する。それ故、呼び出しオブジェクトは、返送オブジェクトポインタが0であるか又は0でないかを調べる必要がある。
bool canAccessHW(void)
この機能は、ハードウェアがネットワークによりアクセスされることができるとき、真を返送し、そうでないとき、偽を返送する。
bool getVender(std::string&out_sVender)
この機能はベンダ名を返送する。装置がシステムにより支援されているが、プロトコルの1つによりアクセスされることができない場合、そのストリングは“GENERIC”を含む。プロトコルにおいてエラーが検出される場合、その機能はヌルストリングを返送する。そうでない場合、その機能は真を返送する。
bool getModel(std::string&out_sModel)
この機能は装置のモデルを得る。モデルが得られる場合、この機能は真を返送する。エラーがプロセスにおいて検出される場合、その関数はヌルストリングを伴って偽を返送する。
bool getUniqueID(std::string&out_sUniqueID)
この機能は装置の一意のIDを返送する。一意のIDが得られる場合、この機能は真を返送する。エラーがプロセスにおいて検出された場合、その機能はヌルストリングを伴って偽を返送する。
bool obtainStatus(map<infoType,std::string>&out_StatusMap)
この機能は状態マップを返送する。この機能は、状態が返送されるとき、真を返送し、状態が得られないとき、偽を返送する。この機能は、HWaccess及び装置モジュールからの異なるマップを返送することに留意されたい。装置モジュールにおいて、イベント状態情報は、HWaccessからのマップに加えられ、消去される。
enum checkEventStatus(void)
この機能はネットワーク装置のイベントを得るようにトリガする。enumタイプ及び値はクラスにおいて規定される必要がある。enum値は、eNoEventSinceClearAndNoEventDetected、eNoEventSinceClearAndEventDetected、eEventSinceClearAndNoEventDetected、eEventSinceClearAndEventDetectedを含む必要がある。
bool obtainEvenStatus(std::map<infoType,std::string>&out_EventStatusMap)
この機能はイベント状態情報を得る。この機能は、状態が返送されるとき、真を返送し、状態が得られないとき、偽を返送する。
void clearEventStatus(void)
この機能は、最後のobtainStatus機能がEventStatusを呼び出す又は消去するため、蓄積されたイベント状態を消去する。
void initBegin(void)
この機能は、特に、ソフトウェア装置オブジェクトを与えるために、HWaccessにより初期化プロセスを開始する。
void initEnd(void)
この機能は、特に、装置オブジェクト付与が終了したことを表すHWaccessにより初期化プロセスを終了する。
bool canAccessIP(cont std::string&in_sIP,std::map<std::string, std::vector<SParameter>>&in_ProtocolParameters)
この機能は、装置がIPアドレスにおいてアクセスされることができるとき、真を返送し、そうでないとき、偽を返送する。
boot obtainVender(std::string&out_sVender,std::map<std::string,std::vector<SParameter>>&inOut_ProtocolParameters,const std::string&in_sIP)
この機能はベンダを得る。この機能は、動作が成功する場合、真を返送し、そうでない場合、空ストリングを伴って偽を返送する。この機能呼び出しの間、プロトコルは調べられ、特定のプロトコルが状態モニタリングのために用いられない場合、そのプロトコルはinOut_ProtocolParametersから削除される。
boot obtainModel(std::string&out_sModelName,std::map<std::string,std::vector<SParameter>>&inOut_ProtocolParameters,const std::string&in_sIP)
この機能はモデル名を得る。この機能は、動作が成功する場合、真を返送し、そうでない場合、空ストリングを伴って偽を返送する。この機能呼び出しの間、プロトコルは調べられ、特定のプロトコルが状態モニタリングのために用いられない場合、そのプロトコルはinOut_ProtocolParametersから削除される。
boot obtainUniqueID(std::string&out_sUniqueID,std::map<std::string,std::vector<SParameter>>&inOut_ProtocolParameters,const std::string&in_sIP)
この機能は一意のIDを得る。この機能は、動作が成功する場合、真を返送し、そうでない場合、空ストリングを伴って偽を返送する。この機能呼び出しの間、プロトコルは調べられ、特定のプロトコルが状態モニタリングのために用いられない場合、そのプロトコルはinOut_ProtocolParametersから削除される。
EerrorCode obtainEvent Status(std::map<infoTYpe,std::string>&out_StaqtusMap, コンststd::sting&in_sIP,std::map<std::string,std::vector<Sparameter>>&in_ProtocolParameters)
この機能はイベント状態を得る。ErrorCodeは下のように定義される。
boot obtainStatus(std::map<infoType,::string>&out_StatusMap,const std::string&in_sIP,const std::string&in_sVender,const std::string&in_sModel,std::map<std::string,std::vector<SParameter>>&in_ProtocolParameters)
この機能は装置の状態を得る。この機能は、動作が成功する場合、真を返送し、そうでない場合、空マップを伴って偽を返送する。
図12は、HWaccessモジュール1116により受信されたキー値に関連する値の受信のために情報を交換するために、図11に示すようなHWaccessモジュール1116により用いられるデータ構造を示している。例えば、図12に示すようなSKeyValueInfoデータ構造は、所定のウェブページにおける特定の情報タイプ(m=infoType1202に対応する)に対応する情報を得る方法を決定するために用いられる。典型的には、数多くのベンダは、被モニタリング装置に関するそれぞれのウェブページに表示されるキー情報を識別するために、ベンダ固有識別子及び命名法を用いる。例えば、プリンタ装置によりプリントされるページ数を決定するために、Hewlett Packard社は“ページカウント”機能を用いる一方、Xerox社は、“給紙されたトータルシート”機能を用いて同様に識別する。本発明の機能は、ベンダ毎の多様性を克服するためのものであり、それ故、装置固有情報を識別する標準化され且つ一貫した方法を提供し、装置固有データ構造/SkeyValueInfo構造1200を用いることにより情報に対応する値を抽出する。SkeyValueInfoデータ構造1200は公である属性を含む。
SkeyValueInfoは、典型的には、データストリング又はキーストリングの方式で被モニタリング装置から受信された情報からの値情報を識別するために生成されたデータ構造である。SkeyValueInfoは複数のフィールドを含み、各々のフィールドは図12に示す情報により表される。SkeyValueInfo構造1200は
、ストリングキーを表すm_sKeyフィールド1204と、値情報が位置付けされることが可能である、好ましくは、ストリングにおける位置の数を示すタグベースの値であるm_nPositionフィールド1206と、m_nInLinePositionフィールド1212とを含む。例えば、モニタリングの対象となるプリンタ装置のページカウントを、キーワードの次の第2位置に見つけることが可能である。m_sType1208は、被モニタリング装置の表示されたウェブページから検索することができる情報のタイプを表す。
例えば、被モニタリング装置のモデル名のような値がキー(製品名)の同じデータラインにおいて見つけられるとき、m_nPositionフィールドは“0”であり、m_sDelimiter1210は、キーに関連する値を抽出するために用いられる特定のデリミタを示している。SKeyValueInfoデータ構造は、HTMLフォーマットにおいて被モニタリング装置から受信された情報からの値情報の抽出の方法を示している。
図13は、図10に示しているモニタモジュール1006の呼び出しシーケンスを表す一連のinit()機能を示している。モニタマネージャ1102は、初期化機能を開始するためにHWaccessモジュール1116を初期化する。続いて、モニタマネージャ1102は被モニタリング装置に関する情報を得、被モニタリング装置と通信するために被モニタリング装置に割り当てられたIPアドレスを用いる。モニタマネージャ1102は、被モニタリング装置のコンフィグレーション情報を得るためにDeviceODBC1104にアクセスする。モニタマネージャ1102に返送されたコンフィグレーション情報は、例えば、被モニタリング装置のIPアドレスと、各々のプロトコルのためのパラメータ名及び関連値と、ベンダ/製造メーカー及び被モニタリング装置のモデル情報とを含む。一旦、IPアドレスが得られると、モニタマネージャ1102は、図35のCDeviceFactoryクラス1302により装置モジュール1110のクラス構造に基づいてソフトウェアオブジェクトを生成するために、IPアドレスと、パラメータ名と、各々のプロトコルについての関連値とを設定する。装置ソフトウェアオブジェクトが連続的に生成されるとき、HWaccessモジュール1116は、生成された装置ソフトウェアオブジェクトに記憶されるべき被モニタリング装置からの一意のIDと、モデルと、ベンダとを得るために用いられる。
一旦、ベンダと、モデルと、一意のIDとが装置ソフトウェアオブジジェクトから得られると、MonitorMnager1102は、被モニタリング装置から受信された情報を用いてデータベース(例えば、DeviceODBC1104)を更新する。図13は1つの装置を示しているが、obtainConfigからupdateConfigまでの段階は、外部ソースにおいて特定の装置全てを網羅するために繰り返される。更に、図23、24、25及び26において指定された各々のプロトコルが初期化される。図24、25及び26におけるODBCに対応するデータベーステーブルはアクセスされ、被アクセス装置に対する必要な情報は、被アクセス装置からの状態情報収集がより早くなるように、外部記憶装置から内部データ構造に転送される。
図14は、図11に示すような、MonitorMnager1102により被モニタリング装置の状態を決定するための一連の状態モニタ機能を示している。obtainStatus機能が装置から生じてHWaccessにいくとき、下で説明するように、CHWaccessクラスは順に、異なるパラメータを有する抽象クラスにより、図23、24、25及び26において説明されている各々のプロトコルに対するobtainStatus機能呼び出しを発する。各々のプロトコルモジュールは、被モニタリング装置から状態情報を抽出するために必要な情報を既に貯えており、その情報は図13で表している初期化時間の間に一度アクセスされたものである。それ故、状態情報は、状態モニタリングの間に外部ソースにアクセスすることなく、被モニタリング装置から即座に抽出されることができる。このプロセスは、図15に示すようなベクトルにおいて記憶された被モニタリング装置全てに亘って繰り返される。
図15を参照するに、図13及び14に示すように、モニタマネージャ1102により及び図35のCDeviceFactory1302により生成されDeviceに対して基準を有するベクトル1500を示している。モニタマネージャ1102は、例えば、そのベクトルにおいて、図35のCDeviceFactory1302により生成されたCDeviceオブジェクト1504へのポインタ及びCDeviceオブジェクト1502へのポインタのように、装置ポインタを記憶する。ベクトルシーケンスは、被モニタリング装置の状態を得るために繰り返される。被モニタリング装置のポーリングは、obtainStatusコマンドを出すことにより装置オブジェクトに亘って実行される。一旦、ソフトウェアオブジェクトの各々の状態が得られると、そのような状態はDeviceODBC1104により更新される。状態モニタシーケンスについては図14のところで説明したので、ここでは繰り返して説明しない。
テーブル1に示すDeviceInfo構造は、一例の被モニタリング装置に関する情報を示している。DeviceInfo構造は、電話番号に加えて、コンタクトする人のe−mailアドレスを含む。
Figure 0004723868
モニタリングデータベース
図19は、各々の被モニタリング装置(又、図1を参照されたい)に対する装置情報を含むモニタデータベースの構成を示している。図19に示すように、パラメータの集合、即ち、各々の通信プロトコル(例えば、SNMP、HTTP及びFTP)各々の1つの集合は、各々の被モニタリング装置に対する装置情報DeviceInfo1902に関連している。更に、特定のプロトコル(例えば、SNMP1908、HTTP1910及びFTP1912)に対するパラメータの各々の集合は、例えば、sPar1Name及びsPar1Value等のパラメータ名及び値の対のリストとして構成される。各々のプロトコルに対するパラメータ数は、図19に示す数より短い場合も長い場合もあり得る。例えば、ユーザ名及びパスワードはFTPパラメータとして記憶されることが可能である一方、コミュニティ名及びパスワードは所定の被モニタリング装置に対するSNMPパラメータとして記憶されることが可能である。図19に示しているように、モニタデータベースは又、DeviceHistory1904及びEnumCorrespondence1906に関連する情報を含む。図17は、種々の通信プロトコルにより用いられるパラメータを渡すために用いられるSParameterデータ構造1700を示している。SParameterは2つのファイル、即ち、m_sParName1702及びm_sParValue1704を含み、それらはパラメータの名前および値をそれぞれ表す。
図18は、各々の被モニタリング装置に関連したソフトウェアオブジェクトにモニタデータベースから得られた各々のプロトコルに対するパラメータのベクトルを渡すために用いられるマップ構造1800を示している。マップ構造1800は、各々のプロトコル/キーフィールド1802、1804及び1806を、図17に示すSParameterフォーマットに従って配列された、パラメータ1808、1810及び1812それぞれの対応するベクトルに関連付ける。例えば、SNMPプロトコル1802に対して、パラメータ1808のベクトルは、SNMPプロトコルを有する被モニタリング装置にアクセスするために用いられる、パラメータ名、パラメータ値の対のリストを含むことが可能である。例えば、ベクトル1808に記憶されたSNMPパラメータ名は、対応するパラメータ値と共に、“コミュニティ名”及び“パスワード”を含むことが可能である。しかしながら、マップ構造1800の構成はいずれの数のプロトコル及び関連パラメータベクトルを可能とし、図18に示すSNMP、HTTP及びFTPプロトコルに限定されるものではない。
支援データベース
図20乃至22は、図10に示している支援データベース1024の構成を示している。各々の被モニタリング装置から状態情報を抽出するために必要な情報を含む支援データベースは通信プロトコルにより構成される。例えば、被モニタリング装置から情報を抽出するために用いられるSNMP関連支援情報のための支援データベースの構成を示す図20は、SNMPVector2002、SNMPComVendoeStatus2004、EnumCorrespondence2006及びSNMPVenderModelStatus2008データ構造を含む。支援データベースにおける所定のデータ構造は、抽出を制御するパラメータと共に、抽出される状態情報のタイプを一意に識別するパラメータを含むことが可能である。例えば、SNMPComVendorStatusデータベース構造2004は、抽出される情報(例えば、トナーレベル)のタイプを識別するENUMフィールド2009と、他のプロトコルに関連する抽出された情報の重要性又は重みを表すnRelativePriorityフィールド2010とを含む。それ故、同じ情報が、2つ以上のプロトコルを用いて、被モニタリング装置から抽出されることが可能である場合、nRelativePriority値は、プロトコルの抽出された値が用いられる必要がある相対的表示を与える。例えば、HTTPは、トナーレベルが“高い”か又は“低い”かを示す情報を抽出することができる一方、SNMPプロトコルが残りのトナーの割合のレベルを抽出することができる場合、SNMPに対するトナーレベルについての優先順位レベルは対応するHTTPの値より高い。更に、支援データベースは、プロトコル値が0乃至32,000の範囲内にあるシステムにおいて優先順位値10,000を与える。
図21及び22は、支援データべース1024にHTTP及びFTP位置に含まれるデータ構造を示し、図20に関連して上で説明したデータ構造に類似しているデータ構造を含む。
本発明により用いられる代表的なenumタイプは、下で説明するinfoTypeである(enumタイプは単なる例示であって、それ故、本発明を限定するように解釈されるべきではない)。
infoType(typedef int infoType)
この段落は、infoType(int)の定義について説明する。0乃至99の値の範囲はデータタイプに割り当てられる。100乃至499の値の範囲はDeivice Informationに割り当てられる。500乃至1999の値の範囲は、標準的MIBのパラメータを含む共通パラメータに割り当てられる。範囲2000乃至3999はリコー社固有情報に割り当てられる。範囲4000乃至4999はXeroxに割り当てられる。範囲5000乃至5999はLexmarkに割り当てられる。範囲6000乃至6999はHPに割り当てられる、値は次のように定義される。
即ち、infotype{eNotDefine=0,eDeviceInformation=1,eStatusInformation=2,eVendor=100,eModel,eUniqueID,eIPAddress,eCompanyName,eStreet,eCity,eState,eZipCode,eLocation,eContactPerson,ePhoneNumber,eEMailAddress,eDateTime=500,eHrDeviceErrors,eLowPaper,eNoPaper,eLowToner,eNoToner,eDoorOpen,eJammed,eOffline,eServiceRequested,ePrtGeneralConfigChanges=600,aPrtLifeConunt,ePrtAlertDesc1,ePrtAlertDesc2,ePrtAlertDesc3,ePrtAlertDesc4,ePrtAlertDesc5,eBlack=700,eMagenta,eCyan,eYellow,eTonerCollector=800,eBlackDeveloper=810,eColorDeveloper,eFuser=820,eDrum=830,eTransfer=840,eMaintenanceKit=850,eOilKit=860,eStationInfo1=901,eStationInfo2,eStationInfo3,eStationInfo4,eStationInfo5,eRicohEngineCounterTotal=2000,eRicohEngineCounterPrinter,eRicohEngineCounterFax,eRicohEngineCounterCopier}、である。
EerrorCode
次に示すコードは単なる例示であり、更なるコードを示す集合に追加することが可能である。0乃至99の範囲は残しておく。範囲100乃至199はSMTPのためのものであり、範囲200乃至299はPOP3のためのものであり、範囲300乃至399はSocketのためのものであり、範囲400乃至499はHTTPのためのものであり、範囲500乃至599はFTPのためのものである。他の規定されていない範囲は、必要に応じて、ユーザにより規定されることが可能である。
即ち、erum EsroorCode(eNoError=0,eUnkownError=1,eSomeError,eDompleteFaluer,eSomeDeviceCreationError=20,eDeviceCreationError,eNoDeviceCreated,eObtainConfigError,eSaveStatusError,eObtainUniqueIDError,eObtainStatusError,eStartSendError,eSomeData SendError,eCompleteDataSendFalure,eEndSendError,eSendHeloCommnandFailed=100,eSendMailCommnadFailed,eSend RcptCommandFailed,eSendDataCommand Failed,eSendDataFailed,eSendQuitCommand Failed,eSendUserCommandFailed=200,eSendPassCommandFailed,eSendQuit Pop3CommandFailed,eCreateSocketFailed=300,eConnectSocketFailed,eBadRequest=400,eUnauthorized,ePaymantRequested,eForbidden,eNotFound,eMethodnotAllowed,eNOtAcceptable,eProxyAuthenticationRequested,eRequestTimeOut,eConflict,eGone,eLengthRequested,ePreconditionFailed,eRequestEntityTooLarge,eRequestURIToolarge,eIntarnalServerError=450,wNotImplemented,eBadGateway,eServiceUnavailable,eGatewayTimeOut,eHTTPVersionNotSupported,eMultipleChoices=480,eMovedPermanently,eFound,eSeeOther,enotModified,eUseProxy,eTemporaryRidirect)、である。
装置ODBCモジュールにおける抽象クラス
図16は、本発明に従った装置ODBCモジュールクラス構造について示しており、CAbsProtocolParametersクラスが装置ODBCモジュールにおいてどのように用いられるかを示している。CAbsProtocolParametersクラスは、特定の通信プロトコルを用いて、被モニタリング装置にアクセスするための情報を得るために及びモニタデータベース1014と接続するようにデザインされている。CAbsProtocolParametersクラスは、次のようなプロトコルに依存しない2つの仮想関数を有する。
(1)std::string obtainProtocolName(void)及び、
(2)bool obtainParameterVector(std::vector<SParameter>&out_ParameterVector,const std::string in_sIP)
HWaccessモジュールにおける抽象クラス
図23はHWaccessパッケージのためのパッケージを示す図である。このパッケージは、種々のネットワークプロトコル(例えば、SNMP、HTTP及びFTP)
を用いてネットワーク装置に関する情報を得、モニタリングされるネットワーク装置を識別するために責任を負う。このパッケージは、HTTP2302、SNMP2304及びFTP2306のパッケージ、並びに、CHWaccess2300,CAbsProtocol2308及びCRecordSet2310のクラスを含む。パッケージHTTP2302、SNMP2304及びFTP2306は、それらから情報を得るためにネットワーク装置にアクセスするためのネットワークプロトコルを実行する。例えば、HTTPパッケージ2302は、ウェブページから情報を得るためにネットワーク装置のウェブページにアクセスするためのHTTPプロトコルを実行する。クラスCHWaccess2300は、ネットワーク装置から必要な情報を得るためにプロトコルパッケージ全てを管理する。クラスCAbsProtocol2308は、いずれかのプロトコルを表す抽象クラスである。このクラスは、CHWaccess2300とプロトコルパッケージとの間のインタフェースを提供する。クラスCAbsProtocol2308は、全てのプロトコル2308が必要な情報をCHWaccess2300に提供するCHWaccess2300に、図23に示すような共通機能の集合を提供する。後で図に示すようなCAbsProtocol2308からもたらされるクラスは、適切なプロトコルのための機能の各々に対して方法を提供する。クラスCRecordSet2310は、どのネットワーク装置のベンダ及びモデルが支援されるか及びそれらのネットワーク装置からどのような情報を得るべきかについての情報を得るためにデータベースへの各々のプロトコルパッケージアクセスを提供するMicrosoft Foundation Classのクラスである。
図24は、SNMPパッケージ2304のためのパッケージを示す図である。このパッケージは、SNMPプロトコルによりネットワーク装置から得られる情報及びSNMPプロトコルにより支援されるネットワーク装置のベンダ及びモデルを決定するために、並びに、ネットワーク装置から情報を得るためにSNMPプロトコルによりネットワーク装置にアクセスするために責任を負う。このパッケージは、パッケージSNMPaccess2404及びSNMPODBC2406とクラスCSNMPProtocol2401とを含み、図23に示すようなクラスCAbsProtocol2400とCRecordSet2408とを用いる。SNMPaccess2404は、ネットワーク装置にアクセスするため及びネットワーク装置から情報を得るためにSNMPプロトコルを実行する。SNMPODBCパッケージ2406は、SNMPプロトコルにより支援された
ネットワーク装置のネットワークのベンダ及びモデルに関してデータベースからの情報にアクセスし、それを得、その情報はSNMPプロトコルによりネットワーク装置から得られる。CSNMPProtocolクラス2402はCAbsProtocolクラス2400からもたらされるクラスである。CSNMPProtocol2402は、SNMPプロトコルを用いて、ネットワーク装置から必要な情報を得る。CSNMPProtocol2402は、図23に示すようなCAbsProtocol2400のインタフェース機能全てに対する方法を提供する。図24は又、CSNMPProtocol2402が用いるパッケージSNMPaccess2404とSNMPODBC2406との機能を示している。SNMPODBCパッケージ2406は、データベースから情報を得るためにクラスCRecordSet2408を用いる。
図25は、HTTPパッケージ2302のためのパッケージを示す図である。このパッケージは、HTTPプロトコルによりネットワーク装置から得られる情報及びHTTPプロトコルにより支援されるネットワーク装置のベンダ及びモデルと決定するために、並びに、ネットワーク装置から情報を得るためにHTTPプロトコルによりネットワーク装置にアクセスするために、責任を負う。このパッケージは、図23に示すように、パッケージHTTPaccess2504及びHTTPODBC2506と、クラスCHTTPProtocol2502とを含み、クラスCAbsProtocol2500及びCRecordSet2508を用いる。HTTPaccessパッケージ2504は、ネットワーク装置にアクセスするために及びネットワーク装置から情報を得るためにHTTPプロトコルを実行する。HTTPODBCパッケージ2506は、HTTPプロトコルによりネットワーク装置から得られる情報と、HTTPプロトコルにより支援されるネットワーク装置のベンダ及びモデルに関するデータベースからの情報にアクセスし、それらを得る。CHTTPProtocolクラス2502はCAbsProtocolクラス2500からもたらされるクラスである。CHTTPProtocol2502は、HTTPプロトコルを用いて、ネットワーク装置から必要な情報を得る。CHTTPProtocol2502は、図23に示すようなCAbsProtocol2500のインタフェース機能全てに対する方法を提供する。図25は又、CHTTPProtocol2502が用いるパッケージHTTPaccess2504とHTTPODBC2506との機能を示している。HTTPODBCパッケージ2506は、データベースから情報を得るためにクラスCRecordSet2508を用いる。
図25は、FTPパッケージ2306のためのパッケージを示す図である。このパッケージは、FTPプロトコルによりネットワーク装置から得られる情報及びFTPプロトコルにより支援されるネットワーク装置のベンダ及びモデルと決定するために、並びに、ネットワーク装置から情報を得るためにFTPプロトコルによりネットワーク装置にアクセスするために、責任を負う。このパッケージは、図23に示すように、パッケージFTPaccess2604及びFTPODBC2606と、クラスCFTPProtocol2602とを含み、クラスCAbsProtocol2600及びCRecordSet2608を用いる。FTPaccessパッケージ2604は、ネットワーク装置にアクセスするために及びネットワーク装置から情報を得るためにFTPプロトコルを実行する。FTPODBCパッケージ2606は、FTPプロトコルによりネットワーク装置から得られる情報と、FTPプロトコルにより支援されるネットワーク装置のベンダ及びモデルに関するデータベースからの情報にアクセスし、それらを得る。CFTPProtocolクラス2602はCAbsProtocolクラス2600からもたらされるクラスである。CFTPProtocol2602は、FTPプロトコルを用いて、ネットワーク装置から必要な情報を得る。CFTPProtocol2602は、図23に示すようなCAbsProtocol2600のインタフェース機能全てに対する方法を提供する。図26は又、CFTPProtocol2602が用いるパッケージFTPaccess2604とFTPODBC2606との機能を示している。FTPODBCパッケージ2606は、データベースから情報を得るためにクラスCRecordSet2608を用いる。
図23乃至26に示すような、各々のプロトコルパッケージ、HTTP2302、SNMP2304及びFTP2306は、装置から情報を得るためにネットワーク装置へのアクセスを管理するクラスを含む。そのクラスは、ネットワーク装置からの情報にアクセスするためにプロトコルを実行する方法を備える抽象クラスCAbsProtoocol2308からもたらされる。抽象クラスはインタフェース機能のみを提供するが、いずれのプロセスを実行することはない。その抽象クラスから導き出されたクラスはインタフェース機能のためのプロセスを実行する方法を提供する。異なる導き出されたクラスがインタフェース機能のプロセスを異なるように実行することができるように、抽象クラスについて、多くの導き出されたクラスが存在することが可能である。例えば、CAbsProtocolのインタフェース機能はobtainStatus()である。導き出されたクラスCSNMPProtocol2402ha,SNMPを用いて練っておワーク装置の状態情報を得るための方法を提供する機能obtainStatus()を含む一方、導き出されたクラスCHTTPProtocol2502は、HTTPを用いてネットワーク装置の状態情報を得るための方法を提供する機能obtainStatus()を含む。HWaccessパッケージのデザインから、新しいプロトコルを用いてネットワーク装置にアクセスするために新しいパッケージを管理するCAbsProtocolの導き出されたクラスを含む新しいパッケージを加えることにより、新しいプロトコルはそのシステムに加えられることができる。抽象クラスは、システムの将来の拡張を可能にする。
図27A乃至27Dは、ネットワーク装置から情報を得るように及びアクセスするようにプロトコル全てを維持するために図23のHWaccessパッケージに用いられるデータ構造を示している。図27Aにおいて、データ構造はCAbsProtocol2308に対するポインタのベクトル500である。クラスCHWaccess2300はこのデータ構造を含み、用いる。ベクトル500がCAbsProtocol2308から導き出されたクラスにポインタを含むにも拘らず、CHWaccess2300は、CAbsProtocol2308にポインタを含むようにベクトルをみて、仮想機能呼び出し機構によりCAbsProtocol2308のインタフェース機能を呼び出す。実際には、CHWaccess2300は、CAbsProtocol2308の導き出されたクラスのインタフェース機能を呼び出す。例えば、ベクトルの第1エントリにおけるCAbsProtocol502に対するポインタは導き出されたクラスCSNMPProtocol2402に対するポインタであることが可能であり、ベクトルの第2エントリにおけるCAbsProtocol504に対するポインタは導き出されたクラスCHTTPProtocol2502に対するポインタであることが可能であり、ベクトルの第3エントリにおけるCAbsProtocol506に対するポインタは導き出されたクラスCFTPProtocol2602に対するポインタであることが可能である。従って、CHWaccess2300がベクトルにおいてCAbsProtocol2308のインタフェース機能を呼び出すとき、それは、実際には、CSNMPProtocol2402、CHTTPProtocol2502及びCFTPProtocol2602のインタフェース機能を呼び出す。ベクトルにおける抽象クラスCAbsProtocol2308の使用は、いずれのプロトコルがネットワーク装置からの情報にアクセスし及びその情報を得るために用いられるようにする。抽象クラスCAbsProtocol2308は、どのプロトコルが用いられているかについての詳細を隠す。
図27Bは、それらから状態情報を得るために用いられる情報とSNMPによりモニタリングされるネットワーク装置のベンダ及びモデルに関する情報とを維持するためにCSNMPProtocolにより用いられるデータ構造を示している。そのデータ構造はマップ510である。マップ510に対するキーは、ネットワーク装置のベンダ名を表すストリング512である。マップ510に対する値は他のマップ514である。マップ514に対するキーはネットワーク装置のモデル名を表すストリング516である。マップ514の値は対のベクトル518である。それらの対は構造SOIDinfoTypeと整数とを含む。構造SOIDinfoTypeは、SNMPを用いたネットワーク装置から単一の状態情報を得るために用いられる情報を含む。それ故、対のベクトル518は、固有のベンダ及びモデルに対してネットワーク装置についての状態情報全てを得るための情報を含む。マップ510は、図28において説明するプロセスを用いて、情報と共に初期化される。マップ510は、ベンダについてのストリング512及びモデルについてのストリング516に対するサンプルエントリを示している。
図27Cは、それらから状態情報を得るために用いられる情報とHTTPによりモニタリングされるネットワーク装置のベンダ及びモデルに関する情報とを維持するためにCHTTPProtocolにより用いられるデータ構造を示している。そのデータ構造はマップ520である。マップ520に対するキーは、ネットワーク装置のベンダ名を表すストリング522である。マップ520に対する値は他のマップ524である。マップ524に対するキーはネットワーク装置のモデル名を表すストリング526である。マップ524の値はSWebPageInfoのベクトル528である。構造SWebPageInfoは、HTTPを用いてネットワーク装置のウェブページから状態情報全てを得るために用いられる情報を含む。それ故、SWebPageInfoのベクトル528は、ウェブページの全てから固有のベンダ及びモデルに対してネットワーク装置についての状態情報全てを得るための情報を含む。マップ520は、図28において説明するプロセスを用いて、情報と共に初期化される。マップ520は、ベンダについてのストリング522及びモデルについてのストリング526に対するサンプルエントリを示している。
図27Dは、それらから状態情報を得るために用いられる情報とFTPによりモニタリングされるネットワーク装置のベンダ及びモデルに関する情報とを維持するためにCFTPProtocolにより用いられるデータ構造を示している。そのデータ構造はマップ530である。マップ530に対するキーは、ネットワーク装置のベンダ名を表すストリング532である。マップ530に対する値は他のマップ534である。マップ534に対するキーはネットワーク装置のモデル名を表すストリング536である。マップ534の値はSDirFileStatusInfoのベクトル538である。構造SDirFileStatusInfoは、FTPを用いてネットワーク装置のFTPファイルから状態情報全てを得るために用いられる情報を含む。それ故、SDirFileStatusInfoのベクトル538は、FTPファイルの全てから固有のベンダ及びモデルに対してネットワーク装置についての状態情報全てを得るために用いられる情報を含む。マップ530は、図28において説明するプロセスを用いて、情報と共に初期化される。マップ530は、ベンダについてのストリング532及びモデルについてのストリング536に対するサンプルエントリを示している。
図28は、システムによりモニタリングされるネットワーク装置のベクトルに関する情報と共にプロトコルオブジェクト全てを初期化するプロセスを示すフローチャートを示している。類似するプロセスは、システムによりモニタリングされるネットワーク装置のモデルに関する情報と共にプロトコルオブジェクト全てを初期化するために用いられる。モニタリングされる所定のネットワーク装置に対して、ネットワーク装置のベンダ及びモデルは、どのような情報がネットワーク装置から得られる必要があるかを判定するために、知られる必要がある。ネットワーク装置からの情報にアクセスするため及びその情報を得るために用いられる各々のプロトコルオブジェクトは、どのようにネットワーク装置から情報を得るか及びどのような情報を得るかについて判定するために、ベンダ及びモデルを知る必要がある。初期化を必要とするプロトコルオブジェクトは、CSNMPProtocol、CHTTProtocol及びCFTPProtocolであるCAbsProtocol2308から導き出されたクラスに対応するプロトコルオブジェクトである。プロトコルオブジェクトの初期化は、プロトコルに対応する図27B、27C及び27Dに示しているデータ構造への付加情報を含む。システムのデザインは、図27B、27C及び27Dのデータ構造に付加された情報はデータベースからもたらされるが、それらはテキストファイル又はスプレッドシートのような他の外部ソースからもたらされることが可能である。図27Aに示すCAbsProtocol2308に対するポインタのベクトルはプロトコルオブジェクト全てを初期化するために用いられる。そのフローチャートのプロセスは、そのベクトルにより2回進められる。1回目は、そのベクトルにより進められ、プロトコルオブジェクトはネットワーク装置のベクトルを見つけるために用いられる。ベンダ名がプロトコルオブジェクトの1つから得られる場合、プロトコルオブジェクト全ては、ベクトルが2回目を進められるとき、ベンダ名と共に初期化される。段階602において、プロトコルオブジェクトはCAbsProtocolに対してポインタのベクトルから得られる。プロトコルオブジェクトは、ネットワーク装置(例えば、SNMP、HTTP及びFTP)にアクセスするためにプロセスの1つに対応する。段階604において、ベクトルから得ることができるいずれの更なるプロトコルオブジェクトがあるかどうかを判定するためにチェックがなされる。このチェックは、ベクトルの終点が達したかどうかを判定することによりなされる。更なるプロトコルオブジェクトが得られない場合、システムはネットワーク装置のベンダ名を得ることができない。ネットワーク装置のプロトコルオブジェクトの初期化及びベンダ名を得ることができなかったプロトコルオブジェクト全ては段階606で終了する。ベクトルから得られるプロトコルオブジェクトある場合、そのプロトコルオブジェクトは、段階608においてネットワーク装置のベンダ名を得るために用いられる。段階610において、プロトコルオブジェクトがネットワーク装置のベンダ名を得ることができるかどうかを判定するためにチェックがなされる。プロトコルオブジェクトは、ネットワーク装置のベンダを判定するために用いられるデータベースから情報を得る。ベンダ名がプロトコルオブジェクトにより得られない場合、プロセスは、段階602に戻ることにより、ベクトルにおいて他のプロトコルオブジェクトを用いるベンダ名を得るように試みる。ベンダ名がプロトコルオブジェクトから得られる場合、プロセスは、段階612においてそのベンダ名と共にプロトコルオブジェクトを初期する。プロトコルオブジェクトは、得られたベンダ名のネットワーク装置から状態情報を得る方法についての情報と共に初期化される。図27B、27C及び27Dで示されているデータ構造に情報が付加される。段階614において、プロトコルオブジェクトはCAbsProtocolに対してポインタのベクトルから得られる。段階616において、ベクトルから得ることができるいずれの更なるプロトコルオブジェクトがあるかどうかを判定するためにチェックがなされる。更なるプロトコルオブジェクトが得られない場合、プロトコルオブジェクト全てはベンダ名を共に初期化され、プロトコルオブジェクト全ての初期化は段階606において終了する。プロトコルオブジェクト全てはベンダに関する情報を更新した。ベクトルから得られるプロトコルオブジェクトがない場合、段階618においてベンダ名とともにプロトコルオブジェクトを初期化する。丁度段階612のように、プロトコルオブジェクトは、得られたベンダ名のネットワークオブジェクトから状態情報を得る方法に関する情報と共に初期化される。ベンダ名と共にプロトコルオブジェクトを初期化した後、プロセスは、段階614に戻ることによりベンダ名と共に他のプロトコルオブジェクトを初期化する。
図28の段階608において、プロトコルオブジェクトはネットワーク装置のベンダ名を得る。SNMP、HTTP及びFTPプロトコルオブジェクトはベンダ名を得るためにネットワーク装置にアクセスすることができる。ベンダ名が見つけられることに関する情報はデータベースから得られる。プロトコルにより支援されるネットワーク装置のベクトルに関する情報と共に、データベースはネットワーク装置のベンダ名を位置づけるために情報を提供する。SNMPに対して、ネットワーク装置のMIBにおいて企業オブジェクト識別子を位置付けるために用いられるオブジェクト識別子及びベンダ名に関連する企業オブジェクト識別子に関する情報は、ベンダ名を得るためにSNMPプロトコルオブジェクトにより用いられる。HTTPに対して、ウェブページにおける位置とウェブページに関する情報は、ベンダ名を得るためにHTTPプロトコルオブジェクトにより用いられる。FTPに対して、FTPファイルにおける位置とFTPファイルに関する情報は、ベンダ名を得るためにプロトコルオブジェクトにより用いられる。
図29A乃至29Dは、異なるプロトコルに対する固有のベンダ及びモデルのネットワーク装置の状態情報を得るために用いられる異なるデータ構造を示している。異なるプロトコルは同じ状態情報を得るために用いられることが可能である。しかしながら、1つのプロトコルにより得られた状態情報は、更なる情報を提供するプロトコルから得られる状態情報が用いられる必要があるように、他の情報以上の情報を提供することが可能である。例えば、プリンタカートリッジのトナーレベルは、SNMP及びHTTPを用いて、ネットワークプリンタから得られる。SNMPにより得られたトナーレベルについての状態情報は“FULL”、“OK”
又は“EMPTY”であることが可能である一方、HTTPにより得られる同じ状態情報は、残っているトナーの割合であることが可能である。個の例においては、HTTPを用いて得られる状態情報は、HTTPにより得られる状態情報が用いられる必要があるように、更に報知性が高いものとなっている。図29A乃至29Dのデータ構造は、最も報知性の高い状態情報が得られるように、構成される。図29Aは、SNMPプロトコルを用いて、固有のベンダ及びモデルのネットワーック装置に対する状態情報を得るために用いられるデータ構造を示している。そのデータ構造は、対が構造SOIDinfoType706及び整数から成る対(例えば、702及び704)のベクトル700である。構造SOIDinfoType706は、SNMPを用いて、ネットワーク装置から固有の状態情報を得るために用いられる情報を含む。SOIDinfoType706の構造については図29Aに示している。その対の整数は状態情報の優先順位又は重みを決定する。その整数の値がより大きい程、より報知性が高いため、得られた状態情報はより保持される傾向にある。その整数の値がより小さい程、他のプロトコルから得られた同じ状態情報が保持される傾向にある。CSNMPProtocol2402は、どのような状態情報をネットワーク装置から得るべきかを決定するためにベクトル700を用いる。ベクトル700に置かれた情報は、固有のベンダ及びモデルに対して、図27Bにおけるデータ構造から得られる。
図29Bは、HTTPプロトコルを用いて、固有のベンダ及びモデルのネットワーク装置についての状態情報を得るために用いられるデータ構造を示している。そのデータ構造は、対が構造SKeyValueInfo714及び整数から成る対(例えば、710及び712)のベクトル708である。構造SKeyValueInfo714は、HTTPを用いて、ネットワーク装置のウェブページから固有の状態情報を得るために用いられる情報を含む。SKeyValueInfo714の構造については図29Bに示している。そのような対における整数は状態情報の優先順位又は重みを決定する。CHTTPProtocol2502は、どのような状態情報をネットワーク装置から得るべきかを決定するためにベクトル708を用いる。ベクトル708に置かれた情報は、固有のベンダ及びモデルについて図27Cにおけるデータ構造から得られる。
図29Cは、FTPプロトコルを用いて、固有のベンダ及びモデルのネットワーク装置についての状態情報を得るために用いられるデータ構造を示している。そのデータ構造は、対が構造SKeyInfoType722及び整数から成る対(例えば、718及び720)のベクトル716である。構造SKeyInfoType722は、FTPを用いて、FTPファイルから固有の状態情報を得るために用いられる情報を含む。SKeyInfotype722の構造については図29Cに示している。そのような対における整数は状態情報の優先順位又は重みを決定する。CFTPProtocol2602は、どのような状態情報をネットワーク装置から得るべきかを決定するためにベクトル716を用いる。ベクトル716に置かれた情報は、固有のベンダ及びモデルについて図27Dにおけるデータ構造から得られる。
図29Dは、種々のプロトコルにより得られた状態情報を維持するために用いられるデータ構造を示している。それは、どのプロトコルが状態情報を得るために用いられたかに関する情報を維持しない。そのデータ構造はマップ724である。マップ724に対するキー726はinfoTypeである。infoTypeは情報のタイプを表す数である。マップ724に対する値728は対である。その対はストリング及び整数から成る。その対におけるストリングは、infoTypeに対応するネットワーク装置から得られる状態情報である。その対における整数は、プロトコルから得られる状態情報の優先順位又は重みである。例として、プリンタカートリッジにおける黒色トナーのレベルを表すことが可能である700のinfoTypeに対して、そのような対はすとリング“75%”及び整数10000を有することが可能である。ストリング“75%”は、トナーの75%がカートリッジに残っていること、及び整数10000は状態情報の優先順位又は重みであることを表す。CSNMPProtocol2402,CHTTPProtocol2502及びCFTPProtocol2602は、マップ724に対してネットワーク装置から得られる状態情報を付加する。
図30は、図27D、29C及び29Dのデータ構造がFTPプロトコルを用いてネットワーク装置から状態情報を得るためにどのように用いられるかについての例を示している。サンプルデータを含むマップ800は図27Dに示すようなデータ構造に対応する。マップ800におけるサンプルデータは、FTPを用いて、モデルAficio120とベンダRicohに対するネットワーク装置についての状態情報にアクセスするために情報を提供する。ベクトルにおける各々の構造、即ち、SDirFileStatusInfo1、SDirFileStatusInfo2及びSDirFileStatusInfo3は、ネットワーク装置におけるFTPファイルからの状態情報にアクセスするために情報を提供する。SDirFileStatusInfo1802は、directory/pubにおいてFTPファイルstatus.txtからネットワーク装置からの状態情報にアクセスするための情報を含む。SkeyInfoType及び整数の対のベクトルを用いて、FTPファイルから5つの状態情報の値を得ることができる。ベクトルの対における各々のSkeyInfoTypeは、図30に示すようなinfoTypeに対応する異なる状態情報に対応する。マップ804は、図29Dに示すようなデータ構造に対応するサンプルデータを含む。マップ804は、他のプロトコルにより前に得られた状態情報を含む。マップ804は、infoType600、610及び700に対応する3つの状態情報を含む。infoType600についての状態情報は、500の重みをもつ場合“ペーパーが少ない”である。infoType610についての状態情報は、10000の重みをもつ場合“24321”である。
infoType70についての状態情報は、2500の重みを持つ場合“良好”である。FTPプロトコルを用いてどの状態情報が得られるかを決定するために、ベクトル806が得られるべき状態情報を得るために生成される。ベクトル806に付加されるべき情報は、マップ800における情報(特に、構造SDirFileStatusInfo1802における対のベクトル)とマップ804における状態情報とにより決定される。マップ800から得られる状態情報がマップ804において未だ得られていない場合、プロセスは、ベクトル806における状態情報を得るために必要な情報を付加する。マップ800から得られる状態情報がマップ804において既に得られている場合、FTPにより得られる状態情報が重みを比較することによりマップ804における状態情報より法知性が高いかどうかをチェックする。FTPにより得られた状態情報の重みがマップ804において既に得られた状態情報より重みが大きい場合にのみ、状態情報を得るために情報をベクトル806に付加する。SDirFileStatusInfo1 802に対応するFTPにより得られる状態情報は、fileType600、610、620,700及び710である。infoType620及び710は、状態情報がFTPを用いて得られる必要があるように、状態情報マップ804にはない。それ故、620(SKeyInfoType3)及び710(SKeyInfoType5)に対応する状態情報を得るために用いられる情報がベクトル806に付加される。infoType600及び700は状態情報マップ804にある。802において示されるようなこれらのinfoTypeに対するFTPにより得られる状態情報の重みは、状態情報マップ804におけるそれらの重みより大きい。従って、FTPによりこれら2つのinfoTypeに対して得られた状態情報は、マップ804にある状態情報より報知性が高い。それ故、infoType600(SKeyInfoType1)及び700(SKeyInfoType4)についての状態情報を得るための情報がベクトル806に付加される。infoType610は状態情報マップ804にある。802において示されているようなこのinfoTypeに対してFTPにより得られる状態情報の重みは状態情報マップ804における重みより小さい。従って、FTpによりこのinfoTypeにたいして得られる状態情報は、マップ804にある状態情報より報知性が低い。それ故、infoType610(SKeyInfoType2)についての状態情報を得るための情報はベクトル806には付加されない。このベクトル806は、infoType600、620,700及び710についての状態情報を得るためにFTPプロトコルにより用いられる。2つの状態情報値が状態情報マップに付加され、2つの状態情報値は、FTPが状態情報を得ることに成功する場合、状態情報マップ804において重ね書きされる。図30は、FTPプロトコルについての状態情報を得るためにどのようにデータ構造が用いられるかについての例を示している。図27B、27C、29A及び29Bのデータ構造を用いる類似プロセスは、SNMP及びHTTPについての状態情報を得るために用いられる。
図31Aは、状態情報を得る方法を示すフローチャートである。全てのプロトコルはここで示す同じ方法を用いる。固有の状態情報を得るためにプロトコルオブジェクトを用いる前に、プロトコルオブジェクトは、状態情報が他のプロトコルオブジェクトにより既に得られたかどうかを判定するためにチェックする。状態情報が既に得られている場合、状態情報が、他のプロトコルオブジェクトから既に得られたもの以外の更なる情報を得るかどうかを判定するようにチェックする必要がある。最も報知性の高い状態情報は保持される。このフローチャートの方法は、最も報知性が高い状態情報が得られるように構成される。図27B、27C及び27Dのデータ構造510、520および530は、どのような状態情報が得られるべきかを決定するために対応するプロトコルにより用いられる。段階3102において、ネットワーク装置から状態情報を得るために用いられる情報を含む対のベクトルがエントリを伴わずに生成される。その対のベクトルは、用いられるプロトコルに依存して、図19A乃至29Cのデータ構造700、708又は716の1つに対応する。段階3104において、所定のベンダ及びモデルのネットワーク装置から状態情報を得るために用いられる情報が得られる。全てのプロトコルオブジェクトは、全てのベクトル及びモデルに対してどのような状態情報をそれが支援するかについての情報を維持する。プロトコルオブジェクト全ては、図28に示している初期化プロセルによりこの情報と共に初期化される。1つの状態情報を得るために用いられる情報は、用いられるプロトコルに依存して、図29A、29B及び29Cの構造SOIDinfoType706、SKeyValueInfo714及びSKeyInfoType722の1つに記憶される。段階3106において、ネットワーク装置から状態情報を得るために用いられるいずれの更なる情報があるかどうかを決定するためのチェックがなされる。更なる情報がない場合、段階3102において生成された対のベクトルは、そのプロトコルについてのネットワークからの状態情報全てを得る必要がある情報全てを含んでいる。段階308において、プロトコルオブジェクトはネットワーク装置から状態情報を得るために対のベクトルを用い、状態情報は図19Dに示す状態情報マップ724に位置付けられる。プロトコルにより状態情報を得ることは段階3110において終了する。ネットワーク装置から状態情報を得るために用いられる更なる情報が存在する場合、段階3112において、状態情報が既に得られたかどうかについて判定するためにチェックする。これは、上位タイ情報がそのマップに既に存在するかどうかを判定するために図29Dに示す状態情報を含むマップを調べることによりなされる。状態情報がそのマップに存在しない場合、段階3114において、対のベクトルに対して状態情報を得るために用いられる情報を付加する。対のベクトルに情報を付加した後、状態情報を得るために用いられる更なる情報を得るために段階3104に戻る。状態情報が既に得られている場合、段階3116においてそのプロトコルにより得られることができる状態情報の優先順位又は重みを用いて既に得られた状態情報の重みを比較する。ネットワーク装置の状態情報についてのマップにおける状態情報の優先順位又は重みがそのプロトコルにより得られる状態情報の優先順位又は重みより大きい場合、対のベクトルに対して状態情報を得るために用いられる情報は付加されない。それに代えて、状態情報を得るために用いられる状態情報を得るために段階3104に戻る。マップにおける状態情報の優先順位又は重みがそのプロトコルにより得られる状態情報の優先順位又は重みより大きくない場合、段階3114において対のベクトルに対して状態情報を得るために用いられる情報を付加する。対のベクトルに情報を付加した後、状態情報を得るために用いられる更なる情報を得るために段階3104に戻る。
図31Bは、プロトコル全てを用いて、ネットワーク装置に関する状態情報を得るプロセスについて示すフローチャートである。プロトコルオブジェクトが、図28に示すように、それが支援するネットワーク装置のベンダ及びモデルに関する情報と共に初期化された後、そのプロトコルオブジェクトはネットワーク装置から状態情報を得るために用いられることができる。プロトコルオブジェクトは、図27B、27C及び27Dにおいて示すようなデータ構造を用いて、所定のベンダ及びモデルについての状態情報をどのように得るべきかについての情報を含む。図27AにしメスCAbsProtocol2308に対するポインタのベクトルは、プロトコルオブジェクト全てについての状態情報を得るために用いられる。そのフローチャートのプロセスは、一回、そのベクトルにより進められる。段階3122において、プロトコルオブジェクトはCAbsProtocolに対してポインタのベクトルから得られる。プロトコルオブジェクトはネットワーク装置(例えば、SNMP、HTTP及びFTP)にアクセスするためにネットワークプロトコルの1つに対応する。段階3124において、そのベクトルから得ることができるいずれの更なるプロトコルオブジェクトが存在するかどうかについて判定するためにチェックがなされる。このチェックは、ベクトルの終点が到達したかどうかを判定することによりなされる。更なるプロトコルオブジェクトが得られない場合、システムは、段階3126においてプロトコルオブジェクト全てを用いてネットワーク装置から状態情報を得るためにプロトコルオブジェクトを用いる。プロトコルオブジェクトを用いて状態情報を得た後、段階3122に戻ることにより他のプロトコルオブジェクトを用いて更なる状態情報を得る。 図32Aは、所定のプロトコルにより支援されているネットワーク装置のベンダ及びモデルについての情報を維持するために用いられるデータ構造を示している一方、図32Bは、データ構造において用いられる情報の例を示している。支援されているベンダ及びモデルについてのデータベースにおける情報の構成及びそれらから状態情報をどのように得るかはプロトコルにより変化する。それ故、異なるプロトコルについてのデータベースから支援されるベンダ及びモデルを得ることは互いに異なる。支援されるベンダ及びモデルのアクセスを簡単化して、プロトコルすべてに対してこの情報にアクセスするため及びこの情報を記憶するためにマップ構造を用いることができる。図32Aはベンダモデル支援マップ3200を示している。マップ3200に対するキー3202は、プロトコルにより支援されるベンダ及びモデルについての情報を含むストリングである。マップ3200に対する値3204は、ベクトルモデル識別数のようなベンダ及びモデルに関連する情報を表すために用いられることができる整数である。プロトコルにより支援されたベンダ及びモデルについての情報を含むようにマップ構造が選択される理由は、マップ構造がマップにおいてキーを容易にみつけるためにルックアップ機構を有するためであった。それ故、ベンダ及びモデルがマップにどのように記憶されるかを決定することは容易である。異なるプロトコルに対するベンダ及びモデルについての情報を示す図32Aについての説明はデータベースから導き出されたが、情報は、テキストファイル又はスプレッドシートのようないずれの外部ソースからもたらされる。
図32Bは、マップにおいてサンプルエントリをもつベンダモデル支援マップ3206を示している。マップ3206に対するキー3208は、ベンダ名、セパレータ“%%%%%”及びモデル名である。例えば、ベンダ“Xerox”及びモデル“NC60”に対しては、マップ3206に対するキー3208についてのストリングは“Xerox%%%%%NC60”である。セパレータ“%%%%%”は例として用いられたが、
“@@@@@”のようなベンダ名又はモデル名の一部とみなされないセパレータが用いられることができる。セパレータが用いられる理由は、ベンダ及びモデルをストリングから容易に得ることができるように、ベンダをモデルと区別して用いるためである。マップ3206に対する値3210は整数1である。マップ3206に対する値3210はいずれの整数であることが可能である。各々のプロトコルは、ベンダモデル支援マップ3200を維持する。
図33は、プロトコルにより支援されるベンダ及びモデル全てを含むように図32Aのベンダモデル支援マップ3200を支援するベンダ及びモデルを付加する方法について示すフローチャートである。段階3302において、ベンダ及びモデルはデータベースから得られる。ベンダ及びモデルがデータベースからどのように得られるかはプロトコルにより異なる。これは、支援されるベンダ及びモデルを含むデータベースにおけるテーブルに依存する。段階3304において、データベースかた得られる更なるベンダ及びモデル情報が存在するかどうかを判定するためにチェックがなされる。得られる更なる情報が存在しない、支援されるベンダ及びモデルと共にベンダモデル支援マップ3200を格納する方法は段階3306において終了する。ベンダモデル支援マップ3200はプロトコルにより支援されるベンダ及びモデル全てを含む。支援されたベンダ及びモデル情報を得るためにデータベースへの更なるアクセスは必要ない。データベースから得られるベンダ及びモデルが存在する場合、段階3308において、ベンダモデル支援マップ3200に対するキーとして用いられるストリングを生成する。そのストリングは、ベンダ名、セパレータ及びモデル名から成る。上記のように、セパレータは、ベンダ名又はモデル名の一部とみなされないいずれのストリングであることが可能である。段階3310において、ベンダ名、セパレータ及びモデル名を構成するストリングがベンダモデル支援マップ3200に既に存在するかどうかを判定するためにチェックがなされる。そのストリングがマップ3200に既に存在する場合、段階3302において、データベースから他のベンダ及びモデルを得る。そのストリングがマップ3200に存在しない場合、マップ3200にストリング及び整数を付加する。そのストリングがマップ3200に付加された後、段階3302においてデータベースから他のベンダ及びモデルを得る。
図34は、図32のベンダモデル支援マップ3200からのプロトコルにより支援されるベンダ及びモデルを得る方法について示すフローチャートである。段階3402において、キーに対するストリングはベンダモデル支援マップ3200から得られる。段階3404において、マップ3200から得られるいずれの更なるキーが存在するかどうかを判定するためにチェックがなされる。更にキーが存在しない場合、プロトコルにより支援されるベンダ及びモデル全てが得られており、ベンダ及びモデルを得ることは段階3406において終了する。キーに対するストリングがマップ3200にから得られる場合、段階3408において、セパレータがベンダ名を得る前にサブストリングを得る。段階3410において、セパレータがモデル名を得た後、サブストリングを得る。次いで、段階3406において、ベンダ及びモデルを得ることは終了する。マップ3200においてエントリ全てを完了することにより、プロトコルにより支援されるベンダ及びモデル全てを得ることができる。
図35は、装置パッケージのパッケージを示す図である。パッケージは、ネットワーク装置を表すソフトウェアオブジェクトを生成するために責任を負う。装置パッケージ1300は、2つのクラス、CDeviceFactory1302及びCDevice1304から成る。クラスCDeviceFactory1302は、ネットワーク装置に対してソフトウェアオブジェクトを生成し、初期化するために責任を負う。ソフトウェアオブジェクトの初期化は、ネットワーク装置にアクセスするために用いることができるプロトコルの設定と、ネットワーク装置のベンダ、モデル及び一意の識別子を決定とを含む。ネットワーク装置にアクセスすることができない場合、ネットワークに対するソフトウェアオブジェクトは生成されない。クラスCDevice1304はネットワーク装置に対してソフトウェアオブジェクトを表す。CDevice1304はネットワーク装置についての情報を維持し、ネットワーク装置についての状態情報を得る。CDevice1304は、装置から情報を得るために種々のプロトコルによりネットワーク装置にアクセスするために、図23に示すHWaccessパッケージを用いる。
図36Aは、どのプロトコルがネットワーク装置にアクセスするために用いられるかを判定するために、図35に示すようなネットワーク装置、即ち、CDevice1304を表すソフトウェアオブジェクトにより用いられるデータ構造を示している。CDevice1304はプロトコルパラメータマップ1400を含む。マップ1400に対するキー1402は、プロトコル(例えば、SNMP、HTTP、FTP)を表すストリングである。マップ1400に対する値1404は、構造SParameterのベクトルである。構造SPapameter1406は、ネットワーク装置のベンダ及びモデルの特徴より装置の特徴を備えた情報を含む。例えば、その情報はSNMPによりネットワーク装置にアクセスするためにコニュニティ名であることが可能であり、又はその情報はFTPによりネットワーク装置にアクセスするためにユーザ名及びパスワードであることが可能である。これらな、SNMP又はFTPによりいずれのネットワーク装置にアクセスするために用いられる共通情報値である。DeviceODBCパッケージにより得られたデータベースからの情報は、ネットワーク装置が種々のプロトコルによりアクセスされることができるように、そのマップに付加される。プロトコルがプロトコルを用いてネットワーク装置にアクセスすることができない場合及びベンダ及びモデルがプロトコルにより支援されない場合、そのマップにおけるエントリはそのプロトコルに対して取り除かれる。一部のプロトコルは、ベンダ及びモデルがプロトコルにより支援されない場合にも拘らず、ネットワーク装置にアクセスする。そのようなプロトコルの1つはSNMPである。
図36Bは、ネットワーク装置に対する図36Aのプロトコルパラメータマップ1400におけるサンプルデータを示している。ネットワーク装置は、状態情報SNMP及びFTPを得るために2つのプロトコルを用いる。それ故、ネットワーク装置のためのマップ1410は、キー“SNMP”及び“FTP”に対して2つのエントリを含む。SNMPを用いてネットワーク装置にアクセスするために、コミュニティ名が必要である。SNMPに対するSParameterのベクトルはコミュニティ名についての情報を含む。コミュニティのパラメータ名及び“私的”のパラメータ値は、1つのSParameterがネットワーク装置へのアクセスを可能とするように、用いられる。FTPを用いてネットワークにアクセスするために、ユーザ名及びパスワードが必要である。FTPのためのSParameterのベクトルはユーザ名及びパスワードについての情報を含む。パラメータ名“abc”をもつユーザ名のパラメータ名は、一のSParameterに対して用いられ、パラメータ名“xyz”をもつパスワードのパラメータ名は、ネットワーク装置にアクセスすることを可能にするように他のSParameterに対して用いられる。
図37は、どのプロトコルがネットワーク装置から状態情報を得るために用いられるかを判定するために、図36Aのプロトコルパラメータマップ1400がどのようにアップデートされるかを表すフローチャートを示している。図37における各段階は、プロトコルに対するネットワーク装置のベンダ名及びモデル名を得るために実行される。段階3702において、ネットワーク装置がプロトコルを用いてアクセスされることができるかどうかを判定するためにチェックがなされる。ネットワーク装置は、マップ1400において情報を用いてプロトコルによりアクセスされる。ネットワーク装置がプロトコルによりアクセスされることができない場合、そのプロトコルは段階3704においてプロトコルパラメータマップ1400から取り除かれ、マップ1400の更新は段階3714において終了する。ネットワーク装置がプロトコルによりアクセスされることができる場合、段階3706において、プロトコルを用いてネットワーク装置のベンダを得ることができるかどうかを判定するためにチェックがなされる。ベンダを得ることができない場合、段階3707において、GENERICベンダがプロトコルにより支援されているかどうかについてのチェックがなされる。GENERICベンダが装置のベンダを得ることができないかそれを支持しないに拘らず、全ての装置に共通の状態情報(共通の状態情報)をプロトコルが得ることができるプロトコル手段に対してGENERICベンダを支援する。GENERICベンダがプロトコルにより支援されない場合、段階3704において、そのプロトコルはプロトコルパラメータマップ1400から取り除かれ、段階3714において、マップ1400の更新は終了する。GENERICベンダがプロトコルにより支援される場合、そのプロトコルはプロトコルパラメータマップ1400に残り、段階3714において、マップの更新は終了する。段階3706において、ベンダを得ることができる場合、段階3708において、ネットワーク装置のベンダがプロトコルにより支援されているかどうかを判定するためにチェックがなされる。ベンダがプロトコルにより支援されていない場合、段階3707において、GENERICベンダがプロトコルにより支援されているかどうかのチェックがなされる。段階3707に続く段階のシーケンスについては、上で説明した。
ベンダがプロトコルにより支援されている場合、プロトコルを用いてネットワーク装置のモデルを得ることができるかどうかを判定するためにチェックがなされる。そのモデルを得ることができない場合、段階3711において、一般モデルがプロトコルにより支援されるかどうかのチェックがなされる。GENERICベンダが装置のモデルを得ることができないかそれを支持しないに拘らず、ベンダの全ての装置に共通の状態情報(ベンダ固有の状態情報)をプロトコルが得ることができるプロトコル手段に対してGENERICモデルを支援する。GENERICベンダがプロトコルにより支援されない場合、段階3704において、そのプロトコルはプロトコルパラメータマップ1400から取り除かれ、段階3714において、マップ1400の更新は終了する。GENERICモデルがプロトコルにより支援される場合、そのプロトコルはプロトコルパラメータマップ1400に残り、段階3714において、マップの更新は終了する。段階3710において、ベンダを得ることができる場合、段階3712において、ネットワーク装置のモデルがプロトコルにより支援されているかどうかを判定するためにチェックがなされる。モデルがプロトコルにより支援されていない場合、段階3711において、GENERICモデルがプロトコルにより支援されているかどうかのチェックがなされる。段階3711に続く段階のシーケンスについては、上で説明した。モデルがプロトコルにより支援される場合、プロトコルをネットワーク装置に対して状態情報を得るために用いることができ、プロトコルパラメータマップ1400の更新は段階3714において終了する。ベンダ及びモデルが得られず又は支援されていない場合、プロトコルはプロトコルパラメータマップ1400から取り除かれ、そのプロトコルは状態情報を得るためには用いられない。プロトコルに依存して図37において示されるプロセスに対して変形が存在する。HTTP及びFTPはフローチャートにおける説明に従い、SNMPは、ベンダは支援されているが、モデル及び一般モデルは支援されていない場合であっても、状態情報を得るために支援され、用いられる。
上記のように、ベンダ及びモデルが得られない又は支援されない場合であっても、状態情報をネットワーク装置からSNMPにより得ることができる。ネットワーク装置がSNMPを支援し、SNMPによりアクセスされることができる限り、SNMPプロトコルは、段階3704において、プロトコルパラメータマップ1400から取り除かれることが可能である。しかしながら、ネットワーク装置はSNMPによりアクセスされることができ、ベンダ又はモデルが得られ及び支援されるか否かに拘らず、SNMPプロトコルはプロトコルパラメータマップ1400に維持される。SNMPを支援するネットワーク装置はMIBを提供し、それ故、リモートシステムは、常に、装置から情報を得ることができる。しかしながら、ネットワーク装置から得ることができる情報のタイプ及び数は、ベンダ及びモデルが得られ、支援されるかどうかに依存する。SNMPによりネットワーク装置らか得ることができる更なる情報は、ベンダ及びモデルが得られ、周知であることである。ベンダ及びモデルを得ることができない場合、SNMPは又、システム説明書又はシステムが作動した時間のような、全ての装置が提供する情報を得ることができる。次のような3つの条件下でネットワーク装置から情報を得るためにSNMPを用いることができる。即ち、(1)ベンダ及びモデルは支援されている、(2)ベンダは支援され、モデルは支援されていない、及び(3)ベンダ及びモデルは支援されていない、の3つの条件である。HTTP及びFTPはSNMPとしての特性を有している。SNMPが、情報を得ることができるように、全てのネットワーク装置が従うことができる規準MIBを有する場合、ウェブページ及びFTPファイルは異なるベンダ及びモデルのネットワーク装置間で変化する。ネットワーク装置が情報を得るために従うFTPファイル及びウェブページについての基準はない。
本発明については、ネットワークに接続されるモニタリングを必要とする、幾つかの装置を含むように示したが、本発明の範囲及び主旨から逸脱することなく、いずれの数の装置をネットワークに接続すること可能であることを理解されるであろう。又、本発明は、種々の装置がモニタリングされ、制御される家庭環境において適用されることが可能である。
本発明は、特定の私的な管理情報ベース(MIB)情報を有することさえなく、ユーザによる理解可能又はユーザフレンドリな方式で詳細情報を検索し、表示する他のファシリティ及び複数ベンダの環境下で種々の装置のモニタリングを可能にする。
本発明の制御器は、コンピュータ技術分野における熟達した技術者に理解できるように、本発明の明細書の記載内容に従ってプログラム去れるマイクロプロセッサまたは従来の汎用のディジタルコンピュータを用いて便利に実施されることが可能である。適切なソフトウェアコーディングは、ソフトウェア技術分野における熟達した技術者に理解されるように、本発明の開示内容に基づいて熟練プログラマにより容易に準備されることができる。本発明は又、当業者により容易に理解できるように、従来のコンピュータ回路の適切なネットワークに相互接続することにより特定用途向け集積回路の作製により実行されることが可能である。
本発明は、本発明のプロセスを実行するようにコンピュータをプログラムするために用いることができる命令を含む記憶媒体に備えられたコンピュータプログラムプロダクトを含む。記憶媒体は、フロッピー(登録商標)ディスク、光ディスク、CD−ROM及び光磁気ディスクを含むいずれの種類のディスク、ROM、RAM、EPROM、EEPROM、磁気カード、光カード、又は電子的命令を記憶するために適切ないずれの種類の媒体を含むことができるが、それらに限定されるものではない。
明らかに、上記の開示に照らして、数多くの本発明の変更及び修正が可能である。従って、同時提出の特許請求の範囲における範囲内で、以上で具体的に説明した内容以外の他の方式で本発明を実施することが可能である。
本発明に従って、コンピュータ及びデータベースのネットワークに接続された3つのネットワーク化された事務所用装置を示している。 ディジタル画像形成装置の構成要素を示す図である。 図2に示すディジタル画像形成装置の電気的構成要素を示す図である。 図3に示す多ポート通信インタフェースの詳細を示す図である。 事務所用装置がネットワークに直接接続されたか又はネットワークに接続されたコンピュータに接続された、他のシステム構成を示す図である。 電子メールを用いてアプリケーションユニットへの及びそれからの情報の流れを示すブロック図である。 アプリケーションユニットに接続されたコンピュータが又、メッセージトランスファエージェント(MTA)として機能する、電子メールを用いる他の通信方法を示す図である。 電子メールを交換するためのメッセージトランスファエージェントをアプリケーションユニットが含む、電子メールを用いる他の通信方法を示す図である。 電気製品/装置に対してメールを受信するためのPOP3サーバとして及び電気製品/装置に対してメールを送信するためのSMTP(Simple Mail Transfer Protocol)としてメールサーバが機能する、電子メールを用いる他の通信方法を示す図である。 インターネットによりメッセージを送信する他の方法を示す図である。 電気製品/装置に接続され、電子メールメッセージを通信するために用いられることが可能である代表的なコンピュータを示す図である。 本発明の代表的な実施形態に従った全体的システムを模式的に表す図である。 本発明の代表的な実施形態に従ったインタフェース機能及びデータのモニタリングにおいて用いるモジュールを示す図である。 サブモジュール間の呼び出しモジュール及びモニタモジュールにおける細部を示す図である。 図11に示すHWaccessサブモジュールにより用いられるデータ構造を示す図である。 図10に示すも似たモジュールのinit機能のシーケンスを示す図である。 図11に示す、モニタマネージャにより被モニタリング装置の状態を判定するための状態モニタ機能の代表的なシーケンスを示す図である。 図13に示す、モニタマネージャにより用いられ、CDeviceFactoryにより生成される装置に対する基準のベクトルを示す図である。 抽象クラスCAbsProtocolParametersを含む装置ODBCモジュールのクラス構造を示す図である。 本発明に従った被モニタリング装置にアクセスするために必要なパラメータ値を記憶するために用いられるSParameterデータ構造を示す図である。 本発明に従った被モニタリング装置にアクセスするために必要なパラメータ値を記憶するために用いられるマップを示す図である。 本発明において用いられるモニタデータベースの構成を示す図である。 本発明による通信プロトコルに従って配置された支援データベースの構成を示す図である。 本発明による通信プロトコルに従って配置された支援データベースの構成を示す図である。 本発明による通信プロトコルに従って配置された支援データベースの構成を示す図である。 本発明に従ったHWaccessモジュールのクラス構造を示す図である。 本発明に従ったSNMPモジュールのクラス構造を示す図である。 本発明に従ったHTTPモジュールのクラス構造を示す図である。 本発明に従ったFTPモジュールのクラス構造を示す図である。 本発明に従った被モニタリング装置から状態情報を得るためと被モニタリング装置にアクセスするためとに必要な情報を維持するために図23のHWaccessモジュールにおいて用いられるデータ構造を示す図である。 本発明に従った被モニタリング装置から状態情報を得るためと被モニタリング装置にアクセスするためとに必要な情報を維持するために図23のHWaccessモジュールにおいて用いられるデータ構造を示す図である。 本発明に従った被モニタリング装置から状態情報を得るためと被モニタリング装置にアクセスするためとに必要な情報を維持するために図23のHWaccessモジュールにおいて用いられるデータ構造を示す図である。 本発明に従った被モニタリング装置から状態情報を得るためと被モニタリング装置にアクセスするためとに必要な情報を維持するために図23のHWaccessモジュールにおいて用いられるデータ構造を示す図である。 本発明に従った被モニタリング装置のベンダ情報と共にプロトコルオブジェクトを初期化するプロセスを示すフローチャートである。 本発明に従った各々のプロトコルに対する固有のベンダ及びモデルの日モニタ装置の状態情報を得るために用いられるデータ構造を示す図である。 本発明に従った各々のプロトコルに対する固有のベンダ及びモデルの日モニタ装置の状態情報を得るために用いられるデータ構造を示す図である。 本発明に従った各々のプロトコルに対する固有のベンダ及びモデルの日モニタ装置の状態情報を得るために用いられるデータ構造を示す図である。 本発明に従った各々のプロトコルに対する固有のベンダ及びモデルの日モニタ装置の状態情報を得るために用いられるデータ構造を示す図である。 本発明に従ったFTPプロトコルを用いて被モニタリング装置から状態情報を得る、図27D、29C及び29Dのデータ構造に対するサンプリデータの例を示す図である。 本発明に従った通信プロトコルに対して被モニタリング装置から状態情報を得るプロセスを示すフローチャートである。 本発明に従った通信プロトコルの全てを用いて被モニタリング装置から状態情報を得るプロセスを示すフローチャートである。 本発明に従った所定のプロトコルにより支援される被モニタリング装置のベンダ及びモデルについての情報を維持するために用いられるデータ構造を示す図である。 図32Aにしメスデータ構造の例を示す図である。 本発明に従った図32Aのデータ構造に支援されたベンダ及びモデルを付加する方法を示すフローチャートである。 本発明に従った図32Aのデータ構造からのプロトコルにより支援されるベンダ及びモデルを得る方法を示すフローチャートである。 本発明に従った装置モジュールのクラス構造を示す図である。 本発明に従った被モニタリング装置にアクセスするためにどのプロトコルが用いられるかを判定するために被モニタリング装置を表すソフトウェアオブジェクトにより用いられるデータ構造を示す図である。 図36Aのデータ構造におけるサンプルデータを示す図である。 本発明に従った被モニタリング装置に対して状態情報を得るためにどのプロトコルが用いられるかを判定するために図36Aのデータ構造がどのように更新されるかを示すフローチャートである。
符号の説明
10 広域ネットワーク(WAN)
12A乃至12I ルータ及びコンピュータ
16 第1ネットワーク
17、18、20、22 ワークステーション
24 ディジタル画像形成装置
26 電話コネクション
27 事務所用電気製品
28 ファックス装置
30 ケーブルコネクション
32 プリンタ
34 無線コネクション
50A乃至50C ファイアウォール
50−1乃至50−4 ファイアウォール
52 ネットワーク
54 ディスク
56 ワークステーション
58 ディスク
60 ケーブルコネクション
62 ワークステーション
64 ディスク
66 ケーブルコネクション
68 ワークステーション
70 ディスク
72 ケーブルコネクション
74 ワークステーション
76 ディスク
80 ケーブルコネクション
101 ファン
102 多面鏡
103 Fθレンズ
104 センサ
105 レンズ
106 クエンチングランプ
107 帯電コロナユニット
108 現像ローラ
109 ランプ
110乃至112 鏡
113 ドラム鏡
114 ファン
115 第1給紙ローラ
116 マニュアル給紙テーブル
117 第1給紙カセット
118 第2給紙ローラ
119 第2給紙カセット
120 中継ローラ
121 レジストレーションローラ
122 画像密度センサ
123 転写/分離コロナユニット
124 クリーニングユニット
125 真空ファン
126 搬送ベルト
127 圧力ローラ
128 出口ローラ
129 加熱ローラ
130 排気ファン
131 主モータ
160 CPU
162 RAM
164 ROM
166 マルチポートネットワークインタフェース
168 電話、無線又はケーブル回線
170 ネットワーク
171 ローカルコネクション
172 I/F制御器
174 操作パネル
176 ストレージI/F
178 フラッシュメモリ
180 コネクション
182 ディスク
186 システムバス
184 任意インタフェース
187 クロック/タイマー
188 任意ユニットインタフェース
190 フューザ
192 プリンタ/イメージャ
194 スキャナ
196 給紙制御器
198 大容量トレーユニット
200 デュプレクサ
202 ソータ
220 トークンリングインタフェース
222 ケーブルモデム
224 電話インタフェース
228 無線インタフェース
230 イーサネットインタフェース
254 サービスマシン
256 データ
260−1、260−2 インターネット
262 プリンタ
264 インターネットサービスプロバイダ
266 コンピュータ
268 事務所用装置
272 コンピュータ
274 ネットワーク
276 コンピュータ
278 事務所用装置
282 コンピュータ
285 事務所用電気製品
286 コピー装置
300 装置/電気製品
302 装置/電気製品へのコンピュータインタフェース
304 メールエージェント
306 送信されるメールのキュー
308 メッセージトランスファエージェント
310 TCP/IPコネクション
312 メッセージトランスファエージェント
314 ユーザメールボックス
316 メールエージェント
318 端末のユーザ
320 送信ホスト
322A乃至322F ローカルMTA
328A、321B リレーMTA
342 受信ホスト
360 コンピュータ
362 CPU
364 RAM
366 無線インタフェース
368 無線装置
370 ROM
371 フラッシュメモリ
372 入力制御器
374 キーボード
376 マウス
378 シリアルインタフェース
380 シリアル装置
382 パラレルインタフェース
384 パラレル装置
386 ユニバーサルシリアルバスインタフェース
388 ユニバーサルシリアルバス装置
390 システムバス
392 ハードディスク
394 フロッピードライブ
396 ディスク制御器
398 IEEE 1394インタフェース
400 IEEE 1394インタフェース
404 ネットワーク
406 通信制御器
408 I/O制御器
410 プリンタ
412 ハードディスク
414 CRT
416 表示制御器
900 システム
902 モニタリングステーション
904 ディスク
906 データベース
908 リコーレーザプリンタ
910 ネットワークスキャナ
912 ベンダ1 ネットワーク装置
914 リコーMFP
924 アクセスポート
1002 タイマーモジュール
1004 モニタサービスサービス
1006 モニタモジュール
1014 モニタデータベース
1024 支援データベース
1101 共通モジュール
1102 モニタマネージャモジュール
1104 DeviceODBCモジュール
1110 装置モジュール
1116 HWaccessモジュール
1200 SkeyValueInfo構造
1202 infoType
1204 m_sKeyフィールド
1206 m_nPositionフィールド
1208 m_sTypeフィールド
1210 m_sDelimiterフィールド
1212 m_nInLinePositionフィールド
1500 ベクトル
1502、1504 CDeviceオブジェクトへのポインタ
1700 データ構造
1800 マップ構造
1802 SNMPプロトコル
1804 HTTPプロトコル
1806 FTPプロトコル
1808、1810、1812 パラメータ
1902 装置情報DeviceInfo
1904 DeviceHistory
1906 EnumCorrespondence
1908 SNMPプロトコル
1910 HTTPプロトコル
1912 FTPプロトコル
2002 SNMPVectorデータ構造
2004 SNMPComVendoeStatusデータ構造
2006 EnumCorrespondenceデータ構造
2008 SNMPVenderModelStatusデータ構造
2300 CHWaccessクラス
2302 HTTPパッケージ
2304 SNMPパッケージ
2306 FTPパッケージ
2308 CAbsProtocolクラス
2310 CRecordSetクラス
2400 CAbsProtocolクラス
2402 CSNMPProtocolクラス
2404 SNMPaccessパッケージ
2406 SNMPODBCパッケージ
2408 CRecordSetクラス
2500 クラスCAbsProtocol
2502 クラスCHTTPProtocol
2504 パッケージHTTPaccess
2506 パッケージHTTPODBC
2508 クラスCRecordSet
2600 クラスCAbsProtocol
2602 クラスCFTPProtocol
2604 パッケージFTPaccess
2606 FTPODBCパッケージ
2608 クラスCRecordSet

Claims (6)

  1. モニタリング装置が、ネットワークに通信可能であるように結合された被モニタリング装置からどのようなタイプの状態情報を抽出するべきかを決定する方法であって、
    前記モニタリング装置が、前記被モニタリング装置から状態情報を抽出するために用いられる複数の通信プロトコルの中から通信プロトコルを選択する段階と、
    前記モニタリング装置が、選択された通信プロトコルに関連するプロトコルオブジェクトを第1メモリから検索する段階であって、前記プロトコルオブジェクトは、少なくとも、一タイプの状態情報と状態情報の優先順序と、前記の選択された通信プロトコルを用いて前記被モニタリング装置から前記一タイプの状態情報を抽出するための前記被モニタリング装置へのアクセス情報を含むコンフィグレーション情報とを含む、段階と、
    前記モニタリング装置が、前記一タイプの状態情報が第2メモリに存在するかどうかを判定する段階と、
    前記の判定する段階が、前記一タイプの状態情報が前記第2メモリに存在することを判定した場合、前記モニタリング装置が、前記プロトコルオブジェクト含まれた前記一タイプの状態情報の優先順位が、前記第2メモリに記憶された同じタイプの状態情報の優先順位より大きいかどうかをチェックする段階と、
    (1)前記の判定する段階が、前記一タイプの状態情報が前記第2メモリに存在しないことを判定した場合、又は(2)前記の判定する段階が、前記一タイプの状態情報が前記第2メモリに存在することを判定し、前記一タイプの状態情報の優先順位が、前記第2メモリに記憶された同じタイプの状態情報の優先順位より大きい場合、前記モニタリング装置が、前記状態情報を得るために前記プロトコルオブジェクトに含まれる前記被モニタリング装置から前記一タイプの状態情報を抽出するためのコンフィグレーション情報と前記の選択された通信プロトコルとを用いて、前記被モニタリング装置から前記一タイプの状態情報を抽出する段階とを含むことを特徴とする方法。
  2. ネットワークに通信可能であるように結合された被モニタリング装置からどのようなタイプの状態情報を抽出するべきかを決定するシステムであって、
    前記装置から状態情報を抽出するために用いられる複数の通信プロトコルの中から通信プロトコルを選択する手段と、
    選択された通信プロトコルに関連するプロトコルオブジェクトを第1メモリから検索する手段であって、前記プロトコルオブジェクトは、少なくとも、一タイプの状態情報と状態情報の優先順序と、前記の選択された通信プロトコルを用いて前記装置から前記一タイプの状態情報を抽出するための前記被モニタリング装置へのアクセス情報を含むコンフィグレーション情報とを含む、手段と、
    前記一タイプの状態情報が第2メモリに存在するかどうかを判定する手段と、
    前記の判定する手段が、前記一タイプの状態情報が前記第2メモリに存在することを判定した場合、前記プロトコルオブジェクトに含まれた前一タイプの状態情報の優先順位が、前記第2メモリに記憶された同じタイプの状態情報の優先順位より大きいかどうかをチェックする手段と、
    (1)前記の判定する手段が、前記一タイプの状態情報が前記第2メモリに存在しないことを判定した場合、又は(2)前記の判定する手段が、前記一タイプの状態情報が前記第2メモリに存在することを判定し、前記一タイプの状態情報の優先順位が、前記第2メモリに記憶された同じタイプの状態情報の優先順位より大きい場合、前記状態情報を得るために前記プロトコルオブジェクトに含まれる前記装置から前記一タイプの状態情報を抽出するためのコンフィグレーション情報と前記の選択された通信プロトコルとを用いて、前記装置から前記一タイプの状態情報を抽出する手段とを有することを特徴とするシステム。
  3. 前記の判定する手段は、
    前記一タイプの状態情報が前記第2メモリの状態情報マップに存在するかどうかを判定する手段であって、前記状態情報マップは少なくとも1つのエントリを有し、各々のエントリは、状態情報タイプと、状態情報値と、状態情報の優先順位とを含む、ことを特徴とする、請求項2に記載のシステム。
  4. 前記の選択する手段は、
    SNMP、HTTP及びFTPの中から通信プロトコルを選択する手段を有することを特徴とする、請求項2に記載のシステム。
  5. 前記状態情報の優先順位は、他の複数の通信プロトコルを用いて抽出された同じタイプの状態情報に関連する状態情報の相対的情報値を表すことを特徴とする、請求項2に記載のシステム。
  6. ネットワークに通信可能であるように結合された被モニタリング装置からどのようなタイプの状態情報を抽出するべきかを決定するためのコンピュータプログラムあって、コンピュータに、
    前記装置から状態情報を抽出するために用いられる複数の通信プロトコルの中から通信プロトコルを選択する段階と、
    選択された通信プロトコルに関連するプロトコルオブジェクトを第1メモリから検索する段階であって、前記プロトコルオブジェクトは、少なくとも、一タイプの状態情報と状態情報の優先順序と、前記の選択された通信プロトコルを用いて前記装置から前記一タイプの状態情報を抽出するための前記被モニタリング装置へのアクセス情報を含むコンフィグレーション情報とを含む、段階と、
    前記一タイプの状態情報が第2メモリに存在するかどうかを判定する段階と、
    前記の判定する段階が、前記一タイプの状態情報が前記第2メモリに存在することを判定した場合、前記モニタリング装置が、前記プロトコルオブジェクト含まれた前記一タイプの状態情報の優先順位が、前記第2メモリに記憶された同じタイプの状態情報の優先順位より大きいかどうかをチェックする段階と、
    (1)前記の判定する段階が、前記一タイプの状態情報が前記第2メモリに存在しないことを判定した場合、又は(2)前記の判定する段階が、前記一タイプの状態情報が前記第2メモリに存在することを判定し、前記一タイプの状態情報の優先順位が、前記第2メモリに記憶された同じタイプの状態情報の優先順位より大きい場合、前記モニタリング装置が、前記状態情報を得るために前記プロトコルオブジェクトに含まれる前記被モニタリング装置から前記一タイプの状態情報を抽出するためのコンフィグレーション情報と前記の選択された通信プロトコルとを用いて、前記被モニタリング装置から前記一タイプの状態情報を抽出する段階とを含むことを特徴とするコンピュータプログラム。
JP2005018672A 2004-01-27 2005-01-26 ネットワーク装置から状態情報を得るために用いられるプロトコルを管理するための方法及びシステム Expired - Fee Related JP4723868B2 (ja)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US764582 1991-09-24
US764467 1996-12-12
US10/764,582 US7296079B2 (en) 2004-01-27 2004-01-27 Method and system for initializing protocol information used to extract status information from networked devices
US10/764,527 US20050177642A1 (en) 2004-01-27 2004-01-27 Method and system for managing protocols used to obtain status information from a network device
US764569 2004-01-27
US764527 2004-01-27
US10/764,467 US7606894B2 (en) 2004-01-27 2004-01-27 Method and system for determining the type of status information to extract from networked devices in a multi-protocol remote monitoring system
US10/764,569 US7610372B2 (en) 2004-01-27 2004-01-27 Method and system for managing vendor and model information in a multi-protocol remote monitoring system

Publications (3)

Publication Number Publication Date
JP2005216307A JP2005216307A (ja) 2005-08-11
JP2005216307A5 JP2005216307A5 (ja) 2007-10-25
JP4723868B2 true JP4723868B2 (ja) 2011-07-13

Family

ID=34916526

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005018672A Expired - Fee Related JP4723868B2 (ja) 2004-01-27 2005-01-26 ネットワーク装置から状態情報を得るために用いられるプロトコルを管理するための方法及びシステム

Country Status (1)

Country Link
JP (1) JP4723868B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4825626B2 (ja) * 2005-09-09 2011-11-30 株式会社リコー 通信制御装置、通信制御方法、通信制御プログラム及び記憶媒体
US7596749B2 (en) * 2005-09-26 2009-09-29 Ricoh Company Limited Method and system for script processing in script implementation of HTTP to obtain information from devices
WO2013042270A1 (ja) * 2011-09-22 2013-03-28 株式会社日立製作所 システム管理装置及びシステム管理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030014505A1 (en) * 1999-01-29 2003-01-16 Jon R. Ramberg Remote anomaly diagnosis and reconfiguration of an automatic data collection device platform over a telecommunications network
WO2003038630A1 (en) * 2001-10-30 2003-05-08 Sony Corporation Electronic device monitoring method, electronic device, computer, and program thereof
JP2004005692A (ja) * 2002-05-31 2004-01-08 Ricoh Co Ltd 遠隔的に監視される機器に複数のベンダ支援を与える方法及び装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030014505A1 (en) * 1999-01-29 2003-01-16 Jon R. Ramberg Remote anomaly diagnosis and reconfiguration of an automatic data collection device platform over a telecommunications network
WO2003038630A1 (en) * 2001-10-30 2003-05-08 Sony Corporation Electronic device monitoring method, electronic device, computer, and program thereof
JP2004005692A (ja) * 2002-05-31 2004-01-08 Ricoh Co Ltd 遠隔的に監視される機器に複数のベンダ支援を与える方法及び装置

Also Published As

Publication number Publication date
JP2005216307A (ja) 2005-08-11

Similar Documents

Publication Publication Date Title
JP4728069B2 (ja) 被監視デバイスに関するステータス情報を抽出するための通信プロトコルに関連したデータ処理オブジェクトの生成方法
US7296079B2 (en) Method and system for initializing protocol information used to extract status information from networked devices
JP5090562B2 (ja) 機器のステータス情報を取得する監視装置、監視システム、方法、及びコンピュータプログラム
JP4925668B2 (ja) ネットワークを介して被監視装置を監視する監視装置、システム、方法、及びコンピュータプログラム
US7610372B2 (en) Method and system for managing vendor and model information in a multi-protocol remote monitoring system
JP4557655B2 (ja) マルチプロトコル遠隔監視システム内のネットワーク装置から情報を抽出するための方法、システム及びコンピュータプログラム
JP4728070B2 (ja) ネットワークデバイスからステータス情報を抽出するための抽象型クラス使用方法およびシステム
JP4925626B2 (ja) 被監視デバイスに関するステータス情報を抽出するための通信プロトコルと関連するデータ処理オブジェクトの初期化方法
US7606894B2 (en) Method and system for determining the type of status information to extract from networked devices in a multi-protocol remote monitoring system
US7447766B2 (en) Method for efficiently storing information used to extract status information from a device coupled to a network in a multi-protocol remote monitoring system
JP4688128B2 (ja) 複数のプロトコルを用いてネットワーク接続されたデバイスを監視する方法およびシステム並びにコンピュータプログラム
EP1679822A1 (en) Method and system for extracting information from networked devices using multiple implementations of protocol access functions
US20050177642A1 (en) Method and system for managing protocols used to obtain status information from a network device
JP4891019B2 (ja) 被監視装置のステータス情報を抽出する方法、コンピュータシステム及びコンピュータプログラム
EP1679823A1 (en) Method and system for extracting information from networked devices using the HTTP protocol and precondition information
JP2005108217A (ja) 遠隔監視システム内のネットワーク装置を監視するために使用される複数のプロトコルをサポートする方法、システム及びコンピュータプログラム
EP1679824A1 (en) Method and system for extracting information from network devices using multiple protocol access functions
JP2007095055A (ja) 被監視装置に格納されたウェブページからステータス情報を抽出するための方法、システム及びコンピュータプログラム
JP2007095057A (ja) 被監視装置に格納されたウェブページからステータス情報を抽出するための方法、システム及びコンピュータプログラム
JP2007095058A (ja) 被監視装置に格納されたウェブページからステータス情報を抽出するための方法、システム及びコンピュータプログラム
JP4286601B2 (ja) ネットワークに接続された装置を監視する監視装置、方法及びコンピュータプログラム
JP4723868B2 (ja) ネットワーク装置から状態情報を得るために用いられるプロトコルを管理するための方法及びシステム
JP2004213654A (ja) 監視デバイスの情報を取得および保守する方法、装置並びにシステム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070907

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070907

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100601

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101012

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101213

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110329

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110408

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees