(57)【要約】【課題】機能拡張に応じた作業負担を軽減すること。【解決手段】プログラムを追加可能な画像形成装置であって、Ｗｅｂページを表示させる表示制御手段と、前記プログラムに対応したスクリプトを示す文字列群を記憶した記憶手段と、前記Ｗｅｂページに含まれているスクリプトについて、前記記憶手段を用いて前記プログラムに対応したスクリプトか否かを判断する判断手段と、前記判断手段によって前記プログラムに対応していると判断されたスクリプトに関して、当該スクリプトに対応する前記プログラムに処理を実行させる処理実行手段とを有する。【選択図】図３
2011159277.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを追加可能な画像形成装置であって、
Ｗｅｂページを表示させる表示制御手段と、
前記プログラムに対応したスクリプトを示す文字列群を記憶した記憶手段と、
前記Ｗｅｂページに含まれているスクリプトについて、前記記憶手段を用いて前記プログラムに対応したスクリプトか否かを判断する判断手段と、
前記判断手段によって前記プログラムに対応していると判断されたスクリプトに関して、当該スクリプトに対応する前記プログラムに処理を実行させる処理実行手段とを有する画像形成装置。
【請求項２】
前記文字列群は、前記プログラムに伴って前記画像形成装置にインストールされ、
インストールされた前記文字列群を前記記憶手段に記録する登録手段を有する請求項１記載の画像形成装置。
【請求項３】
前記判断手段によって前記プログラムに対応していると判断されたスクリプトに対応する前記プログラムが当該画像形成装置に存在しない場合に、当該プログラムを取得して当該画像形成装置にインストールするインストール制御手段を有する請求項１又は２記載の画像形成装置。
【請求項４】
プログラムを追加可能な画像形成装置が実行する情報処理方法であって、
Ｗｅｂページを表示させる表示制御手順と、
前記プログラムに対応したスクリプトを示す文字列群を記憶した記憶手段を用いて、前記Ｗｅｂページに含まれているスクリプトについて、前記プログラムに対応したスクリプトか否かを判断する判断手順と、
前記判断手順において前記プログラムに対応していると判断されたスクリプトに関して、当該スクリプトに対応する前記プログラムに処理を実行させる処理実行手順とを有する情報処理方法。
【請求項５】
前記文字列群は、前記プログラムに伴って前記画像形成装置にインストールされ、
インストールされた前記文字列群を前記記憶手段に記録する登録手順を有する請求項４記載の情報処理方法。
【請求項６】
前記判断手順において前記プログラムに対応していると判断されたスクリプトに対応する前記プログラムが当該画像形成装置に存在しない場合に、当該プログラムを取得して当該画像形成装置にインストールするインストール制御手順を有する請求項４又は５記載の情報処理方法。
【請求項７】
プログラムを追加可能な画像形成装置に、
Ｗｅｂページを表示させる表示制御手順と、
前記プログラムに対応したスクリプトを示す文字列群を記憶した記憶手段を用いて、前記Ｗｅｂページに含まれているスクリプトについて、前記プログラムに対応したスクリプトか否かを判断する判断手順と、
前記判断手順において前記プログラムに対応していると判断されたスクリプトに関して、当該スクリプトに対応する前記プログラムに処理を実行させる処理実行手順とを実行させる情報処理プログラム。
【請求項８】
前記文字列群は、前記プログラムに伴って前記画像形成装置にインストールされ、
インストールされた前記文字列群を前記記憶手段に記録する登録手順を前記画像形成装置に実行させる請求項７記載の情報処理プログラム。
【請求項９】
前記判断手順において前記プログラムに対応していると判断されたスクリプトに対応する前記プログラムが当該画像形成装置に存在しない場合に、当該プログラムを取得して当該画像形成装置にインストールするインストール制御手順を前記画像形成装置に実行させる請求項７又は８記載の情報処理プログラム。
【請求項１０】
請求項７乃至９いずれか一項記載の情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブラウザベースのＡＰＩ（Application Program Interface）を有する画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体に関する。
【背景技術】
【０００２】
一般的に、複合機（プリンタ、コピー、スキャナ、ファクシミリ等の機能を複合して有する画像形成装置であり、「ＭＦＰ」ともいわれる。）等の画像形成装置は、コストアップを回避するため、搭載される部品に対する制限が厳しい。例えば、画像形成装置に大きな容量のメモリが搭載されることはできるだけ回避される。一方で、画像形成装置は、汎用的なコンピュータと同様にＣＰＵ（Central Processing Unit）を備え、各機能は、アプリケーション（以下、「アプリ」ともいう）等のプログラムの制御によって実現されるようになっている。
【０００３】
このような画像形成装置の中には、アプリを実装するためのＡＰＩが公開され、ユーザ所望のアプリを搭載することにより、カスタマイズが可能とされているものもある。公開されているＡＰＩは、例えば、Ｃ言語やＪａｖａ（登録商標）言語等によるプログラムより呼び出し可能とされている。
【０００４】
また、ネットワーク上、又は機器内から取得したＨＴＭＬ（Hyper Text Markup Language）データを機器の画面として表示するブラウザソフトが搭載された画像形成装置も存在する。このようなブラウソフトの中には、画面を表示するだけでなく、機器制御用に拡張されたスクリプト（例えば、Java(登録商標) Script等のスクリプト）を解釈して機器制御を実行することが可能なブラウザソフトも有る。このようなブラウザソフトによれば、スクリプト等のブラウザベースのＡＰＩをカスタマイズ用に提供することができる（例えば、特許文献１）。
【０００５】
なお、特許文献１には、機器（ＭＦＰ）を制御可能なスクリプトを実行することができる機器ブラウザ（「ＭＦＰブラウザ」と記されている）についての記載がある。機器ブラウザによれば、スクリプトの記述によってアプリケーションを開発することができる。したがって、従来のＪａｖａ（登録商標）等のＡＰＩを使用したアプリの開発に比べ、アプリケーションの開発コストを低減させることができる。
【０００６】
他方において、画像形成装置の中には、操作部と機器制御部とが相互に独立したハードウェアとして構成されているものがある。この場合、操作部と機器制御部とは、それぞれ独立して動作することも可能であるし、互いに連携して動作することも可能である。なお、操作部は、ユーザインターフェースとしての機能を有し、例えば、機器ブラウザを介してユーザの入力を受付けたり、入力画面の表示等を行ったりする。機器制御部は、スキャナ、プロッタ等のハードウェアの制御を行う。操作部と機器制御部とが独立している構成は、各構成部分（操作部又は機器制御部）に対する改変（機能の付加を含む）を容易にし、各構成部分の動作について、他の構成部分への依存度を低下させることができるという利点を有する。
【０００７】
操作部と機器制御部とがそれぞれを独立したハードウェアで構成される場合、操作部と機器制御部との連携は、操作部のハードウェア上で動作する機器ブラウザが受付けたスクリプトに応じた処理を機器制御部が実行するといった形態で実現される。したがって、操作部がスクリプトを解釈し、解釈結果に基づいて、機器制御部側のスクリプト処理実行部に制御命令が送信されることで、機器制御を行うためのブラウザベースのＡＰＩが実現される。
【０００８】
なお、上記構成を採用する際、操作部側の機器ブラウザはフラッシュメモリに格納され、機器制御部側のスクリプト処理実行部はハードディスクに格納される、という形態が想定される一形態である。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、機器制御部にスクリプト処理実行部が搭載され、操作部に機器ブラウザが搭載されている画像形成装置では、新機能の追加に応じてブラウザベースのＡＰＩ（スクリプト）を拡張したい場合、当該拡張のための作業負担が大きいという問題がある。すなわち、機器ブラウザを、拡張されたＡＰＩを解釈可能とするだけでなく、当該ＡＰＩに応じた制御命令に、機器制御部側のスクリプト処理実行部を対応させる必要があるからである。特に、操作部側の機器ブラウザがフラッシュメモリに書き込まれている場合(ブラウザのようなプログラムの記憶手段には通常、フラッシュメモリが用いられる)には、他の記憶手段に比べ、更に書き換えに手間がかかる。
【００１０】
本発明は、上記の点に鑑みてなされたものであって、機能拡張に応じた作業負担を軽減することができる画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体の提供を目的とする。
【課題を解決するための手段】
【００１１】
そこで上記課題を解決するため、本発明は、プログラムを追加可能な画像形成装置であって、Ｗｅｂページを表示させる表示制御手段と、前記プログラムに対応したスクリプトを示す文字列群を記憶した記憶手段と、前記Ｗｅｂページに含まれているスクリプトについて、前記記憶手段を用いて前記プログラムに対応したスクリプトか否かを判断する判断手段と、前記判断手段によって前記プログラムに対応していると判断されたスクリプトに関して、当該スクリプトに対応する前記プログラムに処理を実行させる処理実行手段とを有する。
【００１２】
このような画像形成装置では、機能拡張に応じた作業負担を軽減することができる。
【発明の効果】
【００１３】
本発明によれば、機能拡張に応じた作業負担を軽減することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態における画像処理システムの構成例を示す図である。
【図２】本発明の実施の形態における複合機のハードウェア構成例を示す図である。
【図３】本発明の実施の形態における複合機の機能構成例を示す図である。
【図４】機器ブラウザにおけるスクリプト実行処理の処理手順の一例を説明するためのフローチャートである。
【図５】キーワード情報の例を示す図である。
【図６】キーワード情報の取得及び登録処理の処理手順の一例を説明するためのフローチャートである。
【図７】複合機の外部端末に表示制御部が実装された例を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における画像処理システムの構成例を示す図である。図１に例示される画像処理システムにおいて、複合機１０１とＷｅｂサーバ５０１とは、ＬＡＮ（Local Area Network）又はインターネット等のネットワーク（有線又は無線の別は問わない。）を介して通信可能に接続されている。
【００１６】
Ｗｅｂサーバ５０１は、ＨＴＴＰｄ（Hypertext Transfer Protocol daemon）等、Ｗｅｂサーバとしての機能が実装された汎用コンピュータである。Ｗｅｂサーバ１０２は、クライアントとしての複合機１０１のＷｅｂブラウザ（以下、単に「ブラウザ」ともいう」からのＨＴＴＰリクエストに応じて、ＨＴＭＬ（HyperText Markup Language）データ等のＷｅｂページを複合機１０１に供給する。当該Ｗｅｂページは、オペレーションパネルに表示される操作画面として、又は複合機１０１に所定の処理を実行させるアプリケーションとして機能する。なお、アプリケーションとして機能するのは、Ｗｅｂページに含まれているスクリプトである。また、Ｗｅｂサーバ５０１は、複合機１０１において生成された画像ファイルの蓄積及び管理機能を有するサーバであってもよい。この場合、Ｗｅｂサーバ５０１は、管理する画像ファイルに関して、非図示のクライアント装置より印刷要求を受けると、ＨＴＭＬデータによる印刷指令を複合機１０１に対して発行してもよい。
【００１７】
複合機１０１は、複合機能を有する画像形成装置である。複合機能とは、コピー、印刷、ファクス、及びスキャン等のうち、２以上の機能をいう。但し、単体機能を有する画像形成装置に関して、本実施の形態が適用されてもよい。
【００１８】
複合機１０１は、操作部を介したユーザ操作に応じてコピー処理を行う場合のように、ネットワークを利用しないモードの動作が可能であると共に、ネットワークを利用したモードの動作も可能である。ネットワークを利用したモードの動作としては、例えば、複合機１０１に搭載されたＷｅｂブラウザがＷｅｂサーバ５０１等より受信されるＷｅｂページに基づく動作が挙げられる。本実施の形態において、複合機１０１に搭載されたＷｅｂブラウザは、Ｗｅｂページを表示させるだけでなく、Ｗｅｂページに含まれているスクリプトによって指定されている処理要求を機器の制御部へ仲介するといった付加機能を有する。すなわち、複合機１０１は、機器制御用のＡＰＩとして、ブラウザベースのＡＰＩを有する。以下、斯かるＡＰＩを提供するＷｅｂブラウザを、「機器ブラウザ」という。
【００１９】
なお、機器ブラウザによって表示又は処理されるＷｅｂページは、複合機１０１内に保存されていてもよい。また、図１に示す画像処理システムにおけるＷｅｂサーバ５０１に代えて、Ｗｅｂサーバ５０１と同等のＷｅｂサーバ機能を持った複合機を採用することよって、画像処理システムが構成されてもよい。
【００２０】
「複合機のハードウェア構成の概要」
図２は、本発明の実施の形態における複合機のハードウェア構成例を示す図である。
【００２１】
同図において、複合機１０１は、構成要素として、複合機１０１全体を制御する機器制御部が搭載されたコントローラボード２０１と、コントローラボード２０１上の機器制御部とＰＣＩバスで結ばれたファクシミリコントロールユニット（ＦＣＵ）２０３と、撮像部１２１と、印刷部１２２と、該ＰＣＩバスで結ばれたオペパネＩＦ（インターフェース）２４１を介して接続されたオペレーションボード２０２と等を有する。なお、後述されるように、複合機１０１では、オペレーションボード２０２上の表示制御部が制御動作を独立に行うことが可能とされている。そこで、以下、複合機能の動作を含め、複合機１０１全体を制御する機器制御部を「動作制御部」といい、オペレーションボード２０２側の表示制御部と区別する。
【００２２】
コントローラボード２０１上の動作制御部は、ＣＰＵ２１１、ＡＳＩＣ（Application Specific Integrated Circuit）２１２、ＮＢ（ノースブリッジ）２２１、ＳＢ（サウスブリッジ）２２２、ＭＥＭ−Ｐ２３１、ＭＥＭ−Ｃ２３２、ＨＤＤ（ハードディスクドライブ）２３３、ＩＣ（メモリ）カードスロット２３４、及びオペパネＩＦ２４１等を含む。
【００２３】
ＣＰＵ２１１は、種々の情報処理用のＩＣである。ＡＳＩＣ２１２は、種々の画像処理用のＩＣである。
【００２４】
ＭＥＭ−Ｐ２３１は、複合機１０１のシステムメモリである。ＭＥＭ−Ｃ２３２は、複合機１０１のローカルメモリである。
【００２５】
ＨＤＤ２３３は、複合機１０１のストレージである。ＩＣ（メモリ）カードスロット２３４は、リムーバブルなＩＣ（メモリ）カード２３５をセットするためのスロットである。
【００２６】
ＣＰＵ２１１は、ＭＥＭ−Ｃ２３２（通常、ＲＡＭを使用）をワークメモリとして用いることにより、ＭＥＭ−Ｐ２３１（通常、フラッシュメモリを用いる）、ＨＤＤ２３３等に格納されたソフトウェア（プログラム）に基づく処理を実行し、これらの要素で構成されるコンピュータを動作制御部として機能させる。
【００２７】
なお、ＭＥＭ−Ｃ２３２、ＨＤＤ２３３等に対するデータの読み出しや書き込みは、ＩＣ（メモリ）カードスロット２３４や後述されるＮＩＣ（ネットワークインタフェースコントローラ）２４７を介して行うことができる。プログラム（アプリケーション）の追加やバージョンアップをする際は、例えば、ＩＣ（メモリ）カード２３５に格納されたプログラムデータ又はネットワークを通して受信されるプログラムデータに関してインストール処理が実行されることにより、ＭＥＭ−Ｃ２３２又はＨＤＤ２３３にプログラムが書き込まれる。
【００２８】
図２より明らかなように、オペレーションボード２０２（操作部）の制御部（表示制御部）は、コントローラボード２０１上の動作制御部から独立している。すなわち、オペレーションボード２０２上に、独立した制御部（コンピュータ）を構成するＣＰＵ２４５、記憶部２４６等が搭載され、独立した制御動作が可能とされている。もちろん、操作部は、複合機１０１のユーザインターフェースとして機能するので、ユーザが入力操作を通して行う処理要求をスキャナ、プロッタ等の装置を制御する動作制御部へ仲介する処理等も行う。したがって、この場合にはコントローラボード２０１上の動作制御部と操作部との連携が必要になる。
【００２９】
このように、本実施の形態における操作部は、動作制御部との連携動作のほか、独自に操作部内の処理を行えるように、オペレーションボード２０２上にＣＰＵ２４５、記憶部２４６等を含む制御部（表示制御部）を構成するハードウェアを有する。機器ブラウザ２６２は、操作部の当該制御部に搭載される。
【００３０】
つまり、当該制御部を構成するハードウェアとして設けられたＣＰＵ２４５、記憶部２４６において、機器ブラウザ２６２等の、ユーザインターフェースとしての機能を実現するソフトウェア（プログラム）を動作させることで、表示制御部が実現される。
【００３１】
表示制御部は、操作部内の処理として、Ｗｅｂサーバ５０１等の外部機器が提供する情報（Ｗｅｂページ等）を機器ブラウザ２６２を通して取得する処理等を行う。例えば、表示制御部は、オペレーションボード２０２の液晶パネル等の表示部に表示させる表示画面の構成情報（Ｗｅｂページ）をＷｅｂサーバ５０１から取得し、取得した構成情報に基づいて、画面に表示する操作ボタン等の構築を行う（液晶パネルの表示画面の構成情報を取得する機器ブラウザ２６２の処理については、特許文献１のＭＦＰブラウザの動作を参照）。
【００３２】
また、表示制御部は、例えば、機器ブラウザ２６２によって処理されるＷｅｂページに含まれるスクリプトに基づいて、簡単な計算機能や、スケジュールに従って処理要求を行うファクシミリ送信機能等のためのスケジュールの設定機能を実現することも可能である。
【００３３】
「機器ブラウザ関連構成」
機器ブラウザ２６２に関連する構成について説明する。
【００３４】
コントローラボード２０１上の動作制御部から独立したオペレーションボード２０２上の表示制御部に搭載された機器ブラウザ２６２は、基本的には、処理要求において指定されたＷｅｂページをＷｅｂサーバ５０１等の外部機器又は自機内より取得し、表示させる。また、機器ブラウザ２６２は、Ｗｅｂページに含まれているスクリプトを解釈し、解釈結果に応じて動作制御部への処理要求等を行う。スクリプトに関しては、表示制御部が処理すべき（処理可能な）スクリプトと動作制御部が処理すべき（処理可能な）スクリプトとに分類される。動作制御部が処理すべきと判定されたスクリプトについては、当該スクリプトの実行指令が動作制御部に送信される。
【００３５】
図３は、本発明の実施の形態における複合機の機能構成例を示す図である。複合機１０１において、表示制御部２６１と動作制御部２５１とは、それぞれ独立して動作可能である。したがって、同図に示されるように、機能ブロックも動作制御部２５１と表示制御部２６１とに分離された構成となっている。動作制御部２５１と表示制御部２６１との間の連携動作は、通信部２５９と通信部２６９との間で情報をやり取りすることにより実現される。
【００３６】
表示制御部２６１は、機器ブラウザ２６２を有する。機器ブラウザ２６２は、ＨＴＭＬパーサー２６３、スクリプト判断部２６４、ブラウザ内スクリプト処理実行部２６５等の各処理部を有する。
【００３７】
ＨＴＭＬパーサー２６３は、処理対象とされたＷｅｂページにおけるＨＴＭＬによる表示画面の構成情報を解釈し、解釈結果に基づいて画面描画を行う。
【００３８】
スクリプト判断部２６４は、Ｗｅｂページに含まれているスクリプトを解釈する。スクリプト判断部２６４は、更に、動作制御部２５１が処理すべきスクリプトと、表示制御部２６１（機器ブラウザ２６２）において処理が可能なスクリプト（例えば、予め機器ブラウザ２６２に組み込まれたＪａｖａ（登録商標）スクリプト等）とを判断する。機器ブラウザ２６２において処理が可能なスクリプトについては、スクリプト処理実行部２６５が処理を実行する。すなわち、スクリプト処理実行部２６５は、機器ブラウザ２６２において処理が可能なスクリプト（例えば、Ｊａｖａ（登録商標）スクリプト）に対応するオブジェクトの実装である。
【００３９】
本実施の形態において、スクリプト判断部２６４による判断は、キーワード情報に基づいて行われる。キーワード情報とは、動作制御部２５１が処理すべきスクリプトのメソッド名又はパラメータ名（変数名）等を識別するための文字列（キーワード）群を含む情報をいう。後述されるように、動作制御部２５１が処理すべきスクリプトは、動作制御部２５１にインストールされるアプリに対応する。したがって、動作制御部２５１が処理すべきスクリプトは、動作制御部２５１にインストールされるアプリに対応するスクリプトであるともいえる。
【００４０】
本実施の形態において、キーワード情報を含むデータは、キーワード情報に含まれるメソッド名等に応じた処理を実行するプログラム（アプリ）と共に、表示制御部２６１からアクセス可能に保管される。
【００４１】
例えば、複合機１０１にインストールされるアプリのインストールパッケージファイルには、当該アプリが備えるメソッド名等を示すキーワード情報が同梱されている。動作制御部２５１にアプリが搭載（インストール）される際、当該アプリと共にインストールパッケージに同梱されているキーワード情報は、アクセス可能な形態で動作制御部２５１にインストールされる。したがって、キーワード情報は、アプリのインストールに応じて増加する。動作制御部２５１において、各キーワード情報は、別個のファイルに保管されてもよいし、一つのファイルに統合されて保管されてもよい。その後、表示制御部２６１は、動作制御部２５１で保管されているキーワード情報を適当な時期に取得し、スクリプト判断部２６４が利用できるように記憶部２４６に登録（記録）する。なお、キーワード情報を含むデータは、プログラム（アプリ）を提供するＷｅｂサーバ５０１等において、一元的に管理されていてもよい。この場合、キーワード情報は、Ｗｅｂサーバ５０１等より取得されればよい。
【００４２】
キーワード情報の登録処理に必要な手段として、表示制御部２６１は、キーワード情報取得部２６６、登録キーワード判断部２６７、及びキーワード情報登録部２６８等を有する。これら各部は、表示制御部２６１にインストールされた（例えば、記憶部２４６に記録された）プログラムが、ＣＰＵ２４５に実行させる処理により実現される。なお、これら各部は、機器ブラウザ２６２に含まれていてもよい。すなわち、機器ブラウザ２６２がＣＰＵ２４５に実行させる処理により実現されてもよい。
【００４３】
キーワード情報取得部２６６は、動作制御部２５１よりキーワード情報を取得する。登録キーワード判断部２６７は、取得されたキーワード情報において、登録対象とするキーワード情報を判断する。キーワード情報登録部２６８は、登録対象と判断されたキーワード情報を記憶部２４６に登録（記録）する。
【００４４】
動作制御部２５１は、通信部２５９及びスクリプト処理実行部２５３等の各処理部を有する。通信部２５９は、キーワード情報を表示制御部２６２に送信したり、スクリプトに応じた処理の実行指令を表示制御部２６１より受信したりする。なお、通信部２５９及び２６９は、図２のオペパネＩＦ２４１が有する通信機能に相当する。通信部２５９及び２６９は、例えば、図１に示したネットワークを介して行われる通信方法と同様の方法でデータ通信を行う。
【００４５】
スクリプト処理実行部２５３は、通信部２５９によって受信されたスクリプトの処理実行指令に指定されたメソッド名等に対応するアプリを動作させる。
【００４６】
例えば、スクリプトの処理実行指令に指定されたメソッド名等が、コピーアプリ２５４ａに対応するものであれば、スクリプト処理実行部２５３は、コピーアプリ２５４ａを駆動させる（呼び出す）。コピーアプリ２５４ａは、スキャナ１２１ｓ、プリンタ１２２等のハードウェア資源２５２を制御して、コピー処理を実行する。なお、図３には、アプリの一例として、コピーアプリ２５４ａ及びスキャンアプリ２５４ｂが図示されているが、プリンタアプリ、ＦＡＸアプリ等、他の機能を実現するアプリも存在する。また、ＩＣ（メモリ）カード２３５に格納されたプログラムデータによりアプリの追加やバージョンアップ等が可能である。例えば、図３では、アプリの追加やバージョンアップ等を行うアプリとしてインストール制御部２５５が存在する。スクリプトの処理実行指令に指定されたメソッド名等が、インストール制御部２５５に対応する場合、スクリプト処理実行部２５３は、インストール制御部２５５を駆動させる。インストール制御部２５５は、ＩＣ（メモリ）カード２３５等のハードウェア資源２５２の動作を制御することにより、プログラムの追加やバージョンアップを実行する。
【００４７】
「スクリプトの処理」
続いて、機器ブラウザ２６２が実行するスクリプトの実行処理について説明する。図４は、機器ブラウザにおけるスクリプト実行処理の処理手順の一例を説明するためのフローチャートである。同図では、機器ブラウザ２６２によって、スクリプトを含むＷｅｂページがＷｅｂサーバ５０１より取得され、当該Ｗｅｂページに基づいて表示画面が表示部に表示されている状態を初期状態とする。
【００４８】
表示画面又はオペレーションボード２０２を介して指示入力がユーザより入力されると、機器ブラウザ２６２は、指示入力に応じたスクリプトの処理を開始する。まず、スクリプト判断部２６４は、指示入力に応じたスクリプトの記述を判定し、当該スクリプトの記述について、動作制御部２５１が処理を実行すべきであるか否かを判断する（ステップＳ１０１）。すなわち、動作制御部２５１にインストールされたアプリに対応したスクリプトであるか否かが判断される。この判断は、キーワード情報登録部２６８によって記憶部２４６に登録されているキーワード情報を用いて行われる。
【００４９】
図５は、キーワード情報の例を示す図である。同図に示されるように、キーワード情報は、動作制御部２５１が処理を実行すべきスクリプトのメソッド名又はアトリビュート名（変数名）等を示す文字列の一覧（文字列群）である。なお、キーワード情報に含まれる文字列には、正規表現が用いられてもよい。例えば、「Ｓｙｓｔｅｍ」によって始まる全てのスクリプトは、動作制御部２５１によって処理されるべきスクリプトである場合、「Ｓｙｓｔｅｍ＊」という文字列が、キーワード情報に含まれていてもよい。
【００５０】
スクリプト判断部２４６は、ステップＳ１０１において、指示入力に応じたスクリプトの記述に合致する文字列が、キーワード情報に含まれているか否かを判断する。ここで、合致するとは、文字列として両者が完全に一致することに限定されない。すなわち、スクリプトの記述とは、Ｗｅｂページ内における、メソッドの呼び出し、アトリビュートに対する値の代入、又はアトリビュートからの値の取得等を示す記述である。したがって、スクリプトの記述は、スクリプト言語の文法に従って記述されている。よって、例えば、スクリプトの記述内に、キーワード情報に含まれている文字列が含まれているか否かが、ステップＳ１０１において判断される。
【００５１】
ステップＳ１０１の判断結果に応じて処理は分岐する。すなわち、指示入力に応じたスクリプトの記述に合致する文字列がキーワード情報に含まれている場合（Ｓ１０２でＹｅｓ）、スクリプト判断部２４６は、通信部２６９を通して、当該スクリプトの処理実行指令を動作制御部２５１に送信する（ステップＳ１０３）。当該処理実行指令には、指示入力に応じたスクリプトの記述が含まれる。当該記述は、例えば、メソッドの呼び出し、アトリビュートに対する値の代入、又はアトリビュートからの値の取得等である。当該処理実行指令は、通信部２５９を介してスクリプト処理実行部２５３に通知される。スクリプト処理実行部２５３は、当該処理実行指令に指定されたスクリプトの記述（メソッド名又はアトリビュート名等）に対応するアプリを駆動させる（呼び出す）。スクリプトの記述とアプリとの対応は、動作制御部２５１においてアプリごとに管理されているキーワード情報と当該スクリプトの記述とを照合することにより判定されればよい。すなわち、当該スクリプトの記述と合致するキーワードを含むキーワード情報に係るアプリが、呼び出されるアプリである。なお、動作制御部２５１では、例えば、アプリがインストールされる際に、当該アプリに付属されているキーワード情報が、アプリに関連付けられてＨＤＤ２３３等に保存される。その結果、キーワード情報はアプリごとに管理される。
【００５２】
一方、指示入力に応じたスクリプトの記述に合致する文字列がキーワード情報に含まれていない場合（ステップＳ１０２でＮｏ）、スクリプト処理実行部２６５は、当該スクリプトの処理を実行する（ステップＳ１０４）。すなわち、表示制御部２６１内（機器ブラウザ２６２内）において当該スクリプトの処理が実行される。
【００５３】
ステップＳ１０３又はＳ１０４の実行後、表示制御部２６１が行うスクリプトの処理は終了する。
【００５４】
「指令実行不可時の対応」
記憶部２４６に登録されているキーワード情報が、アプリのインストール等に応じて動作制御部２５１内に保管されたキーワード情報である場合、スクリプト判断部２６４による判断結果と、動作制御部２５１によって実行可能なスクリプトとの間に不整合が生じる可能性は低い。記憶部２４６に登録されているキーワード情報は、動作制御部２５１における、アプリのインストール状況に沿ったものであるからである。
【００５５】
一方、例えば、Ｗｅｂサーバ５０１等の外部機器において一元的に管理されているキーワード情報がネットワークを介して取得され、記憶部２４６に登録された場合、スクリプト判断部２６４によって動作制御部２５１が実行すべきと判断されたスクリプトを、動作制御部２５１が必ずしも実行可能であるとは限らない。当該スクリプトに対応したアプリが、動作制御部２５１にインストールされていない可能性があるからである。また、当該スクリプトが、複合機１０１が有するハードウェア資源では実行できないものである可能性があるからである。
【００５６】
この場合、動作制御部２５１は、スクリプト処理の実行不可の通知を表示制御部２６１に送信する。表示制御部２６１は、当該通知に応じて、ユーザの指示した処理は実行できなかった旨を知らせるメッセージの表示をオペレーションボード２０２の表示部を通じて行う。当該メッセージには、指示入力に対応した対応するプログラム（アプリ）が無い等の理由が含まれるとよい。
【００５７】
または、スクリプト処理を実行できない理由が、対応するアプリが無いことである場合、インストール制御部２５５が、当該アプリを自動的にインストールするようにしてもよい。スクリプト処理実行部２５３は、インストールの完了後に、インストールされたアプリを駆動させ、スクリプトの記述に応じた処理を実行させる。こうすることにより、インストールに要する時間分、スクリプトの処理時間が長くなる可能性は有るものの、記憶部２４６におけるキーワード情報と、動作制御部２５１におけるアプリのインストール状況との間の不整合をユーザに意識させることなく、ユーザの指示に応じた処理を遂行することができる。
【００５８】
なお、この場合、キーワード情報には、スクリプトごと（メソッド名又はアトリビュート名ごと）に、当該スクリプトに対応したアプリのダウンロード先のアドレス情報（ＵＲＬ（Uniform Resource Locator）又はＩＰアドレス等）が記述されていてもよい。インストール制御部２５５は、当該アドレス情報に基づいて、インストール対象とするアプリのダウンロード先を判定すればよい。又は、当該ダウンロード先は、固定的（全てのスクリプトに関して共通）であってもよい。この場合、例えば、ＨＤＤ２３３に、アプリのダウンロード先のアドレス情報が記録されていればよい。
【００５９】
「キーワード情報の管理」
上記「機器ブラウザ関連構成」及び「スクリプトの処理」で述べたように、表示制御部２６１は、動作制御部２５１で処理が可能なスクリプトであるか又は機器ブラウザ２６２内で処理が可能なスクリプトであるかを、キーワード情報に基づいて判断する。当初、キーワード情報は、アプリのインストールに応じて動作制御部２５１に保管されている。表示制御部２６１は、適当な時期に動作制御部２５１よりキーワード情報を取得し、記憶部２４６に登録する。
【００６０】
スクリプト判断部２６４が適正な判断をするためには、動作制御部２５１におけるアプリの最新のインストール状況に沿ったキーワード情報が判断に利用されることが望ましい。動作制御部２５１におけるアプリのインストール又はバージョンアップ等は、経時的に行われるので、適切なタイミングで最新のキーワード情報が表示制御部２６２に取得される必要がある。
【００６１】
例えば、キーワード情報は、ユーザによって指示入力が行われるたびに動作制御部２５１より取得されてもよい。但し、この場合、指示入力に応じた処理の負荷が高くなり、指示入力に応じた処理の実行時間が大きくなってしまうことが考えられる。そこで、ＣＰＵの処理能力等によって変化しうる、キーワード情報の取得処理の要処理時間との兼ね合いで、キーワード情報の取得処理の実行時期が選択されてもよい。具体的には、表示制御部２６１若しくは機器ブラウザ２６２の初期化時、又は複合機１０１の電源オン時等、動作制御部２５１でアプリが利用される前の適当な時期に、キーワード情報の取得処理が実行されてもよい。また、定期的にキーワード情報の取得処理が実行されてもよい。
【００６２】
キーワード情報は、Ｗｅｂサーバ５０１、アプリを管理しているサーバ、又は他の複合機等から取得されてもよい。そうすることにより、表示制御部２６１と動作制御部２５１との間に通信障害が生じた場合、表示制御部２６１は、外部よりキーワード情報を取得することが可能となる。この場合、キーワード情報の取得先に優先順位が設けられてもよい。
【００６３】
また、キーワード情報は、動作制御部２５１が各アプリを駆動させる（呼び出す）ための識別情報でもある。そして、キーワード情報に含まれる各キーワードとアプリとの対応関係は、アプリの開発時に決まる。したがって、各アプリのキーワード情報は、アプリを構成するプログラムとともに用意することができ、当該プログラムとともにアプリに付属させて流通させることができる。例えば、キーワード情報が記述されたファイルを、アプリのインストールパッケージに格納して流通させることができる。そうすることにより、動作制御部２５１へのアプリのインストールと同時に、当該アプリのキーワード情報を、動作制御部２５１に搭載することができる。
【００６４】
キーワード情報が、アプリごとにインストールパッケージに格納される場合、キーワード情報が記述されたファイルのファイル形式の統一性が損なわれる可能性がある。アプリは、複数のベンダによって開発される可能性があり、ベンダ間において、キーワード情報のファイル形式について、認識の一致が図られない可能性があるからである。キーワード情報のファイル形式が統一されていない場合、スクリプトの実行処理が煩雑となったり、当該実行処理が正常に実行されなかったりする可能性がある。
【００６５】
そこで、キーワード情報を取得する表示制御部２６１側で、取得したキーワード情報を統一した形式に変換して記憶部２４６に登録するようにしてもよい。キーワード情報が統一した形式に変換されることにより、キーワード情報の管理も容易となり、キーワード情報を利用した処理の性能の劣化を回避することもできる。
【００６６】
次に、キーワード情報の取得及び登録処理について説明する。図６は、キーワード情報の取得及び登録処理の処理手順の一例を説明するためのフローチャートである。同図に示される処理手順は、機器ブラウザ２６２の初期化処理の過程においてキーワード情報の取得等が実行される例を示す。
【００６７】
電源オン時又はスリープ状態（省エネ状態）からの復帰時に、表示制御部２６１の初期化処理が起動されると、機器ブラウザ２６２は、オペレーションボード２０２を介して行われるユーザの入力操作による処理要求等を受付けるために必要な初期化処理を行う（ステップＳ２０１）。
【００６８】
初期化処理において、キーワード情報取得部２６６は、動作制御部２５１（同様の初期化処理によって起動されている）より、通信部２５９，２６９を介してキーワード情報が記述されたファイル（キーワードファイル）を取得する（ステップＳ２０２）。
【００６９】
続いて、キーワード情報登録部２６８は、取得されたキーワードファイルを記憶部２４６に記録する（ステップＳ２０３）。
【００７０】
取得されたキーワードファイルには、最新のキーワード情報が含まれている。したがって、図６の処理が実行されることにより、記憶部２４６におけるキーワード情報は、最新の状態に更新される。その結果、スクリプト判断部２６４は、動作制御部２５１が実行すべきスクリプトの判断について、適正な判断を行うことが可能になる。なお、図６の処理フローには示されていないが、動作制御部２５１から取得されたキーワード情報の中に登録条件を満たさないキーワードが含まれている場合、登録キーワード判断部２６７は、当該キーワードを登録対象から排除する。登録条件を満たさないキーワードとは、例えば、キーワードに関する書式（文法）を満たしていないキーワードである。
【００７１】
ステップＳ２０３の処理が終了すると、機器ブラウザ２６２は、ユーザの指示入力に応じた処理を実行可能な状態となる。
【００７２】
上述したように、本実施の形態によれば、動作制御部２５１で処理を実行することが可能なスクリプトを識別するためのキーワード情報は、アプリの拡張又はバージョンアップのためにプログラムと共に、動作制御部２５１にインストールされる。その後、表示制御部２６１は、キーワード情報を動作制御部２５１より取得し、記憶部２４６に登録する。そして、アプリの拡張又はバージョンアップ等に応じたスクリプトは、キーワード情報に基づいて判断され、当該スクリプトの実行指令が動作制御部２５１に送信される。
【００７３】
したがって、アプリの拡張又はバージョンアップに応じた改変を、機器ブラウザ２６２に関して行う必要性を著しく低減させることができる。その結果、機能拡張に応じた差牛負担を低減することができる。
【００７４】
また、表示制御部２６１において、キーワード情報を保存するデバイス（記憶部２４６）は、フラッシュメモリ以外を用いることが可能である。したがって、記憶部２４６に対するキーワード情報の書き換えも容易に行えるようになる。
【００７５】
ところで、複合機１０１の外部の端末（外部端末）に、表示制御部２６１が実装されてもよい。図７は、複合機の外部端末に表示制御部が実装された例を示す図である。図７中、図３と同一部分には同一符号を付し、その説明は省略する。
【００７６】
同図において、外部端末３０１は、例えば、携帯電話、ＰＤＡ（Personal Digital Assistance）、又はスマートフォン等の携帯型の端末である。図７に示される構成によれば、Ｗｅｂサーバ５０１より外部端末３０１にダウンロードされ、外部端末３０１において表示されたＷｅｂページに含まれているスクリプトに基づいて、複合機１０１を制御することができる。例えば、外部端末３０１において、Ｗｅｂページに基づいて表示されている表示画面に対する指示入力に応じ、当該指示入力によって実行されるべきスクリプトの記述が、キーワード情報に含まれているキーワードに合致する場合、当該スクリプトに応じた処理は、複合機１０１において実行される。図７において、通信部２５９と通信部２６９との間の通信は、無線ＬＡＮ又は近距離無線通信等によって行われればよい。
【００７７】
なお、同図において、複合機１０１の表示制御部２６１は省略されているが、これは便宜的なものである。
【００７８】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００７９】
１０１        複合機
２０１        コントローラボード
２０２        オペレーションボード
２１１、２４５        ＣＰＵ
２４１        オペパネインターフェース
２４７        ＮＩＣ
２５１        動作制御部
２５３        スクリプト処理実行部
２６１        表示制御部
２６２        機器ブラウザ
２６３        ＨＴＭＬパーサー
２６４        スクリプト判断部
２６５        ブラウザ内スクリプト処理実行部
２６６        キーワード情報取得部
２６７        登録キーワード判断部
２６８        キーワード情報登録部
２６６        キーワード情報取得部
２５９、２６９        通信部
【先行技術文献】
【特許文献】
【００８０】
【特許文献１】特開２００６−３５２８４５号公報
【図１】
2011159277.tif 000003
【図２】
2011159277.tif 000004
【図３】
2011159277.tif 000005
【図４】
2011159277.tif 000006
【図５】
2011159277.tif 000007
【図６】
2011159277.tif 000008
【図７】
2011159277.tif 000009