(57)【要約】【課題】  特定のイベントの発生を待って呼出し可能なプラグインをネットワーク管理プログラムに容易に組み込むことができる利便性に優れたプラグイン環境を自在に構築することである。【解決手段】  ネットワークデバイス管理プログラム本体１０３が起動した場合に、記憶される各プラグイン１１３をオープン可能かどうかを判別する第１の判別処理と、前記第１の判別処理によりオープン可能と判別された場合に、特定のグループに属するプラグインかどうかを判別する第２の判別処理と、前記第２の判別処理により判別される特定のグループ毎にプラグインを分類して管理ファイルに登録する登録処理とを実行する構成を特徴とする。【選択図】  図１
2005174244.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続されるネットワークデバイスを管理するネットワークデバイス管理装置であって、
ネットワークデバイス管理プログラムに基づいて各ネットワークデバイスを管理するネットワークデバイス管理手段と、
前記ネットワークデバイス管理手段により前記ネットワークデバイス管理プログラムが起動した場合に、記憶される各プラグインをオープン可能かどうかを判別する第１の判別処理と、前記第１の判別処理によりオープン可能と判別された場合に、特定のグループに属するプラグインかどうかを判別する第２の判別処理と、前記第２の判別処理により判別される特定のグループ毎にプラグインを分類して管理ファイルに登録する登録処理とを実行するプラグイン管理手段と、
を備えることを特徴とするネットワークデバイス管理装置。
【請求項２】
前記プラグイン管理手段は、特定のイベントが発生するか否かを監視する監視処理と、前記監視処理により前記特定のイベントが発生したと判断した場合に、前記管理ファイルを参照して対応するプラグインの特定のイベント処理を呼び出す呼出し処理とを実行可能とすることを特徴とする請求項１記載のネットワークデバイス管理装置。
【請求項３】
前記プラグイン管理手段は、前記ネットワークデバイス管理プログラムの終了時に、動作中のプラグインからの終了応答を判別する第３の判別処理と、前記第３の判別処理による判別結果に基づき、各プラグインの終了処理、あるいは終了取消処理の実行を制御する終了処理とを実行可能とすることを特徴とする請求項１記載のネットワークデバイス管理装置。
【請求項４】
ネットワークに接続されるネットワークデバイスを管理するネットワークデバイス管理装置であって、
ネットワークデバイス管理プログラムに基づいて各ネットワークデバイスを管理するネットワークデバイス管理手段と、
前記ネットワークデバイス管理手段により前記ネットワークデバイス管理プログラムから呼び出し可能な、初期化処理、ユーザ要求により呼び出されるユーザ処理、イベントにより呼び出されるイベント処理、プラグイン終了の確認の為の終了誰何処理、終了待ち状態から初期状態への復帰のための終了取消処理、プラグイン処理を終了する終了処理の夫々の呼び出しを各プラグイン毎に管理するプラグイン管理手段と、
前記ネットワーク管理プログラムの起動時に、ディレクトリを捜査して、前記プラグインを格納するプラグインファイルを検索するプラグインファイル検索手段と、
を有することを特徴とするネットワークデバイス管理装置。
【請求項５】
前記プラグイン管理手段は、前記プラグインファイル検索手段により検索されたプラグイン夫々に対して、プラグインを記憶装置上にロードし、前記プラグインの初期化関数を呼び出すプラグイン初期化処理と、ユーザからの要求に応じて、前記プラグインのユーザ処理を呼び出すユーザ処理呼出し処理と、ユーザ要求とは無関係なイベントに応じて、前記プラグインのイベント処理を呼び出すイベント処理呼出し処理と、前記ネットワーク管理プログラムの終了確認時、前記プラグインの終了誰何処理を呼び出す終了誰何処理呼出し処理と、プログラム終了中断時に、前記終了誰何処理を呼び出したプラグインに対して、終了取消処理を呼び出す終了取消処理呼出し処理と、プログラム終了時に、前記プラグインの終了処理を呼び出す終了処理呼出し処理とを実行することを特徴とする請求項４記載のネットワークデバイス管理装置。
【請求項６】
前記プラグイン管理手段は、複数の分類を備えるプラグインを分類毎に管理し、前記分類に対応する特定のユーザ処理及び特定のイベント処理を呼び出すことを特徴とする請求項４または５記載のネットワークデバイス管理装置。
【請求項７】
前記プラグイン管理手段は、単一のプラグインが複数の分類に属する機能を備え、前記複数分類を持つプラグインを管理することを特徴とする請求項４〜６のいずれかに記載のネットワークデバイス管理装置。
【請求項８】
前記プラグイン管理手段は、前記ネットワークデバイス管理手段から呼び出されるユーザ処理及びイベント処理に加え、予め前記プラグインが指定した既定時間後、或いは既定時間毎に、システムのタイマによりにプラグイン内部のタイマ処理を呼び出すことを特徴とする請求項４〜７のいずれかに記載のネットワークデバイス管理装置。
【請求項９】
ネットワークに接続されるネットワークデバイスを管理するネットワークデバイス管理装置におけるネットワークデバイス管理方法であって、
ネットワークデバイス管理プログラムに基づいて各ネットワークデバイスを管理するネットワークデバイス管理ステップと、
前記ネットワークデバイス管理ステップにより前記ネットワークデバイス管理プログラムの起動した場合に、記憶される各プラグインをオープン可能かどうかを判別する第１の判別処理と、前記第１の判別処理によりオープン可能と判別された場合に、特定のグループに属するプラグインかどうかを判別する第２の判別処理と、前記第２の判別処理により判別される特定のグループ毎にプラグインを分類して管理ファイルに登録する登録処理とを実行するプラグイン管理ステップと、
を備えることを特徴とするネットワークデバイス管理方法。
【請求項１０】
前記プラグイン管理ステップは、特定のイベントが発生するか否かを監視する監視処理と、前記監視処理により前記特定のイベントが発生したと判断した場合に、前記管理ファイルを参照して対応するプラグインの特定のイベント処理を呼び出す呼出し処理とを実行可能とすることを特徴とする請求項９記載のネットワークデバイス管理方法。
【請求項１１】
前記プラグイン管理ステップは、前記ネットワークデバイス管理プラグラムの終了時に、動作中のプラグインからの終了応答を判別する第３の判別処理と、前記第３の判別処理による判別結果に基づき、各プラグインの終了処理、あるいは終了取消処理の実行を制御する終了処理とを実行可能とすることを特徴とする請求項９記載のネットワークデバイス管理方法。
【請求項１２】
ネットワークに接続されるネットワークデバイスを管理するネットワークデバイス管理装置におけるネットワークデバイス管理方法であって、
ネットワークデバイス管理プログラムに基づいて各ネットワークデバイスを管理するネットワークデバイス管理ステップと、
前記ネットワークデバイス管理ステップにより前記ネットワークデバイス管理プログラムから呼び出し可能な、初期化処理、ユーザ要求により呼び出されるユーザ処理、イベントにより呼び出されるイベント処理、プラグイン終了の確認の為の終了誰何処理、終了待ち状態から初期状態への復帰のための終了取消処理、プラグイン処理を終了する終了処理の夫々の呼び出しを各プラグイン毎に管理するプラグイン管理ステップと、
前記ネットワーク管理プログラムの起動時に、ディレクトリを捜査して、前記プラグインを格納するプラグインファイルを検索するプラグインファイル検索ステップと、
を有することを特徴とするネットワークデバイス管理方法。
【請求項１３】
前記プラグイン管理ステップは、前記プラグインファイル検索ステップにより検索されたプラグイン夫々に対して、プラグインを記憶装置上にロードし、前記プラグインの初期化関数を呼び出すプラグイン初期化処理と、ユーザからの要求に応じて、前記プラグインのユーザ処理を呼び出すユーザ処理呼出し処理と、ユーザ要求とは無関係なイベントに応じて、前記プラグインのイベント処理を呼び出すイベント処理呼出し処理と、プログラムの終了確認時、前記プラグインの終了誰何処理を呼び出す終了誰何処理呼出し処理と、プラグラム終了中断時に、前記終了誰何処理を呼び出したプラグインに対して、終了取消処理を呼び出す終了取消処理呼出し処理と、プログラム終了時に、前記プラグインの終了処理を呼び出す終了処理呼出し処理とを実行することを特徴とする請求項１２記載のネットワークデバイス管理方法。
【請求項１４】
前記プラグイン管理ステップは、複数の分類を備えるプラグインを分類毎に管理し、前記分類に対応する特定のユーザ処理及び特定のイベント処理を呼び出すことを特徴とする請求項１２または１３記載のネットワークデバイス管理方法。
【請求項１５】
前記プラグイン管理ステップは、単一のプラグインが複数の分類に属する機能を備え、前記複数分類を持つプラグインを管理することを特徴とする請求項１２〜１４のいずれかに記載のネットワークデバイス管理方法。
【請求項１６】
前記プラグイン管理ステップは、前記ネットワークデバイス管理手段から呼び出されるユーザ処理及びイベント処理に加え、予め前記プラグインが指定した既定時間後、或いは既定時間毎に、システムのタイマによりにプラグイン内部のタイマ処理を呼び出すことを特徴とする請求項１２〜１５のいずれかに記載のネットワークデバイス管理方法。
【請求項１７】
請求項９〜１６のいずれかに記載のネットワークデバイス管理方法を実行させるためのプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【請求項１８】
請求項９〜１６のいずれかに記載のネットワークデバイス管理方法を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続されるネットワークデバイスを管理するネットワークデバイス管理装置およびネットワークデバイス管理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムに関するものである。
【背景技術】
【０００２】
従来、この種のネットワークデバイス管理装置は、ネットワークに接続されるネットワークデバイスを探索する手段と、該探索されたネットワークデバイスを管理するためのデバイスリスト管理手段と、該探索されたネットワークデバイスに対する設定値の変更や情報の取得等の種々の操作を行うデバイス操作手段等により構成されている。
【０００３】
また、プラグインによる拡張が可能である場合でも、ユーザが、探索されたデバイスから任意のデバイスを選択した後、メニューからプラグインを選択することにより、選択されたデバイスに対してプラグインを呼び出す手段が用いられる。
【０００４】
なお、従来、この種の技術として、下記特許文献１が既に公開されている。
【特許文献１】特開２００３−３３８８１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来例では、ネットワークデバイス管理プログラム本体にプラグイン機能がない場合、装置の機能拡張を行おうとした場合、ネットワークデバイス管理プログラム本体に、機能拡張を施す必要があり、機能の増大と共にプログラムのサイズ及び複雑さが増大するという欠点があった。
【０００６】
また、ネットワークデバイス管理プログラム本体にプラグイン拡張が可能な場合でも、ユーザからの指示を待って、プラグインの呼出しがなされるため、プラグインにより拡張可能な機能に制限があるという課題があった。
【０００７】
本発明は、上記の問題点を解決するためになされたもので、本発明の第１の目的は、プラグインを独立して記憶管理して、ネットワークデバイスの初期化処理等に伴って、ユーザからの指示がなくても、特定のイベントの発生を待って呼出し可能なプラグインをネットワーク管理プログラムに容易に組み込むことができる利便性に優れたプラグイン環境を自在に構築できるネットワークデバイス管理装置およびネットワークデバイス管理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムを提供することにある。
【０００８】
本発明の第２の目的は、プラグインを独立して記憶管理して、ユーザの指示、或いはネットワークデバイス管理プログラム本体からの呼出しがなくても、プラグインを自律的にネットワーク管理プログラムに容易に組み込むことができる利便性に優れたプラグイン環境を自在に構築できるネットワークデバイス管理装置およびネットワークデバイス管理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明に係る第１の発明は、ネットワークに接続されるネットワークデバイスを管理するネットワークデバイス管理装置であって、ネットワークデバイス管理プログラムに基づいて各ネットワークデバイスを管理するネットワークデバイス管理手段（図１に示すネットワークデバイス管理プログラム１０３）と、前記ネットワークデバイス管理手段により前記ネットワークデバイス管理プログラムを起動した場合に、記憶される各プラグインをオープン可能かどうかを判別する第１の判別処理と、前記第１の判別処理によりオープン可能と判別された場合に、特定のグループに属するプラグインかどうかを判別する第２の判別処理と、前記第２の判別処理により判別される特定のグループ毎にプラグインを分類して管理ファイルに登録する登録処理とを実行するプラグイン管理手段（図１に示すプラグイン管理モジュール１１１）を備えることを特徴とする。
【００１０】
本発明に係る第２の発明は、前記プラグイン管理手段は、特定のイベントが発生するか否かを監視する監視処理と、前記監視処理により前記特定のイベントが発生したと判断した場合に、前記管理ファイルを参照して対応するプラグインの特定のイベント処理を呼び出す呼出し処理とを実行可能とすることを特徴とする。
【００１１】
本発明に係る第３の発明は、前記プラグイン管理手段は、前記ネットワークデバイス管理プログラムの終了時に、動作中のプラグインからの終了応答を判別する第３の判別処理と、前記第３の判別処理による判別結果に基づき、各プラグインの終了処理、あるいは終了取消処理の実行を制御する終了処理とを実行可能とすることを特徴とする。
【００１２】
本発明に係る第４の発明は、ネットワークに接続されるネットワークデバイスを管理するネットワークデバイス管理装置であって、ネットワークデバイス管理プログラムに基づいて各ネットワークデバイスを管理するネットワークデバイス管理手段と、前記ネットワークデバイス管理手段により前記ネットワークデバイス管理プログラムから呼び出し可能な、初期化処理、ユーザ要求により呼び出されるユーザ処理、イベントにより呼び出されるイベント処理、プラグイン終了の確認の為の終了誰何処理、終了待ち状態から初期状態への復帰のための終了取消処理、プラグイン処理を終了する終了処理の夫々の呼び出しを各プラグイン毎に管理するプラグイン管理手段（図１に示すプラグインモジュール１１１）と、プログラムの起動時に、格納手段のディレクトリを参照して、プラグインファイルを検索するプラグインファイル検索手段（図１に示す検索モジュール１０９）とを有することを特徴とする。
【００１３】
本発明に係る第５の発明は、プラグイン管理手段は、前記プラグインファイル検索手段により検索されたプラグイン夫々に対して、プラグインを記憶装置上にロードし、前記プラグインの初期化関数を呼び出すプラグイン初期化処理と、ユーザからの要求に応じて、前記プラグインのユーザ処理を呼び出すユーザ処理呼出し処理と、ユーザ要求とは無関係なイベントに応じて、前記プラグインのイベント処理を呼び出すイベント処理呼出し処理と、プログラムの終了確認時、前記プラグインの終了誰何処理を呼び出す終了誰何処理呼出し処理と、プラグラム終了中断時に、前記終了誰何処理を呼び出したプラグインに対して、終了取消処理を呼び出す終了取消処理呼出し処理と、プログラム終了時に、前記プラグインの終了処理を呼び出す終了処理呼出し処理とを実行することを特徴とする。
【００１４】
本発明に係る第６の発明は、前記プラグイン管理手段は、複数の分類を備えるプラグインを分類毎に管理し、前記分類に対応する特定のユーザ処理及び特定のイベント処理を呼び出すことを特徴とする。
【００１５】
本発明に係る第７の発明は、前記プラグイン管理手段は、単一のプラグインが複数の分類に属する機能を備え、前記複数分類を持つプラグインを管理することを特徴とする。
【００１６】
本発明に係る第８の発明は、前記プラグイン管理手段は、前記ネットワークデバイス管理手段から呼び出されるユーザ処理及びイベント処理に加え、予め前記プラグインが指定した既定時間後、或いは既定時間毎に、システムのタイマによりにプラグイン内部のタイマ処理を呼び出すことを特徴とする。
【００１７】
本発明に係る第９の発明は、ネットワークに接続されるネットワークデバイスを管理するネットワークデバイス管理装置におけるネットワークデバイス管理方法であって、ネットワークデバイス管理プログラムに基づいて各ネットワークデバイスを管理するネットワークデバイス管理ステップと、前記ネットワークデバイス管理ステップにより前記ネットワークデバイス管理プログラムを起動した場合に、記憶される各プラグインをオープン可能かどうかを判別する第１の判別処理（図５のステップＳ３０４）と、前記第１の判別処理によりオープン可能と判別された場合に、特定のグループに属するプラグインかどうかを判別する第２の判別処理と、前記第２の判別処理により判別される特定のグループ毎にプラグインを分類して管理ファイルに登録する登録処理とを実行するプラグイン管理ステップ（図５のステップＳ３０６，Ｓ３０８，Ｓ３１０）とを備えることを特徴とする。
【００１８】
本発明に係る第１０の発明は、前記プラグイン管理ステップは、特定のイベントが発生するか否かを監視する監視処理と、前記監視処理により前記特定のイベントが発生したと判断した場合に、前記管理ファイルを参照して対応するプラグインの特定のイベント処理を呼び出す呼出し処理とを実行可能とすることを特徴とする。
【００１９】
本発明に係る第１１の発明は、前記プラグイン管理ステップは、前記ネットワークデバイス管理プラグラムの終了時に、動作中のプラグインからの終了応答を判別する第３の判別処理と、前記第３の判別処理による判別結果に基づき、各プラグインの終了処理、あるいは終了取消処理の実行を制御する終了処理とを実行可能とすることを特徴とする。
【００２０】
本発明に係る第１２の発明は、ネットワークに接続されるネットワークデバイスを管理するネットワークデバイス管理装置におけるネットワークデバイス管理方法であって、ネットワークデバイス管理プログラムに基づいて各ネットワークデバイスを管理するネットワークデバイス管理ステップと、前記ネットワークデバイス管理ステップにより前記ネットワークデバイス管理プログラムから呼び出し可能な、初期化処理、ユーザ要求により呼び出されるユーザ処理、イベントにより呼び出されるイベント処理、プラグイン終了の確認の為の終了誰何処理、終了待ち状態から初期状態への復帰のための終了取消処理、プラグイン処理を終了する終了処理の夫々の呼び出しを各プラグイン毎に管理するプラグイン管理ステップ（図５のステップＳ３０６，Ｓ３０８，Ｓ３１０等）と、プログラムの起動時に、ディレクトリを捜査して、前記プラグインを格納するプラグインファイルを検索するプラグインファイル検索ステップ（図５のステップＳ３０２）とを有することを特徴とする。
【００２１】
本発明に係る第１３の発明は、前記プラグイン管理ステップは、前記プラグインファイル検索ステップにより検索されたプラグイン夫々に対して、プラグインを記憶装置上にロードし、前記プラグインの初期化関数を呼び出すプラグイン初期化処理と、ユーザからの要求に応じて、前記プラグインのユーザ処理を呼び出すユーザ処理呼出し処理と、ユーザ要求とは無関係なイベントに応じて、前記プラグインのイベント処理を呼び出すイベント処理呼出し処理と、プログラムの終了確認時、前記プラグインの終了誰何処理を呼び出す終了誰何処理呼出し処理と、プラグラム終了中断時に、前記終了誰何処理を呼び出したプラグインに対して、終了取消処理を呼び出す終了取消処理呼出し処理と、プログラム終了時に、前記プラグインの終了処理を呼び出す終了処理呼出し処理と実行することを特徴とする。
【００２２】
本発明に係る第１４の発明は、前記プラグイン管理ステップは、複数の分類を備えるプラグインを分類毎に管理し、前記分類に対応する特定のユーザ処理及び特定のイベント処理を呼び出すことを特徴とする。
【００２３】
本発明に係る第１５の発明は、前記プラグイン管理ステップは、単一のプラグインが複数の分類に属する機能を備え、前記複数分類を持つプラグインを管理することを特徴とする。
【００２４】
本発明に係る第１６の発明は、前記プラグイン管理ステップは、前記ネットワークデバイス管理手段から呼び出されるユーザ処理及びイベント処理に加え、予め前記プラグインが指定した既定時間後、或いは既定時間毎に、システムのタイマによりにプラグイン内部のタイマ処理を呼び出すことを特徴とする。
【００２５】
本発明に係る第１７の発明は、第９〜第１６の発明のいずれかのネットワークデバイス管理方法を実行させるためのプログラムをコンピュータが読み取り可能な記憶媒体を格納したことを特徴とする。
【００２６】
本発明に係る第１８の発明は、第９〜第１６の発明のいずれかのネットワークデバイス管理方法を実行させることを特徴とするプログラム。
【発明の効果】
【００２７】
本発明によれば、プラグインを独立して記憶管理して、ネットワークデバイスの初期化処理等に伴って、ユーザからの指示がなくても、特定のイベントの発生を待って呼出し可能なプラグインをネットワーク管理プログラムに容易に組み込むことができる利便性に優れたプラグイン環境を自在に構築できる。
【００２８】
また、プラグインを独立して記憶管理して、ユーザの指示、或いはネットワークデバイス管理プログラム本体からの呼出しがなくても、プラグインを自律的にネットワーク管理プログラムに容易に組み込むことができる利便性に優れたプラグイン環境を自在に構築できる等の効果を奏する。
【発明を実施するための最良の形態】
【００２９】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【００３０】
〔第１実施形態〕
図１は、本発明の第１実施形態を示すネットワークデバイス管理装置上で動作するネットワークデバイス管理プログラムのモジュール構成を説明するブロック図である。
【００３１】
図１において、１０１はネットワークデバイス管理装置が接続されているネットワークである。１０２はＳｏｃｋｅｔＡＰＩで、ネットワークデバイス管理プログラムが操作するオペレーティングシステムが提供するネットワークＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）である。なお、本例では、Ｕｎｉｘ（登録商標）はＭｉｃｒｏｓｏｆｔ（登録商標）  Ｗｉｎｄｏｗｓ（登録商標）で利用されるＳｏｋｅｔ  ＡＰＩを用いている。
【００３２】
次に、図１に示す破線部内のネットワークデバイス管理プログラムの構成を説明する。
【００３３】
ネットワークデバイス管理プログラムは、ネットワークデバイス管理プログラム本体１０３と、プラグインモジュール群１０４、及びこれらモジュールから共通に利用される共有ライブラリ１０５より構成される。
【００３４】
１０６はＵＤＰハンドラで、上位のモジュールがＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）パケットの送受信をするためのモジュールである。１０７はＳＮＭＰハンドラで、上位のモジュールがＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）パケットの送受信をするためのモジュールであり、ＳＮＭＰパケット内データの解析もここで処理される。この例では、ネットワークデバイス管理のために、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）上のＳＮＭＰを用いている。１０８はその他の共有ライブラリで、その他の機能を提供する。
【００３５】
１０９は探索手段で、ネットワーク１０１に接続されたネットワークデバイスを探索するモジュールであり、探索されたネットワークデバイスは、デバイスリスト・デバイスグループモジュール１１０により管理される。デバイスリスト・デバイスグループ管理モジュール１１０はネットワークデバイスグループの管理も行う。
【００３６】
ここで、ネットワークデバイスグループとは、探索されたネットワークデバイスをその属性や、ユーザの指定によりグループとしてまとめる機能である。
【００３７】
プラグインモジュール１１３は、ネットワークデバイス管理装置内にあり、プラグインモジュール管理モジュール１１１により管理される。
【００３８】
ユーザインタフェースモジュール１１４は、ネットワークデバイス管理プログラムとユーザとのやり取りを司る。
【００３９】
図２は、本発明の第１実施形態を示すネットワーク管理装置を適用可能なネットワークシステムの構成を説明するブロック図であり、ネットワークデバイス管理装置２０３及び、ネットワークデバイス２０４、２０５、２０６及び２０７夫々が、ルータ２０２で接続されたネットワーク１０１及びネットワーク２０１に接続された状態に対応する。
【００４０】
図２において、２０３は図１に示したネットワーク管理モジュール群を記憶装置に記憶されたネットワークデバイス管理装置であり、ネットワーク１０１に、ネットワークデバイス管理装置２０３と、管理対象となるネットワークデバイス２０４及び２０５が接続されている。
【００４１】
また、ネットワーク１０１はルータ２０２を介して、ネットワーク１０１とは別のサブネットであるネットワーク２０１に接続されている。ネットワーク２０１にも、ネットワークデバイス管理装置２０３の管理対象となるネットワークデバイス２０６及び例えばプリンタやＭＦＰといったネットワークデバイス２０７が接続されている。
【００４２】
本ネットワークシステムにおいて、ネットワークデバイスの探索は、例えばネットワークデバイス管理装置２０３と同じサブネットに接続されたネットワークデバイス２０４及びネットワークデバイス２０５の探索には、プロトコルとしてＳＮＭＰのブロードキャストが、別サブネットに接続されたネットワークデバイス２０６及びネットワークデバイス２０７の探索には、指定されたアドレスに対するＳＮＭＰ要求の送信が用いられる。
【００４３】
［ネットワークデバイス管理装置の構成］
図３は、図２に示したネットワークデバイス管理装置２０３の構成を説明するブロック図であり、図１と同一のものには同一の符号を付してある。
【００４４】
図において、５０１はＣＰＵで、ＲＯＭ５０２に保持された制御プログラムコードに基づいて、ＣＰＵバス５０９に接続されたデバイスを総括的に制御する。５０３はＲＡＭで、ＣＰＵ５０１が使用する一時記憶用メモリとして機能し、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張できるように構成されている。
【００４５】
また、ＲＡＭ５０３は、印刷用データとして作成された描画オブジェクト格納や、ＲＯＭ５０２に保持された制御プログラム（図１に示したネットワークデバイス管理プログラム本体１０３と、プラグインモジュール群１０４、及びこれらモジュールから共通に利用される共有ライブラリ１０５を含む）によって一時的に使用されるワークメモリ等に用いられる。
【００４６】
５０４はメディアドライブであり、フレキシブルディスク、ＣＤ、ＤＶＤといった各種メディアとのアクセスインタフェースとなる。５０５はハードディスク（ＨＤＤ）であり、各種プログラム、データ等の格納が行われる。５０６はキーボード・マウスでユーザからの入力を受け付けるインタフェース部であり、５０７はディスプレイであり、ユーザに情報を伝えるアウトプット部となる。５０８は、ネットワークを介してプリンタ等の周辺機器と双方向に通信接続するための周辺機器インタフェース部である。
【００４７】
５０９はＣＰＵバスで、アドレス、データ、コントロールバスを含み、ＲＯＭ５０２、ＲＡＭ５０３、メディアドライブ５０４、ＨＤ５０５、キーボード・マウス５０６、ディプレイ５０７および周辺機器インタフェース部５０８は、それぞれＣＰＵバス５０９に接続されたすべてのデバイスにアクセス可能である。
【００４８】
［ネットワークデバイスの構成］
図４は、図２に示したネットワークデバイス２０７の構成を説明するブロック図であり、画像入出力装置（複合機）は、イーサネット（登録商標）等のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）２０１に接続されている例である。
【００４９】
図４において、上記画像入出力装置（複合機）等のネットワークデバイス２０７は、画像データの読取処理を行うリーダ部２００と、画像データの出力処理を行うプリンタ部３００と、画像データの入出力操作を行うキーボード、及び画像データや各種機能の表示／設定などを行う液晶パネルを備えた操作部１７０と、リーダ装置２００を制御して読み込んだ画像データや、ＬＡＮ２０１を介してホストコンピュータより受信したコードデータから生成される画像データを格納／保存できる画像記憶部１８０、さらには印刷用紙を排紙するフィニッシング部４００を装着可能であり、これら各構成要素に接続されて該構成要素を制御するコントローラ部２０７Ｃで構成されている。
【００５０】
リーダ部２００は、原稿用紙を搬送する原稿給紙ユニット２５０と、原稿画像を光学的に読み取って電気信号としての画像データに変換するスキャナユニット２１０とを有し、プリンタ部３００は、記録用紙を収容する複数段の給紙カセットを備えた給紙ユニット３１０と、画像データを記録用紙に転写／定着するマーキングユニット３２０と、印字された記録用紙の反転処理などを行い、フィニッシング部へ用紙を搬送する排紙ユニット３３０とを有している。
【００５１】
フィニッシング部４００は、ジョブや用紙の束毎に用紙を一時的に蓄積する中間ユニット４１０と、ステイプルやジョブオフセットなどのフィニッシング加工を行ったり、最終的に印刷物を蓄積したりするオプション排紙ユニット４２０とを有している。
【００５２】
コントローラ部２０７Ｃは、リーダ部２００を制御して原稿の画像データを読込み、プリンタ部３００を制御して画像データを記録用紙に出力するコピー機能を提供する。また、リーダ部２００から読み取った画像データをコードデータに変換し、ネットワーク２０１を介してホストコンピュータへ送信するネットワークスキャナ機能や、ホストコンピュータからネットワーク２０１を介して受信したＰＤＬなどの描画命令やコードデータを画像データに変換し、プリンタ部３００に出力するネットワークプリンタ機能などの機能ブロックを有している。
【００５３】
さらにコピー機能、ネットワークプリンタ機能等で印刷された用紙を蓄積、ステイプル、製本、ジョブオフセットするフィニッシング機能ブロックを有し、あるまとまった単位毎に仕分けを行ったり、加工したりすることも可能となっている。
【００５４】
図５は、本発明に係るネットワーク管理装置における第１のデータ処理手順の一例を示すフローチャートであり、図２に示したネットワークデバイス管理装置２０３のＣＰＵが実行するネットワークデバイス管理プログラムの開始時の処理の一部（一手順）に対応する。なお、Ｓ３０１〜Ｓ３１２は各ステップを示し、図３に示したＣＰＵ５０１がＲＡＭ５０３上にロードして実行される。
【００５５】
ＣＰＵ５０１により、プログラムが開始されると、必要な初期化処理を行った後、ステップＳ３０１で、外部記憶装置（図３に示すハードディスク５０５）に保存されている、例えば、前回のプログラム終了時のデバイスグループ及びデバイスリストに関するデータをＲＡＭ５０３上に読み込み、デバイスグループ及びデバイスリストを作成する。
【００５６】
次に、外部記憶装置に記憶されているプラグインの読み出しを行う。プラグインファイルは複数の特定のディレクトリに格納されており、プログラムはこれらディレクトリ内に格納された、特定の拡張子を持つファイルをプラグインファイルと判断し、これらを順次取り出す（Ｓ３０２）、全てのプラグインに対する処理が終わるまで各プラグインに対する処理を行う（Ｓ３０３）。
【００５７】
そして、ネットワークデバイス管理プログラム本体１０３は先ず、ステップＳ３０４で、指定されたプラグインファイルをオープンして、オープン成功かどうかを判断して、オープンに失敗したと判断した場合は、次のプラグインファイルの処理を行う。
【００５８】
一方、ステップＳ３０４で、プラグインファイルのオープンに成功したと判断した場合、ステップＳ３０５で、プラグイン内に関数名Ａを持つ関数が存在するか調べ、これが存在しないと判断（失敗）した場合、ステップＳ３０７に進む。
【００５９】
一方、ステップＳ３０５で、関数名Ａを持つ関数が存在する（成功）と判断した場合、プログラムは、ステップＳ３０６において、プラグインファイルが型Ａのプラグインであると判断し、プラグインの初期化関数を呼び出した後、このプラグインを型Ａのプラグインリストに追加し、ステップＳ３０２へ戻り。次のプラグインファイルの処理を行う。
【００６０】
一方、ステップＳ３０５で、プラグインファイルが型Ａのプラグインでないと判断した場合、型Ｂのプラグインであるか否かを判断して（Ｓ３０７）、型Ｂのプラグインであったと判断した場合、その初期化と型Ｂのプラグインリストへの追加登録処理を行い（Ｓ３０８）、ステップＳ３０２へ戻り。次のプラグインファイルの処理を行う。
【００６１】
以下、同様の処理を、プログラムがサポートするプラグインの型全てに対して行う（Ｓ３０９），（Ｓ３１０）。なお、図中では、都合上、最後のプラグイン名をＺと表記している場合である。
【００６２】
一方、ステップＳ３０９で、プラグインファイルが、どの型にも属さないとＣＰＵ５０１が判断した場合、ステップＳ３１１で、プラグインファイルをクローズし、ステップＳ３０２へ戻り、次のプラグインファイルの処理を行う。
【００６３】
そして、全てのプラグインのロード及び初期化が完了後，プログラムはネットワークデバイスの探索を開始して（Ｓ３１２）、処理を終了する。
【００６４】
図６は、図３に示したネットワークデバイス管理装置２０３のディスプレイ５０７に表示されるデバイス一覧表示画面の一例を示す図であり、ネットワークデバイス管理プログラムによる表示例である。
【００６５】
図６では、画面左側にデバイスグループが、画面右側に左側で選択されたデバイスグループに属するデバイスの一覧が表示されており、プラグインの型として、（１）Ｄｅｖｉｃｅ、（２）Ｄｅｖｉｃｅｓ、（３）Ｇｒｏｕｐｓ、（４）Ａｌｌ  Ｄｅｖｉｃｅｓの４種類があり、現在（１）Ｄｅｖｉｃｅの型のプラグインとして「Ｓａｖｅ／Ｒｅｖｅｒｔ  Ｓｅｔｔｉｎｇｓ．．．」というプラグインが登録されていることを階層的に表示している状態に対応する。
【００６６】
図７は、本発明に係るネットワーク管理装置における第２のデータ処理手順の一例を示すフローチャートであり、図２に示したネットワークデバイス管理装置２０３のＣＰＵ５０１が実行するプログラムが発生したイベントに対して、プラグインのイベント関数を呼び出す処理手順に対応する。なお、Ｓ５０１〜Ｓ５０９は各ステップを示す。
【００６７】
プログラムは、ステップＳ５０１で、プラグインを呼び出す必要のあるイベントが発生するのを待つ。
【００６８】
そして、イベントが型Ａのプラグインの型Ａ−１のイベントであるかどうかを判断して（Ｓ５０２）、プラグインの型Ａ−１のイベントであると判断した場合は、型Ａのプラグインリストに登録されているプラグインの夫々に対して、イベントＡ−１に対するイベント関数を呼び出し（Ｓ５０３）、ステップＳ５０４へ進む。
【００６９】
一方、ステップＳ５０２で、プラグインの型Ａ−１のイベントでないと判断した場合は、イベントが型Ａのプラグインの型Ａ−２のイベントであるかどうかを判断して（Ｓ５０４）、プラグインの型Ａ−２のイベントであると判断した場合、型Ａのプラグインリストに登録されているプラグインの夫々に対して、イベントＡ−２に対するイベント関数を呼び出し（Ｓ５０５）、ステップＳ５０６へ進む。
【００７０】
そして、イベントが型Ａのプラグインの型Ｂ−１のイベントであるかどうかを判断して（Ｓ５０６）、プラグインの型Ｂ−１のイベントであると判断した場合は、型Ａのプラグインリストに登録されているプラグインの夫々に対して、イベントＢ−１に対するイベント関数を呼び出し（Ｓ５０７）、ステップＳ５０８へ進む。
【００７１】
一方、ステップＳ５０６で、プラグインの型Ｂ−１のイベントでないと判断した場合は、イベントが型Ｂのプラグインの型Ｂ−２のイベントであるかどうかを判断して、プラグインの型Ｂ−２のイベントであると判断した場合、型Ｂのプラグインリストに登録されているプラグインの夫々に対して、イベントＢ−２に対するイベント関数を呼び出し、ステップＳ５０８へ進む。
【００７２】
同様の処理を、全ての型のプラグインの、全てのイベント型に対して行う（Ｓ５０６），（Ｓ５０９）。
【００７３】
そして、全ての処理が終了すると、プログラムは、ステップＳ５０１のイベント待状態に戻る。
【００７４】
図８は、本発明に係るネットワーク管理装置における第３のデータ処理手順の一例を示すフローチャートであり、図２に示したネットワークデバイス管理装置２０３のＣＰＵが実行するネットワークデバイス管理プラグラム終了時の、プラグインに対する処理手順に対応する。なお、Ｓ６０１〜Ｓ６１１は各ステップを示す。
【００７５】
プログラムは先ず、ステップＳ６０１で、エラーカウントをゼロ(error_count＝０)にする。この値が非ゼロの場合、終了処理の中で、終了誰何呼出しに対してエラーを返したプラグインが存在することを意味する。
【００７６】
プログラムは、全てのプラグインを順に取り出し（Ｓ６０２）、リストの終了かどうかを判断して（Ｓ６０３）、リストの終了であると判断した場合は、ステップＳ６０７へ進む。
【００７７】
一方、ステップＳ６０３で、終了でないと判断した場合は、プラグイン夫々に対して（Ｓ６０２及びステップＳ６０３）、プラグインの終了誰何処理ｃａｎ＿ｃｌｏｓｅ（）を呼び出する（Ｓ６０４）。
【００７８】
各プラグインは、終了誰何処理の中で、現在プラグインを終了しても良い場合、プラグインの状態を終了待状態にして、呼出し元であるネットワークデバイス管理プログラムに正常を返す。
【００７９】
プラグインを終了しては不都合な場合、プラグインは、呼出し元であるネットワークデバイス管理プログラム本体１０３にエラーを返す。
【００８０】
そこで、ネットワークデバイス管理プログラム本体１０３は、ステップＳ６０５で、プラグイン１１３が終了誰何呼出しに対してエラーを返したか否かを検査し、エラーが発生したと判断した場合、ステップＳ６０６で、ステップＳ６０１でゼロクリアしたエラーカウントに「１」を加えて、ステップＳ６０２へ戻る。
【００８１】
そして、ステップＳ６０３で、全てのプラグインに対して行ったと判断した後、プログラムは、エラーカウントが「０」かどうかを検査し（Ｓ６０７）、これが非ゼロであると判断した場合、終了誰何呼出しに対してエラーを返したデバイスがある、即ち、終了してはいけないプラグインがあると判断して、ユーザに対して、その旨を通知すると共に、終了の確認を行う（Ｓ６０８）。
【００８２】
そして、ユーザが終了しないを選択していると判断した場合（Ｓ６０９）、プログラムはネットワークデバイス管理処理を続けるため、プラグインを元の処理待ち状態に戻すため、全てのプラグインに対して夫々終了取消処理ｃａｎｃｅｌ＿ｃｌｏｓｅ（）を呼び出し（ステップＳ６１１）、処理を中止する。
【００８３】
一方、ステップＳ６０９で、ユーザが終了に同意したと判断した場合、或いは、ステップＳ６０７で、エラーカウントがゼロであったと判断した場合、プラグラムを終了するために、全てのプラグインに対して夫々プラグインの終了処理ｃｌｏｓｅ（）を呼び出し（Ｓ６１０）、終了処理を完了する。
【００８４】
図９は、図１に示したプラグイン１１３の状態遷移を示す第１の状態遷移図であり、Ｓ７０１〜Ｓ７０５は各状態を示す。
【００８５】
プラグイン１１３は、先ず、外部記憶装置（例えば図３に示すハードディスク５０５）の記憶状態Ｓ７０１より、ステップＳ３０４によりオープン及びロードされ、不定状態Ｓ７０２になる。
【００８６】
次に、プラグインの型の検査の為の関数名の検索が行われ（図５に示したステップＳ３０５、Ｓ３０７、Ｓ３０９）、どのプラグインの型にも一致しない場合、これはネットワークデバイス管理プラグインではないため、ステップＳ３１１によりクローズされ、記憶装置から削除される（終了状態Ｓ７０５）。
【００８７】
そして、プラグインがネットワークデバイス管理プログラムによりサポートされるものである場合、ステップＳ３０６、Ｓ３０８或いはＳ３１０により初期化処理が呼び出され、プラグインは、処理待ち状態Ｓ７０３になる。
【００８８】
そして、処理待ち状態Ｓ７０３から、ユーザ要求に起因するイベント、或いはユーザ要求とは無関係なイベントの発生により、ユーザ処理、或いはイベント処理が呼び出され、処理の終了と共に、プラグインは再び処理待ち状態Ｓ７０３に戻る。
【００８９】
終了時には、図８に示したステップＳ６０４により、プラグインの終了誰何処理が呼び出され、プラグインが終了可能な状態の場合、呼出し元であるネットワークデバイス管理プログラムに成功を返すと共に、処理待ち状態Ｓ７０３から、終了待ち状態Ｓ７０５への状態は変化する。
【００９０】
そして、プラグインが終了可能な状態にない場合、終了誰何呼出しに対してエラーを返し、プラグインは処理待ち状態に留まる。
【００９１】
そして、終了待ち状態Ｓ７０４から、ユーザの終了取消要求により終了が取り消された場合、プログラムはプラグインの終了取消処理ｃａｎｃｅｌ＿ｃｌｏｓｅ（）を呼び出し、プラグインは、処理待ち状態Ｓ７０３へと戻る（図８に示すステップＳ６１１）。
【００９２】
一方、プログラムを終了する場合（ステップＳ６１０）は、処理待ち状態７０３からの強制終了と、終了待ち状態からの正常終了の二種類がある。
【００９３】
図１０は、図１に示したプラグイン１１３のソースコードの一部を示す図であり、本例は、型Ａのプラグインの構造を示すＣ言語のソースコードの一部である。なお、８０１〜８１４はコード番号を示す。
【００９４】
図１０において、プラグインは構造体として宣言され、構造対中には、
−  ｈａｎｄｌｅ：  プラグインのハンドル
−  ｐｌｕｇｉｎ＿ｎａｍｅ：  プラグインの名称を示す文字列へのポインタ
−  ｐｌｕｇｉｎ＿ｄｅｓｃｒｉｐｔｉｏｎ：  プラグインの説明文字列へのポインタ
−  （＊ｉｎｉｔ）：  初期化処理を行う関数へのポインタ
−  （＊ｃａｎ＿ｐｒｏｃｅｓｓ）：  ユーザ処理が呼出し可能か否かを返す関数へのポインタ
−  （ｐｒｏｃｅｓｓ）：  ユーザ処理を行う関数へのポインタ
−  （＊ｅｖｅｎｔ＿ａ＿ｃａｌｌｂａｃｋ）：  イベントａの処理を行う関数へのポインタ
−  （＊ｅｖｅｎｔ＿ｂ＿ｃａｌｌｂａｃｋ）：  イベントｂの処理を行う関数へのポインタ
−  （＊ｃａｎ＿ｃｌｏｓｅ）：  終了誰何処理を行う関数へのポインタ
−  （＊ｃａｎｃｅｌ＿ｃｌｏｓｅ）：  終了取消処理を行う関数へのポインタ
−  （＊ｃｌｏｓｅ）：  終了処理を行う関数へのポインタ
が夫々格納される。また、プラグインは、上記構造体へのポインタを返す関数ｐｌｕｇｉｎ＿ｔｙｐｅＡ＿ｐｒｏｐｅｒｔｉｅｓを持つ。
【００９５】
図１１は、図１０に示すソースコードで宣言されるプラグインをオープン、ロードし初期化するためのＣ言語のコードの一部を示す図である。なお、９０１〜９０５，９０７〜９１８はコード番号を示す。
【００９６】
プログラムは、コード番号９０２で、ｄｌｏｐｅｎ関数によりｐｌｕｇｉｎ＿ｆｕｌｌｐａｔｈで指示されるファイル名を持つプラグインのオープン及びロードを行う。プラグインのロードに成功した場合（９０４）、プラグイン中に、関数ｐｌｕｇｉｎ＿ｔｙｐｅＡ＿ｇｅｔ＿ｐｒｏｐｅｒｔｉｅｓが存在するか否かを調べ（９０５）、存在する場合、この関数を呼び出す（９０７）。ｐｌｕｇｉｎ＿ｔｙｐｅＡ＿ｇｅｔ＿ｐｒｏｐｅｒｔｉｅｓ関数は、図１０に示す構造体を適当な値で埋め、構造体へのポインタを返す。
【００９７】
ｐｌｕｇｉｎ＿ｔｙｐｅＡ＿ｇｅｔ＿ｐｒｏｐｅｒｔｉｅｓ関数の呼出しが正常終了した場合（９０８）、構造体のフィールドに必要な値を代入し（９０９）、プラグインの初期化関数を呼び出す（９１０）。プラグインの初期化が成功した場合（９１０）、型Ａのプラグインリストにプラグインを追加する（９１１）。
【００９８】
プラグインの追加が失敗した場合（９１６）、ロードしたプラグインをクローズする（９１７）。
【００９９】
〔第２実施形態〕
第２実施形態においては、単一のプラグインが複数のプラグイン型に属することを可能とするようにしたものである。
【０１００】
図１２は、本発明に係るネットワーク管理装置における第４のデータ処理手順の一例を示すフローチャートであり、図２に示したネットワークデバイス管理装置２０３のＣＰＵが実行するネットワークデバイス管理プログラムの開始時の処理の一部（一手順）に対応する。なお、Ｓ３０１〜Ｓ３１２は各ステップを示し、図３に示したＣＰＵ５０１がＲＡＭ５０３上にロードして実行される。
【０１０１】
ＣＰＵ５０１により、プログラムが開始されると、必要な初期化処理を行った後、ステップＳ３０１で、外部記憶装置（図３に示すハードディスク５０５）に保存されている、例えば、前回のプログラム終了時のデバイスグループ及びデバイスリストに関するデータをＲＡＭ５０３上に読み込み、デバイスグループ及びデバイスリストを作成する。
【０１０２】
次に、プラグインの読み出しを行う。プラグインファイルは複数の特定のディレクトリに格納されており、プログラムはこれらディレクトリ内に格納された、特定の拡張子を持つファイルをプラグインファイルと判断し、これらを順次取り出す（Ｓ３０２）、全てのプラグインに対する処理が終わりか否かを判断して（Ｓ３０３）、ＮＯならばステップＳ３０４へ進み、ＹＥＳならばステップＳ３１２へ進み、ネットワークデバイスを検索して処理を終了する。
【０１０３】
そして、ネットワークデバイス管理プログラム１０３は先ず、ステップＳ３０４で、指定されたプラグインファイルをオープンして、オープン成功かどうかを判断して、オープンに失敗したと判断した場合は、次のプラグインファイルの処理を行う。
【０１０４】
一方、ステップＳ３０４で、プラグインファイルのオープンに成功したと判断した場合、ステップＳ３０５で、プラグイン内に関数名Ａを持つ関数が存在するか調べ、これが存在しない（失敗）と判断した場合、ステップＳ３０７に進む。
【０１０５】
一方、ステップＳ３０５で、関数名Ａを持つ関数が存在する（成功）と判断した場合、プログラムは、ステップＳ３０６ａにおいて、プラグインファイルが型Ａのプラグインであると判断し、プラグインの初期化関数を呼び出した後、このプラグインを型Ａのプラグインリストに追加し、ステップＳ３０７へ進む。
【０１０６】
一方、ステップＳ３０５で、プラグインファイルが型Ａのプラグインでないと判断した場合、型Ｂのプラグインであるか否かを判断して（Ｓ３０７）、型Ｂのプラグインであったと判断した場合、その初期化と型Ｂのプラグインリストへの追加登録処理を行い（Ｓ３０８ａ）、ステップＳ３０９へ進む。
【０１０７】
以下、同様の処理を、プログラムがサポートするプラグインの型全てに対して行う（Ｓ３０９），（Ｓ３１０ａ）。なお、図中では、都合上、最後のプラグイン名をＺと表記している場合である。
【０１０８】
一方、ステップＳ３０９で、プラグインファイルが、どの型にも属さないとＣＰＵ５０１が判断した場合、ステップＳ３１１で、プラグインファイルをクローズし、ステップＳ３０２へ戻り、次のプラグインファイルの処理を行う。
【０１０９】
そして、全てのプラグインのロード及び初期化が完了後，プログラムはネットワークデバイスの探索を開始して（Ｓ３１２）、処理を終了する。
【０１１０】
本例は、図３の初期化処理を変更したものであり、図３の場合とは、ステップＳ３０６ａ、Ｓ３０８ａ及びＳ３１０ａに於いて、夫々のステップの処理終了後次のプラグインの処理を行う代わりに、次のプラグイン型の検査を行うようにした部分が異なる。
【０１１１】
〔第３実施形態〕
第１，第２実施形態において、プラグインが自身の設定した時間間隔あるいは、自身が設定した時間経過後にプラグイン自身の指定した関数を呼び出すような処理を追加する。
【０１１２】
図１３は、図１に示したプラグイン１１３の状態遷移を示す第２の状態遷移図であり、Ｓ７０１〜Ｓ７０５は各状態を示す。
【０１１３】
本例は、図９に示した状態遷移に対して、タイマ割り込みによる処理が追加されている点が異なる。
【０１１４】
以下、図１４に示すメモリマップを参照して本発明に係るネットワークデバイス管理装置で読み取り可能なデータ処理プログラムの構成について説明する。
【０１１５】
図１４は、本発明に係るネットワークデバイス管理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【０１１６】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１１７】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１１８】
本実施形態における図５，図７，図８，図１２に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１１９】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１２０】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１２１】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１２２】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０１２３】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１２４】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバやｆｔｐサーバ等も本発明の請求項に含まれるものである。
【０１２５】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１２６】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２７】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２８】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から排除するものではない。
【０１２９】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【０１３０】
なお、本発明は、上記した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【０１３１】
上記実施形態によれば、プラグインをユーザからの要求とは独立したイベントの発生により呼び出す機能を追加することにより、プラグインにより拡張可能な機能の自由度が増加する。
【０１３２】
また、プラグイン終了時の処理を追加することにより、安全にプラグインを終了することが可能となる。
【０１３３】
さらに、単一のプラグインが複数のプラグイン型を実装可能とすることにより、類似機能を複数のプラグイン型に実装する場合、或いは、複数のプラグイン型に渡って関連する機能を実装する場合、複数のプラグインファイルを用意する必要が無くなり、プラグインファイルの管理が容易になり、コードの共有が可能となるという効果がある。
【０１３４】
また、プラグインに、タイマによりプラグイン自身を呼び出す機能追加することにより、ネットワークデバイス管理プラグラム本体から独立して、プラグインを動作させることが可能となり、拡張可能な機能の自由度が増加する。
【図面の簡単な説明】
【０１３５】
【図１】本発明の第１実施形態を示すネットワークデバイス管理装置上で動作するネットワークデバイス管理プログラムのモジュール構成を説明するブロック図である。
【図２】本発明の第１実施形態を示すネットワーク管理装置を適用可能なネットワークシステムの構成を説明するブロック図である。
【図３】図２に示したネットワークデバイス管理装置の構成を説明するブロック図である。
【図４】図２に示したネットワークデバイスの構成を説明するブロック図である。
【図５】本発明に係るネットワーク管理装置における第１のデータ処理手順の一例を示すフローチャートである。
【図６】図３に示したネットワークデバイス管理装置のディスプレイに表示あれるデバイス一覧表示画面の一例を示す図である。
【図７】本発明に係るネットワーク管理装置における第２のデータ処理手順の一例を示すフローチャートである。
【図８】本発明に係るネットワーク管理装置における第３のデータ処理手順の一例を示すフローチャートである。
【図９】図１に示したプラグインの状態遷移を示す第１の状態遷移図である。
【図１０】図１に示したプラグインのソースコードの一部を示す図である。
【図１１】図１０に示すソースコードで宣言されるプラグインをオープン、ロードし初期化するためのＣ言語のコードの一部を示す図である。
【図１２】本発明に係るネットワーク管理装置における第４のデータ処理手順の一例を示すフローチャートである。
【図１３】図１に示したプラグインの状態遷移を示す第２の状態遷移図である。
【図１４】本発明に係る画像処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
【０１３６】
１０１，２０１  ネットワーク
２０２  ルータ
２０３  ネットワークデバイス管理装置
２０４，２０５，２０６，２０７  ネットワークデバイス
【図１】
2005174244.tif 000003
【図２】
2005174244.tif 000004
【図３】
2005174244.tif 000005
【図４】
2005174244.tif 000006
【図５】
2005174244.tif 000007
【図６】
2005174244.tif 000008
【図７】
2005174244.tif 000009
【図８】
2005174244.tif 000010
【図９】
2005174244.tif 000011
【図１０】
2005174244.tif 000012
【図１１】
2005174244.tif 000013
【図１２】
2005174244.tif 000014
【図１３】
2005174244.tif 000015
【図１４】
2005174244.tif 000016