(57)【特許請求の範囲】
【請求項１】
ネットワークデバイス制御方法であって、
ネットワークデバイスを探索するために、宛先のアドレスがブロードキャストのアドレスである、制御対象となるネットワークデバイスが受け付け可能なコンフィグレータパケットをネットワークに送信する探索パケット送信工程と、
前記探索パケット送信工程により送信されたコンフィグレータパケットに対する、ネットワークデバイスからの応答パケットを受信する応答パケット受信工程と、
前記応答パケット受信ステップにより受信された応答パケットを元に、前記ネットワークデバイスのアドレスの設定状況を示すネットワークデバイスのリストを表示するリスト表示工程と、
前記リスト表示工程で表示されたネットワークデバイスのリストを用いてネットワークデバイスを指示させる指示工程と、
前記指示工程で指示された前記ネットワークデバイスのリストから選択されたネットワークデバイスに対し、ネットワーク設定を行う設定工程と
を有することを特徴とするネットワークデバイス制御方法。
【請求項２】
前記ネットワークデバイスは応答パケットにそれ自身の物理アドレスを書き込んで応答し、前記リスト表示工程では、ネットワークデバイスのリストとして、各ネットワークデバイスの現在のネットワーク設定とその物理アドレスのリストを表示することを特徴とする請求項１に記載のネットワークデバイス制御方法。
【請求項３】
前記設定工程では、前記リスト表示工程で表示されたリストから選択されたネットワークデバイスの物理アドレスを宛先にして、ユーザにより入力された入力値を含む設定要求パケットを送信することで、ネットワーク設定を行うことを特徴とする請求項２に記載のネットワークデバイス制御方法。
【請求項４】
ネットワークデバイス制御方法であって、
ネットワークデバイスを探索するために、宛先のアドレスがブロードキャストのアドレスである、制御対象のネットワークデバイスが受け付け可能なコンフィグレータパケットをネットワークに送信する探索パケット送信工程と、
あらかじめ定められた待ち時間が満了したかどうかを判定する判定工程と、
前記待ち時間の間、ネットワークデバイスの検出中であることを表示する表示工程と、
前記探索パケット送信工程により送信されたコンフィグレータパケットに対する、物理アドレスを含んだネットワークデバイスからの応答パケットを受信する応答パケット受信工程と、
前記応答パケット受信ステップにより受信された応答パケットを元に、各ネットワークデバイスの現在のネットワーク設定と物理アドレスのリストを表示するリスト表示工程と、
前記リスト表示工程で表示されたネットワークデバイスのリストを用いてネットワークデバイスを指示させる指示工程と、
前記指示工程で指示されたネットワークデバイスの物理アドレスを宛先にして、ユーザにより入力された入力値を含む設定要求パケットを送信する設定工程と
を有することを特徴とするネットワークデバイス制御方法。
【請求項５】
前記リスト表示工程は、前記リストと、再検出のボタンと、ネットワーク設定の入力へのボタンとを表示することを特徴とする請求項４に記載のネットワーク制御方法。
【請求項６】
前記ネットワークデバイスはネットワークボードであることを特徴とする請求項４或いは５に記載のネットワークデバイス制御方法。
【請求項７】
ネットワークデバイスを探索するために、宛先のアドレスがブロードキャストのアドレスである、制御対象となるネットワークデバイスが受け付け可能なコンフィグレータパケットをネットワークに送信する探索パケット送信工程と、
前記探索パケット送信工程により送信されたコンフィグレータパケットに対する、ネットワークデバイスからの応答パケットを受信する応答パケット受信工程と、
前記応答パケット受信ステップにより受信された応答パケットを元に、前記ネットワークデバイスのアドレスの設定状況を示すネットワークデバイスのリストを表示するリスト表示工程と、
前記リスト表示工程で表示されたネットワークデバイスのリストを用いた、ユーザによるネットワークデバイスを選択する指示を待つ指示待ち工程と、
前記指示待ち工程で指示がされた場合、前記ネットワークデバイスのリストから選択されたネットワークデバイスに対し、ネットワーク設定を行う設定工程と
をコンピュータにより実行させるためのプログラムを記録したコンピュータ可読記録媒体。
【請求項８】
前記ネットワークデバイスは応答パケットにそれ自身の物理アドレスを書き込んで応答し、前記リスト表示工程では、ネットワークデバイスのリストとして、各ネットワークデバイスの現在のネットワーク設定とその物理アドレスのリストを表示することを特徴とする請求項７に記載のコンピュータ可読記録媒体。
【請求項９】
前記設定工程では、前記リスト表示工程で表示されたリストから選択されたネットワークデバイスの物理アドレスを宛先にして、ユーザにより入力された入力値を含む設定要求パケットを送信することで、ネットワーク設定を行うことを特徴とする請求項８に記載のコンピュータ可読記録媒体。
【請求項１０】
ネットワークデバイスを探索するために、宛先のアドレスがブロードキャストのアドレスである、制御対象のネットワークデバイスが受け付け可能なコンフィグレータパケットをネットワークに送信する探索パケット送信工程と、
あらかじめ定められた待ち時間が満了したかどうかを判定する判定工程と、
前記待ち時間の間、ネットワークデバイスの検出中であることを表示する表示工程と、
前記探索パケット送信工程により送信されたコンフィグレータパケットに対する、物理アドレスを含んだネットワークデバイスからの応答パケットを受信する応答パケット受信工程と、
前記応答パケット受信ステップにより受信された応答パケットを元に、各ネットワークデバイスの現在のネットワーク設定と物理アドレスのリストを表示するリスト表示工程と、
前記リスト表示工程で表示されたネットワークデバイスのリストを用いた、ユーザによるネットワークデバイスを選択する指示を待つ指示待ち工程と、
前記指示待ち工程で指示がされた場合、選択されたネットワークデバイスの物理アドレスを宛先にして、ユーザにより入力された入力値を含む設定要求パケットを送信する設定工程と
をコンピュータにより実行させるためのプログラムを記録したコンピュータ可読記録媒体。
【請求項１１】
前記リスト表示工程は、前記リストと、再検出のボタンと、ネットワーク設定の入力へのボタンとを表示することを特徴とする請求項１０に記載のコンピュータ可読記録媒体。
【請求項１２】
前記ネットワークデバイスはネットワークボードであることを特徴とする請求項１０或いは１１に記載のコンピュータ可読記録媒体。
【請求項１３】
ネットワークデバイスを探索するために、宛先のアドレスがブロードキャストのアドレスである、制御対象となるネットワークデバイスが受け付け可能なコンフィグレータパケットをネットワークに送信する探索パケット送信手段と、
前記探索パケット送信手段により送信されたコンフィグレータパケットに対する、ネットワークデバイスからの応答パケットを受信する応答パケット受信手段と、
前記応答パケット受信手段により受信された応答パケットを元に、前記ネットワークデバイスのアドレスの設定状況を示すネットワークデバイスのリストを表示するリスト表示手段と、
前記リスト表示手段で表示されたネットワークデバイスのリストを用いた、ユーザによるネットワークデバイスを選択する指示を待ち、指示がされた場合、前記ネットワークデバイスのリストから選択されたネットワークデバイスに対し、ネットワーク設定を行う設定手段と
を有することを特徴とするネットワークデバイス制御装置。
【請求項１４】
ネットワークデバイスを探索するために、宛先のアドレスがブロードキャストのアドレスである、制御対象のネットワークデバイスが受け付け可能なコンフィグレータパケットをネットワークに送信する探索パケット送信手段と、
あらかじめ定められた待ち時間が満了したかどうかを判定する判定手段と、
前記待ち時間の間、ネットワークデバイスの検出中であることを表示する表示手段と、
前記探索パケット送信手段により送信されたコンフィグレータパケットに対する、物理アドレスを含んだネットワークデバイスからの応答パケットを受信する応答パケット受信手段と、
前記応答パケット受信ステップにより受信された応答パケットを元に、各ネットワークデバイスの現在のネットワーク設定と物理アドレスのリストを表示するリスト表示手段と、
前記リスト表示手段で表示されたネットワークデバイスのリストを用いた、ユーザによるネットワークデバイスを選択する指示を待ち、指示がされた場合、選択されたネットワークデバイスの物理アドレスを宛先にして、ユーザにより入力された入力値を含む設定要求パケットを送信する設定手段と
を有することを特徴とするネットワークデバイス制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークに接続されたネットワークデバイスを制御するためのネットワークデバイス制御装置および方法に関する。
【０００２】
【従来の技術】
コンピュータを相互に接続したローカルエリアネットワーク（ＬＡＮ）は、ビルのフロアまたはビル全体、ビル群（構内）、地域、あるいはさらに大きいエリアにわたって構築することができる。このようなネットワークはさらに相互に接続され、世界的規模のネットワークにも接続することができる。このような相互接続された各ＬＡＮは、多様なハードウェア相互接続技術といくつものネットワークプロトコルを持つ場合がある。
【０００３】
他と切り離された簡単なＬＡＮは個々のユーザが管理することができる。すなわち、ユーザが機器を取り替えたり、ソフトウェアをインストールしたり、問題点を診断したりすることができる。
【０００４】
一方、規模の大きい複雑なＬＡＮや相互接続された大きなＬＡＮグループは「管理」を必要とする。「管理」とは、人間のネットワーク管理者とその管理者が使用するソフトウェアの両方による管理を意味する。本願においては、「管理」とはシステム全体を管理するためのソフトウェアによる管理を意味し、「ユーザ」とはネットワーク管理ソフトウェアを使用する人を意味するものとする。このユーザは、通常、システム管理責任者である。ユーザは、ネットワーク管理ソフトウェアを使うことによって、ネットワーク上で管理データを得て、この管理データを変更することができる。
【０００５】
大規模ネットワークシステムは、通常、機器の増設と除去、ソフトウェアの更新、及び問題の検出などを絶えず行なうことが要求される動的システムである。一般に、様々な人が所有する、或いは様々な業者から供給される様々なシステムが存在する。
【０００６】
このような大規模ネットワークシステムを構成するネットワーク上のデバイスを管理するための方法として、これまでに多くの試みが数多くの標準機関でなされている。国際標準化機構（ＩＳＯ）は開放型システム間相互接続（Open System Interconnection，ＯＳＩ）モデルと呼ばれる汎用基準フレームワークを提供した。ネットワーク管理プロトコルのＯＳＩモデルは、共通管理情報プロトコル（Common Management Information Protocol，ＣＭＩＰ）と呼ばれる。ＣＭＩＰはヨーロッパの共通ネットワーク管理プロトコルである。
【０００７】
また米国においては、より共通性の高いネットワーク管理プロトコルとして、簡易ネットワーク管理プロトコル（Simple Network Management Protocol，ＳＮＭＰ）と呼ばれるＣＭＩＰに関連する一変種のプロトコルがある。ＳＮＭＰに関しては、インターネットの標準化団体であるＩＥＴＦ(Internet Engineering Task Force)のＲＦＣ１１５７などで規定されている。またその実装に関しては「ＴＣＰ／ＩＰネットワーク管理入門  実用的な管理をめざして」（Ｍ．Ｔ．ローズ＝著／西田竹志＝訳  （株）トッパン発行１９９２年８月２０日初版）に記載されている。
【０００８】
このＳＮＭＰネットワーク管理技術によれば、ネットワーク管理システムには、少なくとも１つのネットワーク管理ステーション（ＮＭＳ）、各々がエージェントを含むいくつかの管理対象ノード、及び管理ステーションやエージェントが管理情報を交換するために使用するネットワーク管理プロトコルが含まれる。ユーザは、ＮＭＳ上でネットワーク管理ソフトウェアを用いて管理対象ノード上のエージェントソフトウェアと通信することにより、ネットワーク上のデータを得、またデータを変更することができる。
【０００９】
ここでエージェントとは、各々のターゲット装置についてのバックラウンドプロセスとして走るソフトウェアである。ユーザがネットワーク上の装置に対して管理データを要求すると、管理ソフトウェアはオブジェクト識別情報を管理パケットまたはフレームに入れてターゲットエージェントへ送り出す。エージェントは、そのオブジェクト識別情報を解釈して、そのオブジェクト識別情報に対応するデータを取り出し、そのデータをパケットに入れてユーザに送り返す。時には、データを取り出すために対応するプロセスが呼び出される場合もある。
【００１０】
このようなＬＡＮにおいて、個々のネットワーク機器は、各ネットワークプロトコル特有のネットワークアドレス（以下、アドレス）によって識別され、運営・管理される。しかし、あるネットワーク機器をネットワークに初めて接続する場合（工場出荷状態など）や、ネットワーク機器の再設定を行う場合は、ネットワークアドレスが未設定であったり、有効なアドレスではないことが多い。そのため、ネットワーク管理ソフトウェア等から、ネットワーク機器に対しユーザが適当なアドレスを設定する必要がある。
【００１１】
【発明が解決しようとする課題】
さて、このようなシステムにおいて、ネットワーク管理ソフトウェアを使用してネットワーク機器（例えばプリンタ）のアドレス設定を行う場合について考える。
【００１２】
ネットワーク管理ソフトウェアからネットワーク機器に対し、ＬＡＮなどのネットワークを介してアドレスを設定する場合、通信を行うための何らかのネットワークプロトコルが必要となる。しかし、先に述べたような工場出荷状態のデバイスには、ＩＰアドレスなど標準的なアドレスが使用不可能であるため、ＳＮＭＰなどの標準的なプロトコルが使用できない。
【００１３】
その課題を解決するための方法の一つとして、デバイスの識別にＭＡＣアドレスを識別子として使用するような独自プロトコルを実装する方法が考えられる。ここで言うＭＡＣアドレスとは、ネットワーク機器に固有の物理アドレスである。イーサネットなら６バイト長で、先頭の３バイトはベンダコードとしてＩＥＥＥ（Institute of Electrical and Electronic Engineers、米国電気電子学会）が管理／割り当てを行っている。残りの３バイトは各ベンダで独自に（重複しないように）管理している。結果として世界中で同じ物理アドレスを持つネットワーク機器は存在せず、すべて異なるアドレスが割り当てられていることになる。イーサネットではこのアドレスを元にしてフレームの送受信を行っている。
【００１４】
つまり、このようなＭＡＣアドレスを使用した独自プロトコルの場合、ネットワーク管理ソフトウェアにＭＡＣアドレスを入力する必要がある。図１０は、ＭＡＣアドレスを入力するための、ネットワーク管理ソフトウエアにより表示される画面の例である。ＭＡＣアドレスはネットワーク機器特有のアドレスであるため、マニュアル等には記述することが困難であり、通常ネットワーク機器にシールなどで記させていることが多い。あるいは機器の基板上に記されている場合もあり、そのような場合は、ネットワーク機器からいったん基板を取り外してＭＡＣアドレスを確認しなければならない。
【００１５】
このように、ＭＡＣアドレスをネットワーク管理ソフトウェア／ネットワーク機器のユーザに入力させるのは、わかりにくく、煩雑な作業を伴うという問題がある。
【００１６】
本発明の目的は、ネットワーク上にあるデバイスのＭＡＣアドレスを獲得して、ＭＡＣアドレスの得られたデバイスのリストを表示し、そのリスト中からネットワークデバイスを選択させることにより、ユーザ自身がＭＡＣアドレスを入力する必要がなくなり、ネットワークデバイスの設定が簡便にできるネットワークデバイス制御装置および方法を提供することにある。
【００１７】
【課題を解決するための手段】
上記目的を達成するために本発明は次のような構成からなる。すなわち、ネットワークデバイス制御方法であって、ネットワークデバイスを探索するために、宛先のアドレスがブロードキャストのアドレスである、制御対象となるネットワークデバイスが受け付け可能なコンフィグレータパケットをネットワークに送信する探索パケット送信工程と、前記探索パケット送信工程により送信されたコンフィグレータパケットに対する、ネットワークデバイスからの応答パケットを受信する応答パケット受信工程と、前記応答パケット受信ステップにより受信された応答パケットを元に、前記ネットワークデバイスのアドレスの設定状況を示すネットワークデバイスのリストを表示するリスト表示工程と、前記リスト表示工程で表示されたネットワークデバイスのリストを用いてネットワークデバイスを指示させる指示工程と、前記指示工程で指示された前記ネットワークデバイスのリストから選択されたネットワークデバイスに対し、ネットワーク設定を行う設定工程とを有する。
【００１８】
あるいは、ネットワークデバイス制御方法であって、ネットワークデバイスを探索するために、宛先のアドレスがブロードキャストのアドレスである、制御対象のネットワークデバイスが受け付け可能なコンフィグレータパケットをネットワークに送信する探索パケット送信工程と、あらかじめ定められた待ち時間が満了したかどうかを判定する判定工程と、前記待ち時間の間、ネットワークデバイスの検出中であることを表示する表示工程と、前記探索パケット送信工程により送信されたコンフィグレータパケットに対する、物理アドレスを含んだネットワークデバイスからの応答パケットを受信する応答パケット受信工程と、前記応答パケット受信ステップにより受信された応答パケットを元に、各ネットワークデバイスの現在のネットワーク設定と物理アドレスのリストを表示するリスト表示工程と、前記リスト表示工程で表示されたネットワークデバイスのリストを用いてネットワークデバイスを指示させる指示工程と、前記指示工程で指示されたネットワークデバイスの物理アドレスを宛先にして、ユーザにより入力された入力値を含む設定要求パケットを送信する設定工程とを有する。
【００２０】
【発明の実施の形態】
以下、添付図面に従って本発明にかかるネットワーク制御プログラム（ソフトウエア）を詳細に説明する。
【００２１】
まず本発明の実施形態における大規模ネットワークについて説明する。
【００２２】
図１は、プリンタをネットワークに接続するためのネットワークボード（ＮＢ）１０１を、開放型アーキテクチャを持つプリンタ１０２へつなげたシステムを示す図である。ネットワークボード１０１はローカルエリアネットワーク（ＬＡＮ）１００へ、例えば、同軸コネクタを持つイーサネットインターフェース１０Ｂａｓｅ−２や、ＲＪ−４５を持つ１０Ｂａｓｅ−Ｔ等のＬＡＮインターフェースを介してつながれている。
【００２３】
パーソナルコンピュータ（ＰＣ）１０３もまた、ＬＡＮ１００に接続されており、ネットワークオペレーティングシステムの制御の下、ＮＢ１０１と通信することができる。このＰＣ１０３では、ネットワークを管理するためのネットワーク制御プログラムが稼働し、それによってネットワークが制御される。なお、図１における要求パケット、あるいは応答パケットについては口述する。
【００２４】
通常、ＬＡＮ１００などのＬＡＮは、一つの建物内の一つの階又は連続した複数の階でのユーザグループ等の、幾分ローカルなユーザグループにサービスを提供する。例えば、ユーザが他の建物や他県に居るなど、あるユーザが他のユーザから離れるに従って、ワイドエリアネットワーク（ＷＡＮ）を作ってもよい。ＷＡＮは、基本的には、いくつかのＬＡＮを高速度サービス総合デジタルネットワーク（ＩＳＤＮ）電話線等の高速度デジタルラインで接続して形成された集合体である。
【００２５】
図２は、ネットワーク管理ソフトウェアが稼働可能なＰＣ１０３の構成を示すブロック図である。
【００２６】
図２において、ＰＣ１０３はネットワーク管理ソフトウェアが稼働するＰＣであり、図１における１０３と同等である。ＰＣ１０３は、ＲＯＭ５０２もしくはハードディスク（ＨＤ）５１１に記憶された、あるいはフロッピーディスクドライブ（ＦＤ）５１２より供給されるネットワーク管理プログラムを実行するＣＰＵ５０１を備え、システムバス５０４に接続される各デバイスを総括的に制御する。
【００２７】
５０３はＲＡＭで、ＣＰＵ５０１の主メモリ、ワークエリア等として機能する。５０５はキーボードコントローラ（ＫＢＣ）で、キーボード（ＫＢ）５０９や不図示のポインティングデバイス等からの指示入力を制御する。５０６はＣＲＴコントローラ（ＣＲＴＣ）で、ＣＲＴディスプレイ（ＣＲＴ）５１０の表示を制御する。５０７はディスクコントローラ（ＤＫＣ）で、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイルそしてネットワーク管理プログラム等を記憶するハードディスク（ＨＤ）５１１およびフロッピーディスクコントローラ（ＦＤ）５１２とのアクセスを制御する。５０８はネットワークインターフェースカード（ＮＩＣ）で、ＬＡＮ１００を介して、エージェントあるいはネットワーク機器と双方向にデータをやり取りする。
【００２８】
＜＜ネットワーク管理ソフトウェアのモジュール構成＞＞
次に、本発明にかかるネットワーク管理装置及びソフトウェアの構成について説明する。
【００２９】
本発明のネットワーク管理装置は、図２に示したような従来のネットワーク管理装置を実現可能なＰＣと同様の構成のＰＣ上に実現される。ハードディスク（ＨＤ）５１１には、後述のすべての説明で動作主体となる本願に係るネットワーク管理ソフトウェアのプログラムが格納される。後述のすべての説明において、特に断りのない限り、実行の主体はハードウエア上はＣＰＵ５０１である。一方、ソフトウェア上の制御の主体は、ハードディスク（ＨＤ）５１１に格納されたネットワーク管理ソフトウェアである。本実施例においては、ＯＳは例えば、ウィンドウズ９５／９８（マイクロソフト社製）を想定しているが、これに限るものではない。
【００３０】
なお本出願に係るネットワーク管理プログラムは、フロッピーディスクやＣＤ−ＲＯＭなどの記憶媒体に格納された形で供給されても良く、その場合には図２に示すフロッピーディスクコントローラ（ＦＤ）５１２または不図示のＣＤ−ＲＯＭドライブなどによって記憶媒体からプログラムが読み取られ、ハードディスク（ＨＤ）５１１にインストールされる。
【００３１】
図３は、本発明に係るネットワーク管理プログラムのモジュール構成図である。
【００３２】
本発明に係るネットワーク管理プログラムは、図２におけるハードディスク５１１に格納されており、ＣＰＵ５０１によって実行される。その際、ＣＰＵ５０１はワークエリアとしてＲＡＭ５０３を使用する。
【００３３】
図３において、６０１はデバイスリストモジュールと呼ばれ、ネットワークに接続されたデバイスを一覧にして表示するモジュールである。６０２は全体制御モジュールと呼ばれ、デバイスリストからの指示をもとに、他のモジュールを統括する。６０３はコンフィグレータと呼ばれ、デバイスのネットワーク設定に関する特別な処理を行うモジュールである。特に、工場出荷状態のネットワーク機器を初めてＬＡＮに接続する場合などに、後述する特殊なプロトコルによってネットワーク機器の設定を行う。６０４は探索モジュールと呼ばれ、ネットワークに接続されているデバイスを探索するモジュールである。探索モジュール６０４によって探索されたデバイスが、デバイスリスト６０１によって一覧表示される。６０５は、ＩＣＭＰプロトコルの制御を行うＩＣＭＰモジュールである。ＩＣＭＰは、ＩＥＴＦのＲＦＣ７９２で規定されているＴＣＰ／ＩＰ制御用のプロトコルであり、ＴＣＰ／ＩＰを実装している端末／デバイスで標準的に実装されている。
【００３４】
６０６および６０７は後述するデバイス詳細ウィンドウを表示するためのＵＩモジュールであり、詳細情報を表示する対象機種毎にＵＩモジュールが存在する。６０８および６０９は制御モジュールと呼ばれ、詳細情報を取得する対象機種に特有の制御を受け持つモジュールである。ＵＩモジュールと同様に、制御モジュールも詳細情報を表示する対象機種毎に存在する。制御Ａモジュール６０８および制御Ｂモジュール６０９は、ＭＩＢモジュール６１０を用いて管理対象デバイスからＭＩＢデータを取得し、必要に応じてデータの変換を行い、各々対応するＵＩ  Ａモジュール６０６またはＵＩ  Ｂモジュール６０７にデータを渡す。
【００３５】
さて、ＭＩＢモジュール６１０は、オブジェクト識別子とオブジェクトキーとの変換を行うモジュールである。ここでオブジェクトキーとは、オブジェクト識別子と一対一に対応する３２ビットの整数のことである。オブジェクト識別子は可変長の識別子であり、ネットワーク管理ソフトウェアを実装する上で扱いが面倒なので、本願に係るネットワーク管理プログラムにおいてはオブジェクト識別子と一対一に対応する固定長の識別子を内部的に用いている。ＭＩＢモジュール６１０より上位のモジュールはこのオブジェクトキーを用いてＭＩＢの情報を扱う。６１１はＳＮＭＰモジュールと呼ばれ、ＳＮＭＰパケットの送信と受信を行う。
【００３６】
６１２は共通トランスポートモジュールと呼ばれ、ＳＮＭＰデータを運搬するための下位プロトコルの差を吸収するモジュールである。実際には、動作時にユーザが選択したプロトコルによって、ＩＰＸハンドラ６１３かＵＤＰハンドラ６１４のいずれかがデータを転送する役割を担う。なお、ＵＤＰハンドラ６１４は、実装としてWinSock６１５を用いている。WinSockについては、例えば、Windows Socket API vl.1の仕様書に記載されている。このドキュメントは複数箇所から入手可能であるが、例えばマイクロソフト社製のコンパイラであるVisual C++に同梱されている。
【００３７】
なお、以下の説明において、本願に係るネットワーク管理プログラムによる処理内容を説明する。
【００３８】
＜＜コンフィグレータの概要＞＞
さらに、上記コンフィグレータ６０３について詳細に説明する。
【００３９】
以下では、コンフィグレータ６０３で実装している独自プロトコルを「コンフィグレータプロトコル」、コンフィグレータプロトコルで扱うネットワークパケットを「コンフィグレータパケット」と呼ぶ。
【００４０】
コンフィグレータパケットは、ネットワーク管理装置からネットワークデバイス（ネットワークボード）へ送信される「要求パケット」と、ネットワックデバイス（ネットワークボード）からネットワーク管理装置へ返送される「応答パケット」の２種類が存在する。
【００４１】
また、コンフィグレータ使用時の前提条件としては、ネットワークボード１０１は、電源投入時は常にコンフィグレータパケットの受信可能な状態であることが条件となる。
【００４２】
このコンフィグレータパケットの詳細を図７および図８に示す。
【００４３】
図７は、コンフィグレータパケットをＴＣＰ／ＩＰプロトコル上に実装した場合のパケットヘッダの一例である。ＴＣＰ／ＩＰパケットヘッダの個々の項目の詳細やＩＰアドレス体系については、「ｂｉｔ別冊ＴＣＰ／ＩＰによるネットワーク構築Ｖｏｌ．１−原理・プロトコル・アーキテクチャー」（Douglas Comer＝著／村井純・楠本博之＝訳  共立出版（株）発行１９９１年第２版）に記載されている。図７左側は「要求パケット」であり、右側は「応答パケット」である。
【００４４】
ＤＬＣの宛先物理アドレスは「ｆｆ．ｆｆ．ｆｆ．ｆｆ．ｆｆ．ｆｆ」（ブロードキャスト）であり、ネットワークに接続されたアクティブなネットワークカードであれば、このフレームを受信できる。
【００４５】
また、コンフィグレータプロトコルのポート番号として「８３Ｂ６」（１６進）を使用し、要求パケットの送信先ＩＰアドレス(Dest IP)は「２５５．２５５．２５５．２５５」（ローカルブロードキャスト）である。つまり、ネットワーク管理装置から要求パケットを送信すれば、コンフィグレータプロトコルが実装され、かつネットワーク管理プログラムと同一のサブネットに接続されているネットワークデバイスは、要求パケットを受信することが可能となる。
【００４６】
＜＜コンフィグレータパケットのデータ部の概要＞＞
さらにコンフィグレータパケットのデータ部は、図８のようになっており、個々の項目の詳細を以下に示す。
【００４７】
（１）Ｖｅｒｓｉｏｎ（２ｂｙｔｅ）
本バージョンは０×０３００(バージョン３．００)
（２）Ｒｅｑｕｅｓｔ  Ｃｏｄｅ
本パケットで要求する機能を示すコード
0：Set(設定)
１：Get(参照)
2：NVRAM-Reset(NVRAM値でリセット)
３：Factory-Reset(工場初期値出リセット)
４：Discovery（探索）
（３）Ｒｅｓｕｌｔ  Ｃｏｄｅ（２ｂｙｔｅ）
要求された結果を示すコード
0×0000：成功
0×0001：メディアタイプ異常
0×0002：指定プロトコルスタックなし
0×0003：バージョン異常
0×0100：プロトコル設定異常(詳細不明)
０×0101：プロトコル設定異常(NetWare IPX)
０×0102：プロトコル設定異常(TcpIp)
０×0104：プロトコル設定異常(AppleTalk)
０×0108：プロトコル設定異常(TokenRing)
（４）Ｍｅｄｉａ  ｔｙｐｅ（２ｂｙｔｅ）
通信メディアを示す。
0：EtherNet
１：TokenRing
（５）Ｐｒｏｔｏｃｏｌ  Ｉｎｆｏ
それぞれのプロトコル情報に対応するフラグ。
Request Codeが０(設定)の場合、対応するバイトが１のプロトコルに関する情報のみが設定される。
【００４８】
（６）ＮｅｔＷａｒｅ  Ｉｎｆｏ
NetWareに関連する情報の設定および参照を行うフィールドである。
FrameType(2byte)
ＮｅｔＷａｒｅで使用するフレームタイプ
<EtherNet>
０：Disable(NetWare 使用不可)
1：802.3
２：802.2
４：EtherNet II
８：802.2SNAP
１６：AutoSense
＜ＴｏｋｅｎＲｉｎｇ＞
０：Disable(NetWare 使用不可)
１：TOKENRING
２：TOKEN_SNAP
（７）ＴｃｐＩｐ  Ｉｎｆｏ
TcpIpに関連する情報の設定および参照を行うフィールドである。
FrameType(2byte)
Ｔｃｐｉｐで使用するフレームタイプ
0：Disable(TcpIp 使用不可)
４：EtherNet II
ＩＰ  Ｍｏｄｅ（２ｂｙｔｅ）
ＩＰアドレス決定方法
参照時には以下の値がORされている。
0：IP固定(NVRAM値より立ち上がる)
１：BOOTP valid
２：RARP valid
４：DHCP valid
ＩＰ  ａｄｄｒｅｓｓ（４ｂｙｔｅ）
ネットワークアドレスのIPアドレス
Gateway address(4byte)
ネットワークボードのGateway
Ｓｕｂｎｅｔｍａｓｋ（４ｂｙｔｅ）
ネットワークボードのサブネットマスク
（８）ＡｐｐｌｅＴａｌｋ  Ｉｎｆｏ
AppleTalkに関する情報の設定および参照を行うフィールドである。
FrameType(2byte)
ＡｐｐｌｅＴａｌｋで使用するフレームタイプ
0：Disable(AppleTalk 使用不可)
１：Phase1
２：Phase2
３：Phase1 and Phase2
（９）ＭＡＣアドレス
ボードのMACアドレス。
RequestCodeが4(Discovery)以外の場合で、本フィールドの値とネットワークボードのMACアドレスが一致しない場合、パケットは無視される。
【００４９】
特にResuest Codeの値に応じて、各要求／応答パケットを、「Get要求パケット」「Get応答パケット」等のように以下では記述する。
【００５０】
以下、本実施形態において、ネットワーク管理プログラムをＰＣ１０３上で起動して、プリンタ１０２およびネットワークボード１０１のネットワーク設定を行う場合のネットワーク管理プログラムの動作手順について説明する。以下の処理を行う前の前提条件として、すでにネットワーク管理プログラムが起動されているものとする。また、プリンタ１０２には、図３におけるコンフィグレータプロトコル６０３以下のモジュールが実装されている。
【００５１】
次に、図４のフローチャートを用いて動作手順について説明する。また、図９は、ネットワーク管理プログラムとネットワークボード間でのコンフィグレータパケットの送受信の状態を示すシーケンス図である。
【００５２】
図４のステップＳ１０１において、ネットワークボード１０１のネットワーク設定を行うために、ＵＩモジュール６０６から起動されたコンフィグレータ６０３がDiscovery要求パケットを送信する。Discovery要求パケットは、先に述べたように送信先ＩＰアドレス＝２５５．２５５．２５５．２５５のブロードキャストパケットであるので、同一のサブネットに接続されている全ネットワークデバイスに到達する。
【００５３】
ステップＳ１０２において、Discovery要求パケットを受信した各ネットワークデバイス（コンフィグレータプロトコルを実装している）から送信されたDiscovery応答パケットを、コンフィグレータ６０３が受信する。その際、受信した各Discovery応答パケットのデータ部はＲＡＭ５０３上に記録しておく。
【００５４】
ステップＳ１０３において、あらかじめ定められた待ち時間が満了したか判定し、満了するまでコンフィグレータ６０３はステップＳ１０２を実行する。その間ＵＩモジュール６０６は図５に示すダイアログボックスを表示する。待ち時間が満了したら、ＵＩモジュール６０６はダイアログボックス（図５）を閉じ、ステップＳ１０４を実行する。
【００５５】
ステップＳ１０４において、受信した各Discovery応答パケットのデータ部をＲＡＭ５０３から取得し、その内容を参照することにより、コンフィグレータ６０３は各ネットワークボードのＭＡＣアドレスおよび現在のネットワーク設定のリストを作成し、ＵＩモジュール６０６はそのリストを表示する（図６）。
【００５６】
ステップＳ１０５において、ユーザが図６のダイアログボックスのリストから、任意のネットワークボードか、あるいは「再検出」「キャンセル」といったボタンを選択するのを待つ。
【００５７】
ステップＳ１０６ではどのような入力があったかを判定する。ユーザにより、リスト表示されたネットワークボードのうちからいずれかが選択されて「次へ」ボタンが押されたなら、ステップＳ１０７において、ユーザが選択されたネットワークボード（ここではネットワークボード１０１）に対するネットワーク設定を入力し、その入力値を元にコンフィグレータ６０３はＳｅｔ要求パケットを作成、送信する。ユーザにより入力された値は、Ｓｅｔ要求パケットのデータ部の「Ｐｒｏｔｏｃｏｌ  Ｉｎｆｏ」フィールドに、前述したように設定される。また、Ｓｅｔ要求パケットは、Discovery応答パケットにより得られているＭＡＣアドレスを宛先とするフレームに載せられるため、そのＭＡＣアドレスに該当するネットワークボード以外には無視される。そのため、ネットワークボード１０１にのみＳｅｔ要求パケットが受信される。Ｓｅｔ要求パケットを受信したネットワークデバイス（ここではプリンタ１０２）は、それが有するコンフィグレータにより、Ｓｅｔ要求パケットのデータ部に載せられた各種設定値を、コンフィグレータプロトコルに従って設定する。これによりプリンタ１０２のネットワーク設定が完了する。
【００５８】
一方、キャンセルボタンが押された場合にはそのままリスト表示を消去して処理を終了し、再検出ボタンが押されたなら、ステップＳ１０１に戻って、探索用のパケット（Discovery要求パケット）のブロードキャストから繰り返す。
【００５９】
以上の手順は、図９のＧｅｔ要求・応答を省略した手順である。ネットワーク上の物理アドレスのわかっている特定のデバイスについてその設定に関する情報を獲得する場合に、Ｇｅｔ要求・応答パケットが交換される。また、図９におけるＲｅｓｅｔ要求・応答は、設定を初期化するために交換されるものである。そのため、ネットワーク上の前デバイスについて情報を集め、特定のデバイスに対してネットワーク設定するための図４の手順においては、Ｇｅｔ要求・応答パケットも、Ｒｅｓｅｔ要求・応答パケットも特に交換されていない。
【００６０】
以上のように、本実施形態のネットワーク制御装置は、ネットワークデバイスの物理アドレスをすべて獲得し、それをリスト表示してネットワーク設定の送信先をユーザに選択させることで、ユーザがネットワークデバイスごとに物理アドレスを入力する必要がない。このため、ネットワーク設定が容易に行える。
【００６１】
【他の実施形態】
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【００６２】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。
【００６３】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００６４】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００６５】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００６６】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００６７】
【発明の効果】
以上説明したように、本発明のネットワークデバイス制御装置および方法、媒体によれば、ネットワーク上にあるデバイスのリストを表示し、そのリスト中からネットワークデバイスを選択させることにより、ユーザのネットワークデバイスの設定が簡便にできる。
【００６８】
【図面の簡単な説明】
【図１】プリンタをネットワークに接続するためのネットワークボードを、開放型アーキテクチャを持つプリンタへ繋げたシステムを示す図である。
【図２】ネットワーク管理ソフトウェアが稼働可能なＰＣの構成を示すブロック図である。
【図３】ネットワーク管理ソフトウェアのモジュール構成図である。
【図４】本実施例における処理の流れを示すフローチャート図である。
【図５】本実施例におけるダイアログボックスの一例を示す図である。
【図６】本実施例におけるダイアログボックスの一例を示す図である。
【図７】本実施例におけるコンフィグレータパケットのパケットフォーマットの一例を示す図である。
【図８】本実施例におけるコンフィグレータパケットのデータ部の詳細を示す図である。
【図９】本実施例におけるコンフィグレータパケットの送受信のシーケンスを示す図である。
【図１０】従来例におけるダイアログボックスの一例を示す図である。
【符号の説明】
１００  ＬＡＮ
１０１  ネットワークボード
１０２  プリンタ
１０３  ＰＣ
５０１  ＣＰＵ
５０２  ＲＯＭ
５０３  ＲＡＭ
５０４  システムバス
５０９  キーボード
５１０  ＣＲＴ
５１１  ＨＤ
５１２  ＦＤ
【図１】
0003658206.tif 000002
【図２】
0003658206.tif 000003
【図３】
0003658206.tif 000004
【図４】
0003658206.tif 000005
【図５】
0003658206.tif 000006
【図６】
0003658206.tif 000007
【図７】
0003658206.tif 000008
【図８】
0003658206.tif 000009
【図９】
0003658206.tif 000010
【図１０】
0003658206.tif 000011