(57)【特許請求の範囲】
【請求項１】
ネットワークデバイス管理方法であって、
物理アドレスを含んだ応答を受信するためにネットワークデバイスを探索するための第１のデータをネットワーク上にブロードキャスト送信する第１送信ステップと、
前記第１送信ステップにより送信された第１のデータに対するネットワークデバイスからの第１応答データを受信する第１受信ステップと、
ネットワークアドレスを含んだ応答を受信するためにネットワークデバイスを探索するための第２のデータをネットワーク上にブロードキャスト送信する第２送信ステップと、
前記第２送信ステップにより送信された第２のデータに対するネットワークデバイスからの第２応答データを受信する第２受信ステップと、
第１応答データを送信したが第２応答データを送信しないネットワークデバイスに対応付けて物理アドレスを表示し、第１応答データを送信し尚且つ第２応答データを送信したネットワークデバイスに対応付けてネットワークアドレスを表示することで、ネットワークアドレスが設定されているデバイスとされていないデバイスを識別可能に表示する表示ステップと、
前記一覧の中からユーザにより選択されたネットワークデバイスに対して、情報の設定をするためのデータを送信する設定ステップと、
を有することを特徴とするネットワークデバイス管理方法。
【請求項２】
ネットワークデバイスは、第２のデータの宛先ポート番号が所定のポート番号であり、かつネットワークアドレスが割当てられていない場合、第２応答データを送信しないことを特徴とする請求項１に記載のネットワークデバイス管理方法。
【請求項３】
第１応答データは、第１応答データを送信したネットワークデバイスの物理アドレスを含み、第２応答データは、第２応答データを送信したネットワークデバイスのネットワークアドレスを含むことを特徴とする請求項１又は２に記載のネットワークデバイス管理方法。
【請求項４】
前記設定ステップでは、情報を設定するためのデータを、第１応答データに含まれる物理アドレスに対して送信することを特徴とする請求項３に記載のネットワークデバイス管理方法。
【請求項５】
第１応答データを送信したネットワークデバイスと、第２応答データを送信したネットワークデバイスとを比較して、情報設定がなされていないネットワークデバイスを自動的に特定する特定ステップと、
前記特定ステップにより特定されたネットワークデバイスに対して、情報を設定するためのデータを送信する自動設定ステップと、
を有することを特徴とする請求項１乃至４のいずれかに記載のネットワークデバイス管理方法。
【請求項６】
請求項１乃至５のいずれかの方法を実行する情報処理装置。
【請求項７】
請求項１乃至５の何れかに記載の方法をコンピュータに実行させる制御プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークに接続されたネットワークデバイスを制御可能にするネットワークデバイスの制御装置及び管理方法に関するものである。
【０００２】
【従来の技術】
ローカルエリアネットワークに接続する個々のネットワークデバイスは、その接続する各ネットワークのプロトコルに特有のネットワークデバイスアドレス（以下、ネットワークアドレスと呼ぶ）によって識別され、運用・管理される。そして、このネットワークアドレスによりネットワーク上で個々の機器が特定されてホストコンピュータからデバイスを制御したり、他のネットワークデバイス相互間でデータの授受等が可能になる。
【０００３】
例えばIP（Internet Protocol）プロトコルを用いたネットワークデバイスの管理やネットワークに接続された印刷装置での印刷等を行う場合、ネットワークデバイスに予めそのネットワーク内で有効なIPアドレスを割り当てる必要がある。
【０００４】
しかし、ネットワークデバイスをネットワークに初めて接続する場合(初期設置状態にある場合等)や、ネットワークデバイスを別のネットワークから移設する場合等は、そのネットワークデバイスに割り当てられていた移設前のネットワークアドレスはネットワークセグメントが異なるために移設後のネットワークにおいては無効なアドレスであることが多い。そのため、ユーザは、ネットワーク管理ソフトウェア等を使って、ネットワークデバイスに対して適切なネットワークアドレスを設定する必要がある。
【０００５】
有効なネットワークアドレスが割り当てられていないネットワークデバイスに対し、ネットワーク管理ソフトウェアからＬＡＮ等のネットワークを介して有効なネットワークアドレスを割り当てる場合、その通信を行うための何らかのネットワークプロトコルが必要となる。しかし、有効なネットワークアドレスを割り当てられていないネットワークデバイスはIPアドレス等の標準的なネットワークアドレスが未設定であるために、そのネットワークプロトコルを使用不可能な状態であり、SNMP等の標準的なネットワークプロトコルを使用できない。
【０００６】
この問題を解決するために、以下のような、ネットワークデバイスの制御方法が提案されている。
【０００７】
（１）このネットワークデバイスの制御方法では、ネットワーク管理ソフトウェアが探索用のパケットをブロードキャスト送信する。すると、ネットワークに接続されている複数のネットワークデバイスのそれぞれが応答パケットを送信する。
【０００８】
ネットワーク管理ソフトウェアは、各ネットワークデバイスからの応答パケットを受信して、探索されたネットワークデバイスのネットワークアドレス（例えば、IPアドレス）や物理アドレス（例えば、MAC（Media Access Control）アドレス）等をリスト表示する。ユーザが、リストから、あるネットワークデバイスを選択すると、選択されたネットワークデバイスに対して、入力値（例えば、ネットワークアドレス）を設定する（例えば、特許文献１）。
【０００９】
（２）また、ネットワークデバイスに自動的に適切なネットワークアドレスを設定するための方法として、ネットワークデバイスがアドレスを要求するためのパケットを定期的にブロードキャストし、ネットワーク内に接続されたホスト上で動作するアドレス自動割当ソフトウェアがこれに応答して適切なネットワークアドレスを含む応答パケットをそのネットワークデバイスに対して返信し、これを受信したネットワークデバイスが応答パケット中のネットワークアドレスを自身に割り当てる、という方法が考えられる。
【００１０】
【特許文献１】
特開２０００−１２２９４４号公報
【００１１】
【発明が解決しようとする課題】
（１）しかしながら、上記の従来例（１）では、探索パケットを送信してネットワークデバイスを探索するため、探索パケットに応答するネットワークデバイスが全て列挙される。そのため、ネットワークに接続している複数台のネットワークデバイスの内から、ネットワークアドレスが割り当てられていないネットワークデバイス、即ち、ネットワークアドレスを割り当てなければならないデバイスをユーザが判別すること困難である。また、ネットワークアドレスが設定されていないネットワークデバイスはリストに含まれない場合がある。
【００１２】
そこで、本発明の目的は、所定の情報が設定されているネットワークデバイスと設定されていないネットワークデバイスとを、特に、ネットワークアドレスが割り当てられていないネットワークデバイスと既にネットワークアドレスが割り当てられているネットワークデバイスとを判別して表示することにある。また、ネットワークアドレスが割当てられていないネットワークデバイスを、ユーザからの指定によりまたは自動的に特定することにより、特定されたネットワークデバイスに対してネットワークアドレスを設定する。
【００１３】
（２）また、上記方法（２）では、ネットワークデバイス自身がアドレス要求パケットを定期的にブロードキャストするため、第１に、ネットワークアドレスを割り当てられていないネットワークデバイスの数が増加した場合には、ネットワークのトラフィックが増加する。第２に、前記アドレス要求パケットに応答し、適切なネットワークアドレスを応答として返信するネットワークアドレス自動割当ソフトウェアが、同一ネットワーク上で稼動していなければならない。第３に、ネットワークアドレスが自動で割り当てられたことを確認する手段がない。第４に、既に割り当てたネットワークアドレスが不用になった場合、アドレスの再利用が困難であるという問題があった。
【００１４】
本発明の目的は、この点に着目してなされたものであり、ネットワークアドレスの自動割当を行う場合には、ネットワークトラフィックを軽減するとともに、ネットワークアドレスを自動割当したネットワークデバイスをユーザが視認することが可能とすることにある。
【００１５】
また、本発明の目的は、既に割り当てられたネットワークアドレスが不用になった場合に、アドレスを再利用することが可能とすることにある。
【００１６】
【課題を解決するための手段】
上記課題を解決するために、本発明に係るネットワークデバイス管理方法は、ネットワークデバイスを探索するための第１のデータをネットワーク上にブロードキャスト送信する第１送信ステップと、前記第１送信ステップにより送信された第１のデータに対するネットワークデバイスからの第１応答データを受信する第１受信ステップと、
ネットワークデバイスを探索するための第２のデータをネットワーク上にブロードキャスト送信する第２送信ステップと、前記第２送信ステップにより送信された第２のデータに対するネットワークデバイスからの第２応答データを受信する第２受信ステップと、第１応答データを送信したネットワークデバイスと、第２応答データを送信したネットワークデバイスとを比較して、ネットワークデバイスに対する情報設定がなされているか否かをユーザが識別できるように、ネットワークデバイスの一覧を表示する一覧表示ステップと、前記一覧の中からユーザにより選択されたネットワークデバイスに対して、情報の設定をするためのデータを送信する設定ステップと、を有することを特徴とする。
【００１７】
また、本発明に係るネットワークデバイス管理方法は、ネットワークアドレスが設定されていないネットワークデバイスを探索する探索ステップと、前記探索ステップによる探索で見つかったネットワークデバイスに、割り当て可能なネットワークデバイスとして管理されているネットワークアドレスのうちの１つを割り当てる割当ステップと、ネットワークアドレスとネットワークデバイスの識別情報との組み合わせの一覧を表示ステップと、を有することを特徴とする。
【００１８】
また、本発明に係るネットワークデバイス管理方法は、ネットワークに接続されたネットワークデバイスを探索する探索ステップと、ネットワークデバイスに対する情報設定がなされているか否かをユーザが識別できるように、前記探索ステップで見つかったネットワークデバイスの一覧を表示する一覧表示ステップと、前記一覧の中からユーザにより選択されたネットワークデバイスに対して、情報の設定をするためのデータを送信する設定ステップと、情報設定がなされていないネットワークデバイスを自動的に特定して、特定したネットワークデバイスに対して、情報を設定するためのデータを送信する自動設定ステップと、を有することを特徴とする。
【００１９】
また、本発明に係るネットワークデバイス管理方法は、ネットワークに接続されたネットワークデバイスを探索する探索ステップと、探索によって見つかったネットワークデバイスのうち、ネットワークアドレスが設定されているネットワークデバイスと、ネットワークアドレスが設定されていないネットワークデバイスとを識別する識別ステップとを有することを特徴とする。
【００２０】
また、本発明に係るネットワークデバイス管理プログラムは、上記ネットワークデバイス管理方法をコンピュータに実行させることを特徴とする。
【００２１】
【発明の実施の形態】
図１は本発明にかかる実施形態の特徴を示すネットワークデバイスの構成を示す図であり、同図において、101はローカルエリアネットワーク(LAN)であり、102及び104はネットワークボードである。これらのネットワークボード102及び104はネットワークデバイス103及び同デバイス105にそれぞれ装着され、デバイスとネットワークとのインタフェースとしてLAN101に接続する。
【００２２】
106はLAN101に接続するホストコンピュータ（以下、「ホスト」という。）であり、同ホスト上でネットワークデバイス制御プログラムが動作し、要求パケット108をLAN101に送信し、アクティブな状態で接続するネットワークボード102及び104は要求パケットを受信して、その要求パケットに対する応答パケット109を返信する。ここで、ネットワークボード102は、LAN101上で有効な標準ネットワークプロトコル（例えばIPプロトコル）上の有効なネットワークアドレス（例えばIPアドレス）を持ち、ネットワークボード104は、有効なネットワークアドレスが割り当てられていないものと仮定する。
【００２３】
図９は、ネットワーク管理ソフトウエアが稼動可能なホスト106の構成を示すブロック図である。
【００２４】
図９において、ROM902若しくはハードディスク（HD)911に記憶された、あるいはCD-ROM913等の記憶媒体により供給されたネットワーク管理ソフトウエアを実行するCPU901を備え、システムバス904に接続する各デバイスを統括的に制御する。
【００２５】
903はRAMで、CPU901のワークエリア等として機能する。905はキーボードコントローラ（KBC)であり、キーボード（KB)909や不図示であるポインティングデバイスからの入力指示を制御する。906はCRTコントローラ（CRTC)であり、CRTディスプレイ（CRT)910を制御する。907はディスクコントローラ（DKC)で、種々のアプリケーション、ユーザプログラム、編集ファイル、データベース等を記憶するハードディスク（HD）911及びフレキシブルディスクコントローラ（FD)912、CD-ROMドライブ913とのアクセスを制御する。908はネットワークインターフェースカード（NIC)で、LAN101を介してネットワークデバイスとデータのやりとりをする。ネットワーク管理ソフトウエアの詳細なモジュール構成は後に説明するが、このソフトウエアの実行の主体はハードウエア上はCPU901である。
【００２６】
＜コンフィグレータプロトコル＞
図２は、コンフィグレータパケットとSNMP（Simple Network Management Protocol）パケットの一例を示す図である。（ａ）及び（ｂ）は、ネットワークデバイスの探索に用いるコンフィグレータパケットをTCP/IP上に実装した場合のパケットヘッダの一例を示す図である。また、（ｃ）及び（ｄ）は、ネットワークデバイスの探索に用いられるSNMPパケットのヘッダの一例を示す図である。これらのパケットはUDP（User Datagram Protocol）ヘッダ、IP（Internet Protocol）ヘッダ、DLC（Data Link Control）ヘッダから構成されている。
【００２７】
UDPはTCP/IPのトランスポート層プロトコルであり、IPはインターネットで使われているネットワーク層プロトコルであり、いずれもコネクションレス型プロトコルである。DLCはネットワークデバイスをネットワーク上で運用、管理するデータ管理層のプロトコルである。
【００２８】
図２（ａ）は、ホスト106からブロードキャストされる、コンフィグレータプロトコルによる要求パケット108の一例であり、図２（ｂ）はその応答パケット109の一例である。以下、本実施形態におけるネットワークデバイスの探索及び設定に用いるプロトコルを「コンフィグレータプロトコル」とし、このコンフィグレータプロトコルに基づいたパケットを「コンフィグレータパケット」と呼ぶ。コンフィグレータプロトコルはUDP（User Datagram Protocol）で実装され、コネクションの多重化によりネットワークのスループットを増やすと共に、信頼性を高めることが可能になる。
【００２９】
ホスト106の要求がネットワークデバイスの探索要求のブロードキャストである場合、DLCにおいて設定される宛先物理アドレス（dst  MAC）は「ff:ff:ff:ff:ff:ff」とされ、ネットワークに接続するアクティブなデバイスはこのフレームを受信することができる。例えば、「ff:ff:ff:ff:ff:ff」は、全ての宛先向けを意味するブロードキャストアドレスである。物理アドレスの一例としてＭＡＣ（Media Access Control）アドレスが挙げられる。
【００３０】
また、コンフィグレータパケットの宛先ポート番号（src Port）は「83B6H」になっている。ネットワークデバイスは、宛先ポート番号（src Port）が「83B6H」になっているかを確認して、送信されてきたパケットがコンフィグレータパケットであるかどうかを判断する。コンフィグレータパケットである場合には、ネットワークデバイスは、ネットワークアドレスが設定されているいないに係らず、応答パケットを送信する。ネットワークボード102及び104は、電源投入時にはアクティブな状態でLAN101に接続し、常にコンフィグレータパケットを受信可能な状態にある。
【００３１】
図２（ｃ）はホスト106からブロードキャストされるSNMPの要求パケットに対応するパケットヘッダの一例であり、図２（ｄ）はその応答パケットに対応するパケットヘッダである。
【００３２】
ホスト106の要求がネットワークデバイスの探索要求のブロードキャストである場合、DLCにおいて設定される宛先物理アドレス（dst MAC）は「ff:ff:ff:ff:ff:ff」とされ、ネットワークに接続するアクティブなデバイスはこのフレームを受信することができる。
【００３３】
また、SNMPによるパケットの宛先ポート番号（src Port）は「161」になっている。ネットワークデバイスは、宛先ポート番号（src Port）が「161」になっているかを確認して、送信されてきたパケットがSNMPパケットであるかどうかを判断する。SNMPパケットである場合でも、ネットワークアドレスが設定されていない場合には、ネットワークデバイスは、応答パケットを送信しない。
【００３４】
デバイスに対するその他の要求（探索要求以外の要求、例えば、設定要求）の場合、例えば、図１のネットワークボード102に対する要求パケットの場合は、そのネットワークボード102の物理アドレスがDLCにおける宛先物理アドレス（dst  MAC）に設定される。これにより、ネットワークボード102は、ホスト106から送信されたパケットフレームを受信することが可能となる。コンフィグレータパケットにおける設定要求パケットでは、宛先物理アドレスを利用して、ネットワークアドレスが設定されていないネットワークデバイスに対しても情報を設定することができる。
【００３５】
また、ネットワークデバイスの探索要求においては、IPにおいて設定される送信先IPアドレス(dst IP)は「255.255.255.255」とされる。その他の要求の場合は、ホスト106に割り当てられているIPアドレスとは異なるIPアドレスで、LAN101内で有効な任意のIPアドレス（送信先のネットワークデバイスのIPアドレス）を設定することが可能である。これにより、送信先のネットワークデバイスは、ホスト106からのパケットフレームを受信することが可能となる。
【００３６】
＜コンフィグレータパケットデータの詳細＞
図３は、図２におけるコンフィグレータプロトコルにおけるパケットのデータ部の構造の詳細である。個々の項目の詳細は以下の通りである。
【００３７】
Version (2 bytes): バージョン番号
Command Code (2 bytes): 本パケットで要求する機能を示すコード
0: Set(設定)
1: Get(参照)
4: Discovery(探索)
Result Code (2 bytes): 要求された結果を示すコード
0x0000: 成功
0x0001: 指定プロトコルスタックなし
0x0002: バージョン異常
0x0100: プロトコル設定異常(詳細不明)
0x0101: プロトコル設定異常(NetWare IPX)
0x0102: プロトコル設定異常(TcpIp)
Protocol Information: それぞれのプロトコル情報に対応するフラグ。
【００３８】
Request Codeが0(設定)の場合、対応するバイトが1のプロトコルに関する情報のみが設定される。Requst Codeが1(参照)又は4(探索)の場合、ネットワークボードが該当プロトコルスタックを実装している場合に設定される。
【００３９】
NetWare frame types: IPXプロトコルで使用されるフレームタイプ。複数のフレームタイプを設定可能な場合、これらの値のORが取られる。
【００４０】
FrameType (2 bytes): NetWareで使用するフレームタイプ。
【００４１】
Ethernet（登録商標）の場合:
0: Disable(NetWare使用不可)
1: 802.3
2: 802.2
4: Ethernet（登録商標）II
8: 802.2SNAP
16: Auto Sense(自動検出)
IP Info: TCP/IPに関連する情報の設定、参照及び能力誰何を行うフィールドである。
【００４２】
FrameType (2 bytes)
TCP/IPで使用するフレームタイプ
0: Disable(TCP/IP 使用不可)
4: Ethernet（登録商標）II
IP Mode (2 bytes): IP環境の取得方法。複数のIP Modeを指定可能な場合、これらの値のORが取られる。
0: IP固定（NVRAM値より立ち上がる）
1: BOOTP valid
2: RARP valid
4: DHCP valid
IP address (4 bytes): ネットワークボードのIPアドレス
Gateway address (4 bytes): ネットワークボードのGatewayアドレス
Subnetmask (4 bytes): ネットワークボードのサブネットマスク
MAC address (6 bytes): ボードのMACアドレス。RequestCodeが4(Discovery（探索）)以外の場合で、本フィールドの値とネットワークボードのMACアドレスが一致しない場合、パケットは無視される。
【００４３】
＜ネットワーク管理プログラムの説明＞
次に、ホスト１０６上において動作するネットワーク管理プログラムについて説明する。LAN101に接続するネットワークデバイス103及び105のネットワークインターフェース部分（ネットワークボード101、104）には、MIB（Management Information Base）と呼ばれる標準化されたデータベースが構築されており、SNMP（Simple Network Management Protocol）というネットワーク管理プロトコルを介してネットワーク上のホスト106と通信し、ホストとネットワークデバイス相互間の通信が可能になっている。
【００４４】
一方、ホスト106上では、ネットワーク管理プログラムと呼ばれるソフトウェアプログラムが動作しており、ネットワークを介して上述のＳＮＭＰの利用によりMIB（Management Information Base：管理情報ベース）を使って必要な情報交換が可能となる。
【００４５】
図４は、ネットワーク管理プログラムのモジュール構成を示す図である。同図において401は、ネットワーク管理プログラムが動作するオペレーティングシステムの提供するネットワークAPI（Application Program Interface）である。この例では、Unix（登録商標）やMicrosoft Windows（登録商標）で用いられるSocket APIを用いている。
【００４６】
402は上位のTCP/IPプロトコル上でUDPパケットの送受信を行うためのUDPハンドラであり、上位のコンフィグレータプロトコル403やSNMPプロトコル406を扱うためのモジュールにより呼び出され、これらのプロトコルパケットの送受信を処理する。
【００４７】
404はコンフィグレータプロトコル403を用いたネットワークデバイスの探索を行う第1探索モジュールであり、このモジュールの処理に基づいて探索されたデバイスは第1デバイスリスト情報(405)として記憶手段に記憶される。また、407はSNMPプロトコルを用いたネットワークデバイスの探索を行う第2探索モジュールであり、このモジュールにより探索されたネットワークデバイスは第2デバイスリスト情報(408)として記憶手段に記憶される。
【００４８】
409は、コンフィグレータプロトコル403及びSNMPプロトコル406により探索された両デバイスリスト、即ち第1デバイスリスト405及び第2デバイスリスト408に基づき、それぞれの探索で見つかったネットワークデバイスを表示して、ネットワークアドレスが未設定であるデバイスをユーザに判別可能な形で表示し、この表示されたリスト中よりネットワークアドレスの設定を行うネットワークデバイスを選択するユーザー・インターフェース（UI）モジュールである。
【００４９】
410はデバイスリスト表示UIモジュール409より選択されたネットワークデバイスに対して、ネットワークアドレス等の情報設定を行うためのUIモジュールである。デバイスリスト表示UIモジュール409及びデバイス設定UIモジュール410により表示されるデバイスリスト及びネットワークデバイスのネットワーク設定画面の例を図６及び図７に示す。
【００５０】
図６はデバイスリスト表示UIモジュール409により表示されるデバイスリストの表示画面例を示す図である。ホスト106からLAN101に対してデバイスの探索要求がブロードキャストされた場合、コンフィグレータプロトコル403による探索要求パケットにのみ応答したネットワークデバイスと、標準ネットワークプロトコル（ＳＮＭＰ）を用いた探索要求パケットに応答した標準プロトコル上で有効なネットワークアドレスを持つネットワークデバイスが、ユーザに判別の付く表示形式で表示されている。
【００５１】
この表示例では、標準ネットワークプロトコルにおけるネットワークアドレスとしてIPアドレスが用いられており、有効なIPアドレスを持つデバイスに関しては、IPアドレスが表示されている。表示例では、2台のネットワークデバイスがIPアドレス未設定の状態であり（601、602）、6台のネットワークデバイスには有効なネットワークアドレスが設定されているデバイスとして表示されている（603〜608）。また、IPアドレスが未設定のネットワークデバイスを判別するために、ここでは、ネットワークボードのMACアドレスが表示されている。MACアドレスは図２（ａ）の要求パケットデータにおけるDLCの宛先物理アドレス（ブロードキャスト）に対して、応答パケット（図２（ｂ））で各ネットワークデバイスが応答した物理アドレスに基づくものである。
【００５２】
なお、ネットワークアドレスが設定されているネットワークデバイスと、ネットワークアドレスが未設定のネットワークアドレスとを区別するために、異なるアイコンを使用しても良い。
【００５３】
図７はデバイス設定UIモジュール410により表示され、図６のリストの中から指定されたネットワークデバイスに対して、具体的なネットワークの設定を行うためのインタフェース画面を例示する図である。この画面から、所定のプロトコル（TCP/IP等）におけるフレームタイプ、IPアドレスの設定方法等を指定することができる。この画面において701〜707に関する諸設定をして、「了解」ボタン（708）を押すと、ネットワーク設定プログラムは情報設定パケット（設定要求パケット）を生成して、指定されたネットワークデバイスに対して情報設定パケットを送信(図５の509)し、ネットワークを介した情報の設定を行う。
【００５４】
次に図８のフローチャートを用いてネットワークデバイスに対する情報設定の手順を説明する。このフローチャートに基づく処理は、ネットワーク管理プログラムによって制御される。
【００５５】
図８のステップS801において、ネットワークデバイスの探索を行なうために、第1探索モジュール（404）はコンフィグレータプロトコルに基づく探索要求パケット１を生成して、ネットワークデバイスに対してブロードキャスト送信する。この探索要求パケット１は、先に述べたように宛先物理アドレス（dst  MAC）＝「ff:ff:ff:ff:ff:ff」、宛先パケット番号（src Port）＝「83B6H」のブロードキャストパケットであるので、ネットワークに接続するアクティブなデバイスはこのフレームを受信することができる。
【００５６】
探索要求パケット１を受信する各ネットワークデバイスは応答パケットを生成して送信する（S810、S820）。
【００５７】
ステップS802において、各ネットワークデバイスから送信された応答パケットをSocket  API401が受信する。その際、受信した各応答パケットのデータ部を第1デバイスリスト情報として記憶手段に記憶する（S803）。
【００５８】
次にステップS804において、ネットワークデバイスの探索を行なうために、第2探索モジュールはSNMPプロトコルに基づく探索要求パケット２をブロードキャスト送信する。この探索要求パケット２は、先に述べたように送信先IPアドレス＝255.255.255.255、宛先ポート番号（src Port）＝「161」のブロードキャストパケットであるので、同一のサブネットに接続しているネットワークデバイスに到達する。
【００５９】
各ネットワークデバイスはこの探索要求パケット２に対して応答パケットを生成して送信する（S830、S840）。なお、IPアドレスが設定されていないネットアークデバイスは、探索要求パケット２を受信できないか、或いは受信できても探索要求パケット２を破棄してしまうため、応答パケットを送信しない。
【００６０】
ステップS805において、各ネットワークデバイスから送信された応答パケットを受信し、その際、受信した各応答パケットのデータ部を第2デバイスリスト情報として記憶手段に記憶する（S806）。
【００６１】
ステップS807において、ネットワークデバイスリスト表示UIモジュール409は、上述のステップS803及びS806の処理において格納されている第１及び第２デバイスリスト情報をコールして、その内容をリスト表示する。このリスト表示は図６で説明したように、IPアドレスが設定されているデバイスと、未設定のデバイスとを判別できるような状態で表示するものである。
【００６２】
ステップS808において、ステップS807でリスト表示されたネットワークデバイスのうちから不図示の入力手段により選択したネットワークデバイスに対して、所定のネットワーク情報の設定をする（図７）。ここで設定された内容に基づき、デバイス設定UIモジュール410は情報設定パケットを生成し、選択されたネットワークデバイスに対して物理アドレスを宛先として送信する。
【００６３】
ステップS850において、選択されたネットワークデバイスは、その情報設定パケットを受信して、そのパケットのデータ部に設定されている内容を自機の情報として設定する。設定後、そのネットワークデバイスは情報設定応答パケットを生成し、ホスト106に送信する（S860）。
【００６４】
ホスト106は選択したネットワークデバイスから情報設定応答パケットを受信して処理を終了する（S809）。
【００６５】
以上の手順によりネットワークデバイスに対してネットワーク情報の設定を行ない、ネットワーク上において通信、制御が可能な状態とすることができる。
【００６６】
図５は、ホスト106上のネットワーク管理ソフトウエアが、ネットワークボード102及び104と通信して、ネットワークボード102、104の設定を行う際のパケットの送受信の流れ及び処理の流れを示すシーケンス図である。
【００６７】
ネットワーク管理ソフトウエアは先ず、LAN101に対して、コンフィグレータプロトコルを用いた探索要求パケット1のブロードキャスト送信を行う（501）。
【００６８】
LAN101に接続するネットワークボード102及び104は、コンフィグレータプロトコルの探索要求パケット1を受信し自身の現在の設定を応答パケットとして送信する（502）。
【００６９】
ネットワーク管理ソフトウェアは、ネットワークボード102及び104から返信された探索応答パケットの内容に基づき、探索要求パケット501に応答したネットワークデバイスに関する第1デバイスリストを作成し、これを不図示の記憶手段に記憶する（503）。
【００７０】
続いて、ホスト106上のネットワーク管理ソフトウエアはLAN101に対して、標準プロトコルを用いたネットワークデバイスの探索要求パケット2のブロードキャスト送信を行う（504）。ここで用いられる標準プロトコルとは、例えば、IPプロトコル上のSNMP（Simple Network Management Protocol）であり、探索パケットとは、ホスト106（マネージャ）から管理対象デバイス（エージェント）に対する管理情報の収集に関するもので、SNMPの"GET"或いは"GET-NEXT"に従うオペレーション要求である。LAN101上で、標準プロトコルに関して有効なネットワークアドレスを持つネットワークボード102は、探索要求パケット2を受けて、これに対して、探索応答パケット2を返す（505）。しかし、標準プロトコルに関して有効なネットワークアドレスを未だに割り当てられていないネットワークボード104は、この探索要求パケット2に対して応答を返すことが出来ない。ネットワーク管理ソフトウェアは、探索要求パケット２（504）に応答したネットワークデバイスに関する第2デバイスリストを作成し、これを不図示の記憶手段に保存する（506）。
【００７１】
ネットワーク管理ソフトウェアは、探索応答パケット1に基づくデバイスリスト１と、探索応答パケット２に基づくデバイスリスト２とに基づき、LAN101に接続するネットワークデバイスの内、探索要求パケット２に対して応答が可能なネットワークデバイスを識別することが可能になる。その結果、ネットワーク管理ソフトウエアはLAN101上で有効な標準プロトコルに対して有効なネットワークアドレスを割り当てられているネットワークデバイス、例えばネットワークボード102と、有効なネットワークアドレスを割り当てられていないネットワークデバイス(未設定ネットワークデバイス装置と呼ぶ)、例えばネットワークボード104とを、ユーザに識別可能な形で、リスト表示する（507）。
【００７２】
リスト表示されたデバイスリストから、ユーザは標準プロトコルに対して有効なネットワークアドレスが未設定なネットワークデバイス、例えばネットワークボード104を選択し、ネットワークに関する設定値、例えば未設定ネットワークデバイスに割り当てるネットワークアドレスを入力する（508）。ここで入力されたネットワークアドレスの設定値に基づいて、情報設定パケットを生成し、ネットワークボード104に対して情報設定パケットを送信する（509）。
【００７３】
ネットワークボード104は情報設定パケットを受信して、その内容に基づいてネットワークボードのネットワーク設定を行い（図８のステップS850）、ネットワーク管理プログラムに対して情報設定応答パケットを返す（510）。ホスト106上のネットワーク管理ソフトウエアはネットワークボード104からの情報設定応答パケット510を受信して処理を終了する（図８のS809）。
【００７４】
以上説明したように、本実施形態にかかるネットワークデバイス制御装置及び方法によれば、ネットワーク上に接続するネットワークデバイスを独自のプロトコルであるコンフィグレータプロトコルによる探索により見つかったネットワークデバイスのリストと、標準ネットワークプロトコルによる探索により見つかった有効なネットワークアドレスを持つネットワークデバイスのリストと、に基づいて検索結果の差分を取ることにより、標準ネットワークプロトコル上で有効なネットワークアドレスを持たないネットワークデバイスを、有効なネットワークアドレスを持つネットワークデバイスと判別できる状態で表示することが可能となる。
【００７５】
この判別表示に基づいて、有効なネットワークアドレスが未設定のネットワークデバイスに対しては、そのデバイスを特定して、個別の設定に基づく情報設定パケットを生成し、配信することによりネットワーク情報の設定をすることが可能になる。ネットワークデバイスに対するネットワーク情報の設定により、ネットワークデバイスを、ネットワーク上において通信、制御が可能な状態とすることができる。
【００７６】
次は、ネットワークデバイスにネットワークアドレスを自動的に割当てる場合の実施形態を説明する。
【００７７】
以下では、図１の１０６が、自動アドレス割当装置（以下、「アドレス割当装置」と略して言う）である。ネットワークアドレス自動割当プログラムは、アドレス割当装置１０６上で動作し、ＬＡＮ１０１を介してネットワークボード１０２及び１０４つ通信する。
【００７８】
図１０は、アドレス割当装置１０６上で動作する前記ネットワークアドレス自動割当プログラムのモジュール構成を示すブロック図である。
【００７９】
図１０において、モジュール１００１は、ネットワークアドレス自動割当プログラムが動作するオペレーティングシステムが提供するネットワークＡＰＩ（Application Program Interface）である。図示例では、Unix（登録商標）やMicrosoft Windows（登録商標）で利用されるSocket APIを用いている。
【００８０】
モジュール１００２は、上位のモジュールがＵＤＰ（User Datagram Protocol）パケットの送受信をするためのハンドラである。
【００８１】
モジュール１００３は、ＬＡＮ１０１に接続された標準プロトコル上のネットワークアドレスが未設定のネットワークデバイスを探索するためのモジュールであり、探索されたネットワークアドレス未設定ネットワークデバイスのリストは未設定デバイスリスト１００４に格納される。
【００８２】
モジュール１００５は、未設定ネットワークデバイスにネットワークアドレスを割り当てるための処理をするモジュールである。
【００８３】
モジュール１００６は、未設定ネットワークデバイスに設定可能なネットワークアドレスのリストを管理するアドレスプールである。
【００８４】
モジュール１００７は、未設定ネットワークデバイスを探索し、これら未設定ネットワークデバイスにアドレスプール中のネットワークアドレスを割り当てる処理全体を制御するモジュールである。
【００８５】
モジュール１００８は、割り当てられたネットワークアドレスとネットワークデバイスの固有情報をリスト管理するモジュールである。
【００８６】
モジュール１００９は、管理モジュール１００８により管理される設定済デバイスリストを表示選択するためのユーザインターフェイスであり、ここでは、必要に応じてＳＮＭＰ（Simple Network Management Protocol）を用いてネットワークデバイスに関する情報を収集し、併せて表示するようにしている。ここで選択されたネットワークデバイスに対して、詳細設定ユーザインターフェイス（ＵＩ）１０１０を開き、ユーザは、選択されたネットワークデバイスに関する詳細情報を入力する。
【００８７】
モジュール１０１１は、詳細設定ＵＩ１０１０で入力された設定情報をネットワークデバイスに設定する処理を行うモジュールであり、図示例では、標準ネットワークプロトコルであるＳＮＭＰを用いて詳細設定を実現しており、ＳＮＭＰハンドラ１０１２を呼び出し、ネットワークデバイスに対して設定を行う。
【００８８】
図１１は、上記アドレス自動割当プログラム全体の手順を示すフローチャートである。
【００８９】
同図において、まず、ＬＡＮ１０１に接続された、標準プロトコル上のネットワークアドレスが未設定のネットワークデバイスを探索する（ステップＳ１１０１）。ネットワークアドレスが未設定のネットワークデバイスを探索するために、アドレス自動割当プログラムは、ステップＳ８０１〜８０６を実行する。そして、第１デバイスリスト情報にリストアップされているネットワークデバイスであって、第２デバイスリスト情報にリストアップされていないネットワークデバイスを特定し、特定したネットワークデバイスを、ネットワークアドレスが未設定のネットワークデバイスとみなす。
【００９０】
また、図５または図８の処理が終了した後に、ユーザからの自動割当の指示に応じて、アドレス自動割当プログラムが実行された場合には、ステップＳ８０４で保存された第１デバイスリスト情報及びステップＳ８０６で保存された第２デバイスリスト情報に基づいて、ネットワークアドレスが未設定のネットワークデバイスを探索しても良い。この場合には、ネットワーク管理プログラムに、アドレス自動割当プログラムを読み出すためのボタンまたはメニューを用意する。
【００９１】
ステップＳ１１０１の処理でネットワークアドレス未設定のデバイスが探索された場合には、探索されたネットワークアドレス未設定デバイスに対して、ネットワークデバイスに割当可能なネットワークアドレスのプールからネットワークアドレスを取り出し、これを割り当てる（ステップＳ１１０２→Ｓ１１０３）。
【００９２】
次に、ステップＳ１１０３で割り当てたネットワークアドレスとネットワークデバイスの固有情報、例えばＭＡＣ（Media Access Control）アドレスとを割当済みリストに登録する（ステップＳ１１０４）。
【００９３】
そして、ステップＳ１１０３およびＳ１１０４の処理を、ステップＳ１１０１で探索された未設定ネットワークデバイス全てに対して行う。
【００９４】
全てのネットワークアドレスが未設定のネットワークデバイスに対してネットワークアドレスの割り当てが終了すると、ネットワークアドレスを割り当てたネットワークデバイスの一覧を表示する（ステップＳ１１０２→Ｓ１１０５）。このとき、必要に応じて、ＳＮＭＰ等の標準プロトコルまたは独自プロトコルを用いて、個々のネットワークデバイスに関する所定の情報を収集し、併せて表示するようにしてもよい。
【００９５】
ユーザがネットワークデバイスに対する更なる詳細設定を行わないと判断した場合には、本プログラムは終了する（ステップＳ１１０６→終了）。
【００９６】
一方、そうでない場合には、ユーザは、詳細設定を行うネットワークデバイスをリストから選択し（ステップＳ１１０７）、詳細設定ダイアログを用いて設定値を入力し（ステップＳ１１０８）、入力された情報をネットワークデバイスに設定する（ステップＳ１１０９）。
【００９７】
図１２は、上記ステップＳ１１０５の処理により、ネットワークアドレスを割り当てたネットワークデバイスの一覧を表示するユーザインターフェイスの一例を示す図である。図示例では、ネットワークアドレスを割り当てたネットワークデバイスの、割り当てたネットワークアドレス、MACアドレス、デバイスの製品名称を表示している。なお、デバイスを識別可能にするための情報は、MACアドレスや製品名称の他、デバイスの概観を示す画像、デバイスに対してユーザにより名づけられたデバイス名、デバイスの型番などであってもよい。ここで、ネットワークデバイスを選択して、「詳細設定」ボタンを押すことにより、選択されたネットワークデバイスの詳細設定を行うためのダイアログを表示する。また、「終了」ボタンを押すことによりプログラムは終了する。
【００９８】
図１３は、上記ステップＳ１１０８の処理によって表示されたネットワークデバイスの詳細設定ダイアログの一例を示す図である。
【００９９】
ユーザは、この画面から設定値を入力し、「了解」ボタンを押すことにより、入力された設定値をネットワークデバイスに設定することができる。
【０１００】
図１４は、変形されたアドレス割当装置上で動作するネットワークアドレス自動割当プログラムのモジュール構成を示すブロック図である。同図中、モジュール１００１〜１００８および１０１２は、図２の対応するモジュールと共通である。図１４のネットワークアドレス自動割当プログラムでは、図１０のネットワークアドレス自動割当プログラムに対して、モジュール１２１とモジュール１２２とが追加されている。
【０１０１】
図１４において、モジュール１２１は、ＬＡＮ１０１の標準プロトコル上で有効なネットワークアドレスを持つネットワークデバイスを探索するモジュールであり、図示例では、ＳＮＭＰを用いて探索機能を実現している。
【０１０２】
モジュール１２２は、ネットワークアドレス管理モジュールである。
【０１０３】
図１５は、ネットワークアドレス管理モジュールでなされるネットワークアドレス管理処理の手順を示すフローチャートである。
【０１０４】
同図において、まず、ネットワーク６上に、既に有効なネットワークアドレスを持つネットワークデバイスを探索し、探索で見つかったネットワークデバイスに関して、ネットワークアドレスとネットワークデバイスの個別情報との組をリストＡに保存する（ステップＳ１５０１）。
【０１０５】
そして、リストＡに要素がない場合には、本処理は終了し（ステップＳ１５０２→終了）、リストＡに要素がある場合には、リストＡよりネットワークアドレスとネットワークデバイスの個別情報との組を一つ取り出す（Ｓ１５０３）。ここで、仮に取り出した個別情報を持つネットワークデバイスを「ネットワークデバイスＤ」、ネットワークアドレスを「ネットワークアドレスＮ」とする。
【０１０６】
次に、ネットワークデバイスＤが、ネットワークアドレスが自動的に割当てられたネットワークデバイスのリスト（設定済リストＢ）内に存在するかを確認するために、設定済みリストＢを検索する（ステップＳ１５０４）。なお、設定済リストＢには、各ネットワークデバイスのネットワークアドレスが格納されている。
【０１０７】
検索の結果、ネットワークデバイスＤが設定済リストＢ中に存在しない場合には、リストＡ中の次の要素に対して、同様の処理を行う（ステップＳ１５０５→Ｓ１５０２）。
【０１０８】
一方、設定済リストＢ中にネットワークデバイスＤが存在する場合には、設定済リスト中のネットワークデバイスＤに割り当てたネットワークアドレス（「ネットワークアドレスＭ」とする）と「ネットワークアドレスＮ」とを比較する（ステップＳ１５→Ｓ１６）。
【０１０９】
比較の結果が同じ場合には、リストＡ中の次の要素に対して、同様の処理を行う（ステップＳ１５０７→Ｓ１５０２）。
【０１１０】
比較の結果、異なる場合には、設定済リストからネットワークデバイスＤに関する情報を削除し、「ネットワークデバイスＤ」に割当てられている「ネットワークアドレスＭ」を、未設定デバイスに割り当てることのできるネットワークアドレスとして、アドレスプールに返却する（ステップＳ１７→Ｓ１８）。つまり、現在、「ネットワークデバイスＤ」には「ネットワークアドレスＮ」が割当てられているので、「ネットワークアドレスＭ」は使われていないことになる。従って、「ネットワークアドレスＭ」を他のネットワークアドレスに割当ててもいいようにする。
【０１１１】
上記の処理をステップＳ１５０１の探索で見つかったネットワークデバイス全てに対して行う。
【０１１２】
以上説明したように、本発明によれば、ネットワークアドレス自動割当プログラム側でネットワークアドレス未設定デバイスを探索するようにしたので、ネットワークトラフィックの軽減を図ることができる。
【０１１３】
また、自動でネットワークアドレスを割り当てたネットワークデバイスを記憶し表示するようにしたので、ユーザに対して、自動でネットワークアドレスを割り当てたネットワークデバイスを認識させると同時に、ネットワークデバイスを正しく動作させるための更なる設定を行うよう促すことが可能となる。
【０１１４】
さらに、本発明によれば、ネットワークアドレスを自動で割り当てたネットワークデバイスに、後に別のネットワークアドレスが割り当て直された場合には、以前に割り当てたネットワークアドレスを、自動設定可能なネットワークアドレスのプールに返却するようにしたので、ネットワークアドレスの有効な利用が可能となる。
【０１１５】
＜他の実施の形態＞
なお、上述した各実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１１６】
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１１７】
プログラムコードを供給するための記憶媒体としては、たとえば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。また、通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
【０１１８】
また、コンピュータが読出したプログラムコードを実行することにより、上述した各実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳなどが実際の処理の一部または全部を行い、その処理によって上述した各実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１１９】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって上述した各実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１２０】
【発明の効果】
以上説明したように、本発明によれば、必要な情報が設定されていないネットワークデバイスを、例えば有効なネットワークアドレスを持たないネットワークデバイスを、必要な情報が設定されているネットワークデバイスと識別できる状態で表示することが可能となる。
【０１２１】
また、ユーザが、表示を見て、必要な情報が未設定のネットワークデバイスを識別・指定することにより、或いは、必要な情報が未設定のネットワークデバイスを自動的に特定することにより、指定された或いは特定されたネットワークデバイスに対して、情報を設定するためのデータを送信することができ、ネットワークデバイスに対する情報の設定を比較的容易にすることが可能となる。
【０１２２】
本発明によれば、ネットワークアドレスの自動割当を行う場合には、ネットワークデバイスがアドレスを要求するためのパケットを定期的にブロードキャストして応答パケット中のネットワークアドレスを自身に割り当てるという方法に比べて、ネットワークトラフィックを軽減することができる。
【０１２３】
また、ネットワークアドレスを自動割当したネットワークデバイスをユーザが視認することを可能にする。
【図面の簡単な説明】
【図１】本発明にかかる実施形態の特徴を最もよく表すネットワークデバイスの構成を示す図である。
【図２】ネットワークデバイスの探索及びネットワークデバイスに対する諸設定に用いるコンフィグレータパケットをTCP/IP上に実装した場合のパケットヘッダの一例を示す図である。
【図３】図２におけるコンフィグレータプロトコルにおけるパケットのデータ部の構造を示す図である。
【図４】ネットワーク管理プログラムのモジュール構成を示す図である。
【図５】ホスト106上のネットワーク管理ソフトウエアが、ネットワークボード102及び104と通信して、ネットワークボード102、104の設定を行う際のパケットの送受信の流れ及び処理の流れを示すシーケンス図である。
【図６】デバイスリスト表示UIモジュール409により表示されるデバイスリストの表示画面例を示す図である。
【図７】デバイス設定UIモジュール410により表示され、図６の表示で指定されたネットワークデバイスに対して、具体的なネットワークの設定を行うためのインタフェース画面を例示する図である。
【図８】ネットワークデバイスに対する情報設定の手順を説明するフローチャートである。
【図９】ネットワーク管理ソフトウエアが稼動可能なホストコンピュータの構成を示すブロック図である。
【図１０】ネットワークアドレス自動割当プログラムのモジュール構成を示すブロック図である。
【図１１】アドレス自動割当プログラム全体の手順を示すフローチャートである。
【図１２】ネットワークアドレスを割り当てたネットワークデバイスの一覧を表示するユーザインターフェイスの一例を示す図である。
【図１３】ネットワークデバイスの詳細設定ダイアログの一例を示す図である。
【図１４】本発明の第２の実施の形態に係るアドレス割当装置上で動作するネットワークアドレス自動割当プログラムのモジュール構成を示すブロック図である。
【図１５】ネットワークアドレス管理モジュールでなされるネットワークアドレス管理処理の手順を示すフローチャートである。
【符号の説明】
101  ローカルエリアネットワーク
102、104  ネットワークボード
103、105  ネットワークデバイス
106  ホストコンピュータ
901  CPU
902  ROM
903  RAM
904  システムバス
909  キーボード
910  CRT
911  HD
912  FD
913  CD-ROM
【図１】
0004235460.tif 000002
【図２】
0004235460.tif 000003
【図３】
0004235460.tif 000004
【図４】
0004235460.tif 000005
【図５】
0004235460.tif 000006
【図６】
0004235460.tif 000007
【図７】
0004235460.tif 000008
【図８】
0004235460.tif 000009
【図９】
0004235460.tif 000010
【図１０】
0004235460.tif 000011
【図１１】
0004235460.tif 000012
【図１２】
0004235460.tif 000013
【図１３】
0004235460.tif 000014
【図１４】
0004235460.tif 000015
【図１５】
0004235460.tif 000016