(57)【要約】      （修正有）【課題】リソースの限られた画像形成装置で、状態変化に応じたアイコンを登録変更する。【解決手段】画像形成装置は、イベントに応じてアイコン情報更新処理と、イベントに応じてイベントハンドラを起動するイベント検知処理を行い、必要な時にアイコン情報を更新する。【選択図】図１１
2018025909.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置の機能を拡張するためのアプリケーションが搭載された情報処理装置において、
一つのアプリケーションに関連するイベントが発生する前に、前記情報処理装置の表示部において表示される表示アイテムであって前記ひとつのアプリケーションに関連する表示アイテムを含む表示情報を記憶する記憶手段と、
オペレーティングシステムの上で動作する制御プログラムであって尚且つ前記アプリケーションを管理するフレームワークを提供する制御プログラムの制御下にて、前記アプリケーションに関連するイベントが発生した後に、前記記憶手段により記憶された、前記イベントに対応する表示情報に応じて前記表示アイテムに関する表示を更新する表示制御手段と、
を備える情報処理装置。
【請求項２】
前記アプリケーションがインストールされたときには、前記アプリケーションに関する表示アイテムを前記表示部において表示させず、後に前記アプリケーションが有効化されたイベントが発生するのに応じて、前記アプリケーションに対応する表示アイテムを前記表示部において表示する処理を前記制御プログラムの制御の下で表示制御手段は制御する請求項１に記載の情報処理装置。
【請求項３】
複数のアプリケーションが前記情報処理装置において搭載されており、前記複数のアプリケーションからのイベントを前記制御プログラムが受け付け、当該イベントに対応するアプリケーションに関する表示アイテムの更新を制御する請求項１又は２に記載の情報処理装置。
【請求項４】
前記イベントが、電源オン、表示言語変更、ログインの少なくとも１つに関するイベントであれば、前記情報処理装置においてインストールされている複数のアプリケーションに対応する表示アイテムを更新し、前記イベントが、アプリケーションからの更新要求、アプリケーションの有効化の少なくとも一つのイベントである場合は、前記イベントに関連するアプリケーションに対応する表示アイテムを更新し、他のアプリケーションに関する表示アイテムを更新しないよう前記表示制御手段は動作する請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記イベントが、アプリケーションの無効化に関するイベントであるときは、無効化されるアプリケーションの表示アイテムを削除する請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記情報処理装置は、印刷処理を制御する画像形成装置であり、前記アプリケーションはフォームアプリケーションまたは画像形成装置のステータスを管理するアプリケーションであり、前記イベントは、フォームの登録、または、画像形成装置において生じたエラーである請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
複数のアプリケーションがそれぞれ前記記憶手段の中の表示情報を管理しており、前記フレームワークを提供する制御プログラムが、所定のイベントが前記情報処理装置に発生することに応じて前記表示情報を取得して、前記表示部の更新を行う制御手段をさらに備える請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
情報処理装置の機能を拡張するためのアプリケーションが搭載された情報処理装置を含むシステムにおける制御方法において、
一つのアプリケーションに関連するイベントが発生する前に、前記情報処理装置の表示手段において表示される表示アイテムであって前記ひとつのアプリケーションに関連する表示アイテムを含む表示情報を記憶手段において記憶する記憶工程と、
オペレーティングシステムの上で動作する制御プログラムであって尚且つ前記アプリケーションを管理するフレームワークを提供する制御プログラムの制御下にて、前記アプリケーションに関連するイベントが発生した後に、前記記憶手段により記憶された前記イベントに対応する表示情報に応じて前記複数の表示アイテムに関する表示を更新する表示制御工程とを備える制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションを搭載した情報処理装置、該装置の制御方法等に関するものである。
【背景技術】
【０００２】
画像形成装置に拡張アプリケーションをインストールし、画像形成装置の機能を拡張できるシステムが普及している。これらのシステムは、画像形成装置の制御アプリケーションとは別に、拡張アプリケーションを動かす実行環境を持つ（特許文献１参照）。
【０００３】
また、リソースの制約がそれほどないパソコンなどの装置に対してプリンタドライバをインストールすると、一台のプリンタに対応する複数の印刷設定等に応じて複数のアイコンが登録され表示される技術が存在した（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−７５０８８
【特許文献２】特開２００５−１６５７７２
【発明の概要】
【発明が解決しようとする課題】
【０００５】
プログラムであるアプリケーションを起動するためのアイコンはアプリケーションをインストールした際にオペレーティングシステム等において登録される。しかしアプリケーションによっては、インストール時にはアプリケーションの起動条件が整っておらず、アプリケーションを起動できないものもある。そのようなアプリケーションでは、インストール時にアイコンを登録できない問題があった。また、画像形成装置や、外部装置の状態の変化をアプリケーションが検知し、その状態変化に応じてアイコンの登録変更を行うような場合もある。その場合、状態変化を監視するアプリケーションを常に起動しておく必要があった。しかし、そのような機能をアプリケーションごとに設けると、その分画像形成装置のＲＡＭ等のリソースが消費されてしまうので、リソースの限られた画像形成装置では、状態変化に応じたアイコンを登録変更することが難しかった。
【課題を解決するための手段】
【０００６】
本発明は、上述の問題点の少なくとも一つを鑑みてなされたものであり、リソースが制限された環境のもとであっても、適切な条件でアプリケーションに関する表示アイテムを表示制御可能とする仕組みを提供することを目的とする。
【０００７】
上記目的を達成するため、情報処理装置の機能を拡張するためのアプリケーションが搭載された情報処理装置において、一つのアプリケーションに関連するイベントが発生する前に、前記情報処理装置の表示部において表示される表示アイテムであって前記ひとつのアプリケーションに関連する表示アイテムを含む表示情報を記憶する記憶手段と、
オペレーティングシステムの上で動作する制御プログラムであって尚且つ前記アプリケーションを管理するフレームワークを提供する制御プログラムの制御下にて、前記アプリケーションに関連するイベントが発生した後に、前記記憶手段により記憶された、前記イベントに対応する表示情報に応じて前記表示アイテムに関する表示を更新する表示制御手段と、を備える情報処理装置、該装置を含むシステムを制御する方法等が開示される。
【発明の効果】
【０００８】
リソースが制限された環境のもとであっても、適切な条件でアプリケーションに関する表示アイテムを表示可能とする仕組みを提供することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態における画像形成装置４０１内のハードウェア構成例を示す図である。
【図２】実施形態における画像形成装置４０１内のソフトウェア構成例を示す図である。
【図３】実施形態における画像形成装置４０１内のソフトウェア構成例を示す図である。
【図４】実施形態におけるネットワーク全体図の一例を示す図である。
【図５】実施形態における画像形成装置４０１の操作画面の一例を示す図である。
【図６】本実施形態におけるアイコン更新処理シーケンスの一例を示す図である。
【図７】本実施形態におけるアイコン情報生成処理フローチャートの一例を示す図である。
【図８】本実施形態におけるアプリケーションの設定情報の一例を示す図である。
【図９】本実施形態におけるアイコン登録情報の一例を示す図である。
【図１０】本実施形態における画像形成装置４０１の操作画面の表示例を示す図である。
【図１１】本実施形態におけるアイコン更新処理フローチャートの一例を示す図である。
【図１２】本実施形態におけるアプリケーション起動のシーケンスの一例を示す図である。
【図１３】本実施形態におけるアプリケーション管理情報の一例を示す図である。
【図１４】本実施形態におけるインストールのシーケンスの一例を示す図である。
【図１５】本実施形態におけるアンインストールのシーケンスの一例を示す図である。
【図１６】本実施形態におけるアプリケーション削除のシーケンスの一例を示す図である。
【図１７】本実施形態におけるアプリケーション設定のシーケンスの一例を示す図である。
【図１８】画像形成装置４０１の状態変化又は機器の状態によって、アイコンを変更するフローの一例を示す図である。
【図１９】図１８のイベント検知処理Ｓ１８０１のフロー例を示す図である。
【図２０】本実施形態におけるアプリケーションのメタ情報の一例を示す図である。
【図２１】本実施形態における画像形成装置４０１の操作画面例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本願発明を実施するための形態について図面を用いて説明する。
【００１１】
図１は、実施形態における画像形成装置４０１内のハードウェア構成例を示す図である。画像形成装置はコントローラユニット１００を含み、コントローラユニット１００には、画像入力デバイスであるスキャナ１７０や画像出力デバイスであるプリンタ１９５が接続されるとともに、操作部１１２が接続される。コントローラユニット１００は、スキャナ１７０で読み取られた画像データをプリンタ１９５により印刷出力するコピー機能を実現するための制御を行う。
【００１２】
コントローラユニット１００は、ＣＰＵ１０１を有し、ＣＰＵ１０１は、ＲＯＭ１０３に格納されているブートストラッププログラムによりオペレーションシステム（ＯＳ）を立ち上げる。ＣＰＵ１０１は、このＯＳ上で、ストレージ１０４に格納されているアプリケーションを実行し、これによって各種処理を実行する。このＣＰＵ１０１の作業領域としてはＲＡＭ１０２が用いられる。ＲＡＭ１０２は、作業領域を提供するとともに、画像データを一時記憶するための画像メモリ領域を提供する。ストレージ１０４は、アプリケーションや画像データを格納する。ＣＰＵ１０１は、プロセッサの一例である。プロセッサは、ＭＰＵなどの演算回路であってもよい。
【００１３】
ＣＰＵ１０１には、システムバス１０７を介して、次のユニットが接続される。ＲＯＭ１０３およびＲＡＭ１０２が説即される。また、操作部Ｉ／Ｆ（操作部インターフェース）１０６もシステムバスへ接続される。また、ネットワークＩ／Ｆ（ネットワークインターフェース）１１０、ＵＳＢホストＩ／Ｆ１１３、画像バスＩ／Ｆ（画像バスインターフェース）１０５がシステムバスへ接続される。操作部Ｉ／Ｆ１０６は、タッチパネルを有する操作部１１２とのインターフェースであり、操作部１１２に表示すべき画像データを操作部１１２に対して出力する。また、操作部Ｉ／Ｆ１０６は、操作部１１２においてユーザーにより入力された情報をＣＰＵ１０１に送出する。ネットワークＩ／Ｆ１１０は、画像形成装置をＬＡＮに接続するためのインターフェースである。
【００１４】
ＵＳＢホストＩ／Ｆ１１３は、ＵＳＢストレージ１１４と通信するインターフェース部である。ＵＳＢホストＩ／Ｆ１１３は、ストレージ１０４に格納されているデータをＵＳＢストレージ１１４に記憶させるための出力部である。また、ＵＳＢホストＩ／Ｆ１１３は、ＵＳＢストレージ１１４に格納されているデータを入力し、ＣＰＵ１０１にそれを伝える。ＵＳＢストレージ１１４は、データを格納する外部記憶装置であり、ＵＳＢホストＩ／Ｆ１１３に対して着脱可能である。ＵＳＢホストＩ／Ｆ１１３には、ＵＳＢストレージ１１４を含む複数のＵＳＢデバイスが接続可能である。
【００１５】
画像バスＩ／Ｆ１０５は、システムバス１０７と、画像データを高速で転送する画像バス１０８とを接続し、データ形式を変換するためのバスブリッジである。画像バス１０８は、ＰＣＩバスまたはＩＥＥＥ１３９４等によって構成される。画像バス１０８上には、デバイスＩ／Ｆ１２０、スキャナ画像処理部１８０、プリンタ画像処理部１９０が設けられる。デバイスＩ／Ｆ１２０には、スキャナ２７０およびプリンタ１９５が接続され、デバイスＩ／Ｆ１２０は、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部１８０は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部１９０は、プリント出力画像データに対してプリンタ１９５に応じた補正、解像度変換などを行う。
【００１６】
図２は、実施形態における画像形成装置４０１内のソフトウェア構成例を示す図である。
ストレージ１０４に記憶されているアプリケーションを、ＣＰＵ１０１がＲＡＭ１０２にロードし、アプリケーションを実行することで図２の各モジュールの機能は実現される。組み込み機器用のオペレーティングシステムであるＯＳ２０１上には、プリンタやＦＡＸ、スキャナと言った画像処理ユニットを制御するためのネイティブプログラム２１０と、拡張アプリケーション（単にアプリケーションともいう。）の実行環境である仮想マシン（ＶＩＲＴＵＡＬ  ＭＡＣＨＩＮＥ：ＶＭ）２３０が動作している。ＶＭ２３０は、拡張アプリケーションを制御するアプリケーションを理解し実行するモジュールである。例えば、ＪＡＶＡ（登録商標）などのソフトウェアで実現されるインタプリタで実装することが考えられる。いったんバイトコードにコンパイルされ、ソフトウェアであるＶＭで解釈され、実行される限りは、スクリプト言語系でもよい。例えば、Ｌｕａ言語で実装することも考えられる。拡張アプリケーションは、ＶＭ２３０上で動作する。この実施例でＶＭ２３０は、ＣＰＵ１０１上で動作するソフトウェアモジュールであるが、ハードウェア回路であってもよい。本件では、ＣＰＵ１０１や、このハードウェア回路の少なくとも一部をプロセッサと単に言及することがある。
【００１７】
ネイティブアプログラム２１０内には、プリンタやＦＡＸ、スキャナと言った画像処理ユニットを制御するためのネイティブスレッド２１４と、仮想マシン２３０を動かすためのＶＭスレッド２１５がある。ＶＭスレッドはＶＭ２３０の数に対応する数存在する。ここでは、２１１、２１２，２１３の３つのスレッドが生成されている。
【００１８】
ＶＭシステムサービス２２０は、拡張アプリケーションから共通利用されるユーティリティライブラリである。拡張アプリケーション２４０からＶＭシステムサービス２２０の機能を呼び出すことにより、拡張アプリケーションを開発する手間を省く、または画像形成装置の各モジュールへアクセスすることができる。ＶＭシステムサービス２２０には、ＶＭとして最低限動作させる標準ＶＭシステムサービス２２１と、画像形成装置の各モジュールにアクセスや、ＯＳの機能を提供する拡張ＶＭシステムサービス２２２がある。
ＶＭ２３０は、拡張アプリケーション２４０を実行する。ＶＭ２３０は、拡張アプリケーションのスレッド毎に生成される。この図では拡張アプリケーションＡ２４１で２つのスレッドを動かすためのＶＭ  Ａ−１  ２３１と、ＶＭ  Ａ−２  ２３２、拡張アプリケーションＢ２４２で１つのスレッドを動かすためのＶＭ  Ｂ−１を生成している。
【００１９】
また、画像形成装置の操作部１１２に表示されるメインメニュー画面には、拡張アプリケーションごとのアイコンが表示される。このアイコンをユーザーが選択したことを、操作部１１２を通じて操作部Ｉ／Ｆ１０６が検知すると、操作部Ｉ／Ｆ１０６はその旨をＣＰＵ１０１に送信する。その旨を受け取ったＣＰＵ１０１はユーザーによって選択された拡張アプリケーションを起動する。表示の仕組みについては後に詳述する。
【００２０】
図３は、本実施例の画像形成装置のＣＰＵ１０１上で動作するソフトウェアモジュールの構成図である。図３は、実施形態における画像形成装置４０１内のソフトウェア構成例を示す図である。サーブレットサービス３０４は、ネットワークＩ／Ｆ１１０を通してＨＴＴＰアクセスされる。その際、そのリクエストを受け付けアクセスされたＵＲＬによってアプリケーション管理部３０２か標準機能制御部３０１に処理を振り分けるモジュールである。ＵＩ制御部３０３は、操作部１１２に画面を表示し、ユーザーからの操作を受け付けて、その操作情報を適切なモジュール（アプリケーション管理部３０２か標準機能制御部３０１）に通知を行うモジュールである。アプリケーション管理部３０２は、インストールされている拡張アプリケーションのインストールやの起動等の管理を行うモジュールである。アプリケーション実行制御部３０５は、アプリケーション管理部３０２で起動されたアプリケーションの実行制御を行うモジュールである。具体的には、ＶＭスレッド２１５、ＶＭシステムサービス２２０、ＶＭ２３０、拡張アプリケーション２４０を制御する。ストレージ制御部２２６は画像成形装置の設定情報を記録管理するモジュールである。各モジュールは、ストレージ制御部２２６にアクセスし、設定値の参照、設定を行う。標準機能制御部３０１は、画像形成装置の標準機能であるコピーやＦＡＸの制御や、その他の画像成形装置に必要な制御（例えばＵＳＢホストパスＩ／Ｆ１１３の制御）を行うモジュールである。図２、図３の各モジュールは、図１のＲＡＭ１０２，ＲＯＭ１０３、ストレージ１０４、ＵＳＢメモリ１１４に記憶されているプログラムを模式図的に表したものである。各プログラムが、ＣＰＵ１０１により実行され、各オペレーションを実現する。
【００２１】
図４は、実施形態におけるネットワーク全体図の一例を示す図である。この印刷システムは画像形成装置４０１、ネットワークルータ４０２、外部装置４０３によって構成される。外部装置４０３は、ネットワークで接続されている画像形成装置４０１に対し、インストーラを介した拡張アプリケーションのインストールや、ブラウザで画像形成装置４０１と接続し、拡張アプリケーションの設定変更を行う。ネットワークルータ４０２は、画像形成装置４０１と、外部装置４０３との通信を仲介する。画像形成装置４０１は、外部装置４０３からのインストール要求に対し、拡張アプリケーションのインストール処理の実行や、ＨＴＴＰリクエストに対するＨＴＴＰレスポンスを返す。
【００２２】
図５は、実施形態における画像形成装置４０１の操作画面の一例を示す図である。
【００２３】
図５は操作部１１２の上に表示される。画像形成装置には、コピー、ＦＡＸ、ＳＥＮＤ（スキャンした画像の送信）機能がある。これら機能を呼び出すためのアイコンが操作部１１２に表示される。ユーザーがこの操作部１１２を操作し、所望の目的の機能を示すアイコンを押下すると、その機能を行うための画面に表示が切り替わる。図５には、表示アイテムの一例としてのアイコンが表示されている。
【００２４】
図６は、本実施形態におけるアイコン更新処理シーケンスの一例を示す図である。
【００２５】
図６は、画像形成装置４０１にインストールされている拡張アプリケーションのアイコンを取得し表示するアイコン更新処理のフローの一例を示した図である。ここでは、事前にアプリケーション１、アプリケーション２の２つのアプリケーションがインストールされている状態での説明を行う。アプリケーション１は、例えば、図２の拡張アプリケーションＡ２４１に対応する。また、アプリケーション２は、例えば、拡張アプリケーションＢ２４２に対応する。
【００２６】
この処理は、アプリケーション理部３０２が、例えば図１４のアプリケーション有効化成功の通知する等（Ｓ１４２０）の所定の処理に応答して開始される。また、図１７のＳ１７１２のタイミングでも実行開始される。図６，図７は、ＣＰＵ１０１の制御下にて実行される。
【００２７】
まず、アプリケーション管理部３０２は、インストールされているアプリケーション１に対してアイコン情報要求を行う（Ｓ６０１）。アプリケーション１はアイコン情報要求を受け、アイコン情報を生成するための図７に示すアイコン情報生成処理を行う（Ｓ６０２）。アプリケーション１は、生成したアイコン情報を使用してアイコン情報登録を行う（Ｓ６０３）。アプリケーション管理部３０２は、残りのアプリケーション２に対して同様に処理する。（Ｓ６０４）。アプリケーション２は、アイコン情報要求を受けアプリケーション１と同様に処理する（Ｓ６０５、Ｓ６０６）。
【００２８】
アプリケーション管理部３０２は、インストールされている全てのアプリケーションへのアイコン情報要求完了後、ＵＩ制御部に対してアイコン表示要求を行う（Ｓ６０７）。
【００２９】
図７は、本実施形態におけるアイコン情報生成処理フローチャートの一例を示す図である。
【００３０】
この処理も、ＣＰＵ１０１の制御下にて実行される。図７は、図６のアプリケーション１または２が行うアイコン情報生成処理（Ｓ６０２，Ｓ６０５）フローを示す。ここではアプリケーションの例として、ユーザーが登録したフォーム画像データを印刷するフォーム印刷アプリケーション１または２のアイコン情報生成処理を説明する。アプリケーションの種類によって細かい処理内容は異なるが、主要な処理はここで示すステップの処理と同じになる。なお、今回はフォーム印刷アプリケーションを説明する。ここでは、すでにユーザーによって図８で示すフォーム印刷設定が登録されていることを前提とする。図８は、本実施形態におけるアプリケーションの設定情報の一例を示す図である。図８および図９はストレージ１０４の中に登録され記憶されている。ここで、「楽譜」フォームはアプリケーションのサンプルとして予め登録されているフォームであり、「申請書」フォームはユーザーが登録したフォームとする。
【００３１】
この処理では、アプリケーション１は、アイコン情報を生成するためにストレージ制御部２２６を介してアプリケーションの設定情報をメモリから読み出す（Ｓ７０１）。具体的には図８の設定情報を読み出す。そして、設定情報に設定されている登録ボタン設定の有無を確認する（Ｓ７０２）。設定が無い場合は終了し、設定がある場合はＳ７０３に処理が進む。今回の例では、図８で示す通り二つのフォームの設定があるので、最初の楽譜のアイコン情報を生成するためＳ７０３にアプリケーション１の処理が進む。Ｓ７０３では、アイコンタイトルをローカライズするため、画像形成装置に設定されている表示言語設定をアプリケーション１が取得する。次に、ログインしたユーザーに応じたカスタマイズを行うため、画像形成装置にログインしているユーザーをアプリケーション１が取得する（Ｓ７０４）。今回取得されたユーザーは、ユーザーＡとする。次に、取得した表示言語設定に応じてアイコンタイトルをローカライズする（Ｓ７０５）。楽譜フォームは、アプリケーションに予め登録されているフォームであり、アイコンタイトルをローカライズするための情報をアプリケーションが用意しているため、ローカライズ情報に従って表示言語設定に応じたローカライズを行う。次に、ボタンＩＤ，アイコン画像情報、表示位置を設定する（Ｓ７０６）。楽譜フォームでは、それぞれボタンＩＤは０、アイコン画像情報はＩＣＯＮ１．ＤＡＴに格納されているピクセルデータ、表示位置は先頭となる。次にログインユーザーに応じたカスタマイズをアプリケーション１が行う（Ｓ７０７）。フォーム印刷アプリケーションであるアプリケーション１では、フォーム毎にどのユーザーが利用可能か設定する項目８０８を持つ。この項目に設定されているユーザーと、Ｓ７０４で取得した現在ログインしているユーザーの情報を比較し、一致する場合はアイコン情報を生成する。一致しない場合はアイコン情報を破棄する。楽譜フォームの場合、利用可能なユーザーは全てであるので、アイコン情報を生成する。次に、残りの登録ボタン設定の有無をアプリケーション１が確認する（Ｓ７０８）。残りがある場合はＳ７０５に戻り次のアイコン情報をアプリケーション１が生成する。残りがない場合は処理を終了する。ここでは、申請書のフォームがあるためＳ７０５にアプリケーション１の処理が戻る。Ｓ７０５はローカライズを行う。ここで、申請書のフォームはユーザーが新しく登録したものでローカライズ情報がないため、ユーザーが登録したタイトルをそのままアプリケーション１が設定する。次にＳ７０６でボタンＩＤ，アイコン画像情報、表示位置を設定する。申請書フォームでは、それぞれボタンＩＤは１、アイコン画像情報はＩＣＯＮ２．ＤＡＴに格納されているピクセルデータ、表示位置は末尾となる。次にＳ７０７で、ローカルユーザに応じたカスタマイズを行う。申請書フォームでは利用可能なユーザーはユーザーＡだけである。Ｓ７０４で取得したユーザーがユーザーＡであった場合はアイコン情報を生成し、ユーザーＡでない場合はアイコン情報を破棄する。今回はユーザーＡであるためアイコン情報を生成する。最後にＳ７０８で、残りの設定情報がないため処理終了となる。図９に、この処理によって図８の情報からアプリケーション１又は２が生成したアイコン情報を示す。図９は、本実施形態におけるアイコン登録情報の一例を示す図である。
【００３２】
図８は、図７のアイコン情報生成処理のサンプルとして使用したフォーム印刷アプリケーションの設定情報である。フォーム印刷アプリケーションは、この設定に応じて処理を行う。フォーム名８０１は、フォームの内容を示す名称でありユーザーが登録する。ボタンＩＤは、アイコンを識別するＩＤであり、押下されたボタンを識別する際に使用する。フォーム画像ファイル８０３は、フォーム印刷で印刷する対象の画像ファイルであり、ユーザーが登録する。印刷設定８０４は、フォームを印刷する際のカラーモードや部数などをまとめた情報であり、ユーザーが登録する。アイコン情報ファイル８０５は、アイコンの画像を保持するファイルであり、ユーザーが登録する。ローカライズ８０６は、アイコンタイトルをローカライズする際に利用する情報であり、アプリケーションが予め用意したサンプルフォームの楽譜をローカライズする際に参照する情報である。ユーザーが登録するフォームにはローカライズ情報はない。表示位置８０７は、アイコンを表示する位置を指定する。
【００３３】
図９は、図７のアイコン情報生成処理のサンプルで生成したアイコン情報である。アプリケーションＩＤ９０１は、アプリケーションを識別するＩＤである。各アプリケーションには、アプリケーション開発時にＩＤが割り振られる。ボタンＩＤ９０２は、ボタンを識別するＩＤである。アイコンタイトル９０３は、アイコンを表示する際のタイトルである。表示位置９０４は、アイコンの初期表示位置を示す。位置は先頭か末尾を指定する。アイコン画像情報９０５は、アイコン画像のピクセル情報である。図７の説明で、Ｓ７０４において、アプリケーション１がユーザーＡにより起動されているものでない場合、申請書のアイコン情報は生成されない。すなわち、アイコン情報が登録されない。
【００３４】
図１０は、本実施形態における画像形成装置４０１の操作部１１２の表示例を示す図である。図１０は、図９のアイコン情報を操作部１１２に表示した例である。図５に示した標準機能のコピー５０１、ＦＡＸ５０２、ＳＥＮＤ５０３アイコン以外に、楽譜アイコン１００１、申請書アイコン１００５が追加になっている。また、楽譜アイコン１００１は先頭に配置され、申請書アイコン１００５は末尾に配置されている。これは、アイコン情報の表示位置８０７の指定に従って配置されている。図１０は、図１１の処理に従い、アプリケーション管理部３０２のアイコン更新処理に従って表示された結果である。
【００３５】
図１１は、図６で示したアプリケーション管理部３０２のアイコン更新処理フローＳ６００を示している。この処理は、ＣＰＵ１０１の制御下にて実行される。
【００３６】
まずアイコン更新イベントが発生したかどうかを確認する（Ｓ１１０１）。アイコン更新イベントとは、アイコンの更新を引き起こす所定のイベントである。所定のイベントについてはＳ１１０２で後述する。イベントが発生していない場合はアプリケーション管理部３０２は処理を終了し、発生している場合は処理がＳ１１０２に進む。Ｓ１１０２では発生しているイベントの種類をプリケーション管理部３０２が確認する。電源ＯＮ、表示言語変更、ログインの場合は処理はＳ１１０４に進み、アプリケーションからの更新要求、アプリケーションの有効化の場合は、処理はＳ１１０３に進み、アプリケーションの無効化の場合はＳ１１０５に処理は進む。Ｓ１１０３では更新要求があったアプリケーション、あるいは有効化対象のアプリケーションだけアイコン情報の更新処理をプリケーション管理部３０２は行なう。そして、Ｓ１１０６に進む。Ｓ１１０４では全アプリケーションのアイコン情報の更新処理をプリケーション管理部３０２は行い、Ｓ１１０６に進む。Ｓ１１０５では無効化を行う対象のアプリケーションだけアイコン情報の更新処理をプリケーション管理部３０２は行なう。そして、Ｓ１１０６に進む。Ｓ１１０６では、更新されたアイコン情報をもとに、ＵＩ制御部３０３にプリケーション管理部３０２はアイコン表示要求する。そして、処理を終了する。なお、Ｓ６００と、Ｓ１４２０、Ｓ１６０２、Ｓ１７１７、Ｓ１８０５のアイコン更新処理の主要部は共通である。
【００３７】
このように処理することによって必要最低限の更新処理に留められ、アイコン情報処理にかかる時間を短縮することができる。
【００３８】
図１２は、操作部１１２に表示している楽譜アイコン１００１を押下した時のアプリケーション起動までの処理フローを示している。この処理も、ＣＰＵ１０１の制御下にて実行される。
【００３９】
ユーザーがアイコンを押下すると、ＵＩ制御部３０３がアイコン押下を検出する（Ｓ１２０１）。次に、押下されているアイコンのアイコン情報から、アプリケーションＩＤとボタンＩＤを取得し、アプリケーション管理部３０２にアプリケーションＩＤとボタンＩＤと一緒にアプリケーション起動要求を行う（Ｓ１２０２）。楽譜アイコンの場合はアプリケーションＩＤが１でボタンＩＤは０となる。アプリケーション管理部３０２は、起動要求されたアプリケーションＩＤとマッチするアプリケーションを図１３に示すアプリケーションＩＤ管理テーブルから取得し、該当するアプリケーションにボタンＩＤ情報を渡して起動する（Ｓ１２０３）。この場合、アプリケーションＩＤ１にマッチするのはアプリケーション１である。アプリケーションが起動すると、渡されているボタンＩＤ情報からどのボタンが押されたかを認識し、そのボタンに応じた処理を行う（Ｓ１２０４）。フォーム印刷アプリケーションの場合、図８に示す設定情報を読み出し、ボタンＩＤ０にマッチする設定を取得する。そして、ボタンＩＤ０に設定されているフォーム画像ファイルＳＣＯＲＥ．ＤＡＴを、印刷設定ＳＥＴＴＩＮＧ１．ＤＡＴで印刷を行う。
【００４０】
図１３は、本実施形態におけるアプリケーション管理情報の一例を示す図である。図１３には、画像形成装置にインストールされているアプリケーションの情報を管理するテーブルを示す。アプリケーションＩＤ１３０１は、インストールされているアプリケーションを識別するＩＤを保持する項目である。アプリケーション１３０２は、アプリケーションＩＤに対応するアプリケーションが何かを示す。この情報は、アプリケーションのインストール、アンインストール時に更新する。
【００４１】
図１４は、アプリケーションのインストールフローの一例を示す。図１４，１５，１６の処理は、記の処理は、ＣＰＵ１０１の制御下にて実行される。まず、外部装置４０３上で動作するアプリケーションインストーラからのアプリケーションインストール要求をサーブレットサービス３０４が受ける（Ｓ１４０１）。サーブレットサービス３０４は、アプリケーション管理部３０２に処理を依頼する（Ｓ１４０２）。アプリケーション管理部３０２はアプリケーションインストール要求を受け、要求内に含まれるアプリケーションデータを、ストレージ制御部１０４を介して書き込む（Ｓ１４０３）。アプリケーション管理部３０２は、書き込み完了後インストール処理受け付け通知を返し（Ｓ１４０４）、アプリケーションインストール処理を行う（Ｓ１４０５）。このアプリケーションデータには、アプリケーションＩＤと、アプリケーション本体のデータが含まれている。この情報をもとに、図１３で示すアプリケーション管理テーブルにインストールしたアプリケーションの情報を追加する。サーブレットサービス３０４はインストール処理受け付け通知をそのままレスポンスする（Ｓ１４０６）。サーブレットサービス３０４は、アプリケーションインストーラからのインストール状況問い合わせを受ける（Ｓ１４０７）。サーブレットサービス３０４は、アプリケーション管理部３０２に処理を依頼する（Ｓ１４０８）。アプリケーション管理部３０２はインストール状況問い合わせに対してインストール状況を確認する。ここでアプリケーションインストール処理Ｓ１４０５が実行中であるため、インストール中であることを返す（Ｓ１４０９）。サーブレットサービス３０４は、インストール中通知をそのままレスポンスする（Ｓ１４１０）。アプリケーションインストーラは再度インストール状況問い合わせを行う（Ｓ１４１１）。サーブレットサービス３０４はアプリケーション管理部３０２に処理を依頼する（Ｓ１４１２）。アプリケーション管理部３０２はインストール状況を確認する。ここでアプリケーションインストール処理（Ｓ１４０５）が終了しているためインストール結果のインストール成功を返す（Ｓ１４１３）。サーブレットサービス３０４はインストール成功通知をそのままレスポンスする（Ｓ１４１４）。アプリケーションインストーラはインストールしたアプリケーションを有効化するため、アプリケーション有効化要求する（Ｓ１４１５）。サーブレットサービス３０４はアプリケーション管理部３０２に処理を依頼する（Ｓ１４１６）。アプリケーション管理部３０２は要求されたアプリケーションを有効化する（Ｓ１４１７）。アプリケーション管理部３０２は、有効化成功をサーブレットサービス３０４に通知する（Ｓ１４１９）。サーブレットサービス３０４は有効化成功通知をそのままレスポンスする（Ｓ１４２１）。アプリケーション管理部３０２は、アイコン更新処理を行う（Ｓ１４２０）。これは図１１に示した処理である。アプリケーション管理部３０２は、前記有効化成功通知を発出するとともに、図１１のＳ１１０３とＳ１１０６の処理が実行される。なお、インストールが行われても、Ｓ１４１５によりアプリケーションの有効化が行われない場合は、アイコン更新処理も行われない。アイコン更新処理は、Ｓ１４１５のアプリケーションの有効化を条件として行われる。
【００４２】
図１５は、アプリケーションのアンインストールフローの一例を示す。まず、外部装置４０３上で動作するアプリケーションアンインストーラからのアプリケーションアンインストール要求をサーブレットサービス３０４が受ける（Ｓ１５０１）。サーブレットサービス３０４は、アプリケーション管理部３０２に処理を依頼する（Ｓ１５０２）。アプリケーション管理部３０２はアプリケーションアンインストール要求を受け、アプリケーション削除処理を開始する（Ｓ１５０３）。アプリケーション管理部３０２は、サーブレットサービスにアンインストール処理受け付け通知を返す（Ｓ１５０４）。サーブレットサービス３０４は、アンインストール処理受け付け通知をそのままレスポンスする（Ｓ１５０５）。サーブレットサービス３０４は、アンインストーラからのアンインストール状況問い合わせを受ける（Ｓ１５０６）。サーブレットサービス３０４は、アプリケーション管理部に処理を依頼する（Ｓ１５０７）。アプリケーション管理部３０２は、アンインストール中であることを返す（Ｓ１５０８）。サーブレットサービス３０４は、アンインストール中通知をそのままレスポンスする。（Ｓ１５０９）。サーブレットサービス３０４は、アンインストーラからのアンインストール状況問い合わせを受ける（Ｓ１５１０）。サーブレットサービス３０４は、アプリケーション管理部に処理を依頼する（Ｓ１５１１）。アプリケーション管理部３０２は、アンインストールが成功したことを返す（Ｓ１５１２）。サーブレットサービス３０４は、アンインストール成功通知をそのままレスポンスする（Ｓ１５１３）。この処理に応じて、図１１のＳ１１０５およびＳ１１０６の処理が行われる。
【００４３】
図１６は、図１５で示したＳ１５０３のアプリケーション削除のフローの一例を示した図である。アプリケーション管理部３０２は対象アプリケーションの無効化を行う（Ｓ１６０１）。次にアプリケーション管理部３０２は、無効化したアプリケーションのアイコンを更新するためにアイコン更新処理を行う（Ｓ１６０２）。この処理は、図１１で示した処理である。次にアプリケーション管理部３０２は、対象アプリケーションに対して、終了要求を出す（Ｓ１６０３）。アプリケーションは終了要求を受け、処理を終了する（Ｓ１６０４）。アプリケーション管理部３０２は、アプリケーションの処理終了を受けアプリケーションデータの削除を行う（Ｓ１６０５）。この処理によって、アプリケーションの無効化、アイコン更新、削除が行われる。
【００４４】
図１７は、本実施形態におけるアプリケーション設定のシーケンスの一例を示す図である。
【００４５】
図１７の処理は、ＣＰＵ１０１の制御下にて行われる。
【００４６】
図１７は、アプリケーションの設定フローを示した図である。ここではアプリケーションの例として、ユーザーが登録したフォーム画像データを印刷するフォーム印刷アプリケーションのアイコン情報生成処理を説明する。アプリケーションによって細かい処理内容は異なるが、基本的な処理はここで示すステップと同じ処理になる。
【００４７】
アプリケーションの設定は、次のようにする。まず、外部装置４０３上で動作するＷＥＢブラウザが画御像形成装置４０１に接続し、ＷＥＢブラウザを介して設定が行なわれる。まず、ＷＥＢブラウザが、サーブレットサービス３０４に対してアプリケーションを設定するための設定用ＵＲＬをリクエストする（Ｓ１７０１）。サーブレットサービス３０４は、アプリケーション管理部３０２に処理を依頼する（Ｓ１７０２）。アプリケーション管理部３０２は、リクエストされているＵＲＬから該当アプリケーションを特定し、該当アプリケーションのアプリケーションサーブレットを起動する（Ｓ１７０３）。アプリケーションは、要求されたＵＲＬのリクエストに対するレスポンス処理を行う（Ｓ１７０４）。ここでは、設定用ＵＲＬに対するＨＴＭＬリソースを返す準備を行う。このＨＴＭＬリソースには、フォーム印刷処理に必要な図８に示す情報を参照・設定するためのＨＴＭＬ  ＦＯＲＭが記述されている。次にアプリケーションは、準備したＨＴＭＬリソースをレスポンスする（Ｓ１７０５）。アプリケーション管理部３０２は、受けたレスポンスをそのままサーブレットサービス３０４にレスポンスする（Ｓ１７０６）。サーブレットサービス３０４は、受けたレスポンスをそのままレスポンスする（Ｓ１７０７）。ユーザーはＷＥＢブラウザに表示された画面を編集し、アプリケーションの設定を変更する。アプリケーションは設定の変更を受け付ける（Ｓ１７０８）。ここでは、新しく印刷フォームを登録したとする。ＷＥＢブラウザはユーザーの操作によって設定情報登録リクエストをサーブレットサービス３０４へ要求する（Ｓ１７０９）。サーブレットサービス３０４は、アプリケーション管理部３０２に処理依頼する（Ｓ１７１０）。アプリケーション管理部３０２は、要求されたＵＲＬから該当アプリケーションを特定し、該当アプリケーションのアプリケーションサーブレットを起動する（Ｓ１７１１）。アプリケーションはＷＥＢブラウザから送られたリクエストから登録処理を行う（Ｓ１７１２）。フォーム印刷アプリケーションでは、図８に示す設定情報に行を追加する。次に、アプリケーションは登録処理結果をレスポンスとして返す（Ｓ１７１３）。アプリケーション管理部３０２は受けたレスポンスをそのまま返す（Ｓ１７１４）。サーブレットサービス３０４は受けたレスポンスをそのまま返す（Ｓ１７１５）。アプリケーションは登録したフォームのアイコンを登録するために、アプリケーション管理部３０２にアイコン情報更新通知を送る（Ｓ１７０６）。アプリケーション管理部３０２は、アイコン更新処理を行う（Ｓ１７１７）。この処理は図１１で示した処理である。この処理によって、アプリケーションは、設定状態に応じてアイコン登録を変更することができる。
【００４８】
図１８は、画像形成装置の状態変化、あるいは外部に接続された機器の状態によって、アイコンを変更するフローの一例を示す。ここではアプリケーションの例として、画像形成装置の消耗品残量が少なくなった際に、消耗品購入をユーザーに促す消耗品購入促進アプリケーションの動作で説明する。アプリケーションによって細かい処理内容は異なるが、基本的な処理はここで示すステップと同じ処理になる。下記の処理は、ＣＰＵ１０１の制御下にて、アプリケーション管理部３０２またはアプリケーションが原則として実行する。
【００４９】
まず、アプリケーション管理部は画像形成装置の所定のイベントが発生しているかどうかを確認するイベント検知処理を行う（Ｓ１８０１）。このイベント検知処理については後述する。ここでは消耗品状態変更イベントが発生したとする。所定イベントが発生している場合、アプリケーション管理部３０２はイベントハンドラを登録しているアプリケーションのイベントハンドラを起動する（Ｓ１８０２）。この時、イベントハンドラには何のイベントが発生しているかのイベント情報をパラメータとして通知する。アプリケーションのイベントハンドラは、通知されたイベント情報に応じて処理を行う。消耗品購入促進アプリケーションは、各消耗品の残量を確認し、消耗品の残量と消耗品の消費ペースをもとに、購入した方がよいかどうかを判断し、購入した方がよいと判断した場合、アプリケーション管理部３０２にアイコン情報更新通知を送る（Ｓ１８０４）。アプリケーション管理部３０２は、アイコン情報更新通知を受けアイコン更新処理を行う（Ｓ１８０５）。図２１に、この処理による操作部１１２への表示例を示す。図２１の説明は後述する。
【００５０】
この処理により、画像形成装置の状態変化によって、アイコン情報を更新することができる。また、イベントハンドラの処理で、外部に接続された機器の状態に応じてアイコン情報を更新することもできる。
【００５１】
図１９は、図１８のイベント検知処理Ｓ１８０１のフローを示す。ＣＰＵ１０１の制御下にて行われる。まず、所定のイベントが発生しているかどうかを確認し、イベントが発生していない場合は終了し、イベントが発生している場合はＳ１９０２に進む。Ｓ１９０２では、イベントの種類を判断する。タイマーイベントの場合Ｓ１９０４に進み、消耗品状態更新の場合Ｓ１９０３に進む。Ｓ１９０４では、事前に登録されているタイマーイベントハンドラを起動し終了する。Ｓ１９０３では、事前に登録されている消耗品状態更新イベントハンドラを起動し終了する。
【００５２】
イベントの検知を画像形成装置で行い、イベント発生時だけアプリケーションのイベントハンドラを起動することによって、アプリケーションを常駐させてイベント検出させた場合に比べて、消費する画像形成装置のリソースを抑えることができる。
【００５３】
図２０は、画像形成装置４０１が各アプリケーションのイベントを登録する際に参照する、アプリケーションのメタ情報の例を示す。メタ情報にはアプリケーションを識別するＩＤ（２００１）、アプリケーションの名前（２００２）、アプリケーションのバージョン（２００３）、アプリケーションが処理するイベントハンドラ情報（２００４）を持つ。イベントハンドラ情報にはどのイベントなのかを示す種別情報（２００５、２００８）、イベントハンドラのスクリプト名（２００６、２００９）、イベントハンドラの関数名（２００７、２０１０）を示している。またタイマーイベントにはタイマーの周期（２０１１）を指定する。この例では、消耗品状態更新イベントを処理するハンドラとして次を登録している。つまり、ＨＡＮＤＬＥＲＡスクリプトのＨＡＮＤＬＥＲＡ関数を登録し、タイマーイベントを処理するハンドラとしてＨＡＮＤＬＥＲＢスクリプトのＨＡＮＤＬＥＲＢ関数を登録している。また、タイマーのインターバルを６０秒として登録している。
【００５４】
図２１は、アイコンが追加登録された際の操作部１１２の表示例を示す。図１０で示すアイコン表示状態から図１８で示すフローによって操作部１１２は表示制御されている。図１８のアイコン更新処理Ｓ１８０５によって消耗品購入アイコン２１０１が追加登録されている。既存のアイコンは消耗品購入アイコン２１０１が追加されたことで、ずらされて表示されている。
【００５５】
以上、本実施形態では次を説明した。画像形成装置４０１の一例である情報処理装置には、その機能を拡張するためのアプリケーション１またはアプリケーション２が搭載されている。さらに、画像形成装置４０１の表示部の一例である操作部１１２においてアイコンの一例である表示アイテムが表示される。また、アプリケーション１または２に関連する表示アイテムに対応する表示情報が、ストレージ１０４に記憶されている。表示情報の一例は、図９である。ストレージ１０４は例えばＨＤＤやＳＤＤである。
【００５６】
また、オペレーティングシステム２０１の上で動作する制御プログラムであって尚且つ前記アプリケーションを管理するためのフレームワークの一例として、アプリケーション管理部３０２を開示した。アプリケーション管理部３０２またはＵＩ制御モジュール３０３を制御プログラムとしてＣＰＵ１０１が実行することで、前記のアイコンを表示更新する。具体的には、アプリケーション１または２にイベントが発生することに応答して、ＣＰＵ１０１は、図９等の表示情報に参照してアイコンの表示を変更する。
【００５７】
アプリケーションがインストールされた後にアプリケーション１又は２が有効化されたイベントが発生すると、アプリケーション１または２に対応するアイコンが有効に表示更新される。
【００５８】
さらに、複数のアプリケーション１および２が画像形成装置４０１において搭載されており、アプリケーション１および２からのイベントをフレームワーク（アプリ件―ション管理部３０２）が受け付ける。そして、アプリケーション管理部３０２が、そのイベントに対応するアプリケーション１及び２に関するアイコンの更新を通知する。
【００５９】
さらに、イベントが、電源オン、表示言語変更、ログインの少なくとも１つに関するイベントであれば、画像形成装置４０１においてインストールされている複数のアプリケーション１、２に対応するアイコンが更新されない。さらに、イベントが、アプリケーションからの更新要求、アプリケーショの有効化の少なくとも一つのイベントである場合は、前記イベントを発行した対象のアプリケーション１または２のアイコンが更新される。そして、他のアプリケーション１及び２に関するアイコンが更新されない。このように、ＣＰＵ１０１は表示制御を実行する。
【００６０】
さらに、イベントが、アプリケーション１、２の無効化に関するイベントであるときは、無効化されるアプリケーションのアイコンを削除する。
【００６１】
さらに、アプリケーション１は、例えば、フォームアプリケーション、画像形成装置４０１のステータスを管理するアプリケーションでありうる。さらに、イベントは、フォームの登録または、画像形成装置において生じたエラーである。
【００６２】
なお、複数のアプリケーション１、２がそれぞれ前記記憶手段ストレージ１０４の中の図９のような表示情報を管理するようにしてもよい。さらに、フレームワークを提供する制御プログラムの一例であるアプリケーション管理モジュール３０２が、所定のイベントが４０１に発生することに応じて、図９の情報を取得するようにしてもよい。所定のイベントの例としては、Ｓ１１０３乃至Ｓ１１０５に記載がある。
【図１】
2018025909.tif 000003
【図２】
2018025909.tif 000004
【図３】
2018025909.tif 000005
【図４】
2018025909.tif 000006
【図５】
2018025909.tif 000007
【図６】
2018025909.tif 000008
【図７】
2018025909.tif 000009
【図８】
2018025909.tif 000010
【図９】
2018025909.tif 000011
【図１０】
2018025909.tif 000012
【図１１】
2018025909.tif 000013
【図１２】
2018025909.tif 000014
【図１３】
2018025909.tif 000015
【図１４】
2018025909.tif 000016
【図１５】
2018025909.tif 000017
【図１６】
2018025909.tif 000018
【図１７】
2018025909.tif 000019
【図１８】
2018025909.tif 000020
【図１９】
2018025909.tif 000021
【図２０】
2018025909.tif 000022
【図２１】
2018025909.tif 000023