(57)【特許請求の範囲】
【請求項１】
少なくともＷＷＷサーバーを内蔵するネットワークデバイスとＷＷＷサーバーとが存在するネットワークシステムにおいて稼動するネットワークデバイス制御方法であって、ネットワークデバイスの情報を取得するためにＷｅｂブラウザが指定するＵＲＬを受信するための情報取得要求受信ステップと、
ネットワークデバイスに対して、ネットワークデバイス自身が内蔵するＷｅｂサーバーのＵＲＬの取得要求を発行するためのＵＲＬ取得要求発行ステップと、
上記ＵＲＬ取得要求発行ステップに対するネットワークデバイスからの応答を受信するためのＵＲＬ取得要求受信ステップと、
上記ＵＲＬ取得要求受信ステップによって受信したＵＲＬが有効なものかどうかを判別するためのＵＲＬ判別ステップと、
上記ＵＲＬ判別ステップにおいて有効なＵＲＬと判別された場合、上記受信したＵＲＬをＷｅｂブラウザに通知するための一時情報を作成し、Ｗｅｂブラウザに対してこれを送信するための一時情報作成・送信ステップと、
上記ＵＲＬ判別ステップにおいて無効なＵＲＬと判別された場合、ネットワークデバイスに対しで情報取得要求を発行するための情報取得要求発行ステップと、
上記情報取得要求発行ステップに対するネットワークデバイスからの応答を受信するための情報取得要求受信ステップと、
上記情報取得要求受信ステップで受信した情報をＨＴＭＬ形式の文書に整形するためのＨＴＭＬ文書作成ステップと、
上記ＨＴＭＬ文書作成ステップにおいて作成されたＨＴＭＬ文書をＷｅｂブラウザに対して送信するためのＨＴＭＬ文書送信ステップと、
を有したネットワークデバイス制御方法。
【請求項２】
少なくともＷＷＷサーバーを内蔵するネットワークデバイスとＷＷＷサーバーとが存在するネットワークシステムにおいて稼動するネットワークデバイス制御装置であって、
ネットワークデバイスの情報を取得するためにＷｅｂブラウザが指定するＵＲＬを受信するための情報取得要求受信手段と、
ネットワークデバイスに対して、ネットワークデバイス自身が内蔵するＷｅｂサーバーのＵＲＬの取得要求を発行するためのＵＲＬ取得要求発行手段と、
上記ＵＲＬ取得要求発行手段に対するネットワークデバイスからの応答を受信するためのＵＲＬ取得要求受信手段と、
上記ＵＲＬ取得要求受信手段によって受信したＵＲＬが有効なものかどうかを判別するためのＵＲＬ判別手段と、
上記ＵＲＬ判別手段において有効なＵＲＬと判別された場合、上記受信したＵＲＬをＷｅｂブラウザに通知するための一時情報を作成し、Ｗｅｂブラウザに対してこれを送信するための一時情報作成・送信手段と、
上記ＵＲＬ判別手段において無効なＵＲＬと判別された場合、ネットワークデバイスに対して情報取得要求を発行するための情報取得要求発行手段と、
上記情報取得要求発行手段に対するネットワークデバイスからの応答を受信するための情報取得要求受信手段と、
上記情報取得要求受信手段で受信した情報をＨＴＭＬ形式の文書に整形するためのＨＴＭＬ文書作成手段と、
上記ＨＴＭＬ文書作成手段において作成されたＨＴＭＬ文書をＷｅｂブラウザに対して送信するためのＨＴＭＬ文書送信手段と、
を有したネットワークデバイス制御装置。
【請求項３】
少なくともＷＷＷサーバーを内蔵するネットワークデバイスとＷＷＷサーバーとが存在するネットワークシステムにおいて稼動するネットワークデバイス制御プログラムであって、
ネットワークデバイスの情報を取得するためにＷｅｂブラウザが指定するＵＲＬを受信するための情報取得要求受信ステップと、
ネットワークデバイスに対して、ネットワークデバイス自身が内蔵するＷｅｂサーバーのＵＲＬの取得要求を発行するためのＵＲＬ取得要求発行ステップと、
上記ＵＲＬ取得要求発行ステップに対するネットワークデバイスからの応答を受信するためのＵＲＬ取得要求受信ステップと、
上記ＵＲＬ取得要求受信ステップによって受信したＵＲＬが有効なものかどうかを判別するためのＵＲＬ判別ステップと、
上記ＵＲＬ判別ステップにおいて有効なＵＲＬと判別された場合、上記受信したＵＲＬをＷｅｂブラウザに通知するための一時情報を作成し、Ｗｅｂブラウザに対してこれを送信するための⊥時情報作成・送信ステップと、
上記ＵＲＬ判別ステップにおいて無効なＵＲＬと判別された場合、ネットワークデバイスに対して情報取得要求を発行するための情報取得要求発行ステップと、
上記情報取得要求発行ステップに対するネットワークデバイスからの応答を受信するための情報取得要求受信ステップと、
上記情報取得要求受信ステップで受信した情報をＨＴＭＬ形式の文書に整形するためのＨＴＭＬ文書作成ステップと、
上記ＨＴＭＬ文書作成ステップにおいて作成されたＨＴＭＬ文書をＷｅｂブラウザに対して送信するためのＨＴＭＬ文書送信ステップと、
から成るプログラムを格納したコンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータネットワークに関し、具体的には、ネットワーク管理ソフトウェアを含むネットワークプリンタ制御装置及び方法に関する。
【０００２】
【従来の技術】
コンピュータは、ローカルエリアネットワーク（ＬＡＮ）によって相互に接続することができる。ローカルエリアネットワークは、ビルのフロアまたはビル全体、ビル群（構内）、地域、あるいはさらに大きいエリアにわたる、最大のものでは世界的システムに及ぶ更に大きなシステムに組み込むよう相互に接続することができる。
【０００３】
各々のＬＡＮは、多様なハードウェア相互接続技術といくつものネットワークプロトコルを持つことがある。
【０００４】
他と切り離された簡単なＬＡＮは個々のユーザが管理することができる。すなわち、ユーザが機器を取り替えたり、ソフトウェアをインストールしたり、問題点を診断したりすることができる。
【０００５】
一方、規模の大きい複雑なＬＡＮや相互接続された大きなＬＡＮグループは「管理」を必要とする。「管理」とは、人間のネットワーク管理者とその管理者が使用するソフトウェアの両方による管理を意味する。本願においては、「管理」とはシステム全体を管理するためのソフトウェアによる管理を意味し、「ユーザ」とはネットワーク管理ソフトウェアを使用する人を意味するものとする。このユーザは、通常、システム管理責任者である。ユーザは、ネットワーク管理ソフトウェアを使うことによって、ネットワーク上で管理データを得て、このデータを変更することができる。
【０００６】
大規模ネットワークシステムは、通常、機器の増設と除去、ソフトウェアの更新、及び問題の検出などを絶えず行うことが必要な動的システムである。一般に、様々な人が所有する、様々な業者から供給される様々なシステムがあるだろう。
【０００７】
以下、管理が必要な大規模なネットワークの一例について説明する。
【０００８】
図１は、プリンタをネットワークに接続するためのネットワークボード（ＮＥＢ）１０１を、開放型アーキテクチャを持つプリンター１０２へつなげた場合を示す図である。ＮＥＢ１０１はローカルエリアネットワーク（ＬＡＮ）１００へ、例えば、同軸コネクタをもつＥｔｈｅｒｎｅｔ（Ｒ）インターフェース１０Ｂａｓｅ−２や、ＲＪ−４５を持つ１０Ｂａｓｅ−Ｔ等のＬＡＮインターフェースを介してつながれている。
【０００９】
ＰＣ１０３やＰＣ１０４等の複数のパーソナルコンピューター（ＰＣ）もまた、１００に接続されており、ネットワークオペレーティングシステムの制御の下、これらのＰＣはＮＥＢ１０１と通信することができる。ＰＣの一つ、例えばＰＣ１０３を、ネットワーク管理部として使用するように指定することができる。ＰＣに、ＰＣ１０４に接続されているプリンター１０５のようなプリンターを接続してもよい。
【００１０】
また、ＬＡＮ１００にファイルサーバー１０６が接続されており、これは大容量（例えば１００億バイト）のネットワークディスク１０７に記憶されたファイルへのアクセスを管理する。プリントサーバー１０８は、接続されたプリンター１０９ａ及び１０９ｂ、又は遠隔地にあるプリンター１０５などのプリンターに印刷を行わせる。また他の図示しない周辺機器をＬＡＮ１００に接続してもよい。
【００１１】
更に詳しくは、図１に示すネットワークは、様々なネットワークメンバー間で効率良く通信を行うために、ＮｏｖｅｌｌやＵＮＩＸ（Ｒ）のソフトウェアなどのネットワークソフトウェアを使用することができる。どのネットワークソフトウェアを使用することも可能であるが、例えば、Ｎｏｖｅｌｌ社のＮｅｔＷａｒｅ（Ｎｏｖｅｌｌ社の商標。以下省略）ソフトウェアを使用することができる。このソフトウェアパッケージに関する詳細な説明は、ＮｅｔＷａｒｅパッケージに同梱されているオンラインドキュメンテーションを参照のこと。これは、Ｎｏｖｅｌｌ社からＮｅｔＷａｒｅパッケージとともに購入可能である。
【００１２】
簡潔に説明すると、ファイルサーバー１０６は、ＬＡＮメンバー間でデータのファイルの受信や、記憶、キューイング、キャッシング、及び送信を行う、ファイル管理部としての役割を果たす。例えば、ＰＣ１０３及びＰＣ１０４それぞれによって作られたデータファイルは、ファイルサーバー１０６へ送られ、ファイルサーバー１０６はこれらのデータファイルを順に並べ、そしてプリントサーバー１０８からのコマンドに従って、並べられたデータファイルをプリンター１０９ａへ送信する。
【００１３】
ＰＣ１０３とＰＣ１０４はそれぞれ、データファイルの生成や、生成したデータファイルのＬＡＮ１００への送信や、また、ＬＡＮ１００からのファイルの受信や、更にそのようなファイルの表示及び／又は処理を行うことのできる、通常のＰＣで構成される。図１にパーソナルコンピューター機器が示されているが、ネットワークソフトウェアを実行するのに適切であるような、他のコンピューター機器を含んでもよい。例えば、ＵＮＩＸ（Ｒ）のソフトウェアを使用している場合に、ＵＮＩＸ（Ｒ）ワークステーションをネットワークに含んでもよく、これらのワークステーションは、適切な状況下で、図示されているＰＣと共に使用することができる。
【００１４】
通常、ＬＡＮ１００などのＬＡＮは、一つの建物内の一つの階又は連続した複数の階でのユーザーグループ等の、幾分ローカルなユーザーグループにサービスを提供する。例えば、ユーザーが他の建物や他県に居るなど、あるユーザーが他のユーザーから離れるに従って、ワイドエリアネットワーク（ＷＡＮ）を作ってもよい。ＷＡＮは、基本的には、いくつかのＬＡＮを高速度サービス総合デジタルネットワーク（ＩＳＤＮ）電話線等の高速度デジタルラインで接続して形成された集合体である。従って、図１に示すように、ＬＡＮ１００と、ＬＡＮ１１０と、ＬＡＮ１２０とは変調／復調（ＭＯＤＥＭ）／トランスポンダー１３０及びバックボーン１４０を介して接続されＷＡＮを形成する。これらの接続は、数本のバスによる単純な電気的接続である。それぞれのＬＡＮは専用のＰＣを含み、また、必ずしも必要なわけではないが、通常はファイルサーバー、プリントサーバー及びＷＷＷサーバーを含む。ここで、ＷＷＷサーバーとは、ハイパーテキスト、グラフィックなどで構成されるドキュメントを収集し、ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒｓ）によって一意に識別できるＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）サイトを実現するためのもので、通常、Ｗｅｂブラウザと呼ばれる閲覧プログラムを有するパーソナルコンピューターＰＣ１１１、ＰＣ１１２などに対して、種々の情報を提供する役割を持つ。
【００１５】
従って図１に示すように、ＬＡＮ１１０は、ＰＣ１１１と、ＰＣ１１２と、ファイルサーバー１１３と、ネットワークディスク１１４と、プリントサーバー１１５と、プリンター１１６及びプリンター１１７と、ＷＷＷサーバー１１８とを含む。
【００１６】
対照的に、ＬＡＮ１２０はＰＣ１２１とＰＣ１２２のみを含む。ＬＡＮ１００と、ＬＡＮ１１０と、ＬＡＮ１２０とに接続されている機器は、ＷＡＮ接続を介して、他のＬＡＮの機器の機能にアクセスすることができる。
【００１７】
前述のような大規模ネットワークシステムを構成するネットワーク上のデバイスを管理するための方法として、これまでにいくつかの試みが数多くの標準機関でなされている。国際標準化機構（ＩＳＯ）は開放型システム間相互接続（Ｏｐｅｎ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ，ＯＳＩ）モデルと呼ばれる汎用基準フレームワークを提供した。ネットワーク管理プロトコルのＯＳＩモデルは、共通管理情報プロトコル（Ｃｏｍｍｏｎ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ，ＣＭＩＰ）と呼ばれる。ＣＭＩＰはヨーロッパの共通ネットワーク管理プロトコルである。
【００１８】
米国においては、より共通性の高いネットワーク管理プロトコルとして、簡易ネットワーク管理プロトコル（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｍｅｎｔ  Ｐｒｏｔｏｃｏｌ，ＳＮＭＰ）と呼ばれるＣＭＩＰに関連する一変種のプロトコルがある（Ｍａｒｓｈａｌｌ  Ｔ．Ｒｏｓｅ，Ｔｈｅ  Ｓｉｍｐｌｅ  Ｂｏｏｋ，Ｐｒｅｎｔｉｃｅ−Ｈａｌｌ，１９９１を参照のこと）。
【００１９】
ＳＮＭＰネットワーク管理技術によれば、ネットワーク管理システムには、少なくとも１つのネットワーク管理ステーション（ＮＭＳ）、各々がエージェントを含むいくつかの管理対象ノード、及び管理ステーションやエージェントが管理情報を交換するために使用するネットワーク管理プロトコルが含まれる。ユーザは、ＮＭＳ上でネットワーク管理ソフトウェアを用いて管理対象ノード上のエージェントソフトウェアと通信することにより、ネットワーク上のデータを得、またデータを変更することができる。
【００２０】
エージェントとは、各々のターゲット装置についてのバックラウンドプロセスとして走るソフトウェアである。ユーザがネットワーク上の装置に対して管理データを要求すると、管理ソフトウェアはオブジェクト識別情報を管理パケットまたはフレームに入れてターゲットエージェントへ送り出す。エージェントは、そのオブジェクト識別情報を解釈して、そのオブジェクト識別情報に対応するデータを取り出し、そのデータをパケットに入れてユーザに送り返す。時には、データを取り出すために対応するプロセスが呼び出される場合もある。
【００２１】
エージェントは、自分の状態に関するデータをデータベースの形式で保持している。
【００２２】
このデータベースのことを、ＭＩＢ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｌｏｎ  Ｂａｓｅ）と呼ぶ。図４は、ＭＩＢの構造を示す概念図である。図４に示すように、ＭＩＢは木構造のデータ構造をしており、全てのノードが一意に番号付けされている。図４において、かっこ内に書かれている番号が、そのノードの識別子である。
【００２３】
例えば、図４においてノード４０１の識別子は１である。ノード４０２の識別子は、ノード４０１の下の３なので、１・３と表記される。同様にして、ノード４０３の識別子は、１・３・６・６・２と表記される。
【００２４】
このノードの識別子のことを、オブジェクト識別子（ＯＢＪＥＣＴ  ＩＤＥＮＴＩＦＩＥＲ）と呼ぶ。
【００２５】
このＭＩＢの構造は、管理情報構造（ＳＭＩ：Ｓｔｒｕｃｔｕｒｅ  ｏｆ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ）と呼ばれ、ＲＦＣｌ１５５  Ｓｔｒｕｃｔｕｒｅ  ａｎｄ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  ｏｆ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  ｆｏｒ  ＴＣＰ／ＩＰ−ｂａｓｅｄ  Ｉｎｔｅｒｎｅｔｓで規定されている。
【００２６】
エージェントの実装例として、プリンタをネットワークに接続するためのネットワークボード上にエージェントを実装することが考えられる。これにより、プリンタをネットワーク管理ソフトウェアによる管理の対象とすることができる。ユーザは、ネットワーク管理ソフトウェアを用いて制御対象のプリンタの情報を得、また状態を変更することができる。より具体的には、例えばプリンタの液晶ディスプレイに表示されている文字列を取得したり、デフォルトの給紙カセットを変更したりすることができる。
【００２７】
以下、エージェントを実装したネットワークボード（ＮＥＢ）をプリンタに接続する実施形態について説明する。
【００２８】
図２に示すように、好ましくは、ＮＥＢ１０１は、プリンター１０２の内部拡張Ｉ／Ｏスロットに内蔵されており、ＮＥＢ１０１は、下に示す処理及びデータ記憶機能を持つ「埋め込まれた」ネットワークノードとなる。
【００２９】
このＮＥＢ１０１の構成により、大きなマルチエリアＷＡＮネットワークを統括及び管理するための、特徴的な補助機能を持つという利点をもたらす。これらの補助機能は、例えば、ネットワーク上の遠隔地（ネットワーク統括者の事務所など）からのプリンター制御及び状態観察や、各印刷ジョブ後の次のユーザーのための保証初期環境を提供するためのプリンター構成の自動管理、及びプリンターの負荷量を特徴付け、あるいはトナーカートリッジの交換スケジュールを組むためにネットワークを通してアクセスできる、プリンターログ又は使用統計を含む。
【００３０】
なお、近年は、急激なＷＷＷ技術の進歩により、ＮＥＢ１０１が自身の内部にＷｅｂサーバーを持つことができるようになった。この場合、ＮＥＢ１０１は、ＷＷＷサーバー１１８と同様に独自のＵＲＬを持ち、上記のプリンター制御及び状態観察等をＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）プロトコルで提供する。ＷｅｂブラウザはこのＵＲＬを指定することによって、プリンター制御及び状態観察を行うことが可能となる。
【００３１】
ＮＥＢ設計において重要な要因は、共有メモリ等の両方向インターフェースを介して、ＮＥＢ１０１からプリンター制御状態にアクセスする機能である。共有メモリ以外に、ＳＣＳＩインターフェース等のインターフェースを使用することもできる。これにより、多数の便利な補助機能のプログラムができるように、プリンター操作情報をＮＥＢ１０１又は外部ネットワークノードへ送出することができる。印刷画像データ及び制御情報のブロックは、ＮＥＢ１０１上にあるマイクロプロセッサーによって構成され、共有メモリに記述され、そして、プリンター１０２によって読み込まれる。同様に、プリンター状態情報は、プリンター１０２から共有メモリへ送られ、そこからＮＥＢプロセッサーによって読み込まれる。
【００３２】
図２は、ＮＥＢ１０１をプリンター１０２にインストールした状態を示す断面図である。
【００３３】
図２に示すように、ＮＥＢ１０１はネットワーク接続の為のフェースプレート１０１ｂを設置した印刷回路ボード１０１ａから構成されており、コネクタ１７０を介してプリンターインターフェースカード１５０に接続されている。プリンターインターフェースカード１５０は、プリンター１０２のプリンターエンジンを直接制御する。
【００３４】
印刷データ及びプリンター状態コマンドは、ＮＥＢ１０１からコネクタ１７０を介して、プリンターインターフェースカード１５０へ入力され、また、プリンター状態情報はプリンターインターフェースカード１５０からやはりコネクター１７０を介して得られる。ＮＥＢ１０１はこの情報を、フェースプレート１０１ｂのネットワークコネクタを介して、ＬＡＮ１００上で通信する。同時に、プリンター１０２は、従来のシリアルポート１０２ａ及びパラレルポート１０２ｂから、印刷データを受信することもできる。
【００３５】
図３は、ＮＥＢ１０１とプリンター１０２とＬＡＮ１００との電気的接続を示すブロック図である。ＮＥＢ１０１は、ＬＡＮ１００へはＬＡＮインターフェースを介して、プリンター１０２へはプリンターインターフェースカード１５０を介して直接接続されている。
【００３６】
マイクロプロセッサー１５１はＮＥＢ１０１とのデータのアクセスを、ＮＥＢ１０１に設置されている共有メモリ２００を介して行う。マイクロプロセッサー１５１は、実際に印刷機構を動かすプリンターエンジン１６０とも通信する。
【００３７】
一方、ネットワーク管理ソフトウェアが稼動するＰＣ側について、以下で説明する。
【００３８】
図５は、ネットワーク管理ソフトウェアが稼動可能なＰＣの構成を示すブロック図である。
【００３９】
図５において、５００は、ネットワーク管理ソフトウェアが稼動するＰＣであり、図１における１０３と同等である。ＰＣ５００は、ＲＯＭ５０２もしくはハードディスク（ＨＤ）５１１に記憶された、あるいはフロッピー（Ｒ）ディスクドライブ（ＦＤ）５１２より供給されるネットワーク管理プログラムを実行するＣＰＵ５０１を備え、システムバス５０４に接続される各デバイスを総括的に制御する。
【００４０】
５０３はＲＡＭで、ＣＰＵ５０１の主メモリ、ワークエリア等として機能する。５０５はキーボードコントローラ（ＫＢＣ）で、キーボード（ＫＢ）５０９や不図示のポインティングデバイス等からの指示入力を制御する。５０６はＣＲＴコントローラ（ＣＲＴＣ）で、ＣＲＴディスプレイ（ＣＲＴ）５１０の表示を制御する。
【００４１】
５０７はディスクコントローラ（ＤＫＣ）で、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイルそしてネットワーク管理プログラム等を記憶するハードディスク（ＨＤ）５１１およびフロッピー（Ｒ）ディスクコントローラ（ＦＤ）５１２とのアクセスを制御する。５０８はネットワークインタフェースカード（ＮＩＣ）で、ＬＡＮ１００を介して、エージェントあるいはネットワーク機器と双方向にデータをやりとりする。
【００４２】
なお、ハードディスク（ＨＤ）５１１には、後述のフローチャートで説明するような本願に係るネットワーク管理ソフトウェアのプログラムを格納する。後述のフローチャートにおいて、実行の主体はハード上はＣＰＵ５０１である。一方、ソフトウェア上の制御の主体は、ハードディスク（ＨＤ）５１１に格納されたネットワーク管理ソフトウェアである。本実施例においては、ＯＳは例えば、ウィンドウズ（Ｒ）ＮＴ（マイクロソフト社製）を想定しているが、これに限るものではない。
【００４３】
従来、主にプリンターである管理対象ノードを管理するためのネットワーク管理ソフトウェアは、上記のＰＣ上で稼動していたが、近年の急激なＷＷＷ技術の進歩により、ネットワーク管理ソフトウェアをＷＷＷサーバー（例えばＷＷＷサーバー１１８）上で稼動させ、ＣＧＩ（Ｃｏｍｍｏｎ  Ｇａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅ）と呼ばれるインタフェースを利用して複数のＰＣからの閲覧を可能にする動きが出始めた。この場合のＷＷＷサーバー１１８の構成は、図５に示したブロック図とほぼ同様であるが、ＷＷＷサイトを実現するためのプログラムがハードディスク（ＨＤ）５１１に格納されており、ＣＰＵ５０１が常に実行しつづけることとなる。
【００４４】
次に、ＷＷＷサーバー１１８上で稼動する本発明のネットワーク管理ソフトウェアの構成について説明する。
【００４５】
図６は、ＷＷＷサーバー１１８上で稼動する、本発明に係るネットワーク管理ソフトウェアのモジュール構成図である。
【００４６】
本発明に係るネットワーク管理ソフトウェアは、図５におけるハードディスク５１１に格納されており、ＣＰＵ５０１によって実行される。その際、ＣＰＵ５０１はワークエリアとしてＲＡＭ５０３を使用する。
【００４７】
図６において、６００は、本発明に係るネットワーク管理ソフトウェアそのもので、Ｗｅｂ  ＮｅｔＳｐｏｔと呼称しているものである。６０１は、例えばＰＣ１１１が有するＷＷＷ閲覧プログラムであるＷｅｂブラウザである。６０２は、Ｗｅｂブラウザ６０１がＷＷサーバーを通してネットワーク管理ソフトウェア６００と通信するためのＣＧＩインタフェースである。
【００４８】
また、６０３はデバイスリストと呼ばれ、ネットワークに接続されたデバイスをＷｅｂブラウザ６０１上に一覧にして表示するモジュールである。６０４は全体制御と呼ばれ、デバイスリストからの指示をもとに、他のモジュールを統括する。６０５はコンフィグレータと呼ばれ、エージェントのネットワーク設定に関する特別な処理を行うモジュールである。６０６は、探索モジュールと呼ばれ、ネットワークに接続されているデバイスを探索するモジュールである。このモジュールによって探索されたデバイスが、デバイスリスト６０３によってＷｅｂブラウザ６０１上に一覧表示される。６０７は、プリントジョブの状況をＮｅｔＷａｒｅ  ＡＰＩ６１８を用いてネットワークサーバから取得するモジュールである（なお、ＮｅｔＷａｒｅ  ＡＰＩについては、例えばＮｏｖｅｌｌ社から発行されている”ＮｅｔＷａｒｅ  Ｐｒｏｇｒａｍｅｒ＊ｓ  Ｇｕｉｄｅ  ｆｏｒ  Ｃ”等を参照のこと。この書籍はノベル株式会社から購入可能である。）。６０８および６０９は管理対象デバイスの詳細情報を示すデバイス詳細ウィンドウをＷｅｂブラウザ６０１上に表示するためのモジュールであり、詳細情報を表示する対象機種毎にモジュールが存在する。６１０および６１１は制御モジュールと呼ばれ、詳細情報を取得する対象機種に特有の制御を受け持つモジュールである。これらのモジュールも詳細情報を表示する対象機種毎にモジュールが存在する。６１０および６１１は、ＭＩＢモジユール６１２を用いて管理対象デバイスからＭＩＢデータを取得し、デバイス詳細ウィンドウをＷｅｂブラウザ６０１上に表示するためのモジュール６０８または６０９に渡す。
【００４９】
さて、ＭＩＢモジュール６１２は、オブジェクト識別子とオブジェクトキーとの変換を行うモジュールである。ここでオブジェクトキーとは、オブジェクト識別子と一対一に対応する３２ビットの整数のことである。オブジェクト識別子は可変長の識別子であり、ネットワーク管理ソフトウェアを実装する上で扱いが面倒なので、本願に係るネットワーク管理ソフトウェアにおいてはオブジェクト識別子と一対一に対応する固定長の識別子を内部的に用いている。ＭＩＢモジュール６１２より上位のモジュールはこのオブジェクトキーを用いてＭＩＢの情報を扱う。これにより、ネットワーク管理ソフトウェアの実装が楽になる。
【００５０】
６１３はＳＮＭＰモジュールと呼ばれ、ＳＮＭＰパケットの送信と受信を行う。
６１４は共通トランスポートモジュールと呼ばれ、ＳＮＭＰデータを運搬するための下位プロトコルの差を吸収するモジュールである。実際には、動作時にユーザが選択したプロトコルによって、ＩＰＸハンドラ６１５かＵＤＰハンドラ６１６のいずれかがデータを転送する役割を担う。なお、ＵＤＰハンドラは、実装としてＷｉｎＳｏｃｋ６１９を用いている（ＷｉｎＳｏｃｋについては、例えばＷｉｎｄｏｗｓ（Ｒ）  Ｓｏｃｋｅｔ  ＡＰＩ  ｖｌ．１の仕様書を参照のこと。このドキュメントは、複数箇所から入手可能であるが、例えばマイクロソフト社製のコンパイラであるＶｉｓｕａｌ  Ｃ＋＋に同梱されている。）。
【００５１】
コンフィグレータ６０５が用いる現在のプロトコル６１７というのは、動作時にユーザが選択しているＩＰＸプロトコルかＵＤＰプロトコルのいずれかのことを示す。
【００５２】
なお、以下の説明において、本願に係るネットワーク管理ソフトウェアのことをＷｅｂ  ＮｅｔＳｐｏｔと呼称することがある。
【００５３】
次に、図１に示す様な構成を持つ大規模ネットワークシステムにおいて、ＷＷＷサーバー１１８上で稼動するＷｅｂ  ＮｅｔＳｐｏｔ６００が、Ｗｅｂブラウザ６０１からの要求に従って、管理対象のデバイス（例えば、プリンター１０２）を管理する場合について、より詳細に述べる。
【００５４】
図７は、Ｗｅｂブラウザ６０１からの要求に従って、従来のＷｅｂ  ＮｅｔＳｐｏｔ６００が管理対象デバイスの情報を取得し、Ｗｅｂブラウザ６０１に表示する際のシーケンス図である。
【００５５】
まず、ステップＳ７０１によって、ユーザは、任意のＰＣ上のＷｅｂブラウザ（例えば、Ｗｅｂブラウザ６０１）に対してＷＷＷサーバー１１８上のＷｅｂ  ＮｅｔＳｐｏｔ６００のＵＲＬを指定し、ＨＴＴＰプロトコルによって管理対象デバイスの情報取得を要求する。
【００５６】
次に、ステップＳ７０２において、ＷＷＷサーバー１１８上のＷｅｂ  ＮｅｔＳｐｏｔ６００は、ＨＴＴＰプロトコルによるステップＳ７０１の要求をＣＧＩインタフェース６０２経由でＷＷＷサーバー１１８から受け取る。
【００５７】
ステップＳ７０３では、Ｗｅｂ  ＮｅｔＳｐｏｔ６００は、Ｗｅｂブラウザ６０１からの指示に従って、ＳＮＭＰプロトコルを用いて管理対象デバイスに対して情報取得要求を発行する。
【００５８】
ステップＳ７０４では、管理対象デバイスは、ステップＳ７０３の要求に応答するため、自身の情報を収集し、Ｗｅｂ  ＮｅｔＳｐｏｔ６００に応答を返す。
【００５９】
Ｗｅｂ  ＮｅｔＳｐｏｔ６００は、ステップＳ７０５において、ステップＳ７０４による応答を受信する。
【００６０】
次に、ステップＳ７０６では、ステップＳ７０５で受信した管理対象デバイスの情報をＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式の文書に整形する。
【００６１】
ステップＳ７０７では、ステップＳ７０６において整形したＨＴＭＬ形式の管理対象デバイスの情報をＷｅｂブラウザ６０１に送信する。
【００６２】
Ｗｅｂブラウザ６０１は、ステップＳ７０８において、ステップＳ７０７により送信されたＨＴＭＬ形式の情報を受信する。
【００６３】
最後に、Ｗｅｂブラウザ６０１は、ステップＳ７０９において、ステップＳ７０８により受信した情報を表示して、本シーケンスは終了する。
【００６４】
【発明が解決しようとする課題】
近年、管理対象デバイスの、より詳細・固有な情報を提供する仕組みとして、自身の内部にＷｅｂサーバーを持つ管理対象デバイス（あるいは、ネットワークボード）がネットワーク上に存在するようになってきた。
【００６５】
ところが、以上述べたように、従来のＷｅｂ  ＮｅｔＳｐｏｔは、管理対象デバイスの持つ情報のうち、利用できる一部分をＳＮＭＰプロトコルにより取得し、Ｗｅｂブラウザに表示していただけであったので、管理対象デバイスが提供しているＷｅｂサーバーの機能を利用して、より詳細・固有な情報をＷｅｂブラウザに表示することがができなかった。
【００６６】
【課題を解決するための手段】
上記課題を達成するために、ネットワークデバイスの情報を取得するためにＷｅｂブラウザが指定するＵＲＬを受信するための情報取得要求受信ステップと、ネットワークデバイスに対して、ネットワークデバイス自身が内蔵するＷｅｂサーバーのＵＲＬの取得要求を発行するためのＵＲＬ取得要求発行ステップと、上記ＵＲＬ取得要求発行ステップに対するネットワークデバイスからの応答を受信するためのＵＲＬ取得要求受信ステップと、上記ＵＲＬ取得要求受信ステップによって受信したＵＲＬが有効なものかどうかを判別するためのＵＲＬ判別ステップと、上記ＵＲＬ判別ステップにおいて有効なＵＲＬと判別された場合、上記受信したＵＲＬをＷｅｂブラウザに通知するための一時情報を作成し、Ｗｅｂブラウザに対してこれを送信するための一時情報作成・送信ステップと、上記ＵＲＬ判別ステップにおいて無効なＵＲＬと判別された場合、ネットワークデバイスに対して情報取得要求を発行するための情報取得要求発行ステップと、上記情報取得要求発行ステップに対するネットワークデバイスからの応答を受信するための情報取得要求受信ステップと、上記情報取得要求受信ステップで受信した情報をＨＴＭＬ形式の文書に整形するためのＨＴＭＬ文書作成ステップと、上記ＨＴＭＬ文書作成ステップにおいて作成されたＨＴＭＬ文書をＷｅｂブラウザに対して送信するためのＨＴＭＬ文書送信ステップと、を備えたものである。
【００６７】
【発明の実施の形態】
（第１の実施例）
以下、第１の実施例を述べる。
【００６８】
図８は、Ｗｅｂブラウザ６０１が、ＣＧＩインタフェース６０２経由でＷＷＷサーバー１１８上のＷｅｂ  ＮｅｔＳｐｏｔ６００を起動することにより開始されるシーケンス図である。
【００６９】
本シーケンスに従って実行されるＷｅｂ  ＮｅｔＳｐｏｔ６００のプログラムは、ハードディスク（ＨＤ）５１１に格納されている。本Ｗｅｂ  ＮｅｔＳｐｏｔ６００のプログラムの実行の主体はハード上はＣＰＵ５０１である。一方、ソフトウェア上の制御の主体は、ハードディスク（ＨＤ）５１１に格納されたＷｅｂ  ＮｅｔＳｐｏｔ６００である。本実施例においては、ＯＳは例えば、ウィンドウズ（Ｒ）ＮＴ（マイクロソフト社製）を想定しているが、これに限るものではない。
【００７０】
図８において、ステップＳ８０１およびステップＳ８０２は、図７におけるステップＳ７０１およびステップＳ８０２とまったく同様である。
【００７１】
次に、ステップＳ８０３において、Ｗｅｂ  ＮｅｔＳｐｏｔ６００は、管理対象デバイス自身が提供するＷｅｂサーバーのＵＲＬを取得するために、ＵＲＬ取得要求を管理対象デバイスに対して発行する。通常、この要求は、ＳＮＭＰプロトコルによって実現されるが、これに限るものではない。
【００７２】
管理対象デバイスは、ステップＳ８０４において、Ｗｅｂ  ＮｅｔＳｐｏｔ６００に対して、ＵＲＬ応答を返す。もし、管理対象デバイスがＷｅｂサーバーを提供している場合は、管理対象デバイスは有効な値（例えば、”ｈｔｔｐ：／／ａｂｃ／ｉｎｄｅｘ．ｈｔｍｌ”など）をＷｅｂ  ＮｅｔＳｐｏｔ６００に対して返す。もし、Ｗｅｂサーバーを提供していない場合は、無効な値を返すことになる。
【００７３】
Ｗｅｂ  ＮｅｔＳｐｏｔ６００は、ステップＳ８０５において、管理対象デバイスからのＵＲＬ応答を受信し、その後、ステップＳ８０６において、このＵＲＬ応答で得られた値が有効なものかどうかを判別する。もし、有効なＵＲＬが取得できた場合は、ステップＳ８０７を実行する。もし、無効なＵＲＬが取得できた場合は、ステップＳ８１０を実行する。
【００７４】
Ｗｅｂ  ＮｅｔＳｐｏｔ６００は、ステップＳ８０７において、Ｗｅｂブラウザ６０１がステップＳ８０１において指定したＵＲＬを、ステップＳ８０５において受信した管理対象デバイスが提供するＷｅｂサーバーのＵＲＬに切り替えるためのＨＴＭＬ形式の文書（一時情報）を作成し、Ｗｅｂブラウザ６０１に対して送信する。本ステップを実現するためのＨＴＭＬ形式の文書の一例は、次のようなものである。
【００７５】
＜ＨＴＭＬ＞
＜ＨＥＡＤ＞
＜ＭＥＴＡ  ＨＴＴＰ−ＥＱＵＩＶ＝”ｒｅｆｒｅｓｈ”ＣＯＮＴＥＮＴ＝”１；ｕｒｌ＝ｈｔｔｐ：／／ａｂｃ／ｉｎｄｅｘ．ｈｔｍｌ”＞
＜ＭＥＴＡ  ＨＴＴＰ−ＥＱＵＩＶ＝”ｃｏｎｔｅｎｔ−ｔｙｐｅ”ＣＯＮＴＥＮＴ＝”ｔｅｘｔ／ｈｔｍｌ；ｃｈａｒｓｅｔ＝Ｘ−Ｓｊｌｓ”＞
＜／ＨＥＡＤ＞
＜／ＨＴＭＬ＞
Ｗｅｂブラウザ６０１は、ステップＳ８０８において、上記ステップＳ８０７の一時情報を受信し、その後、ステップＳ８０９によって、管理対象デバイスが提供するＷｅｂサーバーのＵＲＬを指定する。
【００７６】
管理対象デバイスは、上記ステップＳ８０９によって、自身が提供するＷｅｂサーバーのＵＲＬが指定されると、ステップＳ８１１において、自身の情報を収集し、ＨＴＭＬ形式の文書に整形し、Ｗｅｂブラウザ６０１に送信する。
【００７７】
最後にＷｅｂブラウザ６０１は、図７におけるステップｓ７０８およびステップＳ７０９と同様のステップＳ８１５およびステップＳ８１６を実行し、本シーケンスを終了する。
【００７８】
一方、上記ステップｓ８０６で無効なＵＲＬが取得できた場合は、ステップＳ８１０を実行する。
【００７９】
ステップＳ８１０からステップＳ８１６までは、図７におけるステップＳ７０３からステップＳ７０９までと同一であるので説明を省略する。
【００８０】
以上で、本シーケンスの説明を終了する。
【００８１】
【発明の効果】
以上説明したように、本発明によって、Ｗｅｂ  ＮｅｔＳｐｏｔは、自身の内部にＷｅｂサーバーを持たない管理対象デバイスを管理する場合は、従来と同様に、管理対象デバイスが持つＭＩＢ情報を利用してＷｅｂブラウザに情報を表示し、自身の内部にＷｅｂサーバーを持つ管理対象デバイスを管理する場合は、そのＷｅｂサーバーのＵＲＬをＷｅｂブラウザに示すことによって、より詳細かつ固有の情報をＷｅｂブラウザに表示することができるようになった。
【図面の簡単な説明】
【図１】プリンタをネットワークに接続するためのネットワークボードを、開放型アーキテクチャを持つプリンターへつなげた場合を示す図。
【図２】エージェントを実装したネットワークボードをプリンタに接続する実施形態を示す断面図。
【図３】ネットワークボードとプリンターとＬＡＮとの電気的接続を示すブロック図。
【図４】ＭＩＢの構造を示す概念図。
【図５】Ｕネットワーク管理ソフトウェアが稼動可能なＰＣの構成を示すブロック図。
【図６】ネットワーク管理ソフトウェアのモジュール構成図。
【図７】ネットワーク管理ソフトウェアが管理対象デバイスの情報を取得し、Ｗｅｂブラウザに表示する際の従来の方法を示すシーケンス図。
【図８】発明の第１の実施例を示すシーケンス図。
【符号の説明】
１０２  プリンター
１０３  パーソナルコンピューター
１１８  ＷＷＷサーバー
６００  ネットワーク管理ソフトウェア
６０１  Ｗｅｂブラウザ
６０２  ＣＧＩインターフェース
【図１】
0003862604.tif 000002
【図２】
0003862604.tif 000003
【図３】
0003862604.tif 000004
【図４】
0003862604.tif 000005
【図５】
0003862604.tif 000006
【図６】
0003862604.tif 000007
【図７】
0003862604.tif 000008
【図８】
0003862604.tif 000009