JP4688128B2 - 複数のプロトコルを用いてネットワーク接続されたデバイスを監視する方法およびシステム並びにコンピュータプログラム - Google Patents

複数のプロトコルを用いてネットワーク接続されたデバイスを監視する方法およびシステム並びにコンピュータプログラム Download PDF

Info

Publication number
JP4688128B2
JP4688128B2 JP2004016045A JP2004016045A JP4688128B2 JP 4688128 B2 JP4688128 B2 JP 4688128B2 JP 2004016045 A JP2004016045 A JP 2004016045A JP 2004016045 A JP2004016045 A JP 2004016045A JP 4688128 B2 JP4688128 B2 JP 4688128B2
Authority
JP
Japan
Prior art keywords
information
database
monitoring
network
accessed
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
JP2004016045A
Other languages
English (en)
Other versions
JP2004259259A (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
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JP2004259259A publication Critical patent/JP2004259259A/ja
Application granted granted Critical
Publication of JP4688128B2 publication Critical patent/JP4688128B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、ネットワークに接続されたデバイスの監視に関する。特に、本発明は、複数のプロトコルを用いてネットワーク接続されたデバイスを監視する方法、システムおよびそのコンピュータプログラムに関する。
[関連出願への相互参照]
本出願は、以下の同一出願人の同時係属中の出願に関連している。「Method and Apparatus Utilizing Communication Means Hierarchy to Configure or Monitor an Interface Device」と題する2002年2月11日出願の米国特許出願第10/068,861号、「Verification Scheme for Email Message Containing Information About Remotely Monitored Devices」と題する2002年5月13日出願の米国特許出願第10/142,989号、「Method and System of Remote Support of Device Using Email」と題する2001年1月9日出願の米国特許出願第09/756,120号、「Method and Apparatus for Modifying Remote Devices monitored by a Monitoring System」と題する2002年5月31日出願の米国特許出願、「Method and System for Remote Support of Device Using Email Based Upon Pop3 With Decryption Capability Through Virtual Function」と題する2001年10月15日出願の米国特許出願第09/975,935号、「Method and System of Remote Support of Device Using Email Through Data Transfer Module」と題する2001年9月17日出願の米国特許出願第09/953,358号、「Method and System to Use HTTP and HTML/XML for Monitoring the Devices」と題する2002年6月5日出願の米国特許出願第10/162,402号、「Method for Scrambling Information about Network Devices That is Placed in Email Message」と題する2002年5月31日出願の米国特許出願第10/157,903号、「Universal Controller in The Wireless Networked Environment」と題する2001年8月6日出願の米国特許出願第09/921,707号、および「Method and System for Monitoring Network Connected Devices with Multiple Protocols」と題する米国特許出願第10/225,290号。これらの開示は全体として参照により本明細書に援用される。
一般的に知られているように、コンピュータシステムはハードウェアおよびソフトウェアを含む。ソフトウェアは、コンピュータシステムを構成するハードウェアコンポーネントを動作させ、かつ管理するために作成された命令のリストを含む。通常、コンピュータシステムは、互いにインタフェースをとりあう種々のハードウェアコンポーネント/デバイスを含む。コンピュータシステムは、スタンドアロン型でもネットワーク接続型でもよい。ネットワーク接続型コンピュータシステムでは、複数の相異なるデバイスがネットワークに接続されることにより、これらの相異なるデバイス間の通信がネットワーク経由で可能となる。
また、ハードウェアデバイスを動作させるソフトウェアは、ハードウェアデバイス間の通信を可能にするために、ハードウェアデバイスが協調的に機能するように構成される必要がある。さらに、このような通信を容易にする目的で、各ハードウェアデバイスが効率的に機能していることを保証するために、ハードウェアデバイスが監視され、また各ハードウェアデバイスのステータスが識別されることも望ましい。
ここでは、複数の相異なるデバイスまたはハードウェアデバイスを制御し、構成し、または監視するハードウェアデバイスを「監視デバイス」と呼び、監視デバイスによって制御され、構成され、または監視されているハードウェアデバイスを「被監視デバイス」と呼ぶことにする。
ネットワーク上に配置されるハードウェアデバイスについて、これらのデバイスが保守、使用または他の目的で監視されることが望ましい。しかし、ハードウェアデバイスおよびインタフェースに関連する製造元の相違を考えると、監視デバイスが、ネットワークに接続された種々の他のデバイスと通信することは困難なことがある。このような欠点は、ネットワークに接続されたデバイスのパフォーマンスおよび効率に関する重大な情報をネットワーク管理者が取得するのを妨げる可能性が非常に高い。
シンプルネットワーク管理プロトコル(SNMP)は今日、データ通信ネットワーク上のデバイス、電気通信システムおよびグローバルに到達可能なデバイスの監視および管理のための事実上の業界標準である。実際上、コンピュータおよび関連デバイスを取り扱うあらゆる組織は、ローカルエリアネットワークおよび広域ネットワークを越えてそれぞれのそのようなデバイスを集中的に監視、診断および構成することができることを期待している。SNMPは、この相互作用を可能にするプロトコルである。
デバイスがSNMPリクエストに応答するためには、デバイスが適当にSNMPリクエストを解釈し、そのリクエストによって要求されるアクションを実行し、SNMPリプライを生成することを可能にするソフトウェアをデバイスに装備することが望ましい。SNMPエージェントソフトウェアは通常、ネットワークエンティティに存在するサブシステムソフトウェアモジュールである。
システムによって実装されるオブジェクトのコレクションは、一般に管理情報ベース(MIB)と呼ばれる。MIBは、デバイスの監視に関連する情報を有するデータベースであってもよい。他のMIBの例としては、いくつか列挙すれば、イーサネットインタフェースを中心に扱うイーサネットMIB、802.1Dブリッジの管理のためのオブジェクトを定義するブリッジMIBがある。
デバイスを監視するためにSNMPを使用することは困難である。というのは、プライベートMIBは、有効なキーなしに解読するのが難しい値を含むからである。会社のネットワークに接続された種々のデバイスを監視するためにSNMPを使用している会社は、会社の機密情報として保持される固有の識別子/キーを作成する。たいていの場合、結果は2値または整数値として表示される。したがって、SNMPを使用する場合、監視されているデバイス(被監視デバイス)から受信される結果は、ユーザに理解可能な形で被監視デバイスのステータスをユーザに提供することができない。
さらに、SNMPを使用する場合、2値または整数値として取得された結果を解読するために、有効なキーまたはプライベートMIBへのアクセスなしに被監視デバイスに関する詳細な情報を取得することは困難である。
本発明のシステムおよび方法は、ネットワークに接続されたデバイスの監視を可能にすることによって上記の問題の解決を図る。ネットワークに通信可能に結合した相異なるデバイスのうちの1つのデバイスを監視する方法が記述される。
本方法は、ハードウェアアクセスモジュール経由で第1データベース(SupportODBC)にアクセスすることを含む。第1データベースは、複数の通信プロトコルをサポートするように構成される。第1データベースには、被監視デバイスの製造元およびモデル情報のような種々の情報を取得するために、複数の通信プロトコルによって使用される情報が格納される。通信プロトコルが複数の通信プロトコルから選択される。選択される通信プロトコルは、被監視デバイスからステータス情報を受信するように構成される。本方法はさらに、選択された通信プロトコルおよび第1データベースからの情報を用いて被監視デバイスにアクセスすること、ならびにアクセスされたデバイスからステータス情報を受信し、受信したステータス情報を第2データベース(DeviceODBC)に格納することを含む。
別の実施形態では、本発明は、ネットワークに通信可能に結合した相異なるデバイスのうちの1つのデバイスを監視する方法を提供する。被監視デバイスから情報を取り出すために複数の通信プロトコルを使用してもよい。例えば、被監視デバイスにアクセスするために、SNMPプロトコルがまず選択され、SNMPプロトコルを用いて効率的に取り出されるように構成されたデバイス情報が取得される。次に、HTTPプロトコルが選択され、SNMPプロトコルを用いて効率的に取り出すことができなかった情報を取得する。プロトコルの選択は、例えばSupportODBCのようなデータベースに格納されたサポート情報を用いて、プロトコルマネージャによって実行される。
本発明では、監視システムが、例えばLANまたはWANのようなネットワークに接続された少なくとも1つのデバイス(被監視デバイス)を監視することを可能にする。被監視デバイスは、固有のIPアドレスを有するように構成される。被監視デバイスに割り当てられるIPアドレス、および被監視デバイスについてのベンダ/製造元の詳細は、データベースに格納される。
本発明は、被監視デバイスから受信されるHTML情報から必要な情報を抽出する方法を指定する。一旦被監視デバイスのページ位置に(すなわち、IPアドレスおよび指定されたポートを通じて)アクセスすると、被監視デバイスに対応する特定のウェブページが表示される。ウェブページに表示される情報は、キーおよび値の対の形態である。ウェブページ内の情報から必要な情報を取り出すために、HTML/XMLパーサを用いてページを解析する。HTML/XMLパーサを用いてウェブページから抽出された必要な情報およびパラメータ値は、DeviceODBCデータベースに格納される。
本発明の一態様では、ネットワーク接続された相異なるデバイスのうちの1つのデバイスを監視する方法が記述される。本方法は、ハードウェアアクセスモジュール経由で第1データベースにアクセスすることを含む。第1データベースは、複数の通信プロトコルをサポートするように構成される。第1データベースには、被監視デバイスの製造元およびモデル情報等の種々の情報を取得するために、複数の通信プロトコルによって使用される情報が格納される。通信プロトコルが複数の通信プロトコルから選択される。選択される通信プロトコルは、被監視デバイスからステータス情報等の種々の情報を受信するために使用される。本方法はさらに、選択された通信プロトコルおよび第1データベースからの情報を用いて被監視デバイスにアクセスすること、アクセスされたデバイスからステータス情報を受信すること、および受信したステータス情報を第2データベースに格納することを含む。
本発明の別の態様では、ネットワークに通信可能に結合した相異なるデバイスのうちの1つのデバイスを監視するシステムが提供される。本システムは、複数の通信プロトコルをサポートするように構成された第1データベースを含む。第1データベースは、デバイスに関する情報を抽出するために複数の通信プロトコルによって使用される情報を有する。デバイスは、デバイスから製造元、モデル、固有IDおよびステータス情報のような種々の情報を受信するために、複数の通信プロトコルから選択される通信プロトコルを用いてアクセスされる。その通信プロトコルをサポートする第1データベースからの情報も使用される。本システムはさらに、データ文字列の形態でデバイスからステータス情報を受信するハードウェアアクセスモジュールと、第1データベースからの情報を用いてデバイスのステータス情報値を抽出するために、データ文字列を処理するプロセッサと、抽出されたステータス情報値を格納する第2データベースとを含む。
本発明はまた、本明細書に記載されるような監視システムによってサポートされる被監視デバイスの種々のベンダおよびデバイスモデルも識別する。被監視デバイスの種々のベンダがベンダ固有の方法で被監視デバイスに関する情報を提示するので、本発明は、被監視デバイスのベンダおよびモデルの識別が、被監視デバイスの動作ステータスを決定することを可能にする。
本発明は、特定のプライベート管理情報ベース(MIB)情報を有することさえなしに、マルチベンダ環境における種々のデバイスの監視を可能にし、さらに、ユーザが理解しやすい、またはユーザが利用しやすい方法で、詳細な情報を取り出し表示することを容易にする。
本発明のさらに完全な理解と、本発明に付随する利点の多くは、本発明が以下の詳細な説明を添付図面とともに考察して参照することによってより一層理解されるようになるとともに、容易に得られるであろう。
図1は、種々のデバイスと、デバイスの動作を監視、診断および制御するコンピュータとを有する概略図を示している。具体的には、図1は、コンピュータワークステーション17、18、20および22に接続されたローカルエリアネットワーク(LAN)のような第1ネットワーク16を含む。ワークステーションは、例えばパーソナルコンピュータデバイス、Unixベースのコンピュータ、LinuxベースのコンピュータまたはApple Macintoshを含む、いかなるタイプのコンピュータであってもよい。ネットワーク16には、デジタル画像形成装置24、ファクシミリ装置28およびプリンタ32も接続されている。当業者には理解されるように、デジタル画像形成装置24およびファクシミリ装置28の2つ以上のコンポーネントが、統合された「画像形成装置」へと組み合わされてもよい。例えば、画像形成装置24、ファクシミリ装置28、プリンタ32ならびにワークステーション17、18、20および22は、マシンまたは被監視デバイスと呼ばれてもよい。構成によっては、1つまたは複数のワークステーションが事務用機器へと転換されるものもある。さらに、いかなるネットワーク事務用機器/デバイスがネットワーク16に取り付けられてもよい。
このような事務用機器の一例は、Ricoh社から販売されているeCabinet(登録商標)である。また、ファクシミリサーバ(図示せず)がネットワーク16に接続され、電話、サービス総合デジタル網(ISDN)、ケーブルまたは無線接続を有していてもよい。デジタル画像形成装置24、ファクシミリ装置28およびプリンタ32のそれぞれは、ネットワーク16に接続されていることに加えて、それぞれ従来の電話および/またはISDNおよび/またはケーブルおよび/または無線接続26、30および34を含んでもよい。以下で説明するように、被監視デバイス24、28および32は、例えばネットワーク16経由でインターネットを通じて、または直接の電話、ISDN、無線もしくはケーブル接続によって、監視デバイスとも呼ばれるリモートの監視、診断および制御ステーションと通信する。
別の例示的なビジネス環境では、被監視デバイスは、多機能イメージングデバイス、スキャナ、プロジェクタ、会議システムおよびシュレッダのようなデバイスを含んでもよい。別の応用例として、ネットワーク16はホームネットワークであってもよく、その場合、被監視デバイスは計器(電気、ガス、水道)または例えば電子レンジ、洗濯機、乾燥機、皿洗い機、家庭用娯楽システム、冷蔵庫、炊飯器、ヒータ、エアコン、湯沸器、セキュリティカメラのような機器である。
図1で、広域ネットワーク(WAN)(例えば、インターネットまたはその後継)が包括的に10で示されている。WAN10は、プライベートWAN、パブリックWANまたは混成型のいずれでもよい。WAN10は、12A〜12Iで示される複数の相互接続されたコンピュータおよびルータを含む。WANを通じて通信する方法は、Internet Engineering Task Force(IETF)からwww.ietf.org/rfc.htmlで入手可能な一連のRequest for Comments(RFC)文書を通じて既知であり、これには、「Simple Mail Transfer Protocol」と題するRFC821、「Standard for the Format of ARPA Internet Text Message」と題するRFC822、「File Transfer Protocol (FTP)」と題するRFC959、「Multipurpose Internet Mail Extensions (MIME) Part One:Format of Internet Message Bodies」と題するRFC2045、「An Extensible Message Format for Delivery Status Notifications」と題するRFC1894、「Post Office protocol−Version 3」と題するRFC1939、「Hypertext Transfer Protocol−HTTP/1.1」と題するRFC2068、および「An Extensible Message Format for Message Disposition Notifications」と題するRFC2298がある。これらの参考文献のそれぞれの内容は参照により本明細書に援用される。
伝送制御プロトコル(Transmission Control Protocol)/インターネットプロトコル(Internet Protocol)(TCP/IP)関連の通信は、例えば、Addison−Wesley Publishing社から1994年に出版された、W.R.Stevens著「TCP/IP Illustrated」Vol.1、The Protocolsに記載されており、その内容全体が参照により本明細書に援用される。ComerとStevensによる「Internetworking with TCP/IP」の第1〜3巻もまた、全体として参照により本明細書に援用される。
図1の参照を続けると、ファイアウォール50AがWAN10とネットワーク16の間に接続されている。ファイアウォールは、ファイアウォールの一方の側にある権限のあるコンピュータのみが、ファイアウォールの他方の側にあるネットワーク、コンピュータまたは個別の部分にアクセスすることを可能にするデバイスである。ファイアウォールは既知の市販のデバイスおよび/またはソフトウェアである(例えば、Zone Labsから販売されているZoneAlarm)。同様に、ファイアウォール50Bおよび50Cは、WAN10をそれぞれネットワーク52およびワークステーション42から分離する。ファイアウォールについてさらに詳細には、W.R.CheswickおよびS.M.Bellovin著「Firewalls and Internet Security」1994、Addison Wesley Publishing、およびD.B.ChapmanおよびE.D.Zwicky著「Building Internet Firewalls」1995、O’Reilly & Associates社に見ることができる。これらの2つの参考文献の内容全体が参照により本明細書に援用される。
ネットワーク52は従来のネットワークであり、複数のワークステーション56、62、68および74を含む。これらのワークステーションは、単一の会社内の異なる部門(例えば、営業、製造、設計技術および顧客サービス部門)内に分散して配置されてもよい。ネットワーク52経由で接続されるワークステーションに加えて、ネットワーク52に直接接続されていないワークステーション42も提供される。ワークステーション42に接続されたディスク46に格納されているデータベース内の情報は、適当な暗号化およびプロトコルを用いてWAN10を通じて、ネットワーク52に直接接続されたワークステーションと共有されてもよい。また、ワークステーション42は、電話回線および/またはISDNおよび/またはケーブルネットワークおよび/または無線ネットワーク44への直接接続を含み、ディスク46内のデータベースは、電話回線、ISDN、ケーブルネットワークを通じて、または無線ネットワーク44経由でアクセスされてもよい。本発明によって使用されるケーブルネットワークは、通常はテレビ番組を伝送するために使用されるケーブルネットワーク、通常はコンピュータ等で使用されるデジタルデータの高速通信用に提供されるケーブル、またはいかなる他の所望のタイプのケーブルを用いて実施されてもよい。
別の実施形態では、ワークステーション42は、ネットワーク機能付きのラップトップコンピュータ、PDA、パームトップコンピュータまたは携帯電話であってもよい。これらのデバイスは、ディスク46に格納されたデータベースに格納されている情報にアクセスするために使用されてもよい。
事務用マシン、業務用デバイスまたは事務用機器24、28および32に関連する情報はそれぞれ、ディスク46、54、58、64、70および76に格納された1つまたは複数のデータベースに格納されてもよい。既知のデータベースには、(1)Microsoft、IBM、OracleおよびSybaseによるSQLデータベース、(2)他の関係データベースならびに(3)非関係データベース(Objectivity、JYD Software EngineeringおよびOrient Technologiesから販売されているオブジェクト指向データベースを含む)がある。顧客サービス、営業、製造および技術部門のそれぞれが、自己の固有のデータベースを有してもよく、あるいは1つまたは複数のデータベースを共有してもよい。データベースを格納するために使用される各ディスクは、ハードディスクまたは光ディスクのような不揮発性メモリである。別法として、データベースは、固体状態および/または半導体メモリデバイス等のいかなるストレージデバイスに格納されてもよい。例えば、ディスク64に営業データベースが格納され、ディスク58に製造データベースが格納され、ディスク70に技術データベースが格納され、ディスク76に顧客サービスデータベースが格納されてもよい。別法として、ディスク54および46に、データベースのうちの1つまたは複数が格納されてもよい。
ワークステーション56、62、68、74および42がWAN10に接続されることに加えて、これらのワークステーションは、監視、診断および/または制御されるマシン/デバイスへの安全な接続を提供するために、電話回線、ISDN、ケーブルまたは無線ネットワークへの接続を含んでもよい。さらに、通信媒体の1つが正しく動作していない場合に、他の1つが通信のためにバックアップとして自動的に使用されてもよい。
本発明の特徴は、マシンを診断および制御するためにマシンとコンピュータ/監視システムとの間の通信(例えばインターネット電子メール、本明細書においてEメールともいう)または送信の「蓄積転送」モードを使用することである。別法として、送信されるメッセージは、FTPやハイパーテキスト転送プロトコル(Hyper Text Transfer Protocol)(HTTP)のような直接のエンドツーエンド接続(例えば、最終宛先へのソケット接続を用いて)を行う通信モードを用いて実施されてもよい。
図2は、図1に示したデジタル画像形成装置24の機械的配置を示している。図2において、101はスキャナのためのファンであり、102はレーザプリンタで使用されるポリゴンミラーであり、103はレーザ(図示せず)からの光をコリメートするために使用されるFθレンズを表す。参照番号104は、スキャナからの光を検出するセンサを表す。参照番号105は、スキャナからセンサ104への光の焦点を合わせるレンズを表し、参照番号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)164またはフラッシュメモリ)は、画像形成装置24を記述する静的状態データ(例えば、複写機のモデル番号、シリアル番号およびデフォルトパラメータ)とともに、デジタル画像形成装置を動作させるために使用されるプログラムコードを格納する。
マルチポートネットワークインタフェース166は、デジタル画像形成装置24が少なくとも1つの通信ネットワークを通じて外部デバイスと通信することを可能にするために提供される。参照番号168は電話、ISDNまたはケーブル回線を表し、番号170は、168で識別されるネットワークとは異なる別のタイプのネットワークを表す。マルチポートネットワークインタフェースについてさらに詳細には図4に関して記載される。インタフェースコントローラ172は、操作パネル174をシステムバス186に接続するために使用される。操作パネル174は、デジタル画像形成装置24に見られる標準的な入出力デバイスを含み、これには複写ボタンや、例えば複写枚数、拡大縮小、明暗等のような画像形成装置の動作を制御するためのキーが含まれる。さらに、デジタル画像形成装置24のパラメータおよびメッセージをユーザに対して表示するために、液晶ディスプレイが操作パネル174内に含まれてもよい。
ローカル接続インタフェース171は、RS232、パラレルプリンタポート、USBおよびIEEE1394のようなローカルポートによる接続である。FireWire(IEEE1394)は、Wickelgren,I.著「The Facts About FireWire」IEEE Spectrum、April 1997、Vol.34、Number 4、pp.19-25に記載されており、その内容全体が参照により本明細書に援用される。好ましくは、誤り検出および再送を含む「信頼性のある」通信プロトコルが使用される。
ストレージインタフェース176は、ストレージデバイスをシステムバス186に接続する。例えば、ストレージデバイスとしては、フラッシュメモリ178(これは、従来の電気的消去可能プログラム可能読み出し専用メモリ(EEPROM)によって置換可能である)およびディスク182がある。ディスク182は、ハードディスク、光ディスクおよび/またはフロッピーディスクドライブであり得る。追加のメモリデバイスが、接続180経由でデジタル画像形成装置24に接続されてもよい。フラッシュメモリ178は、デジタル画像形成装置24の寿命にわたってあまり頻繁に変化しないデジタル画像形成装置24のパラメータを記述する準静的状態データを格納するために使用される。このようなパラメータとしては、例えば、デジタル画像形成装置のオプションおよびコンフィグレーションがある。オプションインタフェース184は、外部インタフェースのような追加のハードウェアがデジタル画像形成装置24に接続されることを可能にする。クロック/タイマ187は、日時を追跡するとともに経過時間を測定するために利用される。
図3は、デジタル画像形成装置24を構成する種々のセクションも示している。参照番号202はソータを表し、デジタル画像形成装置24の出力をソートするために使用されるセンサおよびアクチュエータを含む。デュプレクサ200は、両面印刷動作の実行を可能にする。デュプレクサ200は、従来のセンサおよびアクチュエータを含む。大容量トレーユニット198が、大量の用紙を保持する用紙トレーを可能にするために提供される。デュプレクサ200と同様、トレーユニット198もまた従来のセンサおよびアクチュエータを含む。
給紙コントローラ196が、デジタル画像形成装置への給紙動作、およびデジタル画像形成装置を通る給紙動作を制御するために使用される。スキャナ194は、画像をスキャンしてデジタル画像形成装置に取り込むために使用され、ライト、ミラー等のような従来のスキャニング要素を含む。さらに、スキャナがホームポジションにあるかどうかを判定するためのホームポジションセンサのようなスキャナセンサが使用され、ランプサーミスタがスキャニングランプの正しい動作を保証するために使用される。プリンタ/イメージャ192が、デジタル画像形成装置の出力を印刷し、従来のレーザ印刷機構、トナーセンサおよび画像濃度センサを含む。定着器190は、高温ローラを用いてページ上にトナーを定着させるために使用され、出口センサ、定着器190が過熱していないことを保証するためのサーミスタおよびオイルセンサを含む。さらに、自動ドキュメントフィーダ、異なるタイプのソータ/コレータ等のデジタル画像形成装置に追加可能な要素のような、デジタル画像形成装置のオプション要素に接続するために使用されるオプションユニットインタフェース188がある。
図4は、マルチポートネットワークインタフェース166の詳細を示す。デジタル画像形成装置は、トークンリングインタフェース220、ケーブルを通じての高速接続を有するケーブルモデムユニット222、電話回線168Aに接続する従来の電話インタフェース224、ISDN回線168Bに接続するISDNインタフェース226、無線インタフェース228またはLAN170に接続するイーサネットインタフェース230を通じて、外部デバイスと通信してもよい。他のインタフェースとしては、限定はされないが、デジタル加入者回線(DSL)(オリジナルDSL、同軸DSLおよび非対称DSL)があり得る。単体でローカルエリアネットワークおよび電話回線の両方に接続するデバイスがIntelから市販されており、Intel Pro 10/100+Modemとして知られている。
CPUまたは他のマイクロプロセッサもしくは回路が、デジタル画像形成装置の各センサの状態を監視する監視プロセスを実行し、シーケンス制御プロセスが、デジタル画像形成装置を制御し、かつ動作させるために使用されるコードの命令を実行するために使用される。さらに、(1)デジタル画像形成装置の全体動作を制御するために実行される中央システム制御プロセス、および(2)デジタル画像形成装置に接続される外部デバイスとの信頼性のある通信を保証するために使用される通信プロセスがある。システム制御プロセスは、静的状態メモリ(例えば、図3のROM164)、準静的メモリ(例えば、フラッシュメモリ178またはディスク182)または動的状態メモリ(例えば、揮発性または不揮発性メモリ(例えば、RAM162、フラッシュメモリ178またはディスク182))内のデータストレージを監視および制御する。さらに、静的状態メモリは、ROM164以外の、フラッシュメモリ178またはディスク182のいずれかを含む不揮発性メモリのようなデバイスであってもよい。
上記の詳細は、デジタル画像形成装置に関して説明されているが、本発明は、アナログ複写機、ファクシミリ機、スキャナ、プリンタ、ファクシミリサーバ、プロジェクタ、会議機器、シュレッダのような他の事務用マシンもしくはデバイスや、他の事務用マシン、事務用機器または他の機器(例えば、電子レンジ、VCR、デジタルカメラ、携帯電話機、パームトップコンピュータ)にも同様に適用可能である。さらに、本発明は、蓄積交換型または直接接続方式の通信を用いて動作する他のタイプのデバイスを含む。このようなデバイスには、動作または遠隔診断中に監視されることを必要とする計測システム(ガス、水道または電気計測システムを含む)、自動販売機またはいかなる機械的デバイス(例えば自動車)も含まれる。特定用途のマシンおよびコンピュータを監視することに加えて、本発明は、監視および/または制御されるデバイスとなる汎用コンピュータを監視、制御および診断するためにも使用可能である。
図5は、種々のデバイスおよびサブシステムがWAN10に接続される本発明の代替システムの図を示している。しかし、これらのデバイスまたはサブシステムのそれぞれを本発明の一部として有する必要はない。図5に示す各コンポーネントまたはサブシステムは、個別に本発明の一部である。さらに、図1に示した要素が図5に示すWAN10に接続されてもよい。図5において、イントラネット260−1に接続されたファイアウォール50−1が示されている。イントラネット260−1に接続されたサービスマシン254はその内部に、またはそれに接続されて、データベースフォーマットで格納可能なデータ256を有する。データ256には、履歴、性能、故障や、被監視デバイスの動作もしくは障害または設定の統計情報、または被監視デバイスとともにどのコンポーネントもしくはオプション機器が含まれているかというようなコンフィグレーション情報等のいかなる他の情報も含まれる。サービスマシン254は、被監視デバイスに対してデータを送信するよう要求し、または遠隔制御および/または診断テストが被監視デバイス上で実行されることを要求するデバイスまたはコンピュータとして実施されてもよい。サービスマシン254は、いかなるタイプのデバイスとして実施されてもよいが、好ましくは、汎用コンピュータのようなコンピュータ化されたデバイスを用いて実施される。
図5の別のサブシステムは、ファイアウォール50−2、イントラネット260−2、およびそれに接続されたプリンタ262を含む。このサブシステムでは、プリンタ262による(および同様に複写機286による)電子メッセージの送受信の機能が、(1)回路、(2)マイクロプロセッサまたは(3)プリンタ262内に含まれ、もしくはそれに装着された(すなわち、別個の汎用コンピュータを使用しない)任意の他のタイプのハードウェアによって実行される。
代替のタイプのサブシステムとしては、インターネットサービスプロバイダ264を使用するものが含まれる。これは、America Online、EarthlinkおよびNiftyserveのような既知の営利会社を含むいかなるタイプのインターネットサービスプロバイダ(ISP)であってもよい。このサブシステムでは、コンピュータ266がデジタルまたはアナログモデム(例えば、電話回線モデム、ケーブルモデム、サービス総合デジタル網(ISDN)回線もしくは非対称デジタル加入者回線(ADSL)を通じて使用されるモデムのような任意のタイプの配線を使用するモデム、フレームリレー通信を使用するモデム、無線周波数モデムのような無線モデム、光ファイバモデムまたは赤外光波を使用するデバイス)を通じて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 Specification(ワールドワイドウェブサイトwww.Bluetooth.comで入手可能)に開示されている周波数ホッピング無線技法のような周波数ホッピング技法を含むスペクトラム拡散技法を用いて確立されてもよく、これは参照により本明細書に援用される。
図5に示されている別のサブシステムは、ファイアウォール50−4、イントラネット260−4、それに接続されたコンピュータ282、事務用機器285および複写機286を含む。コンピュータ282は、レポートを生成し、診断または制御手続きを要求するために使用されてもよい。これらの診断および制御手続きは、事務用機器285および複写機286、または図5に示され、もしくは図5とともに使用されるいかなる他のデバイスに関して実行されてもよい。図5は複数のファイアウォールを示しているが、ファイアウォールは好ましいが随意の機器であり、したがって本発明は、所望であればファイアウォールを使用せずに運用されてもよい。ネットワーク接続された機器の監視および制御のため、いかなるコンピュータ(266、272または282)も254の代わりに使用されることが可能である。
図6Aは、コンポーネント302、304、306、308、310、312、314、316および318を含む一般的な電子メール交換システムに接続されたデバイス/機器300を示している。これは従来の方法で実施されてよく、上述のStevensのFigure 28.1を改変したものである。コンピュータインタフェース302が、本明細書に記載される任意のアプリケーションユニットまたはデバイス/機器300とインタフェースをとる。図6Aは、デバイス/機器300が送信側である場合を示しているが、送信および受信の機能は図6Aで逆にしてもよい。さらに、所望であれば、ユーザはデバイス/機器300とインタフェースをとることを全く必要としなくてもよい。次に、コンピュータインタフェース302はメールエージェント304と相互作用する。Unix用の普及しているメールエージェントとしては、MH、Berkeley Mail、ElmおよびMushがある。Windowsファミリのオペレーティングシステム用のメールエージェントとしては、Microsoft OutlookおよびMicrosoft Outlook Expressがある。コンピュータインタフェース302の要求時に、メールエージェント304は、送信されるべき電子メールメッセージを作成し、所望であれば、送信されるべきこれらのメッセージをキュー306に入れる。送信されるべきメールは、メッセージ転送エージェント(MTA)308に転送される。Unixシステム用の普通のMTAはSendmailである。通常、メッセージ転送エージェント308と312は、TCP/IP接続310を用いて交信する。特に、メッセージ転送エージェント308と312の間の通信は、いかなるサイズのネットワーク(例えば、WANまたはLAN)を通じて行われてもよい。さらに、メッセージ転送エージェント308および312は、いかなる通信プロトコルを使用してもよい。本発明の一実施形態では、図6Aの要素302および304は、アプリケーションユニットの使用を監視するためのライブラリに存在する。
メッセージ転送エージェント312から、電子メールメッセージがユーザメールボックス314に格納され、これがメールエージェント316に転送され、最終的に、受信端末として機能する端末318のユーザに送信される。
この「蓄積交換」プロセスは、送信側メールエージェント304を、メール受信側との直接接続が確立されるまで待機しなければならないことから解放する。ネットワーク遅延のため、通信には相当の時間を要することがあり、その間アプリケーションは応答しなくなる。このような応答性の遅延は一般に、アプリケーションユニットのユーザにとって受け入れ難いであろう。電子メールを蓄積交換プロセスとして使用することによって、障害後の再送試行が一定期間(例えば3日間)自動的に行われる。一代替実施形態では、アプリケーションは、1つまたは複数の別個のスレッドに通信要求を渡すことによって、待機を避けることができる。その後、それらのスレッドが受信側端末318との通信を制御し、一方でアプリケーションはユーザインタフェースへの応答を再開する。さらに別の実施形態では、ユーザが続行前に通信を完了したい場合、受信側端末との直接通信が使用される。このような直接通信は、送信側と受信側の端末間のファイアウォールによって遮断されないいかなるプロトコルを利用することも可能である。このようなプロトコルの例としては、Telnet、ファイル転送プロトコル(File Transfer Protocol)(FTP)およびハイパーテキスト転送プロトコル(Hyper Text Transfer Protocol)(HTTP)がある。
インターネットのようなパブリックWANは一般に、安全であるとはみなされていない。したがって、メッセージを秘密に保ちたい場合、パブリックWAN(および多企業プライベートWAN)を通じて送信されるメッセージを暗号化することができる。暗号化メカニズムが知られておりかつ市販されていて、本発明とともに使用してもよい。例えば、Unixオペレーティングシステムで使用するために、C++ライブラリ関数crypt()がSun Microsystemsから入手可能である。暗号化および復号化ソフトウェアパッケージが知られており、これも本発明とともに使用してもよい。1つのこのようなパッケージは、PGP社から入手可能なPGPである。
図6Aの一般的構成の代替形態として、コンピュータインタフェース302、メールエージェント304、メールキュー306およびメッセージ転送エージェント308として機能する単一のコンピュータを使用してもよい。図6Bに示すように、デバイス/機器300はコンピュータ301に接続され、コンピュータ301はメッセージ転送エージェント308を含む。
別の代替構成を図6Cに示す。この構成では、メッセージ転送エージェント308はデバイス/機器300の一部として形成される。さらに、メッセージ転送エージェント308は、TCP/IP接続310によってメッセージ転送エージェント312に接続される。図6Cの実施形態では、デバイス/機器300が電子メール機能を有し、TCP/IP接続310に直接接続される。図6Cの実施形態の1つの用途として、電子メール機能付きのファクシミリ機(例えば、RFC2305(インターネットメールを用いたファクシミリの簡易モード)で規定されるような)をデバイス/機器300として使用することがある。
図6Dは、デバイス/機器300がそれ自体は電子メールを直接受信する機能を有しないが、メッセージ転送エージェント308およびメールボックス314を含むメールサーバ/POP3サーバへの接続310を有し、デバイス/機器300がPOP3プロトコルを用いてメールサーバから受信メールを取り出すようなシステムを示している。
図7は、メールを転送する一代替実施態様を示しており、前に参照したStevensのFigure 28.3を改変したものである。図7は、それぞれの側にリレーシステムを有する電子メールシステムを示している。図7の構成は、組織における1つのシステムがメールハブとして作用することを可能にする。図7には、2つのメールエージェント304と316の間に接続された4つのMTAがある。これらのMTAとしては、ローカルMTA322A、リレーMTA328A、リレーMTA328BおよびローカルMTA322Dがある。本発明とともに使用可能な、メールメッセージに使用される最も普通のプロトコルはSMTP(Simple Mail Transfer Protocol)であるが、いかなる所望のメールプロトコルを利用してもよい。図7において、320は、コンピュータインタフェース302、メールエージェント304およびローカルMTA322Aを含む送信側ホストを表す。デバイス/機器300は送信側ホスト320に接続され、または別法としてその内部に含まれる。別の場合として、デバイス/機器300およびホスト320が1つのマシン内にあり、ホスト機能がデバイス/機器300に組み込まれてもよい。他のローカル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はCPU362を含む。これは、Intel、AMD、Motorola、HitachiおよびNECのような会社からの市販のマイクロプロセッサを含むいかなるタイプのプロセッサとして実施されてもよい。RAM364のようなワーキングメモリ、および無線デバイス368と通信する無線インタフェース366がある。インタフェース366とデバイス368の間の通信は、いかなる無線媒体(例えば、電波または光波)を使用してもよい。電波は、符号分割多元接続(CDMA)通信のようなスペクトラム拡散技法を用いて、またはBluetooth仕様に開示されているもののような周波数ホッピング技法を用いて実施されてもよい。
コンピュータ360は、ROM370およびフラッシュメモリ371を含むが、いかなる他のタイプの不揮発性メモリ(例えば、消去可能プログラム可能ROM、またはEEPROM)がフラッシュメモリ371に加えて、またはその代わりに使用されてもよい。入力コントローラ372には、キーボード374およびマウス376が接続される。シリアルデバイス380に接続されるシリアルインタフェース378がある。さらに、パラレルインタフェース382がパラレルデバイス384に接続され、ユニバーサルシリアルバス(USB)インタフェース386がユニバーサルシリアルバスデバイス388に接続され、IEEE1394インタフェース398に接続される、一般にファイヤワイヤデバイスと呼ばれるIEEE1394デバイス400もある。システムバス390が、コンピュータ360の種々の要素を接続する。ディスクコントローラ396が、フロッピーディスクドライブ394およびハードディスクドライブ392に接続される。通信コントローラ406は、コンピュータ360が電話回線402またはネットワーク404を通じて他のコンピュータと(例えば電子メールメッセージを送信することによって)通信することを可能にする。I/O(入出力)コントローラ408が、例えばSCSI(Small Computer System Interface)バスを用いてプリンタ410およびハードディスク412に接続される。また、CRT(ブラウン管)414に接続されるディスプレイコントローラ416もあるが、液晶ディスプレイ、発光ダイオードディスプレイ、プラズマディスプレイ等を含むいかなる他のタイプのディスプレイが使用されてもよい。
次に図9を参照すると、本発明の一例示的実施形態によるシステム900全体の概略図が示されている。システム900は、複数のデバイス、例えば、レーザプリンタ908、スキャナ910、ネットワークデバイス912、および多機能プリンタ914を含み、すべてがネットワーク100に接続されているように示されている。これらの複数のデバイスは本明細書では包括的に「被監視デバイス」と呼ばれる。システム900はまた、ワークステーション/監視システム902(以下コントローラ902という)も含む。これは、被監視デバイス908、910、912、および914を監視および制御するためにネットワーク100に接続される。被監視デバイス908、910、912、および914のそれぞれには固有のアドレスが与えられる。例えば、デバイスに割り当てられるIPアドレスが、そのデバイスの固有アドレスの役割を果たす。したがって、コントローラ902のユーザは、それぞれの被監視デバイスに割り当てられた固有のIPアドレスにアクセスすることによって、被監視デバイス908〜914のうちのそれぞれのデバイスにアクセスすることができる。理解されるように、本発明は、ネットワークに接続されるデバイスを一意的に識別するためにIPアドレスを使用することには限定されない。
コントローラ902は、被監視デバイス908〜914のうちのデバイスにアクセスすると、SNMPまたは/およびHTTPプロトコルを通じて種々の情報を取得する。このような情報は、トラブルシューティング情報を含むそのデバイスの動作ステータスに関する詳細情報を含む。例えば、コントローラ902は、特定のデバイスにアクセスしてそのジャム位置を取得し、そのジャムを解消するためにそのデバイスの担当者にメッセージを送信する。レーザプリンタ908の動作ステータス/詳細は、トナーレベル、紙詰まりの指示、プリンタトレー内の印刷用紙の量等の詳細を含む。
理解されるように、コントローラ902はネットワーク100に物理的に接続されても無線結合してもよい。例えば、携帯情報端末(PDA)920またはラップトップコンピュータ922が、ネットワーク100に無線結合しているように図示されているが、これらがコントローラ902として使用されてもよい。アクセスポイント924が、ネットワーク100とPDA920またはラップトップコンピュータ922との間の無線通信を可能にするインタフェースとして作用する。以下、本発明は、コントローラ902が、ネットワークに接続されている被監視デバイスのステータスを制御および監視すると仮定して説明される。
ネットワーク100は、コントローラ902と被監視デバイス908〜914の間の通信を容易にして、このような被監視デバイスの監視および制御を可能にする。ネットワークに接続されるデバイスの個数は本発明を限定するものではない。理解されるように、ネットワーク100は、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN)のいずれでもよい。同様に、被監視デバイス908、910、912、および914は単に例示として示されている。
コントローラ902は、ストレージデバイス904およびデータベース906に通信可能に結合する。ストレージデバイス904としては、ハードディスク、光ディスク、および/または外部ディスクドライブなどがある。データベース906は、ストレージデバイス904に通信可能にリンクされ、ストレージデバイス904に格納されているデータの容易な検索および取り出しのための関係データベース管理システム(RDBMS)を含む。ストレージデバイス904は、好ましくは、被監視デバイス908〜914のそれぞれに関する詳細情報を格納する。例えば、レーザプリンタ908の製造元、モデル、ならびに種々の機能およびトラブルシューティングの詳細のような詳細情報がストレージデバイス904に格納される。また、所定の基準値と比較しての、レーザプリンタの動作ステータスに関する偏差値もまたストレージデバイス904に格納されてもよい。データベース906およびストレージデバイス904はコントローラ902に通信可能に結合しているように記載されているが、理解されるように、コントローラ902は、ストレージデバイスおよびデータベースがその内部にインストールされて構成されてもよい。このような場合、ストレージデバイス906およびデータベース904はコントローラ902の内部にあるものとして描かれるであろう。
コントローラ902には、複数のデバイス908〜914の監視および制御を容易にするためにソフトウェアがインストールされる。コントローラ902が複数のデバイス908〜914を監視するためにSimple Network Management Protocol(SNMP)およびHyper Text Transfer Protocol(HTTP)が使用され、複数のデバイス908〜914から受信されるデータは、950に示すように、ASN.1バイナリフォーマットまたはHTMLもしくはXMLフォーマットの形態で提示される。
図9はイメージングデバイスのみを示しているが、監視デバイスと複数の被監視デバイスの間で情報を通信するためのネットワークは、機器および計器がネットワークに接続されたホームネットワークを含んでもよい。理解されるように、コントローラ/ワークステーション902によって収集されるデータは、さらに処理をするために、電子メール、FTP、またはいかなる他の通信プロトコル手段を通じてリモートデバイスへ送信されてもよい。
図10は、本発明の一例示的実施形態によるデータの監視およびそのインタフェース関数で使用されるシステム1000を示している。システム1000は、NTまたはWindows 2000におけるサービスやUnixにおけるデーモンのようなコンピュータ常駐プログラムであるモジュールMonitorService1004を含む。また、システム1000には、Timerモジュール1002およびMonitorモジュール1006も含まれる。モジュール1002および1006は、MonitorService1004によって呼び出されるライブラリ関数である。例えば、MonitorService1004は、InitTimer1003関数を呼び出すことによってTimerモジュール1002を初期化し、obtainDelayAndAction(int &,int &)関数を呼び出すことによって遅延およびアクションパラメータを取得する。init()関数もまた、図13に示すようなMonitorモジュール1006内の種々のモジュールを初期化するためにMonitorService1004によって呼び出される。init()関数は、「ping」のような既知の方法を通じて被監視デバイスに割り当てられているIPアドレスを取得するために使用可能である。Monitorモジュール1006は、サポートデータベース1024およびモニタデータベース1014に通信可能に結合する。
被監視デバイスのIPアドレスが取得されると、そのIPアドレスは、監視システムが被監視デバイスと交信して、製造元やモデル情報のような情報を取得するために使用される。システム1000によって実行される関数を以下で説明する。
void initTimer(void)
この関数はTimerを初期化する。特に、この関数はTimerオブジェクトをトリガしてレジストリからタイミング情報を獲得する。
void obtainDelayAndAction(int & out_nDelay,int & out_nAction)
この関数は、::Sleep関数のための秒単位の遅延時間(1000倍することが必要)、およびアクションインジケータを返す。
int init(void)
この関数はMonitorを初期化する。さらに、監視されるべきデバイスを作成する。返値intはエラーコードであり、ゼロがエラーなしと定義される。
int monitorStatus(int in_nAction)
この関数はプリセット情報を監視する。返値intはエラーコードであり、ゼロがエラーなしと定義される。
int end(void)
この関数は、オブジェクトをクローズする前にMonitorをクリーンアップする。返値intはエラーコードであり、ゼロがエラーなしと定義される。
図11は、Monitorモジュール1006内の構成の詳細およびMonitorモジュール1006のサブモジュール間の呼出し関数を示している。Monitorモジュール1006は、図10に示したようなインタフェース関数によって定義されるタスクを完了するために、DeviceODBC1104、Deviceモジュール1110、ハードウェアアクセス(HWaccess)モジュール1116、およびSupportODBC1114のような他のサブモジュールを管理するMonitorManager1102を含む。具体的には、DeviceODBCサブモジュール1104およびSupportODBCサブモジュール1114は、標準的なインタフェースを通じて外部情報にアクセスするためにアクセスされる。MonitorManager1102はHWaccessモジュール1116経由でSupportODBCサブモジュール1114に結合する。HWaccessモジュール1116は、複数の通信プロトコル(いくつか列挙すれば、例えばHTTP、SNMPのような)のうちから所定の通信プロトコルを用いて被監視デバイスにアクセスするために、データベース1024に接続されたSupportODBC1114を通じて取得される情報を用いて被監視デバイスからベンダ、モデル、固有ID、およびステータス情報を取得する。
SupportODBCモジュール1114に存在する情報は、複数の通信プロトコルをサポートするために使用される。例えば、SupportODBCモジュール1114は、種々の通信プロトコルをサポートし、ベンダおよびデバイスモデルに固有の種々の通信プロトコルによって使用され得る情報を格納するために作成されてもよい。被監視デバイスが、通信プロトコルを使用するとともにSupportODBC1114に格納されている情報を使用してアクセスされると、被監視デバイスから受信されるステータス情報がDeviceODBC1104を通じてデータベース1014に格納される。サブモジュール間で実行される呼出し関数は以下のように定義される。
主要インタフェース
このセクションは、パッケージ間の主要インタフェースのみを論ずる。以下は、パッケージ間のインタフェースの完全なリストではない。例えば、一部のパッケージは、都合の良いフォーマットで情報を取得するために、init関数または追加的関数を有する必要があるかもしれない。
void updateConfig(std::map<infoType,std::string> &)
この関数が呼び出される前に、get関数がVendorModelパッケージからヌル文字列を返す場合には、呼出し関数は製造元およびモデルのエントリを置き換えないほうが好ましい。この関数は、DeviceODBC1104を通じてカレントレコードのデバイス情報データベースを更新する。この関数は、下記のobtainConfigが最初に呼び出される場合に非常に効率的である。
bool obtainConfig(std::map<infoType,std::string> &)
この関数は、所与のフォーマットでデバイス情報に対してDeviceODBC1104を通じてマップを取得する。関数は、返されるデータがあればtrueを返し、もはやデータがなければfalseを返す。
bool saveStatus(std::map<infoType,std::string> &)
この関数は、DeviceODBC1104を通じてデータベース1014にステータス情報を保存する。関数は、保存が成功すればtrueを返し、成功しなければfalseを返す。
Cdevice * createDevice(std::string & in_sIP,CHWaccess & in_Hwaccess,std::string & in_sCommunity)
この関数は、in_sIPおよびin_sCommunityに基づいて、CHWaccessを通じてハードウェアに接続されるデバイスを作成する。デバイスを作成することができない場合、関数は0を返す。したがって、呼出し側オブジェクトは、返されるオブジェクトポインタが0であるか否かをチェックしなければならない。
bool canAccessHW(void)
この関数は、ハードウェアがネットワークを通じてアクセス可能であればtrueを返し、アクセス可能でなければfalseを返す。
bool getVendor(std::string & out_sVendor)
この関数はベンダ名を返す。デバイスがシステムによってサポートされないがSNMPまたはHTTPを通じてアクセス可能である場合、文字列は「GENERIC」を含むはずである。プロセス中にエラーが検出された場合、関数はヌル文字列とともにfalseを返す。検出されなければ関数はtrueを返す。
bool getModel(std::string & out_sModel)
この関数はデバイスのモデルを獲得する。モデルが取得された場合、関数はtrueを返す。プロセス中にエラーが検出された場合、関数はヌル文字列とともにfalseを返す。
bool getUniqueID(std::string & out_sUniqueID)
この関数はデバイスの固有IDを返す。固有IDが取得された場合、関数はtrueを返す。プロセス中にエラーが検出された場合、関数はヌル文字列とともにfalseを返す。
bool obtainStatus(map<infoType,std::string> & out_StatusMap)
この関数はステータスマップを返す。関数は、ステータスが返される場合にtrueを返し、ステータスを取得することができなければfalseを返す。なお、この関数はHWaccessパッケージおよびDeviceパッケージから異なるマップを返すことに留意されたい。Deviceパッケージでは、エラーステータス情報が、HWaccessから返されるマップに付加され、エラーステータス情報はゼロにクリアされる。
enum checkErrorStatus(void)
この関数は、SNMPを通じてプリンタのエラーバイトを取得することをトリガする。enum型および値はクラス内で定義されなければならない。enum値は値「eNoErrorSinceClearAndNoErrorDetected、eNoErrorSinceClearAndErrorDetected、eErrorSinceClearAndNoErrorDetected、eErrorSinceClearAndErrorDetectedを」含まなければならない。
bool obtainErrorStatus(map<infoType,std::string> & out_ErrorStatusMap)
この関数はエラーステータス情報を取得する。関数は、ステータスが返される場合にtrueを返し、ステータスを取得することができなければfalseを返す。
void clearErrorStatus(void)
この関数は、最後のobtainStatus関数呼出しまたはclearErrorStatus以降に蓄積したエラーステータスをクリアする。
void initBegin(void)
この関数は、特にソフトウェアデバイスオブジェクトを作成するために、HWaccessを通じて初期化プロセスを開始する。
void initEnd(void)
この関数は、HWaccessを通じて初期化プロセスを終了し、デバイスオブジェクト作成が終了したことを示す。
bool canAccessIP(std::string & in_sIP,std::string,& in_sCommunity)
この関数は、デバイスがIPアドレスにおいてアクセス可能であればtrueを返し、アクセス可能でなければfalseを返す。
bool obtainVendor(std::string & out_sVendor,std::string & in_sIP,std::string & in_sCommunity)
この関数はベンダを取得する。関数は、動作が成功すればtrueを返し、成功しなければ空文字列とともにfalseを返す。
bool obtainModel(std::string & out_sModelName,std::string & in_sIP,std::string & in_sCommunity)
この関数はモデル名を取得する。関数は、動作が成功すればtrueを返し、成功しなければ空文字列とともにfalseを返す。
bool obtainUniqueID(std::string & out_sUniqueID,std::string &_sIP,std::string & in_sCommunity)
この関数は固有IDを取得する。関数は、動作が成功すればtrueを返し、成功しなければ空文字列とともにfalseを返す。
ErrorCode obtainErrorStatus(char & out_cError,std::string & in_sIP,std::string & in_sCommunity)
この関数は、SNMPを通じてエラーステータスバイトを取得する。関数は、動作が成功すればtrueを返し、成功しなければゼロバイトとともにfalseを返す。EerrorCodeは下記で定義する。
bool obtainStatus(map<infoType,std::string> & out_StatusMap,std::string & in_sIP,std::string & in_sVendor,std::string & in_sModel,std::string,in_sCommunity)
この関数はデバイスのステータスを取得する。関数は、動作が成功すればtrueを返し、成功しなければ空マップとともにfalseを返す。
bool obtainSNMPVendor(std::string out_sVendor,std::string & out_sOIDVendor,std::string & out_sOIDModelLocation,std::string & out_sOIDUniqueID)
この関数は、SNMPの場合に、ベンダの名前、そのベンダOID、モデル情報が格納されているOID、および固有IDを取得することができるOIDを取得する。この関数は、データが返される場合にtrueを返し、もはやデータが利用可能でなければfalseを返してすべての文字列にヌル文字列がセットされる。
bool obtainSNMPVendorStatus(infoType & out_nNum,std::string & out_sOID,std::string & in_sVendor)
この関数は、SNMPの場合に、所与のベンダに対するinfoTypeおよびそのinfoTypeに関連するOIDを取得する。取得されるinfoTypeおよびOIDの対は、所与のベンダからのすべてのデバイスによってサポートされる。この関数は、データが返される場合にtrueを返し、もはやデータが利用可能でなければfalseを返してすべての文字列にヌル文字列がセットされる。注意:GENERICが、すべてのベンダに共通のベンダである。
bool obtainSNMPModelStatus(infoType & out_nNum,std::string & out_sOID,std::string & in_sVendor,std::string & in_sModel)
この関数は、SNMPの場合に、所与のベンダおよびモデルに対するinfoTypeおよびそのinfoTypeに関連するOIDを取得する。この関数は、データが返される場合にtrueを返し、もはやデータが利用可能でなければfalseを返してすべての文字列にヌル文字列がセットされる。
bool obtainSupportedVendorModel(std::string & out_sVendor,std::string & out_sModel,int & out_nDelay)
この関数は、HTTPを通じてウェブサイトにアクセスするための遅延とともに、ベンダおよびサポートされるモデルを取得する。ベンダおよびモデルに対してSNMPのみがサポートされる場合、out_nDelayは−1でなければならない。同じベンダの複数のインスタンスがあってもよいが、モデルは所与のベンダに対して固有である。この関数は、データが返される場合にtrueを返し、もはやデータが利用可能でなければfalseを返してすべての文字列にヌル文字列がセットされる。
bool obtainHTTPWebUniqueIDForVendor(std::string & out_sWebPage,SkeyValueInfo & out_KeyValueInfo,std::string & in_sVendor)
この関数は、所与のベンダに対するウェブページおよび固有IDのSKeyValueInfo構造体を取得する。同じベンダが複数のウェブページを有してもよい。この関数は、データが返される場合にtrueを返し、もはやデータが利用可能でなければfalseを返してすべての値にヌル値がセットされる。
bool obtainHTTPWebPageInfoForVendorModel(std::string & out_sWebPage,std::vector<SKeyValueInfo> & out_KeyValueInfoVector,std::string & in_sVendor,std::string & in_sModel)
この関数は、所与のベンダおよびモデルに対するウェブページおよびそのウェブページに関連するSKeyValueInfo構造体のベクタを取得する。同じベンダおよびモデルが複数のウェブページを有してもよい。この関数は、データが返される場合にtrueを返し、もはやデータが利用可能でなければfalseを返してすべての値にヌル値がセットされる。
図12Aは、図11に示したHWaccessサブモジュール1116およびSupportODBCサブモジュール1114が、HWaccessサブモジュール1116によって受信されるキー値に関連する値の取り出しのための情報を交換するために使用されるデータ構造体を示している。例えば、図12Aに示すようなSKeyValueInfoデータ構造体1200は、所与のウェブページ内の特定のinfoTypeに対応する情報を取得する方法を決めるために使用される。通常、多数のベンダが、それぞれのウェブページに表示される、被監視デバイスに関連するキー情報を識別するために、ベンダ固有の識別子および命名法を使用している。例えば、プリンタデバイスによって印刷されるページ数を決めるため、Hewlett Packardは「Page Count」機能を使用する一方、Xeroxは「Total Sheet Delivered」機能を用いてそれを識別する。本発明の特徴は、データ構造体/SKeyValueInfo構造体1200を使用することによって、ベンダ間の相違を克服し、それによりデバイス固有情報を識別する標準化された統一的方法を提供し、その情報に対応する値を抽出することである。SKeyValueInfoデータ構造体1200は、公開の属性を含む。
SKeyValueInfoは通常、データ文字列またはキー文字列の形態で被監視デバイスから受信される情報から値情報を識別するために作成されるデータ構造体である。SKeyValueInfoは複数のフィールドを含み、各フィールドは図12Aに示す情報によって表される。SKeyValueInfo構造体1200は、文字列キーを表すm_sKeyフィールド1204と、その文字列内で値情報が位置し得る位置の個数を示す、好ましくはタグに基づく値であるm_nPositionフィールド1206を含む。例えば、監視を受けているプリンタデバイスのPage Countは、キーワードに続く2番目の位置に見つかるかもしれない。m_sType1208は、被監視デバイスの表示されるウェブページから取り出すことができる情報の型を表す。
例えば被監視デバイスのモデル名のような値がキー(Product Name)と同じデータ行内に見つかる場合、m_nPositionフィールドは「0」である。m_sDelimiter1210は、キーに関連する値を抽出するために使用される特定のデリミタを示す。SKeyValueInfoは、被監視デバイスからHTMLフォーマットで受信される情報から値情報を抽出する方法を示す。図12Bは、オブジェクト識別子(OID)をinfoTypeと関連づける例示的データ構造体を示している。
図13は、図10に示したMonitorモジュール1006の呼出しシーケンスを説明するためにinit関数のシーケンスを示している。MonitorManager1102は、HWaccessモジュール1116を初期化して初期化関数を開始する。次に、MonitorManager1102は、被監視デバイスに関する情報を取得し、被監視デバイスに割り当てられているIPアドレスを用いて被監視デバイスと通信する。MonitorManager1102は、DeviceODBC1104にアクセスして、被監視デバイスのコンフィグレーション情報を取得する。MonitorManager1102に返されるコンフィグレーション情報としては、例えば、被監視デバイスのIPアドレス、ならびに被監視デバイスのベンダ/製造元およびモデル情報がある。IPアドレスが取得されると、MonitorManager1102は、CDeviceFactory1106を通じてソフトウェアデバイスオブジェクト(1110)を作成するためにそのIPアドレスをセットする。デバイスオブジェクト(1110)の作成に成功すると、HWaccessモジュール1116を用いてベンダ、モデル、および固有IDが被監視デバイスから取得され、作成されたデバイスオブジェクト1110に格納される。
ベンダ、モデル情報、および固有IDがデバイスオブジェクト1110から取得されると、MonitorManager1102は、被監視デバイスから受信された情報でデータベース(例えばDeviceODBC1104)を更新する。
ベンダ、モデルおよび固有IDのような値情報を被監視デバイスから抽出する方法はSupportODBC1114から取得される。
図14は、図11に示したMonitorManager1102によって被監視デバイスのステータスを判定するためのステータスモニタ関数のシーケンスを示している。このプロセスは、図15に示すベクタに格納されているすべての被監視デバイスにわたって繰り返される。
図15を参照すると、図13および図14に示したCDeviceFactory1106によって作成されMonitorManager1102によって使用されるデバイスへの参照を有するベクタ1500が示されている。MonitorManager1102は、CDeviceFactory1106によって作成された、例えばCDeviceオブジェクトへのポインタ1502、およびCDeviceオブジェクトへのポインタ1504のようなデバイスポインタをベクタに格納する。ベクタシーケンスは、被監視デバイスのステータスを取得するために反復される。被監視デバイスのポーリングは、obtainStatusコマンドを発行することによってデバイスオブジェクトに対して実行される。それぞれのソフトウェアオブジェクトのステータスが取得されると、このステータスはDeviceODBC1104を通じて更新される。ステータスモニタシーケンスについては図14で既に説明したので、ここでは繰り返さない。
表1に示すDeviceInfo構造体は、1つの被監視デバイスに関する情報を反映する。DeviceInfo構造体は、連絡担当者の電子メールアドレスを電話番号に加えて含む。
Figure 0004688128
図16は、HWaccessモジュール1116(図11)を通じての情報収集をサポートするテーブル構造を示している。図16に示すテーブル1600は、好ましくは、SupportODBC1114(図11)を通じて監視システム902(図9)と通信するデータベースに格納される。具体的には、図16は、種々のテーブルを、それぞれのフィールドとともに示している。テーブル1602、1604、1606、および1610は、SNMPによって使用されるオブジェクト識別子(OID)に関係づけられている。HTML-ModelKeyValueテーブル1614は、例えば、nVendorModelWebPageID、対象となるパラメータ値を抽出するために使用されるキー文字列情報、HTML構造内の値位置、値の型、値がキー文字列と同じデータ内に配置されている場合のデリミタ、値がキー文字列と同じデータ内に配置されている場合の値のnInLinePosition、およびキー文字列に対する標準の列挙子のような情報を含む。
VendorModelWebPageテーブル1612は、ウェブページIDを実際のウェブページ文字列と関連づける。EnumCorrespondenceテーブル1618は、標準列挙およびそれらの説明を含む。UniqueIDWebPageテーブル1608は、被監視デバイスに対するベンダ関連情報を含み、ここで固有IDはデバイスから取得される。VendorModelWebPageテーブル1612は、特定ベンダの特定モデルからの被監視デバイスに固有の情報を含む。
本発明によって使用される例示的なenum型は以下のものを含む。これらのenum型は単に例示であり、したがって本発明を限定するものと解釈されてはならない。
infoType(typedef int infoType)
このセクションは、infoType(int)の定義を記述する。値範囲0〜99はデータ型に割り当てられる。値範囲100〜499はデバイス情報に割り当てられる。値範囲500〜1999は標準MIBパラメータを含む共通パラメータに割り当てられる。値範囲2000〜3999はRicoh固有情報に割り当てられる。値範囲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,ePrtLifeCount,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はソケット、および400〜499はHTTPに対するものである。他の指定されていない範囲は必要があればユーザによって定義されてもよい。
enum EerrorCode(eNoError=0,eUnknownError=1,eSomeError,eCompleteFailure,eSomeDeviceCreationError=20,eCreateDeviceError,eNoDeviceCreated,eObtainConfigError,eSaveStatusError,eObtainUniqueIDError,eObtainStatusError,eStartSendError,eSomeDataSendError,eCompleteDataSendFailure,eEndSendError,eSendHeloCommandFailed=100,eSendMailCommandFailed,eSendRcptCommandFailed,eSendDataCommandFailed,eSendDataFailed,eSendQuitCommandFailed,eSendUserCommandFailed=200,eSendPassCommandFailed,eSendStatCommandFailed,eSendRetrCommandFailed,eSendDeleCommandFailed,eSendQuitPop3CommandFailed,eCreateSocketFailed=300,eConnectSocketFailed,eBadRequest=400,eUnauthorized,ePaymentRequired,eForbidden,eNotFound,eMethodNotAllowed,eNotAcceptable,eProxyAuthenticationRequired,eRequestTimeOut,eConflict,eGone,eLengthRequired,ePreconditionFailed,eRequestEntityTooLarge,eRequestURITooLarge,eUnsupportedMediaType,eRequestedRangeNotSatisfiable,eExpectationFailed,eInternalServerError=450,eNotImplemented,eBadGateway,eServiceUnavailable,eGatewayTimeOut,eHTTPVersionNotSupported,eMultipleChoices=480,eMovedPermanently,eFound,eSeeOther,eNotModified,eUseProxy,eTemporaryRedirect).
図17は、HWaccessモジュールに必要情報を保存するステップを示す例示的フローチャートである。ステップ1702で、複数の通信プロトコルをサポートするために、例えばデータベース1024のような第1データベースが作成される。ステップ1704で、ソフトウェアデバイスオブジェクトを作成するために必要な一般的情報が、デバイスおよびそのアクセス方法に共通の情報とともに、第1データベースから取得され、HWaccessモジュールに格納される。ステップ1706で、ソフトウェアデバイスオブジェクトを作成している間に、ベンダおよび/またはモデルに固有の情報のようなデバイスオブジェクトのタイプに固有の情報とそのアクセス方法が、第1データベースから取得され、HWaccessモジュールに格納される。
図18は、デバイスからのステータス情報取り出しステップを示す。このプロセスは、初期化で作成されるすべてのデバイスに対して使用される。ステップ1802で、プロセスは、すべてのプロトコルが処理されたかどうかをチェックする。すべてのプロトコルが処理された場合、取得されたステータスが固有IDとともに第2データベース1014に格納される。プロトコルが完了していない場合、ステップ1804で、次のプロトコルが選択される。次に、ステップ1806で、システムは、選択されたプロトコルを通じてデバイスにアクセスし、第1データベースから取得されたHWaccessに格納されている情報を用いてステータスが取得される。ステップ1808で、システムは、各ステータスが収集されたかどうかをチェックする。収集されていない場合、実行はステップ1802に進む。各ステータスが収集された場合、ステップ1810で、システムはステータス情報および固有IDを第2データベースに格納する。
本発明は、ネットワークに接続された、監視を必要とする数個のデバイスを含むように示されているが、理解されるように、本発明の精神および範囲から逸脱することなく、数個より多くのデバイスがネットワークに接続されてもよい。また、本発明は、種々のデバイスが監視および制御されることを必要とするようなホーム環境に適用されてもよい。
コンピュータ技術の当業者には明らかなように、本発明のコントローラは、本明細書の教示に従ってプログラムされた従来の汎用デジタルコンピュータまたはマイクロプロセッサを用いて都合よく実施されてもよい。ソフトウェア技術の当業者には明らかなように、適当なソフトウェアコーディングが、本開示の教示に基づいて、通常の技術を有するプログラマによって容易に作成されることが可能である。当業者には容易に明らかなように、本発明は、特定用途向け集積回路の作成によって、または従来のコンポーネント回路の適当なネットワークを相互接続することによって実施されてもよい。
本発明は、本発明のプロセスを実行するようにコンピュータをプログラムするために使用可能な命令を含むコンピュータプログラムを含む。このコンピュータプログラムを記憶する記憶媒体としては、以下のものには限定されないが、フロッピーディスク、光ディスク、CD−ROM、および光磁気ディスクを含むいかなるタイプのディスク、ROM、RAM、EPROM、EEPROM、磁気もしくは光カード、または電子的命令を格納するのに好適ないかなるタイプの媒体もあり得る。
明らかに、上記の教示に照らして、本発明の数多くの変更および変形が可能である。したがって、添付の特許請求の範囲の記載の範囲内で、本発明は本明細書に具体的に記載された以外の形で実施されてもよいと理解すべきである。
インターネットを通じてコンピュータおよびデータベースのネットワークに接続された、3つのネットワーク接続された事務用デバイスを示す図である。 デジタル画像形成装置のコンポーネントを示す図である。 図2に示されるデジタル画像形成装置の電子コンポーネントを示す図である。 図3に示されるマルチポート通信インタフェースの詳細を示す図である。 事務用デバイスが、ネットワークに直接接続されるか、またはネットワークに接続されたコンピュータに接続される、代替システム構成を示す図である。 電子メールを用いたアプリケーションユニットとの間の情報の流れを示すブロック図である。 アプリケーションユニットに接続されたコンピュータがメッセージ転送エージェント(MTA)としても働く、電子メールを用いた通信の代替方法を示す図である。 アプリケーションユニットが、電子メールを交換するメッセージ転送エージェントを含む、電子メールを用いた通信の代替方法を示す図である。 メールサーバが機器/デバイスのメールを受信するPOP3サーバとして、および機器/デバイスのメールを送信するSimple Mail Transfer Protocol(SMTP)サーバとして作用する、電子メールを用いた通信の代替方法を示す図である。 インターネットを通じてメッセージを送信する代替方法を示す図である。 機器/デバイスに接続され、電子メールメッセージを通信するために使用され得る例示的なコンピュータを示す図である。 本発明の例示的な一実施形態によるシステム全体の概略図である。 本発明の例示的な一実施形態によるデータの監視に使用されるモジュールおよびそのインタフェース関数を示す図である。 Monitorモジュール内の詳細およびサブモジュール間のその呼出し関数を示す図である。 図11に示されるHWaccessサブモジュールおよびSupportODBCサブモジュールによって使用されるデータ構造体を示す図である。 オブジェクト識別子(OID)をInfoTypeと関連づける例示的なデータ構造体を示す図である。 図10に示されるMonitorモジュールのinit関数のシーケンスを示す図である。 図11に示されるMonitorManagerによって被監視デバイスのステータスを判定するステータスモニタ関数の例示的なシーケンスを示す図である。 図13に示されるCDeviceFactoryによって作成され、MonitorManagerによって使用されるデバイスへの参照のベクタを示す図である。 図11に示されるHwaccessモジュールを通じて情報収集をサポートするためにデータベースに格納されるテーブル関係を示す図である。 HWaccessモジュールに情報を格納するステップを開示する例示的なフローチャートである。 複数のプロトコルを用いてネットワークデバイスを監視するステップを開示する例示的なフローチャートである。
符号の説明
10 広域ネットワーク
16、52 ネットワーク
17、18、20、22、42、56、62、68、74 ワークステーション(WS)
24 画像形成装置
28 ファクシミリ装置
32 プリンタ
46、54、58、64、70、76 ディスク
50A、50B、50C ファイアウォール

Claims (16)

  1. ネットワークに通信可能に結合した相異なる複数のデバイスのうち任意のデバイスを監視する方法であって、
    複数の通信プロトコルをサポートするように構成され、前記デバイスに関する情報を抽出するために該複数の通信プロトコルによって使用される情報を格納する第1データベースにアクセスするステップと、
    前記複数の通信プロトコルのうち、前記デバイスからステータス情報を受信するように構成された1つあるいはそれ以上の通信プロトコルを選択するステップと、
    前記選択された通信プロトコルと、該選択された通信プロトコルをサポートするように構成された前記第1データベースからの情報とを用いて前記デバイスにアクセスするステップと、
    前記アクセスされたデバイスからデータ文字列としてステータス情報を受信するステップと、
    前記第1データベースからの情報を用いて前記アクセスされたデバイスのステータス情報値を抽出するために前記データ文字列を処理するステップと、
    前記抽出されたステータス情報値を第2データベースに格納するステップと、
    を含むデバイスを監視する方法。
  2. 前記アクセスされたデバイスから受信される情報で前記第2データベースを更新するステップをさらに含む請求項1に記載のデバイスを監視する方法。
  3. 前記第1データベースへのアクセスはハードウェアアクセスモジュール経由で実行される請求項1に記載のデバイスを監視する方法。
  4. 固有のIPアドレスを用いて前記相異なるデバイスのそれぞれにアクセスするステップをさらに含む請求項1に記載のデバイスを監視する方法。
  5. 前記アクセスされたデバイスから受信される前記情報から該アクセスされたデバイスのソフトウェアオブジェクトを作成するステップと、および
    前記アクセスされたデバイスのIPアドレスに関連づけて製造元情報およびモデル情報を前記第2データベースに格納するステップと、
    をさらに含む請求項2に記載のデバイスを監視する方法。
  6. 抽出されるパラメータ値が前記相異なるデバイスに対する相異なる動作ステータスに対応する請求項1に記載のデバイスを監視する方法。
  7. HTML/XMLプロトコル、SNMPプロトコル、または該プロトコルの両方で前記アクセスされたデバイスから情報を受信する請求項1に記載のデバイスを監視する方法。
  8. ネットワークに通信可能に結合した相異なる複数のデバイスのうち任意のデバイスを監視するシステムであって、
    複数の通信プロトコルをサポートするように構成され、前記デバイスに関する情報を抽出するために該複数の通信プロトコルによって使用される情報を有する第1データベースにアクセスする手段と、
    前記複数の通信プロトコルのうち、前記デバイスからステータス情報を受信するように構成された1つあるいはそれ以上の通信プロトコルを選択する手段と、
    前記選択された通信プロトコルと、該選択された通信プロトコルをサポートする前記第1データベースからの情報とを用いて前記デバイスにアクセスする手段と、
    前記アクセスされたデバイスからデータ文字列の形態でステータス情報を受信する手段と、
    前記第1データベースからの情報を用いて前記アクセスされたデバイスのステータス情報値を抽出するために前記データ文字列を処理する手段と、
    前記抽出されたステータス情報値を第2データベースに格納する手段と、
    を備えるデバイスを監視するシステム。
  9. 前記第2データベースは、前記デバイスから受信される情報で更新される請求項8に記載のデバイスを監視するシステム。
  10. 前記第1データベースは、前記デバイスに関する情報を取得するためにハードウェアアクセスモジュール経由でアクセスされる請求項8に記載のデバイスを監視するシステム。
  11. ネットワークに通信可能に結合した前記相異なるデバイスのそれぞれが固有のIPアドレスを用いてアクセスされる請求項8に記載のデバイスを監視するシステム。
  12. 前記デバイスから受信される情報は、該デバイスのソフトウェアオブジェクトを作成するために使用され、
    製造元情報およびモデル情報は、前記デバイスのIPアドレスに関連づけて前記第2データベースに格納される、
    請求項9に記載のデバイスを監視するシステム。
  13. 抽出されるパラメータ値は、前記相異なるデバイスに対する相異なる動作ステータスに対応する請求項8に記載のデバイスを監視するシステム。
  14. 前記デバイスから受信される情報がHTML/XMLプロトコルフォーマット、SNMPプロトコルフォーマット、または該プロトコルフォーマットの両方で、前記アクセスされたデバイスからの情報を含む請求項8に記載のデバイスを監視するシステム。
  15. ネットワークに通信可能に結合した相異なる複数のデバイスのうち任意のデバイスを監視するためのコンピュータで実行可能なコンピュータプログラムであって、
    複数の通信プロトコルをサポートするように構成され、前記デバイスに関する情報を抽出するために該複数の通信プロトコルによって使用される情報を有する第1データベースにアクセスする命令と、
    前記複数の通信プロトコルのうち、前記デバイスからステータス情報を受信するように構成された1つあるいはそれ以上の通信プロトコルを選択する命令と、
    前記選択された通信プロトコルと、該選択された通信プロトコルをサポートする前記第1データベースからの情報とを用いて前記デバイスにアクセスする命令と、
    前記アクセスされたデバイスからデータ文字列の形態でステータス情報を受信する命令と、
    前記第1データベースからの情報を用いて前記アクセスされたデバイスのステータス情報値を抽出するために前記データ文字列を処理する命令と、
    前記抽出されたステータス情報値を第2データベースに格納する命令と、
    を備えるコンピュータプログラム
  16. 前記アクセスされたデバイスから受信される情報で前記第2データベースを更新する命令をさらに備える請求項15に記載のコンピュータプログラム
JP2004016045A 2003-02-26 2004-01-23 複数のプロトコルを用いてネットワーク接続されたデバイスを監視する方法およびシステム並びにコンピュータプログラム Expired - Fee Related JP4688128B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/372,939 US7437452B2 (en) 2003-02-26 2003-02-26 Method and system for monitoring network connected devices with multiple protocols
US10/372939 2003-02-26

Publications (2)

Publication Number Publication Date
JP2004259259A JP2004259259A (ja) 2004-09-16
JP4688128B2 true JP4688128B2 (ja) 2011-05-25

Family

ID=33130334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004016045A Expired - Fee Related JP4688128B2 (ja) 2003-02-26 2004-01-23 複数のプロトコルを用いてネットワーク接続されたデバイスを監視する方法およびシステム並びにコンピュータプログラム

Country Status (2)

Country Link
US (1) US7437452B2 (ja)
JP (1) JP4688128B2 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6631247B1 (en) * 1999-09-29 2003-10-07 Ricoh Co., Ltd. Method and system for remote diagnostic, control and information collection based on various communication modes for sending messages to a resource manager
US7337242B1 (en) * 2002-02-11 2008-02-26 Ricoh Company, Limited Method and apparatus utilizing communication means hierarchy to configure or monitor an interface device
US20040172386A1 (en) * 2003-02-28 2004-09-02 Pulsipher Eric A. Method and system for managing a network
JP2004264995A (ja) * 2003-02-28 2004-09-24 Toshiba Tec Corp 事務機器、情報機器、事務機器の情報管理システム、事務機器の情報管理方法、及び情報管理プログラム
JP4341303B2 (ja) * 2003-06-09 2009-10-07 セイコーエプソン株式会社 ネットワーク印刷システム
US8595242B2 (en) 2003-06-13 2013-11-26 Ricoh Company, Ltd. Method for parsing an information string to extract requested information related to a device coupled to a network in a multi-protocol remote monitoring system
KR100574944B1 (ko) * 2003-06-18 2006-04-28 삼성전자주식회사 비메모리형으로 프로그램되는 기기 고유 어드레스에 의한블루투스 통신을 지원하는 응용기기, 및 응용기기의 통신방법
US7673066B2 (en) * 2003-11-07 2010-03-02 Sony Corporation File transfer protocol for mobile computer
US7502848B2 (en) * 2004-08-27 2009-03-10 Ricoh Company Ltd. Method of creating a data processing object associated with a communication protocol used to extract status information related to a monitored device
US20060155845A1 (en) * 2005-01-11 2006-07-13 Tetsuro Motoyama Method and system for initializing an internal storage table containing access information used by multiple implementations of protocol access functions to extract information from networked devices
US7581000B2 (en) * 2005-01-11 2009-08-25 Ricoh Company, Ltd. Monitoring device having a memory containing data representing access information configured to be used by multiple implementations of protocol access functions to extract information from networked devices
US8024054B2 (en) * 2005-08-22 2011-09-20 Trane International, Inc. Building automation system facilitating user customization
US8055387B2 (en) 2005-08-22 2011-11-08 Trane International Inc. Building automation system data management
US8055386B2 (en) 2005-08-22 2011-11-08 Trane International Inc. Building automation system data management
US8099178B2 (en) 2005-08-22 2012-01-17 Trane International Inc. Building automation system facilitating user customization
US8050801B2 (en) * 2005-08-22 2011-11-01 Trane International Inc. Dynamically extensible and automatically configurable building automation system and architecture
US20080227446A1 (en) * 2006-06-16 2008-09-18 Roy Wubker Portable handheld satellite phone conversion module
US20070293149A1 (en) * 2006-06-16 2007-12-20 Roy Wubker Portable handheld satellite phone conversion module
US8180824B2 (en) 2009-02-23 2012-05-15 Trane International, Inc. Log collection data harvester for use in a building automation system
US9258201B2 (en) 2010-02-23 2016-02-09 Trane International Inc. Active device management for use in a building automation system
US8793022B2 (en) 2010-02-26 2014-07-29 Trane International, Inc. Automated air source and VAV box association
US8219660B2 (en) 2010-02-26 2012-07-10 Trane International Inc. Simultaneous connectivity and management across multiple building automation system networks
US8438273B2 (en) 2010-09-22 2013-05-07 Ricoh Company, Ltd. Network device management with self learning capability to extract information from a device
CN102622429B (zh) * 2012-02-27 2014-07-16 武汉大学 一种基于特征距离比值的地理数据库水印方法
WO2015148705A1 (en) * 2014-03-25 2015-10-01 3Md, Inc. Intelligent monitoring and management of network devices
US10269235B2 (en) 2016-08-26 2019-04-23 Trane International Inc. System and method to assist building automation system end user based on alarm parameters
ES2728139R1 (es) * 2016-09-30 2019-11-07 Aclara Tech Llc Mejoras a los patrones IEC 61968-9:2013 para las comunicaciones de un sistema de servicios públicos
JP6816589B2 (ja) 2017-03-17 2021-01-20 株式会社リコー 遠隔管理システム、仲介装置、遠隔管理方法、及び遠隔管理プログラム
CN109165133B (zh) * 2018-07-02 2022-03-25 咪咕文化科技有限公司 数据监控方法、装置、设备及存储介质
CN112383578A (zh) * 2019-10-21 2021-02-19 北京城建智控科技有限公司 数据传输方法、装置及设备
CN111901166B (zh) * 2020-07-24 2023-04-18 广州合明软件科技有限公司 一种机房设备硬件信息的多通道监控管理方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10304005A (ja) * 1996-03-29 1998-11-13 Ricoh Co Ltd 複数の通信フォーマットを用いた装置の、通信方法および通信システム、診断方法および遠隔診断システム、制御方法および遠隔制御システム、並びに、それらに用いられる記憶装置
JP2002333996A (ja) * 2001-02-14 2002-11-22 Ricoh Co Ltd 遠隔情報収集の方法及びシステム
WO2003038630A1 (en) * 2001-10-30 2003-05-08 Sony Corporation Electronic device monitoring method, electronic device, computer, and program thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3438105B2 (ja) * 1994-03-18 2003-08-18 富士通株式会社 迂回経路探索方法
US5636345A (en) * 1995-03-30 1997-06-03 Bay Networks, Inc. Method and apparatus for detecting and preventing broadcast storms on an emulated local area network
US5812826A (en) * 1996-06-27 1998-09-22 Mci Communications Corporation Method and apparatus for emulating a network of state monitoring devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10304005A (ja) * 1996-03-29 1998-11-13 Ricoh Co Ltd 複数の通信フォーマットを用いた装置の、通信方法および通信システム、診断方法および遠隔診断システム、制御方法および遠隔制御システム、並びに、それらに用いられる記憶装置
JP2002333996A (ja) * 2001-02-14 2002-11-22 Ricoh Co Ltd 遠隔情報収集の方法及びシステム
WO2003038630A1 (en) * 2001-10-30 2003-05-08 Sony Corporation Electronic device monitoring method, electronic device, computer, and program thereof

Also Published As

Publication number Publication date
US20040205207A1 (en) 2004-10-14
US7437452B2 (en) 2008-10-14
JP2004259259A (ja) 2004-09-16

Similar Documents

Publication Publication Date Title
JP4688128B2 (ja) 複数のプロトコルを用いてネットワーク接続されたデバイスを監視する方法およびシステム並びにコンピュータプログラム
US9674066B2 (en) Method for parsing an information string to extract requested information related to a device coupled to a network in a multi-protocol remote monitoring system
US7519698B2 (en) Method and system for extracting information 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
EP1519514B1 (en) Method and system for supporting multiple protocols used to monitor networked devices in a remote monitoring system
US7296079B2 (en) Method and system for initializing protocol information used to extract status information from networked devices
US7533167B2 (en) Method for efficiently extracting status information related to a device coupled to a network in a multi-protocol remote monitoring system
US7610372B2 (en) Method and system for managing vendor and model information in a multi-protocol remote monitoring system
JP4728069B2 (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
JP4728070B2 (ja) ネットワークデバイスからステータス情報を抽出するための抽象型クラス使用方法およびシステム
US20040255023A1 (en) Method and system for extracting vendor and model information in a multi-protocol remote monitoring system
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
EP1679823A1 (en) Method and system for extracting information from networked devices using the HTTP protocol and precondition information
EP1681831A2 (en) Monitoring device having a memory containing data representing access information configured to be used by multiple implementations of protocol access functions to extract information from networked devices
EP1679824A1 (en) Method and system for extracting information from network devices using multiple protocol access functions
JP2006202283A (ja) 被監視装置関連情報を抽出する方法、システム及びコンピュータプログラム
US7899900B1 (en) Method and system for monitoring network connected devices with multiple protocols
JP2004213654A (ja) 監視デバイスの情報を取得および保守する方法、装置並びにシステム
JP2005004735A (ja) マルチプロトコルリモート監視システムにおける要求情報抽出方法、情報格納方法、情報文字列解析方法、ステータス情報抽出方法、及び、システム並びにコンピュータプログラム製品

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101001

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: 20110209

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: 20110210

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

Free format text: PAYMENT UNTIL: 20140225

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees