(57)【要約】【課題】表示装置と画像処理装置とが異なる制御部を備える場合であっても、簡易な対応作業により、表示画面を介して機器制御が行える画像処理装置及び機器制御方法を提供する。【解決手段】画像処理装置１００は、制御部１を有する表示装置１２０を備えた装置であって、表示装置１２０で動作するブラウザ３２で実行された通信プログラム４３により、表示装置１２０から当該装置１００に対して機器制御に係る処理を要求する要求手段４３１と、当該装置１００で動作するＷｅｂサーバ２３１で実行されたプログラム５０により、表示装置１２０からの要求処理を実行する実行手段２４１と、要求元である表示装置１２０に対して処理結果を応答する応答手段５２と、を有している。【選択図】図６
2011004069.tif 000002
【特許請求の範囲】
【請求項１】
制御部を有する表示装置を備えた画像処理装置であって、
前記表示装置で動作するブラウザで実行された通信プログラムにより、
前記表示装置から当該画像処理装置に対して機器制御に係る処理を要求する要求手段と、
当該画像処理装置で動作するＷｅｂサーバで実行されたプログラムにより、
前記表示装置からの要求処理を実行する実行手段と、
要求元である前記表示装置に対して処理結果を応答する応答手段と、を有することを特徴とする画像処理装置。
【請求項２】
前記要求手段は、
前記ブラウザで実行された処理に基づき、前記機器制御に係る処理を要求する要求データを生成し、前記表示装置から当該画像処理装置に対して前記要求データを送信することで、前記機器制御に係る処理を要求することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記要求手段は、
前記ブラウザで実行された処理に基づき、要求する前記機器制御に係る処理をリクエストＵＲＬ（Uniform Resource Locator）により指定し、前記要求データであるリクエスト電文を生成することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記要求手段は、
前記ブラウザで実行された処理に実行パラメータが指定されている場合、前記実行された処理及び前記実行パラメータに基づき、要求する前記機器制御に係る処理及び前記実行パラメータをリクエストＵＲＬにより指定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記要求データのデータ解析を行う要求データ解析手段を有し、
前記実行手段は、
前記要求データ解析手段により、受信した要求データを解析し、解析結果に含まれる、要求された前記機器制御に係る処理に基づき、前記表示装置からの要求処理を実行することを特徴とする請求項２ないし４のいずれか一項に記載の画像処理装置。
【請求項６】
前記実行手段は、
前記Ｗｅｂサーバで実行されたプログラムから機器制御プログラムを呼び出し、前記表示装置からの要求処理を実行することを特徴とする請求項１ないし５のいずれか一項に記載の画像処理装置。
【請求項７】
前記応答手段は、
前記実行手段により実行した要求処理の実行結果に基づき、前記実行結果を応答する応答データであるレスポンス電文を生成し、要求元である前記表示装置に対して前記応答データを送信することで、処理結果を応答することを特徴とする請求項１ないし６のいずれか一項に記載の画像処理装置。
【請求項８】
前記応答データのデータ解析を行う応答データ解析手段を有し、
前記ブラウザは、
前記応答データ解析手段により、受信した応答データを解析し、解析結果に含まれる、実行された前記要求処理の実行結果に基づき、要求した前記機器制御に係る処理の処理結果を取得することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記要求手段は、
前記機器制御に係る処理のうち、情報設定処理、情報取得処理、又は機能実行処理を要求することを特徴とする請求項１ないし８のいずれか一項に記載の画像処理装置。
【請求項１０】
制御部を有する表示装置を備えた画像処理装置における機器制御方法であって、
前記表示装置で動作するブラウザ上で通信プログラムを実行し、
前記表示装置から当該画像処理装置に対して機器制御に係る処理を要求する要求手順と、
前記画像処理装置で動作するＷｅｂサーバ上でプログラムを実行し、
前記要求手順による前記表示装置からの要求処理を実行する実行手順と、
前記実行手順により実行された要求処理の処理結果を、要求元である前記表示装置に対して応答する応答手順と、を有することを特徴とする機器制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示装置を備えた画像処理装置に係り、特に、表示装置と画像処理装置とが異なる制御部（ＣＰＵ：Central Processing Unit）を備える場合に表示画面を介して機器制御を行う技術に関するものである。
【背景技術】
【０００２】
コピー、プリンタ、ファクシミリ、スキャナといった複数のアプリケーションを有する画像処理装置では、機能設定を行うためのＧＵＩ（Graphical User Interface）や、機能動作に関する情報などを表示する機能単位の表示画面（アプリケーション画面）を有している。画像処理装置は、動作状態やユーザ要求に応じて、これらの画面表示を制御する表示制御機能を搭載しており、表示機能の高機能化が進んでいる。
【０００３】
例えば特許文献１には、ＨＴＭＬ（HyperText Markup Language）コンテンツや、動画及び静止画といった複合コンテンツを記憶装置内に保持し、ＨＴＭＬコンテンツをブラウザにより表示し、また複合コンテンツをフラッシュプレーヤーにより表示することができる画像処理装置が提案されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の画像処理装置では、表示装置と当該画像処理装置とが異なる制御部を備える環境において、表示画面を介して行う機器制御（ユーザ要求に応じた機能実行）について考慮されていない。
【０００５】
従来の画像処理装置は、上記機器制御を当該画像処理装置が備える制御部により処理する構成であった。例えば上記特許文献１に開示される画像処理装置では、ブラウザとブラウザを介して受け付けた機器制御（例えば「ユーザ要求に応じた機能実行」）が、当該画像処理装置が備える制御部で処理されている。
【０００６】
しかし、表示装置の高機能化に伴い、画像処理装置が備える表示装置は、独自に制御部を備えているものもある。このような場合、ブラウザからは、画像処理装置が有する機器制御に係る処理を行うモジュール（以下「機器制御コード」と言う）を呼び出すこと（実行する）ができない。そのため、表示装置と画像処理装置とで機器制御機能を分割し、新たに実装し直す必要がある。この対応作業は、開発者にとって繁雑である。またメーカでは、コスト高に繋がる新規開発作業を行うのではなく、ブラウザと同一制御部で動作することを前提とした既存の機器制御コードをそのまま用いる形式で、対応作業の軽減を図りたい。
【０００７】
本発明は上記従来技術の問題点を鑑み提案されたものであり、その目的とするところは、表示装置と画像処理装置とが異なる制御部を備える場合であっても、簡易な対応作業により、表示画面を介して機器制御が行える画像処理装置及び機器制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明に係る画像処理装置は、制御部を有する表示装置を備えた画像処理装置であって、前記表示装置で動作するブラウザで実行された通信プログラムにより、前記表示装置から当該画像処理装置に対して機器制御に係る処理を要求する要求手段と、当該画像処理装置で動作するＷｅｂサーバで実行されたプログラムにより、前記表示装置からの要求処理を実行する実行手段と、要求元である前記表示装置に対して処理結果を応答する応答手段と、を有している。
【０００９】
このような構成によって、本発明に係る画像処理装置は、搭載表示装置で動作するブラウザで実行された通信用コードにより、当該装置が備えるコントローラで動作するＷｅｂサーバに機器制御を要求する。続いて、画像処理装置は、Ｗｅｂサーバで実行されたサーブレットにより、要求に応じた機器制御コードを呼び出し、その実行結果を要求元（ブラウザ）に応答する。
【００１０】
これによって、本発明に係る画像処理装置は、搭載表示装置と当該装置とが異なる制御部を備える場合であっても、既存の機器制御コードを用いて、ブラウザから機器制御を行うことができる。その結果、新規開発による対応に比べて、開発者の作業負荷を軽減できる。
【００１１】
上記目的を達成するため、本発明に係る機器制御方法は、制御部を有する表示装置を備えた画像処理装置における機器制御方法であって、前記表示装置で動作するブラウザ上で通信プログラムを実行し、前記表示装置から当該画像処理装置に対して機器制御に係る処理を要求する要求手順と、当該画像処理装置で動作するＷｅｂサーバ上でプログラムを実行し、前記要求手順による前記表示装置からの要求処理を実行する実行手順と、前記実行手順により実行された要求処理の処理結果を、要求元である前記表示装置に対して応答する応答手順と、を有している。
【００１２】
このような手順によって、本発明に係る機器制御方法は、搭載表示装置で動作するブラウザで実行された通信用コードにより、当該装置が備えるコントローラで動作するＷｅｂサーバに機器制御を要求し、Ｗｅｂサーバで実行されたサーブレットにより、要求に応じた機器制御コードを呼び出し、その実行結果を要求元（ブラウザ）に応答すると言う動作を実現する。
【００１３】
これによって、本発明に係る機器制御方法は、表示装置と画像処理装置とが異なる制御部を備える場合であっても、簡易な対応作業により、表示画面を介して機器制御が可能な環境を提供できる。
【発明の効果】
【００１４】
本発明によれば、表示装置と画像処理装置との間に構築された通信機能により、表示装置から画像処理装置に機器制御を要求することで、表示装置と画像処理装置とが異なる制御部を備える場合であっても、簡易な対応作業により、表示画面を介して機器制御が行える画像処理装置及び機器制御方法を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施形態に係る画像処理装置のハードウェア構成例を示す図である。
【図２】本発明の第１の実施形態に係る表示装置のハードウェア構成例を示す図である。
【図３】本発明の第１の実施形態に係る画像処理装置のソフトウェア構成例を示す図である。
【図４】従来の表示制御のソフトウェア構成例を示す図である。
【図５】本発明の第１の実施形態に係る表示制御のソフトウェア構成例を示す図である。
【図６】本発明の第１の実施形態に係る機器制御機能の構成例を示す図である。
【図７】本発明の第１の実施形態に係る通信インタフェースのデータ例を示す図である。
【図８】本発明の第１の実施形態に係る要求・応答データのデータ例（その１）を示す図である。
【図９】本発明の第１の実施形態に係る要求・応答データのデータ例（その２）を示す図である。
【図１０】本発明の第１の実施形態に係る要求・応答データのデータ例（その３）を示す図である。
【図１１】本発明の第１の実施形態に係る初期動作時の機器制御を行う処理手順例を示すシーケンス図である。
【図１２】本発明の第１の実施形態に係る動作時の表示画面例（その１）を示す図である。
【図１３】本発明の第１の実施形態に係る機能実行動作時の機器制御を行う処理手順例を示すシーケンス図である。
【図１４】本発明の第１の実施形態に係る動作時の表示画面例（その２）を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の好適な実施の形態（以下「実施形態」と言う）について、図面を用いて詳細に説明する。
【００１７】
［第１の実施形態］
＜ハードウェア構成＞
本実施形態に係る画像処理装置及び当該画像処理装置が備える表示装置のハードウェア構成について説明する。
【００１８】
［画像処理装置］
図１は、本実施形態に係る画像処理装置１００のハードウェア構成例を示す図である。
図１に示すように、画像処理装置１００は、コントローラ１１０、表示装置１２０、プロッタ１３０、及びスキャナ１４０などを備え、それぞれが相互にバスＢで接続されている。
【００１９】
表示装置１２０は、表示部に加えてタッチパネルなどの入力部を備えており、機器情報などの各種情報をユーザに提供したり、動作設定や動作指示などの各種ユーザ操作を受け付けたりする。プロッタ１３０は、画像形成部を備えており、用紙に出力画像を形成する。例えば出力画像を形成する方式には、電子写真プロセスやインクジェット方式などがある。スキャナ１４０は、原稿を光学的に読み取り、読み取り画像を生成する。
【００２０】
コントローラ１１０は、ＣＰＵ１１１、記憶装置１１２、ネットワークＩ／Ｆ１１３、及び外部記憶Ｉ／Ｆ１１４などを備えており、それぞれが相互にバスＢで接続されている。
【００２１】
ＣＰＵ１１１は、プログラムを実行することにより各種機能の実現や装置全体を制御する。また記憶装置１１２は、上記プログラムや各種データ（例えば「画像データ」）を格納し保持する。例えば記憶装置１１２には、揮発性のメモリであるＲＡＭ（Random Access Memory）、不揮発性のメモリであるＲＯＭ（Read Only Memory）、及び大容量の記憶領域を備えたＨＤＤ（Hard Disk Drive）などがある。ＲＡＭは、ＣＰＵ１１１のワークエリア（プログラムやデータが一時的に読み出される記憶エリア）として機能する。ＲＯＭやＨＤＤは、プログラムや各種データの格納先として用いられる。これにより、画像処理装置１００では、ＣＰＵ１１１がＲＯＭに格納されたプログラムをＲＡＭ上に読み出し、プログラムを実行する。
【００２２】
ネットワークＩ／Ｆ１１３は、画像処理装置１００をネットワークなどの所定のデータ伝送路に接続するためのインタフェースである。外部記憶Ｉ／Ｆ１１４は、外部記憶装置にあたる記録媒体１１４ａを接続するためのインタフェースである。例えば外部記憶装置には、ＳＤメモリカード（SD Memory Card）やＵＳＢ（Universal Serial Bus）メモリなどがある。これにより、画像処理装置１００は、記録媒体１１４ａに格納されたプログラムやデータを読み込める。
【００２３】
画像処理装置１００は、上記ハードウェア構成により、表示装置１２０の入力部からコピー機能の実行指示を受け付けると、次のような機器制御を行う。まず、画像処理装置１００は、コントローラ１１０によるスキャン実行制御により、スキャナ１４０が原稿から読み取り画像を生成する。続いて、画像処理装置１００は、生成した読み取り画像をコントローラ１１０に転送する。画像処理装置１００は、コントローラ１１０により、読み取り画像からラスタイメージ（ビットマップイメージ）を生成する。その結果、画像処理装置１００は、コントローラ１１０によるプロット実行制御により、プロッタ１３０が用紙にトナー画像を形成する。画像処理装置１００は、このようにしてコピー機能を実現している。
【００２４】
［表示装置］
図２は、本実施形態に係る表示装置１２０のハードウェア構成例を示す図である。
図２に示すように、表示装置１２０の制御基板Ｐ上には、画像処理装置１００が備えるコントローラ１１０のＣＰＵ１１１とは独立した専用のＣＰＵ１が搭載されている。表示装置１２０のＣＰＵ１とコントローラ１１０のＣＰＵ１１１は、同期シリアルなどの通信手段１１（例えば「ＵＳＢ」）により接続される。これにより、ＣＰＵ１とＣＰＵ１１１とは、例えば表示装置側（入力部）からのキー入力情報（機器制御に係る要求データ）や画像処理装置側からの表示情報（機器制御に係る応答データ）などを通信可能な構成となっている。
【００２５】
ＣＰＵ１には、入出力に係る処理を実現する各種プログラムやデータを格納するＲＯＭ２と、ワークエリアとして機能するＲＡＭ３とが接続されている。さらにＣＰＵ１には、ＬＣＤ（Liquid Crystal Display）モジュール６を制御するＬＣＤコントローラ４、ＬＣＤモジュール６の表示画面に載置されるタッチパネル７、キー基板８のドライバ９などが接続されている。
【００２６】
ＣＰＵ１は、ＬＣＤコントローラ４を介してＬＣＤモジュール６への表示画素データが格納されるビデオＲＡＭ（ＶＲＡＭ）であるＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）５に対して読み込み／書き込みが可能である。またＣＰＵ１は、ドライバ９を介してキー基板８上のスイッチ（ＳＷ）やＬＥＤ（Light Emitting Diode）、及びＬＣＤモジュール６のバックライト制御が可能である。
【００２７】
ＬＣＤコントローラ４は、ＳＤＲＡＭ５のリフレッシュ処理及びＳＤＲＡＭ５からＬＣＤモジュール６への表示データ転送（表示信号出力）を行うが、内部レジスタへの設定により、この信号の出力抑制が可能である。またＬＣＤコントローラ４は、タッチパネルＩ／Ｆ機能を有しており、タッチパネル７が押下（タッチ）されると、ＬＣＤコントローラ４からＣＰＵ１に割り込み信号が送出される。
【００２８】
表示装置１２０の制御基板Ｐには、ＩＣ（Integrated Circuit）カードなどの記録媒体（例えば「フラッシュメモリ」）の接続手段（例えば「カードスロット」）が備えられており、記録媒体からのデータ読み込みが可能な構成となっている。接続手段は、ＩＣカード装着／未装着を入力ポートにて確認可能である。
【００２９】
表示装置１２０は、上記ハードウェア構成により、画像処理装置１００が有する各種機能の実行及び実行時の動作条件設定などの入力を受け付ける。また表示装置１２０は、各種機能の動作情報、機器の状態情報、及びジョブ情報などを画面に表示する（ユーザに通知する）。
【００３０】
＜ソフトウェア構成＞
次に、本実施形態に係る画像処理装置１００のソフトウェア構成について説明する。
図３は、本実施形態に係る画像処理装置１００のソフトウェア構成例を示す図である。
図３に示すように、まず、画像処理装置１００が備える表示装置１２０では、表示装置１２０を全体制御する基本ソフトウェアである組み込みＯＳ（Embedded Operating System）３１（以下単に「ＯＳ３１」と言う）が動作する。ＯＳ３１には、例えばＬｉｎｕｘ（登録商標：以下略）などがある。またＯＳ３１上では、ブラウザ３２が動作する。本実施形態では組み込みブラウザを搭載した例を示す。
【００３１】
続いて画像処理装置１００が備えるコントローラ１１０では、画像処理装置１００を全体制御する基本ソフトウェアである組み込みＯＳ２１（以下単に「ＯＳ２１」と言う）が動作する。またＯＳ２１上では、仮想マシン環境（ＶＭ：Virtual Machine）が動作する。本実施形態ではＪａｖａ（登録商標：以下略）ＶＭ２２を搭載した例を示す。ＪａｖａＶＭ２２は、Ｊａｖａバイトコードをそのプラットフォームのネイティブコードに変換して実行するソフトウェア環境である。つまり、ＪａｖａＶＭ２２は、Ｊａｖａ言語によって定義された命令セットを実行する仮想マシンである。
【００３２】
ＪａｖａＶＭ２２上では、ＯＳＧｉＦｒａｍｅｗｏｒｋ２３が動作する。ＯＳＧｉＦｒａｍｅｗｏｒｋ（Open Services Gateway initiative Framework）２３は、Ｊａｖａベースのサービスプラットフォームで動作するアプリケーションの標準構造を実装するために使用されるライブラリを提供するフレームワークである。これにより、ＯＳＧｉＦｒａｍｅｗｏｒｋ２３上では、フレームワークに基づき開発した拡張機能を実現するソフトウェア群（ＯＳＧｉ提供サービス群）を動作させることができる。拡張機能には、例えば図中の通信２５やオペレーティング管理２６などがある。例えば本実施形態の場合、上記ソフトウェアは、Ｊａｖａ言語によりプログラミングされたソフトウェア（例えば「Ｊａｖａスクリプト」）となる。
【００３３】
またＪａｖａＶＭ２２又はＯＳＧｉＦｒａｍｅｗｏｒｋ２３上では、コピー、プリンタ、ファクシミリ、スキャナといった基本機能（自社により開発した機能）を実現するソフトウェア群である提供機能２４が動作する。よって、本実施形態に係る画像処理装置１００が有する機器制御コード（機器制御に係る処理を行うモジュール）は、上記提供機能２４に含まれる。
【００３４】
画像処理装置１００は、上記ソフトウェア構成により、ユーザからの機器制御要求（機能実行要求）を表示装置１２０で動作するブラウザ３２を介して受け付け、画像処理装置１００が備えるコントローラ１１０で動作する提供機能２４に含まれる該当機器制御コードを実行する。画像処理装置１００は、このようにして機器制御機能を実現する。
【００３５】
＜機器制御機能＞
次に、本実施形態に係る機器制御機能について説明する。
本実施形態に係る画像処理装置１００では、搭載する表示装置１２０で動作するブラウザ３２で実行された通信用コードにより、当該装置１００が備えるコントローラ１１０で動作するＷｅｂサーバに機器制御を要求する。続いて、画像処理装置１００は、Ｗｅｂサーバで実行されたサーブレットにより、要求に応じた機器制御コードを呼び出し、その実行結果を要求元（ブラウザ３２）に応答する。画像処理装置１００は、このような機器制御機能を有している。
【００３６】
ここで、従来のソフトウェア構成について説明する。図４は、従来の表示制御のソフトウェア構成例を示す図である。
図４に示すように、従来では、ブラウザ３２が有するＪａｖａスクリプト４０が、機器制御コード２４１を内包するＪａｖａスクリプト拡張コード４２を有する構成となっている。
【００３７】
まず、ブラウザ３２のソフトウェア構成について簡単に説明する。本実施形態では、ＣＰＵやＯＳに依存しない設計となっている組み込みブラウザのＥｓｐｒｉｔを搭載した場合を例に示す。ブラウザ３２は、ＵＩ３２１、パーサ３２２、Ｉ／Ｏマネージャ３２３、レイアウト３２４、及びドキュメントオブジェクト（ＤＯＭ：Document Object Module）３２５を有している。
【００３８】
ＵＩ３２１は、ブラウザ３２のユーザインタフェースを提供する。パーサ３２２は、ＨＴＭＬ、ｃＨＴＭＬ、ＸＨＴＭＬＢａｓｉｃなどで記述されたコンテンツデータを解析する。パーサ３２２は、解析結果をドキュメントオブジェクト３２５に展開する（解析結果を渡す）。Ｉ／Ｏマネージャ３２３は、ネットワーク（例えば「ＨＴＴＰ：HyperText Transfer Protocol」や「ＳＳＬ：Secure Sockets Layer」）、ファイル、及びファイルキャッシュに対してデータの入出力を行う。レイヤ３２４は、ドキュメントオブジェクト３２５に展開されたパーサ３２２の解析結果に基づき、オブジェクトを表示画面上に配置する。ドキュメントオブジェクト３２５は、Ｗ３Ｃ（World Wide Web Consortium）にて規定されているＨＴＭＬ文書やＸＭＬ（Extensible Markup Language）文書をアプリケーションから利用するためのＡＰＩ（Application Program Interface）である。
【００３９】
またブラウザ３２は、上述したように、ブラウザ３２で動作するスクリプト言語としてＪａｖａスクリプト４０に対応している。Ｊａｖａスクリプト４０は、主にＥＣＭＡ（European Computer Manufacturer Association）スクリプト準拠コード４１とＪａｖａスクリプト拡張コード４２に大別される。ＥＣＭＡスクリプト準拠コード４１は、ブラウザ３２によって使えない機能があったり同じプログラムでも挙動が異なったりする問題を解消するために標準化されたコードである。一方、Ｊａｖａスクリプト拡張コード４２は、実装するメーカによって独自の仕様により記述されたコードである。つまり、Ｊａｖａスクリプト拡張コード４２は、仕様に応じた独自の機能を実現することができる。
【００４０】
従来の画像処理装置１００では、上記ソフトウェア全てが、コントローラ１１０のＣＰＵ１１１（同一制御部）で実行される。これにより、従来の画像処理装置１００では、Ｊａｖａスクリプト拡張コード４２が機器制御コード２４１を直接呼び出すことで、要求に応じた機器制御コード２４１を実行し、制御対象ハードウェアＨＷの動作を制御することができた。つまり、従来の画像処理装置１００では、実装したＪａｖａスクリプト拡張コード４２を実行することで、ブラウザ３２を介してユーザ要求に応じた機器制御を行うことができた。
【００４１】
しかし、本実施形態で想定している画像処理装置１００では、表示装置１２０とコントローラ１１０とが、それぞれ制御部を備える。またブラウザ３２は、表示装置１２０が備えるＣＰＵ１で動作し、機器制御コード２４１は、コントローラ１１０が備えるＣＰＵ１１１で動作する。そのため、ブラウザ３２が有するＪａｖａスクリプト拡張コード４２から機器制御を実行することができない。
【００４２】
そこで、本実施形態では、表示装置１２０と画像処理装置１００との間に構築された通信機能により、表示装置１２０から画像処理装置１００に機器制御を要求する。
【００４３】
図５は、本実施形態に係る表示制御のソフトウェア構成例を示す図である。
図５に示すように、表示装置１２０は、画像処理装置１００が備えるコントローラ１１０と通信を行う、ブラウザ３２で実行可能な通信プログラムを有している。この通信プログラムが、Ｊａｖａスクリプト４０の通信用コード４３である。また画像処理装置１００では、コントローラ１１０上で動作するＷｅｂサーバ２３１を有している。またＷｅｂサーバ２３１は、サーブレット５０を有している。サーブレット５０とは、Ｗｅｂサーバ２３１で実行されるモジュール（部品）化されたＪａｖａプログラムである。これが、表示装置１２０と画像処理装置１００との間に構築された通信機能となる。
【００４４】
画像処理装置１００は、ブラウザ３２から通信用コード４３を実行し、Ｗｅｂサーバ２３１のサーブレット５０に対して機器制御要求を行い、サーブレット５０が機器制御コード２４１を実行する。サーブレット５０は、要求に応じて機器制御コード２４１を呼び出すことで機器制御を実行する。これによって、画像処理装置１００では、既存の機器制御コード２４１を用いてブラウザ３２から機器制御を行うことができる。
【００４５】
また、本実施形態では、表示装置１２０とコントローラ１１０との間の通信手段に、ブラウザ３２とＷｅｂサーバ２３１との間の通信が容易に実現可能であるＨＴＴＰ通信を用いる。なお、通信手段はこの限りでない。例えばソケット通信などを用いて実現してもよい。
【００４６】
以上のように、本実施形態に係る画像処理装置１００は、表示装置１２０と当該装置１００とが異なる制御部を備える場合であっても、簡易な対応作業により、表示画面を介して機器制御が行える。
【００４７】
以下に、上記機器制御機能の構成とその動作について説明する。
図６は、本実施形態に係る機器制御機能の構成例を示す図である。
図６に示すように、表示装置１２０が有する通信用コード４３は、主に要求データ生成部４３１及び応答データ解析部４３２として機能する。また画像処理装置１００が有するサーブレット５０は、主に要求データ解析部５１及び応答データ生成部５２として機能する。つまり、上記各機能部は、通信用コード４３又はサーブレット５０を実行することで実現される機能する。
【００４８】
表示装置１２０は、機器制御に係る処理を行うＪａｖａスクリプト拡張コード４２をブラウザ３２で実行する。本実施形態に係るＪａｖａスクリプト拡張コード４２には、機器制御に係る処理として、情報設定処理（以下単に「設定」と言う）、情報取得処理（以下単に「取得」と言う）、及び／又は機能実行処理（以下単に「実行」と言う）の各要求処理が定義されている。例えば「設定」要求処理には、動作条件や動作モードの設定要求などがある。また「取得」要求処理には、設定値の取得要求などがある。また「実行」要求処理には、画像処理装置１００が有する機能の実行要求などがある。
【００４９】
通信用コード４３は、上記Ｊａｖａスクリプト拡張コード４２の上記各要求処理に応じた要求データ７１を生成し、画像処理装置１００に送信することで、機器制御に係る処理を要求する。上記要求データ７１の生成は、要求データ生成部４３１により行う。
【００５０】
要求データ生成部４３１は、実行された要求処理（ブラウザ３２で実行された処理）に基づき、「設定」、「取得」、及び／又は「実行」の機器制御に係る処理を要求する要求データ７１を生成する。
【００５１】
図７は、本実施形態に係る通信インタフェースのデータ例を示す図である。
要求データ生成部４３１は、図７に示すような各要求処理に対応する通信インタフェースを介して要求データ７１を生成する。具体的には、次の通りである。
【００５２】
要求データ生成部４３１は、実行された要求処理に基づき、要求する機器制御に係る処理をリクエストＵＲＬ（Uniform Resource Locator）により指定することで、要求データ７１を生成する。本実施形態では、通信プロトコルにＨＴＴＰを用いていることから、要求データ７１としてＨＴＴＰリクエスト電文が生成される。
【００５３】
例えば要求データ生成部４３１は、「取得」要求処理の場合、図７に示すリクエストＵＲＬ"http://XXX.XXX.XXX.XXX/xxxcgi/localCGI/TARGET"により指定する。このとき要求データ生成部４３１は、「TARGET」で、取得する情報項目を指定する。なお本実施形態では、画像処理装置１００が、同一制御部の既存動作環境としてＬｏｃａｌＣＧＩ機能を有していることを前提としている。よって、図７に示すデータ例では、"/xxxcgi/localCGI/TARGET"と言うパスを用いて取得する情報項目を指定している。
【００５４】
また要求データ生成部４３１は、「設定」要求処理の場合、図７に示すリクエストＵＲＬ"http://XXX.XXX.XXX.XXX/xxxcgi/localCGI/TARGET?value=VALUE"により指定する。「取得」要求処理との違いは、「TARGET」に、設定する情報項目を指定し、「VALUE」で、設定する値（設定値）を指定する点である。
【００５５】
また要求データ生成部４３１は、「実行」要求処理の場合、図７に示すリクエストＵＲＬ"http://XXX.XXX.XXX.XXX/xxxcgi/localCGI/FUNCTION?param1=P1&param2=P2..."を指定する。「設定」及び「取得」要求処理との違いは、「FUNCTION」で、実行する機能を指定し、「P1」や「P2」で、機能を呼び出す１又は複数のパラメータ値を指定する点である。
【００５６】
また上記「VALUE」に指定する設定値及び「Pn」に指定するパラメータ値は、機器制御に係る処理を要求するＪａｖａスクリプト拡張コード４２に設定された実行パラメータである。
【００５７】
要求データ生成部４３１は、上記リクエストＵＲＬ（各要求処理に対応する通信インタフェース）により、機器制御に係る処理を要求する要求データ７１を生成する。
【００５８】
以上のように、表示装置１２０では、通信用コード４３をブラウザ３２で実行することにより生成された要求データ７１を、ＨＴＴＰリクエストとして画像処理装置１００へと送信する。
【００５９】
一方、画像処理装置１００は、表示装置１２０から送信された要求データ７１を、コントローラ１１０上で動作するＷｅｂサーバ２３１により受信する。受信した要求データ７１は、Ｗｅｂサーバ２３１で実行されたサーブレット５０により解析される。上記要求データ７１の解析は、要求データ解析部５１により行う。
【００６０】
要求データ解析部５１は、通信プロトコルに従って要求データ７１を解析する。その結果、要求データ解析部５１は、解析結果として、機器制御に係る処理要求と要求時指定情報を得る。
【００６１】
サーブレット５０は、このようにして得られた解析結果に基づき、機器制御コード２４１を実行する。サーブレット５０は、得られた機器制御に係る処理要求に基づき、該当する機器制御コード２４１を特定し呼び出す。このときサーブレット５０は、得られた要求時指定情報を実行パラメータとする。
【００６２】
このようにして、画像処理装置１００では、機器制御コード２４１の実行により、ＳＤＫ（Software Development Kit）６０を介した制御対象ハードウェアＨＷの制御が行われる。
【００６３】
またサーブレット５０は、機器制御コード２４１の実行結果に応じた応答データ７２を生成し、表示装置１２０に送信することで、処理要求元へ応答する。上記応答データ７２は、応答データ生成部５２により行う。
【００６４】
応答データ生成部５２は、「設定」、「取得」、及び／又は「実行」の各要求処理の実行結果に基づき、応答データ７２を生成する。本実施形態では、応答データ７２としてＨＴＴＰレスポンス電文が生成される。
【００６５】
図８，９，１０は、本実施形態に係る要求・応答データ７１及び７２のデータ例を示す図である。
【００６６】
図８には、「取得」要求処理の要求・応答データ７１，７２のデータ例が示されている。
表示装置１２０は、「取得」要求処理の場合、通信用コード４３の要求データ生成部４３１により、図８（Ａ）に示す要求データ７１を生成する。なお図８（Ａ）に示すように、「取得」要求処理の要求データ７１は、空のリクエストボディとなる。表示装置１２０は、生成した要求データ７１を画像処理装置１００にＨＴＴＰリクエストとして送信する。
【００６７】
画像処理装置１００は、Ｗｅｂサーバ２３１で要求データ７１を受信すると、サーブレット５０の要求データ解析部５１により、情報項目「TARGET」の取得要求を得る。画像処理装置１００は、サーブレット５０の応答データ生成部５２により、図８（Ｂ）に示す応答データ７２を生成する。このとき応答データ生成部５２は、情報項目「TARGET」の取得実行結果から応答データ７２を生成する。図８（Ｂ）には、情報項目「TARGET」の取得実行結果として得られた現在設定値［１］をレスポンスボディに定義した応答データ７２の例が示されている。画像処理装置１００は、生成した応答データ７２を取得要求元の表示装置１２０にＨＴＴＰレスポンスとして送信する。
【００６８】
図９には、「設定」要求処理の要求・応答データ７１，７２のデータ例が示されている。
表示装置１２０は、「設定」要求処理の場合、通信用コード４３の要求データ生成部４３１により、図９（Ａ）に示す要求データ７１を生成する。なお図９（Ａ）に示すように、「設定」要求処理の要求データ７１も、空のリクエストボディとなる。表示装置１２０は、生成した要求データ７１を画像処理装置１００にＨＴＴＰリクエストとして送信する。
【００６９】
画像処理装置１００は、Ｗｅｂサーバ２３１で要求データ７１を受信すると、サーブレット５０の要求データ解析部５１により、情報項目「TARGET」の設定要求と設定値「１」を得る。画像処理装置１００は、サーブレット５０の応答データ生成部５２により、図９（Ｂ）に示す応答データ７２を生成する。このとき応答データ生成部５２は、情報項目「TARGET」の設定実行結果から応答データ７２を生成する。図９（Ｂ）には、情報項目「TARGET」の設定が正常に行われた旨の応答データ７２の例が示されている。なお図９（Ｂ）に示すように、応答データ７２も、空のレスポンスボディとなる。画像処理装置１００は、生成した応答データ７２を設定要求元の表示装置１２０にＨＴＴＰレスポンスとして送信する。
【００７０】
図１０には、「実行」要求処理の要求・応答データ７１，７２のデータ例が示されている。
表示装置１２０は、「実行」要求処理の場合、通信用コード４３の要求データ生成部４３１により、図１０（Ａ）に示す要求データ７１を生成する。図１０（Ａ）には、表示中のページＵＲＬやクッキーをリクエストボディに定義した要求データ７１の例が示されている。表示装置１２０は、生成した要求データ７１を画像処理装置１００にＨＴＴＰリクエストとして送信する。
【００７１】
画像処理装置１００は、Ｗｅｂサーバ２３１で要求データ７１を受信すると、サーブレット５０の要求データ解析部５１により、機能名「FUNCTION」の実行要求と機能を呼び出すパラメータ値［/receive.asp］，［post］を得る。画像処理装置１００は、サーブレット５０の応答データ生成部５２により、図１０（Ｂ）に示す応答データ７２を生成する。このとき応答データ生成部５２は、機能名「FUNCTION」の実行結果から応答データ７２を生成する。図１０（Ｂ）には、機能名「FUNCTION」の実行結果として得られた実行結果コード値［２００］，実行結果値［０］をレスポンスボディに定義した応答データ７２の例が示されている。実行結果コードは、要求機能が正常に実行されたか否かを示すコードであり、実行結果値は、機能実行により得られた結果値である。画像処理装置１００は、生成した応答データ７２を実行要求元の表示装置１２０にＨＴＴＰレスポンスとして送信する。
【００７２】
以上のように、画像処理装置１００では、Ｗｅｂサーバ２３１のサーブレット５０を実行することにより、表示装置１２０からの要求処理（機器制御に係る処理）を実行し、実行結果として生成された応答データ７２を、ＨＴＴＰレスポンスとして表示装置１２０へと送信する。
【００７３】
また表示装置１２０は、画像処理装置１００から送信された応答データ７２を、ブラウザ３２により受信する。受信した応答データ７２は、ブラウザ３２で実行される通信用コード４３により解析される。上記応答データ７２の解析を、応答データ解析部４３２により行う。
【００７４】
応答データ解析部４３２は、通信プロトコルに従って応答データ７２を解析する。その結果、応答データ解析部４３２は、解析結果として、要求処理の実行結果情報を得る。これにより、表示装置１２０上で動作するブラウザ３２は、要求した機器制御に係る処理の処理結果を取得する。
【００７５】
このように、本実施形態に係る機器制御機能は、上記各機能部が連係動作することにより実現される。
【００７６】
具体的に機器制御機能は、画像処理装置１００及び表示装置１２０に搭載（インストール）される機器制御プログラムを、互いの装置が備えるＣＰＵ１１１及びＣＰＵ１が、格納先（例えば「ＲＯＭ」）からＲＡＭ上に読み出し、以下の処理を実行することで実現される。
【００７７】
機器制御機能の詳細な動作（機能部群の連係動作）について、処理手順を示すシーケンス図を用いて説明する。なお以下に説明する処理手順は、画像処理装置１００においてスキャン動作（原稿読み取り動作）を実行する場合の機器制御に係る処理を例にしている。また上記機器制御に係る処理を、「スキャン動作の設定画面を表示し、開始要求受付準備が完了するまでの処理（以下単に「処理１」と言う）」と「開始要求を受け付けてからスキャン動作が終了するまでの処理（以下単に「処理２」と言う）」とに分けて説明する。
【００７８】
《処理１》
図１１は、本実施形態に係る初期動作時の機器制御を行う処理手順例を示すシーケンス図である。また図１２は、本実施形態に係る動作時の表示画面例（その１）を示す図である。
図１１に示すように、表示装置１２０は、ブラウザ３２により、ユーザによるＧＵＩを介した操作ボタン押下の検知を受け付ける（ステップＳ１０１）。例えば表示装置１２０の表示画面に、図１２（Ａ）に示すようなＧＵＩが表示されている場合、ブラウザ３２は、画面上の［scan］ボタンが押下されたことを所定のイベント発行により検知する。
【００７９】
ブラウザ３２は、操作ボタン押下の検知に基づき、操作ボタンに対応付けられたコンテンツを読み込む（ステップＳ１０２）。例えば［scan］ボタン押下を検知すると、ブラウザ３２は、スキャン動作設定画面を表示するコンテンツを読み込む。コンテンツには、例えばＨＴＭＬデータなどが挙げられ、操作ボタンが押下されたときに表示される画面を生成する制御コード（例えば「表示部品の定義」や「レイアウトの定義」）、及びスキャン動作に係る機器制御処理のＪａｖａスクリプト拡張コード４２が含まれている。コンテンツの読み込みは、ブラウザ３２でコンテンツの格納先を示すＵＲＬを指定することで行われる。よって、コンテンツは、画像処理装置１００や外部機器（例えば「画像処理装置とネットワークを介して接続される情報処理装置」）が備える記憶装置に格納されている。これにより、表示装置１２０の表示画面には、ブラウザ３２を介して、図１２（Ｂ）に示すようなスキャン動作設定画面が表示される。
【００８０】
またブラウザ３２は、読み込むコンテンツに応じて機器制御に係る処理を行う。スキャン機能において、設定画面を表示してから開始要求受付準備が完了するまでの処理は、次の通りである。
【００８１】
ブラウザ３２は、コンテンツ内に含まれる、スキャン動作開始を指示するスタートキーを利用可能にするためのＪａｖａスクリプト拡張コード４２を実行する（ステップＳ２０１）。ブラウザ３２は、Ｊａｖａスクリプト拡張コード４２を実行したことによる要求処理に基づき、通信用コード４３の実行で機能する要求データ生成部４３１により要求データ７１を生成する（ステップＳ２０２）。例えばブラウザ３２は、スタートキーを利用可能にするための動作モード値［１］を設定するＪａｖａスクリプト拡張コード４２を実行すると、要求データ生成部４３１により、「設定」要求処理のリクエストＵＲＬ"http://XXX.XXX.XXX.XXX/xxxcgi/localCGI/TARGET?value=1"を指定する。これにより、ブラウザ３２では、要求データ７１として、動作モード設定要求用ＨＴＴＰリクエスト電文が生成される。
【００８２】
ブラウザ３２は、要求データ生成部４３１により生成された要求データ７１を、画像処理装置１００（Ｗｅｂサーバ２３１のサーブレット５０）に対して送信する（ステップＳ２０３）。送信された要求データ７１は、画像処理装置１００のコントローラ１１０上で動作するＷｅｂサーバ２３１により受信される。このようにして、本実施形態では、表示装置１２０から画像処理装置１００に動作モード設定が要求される。
【００８３】
画像処理装置１００は、サーブレット５０の実行で機能する要求データ解析部５１により、Ｗｅｂサーバ２３１で受信した要求データ７１のデータ解析を行う（ステップＳ２０４）。これにより、サーブレット５０は、解析結果として、動作モード設定に係る処理要求と要求時に指定された動作モード値［１］を得る。
【００８４】
サーブレット５０は、得られた処理要求に基づき、動作モードを設定する機器制御コード２４１を呼び出し、実行する（ステップＳ２０５）。このときサーブレット５０は、得られた動作モード値［１］を実行パラメータとする。
【００８５】
画像処理装置１００は、機器制御コード２４１の実行により、動作モード値［１］がＳＤＫ６０内の該当パラメータに設定される（ステップＳ２０６）。なおＳＤＫ６０内のパラメータ値設定は、機器制御コード２４１から、パラメータ値を設定するＳＤＫ６０内のモジュール（関数）を呼び出すことで行われる。その結果、画像処理装置１００は、動作モードの設定結果を得る（ステップＳ２０７及びＳ２０８）。
【００８６】
サーブレット５０は、応答データ生成部５２により、動作モードの設定結果を要求元に応答する応答データ７２を生成する（ステップＳ２０９）。このとき応答データ生成部５２は、得られた動作モードの設定結果に基づき、要求時のＨＴＴＰリクエストに対応する応答データ７２として、ＨＴＴＰレスポンス電文を生成する。
【００８７】
サーブレット５０は、応答データ生成部５２により生成された応答データ７２を、表示装置１２０（ブラウザ３２）に対して送信する（ステップＳ２１０）。送信された応答データ７２は、表示装置１２０上で動作するブラウザ３２により受信される。このようにして、本実施形態では、表示装置１２０から画像処理装置１００に要求した動作モード設定の結果が応答される。
【００８８】
ブラウザ３２は、通信用コード４３の実行で機能する応答データ解析部４３２により、受信した応答データ７２のデータ解析を行う（ステップＳ２１１）。これにより、ブラウザ３２は、動作モード設定に係る処理結果［ＯＫ／ＮＧ］を得る。
【００８９】
続いて、ブラウザ３２は、コンテンツ内に含まれる、スタートキー押下時に呼び出される関数を登録するためのＪａｖａスクリプト拡張コード４２を実行する（ステップＳ３０１）。ブラウザ３２は、Ｊａｖａスクリプト拡張コード４２を実行したことによる要求処理に基づき、通信用コード４３の実行で機能する要求データ生成部４３１により要求データ７１を生成する（ステップＳ３０２）。例えばブラウザ３２は、スタートキー押下時に呼び出される関数［my_scan()］を登録するＪａｖａスクリプト拡張コード４２を実行すると、要求データ生成部４３１により、「設定」要求処理のリクエストＵＲＬ"http://XXX.XXX.XXX.XXX/xxxcgi/localCGI/TARGET?value=my_scan"を指定する。これにより、ブラウザ３２では、要求データ７１として、関数登録設定要求用ＨＴＴＰリクエスト電文が生成される。
【００９０】
ブラウザ３２は、要求データ生成部４３１により生成された要求データ７１を、画像処理装置１００（Ｗｅｂサーバ２３１で実行されたサーブレット５０）に対して送信する（ステップＳ３０３）。送信された要求データ７１は、画像処理装置１００のコントローラ１１０上で動作するＷｅｂサーバ２３１により受信される。このようにして、本実施形態では、表示装置１２０から画像処理装置１００に関数登録設定が要求される。
【００９１】
画像処理装置１００は、サーブレット５０の実行で機能する要求データ解析部５１により、Ｗｅｂサーバ２３１で受信した要求データ７１のデータ解析を行う（ステップＳ３０４）。これにより、サーブレット５０は、解析結果として、関数登録設定に係る処理要求と要求時に指定された登録関数名［my_scan］を得る。
【００９２】
サーブレット５０は、得られた処理要求に基づき、機器制御コード２４１の該当パラメータに関数名を設定し、関数を登録する（ステップＳ３０５）。サーブレット５０は、登録関数名［my_scan］を、スタートキー押下時に実行される機器制御コード２４１から呼び出される関数（コールバック関数）として設定する（ステップＳ３０６）。
【００９３】
サーブレット５０は、応答データ生成部５２により、関数登録の設定結果を要求元に応答する応答データ７２を生成する（ステップＳ３０７）。このとき応答データ生成部５２は、得られた関数登録の設定結果に基づき、要求時のＨＴＴＰリクエストに対応する応答データ７２として、ＨＴＴＰレスポンス電文を生成する。
【００９４】
サーブレット５０は、応答データ生成部５２により生成された応答データ７２を、表示装置１２０（ブラウザ３２）に対して送信する（ステップＳ３０８）。送信された応答データ７２は、表示装置１２０上で動作するブラウザ３２により受信される。このようにして、本実施形態では、表示装置１２０から画像処理装置１００に要求した関数登録設定の結果が応答される。
【００９５】
ブラウザ３２は、通信用コード４３の実行で機能する応答データ解析部４３２により、受信した応答データ７２のデータ解析を行う（ステップＳ３０９）。これにより、ブラウザ３２は、関数登録設定に係る処理結果［ＯＫ／ＮＧ］を得る。
【００９６】
以上のように、本実施形態では、表示装置１２０と画像処理装置１００との間で要求・応答データを送受信することで、初期動作時の機器制御（スキャン動作設定画面の表示及び開始要求受付の前処理）が行われる。
【００９７】
《処理２》
図１３は、本実施形態に係る機能実行動作時の機器制御を行う処理手順例を示すシーケンス図である。また図１４は、本実施形態に係る動作時の表示画面例（その２）を示す図である。
図１３に示すように、画像処理装置１００は、当該装置１００が入力インタフェースとして備えるスタートキー（ハードキー）がユーザによって押下されると、ＳＤＫ６０により検知する（ステップＳ１０１）。ＳＤＫ６０は、ハードキーが押下されたことを所定のイベント発行により検知する。
【００９８】
画像処理装置１００は、ＳＤＫ６０によりスタートキー押下を検知すると、スタートキー押下時に実行する機器制御コード２４１が実行される（ステップＳ４０２）。その結果、画像処理装置１００では、登録関数がコールバックされ、スタートキー押下時に呼び出す関数（コールバック関数）の実行が、表示装置１２０に要求される（ステップＳ４０３）。
【００９９】
表示装置１２０は、画像処理装置１００からの実行要求に応じて機器制御に係る処理を行う。スキャン機能において、開始要求を受け付けてからスキャン完了するまでの処理は、次の通りである。
【０１００】
ブラウザ３２は、スキャン要求するためのＪａｖａスクリプト拡張コード４２を実行する（ステップＳ５０１）。ブラウザ３２は、Ｊａｖａスクリプト拡張コード４２を実行したことによる要求処理に基づき、通信用コード４３の実行で機能する要求データ生成部４３１により要求データ７１を生成する（ステップＳ５０２）。例えばブラウザ３２は、スキャン要求するためのパラメータ値［UploadServlet］，［post］，［currentPage］を設定するＪａｖａスクリプト拡張コード４２を実行すると、要求データ生成部４３１により、「実行」要求処理のリクエストＵＲＬ"http://XXX.XXX.XXX.XXX/xxxcgi/localCGI/FUNCTION?param1=UploadServlet&param2=psot&param3=currentPage"を指定する。これにより、ブラウザ３２では、要求データ７１として、スキャン実行要求用ＨＴＴＰリクエスト電文が生成される。
【０１０１】
ブラウザ３２は、要求データ生成部４３１により生成された要求データ７１を、画像処理装置１００（Ｗｅｂサーバ２３１で実行されたサーブレット５０）に対して送信する（ステップＳ５０３）。送信された要求データ７１は、画像処理装置１００のコントローラ１１０上で動作するＷｅｂサーバ２３１により受信される。このようにして、本実施形態では、表示装置１２０から画像処理装置１００にスキャン実行が要求される。
【０１０２】
画像処理装置１００は、サーブレット５０の実行で機能する要求データ解析部５１により、Ｗｅｂサーバ２３１で受信した要求データ７１のデータ解析を行う（ステップＳ５０４）。これにより、サーブレット５０は、解析結果として、スキャン実行に係る処理要求と要求時に指定されたパラメータ値［UploadServlet］，［post］，［currentPage］を得る。
【０１０３】
サーブレット５０は、得られた処理要求に基づき、スキャン動作を実行する機器制御コード２４１を呼び出し、実行する（ステップＳ５０５）。このときサーブレット５０は、得られたパラメータ値［UploadServlet］，［post］，［currentPage］を実行パラメータとする。
【０１０４】
画像処理装置１００は、機器制御コード２４１の実行により、ＳＤＫ６０内のスキャンモジュールが、実行パラメータに基づき実行される（ステップＳ５０６）。なおＳＤＫ６０内のスキャンモジュール実行は、機器制御コード２４１からＳＤＫ６０内のスキャンモジュール（関数）を呼び出すことで行われる。その結果、画像処理装置１００は、スキャン動作の開始通知を得る（ステップＳ５０７１）。画像処理装置１００は、得られた開始通知に基づき、表示装置１２０に通知するイベントを発行する（ステップＳ５０８１）。また画像処理装置１００では、スキャン動作の開始通知がＳＤＫ６０を介して定期的に通知されることから、表示装置１２０に対しても定期的に通知イベントが発行される。
【０１０５】
これにより、表示装置１２０の表示画面には、ブラウザ３２を介して、図１４（Ａ）に示すようなスキャン動作画面（動作中を示す画面）が表示される。例えばスキャン動作画面は、画像処理装置１００から発行されるスキャン開始通知イベントを受け付けている間、表示される。
【０１０６】
また画像処理装置１００は、スキャン動作の終了通知がＳＤＫ６０を介して通知されると（ステップＳ５０７ｎ）、表示装置１２０に対してスキャン動作終了通知イベントを発行し（ステップＳ５０８ｎ）、スキャン動作の実行結果を得る（ステップＳ５０９）。
【０１０７】
これにより、表示装置１２０の表示画面には、ブラウザ３２を介して、図１４（Ｂ）に示すようなスキャン動作設定画面が表示される。つまり表示画面が、図１２（Ｂ）に示す開始要求受付前の画面に戻る。
【０１０８】
また画像処理装置１００は、スキャン動作終了通知イベントが発行されると、サーブレット５０の実行で機能する応答データ生成部５２により、スキャン動作の実行結果を要求元に応答する応答データ７２を生成する（ステップＳ５１０）。このとき応答データ生成部５２は、得られたスキャン動作の実行結果に基づき、要求時のＨＴＴＰリクエストに対応する応答データ７２として、ＨＴＴＰレスポンス電文を生成する。
【０１０９】
サーブレット５０は、応答データ生成部５２により生成された応答データ７２を、表示装置１２０（ブラウザ３２）に対して送信する（ステップＳ５１１）。送信された応答データ７２は、表示装置１２０上で動作するブラウザ３２により受信される。このようにして、本実施形態では、表示装置１２０から画像処理装置１００に要求したスキャン実行の結果が応答される。
【０１１０】
ブラウザ３２は、通信用コード４３の実行で機能する応答データ解析部４３２により、受信した応答データ７２のデータ解析を行う（ステップＳ５１２）。これにより、ブラウザ３２は、スキャン要求に係る処理結果［ＯＫ／ＮＧ］を得る。
【０１１１】
以上のように、本実施形態では、表示装置１２０と画像処理装置１００との間で要求・応答データを送受信することで、機能実行動作時の機器制御（スキャン処理）が行われる。
【０１１２】
＜まとめ＞
以上のように、本実施形態に係る画像処理装置１００によれば、搭載する表示装置１２０で動作するブラウザ３２で実行された通信用コード４３により、当該装置１００が備えるコントローラ１１０で動作するＷｅｂサーバ２３１に機器制御を要求する。このとき画像処理装置１００では、通信用コード４３の実行で機能する要求データ生成部４３１が、機器制御に係る処理の要求に応じた要求データ７１を生成する。
【０１１３】
続いて、画像処理装置１００は、Ｗｅｂサーバ２３１で実行されたサーブレット５０により、要求に応じた機器制御コード２４１を呼び出し、その実行結果を要求元（ブラウザ３２）に応答する。このとき画像処理装置１００では、サーブレット５０の実行により機能する要求データ解析部５１が、要求データ７１のデータ解析を行い、解析結果に基づいて要求処理を行う機器制御コード２４１を呼び出す。また画像処理装置１００は、サーブレット５０の実行により機能する応答データ生成部５２が、要求元に処理結果を応答する応答データ７２を生成する。
【０１１４】
これによって、画像処理装置１００は、表示装置１２０と当該装置１００とが異なる制御部（ＣＰＵ１及びＣＰＵ１１１）を備える場合であっても、既存の機器制御コード２４１を用いて、ブラウザ３２から機器制御を行うことができる。その結果、新規開発による対応に比べて、開発者の作業負荷を軽減できる。
【０１１５】
ここまで、上記実施形態の説明を行ってきたが、上記実施形態に係る画像処理装置１００が有する「機器制御機能」は、図を用いて説明を行った各処理手順を、動作環境（プラットフォーム）にあったプログラミング言語でコード化したプログラムが、搭載表示装置１２０及び画像処理装置１００が備える制御部（ＣＰＵ１及びＣＰＵ１１１）により実行されることで実現される。
【０１１６】
上記プログラムは、コンピュータが読み取り可能な記録媒体１１４ａに格納することができる。上記記録媒体１１４ａには、例えばＳＤメモリカード及びＵＳＢメモリなどがある。
【０１１７】
よって、上記プログラムは、上記記録媒体１１４ａに記憶させることで、記録媒体１１４ａを読み取り可能な外部記憶Ｉ／Ｆ１１４を介して画像処理装置１００にインストールすることができる。また画像処理装置１００は、ネットワークＩ／Ｆ１１３を備えていることから、インターネットなどの電気通信回線を用いて上記プログラムをダウンロードし、インストールすることもできる。なお表示装置１２０には、画像処理装置１００が備えるコントローラ１１０からバスＢを介して上記プログラムを転送し、インストールすることができる。
【０１１８】
また、上記実施形態では、表示装置１２０がブラウザ３２として「Ｅｓｐｒｉｔ」を搭載している構成を例に説明を行ったが、この限りでない。表示装置１２０に搭載するブラウザ３２は、Ｊａｖａスクリプトが処理可能なブラウザであればよい。
【０１１９】
最後に、上記実施形態に挙げた形状や構成に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０１２０】
１      ＣＰＵ（表示装置側）
２      ＲＯＭ（表示装置側）
３      ＲＡＭ（表示装置側）
４      ＬＣＤコントローラ
５      ＳＤＲＡＭ
６      ＬＣＤモジュール
７      タッチパネル
８      キー基盤
９      ドライバ
１１    通信手段
２１    ＯＳ（コントローラ側）
２２    ＪａｖａＶＭ（仮想マシン環境）
２３    ＯＳＧｉＦｒａｍｅｗｏｒｋ（サービスプラットフォーム）
２３１  Ｗｅｂサーバ
２４    提供機能（アプリケーション）
２４１  機器制御コード
２５    通信（ＯＳＧｉ提供サービス群）
２６    オペレーティング管理（ＯＳＧｉ提供サービス群）
３１    ＯＳ（表示装置側）
３２    ブラウザ
３２１  ＵＩ（ユーザインタフェース）
３２２  パーサ
３２３  Ｉ／Ｏマネージャ
３２４  レイアウト
３２５  ドキュメントオブジェクト（ＤＯＭ）
４０    Ｊａｖａスクリプト
４１    ＥＣＭＡスクリプト準拠コード
４２    Ｊａｖａスクリプト拡張コード
４３    通信用コード
４３１  要求データ生成部
４３２  応答データ解析部
５０    サーブレット
５１    要求データ解析部
５２    応答データ生成部
６０    ＳＤＫ
７１    要求データ（ＨＴＴＰリクエスト電文）
７２    応答データ（ＨＴＴＰレスポンス電文）
１００  画像処理装置
１１０  コントローラ
１１１  ＣＰＵ（コントローラ側）
１１２  記憶装置
１１３  ネットワークＩ／Ｆ
１１４  外部記憶Ｉ／Ｆ（ａ：記録媒体）
１２０  表示装置
１３０  プロッタ（画像形成部）
１４０  スキャナ（読み取り部）
ＨＷ    制御対象ハードウェア
Ｐ      制御基板（表示装置）
【先行技術文献】
【特許文献】
【０１２１】
【特許文献１】特開２００８−１５８４９３号公報
【図１】
2011004069.tif 000003
【図２】
2011004069.tif 000004
【図３】
2011004069.tif 000005
【図４】
2011004069.tif 000006
【図５】
2011004069.tif 000007
【図６】
2011004069.tif 000008
【図７】
2011004069.tif 000009
【図８】
2011004069.tif 000010
【図９】
2011004069.tif 000011
【図１０】
2011004069.tif 000012
【図１１】
2011004069.tif 000013
【図１２】
2011004069.tif 000014
【図１３】
2011004069.tif 000015
【図１４】
2011004069.tif 000016