(57)【要約】【課題】プラグインを追加する際、プラグイン管理のオブジェクトを対象とし、オブジェクトの状態に応じた独自のメニューを提供したい場合、従来の方法では、メニューの内容を、データベースサービスに登録し、それを表示させていた。しかし、プラグイン構成で、各プラグインが管理するものが違うため、それに合わせてメニューの内容を動的に変更することは困難であった。【解決手段】メニューの表示要求を受けた際、プラグイン側で動的にメニューの作成処理を行う。メニューの内容は、プラグインが有するモジュールによって作成される。各プラグインは独自のメニュー作成処理を持っており、各プラグインで作成したメニューの内容をマージし、メニューの表示を行う。【選択図】  図３
2010250561.tif 000002
【特許請求の範囲】
【請求項１】
プラグインがインストールされることで機能の拡張が可能な、デバイスの管理機能を有するアプリケーションが動作する情報処理装置であって、
前記アプリケーションは、
前記デバイスの管理画面に表示する前記管理機能を選択するためのメニューを取得するメニュー取得手段と、
前記メニュー取得手段で取得したメニューを用いて、前記管理画面の描画情報を作成する作成手段とを有し、
前記プラグインは、
当該プラグインにより拡張される管理機能を実行可能とするためのメニュー情報を作成するメニュー情報作成手段を有し、
前記アプリケーションの有するメニュー取得手段は、インストールされたプラグインの有するメニュー情報作成手段により作成されたメニュー情報を含むメニューを取得することを特徴とする情報処理装置。
【請求項２】
前記プラグインの有するメニュー情報作成手段は、
当該プラグインで管理するオブジェクトの情報を取得するオブジェクト情報取得手段と、
管理対象となるデバイスのオブジェクトの現在の状態を取得するオブジェクト状態取得手段とを有し、
前記プラグインの有するメニュー情報作成手段は、当該プラグインで管理するオブジェクトの情報と、前記管理対象となるデバイスのオブジェクトの現在の状態とに基づいて、前記管理対象となるデバイスに対して適用すべき管理機能に対応するメニュー情報を作成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記プラグインはデバイスドライバを管理する機能を拡張するプラグインであり、前記オブジェクトはデバイスドライバであることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記プラグインはデバイスのファーム又はリソースを管理する機能を拡張するプラグインであり、前記オブジェクトはファーム又はリソースであることを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記プラグインの有するメニュー情報作成手段は、前記アプリケーションの有する作成手段により作成された描画情報に基づき表示された管理画面を介して、管理画面上のアイコンがユーザにより指定されたことに応じて、メニュー情報を作成することを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記アプリケーションは、
ユーザに関するユーザ情報を取得するユーザ情報取得手段と、
前記ユーザ情報取得手段により取得したユーザ情報に対応する前記デバイスに対する管理範囲情報を取得する管理範囲情報取得手段とを有し、
前記アプリケーションの有する作成手段が描画情報を作成する際に、前記管理範囲情報取得手段により取得した管理範囲情報に基づいて、前記ユーザの管理範囲内のデバイスに対しては前記プラグインの有するメニュー情報作成手段で作成したメニュー情報を含むメニューを用い、前記ユーザの管理範囲内ではないデバイスに対しては前記プラグインの有するメニュー情報作成手段で作成したメニュー情報を含まないメニューを用いることを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
プラグインがインストールされることで機能の拡張が可能な、デバイスの管理機能を有するアプリケーションが動作する情報処理装置における制御方法であって、
前記アプリケーションは、
前記アプリケーションによる前記情報処理装置のメニュー取得手段が、前記デバイスの管理画面に表示する前記管理機能を選択するためのメニューを取得するメニュー取得工程と、
前記アプリケーションによる前記情報処理装置の作成手段が、前記メニュー取得工程で取得したメニューを用いて、前記管理画面の描画情報を作成する作成工程とを有し、
前記プラグインは、
前記プラグインによる前記情報処理装置のメニュー情報作成手段が、当該プラグインにより拡張される管理機能を実行可能とするためのメニュー情報を作成するメニュー情報作成工程を有し、
前記アプリケーションの有するメニュー取得工程においては、インストールされたプラグインの有するメニュー情報作成工程で作成されたメニュー情報を含むメニューを取得することを特徴とする制御方法。
【請求項８】
デバイスの管理機能を有し、前記デバイスの管理画面に表示する管理機能を選択するためのメニューを取得し、当該取得したメニューを用いて、前記管理画面の描画情報を作成するアプリケーションに対して機能を拡張するためのプラグインプログラムであって、
コンピュータを、
前記アプリケーションで取得されるメニューに含まれるべき、当該プラグインにより拡張される管理機能を実行可能とするためのメニュー情報を作成するメニュー情報作成手段と
して機能させるためのプラグインプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、装置の情報を画面上に表示し、動的に更新するための技術に関する。特に画像形成装置を含むネットワーク機器に対応するアイコン等をクリックした際に画面上で表示される、そのネットワーク機器に関する各種メニュー等の内容を動的に変化させるための技術に関する。
【背景技術】
【０００２】
従来、画面上のアイコンをクリックした際に表示されるメニューは、表示させる内容をデータベースサービスに登録しておき、表示の際、データベースサービスからその内容を取得し、それを表示させるという方法が一般的であった。例えば、特許文献１では、１つのマルチメディア情報から関連する他のマルチメディア情報を出力する際の適用に関して開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−２８２０７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、ネットワーク機器を監視する監視装置に対して、既存のアプリケーションに対してプログラムなどのプラグインにより機能拡張などを行うことがある。ここでプラグインによる機能の追加や削除、その機能の開始や停止、またはプラグインが独自に管理するオブジェクトの状態に応じて、前述したメニューの表示内容を変更したい場合などが考えられる。しかしながら、従来技術においては、メニューの表示内容を変更を行う際にはデータベースサービスに登録された情報を逐次取得し、更新する必要がある。
【０００５】
例えば、ユーザなどがネットワーク機器を管理するアプリケーションなどにプラグインなどを用いて機能追加した場合に、データベースサービスに逐次問い合わせ、手動で更新するのはとても煩雑な処理となる。また、前述した特許文献１においては、そもそもプラグインによる機能の追加や削除及び開始や停止、またはプラグインが独自に管理するオブジェクトの状態に応じた表示内容の変更については、全く考慮していない。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明は、以下の構成を有する。
【０００７】
上記課題を解決するために、本発明における情報処理装置は、プラグインがインストールされることで機能の拡張が可能な、デバイスの管理機能を有するアプリケーションが動作する情報処理装置であって、前記アプリケーションは、前記デバイスの管理画面に表示する前記管理機能を選択するためのメニューを取得するメニュー取得手段と、前記メニュー取得手段で取得したメニューを用いて、前記管理画面の描画情報を作成する作成手段とを有し、前記プラグインは、当該プラグインにより拡張される管理機能を実行可能とするためのメニュー情報を作成するメニュー情報作成手段を有し、前記アプリケーションの有するメニュー取得手段は、インストールされたプラグインの有するメニュー情報作成手段により作成されたメニュー情報を含むメニューを取得することを特徴とする。
【発明の効果】
【０００８】
本発明により、ネットワーク機器の管理アプリケーションをプラグインの追加により機能拡張する際に、対応するメニュー情報を手動で書き換えることなく、動的に作成し、表示内容を変更することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明に係るシステム構成例の図。
【図２】本発明に係る管理装置のハードウェア構成例の図。
【図３】本発明に係る管理装置のソフトウェア構成例の図。
【図４】本発明に係るネットワーク機器のハードウェア構成例の図。
【図５】本発明に係るネットワーク機器のソフトウェア構成例の図。
【図６】第一の実施形態に係るプラグイン情報登録の処理フローの図。
【図７】第一の実施形態に係るプラグイン開始メソッドの処理フローの図。
【図８】第一の実施形態に係るクライアント装置における画面描画の処理フローの図。
【図９】第一の実施形態に係る描画モジュールによるマップ描画動作の処理フローの図。
【図１０】第一の実施形態に係るメニュー作成の処理フローの図。
【図１１】第一の実施形態に係るメニュー情報作成の処理フローの図。
【図１２】第一の実施形態に係るメニュー表示例の図。
【図１３】第二の実施形態に係るメニュー情報作成の処理フローの図。
【図１４】第二の実施形態に係るメニュー表示例の図。
【図１５】第三の実施形態に係る描画モジュールによるマップ描画動作の処理フローの図。
【図１６】第四の実施形態に係るメニュー作成の処理フローの図。
【図１７】第四の実施形態に係るメニュー表示例の図。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を用いて説明する。尚、本発明である情報処理装置の実施形態の例として、以降、ネットワーク機器管理システムを用いる。
【００１１】
＜第一の実施形態＞
図１は、本実施形態におけるネットワーク機器管理システムの全体構成図である。図１のネットワーク機器管理システムは、ネットワーク１００により互いに接続されたネットワーク機器を管理する管理装置１０１、ネットワーク機器１０２、及びクライアント装置１０３、１０４から構成される。管理装置１０１は、一般的なパーソナルコンピュータに含まれるような構成を有する。また、クライアント装置１０３、１０４はブラウザ機能などを備える一般的なパーソナルコンピュータである。尚、以降の説明では、ユーザがブラウザ機能により管理装置１０１が提供する機能を利用できるクライアント装置１０３を操作クライアント、管理装置１０１の管理対象となるクライアント装置１０４を管理対象クライアントとする。また、操作クライアント１０３は管理対象クライアント１０４として管理可能であり、逆に管理対象クライアント１０４を操作クライアント１０３として利用することも可能である。ネットワーク機器１０２は、ネットワーク１００により管理装置１０１と接続されており、ＭＦＰ（Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）やプリンタ、ＦＡＸなどを含む管理装置１０１で管理可能な機器を指す。
【００１２】
本発明におけるネットワーク機器管理システムを構成する各装置のハードウェア構成及びソフトウェア構成を以下で説明する。
【００１３】
図２に管理装置１０１やクライアント装置のハードウェア構成を示す。システムバス２００は、コンピュータを構成する各コンポーネント同士の共通データ交換経路である。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１はコンピュータ全体の制御や演算処理などを行う装置である。ＲＡＭ（Ｒａｍｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０２は、処理を行う際にプログラムやデータを記憶、実行する領域を指す。ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０３は、システム起動プログラムなどのプログラムを記憶する領域である。ＤＫＣ（Ｄｉｓｋ  Ｃｏｎｔｒｏｌｌｅｒ）２０４は、ＨＤ（Ｈａｒｄ  Ｄｉｓｋ）２０５などの外部記憶装置の制御を行う。ＨＤ２０５は、プログラムやデータを記憶しており、必要に応じてＲＡＭ２０２やＨＤ２０５へプログラムやデータをロードする。ＮｅｔｗｏｒｋＩ／Ｆ２０６は、ネットワーク１００と接続しネットワーク通信を行う。入出力Ｉ／Ｆ２０７は、キーボードやマウス、ディスプレイなどに接続されており、データの入出力を行う。
【００１４】
管理装置１０１は、ＣＰＵ２０１が基本Ｉ／Ｏプログラム及びＯＳを実行している状態で動作する。基本Ｉ／ＯプログラムはＲＯＭ２０３に記憶されており、ＯＳはＨＤ２０５に記憶されている。コンピュータ部の電源が入れられた際、基本Ｉ／Ｏプログラム中のイニシャルプログラムロード機能により、ＨＤ２０５からＯＳがＲＡＭ２０２にロードされ、ＯＳの動作が開始される。
【００１５】
図３に管理装置１０１のソフトウェア構成を示す。管理装置１０１のソフトウェアには、管理ユーティリティ３００、後から追加及び削除が可能な複数のプラグイン３０４、データベースサービス３０６、ネットワークモジュール３０７、Ｗｅｂサーバサービス３０８が含まれている。プラグイン３０４は、追加することでプラグインが有する様々な機能を使用することができる。ここでは、管理ユーティリティに機能を追加することで、その機能を管理ユーティリティから使用することができる。尚、図３のソフトウェア構成はプログラムとしてＨＤ２０５に格納されており、ＣＰＵ２０１によって実行されるものである。
【００１６】
管理ユーティリティ３００は、プラグイン管理モジュール３０１や描画モジュール３０２、メニュー取得モジュール３０３、ネットワーク探索モジュール３０９などのモジュールを備える。なお、ここでは上記のモジュールを例として備え、その説明を述べるが、これに限定するわけではなく、その他のモジュールを備えていても良い。プラグイン管理モジュール３０１は、ユーザによって管理装置１０１に追加されたプラグインプログラム（以下、プラグイン）のファイルをＨＤ２０５へ格納したり、プラグインの情報をデータベースサービス３０６へ登録したりする。またプラグイン管理モジュール３０１は、追加された各プラグインの開始、停止状態を管理する情報をデータベースサービス３０６に登録し、参照できるものとする。そのため、プラグイン管理モジュール３０１はプラグインの追加、削除と共に、開始、停止の状態も管理する可能である。描画モジュール３０２は、例えば、図１２（ａ）で示すような監視対象の機器を配置した様子を示すマップのような管理画面の描画を行うモジュールである。尚、本実施形態における描画モジュール３０２は、マップ描画情報の作成など、Ｗｅｂアプリケーションを想定してマップの描画を説明するが、ネイティブアプリケーションに適用しても良い。
【００１７】
メニュー取得モジュール３０３は、メニュー作成モジュール３０５へのメニュー作成の要求を行う。また、メニュー取得モジュール３０３は、メニュー作成モジュール３０５によって作成されたメニューの情報（以下、メニュー情報）の取得や、描画モジュール３０２へメニュー情報の送信を行う。ネットワーク探索モジュール３０９は、ネットワークモジュール３０７を介し、ネットワークに接続されたネットワーク機器１０２や管理対象クライアント１０４を探索する。またネットワーク探索モジュール３０９は探索対象から設定情報などを取得し、プラグイン３０４やメニュー作成モジュール３０５へ情報を渡す。プラグイン３０４は、必要に応じて管理装置１０１に追加、削除され、複数備えることができる。また、これにより、アプリケーションの管理機能の拡張が可能となっている。プラグイン３０４は、メニュー作成モジュール３０５を有する。プラグイン独自のメニューを作成する必要のない場合は、メニュー作成モジュール３０５を備えなくても良い。メニュー作成モジュール３０５は、マップ上のアイコンをクリックした際に表示させる、プラグイン独自のメニュー情報を作成する。メニュー情報はメニューを構成する要素であり、マップに表示され、ユーザから選択されることでそのメニュー情報が示す管理機能を実行可能となる。メニュー作成モジュール３０５は、メニュー取得モジュール３０３によって呼び出され、処理後のメニューの情報をメニュー取得モジュール３０３へ返す。データベースサービス３０６は、データを管理し、他モジュールからの要求に合わせてデータの登録と取り出しを行う。なお、データベースサービス３０６は、管理ユーティリティ３００やプラグイン３０４からアクセス可能であれば、管理装置１０１とは別の機器上にあっても良い。
【００１８】
ネットワークモジュール３０７は、ネットワーク１００を介してネットワークに接続されたネットワーク機器１０２やクライアント装置１０３、１０４との通信を行う。Ｗｅｂサーバサービス３０８は、操作クライアント１０３のＷｅｂブラウザからＨＴＴＰによるＧＥＴリクエストを受け取ると、ＨＤ２０５に保存されたＷｅｂページデータを返信するサービスを提供する。操作クライアント１０３は、外部からネットワーク１００経由で管理装置１０１へ接続し、Ｗｅｂサーバサービス３０８によって、サービスを提供されることが可能である。管理装置１０１には、Ｗｅｂサーバサービス３０８に管理ユーティリティ３００がインストールされており、これらを実行することで管理装置として機能する。管理ユーティリティ３００は、例えば、Ｗｅｂサーバサービス３０８で提供するＷｅｂページへのリクエストに応答して処理を実行するプログラムとして実装される。上記のように、管理ユーティリティ３００は、Ｗｅｂサーバサービス３０８とともにネットワーク機器１０２を管理するＷｅｂアプリケーションを実現している。
【００１９】
図４にネットワーク機器１０２のハードウェア構成図を示す。ネットワーク機器１０２は、制御ユニット４００、操作部４０１、プリンタ４０２、スキャナ４０３から構成される。制御ユニット４００の操作部関連の構成は、ＣＰＵ４１０、ＲＡＭ４１１、操作部Ｉ／Ｆ４１２、Ｎｅｔｗｏｒｋ  Ｉ／Ｆ４１３、ＲＯＭ４１４、ＤＫＣ４１５、ＨＤ４１６、Ｉｍａｇｅ  Ｂｕｓ  Ｉ／Ｆ４１７、システムバス４１８を備える。制御ユニット４００の印刷、スキャン関連の構成は、画像バス４１９、スキャナ画像処理部４２０、プリンタ画像処理部４２１、ＲＩＰ４２２、デバイスＩ／Ｆ４２３を備える。尚、上記構成のうちスキャナ４０３、及びスキャナ画像処理部４２０は必要に応じて備えることとなる。ＣＰＵ４１０は、制御ユニット４００全体を制御するコントローラである。ＲＡＭ４１１は、画像データを一時記憶するための画像メモリである。操作部Ｉ／Ｆ４１２は、操作部４０１とのインタフェースであり、操作部４０１で表示する画像データを操作部４０１に対して出力する。また、ユーザが操作部４０１により入力した情報をＣＰＵ４１０へ伝達する役割を有する。
【００２０】
Ｎｅｔｗｏｒｋ  Ｉ／Ｆ４１３は、ネットワーク１００と接続しており、ネットワーク１００を介して、外部の装置と情報のやり取りをするインタフェースである。また、Ｎｅｔｗｏｒｋ  Ｉ／Ｆ４１３はネットワーク機器１０２の各種情報を格納したＭＩＢ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｔｅｒｆａｃｅ  Ｂａｓｅ）を備える。ＭＩＢが有する各種情報は、ＩＰアドレスやネットワーク機器の名称、状態などの情報を指す。ＲＯＭ４１４は、ブートＲＯＭであり、システムのブートプログラムが格納されている。ＤＫＣ（Ｄｉｓｋ  Ｃｏｎｔｒｏｌｌｅｒ）４１５はＨＤ（Ｈａｒｄ  Ｄｉｓｋ）４１６の制御を行う。ＨＤ４１６は外部記憶装置であり、システムソフトウェアや画像データを格納する。
【００２１】
Ｉｍａｇｅ  Ｂｕｓ  Ｉ／Ｆ４１７は、システムバス４１８と画像バス４１９とを接続し、データ変換を行うバスブリッジである。システムバス４１８は、制御ユニット４００を構成する各コンポーネント同士の共通データ交換経路である。画像バス４１９は、ＰＣＩバス、またはＩＥＥＥ１３９４で構成されており、画像データを高速で転送する経路である。スキャナ画像処理部４２０は、入力画像に対し、補正や加工、編集を行う。プリンタ画像処理部４２１は、プリント出力画像データに対して、プリンタの性能に応じた補正、解像度の変換などを行う。ＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）４２２は、ネットワーク１００から送られてきたＰＤＬコマンドをビットマップイメージに展開する。デバイスＩ／Ｆ４２３は、画像入出力デバイスであるプリンタ４０２、及びスキャナ４０３と制御ユニット４００とを接続し、画像データの同期系／非同期系の変換を行う。
【００２２】
図５にネットワーク機器１０２のソフトウェア構成図を示す。ネットワークモジュール５００は、ネットワーク１００に接続された管理装置１０１とネットワーク機器１０２とのインタフェースの役割をする。例えば、ネットワーク１００を介して管理装置１０１から探索要求を受け取り、設定情報管理モジュール５０１へ応答に必要となる設定情報の取得要求を出す。探索要求はＳＮＭＰやＳＬＰ、ＷＳＤなどに代表される、どのネットワークプロトコルを使用しても良い。また、ネットワークモジュール５００は、設定情報管理モジュール５０１から取得した設定情報を受け取り、ネットワーク１００を介して管理装置１０１へ設定情報を応答として送信する。設定情報管理モジュール５０１は、ネットワークモジュール５００から受け取った要求に対して、ＲＡＭ４１１やＨＤ４１６、Ｎｅｔｗｏｒｋ  Ｉ／Ｆ４１３のＭＩＢに格納されている設定情報をネットワークモジュール５００へ返す。
【００２３】
＜プラグイン情報登録＞
図６に管理装置１０１へのプラグイン追加時における、プラグイン管理モジュール３０１のプラグイン情報登録動作を示す。本動作は、プラグイン管理モジュール３０１が動作の主体となる。
【００２４】
Ｓ７００では、プラグイン管理モジュールが新たに追加するユーザからアップロードされたプラグインのモジュールをＨＤ２０５へ配置する。Ｓ７０１では管理装置１０１に追加するプラグインの情報をデータベースサービス３０６へ登録する。Ｓ７０２ではプラグイン管理モジュール３０１がユーザに対し、追加プラグインを開始するか、または開始しないかをＵＩ上で判断させ、その入力を受け付ける。追加プラグインを開始する場合は、Ｓ７０３にてプラグイン開始メソッドの呼び出しを行い、開始しない場合はプラグインを停止中のまま本動作を終了する。Ｓ７０３では、追加プラグインが備えるプラグイン開始メソッドの呼び出しを行う。プラグイン開始メソッドの詳細に関しては図７を用いて後述する。
【００２５】
＜プラグイン開始＞
図７に追加プラグインが自身を開始可能な状態にするための動作を示す。本動作は、プラグイン３０４が動作の主体となる。
【００２６】
Ｓ８００はプラグインにデータベースサービス３０６へ登録するメニュー作成モジュール３０５があるか否かを、プラグイン自身が判定する。追加するプラグインにメニュー作成モジュール３０５が存在する場合はＳ８０１の処理に移行し、存在しない場合は本動作を終了する。Ｓ８０１では登録すべきメニュー作成モジュールの情報をデータベースサービス３０６に登録する。そして、Ｓ８０２において追加するプラグインは、データベースサービス３０６で管理されている自身の状態を開始状態とし、本動作を終了する。なお、ここでの開始状態となっているプラグインは、管理画面の描画処理の際のメニュー作成が実施可能な状態であることを示す。
【００２７】
＜管理画面（マップ）描画＞
図８は、操作クライアント１０３における、マップ上（管理画面上）に配置されるアイコンとそのアイコンに対応するメニューを含めたマップの描画を行うための動作を示している。尚、アイコンはネットワーク機器１０２や管理対象クライアント１０４を示す。また、ネットワーク機器としては、他の管理装置、プロジェクタ、及び電源などを管理対象としてアイコン表示してもよい。本動作は、操作クライアント１０３が動作の主体となる。
【００２８】
Ｓ９００は、ユーザの指示等に起因して操作クライアント１０３がマップ描画のために、Ｗｅｂブラウザを介して管理装置１０１の描画モジュール３０２へマップ描画要求を行う。この要求については図９で後述する。Ｓ９０１では、この要求に対する応答として描画モジュール３０２から描画情報を取得し、取得した描画情報を基に操作クライアント１０３は、Ｗｅｂブラウザ上にマップ描画を行う。ここで取得した描画情報の一例として、ＨＴＭＬやＸＭＬで記述された情報が挙げられる。
【００２９】
＜描画処理＞
図９は、操作クライアント１０３からのマップ描画要求に対する描画モジュール３０２の動作を示している。本動作は、描画モジュール３０２が動作の主体となる。本動作は、図８のＳ９００においてマップ描画要求が行われた場合に開始される。
【００３０】
Ｓ１０００において、描画モジュール３０２はマップ描画要求を受けると、データベースサービス３０６にマップ情報が存在するか否かを判定する。ここでのマップ情報とは、マップで使用する背景ファイルの保存場所とファイル名、マップ上でのサイズなどの情報、及びマップで使用するアイコンの情報など、マップを構成する要素情報を指す。マップ情報が存在する場合、描画モジュール３０２はＳ１００１の処理へ移行する。一方、マップ情報が存在しない場合、描画モジュール３０２は、Ｓ１００６へ進み、マップ情報が無い旨の情報を要求元（操作クライアント１０３）へ返す。Ｓ１００１では、ＨＤ２０５やデータベースサービス３０６からのマップ情報取得が行われる。Ｓ１００２では、Ｓ１００１で取得した既存のマップ情報をもとに、ＨＤ２０５から背景画像やアイコン画像などの画像情報取得が行われる。
【００３１】
Ｓ１００３では、マップにメニューが未作成のアイコンが配置されているか否かの判定を行う。メニューが未作成のアイコンが配置されていた場合、該当するアイコンに対するメニューの作成も行うため、Ｓ１００４の処理へ移行する。メニューが未作成のマップ情報にアイコンが配置されていない場合、Ｓ１００５の処理へ移行する。Ｓ１００４では、描画モジュール３０２がメニュー取得モジュール３０３へ、メニューが未作成のアイコンに対応するメニュー作成要求を行う。メニュー作成の処理については、図１０で後述する。Ｓ１００４のメニューの作成が終了した後、描画モジュール３０２は再びＳ１００３においてメニューが未作成の他のアイコンがマップ内に配置されているかの確認を行う。Ｓ１００３とＳ１００４を繰り返し、すべてのアイコンに対してメニューの作成が終了すると、描画モジュール３０２はＳ１００５のマップ描画情報作成処理へ移行する。
【００３２】
Ｓ１００５では、描画モジュール３０２がマップ情報や作成したメニュー情報をもとに描画情報の作成を行う。ここでの描画情報とは、操作クライアント１０３で描画するための情報を指す。Ｓ１００６において、描画モジュール３０２は、要求元である操作クライアント１０３へマップを描画するための描画情報を返す。
【００３３】
＜メニュー作成処理＞
図１０は、１つのアイコンに対するメニューの作成処理を示している。ここで作成されるメニューは、様々なプラグインのモジュールから作成されたメニュー情報で構成されている。本動作は、メニュー取得モジュール３０３が動作の主体となる。図９におけるＳ１００４のメニュー作成要求が発生したら本動作が開始される。
【００３４】
Ｓ１１００において、メニュー取得モジュール３０３は、メニューの作成のためのアイコン情報取得を行う。ここで、取得するアイコン情報として、管理対象の機器を識別するＩＤやＩＰアドレスが挙げられる。
【００３５】
Ｓ１１０１は、メニュー取得モジュール３０３が、データベースサービス３０６にＳ８０１で登録されたメニュー作成モジュール３０５のうち、メニューが未作成のモジュールが存在するか否かを判定する処理である。存在する場合はＳ１１０２の処理へ移行し、存在しない場合はＳ１１０７の処理へ移行する。
【００３６】
Ｓ１１０２では、メニュー取得モジュール３０３が、Ｓ１１０１で存在すると判定されたメニュー作成モジュール３０５のモジュール情報を取得する。モジュール情報は、メニュー作成モジュール３０５のＨＤ２０５上のファイル位置やモジュールが呼び出された際に最初に使用するクラスの情報を含んでいる。
【００３７】
Ｓ１１０３は、Ｓ１１０２で取得したモジュール情報に含まれるＨＤ２０５上のファイル位置にプラグインのモジュールが存在するか否かを判定する処理である。存在する場合はＳ１１０４へ移行し、存在しなかった場合は次のモジュール情報を取得するためＳ１１０１の処理へ移行する。
【００３８】
Ｓ１１０４では、Ｓ１１０３で存在すると判定したメニューが未作成のモジュールの情報を読み込む。Ｓ１１０５において、メニュー取得モジュールはＳ１１０４で読み込んだメニュー作成モジュールに対し、メニュー情報作成要求を行う。もし読み込んだモジュールがアイコンの情報を必要とする場合は、メニュー作成モジュール３０５は読み込んだモジュールに対して、Ｓ１１００で取得したアイコン情報と一緒に要求を行う。メニュー情報作成処理は図１１に後述する。
【００３９】
Ｓ１１０６では、メニュー取得モジュール３０３がＳ１１０５により取得したメニュー情報をもとにメニューの作成を行う。ここでのメニュー情報とは、１つのモジュールが作成するメニューの表示内容を指している。他のモジュールが既にメニューの作成を行っている場合は、既存のメニューと新たに取得したメニューとのマージ処理を行う。Ｓ１１０６の処理後、メニュー取得モジュール３０３は、Ｓ１１０１へ戻り、次のメニューが未作成のモジュール情報の取得を行う。以降、Ｓ１１０１からＳ１１０６までの処理を繰り返し、Ｓ１１０１において、データベースサービス３０６に登録されたモジュール情報を全て処理した時点でＳ１１０７の処理へ移行する。Ｓ１１０７では、Ｓ１１０６で作成されたメニューを要求元へ返す処理を行う。
【００４０】
＜メニュー情報作成＞
図１１は、メニュー情報を作成するための処理の流れを示している。ここで述べるメニュー情報とは、メニューで表示される内容を指し、１つのモジュールから複数作成することができる。本動作は、各プラグインが有するメニュー作成モジュール３０５が動作の主体となる。
【００４１】
Ｓ１２００において、メニュー作成モジュール３０５はメニュー情報の作成を行う。ここでのメニュー情報の作成とは、例えば、アイコン情報に登録されたＩＰアドレスを利用し、ＩＰアドレスを含んだＵＲＬを作成することが挙げられる（図１２（ｂ）１３０５参照）。その後、Ｓ１２０１において、メニュー作成モジュール３０５は、作成したメニュー情報を要求元（メニュー取得モジュール３０３）へ返す。ここで作成されるメニュー情報であるＵＲＬは、ネットワーク機器の提供するウェブページ（リモートＵＩ）へアクセスするためのものである。このウェブページでは、ネットワーク機器の構成情報やステータスなどが参照、一部の管理機能の指示が行える。
【００４２】
＜マップ表示例＞
図１２（ａ）にプラグインが開始される前のメニューの表示例を示す。背景画像１３００は管理装置１０１にアップロードされる画像であり、ＨＤ２０５上に格納されている。尚、背景画像１３００は、例えばＪＰＥＧやＧＩＦ形式の画像でも良い。
【００４３】
プルダウンメニュー１３０１は、複数のマップから１つのマップを選択できる。追加ボタン１３０２はマップ上にアイコンを追加するためのボタンである。追加ボタン１３０２を押下すると、管理装置１０１で管理しているネットワーク機器１０２などの一覧が表示され、一覧から追加したいアイコンを選択することで、マップの任意の場所にアイコンを追加できる。更新ボタン１３０３は、画面を更新するためのボタンであり、更新ボタン１３０３の押下に応じて、描画モジュール３０２に対するマップ描画要求（図８におけるＳ９００）が行われる。１３０４は、ネットワーク機器１０２の１つが割り当てられたアイコンである。メニュー１３０５は、アイコンをクリックした際に表示されるメニューである。なお、図１２（ａ）では、プラグインによるメニュー作成がされていないため、固定のメニュー（プリンタ詳細）のみを表示している。プリンタ詳細では、管理装置１０１で予め保持する固定的なプリンタの情報（ＩＰアドレス）などが参照できる。
【００４４】
図１２（ｂ）に、プラグイン開始後のメニューの表示例を示す。尚、１３００から１３０５の説明は図１２（ａ）と同様のため省略する。図１２（ｂ）では、メニュー１３０５にプラグイン独自のメニュー（ＵＲＬ情報）が表示されている。これはプラグインが追加されたために、図１０で示したＳ１１０１以降の処理が実行され、メニューが追加されたためである。
【００４５】
以上により、データベースサービスの内容を手動で書き換えることなく、プラグインのインストール、その開始に応じて、プラグイン側で動的にメニューを追加作成し、表示内容を変更することが可能としている。また、大量のアイコンに対するメニューの内容を変更する際にも、容易に内容を変更することができる。
【００４６】
＜第二の実施形態＞
第一の実施形態ではメニューを表示するために必要なプラグインの登録と、メニュー表示時におけるプラグイン側のメニュー作成モジュール３０５でのメニュー情報の作成処理などについて述べた。
【００４７】
第一の実施形態では、メニュー作成モジュール３０５がアイコン情報のＩＰアドレスを含んだＵＲＬを作成し、メニュー情報として提供するものであった。メニュー作成処理は、アイコン情報の利用だけでなく、ネットワーク機器１０２やクライアント装置１０３、１０４からその構成や状態を取得し、利用しても良い。そこで本実施形態では、メニュー作成の際にネットワーク１００に接続された外部装置から、その装置が備えるオブジェクトの状態を取得し、メニューに反映させる方法について述べる。ここではオブジェクトの例として、各装置にインストールされるプリンタドライバなどのデバイスドライバを挙げて説明する。また、各装置の動作状況についてのメニューを作成しても良い。
【００４８】
尚、システム全体構成、及び管理装置１０１、ネットワーク機器１０２、クライアント装置１０３、１０４のハードウェア構成とソフトウェア構成については第一の実施形態と同様のため、ここでの説明は省略する。また、プラグインの登録（図６）及びクライアント装置における画面描画（図８）、描画モジュールによるマップ描画動作（図９）、メニュー作成処理（図１０）についても第一の実施形態と同様であるため、説明を省略する。
【００４９】
図１３は、管理対象クライアント１０４の情報を考慮したメニュー情報作成の動作を示す。尚、Ｓ１２０１の説明は図１１と同様のため省略する。ここでは、管理対象クライアント１０４へネットワーク機器１０２に対応したデバイスドライバを追加インストールするための管理プラグイン（以下、ドライバ管理プラグイン）を追加した際の処理の流れを具体例として説明する。本動作は、ドライバ管理プラグインのメニュー作成モジュール３０５が動作の主体となる。また、メニュー作成モジュール３０５による本動作は、ネットワーク上にある管理対象のネットワーク機器１台に関する処理を例として説明している。図１で示すようにネットワーク機器が３台設置されているような環境においては、本動作が機器ごとに行われることになる。
【００５０】
Ｓ１２０２は、メニュー作成モジュール３０５がデータベースサービス３０６に、ネットワーク機器とデバイスドライバと関連付けの情報が存在するか否かを判定する。関連付けの情報が存在する場合は、Ｓ１２０３の処理へ遷移する。存在しない場合は、その旨を要求元に応答し、メニューを作成せず本動作を終了する。メニューが作成されずに本動作が終了する場合は、マップ画面のアイコンクリック時において、プラグインの追加に応じたメニューの追加表示が行われない。
【００５１】
Ｓ１２０３では、メニュー作成モジュール３０５が、データベースサービス３０６からのネットワーク機器に関連付けられたデバイスドライバの情報（以下、ドライバ情報）の取得（オブジェクト情報取得）を行う。なお、ドライバ情報には、例えば、ＨＤ２０５上に配置されたデバイスドライバの位置情報や、デバイスドライバの種類やバージョン情報が含まれている。
【００５２】
Ｓ１２０４は、選択された管理対象クライアントに対するメニューの作成を全て実行したか否かを判定する処理である。ここでの選択された管理対象クライアントとは、ユーザが特定のクライアント装置を対象としてメニューの作成を行いたい場合に、Ｓ９００でのマップ描画要求の前にユーザが選択した管理対象クライアントを指す。尚、選択された管理対象クライアントは複数であっても良い。Ｓ１２０４で、メニュー作成が未実行と判定された選択された管理対象クライアントがあれば、その中から一つを選択し、Ｓ１２０５へ進む。そのような管理対象クライアントが無ければ、Ｓ１２０１へ進む。
【００５３】
Ｓ１２０５では、選択された管理対象クライアントがネットワーク上に存在するか否かを判定する処理である。ネットワーク上に存在する場合はＳ１２０６の処理へ移行し、存在しない場合はＳ１２０４へ戻り、次の選択された管理対象クライアントに対する処理へ移行する。
【００５４】
Ｓ１２０６では、選択された管理対象クライアントが、どのようなデバイスドライバを保持しているか、またその状態を取得する。これによりオブジェクト状態取得手段を実現する。Ｓ１２０７では、Ｓ１２０６で取得した管理対象クライアントのデバイスドライバが、Ｓ１２０３で取得したドライバ情報に含まれるか否かの判定をする。Ｓ１２０６で取得した管理対象クライアントのデバイスドライバが含まれる場合はＳ１２０９の処理へ移行し、含まれない場合はＳ１２０８の処理へ移行する。
【００５５】
Ｓ１２０８では、メニュー作成モジュール３０５が、選択された管理対象クライアントへデバイスドライバを追加するためのメニュー情報を作成する。ここで作成するメニュー情報は、Ｓ１２０３のドライバをダウンロードするためのリンクを表示するためのものでも良いし、ドライバを選択された管理対象クライアントに対して直接インストールするためのものでも良い。Ｓ１２０９では、Ｓ１２０７での判断の対象となった管理対象クライアントに存在するデバイスドライバのバージョンが、Ｓ１２０３で取得したドライバ情報に含まれるバージョン情報と比較して、古い場合はＳ１２１０の処理へ移行する。そうでない場合はＳ１２０４の、次の選択された管理対象クライアントに対する処理へ移行する。Ｓ１２１０では、メニュー作成モジュール３０５が、選択された管理対象クライアントのデバイスドライバを更新するためのメニュー情報の作成を行う。ここで作成するメニュー情報は、Ｓ１２０３のドライバを更新するためのリンクを表示ためのものなどである。
【００５６】
Ｓ１２０８、またはＳ１２１０のメニュー情報作成処理が終了あしたら、Ｓ１２０４へ戻り、次の選択された管理対象クライアントに対する処理へ移行する。
【００５７】
図１４に本実施形態におけるメニューの表示例を示す。尚、１３００から１３０５までの説明は図１２（ａ）と同様のため省略する。アイコン１３０６は、ネットワーク機器の１つに割り当てられたアイコン（以下、ネットワーク機器アイコン）である。なお、このアイコンはＰｒｉｎｔｅｒ０１の名称が付与されている。また、アイコン１３０７、１３０８は、管理対象クライアントに割り当てられたアイコン（以下、クライアント装置アイコン）であり、それらアイコンにチェックボックスを備える。ここでチェックされたクライアント装置アイコン１３０８は、ユーザによって選択された管理対象クライアントとして図１３のＳ１２０４の処理対象となる。尚、本表示例では、ネットワーク機器アイコン１３０６に対応するデバイスドライバが、クライアント装置アイコン１３０８にインストールされていないものとする。
【００５８】
ここで、マップ上でネットワーク機器アイコン１３０６をクリックすることで、“ドライバ追加（Ｃｌｉｅｎｔ０１）”といったメニュー情報が含まれるメニュー表示が行われる。これは図１３で説明したように、ドライバ管理プラグインが追加されることに応じて新たに表示されるメニュー情報となる。本表示例から、ユーザがＰｒｉｎｔｅｒ０１（すなわちアイコン１３０６が示すネットワーク機器）のプリンタドライバが、Ｃｌｉｅｎｔ０１（すなわちアイコン１３０８が示すクライアント装置）にインストールされていないことが分かる。そして、メニューから“ドライバ追加（Ｃｌｉｅｎｔ０１）”を選択することで、Ｃｌｉｅｎｔ０１に対してＰｒｉｎｔｅｒ０１のプリンタドライバをインストール（追加）できることが示されている。
【００５９】
また、マップ上で他のネットワーク機器アイコンをクリックすることで、“ドライバ追加（Ｃｌｉｅｎｔ０１）”と“ドライバ更新（Ｃｌｉｅｎｔ０２）”といったメニュー情報が２つ含まれるメニュー表示が行われる場合もある。これも図１３で、ドライバ管理プラグインが追加されることに応じて新たに表示されるメニュー情報となる。具体的には、Ｓ１２０８及びＳ１２１０でそれぞれ作成されたメニュー情報が追加された際の動作になる。
【００６０】
以上にように、本実施形態では、ネットワーク１００に接続された機器の状態を考慮した上で、追加されたプラグインに応じたメニュー情報をもとに、表示すべきメニューを作成する。尚、ネットワーク機器へのファームやリソースの配信の際に、それらを管理、配信するプラグインが追加された場合に、ネットワーク機器の状態を加味したメニューを同様に作成してもよい。その他にも、資産管理のための資産管理プラグインによる資産情報の表示メニューやアプリケーション配信のためのアプリケーション管理プラグインの配信メニューなどに同様に適用してもよい。
【００６１】
＜第三の実施形態＞
上述した実施形態では、プラグインの登録と画面描画時におけるマップ上でのメニューを表示するために必要なメニューの作成について述べた。画面描画時とは、画面遷移などにより画面全体に再描画を行う場合を指す。本発明によるメニューの作成は、画面描画時に限定するものではなく、ユーザによるマップ上のアイコンクリック時に行っても良い。そこで本実施形態ではユーザがアイコンをクリックした際に行われるメニューの作成について述べる。
【００６２】
尚、システム全体構成、及び管理装置１０１、ネットワーク機器１０２、クライアント装置１０３、１０４のハードウェア構成とソフトウェア構成については第一の実施形態と同様のため、説明は省略する。また、プラグインの登録（図６）、描画モジュールによるマップ描画動作（図９）以降の処理においても第一の実施形態と同様の処理を行うため、説明を省略する。
【００６３】
ユーザによるアイコンクリックの際に行われる表示処理について図１５に示す。本動作は、ユーザ操作クライアントが動作の主体となる。尚、Ｓ９００及びＳ９００、Ｓ９０１については第一の実施形態における図８の説明と同様のため、説明を省略する。
【００６４】
Ｓ９０２では、操作クライアント１０４が、ネットワーク機器１０２や管理対象クライアント１０４のアイコンを表示しているマップの表示を終了しているか否かの判定を行う。マップの表示を終了している場合には処理を終了し、マップ表示を継続している場合は次の処理へ移行する。Ｓ９０４ではユーザがアイコンをクリックしたか否かを判定する。クリックをした場合は、Ｓ９０４の処理へ移行し、していない場合はマップ表示の終了判定であるＳ９０２へ移行する。尚、Ｓ９０３は、クリック時に処理が発生するため、Ａｊａｘを代表とするＪａｖａ（登録商標）Ｓｃｒｉｐｔの非同期通信や、イベント処理として実行されても良い。Ｓ９０５では、操作クライアント１０３が管理装置１０１へ、ユーザがクリックしたアイコンを対象としたメニューの作成要求を出す。メニュー作成は第一の実施形態における図１０の説明と同様のため、説明を省略する。Ｓ９０４の処理が完了したら、Ｓ９０１へ戻る。
【００６５】
以上の処理により、ユーザによる任意のタイミングでのマップ上で表示されるメニューの作成または、更新を行うことができる。
【００６６】
＜第四の実施形態＞
上述した実施形態は、すべてのユーザに対して同様のメニューを表示させる例であった。本実施形態では、ユーザごとに設定された管理範囲に従って、メニュー表示を変化させる処理について述べる。
【００６７】
システム全体構成、及び管理装置１０１、ネットワーク機器１０２、クライアント装置１０３、１０４のハードウェア構成とソフトウェア構成については第一の実施形態と同様のため、説明は省略する。また、プラグインの登録（図６）、描画モジュールによるマップ描画動作（図９）、メニュー作成モジュール３０５によるメニュー情報の作成（図１１、図１３）は第一の実施形態、第二の実施形態における処理と同様の処理を行うため、説明を省略する。
【００６８】
図１６を用いて、ユーザに設定された管理範囲によってマップ上において表示するメニューを変化させる処理について説明する。尚、Ｓ１１００からＳ１１０７までは、図１０の処理と同様のため省略する。
【００６９】
Ｓ１１０８において、メニューの作成を指示されたメニュー取得モジュール３０３は、ユーザ名や権限などのユーザに関するユーザ情報を取得する。これにより、ユーザ情報取得手段を実現する。Ｓ１１０９では、マップ上に設定されたユーザごとの管理範囲情報をデータベースサービス３０６から取得する。管理範囲情報の一例として、ユーザに設定された管理範囲を示すマップ座標が挙げられる。また、全てのユーザや権限に対し、管理範囲情報が登録されていない場合は、マップ全体を管理範囲とする。これにより、管理範囲情報取得手段を実現する。
【００７０】
Ｓ１１１０では、Ｓ１１０８、Ｓ１１０９、及びＳ１１００で取得した情報を利用し、ユーザの管理する管理範囲内にアイコンが存在しているかどうかを判定する。アイコンが管理範囲内である場合は、Ｓ１１０１以降の処理により、モジュールごとのメニュー作成を行い、範囲外であった場合はそのまま処理を終了する。尚、必ず表示させるメニューが存在する場合は、処理を終了する前にメニュー作成処理を行っても良い。
【００７１】
図１７では、ユーザごとに設定された管理範囲によるメニューの変化の表示例を示す。尚、１３００から１３０８までは、図１２（ａ）及び図１４と同様のため説明を省略する。管理範囲選択ボタン１３０９は管理範囲を選択するためのボタンである。管理範囲選択処理は、管理範囲選択ボタンを押下することで、選択範囲を指定できる選択ボックスが表示され、現在利用しているユーザが管理したい範囲を指定するという流れで行われる。領域１３１０は現在、管理装置１０１を操作しているユーザ名を表示する領域である。領域１３１１は領域１３１０に表示しているユーザに割り当てられている権限である。領域１３１２、１３１３は各ユーザによって選択された管理範囲を示している。領域１３１２はＵｓｅｒ０１によって管理されている範囲を示し、領域１３１３はＵｓｅｒ０２によって管理されている範囲を示している。領域１３１４はどの管理範囲がどのユーザに割り当てられているかを示す凡例を表示している。
【００７２】
本表示例では、領域１３１０、１３１１で示すように、管理者権限をもつ“Ｕｓｅｒ０１”によって操作されていることを示している。ここでは、“Ｕｓｅｒ０１”の管理範囲のプリンタに対するファームウェアの更新といった管理者の権限によってのみ実施可能なメニューの表示が行われている。例えば、“Ｕｓｅｒ０２”が操作する際には、“Ｐｒｉｎｔｅｒ０１”をクリックしたとしても、この“ファームウェア更新”というメニューの表示は行われない。また本例では、“プリンタ詳細”に関しては、管理範囲外のユーザに対してもメニュー表示を行うようにしている。
【００７３】
以上の処理により、ユーザごとに設定された管理範囲に従って、メニューの表示を変化させる処理が可能となる。尚、本実施例はユーザ名による管理範囲の指定を行っていたが、ユーザに与えられた権限による管理範囲の指定を行っても良い。
【００７４】
＜その他の実施形態＞
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムをコンピュータ（またはＣＰＵやＭＰＵ）が読出し実行することによっても、達成される。この場合、プログラムは図示したフローの手順を実現するためのものを含むこととなる。
【図１】
2010250561.tif 000003
【図２】
2010250561.tif 000004
【図３】
2010250561.tif 000005
【図４】
2010250561.tif 000006
【図５】
2010250561.tif 000007
【図６】
2010250561.tif 000008
【図７】
2010250561.tif 000009
【図８】
2010250561.tif 000010
【図９】
2010250561.tif 000011
【図１０】
2010250561.tif 000012
【図１１】
2010250561.tif 000013
【図１２】
2010250561.tif 000014
【図１３】
2010250561.tif 000015
【図１４】
2010250561.tif 000016
【図１５】
2010250561.tif 000017
【図１６】
2010250561.tif 000018
【図１７】
2010250561.tif 000019