(57)【特許請求の範囲】
【請求項１】
ネットワークデバイスに関する情報を出力するネットワークデバイス管理方法において、
前記ネットワークデバイスから管理情報の値としてネットワークデバイスの状態を示すパラメータを取得する管理情報取得ステップと、
前記ネットワークデバイスのうち、一台のネットワークデバイスの状態を示す複数のパラメータを保存用データとして保存する保存用データ保存ステップと、
前記一台のネットワークデバイスに対応する複数の情報を出力するために、前記一台のネットワークデバイスに対応する複数のパラメータにそれぞれ定められた、複数の有効期限に基づいて、前記保存ステップで保存された複数のパラメータがそれぞれ有効であるか否かを判定する判定ステップと、
前記判定ステップで有効であると判定されたパラメータはネットワークデバイスに関する情報として使用し、前記判定ステップで有効でないと判定されたパラメータはネットワークデバイスに関する情報として使用せずに、該ネットワークデバイスに関する情報を出力データに埋め込んで出力する情報出力ステップをコンピュータに実行させることを特徴とするネットワークデバイス管理方法。
【請求項２】
前記保存用データを保存した時刻と現在時刻との差が当該保存用データに定められた有効期限内であれば、または、前記保存用データを取得した時刻と現在時刻との差が当該保存用データに定められた有効期限内であれば、当該パラメータがそれぞれ有効であると判定することを特徴とする請求項１記載のネットワークデバイス管理方法。
【請求項３】
前記保存用データ保存ステップでは、前記管理情報取得ステップで取得された管理情報の値、または、前記情報出力ステップで出力された前記ネットワークデバイスに対応する複数の情報が記述されたデータを、前記保存用データとして保存することを特徴とする請求項１或いは２に記載のネットワークデバイス管理方法。
【請求項４】
テンプレートファイル内のテンプレート変数が記述されている位置に前記保存用データを埋め込んで、前記ネットワークデバイスに対応する複数の情報を生成する生成ステップを有することを特徴とする請求項１乃至３のいずれかに記載のネットワークデバイス管理方法。
【請求項５】
前記ネットワークデバイスに対応する複数の情報は、ＨＴＭＬで記述されたドキュメントデータであり、前記情報出力ステップでは当該ドキュメントデータをＷＷＷサーバを介して出力することを特徴とする請求項１乃至４のいずれかに記載のネットワークデバイス管理方法。
【請求項６】
前記ネットワークデバイスに対応する複数の情報に含まれる複数の管理情報ごとに、当該管理情報に対応する保存用データが有効であるかを判定し、有効でなければ、当該管理情報の値を前記ネットワークデバイスから取得して、当該値を使用し、当該値を保存用データとして保存することを特徴とする請求項１乃至５のいずれかに記載のネットワークデバイス管理方法。
【請求項７】
前記管理情報は、前記ネットワークデバイスの状態情報、装備情報、機器情報、ネットワークボード情報、またはプロトコル情報であることを特徴とする請求項１乃至６のいずれかに記載のネットワークデバイス管理方法。
【請求項８】
前記ネットワークデバイスに対応する複数の情報をＷＷＷブラウザに表示する表示工程を有することを特徴とする請求項１乃至７のいずれかに記載のネットワークデバイス管理方法。
【請求項９】
前記ネットワークデバイスに対応する複数の情報はＳＮＭＰに規定されるＭＩＢオブジェクトの一単位であり、前記ネットワークデバイスに対応する複数の情報を含むＭＩＢオブジェクトの一単位ごとに、有効期限を入力する入力手段をさらに備えたものであることを特徴とする請求項１乃至８のいずれかに記載のネットワークデバイス管理方法。
【請求項１０】
前記ネットワークデバイスに対応する複数の情報はネットワークデバイスの製品名、または、ネットワークデバイスに装着されているオプションを示す情報であることを特徴とする請求項１乃至９のいずれかに記載のネットワークデバイス管理方法。
【請求項１１】
ネットワークデバイスに対応する複数の情報を出力するネットワークデバイス管理装置であって、
前記ネットワークデバイスから管理情報の値としてネットワークデバイスの状態を示すパラメータを取得する管理情報取得手段と、
前記ネットワークデバイスのうち、一台のネットワークデバイスに対応する状態を示す複数のパラメータを保存用データとして保存する保存用データ保存手段と、
前記一台のネットワークデバイスに対応する複数の情報を出力するために、保存手段に保存された、前記一台のネットワークデバイスに対応する複数のパラメータにそれぞれ定められた、複数の有効期限に基づいて、
前記保存手段で保存された複数のパラメータがそれぞれ有効であるか否かを判定する判定手段と、
前記判定手段で有効であると判定されたパラメータはネットワークデバイスに関する情報として使用し、前記判定手段で有効でないと判定されたパラメータはネットワークデバイスに関する情報として使用せずに、該ネットワークデバイスに関する情報を出力データに埋め込んで出力する情報出力手段を有することを特徴とするネットワークデバイス管理装置。
【請求項１２】
テンプレートファイル内のテンプレート変数が記述されている位置に前記保存用データを埋め込んで、前記ネットワークデバイスに対応する複数の情報を生成する生成手段を有することを特徴とする請求項１１に記載のネットワークデバイス管理装置。
【請求項１３】
前記ネットワークデバイスに対応する複数の情報は、ＨＴＭＬで記述されたドキュメントデータであり、前記情報出力手段では当該ドキュメントデータをＷＷＷサーバに出力することを特徴とする請求項１１或いは１２に記載のネットワークデバイス管理装置。
【請求項１４】
前記判定手段は、前記ネットワークデバイスに対応する複数の情報に含まれる複数の管理情報ごとに、当該管理情報に対応する当該パラメータがそれぞれ有効であるかを判定し、
前記管理情報取得手段は、有効でなければ、当該管理情報の値を前記ネットワークデバイスから取得し、
前記情報出力手段は、前記管理情報取得手段により取得された値を使用し、
前記保存用データ保存手段は、前記管理情報取得手段により取得された値を保存用データとして保存することを特徴とする請求項１１乃至１３のいずれかに記載のネットワークデバイス管理装置。
【請求項１５】
前記管理情報は、前記ネットワークデバイスの状態情報、装備情報、機器情報、ネットワークボード情報、またはプロトコル情報であることを特徴とする請求項１１乃至１４のいずれかに記載のネットワークデバイス管理装置。
【請求項１６】
前記ネットワークデバイスに対応する複数の情報はＳＮＭＰに規定されるＭＩＢオブジェクトの一単位であり、前記ネットワークデバイスに対応する複数の情報を含むＭＩＢオブジェクトの一単位ごとに、有効期限を入力する入力手段をさらに有することを特徴とする請求項１１乃至１５のいずれかに記載のネットワークデバイス管理装置。
【請求項１７】
前記ネットワークデバイスに対応する複数の情報はネットワークデバイスの製品名、または、ネットワークデバイスに装着されているオプションを示す情報であることを特徴とする請求項１１乃至１６のいずれかに記載のネットワークデバイス管理装置。
【請求項１８】
請求項１乃至１０に記載の方法をコンピュータに実行させる制御プログラムを格納したことを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータネットワークに関し、具体的には、ネットワークデバイス管理プログラムにおけるネットワークデバイスに関する情報の管理方法に関する。
【０００２】
【従来の技術】
図1は、プリンタをネットワークに接続するためのネットワークボード（ＮＢ）１０１を、開放型アーキテクチャをもつプリンタ１０２につなげた場合の図である。
【０００３】
ＮＢ１０１は、同軸コネクタをもつＥｔｈｅｒｎｅｔインタフェース１０Ｂａｓｅ−２や、ＲＪ−４５をもつ１０Ｂａｓｅ−Ｔなどのローカルエリアネットワークインターフェースを介して、ローカルエリアネットワーク（ＬＡＮ）１００に接続される。
【０００４】
ＰＣ１０３、ＰＣ１０４などの複数のパーソナルコンピュータ（ＰＣ）もＬＡＮ１００に接続されており、これらのＰＣは、ネットワークオペレーティングシステムの制御のもと、ＮＢ１０１と通信することができる。従って、ＰＣの１つを、例えばＰＣ１０３をネットワークデバイス管理用ＰＣとして使用することができる。また、ＰＣ１０４にプリンタ１０５をローカルプリンタとしてローカル接続してもよい。
【０００５】
また、ファイルサーバＰＣ１０６がＬＡＮ１００に接続されており、大容量（例えば、１００億バイト）のネットワークディスク１０７に記憶されたファイルへのアクセスを管理する。
【０００６】
プリントサーバＰＣ１０８は、ローカルに接続された複数のプリンタ１０９、または遠隔地にあるプリンタ１０５などのプリンタへの印刷を管理する。
【０００７】
このほか、図示していない他の周辺機器、例えば、複写機及びスキャナーをプリンタと同様にＬＡＮ１００に接続してもよい。
【０００８】
図1に示すネットワークでは、様々なネットワークメンバ間で効率よく通信を行うために、ＮｏｖｅｌｌやＵＮＩＸなどのネットワークソフトウェアを使用することができる。例えば、Ｎｏｖｅｌｌ社のＮｅｔＷａｒｅ（Ｎｏｖｅｌｌ社の登録商標。以下、省略）ソフトウェアを使用することができる。このソフトウェアパッケージに関する詳細説明は、ＮｅｔＷａｒｅパッケージに同梱されているオンラインドキュメンテーションを参照してほしい。これは、Ｎｏｖｅｌ社からＮｅｔＷａｒｅパッケージと共に購入することができる。
【０００９】
ＰＣ１０３およびＰＣ１０４はそれぞれ、データファイルの生成、生成したデータファイルのＬＡＮ１００への送信、また、ＬＡＮ１００からのファイルの受信、さらに、それらのファイルの表示および／または処理を行うことができる一般的なＰＣである。
【００１０】
図1では、パーソナルコンピュータ機器（ＰＣ）が示されているが、ネットワークソフトウェアを実行するのに適した他のコンピュータ機器であってもよい。例えば、ＵＮＩＸのソフトウェアを使用している場合にはＵＮＩＸワークステーションをネットワークに接続してもよく、これらのワークステーションは図示されているＰＣと共に使用される。
【００１１】
通常、ＬＡＮ１００は、比較的ローカルなユーザグループに、例えば、１つの建物内の１つの階または連続した複数の階のユーザグループ等にサービスを提供する。一方、ユーザが異なる建物や異なる県に居るなど、ユーザ同士が離れるに従って、ワイドエリアネットワーク（ＷＡＮ）を構築してもよい。
【００１２】
基本的には、ＷＡＮは、いくつかのＬＡＮがサービス総合デジタルネットワーク（ＩＳＤＮ）などの高速度デジタル線で接続されることにより形成される、ＬＡＮの集合体である。例えば、図1に示すように、ＬＡＮ１００、ＬＡＮ１１０、ＬＡＮ１２０とが、モデム／トランスポンダ１３０およびバックボーン１４０によって接続されることにより、ＷＡＮが形成される。
【００１３】
それぞれのＬＡＮには、ＰＣが接続されており、必要に応じてファイルサーバＰＣやプリントサーバＰＣが接続されることがある。図1に示すように、ＬＡＮ１１０には、ＰＣ１１１、ＰＣ１１２、ファイルサーバＰＣ１１３、ネットワークディスク１１４、プリントサーバＰＣ１１５、プリンタ１１６が接続されている。ＬＡＮ１００、ＬＡＮ１１０、ＬＡＮ１２０にそれぞれ接続されている機器は、WAN接続を介して他のＬＡＮに接続されている機器の機能にアクセスすることができる。
【００１４】
このような大規模ネットワークシステムを構築するネットワークにおいて、ネットワークデバイスを管理するための方法について、これまでにいくつかの試みが数多くの標準機関でなされている。国際標準化機構（ＩＳＯ）は、開放型システム間相互接続（Ｏｐｅｎ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ、ＯＳＩ）モデルと呼ばれる汎用基準フレームワークを提供した。ネットワーク管理プロトコルのＯＳＩモデルは、共通管理情報プロトコル（Ｃｏｍｍｏｎ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ、ＣＭＩＰ）と呼ばれる。ＣＭＩＰはヨーロッパの共通ネットワーク管理プロトコルである。
【００１５】
また、近年では、より共通性の高いネットワーク管理プロトコルとして、簡易ネットワーク管理プロトコル（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ、ＳＮＭＰ）と呼ばれるＣＭＩＰに関連する一変種のプロトコルがある（「ＴＣＰ／ＩＰネットワーク管理入門  実用的な管理をめざして」Ｍ．Ｔ．ローズ＝著／西田竹志＝訳  （株）トッパン発行  １９９２年８月２０日初版を参照）。
【００１６】
このＳＮＭＰネットワーク管理技術によれば、ネットワーク管理システムには、少なくとも１つのネットワーク管理ステーション（ＮＭＳ）、それぞれにエージェントが実装された管理対象ネットワークデバイス、および管理ステーションとエージェントとが管理情報を交換するために使用するネットワーク管理プロトコルが含まれる。ユーザは、ＮＭＳ上のネットワークデバイス管理プログラムを用いて、管理対象ネットワークデバイス上のエージェントと交信することにより、ネットワーク上の管理対象ネットワークデバイスの管理情報を得たり、変更したりすることができる。
【００１７】
ここで、エージェントとは、各々の管理対象ネットワークデバイスでバックグラウンドプロセスとして実行されるソフトウェアである。ネットワークデバイス管理プログラムが管理対象ネットワークデバイスのエージェントに対して管理情報を要求するときは、オブジェクト識別子を管理パケットまたはフレームに入れてエージェントに送る。
【００１８】
エージェントでは、そのオブジェクト識別子を解釈して、当該オブジェクト識別子に対応するオブジェクトの値をパケットに入れて、ネットワークデバイス管理プログラムに送り返す。
【００１９】
エージェントは、管理対象ネットワークデバイスの管理情報をデータベースの形式で保持している。このデータベースのことをＭＩＢ（ＭａｎａｇｅｍｅｎｔＩｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）という。ＭＩＢにおける管理情報のことをＭＩＢ情報といい、ＭＩＢにおけるそれぞれのオブジェクトをＭＩＢオブジェクトという。ＭＩＢは木構造のデータ構造をしており、全てのノードに一意に番号が付けられている。このノードの識別子のことをオブジェクト識別子（Ｏｂｊｅｃｔ  Ｉｄｅｎｔｉｆｉｅｒ）という。
【００２０】
ＭＩＢの構造は、管理情報構造（Ｓｔｒｕｃｔｕｒｅ  ｏｆ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ）と呼ばれ、ＲＦＣ１１５５  Ｓｔｒｕｃｔｕｒｅ  ａｎｄＩｄｅｎｔｉｆｉｅｒ  ｏｆ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  ｆｏｒ  ＴＣＰ／ＩＰ−ｂａｓｅｄ  Ｉｎｔｅｒｎｅｔｓで規定されている。
【００２１】
次に、エージェントが実装されるネットワークボード（ＮＢ）１０１について説明する。図１３は、ＮＢ１０１をプリンタ１０２にインストールした状態を示す一部破断図である。ＮＢ１０１はネットワーク接続のためのフェーズプレート１３０１と印刷回路ボード１３０２から構成されており、コネクタ１３０３を介してプリンタインターフェースカード１３０４に接続される。
【００２２】
プリンタインターフェースカード１３０４は、プリンタ１０２のプリンタエンジンを直接、制御する。印刷データ及びプリンタ状態コマンドは、ＮＢ１０１からコネクタ１３０３を介して、プリンタインターフェースカード１３０４へ入力され、また、プリンタの状態情報はプリンタインターフェースカード１３０４からコネクタ１３０３を介してＮＢ１０１へ出力される。
【００２３】
ＮＢ１０１は、この状態情報をプリンタ１０２の管理情報として、フェーズプレート１３０１のネットワークコネクタを介してＬＡＮ１００上へ送信する。同時に、ＮＢ１０１はシリアルポート１３０５及びパラレルポート１３０６等を介して、ＬＡＮ１００から印刷データを受信することができる。
【００２４】
図１４は、ＮＢ１０１とプリンタ１０２とＬＡＮ１００との電気的接続を示すブロック図である。ＮＢ１０１は、ＬＡＮ１００とはＬＡＮインターフェースを介して、プリンタ１０２とはプリンタインターフェースを介して、直接接続されている。
【００２５】
ＮＢ１０１には、マイクロプロセッサ１４０１、ＲＯＭ１４０２、ＲＡＭ１４０３、共有メモリ１４０４とがあり、これらは内部バスを通じて相互に接続されている。マイクロプロセッサ１４０１はＮＢ１０１を制御する。ＲＯＭ１４０２はマイクロプロセッサ１４０１の動作プログラムを格納する。ＲＡＭ１４０３はマイクロプロセッサ１４０１がプログラムを実行するときのワークエリアとして用いられる。共有メモリ１４０４はＮＢ１０１とプリンタインターフェースカード１３０４とが相互に情報をやり取りするために用いられる。なお、共有メモリ１４０４の代わりに、ＳＣＳＩインターフェース等のインターフェースを使用することもできる。
【００２６】
ＮＢ１０１上にエージェントを実装するためのプログラムはＲＯＭ１４０２に格納される。マイクロプロセッサ１４０１は、ＲＯＭ１４０２に格納されたプログラムにしたがって動作し、ワークエリアとしてＲＡＭ１４０３を用いる。また、プリンタインターフェースカード１３０４と通信するためのバッファ領域として共有メモリ１４０４を用いる。
【００２７】
また、ＳＮＭＰプロトコルについて簡単に説明する。ネットワークデバイス管理プログラムとエージェントとはＳＮＭＰプロトコルを用いて通信する。ＳＮＭＰプロトコルには５種類のコマンドがあり、それぞれＧｅｔ−ｒｅｑｕｅｓｔ、Ｇｅｔ−ｎｅｘｔ−ｒｅｑｕｅｓｔ、Ｇｅｔ−ｒｅｓｐｏｎｓｅ、Ｓｅｔ−ｒｅｑｕｅｓｔ、Ｔｒａｐと呼ばれる。
【００２８】
Ｇｅｔ−ｒｅｑｕｅｓｔおよびＧｅｔ−ｎｅｘｔ−ｒｅｑｕｅｓｔは、ネットワークデバイス管理プログラムがエージェントからＭＩＢ情報を取得するために、エージェントに対して送るコマンドである。このコマンドを受け取ったエージェントは、ＭＩＢ情報をネットワークデバイス管理プログラムに通知するために、Ｇｅｔ−ｒｅｓｐｏｎｓｅコマンドを送る。
【００２９】
Ｓｅｔ−ｒｅｑｕｅｓｔは、ネットワークデバイス管理プログラムがエージェントのＭＩＢオブジェクトに値を設定するために、エージェントに対して送るコマンドである。このコマンドを受け取ったエージェントは、ＭＩＢオブジェクトに値を設定した後、その設定結果をネットワークデバイス管理プログラムに通知するためにＧｅｔ−ｒｅｓｐｏｎｓｅコマンドを送る。
【００３０】
Ｔｒａｐは、エージェント自身の状態の変化をネットワークデバイス管理プログラムへ通知するために、エージェントがネットワークデバイス管理プログラムに対して送るコマンドである。
【００３１】
エージェントはプリンタ１０２に接続されているネットワークボード（ＮＢ）１０１上で動作し、ネットワークデバイス管理プログラムはＰＣ上で動作する。
【００３２】
【発明が解決しようとする課題】
しかし、従来における管理対象ネットワークデバイスのＭＩＢ情報を取得するシステムにおいては、ユーザがネットワークデバイスに関する情報の表示要求を出すたびに、当該システムを構成するモジュールがいくつもロードされて、ＳＮＭＰプロトコルによる通信が行われる。それが原因となって、ユーザがネットワークデバイスに関する情報の表示要求を出してから、実際に情報が表示されるまでにかなりの時間がかかっていた。
【００３３】
つまり、ユーザによるネットワークデバイスに関する情報の表示要求が発生するたびに、ネットワークデバイス管理プログラムがネットワークデバイスのエージェントに対してＭＩＢ情報を取得要求するため、ネットワーク２００のトラフィックが増加するとともに、ネットワークデバイスに負荷をかけていた。
【００３４】
そこで、本発明は、上記従来例に鑑みて、ネットワークデバイス管理プログラムからネットワークデバイスのエージェントに対するＭＩＢ情報の取得要求をできるだけ少なくし、迅速な情報表示と、ネットワークのトラフィック及びネットワークデバイスの負荷の削減を実現することを目的としている。
【００３５】
【課題を解決するための手段】
ネットワークデバイスに関する情報を出力するネットワークデバイス管理方法において、
前記ネットワークデバイスから管理情報の値としてネットワークデバイスの状態を示すパラメータを取得する管理情報取得ステップと、
前記ネットワークデバイスのうち、一台のネットワークデバイスの状態を示す複数のパラメータを保存用データとして保存する保存用データ保存ステップと、
前記一台のネットワークデバイスに対応する複数の情報を出力するために、前記一台のネットワークデバイスに対応する複数のパラメータにそれぞれ定められた、複数の有効期限に基づいて、前記保存ステップで保存された複数のパラメータがそれぞれ有効であるか否かを判定する判定ステップと、
前記判定ステップで有効であると判定されたパラメータはネットワークデバイスに関する情報として使用し、前記判定ステップで有効でないと判定されたパラメータはネットワークデバイスに関する情報として使用せずに、該ネットワークデバイスに関する情報を出力データに埋め込んで出力する情報出力ステップをコンピュータに実行させることを特徴とするネットワークデバイス管理方法。
【００８３】
【発明の実施の形態】
〔１〕第１の実施形態
近年のインターネットの普及により、ネットワークデバイス管理プログラムをクライアントＰＣごとにそれぞれ動作させるのではなく、ネットワークデバイス管理プログラムをWWWサーバＰＣ１５０上で動作させて、クライアントＰＣにおいて、ユーザはユーザインターフェースとしてWWWブラウザを用いて、ネットワークデバイスに関する情報を見る。
【００８４】
つまり、ＷＷＷサーバＰＣ１５０にインストールされたネットワークデバイス管理プログラムがネットワークデバイスに関する情報を示すＨＴＭＬドキュメントを生成し、それぞれのユーザは、ＰＣ１０３、ＰＣ１０４において、ＷＷＷブラウザの表示画面でそのＨＴＭＬドキュメントの内容を見る。あるいは、ユーザは、ＷＷＷブラウザの表示画面でプリンタの設定を行い、その設定内容をＷＷＷサーバＰＣ１５０上のネットワークデバイス管理プログラムを介して特定のプリンタに送信することができる。
【００８５】
図2を用いて、一般的なＷＷＷシステムの動作及びＷＷＷシステムに基づいたネットワークデバイス管理プログラムの動作の概要を説明する。
【００８６】
ＰＣ２０１は図1におけるＷＷＷサーバＰＣ１５０と同等であり、ＰＣ２０１ではＷＷＷサーバプログラム２１１が動作している。ＰＣ２０１のディスクにはＨＴＭＬで記述された多数のＷＷＷページデータが格納されている。ＰＣ２０３及び２０４上で動作しているＷＷＷブラウザプログラム２１３及び２１４は、それぞれのユーザにより指定されたＷＷＷページを表示するために、ＰＣ２０１上で動作しているＷＷＷサーバプログラム２１１に対して、当該指定されたＷＷＷページのＷＷＷページデータの取得要求を行う。
【００８７】
ＷＷＷサーバプログラム２１１は、ＷＷＷブラウザプログラム２１３及び２１４からのＷＷＷページデータの取得要求に対する応答として、当該指定されたページのＷＷＷページデータを送る。ＷＷＷブラウザプログラム２１３及び２１４は、取得したＷＷＷページデータを解析して、その記述に従い当該指定されたページの内容を表示する。
【００８８】
ＷＷＷサーバプログラム２１１は、ＷＷＷブラウザプログラム２１３及び２１４からのＷＷＷページデータの取得要求の中にＣＧＩ（Ｃｏｍｍｏｎ  Ｇａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅ）を経由した要求が含まれている場合には、ＣＧＩの所定の方法により外部スクリプト或いは外部プログラムを起動し、その外部スクリプト或いは外部プログラムが生成するＷＷＷページデータをＷＷＷブラウザプログラム２１３及び２１４に送り返す。
【００８９】
次に、上記ＣＧＩで起動された外部プログラムがネットワークデバイス管理プログラムである場合について説明する。ＷＷＷサーバプログラム２１１によりＣＧＩで起動されたネットワークデバイス管理プログラム２２１は、ＳＮＭＰプロトコルを用いて、管理対象ネットワークデバイスのエージェント、例えば、プリンタ２０２のエージェント２１２から必要なＭＩＢ情報を取得する。そして、取得したＭＩＢ情報をもとにＨＴＭＬで記述されたＷＷＷページデータを生成し、ＷＷＷサーバプログラム２１１に渡す。なお、プリンタ２０２は図1におけるプリンタ１０２と同等である。
【００９０】
図3は、ネットワークデバイス管理プログラムが稼動可能なＰＣの構成を示すブロック図である。図3において、３５０はネットワークデバイス管理プログラムが稼動するＰＣであり、図２におけるＷＷＷサーバＰＣ２０１と同等である。ＰＣ３５０は、ＣＰＵ３０１、ＲＯＭ３０２、ＲＡＭ３０３、システムバス３０４、キーボードコントローラ（ＫＢＣ）３０５、ＣＲＴコントローラ（ＣＲＴＣ）３０６、ディスクコントローラ（ＤＫＣ）３０７、ネットワークインターフェースカード（ＮＩＣ）３０８、キーボード（ＫＢ）３０９、ＣＲＴディスプレイ（ＣＲＴ）３１０、ハードディスク（ＨＤ）３１１、フロッピーディスク（ＦＤ）３１２とを備えた構成となっている。
【００９１】
ＣＰＵ３０１は、ＲＯＭ３０２またはＨＤ３１１に記憶された、あるいはフロッピーディスクドライブに挿入されたＦＤ３１２より供給される、図４から図１２に示されるネットワークデバイス管理プログラムを実行し、システムバス３０４に接続されている各デバイスを総括的に制御する。
【００９２】
ＲAＭ３０３はＣＰＵ３０１の主メモリ、ワークエリアなどとして使用される。ＫＢＣ３０５はＫＢ３０９や不図示のポインティングデバイスなどからの指示入力を制御する。ＣＲＴＣ３０６はＣＲＴ３１０の表示を制御する。
【００９３】
ＨＤ３１１およびＦＤ３１２はブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイル、およびネットワーク管理プログラムなどを記憶する。ＤＫＣ３０７はＨＤ３１１およびＦＤ３１２へのアクセスを制御する。ＮＩＣ３０８はＬＡＮ３００を介してネットワークデバイスと双方向にデータを送受信する。
【００９４】
図4は、本発明の第１の実施形態におけるネットワークデバイス管理プログラムのモジュール構成図である。ネットワークデバイス管理プログラム４０１は、ＣＧＩインターフェース４０２、全体制御モジュール４０３、パラメータモジュール４０４、システムモジュール４０５、デバイスリストモジュール４０７、デバイス探索モジュール４０８、デバイス詳細モジュール４１０、デバイス固有モジュール４１０、テンプレートモジュール４１２、プロトコルモジュール４０９を備えた構成となっている。
【００９５】
ネットワークデバイス管理プログラム４０１は、ＷＷＷサーバプログラム４００から起動され、ＣＧＩインターフェース４０２を介してＷＷＷサーバプログラム４００とＣＧＩパラメータおよびＨＴＭＬドキュメントをやり取りする。
【００９６】
全体制御モジュール４０３は、パラメータモジュール４０４にＣＧＩパラメータの登録を指示した後、ＣＧＩパラメータの中のコマンドパラメータに応じて、システムモジュール４０５、デバイスリストモジュール４０７、デバイス詳細モジュール４１０のいずれかに制御を振り分ける。ＣＧＩパラメータに誤りがあった場合には、テンプレートモジュール４１２を介して、ＣＧＩパラメータに誤りがある旨のＨＴＭＬドキュメントを生成することもある。
【００９７】
パラメータモジュール４０４は、全体制御モジュール４０３により登録を指示されたＣＧＩパラメータをテーブル形式で保存および管理する。他のモジュールは、必要に応じて、パラメータモジュール４０４から必要なＣＧＩパラメータを取得することができる。
【００９８】
システムモジュール４０５は、ネットワークデバイス管理プログラム４０１の動作を規定するシステムパラメータ（例えば、ネットワークデバイスの探索で使用するプロトコル）の表示および設定に関する制御をし、それに関連するＨＴＭＬドキュメントをテンプレートモジュール４１２を介して生成する。
【００９９】
システムモジュール４０５は、パラメータモジュール４０４からコマンドパラメータを取得し、コマンドパラメータの内容がシステムパラメータの表示要求であった場合は、システム設定ファイル４０６から必要な情報を読み出し、テンプレートモジュール４１２を介してシステムパラメータ表示用ＨＴＭＬドキュメントを生成する。
【０１００】
また、コマンドパラメータの内容がシステムパラメータの設定要求であった場合には、システム設定ファイル４０６にシステムパラメータを書き込み、テンプレートモジュール４１２を介して設定後に表示すべきＨＴＭＬドキュメントを生成する。
【０１０１】
なお、図には示していないが、ネットワーク管理プログラム４０１を構成する各モジュールは、システム設定ファイル４０６に保存されたシステムパラメータを必要に応じて読み出すことができる。
【０１０２】
デバイスリストモジュール４０７は、デバイス探索モジュール４０８により探索されたネットワークデバイスの一覧（デバイスリスト）の表示に関する制御をし、それに関連するＨＴＭＬドキュメントをテンプレートモジュール４１２を介して生成する。また、デバイスリストの表示オプションの処理なども行う。
【０１０３】
デバイス探索モジュール４０８は、ネットワークに接続されたデバイスを探索する。
【０１０４】
デバイス詳細モジュール４１０は、ＣＧＩパラメータにより指定されたネットワークデバイスの詳細情報の表示に関する制御をし、それに関連するＨＴＭＬドキュメントをテンプレートモジュール４１２を介して生成する。なお、デバイス詳細モジュール４１０は、指定されたネットワークデバイスの詳細情報を取得するために、当該指定されたネットワークデバイスに対応するデバイス固有モジュール４１１に指示を出す。
【０１０５】
デバイス固有モジュール４１１は、ネットワークデバイスの種類ごとに存在する。デバイス固有モジュール４１１は、システムモジュール４０５、デバイスリストモジュール４０７、デバイス詳細モジュール４１０により指定されたＩＰアドレスに対応するネットワークデバイスから必要なＭＩＢ情報を取得する。
【０１０６】
また、ネットワークデバイスのＭＩＢオブジェクトに値を設定するときには、ＣＧＩパラメータで通知された設定値を、ＭＩＢオブジェクトに設定可能な値に変換する。
【０１０７】
プロトコルモジュール４０９は、ＭＩＢのハンドリング、ＳＮＭＰパケットの送受信、トランスポートプロトコルの制御など、ネットワーク管理プログラムがネットワークデバイス４５０と通信するために必要な制御を行う。
【０１０８】
テンプレートモジュール４１２は、図3のハードディスク３１１に保存されているテンプレートファイル４１３をもとにネットワークデバイス管理プログラム４０１の出力結果としてＨＴＭＬドキュメントを生成する。
【０１０９】
そのため、テンプレートモジュール４１２は、ＣＧＩパラメータ、全体制御モジュール４０３、システムモジュール４０５、デバイスリストモジュール４０７、デバイス詳細モジュール４０９により指定されたテンプレートファイルをオープンする。そして、そのテンプレートファイルの内容を解析し、テンプレートファイル内で宣言されたテンプレート変数の値を、全体制御モジュール４０３、システムモジュール４０５、デバイスリストモジュール４０７、デバイス詳細モジュール４０９のいずれかに問い合わせて、返ってきた値をその変数に埋めることによりＨＴＭＬドキュメントを生成する。
【０１１０】
同一のテンプレートファイルをもとに2回目以降にＨＴＭＬドキュメントを生成する際には、その処理時間を短縮するために、ＨＴＭＬドキュメントを生成する際に１度使用したテンプレート変数の値をキャッシュファイル４１４に保存する。
【０１１１】
キャッシュファイルは、それぞれのテンプレートファイルごとに用意される。なお、キャッシュファイル４１４は、図3のＨＤ３１１に記憶される。
【０１１２】
次に、デバイスリストについて説明する。図５はデバイスリストを示す画面図である。ユーザがこの画面を示すＵＲＬを指定することにより、ＣＧＩ経由でネットワークデバイス管理プログラムが起動され、デバイスリストモジュール４０７はデバイス探索モジュール４０８にネットワークデバイスの探索指示を出す。すると、デバイス探索モジュール４０８はネットワークに接続されているネットワークデバイスを探索する。
【０１１３】
そして、その結果をもとに、テンプレートモジュール４１２を介して、探索で察知されたネットワークデバイスについてデバイスの種類（５０１）、デバイス名（５０２）、製品名（５０３）、ネットワークボード製品名（５０４）、ネットワークアドレス（５０５）、デバイスの状態（５０６）を表示するＨＴＭＬドキュメントが生成される。
【０１１４】
デバイスの種類は、普通のプリンタであるとか、コピー機能もついた複合機であるとかによって分類され、５０１のようにアイコンで表示される。デバイス名とは、ユーザがそれぞれのネットワークデバイスに付けた名前である。デバイスの状態は、ネットワークデバイスにおいて発生しているエラーの重要度によってアイコンが変化して表示される。
【０１１５】
ユーザが、あるデバイス名をポインティングデバイスでクリックすると、ネットワークデバイス管理プログラムが再度起動され、当該デバイス名に対応するネットワークデバイスの詳細情報が表示される。
【０１１６】
次に、デバイス詳細について説明する。図6及び図7はデバイス詳細を表示する画面図である。デバイスリストにおいて、ユーザがあるデバイス名をクリックすると、そのデバイス名に該当するネットワークデバイスのＩＰアドレスがネットワークデバイス管理プログラムに渡され、対応するネットワークデバイスの詳細情報が表示される。
【０１１７】
表示される情報は、状態（７０２）、装備情報（７０３）、機器情報（７０４）、ネットワークボード情報（７０５）、プロトコル情報（７０６）である。
【０１１８】
次に、テンプレートファイル４１３について説明する。図８は、テンプレートファイルの構造８０１、ＨＥＡＤブロック８０２の記述例、ＢＯＤＹブロック８０３の記述例を示す。
【０１１９】
テンプレートファイルの内容は、＜＜ＴＥＭＰＬＡＴＥ＞＞タグで始まり、＜＜／ＴＥＭＰＬＡＴＥ＞＞タグで終わる。さらに、その中は、＜＜ＨＥＡＤ＞＞タグと＜＜／ＨＥＡＤ＞＞タグの間に記述されるＨＥＡＤブロック８０２、＜＜ＢＯＤＹ＞＞タグと＜＜／ＢＯＤＹ＞＞タグとの間に記述されるＢＯＤＹブロック８０３の２つのブロックから構成される。
【０１２０】
ＨＥＡＤブロック８０２には、デバイス情報をテンプレート変数として宣言する＜＜ＶＡＲＩＡＢＬＥ＞＞タグが記述される。デバイス情報とは、主にＭＩＢ情報から得られる情報で、ＭＩＢオブジェクトの値そのものである場合や複数のＭＩＢオブジェクトの値から求められる値である場合がある。
【０１２１】
デバイス情報の値が複数のＭＩＢオブジェクトの値から求められる例として次のようなものがある。図６に示すようにネットワークデバイスのイメージ図７０１を表示する場合、デバイス情報の値としてイメージファイルのファイル名が設定される。ここで、どのイメージファイルを使用するかを決めるためには、ネットワークデバイスの製品名、各オプション（例えば、ソータ、フィーダ、トレイ）の有無などを複数のＭＩＢオブジェクトから知る必要がある。
【０１２２】
表示すべきデバイス情報には、その値が変わりやすいものとそうでないものがあるので、＜＜ＶＡＲＩＡＢＬＥ＞＞タグの中では、テンプレート変数の宣言をするとともに、それぞれのテンプレート変数の有効期限を  ＥＸＰ＝“日．時間．分”  といった形で記述しておく。なお、ユーザはこの有効期限を自由に設定することができ、それぞれのテンプレート変数で有効期限の長さが異なるように設定することもできる。なお、有効期限の利用法については、後述する。
【０１２３】
テンプレートモジュール４１２がテンプレートファイル４１３をもとにＨＴＭＬドキュメントを生成する際には、まず、ＨＥＡＤブロック８０２を解析する。それにより、ＨＴＭＬドキュメントを生成するに当たり、どのようなテンプレート変数の値が必要であるか、すなわち、どのようなデバイス情報が必要であるかが分かる。例えば、＜＜ＶＡＲＩＡＢＬＥ  ＮＡＭＥ＝“ＷＮＴＶＡＲ＿ＤＣＶ＿ＰＲＯＤＵＣＴ”  ＥＸＰ＝“１．０．０”＞＞を解析することにより、あるネットワークデバイスの製品名を取得する必要があることが分かる。
【０１２４】
ＢＯＤＹブロック８０３は、実際にＷＷＷブラウザで表示される内容がＨＴＭＬで記述された部分であり、テンプレート変数の値を埋め込む＜＜ＥＭＢＥＤ＞＞タグ等を含む。ＢＯＤＹブロック８０３を解析する際には、＜＜ＥＭＢＥＤ＞＞タグと、そこに記述されている変数名に対応するテンプレート変数の値とを置き換える。
【０１２５】
以下にテンプレートファイルで使用されるタグとその機能の一覧を示す。
タグ                  機能
ＴＥＭＰＬＡＴＥ      テンプレートの記述
ＨＥＡＤ              ヘッダ記述
ＢＯＤＹ              本体記述
ＬＩＮＫ              関連するテンプレートファイルの記述
ＶＡＲＩＡＢＬＥ      テンプレート変数の宣言
ＩＮＣＬＵＤＥ        テンプレートファイルのインクルード
ＳＥＴ                変数の値の設定
ＥＭＢＥＤ            変数の値の埋め込み
ＩＳＶＡＬＩＤ        変数値が有効であるかどうかの評価
ＥＶＡＬ              変数値の比較
ＬＯＯＰ              繰り返しの記述
ＣＯＭＭＥＮＴ        コメントの記述
【０１２６】
次に、キャッシュファイル４１４について説明する。図９は、キャッシュファイルの内容の一例である。キャッシュファイルはテンプレートファイルごとに用意されており、テンプレートファイルのＨＥＡＤブロックで宣言されたテンプレート変数ごとに、変数名、値、最終更新時刻が保存される。例えば、図９の１行目には、テンプレート変数ＷＮＴＶＡＲ＿ＤＣＶ＿ＰＲＯＤＵＣＴの値は“ＬＢＰ”で、６月２日１０時３０分にその値がキャッシュファイルに保存されたことが示されている。
【０１２７】
図１０は、テンプレートモジュール４１２がテンプレートファイル４１３を解析する際の動作を示すフローチャートである。まず、ステップＳ１００１において、テンプレートファイル４１３のＨＥＡＤブロックで宣言されたテンプレート変数の個数を求め、変数ｎに代入する。また、カウンタｉを１に初期化する。
【０１２８】
ステップS１００３において、カウンタｉの値が変数ｎの値より大きいかを判定し、カウンタｉの値が変数ｎの値より大きければ、ステップS１００４において，BODY部を解析して＜＜ＥＭＢＥＤ＞＞タグにテンプレート変数の値を埋めていく。
【０１２９】
カウンタｉの値が変数ｎの値以下であれば、ステップＳ１００５に移る。ステップＳ１００５においては、第ｉ番目に宣言されたテンプレート変数の有効期限と、当該テンプレート変数のキャッシュファイルにおけるキャッシュ値の更新時刻を得る。なお、キャッシュ値とはキャッシュファイルに保存された値（データ）のことをいう。
【０１３０】
ステップＳ１００６においては、現在時刻とステップＳ１００５で得た更新時刻との時差を計算し、その時差がステップＳ１００５で得た有効期限以下であるかを判定する。以下であれば、ステップＳ１００７において、キャッシュ値が有効であるとして、当該テンプレート変数の値としてキャッシュ値を用いる。
【０１３１】
以下でなければ、ステップＳ１００８において、当該テンプレート変数の値を、システムモジュール４０５、デバイスリストモジュール４０７、デバイス詳細モジュール４１０のいずれかに問い合わせて得る。システムモジュール４０５、デバイスリストモジュール４０７、デバイス詳細モジュール４１０は、それぞれに関連するテンプレートファイルのテンプレート変数について、その値の出し方を記憶している。
【０１３２】
それにより、例えば、テンプレートモジュール４１２が、あるネットワークデバイスのデバイス詳細において製品名を表示するために、テンプレート変数ＷＮＴＶＡＲ＿ＤＣＶ＿ＰＲＯＤＵＣＴの値をデバイス詳細モジュール４１０に問い合わせると、デバイス詳細モジュール４１０は、ＣＧＩパラメータに含まれるＩＰアドレスと製品名を示すＭＩＢオブジェクト識別子をデバイス固有モジュール４１１に渡して当該ＭＩＢオブジェクトの値を取得する。
【０１３３】
そして、デバイス詳細モジュール４１０は取得したＭＩＢオブジェクトの値からテンプレート変数ＷＮＴＶＡＲ＿ＤＣＶ＿ＰＲＯＤＵＣＴの値を出して、テンプレートモジュール４１２にその値を返す。
【０１３４】
ステップＳ１００９においては、ステップＳ１００８で得たテンプレート変数の値をキャッシュファイルに保存し、保存した時刻を更新時刻とする。なお、当該テンプレート変数の値を求めた時刻を更新時刻として保存してもよい。
【０１３５】
ステップＳ１０１０では、カウンタｉを１だけ増やし、ステップＳ１００３に戻る。
【０１３６】
図１１は、ネットワークデバイス管理プログラムのファイル構成図である。なお、このファイル構成は図３のハードディスク（ＨＤ）３１１に構築される。
【０１３７】
影付きのボックスがディレクトリを表し、単枠のボックスがファイルを表している。１１０１はネットワークデバイス管理プログラムのルートディレクトリである。このルートディレクトリ１１０１の下には、Ｄｏｃｕｍｅｎｔディレクトリ１１０２、Ｉｍａｇｅディレクトリ１１０３、Ｔｅｍｐｌａｔｅディレクトリ１１０４が存在し、その他、実行ファイルであるＷＮＳ．ｅｘｅ１１０５および各種ＨＴＭＬファイル１１０６が存在する。
【０１３８】
Ｄｏｃｕｍｅｎｔディレクトリ１１０２の下には、テンプレート変数の値を一時的に保存するためのキャッシュファイルが存在する。なお、キャッシュファイルは各テンプレートファイルごとに用意される。Ｉｍａｇｅディレクトリ１１０３の下には、情報の表示に使用される各種のイメージファイル１１０７が存在する。
【０１３９】
Ｔｅｍｐｌａｔｅディレクトリ１１０４は、テンプレートファイルを格納するためのディレクトリであり、その下には３つのディレクトリがある。ｓｙｓディレクトリ１１０８には、デバイスリスト、エラー関係などの個々のネットワークデバイスに依存しない情報を表示するためのテンプレートファイル１１１１が格納されている。
【０１４０】
pｒｏｄｕｃｔディレクトリ１１０９には、製品固有の詳細情報を表示するためのテンプレートファイル１１１２が格納されており、製品の種類だけテンプレートファイルが存在する。なお、このテンプレートファイルで表示される詳細情報は、図６に示されている状態（７０２）、装備情報（７０３）、機器情報（７０４）である。
【０１４１】
また、ＮＩＣディレクトリ１１１０には、ネットワークボード固有の詳細情報を表示するためのテンプレートファイル１１１３が格納されており、ネットワークボードの種類だけテンプレートファイルが存在する。なお、このテンプレートファイルで表示されるデバイス情報は、図７で示されているネットワーク情報（７０５）、プロトコル情報（７０６）である。
【０１４２】
ただし、複数の製品もしくはネットワークボード間で同一のテンプレートファイルを共有することができる場合は、必ずしも製品もしくはネットワークボードの種類だけテンプレートファイルを用意する必要はない。
【０１４３】
以上、第1の実施形態について説明したが、次のように変更してもよい。
【０１４４】
まず、第１の実施形態では、テンプレート変数の有効期限をテンプレートファイル内に記述したが、テンプレートファイルとは別に有効期限記憶用のファイルを用意しても良いし、また、有効期限を記憶するデータベースを別に用意しても良い。
【０１４５】
同様に、第１の実施形態では、テンプレート変数のキャッシュ値の更新時刻をキャッシュ値と同じキャッシュファイルに記憶したが、キャッシュファイルとは別にキャッシュ値の更新時刻記憶用のファイルを用意しても良いし、また、更新時刻を記憶するデータベースを別に用意しても良い。
【０１４６】
また、第１の実施形態では、テンプレート変数の値をキャッシュファイルに保存したが、ＭＩＢオブジェクトの値をネットワークデバイスのＩＰアドレス及びＭＩＢオブジェクト識別子と組にしてキャッシュファイルに保存し、ＭＩＢオブジェクト或いはある一群のＭＩＢオブジェクトごとにキャッシュ値の更新時刻と有効期限を保持するようにしてもよい。
【０１４７】
ＭＩＢオブジェクトの値をキャッシュファイルに保存する場合の一例として、図１２は、あるネットワークデバイスのデバイス詳細において製品名を表示するために、テンプレートモジュール４１２がテンプレート変数ＷＮＴＶＡＲ＿ＤＣＶ＿ＰＲＯＤＵＣＴの値をデバイス詳細モジュール４１０に問い合わせたときの、デバイス詳細モジュール４１０の動作を示すフローチャートである。
【０１４８】
まず、ステップＳ１２０１において、テンプレート変数ＷＮＴＶＡＲ＿ＤＣＶ＿ＰＲＯＤＵＣＴの値の問い合わせを受けると、ステップＳ１２０２において、ＣＧＩパラメータに含まれるネットワークデバイスのＩＰアドレスを得る。
【０１４９】
つぎに、ステップＳ１２０３において、当該ＩＰアドレスのネットワークデバイスにおける製品名を示すＭＩＢオブジェクトのキャッシュ値の更新時刻と有効期限を得る。
【０１５０】
そして、ステップＳ１２０４において、当該更新時刻と現在時刻との時差を有効期限と比較する。時差が有効期限以下であれば、ステップＳ１２０５に進み、製品名を示すＭＩＢオブジェクトのキャッシュ値をテンプレート変数ＷＮＴＶＡＲ＿ＤＣＶ＿ＰＲＯＤＵＣＴの値としてテンプレートモジュール４１０に送る。
【０１５１】
時差が有効期限以下でなければ、ステップＳ１２０６に進み、当該ＩＰアドレスのネットワークデバイスのエージェントから製品名を示すＭＩＢオブジェクトの値を取得する。
【０１５２】
そして、ステップＳ１２０７において、取得したＭＩＢオブジェクトの値をテンプレート変数ＷＮＴＶＡＲ＿ＤＣＶ＿ＰＲＯＤＵＣＴの値としてテンプレートモジュール４１０に送る。更に、ステップＳ１２０８において、取得したＭＩＢオブジェクトの値をキャッシュファイルに保存し、その保存した時刻を更新時刻とする。なお、当該ＭＩＢオブジェクトの値を取得した時刻を更新時刻としてもよい。
【０１５３】
〔２〕第２の実施形態
本発明の第１の実施形態では、デバイス情報の値或いは管理情報の値を保存し、その保存したデバイス情報の値或いは管理情報の値に有効期限を設けた。これに対し、本発明の第２の実施形態では、生成したＨＴＭＬドキュメントを保存し、その保存したＨＴＭＬドキュメントに有効期限を設ける。
【０１５４】
第２の実施形態における、ネットワークデバイス管理プログラムが稼動可能なＰＣの構成は、図４で示した第１の実施形態におけるものと同様であるため説明を省略する。
【０１５５】
図１５は、本発明の第２の実施形態におけるネットワークデバイス管理プログラムのモジュール構成図である。ネットワークデバイス管理プログラム４０１は、ＣＧＩインターフェース４０２、全体制御モジュール４０３、パラメータモジュール４０４、システムモジュール４０５、デバイスリストモジュール４０７、デバイス探索モジュール４０８、デバイス詳細モジュール４０９、デバイス固有モジュール４１０、テンプレートモジュール１５１２、プロトコルモジュール４０９を備えた構成となっている。
【０１５６】
第１の実施形態と同様な部分については、その説明を省略する。なお、第１の実施形態と第２の実施形態における相違点は、テンプレートモジュール１５１２、テンプレートファイル１５１３、キャッシュファイル１５１４、有効期限ファイル１５１５である。
【０１５７】
まず、図１６において、第２の実施形態におけるテンプレートファイル１５１３について説明する。第２の実施形態では、テンプレートモジュール１５１２が生成したＨＴＭＬドキュメントがキャッシュファイルとして保存され、第１の実施形態とは違ってテンプレート変数の値はキャッシュファイルに保存されないため、テンプレート変数に有効期限を設ける必要はない。そのため、ＨＥＡＤブロック１６０２においては、テンプレート変数を宣言する際に、＜＜ＶＡＲＩＡＢＬＥ＞＞タグの中に有効期限を記述しない。
【０１５８】
次に、図１７において、第２の実施形態におけるキャッシュファイル１５１４について説明する。ネットワークデバイス管理プログラムが起動されるときには、ＣＧＩパラメータの中に、ＷＷＷブラウザプログラムから表示要求された情報のカテゴリ（デバイスの状態、デバイスの装備情報、デバイスのネットワーク情報など）を示すページ識別子、情報取得の対象となるネットワークデバイスを識別するデバイス識別子、及び情報取得の対象となるネットワークデバイスのアドレスが含まれている。
【０１５９】
そこで、生成されたＨＴＭＬドキュメントは、例えば図１７に示すように、アドレス（００８５００ＡＢ００ＥＦ）及びデバイス識別子（ＬＢＰ９３０）で示されるディレクトリの中に、ページ識別子（ ｓｔａｔｕｓ）で示されるファイル名（ｓｔａｔｕｓ．ｈｔｍｌ）のキャッシュファイルとして保存される。
【０１６０】
次に、テンプレートモジュール１５１２がＨＴＭＬドキュメントを生成する際の動作を説明する。図１８は、テンプレートモジュール１５１２がＨＴＭＬドキュメントを生成する際の動作を示すフローチャートである。
【０１６１】
まず、ステップＳ１８０１において、テンプレートモジュール１５１２は、ＣＧＩパラメータの中に含まれるページ識別子、デバイス識別子、及びネットワークアドレスを得る。そして、ステップ１８０２において、ネットワークアドレス及びデバイス識別子で示されるディレクトリの中にページ識別子で示されるファイル名のキャッシュファイルが存在するかを確認する。
【０１６２】
存在しない場合には、ステップＳ１８０３において、所定のテンプレートファイルをもとに新たにＨＴＭＬドキュメントを生成する。
【０１６３】
存在する場合には、ステップＳ１８０４において、有効期限ファイル１５１５から当該キャッシュファイルの有効期限を取得する。有効期限ファイル１５１５は、アドレス及びデバイス識別子で示されるディレクトリの中のページ識別子で示されるファイル名のキャッシュファイルごとに、その有効期限が記憶されている。
【０１６４】
次に、ステップ１８０５において、当該キャッシュファイルのタイムスタンプを取得して、当該キャッシュファイルが最後に更新された時刻を得る。そして、ステップＳ１８０６において、現在時刻とステップＳ１８０５で得た更新時刻との時差を計算し、その時差が有効期限以下であるかを判定する。
【０１６５】
以下であれば、ステップＳ１８０７において、当該キャッシュファイルをそのままＨＴＭＬドキュメントとして出力する。以下でなければ、ステップＳ１８０３において、所定のテンプレートファイルをもとにＨＴＭＬドキュメントを生成する。
【０１６６】
次に、図１９を用いて、ステップＳ１８０３において、テンプレートファイル１５１３をもとにＨＴＭＬドキュメントを生成する手順について説明する。
【０１６７】
まず、ステップＳ１９０１において、図１８のステップＳ１８０１において取得したページ識別子、デバイス識別子、及びアドレスから、所定のテンプレートファイルをオープンする。
【０１６８】
ステップＳ１９０２において、当該テンプレートファイルのＨＥＡＤブロックを解析して、値を取得する必要があるテンプレート変数を確認する。そして、ステップＳ１９０３において、必要なテンプレート変数の値を、システムモジュール４０５、デバイスリストモジュール４０７、デバイス詳細モジュール４１０に問い合わせて得る。
【０１６９】
次に、ステップＳ１９０４において、当該テンプレートファイルのＢＯＤＹブロックを解析して、＜＜ＥＭＢＥＤ＞＞タグと、そこに記述されている変数名に対応するテンプレート変数の値とを置き換えて、ＨＴＭＬドキュメントを生成する。
【０１７０】
最後に、ステップＳ１９０５において、生成したＨＴＭＬドキュメントを、アドレス及びデバイス識別子で示されるディレクトリの中にページ識別子で示されるファイル名のキャッシュファイルとして保存する。
【０１７１】
第２の実施形態では、生成したＨＴＭＬドキュメントをキャッシュファイルとして保存したが、ステップＳ１９０３で得た全てのテンプレート変数の値を変数名と組にして、ステップＳ１８０１で取得したアドレス及びデバイス識別子で示されるディレクトリの中のページ識別子で示されるファイル名のキャッシュファイルに保存してもよい。この場合でも、テンプレート変数ごとにそのキャッシュ値を更新した時刻を保存する必要はない。
【０１７２】
そして、ステップＳ１８０７では、キャッシュファイルに保存されたテンプレート変数の値をテンプレートファイルの＜＜ＥＭＢＥＤ＞＞タグに埋めて、ＨＴＭＬドキュメントを生成する。
【０１７３】
〔３〕第３の実施形態
第１の実施形態及び第２の実施形態では、キャッシュファイルに或いはキャッシュファイルとして保存しておくものがデバイス情報の値、管理情報の値、或いはＨＴＭＬドキュメントのいずれか１形態であるが、第３の実施形態では、保存しておくものの形態が複数ある。以下、第３の実施形態について説明する。
【０１７４】
第３の実施形態における、ネットワークデバイス管理プログラムが稼動可能なＰＣの構成は、図４で示した第１の実施形態におけるものと同様であるため説明を省略する。
【０１７５】
図２０は、本発明の第３の実施形態におけるネットワークデバイス管理プログラムのモジュール構成図である。ネットワークデバイス管理プログラム４０１は、ＣＧＩインターフェース４０２、全体制御モジュール４０３、パラメータモジュール４０４、システムモジュール４０５、デバイスリストモジュール４０７、デバイス探索モジュール４０８、デバイス詳細モジュール４０９、デバイス固有モジュール４１０、テンプレートモジュール２０１２、プロトコルモジュール４０９を備えた構成となっている。
【０１７６】
第１の実施形態及び第２の実施形態と同様な部分については、説明を省略する。なお、第３の実施形態と第１の実施形態及び第２の実施形態との相違点は、テンプレートモジュール２０１２、テンプレートファイル４１３、テンプレートファイル１５１３、キャッシュファイル４１４、キャッシュファイル１５１４、有効期限ファイル１５１５、である。
【０１７７】
まず、第３の実施形態におけるテンプレートファイル４１３及びテンプレートファイル１５１３について説明する。第３の実施形態では、第１の実施形態のように使用したテンプレート変数の値を保存する場合（キャッシュファイル４１４）と、第２の実施形態のようにテンプレートモジュール２０１２が生成したＨＴＭＬドキュメントを保存する場合（キャッシュファイル１６１４）とがある。
【０１７８】
そのため、テンプレートファイルによって、図８に示すようにＨＥＡＤブロック８０２でテンプレート変数を宣言する際に、＜＜ＶＡＲＩＡＢＬＥ＞＞タグの中に有効期限を記述する場合（テンプレートファイル４１３）と、図１６に示すように＜＜ＶＡＲＩＡＢＬＥ＞＞タグの中に有効期限を記述しない場合（テンプレートファイル１５１３）がある。
【０１７９】
次に、第３の実施形態におけるキャッシュファイル４１４及びキャッシュファイル１５１４について説明する。キャッシュファイル４１４では、第１の実施形態と同様に、それぞれのテンプレート変数について、変数名、値、更新時刻を保存する。キャッシュファイル１５１４では、第２の実施形態と同様に、テンプレートモジュール２０１２が生成したＨＴＭＬドキュメントをキャッシュファイルとして保存する。
【０１８０】
以下、一例として、第３の実施形態では、図６に示すデバイスリストのＨＴＭＬドキュメントは、図８に示すテンプレートファイル４１３をもとに生成され、生成される際にはキャッシュファイル４１４が使用される。その他のＨＴＭＬドキュメントは、図１６に示すテンプレートファイル１５１３をもとに生成され、生成される際にはキャッシュファイル１５１４が使用されることとする。
【０１８１】
次に、テンプレートモジュール２０１２がＨＴＭＬドキュメントを生成する際の動作を説明する。図２１は、テンプレートモジュール２０１２がＨＴＭＬドキュメントを生成する際の動作を示すフローチャートである。
【０１８２】
ステップＳ２１０１において、まず、どの種類のＨＴＭＬドキュメントを生成するかを特定するために、ＣＧＩパラメータに含まれているページ識別子を取得する。そして、ステップＳ２１０２において、ページ識別子がデバイスリストを示すものであるかを判定する。
【０１８３】
ページ識別子がデバイスリストを示すものであれば、ステップＳ２１０３において、デバイスリストのＨＴＭＬドキュメントを生成する。この時、テンプレートモジュール２０１２がＨＴＭＬドキュメントを生成する際の動作を示すフローチャートは、図１０のフローチャートと同様である。なお、フローチャートの途中で取得するテンプレート変数のキャッシュ値は、キャッシュファイル４１４に保存されている。
【０１８４】
ページ識別子がデバイスリストを示すものでなければ、ステップＳ２１０４において、ＨＴＭＬドキュメントを生成する。ステップＳ２１０４において、テンプレートモジュール２０１２がＨＴＭＬドキュメントを生成する際の動作を示すフローチャートは、図１８及び図１９に示すフローチャートと同様である。
【０１８５】
なお、図１８及び図１９に示すフローチャートの途中で取得するキャッシュファイルの有効期限は有効期限ファイル２０１５に記憶されている。
【０１８６】
本発明の目的は、前述した第１から第３の実施形態における様々な機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、図２２に示すようにシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【０１８７】
この場合、記憶媒体から読出されたプログラムコード自体が前述した第１から第３の実施形態における機能を実現することになり、よって、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１８８】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＤＶＤ−ＲＯＭなどを用いることができる。
【０１８９】
また、本発明の目的は、前述した第１から第３の実施形態における様々な機能を実現するソフトウェアのプログラムコードを、図２２に示すように、送出装置２２０４、例えば、ＷｅｂサーバやＨＴＴＰサーバが送出して、それをネットワーク或いは公衆回線２２０５を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ）がそのプログラムコードを実行することによっても、達成されることは言うまでもない。
【０１９０】
この場合、送出装置から送出されたプログラムコード自体が前述した第１から第３の実施形態における機能を実現することになり、よって、そのプログラムコードを送出する送出装置は本発明を構成することになる。
【０１９１】
図２３は、本発明に係るプログラムがＲＡＭにロードされ実行可能となった状態のメモリマップを示す。なお、ネットワークデバイス管理プログラム２３０４の部分には、図４或いは図１５或いは図２０に示される各モジュールに対応するプログラムコートが格納されている。
【０１９２】
本プログラム及び関連データを直接ＲＡＭにロードして実行させる例を示したが、この他に本プログラム及び関連データを一旦不揮発性記憶媒体であるハードディスクに格納（インストール）しておき、本プログラムを動作させる際にハードディスクからＲＡＭにロードするようにしても良い。
【０１９３】
また、コンピュータが読出したプログラムコードを実行することにより、前述した第１から第３の実施形態における機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１９４】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１９５】
【発明の効果】
以上説明したように、本発明によれば、ネットワークデバイスに関する情報を出力するために使用したデータ、例えば、テンプレートファイルに宣言されたテンプレート変数の値や生成したＨＴＭＬドキュメントデータを保存することにより、再度ネットワークデバイスに関する情報を出力する際には、出力するのに必要な個々の情報についてネットワークデバイスから管理情報を取得するのを最小限に押さえることが可能である。
【０１９６】
更に、ネットワークデバイスに関する情報の出力要求が複数箇所から出された場合、これら複数回の出力において、保存されたデータが共有されることにより、或いは、これら複数回の出力においてデータを最後に保存した時刻或いは最後に取得した時刻を基準に、当該データが有効であるかを判定することにより、ネットワークデバイスから管理情報を取得するのを最小限に押さえることが可能である。
【０１９７】
更に、保存されたデータについて、個々に有効期限を設け、個々に更新時刻を保存することにより、例えば、値が変わり易いデバイス情報については、キャッシュ値の有効期限を短くしてできるだけ最新の値を取得するようにするなど、値が変わり易い情報と値が変わりにくい情報とで個別に対応することが可能である。
【０１９８】
更に、ネットワークデバイスに関する情報の内容に応じて、保存するデータの形態を変えることにより、ネットワークデバイスから管理情報を取得するのを最小限に押さえることが可能である。
【０１９９】
以上から、ネットワークデバイスに関する情報を出力するのにかかる時間を短縮し、更に、ネットワークのトラフィックとネットワークデバイスの負荷を削減するという効果がある。
【図面の簡単な説明】
【図１】ＬＡＮの構成図である。
【図２】一般的なＷＷＷシステムの構成図である。
【図３】ネットワークデバイス管理プログラムが稼動可能なＰＣの構成図である。
【図４】第1の実施形態におけるネットワークデバイス管理プログラムのモジュール構成図である。
【図５】デバイスリストの例を示す図である。
【図６】デバイス詳細の例を示す図である。
【図７】デバイス詳細の例を示す図である。
【図８】第１の実施形態におけるテンプレートファイルの構造図である。
【図９】キャッシュファイルの例を示す図である。
【図１０】テンプレートファイルを解析して、ＨＴＭＬドキュメントを生成する際の動作を示すフローチャート図である。
【図１１】ネットワークデバイス管理プログラムのファイル構成図である。
【図１２】ＭＩＢオブジェクトの値をキャッシュファイルに保存した場合の、テンプレート変数の値の求め方を示すフローチャート図である。
【図１３】ネットワークボードをプリンタにインストールした状態を示す一部破断図である。
【図１４】ネットワークボードとプリンタとＬＡＮとの電気的接続を示すブロック図である。
【図１５】第２の実施形態におけるネットワークデバイス管理プログラムのモジュール構成図である。
【図１６】第２の実施形態におけるテンプレートファイルの構造図である。
【図１７】第２の実施形態におけるキャッシュファイルの構成図である。
【図１８】第２の実施形態において、ＨＴＭＬドキュメントを生成する際の動作を示すフローチャート図である。
【図１９】第２の実施形態において、テンプレートファイルを解析して、ＨＴＭＬドキュメントを生成する際の動作を示すフローチャート図である。
【図２０】第３の実施形態におけるネットワークデバイス管理プログラムのモジュール構成図である。
【図２１】第３の実施形態において、ＨＴＭＬドキュメントを生成する際の動作を示すフローチャート図である。
【図２２】プログラムコードを記憶した記憶媒体、プログラムコードを送出する送出装置を示す図である。
【図２３】プログラムがＲＡＭにロードされ実行可能となった状態のメモリマップを示す図である。
【符号の説明】
１００、１１０、１２０  ローカルエリアネットワーク（ＬＡＮ）
１０１  ネットワークボード（ＮＢ）
１０２  開放型アーキテクチャを持つプリンタ
１０３、１０４、１１１，１１２、１２１，１２２  パーソナルコンピュータ（ＰＣ）
１０５、１０９、１１６  プリンタ
１０６、１１３  ファイルサーバＰＣ
１０７、１１４  ネットワークディスク
１０８、１１５  プリントサーバＰＣ
１３０ａ、１３０ｂ  モデム／トランスポンダ
１４０  バックボーン
１５０  ＷＷＷサーバＰＣ
２００  ＬＡＮ
２０１  ＷＷＷサーバＰＣ
２１１  ＷＷＷサーバプログラム
２２１  ネットワークデバイス管理プログラム
２０２  プリンタ
２１２  エージェント
２０３、２０４  クライアントＰＣ
２１３、２１４  ＷＷＷブラウザプログラム
３０１  ＣＰＵ
３０２  ＲＯＭ
３０３  ＲＡＭ
３０４  システムバス
３０５  キーボードコントローラ（ＫＢＣ）
３０６  ＣＲＴコントローラ（ＣＲＴＣ）
３０７  ディスクコントローラ（ＤＫＣ）
３０８  ネットワークインタフェースカード（ＮＩＣ）
３０９  キーボード（ＫＢ）
３１０  ＣＲＴディスプレイ（ＣＲＴ）
３１１  ハードディスク（ＨＤ）
３１２  フロッピーディスク（ＦＤ）
３００  ＬＡＮ
３５０  ＰＣ
４００  ＷＷＷサーバプログラム
４０１  ネットワークデバイス管理プログラム
４０２  ＣＧＩインターフェイス
４０３  全体制御モジュール
４０４  パラメータモジュール
４０５  システムモジュール
４０６  システム設定ファイル
４０７  デバイスリストモジュール
４０８  デバイス探索モジュール
４０９  プロトコルモジュール
４１０  デバイス詳細モジュール
４１１  デバイス固有モジュール
４１２  テンプレートモジュール
４１３  テンプレートファイル
４１４  キャッシュファイル
４５０  ネットワークデバイス
５０１  デバイスの種類
５０２  デバイス名
５０３  製品名
５０４  ネットワークボード製品名
５０５  ネットワークアドレス
５０６  デバイスの状態
７０１  ネットワークデバイスのイメージ図
７０２  ネットワークデバイスの状態
７０３  ネットワークデバイスの装備情報
７０４  ネットワークデバイス機器情報
７０５  ネットワークデバイスのネットワークボード情報
７０６  ネットワークデバイスのプロトコル情報
８０１  テンプレートファイルの構成
８０２  ＨＥＡＤブロック
８０３  ＢＯＤＹブロック
１１０１  ネットワークデバイス管理プログラムディレクトリ
１１０２  Ｄｏｃｕｍｅｎｔディレクトリ
１１０３  Ｉｍａｇｅディレクトリ
１１０４  Ｔｅｍｐｌａｔｅディレクトリ
１１０５  ネットワークデバイス管理プログラムの実行ファイル
１１０６  ＨＴＭＬファイル
１１０７  画像ファイル
１１０８  ＳＹＳディレクトリ
１１０９  ＰＲＯＤＵＣＴディレクトリ
１１１０  ＮＩＣディレクトリ
１１１１、１１１２、１１１３  テンプレートファイル
１３０１  フェーズプレート
１３０２  印刷回路ボード
１３０３  コネクタ
１３０４  プリンタインターフェースカード
１３０５  シリアルポート
１３０６  パラレルポート
１４０１  マイクロプロセッサ（ＭＰＵ）
１４０２  ＲＯＭ
１４０３  ＲＡＭ
１４０４  共有メモリ
１４０５  マイクロプロセッサ
１４０６  プリンタエンジン
１５１２  テンプレートモジュール
１５１３  テンプレートファイル
１５１４  キャッシュファイル
１５１５  有効期限ファイル
１６０１  テンプレートファイルの構造
１６０２  ＨＥＡＤブロック
１６０３  ＢＯＤＹブロック
２０１２  テンプレートモジュール
２２０１  ＰＣ
２２０２  フロッピーディスク
２２０３  フロッピーディスクドライブ
２２０４  サーバ（送出装置）
２２０５  ＬＡＮ或いは公衆回線
２３０１  メモリマップ
２３０２  基本Ｉ／Ｏプログラム
２３０３  ＯＳ
２３０４  ネットワークデバイス管理プログラム
２３０５  関連データ
２３０６  ワークエリア
【図１】
0003667116.tif 000002
【図２】
0003667116.tif 000003
【図３】
0003667116.tif 000004
【図４】
0003667116.tif 000005
【図５】
0003667116.tif 000006
【図６】
0003667116.tif 000007
【図７】
0003667116.tif 000008
【図８】
0003667116.tif 000009
【図９】
0003667116.tif 000010
【図１０】
0003667116.tif 000011
【図１１】
0003667116.tif 000012
【図１２】
0003667116.tif 000013
【図１３】
0003667116.tif 000014
【図１４】
0003667116.tif 000015
【図１５】
0003667116.tif 000016
【図１６】
0003667116.tif 000017
【図１７】
0003667116.tif 000018
【図１８】
0003667116.tif 000019
【図１９】
0003667116.tif 000020
【図２０】
0003667116.tif 000021
【図２１】
0003667116.tif 000022
【図２２】
0003667116.tif 000023
【図２３】
0003667116.tif 000024