(57)【要約】【課題】拡張を容易にして開発コストを削減可能な画像形成装置を提供する。【解決手段】  機器制御プラットフォーム２００は、ＯＳ２３０上でハードウェア資源を管理する。拡張機能サービス３２０は、プラットフォームサービスＩＦ部２１０に対応したハードウェア資源を利用させる。拡張アプリ管理部３４０は、標準機能サービス３１０並びに拡張機能サービス３２０を呼び出し可能な拡張アプリ４００を管理し実行させる。インストールサービス３３０は、標準ファームウェアの構成を変更せずに、標準機能サービス３１０では提供していない機能に対応した追加ハードウェア機能ＩＦ部３１１等のインターフェイスを拡張機能サービス３２０に追加し、拡張アプリプラットフォーム３００から利用させる。【選択図】図３
2015228573.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステム上でハードウェア資源を管理する機器制御プラットフォームと、
該機器制御プラットフォームで管理された前記ハードウェア資源を利用する標準アプリケーションを実行する標準アプリケーション実行部と、
該標準アプリケーション実行部により実行される前記標準アプリケーションの機能を利用させる標準機能サービス、前記ハードウェア資源を利用させる拡張機能サービス、及び前記標準機能サービス並びに前記拡張機能サービスをそれぞれ呼び出し可能な拡張アプリケーションを管理し実行させる拡張アプリケーション管理部を含む拡張アプリケーションプラットフォームと、
標準ファームウェアの構成を変更せずに、前記標準機能サービスでは提供していない機能に対応したインターフェイスを前記拡張機能サービスに追加し、前記拡張アプリケーションプラットフォームから利用させるインストールサービスとを備える
ことを特徴とする画像形成装置。
【請求項２】
前記インストールサービスにより前記拡張機能サービスに追加されるインターフェイスは、追加ハードウェアに対応する機能を利用させるための追加ハードウェア機能インターフェイスであり、
前記インストールサービスは、前記追加ハードウェアに対応したデバイスドライバーもインストールする
ことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
ハードウェア資源を備えた画像形成装置により実行される画像形成方法であって、
オペレーティングシステム上で前記ハードウェア資源を管理し、
管理された前記ハードウェア資源を利用する標準アプリケーションを実行し、
実行される前記標準アプリケーションの機能を利用させ、前記ハードウェア資源を利用させる拡張アプリケーションを管理し実行させ、
標準ファームウェアの構成を変更せずに、提供していない機能に対応したインターフェイスを追加し、利用させる
ことを特徴とする画像形成方法。
【請求項４】
ハードウェア資源を備えた画像形成装置により実行される画像形成装置の制御プログラムであって、前記画像形成装置に、
オペレーティングシステム上で前記ハードウェア資源を管理させ、
管理された前記ハードウェア資源を利用する標準アプリケーションを実行させ、
実行される前記標準アプリケーションの機能を利用させ、前記ハードウェア資源を利用させる拡張アプリケーションを管理させ実行させ、
標準ファームウェアの構成を変更せずに、提供していない機能に対応したインターフェイスを追加させ、利用させる
ことを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、画像形成方法、及び制御プログラムに係り、特にアプリケーションを実行する画像形成装置、画像形成方法、及び制御プログラムに関する。
【背景技術】
【０００２】
従来から、文書や画像を印刷可能な複合機（Multifunctional Peripheral, MFP）やプリンター等の画像形成装置において、アプリケーション（Application Software、以下「アプリ」という。）をインストールし実行することが可能なものが存在する。
これらのアプリにより、ＰＤＦ作成、名刺管理、帳簿管理等の機能を画像形成装置に追加することが可能になる。また、アプリによりカメラ等の機器との連携を行うことも可能である。
【０００３】
特許文献１によれば、各アプリの共通部分をアプリサービス及び共通システムサービスとして括りだし、このアプリサービス、共通システムサービス、及び汎用ＯＳによってプラットフォームを形成し、該プラットフォーム上にプリンターアプリ、コピーアプリ、及び各種アプリを搭載する画像形成装置の技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−８２８０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の技術においては、追加されたハードウェアに対応する等のため、標準の構成ではない機能を追加する場合、プラットフォーム全体を変更する必要があった。このため、開発コストがかかるという問題があった。
【０００６】
本発明は、このような状況に鑑みてなされたものであって、上述の問題点を解消することを課題とする。
【課題を解決するための手段】
【０００７】
本発明の画像形成装置は、オペレーティングシステム上でハードウェア資源を管理する機器制御プラットフォームと、該機器制御プラットフォームで管理された前記ハードウェア資源を利用する標準アプリケーションを実行する標準アプリケーション実行部と、該標準アプリケーション実行部により実行される前記標準アプリケーションの機能を利用させる標準機能サービス、前記ハードウェア資源を利用させる拡張機能サービス、及び前記標準機能サービス並びに前記拡張機能サービスをそれぞれ呼び出し可能な拡張アプリケーションを管理し実行させる拡張アプリケーション管理部を含む拡張アプリケーションプラットフォームと、標準ファームウェアの構成を変更せずに、前記標準機能サービスでは提供していない機能に対応したインターフェイスを前記拡張機能サービスに追加し、前記拡張アプリケーションプラットフォームから利用させるインストールサービスとを備えることを特徴とする。
本発明の画像形成装置は、前記インストールサービスにより前記拡張機能サービスに追加されるインターフェイスは、追加ハードウェアに対応する機能を利用させるための追加ハードウェア機能インターフェイスであり、前記インストールサービスは、前記追加ハードウェアに対応したデバイスドライバーもインストールすることを特徴とする。
本発明の画像形成方法は、ハードウェア資源を備えた画像形成装置により実行される画像形成方法であって、オペレーティングシステム上で前記ハードウェア資源を管理し、管理された前記ハードウェア資源を利用する標準アプリケーションを実行し、実行される前記標準アプリケーションの機能を利用させ、前記ハードウェア資源を利用させる拡張アプリケーションを管理し実行させ、標準ファームウェアの構成を変更せずに、提供していない機能に対応したインターフェイスを追加し、利用させることを特徴とする。
本発明の制御プログラムは、ハードウェア資源を備えた画像形成装置により実行される画像形成装置の制御プログラムであって、前記画像形成装置に、オペレーティングシステム上で前記ハードウェア資源を管理させ、管理された前記ハードウェア資源を利用する標準アプリケーションを実行させ、実行される前記標準アプリケーションの機能を利用させ、前記ハードウェア資源を利用させる拡張アプリケーションを管理させ実行させ、標準ファームウェアの構成を変更せずに、提供していない機能に対応したインターフェイスを追加させ、利用させることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、標準ファームウェアの構成を変更せずに、標準機能サービスでは提供していない機能に対応したインターフェイスを拡張機能サービスに追加することで、プラットフォーム全体を変更せずに機能を追加し、開発コストを低減可能な画像形成装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係る画像形成装置のシステム構成を示すブロック図である
【図２】図１に示す画像形成装置の制御構成を示すブロック図である。
【図３】図２に示す拡張アプリプラットフォームが拡張デバイスに対応した際の詳細な制御構成を示すブロック図である。
【図４】本実施形態に係る機能追加利用処理のフローチャートである。
【図５】図４に示す機能追加処理の概念図である。
【図６】図４に示す標準ハードウェア機能利用処理の概念図である。
【図７】図４に示す追加ハードウェア機能利用処理の概念図である。
【発明を実施するための形態】
【００１０】
＜実施の形態＞
〔画像形成装置１のシステム構成〕
次に、図１により、画像形成装置１のシステム構成について説明する。画像形成装置１は、画像処理部１１、原稿読取部１２、原稿給送部１３、搬送部１４、ネットワーク送受信部１５、操作パネル部１６、画像形成部１７、ＦＡＸ送受信部１８、記憶部１９、及び拡張デバイス２０等が、制御部１０に接続されている。各部は、制御部１０によって動作制御される。
【００１１】
制御部１０は、ＧＰＰ（General Purpose Processor）、ＣＰＵ（Central Processing Unit、中央処理装置）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＧＰＵ（Graphics Processing Unit）、ＡＳＩＣ（Application Specific Processor、特定用途向けプロセッサー）等の情報処理部である。
制御部１０は、記憶部１９のＲＯＭやＨＤＤに記憶されている制御プログラムを読み出して、この制御プログラムをＲＡＭに展開させて実行することで、後述する機能ブロックの各部として動作させられる。また、制御部１０は、図示しない外部の端末や操作パネル部１６から入力された指示情報に応じて、装置全体の制御を行う。
【００１２】
画像処理部１１は、ＤＳＰ（Digital Signal Processor）やＧＰＵ（Graphics Processing Unit）等の制御演算部である。画像処理部１１は、各種の画像データに対して特定の画像処理を実行する。画像処理部１１は、例えば、拡大縮小、濃度調整、階調調整、画像改善等の各種画像処理を行う。
画像処理部１１は、原稿読取部１２で読み取られた画像を、記憶部１９に印刷データとして記憶する。この際、画像処理部１１は、印刷データをＰＤＦやＴＩＦＦ等のフォーマットのファイル単位に変換することも可能である。
【００１３】
原稿読取部１２は、セットされた原稿を読み取る（スキャン）。
原稿給送部１３は、原稿読取部１２で読み取られる原稿を搬送する。
搬送部１４は、給紙カセットから記録紙を搬送し、画像形成部１７で画像形成させ、その後にスタックトレイへ搬送する。
画像形成部１７は、ユーザーの出力指示により、記憶部１９に記憶され、原稿読取部１２で読み取られ、又は外部の端末から取得されたデータから記録紙への画像形成を行わせる。
【００１４】
ネットワーク送受信部１５は、ＬＡＮ、無線ＬＡＮ、ＷＡＮ、携帯電話網等の外部ネットワークに接続するためのＬＡＮボードや無線送受信機等を含むネットワーク接続部である。
ネットワーク送受信部１５は、データ通信用の回線ではデータを送受信し、音声電話回線では音声信号を送受信する。
ネットワーク送受信部１５は、ネットワークを介して、図示しないＰＣ（Personal Computer）やスマートフォンやＰＤＡ（Personal Data Assistant）や携帯電話等の外部の端末、サーバー等に接続されていてもよい。
【００１５】
操作パネル部１６は、ＬＣＤ等の表示部と、テンキー、スタート、キャンセル、コピー（複写）、ＦＡＸ送信、スキャナー等の動作モードの切り換えのボタンと、選択された文書の印刷、送信、保存、記録等に関するジョブの実行に係る指示を行うためのボタン若しくはタッチパネル等の入力部とを備えている。
操作パネル部１６は、ユーザーの指示を取得する。このユーザーの指示は、後述する拡張アプリ４００（図２）（Application Software、アプリケーション）のインストールや使用の指示を含む。また、ユーザーの指示により、各ユーザーの情報を入力、変更することも可能である。このため、操作パネル部１６は、専用の制御部とＲＯＭやＲＡＭ等の記憶媒体を備えて、制御部１０と連携してＧＵＩ（Graphical User Interface）の制御を行ってもよい。拡張アプリ４００のインストールや使用時の操作パネル部１６の制御の詳細については後述する。
また、操作パネル部１６には、ＵＳＢメモリーやフラッシュメモリーカードの記憶媒体や記憶媒体を内蔵した外部機器を接続するための接続部が備えられていてもよい。
【００１６】
ＦＡＸ送受信部１８は、ファクシミリの送受信を行うＦＡＸボード等である。
ＦＡＸ送受信部１８は、原稿読取部１２で読み取られた画像データやネットワーク送受信部１５から受信したファイル等を描画してファクシミリ送信する。また、ＦＡＸ送受信部１８は、記憶部１９に記憶され、ファクシミリ受信された画像データを画像形成部１７で画像形成させ、ネットワーク送受信部１５から外部の端末へ送信する。
【００１７】
記憶部１９は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、フラッシュメモリー等の半導体メモリーやＨＤＤ（Hard Disk Drive）等の記憶媒体と、このコントローラー等を含む。
記憶部１９のＲＯＭやフラッシュメモリーやＨＤＤには、画像形成装置１の動作制御を行うための制御プログラム及びデータが記憶されている。これらの制御プログラム及びデータは、ファームウェアのような形式で提供されていてもよい。また、このファームウェアは、画像形成装置１の既存の構成における各種制御プログラムとデータがセットになった標準ファームウェアを含んでいてもよい。また、これらの制御プログラムとデータとは、実行時にＲＡＭ等に展開されて、制御部１０により実行される。
また、記憶部１９は、各種ジョブデータ、原稿読取部１２でスキャンされた画像データ、画像処理部１１で画像処理された画像データ、他の端末（図示せず）から送信された印刷文書等のファイル、接続された記憶媒体から読み出された各種ファイル、サムネイル画像のデータ等を記憶してもよい。
また、記憶部１９は、ユーザーのアカウント設定も記憶してもよい。また、記憶部１９には、ユーザー毎の文書ボックスの領域が含まれていてもよい。
【００１８】
拡張デバイス２０は、画像形成装置１の標準の構成では含まれていなかったり後付けされたりする機器である。拡張デバイス２０は、例えば、記録紙の出力後の後処理を行うフィニッシャー、独自のユーザー認証を行うユーザー認証部、周囲環境の監視を行う監視カメラ等、ユーザーの環境に対応したオプション機器であってもよい。
なお、拡張デバイス２０は、原稿読取部１２とは異なる外付けのスキャナー、コンビニエンスストア等の店舗用端末、特別なフォーマットに対応した用紙を印刷するための紙送り装置、複数管理用の管理端末、工場検査用の検査機器等のユーザー環境用機器であってもよい。
【００１９】
なお、画像形成装置１において、制御部１０及び画像処理部１１は、ＧＰＵ内蔵ＣＰＵ等やチップ・オン・モジュールパッケージのように、一体的に形成されていてもよい。
また、制御部１０及び画像処理部１１は、ＲＡＭやＲＯＭやフラッシュメモリー等を内蔵していてもよい。
また、以下では、画像形成装置１の拡張デバイス２０以外の制御部１０〜記憶部１９のハードウェア資源を「標準ハードウェア」と呼ぶ。また、拡張デバイス２０等により、画像形成装置１に追加されるハードウェア資源を「追加ハードウェア」と呼ぶ。
【００２０】
〔画像形成装置１の制御構成〕
次に、図２により、画像形成装置１の制御構成について説明する。
画像形成装置１は、三つの階層的なブロック構造として、標準アプリ実行部１００（標準アプリケーション実行部）、機器制御プラットフォーム２００、拡張アプリプラットフォーム３００（拡張アプリケーションプラットフォーム）、及び拡張アプリ４００を備えている。制御部１０が本発明の制御プログラムを実行することにより、標準アプリ実行部１００、機器制御プラットフォーム２００、拡張アプリプラットフォーム３００が実現される。更に、制御部１０は、図２に示す制御構成に基づいて、拡張アプリ４００、標準アプリ１２０、ＯＳ２３０を実行することができる。具体的には、拡張アプリプラットフォーム３００上で拡張アプリ４００が実行される構成となっている。
【００２１】
標準アプリ実行部１００は、機器制御プラットフォーム２００で管理されたハードウェア資源を利用する標準アプリ１２０を実行する。標準アプリ実行部１００は、機器制御プラットフォーム２００上にインストールされた標準アプリ１２０と、この標準アプリ１２０に対応するサービスを備えている。
【００２２】
機器制御プラットフォーム２００は、ＯＳ２３０（Operating System、オペレーティングシステム）上で、画像形成装置１全体のハードウェア資源を管理し、機能単位で各部を制御する。
機器制御プラットフォーム２００は、標準アプリ１２０の実行基盤となるＡＰＩ（Application Programming Interface）やミドルウェアやランタイムやリンカー等（以下、「ＡＰＩ等」という。）、ＯＳ２３０上のサービス（Service、Daemon、以下「サービス等」という。）、スクリプト言語や中間言語の翻訳や実行を行うインタプリター（Interpreter）やＪＩＴ（Just In Time compiler）やバーチャルマシン等（以下、「バーチャルマシン等」という。）を含むプログラムやデータである。また、拡張アプリプラットフォーム３００自体も、ＯＳ２３０上で動作している。
【００２３】
拡張アプリプラットフォーム３００は、標準アプリ１２０を呼び出して機能を利用し、機器制御プラットフォーム２００を呼び出してハードウェア資源を利用し、拡張アプリ４００を管理し実行させる。
拡張アプリプラットフォーム３００は、拡張アプリ４００の実行基盤となるＡＰＩ等やサービス等やバーチャルマシン等を含むプログラムやデータである。また、拡張アプリプラットフォーム３００自体も、ＯＳ２３０上で動作している。
【００２４】
拡張アプリ４００は、拡張アプリプラットフォーム３００上で各種処理を行うアプリのプログラム及びデータである。
【００２５】
より詳しく説明すると、標準アプリ実行部１００は、標準アプリ１２０、及び標準アプリサービスＩＦ部１１０（標準アプリケーションサービスインターフェイス部）を備えている。
【００２６】
標準アプリ１２０は、機器制御プラットフォーム２００上で各種処理を行うアプリのプログラム及びデータである。
標準アプリ１２０は、ユーザーの指示を取得し、このユーザーの指示により画像形成装置の各種機能を利用する。また、標準アプリ１２０は、例えば、Ｊａｖａ（登録商標）等の中間言語のアプリや、各種スクリプト言語等で記載されていてもよい。
【００２７】
標準アプリ１２０は、例えば、コピーアプリ１２１、プリンターアプリ１２２、ＦＡＸアプリ１２３等が、工場出荷状態で既にインストールされていてもよい。
コピーアプリ１２１は、操作パネル部１６からのユーザーによるコピーの指示を取得すると、原稿読取部１２から原稿を読み取って、画像形成部１７により画像形成させる。
プリンターアプリ１２２は、外部の端末（図示せず）からの指示等により、ネットワーク送受信部１５で受信したＰＤＬ（Page Description Language）等のファイルを描画して、画像形成部１７により画像形成させる。また、プリンターアプリ１２２は、操作パネル部１６によるユーザーの指示により、記憶部１９の文書ボックス内のファイル等を描画して、画像形成部１７により画像形成させてもよい。
ＦＡＸアプリ１２３は、ユーザーの操作パネル部１６からのファクシミリ送信の指示を取得すると、原稿読取部１２から原稿を読み取って、ＦＡＸ送受信部１８によりファクシミリ送信する。また、ＦＡＸアプリ１２３は、外部の端末から受信したファイル等を描画して、ＦＡＸ送受信部１８により送信してもよい。また、ＦＡＸアプリ１２３は、ＦＡＸ送受信部１８により受信されたファクシミリの画像データを、画像形成部１７により画像形成させる。また、ＦＡＸアプリ１２３は、受信されたファクシミリの画像データを記憶部１９の文書ボックスに記憶してもよい。
なお、画像形成装置１の使用開始後に標準アプリ１２０がインストールされてもよい。つまり、例えば、ＦＡＸ送受信部のＦＡＸボードが取り付けられた際に、ＦＡＸアプリ１２３がインストールされる等の処理が行われてもよい。
また、ハードウェアの構成に関わらず、独自の標準アプリ１２０をユーザーがインストールすることも可能である。
【００２８】
標準アプリサービスＩＦ部１１０は、アプリ実行部の外部から標準アプリ１２０の機能を利用するためのインターフェイスを提供する。
標準アプリサービスＩＦ部１１０は、例えば、Ｊａｖａ（登録商標）等のクラス、Ｊａｖａ（登録商標）言語上のインターフェイス、ルーチン、関数、ヘッダーファイル、オブジェクト、ライブラリー等として提供されていてもよい。また、標準アプリサービスＩＦ部１１０は、ＯＳ２３０上のサービス等として提供されていてもよい。また、標準アプリサービスＩＦ部１１０は、標準アプリ１２０毎に異なるインターフェイスを提供していてもよい。
また、標準アプリサービスＩＦ部１１０は、標準アプリ１２０の実行、インストール、設定の変更、削除等を行うことも可能である。
【００２９】
機器制御プラットフォーム２００は、プラットフォームサービスＩＦ部２１０（プラットフォームサービスインターフェイス部）、各部制御用サービス２２０、及びＯＳ２３０を備えている。
【００３０】
プラットフォームサービスＩＦ部２１０は、機器制御プラットフォーム２００の外部からハードウェア資源を利用するためのインターフェイスを提供する。
プラットフォームサービスＩＦ部２１０は、各部制御用サービス２２０を呼び出して、画像形成装置１の各部のハードウェア資源を利用させる。プラットフォームサービスＩＦ部２１０は、例えば、ＡＰＩ等、又はＯＳ２３０上のサービス等として提供されていてもよい。また、プラットフォームサービスＩＦ部２１０は、Ｃ言語の構造体、Ｃ＋＋言語のクラス、その他のオブジェクト、ルーチン、関数、ヘッダーファイル、オブジェクト、ライブラリー等（以下、「クラス等」という。）として提供されていてもよい。また、プラットフォームサービスＩＦ部２１０は、例えば、Ｊａｖａ（登録商標）等の中間言語で提供されていてもよい。
【００３１】
各部制御用サービス２２０は、画像形成装置１の機能に対応する各部を適切な方式で制御するサービス等である。
各部制御用サービス２２０は、例えば、プラットフォームサービスＩＦ部２１０からの呼び出しに対応して、画像処理部１１、操作パネル部１６、ネットワーク送受信部１５等を操作する。また、各部制御用サービス２２０は、コピー機能、ネットワークスキャン機能、文書ボックス機能等を呼び出すことができる。
また、各部制御用サービス２２０は、製品系列別に、異なるサービス等、ＡＰＩ等、クラス等を組み合わせたものがファームウェアに含まれていてもよい。
【００３２】
各部制御用サービス２２０は、画像処理機能サービス２２１、デバイス操作サービス２２２、ネットワーク通信サービス２２３、及び状態管理サービス２２４を含んでいる。
【００３３】
画像処理機能サービス２２１は、画像処理のデータの作成や変換や出力に関するサービスを提供する。画像処理機能サービス２２１は、例えば、原稿読取部１２で解像度や色等を設定して原稿読取した画像データを記憶部１９に記憶させ、画像処理部１１に記憶部１９の画像データや文書データ（図示せず）を画像処理させる。また、画像処理機能サービス２２１は、ファイル等から、画像形成部１７で画像形成する画像データを描画する。
【００３４】
デバイス操作サービス２２２は、各部のデバイスを制御するためのサービス等を提供する。デバイス操作サービス２２２は、例えば、原稿読取部１２から取得した画像データを記憶部１９に記憶し、操作パネル部１６の表示部に表示されるブラウザー上に画像を描画し、描画された画像データを画像形成部１７に送信して画像形成させ、記憶部１９に記憶された画像データをＦＡＸ送受信部１８でファクシミリ送信させる。また、デバイス操作サービス２２２は、例えば搬送部のモーターの一つを駆動させるといった、より機器のハードウェアの構成に近い制御を行ってもよい。
【００３５】
状態管理サービス２２４は、各部の状態の取得等を行うためのサービス等を提供する。状態管理サービス２２４は、例えば、給紙カセットの装着状況や残記録紙数、ペーパージャムや各部の故障や正常動作等の状態、拡張デバイス２０の有無、各色トナーの残量等である、各部の状態を取得する。また、状態管理サービス２２４は、ＩＰアドレスや認識名や機種名やシリアルナンバー等の機器固有情報、一般ユーザーや管理者のＩＤやパスワードや連絡先等のユーザー情報のような、機器に関する各種情報を拡張アプリ４００に報知することも可能である。
【００３６】
ネットワーク通信サービス２２３は、ネットワークの送受信に関するサービス等を提供する。ネットワーク通信サービス２２３は、例えば、ネットワーク送受信部１５（図１）から、ＴＣＰ／ＩＰやＵＤＰの各種プロトコルにより、他の画像形成装置（図示せず）やサーバーや端末等の間でファイル等の送受信を行う。たとえば、ネットワーク通信サービス２２３は、スキャンした画像データ、文書ボックスのファイル等を送受信することも可能である。なお、ネットワーク通信サービス２２３は、ＦＡＸ送受信部１８によるファクシミリ送受信の画像データの送受信、ユーザー認証部が存在した場合はユーザー認証結果、カメラが存在した場合は映像データの送受信等を行うことも可能である。また、ネットワーク通信サービス２２３は、画像形成装置１の各部の状態、各部の機能の呼び出しの結果等についても、送受信可能である。
【００３７】
ＯＳ２３０は、画像形成装置１の各部を制御する。ＯＳ２３０としては、例えば、Ｌｉｎｕｘ（登録商標）等の汎用ＯＳ、組み込み（Embedded）向けのＯＳ、リアルタイムＯＳ等を使用することができる。また、ＯＳ２３０のカーネルやコア等のスケジュール管理や基本ハードウェアを管理するプログラムやデータ等はファームウェアに含まれていてもよい。
【００３８】
拡張アプリプラットフォーム３００は、標準機能サービス３１０、拡張機能サービス３２０、インストールサービス３３０（インストールサービス）、及び拡張アプリ管理部３４０（拡張アプリケーション管理部）を備えている。
【００３９】
標準機能サービス３１０は、標準アプリサービスＩＦ部１１０に対応した標準アプリ１２０の機能を利用させるサービス等である。
標準機能サービス３１０は、拡張アプリ４００からの各標準アプリ１２０の各機能を指定した呼び出しを受け、標準アプリサービスＩＦ部１１０に送信して、当該標準アプリ１２０の当該機能を実行させる。
【００４０】
拡張機能サービス３２０は、プラットフォームサービスＩＦ部２１０に対応したハードウェア資源を利用させるサービス等である。
拡張機能サービス３２０は、拡張アプリ４００からの画像形成装置１の各部の機能を指定した呼び出しを受け、プラットフォームサービスＩＦ部２１０に送信して、当該各部の当該機能を実行させる。
【００４１】
拡張アプリ管理部３４０は、標準機能サービス３１０及び拡張機能サービス３２０を呼び出し可能な拡張アプリ４００を管理し実行する。
拡張アプリ管理部３４０は、拡張アプリ４００のインストール、画像形成装置１から使用可能な状態とするアクティベーション、実行、実行終了、アンインストール等を拡張アプリプラットフォーム３００のＡＰＩにより管理する（以下、これらの処理を拡張アプリ４００の「ライフサイクル」の管理という。）。
また、拡張アプリ管理部３４０は、操作パネル部１６や拡張デバイス２０等から認証情報を取得した場合、拡張アプリ４００をアクティベーションして、使用可能な状態としてもよい。
【００４２】
インストールサービス３３０は、記憶部１９に記憶された標準ファームウェアの構成を変更せずに、標準機能サービス３１０では提供していない機能を拡張アプリプラットフォーム３００やＯＳ２３０等に追加するサービス等である。
インストールサービス３３０による機能の追加の詳細については後述する。
【００４３】
拡張アプリ４００は、拡張アプリプラットフォーム３００上で実行されるアプリケーションのプログラム及びデータである。拡張アプリ４００は、標準機能サービス３１０を呼び出して標準アプリ１２０の機能を利用し、拡張機能サービス３２０を呼び出して画像形成装置１の各部の機能を利用し、又はインストールサービス３３０を呼び出してＯＳ２３０への追加の機能をインストールする等の処理を実行することが可能である。このため、拡張アプリ４００により、画像形成装置１単体では使用できない各種処理を行わせることが可能となる。
また、拡張アプリ４００は、拡張アプリプラットフォーム３００上で動作する実行ファイルと、クラス情報を含む各種データとを含んで構成されてもよい。この場合、拡張アプリ４００の実行ファイルは、例えば、各種スクリプト言語のファイルや、Ｊａｖａ（登録商標）アプリの中間言語のファイルや、「ネイティブ」の実行ファイル等のアプリのバイナリのファイルであってもよい。拡張アプリ４００は、処理スピードや必要メモリー容量等のリソースの制限が少ない場合はスクリプト言語のファイルや中間言語のファイルで記載されていてもよい。また、拡張アプリ４００は、リソースの制限がある場合にはパフォーマンスに優れるＣ言語やＣ＋＋言語やアセンブラ言語等で記載されていてもよい。拡張アプリ４００は、この他にも、必要なデータを含んでいてもよい。
拡張アプリ４００は、例えば、ＯＣＲ（Optical Character Recognition、光学文字認識）、監視カメラアプリ、ウォーターマーク作成、請求書作成、社員名簿管理、伝票管理、契約書管理、名刺管理、ＰＤＦ作成、帳簿管理、グループ管理等の実用アプリを含む。また、拡張アプリ４００は、デバイスドライバー３５０（図３）や追加ハードウェア機能ＩＦ部３１１、その他のファームウェア等の追加変更を行うインストーラーアプリ、その他の管理アプリ等であってもよい。
また、複数の拡張アプリ４００が備えられていてもよい。また、拡張アプリ４００は、画像形成装置１や他の端末等（図示せず）からインストールされて記憶部１９に記憶されてもよい。また、拡張アプリ４００は、外部の記憶媒体に記憶されていてもよい。また、拡張アプリ４００は、画像形成装置１の機種固有情報に対応して実行可能か否かが選択されてもよい。また、各拡張アプリ４００をインストールや実行する場合、当該画像形成装置１と対応付けられて使用可能な状態にする「アクティベーション」が必要であってもよい。なお、画像形成装置１の機種毎に別々の拡張アプリ４００がインストールされてもよい。
【００４４】
〔拡張アプリプラットフォーム３００の詳細な構成〕
次に、図３により、例えば、拡張デバイス２０に対応する機能が追加された際の詳細な制御構成について説明する。
図３では、インストールサービス３３０により、拡張デバイス２０に対応した追加ハードウェア機能ＩＦ部３１１が拡張機能サービス３２０にインストールされており、デバイスドライバー３５０もインストールされている。
【００４５】
インストールサービス３３０は、標準機能サービス３１０では提供していない機能に対応した追加ハードウェア機能ＩＦ部３１１等のインターフェイスを拡張機能サービス３２０に追加する。また、インストールサービス３３０は、ＯＳ２３０及び拡張アプリプラットフォーム３００に対応したデバイスドライバー３５０やスクリプト等の制御プログラムをインストールする。この場合、インストールサービス３３０は、ＲＯＭやフラッシュメモリー等に記憶された標準ファームウェアは変更せず、追加的な変更を行う。
また、インストールサービス３３０は、ＯＳ２３０の設定ファイルの内容を変更することも可能である。この場合、インストールサービス３３０は、例えば、「ｖａｒ」等のディレクトリーに保存されたファイルを作成、変更、削除等したり、レジストリー等のデータベースを変更したりしてもよい。
なお、インストールサービス３３０は、拡張デバイス２０とは関係ない機能に対応する拡張機能サービス３２０やＯＳ２３０をインストールし、機能を追加することも可能である。
また、インストールサービス３３０は、ファームウェア自体の一部又は全体を変更又はアップデート等することも可能である。
【００４６】
追加ハードウェア機能ＩＦ部３１１は、インストールサービス３３０により追加された追加ハードウェアである拡張デバイス２０に対応する機能を利用させるためのインターフェイスである。追加ハードウェア機能ＩＦ部３１１は、主に拡張デバイス２０のハードウェア資源を利用するためのインターフェイスを提供する。つまり、追加ハードウェア機能ＩＦ部３１１は、デバイスドライバー３５０を呼び出して拡張デバイス２０等のハードウェア資源を利用させる。追加ハードウェア機能ＩＦ部３１１は、例えば、サービス等やクラス等として提供されていてもよい。
また、追加ハードウェア機能ＩＦ部３１１は、拡張デバイス２０に対応する拡張アプリ４００が実行された場合等に、インストールサービス３３０により、拡張機能サービス３２０に追加される。
【００４７】
デバイスドライバー３５０は、拡張デバイス２０の機能を利用するために、拡張アプリプラットフォーム３００上で実行される制御プログラムである。
デバイスドライバー３５０は、画像形成装置１に拡張デバイス２０として、例えばフィニッシャーが存在した場合は製本やステープル等、ＩＣカードや生体認証によるユーザー認証部が存在した場合は当該ユーザー認証部によるユーザー認証、カメラが存在した場合はカメラ画像の取得や視線検出等の各機能を、ＯＳ２３０を介して呼び出す。
また、デバイスドライバー３５０は、インストールサービス３３０により、拡張アプリプラットフォーム３００に追加される。デバイスドライバー３５０は、パフォーマンスを重視した言語であるＣ言語、Ｃ＋＋言語、アセンブラ言語等で作成されていてもよい。また、デバイスドライバー３５０は、スクリプト言語等の制御プログラムを含んでいてもよい。
なお、デバイスドライバー３５０は、ＯＳ２３０の機能を利用して追加可能であってもよい。また、デバイスドライバー３５０は、ＯＳ２３０に、直接、追加可能であってもよい。
【００４８】
なお、図２、図３に示す各部は、記憶部１９のＨＤＤやフラッシュメモリー等に記憶された制御プログラムをＲＡＭ等に読み出して、制御部１０が実行することで実現することが可能である。
また、図２、図３に示す各部は、図１に示すハードウェア資源である各部にアクセスして制御したり、各種データの読み書き、送受信等をしたりすることが可能である。
【００４９】
〔画像形成装置１による機能追加利用処理〕
次に、図４〜図７を参照して、本発明の実施形態に係る画像形成装置１による機能追加利用処理の説明を行う。
本実施形態の機能追加利用処理は、拡張アプリ４００を実行し、追加ハードウェア機能ＩＦ部３１１やデバイスドライバー３５０のインストールを行う。また、これらの追加ハードウェア機能ＩＦ部３１１やデバイスドライバー３５０によりアクセスを行い、拡張デバイス２０の機能を利用する。
本実施形態に係る機能追加利用処理は、主に画像形成装置１の制御部１０が、記憶部１９に記憶されたプログラムを、各部と協働し、ハードウェア資源を用いて実行する。
以下で、図４のフローチャートを参照して、機能追加利用処理の詳細をステップ毎に説明する。
【００５０】
（ステップＳ１０１）
まず、拡張アプリ管理部３４０が、拡張アプリ実行開始処理を行う。
拡張アプリ管理部３４０は、接続された記憶媒体、図示しないサーバーや端末等から拡張アプリ４００がインストールされ、ユーザーから実行の指示があった場合、この拡張アプリ４００の実行を開始させる。
なお、拡張アプリ管理部３４０は、接続された記憶媒体等から拡張アプリ４００をインストールせずに実行させてもよい。
【００５１】
（ステップＳ１０２）
次に、インストールサービス３３０が、機能追加を行うか否かについて判断する。インストールサービス３３０は、拡張アプリ４００がインストーラーアプリ等で、拡張デバイス２０等に対応した機能追加を行う場合にＹｅｓ、それ以外の場合はＮｏと判断する。
Ｙｅｓの場合、インストールサービス３３０は、処理をステップＳ１０３に進める。
Ｎｏの場合、インストールサービス３３０は、処理をステップＳ１０４に進める。
【００５２】
（ステップＳ１０３）
機能追加を行う場合、インストールサービス３３０が、機能追加処理を行う。
図５によると、インストールサービス３３０は、デバイスドライバー３５０等をインストールする場合、拡張アプリ４００から、拡張アプリ管理部３４０、拡張機能サービス３２０を介して取得した追加ハードウェア機能ＩＦ部３１１を、拡張機能サービス３２０に設定する。この際、インストールサービス３３０は、標準ファームウェアの書き換えを行わずに、これらの設定を行ってもよい。
また、インストールサービス３３０は、デバイスドライバー３５０を、ＯＳ２３０の機能等により拡張アプリプラットフォーム３００に設定する。この際に、インストールサービス３３０は、拡張デバイス２０の有無等を確認してもよい。その後、インストールサービス３３０は、ＯＳ２３０の設定を変更等する。
これらの処理により、拡張デバイス２０の機能を利用可能となる。
また、インストールサービス３３０は、拡張デバイス２０とは直接関係ない追加の機能を、拡張機能サービス３２０やＯＳ２３０に追加してもよい。
【００５３】
（ステップＳ１０４）
ここで、拡張機能サービス３２０が、画像形成装置１の標準ハードウェアの機能を呼び出すか否かを判断する。拡張機能サービス３２０は、拡張アプリ４００が画像形成装置１の標準ハードウェアを利用するため各部の機能を呼び出す場合にＹｅｓ、それ以外、つまり追加ハードウェアを利用する場合はＮｏと判断する。
Ｙｅｓの場合、拡張機能サービス３２０は、処理をステップＳ１０５に進める。
Ｎｏの場合、拡張機能サービス３２０は、処理をステップＳ１０６に進める。
【００５４】
（ステップＳ１０５）
標準ハードウェアの機能を呼び出す場合、拡張機能サービス３２０及びプラットフォームサービスＩＦ部２１０が、標準ハードウェア機能利用処理を行う。
図６によると、拡張機能サービス３２０は、拡張アプリ４００からの拡張アプリ管理部３４０を介して拡張機能サービス３２０の呼び出しがあり、これが標準ハードウェアである場合、これをプラットフォームサービスＩＦ部２１０に通知する。
プラットフォームサービスＩＦ部２１０は、拡張アプリプラットフォーム３００の拡張機能サービス３２０から呼び出されると、呼び出された機能に対応する各部制御用サービス２２０の各機能を呼び出して、画像形成装置１のハードウェア資源を利用させる。
プラットフォームサービスＩＦ部２１０は、例えば、画像処理機能サービスに対応した機能を呼び出す場合、拡張アプリ４００から画像データ等を取得して、又は原稿読取部１２（図１）から原稿を読み出して画像データとして記憶し、又は記憶された画像データを記憶部１９から読み出し、画像処理の機能を特定して実行させる。この場合、プラットフォームサービスＩＦ部２１０は、例えば、画像処理機能サービス２２１に対応した機能を呼び出す場合、画像データの拡大、縮小、回転、色変換、ノイズ除去、フォーマット変換、文字認識、透かし認識等の処理を画像処理機能サービス２２１により実行させる。また、プラットフォームサービスＩＦ部２１０は、例えば、デバイス操作サービス２２２に対応した機能を呼び出す場合、操作パネル部１６への描画、ＦＡＸ送受信部１８の制御、搬送部１４の駆動、等の処理をデバイス操作サービス２２２により実行させる。また、プラットフォームサービスＩＦ部２１０は、ネットワーク通信サービス２２３に対応した機能を呼び出す場合、ネットワーク送受信部１５により、各種プロトコルを用いたファイルの送受信、ストリーミング、認証データの送受信等をネットワーク通信サービス２２３により実行させる。また、プラットフォームサービスＩＦ部２１０は、状態管理サービス２２４に対応した機能を呼び出す場合、各部の状態の取得、及び機器に関する各種情報の取得を行い、拡張アプリ４００に報知等する。
また、拡張機能サービス３２０は、プラットフォームサービスＩＦ部２１０を介さずに直接、ＯＳ２３０を介して各部に対応した機能を呼び出す直接呼び出しを行ってもよい。この場合、図示しない標準ハードウェア用のデバイスドライバーを介して各部の機能を呼び出してもよい。
また、拡張機能サービス３２０は、追加ハードウェア以外の追加の機能についても呼び出して実行してもよい。
その後、プラットフォームサービスＩＦ部２１０は、機能追加利用処理を終了する。
【００５５】
（ステップＳ１０６）
追加ハードウェアの機能を呼び出す場合、拡張機能サービス３２０の追加ハードウェア機能ＩＦ部３１１が追加ハードウェア機能利用処理を行う。
図７によると、拡張機能サービス３２０は、拡張アプリ４００からの拡張アプリ管理部３４０を介して、拡張機能サービス３２０の呼び出しがあり、これが追加ハードウェアであった場合、追加ハードウェア機能ＩＦ部３１１を実行する。
追加ハードウェア機能ＩＦ部３１１は、デバイスドライバー３５０により、ＯＳ２３０を介して、拡張デバイス２０の機能を呼び出す。追加ハードウェア機能ＩＦ部３１１は、例えば、拡張デバイス２０がフィニッシャーであった場合は製本やステープル等、ＩＣカードや生体認証によるユーザー認証部であった場合は当該ユーザー認証部によるユーザー認証、カメラであった場合はカメラ画像の取得や視線検出等の各機能をＯＳ２３０を介して呼び出す。
以上により、本実施形態に係る機能追加利用処理を終了する。
【００５６】
以上のように構成することで、以下のような効果を得ることができる。
従来、特許文献１に記載されたような従来のプラットフォームでは、追加されたハードウェアに対応する等のため機能を追加する場合、プラットフォーム全体を変更する必要があった。
プラットフォームを変更するためには、既存のプラットフォームの構成を熟知している必要があった。加えて、プラットフォームを変更すると、標準機能サービスも影響を受けていた。このため、プラットフォーム全体への影響を明確に把握することが困難となり、プラットフォーム全体の品質維持が難しかった。実際に、プラットフォーム全体の品質を維持しようとすると、拡張した機能だけでなく既存機能の評価が必要となり、開発工数が多くなっていた。
結果として、既存のプラットフォームで機能を追加すると、多大な開発コストがかかっていた。
【００５７】
これに対して、本実施形態の画像形成装置１は、ＯＳ２３０上でハードウェア資源を管理する機器制御プラットフォーム２００と、機器制御プラットフォーム２００で管理されたハードウェア資源を利用する標準アプリ１２０を実行する標準アプリ実行部１００と、標準アプリ実行部１００により実行される標準アプリ１２０から標準アプリサービスＩＦ部１１０に対応した標準アプリ１２０の機能を利用させる標準機能サービス３１０、プラットフォームサービスＩＦ部２１０に対応したハードウェア資源を利用させる拡張機能サービス３２０、及び標準機能サービス３１０並びに拡張機能サービス３２０を呼び出し可能な拡張アプリ４００を管理し実行させる拡張アプリ管理部３４０を含む拡張アプリプラットフォーム３００と、標準ファームウェアの構成を変更せずに、標準機能サービス３１０では提供していない機能に対応した追加ハードウェア機能ＩＦ部３１１等のインターフェイスを拡張機能サービス３２０に追加し、拡張アプリプラットフォーム３００から利用させるためのインストールサービス３３０とを備えることを特徴とする。
このように構成することで、画像形成装置１の既存の機能に対応する機器制御プラットフォーム２００を変更せず、新たな制御処理系を追加して、機能を追加することが可能となる。これらの機能は、インストールサービス３３０を用いて、画像形成装置１にインストールして拡張アプリ４００から利用することができる。
よって、既存の機器制御プラットフォーム２００を変更せずに、機能の追加、拡張が可能となるため、画像形成装置１の品質の維持、向上につながる。
また、既存の機能については、機器制御プラットフォーム２００によりそのままプラットフォームサービスＩＦ部２１０で利用することで、機器制御プラットフォーム２００の内部の制御について熟知しなくても利用できる。また、追加ハードウェア機能ＩＦ部３１１に対応して追加したい機能に専念して開発が可能になる。このため、追加機能の開発の効率化、開発時間の短縮が可能となる。
また、既存の機器制御プラットフォーム２００を変更しないため、機能の追加による影響範囲が明確になり、追加の機能に絞ってデバッグやテスト等が可能になり、評価時間を短縮することができる。同様に、標準ファームウェアを変更せずに機能を追加することも可能となり、標準ファームウェア更新によるテスト等の費用等を削減できる。
つまり、追加される機能の開発を容易にし、開発効率を向上させ、開発期間を短縮させることが可能となり、開発コストを削減することができる。
また、機能を追加する度にファームウェア全体を更新する必要もなくなり、ユーザーの使い勝手を向上させられる。
【００５８】
また、階層化された拡張アプリプラットフォーム３００により、拡張アプリ４００から、標準アプリ１２０の機能又は各部に対応するハードウェア資源をそれぞれ利用可能となる。このため、顧客に合わせて構成を変更するカスタマイズが容易となり、開発コストを低減する画像形成装置を提供できる。
つまり、本実施形態の画像形成装置１は、標準アプリ１２０の機能を利用するだけでよい場合は、スクリプト言語等で素早く開発を行うことができる。逆に、ハードウェア資源を直接制御するカスタマイズの必要がある場合、標準アプリ１２０を経由せず、各部の機能を呼び出すことが可能となる。このように、本実施形態の画像形成装置１は、様々な顧客の要望に対応して、必要なカスタマイズのレベルの違いを、階層化された拡張アプリプラットフォーム３００で吸収する。これにより、必要なカスタマイズのレベルの違いに容易に対応できる。また、階層化したサービスの拡張を行うことで、カスタマイズの対応範囲を明確にして、拡張アプリ４００の開発を容易にすることが可能である。また、わざわざレベルの異なるＳＤＫ（Software Development Kit）とＮＤＫ（Native Development Kit）等を用意する必要もなくなる。
また、本実施形態の画像形成装置１は、プラットフォームを階層化するソフトウェアアーキテクチャーであるため、顧客の所望する新しいサービスへ対応した画像形成装置１を短い開発期間で提供できる。つまり、顧客が求める新しい技術をいち早く反映させ、最適な性能と機能を備えた画像形成装置の製品を安く早く提供することが可能となる。
【００５９】
また、本実施形態に係る画像形成装置１は、インストールサービス３３０により拡張機能サービス３２０に追加される追加ハードウェア機能ＩＦ部３１１が、追加ハードウェアである拡張デバイス２０に対応する機能を利用させるためのものであり、インストールサービス３３０が、拡張デバイス２０に対応したデバイスドライバー３５０も拡張アプリプラットフォーム３００にインストールすることを特徴とする。
このように構成することで、標準の構成では含まれていなかったり後付けされたりする機器に対応した機能を利用するための拡張アプリ４００を容易に開発することが可能となる。このため、オプション機器やユーザー環境用機器の開発に必要なコストを削減することができ、又、開発時間を短縮してユーザーの環境にすばやく対応させることが可能となる。
【００６０】
なお、上述の実施形態では、インストールサービス３３０が、拡張デバイス２０に対応するインターフェイスとして、追加ハードウェア機能ＩＦ部３１１を追加する例について説明した。しかしながら、インストールサービス３３０が追加するインターフェイスは、これに限られず、拡張デバイス２０とは関係ない各種サービス及びこのインターフェイスを追加するものであってもよい。
このように構成することで、標準ハードウェアを使用した、機器制御プラットフォーム２００にない機能を追加することが可能である。
【００６１】
また、インストールサービス３３０は、既存の標準ハードウェアに対応するインターフェイスとデバイスドライバーとをインストールしてもよい。
このように構成することで、標準ファームウェアを変更せず、例えば、特定の拡張アプリ４００からだけ特定の方法で標準ハードウェアにアクセスすることが可能になる。また、バージョンが異なるデバイスドライバーやサービスを混在させることができ、特定のデバイスドライバー等のバージョンに依存した拡張アプリ４００を作成することも可能となる。このため、評価時間や開発期間等を短縮させ、開発コストを低減できる。
【００６２】
また、上述の実施形態では、ネットワーク送受信部１５、画像形成部１７、ＦＡＸ送受信部１８のような各部が標準の構成である例について説明したが、これらがオプション機器等の追加ハードウェアであってもよい。この場合、インストールサービス３３０が、これらに対応した追加ハードウェア機能ＩＦ部３１１と、デバイスドライバー３５０とをインストールしてもよい。また、逆に、オプション機器等の追加ハードウェア機能ＩＦ部３１１と、デバイスドライバー３５０とが、標準ファームウェアに含まれていてもよい。
これらの構成により、柔軟な製品系列の機器を、開発コストを抑えて提供することが可能となる。
【００６３】
また、拡張アプリ４００は、画像形成装置１の各機能を呼び出して所望の機能を実現させるための「一般アプリ」と、これらの一般アプリを管理する「管理アプリ」とを含んでいてもよい。
このように構成することで、拡張アプリ４００により画像形成装置１を柔軟に制御することが可能となり、又、セキュリティを高めることができる。
【００６４】
また、上述の実施の形態では、標準アプリ１２０及び拡張アプリ４００は既に記憶部１９に記憶されている状態であるように説明した。
しかしながら、画像形成装置１に接続した外部の記憶媒体（図示せず）、外部のサーバーに接続した記憶媒体、ネットワーク経由で接続された外部の端末等から、別途、標準アプリ１２０及び拡張アプリ４００をインストールして記憶部１９に記憶させることも可能である。この場合、当該標準アプリ１２０及び拡張アプリ４００は、インストールしたユーザー、画像形成装置１、又は端末からのみ使用可能なように設定してもよい。
このように構成することで、機能拡張を柔軟に実現することができ、管理コストを低減できる。
【００６５】
また、画像形成装置１の記憶部１９には、標準アプリや拡張アプリ４００とは異なる種類のアプリを記憶させることも可能である。たとえば、記憶部１９には、拡張アプリ４００以外のＷｅｂアプリ等（以下「外部アプリ」という。）や、ユーザーのデータ等を記憶させてもよい。外部アプリは画像形成装置１の操作パネル部１６のユーザーの指示で呼び出して、画像形成装置１に読み込んで実行させてもよい。
このように構成することで、拡張アプリプラットフォーム３００のアプリと外部アプリとを柔軟に使い分けて、ユーザーの使い勝手をよくすることができる。
【００６６】
また、本発明は、画像形成装置以外の各種情報処理装置にも適用可能である。つまり、ネットワークスキャナ、スキャナーをＵＳＢ等で別途接続したサーバー等を用いるような構成であってもよい。また、アプリをインストール可能な情報処理装置であるＰＣ、スマートフォン、携帯電話、オフィス機器、産業用機器等にも適用可能である。
【００６７】
なお、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。
【符号の説明】
【００６８】
１  画像形成装置
１０  制御部
１１  画像処理部
１２  原稿読取部
１３  原稿給送部
１４  搬送部
１５  ネットワーク送受信部
１６  操作パネル部
１７  画像形成部
１８  ＦＡＸ送受信部
１９  記憶部
２０  拡張デバイス
１００  標準アプリ実行部
１１０  標準アプリサービスＩＦ部
１２０  標準アプリ
１２１  コピーアプリ
１２２  プリンターアプリ
１２３  ＦＡＸアプリ
２００  機器制御プラットフォーム
２１０  プラットフォームサービスＩＦ部
２２０  各部制御用サービス
２２１  画像処理機能サービス
２２２  デバイス操作サービス
２２３  ネットワーク通信サービス
２２４  状態管理サービス
２３０  ＯＳ
３００  拡張アプリプラットフォーム
３１０  標準機能サービス
３１１  追加ハードウェア機能ＩＦ部
３２０  拡張機能サービス
３３０  インストールサービス
３４０  拡張アプリ管理部
３５０  デバイスドライバー
４００  拡張アプリ
【図１】
2015228573.tif 000003
【図２】
2015228573.tif 000004
【図３】
2015228573.tif 000005
【図４】
2015228573.tif 000006
【図５】
2015228573.tif 000007
【図６】
2015228573.tif 000008
【図７】
2015228573.tif 000009