説明

情報処理装置、制御方法、及びプログラム

【課題】プラグインを追加する際、プラグイン管理のオブジェクトを対象とし、オブジェクトの状態に応じた独自のメニューを提供したい場合、従来の方法では、メニューの内容を、データベースサービスに登録し、それを表示させていた。しかし、プラグイン構成で、各プラグインが管理するものが違うため、それに合わせてメニューの内容を動的に変更することは困難であった。
【解決手段】メニューの表示要求を受けた際、プラグイン側で動的にメニューの作成処理を行う。メニューの内容は、プラグインが有するモジュールによって作成される。各プラグインは独自のメニュー作成処理を持っており、各プラグインで作成したメニューの内容をマージし、メニューの表示を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、装置の情報を画面上に表示し、動的に更新するための技術に関する。特に画像形成装置を含むネットワーク機器に対応するアイコン等をクリックした際に画面上で表示される、そのネットワーク機器に関する各種メニュー等の内容を動的に変化させるための技術に関する。
【背景技術】
【0002】
従来、画面上のアイコンをクリックした際に表示されるメニューは、表示させる内容をデータベースサービスに登録しておき、表示の際、データベースサービスからその内容を取得し、それを表示させるという方法が一般的であった。例えば、特許文献1では、1つのマルチメディア情報から関連する他のマルチメディア情報を出力する際の適用に関して開示している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平7−282079号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、ネットワーク機器を監視する監視装置に対して、既存のアプリケーションに対してプログラムなどのプラグインにより機能拡張などを行うことがある。ここでプラグインによる機能の追加や削除、その機能の開始や停止、またはプラグインが独自に管理するオブジェクトの状態に応じて、前述したメニューの表示内容を変更したい場合などが考えられる。しかしながら、従来技術においては、メニューの表示内容を変更を行う際にはデータベースサービスに登録された情報を逐次取得し、更新する必要がある。
【0005】
例えば、ユーザなどがネットワーク機器を管理するアプリケーションなどにプラグインなどを用いて機能追加した場合に、データベースサービスに逐次問い合わせ、手動で更新するのはとても煩雑な処理となる。また、前述した特許文献1においては、そもそもプラグインによる機能の追加や削除及び開始や停止、またはプラグインが独自に管理するオブジェクトの状態に応じた表示内容の変更については、全く考慮していない。
【課題を解決するための手段】
【0006】
上記の課題を解決するために、本発明は、以下の構成を有する。
【0007】
上記課題を解決するために、本発明における情報処理装置は、プラグインがインストールされることで機能の拡張が可能な、デバイスの管理機能を有するアプリケーションが動作する情報処理装置であって、前記アプリケーションは、前記デバイスの管理画面に表示する前記管理機能を選択するためのメニューを取得するメニュー取得手段と、前記メニュー取得手段で取得したメニューを用いて、前記管理画面の描画情報を作成する作成手段とを有し、前記プラグインは、当該プラグインにより拡張される管理機能を実行可能とするためのメニュー情報を作成するメニュー情報作成手段を有し、前記アプリケーションの有するメニュー取得手段は、インストールされたプラグインの有するメニュー情報作成手段により作成されたメニュー情報を含むメニューを取得することを特徴とする。
【発明の効果】
【0008】
本発明により、ネットワーク機器の管理アプリケーションをプラグインの追加により機能拡張する際に、対応するメニュー情報を手動で書き換えることなく、動的に作成し、表示内容を変更することが可能となる。
【図面の簡単な説明】
【0009】
【図1】本発明に係るシステム構成例の図。
【図2】本発明に係る管理装置のハードウェア構成例の図。
【図3】本発明に係る管理装置のソフトウェア構成例の図。
【図4】本発明に係るネットワーク機器のハードウェア構成例の図。
【図5】本発明に係るネットワーク機器のソフトウェア構成例の図。
【図6】第一の実施形態に係るプラグイン情報登録の処理フローの図。
【図7】第一の実施形態に係るプラグイン開始メソッドの処理フローの図。
【図8】第一の実施形態に係るクライアント装置における画面描画の処理フローの図。
【図9】第一の実施形態に係る描画モジュールによるマップ描画動作の処理フローの図。
【図10】第一の実施形態に係るメニュー作成の処理フローの図。
【図11】第一の実施形態に係るメニュー情報作成の処理フローの図。
【図12】第一の実施形態に係るメニュー表示例の図。
【図13】第二の実施形態に係るメニュー情報作成の処理フローの図。
【図14】第二の実施形態に係るメニュー表示例の図。
【図15】第三の実施形態に係る描画モジュールによるマップ描画動作の処理フローの図。
【図16】第四の実施形態に係るメニュー作成の処理フローの図。
【図17】第四の実施形態に係るメニュー表示例の図。
【発明を実施するための形態】
【0010】
以下、本発明を実施するための形態について図面を用いて説明する。尚、本発明である情報処理装置の実施形態の例として、以降、ネットワーク機器管理システムを用いる。
【0011】
<第一の実施形態>
図1は、本実施形態におけるネットワーク機器管理システムの全体構成図である。図1のネットワーク機器管理システムは、ネットワーク100により互いに接続されたネットワーク機器を管理する管理装置101、ネットワーク機器102、及びクライアント装置103、104から構成される。管理装置101は、一般的なパーソナルコンピュータに含まれるような構成を有する。また、クライアント装置103、104はブラウザ機能などを備える一般的なパーソナルコンピュータである。尚、以降の説明では、ユーザがブラウザ機能により管理装置101が提供する機能を利用できるクライアント装置103を操作クライアント、管理装置101の管理対象となるクライアント装置104を管理対象クライアントとする。また、操作クライアント103は管理対象クライアント104として管理可能であり、逆に管理対象クライアント104を操作クライアント103として利用することも可能である。ネットワーク機器102は、ネットワーク100により管理装置101と接続されており、MFP(Multifunction Peripheral)やプリンタ、FAXなどを含む管理装置101で管理可能な機器を指す。
【0012】
本発明におけるネットワーク機器管理システムを構成する各装置のハードウェア構成及びソフトウェア構成を以下で説明する。
【0013】
図2に管理装置101やクライアント装置のハードウェア構成を示す。システムバス200は、コンピュータを構成する各コンポーネント同士の共通データ交換経路である。CPU(Central Processing Unit)201はコンピュータ全体の制御や演算処理などを行う装置である。RAM(Ramdom Access Memory)202は、処理を行う際にプログラムやデータを記憶、実行する領域を指す。ROM(Read Only Memory)203は、システム起動プログラムなどのプログラムを記憶する領域である。DKC(Disk Controller)204は、HD(Hard Disk)205などの外部記憶装置の制御を行う。HD205は、プログラムやデータを記憶しており、必要に応じてRAM202やHD205へプログラムやデータをロードする。NetworkI/F206は、ネットワーク100と接続しネットワーク通信を行う。入出力I/F207は、キーボードやマウス、ディスプレイなどに接続されており、データの入出力を行う。
【0014】
管理装置101は、CPU201が基本I/Oプログラム及びOSを実行している状態で動作する。基本I/OプログラムはROM203に記憶されており、OSはHD205に記憶されている。コンピュータ部の電源が入れられた際、基本I/Oプログラム中のイニシャルプログラムロード機能により、HD205からOSがRAM202にロードされ、OSの動作が開始される。
【0015】
図3に管理装置101のソフトウェア構成を示す。管理装置101のソフトウェアには、管理ユーティリティ300、後から追加及び削除が可能な複数のプラグイン304、データベースサービス306、ネットワークモジュール307、Webサーバサービス308が含まれている。プラグイン304は、追加することでプラグインが有する様々な機能を使用することができる。ここでは、管理ユーティリティに機能を追加することで、その機能を管理ユーティリティから使用することができる。尚、図3のソフトウェア構成はプログラムとしてHD205に格納されており、CPU201によって実行されるものである。
【0016】
管理ユーティリティ300は、プラグイン管理モジュール301や描画モジュール302、メニュー取得モジュール303、ネットワーク探索モジュール309などのモジュールを備える。なお、ここでは上記のモジュールを例として備え、その説明を述べるが、これに限定するわけではなく、その他のモジュールを備えていても良い。プラグイン管理モジュール301は、ユーザによって管理装置101に追加されたプラグインプログラム(以下、プラグイン)のファイルをHD205へ格納したり、プラグインの情報をデータベースサービス306へ登録したりする。またプラグイン管理モジュール301は、追加された各プラグインの開始、停止状態を管理する情報をデータベースサービス306に登録し、参照できるものとする。そのため、プラグイン管理モジュール301はプラグインの追加、削除と共に、開始、停止の状態も管理する可能である。描画モジュール302は、例えば、図12(a)で示すような監視対象の機器を配置した様子を示すマップのような管理画面の描画を行うモジュールである。尚、本実施形態における描画モジュール302は、マップ描画情報の作成など、Webアプリケーションを想定してマップの描画を説明するが、ネイティブアプリケーションに適用しても良い。
【0017】
メニュー取得モジュール303は、メニュー作成モジュール305へのメニュー作成の要求を行う。また、メニュー取得モジュール303は、メニュー作成モジュール305によって作成されたメニューの情報(以下、メニュー情報)の取得や、描画モジュール302へメニュー情報の送信を行う。ネットワーク探索モジュール309は、ネットワークモジュール307を介し、ネットワークに接続されたネットワーク機器102や管理対象クライアント104を探索する。またネットワーク探索モジュール309は探索対象から設定情報などを取得し、プラグイン304やメニュー作成モジュール305へ情報を渡す。プラグイン304は、必要に応じて管理装置101に追加、削除され、複数備えることができる。また、これにより、アプリケーションの管理機能の拡張が可能となっている。プラグイン304は、メニュー作成モジュール305を有する。プラグイン独自のメニューを作成する必要のない場合は、メニュー作成モジュール305を備えなくても良い。メニュー作成モジュール305は、マップ上のアイコンをクリックした際に表示させる、プラグイン独自のメニュー情報を作成する。メニュー情報はメニューを構成する要素であり、マップに表示され、ユーザから選択されることでそのメニュー情報が示す管理機能を実行可能となる。メニュー作成モジュール305は、メニュー取得モジュール303によって呼び出され、処理後のメニューの情報をメニュー取得モジュール303へ返す。データベースサービス306は、データを管理し、他モジュールからの要求に合わせてデータの登録と取り出しを行う。なお、データベースサービス306は、管理ユーティリティ300やプラグイン304からアクセス可能であれば、管理装置101とは別の機器上にあっても良い。
【0018】
ネットワークモジュール307は、ネットワーク100を介してネットワークに接続されたネットワーク機器102やクライアント装置103、104との通信を行う。Webサーバサービス308は、操作クライアント103のWebブラウザからHTTPによるGETリクエストを受け取ると、HD205に保存されたWebページデータを返信するサービスを提供する。操作クライアント103は、外部からネットワーク100経由で管理装置101へ接続し、Webサーバサービス308によって、サービスを提供されることが可能である。管理装置101には、Webサーバサービス308に管理ユーティリティ300がインストールされており、これらを実行することで管理装置として機能する。管理ユーティリティ300は、例えば、Webサーバサービス308で提供するWebページへのリクエストに応答して処理を実行するプログラムとして実装される。上記のように、管理ユーティリティ300は、Webサーバサービス308とともにネットワーク機器102を管理するWebアプリケーションを実現している。
【0019】
図4にネットワーク機器102のハードウェア構成図を示す。ネットワーク機器102は、制御ユニット400、操作部401、プリンタ402、スキャナ403から構成される。制御ユニット400の操作部関連の構成は、CPU410、RAM411、操作部I/F412、Network I/F413、ROM414、DKC415、HD416、Image Bus I/F417、システムバス418を備える。制御ユニット400の印刷、スキャン関連の構成は、画像バス419、スキャナ画像処理部420、プリンタ画像処理部421、RIP422、デバイスI/F423を備える。尚、上記構成のうちスキャナ403、及びスキャナ画像処理部420は必要に応じて備えることとなる。CPU410は、制御ユニット400全体を制御するコントローラである。RAM411は、画像データを一時記憶するための画像メモリである。操作部I/F412は、操作部401とのインタフェースであり、操作部401で表示する画像データを操作部401に対して出力する。また、ユーザが操作部401により入力した情報をCPU410へ伝達する役割を有する。
【0020】
Network I/F413は、ネットワーク100と接続しており、ネットワーク100を介して、外部の装置と情報のやり取りをするインタフェースである。また、Network I/F413はネットワーク機器102の各種情報を格納したMIB(Management Interface Base)を備える。MIBが有する各種情報は、IPアドレスやネットワーク機器の名称、状態などの情報を指す。ROM414は、ブートROMであり、システムのブートプログラムが格納されている。DKC(Disk Controller)415はHD(Hard Disk)416の制御を行う。HD416は外部記憶装置であり、システムソフトウェアや画像データを格納する。
【0021】
Image Bus I/F417は、システムバス418と画像バス419とを接続し、データ変換を行うバスブリッジである。システムバス418は、制御ユニット400を構成する各コンポーネント同士の共通データ交換経路である。画像バス419は、PCIバス、またはIEEE1394で構成されており、画像データを高速で転送する経路である。スキャナ画像処理部420は、入力画像に対し、補正や加工、編集を行う。プリンタ画像処理部421は、プリント出力画像データに対して、プリンタの性能に応じた補正、解像度の変換などを行う。RIP(Raster Image Processor)422は、ネットワーク100から送られてきたPDLコマンドをビットマップイメージに展開する。デバイスI/F423は、画像入出力デバイスであるプリンタ402、及びスキャナ403と制御ユニット400とを接続し、画像データの同期系/非同期系の変換を行う。
【0022】
図5にネットワーク機器102のソフトウェア構成図を示す。ネットワークモジュール500は、ネットワーク100に接続された管理装置101とネットワーク機器102とのインタフェースの役割をする。例えば、ネットワーク100を介して管理装置101から探索要求を受け取り、設定情報管理モジュール501へ応答に必要となる設定情報の取得要求を出す。探索要求はSNMPやSLP、WSDなどに代表される、どのネットワークプロトコルを使用しても良い。また、ネットワークモジュール500は、設定情報管理モジュール501から取得した設定情報を受け取り、ネットワーク100を介して管理装置101へ設定情報を応答として送信する。設定情報管理モジュール501は、ネットワークモジュール500から受け取った要求に対して、RAM411やHD416、Network I/F413のMIBに格納されている設定情報をネットワークモジュール500へ返す。
【0023】
<プラグイン情報登録>
図6に管理装置101へのプラグイン追加時における、プラグイン管理モジュール301のプラグイン情報登録動作を示す。本動作は、プラグイン管理モジュール301が動作の主体となる。
【0024】
S700では、プラグイン管理モジュールが新たに追加するユーザからアップロードされたプラグインのモジュールをHD205へ配置する。S701では管理装置101に追加するプラグインの情報をデータベースサービス306へ登録する。S702ではプラグイン管理モジュール301がユーザに対し、追加プラグインを開始するか、または開始しないかをUI上で判断させ、その入力を受け付ける。追加プラグインを開始する場合は、S703にてプラグイン開始メソッドの呼び出しを行い、開始しない場合はプラグインを停止中のまま本動作を終了する。S703では、追加プラグインが備えるプラグイン開始メソッドの呼び出しを行う。プラグイン開始メソッドの詳細に関しては図7を用いて後述する。
【0025】
<プラグイン開始>
図7に追加プラグインが自身を開始可能な状態にするための動作を示す。本動作は、プラグイン304が動作の主体となる。
【0026】
S800はプラグインにデータベースサービス306へ登録するメニュー作成モジュール305があるか否かを、プラグイン自身が判定する。追加するプラグインにメニュー作成モジュール305が存在する場合はS801の処理に移行し、存在しない場合は本動作を終了する。S801では登録すべきメニュー作成モジュールの情報をデータベースサービス306に登録する。そして、S802において追加するプラグインは、データベースサービス306で管理されている自身の状態を開始状態とし、本動作を終了する。なお、ここでの開始状態となっているプラグインは、管理画面の描画処理の際のメニュー作成が実施可能な状態であることを示す。
【0027】
<管理画面(マップ)描画>
図8は、操作クライアント103における、マップ上(管理画面上)に配置されるアイコンとそのアイコンに対応するメニューを含めたマップの描画を行うための動作を示している。尚、アイコンはネットワーク機器102や管理対象クライアント104を示す。また、ネットワーク機器としては、他の管理装置、プロジェクタ、及び電源などを管理対象としてアイコン表示してもよい。本動作は、操作クライアント103が動作の主体となる。
【0028】
S900は、ユーザの指示等に起因して操作クライアント103がマップ描画のために、Webブラウザを介して管理装置101の描画モジュール302へマップ描画要求を行う。この要求については図9で後述する。S901では、この要求に対する応答として描画モジュール302から描画情報を取得し、取得した描画情報を基に操作クライアント103は、Webブラウザ上にマップ描画を行う。ここで取得した描画情報の一例として、HTMLやXMLで記述された情報が挙げられる。
【0029】
<描画処理>
図9は、操作クライアント103からのマップ描画要求に対する描画モジュール302の動作を示している。本動作は、描画モジュール302が動作の主体となる。本動作は、図8のS900においてマップ描画要求が行われた場合に開始される。
【0030】
S1000において、描画モジュール302はマップ描画要求を受けると、データベースサービス306にマップ情報が存在するか否かを判定する。ここでのマップ情報とは、マップで使用する背景ファイルの保存場所とファイル名、マップ上でのサイズなどの情報、及びマップで使用するアイコンの情報など、マップを構成する要素情報を指す。マップ情報が存在する場合、描画モジュール302はS1001の処理へ移行する。一方、マップ情報が存在しない場合、描画モジュール302は、S1006へ進み、マップ情報が無い旨の情報を要求元(操作クライアント103)へ返す。S1001では、HD205やデータベースサービス306からのマップ情報取得が行われる。S1002では、S1001で取得した既存のマップ情報をもとに、HD205から背景画像やアイコン画像などの画像情報取得が行われる。
【0031】
S1003では、マップにメニューが未作成のアイコンが配置されているか否かの判定を行う。メニューが未作成のアイコンが配置されていた場合、該当するアイコンに対するメニューの作成も行うため、S1004の処理へ移行する。メニューが未作成のマップ情報にアイコンが配置されていない場合、S1005の処理へ移行する。S1004では、描画モジュール302がメニュー取得モジュール303へ、メニューが未作成のアイコンに対応するメニュー作成要求を行う。メニュー作成の処理については、図10で後述する。S1004のメニューの作成が終了した後、描画モジュール302は再びS1003においてメニューが未作成の他のアイコンがマップ内に配置されているかの確認を行う。S1003とS1004を繰り返し、すべてのアイコンに対してメニューの作成が終了すると、描画モジュール302はS1005のマップ描画情報作成処理へ移行する。
【0032】
S1005では、描画モジュール302がマップ情報や作成したメニュー情報をもとに描画情報の作成を行う。ここでの描画情報とは、操作クライアント103で描画するための情報を指す。S1006において、描画モジュール302は、要求元である操作クライアント103へマップを描画するための描画情報を返す。
【0033】
<メニュー作成処理>
図10は、1つのアイコンに対するメニューの作成処理を示している。ここで作成されるメニューは、様々なプラグインのモジュールから作成されたメニュー情報で構成されている。本動作は、メニュー取得モジュール303が動作の主体となる。図9におけるS1004のメニュー作成要求が発生したら本動作が開始される。
【0034】
S1100において、メニュー取得モジュール303は、メニューの作成のためのアイコン情報取得を行う。ここで、取得するアイコン情報として、管理対象の機器を識別するIDやIPアドレスが挙げられる。
【0035】
S1101は、メニュー取得モジュール303が、データベースサービス306にS801で登録されたメニュー作成モジュール305のうち、メニューが未作成のモジュールが存在するか否かを判定する処理である。存在する場合はS1102の処理へ移行し、存在しない場合はS1107の処理へ移行する。
【0036】
S1102では、メニュー取得モジュール303が、S1101で存在すると判定されたメニュー作成モジュール305のモジュール情報を取得する。モジュール情報は、メニュー作成モジュール305のHD205上のファイル位置やモジュールが呼び出された際に最初に使用するクラスの情報を含んでいる。
【0037】
S1103は、S1102で取得したモジュール情報に含まれるHD205上のファイル位置にプラグインのモジュールが存在するか否かを判定する処理である。存在する場合はS1104へ移行し、存在しなかった場合は次のモジュール情報を取得するためS1101の処理へ移行する。
【0038】
S1104では、S1103で存在すると判定したメニューが未作成のモジュールの情報を読み込む。S1105において、メニュー取得モジュールはS1104で読み込んだメニュー作成モジュールに対し、メニュー情報作成要求を行う。もし読み込んだモジュールがアイコンの情報を必要とする場合は、メニュー作成モジュール305は読み込んだモジュールに対して、S1100で取得したアイコン情報と一緒に要求を行う。メニュー情報作成処理は図11に後述する。
【0039】
S1106では、メニュー取得モジュール303がS1105により取得したメニュー情報をもとにメニューの作成を行う。ここでのメニュー情報とは、1つのモジュールが作成するメニューの表示内容を指している。他のモジュールが既にメニューの作成を行っている場合は、既存のメニューと新たに取得したメニューとのマージ処理を行う。S1106の処理後、メニュー取得モジュール303は、S1101へ戻り、次のメニューが未作成のモジュール情報の取得を行う。以降、S1101からS1106までの処理を繰り返し、S1101において、データベースサービス306に登録されたモジュール情報を全て処理した時点でS1107の処理へ移行する。S1107では、S1106で作成されたメニューを要求元へ返す処理を行う。
【0040】
<メニュー情報作成>
図11は、メニュー情報を作成するための処理の流れを示している。ここで述べるメニュー情報とは、メニューで表示される内容を指し、1つのモジュールから複数作成することができる。本動作は、各プラグインが有するメニュー作成モジュール305が動作の主体となる。
【0041】
S1200において、メニュー作成モジュール305はメニュー情報の作成を行う。ここでのメニュー情報の作成とは、例えば、アイコン情報に登録されたIPアドレスを利用し、IPアドレスを含んだURLを作成することが挙げられる(図12(b)1305参照)。その後、S1201において、メニュー作成モジュール305は、作成したメニュー情報を要求元(メニュー取得モジュール303)へ返す。ここで作成されるメニュー情報であるURLは、ネットワーク機器の提供するウェブページ(リモートUI)へアクセスするためのものである。このウェブページでは、ネットワーク機器の構成情報やステータスなどが参照、一部の管理機能の指示が行える。
【0042】
<マップ表示例>
図12(a)にプラグインが開始される前のメニューの表示例を示す。背景画像1300は管理装置101にアップロードされる画像であり、HD205上に格納されている。尚、背景画像1300は、例えばJPEGやGIF形式の画像でも良い。
【0043】
プルダウンメニュー1301は、複数のマップから1つのマップを選択できる。追加ボタン1302はマップ上にアイコンを追加するためのボタンである。追加ボタン1302を押下すると、管理装置101で管理しているネットワーク機器102などの一覧が表示され、一覧から追加したいアイコンを選択することで、マップの任意の場所にアイコンを追加できる。更新ボタン1303は、画面を更新するためのボタンであり、更新ボタン1303の押下に応じて、描画モジュール302に対するマップ描画要求(図8におけるS900)が行われる。1304は、ネットワーク機器102の1つが割り当てられたアイコンである。メニュー1305は、アイコンをクリックした際に表示されるメニューである。なお、図12(a)では、プラグインによるメニュー作成がされていないため、固定のメニュー(プリンタ詳細)のみを表示している。プリンタ詳細では、管理装置101で予め保持する固定的なプリンタの情報(IPアドレス)などが参照できる。
【0044】
図12(b)に、プラグイン開始後のメニューの表示例を示す。尚、1300から1305の説明は図12(a)と同様のため省略する。図12(b)では、メニュー1305にプラグイン独自のメニュー(URL情報)が表示されている。これはプラグインが追加されたために、図10で示したS1101以降の処理が実行され、メニューが追加されたためである。
【0045】
以上により、データベースサービスの内容を手動で書き換えることなく、プラグインのインストール、その開始に応じて、プラグイン側で動的にメニューを追加作成し、表示内容を変更することが可能としている。また、大量のアイコンに対するメニューの内容を変更する際にも、容易に内容を変更することができる。
【0046】
<第二の実施形態>
第一の実施形態ではメニューを表示するために必要なプラグインの登録と、メニュー表示時におけるプラグイン側のメニュー作成モジュール305でのメニュー情報の作成処理などについて述べた。
【0047】
第一の実施形態では、メニュー作成モジュール305がアイコン情報のIPアドレスを含んだURLを作成し、メニュー情報として提供するものであった。メニュー作成処理は、アイコン情報の利用だけでなく、ネットワーク機器102やクライアント装置103、104からその構成や状態を取得し、利用しても良い。そこで本実施形態では、メニュー作成の際にネットワーク100に接続された外部装置から、その装置が備えるオブジェクトの状態を取得し、メニューに反映させる方法について述べる。ここではオブジェクトの例として、各装置にインストールされるプリンタドライバなどのデバイスドライバを挙げて説明する。また、各装置の動作状況についてのメニューを作成しても良い。
【0048】
尚、システム全体構成、及び管理装置101、ネットワーク機器102、クライアント装置103、104のハードウェア構成とソフトウェア構成については第一の実施形態と同様のため、ここでの説明は省略する。また、プラグインの登録(図6)及びクライアント装置における画面描画(図8)、描画モジュールによるマップ描画動作(図9)、メニュー作成処理(図10)についても第一の実施形態と同様であるため、説明を省略する。
【0049】
図13は、管理対象クライアント104の情報を考慮したメニュー情報作成の動作を示す。尚、S1201の説明は図11と同様のため省略する。ここでは、管理対象クライアント104へネットワーク機器102に対応したデバイスドライバを追加インストールするための管理プラグイン(以下、ドライバ管理プラグイン)を追加した際の処理の流れを具体例として説明する。本動作は、ドライバ管理プラグインのメニュー作成モジュール305が動作の主体となる。また、メニュー作成モジュール305による本動作は、ネットワーク上にある管理対象のネットワーク機器1台に関する処理を例として説明している。図1で示すようにネットワーク機器が3台設置されているような環境においては、本動作が機器ごとに行われることになる。
【0050】
S1202は、メニュー作成モジュール305がデータベースサービス306に、ネットワーク機器とデバイスドライバと関連付けの情報が存在するか否かを判定する。関連付けの情報が存在する場合は、S1203の処理へ遷移する。存在しない場合は、その旨を要求元に応答し、メニューを作成せず本動作を終了する。メニューが作成されずに本動作が終了する場合は、マップ画面のアイコンクリック時において、プラグインの追加に応じたメニューの追加表示が行われない。
【0051】
S1203では、メニュー作成モジュール305が、データベースサービス306からのネットワーク機器に関連付けられたデバイスドライバの情報(以下、ドライバ情報)の取得(オブジェクト情報取得)を行う。なお、ドライバ情報には、例えば、HD205上に配置されたデバイスドライバの位置情報や、デバイスドライバの種類やバージョン情報が含まれている。
【0052】
S1204は、選択された管理対象クライアントに対するメニューの作成を全て実行したか否かを判定する処理である。ここでの選択された管理対象クライアントとは、ユーザが特定のクライアント装置を対象としてメニューの作成を行いたい場合に、S900でのマップ描画要求の前にユーザが選択した管理対象クライアントを指す。尚、選択された管理対象クライアントは複数であっても良い。S1204で、メニュー作成が未実行と判定された選択された管理対象クライアントがあれば、その中から一つを選択し、S1205へ進む。そのような管理対象クライアントが無ければ、S1201へ進む。
【0053】
S1205では、選択された管理対象クライアントがネットワーク上に存在するか否かを判定する処理である。ネットワーク上に存在する場合はS1206の処理へ移行し、存在しない場合はS1204へ戻り、次の選択された管理対象クライアントに対する処理へ移行する。
【0054】
S1206では、選択された管理対象クライアントが、どのようなデバイスドライバを保持しているか、またその状態を取得する。これによりオブジェクト状態取得手段を実現する。S1207では、S1206で取得した管理対象クライアントのデバイスドライバが、S1203で取得したドライバ情報に含まれるか否かの判定をする。S1206で取得した管理対象クライアントのデバイスドライバが含まれる場合はS1209の処理へ移行し、含まれない場合はS1208の処理へ移行する。
【0055】
S1208では、メニュー作成モジュール305が、選択された管理対象クライアントへデバイスドライバを追加するためのメニュー情報を作成する。ここで作成するメニュー情報は、S1203のドライバをダウンロードするためのリンクを表示するためのものでも良いし、ドライバを選択された管理対象クライアントに対して直接インストールするためのものでも良い。S1209では、S1207での判断の対象となった管理対象クライアントに存在するデバイスドライバのバージョンが、S1203で取得したドライバ情報に含まれるバージョン情報と比較して、古い場合はS1210の処理へ移行する。そうでない場合はS1204の、次の選択された管理対象クライアントに対する処理へ移行する。S1210では、メニュー作成モジュール305が、選択された管理対象クライアントのデバイスドライバを更新するためのメニュー情報の作成を行う。ここで作成するメニュー情報は、S1203のドライバを更新するためのリンクを表示ためのものなどである。
【0056】
S1208、またはS1210のメニュー情報作成処理が終了あしたら、S1204へ戻り、次の選択された管理対象クライアントに対する処理へ移行する。
【0057】
図14に本実施形態におけるメニューの表示例を示す。尚、1300から1305までの説明は図12(a)と同様のため省略する。アイコン1306は、ネットワーク機器の1つに割り当てられたアイコン(以下、ネットワーク機器アイコン)である。なお、このアイコンはPrinter01の名称が付与されている。また、アイコン1307、1308は、管理対象クライアントに割り当てられたアイコン(以下、クライアント装置アイコン)であり、それらアイコンにチェックボックスを備える。ここでチェックされたクライアント装置アイコン1308は、ユーザによって選択された管理対象クライアントとして図13のS1204の処理対象となる。尚、本表示例では、ネットワーク機器アイコン1306に対応するデバイスドライバが、クライアント装置アイコン1308にインストールされていないものとする。
【0058】
ここで、マップ上でネットワーク機器アイコン1306をクリックすることで、“ドライバ追加(Client01)”といったメニュー情報が含まれるメニュー表示が行われる。これは図13で説明したように、ドライバ管理プラグインが追加されることに応じて新たに表示されるメニュー情報となる。本表示例から、ユーザがPrinter01(すなわちアイコン1306が示すネットワーク機器)のプリンタドライバが、Client01(すなわちアイコン1308が示すクライアント装置)にインストールされていないことが分かる。そして、メニューから“ドライバ追加(Client01)”を選択することで、Client01に対してPrinter01のプリンタドライバをインストール(追加)できることが示されている。
【0059】
また、マップ上で他のネットワーク機器アイコンをクリックすることで、“ドライバ追加(Client01)”と“ドライバ更新(Client02)”といったメニュー情報が2つ含まれるメニュー表示が行われる場合もある。これも図13で、ドライバ管理プラグインが追加されることに応じて新たに表示されるメニュー情報となる。具体的には、S1208及びS1210でそれぞれ作成されたメニュー情報が追加された際の動作になる。
【0060】
以上にように、本実施形態では、ネットワーク100に接続された機器の状態を考慮した上で、追加されたプラグインに応じたメニュー情報をもとに、表示すべきメニューを作成する。尚、ネットワーク機器へのファームやリソースの配信の際に、それらを管理、配信するプラグインが追加された場合に、ネットワーク機器の状態を加味したメニューを同様に作成してもよい。その他にも、資産管理のための資産管理プラグインによる資産情報の表示メニューやアプリケーション配信のためのアプリケーション管理プラグインの配信メニューなどに同様に適用してもよい。
【0061】
<第三の実施形態>
上述した実施形態では、プラグインの登録と画面描画時におけるマップ上でのメニューを表示するために必要なメニューの作成について述べた。画面描画時とは、画面遷移などにより画面全体に再描画を行う場合を指す。本発明によるメニューの作成は、画面描画時に限定するものではなく、ユーザによるマップ上のアイコンクリック時に行っても良い。そこで本実施形態ではユーザがアイコンをクリックした際に行われるメニューの作成について述べる。
【0062】
尚、システム全体構成、及び管理装置101、ネットワーク機器102、クライアント装置103、104のハードウェア構成とソフトウェア構成については第一の実施形態と同様のため、説明は省略する。また、プラグインの登録(図6)、描画モジュールによるマップ描画動作(図9)以降の処理においても第一の実施形態と同様の処理を行うため、説明を省略する。
【0063】
ユーザによるアイコンクリックの際に行われる表示処理について図15に示す。本動作は、ユーザ操作クライアントが動作の主体となる。尚、S900及びS900、S901については第一の実施形態における図8の説明と同様のため、説明を省略する。
【0064】
S902では、操作クライアント104が、ネットワーク機器102や管理対象クライアント104のアイコンを表示しているマップの表示を終了しているか否かの判定を行う。マップの表示を終了している場合には処理を終了し、マップ表示を継続している場合は次の処理へ移行する。S904ではユーザがアイコンをクリックしたか否かを判定する。クリックをした場合は、S904の処理へ移行し、していない場合はマップ表示の終了判定であるS902へ移行する。尚、S903は、クリック時に処理が発生するため、Ajaxを代表とするJava(登録商標)Scriptの非同期通信や、イベント処理として実行されても良い。S905では、操作クライアント103が管理装置101へ、ユーザがクリックしたアイコンを対象としたメニューの作成要求を出す。メニュー作成は第一の実施形態における図10の説明と同様のため、説明を省略する。S904の処理が完了したら、S901へ戻る。
【0065】
以上の処理により、ユーザによる任意のタイミングでのマップ上で表示されるメニューの作成または、更新を行うことができる。
【0066】
<第四の実施形態>
上述した実施形態は、すべてのユーザに対して同様のメニューを表示させる例であった。本実施形態では、ユーザごとに設定された管理範囲に従って、メニュー表示を変化させる処理について述べる。
【0067】
システム全体構成、及び管理装置101、ネットワーク機器102、クライアント装置103、104のハードウェア構成とソフトウェア構成については第一の実施形態と同様のため、説明は省略する。また、プラグインの登録(図6)、描画モジュールによるマップ描画動作(図9)、メニュー作成モジュール305によるメニュー情報の作成(図11、図13)は第一の実施形態、第二の実施形態における処理と同様の処理を行うため、説明を省略する。
【0068】
図16を用いて、ユーザに設定された管理範囲によってマップ上において表示するメニューを変化させる処理について説明する。尚、S1100からS1107までは、図10の処理と同様のため省略する。
【0069】
S1108において、メニューの作成を指示されたメニュー取得モジュール303は、ユーザ名や権限などのユーザに関するユーザ情報を取得する。これにより、ユーザ情報取得手段を実現する。S1109では、マップ上に設定されたユーザごとの管理範囲情報をデータベースサービス306から取得する。管理範囲情報の一例として、ユーザに設定された管理範囲を示すマップ座標が挙げられる。また、全てのユーザや権限に対し、管理範囲情報が登録されていない場合は、マップ全体を管理範囲とする。これにより、管理範囲情報取得手段を実現する。
【0070】
S1110では、S1108、S1109、及びS1100で取得した情報を利用し、ユーザの管理する管理範囲内にアイコンが存在しているかどうかを判定する。アイコンが管理範囲内である場合は、S1101以降の処理により、モジュールごとのメニュー作成を行い、範囲外であった場合はそのまま処理を終了する。尚、必ず表示させるメニューが存在する場合は、処理を終了する前にメニュー作成処理を行っても良い。
【0071】
図17では、ユーザごとに設定された管理範囲によるメニューの変化の表示例を示す。尚、1300から1308までは、図12(a)及び図14と同様のため説明を省略する。管理範囲選択ボタン1309は管理範囲を選択するためのボタンである。管理範囲選択処理は、管理範囲選択ボタンを押下することで、選択範囲を指定できる選択ボックスが表示され、現在利用しているユーザが管理したい範囲を指定するという流れで行われる。領域1310は現在、管理装置101を操作しているユーザ名を表示する領域である。領域1311は領域1310に表示しているユーザに割り当てられている権限である。領域1312、1313は各ユーザによって選択された管理範囲を示している。領域1312はUser01によって管理されている範囲を示し、領域1313はUser02によって管理されている範囲を示している。領域1314はどの管理範囲がどのユーザに割り当てられているかを示す凡例を表示している。
【0072】
本表示例では、領域1310、1311で示すように、管理者権限をもつ“User01”によって操作されていることを示している。ここでは、“User01”の管理範囲のプリンタに対するファームウェアの更新といった管理者の権限によってのみ実施可能なメニューの表示が行われている。例えば、“User02”が操作する際には、“Printer01”をクリックしたとしても、この“ファームウェア更新”というメニューの表示は行われない。また本例では、“プリンタ詳細”に関しては、管理範囲外のユーザに対してもメニュー表示を行うようにしている。
【0073】
以上の処理により、ユーザごとに設定された管理範囲に従って、メニューの表示を変化させる処理が可能となる。尚、本実施例はユーザ名による管理範囲の指定を行っていたが、ユーザに与えられた権限による管理範囲の指定を行っても良い。
【0074】
<その他の実施形態>
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムをコンピュータ(またはCPUやMPU)が読出し実行することによっても、達成される。この場合、プログラムは図示したフローの手順を実現するためのものを含むこととなる。

【特許請求の範囲】
【請求項1】
プラグインがインストールされることで機能の拡張が可能な、デバイスの管理機能を有するアプリケーションが動作する情報処理装置であって、
前記アプリケーションは、
前記デバイスの管理画面に表示する前記管理機能を選択するためのメニューを取得するメニュー取得手段と、
前記メニュー取得手段で取得したメニューを用いて、前記管理画面の描画情報を作成する作成手段とを有し、
前記プラグインは、
当該プラグインにより拡張される管理機能を実行可能とするためのメニュー情報を作成するメニュー情報作成手段を有し、
前記アプリケーションの有するメニュー取得手段は、インストールされたプラグインの有するメニュー情報作成手段により作成されたメニュー情報を含むメニューを取得することを特徴とする情報処理装置。
【請求項2】
前記プラグインの有するメニュー情報作成手段は、
当該プラグインで管理するオブジェクトの情報を取得するオブジェクト情報取得手段と、
管理対象となるデバイスのオブジェクトの現在の状態を取得するオブジェクト状態取得手段とを有し、
前記プラグインの有するメニュー情報作成手段は、当該プラグインで管理するオブジェクトの情報と、前記管理対象となるデバイスのオブジェクトの現在の状態とに基づいて、前記管理対象となるデバイスに対して適用すべき管理機能に対応するメニュー情報を作成することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記プラグインはデバイスドライバを管理する機能を拡張するプラグインであり、前記オブジェクトはデバイスドライバであることを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記プラグインはデバイスのファーム又はリソースを管理する機能を拡張するプラグインであり、前記オブジェクトはファーム又はリソースであることを特徴とする請求項2に記載の情報処理装置。
【請求項5】
前記プラグインの有するメニュー情報作成手段は、前記アプリケーションの有する作成手段により作成された描画情報に基づき表示された管理画面を介して、管理画面上のアイコンがユーザにより指定されたことに応じて、メニュー情報を作成することを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
【請求項6】
前記アプリケーションは、
ユーザに関するユーザ情報を取得するユーザ情報取得手段と、
前記ユーザ情報取得手段により取得したユーザ情報に対応する前記デバイスに対する管理範囲情報を取得する管理範囲情報取得手段とを有し、
前記アプリケーションの有する作成手段が描画情報を作成する際に、前記管理範囲情報取得手段により取得した管理範囲情報に基づいて、前記ユーザの管理範囲内のデバイスに対しては前記プラグインの有するメニュー情報作成手段で作成したメニュー情報を含むメニューを用い、前記ユーザの管理範囲内ではないデバイスに対しては前記プラグインの有するメニュー情報作成手段で作成したメニュー情報を含まないメニューを用いることを特徴とする請求項1乃至5の何れか1項に記載の情報処理装置。
【請求項7】
プラグインがインストールされることで機能の拡張が可能な、デバイスの管理機能を有するアプリケーションが動作する情報処理装置における制御方法であって、
前記アプリケーションは、
前記アプリケーションによる前記情報処理装置のメニュー取得手段が、前記デバイスの管理画面に表示する前記管理機能を選択するためのメニューを取得するメニュー取得工程と、
前記アプリケーションによる前記情報処理装置の作成手段が、前記メニュー取得工程で取得したメニューを用いて、前記管理画面の描画情報を作成する作成工程とを有し、
前記プラグインは、
前記プラグインによる前記情報処理装置のメニュー情報作成手段が、当該プラグインにより拡張される管理機能を実行可能とするためのメニュー情報を作成するメニュー情報作成工程を有し、
前記アプリケーションの有するメニュー取得工程においては、インストールされたプラグインの有するメニュー情報作成工程で作成されたメニュー情報を含むメニューを取得することを特徴とする制御方法。
【請求項8】
デバイスの管理機能を有し、前記デバイスの管理画面に表示する管理機能を選択するためのメニューを取得し、当該取得したメニューを用いて、前記管理画面の描画情報を作成するアプリケーションに対して機能を拡張するためのプラグインプログラムであって、
コンピュータを、
前記アプリケーションで取得されるメニューに含まれるべき、当該プラグインにより拡張される管理機能を実行可能とするためのメニュー情報を作成するメニュー情報作成手段と
して機能させるためのプラグインプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2010−250561(P2010−250561A)
【公開日】平成22年11月4日(2010.11.4)
【国際特許分類】
【出願番号】特願2009−99405(P2009−99405)
【出願日】平成21年4月15日(2009.4.15)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】