(57)【要約】【課題】  画像形成装置４０１の情報と拡張アプリケーション２０４に関する情報を共に表示する機能を効率的に開発する。【解決手段】  システムソフトウェの一例であるストレージ制御部３０６と画像形成装置４０１の機能を拡張する拡張アプリケーション２０４とを搭載可能な画像形成装置４０１を開示する。画像形成装置の一例であるＭＦＰのシステムソフトウェアを実行することで得られるＭＦＰに関する情報と、拡張アプリケーションから得られる拡張アプリケーションに関する情報とを取得する。取得された情報に基づき、拡張アプリケーションとは別のウェブブラウザにおいて表示させるための情報を出力する。【選択図】  図８
2018101915.tif 000002
【特許請求の範囲】
【請求項１】
システムソフトウェアと画像形成装置の機能を拡張する拡張アプリケーションとを搭載可能な画像形成装置において、
前記画像形成装置のシステムソフトウェアを実行することで得られる画像形成装置に関する情報と、前記拡張アプリケーションから得られる拡張アプリケーションに関する情報とを取得する取得手段と、
前記取得手段により取得された情報に基づき、前記拡張アプリケーションとは別の表示アプリケーションにおいて表示させるための情報を出力する出力手段と、
を備える画像形成装置。
【請求項２】
前記画像形成装置において、
ＨＴＴＰリクエストを受け付けるサーブレットサービスと、前記画像形成装置の標準機能を制御する制御手段を備え、受け付けたＨＴＴＰリクエストが前記拡張アプリケーションが有する拡張機能に関するリクエストか、前記画像形成装置の標準機能に関するリクエストかを判断する判断手段と、
前記判断手段による判断結果に基づいて、前記拡張機能または前記標準機能のいずれかへアクセスできるよう前記ＨＴＴＰリクエストを振り分ける振り分け手段を備える画像形成装置。
【請求項３】
前記出力手段は、前記拡張アプリケーションとは別の表示アプリケーションにおいて表示させるための情報を、複数のＨＴＴＰレスポンスに分けて通知し、前記複数のＨＴＴＰレスポンスのそれぞれは、画像形成装置に関する情報又は拡張アプリケーションに関する情報に基づき出力された情報を含む請求項１に記載の画像形成装置。
【請求項４】
前記出力手段は、前記アプリケーションとは別の表示アプリケーションにおいて表示させるための情報として、前記画像形成装置に関する情報または前記拡張アプリケーションに関する情報のうち少なくとも一つの情報とＨＴＭＬの開始ヘッダを含むＨＴＴＰレスポンスと、前記画像形成装置に関する情報または前記拡張アプリケーションに関する情報のうち少なくとも一つの情報とＨＴＭＬの終了ヘッダを含むＨＴＴＰレスポンスとに分けて出力する請求項３に記載の画像形成装置。
【請求項５】
前記画像形成装置に関する情報は、画像形成装置に対応するシリアル情報、機種情報、画像形成装置に関するオペレーション情報、機種名、設置場所の少なくとも一つを含み、拡張アプリケーションに関する情報は、拡張アプリケーション名、拡張アプリケーションに関するオペレーションに関する情報を含む請求項１に記載の画像形成装置。
【請求項６】
前記表示アプリケーションはウェブブラウザであり、前記画像形成装置は、前記画像形成装置に関する情報を前記ウェブブラウザの画面の一のフレームにおいて表示させ、前記拡張アプリケーションに関する情報を前記フレームとは別のフレームにおいて表示させるための情報を前記出力手段は出力する請求項１に記載の画像形成装置。
【請求項７】
前記出力手段が出力した情報をネットワークを介して外部装置に対して送信する送信手段をさらに備える請求項１に記載の画像形成装置。
【請求項８】
システムソフトウェアと拡張アプリケーションとを搭載可能な画像形成装置の制御方法において、
前記画像形成装置のシステムソフトウェアを実行することで得られる画像形成装置に関する情報と、前記拡張アプリケーションから得られる拡張アプリケーションに関する情報とを取得する取得工程と、
前記取得手段により取得された情報に基づき、前記拡張アプリケーションとは別の表示アプリケーションにおいて表示させるための情報を出力する出力工程と、
を備える画像形成装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像形成装置の機能を拡張できるアプリケーションを搭載可能な画像形成装置及び制御方法等に関する。
【背景技術】
【０００２】
画像形成装置に拡張アプリケーションをインストールし、画像形成装置の機能を拡張できるシステムが普及している。これらのシステムには、画像形成装置の制御アプリケーションとは別に、拡張アプリケーションを動かす実行環境を持つ（特開２００６−１４０８９８）参照。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１４０８９８
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ウェブブラウザ等の表示アプリケーションを用いて、画像形成装置のＵｓｅｒ  Ｉｎｔｅｒｆａｃｅ（ＵＩ）を表示する機能がある。画像形成装置内の拡張アプリケーションで１つのＵＩ画面を生成する方法がある。しかしこの方法では、画像形成装置の情報をＵＩ画面に表示したい場合、拡張アプリケーションが画像形成装置から情報を取得し、ＵＩ画面生成時に画像形成装置の情報を含めた１つのＵＩ画面を生成する必要がある。ＵＩ画面に表示させたい画像形成装置の構成、設定その他の取得できる情報が変化した場合に、そのたびに拡張アプリケーションを修正する等の工数が発生する場合があった。これにより、開発効率が低下することがあった。また、拡張アプリケーションの画像形成装置の間における互換性が低下してしまうという問題点があった。
【課題を解決するための手段】
【０００５】
本発明は、上述の問題点の少なくとも一つを鑑みてなされたものである。本発明の目的の一つは、画像形成装置の情報と拡張アプリケーションに関する情報を共に表示させる機能を効率的に開発する仕組みを提供することである。
【０００６】
さらに、本発明の別の目的は、画面に表示させたい画像形成装置の情報が変化した場合でも、拡張アプリケーションの修正の手番を減らすことである。また、これにより、拡張アプリケーションの異なる画像形成装置の間における互換性を向上させることである。
【発明の効果】
【０００７】
本発明の一つの側面によれば、画像形成装置の情報と拡張アプリケーションに関する情報を共に表示する機能を効率的に開発することができる。
【０００８】
さらに、本発明の別の目的は、画面に表示させたい画像形成装置の情報が変化した場合でも、拡張アプリケーションの修正の手番を減らすことである。また、これにより、拡張アプリケーションの異なる画像形成装置の間における互換性を向上させることである。
【図面の簡単な説明】
【０００９】
【図１】画像形成装置の一例であるＭＦＰのハードウェア構成図の一例を示す図である。
【図２】画像形成装置の拡張アプリケーション実行環境のソフトウェア構成の一例を示す図である。
【図３】画像形成装置のソフトウェアモジュール構成図の一例を示す図である。
【図４】本実施形態におけるネットワークシステムの一例を示す図である。
【図５】本実施形態のＨＴＴＰリクエスト受付処理のフローの一例を示す図である。
【図６】本実施形他における拡張アプリケーション画面表示処理のフローの一例を示す図である。
【図７】本実施形態におけるＨＴＴＰリクエスト内容チェックのフローの一例を示す図である。
【図８】本実施形態における拡張アプリケーション画面表示処理のフローの一例を示す図である。
【図９】本実施形態における拡張アプリケーション表示画面例である。
【図１０】本実施形態における拡張アプリケーション表示画面の別の例である。
【図１１】本実施形態における拡張アプリケーション表示画面を表示する際に用いられる情報の模式図である。
【図１２】本実施形態における拡張アプリケーション画面表示処理のフローの別の例を示す図である。
【発明を実施するための形態】
【００１０】
以下、実施するため形態、本発明の前提となる実施例、本発明の実施例について図面を用いて説明する。
【００１１】
図１は、画像形成装置の主要部の構成の例を示すブロック図である。画像形成装置はコントローラユニット１００を含む。コントローラユニット１００には、画像入力デバイスであるスキャナ１７０や画像出力デバイスであるプリンタ１９５が接続される。また、操作部１１２が接続される。コントローラユニット１００は、次のコピー機能の処理の制御を行う。スキャナ１７０で読み取られた画像データをプリンタ１９５により印刷出力することで、コピー機能が実行される。
【００１２】
コントローラユニット１００は、ＣＰＵ１０１を有する。ＣＰＵ１０１は、ＲＯＭ１０３に格納されているブートプログラムによりオペレーションシステム（ＯＳ）を立ち上げる。ＣＰＵ１０１は、このＯＳ上で、ストレージ１０４に格納されているアプリケーションを実行する。このＣＰＵ１０１の作業領域としてはＲＡＭ１０２が用いられる。ＲＡＭ１０２は、作業領域を提供するとともに、画像データを一時記憶するための画像メモリ領域を提供する。ストレージ１０４は、アプリケーション（拡張アプリケーションを含む。）や画像データを格納する。
【００１３】
ＣＰＵ１０１には、システムバス１０７を介して、ＲＯＭ１０３およびＲＡＭ１０２、操作部Ｉ／Ｆ（操作部インターフェース）１０６が接続される。さらに、システムバス１０７には、ネットワークＩ／Ｆ（ネットワークインターフェース）１１０、ＵＳＢホストＩ／Ｆ１１３が接続される。さらに、システムバス１０７には、画像バスＩ／Ｆ（画像バスインターフェース）１０５も接続される。操作部Ｉ／Ｆ１０６は、タッチパネルを有する操作部１１２とのインターフェースである。操作部１１２に表示すべき画像を操作部１１２に対して出力して表示させる。また、操作部Ｉ／Ｆ１０６は、操作部１１２においてユーザーにより入力された情報をＣＰＵ１０１に送出する。ネットワークＩ／Ｆ１１０は、画像形成装置をＬＡＮに接続するためのインターフェースである。
【００１４】
ＵＳＢホストＩ／Ｆ１１３は、ＵＳＢストレージ１１４と通信するインターフェース部である。ＵＳＢホストＩ／Ｆ１１３は、ストレージ１０４に格納されているデータをＵＳＢストレージ１１４に記憶させるための出力部である。また、ＵＳＢホストＩ／Ｆ１１３は、ＵＳＢストレージ１１４に格納されているデータを入力する。そして、ＵＳＢホストＩ／Ｆ１１３は、そのデータをＣＰＵ１０１へ伝える。ＵＳＢストレージ１１４は、データを格納する外部記憶装置である。ＵＳＢストレージ１１４は、は、ＵＳＢホストＩ／Ｆ１１３に対して着脱可能である。ＵＳＢホストＩ／Ｆ１１３には、ＵＳＢストレージ１１４を含む複数のＵＳＢデバイスが接続可能である。
【００１５】
画像バスＩ／Ｆ１０５は、システムバス１０７と、画像データを高速で転送する画像バス１０８とを接続する。画像バスＩ／Ｆ１０５は、データ形式を変換するためのバスブリッジである。画像バス１０８は、ＰＣＩバスまたはＩＥＥＥ１３９４等によって構成される。画像バス１０８上には、デバイスＩ／Ｆ１２０、スキャナ画像処理部１８０、プリンタ画像処理部１９０が設けられる。デバイスＩ／Ｆ１２０には、スキャナ２７０およびプリンタ１９５が接続される。デバイスＩ／Ｆ１２０は、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部１８０は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部１９０は、プリント出力画像データに対してプリンタ１９５に応じた補正、解像度変換などを行う。
【００１６】
図２は、画像形成装置の拡張アプリケーションの実行環境の例を示すブロック図である。ストレージ１０４に記憶されている拡張アプリケーションを、ＣＰＵ１０１がＲＡＭ１０２にロードし、拡張アプリケーションを実行する。これにより、図２の各モジュールに対応するオペレーションが実現される。オペレーティングシステムであるＯＳ２０１上には、プリンタやＦＡＸ、スキャナと言った画像処理ユニットを制御するためのネイティブプログラム２１０が設けられる。さらに、ＯＳ２０１上には、拡張アプリケーションの実行環境である仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ：ＶＭ）２３０が動作している。ＶＭ２３０は、拡張アプリケーションを制御するアプリケーションを理解し実行するモジュールである。拡張アプリケーションは、ＶＭ２３０上で動作する。この実施例でＶＭ２３０は、ＣＰＵ１０１上で動作するソフトウェアモジュールである。仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ：ＶＭ）の一例としては、拡張アプリケーションに含まれるバイトコードを解釈実行するＪａｖａ（登録商標）インタプリタがある。また、拡張アプリケーションに含まれるスクリプトを解釈して実行するＬｕａなる言語系を解釈するインタプリタでもよい。つまり、ＶＭとは、機種依存性の少ない抽象的なバイトコードまたはスクリプトを解釈して実行するソフトウェアである。バイトコードまたはスクリプトをＯＳおよびＣＰＵが解釈可能なネイティブの命令に変換する。このネイティブの命令が、直接または間接的にＣＰＵにおいて実行されるともいえる。なお、このＶＭも直接または間接的にＣＰＵ１０１により実行され、各種オペレーションを実現している。
【００１７】
ネイティブプログラム２１０内には、プリンタやＦＡＸ、スキャナと言った画像処理ユニットを制御するためのネイティブスレッド２１４と、仮想マシン２３０を動かすためのＶＭスレッド２１５がある。ＶＭスレッドはＶＭ２３０の数に対応する数存在する。ここでは、２１１、２１２，２１３の３つのスレッドが生成されている。
【００１８】
ＶＭシステムサービス２２０は、拡張アプリケーションから共通利用されるユーティリティライブラリである。拡張アプリケーション２４０からＶＭシステムサービス２２０の機能を呼び出すことにより、拡張アプリケーションを開発する手間を省く、または画像形成装置の各モジュールへアクセスすることができる。ＶＭシステムサービス２２０には、ＶＭとして最低限動作させる標準ＶＭシステムサービス２２１と、画像形成装置の各モジュールにアクセスや、ＯＳの機能を提供する拡張ＶＭシステムサービス２２２がある。標準ＶＭシステムサービス２２１は、いわゆるＬｕａ処理系が提供する基本的なフレームワークである。また、拡張ＶＭシステムサービス２２２は、画像形成装置の各種制御を行うＡＰＩを提供する拡張的なフレームワーク群である。さらに、ＶＭ２３０は図３で後述するが図示されない他のフレームワーク機能も有する。
【００１９】
ＶＭ２３０は、拡張アプリケーション２４０を実行する。ＶＭ２３０は、拡張アプリケーションのスレッド毎に生成される。この図では拡張アプリケーションＡ２４１で２つのスレッドを動かすためのＶＭＡ−１（２３１）と、ＶＭＡ−２（２３２）、拡張アプリケーションＢ２４２で１つのスレッドを動かすためのＶＭ  Ｂ−１を生成している。
【００２０】
また、画像形成装置の操作部１１２に表示されるメインメニュー画面には、拡張アプリケーションごとのアイコンが表示される。このアイコンをユーザーが選択したことを、操作部１１２を通じて操作部Ｉ／Ｆ１０６が検知すると、操作部Ｉ／Ｆ１０６はその旨をＣＰＵ１０１に送信する。その旨を受け取ったＣＰＵ１０１はユーザーによって選択された拡張アプリケーションを起動するよう処理を制御する。
【００２１】
図３は、本実施例の画像形成装置のＣＰＵ１０１上で動作するソフトウェアモジュールの構成図の一例である。図３は図２のソフトウェアモジュールにより実現される機能を別の見方で示したものである。サーブレットサービス３０４および、ＵＩ制御部３０３は、ネイティブスレッドの上で動作する。これらはＣ言語で実装されるモジュールである。アプリケーション管理部３０２およびアプリケーション実行制御部３０５は、ＶＭ２２０に含まれうるモジュールである。これらのモジュールもＣ言語で実装されて、少なくとも一部はネイティブスレッドの上で動作する。これらのモジュールは、ネイティブプログラムと協働しても動作する。ストレージ制御部３０６もＣ言語で実装でき、ネイティブプログラム２１０の一部として動作する。サーブレットサービス３０４は、ネットワークＩ／Ｆ１１０を通してＨＴＴＰアクセスされた際に、そのリクエストをモジュールに振り分けるモジュールである。リクエストは、受け付けアクセスされたＵＲＬによって振り分けられる。振り分け先は、アプリケーション管理部３０２か標準機能制御部３０１である。ＵＩ制御部３０３は、操作部１１２に画面を表示し、ユーザーからの操作を受け付けて、その操作情報を適切なモジュール（アプリケーション管理部３０２か標準機能制御部３０１）に通知を行うモジュールである。アプリケーション管理部３０２は、インストールされている拡張アプリケーションのインストールやの起動等の管理を行うモジュールである。アプリケーション実行制御部３０５は、アプリケーション管理部３０２で起動された拡張アプリケーションの実行制御を行うモジュールである。具体的には、ＶＭスレッド２１５、ＶＭシステムサービス２２０、ＶＭ２３０、拡張アプリケーション２４０を制御する。ストレージ制御部３０６は画像形成装置の設定情報を記録管理するモジュールである。各モジュールは、ストレージ制御部３０６にアクセスし、設定値の参照、設定を行う。標準機能制御部３０１は、画像形成装置の機能であるコピー機能やスキャン機能の制御や、その他の画像形成装置に必要な制御（例えばＵＳＢホストパスＩ／Ｆ１１３の制御）を行うモジュールである。なお、図３の各モジュールは、図２のネイティブスレッド２１４の上で動作するものである。ストレージ制御部３０６は、ネイティブスレッド２１４の上で動作するものであり、ＯＳ２０１と協働して画像形成装置に関する情報を収集する。また、ストレージ制御部２２６は、ＯＳを介して他の拡張アプリケーションから情報を収集することもできる。例えば、他のアプリケーションとはログインアプリケーションである。ログインアプリケーションまたはＯＳは、デバイスにログインしているユーザＩＤを把握し、記憶してする。ストレージ制御部３０６は、このような情報を収集できる。そして、ストレージ制御部３０６はこのような情報を画像形成装置に関する情報の例として、管理している。ストレージ制御部３０６は、ＯＳ２０１の一機能として実装されてもよい。
【００２２】
図４は、本実施例の画像形成装置を含む印刷システムの機器構成の例を示す図である。この印刷システムは画像形成装置４０１、ネットワークルータ４０２、ＰＣ等の外部装置４０３によって構成される。ＰＣ等の外部装置４０３は、ネットワークで接続されている画像形成装置４０１に対し、インストーラを介した拡張アプリケーションのインストールや、ブラウザで画像形成装置４０１と接続し、拡張アプリケーションの設定変更を行う。ネットワークルータ４０２は、画像形成装置４０１と、ＰＣ等の外部装置４０３との通信を仲介する。画像形成装置４０１は、ＰＣ等の外部装置４０３からのインストール要求に対し、拡張アプリケーションのインストール処理の実行や、ＨＴＴＰリクエストに対するＨＴＴＰレスポンスを返す。
【００２３】
図５は、図４の画像形成装置４０１がＰＣ等の外部装置４０３のＨＴＴＰリクエストを受けてからＨＴＴＰレスポンスを返すまでのフロー図の一例を示す。
【００２４】
まずＰＣ等の外部装置４０３がＨＴＴＰリクエスト（Ｓ５０１）をネットワークルータ４０２に行う。ネットワークルータ４０２はＨＴＴＰリクエスト（Ｓ５０１）をもとにリクエスト先ネットワーク確認（Ｓ５０２）を行なう。通信確認がとれたと判断したら、画像形成装置４０１にＨＴＴＰリクエスト（Ｓ５０３）を行う。通信確認がとれないと判断したら、エラー通知をネットワークルータ４０２は外部装置４０１に対して送信する。ＨＴＴＰリクエストをＳ５０３で受けた画像形成装置４０１は、リクエスト処理（Ｓ５０４）を実行する。そして、画像形成装置４０１は、必要に応じＨＴＴＰレスポンス（Ｓ５０５）をネットワークルータ４０２に返す。ＨＴＴＰレスポンス（Ｓ５０５）を受けたネットワークルータ４０２は、リクエスト先ネットワーク確認（Ｓ５０６）を行なう。通信確認がとれたら、ＨＴＴＰレスポンス（Ｓ５０７）ネットワークルータは画像形成装置に対して行う。
【００２５】
図６を用いて、本実施形態の前提となる技術を説明する。画像形成装置４０１がＨＴＴＰリクエストであるアプリケーション画面情報リクエスト（Ｓ６０１）を受信してから、ＨＴＴＰレスポンスであるアプリケーション画面情報レスポンス（Ｓ６１９）を返すまでのフローを示す。図６の処理は、ＣＰＵ１０１に図３のモジュールが実行されることで引き起こされる。
【００２６】
また、図６の点線は画像形成装置４０１に組み込まれているソフトウェアモジュールによる処理と拡張アプリケーションによる処理の境界を示している。図６の番号は、図３のモジュールの参照符号と対応している。まず、ＰＣ等の外部装置４０３からのＨＴＴＰリクエストであるアプリケーション画面情報リクエストが、Ｓ６０１で受信される。
【００２７】
ネットワークルータ４０２、ネットワークＩ／Ｆ１１０を介して受信されたアプリケーション画面情報リクエストは、サーブレットサービス３０４へと通知される。本発明の前提となる実施例では、アプリケーション画面情報リクエストはＰＣ等の外部装置４０３がブラウザ等を用いて行うＵＲＬアクセスにより発生するＨＴＴＰリクエストを想定している（Ｓ６０１）。サーブレットサービス３０４はＳ６０１で通知された画面情報リクエストが拡張アプリケーション画面の要求か、画像形成装置固有の画面の要求かをリクエスト内容チェックにてチェックする（Ｓ６０２）。
【００２８】
図６ではリクエスト内容チェック（Ｓ６０２）の結果が拡張アプリケーション画面の要求であった場合を示す。その場合、アプリケーション管理部３０２に対し、アプリケーション画面情報生成指示を行う（Ｓ６０３）。
【００２９】
アプリケーション管理部３０２は受信したアプリケーション画面情報生成指示（Ｓ６０３）をもとに、アプリケーション実行部３０５に対し、アプリケーション画面情報生成指示（Ｓ６０４）を行う。
【００３０】
アプリケーション実行部３０５はアプリケーション画面情報生成指示（Ｓ６０４）を受けると、次の処理を行う。すなわち、アプリケーション実行部３０５は、アプリケーション画面情報生成指示処理（Ｓ６０５）にて、拡張アプリケーション２４０の中から画面情報生成指示の対象となっている拡張アプリケーションを判断する。続いて、アプリケーション実行部３０５は、該当の拡張アプリケーションが動作しているＶＭスレッド２１５に対して、アプリケーション画面情報生成指示（Ｓ６０６）を行う。なお、アプリケーション画面情報生成指示には、画面情報生成指示の対象となっている拡張アプリケーションの識別子が入っている。
【００３１】
拡張アプリケーション２４０はアプリケーション画面情報生成指示（Ｓ６０６）を受けると、Ｓ６１４が返却される。この間、次の処理をする。アプリケーション画面情報生成指示を受け付けると、拡張アプリケーション２４０は、アプリケーション実行部３０５に対して、画像形成装置固有の情報を要求する（Ｓ６０８）。Ｓ６０８での要求を受け付けたアプリケーション実行部３０５は次の処理をする。画像生成装置固有の情報を読み出す指示をストレージ制御部に対して生成して、送信する（Ｓ６０９、Ｓ６１０）そして、ストレージ制御部３０６は、画像形成装置固有の情報を読み出す（Ｓ６１１）。そして、ストレージ制御部３０６は、画像形成装置固有の情報をアプリケーション実行部３０５に対して通知する。アプリケーション実行部３０５は、Ｓ６０８の要求に対する応答として、画像形成装置固有の情報を用いて、アプリケーション画面情報を生成する（Ｓ６１３）。
そして、２４０は、アプリケーション画面情報を生成してアプリケーション実行部３０５にアプリケーション画面情報を返す（Ｓ６１４）。本発明の前提となる実施例ではストレージ制御部３０６から取得される画像形成装置固有の情報として、次がある。例えば、画像形成装置名、シリアルＮｏ、設置場所、画像形成装置固有のＵＩ画面へのショートカット情報等である。シリアルＮｏはシリアル情報の一例である。また、Ｓ６１４のアプリケーション画面情報として、本実施例はＨＴＭＬ形式の画面情報を想定している。例えば、画像形成装置固有の情報としては、図９の画像形成装置固有領域９０１に表示するために用いられる情報である。
【００３２】
アプリケーション実行部３０５はアプリケーション画面情報を受けつけると（Ｓ６１４）、次の処理をする。すなわち、アプリケーション画面情報通知指示を受け付け（Ｓ６１５）、アプリケーション管理部３０２にアプリケーション画面情報を通知する（Ｓ６１６）。続いて、アプリケーション管理部３０２は、サーブレットサービス３０４にアプリケーション画面情報を通知する（Ｓ６１７）。シリアルＮｏはシリアル情報の一例である。
【００３３】
サーブレットサービス３０４はアプリケーション画面情報を受けると（Ｓ６１７）、次の処理をする。すなわち、サーブレットサービス３０４は、アプリケーション画面情報レスポンス指示を行う（Ｓ６１８）。これにより、ＨＴＴＰレスポンスであるアプリケーション画面情報レスポンス（Ｓ６１９）をサーブレットサービス３０４は通知する。当該レスポンスは、ネットワークＩ／Ｆ１１０、ネットワークルータ４０２を介してＰＣ等の外部装置４０３に通知される。本発明の前提となる実施例ではアプリケーション画面情報レスポンス（Ｓ６１９参照）は、Ｓ６１４〜Ｓ６１７の処理で通知されたＨＴＭＬ形式の画面情報を（Ｓ６０１参照）のレスポンスとして返すことを想定している。
【００３４】
当該ＨＴＭＬ形式の画面情報は、ＵＲＬアクセスであるアプリケーション画面情報リクエストのレスポンスとしてウェブブラウザに対して返される。
【００３５】
図７は図６のリクエスト内容チェック（Ｓ６０２）における、処理のフローを示す。
【００３６】
アプリケーション管理部３０２がＣＰＵ１０１により実行されて図７の処理が引き起こされる。リクエストを受信することに応じて処理が開始される。リクエスト内容チェックではまず、拡張アプリケーションへのリクエストであるかを判断する（Ｓ７０１）。拡張アプリケーションへのリクエストであった場合はアプリケーションリクエスト処理（Ｓ７０２）を行う。また、Ｓ７０１で否定判定の場合は画像形成装置リクエスト処理（Ｓ７０３）を行う。図６では拡張アプリケーションへのリクエストかつ、リクエスト内容が画面生成リクエストであった。このため、アプリケーションリクエスト処理（Ｓ７０２）にてアプリケーション画面情報生成指示を送信している（Ｓ６０３）。
【００３７】
図８は本発明の実施例における、画像形成装置４０１がＨＴＴＰリクエストであるアプリケーション画面情報リクエストを受信してから、ＨＴＴＰレスポンスを返すまでのフローを示す。図８の処理は、図３の各モジュールが、ＣＰＵ１０１により実行されることで引き起こされる。
【００３８】
図８の点線は画像形成装置４０１内のシステムを制御するモジュール群による処理と拡張アプリケーションによる処理の境界を示している。図８に示す処理の内、アプリケーション画面情報リクエストを受信（Ｓ８０１）してからアプリケーション管理部３０２にアプリケーション画面情報生成指示を通知（Ｓ８０３）するまでの処理は図６に示す本発明の前提となる実施例と同様の処理である。また、アプリケーション画面情報リクエスト（Ｓ８０１）は本発明の前提となる実施例のアプリケーション画面情報リクエスト（Ｓ６０１参照）と同様である。アプリケーション画面情報リクエストは、ＰＣ等の外部装置４０３がブラウザ等を用いて行うＵＲＬアクセスにより発生するＨＴＴＰリクエストを想定している。
【００３９】
Ｓ８０３で、アプリケーション管理部３０２はアプリケーション画面情報生成指示を受けると、拡張アプリケーションに依存している画面情報と画像形成装置に依存している画面情報（画像形成装置固有領域９０１）を生成する。そして、これをＨＴＴＰレスポンスとして送信する（Ｓ８０４）。これが、画面情報の合成を行う処理である合成画面生成処理である。図８は画像形成装置に依存している画面情報、拡張アプリケーションに依存している画面情報の順に１つずつ情報を合成した場合の処理を示す。Ｓ８０５で、アプリケーション管理部３０２は、アプリケーション実行部３０５に対してアプリケーション画面情報生成指示処理を行う（Ｓ８０６）。Ｓ８０７で、アプリケーション実行部３０５は、拡張アプリケーション２４０に対して、アプリケーション画面情報生成指示を送信する。Ｓ８０８で拡張アプリケーション２４０は、アプリケーション画面情報の生成を行う。Ｓ８０９で、拡張アプリケーション２４０は、アプリケーション画面情報をアプリケーション実行部３０５に対して送信する。Ｓ８１０で、アプリケーション実行部３０５は、アプリケーション画面情報をそのままアプリケーション管理部へ受け渡す。本発明の実施例では、アプリケーション画面情報生成指示（Ｓ８０５参照）によって得られる情報は、アプリケーション画面情報（Ｓ８１０参照。）と画像形成装置固有画面情報である。これらの情報は、ＨＴＭＬ形式の画面情報を想定している。通知指示（Ｓ８１１）によって得られる画像形成装置固有画面情報（Ｓ８１６）もＨＴＭＬ形式の画面情報を想定している。
【００４０】
Ｓ８１１では、アプリケーション管理部３０２は、画像形成装置固有画面情報を生成し、通知指示を生成する。ＵＩ制御部３０３は、Ｓ８１２と８１３で、画像形成装置情報取得指示をストレージ制御部３０６へ送信する。Ｓ８１４では、画像形成装置に関する情報をストレージ制御部が収集する。例えば、図９の９０１および図１０の１００１に表示されている情報をＯＳ等を介してストレージ制御部３０６が収集する。
【００４１】
よって本発明の実施例において、そして、収集した情報は、Ｓ８１５で、ＵＩ制御部３０３へ通知される。Ｓ８１５で通知された画像形成装置情報をもとに、続いてＵＩ制御部３０３は、画像形成装置固有画面情報を生成する（Ｓ８１２）。図１１と図１２を用いて後述するが、ここでの画像形成装置固有画面情報とは、例えば、図１１の１１０４のような情報であり、ＨＴＭＬ形式で記述された情報である。続いて、Ｓ８１６で、画像形成装置固有画面情報Ｓ８１６をＵＩ制御部３０６は、サーブレットサービス３０４に対して通知する。サーブレットサービスは、Ｓ８１７で、画像形成装置固有画面情報レスポンスを生成する。Ｓ８１８で、画像形成装置固有画面情報レスポンスを送信する。
【００４２】
合成画面生成処理では、ＨＴＭＬ形式の画面情報を送信する。なお、サーブレットサービス３０４は、１回目の情報の先頭にＨＴＭＬの開始を示す情報をつけて送信する（Ｓ８１７）。また、Ｓ８２２で最後に送信する情報の末尾にＨＴＭＬの終了を示す情報を付与する。Ｓ８１７とＳ８２２とで送信される情報は、一つのセッションの中で外部装置４０３に搭載されたブラウザに対して送信する。これにより、ブラウザにおいて複数回に分けて送信したＨＴＭＬを１つのＨＴＭＬとして扱うようにする。結果として、外部装置４０３のブラウザにおいて、図９のような画面を合成して表示させることを想定している。
【００４３】
図８の合成画面生成処理（Ｓ８０４）の内、Ｓ８０５〜Ｓ８１０の処理は、拡張アプリケーションに依存している画面情報を生成する処理を示し、Ｓ８１１〜Ｓ８２０の処理は、画像形成装置に依存している画面情報を生成する処理を示す。拡張アプリケーションに依存している画面情報の生成処理（Ｓ８０５〜Ｓ８１０）では、次のようになる。すなわち、一度拡張アプリケーションに依存している画面情報が保持される。そして、画面情報の合成順に応じてＨＴＴＰレスポンスが行われる。続いて、画像形成装置に依存している画面情報の生成処理（Ｓ８１１〜Ｓ８２０）では、生成した情報を保持しない。そのうえで、ＨＴＴＰレスポンスをおこなっている。生成した画面情報を保持してからＨＴＴＰレスポンスを行う場合は生成後に合成順の変更が可能となる。生成した情報を保持せずＨＴＴＰレスポンス通知を行った場合、メモリリソースの節約が可能となる。本発明では用途に応じて画面情報の一時的な保持の有無を変える事が可能である。
【００４４】
まとめると次のようになる。拡張アプリケーションに依存している画面情報の生成処理（Ｓ８０５〜Ｓ８１０）では、まず、アプリケーション実行部３０５にアプリケーション画面情報生成指示（Ｓ８０５）を通知する。アプリケーション画面情報生成指示（Ｓ８０５）を受けたアプリケーション実行部３０５は、アプリケーション画面情報生成指示処理（Ｓ８０６）にて、次の処理をする。図６のアプリケーション画面情報生成指示処理（Ｓ６０５）と同様の処理を行なう。そして、拡張アプリケーション２４０に対し、アプリケーション画面情報生成指示を通知する（Ｓ８０７）。拡張アプリケーション２４０はプリケーション画面情報生成指示を受ける（Ｓ８０７）と、アプリケーション画面情報生成処理にてアプリケーション画面情報を生成する（Ｓ８０８）。また、アプリケーション実行部３０５を介して、アプリケーション管理部３０２にアプリケーション画面情報（Ｓ８１０）を通知する。
【００４５】
画像形成装置に依存している画面情報の生成、通知処理（Ｓ８１１〜Ｓ８２０）では、次の処理をする。まず、ＵＩ制御部３０３に画像形成装置固有画面情報生成、通知指示（Ｓ８１１）を行う。画像形成装置固有画面情報生成、通知指示（Ｓ８１１）を受けたＵＩ制御部３０３は画像形成装置固有画面情報生成、通知処理（Ｓ８１２）により、画像形成装置固有画面の生成と通知処理を行う。画像形成装置固有画面情報生成、通知処理（Ｓ８１２）では、まず、Ｓ８１３〜Ｓ８１５の処理により、ストレージ制御部３０６を介して画像形成装置情報を取得する。画像形成装置情報（Ｓ８１５）が通知されたら、画像形成装置固有画面情報の生成を行い、サーブレットサービス３０４に画像形成装置固有画面情報（Ｓ８１６）を通知する。サーブレットサービス３０４は画像形成装置固有画面情報を受けると（Ｓ８１６）、画像形成装置固有画面情報レスポンス指示を行なう（Ｓ８１７）。続いて、画像形成装置固有画面情報レスポンス（Ｓ８１８）をＰＣ等の外部装置４０３に通知する。
【００４６】
画像形成装置固有画面情報レスポンスは、ネットワークＩ／Ｆ１１０、ネットワークルータ４０２を介してＨＴＴＰレスポンスとして通知される。
【００４７】
その後ＵＩ制御部３０３に終了通知を返し（Ｓ８１９）、ＵＩ制御部３０３はアプリケーション管理部３０２に終了通知を行う（Ｓ８２０）。このとき、画像形成装置固有画面情報レスポンス（Ｓ８１８）は先頭にＨＴＭＬの開始を示す情報を含むＨＴＭＬ形式の画面情報をＵＲＬアクセスであるアプリケーション画面情報リクエスト（Ｓ８０１）のＨＴＴＰレスポンスとして返すことを想定している。なお、Ｓ８１６と、Ｓ８１９は、合成画面生成処理Ｓ８０４とは関係なく、やり取りをしている。アプリケーション管理部におけるメモリの消費量を抑えるためである。しかし、Ｓ８１２で生成した画像形成装置の固有画面情報を一旦アプリケーション管理部３０２で受けても構わない。その際、画像形成装置の固有画面情報と、拡張アプリケーションからの画面情報の画面合成処理をアプリケーション管理部３０２で行い、サーブレットサービスに送っても構わない。
【００４８】
アプリケーション管理部３０２が終了通知を受けると（Ｓ８２０）、保持していた拡張アプリケーションに依存している画面情報であるアプリケーション画面情報（Ｓ８２１）をサーブレットサービス３０４に通知する。サーブレットサービス３０４はアプリケーション画面情報を受けると（Ｓ８２１）、アプリケーション画面情報レスポンス指示を行なう（Ｓ８２２）。続いて、ＨＴＴＰレスポンスであるアプリケーション画面情報レスポンス（Ｓ８２３）をネットワークＩ／Ｆ１１０、ネットワークルータ４０２を介してＰＣ等の外部装置４０３に通知する。このとき、アプリケーション画面情報レスポンス（Ｓ８２３）は終端にＨＴＭＬの終了を示す情報を含む。また、このレスポンスは、ＨＴＭＬ形式の画面情報をＵＲＬアクセスであるアプリケーション画面情報リクエストのＨＴＴＰレスポンスとして返す（Ｓ８０１）。
【００４９】
図９は本発明の実施例における、アプリケーション画面情報リクエスト（Ｓ８０１）を受けた際に生成される画面情報例を示す。画像形成装置固有領域９０１はデバイス名、設置場所、画像形成装置固有ＵＩ、拡張アプリケーション管理メニュー等、画像形成装置の制御に関わるＵＩ、情報が表示されている。アプリケーション固有領域９０２はアプリケーションの設定に関わるＵＩ等が表示されている。図８で説明したように、拡張アプリケーションに依存している画面情報と画像形成装置に依存している画面情報を複数回に分けてＨＴＴＰレスポンスをサーブレットサービス３０４はブラウザに対して送信する。そして、ブラウザ側で画面情報の合成を行う。これにより、最終的には図９のように画像形成装置固有領域９０１とアプリケーション固有領域９０２を合成した画面を生成することが可能となる。これにより、画像形成装置の変化に伴い、画像形成装置固有領域９０１のみの表示を変更する際、拡張アプリケーションの修正を行わず、画面内容の変更をすることが可能となる。例えば、画像形成装置固有領域９０１に表示するための情報において内容変更があったとしても、アプリケーション固有領域９０２を表示するための情報を生成する拡張アプリケーション側の仕様に変更は生じない。９００６には機種名が表示され、９００７には設置場所が表示されている。９００８には、画像形成装置にパスワードとユーザ名を用いて認証されたユーザ名が表示されている。９００９はポータル画面指示部であり、は画像形成装置内若しくは外部サーバに対応する所定のＵＲＬに対応するリンクである。
【００５０】
これら画像形成装置固有領域９０１内に表示された情報は、画像形成装置に関する情報の一例である。図８で説明したように、ストレージ制御部３０６経由で取得される。アプリケーション固有領域９０２には、アプリケーションに指示を送るためのボタン９００１が表示される。また、同領域には、アプリケーションに対する基本設定９００３、プリント設定９００４などが表示される。９００３および９００４は、９００１のボタン（編集）を使って編集できる。また、複製ボタン９００２を押すと、同様のインスタンスが拡張アプリケーションの設定として画像形成装置内に複製できる。これらはアプリケーションに関する情報の一例として、拡張アプリケーションから取得されるものである。９０２内に表示されている。９００９には定型プリントとある。９０２の画面は、拡張アプリケーションの一例である定型プリントアプリケーションの操作画面になっている。定型プリントとは、所定の設定値をボタンのように拡張アプリケーション内に保持してボタンのように画像形成装置内に登録できる。そして、画像形成装置の操作パネルから「定型プリント」ボタンを押して拡張アプリケーションを呼び出す。これにより、予め指定したファイルを９００４のプリント設定に基づき印刷できるマクロのような拡張アプリケーションが「定型プリント」である。９００５はホームボタンの呼び出し設定である。画像形成装置側ののホームボタンを押すとどのような動作をするかをブラウザから印刷装置に対して指定することができる。
【００５１】
図１０は他の拡張アプリケーションに関する表示例１０００を示す図である。
【００５２】
１００２はアプリケーション固有領域である。ここには、拡張アプリケーションに関する情報が表示される。例えば、拡張アプリケーション名１００８、（拡張）アプリケーション情報としてバージョンおよびアプリケーションのサイズ１００６が表示されている。また、基本設定１００７として、操作部１１２に表示される拡張アプリケーションの名称であるボタン名が表示されている。ここで、拡張アプリケーションの一例であるお知らせ表示アプリケーションは、いわゆるスクリーンセーバのような掲示板アプリケーションである。所定時間たつと、画像形成装置４０１の操作部１１２において、スライドショーを全画面表示する。そのスライドショーは、登録部１００３を用いてウェブブラウザから画像形成装置４０１に対して送信して登録できる。１００７で自動移行とあるのは、スライドショーの紙芝居を自動的に行うかどうかの設定である。スライドショーの表示時間も表示できる。これらの基本設定１００７は、編集部１００５を用いて編集および変更が可能である。編集された設定値は、ウェブブラウザから画像形成装置に対して送信されて、拡張アプリケーションに対して設定される。
【００５３】
１００１は、画像形成装置固有領域であり、図９の９０２と概ね同様の情報が表示されている。これらの情報は、前述したように、画像形成装置のストレージ制御部３０６から取得される画像形成装置の関する情報に基づき表示されているものである。
【００５４】
図１１は、図１０の画面をウェブブラウザにおいて表示させるための情報を模式的に示す図である。この情報は、最終的にウェブブラウザで受信され、解釈され、表示に用いられる情報である。最初にＨＴＭＬの開始コマンド１１０１がある。そして、画像形成装置に関する情報の一例が１１０３である。アプリケーションに関する情報の一例が１１０４である。１１０５が画像形成装置に関する情報の一例である。１１０２にはＨＴＭＬの終了コマンドがある。
なお、本実施形態でウェブブラウザについて言及している場合、第一に外部装置４０３内にインストールされたウェブブラウザを意味する。ウェブブラウザは、画像形成装置４０１から図１１の情報を受信する。そして、図９や図１０の画面を外部装置４０３のディスプレイに表示する。第二に、ウェブブラウザは、画像形成装置４０１内に内蔵されていてもよい。つまり、操作部１１２から内蔵ウェブブラウザの起動指示を実行する。そして、操作部１１２を操作して内蔵ウェブブラウザが画像形成装置内４０３の所定のＵＲＬにアクセスすることが、アプリケーション画面情報リクエスト発行すること対応する。その後、サーブレットサービスが、図８のＳ８０１の処理を開始するようにしてもよい。その場合、図９や図１０の画面は内蔵ウェブブラウザにより操作部１１２おいて表示されうる。
【００５５】
次に図８の変形例を説明する、Ｓ８０１で、一つのアプリケーション画面情報リクエストを受け付ける。これに応答してＳ８０４で、アプリケーション管理部３０２はアプリケーション画面情報生成指示を複数回にわけて発行してもよい。この時、複数回のＨＴＴＰレスポンスがアプリケーション管理部３０２からアプリケーション実行部３０５に対して送信されうる。この際、Ｓ８０４〜Ｓ８１０およびＳ８２１の処理が複数回実行されうる。
【００５６】
さらに、アプリケーション管理部３０２は、アプリケーション画面情報を受信するのに応答して、画像形成装置固有画面情報の生成および通知指示をＵＩ制御部に対して送信する。
【００５７】
その処理に応答して、前述したようにＳ８１３乃至Ｓ８１９の処理がなされる。ＵＩ制御部３０３は、サーブレットサービスからＳ８１９の終了通知を受け取ると、終了通知をアプリケーション管理部に対して行う（Ｓ８２０）。以上述べたように、アプリケーション管理部３０２は、アプリケーション画面情報の生成指示をアプリケーション実行部３０５に対して行なう（Ｓ８０５）。さらに、アプリケーション管理部３０２は、画像形成装置の固有画面情報の生成、通知指示をＵＩ制御部に対して行う（Ｓ８１１）。これらの処理の順番は、アプリケーション管理部３０２が管理するコードとして定義可能である。また、アプリケーション管理部３０２は、これらの処理の終了（Ｓ８１０，Ｓ８２０）を認識できるので、原則として逐次実行していく。例えば、Ｓ８１１，Ｓ８０５，Ｓ８１１の順番で前記コード内に定義するとする。すると、その順番でリクエストを発行するようにアプリケーション管理部３０２を制御することが出来る。この場合、最初のＳ８１１において＜ＨＴＭＬ／＞を付加するようアプリケーション実行部３０５および拡張アプリケーション２４０をアプリケーション管理部は、制御する。最後のＳ８１１で＜／ＨＴＭＬ＞を付加するようＵＩ制御部をアプリケーション管理部３０２が制御することができる。これらの処理も当該コードの中に記述できる。図１２に類似するフローを例示し、異なる部分を中心に説明する。
【００５８】
図１２は、本実施形態のアプリケーション管理部３０２における処理の一例である。この処理は、アプリケーション管理部３０２がＣＰＵ１０１を実行することで引き起こされる。
【００５９】
この処理は、画像形成装置４０１内で実行される。この処理は、図８のシーケンス図のアプリケーション管理部の処理を変形したものである。ウェブブラウザから、アプリケーション画面情報リクエストが受信されるとこの処理が開始する。Ｓ１２０１で、アプリケーション画面情報リクエストの内容をアプリケーション管理部３０２は、解析する。アプリケーション画面情報リクエストは、アプリケーション画面情報生成リクエストと、画像形成装置情報リクエストを含む。画像形成装置情報リクエストは、複数のリクエストに分けて処理することもできる。本例では、画像形成装置情報リクエストをふたつに分けて処理する。Ｓ１２０２では、二つに分けたリクエストのうち、最初の画像形成装置情報リクエスト処理を行う。具体的には、Ｓ８１１と同様に、画像形成装置固有画面情報生成及び通知指示をＵＩ制御部３０３に対して送信する。その際、＜ＨＴＭＬ／＞を最初に付けてレスポンスを返すようにリクエストする。続いて処理Ｓ８１２〜Ｓ８１５、Ｓ８１６と同様の処理が実行される。ストレージ制御部３０６から得た情報に基づき、画像形成装置固有画面情報が１１０３、ＵＩ制御部３０２が生成する。そして、その画面情報が、サーブレットサービス３０４に対して渡される。ここでの画像形成装置固有画面情報は、図１１の１１０６に相当する。そして、ＵＩ制御部３０３は、画像形成装置固有画面情報をサーブレットサービス３０４へ送信するとともに、処理の終了通知をアプリケーション管理部に対しても送信する。そして、Ｓ１２０３では、当該終了通知を受信したかどうかをアプリケーション管理部は判定する。ここで、当該終了通知を受けたアプリケーション管理部３０２は、画像形成装置情報リクエスト処理１の処理が終わったと判定する。Ｓ１２０３で終了通知を受信したと判定されると、Ｓ１２０４へ進む。Ｓ１２０４では、アプリケーション管理部３０２は、アプリケーション画面情報生成リクエストの処理を行う。具体的には、Ｓ８０５と同様に、アプリケーション画面情報生成指示をアプリケーション実行部３０５に対して送信する。すると、Ｓ８０６からＳ８１０の処理が続いて実行される。アプリケーション画面情報生成リクエストは、複数に分けて処理されてもよい。そして、Ｓ１２０５で、すべてのアプリケーション画面情報生成リクエストのレスポンスが受信されたとアプリケーション管理部３０２が判定すると、Ｓ１２０６へ進む。Ｓ１２０６では、アプリケーション管理部は、Ｓ８２１と同様に、アプリケーション画面情報をサーブレットサービス２０４に対して送信する。その後、Ｓ８２２とＳ８２３の同様の処理が行われる。ここで、アプリケーション画面情報は、図１１の１１０４に相当する。
【００６０】
アプリケーション管理部３０２は、Ｓ１２０６に続いて、Ｓ１２０７へ進む。Ｓ１２０７では、画像形成装置情報リクエスト処理２を行う。すなわち、Ｓ１２０１で確認された画像形成装置リクエストの残りを処理する。具体的には、画像形成装置固有画面情報生成、通知指示をＳ８１１と同様にＵＩ制御部３０３へ通知する。なお、通知の際には、画像形成装置固有画面情報の最後に＜／ＨＴＭＬ＞をつけるようにリクエストする。その後、Ｓ８１１からＳ８１６と同様の処理が行われる。ＵＩ制御部は、画像形成装置画面情報生成する処理と、それをサーブレットサービス３０４へ通知する処理が終了すると、終了通知をアプリケーション管理部３０２へ送信する。ここで、画像形成装置固有画面情報は、図１１の１１０７に相当する。この終了通知は、Ｓ１２０８で、画像形成装置情報リクエスト処理２の終了通知として、アプリケーション管理部３０２が受信する。Ｓ１２０８で、アプリケーション管理部３０２が当該終了通知を受信すると、処理が終了する。アプリケーション管理部３０２は、別のリクエストの受信待ちとなる。
【００６１】
なお、サーブレットサービス３０４は画像形成装置固有画面情報やアプリケーション画面情報を受け取った時点で次の処理をする。サーブレットサービス３０４は、受け取った情報をそのままＨＴＴＰレスポンスの中に受け取った情報をラップして、ウェブブラウザーに対して送信する。この処理は、Ｓ８１８や、Ｓ８２３と同様である。
【００６２】
画像形成装置４０１に内蔵されたウェブブラウザまたは、外部装置４０３にインストールされたウェブブラウザは、Ｓ１２０８が肯定判定となった後に、図１１の情報を受け取っていることになる。そして、Ｓ１２０３，Ｓ１２０５，Ｓ１２０８で発行されたリクエストに対するレスポンスをひとつのＨＴＭＬデータであると認識する。そして、図１０の画面が画像形成装置４０１の操作部１１２または外部装置４０３のディスプレイ上にウェブブラウザにより表示されることになる。
【００６３】
以上説明したように、システムソフトウェアと画像形成装置４０１の機能を拡張する拡張アプリケーションとを搭載可能な画像形成装置４０１を開示した。画像形成装置の一例として、プリンタや複合機がある。また、ＣＰＵ１０１を実行することで、画像形成装置４０１のストレージ制御部３０６を実行することで得られる画像形成装置に関する情報を取得する。また、アプリケーション管理部３０２およびアプリケーション実行制御部３０５は、拡張アプリケーションから得られる拡張アプリケーションに関する情報を取得する。
【００６４】
各モジュールにより取得された情報に基づき、サーブレットサービス３０４は、ウェブブラウザおいて表示させるための情報を個別に出力する。ウェブブラウザは、拡張アプリケーション２４１とは別の表示アプリケーションの一例である。
【００６５】
さらに、サーブレットサービス３０４は、ＨＴＴＰリクエストを受け付ける。そして、画像形成装置は、標準機能を制御する制御部を備える。そして、受け付けたＨＴＴＰリクエストが、拡張アプリケーション２４０が有する拡張機能に関するリクエストであるか、前記の標準機能に関するリクエストであるかをサーブレットサービス３０４が判断する。
【００６６】
サーブレットサービス３０４による判断結果に基づいて、拡張機能または標準機能のいずれかへアクセスできるようＨＴＴＰリクエストを振り分ける。
【００６７】
サーブレットサービス３０４は、ウェブブラウザ表示させるための情報を、複数回のＨＴＴＰレスポンスに分けてウェブブラウザに対して通知してもよい。
【００６８】
また、サーブレットサービス３０４は、ウェブブラウザおいて表示させるための情報として、次の情報を出力する。つまり、３０４は、画像形成装置４０１に関する情報または拡張アプリケーション２４０に関する情報のうち少なくとも一つの情報とＨＴＭＬの開始ヘッダを含むＨＴＴＰレスポンスを出力する。
【００６９】
また、サーブレットサービス３０４は、画像形成装置４０１に関する情報または前記拡張アプリケーションに関する情報のうち少なくとも一つの情報とＨＴＭＬの終了ヘッダを含むＨＴＴＰレスポンスを出力する。これらの出力は個別に分かれてもよいし、いなくてもよい。
【００７０】
画像形成装置４０１に関する情報は、画像形成装置４０１に対応するシリアル番号、機種情報、画像形成装置４０１に関するオペレーション情報を含む。また、該情報は、機種名、設置場所の少なくとも含むようにしてもよい。さらに、拡張アプリケーションに関する情報は、例えば、拡張アプリケーション名、拡張アプリケーションに関するオペレーションに関する情報である。
【００７１】
画像形成装置４０１は、画像形成装置４０１に関する情報を前記ウェブブラウザ内の一のフレームにおいて表示させてもよい。同一画面またはスクロール等して切り替わる画面で、拡張アプリケーションに関する情報を前記フレームとは別のフレームにおいて表示させるようにしてもよい。
【００７２】
サーブレットサービス３０４が出力した情報をネットワークＩ／Ｆ１１０を介して外部装置４０３に対して送信するようにしてもよい。本実施形態では、システムソフトウェアの一例としては、図２の拡張アプリケーション２４０以外の部分がある。概して、画像形成装置のプラットホーム部分（２２０、２３０）、若しくは、画像形成装置のファームウェア部分（２０１および２１０）があげられる。ここで、特に画像形成装置に依存するプログラムの一例としては、２１０および２０１があげられる。
【符号の説明】
【００７３】
３０４  サーブレットサービス
３０３  ＵＩ制御部
【図１】
2018101915.tif 000003
【図２】
2018101915.tif 000004
【図３】
2018101915.tif 000005
【図４】
2018101915.tif 000006
【図５】
2018101915.tif 000007
【図６】
2018101915.tif 000008
【図７】
2018101915.tif 000009
【図８】
2018101915.tif 000010
【図９】
2018101915.tif 000011
【図１０】
2018101915.tif 000012
【図１１】
2018101915.tif 000013
【図１２】
2018101915.tif 000014