(57)【要約】【課題】  ハードウェア資源を制御するためのアプリケーションプログラムの開発を容易にすること。【解決手段】  画像形成装置は、ハードウェア資源を制御するオペレーティング部５７と、内部コマンドが入力されると、内部コマンドに対して予め定められた処理を実行するＭＦＰ制御部５５と、アプリケーションプログラムを実行し、公開された簡易コマンドまたはアプリコマンドを出力するアプリ実行部５１と、内部コマンドをＭＦＰ制御部５５に出力するアプリケーション制御部５３と、を備え、アプリケーション制御部５３は、アプリ実行部５１により出力される簡易コマンドを、少なくとも１つのアプリコマンドに変換する簡易コマンド変換部６３と、アプリコマンドを内部コマンドに変換するアプリコマンド変換部６１と、を含む。【選択図】        図５
2014021693.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェア資源を制御するオペレーティング手段と、
内部コマンドが入力されると、前記オペレーティング手段に前記ハードウェア資源を制御させるために、前記入力された内部コマンドに対して予め定められた処理を実行する内部制御手段と、
アプリケーションプログラムを実行し、前記内部制御手段を制御するために公開された簡易コマンドまたはアプリコマンドを出力するアプリ実行手段と、
前記アプリ実行手段により出力された簡易コマンドまたはアプリコマンドを前記内部コマンドに変換し、変換された前記内部コマンドを前記内部制御手段に出力するアプリケーション制御手段と、を備え、
前記アプリケーション制御手段は、前記アプリ実行手段により出力される前記簡易コマンドを、少なくとも１つの前記アプリコマンドに変換する簡易コマンド変換手段と、
前記アプリ実行手段により出力される前記アプリコマンド、または前記簡易コマンド変換手段により前記簡易コマンドから変換された１以上の前記アプリコマンドを、前記内部コマンドに変換するアプリコマンド変換手段と、を含む、画像形成装置。
【請求項２】
アプリケーションプログラムをインストールするインストール手段を、さらに備え、
前記アプリ実行手段は、前記インストールされたアプリケーションプログラムを実行する、請求項１に記載の画像形成装置。
【請求項３】
前記アプリ実行手段は、前記インストール手段により複数種類のアプリケーションプログラムがインストールされる場合、前記複数種類のアプリケーションプログラムの１以上を実行する、請求項１に記載の画像形成装置。
【請求項４】
画像形成装置で実行されるアプリケーション実行方法であって、
前記画像形成装置は、
ハードウェア資源を制御するオペレーティング手段と、
内部コマンドが入力されると、前記オペレーティング手段に前記ハードウェア資源を制御させるために、前記入力された内部コマンドに対して予め定められた処理を実行する内部制御手段と、
アプリケーションプログラムを実行し、前記内部制御手段を制御するために公開された簡易コマンドまたはアプリコマンドを出力するアプリ実行手段と、を備え、
前記アプリ実行手段により出力される前記簡易コマンドを、少なくとも１つの前記アプリコマンドに変換する簡易コマンド変換ステップと、
前記アプリ実行手段により出力される前記アプリコマンド、または前記簡易コマンド変換ステップにおいて前記簡易コマンドから変換された１以上の前記アプリコマンドを、前記内部コマンドに変換するアプリコマンド変換ステップと、
前記変換された内部コマンドを前記内部制御手段に出力する出力ステップと、を含む、アプリケーション実行方法。
【請求項５】
画像形成装置を制御するコンピューターで実行されるアプリケーション実行プログラムであって、
前記コンピューターは、
ハードウェア資源を制御するオペレーティング手段と、
内部コマンドが入力されると、前記オペレーティング手段に前記ハードウェア資源を制御させるために、前記入力された内部コマンドに対して予め定められた処理を実行する内部制御手段と、
アプリケーションプログラムを実行し、前記内部制御手段を制御するために公開された簡易コマンドまたはアプリコマンドを出力するアプリ実行手段と、を備え、
前記アプリ実行手段により出力される前記簡易コマンドを、少なくとも１つの前記アプリコマンドに変換する簡易コマンド変換ステップと、
前記アプリ実行手段により出力される前記アプリコマンド、または前記簡易コマンド変換ステップにおいて前記簡易コマンドから変換された１以上の前記アプリコマンドを、前記内部コマンドに変換するアプリコマンド変換ステップと、
前記変換された内部コマンドを前記内部制御手段に出力する出力ステップと、を前記コンピューターに実行させる、アプリケーション実行プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は画像形成装置、アプリケーション実行方法、およびアプリケーション実行プログラムに関し、特に、アプリケーションプログラムをインストール可能な画像形成装置、その画像形成装置で実行されるアプリケーション実行方法、およびアプリケーション実行プログラムに関する。
【背景技術】
【０００２】
近年、複合機（ＭＦＰ）で代表される画像形成装置において、アプリケーションプログラムをインストールすることが可能になっているものがあり、ユーザーは、使用形態に応じたアプリケーションプログラムをインストールすることによって、ＭＦＰをカスタマイズすることができる。
【０００３】
特開２００２−０８４３８３号公報には、各アプリケーションの共通部分を共通システムサービスとして括りだし、この共通システムサービスおよび汎用ＯＳによってプラットホームを形成し、該プラットホーム上にプリンタアプリ、コピーアプリおよび各種アプリを搭載する画像形成装置が記載されている。
【０００４】
従来の画像形成装置によれば、各アプリケーションの共通部分が、共通システムサービスとしてプラットホームに形成されるので、新たなアプリケーションを開発する開発者は、共通システムサービスおよび汎用ＯＳを理解しなければならないといった問題があった。このため、アプリケーションの開発者には、画像形成装置のハードウェア資源を制御するための高度な能力が要求される。
【特許文献１】特開２００２−０８４３８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の１つは、ハードウェア資源を制御するためのアプリケーションプログラムの開発を容易にした画像形成装置を提供することである。
【０００６】
この発明の他の目的は、ハードウェア資源を制御するためのアプリケーションプログラムの開発を容易にしたアプリケーション実行方法を提供することである。
【０００７】
この発明のさらに他の目的は、ハードウェア資源を制御するためのアプリケーションプログラムの開発を容易にしたアプリケーション実行プログラムを提供することである。
【課題を解決するための手段】
【０００８】
上述した目的を達成するためにこの発明のある局面によれば、画像形成装置は、ハードウェア資源を制御するオペレーティング手段と、内部コマンドが入力されると、オペレーティング手段にハードウェア資源を制御させるために、入力された内部コマンドに対して予め定められた処理を実行する内部制御手段と、アプリケーションプログラムを実行し、内部制御手段を制御するために公開された簡易コマンドまたはアプリコマンドを出力するアプリ実行手段と、アプリ実行手段により出力された簡易コマンドまたはアプリコマンドを内部コマンドに変換し、変換された内部コマンドを内部制御手段に出力するアプリケーション制御手段と、を備え、アプリケーション制御手段は、アプリ実行手段により出力される簡易コマンドを、少なくとも１つのアプリコマンドに変換する簡易コマンド変換手段と、アプリ実行手段により出力されるアプリコマンド、または簡易コマンド変換手段により簡易コマンドから変換された１以上のアプリコマンドを、内部コマンドに変換するアプリコマンド変換手段と、を含む。
【０００９】
この局面に従えば、アプリケーションプログラムを実行するアプリ実行手段により簡易コマンドが出力されると、簡易コマンドをアプリコマンドに変換し、アプリ実行手段により出力されるアプリコマンド、またはアプリ実行手段により出力される簡易コマンドから変換された１以上のアプリコマンドを、内部コマンドに変換し、内部コマンドに対して予め定められた処理を実行することにより、ハードウェア資源を制御する。このため、アプリコマンドに代えて簡易コマンドを用いてアプリケーションプログラムを記述することができるので、ハードウェア資源を制御するためのアプリケーションプログラムの開発を容易にした画像形成装置を提供することができる。
【００１０】
好ましくは、アプリケーションプログラムをインストールするインストール手段を、さらに備え、アプリ実行手段は、インストールされたアプリケーションプログラムを実行する。
【００１１】
好ましくは、アプリ実行手段は、インストール手段により複数種類のアプリケーションプログラムがインストールされる場合、複数種類のアプリケーションプログラムの１以上を実行する。
【００１２】
この発明の他の局面によれば、アプリケーション実行方法は、画像形成装置で実行されるアプリケーション実行方法であって、画像形成装置は、ハードウェア資源を制御するオペレーティング手段と、内部コマンドが入力されると、オペレーティング手段にハードウェア資源を制御させるために、入力された内部コマンドに対して予め定められた処理を実行する内部制御手段と、アプリケーションプログラムを実行し、内部制御手段を制御するために公開された簡易コマンドまたはアプリコマンドを出力するアプリ実行手段と、を備え、アプリ実行手段により出力される簡易コマンドを、少なくとも１つのアプリコマンドに変換する簡易コマンド変換ステップと、アプリ実行手段により出力されるアプリコマンド、または簡易コマンド変換ステップにおいて簡易コマンドから変換された１以上のアプリコマンドを、内部コマンドに変換するアプリコマンド変換ステップと、変換された内部コマンドを内部制御手段に出力する出力ステップと、を含む。
【００１３】
この局面に従えば、ハードウェア資源を制御するためのアプリケーションプログラムの開発を容易にしたアプリケーション実行方法を提供することができる。
【００１４】
この発明のさらに他の局面によれば、アプリケーション実行プログラムは、画像形成装置を制御するコンピューターで実行されるアプリケーション実行プログラムであって、コンピューターは、ハードウェア資源を制御するオペレーティング手段と、内部コマンドが入力されると、オペレーティング手段にハードウェア資源を制御させるために、入力された内部コマンドに対して予め定められた処理を実行する内部制御手段と、アプリケーションプログラムを実行し、内部制御手段を制御するために公開された簡易コマンドまたはアプリコマンドを出力するアプリ実行手段と、を備え、アプリ実行手段により出力される簡易コマンドを、少なくとも１つのアプリコマンドに変換する簡易コマンド変換ステップと、アプリ実行手段により出力されるアプリコマンド、または簡易コマンド変換ステップにおいて簡易コマンドから変換された１以上のアプリコマンドを、内部コマンドに変換するアプリコマンド変換ステップと、変換された内部コマンドを内部制御手段に出力する出力ステップと、をコンピューターに実行させる。
【００１５】
この局面に従えば、ハードウェア資源を制御するためのアプリケーションプログラムの開発を容易にしたアプリケーション実行プログラムを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態の１つにおける画像形成システムの全体概要を示す図である。
【図２】ＭＦＰの外観の一例を示す斜視図である。
【図３】ＭＦＰのハードウェア構成の一例を示すブロック図である。
【図４】ＭＦＰが備えるＣＰＵのソフトウェアアーキテクチャの一例を示す図である。
【図５】本実施の形態の一つにおけるＭＦＰが備えるＣＰＵが有する機能の一例を示すブロック図である。
【図６】解像度を変更する処理においてアプリコマンドと内部コマンドとの関係を示す図である。
【図７】解像度を変更する処理を定めた簡易コマンドと内部コマンドとの関係を示す図である。
【図８】本実施の形態におけるアプリケーション制御処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００１８】
図１は、本発明の実施の形態の１つにおける画像形成システムの全体概要を示す図である。図１を参照して、画像形成システム１は、それぞれがネットワーク３に接続された複合機（以下、「ＭＦＰ」という）１００と、パーソナルコンピューター（以下、「ＰＣ」という）２００，２００Ａ、２００Ｂと、を含む。このため、ＭＦＰ１００は、ネットワーク３を介してＰＣ２００，２００Ａ、２００Ｂと互いに通信可能である。
【００１９】
なお、図ではネットワーク３に、画像形成装置の一例として１台のＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）１００が接続される例を示しているが、ＭＦＰの数はこれに限定されるものではなく、１台以上であればよい。また、ＭＦＰ１００に代えて、画像を処理する機能を備えた装置であれば、例えば、コンピューター、ファクシミリ、プリンタ等であってもよい。
【００２０】
図２は、ＭＦＰの外観の一例を示す斜視図である。図３は、ＭＦＰのハードウェア構成の一例を示すブロック図である。図２および図３を参照して、画像形成装置として機能するＭＦＰ１００は、メイン回路１１０と、原稿を読み取るための原稿読取部１３０と、原稿を原稿読取部１３０に搬送するための自動原稿搬送装置１２０と、原稿読取部１３０が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部１４０と、画像形成部１４０に用紙を供給するための給紙部１５０と、ユーザーインターフェースとしての操作パネル１６０とを含む。
【００２１】
メイン回路１１０は、ＣＰＵ１１１と、通信インターフェース（Ｉ／Ｆ）部１１２と、ＲＯＭ１１３と、ＲＡＭ１１４と、大容量記憶装置としてのハードディスクドライブ（ＨＤＤ）１１５と、ファクシミリ部１１６と、外部記憶装置１１７と、を含む。ＣＰＵ１１１は、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０および操作パネル１６０と接続され、ＭＦＰ１００の全体を制御する。
【００２２】
自動原稿搬送装置１２０は、原稿給紙トレイ上にセットされた複数枚の原稿を１枚ずつ自動的に原稿読取部１３０のプラテンガラス上に設定された所定の原稿読み取り位置まで搬送し、原稿読取部１３０により原稿画像が読み取られた原稿を原稿排紙トレイ上に排出する。原稿読取部１３０は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、画像形成部１４０に出力する。給紙部１５０は、給紙トレイに収納された用紙を画像形成部１４０に搬送する。
【００２３】
画像形成部１４０は、周知の電子写真方式により画像を形成するものであって、原稿読取部１３０から入力される画像データにシェーディング補正などの各種のデータ処理を施した、データ処理後の画像データまたは、外部から受信された画像データに基づいて、給紙部１５０により搬送される用紙に画像を形成する。
【００２４】
ファクシミリ部１１６は、公衆交換電話網（ＰＳＴＮ）に接続され、ＰＳＴＮにファクシミリデータを送信する、またはＰＳＴＮからファクシミリデータを受信する。ファクシミリ部１１６は、受信したファクシミリデータを、ＨＤＤ１１５に記憶するか、または、画像形成部１４０でプリント可能なプリントデータに変換して、画像形成部１４０に出力する。これにより、画像形成部１４０は、ファクシミリ部１１６により受信されたファクシミリデータの画像を用紙に形成する。また、ファクシミリ部１１６は、ＨＤＤ１１５に記憶されたデータをファクシミリデータに変換して、ＰＳＴＮに接続されたファクシミリ装置に送信する。
【００２５】
通信Ｉ／Ｆ部１１２は、ネットワーク３にＭＦＰ１００を接続するためのインターフェースである。通信Ｉ／Ｆ部１１２は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）またはＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等の通信プロトコルで、ネットワーク３に接続された他のコンピューターまたは画像形成装置と通信する。なお、通信Ｉ／Ｆ部１１２が接続されるネットワーク３は、ローカルエリアネットワーク（ＬＡＮ）であり、接続形態は有線または無線を問わない。またネットワーク３は、ＬＡＮに限らず、ワイドエリアネットワーク（ＷＡＮ）、公衆交換電話網（ＰＳＴＮ）、インターネット等であってもよい。
【００２６】
ＲＯＭ１１３は、ＣＰＵ１１１が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。ＲＡＭ１１４は、ＣＰＵ１１１がプログラムを実行する際の作業領域として用いられる。また、ＲＡＭ１１４は、原稿読取部１３０から連続的に送られてくる読取画像を一時的に記憶する。
【００２７】
操作パネル１６０は、液晶表示装置（ＬＣＤ）１６５と、ＬＣＤ１６５の表示を制御する表示制御部１６１と、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）１６３と、タッチパネル１６９と、ハードキー部１７０と、タッチパネル１６９およびハードキー部１７０を制御する入力制御部１６７と、を含む。ＬＣＤ１６５およびハードキー部１７０は、ＭＦＰ１００の上面に設けられる。
【００２８】
表示制御部１６１は、ＣＰＵ１１１、ＶＲＡＭ１６３およびＬＣＤ１６５と接続される。ＶＲＡＭ１６３は、表示制御部１６１の作業領域として用いられ、ＬＣＤ１６５に表示する画像を一時記憶する。表示制御部１６１は、ＣＰＵ１１１により制御されて、ＬＣＤ１６５を制御し、ＬＣＤ１６５にＶＲＡＭ１６３に記憶された画像を表示させる。表示制御部１６１は、後述する操作画面をＬＣＤ１６５に表示させる。
【００２９】
ハードキー部１７０は、複数のハードキーを含む。ハードキーは、接点スイッチであり、入力制御部１６７に接続される。ハードキーは、操作ユーザーにより押下されると接点を閉じて、入力制御部１６７に接続される回路を閉じる。ハードキーは、ＭＦＰ１００を操作する操作ユーザーにより押下されている間は回路を閉じ、操作ユーザーにより押下されていない間は回路を開く。
【００３０】
タッチパネル１６９は、ＬＣＤ１６５の上面または下面に設けられ、操作ユーザーにより押下された位置の座標を入力制御部１６７に出力する。タッチパネル１６９は、操作ユーザーが指またはスタイラスペンで指示した位置を検出し、検出した位置の座標を入力制御部１６７に出力する。タッチパネル１６９は、ＬＣＤ１６５の表示面と同じまたはそれ以上のサイズであるのが好ましい。タッチパネル１６９は、ＬＣＤ１６５に重畳して設けられるので、タッチパネル１６９は、操作ユーザーがＬＣＤ１６５の表示面を指示すれば、ＬＣＤ１６５の表示面中で操作ユーザーが指示した位置の座標を入力制御部１６７に出力する。タッチパネルは、例えば、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式、静電容量方式を用いることができ、その方式は限定されない。
【００３１】
入力制御部１６７は、ハードキー部１７０のうちで回路を閉じたハードキーが存在する場合、回路を閉じたハードキーの識別情報をＣＰＵ１１１に出力する。また、入力制御部１６７は、タッチパネル１６９が操作ユーザーにより指示された位置を検出する場合、タッチパネル１６９から出力される座標を、ＬＣＤ１６５の表示面の位置を示す位置情報としてＣＰＵ１１１に出力する。
【００３２】
外部記憶装置１１７は、ＣＰＵ１１１により制御され、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１８が装着される。ＣＰＵ１１１は、外部記憶装置１１７を介してＣＤ−ＲＯＭ１１８または半導体メモリにアクセス可能である。ＣＰＵ１１１は、外部記憶装置１１７に装表されたＣＤ−ＲＯＭ１１８に記録されたプログラムをＲＡＭ１１４にロードして実行する。なお、ＣＰＵ１１１が実行するプログラムは、ＣＤ−ＲＯＭ１１８に記録されたプログラムに限られず、ＨＤＤ１１５に記憶されたプログラムをＲＡＭ１１４にロードして実行するようにしてもよい。この場合、通信Ｉ／Ｆ部１１２に接続されるネットワークを介して、ネットワークに接続された他のコンピューターが、ＭＦＰ１００のＨＤＤ１１５に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、ＭＦＰ１００が、ネットワークに接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをＨＤＤ１１５に記憶するようにしてもよい。ここでいうプログラムは、ＣＰＵ１１１が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００３３】
なお、ＣＰＵ１１１が実行するプログラムを記憶する媒体としては、ＣＤ−ＲＯＭ１１８に限られず、光ディスク（ＭＯ（Ｍａｇｎｅｔｉｃ  Ｏｐｔｉｃａｌ  Ｄｉｓｃ／ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）／ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ））、ＩＣカード、光カード、マスクＲＯＭ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  ＥＰＲＯＭ）などの半導体メモリであってもよい。
【００３４】
ＰＣ２００，２００Ａ，２００Ｂは、一般的なコンピューターである。そのハードウェア構成および機能は周知なのでここでは説明を繰り返さない。
【００３５】
図４は、ＭＦＰが備えるＣＰＵのソフトウェアアーキテクチャの一例を示す図である。図４を参照して、ＣＰＵ１１１には、オペレーティングシステム（ＯＳ）層が形成され、その上の階層に、ＭＦＰプロセス層が形成される。ＭＦＰプロセス層の上層に、アプリケーションプラットフォーム（ＰＦ）層、アプリケーション層の順に形成される。
【００３６】
ＯＳ層は、ＣＰＵ１１１がＯＳプログラムを実行するタスクが属する。ＯＳ層に属するタスクは、ＭＦＰ１００のハードウェア資源を制御する処理を実行する。ハードウェア資源は、ここでは、通信Ｉ／Ｆ部１１２、ＲＯＭ１１３、ＲＡＭ１１４、ＨＤＤ１１５、ファクシミリ部１１６、外部記憶装置１１７、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０、表示制御部１６１および入力制御部１６７を含む。ＯＳ層に属するタスクは、ＭＦＰプロセス層から入力されるオペレーティングコマンドに従って、ハードウェア資源を制御する。
【００３７】
アプリケーション層は、ＣＰＵ１１１がアプリケーションプログラムを実行するタスクが属する。複数種類のアプリケーションプログラムがＭＦＰ１００にインストールされる場合、アプリケーション層に、複数種類のアプリケーションプログラムをそれぞれ実行する複数のタスクが属する場合がある。アプリケーションプログラムは、ＭＦＰ１００に、コピー処理、スキャン処理、プリント処理、ファクシミリ送受信処理、データ送受信処理等を実行させるために、ユーザーインターフェース等をカスタマイズするためのプログラムを含む。なお、アプリケーションプログラムは、これらに限定されることなく、これとは別のアプリケーションプログラムであってもよい。アプリケーションプログラムは、特に限定するものではないが、例えば、Ｐｙｔｈｏｎ等のプログラミング言語で記述される。
【００３８】
アプリケーションプログラムを実行するタスクは、アプリケーションプログラムによって定められた複数種類の処理を実行する。複数種類の処理は、ＭＦＰプロセス層において実行される処理をＭＦＰプロセス層に属するタスクに実行させる処理を含む。アプリケーションプログラムを実行するタスクは、ＭＦＰプロセス層に属するタスクに処理を実行させる場合、簡易コマンドまたはアプリコマンドを出力する。簡易コマンドおよびアプリコマンドは、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）として、公開されたコマンドである。このため、ＭＦＰ１００に処理を実行させるアプリケーションプログラムを容易に作成することができる。公開とは、ＭＦＰ１００を製造するメーカー以外の第三者が使用可能な状態をいう。このため、第三者は、簡易コマンドおよびアプリコマンドを用いてアプリケーションプログラムを開発することができる。
【００３９】
簡易コマンドは、１以上のアプリコマンドを含み、アプリコマンドは簡易コマンドを含まない。換言すれば、簡易コマンドは、予め定められた一連の処理をＭＦＰ１００に実行させるために、１以上のアプリコマンドと、１以上のアプリコマンドを実行する順番を定める。
【００４０】
例えば、アプリケーションプログラムにおいて、ＭＦＰ１００の設定値を変更する処理を実行する部分を記述する場合、設定値を変更するための画面を表示する指示が割り当てられたボタンを表示させる第１のアプリコマンド（パネル部品表示）、操作パネル１６０にボタンを指示する操作が入力されるたことを検出する第２のアプリコマンド（パネルボタン押下判断）、現在の解像度の設定値を取得する第３のアプリコマンド（状態取得）、読み出した設定値を表示する画面を生成し、その画面を表示する第４のアプリコマンド（画面生成＆遷移）、操作パネル１６０に入力される設定値を受け付ける第５のアプリコマンド（入力判断）、設定値を受け付けられた設定値で更新する第６のアプリコマンド（入力データ反映）を、第１〜第６アプリコマンドの順に記述しなければならない。簡易コマンドは、ＭＦＰ１００の設定値を変更する処理を実行する部分において、第１〜第６のアプリコマンドを記述したものである。このため、アプリケーションプログラムの開発段階において、ＭＦＰ１００の設定値を変更する処理を実行する部分を記述する場合、第１〜第７のアプリコマンドを記述するのに代えて、１つの簡易コマンドを記述すればよい。
【００４１】
アプリケーションＰＦ層は、アプリケーション層とＭＦＰプロセス層との間に配置され、アプリケーション層に属する複数のタスクを調停するとともに、アプリケーション層に属する複数のタスクが出力する簡易コマンドおよびアプリコマンドを制御するタスクが属する。具体的には、アプリケーションＰＦ層は、アプリケーション層に属する複数のタスクのいずれか１つをデータの入出力が可能なカレント状態に決定する。アプリケーションＰＦ層は、アプリケーション層に属する複数のタスクが出力する簡易コマンドまたはアプリコマンドを受け付け、簡易コマンドおよびアプリコマンドを内部コマンドに変換し、ＭＦＰプロセス層に出力する。
【００４２】
アプリコマンドと内部コマンドとは予め対応付けられている。例えば、コマンド対応テーブルを記憶しておくようにすればよい。アプリコマンドと内部コマンドとは、１対１に対応してもよいし、１つのアプリコマンドに２以上の内部コマンドの組が対応していてもよいし、バージョンの異なる複数のアプリコマンドに対して、１つの内部コマンド、または複数の内部コマンドからなる１組が対応していてもよい。このため、複数のアプリケーションプログラム間で、バージョンが異なる場合等に対応することができる。内部コマンドは、公開されておらず、ＭＦＰ１００のハードウェア資源に依存するコマンドである。
【００４３】
ＭＦＰプロセス層は、アプリケーションＰＦ層とＯＳ層との間に配置される。ＭＦＰプロセス層は、アプリケーションＰＦ層に属するタスクが出力する内部コマンドを、ＯＳ層に属するタスクが解釈可能なオペレーティングコマンドに変換し、ＯＳ層に属するタスクにオペレーティングコマンドを出力するタスクが属する。なお、実際には、内部コマンドを、ＯＳ層に属するタスクが実行可能な１以上のオペレーティングコマンドに変換するが、ここでは説明のために、内部コマンドとＯＳ層に属するタスクが実行可能な１以上のオペレーティングコマンドとの関係は１対１として、説明する。
【００４４】
アプリケーションＰＦ層は、アプリコマンドを内部コマンドに変換するので、アプリケーション層に依存するが、ハードウェア資源に依存しない。このため、ハードウェア資源の異なる複数のＭＦＰで同一にすることができる。一方、ＭＦＰプロセス層は、ハードウェア資源に依存するが、アプリケーション層に依存しない。このため、ハードウェア資源が同じ異なるＭＦＰで同一にすることができる。
【００４５】
図５は、本実施の形態の一つにおけるＭＦＰが備えるＣＰＵが有する機能の一例を示すブロック図である。図５に示す機能は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５またはＣＤ−ＲＯＭ１１８に記憶されたプログラムを実行することにより、ＣＰＵ１１１により実現される機能である。具体的には、ＣＰＵ１１１が、ＯＳプログラム、ＭＦＰ制御プログラム、アプリケーション制御プログラムおよびアプリケーションプログラムを実行することにより、ＣＰＵ１１１により実現される。
【００４６】
図５を参照して、ＣＰＵ１１１は、アプリ実行部５１と、アプリケーション制御部５３と、ＭＦＰ制御部５５と、オペレーティング部５７と、を含む。アプリ実行部５１は、図４に示したソフトウェアアーキテクチャにおいて、アプリケーション層に属する。アプリ実行部５１は、ＣＰＵ１１１がアプリケーションプログラムを実行するタスクによって実現される機能である。アプリ実行部５１は、アプリケーションプログラムにより定められた簡易コマンドまたはアプリコマンドをアプリケーション制御部５３に出力する。アプリ実行部５１は、複数のアプリケーションプログラムを実行することが可能である。この場合、複数のアプリケーションプログラムを実行することにより複数のアプリケーションプログラムにそれぞれ対応する複数のタスクを形成する。アプリケーションプログラムを実行することにより形成されるタスクは、簡易コマンドまたはアプリマンドをアプリケーション制御部５３に出力する。
【００４７】
アプリケーション制御部５３は、ＣＰＵ１１１がアプリケーション制御プログラムを実行するタスクによって実現される機能である。アプリケーション制御部５３は、図４に示したソフトウェアアーキテクチャにおいて、アプリケーションＰＦ層に属する。
【００４８】
アプリケーション制御部５３は、アプリコマンド変換部６１と、簡易コマンド変換部６３と、インストール部６５と、を含む。インストール部６５は、ユーザーにより入力されるインストール指示に従って、アプリケーションプログラムをＭＦＰ１００にインストールする。インストール指示は、通信Ｉ／Ｆ部１１２がＰＣ２００から受信する場合と、操作パネル１６０に入力される場合とがある。ユーザーが、操作パネル１６０を操作して、インストール指示を入力する場合、インストール部６５は、入力制御部１６７からインストール指示を受け付ける。ユーザーが、ＰＣ２００，２００Ａ，２００Ｂのいずれかを操作して、ＭＦＰ１００を遠隔操作し、インストール指示を入力する場合、インストール部６５は、通信Ｉ／Ｆ部１１２がＰＣ２００，２００Ａ，２００Ｂのいずれかから受信するインストール指示を受け付ける。
【００４９】
インストール部６５は、ユーザーにより指定されたアプリケーションプログラムを取得する。ユーザーが、ＭＦＰ１００にアプリケーションプログラムを読み取らせるために、アプリケーションプログラムを記憶したＣＤ−ＲＯＭ１１９を、外部記憶装置１１７に装着する場合、インストール部６５は、ＣＤ−ＲＯＭ１１９に記憶されタアプリケーションプログラムを外部記憶装置１１７を介して読み出すことにより取得する。また、ユーザーがネットワーク３に接続されたコンピューターに記憶されたアプリケーションプログラムをダウンロードする指示をＭＦＰ１００に入力する場合、インストール部６５は、通信Ｉ／Ｆ部１１２を介してアプリケーションプログラムをダウンロードすることによりアプリケーションプログラムを取得する。インストール部６５は、取得されたアプリケーションプログラムをＨＤＤ１１５に記憶する。上述したアプリ実行部５１は、インストール部６５によってＨＤＤ１１５に記憶されたアプリケーションプログラムをＲＡＭ１１４に読み出して、実行する。
【００５０】
簡易コマンド変換部６３は、アプリ実行部５１に形成されたタスクが出力する簡易コマンドが入力され、コマンド変換テーブルに従って、簡易コマンドを、１以上のアプリコマンドに変換し、変換した１以上のアプリコマンドを、コマンド変換テーブルにおいて簡易コマンドに対応して定められた順にアプリコマンド変換部６１に出力する。
【００５１】
コマンド変換テーブルは、簡易コマンドに対応して、１以上のアプリコマンドと、１以上のアプリコマンドを実行する順番との関係を定める。コマンド変換テーブルは、簡易コマンドが複数の場合、複数の簡易コマンドそれぞれに対して、１以上のアプリコマンドと、１以上のアプリコマンドを実行する順番とを定める。このため、コマンド変換テーブルは、新たな簡易コマンドが登場する場合に、新たに登場した簡易コマンドに１以上のアプリコマンドと、実行順を対応付けた新たなコマンド変換テーブルで更新される。このため、新たな簡易コマンドを記述したアプリケーションプログラムをインストールすることができる。
【００５２】
アプリコマンド変換部６１は、アプリ実行部５１に形成されたタスクが出力するアプリコマンド、または簡易コマンド変換部６３が出力するアプリコマンドが入力される。アプリコマンド変換部６１は、アプリコマンドを、コマンド対応テーブルに従って内部コマンドに変換する。アプリコマンド変換部６１は、変換した内部コマンドをＭＦＰ制御部５５に出力する。
【００５３】
コマンド対応テーブルは、１つのアプリコマンドに１以上の内部コマンドを対応付ける。コマンド対応テーブルに含まれるアプリコマンドは、バージョンの異なる同種類のアプリコマンドを含む場合があり、この場合、異なるバージョンのアプリコマンドそれぞれを１以上の内部コマンドに対応付ける。このため、異なるバージョンのアプリコマンドを記述したアプリケーションプログラムをインストールすることを可能としている。コマンド対応テーブルは、新しいアプリコマンドが登場する場合に、新たに登場したアプリコマンドに１以上の内部コマンドを対応付けたコマンド対応テーブルで更新される。このため、コマンド対応テーブルを更新する簡単な操作で、新しいアプリコマンドを記述したアプリケーションプログラムをインストールすることができる。
【００５４】
また、アプリケーション制御部５３は、アプリ実行部５１が複数のアプリケーションプログラムを実行するタスクで形成される場合、複数のタスクを調停する。具体的には、アプリケーション制御部５３は、アプリ実行部５１が複数のアプリケーションプログラムを実行するタスクで形成される場合、複数のタスクのうちの１つを、データの入出力が可能なカレント状態に決定する。以下、アプリ実行部５１に形成される複数のタスクのうち、アプリケーション制御部５３がカレント状態に決定しているタスクを、カレントタスクという。
【００５５】
簡易コマンド変換部６３は、カレントタスクが出力する簡易コマンドが入力され。アプリコマンド変換部６１は、カレントタスクが出力するアプリコマンド、または、簡易コマンド変換部６３によりカレントタスクが出力する簡易コマンドを変換した１以上のアプリコマンドが入力される。
【００５６】
ＭＦＰ制御部５５は、ＣＰＵ１１１がＭＦＰ制御プログラムを実行するタスクによって実現される機能である。ＭＦＰ制御部５５は、図４に示したソフトウェアアーキテクチャにおいて、ＭＦＰプロセス層に属する。ＭＦＰ制御部５５は、アプリケーション制御部５３のアプリコマンド変換部６１から内部コマンドが入力され、内部コマンドにより定まる処理を実行する。
【００５７】
内部コマンドにより定まる処理は、ＭＦＰ１００が備えるハードウェア資源を制御する処理と、データ処理とを含む。ＭＦＰ１００が備えるハードウェア資源は、ＨＤＤ１１５、ファクシミリ部１１６、通信Ｉ／Ｆ部１１２、外部記憶装置１１７、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０を含む。データ処理は、特に限定するものではないが、画像データを処理するための先鋭化処理、合成処理、拡大または縮小処理等である。
【００５８】
ＭＦＰ制御部５５は、ＭＦＰ１００が備えるハードウェア資源を制御する処理を実行する場合、内部コマンドを、オペレーティングコマンドに変換し、オペレーティングコマンドを、オペレーティング部５７に出力する。内部コマンドとオペレーティングコマンドとの関係は、ＭＦＰ制御部５５とオペレーティング部５７との間で予め定められている。
【００５９】
オペレーティング部５７は、ＣＰＵ１１１がＯＳプログラムを実行するタスクによって実現される機能である。オペレーティングコマンドは、オペレーティング部５７が解釈可能なコマンドである。オペレーティング部５７は、ＭＦＰ１００のハードウェア資源を制御する。ハードウェア資源は、ここでは、通信Ｉ／Ｆ部１１２、ＲＯＭ１１３、ＲＡＭ１１４、ＨＤＤ１１５、ファクシミリ部１１６、外部記憶装置１１７、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０、表示制御部１６１および入力制御部１６７を含む。オペレーティング部５７は、ＭＦＰ制御部５５から入力されるオペレーティングコマンドに従って、ハードウェア資源を制御する。
【００６０】
次に、簡易コマンドの具体例を説明する。ここでは、ＭＦＰ１００の操作パネル１６０が備えるＬＣＤ１６５に表示する画像の解像度を変更する簡易コマンドを例に説明する。ＭＦＰ１００の操作パネル１６０が備えるＬＣＤ１６５に表示する画像の解像度を変更する処理を、簡易コマンドを用いることなくアプリコマンドだけで記述する場合、解像度の設定値を変更するための画面を表示する指示が割り当てられたボタンを表示させる第１のアプリコマンド（パネル部品表示）、操作パネル１６０にボタンを指示する操作が入力されるたことを検出する第２のアプリコマンド（パネルボタン押下判断）、現在の解像度の設定値を取得する第３のアプリコマンド（状態取得）、読み出した設定値を表示する画面を生成し、その画面を表示する第４のアプリコマンド（画面生成＆遷移）、操作パネル１６０に入力される設定値を受け付ける第５のアプリコマンド（入力判断）、解像度の設定値を受け付けられた設定値で更新する第６のアプリコマンド（入力データ反映）を、第１〜第６アプリコマンドの順に記述しなければならない。ＭＦＰ１００の操作パネル１６０が備えるＬＣＤ１６５に表示する画像の解像度を変更する簡易コマンドは、第１〜第６アプリコマンドと、第１〜第６アプリコマンドの実行順を定める。
【００６１】
図６は、解像度を変更する処理においてアプリコマンドと内部コマンドとの関係を示す図である。図６を参照して、アプリ実行部５１は、アプリケーションプログラムを実行することにより、アプリケーションプログラムに記述された第１〜第６アプリコマンドを、アプリケーションプログラムによって定められた順に、第１〜第６アプリコマンドの順に、アプリケーション制御部５３に出力する。例えば、アプリ実行部５１は、第１アプリコマンドをアプリケーション制御部５３に出力した後、アプリケーション制御部５３から第１アプリコマンドに対応する結果が入力されると、次の順の第２アプリコマンドをアプリケーション制御部５３に出力する。
【００６２】
アプリケーション制御部５３は、アプリ実行部５１から第１〜第６アプリコマンドが順に入力されると、それらを第１〜第６内部コマンドに変換し、第１〜第６内部コマンドをＭＦＰ制御部５５に出力する。例えば、アプリケーション制御部５３は、第１アプリコマンドが入力されると、第１アプリコマンドを第１内部コマンドに変換し、第１内部コマンドをＭＦＰ制御部５５に出力する。ＭＦＰ制御部５５においては、第１内部コマンドが入力されると、第１内部コマンドに対応する処理を実行し、その実行結果をアプリケーション制御部５３に出力する。アプリケーション制御部５３は、第１内部コマンドを出力した後、ＭＦＰ制御部５５から第１内部コマンドに対応する結果が入力されると、入力される結果を、第１アプリコマンドに対応する結果として、アプリ実行部５１に出力する。換言すれば、アプリケーション制御部５３が、第１〜第６内部コマンドをＭＦＰ制御部５５に出力するタイミングは、アプリ実行部５１が第１〜第６アプリコマンドを出力するタイミングに依存する。このため、アプリ実行部５１が、ＭＦＰ制御部５５に第１〜第６内部コマンドが入力されるタイミングを制御する。
【００６３】
図７は、解像度を変更する処理を定めた簡易コマンドと内部コマンドとの関係を示す図である。図７を参照して、アプリ実行部５１は、アプリケーションプログラムを実行することにより、アプリケーションプログラムに記述され、解像度を変更する処理を定めた簡易コマンドを、アプリケーション制御部５３に出力する。
【００６４】
アプリケーション制御部５３は、アプリ実行部５１から解像度を変更する処理を定めた簡易コマンドが入力されると、簡易コマンドを第１〜第６内部コマンドに変換し、第１〜第６内部コマンドをＭＦＰ制御部５５に出力する。例えば、アプリケーション制御部５３は、解像度を変更する処理を定めた簡易コマンドが入力されると、簡易コマンドを第１〜第６内部コマンドに変換し、第１〜第６内部コマンドを順にＭＦＰ制御部５５に出力する。ＭＦＰ制御部５５においては、第１内部コマンドが入力されると、第１内部コマンドに対応する処理を実行し、その実行結果をアプリケーション制御部５３に出力する。アプリケーション制御部５３は、第１内部コマンドを出力した後、ＭＦＰ制御部５５から第１内部コマンドに対応する結果が入力されると、実行順が次の第２内部コマンドをＭＦＰ制御部５５に出力する。換言すれば、アプリケーション制御部５３が、第１〜第６内部コマンドをＭＦＰ制御部５５に出力するタイミングは、アプリケーション制御部５３が定める。
【００６５】
図８は、本実施の形態におけるアプリケーション制御処理の流れの一例を示すフローチャートである。アプリケーション制御処理は、ＭＦＰ１００が備えるＣＰＵ１１１がＲＯＭ１１３、ＨＤＤ１１５またはＣＤ−ＲＯＭ１１８に記憶されたアプリケーション制御プログラムを実行することにより、ＣＰＵ１１１により実行される処理である。図８を参照して、ＣＰＵ１１１は、インストール指示を受け付けたか否かを判断する（ステップＳ０１）。インストール指示を受け付けたならば（ステップＳ０１でＹＥＳ）、処理をステップＳ０２に進めるが、そうでなければ（ステップＳ０１でＮＯ）、処理をステップＳ０３に進める。
【００６６】
ステップＳ０２においては、インストール指示とともに外部から入力されるアプリケーションプログラムを、ＨＤＤ１１５に格納し、処理をステップＳ０３に進める。ステップＳ０１において、インストール指示が通信Ｉ／Ｆ部１１２によりＰＣ２００から受信される場合は、通信Ｉ／Ｆ部１１２がＰＣ２００から受信するアプリケーションプログラムをＨＤＤ１１５に格納する。ステップＳ０１において、インストール指示が入力制御部１６７により受け付けられる場合は、外部記憶装置１１７がＣＤ−ＲＯＭ１１８から読み出したアプリケーションプログラムをＨＤＤ１１５に格納する。また、インターネットに接続されたサーバーからアプリケーションプログラムをダウンロードするようにしてもよい。
【００６７】
次のステップＳ０３においては、簡易コマンドを受け付けたか否かを判断する。アプリケーションプログラムを実行するタスク（アプリ実行部５１）から簡易コマンドが入力される場合に、簡易コマンドを受け付ける。簡易コマンドを受け付けたならば処理をステップＳ０４に進めるが、そうでなければ処理をステップＳ１０に進める。
【００６８】
ステップＳ０４においては、ＨＤＤ１１５に記憶されているコマンド変換テーブルを読み出す。コマンド変換テーブルは、簡易コマンドに対応して、１以上のアプリコマンドと、１以上のアプリコマンドを実行する順番との関係を定める。そして、コマンド変換テーブルを参照して、ステップＳ０３において受け付けられた簡易コマンドを１以上のアプリコマンドに変換する（ステップＳ０５）。次のステップＳ０５においては、変換された１以上のアプリコマンドのうちからコマンド変換テーブルによって定められた実行順に従って、アプリコマンドを選択する。実行順が先のアプリコマンドを、実行順が後のアプリコマンドよりも先に選択する。
【００６９】
次のステップＳ０７においては、ＨＤＤ１１５に記憶されているコマンド対応テーブルを読み出す。コマンド対応テーブルは、１つのアプリコマンドを１以上の内部コマンドと対応付ける。そして、コマンド対応テーブルを参照して、ステップＳ０６において選択されたアプリコマンドを１以上の内部コマンドに変換する（ステップＳ０８）。次のステップＳ０９においては、ＭＦＰ制御プログラムを実行するタスク（ＭＦＰ制御部５５）に、内部コマンドを出力し、処理をステップＳ１０に進める。
【００７０】
ステップＳ１０においては、ステップＳ０５において簡易コマンドから変換された１以上のアプリコマンドのうちに未だ選択されていないアプリコマンドが存在するか否かを判断する。未選択のアプリコマンドが存在すれば処理をステップＳ０６に戻すが、存在しなければ処理をステップＳ１１に進める。
【００７１】
ステップＳ１１においては、アプリコマンドを受け付けたか否かを判断する。アプリケーションプログラムを実行するタスク（アプリ実行部５１）からアプリコマンドが入力される場合に、アプリコマンドを受け付ける。アプリコマンドを受け付けたならば処理をステップＳ１２に進めるが、そうでなければ処理をステップＳ０１に戻す。
【００７２】
ステップＳ１２においては、ＨＤＤ１１５に記憶されているコマンド対応テーブルを読み出す。コマンド対応テーブルは、１つのアプリコマンドを１以上の内部コマンドと対応付ける。そして、コマンド対応テーブルを参照して、ステップＳ１１において受け付けられたアプリコマンドを１以上の内部コマンドに変換する（ステップＳ１３）。次のステップＳ１４においては、ＭＦＰ制御プログラムを実行するタスク（ＭＦＰ制御部５５）に、内部コマンドを出力し、処理をステップＳ０１に戻す。
【００７３】
以上説明したように本実施の形態におけるＭＦＰ１００において、ＣＰＵ１１１は、ハードウェア資源を制御するためのオペレーティングプログラムを実行するオペレーティング部５７と、内部コマンドが入力されると、オペレーティング部５７にハードウェア資源を制御させるために、内部コマンドに対して予め定められた処理を実行するＭＦＰ制御部５５と、アプリケーションプログラムを実行し、ＭＦＰ制御部５５を制御するために公開された簡易コマンドまたはアプリコマンドを出力するアプリ実行部５１と、アプリ実行部５１により出力された簡易コマンドまたはアプリコマンドを内部コマンドに変換し、変換された内部コマンドをＭＦＰ制御部５５に出力するアプリケーション制御部５３と、を備える。アプリコマンドと内部コマンドとは予めコマンド対応テーブルで対応付けられている。このため、バージョンの異なる複数のアプリコマンドに対して、１つの内部コマンド、または複数の内部コマンドからなる１組を対応させることができる。したがって、複数のアプリケーションプログラム間で、バージョンが異なる場合等に対応することができる。具体的には、新たなアプリコマンドが登場する場合に、新たなアプリコマンドと内部コマンドとを定めるコマンド対応テーブルに更新すれば、新たなアプリコマンドで記述されたアプリケーションプログラムをインストールすることができる。
【００７４】
また、アプリ実行部５１とＭＦＰ制御部５５との間に、アプリケーション制御部５３を設け、コマンド対応テーブルを記憶するようにした。アプリケーション制御部５３は、アプリコマンドを内部コマンドに変換するので、アプリコマンドに依存するが、ハードウェア資源に依存しない。このため、ハードウェア資源の異なる複数のＭＦＰで同一にすることができる。このためアプリケーション制御プログラムの開発が容易となる。より具体的には、異なるハードウェア資源を有する複数のＭＦＰそれぞれに、各々のハードウェア資源に対応したコマンド対応テーブルを記憶させることにより、同一のアプリケーション制御プログラムを実行させることができる。このため、アプリケーション制御プログラムの開発を容易にすることができる。
【００７５】
また、ＭＦＰ制御部５５は、ハードウェア資源に依存するが、アプリコマンドに依存しないので、ハードウェア資源が同じ複数のＭＦＰで同一にすることができる。このため、ＭＦＰ制御プログラムの開発が容易である。
【００７６】
さらに、アプリケーション制御部５３は、アプリ実行部５１により出力される簡易コマンドを、少なくとも１つのアプリコマンドに変換する簡易コマンド変換部６３と、アプリ実行部５１により出力されるアプリコマンド、または簡易コマンド変換部６３により簡易コマンドから変換された１以上のアプリコマンドを、内部コマンドに変換するアプリコマンド変換部６１と、を含む。このため、アプリケーションプログラムを実行するアプリ実行部５１によりアプリコマンドが出力されると、アプリコマンドを内部コマンドに変換する。また、アプリケーションプログラムを実行するアプリ実行部５１により簡易コマンドが出力されると、簡易コマンドを１以上のアプリコマンドに変換し、簡易コマンドから変換された１以上のアプリコマンドを内部コマンドに変換する。ＭＦＰ制御部５７は、内部コマンドに対して予め定められた処理を実行することにより、ハードウェア資源を制御する。アプリケーションプログラムを実行するアプリ実行部５１により簡易コマンドまたはアプリコマンドが出力される場合であっても、ＭＦＰ制御部５７に、処理を実行させることができる。このため、アプリコマンドに代えて簡易コマンドを用いてアプリケーションプログラムを記述することができるので、ハードウェア資源を制御するためのアプリケーションプログラムの開発を容易にすることができる。
【００７７】
なお、上述した実施の形態においては、画像処理装置の一例としてＭＦＰ１００について説明したが、図８に示した処理を、ＭＦＰ１００に実行させるアプリケーション実行方法、また、そのアプリケーション実行方法をＣＰＵ１１１に実行させるためのアプリケーション実行プログラムとして、発明を捉えることができるのは言うまでもない。
【００７８】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００７９】
１  画像形成システム、１００  ＭＦＰ、２００，２００Ａ，２００Ｂ  ＰＣ、３  ネットワーク、５１  アプリ実行部、５３  アプリケーション制御部、５５  ＭＦＰ制御部、６１  アプリコマンド変換部、６３  簡易コマンド変換部、６５  インストール部、１１０  メイン回路、１１１  ＣＰＵ、１１２  通信Ｉ／Ｆ部、１１３  ＲＯＭ、１１４  ＲＡＭ、１１５  ＨＤＤ、１１６  ファクシミリ部、１１７  外部記憶装置、１２０  自動原稿搬送装置、１３０  原稿読取部、１４０  画像形成部、１５０  給紙部、１６０  操作パネル、１６１  表示制御部、１６７  入力制御部、１６９  タッチパネル、１７０  ハードキー部、２０１  ＣＰＵ、２０２  ＲＯＭ、２０３  ＲＡＭ、２０４  ネットワークＩ／Ｆ、２０５  ＨＤＤ、２０６  表示部、２０７  操作部、２０９  外部記憶装置。
【図１】
2014021693.tif 000003
【図２】
2014021693.tif 000004
【図３】
2014021693.tif 000005
【図４】
2014021693.tif 000006
【図５】
2014021693.tif 000007
【図６】
2014021693.tif 000008
【図７】
2014021693.tif 000009
【図８】
2014021693.tif 000010
【手続補正書】
【提出日】平成25年6月26日(2013.6.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ハードウェア資源を制御するオペレーティング手段と、
内部コマンドが入力されると、前記オペレーティング手段に前記ハードウェア資源を制御させるために、前記入力された内部コマンドに対して予め定められた処理を実行する内部制御手段と、
アプリケーションプログラムを実行し、前記内部制御手段を制御するために公開された簡易コマンドまたはアプリコマンドを出力するアプリ実行手段と、
前記アプリ実行手段により出力された簡易コマンドまたはアプリコマンドを前記内部コマンドに変換し、変換された前記内部コマンドを前記内部制御手段に出力するアプリケーション制御手段と、を備え、
前記アプリケーション制御手段は、前記アプリ実行手段により出力される前記簡易コマンドを、１以上のアプリコマンドに変換し、変換した１以上のアプリコマンドを、前記簡易コマンドに対応して定められた順に出力する簡易コマンド変換手段と、
前記アプリ実行手段により出力される前記アプリコマンド、または前記簡易コマンド変換手段から順に出力される１以上の前記アプリコマンドそれぞれを、前記内部コマンドに変換するアプリコマンド変換手段と、を含む、画像形成装置。
【請求項２】
アプリケーションプログラムをインストールするインストール手段を、さらに備え、
前記アプリ実行手段は、前記インストールされたアプリケーションプログラムを実行する、請求項１に記載の画像形成装置。
【請求項３】
前記アプリ実行手段は、前記インストール手段により複数種類のアプリケーションプログラムがインストールされる場合、前記複数種類のアプリケーションプログラムの１以上を実行する、請求項２に記載の画像形成装置。
【請求項４】
画像形成装置で実行されるアプリケーション実行方法であって、
前記画像形成装置は、
ハードウェア資源を制御するオペレーティング手段と、
内部コマンドが入力されると、前記オペレーティング手段に前記ハードウェア資源を制御させるために、前記入力された内部コマンドに対して予め定められた処理を実行する内部制御手段と、
アプリケーションプログラムを実行し、前記内部制御手段を制御するために公開された簡易コマンドまたはアプリコマンドを出力するアプリ実行手段と、を備え、
前記アプリ実行手段により出力される前記簡易コマンドを、１以上のアプリコマンドに変換し、変換した１以上のアプリコマンドを、前記簡易コマンドに対応して定められた順に出力する簡易コマンド変換ステップと、
前記アプリ実行手段により出力される前記アプリコマンド、または前記簡易コマンド変換ステップにおいて前記簡易コマンドから変換されて順に出力される１以上の前記アプリコマンドそれぞれを、前記内部コマンドに変換するアプリコマンド変換ステップと、
前記変換された内部コマンドを前記内部制御手段に出力する出力ステップと、を含む、アプリケーション実行方法。
【請求項５】
画像形成装置を制御するコンピューターで実行されるアプリケーション実行プログラムであって、
前記コンピューターは、
ハードウェア資源を制御するオペレーティング手段と、
内部コマンドが入力されると、前記オペレーティング手段に前記ハードウェア資源を制御させるために、前記入力された内部コマンドに対して予め定められた処理を実行する内部制御手段と、
アプリケーションプログラムを実行し、前記内部制御手段を制御するために公開された簡易コマンドまたはアプリコマンドを出力するアプリ実行手段と、を備え、
前記アプリ実行手段により出力される前記簡易コマンドを、１以上の前記アプリコマンドに変換し、変換した１以上のアプリコマンドを、前記簡易コマンドに対応して予め定められた順に出力する簡易コマンド変換ステップと、
前記アプリ実行手段により出力される前記アプリコマンド、または前記簡易コマンド変換ステップにおいて前記簡易コマンドから変換されて順に出力される１以上の前記アプリコマンドそれぞれを、前記内部コマンドに変換するアプリコマンド変換ステップと、
前記変換された内部コマンドを前記内部制御手段に出力する出力ステップと、を前記コンピューターに実行させる、アプリケーション実行プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
上述した目的を達成するためにこの発明のある局面によれば、画像形成装置は、ハードウェア資源を制御するオペレーティング手段と、内部コマンドが入力されると、オペレーティング手段にハードウェア資源を制御させるために、入力された内部コマンドに対して予め定められた処理を実行する内部制御手段と、アプリケーションプログラムを実行し、内部制御手段を制御するために公開された簡易コマンドまたはアプリコマンドを出力するアプリ実行手段と、アプリ実行手段により出力された簡易コマンドまたはアプリコマンドを内部コマンドに変換し、変換された内部コマンドを内部制御手段に出力するアプリケーション制御手段と、を備え、アプリケーション制御手段は、アプリ実行手段により出力される簡易コマンドを、１以上のアプリコマンドに変換し、変換した１以上のアプリコマンドを、簡易コマンドに対応して定められた順に出力する簡易コマンド変換手段と、アプリ実行手段により出力されるアプリコマンド、または簡易コマンド変換手段から順に出力される１以上のアプリコマンドそれぞれを、内部コマンドに変換するアプリコマンド変換手段と、を含む。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
この局面に従えば、アプリケーションプログラムを実行するアプリ実行手段により簡易コマンドが出力されると、簡易コマンドを１以上のアプリコマンドに変換し、変換した１以上のアプリコマンドを、簡易コマンドに対応して定められた順に出力し、簡易コマンドから変換された１以上のアプリコマンドそれぞれを、内部コマンドに変換し、内部コマンドに対して予め定められた処理を実行することにより、ハードウェア資源を制御する。このため、アプリコマンドに代えて簡易コマンドを用いてアプリケーションプログラムを記述することができるので、ハードウェア資源を制御するためのアプリケーションプログラムの開発を容易にした画像形成装置を提供することができる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
この発明の他の局面によれば、アプリケーション実行方法は、画像形成装置で実行されるアプリケーション実行方法であって、画像形成装置は、ハードウェア資源を制御するオペレーティング手段と、内部コマンドが入力されると、オペレーティング手段にハードウェア資源を制御させるために、入力された内部コマンドに対して予め定められた処理を実行する内部制御手段と、アプリケーションプログラムを実行し、内部制御手段を制御するために公開された簡易コマンドまたはアプリコマンドを出力するアプリ実行手段と、を備え、アプリ実行手段により出力される簡易コマンドを、１以上のアプリコマンドに変換し、変換した１以上のアプリコマンドを、簡易コマンドに対応して定められた順に出力する簡易コマンド変換ステップと、アプリ実行手段により出力されるアプリコマンド、または簡易コマンド変換ステップにおいて簡易コマンドから変換されて順に出力される１以上のアプリコマンドそれぞれを、内部コマンドに変換するアプリコマンド変換ステップと、変換された内部コマンドを内部制御手段に出力する出力ステップと、を含む。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
この発明のさらに他の局面によれば、アプリケーション実行プログラムは、画像形成装置を制御するコンピューターで実行されるアプリケーション実行プログラムであって、コンピューターは、ハードウェア資源を制御するオペレーティング手段と、内部コマンドが入力されると、オペレーティング手段にハードウェア資源を制御させるために、入力された内部コマンドに対して予め定められた処理を実行する内部制御手段と、アプリケーションプログラムを実行し、内部制御手段を制御するために公開された簡易コマンドまたはアプリコマンドを出力するアプリ実行手段と、を備え、アプリ実行手段により出力される簡易コマンドを、１以上のアプリコマンドに変換し、変換した１以上のアプリコマンドを、簡易コマンドに対応して定められた順に出力する簡易コマンド変換ステップと、アプリ実行手段により出力されるアプリコマンド、または簡易コマンド変換ステップにおいて簡易コマンドから変換されて順に出力される１以上のアプリコマンドそれぞれを、内部コマンドに変換するアプリコマンド変換ステップと、変換された内部コマンドを内部制御手段に出力する出力ステップと、をコンピューターに実行させる。