(57)【要約】【課題】  管理対象ネットワークデバイスを探索する際に、ネットワークデバイスの探索時間を短縮させる。【解決手段】  管理対象のネットワークデバイスを探索する少なくとも１つのネットワークアドレスを指定し、ネットワークアドレスに対してデータ送受信を行い、ネットワークアドレスが設定されたネットワークデバイスの存在確認処理を行う。この存在確認処理を順次行い、管理対象のネットワークデバイスを探索する際に、前回の探索処理で存在確認済みでないネットワークアドレスに対して存在確認処理を行う。【選択図】      図２
2007214916.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続されたネットワークデバイスを管理するネットワークデバイス管理装置であって、
管理対象のネットワークデバイスを探索する少なくとも１つのネットワークアドレスを指定する指定手段と、
前記指定されたネットワークアドレスに対してデータ送受信を行い、前記ネットワークアドレスが設定されたネットワークデバイスの存在確認処理を行う存在確認手段と、
前記存在確認処理を順次行い、前記管理対象のネットワークデバイスの探索処理を行う探索手段と、
前記ネットワークアドレスが前回の探索処理で存在確認済みか否かを判定する判定手段と、
前記判定の結果、前記存在確認済みでないネットワークアドレスに対して前記存在確認処理を行い、前記管理対象のネットワークデバイスの探索処理を行うように制御する制御手段と、
を有することを特徴とするネットワークデバイス管理装置。
【請求項２】
前記制御手段は、前記存在確認済みでないネットワークアドレスに対して優先的に前記存在確認処理を行い、その後存在確認済みのネットワークアドレスに対して前記存在確認処理を行うように制御することを特徴とする請求項１に記載のネットワークデバイス管理装置。
【請求項３】
前記ネットワークアドレスは、ＩＰアドレスであることを特徴とする請求項１に記載のネットワークデバイス管理装置。
【請求項４】
ネットワークに接続されたネットワークデバイスを管理するネットワークデバイス管理装置の探索方法であって、
管理対象のネットワークデバイスを探索する少なくとも１つのネットワークアドレスを指定する指定工程と、
前記指定されたネットワークアドレスに対してデータ送受信を行い、前記ネットワークアドレスが設定されたネットワークデバイスの存在確認処理を行う存在確認工程と、
前記存在確認処理を順次行い、前記管理対象のネットワークデバイスの探索処理を行う探索工程と、
前記ネットワークアドレスが前回の探索処理で存在確認済みか否かを判定する判定工程と、
前記判定の結果、前記存在確認済みでないネットワークアドレスに対して前記存在確認処理を行い、前記管理対象のネットワークデバイスの探索処理を行うように制御する制御工程と、
を有することを特徴とするネットワークデバイス管理装置の探索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続されたネットワークデバイスを管理するネットワークデバイス管理装置及びその探索方法に関する。
【背景技術】
【０００２】
ＳＮＭＰ（Simple Network Management Protocol）は、ＬＡＮ（Local Area Network）をはじめとするネットワークを管理するためのプロトコルである。ＳＮＭＰは、現在ではＴＣＰ／ＩＰをベースとしたネットワークに限らず、他のプロトコルをベースとしたネットワークのネットワーク管理プロトコルとしても幅広く使用されている。ここで、ＴＣＰはTransmission Control Protocol、ＩＰはInternet Protocolの略である。
【０００３】
通常、ＳＮＭＰに基づくネットワーク管理では、ネットワークデバイスを管理するＰＣ（マネージャ）から、管理対象のネットワークデバイス（エージェント）が持つＭＩＢにＳＮＭＰプロトコルを使用してアクセスすることにより管理を行う。ＭＩＢはManagement Information Baseの略であり、木構造のデータ構造をしており、全てのノードに対してオブジェクトＩＤという一意に識別可能な識別子が割り付けられている。ＭＩＢの構造はＳＭＩ（Structure for Management Information）と呼ばれている。そして、非特許文献１で規定されている。
【０００４】
ＳＮＭＰプロトコルでは、GetRequest、GetNextRequest、SetRequest、GetResponse、Trapの５つのＰＤＵ（Protocol Data Unit）が定義されている。GetRequestは、オブジェクトＩＤで指定したオブジェクトの値を取得するために使用する。GetNextRequestは、オブジェクトＩＤで指定したオブジェクトの値を連続して取得するために使用する。SetRequestは、オブジェクトＩＤで指定したオブジェクトの値を設定するために使用する。GetResponseは、GetRequest、GetNextRequest、SetRequestの応答として、エージェントでの処置結果をマネージャに通知するために使用する。処置結果としては、例えばGetRequestにより要求されたオブジェクトの値である。Trapは、エージェントからマネージャに能動的にデータを送信する場合に使用する。
【０００５】
一方、ネットワーク上の各種資源（プリンタ、複合機、スキャナなど）を効率的に発見し、利用するための方法として、「ディレクトリサービス」と呼ばれるものが提供されている。ここで、ディレクトリサービスとは、言わばネットワークに関する電話帳であり、様々な情報を格納するためのものである。
【０００６】
このディレクトリサービスの具体例としては、例えばＲＦＣ１７７７に規定されているＬＤＡＰやNovell社のＮＤＳがある。ここで、ＬＤＡＰはLightweight Directory Access Protocolの略であり、ＮＤＳはNetWare Directory Serviceの略である。
【０００７】
しかし、このようなディレクトリサービスが利用できない環境では、管理対象のネットワークデバイスを探索する方法としてＳＮＭＰのGetRequestをブロードキャストする方法（以下、ブロードキャスト探索という）がある。また、他の探索方法としてネットワーク管理者が予め設定した管理対象デバイスのアドレス（又はアドレス範囲）に対して、１つ１つGetRequestをユニキャストする方法（以下、ユニキャスト探索という）がある。
【０００８】
上記ブロードキャスト探索では、短い時間に探索処理が完了するという長所がある反面、ネットワークのトラフィックが短期間に集中するため、ネットワークに負荷がかかるという問題がある。更に、ネットワークデバイス管理システムにおいて応答パケットの取りこぼしが発生する可能性があり、またルータ越えの環境で探索ができないといった問題がある。
【０００９】
また、上記ユニキャスト探索では、ネットワーク管理者が指定した個々のＩＰアドレスに対して１つ１つ存在確認を行うため、ブロードキャスト探索よりも正確な探索が可能であり、またルータ越えの環境で探索ができるという長所がある。しかし、探索対象のＩＰアドレスの数が多くなると、指定された全てのＩＰアドレスに対する存在確認処理が完了するまでに長い時間がかかってしまうという問題がある。
【非特許文献１】ＲＦＣ１１５５「Structure and dentification of Management Information for TCP/IP-based Internets」、＜ＵＲＬ：ftp://ftp.rfc-editor.org/in-notes/rfc1155.txt＞
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上述したように、ネットワーク管理者が指定した探索対象のＩＰアドレスに対して１つ１つ存在確認をしていく探索方法では、探索処理を開始してから終了するまでに長い時間がかかることがある。そのため、探索処理を行っている途中で探索対象のＩＰアドレスを変更し、変更後の探索対象のＩＰアドレスに対して再度探索処理を実行するといった状況が容易に考えらる。
【００１１】
従って、探索処理を途中で中止し、その後再度探索処理を実行した場合、変更前の探索処理も含めると更に探索にかかる時間が長くなってしまうという問題があった。
【００１２】
本発明は、上記課題を解決するためになされたもので、管理対象ネットワークデバイスを探索する際に、ネットワークデバイスの探索時間を短縮させることを目的とする。また、探索精度を向上させることを目的とする。
【課題を解決するための手段】
【００１３】
本発明は、ネットワークに接続されたネットワークデバイスを管理するネットワークデバイス管理装置であって、管理対象のネットワークデバイスを探索する少なくとも１つのネットワークアドレスを指定する指定手段と、前記指定されたネットワークアドレスに対してデータ送受信を行い、前記ネットワークアドレスが設定されたネットワークデバイスの存在確認処理を行う存在確認手段と、前記存在確認処理を順次行い、前記管理対象のネットワークデバイスの探索処理を行う探索手段と、前記ネットワークアドレスが前回の探索処理で存在確認済みか否かを判定する判定手段と、前記判定の結果、前記存在確認済みでないネットワークアドレスに対して前記存在確認処理を行い、前記管理対象のネットワークデバイスの探索処理を行うように制御する制御手段とを有することを特徴とする。
【００１４】
また、本発明は、ネットワークに接続されたネットワークデバイスを管理するネットワークデバイス管理装置の探索方法であって、管理対象のネットワークデバイスを探索する少なくとも１つのネットワークアドレスを指定する指定工程と、前記指定されたネットワークアドレスに対してデータ送受信を行い、前記ネットワークアドレスが設定されたネットワークデバイスの存在確認処理を行う存在確認工程と、前記存在確認処理を順次行い、前記管理対象のネットワークデバイスの探索処理を行う探索工程と、前記ネットワークアドレスが前回の探索処理で存在確認済みか否かを判定する判定工程と、前記判定の結果、前記存在確認済みでないネットワークアドレスに対して前記存在確認処理を行い、前記管理対象のネットワークデバイスの探索処理を行うように制御する制御工程とを有することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、管理対象ネットワークデバイスを探索する際に、ネットワークデバイスの探索時間を短縮させることができる。また、探索精度を向上させることができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
【００１７】
本実施形態では、ネットワークデバイス管理ソフトウェア及びそのソフトウェアが稼動するシステムの動作について説明する。
【００１８】
図１は、本実施形態のネットワークデバイス管理システムが動作可能なネットワークの構成例を示す図である。管理対象のネットワークデバイス、ネットワーク管理用のサーバ装置、ネットワーク管理用のクライアント装置は、全てＬＡＮ１００に接続されている。図１において、１０１ａ〜１０１ｃはカラープリンタ、１０２ａ〜１０２ｄはモノクロプリンタ、１０３ａ〜１０３ｃは複合機（コピー機能、ファクス機能、プリンタ機能を併せ持つデバイス）、１０４はスキャナである。それぞれネットワークインタフェースカードなどを装着することにより、ＬＡＮ１００に接続されている。
【００１９】
これらのネットワークデバイスは、本実施形態のネットワークデバイス管理システムで管理可能なネットワークデバイスであり、ディレクトリサービスなどの方法で探索でき、ＳＮＭＰ／ＭＩＢにより情報の取得・設定が可能なものである。
【００２０】
また、１０５ａ〜１０５ｅはネットワーク接続可能なパーソナルコンピュータ（ＰＣ）である。これらのＰＣは、本実施形態におけるネットワークデバイス管理ソフトウェアが稼動可能なＰＣである。ネットワークデバイス管理システムをＷｅｂベースのアプリケーションとして実施した場合、何れか１つのＰＣ（サーバ装置）上でネットワークデバイス管理ソフトウェアを稼動する。そして他のＰＣ（クライアント装置）からＷｅｂブラウザ経由でサーバ装置上で稼動しているネットワーク管理ソフトウェアにアクセスすることにより、ネットワークデバイス管理システムを利用することが可能になる。
【００２１】
図２は、ネットワークデバイス管理ソフトウェアが稼動するＰＣの構成例を示すブロック図である。図２において、２００はネットワークデバイス管理ソフトウェアが稼動するＰＣであり、図１における１０５ａ〜１０５ｅと同等である。このＰＣ２００は記録媒体より供給されるネットワーク管理ソフトウェアを実行するＣＰＵ２０１を備え、システムバス２０４に接続される各デバイスを総括的に制御する。記録媒体として、ＲＯＭ２０２ＨＤ（ハードディスク／ハードディスクドライブ）２１１、ＦＤ（フレキシブルディスクドライブ）２１２、ＣＤ（ＣＤ−ＲＯＭドライブ）２１３、ＤＶＤ（ＤＶＤ−ＲＯＭドライブ）２１４が用いられる。
【００２２】
２０３はＲＡＭであり、ＣＰＵ２０１のメインメモリ、ワークエリア等として機能する。２０５はＫＢＣ（キーボードコントローラ）であり、ＫＢ（キーボード）２０９や不図示のポインティングデバイス等からの指示入力を制御する。２０６はＣＲＴＣ（ＣＲＴコントローラ）であり、ＣＲＴ（ＣＲＴディスプレイ）２１０の表示を制御する。２０７はＤＫＣ（ディスクコントローラ）であり、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイル、ネットワーク管理ソフトウェア等を記憶するＨＤ２１１、ＦＤ２１２、ＣＤ２１３、ＤＶＤ２１４とのアクセスを制御する。
【００２３】
２０８はＮＩＣ（ネットワークインタフェースカード）であり、ＬＡＮ１００を介して他のネットワークデバイスと双方向にデータをやりとりする。
【００２４】
尚、本実施形態では、後述する全ての説明において、特に断りのない限り、実行の主体はハード上はＣＰＵ２０１であり、ソフトウェア上の制御の主体はハードディスク２１１にインストールされたネットワークデバイス管理ソフトウェアである。
【００２５】
また、ＨＤ２１１にインストールされたネットワーク管理ソフトウェアは、少なくとも管理対象ＩＰアドレス指定モジュール２１１ａ、ネットワークデバイス存在確認モジュール２１１ｂ、管理対象ネットワークデバイス探索モジュール２１１ｃを有する。
【００２６】
以下、本実施形態のネットワークデバイス管理システムにおけるデバイス探索の一例について説明する。
【００２７】
図３は、ネットワークデバイスを探索するための探索対象ＩＰアドレスを設定する探索範囲設定処理を示すフローチャートである。尚、この探索範囲設定処理は、ネットワークデバイス管理システムにおいて、探索対象のＩＰアドレスを設定するためのページを表示したときに起動されるものとする。
【００２８】
まず、ステップＳ３０１では、ネットワークデバイス管理システムにおける探索対象のＩＰアドレスを設定するためのページにおいて、ユーザからの入力を受ける。このユーザからの入力とは、探索対象のＩＰアドレスを入力するためのフォームに対して任意のＩＰアドレスを入力する、ページに配置された任意のボタンを押下するなどの処理を示す。
【００２９】
次に、ステップＳ３０２では、ステップＳ３０１での入力が探索対象のＩＰアドレスを設定するためのページに配置された、設定を中止するためのボタン（例えば、キャンセルボタン）の押下か否かを検査する。ここで、設定中止ボタンの押下である場合（ステップＳ３０２：Ｙｅｓ）は、この処理を終了し、それ以外の場合（ステップＳ３０２：Ｎｏ）は、ステップＳ３０３へ進む。
【００３０】
このステップＳ３０３では、ステップＳ３０１の入力が探索対象のＩＰアドレスを設定するためのページに配置された、設定を完了するためのボタン（例えば、ＯＫボタン）の押下か否かを検査する。ここで、設定完了ボタンの押下である場合（ステップＳ３０３：Ｙｅｓ）は、ステップＳ３０４へ進み、それ以外の場合（ステップＳ３０３：Ｎｏ）は、ステップＳ３０１に戻る。
【００３１】
このステップＳ３０４では、探索対象のＩＰアドレスを変更する前の設定で、管理対象ネットワークデバイスの探索処理を実行中であるか否かを示すフラグ（探索中フラグ）の値を調べる。ここで、探索中フラグの値が１（即ち、探索処理を実行中）の場合（ステップＳ３０４：Ｙｅｓ）は、ステップＳ３０５へ進み、それ以外の場合（ステップＳ３０４：Ｎｏ）は、ステップＳ３０８へ進む。
【００３２】
このステップＳ３０５では、探索対象のＩＰアドレスを変更する前の設定で実行中の、管理対象ネットワークデバイスの探索処理を中止する。尚、この探索処理の中止コマンドは、後述する図６から図１１に示す探索処理において、実行中の処理を正常に中止可能なタイミングで処理されるものとする。また、ステップＳ３０５の処理は、探索処理で探索の中止が実行された時点で完了し、次のステップＳ３０６へ進むものとする。
【００３３】
このステップＳ３０６では、ステップＳ３０５で探索処理が中止されたことを示すために探索中フラグの値を０に設定する。そして、ステップＳ３０７では、ステップＳ３０５で探索処理を中止したことを示すフラグ（探索中止フラグ）の値を１に設定し、ステップＳ３０９へ進む。
【００３４】
一方、ステップＳ３０８では、探索中止フラグの値を０に設定し、ステップＳ３０９に進む。このステップＳ３０９では、ステップＳ３０１で入力された探索対象のＩＰアドレス情報に基づき、後述する図４及び図５に示す探索対象ＩＰアドレス管理テーブルを作成する。そして、ステップＳ３１０では、後述する図６に示す第一の探索処理、又は図９に示す第二の探索処理の何れかを実行し、この処理を終了する。
【００３５】
図４は、図３に示すステップＳ３０９で作成される探索対象のＩＰアドレスを管理するための探索対象ＩＰアドレス管理テーブルの構造の一例を示す図である。図４において、探索対象ＩＰアドレス４０１は、図３に示すステップＳ３０１でネットワーク管理者から指定された探索対象のＩＰアドレスを格納する領域である。尚、探索対象のネットワークデバイスが個々のＩＰアドレスではなく、ＩＰアドレスの範囲で指定された場合は、その範囲内にある個々のＩＰアドレスをこの領域に個別に格納する。
【００３６】
探索済みフラグ４０２は、探索対象ＩＰアドレス４０１に格納されているＩＰアドレスに対応するネットワークデバイスの存在確認処理を実行したか否かを示すフラグである。このフラグ４０２は、存在確認処理が実行されていない初期状態では「０」が設定されており、存在確認処理が実行されると「１」が設定される。
【００３７】
優先探索フラグ４０３は、後述する図９、図１０に示す第二の探索処理において、優先的に存在確認処理を実行する探索対象ＩＰアドレス４０１を識別するために使用するフラグである。このフラグ４０３は、優先的に探索処理を実行する場合は「１」が、優先的に探索処理を実行しない場合は「０」が設定される。
【００３８】
デバイス情報へのポインタ４０４は、個々のＩＰアドレスに対する存在確認を実行し、そのＩＰアドレスに対応するネットワークデバイスからの情報取得に成功した場合、取得した情報を格納した領域４０５へのポインタである。
【００３９】
図４に示す例では、探索対象ＩＰアドレス管理テーブル４００の１番目から４番目までのエントリに対する探索処理（ネットワークデバイスの存在確認と、そのネットワークデバイスが存在する場合の情報取得）が完了している状態を示している。また、１番目から４番目のエントリについては、探索対象ＩＰアドレス４０１に対応するネットワークデバイスが存在し、そのネットワークデバイスから取得した情報が格納された領域４０５へのポインタがデバイス情報へのポインタ４０４に格納されている。
【００４０】
図５は、図３に示すステップＳ３０９で作成される探索対象ＩＰアドレス管理テーブルの作成方法の一例を示す図である。図５に示す探索対象ＩＰアドレス管理テーブル５００は、図４に示した探索対象ＩＰアドレス管理テーブル４００と同等である。図５は、探索対象ＩＰアドレス管理テーブル５００に基づいて４番目のエントリの探索処理を実行したところで探索処理が中止され、探索対象ＩＰアドレス管理テーブル５１０に示すように、探索対象のＩＰアドレスが変更された場合の例を示している。
【００４１】
この例では、探索対象ＩＰアドレス管理テーブル５１０の探索対象ＩＰアドレス５１１と等しいＩＰアドレスが、探索対象ＩＰアドレス管理テーブル５００の探索対象ＩＰアドレス５０１にあるか否かを順に検査する。ここで、同一のＩＰアドレスが存在した場合には、探索済みフラグ５０２、デバイス情報へのポインタ５０４の値を、対応する探索済みフラグ５１２、デバイス情報へのポインタ５１４の値にコピーする。また、探索対象ＩＰアドレス管理テーブル５１０の優先探索フラグ５１３には、探索済みフラグ５１２の値が「１」の場合は「０」を、「０」の場合は「１」を設定する。
【００４２】
［第１の実施形態］
次に、図６を用いて第１の実施形態における探索処理について詳細に説明する。第１の実施形態では、探索中止フラグがセットされていた場合、探索済みフラグがセットされていないエントリに対して存在確認処理を行うものである。
【００４３】
図６は、第１の実施形態におけるネットワークデバイス探索処理を示すフローチャートである。この処理は、図３に示すステップＳ３１０で実行されるか、或いはネットワークデバイス管理システムが提供する、管理対象ネットワークデバイスの探索を開始するためのボタンをクリックすることにより実行される。
【００４４】
まず、ステップＳ６０１において、管理対象ネットワークデバイスの探索処理を実行中であることを示すフラグ（探索中フラグ）の値を「１」に設定する。そして、ステップＳ６０２において、図３に示すステップＳ３０７又はステップＳ３０８で設定される、探索中止フラグの値を検査する。その結果、探索中止フラグの値が「１」の場合（ステップＳ６０２：Ｙｅｓ）はステップＳ６０４へ進み、それ以外の場合（ステップＳ６０２：Ｎｏ）はステップＳ６０３へ進む。
【００４５】
ステップＳ６０３では、後述する図７に示す探索処理１を実行し、ステップＳ６０５へ進む。また、ステップＳ６０４では、後述する図８に示す探索処理２を実行し、ステップＳ６０５へ進む。そして、ステップＳ６０５では、実行していた探索処理が完了したことを示すために、探索中フラグの値に「０」を設定し、この処理を終了して呼び出し元に戻る。
【００４６】
図７は、第１の実施形態における探索処理１を示すフローチャートである。この処理は、図６に示すステップＳ６０３と図９に示すステップＳ９０３で実行される処理である。また、探索処理が中止されていない場合で、探索対象ＩＰアドレス管理テーブル４００に格納されている全ての管理対象ＩＰアドレス４０１に対して存在確認処理を実行する。
【００４７】
まず、ステップＳ７０１において、図３に示すステップＳ３０９で作成された探索対象ＩＰアドレス管理テーブル４００のエントリをインデックス参照するための変数ｉを０に初期化する。次に、ステップＳ７０２において、この変数ｉの値と探索対象ＩＰアドレス管理テーブル４００のエントリ数とを比較する。ここで、変数ｉの値がエントリ数よりも小さい場合（ステップＳ７０２：Ｙｅｓ）は、ステップＳ７０３へ進み、それ以外の場合（ステップＳ７０２：Ｎｏ）は、この処理を終了して呼び出し元に戻る。
【００４８】
ステップＳ７０３では、探索対象ＩＰアドレス管理テーブル４００のｉ番目のエントリに対して後述する図１１に示す存在確認処理を実行し、ステップＳ７０４へ進む。そして、ステップＳ７０４では、変数ｉの値を１加算し、ステップＳ７０２に戻り、上述した処理を変数ｉの値がエントリ数と等しくなるまで繰り返す。
【００４９】
図８は、第１の実施形態における探索処理２を示すフローチャートである。この処理は、図６に示すステップＳ６０４で実行される処理である。また、探索処理が中止された場合で、探索済みではないエントリ（探索済みフラグ４０２の値が０のエントリ）に対してのみ存在確認処理を実行する。
【００５０】
まず、ステップＳ８０１において、図３に示すステップＳ３０９で作成された探索対象ＩＰアドレス管理テーブル４００のエントリをインデックス参照するための変数ｉを０に初期化する。次に、ステップＳ８０２において、この変数ｉの値と探索対象ＩＰアドレス管理テーブル４００のエントリ数とを比較する。ここで、変数ｉの値がエントリ数よりも小さい場合（ステップＳ８０２：Ｙｅｓ）は、ステップＳ８０３へ進み、それ以外の場合（ステップＳ８０２：Ｎｏ）は、この処理を終了して呼び出し元に戻る。
【００５１】
ステップＳ８０３では、探索対象ＩＰアドレス管理テーブル４００のｉ番目のエントリにおいて、探索済みフラグ４０２の値が「１」か否かを判定する。ここで「１」の場合（ステップＳ８０３：Ｙｅｓ）は、ステップＳ８０５へ進み、それ以外の場合（ステップＳ８０３：Ｎｏ）は、ステップＳ８０４へ進む。
【００５２】
ステップＳ８０４では、探索対象ＩＰアドレス管理テーブル４００のｉ番目のエントリに対して後述する図１１に示す存在確認処理を実行し、ステップＳ８０５へ進む。そして、ステップＳ８０５では、変数ｉの値を１加算し、ステップＳ８０２に戻り、上述した処理を変数ｉの値がエントリ数と等しくなるまで繰り返す。
【００５３】
第１の実施形態によれば、管理対象ネットワークデバイスを探索する際に、探索対象のＩＰアドレスが前回の探索処理で存在確認済みのＩＰアドレスに対しては存在確認処理を行わないように制御する。これにより、指定された探索対象のＩＰアドレスに対する探索処理を実行中に探索対象のＩＰアドレスが変更された場合でも、全てのＩＰアドレスに対するネットワークデバイスの探索に必要な時間を短縮することができる。
【００５４】
［第２の実施形態］
次に、図９を用いて第２の実施形態における探索処理について詳細に説明する。第１の実施形態では、探索中止フラグがセットされていた場合、探索済みフラグに基づいて存在確認処理を行っていたが、第２の実施形態では優先探索フラグに基づいて存在確認処理を行うものである。
【００５５】
図９は、第２の実施形態におけるネットワークデバイス探索処理を示すフローチャートである。この処理は、図３に示すステップＳ３１０で実行されるか、或いはネットワークデバイス管理システムが提供する、管理対象ネットワークデバイスの探索を開始するためのボタンをクリックすることにより実行される。
【００５６】
まず、ステップＳ９０１において、管理対象ネットワークデバイスの探索処理を実行中であることを示すフラグ（探索中フラグ）の値を「１」に設定する。そして、ステップＳ９０２において、図３に示すステップＳ３０７又はステップＳ３０８で設定される、探索中止フラグの値を検査する。その結果、探索中止フラグの値が「１」の場合（ステップＳ９０２：Ｙｅｓ）は、ステップＳ９０４へ、それ以外の場合（ステップＳ９０２：Ｎｏ）は、ステップＳ９０３へ進む。
【００５７】
ステップＳ９０３では、図７に示す探索処理１を実行し、ステップＳ９０５へ進む。また、ステップＳ９０４では、後述する図１０に示す探索処理３を実行し、ステップＳ９０５へ進む。そして、ステップＳ９０５では、実行していた探索処理が完了したことを示すために、探索中フラグの値に「０」を設定し、この処理を終了して呼び出し元に戻る。
【００５８】
図１０は、第２の実施形態における探索処理３を示すフローチャートである。この処理は、図９に示すステップＳ９０４で実行される処理である。また、探索済みでない（優先探索フラグ４０３の値が「１」）エントリに対して優先的に存在確認処理を実行し、その後、残りの（優先探索フラグ４０３の値が「０」）エントリに対して存在確認処理を実行する。
【００５９】
まず、ステップＳ１００１において、図３に示すステップＳ３０９で作成された探索対象ＩＰアドレス管理テーブル４００のエントリをインデックス参照するための変数ｉを０に初期化する。次に、ステップＳ１００２において、この変数ｉの値と探索対象ＩＰアドレス管理テーブル４００のエントリ数とを比較する。ここで、変数ｉの値がエントリ数よりも小さい場合（ステップＳ１００２：Ｙｅｓ）は、ステップＳ１００３へ進み、それ以外の場合（ステップＳ１００２：Ｎｏ）は、ステップＳ１００６へ進む。
【００６０】
ステップＳ１００３では、探索対象ＩＰアドレス管理テーブル４００のｉ番目のエントリにおける優先探索フラグ４０３の値が「１」か否かを判定する。ここで、「１」の場合（ステップＳ１００３：Ｙｅｓ）は、ステップＳ１００４へ進み、それ以外の場合（ステップＳ１００３：Ｎｏ）は、ステップＳ１００５へ進む。
【００６１】
ステップＳ１００４では、探索対象ＩＰアドレス管理テーブル４００のｉ番目のエントリに対して、後述する図１１に示す存在確認処理を実行し、ステップＳ１００５へ進む。そして、ステップＳ１００５では、変数ｉの値を１加算し、ステップＳ１００２に戻り、上述した処理を変数ｉの値がエントリ数と等しくなるまで繰り返す。
【００６２】
一方、ステップＳ１００６では、図３に示すステップＳ３０９で作成された探索対象ＩＰアドレス管理テーブル４００のエントリをインデックス参照するための変数ｉを再び０に初期化する。次に、ステップＳ１００７において、変数ｉの値と探索対象ＩＰアドレス管理テーブル４００のエントリ数とを比較する。ここで、変数ｉの値がエントリ数よりも小さい場合（ステップＳ１００７：Ｙｅｓ）は、ステップＳ１００８へ進み、それ以外の場合（ステップＳ１００７：Ｎｏ）は、この処理を終了して呼び出し元に戻る。
【００６３】
ステップＳ１００８では、探索対象ＩＰアドレス管理テーブル４００のｉ番目のエントリにおいて、優先探索フラグ４０３の値が「０」か否かを判定する。ここで「０」の場合（ステップＳ１００８：Ｙｅｓ）は、ステップＳ１００９へ進み、それ以外の場合（ステップＳ１００８：Ｎｏ）はステップＳ１０１０へ進む。
【００６４】
ステップＳ１００９では、探索対象ＩＰアドレス管理テーブル４００のｉ番目のエントリに対して、後述する図１１に示す存在確認処理を実行し、ステップＳ１０１０に進む。ステップＳ１０１０では、変数ｉの値を１加算し、ステップＳ１００７に戻り、上述した処理を変数ｉの値がエントリ数と等しくなるまで繰り返す。
【００６５】
図１１は、実施形態における存在確認処理を示すフローチャートである。この処理は、図７に示すステップＳ７０３、図８に示すステップＳ８０４、図１０に示すステップＳ１００４及びステップＳ１００９で実行される処理である。ここで、探索対象ＩＰアドレス管理テーブル４００に格納されている探索対象ＩＰアドレス４０１に対して、ＳＮＭＰのGetRequestを送信する。そして、これに対するGetResponseを受信することで、探索対象ＩＰアドレスを持つネットワークデバイスの存在確認と、そのネットワークデバイスからの情報取得を実現する。
【００６６】
探索対象ＩＰアドレス管理テーブル４００のｉ番目のエントリにおいて、まずステップＳ１１０１で、探索対象ＩＰアドレス４０１に設定されているＩＰアドレスに対してＳＮＭＰのGetRequestを送信する。ここで取得する情報は、管理対象ネットワークデバイスが必須で実装しているＭＩＢオブジェクトである。このGetRequestの応答として返送される情報（ＭＩＢオブジェクトの値）は、ネットワークデバイス管理システムがネットワークデバイスを管理するために利用することができるものとする。
【００６７】
次に、ステップＳ１１０２では、ステップＳ１１０１で送信したGetRequestに対して、送信先のネットワークデバイスから応答が返信されるまでの応答待ち時間を計時するための応答待ちタイマを起動する。そして、ステップＳ１１０３では、送信先のネットワークデバイスから応答（GetResponse）を受信したか否かを検査する。ここで、GetResponseを受信している場合（ステップＳ１１０３：Ｙｅｓ）は、ステップＳ１１０５へ進み、それ以外の場合（ステップＳ１１０３：Ｎｏ）は、ステップＳ１１０４へ進む。
【００６８】
このステップＳ１１０４では、ステップＳ１１０１で起動した応答待ちタイマがタイムアウトしたか否かを検査する。ここで、タイムアウトしている場合（ステップＳ１１０４：Ｙｅｓ）は、ステップＳ１１０９へ進み、それ以外の場合（ステップＳ１１０４：Ｎｏ）は、ステップＳ１１０３へ進む。
【００６９】
一方、ステップＳ１１０５では、ステップＳ１１０２で起動した応答待ちタイマを停止し、ステップＳ１１０６へ進む。このステップＳ１１０６では、受信したGetResponseのエラー情報を検査する。その結果、NoSuchNameなどのエラーが通知された場合（ステップＳ１１０６：Ｙｅｓ）は、ステップＳ１１０９へ進み、それ以外の場合（ステップＳ１１０６：Ｎｏ）は、ステップＳ１１０７へ進む。
【００７０】
このステップＳ１１０７では、ステップＳ１１０３で受信したGetResponseに格納されているネットワークデバイスの情報を図２に示すＲＡＭ２０３又はＨＤ２１１の作業領域に保存する。続くステップＳ１１０８では、ステップＳ１１０７で確保し、ネットワークデバイスの情報を格納した領域へのポインタを探索対象ＩＰアドレス管理テーブル４００のｉ番目のエントリのデバイス情報へのポインタ４０４に格納する。
【００７１】
次に、ステップＳ１１０９では、探索対象ＩＰアドレス管理テーブル４００のｉ番目のエントリに対して探索済みフラグ４０２の値を「１」に設定し、この処理を終了して呼び出し元に戻る。
【００７２】
尚、図１１では、ステップＳ１１０１での送信に対して応答がなかった場合のリトライ処理は省略しているが、適切なリトライ処理を実装することにより探索の精度が向上することは言うまでもない。
【００７３】
第２の実施形態によれば、探索対象のＩＰアドレスが前回の管理対象ネットワークデバイスの探索処理で存在確認済みでない場合、優先的に存在確認処理を行う。これにより、前回のネットワークデバイスの探索処理で探索済みではないＩＰアドレスに対して優先的に存在確認処理を実行することができる。
【００７４】
従って、指定された全てのＩＰアドレスに対して少なくとも１回の探索処理を完了するまでの時間を短縮することができる。
【００７５】
更に、前回の探索処理で探索済みであったＩＰアドレスに対しても再度存在確認処理を行うことにより探索精度を向上させることができる。
【００７６】
尚、本発明は複数の機器（例えば、ホストコンピュータ，インターフェース機器，リーダ，プリンタなど）から構成されるシステムに適用しても、１つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用しても良い。
【００７７】
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ若しくはＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行する。これによっても、本発明の目的が達成されることは言うまでもない。
【００７８】
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【００７９】
このプログラムコードを供給するための記録媒体として、例えばフレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００８０】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、次の場合も含まれることは言うまでもない。即ち、プログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合。
【００８１】
更に、記録媒体から読出されたプログラムコードがコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００８２】
【図１】本実施形態のネットワークデバイス管理システムが動作可能なネットワークの構成例を示す図である。
【図２】ネットワークデバイス管理ソフトウェアが稼動するＰＣの構成例を示すブロック図である。
【図３】ネットワークデバイスを探索するための探索対象ＩＰアドレスを設定する探索範囲設定処理を示すフローチャートである。
【図４】図３に示すステップＳ３０９で作成される探索対象のＩＰアドレスを管理するための探索対象ＩＰアドレス管理テーブルの構造の一例を示す図である。
【図５】図３に示すステップＳ３０９で作成される探索対象ＩＰアドレス管理テーブルの作成方法の一例を示す図である。
【図６】第１の実施形態におけるネットワークデバイス探索処理を示すフローチャートである。
【図７】第１の実施形態における探索処理１を示すフローチャートである。
【図８】第１の実施形態における探索処理２を示すフローチャートである。
【図９】第２の実施形態におけるネットワークデバイス探索処理を示すフローチャートである。
【図１０】第２の実施形態における探索処理３を示すフローチャートである。
【図１１】実施形態における存在確認処理を示すフローチャートである。
【符号の説明】
【００８３】
１００  ＬＡＮ
１０１  カラープリンタ
１０２  モノクロプリンタ
１０３  複合機
１０４  スキャナ
１０５  パーソナルコンピュータ（ＰＣ）
２００  ＰＣ
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
２０４  システムバス
２０５  ＫＢＣ
２０６  ＣＲＴＣ
２０７  ＤＫＣ
２０８  ＮＩＣ
２０９  ＫＢ
２１０  ＣＲＴ
２１１  ＨＤ
２１１ａ  管理対象ＩＰアドレス指定モジュール
２１１ｂ  ネットワークデバイス存在確認モジュール
２１１ｃ  管理対象ネットワークデバイス探索モジュール
２１２  ＦＤ
２１３  ＣＤ
２１４  ＤＶＤ
【図１】
2007214916.tif 000003
【図２】
2007214916.tif 000004
【図３】
2007214916.tif 000005
【図４】
2007214916.tif 000006
【図５】
2007214916.tif 000007
【図６】
2007214916.tif 000008
【図７】
2007214916.tif 000009
【図８】
2007214916.tif 000010
【図９】
2007214916.tif 000011
【図１０】
2007214916.tif 000012
【図１１】
2007214916.tif 000013