JP3782600B2 - ネットワークデバイス管理装置、ネットワークデバイス管理方法及び記録媒体 - Google Patents

ネットワークデバイス管理装置、ネットワークデバイス管理方法及び記録媒体 Download PDF

Info

Publication number
JP3782600B2
JP3782600B2 JP01549199A JP1549199A JP3782600B2 JP 3782600 B2 JP3782600 B2 JP 3782600B2 JP 01549199 A JP01549199 A JP 01549199A JP 1549199 A JP1549199 A JP 1549199A JP 3782600 B2 JP3782600 B2 JP 3782600B2
Authority
JP
Japan
Prior art keywords
network
search
value
information
attribute
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
JP01549199A
Other languages
English (en)
Other versions
JPH11346216A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP01549199A priority Critical patent/JP3782600B2/ja
Priority to US09/264,874 priority patent/US6574662B2/en
Publication of JPH11346216A publication Critical patent/JPH11346216A/ja
Application granted granted Critical
Publication of JP3782600B2 publication Critical patent/JP3782600B2/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/12Discovery or management of network topologies
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、広義にコンピュータネットワークに関し、より詳しくはネットワーク管理ソフトウェアを含むネットワークデバイス制御装置および方法、記録媒体に関する。
【0002】
【従来の技術】
近年、コンピュータを相互に接続したローカルエリアネットワーク(LAN)が普及している。このようなローカルエリアネットワークは、ビルのフロアまたはビル全体、ビル群(構内)、地域、あるいはさらに大きいエリアにわたって構築される。更に、このようなネットワークが相互に接続され、世界的規模のネットワークに接続されることもある。また、相互接続されたそれぞれのLANでは、多様なハードウェア相互接続技術といくつものネットワークプロトコルが用いられている。
【0003】
ここで、他と切り離された簡単なLANでは、個々のユーザが機器管理を行うことができる。すなわち、ユーザが機器を取り替えり、ソフトウェアをインストールしたり、問題点を診断したりすることができる。
【0004】
しかし、規模の大きい複雑なLANや相互接続された大きなLANグループでは、「管理」を必要とする。なお、「管理」とは、人間のネットワーク管理者による管理とその管理者が使用するソフトウェアによる管理の両方を意味する。本願においては、「管理」とはシステム全体を管理するためのソフトウェアによる管理を意味し、「ユーザ」とはネットワーク管理ソフトウェアを使用する人を意味するものとする。この「ユーザ」は、通常、システム管理責任者である。「ユーザ」は、ネットワーク管理ソフトウェアを使うことによって、ネットワーク上で管理データを得て、このデータを変更することができる。
【0005】
大規模ネットワークシステムは、通常、機器の増設と除去、ソフトウェアの更新、及び問題の検出などを絶えず行うことが必要な動的システムである。一般には、様々な人が所有する、様々な業者から供給される、様々なシステムが存在する。
【0006】
このような大規模なネットワークシステムを構成するネットワーク上のネットワークデバイスを管理するための方法として、これまでにいくつかの試みが数多くの標準機間でなされている。国際標準化機構(ISO)は開放型システム間相互接続(Open SystemInterconnection、OSI)モデルと呼ばれる汎用基準フレームワークを提供した。ネットワーク管理プロトコルのOSIモデルは、共通管理情報プロトコル(Common Management Information Protocol、CMIP)と呼ばれる。CMIPはヨーロッパの共通ネットワーク管理プロトコルである。
【0007】
また、近年では、より共通性の高いネットワーク管理プロトコルとして、簡易ネットワーク管理プロトコル(Simple Network Management Protocol、SNMP)と呼ばれるCMIPに関連する一変種のプロトコルがある(「TCP/IP ネットワーク管理入門 実用的な管理をめざして」M.T.ローズ=著/西田竹志=訳 (株)トッパン発行 1992年8月20日初版を参照)。
【0008】
このSNMPネットワーク管理技術によれば、ネットワーク管理システムには、少なくとも1つのネットワーク管理ステーション(NMS)、各々がエージェントを備えるいくつかの管理対象ノード、及び管理ステーションやエージェントが管理情報を交換するために使用するネットワーク管理プロトコルが含まれる。ユーザは、NMSのネットワーク管理ソフトウェアを用いて管理対象ノードのエージェントソフトウェアと通信することにより、ネットワーク上の管理データを得、またそのデータを変更することができる。
【0009】
ここで、「エージェント」とは、各々の管理対象ノードでバックグラウンドプロセスとして走るソフトウェアである。ユーザがネットワーク上の管理対象ノードに対して管理データの要求をおこなうときには、ネットワーク管理ソフトウェアはオブジェクト識別子(後述)を管理パケットまたはフレームに入れて管理対象ノードのエージェントへ送信する。
【0010】
エージェントは、そのオブジェクト識別子を解釈して、そのオブジェクト識別子に対応するデータを取り出す。そして、そのデータをパケットに入れてネットワーク管理ソフトウェアに返信する。ときには、エージェントはそのデータを取り出すために、対応するプロセスを呼び出す場合もある。
【0011】
また、エージェントは、管理対象ノードに関するデータをデータベース形式で保持する。このデータベースは、MIB(Management Information Base)と呼ばれる。図4は、MIBの構造を示す概念図である。図4に示すように、MIBは木構造のデータ構造をしており、全てのノードに一意に識別子が付けられている。図4において、括弧内に書かれている番号をもとに、そのノードの識別子が定義される。例えば、図4のノード401の識別子は1である。ノード402の識別子は、ノード401の子なので、1・3である。同様に、ノード403の識別子は、1・3・6・1・2である。このノードの識別子がオブジェクト識別子(OBJECTIDENTIFIER)である。ここで、図4には、標準として規定されているMIBの一部を抜き出して記載している。
【0012】
なお、このMIBの構造は、管理情報構造(Structure of ManagementInformation、SMI)と呼ばれ、RFC1155Structure and Identificationof ManagementInformationfor TCP/IP−based Internetsで規定されている。
【0013】
次に、SNMPプロトコルについて説明する。ネットワーク管理ソフトウェアが動作しているPC(以下、マネージャーと呼称する)と、SNMPエージェントが動作している管理対象ネットワークデバイス(以下、エージェントと呼称する)とは、SNMPプロトコルを用いて通信する。SNMPプロトコルには5種類のコマンドがあり、それぞれはGet-request、Get-next-request、Get-response、Set-request、Trapと呼ばれる。これらのコマンドがマネージャとエージェントとの間でやり取りされる様子を図8に示す。
【0014】
Get-request及びGet-next-requestは、マネージャがエージェントに対して送出するコマンドである。このコマンドを受け取ったエージェントは、MIBオブジェクトの値をマネージャに通知するために、マネージャに対してGet-responseコマンドを送出する(801及び802)。
【0015】
Set-requestは、マネージャがエージェントのMIBオブジェクトの値を設定するために、エージェントに対して送出するコマンドである。このコマンドを受け取ったエージェントは、設定結果をマネージャに通知するため、マネージャに対してGet-responseコマンドを送出する(803)。
【0016】
Trapは、エージェントが自分自身の状態の変化をマネージャに対して通知するために、マネージャに対して送出するコマンドである(804)。
【0017】
図7は、Trap以外のコマンド、すなわち、Get-request、Get-next-request、Get-response及びSet-request(総称してSNMPメッセージと呼ぶ)のフォーマットを示した図である。700がSNMPメッセージである。SNMPメッセージは、バージョン701、コミュニティ名702、PDU703から構成される。PDU703の詳細を示したのが710である。
【0018】
PDU710は、PDUタイプ711、リクエストID712、エラーステータス713、エラーインデックス714、及びMIB情報715から構成される。PDUタイプ711には、コマンドを識別するための値が格納される。この値が0であればGet-request、1であればGet-next-request、2であればGet-response、3であればSet-requestと識別される。また、エラーステータス713には、エラー情報を示す値が格納される。エラーがない場合にはこの値が0である。また、MIB情報715には、MIBオブジェクト識別子とそのMIBオブジェクトの値が組になって格納される。
【0019】
次に、管理が必要な大規模なネットワークについて説明する。図1は、プリンタをネットワークに接続するためのネットワークボード(NB)101を、開放型アーキテクチャを持つプリンタ102へつなげた場合のネットワークを示す図である。NB101はローカルエリアネットワーク(LAN)100へ、例えば、同軸コネクタをもつEthernetインターフェース10Base-2や、RJ-45をもつ10Base-T等のLANインターフェースを介してつながっている。
【0020】
PC103やPC104等の複数のパーソナルコンピュータ(PC)もまた、LAN100につながっている。これらのPCは、ネットワークオペレーティングシステムの制御の下、NB101と通信することができる。PCの一つ、例えばPC103を、ネットワーク管理部として使用するように指定することができる。また、それぞれのPCに、PC104に接続しているプリンタ105のようなプリンタを接続してもよい。
【0021】
また、LAN100にファイルサーバ106がつながっており、これは大容量(例えば100億バイト)のネットワークディスク107に記憶されたファイルへのアクセスを管理する。プリントサーバ108は、接続されたプリンタ109a及び109b、または遠隔地にあるプリンタ105などのプリンタに印刷を行わせる。また、他の図示していない周辺機器がLAN100につながっていてもよい。
【0022】
更に、図1に示すネットワークは、様々なネットワークメンバ間で効率よく通信を行うために、NovellやUNIXなどのネットワークソフトウェアを使用することができる。どのネットワークソフトウェアも使用することができるが、その一例として、Novell社のNetWare(Novell社の商標。以下省略)ソフトウェアを使用することができる(このソフトウェアパッケージに関する詳細な説明は、NetWareパッケージに同梱されているオンラインドキュメンテーションを参照。これは、Novell社からNetWareパッケージとともに購入可能)。
【0023】
更に、図1の構成について簡潔に説明すると、ファイルサーバ106は、LANメンバ間でのデータファイルの送受信、或いはデータファイルの記憶、キューイング、キャッシングを行い、ファイル管理部としての役割を担う。例えば、PC103及びPC104のそれぞれで作られたデータファイルは、ファイルサーバ106へ送られる。ファイルサーバ106はこれらのデータファイルを順に並べ、プリントサーバ108からのコマンドに従って、それらのデータファイルをプリンタ109aへ送信する。
【0024】
またPC103やPC104では、データファイルの生成や、生成されたデータファイルのLAN100への送出やLAN100からのデータファイルの受け取り、更にはそれらのデータファイルの表示及び/又は処理が行われる。図1ではPCが示されているが、ネットワークソフトウェアを実行するのに適切なものであれば、その他のコンピュータ機器であってもよい。例えば、UNIXのソフトウェアが使用される場合にはUNIXワークステーションがネットワークにつながれていてもよい。これらのUNIXワークステーションは、適切な状況下で図示されているPCとともに使用される。
【0025】
通常、LAN100は、幾分ローカルなユーザグループに、例えば、一つの建物内の一つの階或いは連続した複数の階のユーザグループにサービスを提供する。また、ユーザが他の建物や他の県に居るなど、ユーザ間が離れるにしたがってワイドエリアネットワーク(WAN)を構築してもよい。WANは、基本的には、いくつかのLANが高速度サービス総合デジタルネットワーク(ISDN)電話線等の高速度デジタルラインで接続されて形成されたLANの集合体である。
【0026】
したがって、図1に示すように、LAN100とLAN110とLAN120とが、変調/復調(MODEM)/トランスポンダ130やバックボーン140を介して接続されて、WANが構築される。これらの接続は、複数のバスによる単純な電気的接続である。それぞれのLANには、専用のPCが接続されており、必ずしも必要ではないが、通常はファイルサーバやプリントサーバも接続されている。
【0027】
したがって、図1に示すように、LAN110は、PC111と、PC112と、ファイルサーバ113と、ネットワークディスク114と、プリントサーバ115と、プリンタ116と、プリンタ117とから構成されている。対照的に、LAN120は、PC121とPC122のみから構成されている。LAN100と、LAN110と、LAN120とに接続されている機器は、WAN接続を介して、他のLANの機器の機能にアクセスすることができる。
【0028】
エージェントの実装方法として、プリンタをネットワーク接続させるためのネットワークボード上にエージェントを実装することが考えられる。これにより、プリンタをネットワーク管理ソフトウェアによる管理の対象とすることができる。ユーザは、ネットワーク管理ソフトウェアを用いて、管理対象のプリンタの情報を取得し、そのプリンタの状態を変更することができる。より具体的には、例えば、プリンタの液晶ディスプレイに表示されている文字列を取得したり、デフォルトの給紙カセットを変更したりすることができる。
【0029】
次に、エージェントを実装したネットワークボード(NB)をプリンタに接続する実施形態について説明する。図2に示すように、好ましくは、NB101は、プリンタ102の内部拡張I/Oスロットに内蔵され、次に示す処理及びデータ記憶機能を持つ「埋め込まれた」ネットワークノードとなる。このNB101の構成により、大きなマルチエリアWANネットワークを統括及び管理するための、特徴的な補助機能が用意されるという利点がある。この補助機能は、例えば、ネットワーク上の遠隔地(ネットワーク統括者の事務所など)からのプリンタ制御及び状態観察や、各印刷ジョブ後の次のユーザのための保証初期環境を提供するためのプリンタ構成の自動管理、及びプリンタの負荷量の特徴づけるため或いはトナーカートリッジの交換スケジュールを組むためにネットワークを介してアクセスできるプリンタログ又は使用統計を含む。
【0030】
このNB設計において重要な要因は、共有メモリ等の両方向インターフェイスを介して、NB101からプリンタ制御にアクセスする機能である。共有メモリ以外には、SCSIインターフェース等のインターフェースを使用する場合がある。これらにより、プリンタ状態情報がNB101又は外部のネットワークノードへ送出され、多数の補助機能が実装されうる。また、印刷画像情報及び制御情報は、NB101にあるマイクロプロセッサによって構成されて共有メモリに記述され、プリンタ102によって読み出される。同様に、プリンタ状態情報は、プリンタ102から共有メモリへ送られ、そこからNBプロセッサにより読み出される。
【0031】
図2は、NB101をプリンタ102にインストールした状態を示す断面図である。図2に示すように、NB101はネットワーク接続のためのフェーズプレート101bとそれが設置されている印刷回路ボード101aから構成される。また、NB101はコネクタ170を介してプリンタインターフェイスカード150につながっている。プリンタインターフェースカード150は、プリンタ102のプリンタエンジンを直接制御する。印刷データ及びプリンタ制御コマンドは、NB101からコネクタ170を介して、プリンタインターフェイスカード150へ入力される。一方、プリンタ状態情報はプリンタインターフェイスカード150からコネクタ170を介して出力される。NB101はこのプリンタ状態情報をフェースプレート101bにあるネットワークコネクタを介してLAN100へ送出する。また、プリンタ102は、従来のシリアルポート102a及びパラレルポート102bから印刷データを受信することもできる。
【0032】
図3は、NB101とプリンタ102とLAN100との電気的接続を示すブロック図である。NB101は、LAN100へはLANインターフェイスを介して、プリンタ102へはプリンタインターフェイスカード150を介して直接つながっている。NB101には、NB101を制御するためのマイクロプロセッサ301と、マイクロプロセッサ301の動作プログラムを格納するROM303と、マイクロプロセッサ301がプログラムを実行する際にワークエリアとして利用するRAM302と、NB101とプリンタインターフェイスカード150とが相互にデータを受け渡すための共有メモリ200とがあり、それぞれが内部バスを通じて相互接続している。
【0033】
NB101がSNMPエージェントとして動作するためのプログラムはROM303に格納されている。マイクロプロセッサ301は、ROM303に格納されたプログラムに従って動作し、ワークエリアとしてRAM302を用いる。また、プリンタインターフェイスカード150と相互に通信するためのバッファ領域として共有メモリ200を用いる。
【0034】
プリンタインターフェイスカード150のマイクロプロセッサ151はNB101とのデータの受け渡しをNB101にある共有メモリ200を介して行う。プリンタインターフェイスカード150のマイクロプロセッサ151は、実際に印刷機構を動かすプリンタエンジン160とも通信する。
【0035】
次に、ネットワーク管理ソフトウェアが実行されるPCについて説明する。図5は、ネットワーク管理ソフトウェアを実行可能なPCの構成を示すブロック図である。図5において、500はネットワーク管理ソフトウェアを実行可能なPCであり、図1におけるPC103と同等である。PC500は、ROM502若しくはハードディスク(HD)511に記憶された、或いはフロッピーディスクドライブ(FD)512により供給されるネットワーク管理ソフトウェアを実行するCPU501を備え、システムバス504につながっている各デバイスを総括的に制御する。
【0036】
503はRAMで、CPU501の主メモリ、ワークエリア等として機能する。505はキーボードコントローラ(KBC)で、キーボード(KB)509や不図示のポインティングデバイス等からの指示入力を制御する。506はCRTコントローラ(CRTC)で、CRTディスプレイ(CRT)510の表示を制御する。507はディスクコントローラ(DKC)で、ブートプログラム、種々のアプリケーションプログラム、編集ファイル、ユーザファイル、そしてネットワーク管理ソフトウェア等を記憶するハードディスク(HD)511及びフロッピディスクドライブ(FD)512を制御する。508はネットワークインターフェイスカード(NIC)で、LAN100を介して、エージェント或いはネットワーク機器と双方向にデータの受け渡しを行う。
【0037】
次に、従来例におけるネットワーク管理ソフトウェアの構成について説明する。従来例におけるネットワーク管理装置は、図5に示したようなネットワーク管理装置を実現可能なPCと同様のPCで実現される。ハードディスク(HD)511には、後述の全ての説明の動作主体となる本願に係るネットワーク管理ソフトウェアが格納される。後述の全ての説明において、特に断りがない限り、ハードウェアにおける実行の主体はCPU501であり、ソフトウェアにおける制御の主体はネットワーク管理ソフトウェアである。本従来例においては、OSは、例えば、ウィンドウズ95(マイクロソフト社製)を想定しているが、これに限るものではない。
【0038】
なお、本願に係るネットワーク管理ソフトウェアは、フロッピーディスクやCD−ROMなどの記憶媒体に格納されて供給されてもよく、その場合には、図5に示すフロッピディスクドライブ512または不図示のCD−ROMドライブなどによって記憶媒体からプログラムが読み取られ、ハードディスク(HD)511にインストールされる。
【0039】
図6は、本従来例に係るネットワーク管理ソフトウェアのモジュール構成図である。このネットワーク管理ソフトウェアは、図5におけるハードディスク511に格納されており、CPU501によって実行される。その際、CPU501はワークエリアとしてRAM503を使用する。図6において、601はデバイスリストモジュールと呼ばれ、ネットワークに接続されたネットワークデバイスを一覧して表示するモジュールである(一覧表示の様子については、後程図15を用いて説明する)。602は全体制御モジュールと呼ばれ、デバイスリストからの指示をもとに他のモジュールを統括する。
【0040】
603はコンフィグレータと呼ばれ、エージェントのネットワーク設定に関する特別な処理を行うモジュールである。604は探索モジュールと呼ばれ、ネットワークに接続されているネットワークデバイスを探索するモジュールである。探索モジュール604によって探索されたネットワークデバイスが、デバイスリスト601に一覧表示される。605は、プリントジョブの状況をNetWare API616を用いてネットワークサーバから取得するNetWareジョブモジュールである(なお、NetWareAPIについては、例えば、Novell社から発行されている“NetWareProgramer'sGuidefor C”等を参照。この書籍はNovell社から購入可能)。
【0041】
606及び607は、後述するデバイス詳細ウィンドウを表示するためのUI(UserInterface)モジュールであり、詳細情報を表示する対象ネットワークデバイスの機種ごとにUIモジュールが存在する。608及び609は制御モジュールと呼ばれ、詳細情報を取得する対象ネットワークデバイスの機種ごとに特有の制御を行うモジュールである。UIモジュールと同様に、制御モジュールも詳細情報を取得する対象ネットワークデバイスの機種ごとに存在する。制御Aモジュール608及び制御Bモジュール609は、MIBモジュール610を用いて管理対象ネットワークデバイスからMIB情報を取得し、必要に応じてそのMIB情報のデータを変換して、UIAモジュール606やUI Bモジュール607にそのデータを渡す。
【0042】
MIBモジュール610は、オブジェクト識別子とオブジェクトキーとの変換を行うモジュールである。オブジェクトキーとは、オブジェクト識別子と一対一に対応する32ビットの整数のことである。オブジェクト識別子は可変長の識別子であり、ネットワーク管理ソフトウェアを実装する上で扱いが面倒であるため、本願に係るネットワーク管理ソフトウェアにおいてはオブジェクト識別子と一対一に対応する固定長の識別子を内部的に用いる。MIBモジュール610より上位のモジュールは、このオブジェクトキーを用いてMIB情報を扱う。これにより、ネットワーク管理ソフトウェアの実装が容易になる。
【0043】
611はSNMPモジュールと呼ばれ、SNMPパケットの送信と受信とを行う。612は共通トランスポートモジュールと呼ばれ、SNMPパケットを運搬するための下位のプロトコルとの橋渡しをするモジュールである。実際には、ネットワーク管理ソフトウェアの動作時にユーザが選択したプロトコルにより、IPXハンドラ613か、UDPハンドラ614のいずれかがパケットの転送を行う。なお、UDPハンドラ614を実装するために、WinSock API617を用いている(WinSockについては、Windows SocketAPI v1.1の仕様書を参照。このドキュメントは、複数箇所から入手可能であり、例えば、マイクロソフト社のコンパイラであるvisual c++に同梱されている)。
【0044】
また、コンフィグレータ603が用いている現在のプロトコル615とは、ネットワーク管理ソフトウェアの動作時にユーザが選択したIPXプロトコルかUDPプロトコルかのいずれかのことを示す。
【0045】
本従来例で示す探索モジュール604とMIBモジュール610との間のインタフェースについて説明する。
【0046】
MIBモジュール610は、図9に示すC言語のAPI(Application ProgramInterface)を上位モジュールに提供する。まず、上位モジュールは、指定したアドレスに対するインターフェイス(これをポートと呼ぶ)をMIBモジュール610との間で開設するために、MIBOpen関数901を呼び出す。MIBモジュール610は、開設されたインターフェイスを識別するための識別子(これをポート識別子と呼ぶ)を上位モジュールに返す(値はMIBOpen関数901の第一引数portに返される)。以降、上位モジュールはポート識別子を用いてMIBモジュールとの間でやり取りを行う。なお、このポート識別子の値をポート値と呼ぶ。
【0047】
ここで、指定するアドレスとは、動作しているプロトコルにおけるアドレスであり、IPプロトコルの場合はIPアドレス、NetWareプロトコルの場合はNetWareアドレスである。更にそれぞれのプロトコルにおけるブロードキャストアドレスを指定することもできる。ブロードキャストアドレスを指定してポートを開設した場合には、ブロードキャストアドレスに応答する複数のネットワークデバイスと通信を行うことができる。
【0048】
上位モジュールは、ポートを使用しなくなったとき、MIBClose関数904を呼出してポートを閉じる。
【0049】
上位モジュールがMIBオブジェクトの値を取得する場合には、MIBReadObjects関数902を呼び出す。MIBReadObjects関数902を呼び出す際には、ポート識別子、取得すべきMIBオブジェクトのオブジェクトキーを指定する。それと共に、MIBモジュール610が、取得したMIBオブジェクトの値を上位モジュールに通知するためのコールバック関数のアドレスを指定する。
【0050】
MIBReadObjects関数902の呼出しにより、SNMPにおけるGet-requestコマンドがネットワークに送出される。すると、図8に示したように、このGet-requestコマンドに応答するエージェントがGet-responseコマンドを返信する。
【0051】
上位モジュールがMIBオブジェクトへの値の書き込みを行う場合には、MIBWriteObjects関数903を呼び出す。MIBWriteObjects関数903を呼び出す際には、ポート識別子、値を書き込むべきMIBオブジェクトのオブジェクトキー、書き込む値を指定する。それと共に、書き込みの結果をMIBモジュール610が上位モジュールへ通知するためのコールバック関数のアドレスを指定する。
【0052】
MIBWriteObjects関数903の呼出しにより、SNMPにおけるGet-requestコマンドがネットワークに送出される。すると、図8に示したように、このGet-requestコマンドに応答するエージェントがGet-responseコマンドを返信する。
【0053】
コールバック関数は、MIBReadObjects関数902或いはMIBWriteObjects関数903の結果を上位モジュールに通知する。具体的には、ネットワークデバイスのアドレスと受信したGet-responseコマンドの内容を上位モジュールに通知する。
【0054】
ブロードキャストアドレスを指定してポートを開設して、MIBReadObjects関数902を呼び出した場合、ネットワークに送出されたGet-requestコマンドを運ぶパケット(IPプロトコルの場合はIPパケット、NetWareプロトコルの場合はIPXパケット)の宛先アドレスがブロードキャストアドレスになる。したがって、このパケットは複数のネットワークデバイスに受信されるので、このGet-requestコマンドに応答するエージェントは複数ある。その結果、マネージャは複数のGet-responseコマンドを受信する。この場合、コールバック関数は、ポート識別子は同じでも、ネットワークデバイスのアドレスが異なる複数回の通知を行う。上位モジュールは、アドレスを調べることにより、それぞれのコールバックがどのネットワークデバイスに関する通知であるかを知ることができる。
【0055】
更に具体的な流れを説明する。MIBモジュール610は、上位モジュールからの要求により、オブジェクトキーからオブジェクト識別子への変換等の処理を行い、SNMPモジュール611に対してGet-requestコマンドの送出を要求する。
【0056】
SNMPモジュール611は、MIBモジュール610からのコマンドの送出の要求により、図7のPDU710をRAM503に生成し、共通トランスポートモジュール612へSNMPパケットを渡す。
【0057】
共通トランスポートモジュール612は、ネットワーク管理ソフトウェアの動作時にユーザが選択したプロトコルに従い、ヘッダの付加等の処理を行う。そして、ユーザが選択したプロトコルがTCP/IPプロトコルであればWinSockAPIモジュール617、NetWareプロトコルであればNetWareAPIモジュール616へパケットを渡す。
【0058】
以下は、ユーザが選択したプロトコルがTCP/IPプロトコルであるとして説明を行う。WinSock APIモジュール617は渡されたパケットをIPパケット化し、OSに対してネットワークへのパケットの送出を要求する。すると、OSはRAM503上にあるパケットをシステムバス504を介してNIC508へ書き込む。NIC508は、書き込まれたパケットをフレーム化してLAN100へ送出する。
【0059】
逆に、ネットワークデバイスからのパケットはNIC508で受信される。NIC508はパケットを受信したことを、割り込みをかけてOSに通知する。OSはNIC508からそのパケットをシステムバス504を介して読み出し、RAM503に格納する。OSは、ユーザが選択したプロトコル或いは受信したパケットから、そのパケットに係るプロトコルを判断し、TCP/IPプロトコルであればWinSock APIモジュール617へ、NetWareプロトコルであればNetWare APIモジュール616へパケットを渡す。
【0060】
以下、判断結果によるプロトコルがTCP/IPプロトコルである場合について説明する。WinSock APIモジュール617では、そのパケットの宛先アドレスを調べて、自アドレス宛てであるかを判断する。自アドレス宛てでなければそのパケットを破棄し、自アドレス宛てであればUPDハンドラ614を起動して、共通トランスポートモジュール612にパケットを渡す。
【0061】
共通トランスポートモジュール612は、トランスポートヘッダの除去等の処理を行い、SNMPモジュール611へSNMPパケットを渡す。SNMPモジュール611は、SNMPヘッダを除去して、MIBモジュール610へPDU710の中のMIB情報を渡す。MIBモジュール610は、MIB情報をMIBAPIで規定された形式に変換して、コールバック関数により上位モジュールへMIBオブジェクトの値を通知する。
【0062】
ネットワーク管理ソフトウェアのインストールに必要なファイルは、通常、フロッピーディスク(FD)やCD-ROMなどの物理媒体に記録されて配布されるか、或いはネットワークを経由して伝送される。ユーザは、これらの手段により、ネットワーク管理ソフトウェアのインストールに必要なファイルを入手した後、所定のインストールの手順に従ってインストールを開始する。
【0063】
ネットワーク管理ソフトウェアのインストール手順は、他の一般的なソフトウェアのインストール手順と同様である。すなわち、ユーザがネットワーク管理ソフトウェアのインストーラをパーソナルコンピュータ(PC)上で起動すると、インストーラが自動的にネットワーク管理ソフトウェアのインストールを実行する。また、インストーラは、ネットワーク管理ソフトウェアに必要なファイルをPCのハードディスクにコピーし、必要に応じて、ユーザに情報を入力してもらい、ネットワーク管理ソフトウェアに必要なファイルの修正または新規作成などを行う。
【0064】
次に、本従来例におけるネットワーク管理ソフトウェアにおける探索シーケンスについて説明する。図10は、従来のネットワーク管理ソフトウェアにおける探索シーケンスを示す図である。
【0065】
図10において、探索モジュール1030は、ネットワーク管理ソフトウェアの探索モジュールを示し、これは図6における604と同等である。この探索モジュール1030は、ネットワーク管理ソフトウェアの他のモジュールと同様に、図1におけるPC103上で図5のCPU501により実行される。
【0066】
デバイス1031はネットワークに接続されており、かつSNMPエージェントが動作しているデバイスであり、例えば図1におけるNB101を示す。同様に、デバイス1032はNB118を示す。
【0067】
上位モジュールから探索開始の指示が出されると、探索モジュール1030はブロードキャストアドレスを指定して、デバイスの状態とデバイスタイプを取得するためのSNMPパケットを送出する(1001)。なお、このパケットは、ブロードキャストアドレスが指定されているので、ネットワークに接続されている全てのネットワークデバイスに届けられる。
【0068】
一方、SNMPエージェントを実装しているネットワークデバイスは、このSNMPパケットに対して応答パケットを送出する(1002及び1003)。
【0069】
ネットワークデバイスからの応答パケットを受信した探索モジュールは、更に詳細な情報を取得すべく、それぞれのネットワークデバイスに対してSNMPパケットを送信する。より具体的には、図10において、1002の応答パケットに対しては1004のSNMPパケットの送信を行い、1003の応答パケットに対しては1006のSNMPパケットの送信を行う。このSNMPパケットの送信をデバイス別情報取得という。
【0070】
なお、1004や1006のSNMPパケットの送信でMIBオブジェクトの値を問い合わせる代わりに、1001のSNMPパケットの送信でその値を問い合わせない理由は次の通りである。すなわち、もし、多くのMIBオブジェクトを1つのパケットで一度に問い合わせると、ネットワークデバイスからの応答パケットがSNMPプロトコルで許されているパケットの最大長(484バイト)を超えてしまう可能性があるからである。このような場合、ネットワークデバイスからはSNMPプロトコルにおけるtooBigというエラーが返ってきてしまい、全く情報が取得できない。よって、複数のSNMPパケットに分けて、MIBオブジェクトの値を問い合わせる。
【0071】
特に、本従来例の場合、1004及び1006のSNMPパケットでは、ネットワークデバイスに装着されているオプション機器を問い合わせている。ここでもし、多くのオプション機器がネットワークデバイスに装着されていると、ネットワークデバイスからの応答パケットのパケット長が大きくなる可能性が高い。更に、その他のMIBオブジェクトの値も同時に問い合わせると、応答パケットのパケット長が最大長(484バイト)を超えてしまう可能性がますます高くなる。このため、オプション機器を問い合わせるパケットは、独立したパケットにしておいた方が無難である。
【0072】
SNMPパケットを受信したネットワークデバイスは、応答パケットを送信する。具体的には、1004のパケットの受信に対しては1005のパケットの送信を行い、1006のパケットの受信に対しては1007のパケットの送信を行う。
【0073】
次に、デバイス応答タイマー1021が満了した時点で、探索モジュール604は、それまでに得たネットワークデバイスの情報を上位モジュールに通知する(1021)。これを、探索結果通知と言う。
【0074】
また、探索間隔タイマー1022が満了した時点で、再度、ネットワークデバイスの探索を開始する。1008から1014の処理は、1001から1007の処理と同様であるため、説明を省略する。
【0075】
【発明が解決しようとする課題】
しかしながら、上記従来例では、1004と1011、1005と1012、1006と1013及び1007と1014が、それぞれ重複した通信であり、これによりネットワークトラフィックが輻輳するという問題点があった。
【0076】
更に、ネットワークデバイスに関する複数の情報のうち、時間と共に変化しうる情報と変化することがほとんどない情報がある場合は、時間と共に変化しうる情報だけを再問い合わせることで、ネットワークトラフィックの輻輳を解消することが重要である。
【0077】
つまり、本発明の目的は、探索シーケンスにおいて、真に必要なパケットのみを送受信することにより、ネットワークトラフィックの輻輳を解消することにある。
【0078】
【課題を解決するための手段】
ネットワークを介して通信可能なデバイスを探索する第1の探索ステップと、第1の探索ステップで探索されるデバイスから、該デバイスに関する動的に変化する第1のデバイス属性の値および該デバイスに関する静的な第2のデバイス属性の値を取得する第1の取得ステップと、前記第1の取得ステップで取得した第1のデバイス属性の値および第2のデバイス属性の値を記憶手段に記憶する記憶ステップと、ネットワークを介して通信可能なデバイスを探索する第2の探索ステップと、前記第一の取得ステップで情報取得され、かつ、前記第2の探索ステップで探索されるデバイスから、動的に変化する第1のデバイス属性の値を取得し、当該デバイスの静的な第2のデバイス属性の値を前記記憶手段から取得する第2の取得ステップとを有することを特徴とする。
【0079】
また、別の側面として、前記第2の探索ステップでは、デバイスを探索するために、前記第1のデバイス属性の値の要求を送信し、前記第2の取得ステップでは、前記要求に対応する応答に含まれる前記第1のデバイス属性の値を受信することを特徴とする。
【0080】
また、別の側面として、前記第1のデバイス属性の値は、時間と共に変化しうる情報であることを特徴とする。
【0081】
また、別の側面として、前記第一および第二の探索ステップによる探索で検出されたデバイスに関する複数のデバイス属性の値を表示手段に表示する表示ステップを含むことを特徴とする。
【0082】
また、別の側面として、前記第1のデバイス属性、および、第2のデバイス属性は、シンプルネットワークマネジメントプロトコルのマネジメントインフォーメーションベースにてそれぞれ定義される所定の属性に対応するものであることを特徴とする。
また、別の側面として、前記動的に変化する値を有する第1のデバイス属性の値とは、デバイスとの通信ポート情報、又は、前記デバイスの設置場所を示す属性の値デバイスの状態を示す属性の値の少なくともひとつを含み、前記静的な値を有する第2のデバイス属性の値とは、前記デバイスの機器構成を示す属性の値であることを特徴とする。また、装置、媒体等の発明も開示される。
【0083】
【発明の実施の形態】
以下、添付図面を用いて、本発明に係る実施の形態を詳細に説明する。
【0084】
〔第1の実施の形態〕
図11は、本発明におけるネットワーク管理ソフトウェアとネットワーク上のネットワークデバイスが通信する様子を示したシーケンス図である。特に、図11では、探索モジュール1130がネットワーク上に存在するネットワークデバイスを探索する様子を示している。なお、図11における1020、1021、1022、1031及び1032は、図10における同一番号のものと同様である。
【0085】
探索モジュール1130は、本発明におけるネットワーク管理ソフトウェアの探索モジュールを示し、これは図6における604と同等である。この探索モジュールは、本発明におけるネットワーク管理ソフトウェアの他のモジュールと同様に、図1におけるPC103上で図5のCPU'501により実行される。
【0086】
1101から1110は、探索モジュール1130とネットワークデバイス1031、1032との間での通信を示している。これらの通信の内容については、後述のフローチャートの説明で一緒に詳述する。
【0087】
図12は、探索モジュール1130が、検出したネットワークデバイスの情報を記憶するために使用する検出デバイステーブル及び前回検出デバイステーブルと呼ばれるデータ構造を示す図である。このデータ構造は、図5のRAM503に保持される。
【0088】
検出デバイステーブル1220には、検出したネットワークデバイスの情報が登録される。ネットワークデバイスが一つ検出される度に、検出デバイステーブルに行が一行追加される。
【0089】
以下、検出デバイステーブルに登録される情報について説明する。ネットワークアドレスの列1201には、検出したネットワークデバイスのネットワークアドレスが登録される。ポートの列1202には、MIBモジュール610が提供するMIBOpen関数901によって返されるポート値が登録される。
【0090】
デバイスタイプの列1203には、ネットワークデバイスの種別が登録される。デバイス状態の列1204には、ネットワークデバイスが現在どのような状態にあるかが登録される。装備情報の列1205には、ネットワークデバイスに装着されているオプション機器が登録される。
【0091】
具体的に図12では、検出デバイステーブル1220(図12(a))には、二つのネットワークデバイスが登録されている。一つ目は、ネットワークアドレスが199.1.16.130のネットワークデバイスである。このネットワークデバイスと通信するためのポート値は0x12FEである。このネットワークデバイスはデバイスタイプがLBPであり、オプション機器として2000枚デッキが装着されている。また、デバイス状態は使用可能(Ready)である。
【0092】
二つ目は、ネットワークアドレスが192.1.16.150のネットワークデバイスである。このネットワークデバイスと通信するためのポート値は0x2501である。このネットワークデバイスは、デバイスタイプが複写機(Copier)であり、オプション機器としてソータ(Sorter)が装着されている。なお、現在、紙詰まり(Jam)が発生していることがデバイス状態から分かる。
【0093】
上記情報のうち、時間の経過と共に動的に変化しうる情報は、ポート1202やデバイス状態1204である。ポート値は、探索モジュール604がMibOpen関数901を呼び出す度に一意な値が割り当てられる。また、デバイス状態は、ネットワークデバイスの現在の状態を示しており、ネットワークデバイスの状態の変化と共に変化するものである。なお、この2つの情報は、ネットワークデバイスを探索するための1101の通信で問い合わせられ、1102や1103の通信でその値がネットワークデバイスから返される。
【0094】
前回検出デバイステーブル1230(図12(b))は、前回の探索で検出されたネットワークデバイスの情報を保持しておくためのものである。前回検出デバイステーブル1230は、検出デバイステーブル1220と同様なデータ構造をしているため、説明を省略する。
【0095】
なお、これらのテーブルの使用方法については、後述のフローチャートの説明において詳述する。
【0096】
図13は、PC103上で実行されるネットワーク管理ソフトウェア全体の動作を示すフローチャートである。プログラムが起動されると、まず、ステップS1301において、ネットワークデバイスの探索を開始するための処理を行う。次に、ステップS1302において、発生したイベントがSNMPパケット(応答パケット)の受信であるか、デバイス応答タイマーの満了であるか、探索間隔タイマーの満了であるか、或いはそれ以外のイベントであるか(全くイベントが生じていないことも含む)を判定する。
【0097】
発生したイベントに応じて、それぞれ適切なステップ(S1303からS1306)に移動する。それぞれのステップで処理が終了したら、ステップS1302に戻る。
【0098】
図14は、探索モジュール604が探索を開始する際の動作を示すフローチャートである。この処理は、図13におけるステップS1301の処理に相当する。まず、ステップS1401において、前回検出デバイステーブルの内容をすべて消去し、テーブルを初期化する。次に、ステップS1402において、検出デバイステーブルの内容を全て消去して、テーブルを初期化する。
【0099】
次に、ステップS1403に進み、図6のMIBモジュール610が提供するMibOpen関数901を呼び出して、一次探索用のポートをブロードキャストアドレスでオープンし、そのポート値を図1のRAM503に記憶する。なお、この一次探索用のポートを一次探索ポートと言う。
【0100】
次に、ステップS1404において、ステップS1403で取得したポート値を引数にしてMibReadObject関数902を呼び出す。この際、MIBオブジェクトとしてデバイスタイプとデバイス状態に関する二つのMIBオブジェクトキーを指定する。これにより、図11の1101の通信が行われる。
【0101】
1101の通信は宛先アドレスがブロードキャストアドレスであるため、図1のLAN100に接続されている全てのネットワークデバイスに送信される。当然、101や118、即ち、図11の1031や1032にも送信される。
【0102】
次に、ステップS1405において、デバイス応答タイマーT1を起動する。更に、ステップS1406において、探索間隔タイマーT2を起動する。
【0103】
図15は、SNMPパケットを受信した場合の動作を示すフローチャートである。この処理は、図13におけるステップS1303の処理に相当する。この動作は、図11の1102、1103、1105、1107、1109及び1110の通信において、SNMPパケットが受信された際に行われる。
【0104】
SNMPパケットを受信した場合には、まず、ステップS1501において、一次探索ポートに対する応答パケットであるかどうかを判断する。この判断では、SNMPパケットが受信された際に呼び出される探索モジュールのコールバック関数における第二引数のポート値が、図14のステップS1403で記憶したポート値と一致するかを判定する。もし一致する場合には、一次探索ポートに対する通信であるとして、ステップS1502に進む。一致しない場合には、ステップS1509に進む。なお、図11において、1102、1103、1109及び1110が一次探索ポートへの通信である。
【0105】
次に、ステップS1502においては、正常な応答であるかどうかを判断する。正常な応答とは、図7において説明したように、SNMPパケットのエラーステータス713が0であることである。ステップS1502において、正常な応答であると判断した場合には、ステップS1503に進む。正常な応答でないと判断した場合には、ステップS1508に進む。なお、ステップS1509においても、ステップS1502と同様な判断を行う。
【0106】
ステップS1503においては、受信内容を検出デバイステーブル1220に登録する。図14のステップS1403において、MIBオブジェクトとしてデバイスタイプとデバイス状態の二つを指定していたので、受信内容には、これら二つのMIBオブジェクトの値が含まれている。よって、これら二つの値と、コールバック関数の第一引数にあるネットワークアドレスを検出デバイステーブル1220に登録する。
【0107】
次に、ステップS1504において、コールバック関数の第一引数にあるネットワークアドレスが前回検出デバイステーブル1230のネットワークアドレスの列1211に登録されているかどうかを判断する。もし登録されていなければステップS1505に進み、登録されていればステップS1507に進む。
【0108】
ステップS1505においては、更に、ネットワークデバイスごとに個別に通信を行うべく、ポートをオープンする。本実施の形態では、このポートを二次探索ポートと呼ぶ。より具体的には、ステップS1503で検出したネットワークデバイスのネットワークアドレスを引数にしてMIBOpen関数を呼び出し、返されたポート値を検出デバイステーブル1220のポート値の列1202の対応する欄に登録する。
【0109】
次に、ステップS1506において、ネットワークデバイスに装着されているオプション機器の情報を取得すべく、MIBReadObjects関数902を呼び出す。ここで、取得するMIBオブジェクトの値は、ステップS1503で取得したデバイスタイプに応じて異なる。より具体的には、例えばデバイスタイプが複写機である場合には、入力カセットや出力カセット、ソーターなどに関するMIBオブジェクトの値を問い合わせる。デバイスタイプが小型LBPである場合には、出力カセットやソーターが装着されていないことが分かっているので、入力カセットに関するMIBオブジェクトの値を問い合わせる。この問い合わせにより、図11の1104や1106の通信が行われることになる。
【0110】
ステップS1504において、前回検出デバイステーブル1230に登録されていると判断された場合には、ステップS1507に進む。ステップS1507では、まず、前回検出デバイステーブル1230のネットワークアドレスの列をコールバック関数の第一引数にあるネットワークアドレスで検索する。そして、一致する行の装備情報欄の内容を、検出デバイステーブル1220における同じネットワークアドレスを持つ行の装備情報欄に代入する。
【0111】
ネットワークデバイスにどのようなオプション機器が装着されているを示す装備情報はネットワークデバイスの電源が入っている間は変化しないため、前回の探索で得た情報をそのまま用いても問題ない。このように、前回の探索で得た情報を利用することにより、再度ネットワークデバイスに装着情報を問い合わせる必要がなく、ネットワークトラフィックを減らすことができる。
【0112】
ステップS1502において、正常な応答でないと判断した場合、ステップS1508に進む。ステップS1508においては、その応答パケットからは有効な情報を得ることができないため、その応答パケットをそのまま破棄する。
【0113】
また、ステップS1501において、受信したSNMPパケットが一次探索ポートへの応答パケットでないと判断した場合には、ステップS1509に進む。これは、図11における1105や1107の通信の場合である。更に、ステップS1509において、受信した応答パケットが正常な応答であるかどうかを判断する。受信した応答パケットが正常な応答でないと判断された場合には、ステップS1511に進む。ステップS1511においては、その応答パケットからは有効な情報が得られないので、そのパケットをそのまま破棄する。
【0114】
一方、ステップS1509において、受信した応答パケットが正常な応答であると判断した場合には、S1510に進む。S1510においては、受信内容を検出デバイステーブル1220に登録する。より具体的には、ステップS1506において、ネットワークデバイスに装着されているオプション機器の情報を取得すべく、デバイスタイプに応じてMIBオブジェクトの値を問い合わせているので、その値に応じてオプション機器の情報を検出デバイステーブル1220の装備情報欄1205に登録する。
【0115】
図16は、デバイス応答タイマーT1が満了した際の処理を示すフローチャートである。タイマーサービスはOS(オペレーションシステム)によって提供され、指定したタイマー時間が経過すると、OSが本手順を呼び出す。
【0116】
図16に示した手順は、図13におけるステップS1304の処理に相当する。デバイス応答タイマーT1満了処理においては、まず、ステップS1601において一次探索ポートをクローズする。より具体的には、ステップS1403において、MIBOpen関数を用いてオープンしたポートのポート値を図5のRAM503に記憶させている。よって、そのポート値を引数にしてMIBClose関数を呼び出す。同時にRAM503に記憶しておいたポート値をNULL値でクリアする。
【0117】
次に、ステップS1602において、全ての二次探索ポートをクローズする。より具体的には、検出デバイステーブル1220のポート値の列1202を上から下へ順に走査し、それぞれのポート値を引数にしてMIBClose関数を呼び出す。同時に、ポートがクローズされたことを示すために、検出デバイステーブル1220のポート値の列の各欄をNULL値でクリアする。
【0118】
最後に、ステップS1603において、検出デバイステーブル1220に格納されている情報を上位モジュールに通知する。より具体的には、検出デバイステーブル1220に登録されているネットワークデバイスの数、すなわち検出デバイステーブル1220の行数と、検出デバイステーブル1220のRAM503における先頭アドレスを上位モジュールに通知する。上位モジュールは、この通知された情報を基に、検出されたネットワークデバイスの一覧を図5のディスプレイ510に表示する。
【0119】
図17は、探索間隔タイマーT2が満了した際の処理を示すフローチャートである。タイマーサービスはOS(オペレーションシステム)によって提供され、指定したタイマー時間が経過するとOSが本手順を呼び出す。
【0120】
図17に示した手順は、図13におけるステップS1305の処理に相当する。探索間隔タイマーT2満了処理においては、まず、ステップS1701において、直前に行われた探索の結果を次回の探索に生かすために、検出デバイステーブル1220の情報を前回検出デバイステーブル1230にコピーする。
【0121】
なお、ステップS1702からステップS1706までの動作は、図14におけるステップS1402からステップS1406までの動作と同様であるため説明を省略する。
【0122】
〔第2の実施の形態〕
図19は、本発明におけるネットワーク管理ソフトウェアとネットワーク上のネットワークデバイスが通信する様子を示したシーケンス図である。特に、図19では、探索モジュール1930がネットワーク上に存在するネットワークデバイスを探索する様子を示している。なお、図19における1020、1021、1022、1031及び1032は、図10における同一番号のものと同様である。
【0123】
また、探索モジュール1930は、本発明におけるネットワーク管理ソフトウェアの探索モジュールを示し、これは図6における604と同等である。この探索モジュール1930は、本発明におけるネットワーク管理ソフトウェアの他のモジュールと同様に、図1におけるPC103上で図5のCPU'501により実行される。
【0124】
1901から1918は、探索モジュール1930とネットワークデバイス1031、1032との間での通信を示している。これらの通信の内容については、後述のフローチャートの説明で一緒に詳述する。
【0125】
図20は、探索モジュール1930が、検出したネットワークデバイスの情報を記憶するために使用する検出デバイステーブル及び前回検出デバイステーブルと呼ばれるデータ構造を示す図である。このデータ構造は、図5のRAM503に保持される。
【0126】
検出デバイステーブル2020には、検出したネットワークデバイスの情報が登録される。ネットワークデバイスが一つ検出される度に、検出デバイステーブルに行が一行追加される。
【0127】
以下、検出デバイステーブルに登録される情報について説明する。ネットワークアドレスの列2001には、検出したネットワークデバイスのネットワークアドレスが登録される。ポートの列2002には、MIBモジュール610が提供するMIBOpen関数901によって返されるポート値が登録される。
【0128】
デバイスタイプの列2003には、ネットワークデバイスの種別が登録される。デバイス状態の列2004には、ネットワークデバイスが現在どのような状態にあるかが登録される。装備情報の列2005には、ネットワークデバイスに装着されているオプション機器が登録される。設置場所の列2006にはネットワークデバイスが設置されている設置場所の情報が登録される。
【0129】
具体的に図20では、検出デバイステーブル2020(図20(a))には、二つのネットワークデバイスが登録されている。一つ目は、ネットワークアドレスが199.1.16.130のネットワークデバイスである。このネットワークデバイスと通信するためのポート値は0x12FEである。このネットワークデバイスはデバイスタイプがLBPであり、オプション機器として2000枚デッキが装着されている。また、デバイス状態は使用可能(Ready)である。そして、設置場所は第一出力室となっている。
【0130】
二つ目は、ネットワークアドレスが192.1.16.150のネットワークデバイスである。このネットワークデバイスと通信するためのポート値は0x2501である。このネットワークデバイスは、デバイスタイプが複写機(Copier)であり、オプション機器としてソータ(Sorter)が装着されている。なお、現在、紙詰まり(Jam)が発生していることがデバイス状態から分かる。また、設置場所は事務室となっている。
【0131】
上記情報のうち、時間の経過と共に動的に変化しうる情報は、ポート値やデバイス状態である。ポート値は、探索モジュール1930がMibOpen関数901を呼び出す度に一意な値が割り当てられる。また、デバイス状態は、ネットワークデバイスの現在の状態を示しており、ネットワークデバイスの状態の変化と共に変化するものである。
【0132】
前回検出デバイステーブル2030(図20(b))は、前回の探索で検出されたネットワークデバイスの情報を保持しておくためのものである。前回検出デバイステーブル2030は、検出デバイステーブル1220と同様なデータ構造をしているため、説明を省略する。
【0133】
なお、これらのテーブルの使用方法については、後述のフローチャートの説明において詳述する。
【0134】
図21は、PC103上で実行されるネットワーク管理ソフトウェア全体の動作を示すフローチャートである。プログラムが起動されると、まず、ステップS2101において、ネットワークデバイスの探索を開始するための処理を行う。次に、ステップS2102において、発生したイベントがSNMPパケット(応答パケット)の受信であるか、デバイス応答タイマーの満了であるか、探索間隔タイマーの満了であるか、或いはそれ以外のイベントであるか(全くイベントが生じていないことも含む)を判定する。
【0135】
発生したイベントに応じて、それぞれ適切なステップ(S2103からS2106)に移動する。それぞれのステップで処理が終了したら、ステップS2102に戻る。
【0136】
図22は、探索モジュール1930が探索を開始する際の動作を示すフローチャートである。この処理は、図21におけるステップS2101の処理に相当する。まず、ステップS2201において、前回検出デバイステーブルの内容をすべて消去し、テーブルを初期化する。次に、ステップS2202において、検出デバイステーブルの内容を全て消去して、テーブルを初期化する。
【0137】
次に、ステップS2203に進み、図6のMIBモジュール610が提供するMibOpen関数901を呼び出して、一次探索用のポートをブロードキャストアドレスでオープンし、そのポート値を図1のRAM503に記憶する。なお、この一次探索用のポートを一次探索ポートと言う。次に、ステップS2204において、ステップS2203で取得したポート値を引数にしてMIBReadObject関数902を呼び出す。この際、MIBオブジェクトとしてデバイスタイプとデバイス状態に関する二つのMIBオブジェクトキーを指定する。これにより、図19の1901の通信が行われる。1901の通信は宛先アドレスがブロードキャストアドレスであるため、図1のLAN100に接続されている全てのネットワークデバイスに送信される。当然、101や118、即ち、図11の1031や1032にも送信される。
【0138】
次に、ステップS2205において、デバイス応答タイマーT1を起動する。更に、ステップS2206において、探索間隔タイマーT2を起動する。
【0139】
図23は、SNMPパケットを受信した場合の動作を示すフローチャートである。この処理は、図21におけるステップS2103の処理に相当する。この動作は、図19の1902、1903、1906、1907、1910、1911、1913、1914、1916及び1918の通信において、SNMPパケットが受信された際に行われる。
【0140】
SNMPパケットを受信した場合には、まず、ステップS2301において、一次探索ポートに対する応答パケットであるかどうかを判断する。この判断では、SNMPパケットが受信された際に呼び出される探索モジュールのコールバック関数における第二引数のポート値が、図22のステップS2203で記憶したポート値と一致するかを判定する。もし一致する場合には、一次探索ポートに対する通信であるとして、ステップS2302に進む。一致しない場合には、ステップS2309に進む。なお、図19において、1902、1903、1913及び1914が一次探索ポートへの通信である。
【0141】
次に、ステップS2302においては、正常な応答であるかどうかを判断する。正常な応答とは、図7において説明したように、SNMPパケットのエラーステータス713が0であることである。ステップS2302において、正常な応答であると判断した場合には、ステップS2303に進む。正常な応答でないと判断した場合には、ステップS2308に進む。なお、ステップS2309においても、ステップS2302と同様な判断を行う。
【0142】
ステップS2303においては、受信内容を検出デバイステーブル2020に登録する。図22のステップS2203において、MIBオブジェクトとしてデバイスタイプとデバイス状態の二つを指定していたので、受信内容には、これら二つのMIBオブジェクトの値が含まれている。よって、これら二つの値と、コールバック関数の第一引数にあるネットワークアドレスを検出デバイステーブル2020に登録する。
【0143】
次に、ステップS2304において、コールバック関数の第一引数にあるネットワークアドレスが前回検出デバイステーブル2030のネットワークアドレスの列2011に登録されているかどうかを判断する。もし登録されていなければステップS2305に進み、登録されていればステップS2307に進む。
【0144】
ステップS2305においては、更に、ネットワークデバイスごとに個別に通信を行うべく、ポートをオープンする。本実施の形態では、このポートを二次探索ポートと呼ぶ。より具体的には、ステップS2303で検出したネットワークデバイスのネットワークアドレスを引数にしてMIBOpen関数を呼び出し、返されたポート値を検出デバイステーブル2020のポート値の列2002の対応する欄に登録する。
【0145】
次に、ステップS2306において、ネットワークデバイスに装着されているオプション機器の情報を取得すべく、MIBReadObjects関数902を呼び出す。ここで、取得するMIBオブジェクトの値は、ステップS2303で取得したデバイスタイプに応じて異なる。より具体的には、例えばデバイスタイプが複写機である場合には、入力カセットや出力カセット、ソーターなどに関するMIBオブジェクトの値を問い合わせる。デバイスタイプが小型LBPである場合には、出力カセットやソーターが装着されていないことが分かっているので、入力カセットに関するMIBオブジェクトの値を問い合わせる。この問い合わせにより、図19の1904や1908の通信が行われることになる。
【0146】
更に、ネットワークデバイスのより詳細な情報を取得するために、ネットワークデバイスが設置されている場所の情報を問い合わせる。この問い合わせにより、図19の1905や1909の通信が行われることになる。従って、ステップS2306では、同一ネットワークデバイスに対して2回、SNMPパケットが送信されることになる。
【0147】
ステップS2304において、前回検出デバイステーブル2030に登録されていると判断された場合には、ステップS2307に進む。ステップS2307では、まず、前回検出デバイステーブル2030のネットワークアドレスの列をコールバック関数の第一引数にあるネットワークアドレスで検索する。そして、一致する行の装備情報欄の内容を、検出デバイステーブル2020における同じネットワークアドレスを持つ行の装備情報欄にそれぞれ代入する。
【0148】
ネットワークデバイスにどのようなオプション機器が装着されているを示す装備情報はネットワークデバイスの電源が入っている間は変化しないため、前回の探索で得た情報をそのまま用いても問題ない。つまり、変化する可能性のある情報だけを改めて取得すればよい。
【0149】
したがって、ステップS2312では、変化する可能性がある情報のみを問い合わせる。具体的には、例えば設置場所の情報を問い合わせる。この問い合わせにより、図19の1915や1917の通信が行われることになる。このように、前回の探索で得た情報を利用することにより、再度ネットワークデバイスに装着情報を問い合わせる必要がなく、ネットワークトラフィックを減らすことができる。
【0150】
ステップS2302において、正常な応答でないと判断した場合、ステップS2308に進む。ステップS2308においては、その応答パケットからは有効な情報を得ることができないため、その応答パケットをそのまま破棄する。
【0151】
また、ステップS2301において、受信したSNMPパケットが一次探索ポートへの応答パケットでないと判断した場合には、ステップS2309に進む。これは、図19における1906、1907、1910、1911、1916、1918の通信の場合である。更に、ステップS2309において、受信した応答パケットが正常な応答であるかどうかを判断する。受信した応答パケットが正常な応答でないと判断された場合には、ステップS2311に進む。ステップS2311においては、その応答パケットからは有効な情報が得られないので、そのパケットをそのまま破棄する。
【0152】
一方、ステップS2309において、受信した応答パケットが正常な応答であると判断した場合には、S2310に進む。S2310においては、受信内容を検出デバイステーブル2020に登録する。より具体的には、本実施の形態では、ステップS2306においては、ネットワークデバイスに装着されているオプション機器の情報と設置場所の情報を取得すべく、MIBオブジェクトの値を問い合わせているので、その値に応じてオプション機器の情報と設置場所の情報を検出デバイステーブル2020の装備情報欄と設置場所欄に登録する。
【0153】
また、本実施の形態では、ステップS2312においては、ネットワークデバイスが設置されている設置場所の情報を取得すべく、設置場所に関するMIBオブジェクトの値を問い合わせているので、その値を検出デバイステーブル2020の設置場所欄に登録する。
【0154】
図24は、デバイス応答タイマーT1が満了した際の処理を示すフローチャートである。タイマーサービスはOS(オペレーションシステム)によって提供され、指定したタイマー時間が経過すると、OSが本手順を呼び出す。
【0155】
図24に示した手順は、図21におけるステップS2104の処理に相当する。デバイス応答タイマーT1満了処理においては、まず、ステップS2401において一次探索ポートをクローズする。より具体的には、ステップS2203において、MIBOpen関数を用いてオープンしたポートのポート値を図5のRAM503に記憶させているので、そのポート値を引数にしてMIBClose関数を呼び出す。同時にRAM503に記憶しておいたポート値をNULL値でクリアする。
【0156】
次に、ステップS2402において、全ての二次探索ポートをクローズする。より具体的には、検出デバイステーブル2020のポート値の列2002を上から下へ順に走査し、それぞれのポート値を引数にしてMIBClose関数を呼び出す。同時に、ポートがクローズされたことを示すために、検出デバイステーブル2020のポート値の列の各欄をNULL値でクリアする。
【0157】
最後に、ステップS2403において、検出デバイステーブル2020に格納されている情報を上位モジュールに通知する。より具体的には、検出デバイステーブル2020に登録されているネットワークデバイスの数、すなわち検出デバイステーブル2020の行数と、検出デバイステーブル1220のRAM503における先頭アドレスを上位モジュールに通知する。上位モジュールは、この通知された情報を基に、検出されたネットワークデバイスの一覧を図5のディスプレイ510に表示する。
【0158】
図25は、探索間隔タイマーT2が満了した際の処理を示すフローチャートである。タイマーサービスはOS(オペレーションシステム)によって提供され、指定したタイマー時間が経過するとOSが本手順を呼び出す。
【0159】
図25に示した手順は、図21におけるステップS2105の処理に相当する。探索間隔タイマーT2満了処理においては、まず、ステップS2501において、直前に行われた探索の結果を次回の探索に生かすために、検出デバイステーブル2020の情報を前回検出デバイステーブル2030にコピーする。
【0160】
なお、ステップS2502からステップS2506までの動作は、図22におけるステップS2202からステップS2206までの動作と同様であるため説明を省略する。
【0161】
〔第3の実施の形態〕
上記で説明した本発明に係るネットワーク管理ソフトウェアは、外部からインストールされるプログラムがPC500によって実行される形で実施されてもよい。その場合、CD-ROM、フラッシュメモリ、フロッピーディスクなどの記憶媒体を介して、或いは電子メール、パソコン通信などのネットワークを介して、そのプログラムを含む情報群を外部の記憶媒体からPC500のRAM503にロードすることにより、そのプログラムはPC500に供給される。この場合でも本発明は適用されるものである。
【0162】
図18は、記憶媒体の一例であるCD-ROMのメモリマップを示す図である。9999はディレクトリ情報を記憶してある領域で、以降のインストールプログラムを記憶してある領域9998及びネットワーク管理ソフトウェアを記憶してある9997の位置を記憶している。9998は、インストールプログラムを記憶してある領域である。9997は、ネットワーク管理ソフトウェアを記憶してある領域である。
【0163】
本発明のネットワーク管理ソフトウェアがPC500にインストールされる際には、まず、インストールプログラムがPC500のシステムにロードされ、CPU501によって実行される。次に、CPU501によって実行されるインストールプログラムが、ネットワーク管理ソフトウェアを記憶してある領域9997からネットワーク管理ソフトウェアを読み出してハードディスク511に格納する。
【0164】
なお、本発明は、複数の機器(例えば、ホストコンピュータ、インターフェイス機器、リーダなど)から構成されるシステム或いは統合装置に適用しても、ひとつの機器からなる装置に適用してもよい。
【0165】
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出して実行することによっても、本発明の目的が達成すされることは言うまでもない。
【0166】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0167】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0168】
また、コンピュータが読み出したプログラムコードを実行することによって、前述した実施の形態の機能が実現される他、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0169】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施の形態の機能が実現され得る。
【0170】
なお、本発明は、前述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体から、そのプログラムをパソコン通信など通信ラインを介して要求者にそのプログラムを配信する場合にも適用できることは言うまでもない。
【0171】
【発明の効果】
以上説明したように、本発明によれば、ネットワークデバイスの探索シーケンスにおいて、必要なパケットを送受信することにより、ネットワークトラフィックの輻輳を解消することが可能である。例えば、1回目の探索で既に情報が取得されているネットワークデバイスに関しては、2回目以降の探索においては、動的に変化し得る属性値をデバイスから取得し、静的な属性値については、1回目の探索で取得した情報を用いるので、2回目以降の探索において、ネットワークの通信量を大幅に削減できる。
【図面の簡単な説明】
【図1】プリンタをネットワークに接続するためのネットワークボードを、開放型アーキテクチャのプリンタへ装着した場合のネットワークを示す図である。
【図2】エージェントを実装したネットワークボードが、装着されたプリンタの断面図である。
【図3】ネットワークボードとプリンタとLANとの電気的接続を示すブロック図である。
【図4】 MIBの構造を示す概念図である。
【図5】ネットワーク管理ソフトウェアを実行可能なPCの構成を示すブロック図である。
【図6】ネットワーク管理ソフトウェアのモジュール構成を示す図である。
【図7】 SNMPプロトコルを用いる場合のパケットのフォーマットを示す図である。
【図8】マネージャとエージェント間でのSNMPコマンドの送受信を示す図である。
【図9】 MIBモジュールが提供する関数を示す図である。
【図10】従来例における探索モジュールとネットワークデバイス間の通信シーケンスを示す図である。
【図11】本発明の第1の実施の形態における探索モジュールとネットワークデバイス間の通信シーケンスを示す図である。
【図12】第1の実施の形態における検出デバイステーブル(a)と前回検出デバイステーブル(b)を示す図である。
【図13】第1の実施の形態におけるネットワーク管理ソフトウェア全体の動作を示すフローチャートである。
【図14】第1の実施の形態における探索モジュールがネットワークデバイスの探索を開始する際の動作を示すフローチャートである。
【図15】第1の実施の形態におけるSNMPパケット受信した際の処理を示すフローチャートである。
【図16】第1の実施の形態におけるデバイス応答タイマーが満了した際の処理を示すフローチャートである。
【図17】第1の実施の形態における探索間隔タイマーが満了した際の処理を示すフローチャートである。
【図18】本発明のネットワーク管理ソフトウェアを記憶した記憶媒体におけるメモリマップを示す図である。
【図19】本発明の第2の実施の形態における探索モジュールとネットワークデバイス間の通信シーケンスを示す図である。
【図20】第2の実施の形態における検出デバイステーブル(a)と前回検出デバイステーブル(b)を示す図である。
【図21】第2の実施の形態におけるネットワーク管理ソフトウェア全体の動作を示すフローチャートである。
【図22】第2の実施の形態における探索モジュールがネットワークデバイスの探索を開始する際の動作を示すフローチャートである。
【図23】第2の実施の形態におけるSNMPパケット受信した際の処理を示すフローチャートである。
【図24】第2の実施の形態におけるデバイス応答タイマーが満了した際の処理を示すフローチャートである。
【図25】第2の実施の形態における探索間隔タイマーが満了した際の処理を示すフローチャートである。
【符号の説明】
100、110、120 LAN
101 ネットワークボード
102、105、109a、109b、116、117 プリンタ
104、111、112、121、122 PC
106、113 ファイルサーバ
107、114 ネットワークディスク
108、115 プリントサーバ
130 モデム/トランスポンダ
140 バックボーン
150 プリンタインターフェイスカード
151 マイクロプロセッサ
160 プリンタエンジン
200 共有メモリ
301 MPU
302 RAM
303 ROM
500 PC
501 CPU
502 ROM
503 RAM
504 システムバス
505 キーボードコントローラ
506 CRTコントローラ
507 ディスクコントローラ
508 ネットワークインタフェースカード
509 キーボード
510 CRT
511 ハードディスク
512 フロッピーディスク
601 デバイスリストモジュール
602 全体制御モジュール
603 コンフィグレータ
604 探索モジュール
605 NetWareジョブモジュール
606 UI Aモジュール
607 UI Bモジュール
608 制御Aモジュール
609 制御Bモジュール
610 MIBモジュール
611 SNMPモジュール
612 共通トランスポートモジュール
613 IPX ハンドラ
614 UDP ハンドラ
616 NetWare API
617 WinSock API
901 MIBOpen関数
902 MIBReadObjects関数
903 MIBWriteObjects関数
904 MIBClose関数
905 コールバック関数
1030、1130、1930 探索モジュール
1031 デバイス1
1032 デバイス2
1220、2020 検出デバイステーブル
1230、2030 前回検出デバイステーブル

Claims (13)

  1. ネットワークを介して通信可能なデバイスを探索する第1の探索ステップと、
    第1の探索ステップで探索されるデバイスから、該デバイスに関する動的に変化する第1のデバイス属性の値および該デバイスに関する静的な第2のデバイス属性の値を取得する第1の取得ステップと、
    前記第1の取得ステップで取得した第1のデバイス属性の値および第2のデバイス属性の値を記憶手段に記憶する記憶ステップと、
    ネットワークを介して通信可能なデバイスを探索する第2の探索ステップと、前記第一の取得ステップで情報取得され、かつ、前記第2の探索ステップで探索されるデバイスから、動的に変化する第1のデバイス属性の値を取得し、当該デバイスの静的な第2のデバイス属性の値を前記記憶手段から取得する第2の取得ステップとを有することを特徴とする情報取得方法。
  2. 前記第2の探索ステップでは、デバイスを探索するために、前記第1のデバイス属性の値の要求を送信し、前記第2の取得ステップでは、前記要求に対応する応答に含まれる前記第1のデバイス属性の値を受信することを特徴とする請求項1に記載の情報取得方法。
  3. 前記第1のデバイス属性の値は、時間と共に変化しうる情報であることを特徴とする請求項1或いは2に記載の情報取得方法。
  4. 前記第一および第二の探索ステップによる探索で検出されたデバイスに関する複数のデバイス属性の値を表示手段に表示する表示ステップを含むことを特徴とする請求項1乃至3のいずれか1項に記載の情報取得方法。
  5. 前記第1のデバイス属性、および、第2のデバイス属性は、シンプルネットワークマネジメントプロトコルのマネジメントインフォーメーションベースにてそれぞれ定義される所定の属性に対応するものであることを特徴とする請求項1乃至4のいずれか1項に記載の情報取得方法。
  6. 前記動的に変化する第1のデバイス属性の値とは、デバイスとの通信ポート情報、又は、前記デバイスの設置場所を示す属性の値デバイスの状態を示す属性の値の少なくともひとつを含み、前記静的な第2のデバイス属性の値とは、前記デバイスの機器構成を示す属性の値であることを特徴とする請求項1乃至5のいずれか1項に記載の情報取得方法。
  7. ネットワークを介して通信可能なデバイスを探索する第1の探索手段と、
    第1の探索手段が探索するデバイスから、該デバイスに関する動的に変化する値を有する第1のデバイス属性の値および該デバイスに関する静的な第2のデバイス属性の値を取得する第1の取得手段と、
    前記第1の取得手段で取得した第1のデバイス属性の値および第2のデバイス属性の値を記憶手段に記憶する記憶手段と、ネットワークを介して通信可能なデバイスを探索する第2の探索手段と、
    前記第一の取得手段で情報取得されたデバイスであって、かつ、前記第2の探索手段により探索されるデバイスから、動的に変化する第1のデバイス属性の値を前記第1の取得手段で情報取得したデバイスから取得し、当該デバイスの静的な第2のデバイス属性の値を前記記憶手段から取得する第2の取得手段とを有することを特徴とする情報取得装置。
  8. 前記第2の探索手段では、デバイスを探索するために、前記第1のデバイス属性の値の要求を送信し、前記第2の取得手段は、前記要求に対応する応答に含まれる前記第1のデバイス属性の値を受信することを特徴とする請求項7に記載の情報取得装置。
  9. 前記第1のデバイス属性の値は、時間と共に変化しうる情報であることを特徴とする請求項7或いは8に記載の情報取得装置。
  10. 前記第一および第二の探索手段による探索で検出されたデバイスに関する複数のデバイス属性の値を表示手段に表示する表示手段を含むことを特徴とする請求項7乃至9のいずれか1項に記載の情報取得装置。
  11. 前記第1のデバイス属性、および、第2のデバイス属性は、シンプルネットワークマネジメントプロトコルのマネジメントインフォーメーションベースにてそれぞれ定義される所定の属性に対応するものであることを特徴とする請求項7乃至10のいずれか1項に記載の情報取得装置。
  12. 前記動的に変化する第1のデバイス属性の値とは、デバイスとの通信ポート情報、又は、前記デバイスの設置場所を示す属性の値デバイスの状態を示す属性の値の少なくともひとつを含み、前記静的な第2のデバイス属性の値とは、前記デバイスの機器構成を示す属性の値であることを特徴とする請求項7乃至11のいずれか1項に記載の情報取得装置。
  13. 請求項1乃至6のいずれか1項に記載した情報取得方法をコンピュータに実行させることを特徴とする制御プログラムを記憶したコンピュータ読み取り可能な記憶媒体。
JP01549199A 1998-03-12 1999-01-25 ネットワークデバイス管理装置、ネットワークデバイス管理方法及び記録媒体 Expired - Fee Related JP3782600B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP01549199A JP3782600B2 (ja) 1998-03-12 1999-01-25 ネットワークデバイス管理装置、ネットワークデバイス管理方法及び記録媒体
US09/264,874 US6574662B2 (en) 1998-03-12 1999-03-09 System for network-device management including collecting and storing of device attributes that change with time and device attributes that hardly change with time

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP6165998 1998-03-12
JP10-87646 1998-03-31
JP8764698 1998-03-31
JP10-61659 1998-03-31
JP01549199A JP3782600B2 (ja) 1998-03-12 1999-01-25 ネットワークデバイス管理装置、ネットワークデバイス管理方法及び記録媒体

Publications (2)

Publication Number Publication Date
JPH11346216A JPH11346216A (ja) 1999-12-14
JP3782600B2 true JP3782600B2 (ja) 2006-06-07

Family

ID=27281031

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01549199A Expired - Fee Related JP3782600B2 (ja) 1998-03-12 1999-01-25 ネットワークデバイス管理装置、ネットワークデバイス管理方法及び記録媒体

Country Status (2)

Country Link
US (1) US6574662B2 (ja)
JP (1) JP3782600B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240036885A1 (en) * 2022-07-29 2024-02-01 Brother Kogyo Kabushiki Kaisha Communication device, non-transitory computer-readable recording medium storing computer-readable instructions for communication device, and method performed by communication device

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6864991B1 (en) * 1999-02-09 2005-03-08 Canon Kabushiki Kaisha Information processing apparatus for displaying data related to image forming apparatus, and information processing method therefor
US7085763B2 (en) * 1999-04-27 2006-08-01 Canon Kabushiki Kaisha Device search system
JP3740320B2 (ja) * 1999-05-31 2006-02-01 キヤノン株式会社 デバイス検索システム及びデバイス検索方法
US7216157B1 (en) * 1999-06-10 2007-05-08 Verizonbusinessgloballlc Method and system for discovering managed devices in a data network
US7293067B1 (en) 1999-07-16 2007-11-06 Canon Kabushiki Kaisha System for searching device on network
US20030200301A1 (en) * 1999-11-10 2003-10-23 Trzcinko Alan P. Web-based network management system
US7698396B2 (en) * 2000-01-31 2010-04-13 Hitachi Software Engineering Co., Ltd. Method of automatically recognizing network configuration including intelligent packet relay equipment, method of displaying network configuration chart, and system thereof
JP3696023B2 (ja) * 2000-01-31 2005-09-14 日立ソフトウエアエンジニアリング株式会社 インテリジェントなネットワーク中継装置を有するネットワーク構成の自動認識方法及びシステム
US6842781B1 (en) * 2000-03-09 2005-01-11 Nortel Networks Limited Download and processing of a network management application on a network device
US6904459B1 (en) * 2000-03-14 2005-06-07 Microsoft Corporation Methods and systems for preventing socket flooding during denial of service attacks
US7069313B2 (en) * 2000-03-14 2006-06-27 Microsoft Corporation Methods and systems for preventing socket flooding during denial of service attacks
US6799207B1 (en) 2000-04-10 2004-09-28 International Business Machines Corporation Method and system for downloading software managed trees in a network processing system
US6981027B1 (en) 2000-04-10 2005-12-27 International Business Machines Corporation Method and system for memory management in a network processing system
US7051095B1 (en) 2000-08-30 2006-05-23 Hewlett-Packard Development Company, L.P. Locating device resources on a global scale
US7194526B2 (en) * 2000-09-22 2007-03-20 Kyocera Corporation Network device management method, and network devices
JP3819231B2 (ja) * 2000-11-14 2006-09-06 株式会社日立コミュニケーションテクノロジー ネットワーク管理方法およびネットワーク管理システム
JP3497834B2 (ja) * 2001-03-30 2004-02-16 株式会社東芝 ルートリピータ、usb通信システム、usb通信制御方法
US20030005105A1 (en) * 2001-05-30 2003-01-02 Anne Robb Method and apparatus for a common management software systems
US20030051019A1 (en) * 2001-09-07 2003-03-13 Tom Oswald Repository system and method for controlling an embedded device
JP4518719B2 (ja) 2001-12-10 2010-08-04 ソニー株式会社 データ処理システム、情報処理装置、および方法、並びにコンピュータ・プログラム
US7505498B2 (en) 2002-01-08 2009-03-17 Jorge Sanchez Apparatus and method for measurement for dynamic laser signals
US7392302B2 (en) * 2002-02-21 2008-06-24 Bea Systems, Inc. Systems and methods for automated service migration
US7366799B2 (en) * 2002-03-06 2008-04-29 Pharos Systems International, Inc. Document processing system including multi-device compatible interface and related methods
GB0207969D0 (en) * 2002-04-08 2002-05-15 Ibm Data processing arrangement and method
US6988134B2 (en) * 2002-04-18 2006-01-17 Bdna Corporation Apparatus and method to automatically collect data regarding assets of a business entity
US7089306B2 (en) 2002-04-18 2006-08-08 Bdna Corporation Apparatus and method to automatically collect data regarding assets of a business entity
FR2846821B1 (fr) * 2002-11-04 2005-03-11 Cit Alcatel Dispositif et procede de controle de donnees de gestion d'equipements de reseau, pour un systeme de gestion de reseau de communications
AU2003292501A1 (en) * 2002-12-19 2004-07-14 Red Plain Technology Limited A distributed object processing system and method
US7634559B2 (en) * 2003-09-11 2009-12-15 Standard Chartered (Ct) Plc System and method for analyzing network software application changes
US20060129415A1 (en) 2004-12-13 2006-06-15 Rohit Thukral System for linking financial asset records with networked assets
US7644147B1 (en) * 2005-03-25 2010-01-05 Marvell International Ltd. Remote network device management
KR100636235B1 (ko) * 2005-05-24 2006-10-19 삼성전자주식회사 단순망 관리 프로토콜의 설정 이력 관리 시스템 및 방법
KR100747466B1 (ko) 2005-10-01 2007-08-09 엘지전자 주식회사 추가 속성을 가지는 노드를 이용하는 장치 관리 방법 및장치 관리 클라이언트
KR100747467B1 (ko) * 2005-10-01 2007-08-09 엘지전자 주식회사 로그 관리 객체를 이용한 장치관리 시스템 및 해당시스템에서의 로깅 데이터 생성 및 제어 방법
JP5048254B2 (ja) * 2006-03-01 2012-10-17 株式会社リコー 通信装置及び機器遠隔管理システム
US8527554B2 (en) * 2007-12-14 2013-09-03 Microsoft Corporation Metadata retrieval for multi-function devices
JP4748174B2 (ja) * 2008-03-25 2011-08-17 ブラザー工業株式会社 ネットワーク内デバイスの管理装置およびネットワーク内デバイス管理プログラム
JP5219596B2 (ja) * 2008-04-10 2013-06-26 キヤノン株式会社 ワークフロー管理装置、ワークフロー管理方法、及びコンピュータプログラム
US20100232400A1 (en) * 2009-03-11 2010-09-16 Sony Corporation Virtualizing single radio for multiple wireless interfaces in home mesh network
US8861445B2 (en) * 2009-03-11 2014-10-14 Sony Cororation Multi-channel single radio communication in home mesh network
US8223786B2 (en) * 2009-03-11 2012-07-17 Sony Corporation Quality of service scheduling for home mesh network
US8761174B2 (en) * 2009-03-11 2014-06-24 Sony Corporation Quality of service traffic recognition and packet classification home mesh network
US8780762B2 (en) * 2009-03-11 2014-07-15 Sony Corporation Node query in ad hoc home mesh network
US8194593B2 (en) * 2009-03-11 2012-06-05 Sony Corporation Quality of service architecture for home mesh network
WO2011021886A2 (en) 2009-08-21 2011-02-24 Samsung Electronics Co., Ltd. Device capable of notifying operation state change thereof through network and communication method of the device
US8799437B1 (en) 2010-01-15 2014-08-05 Juniper Networks, Inc. Dynamic optimization of device management command for bulk retrieval of configuration data
US8549119B1 (en) * 2010-04-06 2013-10-01 Juniper Networks, Inc. Error handling for device management configuration and operational data retrieval commands
KR101698485B1 (ko) * 2010-04-13 2017-01-20 삼성전자 주식회사 네트워크를 통해 작동 상태 변경 알림이 가능한 디바이스 및 그 통신 방법
US9413615B1 (en) 2012-03-02 2016-08-09 Juniper Networks, Inc. Trap filtering within a device management protocol
US10382252B2 (en) 2012-06-26 2019-08-13 Juniper Networks, Inc. Filtering within device management protocol queries
JP6107026B2 (ja) * 2012-09-27 2017-04-05 ブラザー工業株式会社 情報表示装置、情報提供装置、情報表示プログラム、情報提供プログラム、及び、通信システム
US9525589B2 (en) * 2012-12-17 2016-12-20 Cisco Technology, Inc. Proactive M2M framework using device-level vCard for inventory, identity, and network management
US9893971B1 (en) 2012-12-31 2018-02-13 Juniper Networks, Inc. Variable timeouts for network device management queries
JP6366247B2 (ja) * 2013-10-08 2018-08-01 キヤノン株式会社 管理サーバシステム、およびその制御方法
US10638301B2 (en) 2017-04-10 2020-04-28 Bdna Corporation Classification of objects
US10313200B2 (en) 2017-09-15 2019-06-04 Bdna Corporation Unix file and process mapping

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3483364B2 (ja) * 1995-09-07 2004-01-06 Kddi株式会社 Snmp/osi管理ゲートウェイ装置
US6219703B1 (en) * 1996-10-31 2001-04-17 Motorola, Inc. Method and apparatus for constructing a device management information base in a network management station
US6182225B1 (en) * 1997-02-03 2001-01-30 Canon Kabushiki Kaisha Network data base control device and method thereof
US6122639A (en) * 1997-12-23 2000-09-19 Cisco Technology, Inc. Network device information collection and change detection

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240036885A1 (en) * 2022-07-29 2024-02-01 Brother Kogyo Kabushiki Kaisha Communication device, non-transitory computer-readable recording medium storing computer-readable instructions for communication device, and method performed by communication device
US11972270B2 (en) * 2022-07-29 2024-04-30 Brother Kogyo Kabushiki Kaisha Communication device, non-transitory computer-readable recording medium storing computer-readable instructions for communication device, and method performed by communication device

Also Published As

Publication number Publication date
US20030041134A1 (en) 2003-02-27
US6574662B2 (en) 2003-06-03
JPH11346216A (ja) 1999-12-14

Similar Documents

Publication Publication Date Title
JP3782600B2 (ja) ネットワークデバイス管理装置、ネットワークデバイス管理方法及び記録媒体
JP3684108B2 (ja) ネットワークデバイス管理装置及び方法
US6430612B1 (en) Network device management apparatus and method, and storage medium
US7028081B2 (en) Network-device management apparatus and method, recording medium, and transmission apparatus
US5978845A (en) Network management relay mechanism
JPH0916492A (ja) コンピュータシステム、周辺装置特性供給方法およびコンピュータ使用可能媒体
US7580936B2 (en) Extendable discovery of network device information
JP2008146410A (ja) ネットワーク管理システム、情報処理装置、および情報処理装置の制御方法
EP0955760B1 (en) Apparatus and method for preventing duplicate IP address setting
US20030018780A1 (en) Method and apparatus for managing network devices
JP2000196665A (ja) ネットワークデバイス制御装置及び方法
JP2004054657A (ja) ネットワークデバイス管理装置
JP2000183877A (ja) ネットワークデバイス制御装置及び方法
JP2000353136A (ja) ネットワークデバイス探索装置およびその方法、記憶媒体
JP2001255974A (ja) 情報処理装置及び方法
JP2003015973A (ja) ネットワークデバイス管理装置、管理方法及び管理プログラム
JP4227234B2 (ja) ネットワークデバイス制御装置及び方法
JP3869924B2 (ja) ネットワーク制御装置および通信プロトコル設定方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体
JP2000357145A (ja) ネットワークデバイス管理装置および方法
JP2001256153A (ja) ネットワークデバイス制御装置および方法
JP4095594B2 (ja) ネットワークデバイス制御方法及び装置
JP2000148631A (ja) ネットワークデバイス管理装置及び方法
JP2000353142A (ja) ネットワーク管理装置及び方法
JPH11296467A (ja) ネットワークデバイス制御方法及び装置、記録媒体
JP2000181826A (ja) ネットワークデバイス制御装置及び方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050711

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060310

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100317

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100317

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110317

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120317

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130317

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20140317

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees