(57)【要約】【目的】ネットワーク上に存在しなくなったデバイスであっても、そのデバイスに関する情報をユーザに告知することができるネットワークデバイス管理装置を提供すること。【構成】ネットワークを介して接続されるデバイスの状態の監視又は制御を行うネットワークデバイスの管理装置として、ネットワークに接続されているデバイスを探索するデバイス探索手段と、デバイスに関する複数のデバイス属性の値を取得するデバイス属性取得手段と、前記デバイス属性取得手段により取得されたネットワークデバイスの属性の値の一部又は全部を一覧表示するデバイスリスト表示手段と、前記デバイス探索手段により一度検出された任意のネットワークデバイスに関する情報をネットワークデバイスが共有可能な資源を提供するサーバに記憶しておくための記憶手段と、前記記憶手段により記憶されたデバイスを前記デバイスリスト表示手段に追加するための追加手段とを備える。【選択図】　　　図４
2004054657.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続されるデバイスの状態の監視又は制御を行うネットワークデバイスの管理装置であって、
ネットワークに接続されているデバイスを探索するデバイス探索手段と、
前記探索手段による探索で検出されたデバイスに関する複数のデバイス属性の値を取得するデバイス属性取得手段と、
前記デバイス属性取得手段により取得されたネットワークデバイスの属性の値の一部又は全部を一覧表示するデバイスリスト表示手段と、
前記デバイス探索手段により一度検出された任意のネットワークデバイスに関する情報をネットワークデバイスが共有可能な資源を提供するサーバに記憶しておくための記憶手段と、
前記記憶手段により記憶されたデバイスを前記デバイスリスト表示手段に追加するための追加手段と、
を備えたことを特徴とするネットワークデバイス管理装置。
【請求項２】
前記デバイスリスト表示手段に表示されたデバイスに関する管理者情報を表示するための管理者情報表示手段を備えることを特徴とする請求項１記載のネットワークデバイス管理装置。
【請求項３】
前記管理者情報表示手段に表示された管理者情報を変更するための管理者情報変更手段を備えることを特徴とする請求項１記載のネットワークデバイス管理装置。
【請求項４】
前記デバイス探索手段により一度検出されたネットワークデバイスに関する情報をネットワークデバイスが共有可能な資源を提供するサーバに記憶しておくか否かを設定するための設定手段を備えることを特徴とする請求項１記載のネットワークデバイス管理装置。
【請求項５】
前記デバイスリスト表示手段により表示されたネットワークデバイスの中から所望のネットワークデバイスを選択するためのデバイス選択手段を備えたことを特徴とする請求項１記載のネットワークデバイス管理装置。
【請求項６】
前記デバイス選択手段により選択されたデバイスがネットワーク上に存在するか否かを確認するためのデバイス確認手段を備えたことを特徴とする請求項１記載のネットワークデバイス管理装置。
【請求項７】
前記デバイス確認手段によりネットワーク上に存在する場合にネットワークデバイスの詳細情報を表示するデバイス詳細表示手段を備えたことを特徴とする請求項１記載のネットワークデバイス管理装置。
【請求項８】
前記デバイス確認手段によりデバイスがネットワーク上に存在しない場合にネットワークデバイスの管理者情報を表示するための管理者情報表示手段を備えたことを特徴とする請求項１記載のネットワークデバイス管理装置。
【請求項９】
前記デバイスリスト表示手段に表示されたデバイスに前記記憶手段に記憶されていたデバイスであることを表示するための表示手段を備えることを特徴とする請求項１記載のネットワークデバイス管理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークに接続された各種デバイスを監視または制御するネットワークデバイスの管理装置に関するものである。
【０００２】
【従来の技術】
近年、コンピュータを相互に接続したローカルエリアネットワーク（ＬＡＮ）が普及している。このようなローカルエリアネットワークは、ビルのフロア又はビル全体、ビル群（構内）、地域、或は更に大きなエリアに亘って構築される。更に、このようなネットワークが相互に接続され、世界的規模のネットワークに接続されることもある。これらのネットワーク上には、ＰＣ等のコンピュータやプリンタ等のデバイスを多数接続することができる。又、相互接続されたそれぞれのＬＡＮでは、多様なハードウェア相互接続技術と幾つものネットワークプロトコルが用いられている。
【０００３】
ここで、他と切り離された簡単なＬＡＮでは、個々のユーザが機器管理を行うことができる。即ち、ユーザが機器を取り替えり、ソフトウェアをインストールしたり、問題点を診断したりすることができる。
【０００４】
しかし、規模の大きい複雑なＬＡＮや相互接続された大きなＬＡＮグループでは、「管理」を必要とする。尚、「管理」とは、人間のネットワーク管理者による管理とその管理者が使用するソフトウェアによる管理の両方を意味する。本願においては、「管理」とはシステム全体を管理するためのソフトウェアによる管理を意味し、「ユーザ」とはネットワーク管理ソフトウェアを使用する人を意味するものとする。この「ユーザ」は、通常、システム管理責任者である。「ユーザ」は、ネットワーク管理ソフトウェアを使うことによって、ネットワーク上で管理データを得てこのデータを変更することができる。
【０００５】
大規模ネットワークシステムは、通常、機器の増設と除去、ソフトウェアの更新及び問題の検出などを絶えず行うことが必要な動的システムである。一般には、様々な人が所有する、様々な業者から供給される、様々なシステムが存在する。
【０００６】
このような大規模なネットワークシステムを構成するネットワーク上のネットワークデバイスを管理するための方法として、これまでに幾つかの試みが数多くの標準機間でなされている。国際標準化機構（ＩＳＯ）は開放型システム間相互接続（Ｏｐｅｎ　ＳｙｓｔｅｍＩｎｔｅｒｃｏｎｎｅｃｔｉｏｎ、ＯＳＩ）モデルと呼ばれる汎用基準フレームワークを提供した。ネットワーク管理プロトコルのＯＳＩモデルは、共通管理情報プロトコル（Ｃｏｍｍｏｎ　Ｍａｎａｇｅｍｅｎｔ　Ｉｎｆｏｒｍａｔｉｏｎ　Ｐｒｏｔｏｃｏｌ、ＣＭＩＰ）と呼ばれる。ＣＭＩＰはヨーロッパの共通ネットワーク管理プロトコルである。
【０００７】
又、近年では、より共通性の高いネットワーク管理プロトコルとして、簡易ネットワーク管理プロトコル（Ｓｉｍｐｌｅ　Ｎｅｔｗｏｒｋ　Ｍａｎａｇｅｍｅｎｔ
Ｐｒｏｔｏｃｏｌ、ＳＮＭＰ）と呼ばれるＣＭＩＰに関連する一変種のプロトコルがある（「ＴＣＰ／ＩＰネットワーク管理入門　実用的な管理をめざして」Ｍ．Ｔ．ローズ＝著／西田竹志＝訳　（株）トッパン発行　１９９２年８月２０日初版を参照）。
【０００８】
このＳＮＭＰネットワーク管理技術によれば、ネットワーク管理システムには、少なくとも１つのネットワーク管理ステーション（ＮＭＳ）、各々がエージェントを備える幾つかの管理対象ノード及び管理ステーションやエージェントが管理情報を交換するために使用するネットワーク管理プロトコルが含まれる。ユーザは、ＮＭＳのネットワーク管理ソフトウェアを用いて管理対象ノードのエージェントソフトウェアと通信することにより、ネットワーク上の管理データを得、又、そのデータを変更することができる。
【０００９】
ここで、「エージェント」とは、各々の管理対象ノードでバックグラウンドプロセスとして走るソフトウェアである。ユーザがネットワーク上の管理対象ノードに対して管理データの要求を行うときには、ネットワーク管理ソフトウェアはオブジェクト識別子（後述）を管理パケット又はフレームに入れて管理対象ノードのエージェントへ送信する。
【００１０】
エージェントは、そのオブジェクト識別子を解釈して、そのオブジェクト識別子に対応するデータを取り出す。そして、そのデータをパケットに入れてネットワーク管理ソフトウェアに返信する。ときには、エージェントはそのデータを取り出すために、対応するプロセスを呼び出す場合もある。
【００１１】
又、エージェントは、管理対象ノードに関するデータをデータベース形式で保持する。このデータベースは、ＭＩＢ（Ｍａｎａｇｅｍｅｎｔ　Ｉｎｆｏｒｍａｔｉｏｎ　Ｂａｓｅ　）と呼ばれる。
【００１２】
図７はＭＩＢの構造を示す概念図である。
【００１３】
図７に示すように、ＭＩＢは木構造のデータ構造をしており、全てのノードに一意に識別子が付けられている。図７において、括弧内に書かれている番号を元に、そのノードの識別子が定義される。例えば、図７のノード５０１の識別子は１である。ノード５０２の識別子は、ノード５０１の子なので、１・３である。同様に、ノード５０３の識別子は、１・３・６・１・２である。このノードの識別子がオブジェクト識別子（ＯＢＪＥＣＴＩＤＥＮＴＩＦＩＥＲ）である。ここで、図５には、標準として規定されているＭＩＢの一部を抜き出して記載している。
【００１４】
尚、このＭＩＢの構造は、管理情報構造（Ｓｔｒｕｃｔｕｒｅ　ｏｆ　ＭａｎａｇｅｍｅｎｔＩｎｆｏｒｍ　ａｔｉｏｎ　、ＳＭＩ）と呼ばれ、ＲＦＣ１１５５Ｓｔｒｕｃｔｕｒｅ　ａｎｄ　Ｉｄｅｎｔｉｆｉｃａｔｉｏｎｏｆ　ＭａｎａｇｅｍｅｎｔＩｎｆｏｒｍａｔｉｏｎｆｏｒ　ＴＣＰ　／ＩＰ−ｂａｓｅｄ　Ｉｎｔｅｒｎｅｔｓ
で規定されている。
【００１５】
次に、ＳＮＭＰプロトコルについて説明する。
【００１６】
ネットワーク管理ソフトウェアが動作しているＰＣ（以下、マネージャーと呼称する）と、ＳＮＭＰエージェントが動作している管理対象ネットワークデバイス（以下、エージェントと呼称する）とは、ＳＮＭＰプロトコルを用いて通信する。ＳＮＭＰプロトコルには５種類のコマンドがあり、それぞれはＧｅｔ−ｒｅｑｕｅｓｔ　、Ｇｅｔ−ｎｅｘｔ−ｒｅｑｕｅｓｔ、Ｇｅｔ−ｒｅｓｐｏｎｓｅ、Ｓｅｔ−ｒｅｑ　ｕｅｓｔ、Ｔｒａｐと呼ばれる。これらのコマンドがマネージャとエージェントとの間でやり取りされる様子を図９に示す。
【００１７】
Ｇｅｔ−ｒｅｑｕｅｓｔ　及びＧｅｔ−ｎｅｘｔ−ｒｅｑｕｅｓｔは、マネージャがエージェントに対して送出するコマンドである。このコマンドを受け取ったエージェントは、ＭＩＢオブジェクトの値をマネージャに通知するために、マネージャに対してＧｅｔ−ｒｅｓｐｏｎｓｅコマンドを送出する（９０１及び９０２）。
【００１８】
Ｓｅｔ−ｒｅｑｕｅｓｔ　は、マネージャがエージェントのＭＩＢオブジェクトの値を設定するために、エージェントに対して送出するコマンドである。このコマンドを受け取ったエージェントは、設定結果をマネージャに通知するため、マネージャに対してＧｅｔ−ｒｅｓｐｏｎｓｅコマンドを送出する（９０３）。
【００１９】
Ｔｒａｐは、エージェントが自分自身の状態の変化をマネージャに対して通知するために、マネージャに対して送出するコマンドである（９０４）。
【００２０】
図１０はＴｒａｐ以外のコマンド、即ち、Ｇｅｔ−ｒｅｑｕｅｓｔ　、Ｇｅｔ−ｎｅｘｔ−ｒｅｑｕｅｓｔ、Ｇｅｔ−ｒｅｓｐｏｎｓｅ及びＳｅｔ−ｒｅｑｕｅｓｔ　（総称してＳＮＭＰメッセージと呼ぶ）のフォーマットを示した図である。８００がＳＮＭＰメッセージである。ＳＮＭＰメッセージは、バージョン８０１、コミュニティ名８０２、ＰＤＵ８０３から構成される。ＰＤＵ８０３の詳細を示したのが８１０である。
【００２１】
ＰＤＵ８１０は、ＰＤＵタイプ８１１、リクエストＩＤ８１２、エラーステータス８１３、エラーインデックス８１４及びＭＩＢ情報８１５から構成される。ＰＤＵタイプ８１１には、コマンドを識別するための値が格納される。この値が０であればＧｅｔ−ｒｅｑｕｅｓｔ　、１であればＧｅｔ−ｎｅｘｔ−ｒｅｑｕｅｓｔ、２であればＧｅｔ−ｒｅｓｐｏｎｓｅ、３であればＳｅｔ−ｒｅｑｕｅｓｔ　と識別される。又、エラーステータス８１３には、エラー情報を示す値が格納される。エラーがない場合にはこの値が０である。又、ＭＩＢ情報８１５には、ＭＩＢオブジェクト識別子とそのＭＩＢオブジェクトの値が組になって格納される。
【００２２】
次に、管理が必要な大規模なネットワークについて説明する。
【００２３】
図４はプリンタをネットワークに接続するためのネットワークボード（ＮＢ）１０１を開放型アーキテクチャを持つプリンタ１０２へ繋げた場合のネットワークを示す図である。ＮＢ１０１はローカルエリアネットワーク（ＬＡＮ）１００へ、例えば、同軸コネクタを持つＥｔｈｅｒｎｅｔインターフェース１０Ｂａｓｅ−２や、ＲＪ−４５を持つ１０Ｂａｓｅ−Ｔ等のＬＡＮインターフェースを介して繋がっている。
【００２４】
ＰＣ１０３やＰＣ１０４等の複数のパーソナルコンピュータ（ＰＣ）も又ＬＡＮ１００に繋がっている。これらのＰＣは、ネットワークオペレーティングシステムの制御の下、ＮＢ１０１と通信することができる。ＰＣの１つ、例えばＰＣ１０３を、ネットワーク管理部として使用するように指定することができる。又、それぞれのＰＣに、ＰＣ１０４に接続しているプリンタ１０５のようなプリンタを接続しても良い。
【００２５】
又、ＬＡＮ１００にファイルサーバ１０６が繋がっており、これは大容量（例えば１００億バイト）のネットワークディスク１０７に記憶されたファイルへのアクセスを管理する。プリントサーバ１０８は、接続されたプリンタ１０９ａ及び１０９ｂ、又は遠隔地にあるプリンタ１０５等のプリンタに印刷を行わせる。又、他の図示していない周辺機器がＬＡＮ１００に繋がっていても良い。
【００２６】
更に、図４に示すネットワークは、様々なネットワークメンバ間で効率良く通信を行うために、ＮｏｖｅｌｌやＵＮＩＸ等のネットワークソフトウェアを使用することができる。どのネットワークソフトウェアも使用することができるが、その一例として、Ｎｏｖｅｌｌ社のＮｅｔＷａｒｅ　（Ｎｏｖｅｌｌ社の商標。以下省略）ソフトウェアを使用することができる（このソフトウェアパッケージに関する詳細な説明は、ＮｅｔＷａｒｅ　パッケージに同梱されているオンラインドキュメンテーションを参照。これは、Ｎｏｖｅｌｌ社からＮｅｔＷａｒｅ　パッケージと共に購入可能）。
【００２７】
更に、図４の構成について簡潔に説明すると、ファイルサーバ１０６は、ＬＡＮメンバ間でのデータファイルの送受信、或はデータファイルの記憶、キューイング、キャッシングを行い、ファイル管理部としての役割を担う。例えば、ＰＣ１０３及びＰＣ１０４のそれぞれで作られたデータファイルは、ファイルサーバ１０６へ送られる。ファイルサーバ１０６はこれらのデータファイルを順に並べ、プリントサーバ１０８からのコマンドに従ってそれらのデータファイルをプリンタ１０９ａへ送信する。
【００２８】
又、ＰＣ１０３やＰＣ１０４では、データファイルの生成や、生成されたデータファイルのＬＡＮ１００への送出やＬＡＮ１００からのデータファイルの受け取り、更にはそれらのデータファイルの表示及び／又は処理が行われる。図４ではＰＣが示されているが、ネットワークソフトウェアを実行するのに適切なものであれば、その他のコンピュータ機器であっても良い。例えば、ＵＮＩＸのソフトウェアが使用される場合にはＵＮＩＸワークステーションがネットワークに繋がれていても良い。これらのＵＮＩＸワークステーションは、適切な状況下で図示されているＰＣと共に使用される。
【００２９】
通常、ＬＡＮ１００は、幾分ローカルなユーザグループに、例えば、１つの建物内の１つの階或は連続した複数の階のユーザグループにサービスを提供する。又、ユーザが他の建物や他の県に居る等、ユーザ間が離れるに従ってワイドエリアネットワーク（ＷＡＮ）を構築しても良い。ＷＡＮは、基本的には、幾つかのＬＡＮが高速度サービス総合デジタルネットワーク（ＩＳＤＮ）電話線等の高速度デジタルラインで接続されて形成されたＬＡＮの集合体である。
【００３０】
従って、図４に示すように、ＬＡＮ１００とＬＡＮ１１０とＬＡＮ１２０とが、変調／復調（ＭＯＤＥＭ　）／トランスポンダ１３０やバックボーン１４０を介して接続されて、ＷＡＮが構築される。これらの接続は、複数のバスによる単純な電気的接続である。それぞれのＬＡＮには、専用のＰＣが接続されており、必ずしも必要ではないが、通常はファイルサーバやプリントサーバも接続されている。
【００３１】
従って、図４に示すように、ＬＡＮ１１０は、ＰＣ１１１と、ＰＣ１１２と、ファイルサーバ１１３と、ネットワークディスク１１４と、プリントサーバ１１５と、プリンタ１１６と、プリンタ１１７とから構成されている。対照的に、ＬＡＮ１２０は、ＰＣ１２１とＰＣ１２２のみから構成されている。ＬＡＮ１００と、ＬＡＮ１１０と、ＬＡＮ１２０とに接続されている機器は、ＷＡＮ接続を介して、他のＬＡＮの機器の機能にアクセスすることができる。
【００３２】
エージェントの実装方法として、プリンタをネットワーク接続させるためのネットワークボード上にエージェントを実装することが考えられる。これにより、プリンタをネットワーク管理ソフトウェアによる管理の対象とすることができる。ユーザは、ネットワーク管理ソフトウェアを用いて、管理対象のプリンタの情報を取得し、そのプリンタの状態を変更することができる。より具体的には、例えば、プリンタの液晶ディスプレイに表示されている文字列を取得したり、デフォルトの給紙カセットを変更したりすることができる。
【００３３】
次に、エージェントを実装したネットワークボード（ＮＢ）をプリンタに接続する実施の形態について説明する。
【００３４】
図５に示すように、好ましくは、ＮＢ１０１は、プリンタ１０２の内部拡張Ｉ／Ｏスロットに内蔵され、次に示す処理及びデータ記憶機能を持つ「埋め込まれた」ネットワークノードとなる。このＮＢ１０１の構成により、大きなマルチエリアＷＡＮネットワークを統括及び管理するための、特徴的な補助機能が用意されるという利点がある。この補助機能は、例えば、ネットワーク上の遠隔地（ネットワーク統括者の事務所等）からのプリンタ制御及び状態観察や、各印刷ジョブ後の次のユーザのための保証初期環境を提供するためのプリンタ構成の自動管理及びプリンタの負荷量の特徴づけるため或はトナーカートリッジの交換スケジュールを組むためにネットワークを介してアクセスできるプリンタログ又は使用統計を含む。
【００３５】
このＮＢ設計において重要な要因は、共有メモリ等の両方向インターフェイスを介して、ＮＢ１０１からプリンタ制御にアクセスする機能である。共有メモリ以外には、ＳＣＳＩインターフェース等のインターフェースを使用する場合がある。これらにより、プリンタ状態情報がＮＢ１０１又は外部のネットワークノードへ送出され、多数の補助機能が実装されうる。
【００３６】
又、印刷画像情報及び制御情報は、ＮＢ１０１にあるマイクロプロセッサによって構成されて共有メモリに記述され、プリンタ１０２によって読み出される。同様に、プリンタ状態情報は、プリンタ１０２から共有メモリへ送られ、そこからＮＢプロセッサにより読み出される。
【００３７】
図５はＮＢ１０１をプリンタ１０２にインストールした状態を示す断面図である。
【００３８】
図５に示すように、ＮＢ１０１はネットワーク接続のためのフェーズプレート１０１ｂとそれが設置されている印刷回路ボード１０１ａから構成される。又、ＮＢ１０１はコネクタ１７０を介してプリンタインターフェイスカード１５０に繋がっている。プリンタインターフェースカード１５０は、プリンタ１０２のプリンタエンジンを直接制御する。印刷データ及びプリンタ制御コマンドは、ＮＢ１０１からコネクタ１７０を介して、プリンタインターフェイスカード１５０へ入力される。
【００３９】
一方、プリンタ状態情報はプリンタインターフェイスカード１５０からコネクタ１７０を介して出力される。ＮＢ１０１は、このプリンタ状態情報をフェースプレート１０１ｂにあるネットワークコネクタを介してＬＡＮ１００へ送出する。又、プリンタ１０２は、従来のシリアルポート１０２ａ及びパラレルポート１０２ｂから印刷データを受信することもできる。
【００４０】
図６はＮＢ１０１とプリンタ１０２とＬＡＮ１００との電気的接続を示すブロック図である。
【００４１】
ＮＢ１０１は、ＬＡＮ１００へはＬＡＮインターフェイスを介して、プリンタ１０２へはプリンタインターフェイスカード１５０を介して直接繋がっている。ＮＢ１０１には、ＮＢ１０１を制御するためのマイクロプロセッサ３０１と、マイクロプロセッサ３０１の動作プログラムを格納するＲＯＭ３０３と、マイクロプロセッサ３０１がプログラムを実行する際にワークエリアとして利用するＲＡＭ３０２と、ＮＢ１０１とプリンタインターフェイスカード１５０とが相互にデータを受け渡すための共有メモリ２００とがあり、それぞれが内部バスを通じて相互接続している。
【００４２】
ＮＢ１０１がＳＮＭＰエージェントとして動作するためのプログラムはＲＯＭ３０３に格納されている。マイクロプロセッサ３０１は、ＲＯＭ３０３に格納されたプログラムに従って動作し、ワークエリアとしてＲＡＭ３０２を用いる。又、プリンタインターフェイスカード１５０と相互に通信するためのバッファ領域として共有メモリ２００を用いる。
【００４３】
プリンタインターフェイスカード１５０のマイクロプロセッサ１５１は、ＮＢ１０１とのデータの受け渡しをＮＢ１０１にある共有メモリ２００を介して行う。プリンタインターフェイスカード１５０のマイクロプロセッサ１５１は、実際に印刷機構を動かすプリンタエンジン１６０とも通信する。
【００４４】
次に、ネットワーク管理ソフトウェアが実行されるＰＣについて説明する。
【００４５】
図８はネットワーク管理ソフトウェアを実行可能なＰＣの構成を示すブロック図である。図８において、６００はネットワーク管理ソフトウェアを実行可能なＰＣであり、図４におけるＰＣ１０３と同等である。ＰＣ６００は、ＲＯＭ５６０２若しくはハードディスク（ＨＤ）６１１に記憶された、或はフロッピーディスクドライブ（ＦＤ）６１２により供給されるネットワーク管理ソフトウェアを実行するＣＰＵ６０１を備え、システムバス５０４に繋がっている各デバイスを総括的に制御する。
【００４６】
６０３はＲＡＭで、ＣＰＵ６０１の主メモリ、ワークエリア等として機能する。６０５はキーボードコントローラ（ＫＢＣ）で、キーボード（ＫＢ）６０９や不図示のポインティングデバイス等からの指示入力を制御する。６０６はＣＲＴコントローラ（ＣＲＴＣ）で、ＣＲＴディスプレイ（ＣＲＴ）６１０の表示を制御する。６０７はディスクコントローラ（ＤＫＣ）で、ブートプログラム、種々のアプリケーションプログラム、編集ファイル、ユーザファイル、そして、ネットワーク管理ソフトウェア等を記憶するハードディスク（ＨＤ）６１１及びフロッピディスクドライブ（ＦＤ）６１２を制御する。６０８はネットワークインターフェイスカード（ＮＩＣ）で、ＬＡＮ１００を介して、エージェント或はネットワーク機器と双方向にデータの受け渡しを行う。
【００４７】
次に、従来例におけるネットワーク管理ソフトウェアの構成について説明する。
【００４８】
従来例におけるネットワーク管理装置は、図８に示したようなネットワーク管理装置を実現可能なＰＣと同様のＰＣで実現される。ハードディスク（ＨＤ）６１１には、後述の全ての説明の動作主体となる本願に係るネットワーク管理ソフトウェアが格納される。後述の全ての説明において、特に断りがない限り、ハードウェアにおける実行の主体はＣＰＵ６０１であり、ソフトウェアにおける制御の主体はネットワーク管理ソフトウェアである。本従来例においては、ＯＳは、例えば、ウィンドウズ（マイクロソフト社製）を想定しているが、これに限るものではない。
【００４９】
尚、本願に係るネットワーク管理ソフトウェアは、フロッピーディスクやＣＤ−ＲＯＭ等の記憶媒体に格納されて供給されても良く、その場合には、図８に示すフロッピディスクドライブ６１２又は不図示のＣＤ−ＲＯＭドライブ等によって記憶媒体からプログラムが読み取られ、ハードディスク（ＨＤ）６１１にインストールされる。
【００５０】
図９は本従来例に係るネットワーク管理ソフトウェアのモジュール構成図である。
【００５１】
このネットワーク管理ソフトウェアは、図８におけるハードディスク６１１に格納されており、ＣＰＵ６０１によって実行される。その際、ＣＰＵ６０１はワークエリアとしてＲＡＭ６０３を使用する。図９において、７０１はデバイスリストモジュールと呼ばれ、ネットワークに接続されたネットワークデバイスを一覧して表示するモジュールである（一覧表示の様子については、後程図１４を用いて説明する）。図１３にデバイスリストモジュールがデバイスを一覧表示する場合の一例（デバイスリスト表示ウィンドウと呼ぶ）を示す。７０２は全体制御モジュールと呼ばれ、デバイスリストからの指示を元に他のモジュールを統括する。
【００５２】
７０３はコンフィグレータと呼ばれ、エージェントのネットワーク設定に関する特別な処理を行うモジュールである。７０４は探索モジュールと呼ばれ、ネットワークに接続されているネットワークデバイスを探索するモジュールである。探索モジュール７０４によって探索されたネットワークデバイスが、デバイスリスト７０１に一覧表示される。７０５はプリントジョブの状況をＮｅｔＷａｒｅ　ＡＰＩ７１６を用いてネットワークサーバから取得するＮｅｔＷａｒｅ　ジョブモジュールである（尚、ＮｅｔＷａｒｅＡＰＩについては、例えば、Ｎｏｖｅｌｌ社から発行されている“ＮｅｔＷａｒｅＰｒｏｇｒａｍｅｒ’ｓＧｕｉｄｅｆｏｒ　Ｃ　”等を参照。この書籍はＮｏｖｅｌｌ社から購入可能）。
【００５３】
７０６及び７０７は、後述するデバイス詳細ウィンドウを表示するためのＵＩ（ＵｓｅｒＩｎｔｅｒｆａｃｅ　）モジュールであり、詳細情報を表示する対象ネットワークデバイスの機種ごとにＵＩモジュールが存在する。７０８及び７０９は制御モジュールと呼ばれ、詳細情報を取得する対象ネットワークデバイスの機種ごとに特有の制御を行うモジュールである。ＵＩモジュールと同様に、制御モジュールも詳細情報を取得する対象ネットワークデバイスの機種ごとに存在する。制御Ａモジュール７０８及び制御Ｂモジュール７０９は、ＭＩＢモジュール７１０を用いて管理対象ネットワークデバイスからＭＩＢ情報を取得し、必要に応じてそのＭＩＢ情報のデータを変換して、ＵＩＡモジュール７０６やＵＩＢモジュール７０７にそのデータを渡す。
【００５４】
ＭＩＢモジュール７１０は、オブジェクト識別子とオブジェクトキーとの変換を行うモジュールである。オブジェクトキーとは、オブジェクト識別子と一対一に対応する３２ビットの整数のことである。オブジェクト識別子は可変長の識別子であり、ネットワーク管理ソフトウェアを実装する上で扱いが面倒であるため、本願に係るネットワーク管理ソフトウェアにおいてはオブジェクト識別子と一対一に対応する固定長の識別子を内部的に用いる。ＭＩＢモジュール７１０より上位のモジュールは、このオブジェクトキーを用いてＭＩＢ情報を扱う。これにより、ネットワーク管理ソフトウェアの実装が容易になる。
【００５５】
７１１はＳＮＭＰモジュールと呼ばれ、ＳＮＭＰパケットの送信と受信とを行う。７１２は共通トランスポートモジュールと呼ばれ、ＳＮＭＰパケットを運搬するための下位のプロトコルとの橋渡しをするモジュールである。実際には、ネットワーク管理ソフトウェアの動作時にユーザが選択したプロトコルにより、ＩＰＸハンドラ７１３か、ＵＤＰハンドラ７１４の何れかがパケットの転送を行う。尚、ＵＤＰハンドラ７１４を実装するために、ＷｉｎＳｏｃｋ　ＡＰＩ７１７を用いている（ＷｉｎＳｏｃｋ　については、Ｗｉｎｄｏｗｓ　ＳｏｃｋｅｔＡＰＩ　ｖ１．　１の仕様書を参照。このドキュメントは、複数箇所から入手可能であり、例えば、マイクロソフト社のコンパイラであるｖｉｓｕａｌｃ＋＋に同梱されている）。
【００５６】
又、コンフィグレータ７０３が用いている現在のプロトコル７１５とは、ネットワーク管理ソフトウェアの動作時にユーザが選択したＩＰＸプロトコルかＵＤＰプロトコルかの何れかのことを示す。
【００５７】
更に、具体的な流れを説明する。
【００５８】
ＭＩＢモジュール７１０は、上位モジュールからの要求により、オブジェクトキーからオブジェクト識別子への変換等の処理を行い、ＳＮＭＰモジュール７１１に対してＧｅｔ−ｒｅｑｕｅｓｔ　コマンドの送出を要求する。
【００５９】
ＳＮＭＰモジュール７１１は、ＭＩＢモジュール７１０からのコマンドの送出の要求により、図８のＰＤＵ８１０をＲＡＭ６０３に生成し、共通トランスポートモジュール７１２へＳＮＭＰパケットを渡す。
【００６０】
共通トランスポートモジュール７１２は、ネットワーク管理ソフトウェアの動作時にユーザが選択したプロトコルに従い、ヘッダの付加等の処理を行う。そして、ユーザが選択したプロトコルがＴＣＰ／ＩＰプロトコルであればＷｉｎＳｏｃｋＡＰ　Ｉ　モジュール７１７、ＮｅｔＷａｒｅ　プロトコルであればＮｅｔＷａｒｅＡＰＩモジュール７１６へパケットを渡す。
【００６１】
以下は、ユーザが選択したプロトコルがＴＣＰ／ＩＰプロトコルであるとして説明を行う。ＷｉｎＳｏｃｋ　ＡＰＩモジュール７１７は渡されたパケットをＩＰパケット化し、ＯＳに対してネットワークへのパケットの送出を要求する。すると、ＯＳはＲＡＭ６０３上にあるパケットをシステムバス６０４を介してＮＴＣ６０８へ書き込む。ＮＩＣ６０８は、書き込まれたパケットをフレーム化してＬＡＮ１００へ送出する。
【００６２】
逆に、ネットワークデバイスからのパケットはＮＩＣ６０８で受信される。ＮＩＣ６０８はパケットを受信したことを、割り込みを掛けてＯＳに通知する。ＯＳはＮＩＣ６０８からそのパケットをシステムバス６０４を介して読み出し、ＲＡＭ６０３に格納する。ＯＳは、ユーザが選択したプロトコル或は受信したパケットから、そのパケットに係るプロトコルを判断し、ＴＣＰ／ＩＰプロトコルであればＷｉｎＳｏｃｋ　ＡＰＩ　モジュール７１７へ、ＮｅｔＷａｒｅ　プロトコルであればＮｅｔＷａｒｅＡＰＩモジュール７１６へパケットを渡す。
【００６３】
以下、判断結果によるプロトコルがＴＣＰ／ＩＰプロトコルである場合について説明する。
【００６４】
ＷｉｎＳｏｃｋ　ＡＰＩモジュール７１７では、そのパケットの宛先アドレスを調べて、自アドレス宛てであるかを判断する。自アドレス宛てでなければそのパケットを破棄し、自アドレス宛てであればＵＰＤハンドラ７１４を起動して、共通トランスポートモジュール７１２にパケットを渡す。
【００６５】
共通トランスポートモジュール７１２は、トランスポートヘッダの除去等の処理を行い、ＳＮＭＰモジュール７１１へＳＮＭＰパケットを渡す。ＳＮＭＰモジュール７１１は、ＳＮＭＰヘッダを除去して、ＭＩＢモジュール７１０へＰＤＵ８１０の中のＭＩＢ情報を渡す。ＭＩＢモジュール７１０は、ＭＩＢ情報をＭＩＢＡＰＩで規定された形式に変換して、コールバック関数により上位モジュールへＭＩＢオブジェクトの値を通知する。
【００６６】
ネットワーク管理ソフトウェアのインストールに必要なファイルは、通常、フロッピーディスク（ＦＤ）やＣＤ−ＲＯＭ等の物理媒体に記録されて配布されるか、或はネットワークを経由して伝送される。ユーザは、これらの手段により、ネットワーク管理ソフトウェアのインストールに必要なファイルを入手した後、所定のインストールの手順に従ってインストールを開始する。
【００６７】
ネットワーク管理ソフトウェアのインストール手順は、他の一般的なソフトウェアのインストール手順と同様である。即ち、ユーザがネットワーク管理ソフトウェアのインストーラをパーソナルコンピュータ（ＰＣ）上で起動すると、インストーラが自動的にネットワーク管理ソフトウェアのインストールを実行する。又、インストーラは、ネットワーク管理ソフトウェアに必要なファイルをＰＣのハードディスクにコピーし、必要に応じて、ユーザに情報を入力してもらい、ネットワーク管理ソフトウェアに必要なファイルの修正または新規作成等を行う。
【００６８】
次に、本従来例におけるネットワーク管理ソフトウェアにおける探索シーケンスについて説明する。図１２は従来のネットワーク管理ソフトウェアにおける探索シーケンスを示す図である。
【００６９】
図１２において、探索モジュール１０３０は、ネットワーク管理ソフトウェアの探索モジュールを示し、これは図９における７０４と同等である。この探索モジュール１０３０は、ネットワーク管理ソフトウェアの他のモジュールと同様に、図１におけるＰＣ１０３上で図８のＣＰＵ６０１により実行される。
【００７０】
デバイス１０３１はネットワークに接続されており、且つ、ＳＮＭＰエージェントが動作しているデバイスであり、例えば図４におけるＮＰ１０１を示す。同様に、デバイス１０３２はＮＢ１１８を示す。
【００７１】
上位モジュールから探索開始の指示が出されると、探索モジュール１０３０はブロードキャストアドレスを指定して、デバイスの状態とデバイスタイプを取得するためのＳＮＭＰパケットを送出する（１００１）。尚、このパケットは、ブロードキャストアドレスが指定されているので、ネットワークに接続されている全てのネットワークデバイスに届けられる。
【００７２】
一方、ＳＮＭＰエージェントを実装しているネットワークデバイスは、このＳＮＭＰパケットに対して応答パケットを送出する（１００２及び１００３）。
【００７３】
ネットワークデバイスからの応答パケットを受信した探索モジュールは、更に詳細な情報を取得すべく、それぞれのネットワークデバイスに対してＳＮＭＰパケットを送信する。より具体的には、図１２において、１００２の応答パケットに対しては１００４のＳＮＭＰパケットの送信を行い、１００３の応答パケットに対しては１００６のＳＮＭＰパケットの送信を行う。このＳＮＭＰパケットの送信をデバイス別情報取得という。
【００７４】
尚、１００４や１００６のＳＮＭＰパケットの送信でＭＩＢオブジェクトの値を問い合わせる代わりに、１００１のＳＮＭＰパケットの送信でその値を問い合わせない理由は次の通りである。即ち、もし、多くのＭＩＢオブジェクトを１つのパケットで一度に問い合わせると、ネットワークデバイスからの応答パケットがＳＮＭＰプロトコルで許されているパケットの最大長（４８４バイト）を超えてしまう可能性があるからである。このような場合、ネットワークデバイスからはＳＮＭＰプロトコルにおけるｔｏｏＢｉｇというエラーが返ってきてしまい、全く情報が取得できない。よって、複数のＳＮＭＰパケットに分けて、ＭＩＢオブジェクトの値を問い合わせる。
【００７５】
特に、１００４及び１００６のＳＮＭＰパケットでは、ネットワークデバイスに装着されているオプション機器を問い合わせている。ここでもし、多くのオプション機器がネットワークデバイスに装着されていると、ネットワークデバイスからの応答パケットのパケット長が大きくなる可能性が高い。更に、その他のＭＩＢオブジェクトの値も同時に問い合わせると、応答パケットのパケット長が最大長（４８４バイト）を超えてしまう可能性が益々高くなる。このため、オプション機器を問い合わせるパケットは、独立したパケットにしておいた方が無難である。
【００７６】
ＳＮＭＰパケットを受信したネットワークデバイスは、応答パケットを送信する。具体的には、１００４のパケットの受信に対しては１００５のパケットの送信を行い、１００６のパケットの受信に対しては１００７のパケットの送信を行う。
【００７７】
次に、デバイス応答タイマー１０２１が満了した時点で、探索モジュール７０４は、それまでに得たネットワークデバイスの情報を上位モジュールに通知する（１０２１）。これを、探索結果通知と言う。
【００７８】
又、探索間隔タイマー１０２２が満了した時点で、再度、ネットワークデバイスの探索を開始する。１００８〜１０１４の処理は、１００１〜１００７の処理と同様であるため、説明を省略する。
【００７９】
次に、本従来例におけるネットワーク管理ソフトウェアにおけるデバイスリストの表示手順について説明する。図１７は、従来のネットワーク管理ソフトウェアにおけるデバイスリストの表示手順を示すフローチャートである。
【００８０】
はじめに、図１７のステップＳ１５０１でネットワーク上のデバイスの検索を開始する。
【００８１】
ステップＳ１５０２で、デバイス探索手段が新たなデバイスを発見するたびに、検出デバイステーブルに行が一行追加される。
【００８２】
ここで、検出デバイステーブルに登録される情報について説明する。
【００８３】
図１３は探索モジュール１０３０が検出したネットワークデバイスの情報を記憶しておくために使用する検出デバイステーブルと呼ばれるデータ構造を示す図である。このデータ構造は、図８のＲＡＭ６０３に保持される。
【００８４】
ネットワークアドレスの列１１０１には、検出したネットワークデバイスのネットワークアドレスが登録される。
【００８５】
デバイスタイプの列１１０２には、ネットワークデバイスの種別が登録される。デバイス状態の列には、ネットワークデバイスが現在どのような状態にあるかが登録される。
【００８６】
装備情報の列１１０３には、ネットワークデバイスに装着されているオプション機器が登録される。
【００８７】
ＭＡＣ　アドレスの列１１０４には、ネットワークボード毎に固有の物理アドレスが登録される。
【００８８】
具体的に図１３では、検出デバイステーブル１１１０には、２つのネットワークデバイスが登録されている。１つ目は、ネットワークアドレスが１９２．１６８．１６．１のネットワークデバイスである。このネットワークデバイスはデバイスタイプがＬＢＰであり、オプション機器として２０００枚デッキが装着されいる。又、デバイス状態は使用可能（Ｒｅａｄｙ）　である。
【００８９】
２つ目は、ネットワークアドレスが１９２．１６８．１６．２のネットワークデバイスである。このネットワークデバイスはデバイスタイプが複写機（Ｃｏｐｉｅｒ）であり、オプション機器としてソータが装着されいる。尚、現在、紙詰まり（Ｊａｍ）が発生していることがデバイス状態から分かる。
【００９０】
上記情報のうち、時間の経過と共に動的に変化し得る情報は、デバイス状態１１０３である。デバイス状態は、ネットワークデバイスの現在の状態を示しており、ネットワークデバイスの状態の変化と共に変化するものである。尚、この情報は、ネットワークデバイスを探索するための９０１の通信で問い合わせられ、９０２や９０３の通信でその値がネットワークデバイスから返される。
【００９１】
又、ＤＨＣＰ（Ｄｙｎａｍｉｃ　Ｈｏｓｔ　Ｃｏｎｆｉｇｕｒａｔｉｏｎ　Ｐｒｏｔｏｃｏｌ）
サービスのように、ネットワークアドレスを動的に割り当てられる環境においては、ネットワークアドレス１１０１も変化し得る情報となる。
【００９２】
ステップＳ１５０３で探索が終了したかを判定する。ステップＳ１５０３の判定がＹＥＳならばステップＳ１５０４へ進み、ＮＯならばステップＳ１５０２以降を繰り返す。
【００９３】
ステップＳ１５０４では、検出デバイステーブルに登録された情報を基に、検出されたデバイスの一覧を図１４のようなデバイスリスト表示ウィンドウに表示する。
【００９４】
ステップＳ１５０５では、ユーザによりデバイスリストを閉じるための操作が行われたかを判定する。デバイスリスト表示ウィンドウを閉じる場合は、ステップＳ１５０６でデバイスリスト表示ウィンドウを閉じて終了する。デバイスリスト表示ウィンドウをそのまま表示している場合には、ステップＳ１５０７でデバイスリスト上で選択された特定のデバイスの詳細情報ダイアログボックスを開くための操作が行われたかを判定する。ステップＳ１５０７の判定がＹＥＳならば、図１５に例示するような特定のデバイス詳細情報ダイアログボックスを開く。ステップＳ１５０７の判定がＮＯならば、ステップＳ１５０５に戻る。
【００９５】
ここで、デバイス詳細情報ダイアログボックスとは、デバイスリストの中にあるデバイスを選択することにより表示されるダイアログボックスのことであり、そこにはデバイスリストに表示されている情報よりも詳細な情報が表示される。
【００９６】
更に、デバイス詳細情報ダイアログボックスからは、例えば、図１７に示すような管理者情報表示ダイアログボックスが呼び出される。管理者情報表示ダイアログボックスには、デバイスの管理者の名前、連絡先、コメントを設定し、表示することができる。
【００９７】
図１８は検出デバイステーブルを更新する際の処理を示すフローチャートである。この処理は、デバイスリストに最新のネットワークデバイスの情報を反映させるため、図１７のステップＳ１５０５以降を繰り返す間、一定時間毎に、実行されるものである。
【００９８】
はじめに、図１８のステップＳ１６０１で検出デバイステーブルの内容を全て消去し、テーブルを初期化する。
【００９９】
ステップＳ１６０２では、ネットワーク上のデバイスの探索を開始する。
【０１００】
ステップＳ１６０３では、デバイス探索手段が新たなデバイスを発見するたびに、検出デバイステーブルに行が一行追加される。
【０１０１】
ステップＳ１６０４では、ネットワーク上のデバイスの探索が終了したか否かの判定を行う。ステップＳ１６０４の判定が、ＹＥＳならば、終了し、ＮＯならば、ステップＳ１６０３以降を繰り返す。
【０１０２】
【発明が解決しようとする課題】
しかしながら、上記従来例では、現在ネットワークに接続されていないデバイスや電源ＯＦＦのデバイスは表示されないので、管理者の名前や連絡先、コメント等の情報を確認することができなくなるという問題があった。
【０１０３】
このため、普段使用しているあるデバイスが修理等でネットワークから外されていたような場合、デバイスの行方やいつ使用できるようになるのか等の情報を容易に知ることができないことがあった。
【０１０４】
本発明は上記問題に鑑みてなされたもので、その目的とする処は、ネットワーク上に存在しなくなったデバイスであっても、そのデバイスに関する情報をユーザに告知することができるネットワークデバイス管理装置を提供することにある。
【０１０５】
【課題を解決するための手段】
本発明によれば、ネットワークを介して接続されるデバイスの状態の監視または制御を行うネットワークデバイスの管理装置おいて、ネットワークに接続されているデバイスを探索するデバイス探索手段と、前記探索手段による探索で検出されたデバイスに関する複数のデバイス属性の値を取得するデバイス属性取得手段と、前記デバイス属性取得手段により取得されたネットワークデバイスの属性の値の一部又は全部を一覧表示するデバイスリスト表示手段と、前記デバイス探索手段により一度検出された任意のネットワークデバイスに関する情報をネットワークデバイスが共有可能な資源を提供するサーバに記憶しておくための記憶手段と、前記記憶手段により記憶されたデバイスを前記デバイスリスト表示手段に追加するための追加手段を設けたことにより、ネットワーク上に存在しなくなったデバイスであっても、そのデバイスに関する情報を告知できるようにするものである。
【０１０６】
【発明の実施の形態】
以下に図面を用いて本発明の実施の形態のネットワークデバイス管理装置について説明する。
【０１０７】
尚、以下の説明において特に指定のない限り、実行や判断の主体はハードウェア的にはＣＰＵであり、一方、ソフトウェア的にはネットワーク管理プログラムである。
【０１０８】
図１〜図３は本実施の形態におけるネットワーク管理ソフトウェアにおけるデバイスリストの表示手順を示すフローチャートである。
【０１０９】
はじめに、図１のステップＳ１０１で検出デバイステーブルの内容を全て消去し、テーブルを初期化する。
【０１１０】
ステップＳ１０２では、ネットワーク上のデバイスの検索を開始する。
【０１１１】
ステップＳ１０３では、デバイス探索手段が新たなデバイスを発見するたびに、検出デバイステーブルに行が一行追加される。
【０１１２】
ステップＳ１０４で探索が終了したかを判定する。ステップＳ１０４の判定がＹＥＳならばステップＳ１０５へ進み、ＮＯならばステップＳ１０３以降を繰り返す。
【０１１３】
ステップＳ１０５では、サーバ上に前回検出済みデバイステーブルが存在するか否かを判定する。ステップＳ１０５の判定がＹＥＳならばステップＳ１０６へ進む。
【０１１４】
ステップＳ１０６で、前回検出済みデバイステーブルからデバイステーブルの読み出しを開始する。
【０１１５】
ステップＳ１０７で、前回検出済みデバイステーブルに登録されてあるデバイスのエントリが検出デバイステーブルにあるか否かを判定する。この判定には、デバイスが一意に特定することができる情報、例えば、ＭＡＣアドレスを比較することによって行う。ステップＳ１０７の判定がＹＥＳならばステップＳ１０９へ進み、ＮＯならばステップＳ１０８へ進む。
【０１１６】
ステップＳ１０８で、検出デバイステーブルに行が一行追加される。
【０１１７】
ステップＳ１０９で、前回検出済みデバイステーブルからデバイステーブルの読み出しが終了したか否かを判定する。ステップＳ１０９の判定がＹＥＳならばステップＳ１１０へ進み、ＮＯならばステップＳ１０７以降を繰り返す。
【０１１８】
ステップＳ１１０で、検出デバイステーブルに登録された情報を基に、検出されたデバイスの一覧を表示或は更新する。
【０１１９】
ステップＳ１１１で、ユーザによりデバイスリスト表示ウィンドウを閉じるために操作が行われたか否かの判定を行う。ステップＳ１１１の判定がＹＥＳならばステップＳ１１２へ進み、ＮＯならばステップＳ１１９へ進む。
【０１２０】
ステップＳ１１２では、デバイスリスト表示ウィンドウを閉じて終了する。
【０１２１】
ステップＳ１１３で前回検出済みデバイステーブルの内容を全て消去し、テーブルを初期化する。
【０１２２】
ステップＳ１１４で、検出デバイステーブルからデバイステーブルの読み出しを開始する。
【０１２３】
ステップＳ１１５で、前回検出済みデバイステーブルに登録されてあるデバイスのＦＬＡＧ１７１６がＴＲＵＥか否かを判定する。このＦＬＡＧは、図１８（ａ）に例示するような管理者情報設定ダイアログボックスで設定される管理者情報をサーバに保存するか否かを識別するためのものであり、サーバに保存する場合、ＴＲＵＥとなり、サーバに保存しない場合、ＦＡＬＳＥとなる。ステップＳ１１５の判定がＹＥＳならばステップＳ１１６へ進み、ＮＯならばステップＳ１１７へ進む。
【０１２４】
ここで、管理者情報設定ダイアログボックスとは、デバイス詳細情報ダイアログボックスのメニューを選択することにより表示されるダイアログボックスのことであり、そこにはデバイスの管理者名、連絡先、コメントといった設定を行うことができる。
【０１２５】
ステップＳ１１６で、ＦＬＡＧがＴＲＵＥであるデバイスのエントリが検出デバイステーブルに追加される。
【０１２６】
ステップＳ１１７で、検出デバイステーブルからデバイステーブルの読み出しが終了したか否かを判定する。ステップＳ１１７の判定がＹＥＳならばステップＳ１１８へ進み、ＮＯならばステップＳ１１５以降を繰り返す。
【０１２７】
ステップＳ１１８で、前回検出済みデバイステーブルをサーバに保存し終了する。
【０１２８】
デバイスリスト表示ウィンドウをそのまま表示している場合には、ステップＳ１１９でデバイスリスト上で選択された特定のデバイスの詳細情報ダイアログボックスを開くための操作が行われたかを判定する。ステップＳ１１９の判定がＹＥＳならば、ステップＳ１２０へ進み、ＮＯならば、ステップＳ１２１へ進む。
【０１２９】
ここで、デバイス詳細情報ダイアログボックスとは、デバイスリストの中にあるデバイスを選択することにより表示されるダイアログボックスのことであり、そこにはデバイスリストに表示されている情報よりも詳細な情報が表示される。
【０１３０】
ステップＳ１２０では、デバイスリスト上で選択されたデバイスが前回検出済みデバイステーブルから読み出されたデバイスか否かを判定する。ステップＳ１２０の判定がＹＥＳならば、ステップＳ１２１へ進み、ＮＯならば、デバイスリスト上で選択された特定のデバイスの詳細情報ダイアログボックスを開く。
【０１３１】
ステップＳ１２１では、図２０（ｂ）に例示するような管理者情報表示ダイアログボックスを表示する。
【０１３２】
管理者情報表示ダイアログボックスをそのまま表示している場合には、ステップＳ１２２で管理者情報表示ダイアログボックスを閉じるための操作が行われたかを判定する。ステップＳ１２２の判定がＹＥＳならば、ステップＳ１２３へ進み、ＮＯならば、ステップＳ１２２へ戻る。
【０１３３】
ステップＳ１２３で、管理者情報表示ダイアログボックスを閉じて、ステップＳ１１０に戻る。
【０１３４】
図１８は検出デバイステーブルを更新する際の処理を示すフローチャートである。この処理は、デバイスリストに最新のネットワークデバイスの情報を反映させるため、図２のステップＳ１１０以降を繰り返す間、一定時間毎に、実行されるものである。
【０１３５】
はじめに、図１８のステップＳ１６０１で検出デバイステーブルの内容を全て消去し、テーブルを初期化する。
【０１３６】
ステップＳ１６０２では、ネットワーク上のデバイスの探索を開始する。
【０１３７】
ステップＳ１６０３では、デバイス探索手段が新たなデバイスを発見するたびに、検出デバイステーブルに行が一行追加される。
【０１３８】
ステップＳ１６０４では、ネットワーク上のデバイスの探索が終了したか否かの判定を行う。ステップＳ１６０４の判定が、ＹＥＳならば、終了し、ＮＯならば、ステップＳ１６０３以降を繰り返す。
【０１３９】
図１９（ａ）は探索モジュール１０３０が検出したネットワークデバイスの情報を記憶しておくために使用する検出デバイステーブルと呼ばれるデータ構造を示す図である。このデータ構造は、図８のＲＡＭ６０３に保持される。
【０１４０】
検出デバイステーブル１７２０には、検出したネットワークデバイスの情報が登録される。ネットワークデバイスが１つ検出される度に、検出デバイステーブルに行が１行追加される。
【０１４１】
以下、検出デバイステーブルに登録される情報について説明する。
【０１４２】
ネットワークアドレスの列１７０１には、検出したネットワークデバイスのネットワークアドレスが登録される。
【０１４３】
デバイスタイプの列１７０２には、ネットワークデバイスの種別が登録される。デバイス状態の列には、ネットワークデバイスが現在どのような状態にあるかが登録される。
【０１４４】
装備情報の列１７０３には、ネットワークデバイスが現在どのような状態にあるかが登録される。
【０１４５】
装備情報の列１７０４には、ネットワークデバイスに装着されているオプション機器が登録される。
【０１４６】
ＭＡＣアドレスの列１７０５には、ネットワークボード毎に固有の物理アドレスが登録される。
【０１４７】
ＦＬＡＧの列１７０６には、図２０（ａ）に例示するような管理者情報設定ダイアログボックスのデバイスの管理者名、連絡先、コメントといった設定をサーバに保存するか否かを識別するために、サーバに保存する場合、ＴＲＵＥが、サーバに保存しない場合、ＦＡＬＳＥが登録される。
【０１４８】
具体的に図１７（ａ）では、検出デバイステーブル１５２０には、２つのネットワークデバイスが登録されている。１つ目は、ネットワークアドレスが１９２．１６８．１６．１のネットワークデバイスである。このネットワークデバイスはデバイスタイプがＬＢＰであり、オプション機器として２０００枚デッキが装着されいる。又、デバイス状態は使用可能（Ｒｅａｄｙ）　である。ＦＬＡＧの状態がＴＲＵＥであることから、本デバイスの管理者情報ダイアログボックスの設定値をサーバ上に保存することが分かる。
【０１４９】
２つ目は、ネットワークアドレスが１９２．１６８．１６．２のネットワークデバイスである。このネットワークデバイスはデバイスタイプが複写機（Ｃｏｐｉｅｒ）であり、オプション機器としてソータが装着されている。尚、現在、紙詰まり（Ｊａｍ）が発生していることがデバイス状態から分かる。ＦＬＡＧの状態がＦＡＬＳＥであることから、本デバイスの管理者情報設定ダイアログボックスの設定値をサーバ上に保存しないことが分かる。
【０１５０】
上記情報のうち、時間の経過と共に動的に変化し得る情報は、デバイス状態１５０３である。デバイス状態は、ネットワークデバイスの現在の状態を示しており、ネットワークデバイスの状態の変化と共に変化するものである。尚、この情報は、ネットワークデバイスを探索するための９０１の通信で問い合わせられ、９０２や９０３の通信でその値がネットワークデバイスから返される。
【０１５１】
又、ＤＨＣＰ（Ｄｙｎａｍｉｃ　Ｈｏｓｔ　Ｃｏｎｆｉｇｕｒａｔｉｏｎ　Ｐｒｏｔｏｃｏｌ）
サービスのように、ネットワークアドレスを動的に割り当てられる環境においては、ネットワークアドレス１５０１も変化し得る情報となる。
【０１５２】
図１７（ｂ）は前回のネットワーク管理ソフトウェアの起動中に、探索で検出されたネットワークデバイスの情報を記憶しておくために使用する前回検出済みデバイステーブル１５３０と呼ばれるデータ構造を示す図である。
【０１５３】
前回検出済みデバイステーブルのうちネットワークアドレス１７１１からＭＡＣアドレス１７１５までは、図１７（ａ）の検出デバイステーブル１７２０と同様なデータ構造をしているため説明を省略する。
【０１５４】
管理者名の列１７１６には、管理者情報設定ダイアログボックスのデバイスの管理者名が登録される。
【０１５５】
連絡先の列１７１７には、管理者情報設定ダイアログボックスの管理者への連絡先が登録される。
【０１５６】
コメントの列１７１８には、管理者情報設定ダイアログボックスの管理者からのコメントが登録される。
【０１５７】
このデータ構造は、ネットワークデバイスが共有可能な資源を提供するサーバ上に保持される。
【０１５８】
尚、上記実施の形態では、ネットワーク上にないデバイスをデバイスリスト表示ウィンドウから選択して、直接、管理者情報表示ダイアログボックスを表示していたが、通常の場合と同様に、デバイス詳細表示ダイアログボックスを表示させてから、そこから管理者情報表示ダイアログボックスを表示できるようにしてもよい。
【０１５９】
又、上記実施の形態では、管理者名、連絡先、コメントといった管理者情報を保存していたが、これに限るものではなく、デバイスの設置場所といったデバイスに関する情報でであっても良い。
【０１６０】
更に、上記実施の形態では、デバイスリスト表示ウィンドウにデバイスリストを表示する際に、探索の結果検出されたデバイスと前回検出済みデバイステーブルから追加されたデバイスは区別なく表示されていたが、これらを区別するためにアイコンを変えたりといった識別手段があっても良い。
【０１６１】
上記で説明した本発明に係るネットワーク管理ソフトウェアは、外部からインストールされるプログラムがＰＣ６００によって実行される形で実施されても良い。その場合、ＣＤ−ＲＯＭ、フラッシュメモリ、フロッピーディスク等の記憶媒体を介して、或は電子メール、パソコン通信等のネットワークを介して、そのプログラムを含む情報群を外部の記憶媒体からＰＣ６００のＲＡＭ６０３にロードすることにより、そのプログラムはＰＣ６００に供給される。この場合でも本発明は適用されるものである。
【０１６２】
本発明のネットワーク管理ソフトウェアがＰＣ６００にインストールされる際には、先ず、インストールプログラムがＰＣ６００のシステムにロードされ、ＣＰＵ６０１によって実行される。次に、ＣＰＵ６０１によって実行されるインストールプログラムが、ネットワーク管理ソフトウェアを記憶してある記憶媒体からネットワーク管理ソフトウェアを読み出してハードディスク６１１に格納する。
【０１６３】
尚、本発明は、複数の機器（例えば、ホストコンピュータ、インターフェイス機器、リーダ等）から構成されるシステム或は統合装置に適用しても、１つの機器から成る装置に適用しても良い。
【０１６４】
又、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或は装置に供給し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出して実行することによっても、本発明の目的が達成すされることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１６５】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【０１６６】
又、コンピュータが読み出したプログラムコードを実行することによって、前述した実施の形態の機能が実現される他、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ等が実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１６７】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によっても前述した実施の形態の機能が実現され得る。
【０１６８】
尚、本発明は、前述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体から、そのプログラムをパソコン通信等の通信ラインを介して要求者にそのプログラムを配信する場合にも適用できることは言うまでもない。
【０１６９】
【発明の効果】
以上の説明で明らかなように、本発明によれば、デバイス探索手段によって一度検出したデバイスの情報を記憶しておき、次回探索時にデバイスリスト表示手段に追加することにより、ネットワーク上に存在しなくなったデバイスであっても、そのデバイスに関する情報をユーザに告知することができるという効果が得られる。
【図面の簡単な説明】
【図１】本発明の実施の形態におけるネットワーク管理ソフトウェアの動作のフローチャートである。
【図２】本発明の実施の形態におけるネットワーク管理ソフトウェアの動作のフローチャートである。
【図３】本発明の実施の形態におけるネットワーク管理ソフトウェアの動作のフローチャートである。
【図４】本発明の実施の形態のプリンタをネットワークに接続するためのネットワークボードを開放型アーキテクチャを持つプリンタへ繋げた形態を示す図である。
【図５】エージェントを実装したネットワークボードをプリンタに接続する実施形態を示す一部破断図である。
【図６】ネットワークボードとプリンタとＬＡＮとの電気的接続を示すブロック図である。
【図７】ＭＩＢの構造を示す概念図である。
【図８】ネットワーク管理ソフトウェアが稼動可能なＰＣの構成を示すブロック図である。
【図９】ネットワーク管理ソフトウェアのモジュール構成図である。
【図１０】ＳＮＭＰプロトコルを用いる場合のパケットのフォーマットを示す図である。
【図１１】マネージャとエージェント間でのＳＮＭＰコマンドの送受信を示す図である。
【図１２】探索モジュールとネットワークデバイス間の通信シーケンスを示す図である。
【図１３】従来例における検出デバイステーブルを示す図である。
【図１４】デバイスリスト表示ウィンドウの表示例を示す図である。
【図１５】従来例又は本発明の実施の形態のデバイス詳細ダイアログボックスの表示例を示す図である。
【図１６】従来例の形態の管理者情報設定ダイアログボックスの表示例を示す図である。
【図１７】従来例の形態のデバイスリスト表示ウィンドウの表示方法を示すフローチャートである。
【図１８】従来例又は本発明の実施の形態の検出デバイステーブルの更新方法を示すフローチャートである。
【図１９】本実施における検出デバイステーブル（ａ）と前回検出済みデバイステーブル（ｂ）を示す図である。
【図２０】本実施例の形態の管理者情報設定ダイアログボックス（ａ）と管理者情報表示ダイアログボックス（ｂ）の表示例を示す図である。
【符号の説明】
１００，１１０，１２０　ＬＡＮ
１０１　　　ネットワークボード
１０２，１０５，１０９ａ，１０９ｂ，１１６，１１７　プレンタ
１０４，１１１，１１２，１２１，１２２　ＰＣ
１０６，１１３　ファイルサーバ
１０７，１１４　ネットワークディスク
１０８，１１５　プリントサーバ
１３０　　　モデム／トランスポンダ
１４０　　　バックボーン
１５０　　　プリンタインターフェイスカード
１５１　　　マイクロプロセッサ
１６０　　　プリンタエンジン
２００　　　共有メモリ
３０１　　　ＭＰＵ
３０２　　　ＲＡＭ
３０３　　　ＲＯＭ
６００　　　ＰＣ
６０１　　　ＣＰＵ
６０２　　　ＲＯＭ
６０３　　　ＲＡＭ
６０４　　　システムバス
６０５　　　キーボードコントローラ
６０６　　　ＣＲＴコントローラ
６０７　　　ディスクコントローラ
６０８　　　ネットワークインタフェースカード
６０９　　　キーボード
６１０　　　ＣＲＴ
６１１　　　ハードディスク
６１２　　　フロッピーディスク
７０１　　　デバイスリストモジュール
７０２　　　全体制御モジュール
７０３　　　コンフィグレータ
７０４　　　探索モジュール
７０５　　　ＮｅｔＷａｒｅジョブモジュール
７０６　　　ＵＩ　Ａモジュール
７０７　　　ＵＩ　Ｂモジュール
７０８　　　制御Ａモジュール
７０９　　　制御Ｂモジュール
７１０　　　ＭＩＢモジュール
７１１　　　ＳＮＭＰモジュール
７１２　　　共通トランスポートモジュール
７１３　　　ＩＰＸ　ハンドラ
７１４　　　ＵＤＰ　ハンドラ
７１６　　　ＮｅｔＷａｒｅ　ＡＰＩ
７１７　　　ＷｉｎＳｏｃｋ　ＡＰＩ
１０３０　　　探索モジュール
１０３１　　　デバイス１
１０３２　　　デバイス２
１１１０，１５２０　検出デバイステーブル
１５３０　　　前回検出デバイステーブル
【図１】
2004054657.tif 000003
【図２】
2004054657.tif 000004
【図３】
2004054657.tif 000005
【図４】
2004054657.tif 000006
【図５】
2004054657.tif 000007
【図６】
2004054657.tif 000008
【図７】
2004054657.tif 000009
【図８】
2004054657.tif 000010
【図９】
2004054657.tif 000011
【図１０】
2004054657.tif 000012
【図１１】
2004054657.tif 000013
【図１２】
2004054657.tif 000014
【図１３】
2004054657.tif 000015
【図１４】
2004054657.tif 000016
【図１５】
2004054657.tif 000017
【図１６】
2004054657.tif 000018
【図１７】
2004054657.tif 000019
【図１８】
2004054657.tif 000020
【図１９】
2004054657.tif 000021
【図２０】
2004054657.tif 000022