(57)【特許請求の範囲】
【請求項１】
第１のアプリケーションとは常時接続され画像形成機能の実行を行う複数の機能実行手段を有し、１以上の前記機能実行手段への接続により実現される第２のアプリケーションを追加可能な画像形成装置であって、
前記第２のアプリケーションから前記機能実行手段への接続を仲介するインターフェース手段を備え、
前記インターフェース手段は、
前記第２のアプリケーションが追加されると、複数の前記機能実行手段の中から、当該第２のアプリケーションが接続を行う前記機能実行手段を解析し特定する解析手段と、
前記解析手段による解析結果を、第２のアプリケーション毎に、当該第２のアプリケーションが接続を行う前記機能実行手段を対応付けたアプリ接続機能情報として管理する管理部と、
前記第２のアプリケーション起動時、前記アプリ接続機能情報に基づいて、当該第２のアプリケーションに対し、当該第２のアプリケーションと対応付けられた前記機能実行手段への接続を行う接続制御手段と、
を有することを特徴とする画像形成装置。
【請求項２】
前記接続制御手段は、前記第２のアプリケーション終了時、当該第２のアプリケーションと対応付けられた前記機能実行手段への接続を切断すること、
を特徴とする請求項１記載の画像形成装置。
【請求項３】
第１のアプリケーションとは常時接続され画像形成機能の実行を行う複数の機能実行手段を有し、１以上の前記機能実行手段への接続により実現される第２のアプリケーションを追加可能な画像形成装置における接続制御方法であって、
前記画像形成装置は、前記第２のアプリケーションから前記機能実行手段への接続を仲介するインターフェース手段を備え、
前記インターフェース手段は、
前記第２のアプリケーションが追加されると、複数の前記機能実行手段の中から、当該第２のアプリケーションが接続を行う前記機能実行手段を解析し特定する解析手順と、
前記解析手順による解析結果を、第２のアプリケーション毎に、当該第２のアプリケーションが接続を行う前記機能実行手段を対応付けたアプリ接続機能情報として管理する管理順と、
前記第２のアプリケーション起動時、前記アプリ接続機能情報に基づいて、当該第２のアプリケーションに対し、当該第２のアプリケーションと対応付けられた前記機能実行手段への接続を行う接続制御手順と、
を有することを特徴とする接続制御方法。
【請求項４】
前記接続制御手順は、前記第２のアプリケーション終了時、当該第２のアプリケーションと対応付けられた前記機能実行手段への接続を切断すること、
を特徴とする請求項３記載の接続制御方法。
【請求項５】
請求項３又は４記載の接続制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、接続制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、画像形成装置（MFP：Multi-Function Peripheral）は、ＣＰＵ（Central Processing Unit）の性能向上、メモリの大容量化、通信技術の高速化及びデジタル画像技術の高度化等、ＭＦＰに関連する技術の進化に伴い、単にデジタル複写機としての機能だけでなく、ネットワーク化されたファクシミリ、プリンタ及びスキャナ機能等の様々な機能を搭載し、利用者の環境において様々な場面で利用されている。
【０００３】
このような画像形成装置（以下ＭＦＰという）は、表示部、印刷部、撮像部などの画像形成処理で使用されるハードウェア資源を搭載するとともに、プリンタ、コピーまたはファクシミリなどの各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、またこれらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、複数のアプリケーションが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットフォームを備えている。このようなＭＦＰは、アプリケーションとコントロールサービスとを別個に設けているため、装置の出荷後においても、例えばプラグインという形で、新機能や拡張機能を容易にＭＦＰに追加できるようになっている。
【０００４】
ここで、追加される各種機能を実現するアプリケーションは、装置開発元（メーカー）以外にも、第三者（外部ベンダー等）により開発され、また提供されうる。この第三者によるアプリケーションに対応するため、装置開発元は、ＳＤＫ（Software Development Kit）といった汎用的なＩ／Ｆ（外部開発者向けのプラットフォーム）を用意することによって、ユーザや外部ベンダーなどがアプリケーションを開発し、画像処理装置での処理内容をある程度自由にカスタマイズできるようにしている。このように、近年の拡張性の高いＭＦＰにおいては、システムの基本機能を実現する自社製のアプリケーションや、追加的に導入され、新機能や拡張機能を実現する他社製のアプリケーションなど、様々な環境下で開発されたアプリケーションが動作できるよう設計されていることが知られている（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このように従来の外部開発者向けのプラットフォームは、第三者によるＭＦＰアプリケーションの容易な開発を可能とした結果、ＭＦＰのアプリケーション数は飛躍的に向上した。しかしながらその反面、ＭＦＰ上、多くのアプリケーションが搭載された場合、プラットフォーム内の構成が複雑になり、何よりもユーザが主に利用したい基本機能（コピー、プリント等）の性能へ影響が出てきてしまうという状況が生じてきた。
【０００６】
図１は、従来のＭＦＰプラットフォームの構成図である。MFPプラットフォーム１００においては、各種の本体内部の機能を利用して、コピーアプリ１１１、プリンタアプリ１１２といったアプリケーションを実現している。例えば、ＭＦＰの標準アプリケーションであるコピーアプリ１１１であれば、本体内部の機能として内部機能Ａ（スキャン）１２１と内部機能Ｂ（プリント）１２２を利用して実現されている。
【０００７】
また、本体内部の機能を利用したアプリケーション開発を可能にするため、外部公開向けプラットフォーム２００が配置され、外部公開向け機能Ａ２０１、外部公開向け機能Ｂ２０２、外部公開向け機能Ｃ２０３を提供している。これら外部公開向け機能は、外部アプリに対し外部公開をしている機能を提供するものであるが、外部公開向け機能は、実際にはコピーアプリ１１１やプリンタアプリ１１２といった標準アプリケーションと同様に本体の内部機能を利用し実現されている。つまり、外部公開向け機能は、実質的には本体内部の内部機能との仲介的役割（インターフェース）を担っている。但し、外部アプリ３０１、３０２などからすると、直接的に本体内部の機能（例えば内部機能Ａ１２１、内部機能Ｂ１２２・・）は見えないようになっており、あくまで外部公開向け機能を利用する。これは、より一般に汎用的なＩ／Ｆ（外部開発者向けのプラットフォーム２００）を用意することによって、ユーザや外部ベンダーなどのアプリケーション開発を容易にするためである（なお、内部機能詳細の公開を防止する意義もある）。
【０００８】
そして外部アプリが開発されＭＦＰに搭載される場合、まずインストール処理部２０４を利用して外部アプリ３０１、３０２、３０３などがインストールされる。インストールされた後は、外部アプリケーションはそれぞれ任意の外部公開向け機能を利用して動作を実現する。
【０００９】
このように、第三者により開発された外部アプリであってもＭＦＰ上のアプリケーションである以上、ＭＦＰの内部機能（例えば内部機能Ａ１２１、内部機能Ｂ１２２・・）を利用して動作するアプリケーションであることを多い。そして次第にこのようなアプリケーションが多くＭＦＰにインストールされ搭載されていくと、図に示されるように外部公開向け機能から内部機能へのリンク数は累積的に増加され、やがてＭＦＰ本来の基本機能（コピーアプリ１１１、プリントアプリ１１２等）のパフォーマンスの低下が生じてしまう。
【００１０】
コピーアプリ１１１、プリントアプリ１１２は、ＭＦＰ本来の基本機能であり、最もユーザの使用頻度が高い機能である。特にＭＦＰのような複合機製品の場合、製品性能は、時間単位（例えば１分間）当たりの生産性により評価されるため、このようなＭＦＰ本来の基本機能のパフォーマンス低下は深刻な問題である。
【００１１】
そこで、本発明では上記のような問題に鑑みて、本体の内部機能を利用して動作する外部アプリケーションに対し、内部機能へのリンク先情報を動的に与えることで、処理性能を最適化させる画像形成装置、接続制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記の目的を達成するために、本発明に係る画像形成装置は、第１のアプリケーションとは常時接続され画像形成機能の実行を行う複数の機能実行手段を有し、１以上の前記機能実行手段への接続により実現される第２のアプリケーションを追加可能な画像形成装置であって、前記第２のアプリケーションから前記機能実行手段への接続を仲介するインターフェース手段を備え、前記インターフェース手段は、前記第２のアプリケーションが追加されると、複数の前記機能実行手段の中から、当該第２のアプリケーションが接続を行う前記機能実行手段を解析し特定する解析手段と、前記解析手段による解析結果を、第２のアプリケーション毎に、当該第２のアプリケーションが接続を行う前記機能実行手段を対応付けたアプリ接続機能情報として管理する管理部と、前記第２のアプリケーション起動時、前記アプリ接続機能情報に基づいて、当該第２のアプリケーションに対し、当該第２のアプリケーションと対応付けられた前記機能実行手段への接続を行う接続制御手段とを有することを特徴とする。
【００１４】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１５】
本発明によれば、本体の内部機能を利用して動作する外部アプリケーションに対し、内部機能へのリンク先情報を動的に与えることで、処理性能を最適化させる画像形成装置、接続制御方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】従来のＭＦＰプラットフォームの構成図である
【図２】本実施形態に係るＭＦＰ１のハードウェア構成の一例を示す。
【図３】本実施形態に係るＭＦＰ１のＭＦＰプラットフォームの構成図である。
【図４】外部アプリのインストール処理を説明するシーケンス図である。
【図５】外部公開向け機能と内部機能が対応付けられた既知情報例である。
【図６】アプリ接続機能情報例を示す。
【図７】外部アプリの起動に伴う情報処理を説明するシーケンス図である。
【図８】外部アプリ３０１起動後のＭＦＰ１のＭＦＰプラットフォーム１００の構成図である。
【図９】外部アプリの実行に伴う情報処理を説明するシーケンス図である。
【発明を実施するための形態】
【００１７】
以下、本発明を実施するための最良の形態について図面を参照して説明する。
【００１８】
[システム構成]
（ハードウェア）
まず本実施形態に係るＭＦＰ（画像形成装置）のハードウェア構成について簡単に説明しておく。図２は、本実施形態に係るＭＦＰ１のハードウェア構成の一例を示す。
【００１９】
本実施形態に係るＭＦＰ１は、操作パネル１１と、記憶メディアＩ／Ｆ１２と、コントローラ１３と、データ通信Ｉ／Ｆ１４と、スキャナ１５と、プロッタ１６と、ＨＤＤ（Hard Disk Drive）１７とから構成され、それぞれ相互に接続されている。
【００２０】
操作パネル１１は、入力装置１１aと表示装置１１bとを有しており、入力装置１１aは、ハードキーなどで構成され、装置本体に各操作信号を入力するのに用いられる。また、表示装置１１bは、ディスプレイなどで構成され、例えば画像形成動作に関する各種情報を表示する。データ通信Ｉ／Ｆ１４は、インタフェース装置１４aを有しており、画像形成装置をネットワークやファックスなどのデータ伝送路に接続するインタフェースである。ＨＤＤ１７は、画像形成装置で取り扱われる受信文書データや読み取り画像データ、各アプリケーションにより利用されるデータなど、各種データを格納している。また、ＨＤＤ１７は、これらの各種データを、所定のファイルシステムやＤＢ（Data Base）により管理している。
【００２１】
ＨＤＤ１７に格納される各種データの中には、記録媒体１２bから入力されるデータを含む。記録媒体１２bは、記憶メディアＩ／Ｆ１２が有するドライブ装置１２aにセットされ各種データが記録媒体１２bからドライブ装置１２aを介してＨＤＤ１７に格納される。
【００２２】
コントローラ１３は、ＲＯＭ（Read Only Memory）１３a、ＲＡＭ（Random Access Memory）１３b、及びＣＰＵ（Central Processing Unit）１３cとを有しており、ＲＯＭ１３aは、画像形成装置が起動されるときに実行されるプログラムや各種データを格納している。また、ＲＡＭ１３bは、ＲＯＭ１３aやＨＤＤ１７から読み出された各種プログラムやデータを一時保持する。更に、ＣＰＵ１３cは、ＲＡＭ１３bが一時保持しているプログラムを実行する。コントローラ１３は、例えば、データ通信Ｉ／Ｆ１４を介して印刷データを受信した場合に、ＲＯＭ１３aからＲＡＭ１３b上に読み出された、ＰＤＬ（Page Description Language）を解釈可能なプログラム（ＰＤＬパーサ）をＣＰＵ１３cにより実行し、印刷データを解釈してビットマップイメージを生成する。
【００２３】
スキャナ１５は、画像読取装置１５aを有しており、読み取り面に配置された原稿を光学的に読み取り画像データを生成する。プロッタ１６は、印刷装置１６aを有しており、例えば、電子写真プロセス方式によってビットマップイメージを記録紙に印刷する。
【００２４】
このように、本実施形態に係るＭＦＰは、上記ハードウェア構成により、コピー、スキャナ、プリント、ファクシミリなど画像形成に係る基本的な機能を実現している。
【００２５】
（機能構成）
図３は、本実施形態に係るＭＦＰ１のＭＦＰプラットフォームの構成図である。図１（従来例）を比較し、本実施形態に係る外部向けプラットフォーム２００は、アプリ解析部２０５、アプリ接続機能管理部２０６、接続制御部２０７をさらに含み構成される。
【００２６】
コピーアプリ１１１、プリンタアプリ１１２は、ＭＦＰ１に出荷時から搭載され、画像形成装置本来の基本的機能を実現するための標準アプリケーション（群）である。これらアプリケーションは、アプリケーション毎に任意の本体の内部機能（内部機能Ａ１２１〜Ｄ１２４）に接続し、それぞれの機能（サービス）をユーザに提供する。アプリケーションからの接続、そして実行要求を受けた本体の内部機能らは、上述（図２）のハードウェア資源を使用して、ＭＦＰ本来の基本機能であるスキャン、プリント、ファックスといった機能をソフト及びハードを協働させ実現する（機能実行手段）。
【００２７】
一方、外部向けプラットフォーム２００は、ＭＦＰ本体内部の機能を利用したアプリケーション開発を可能にするため、外部アプリに対し外部公開の機能（外部公開向け機能）を提供するものである。但しこの外部公開向け機能は、実際にはコピーアプリ１１１やプリンタアプリ１１２といった標準アプリケーションと同様にＭＦＰ１本体の内部機能を利用し実現されているため、外部向けプラットフォーム２００は、実質的には外部アプリと本体内部の内部機能との接続において仲介的役割を担っているといえる（インターフェース手段）。
【００２８】
外部アプリ３０１、３０２、３０３は、外部ベンダー等の第三者により開発され、ユーザへの個別対応機能（カスタマイズ機能）などを実現する新機能や拡張機能を提供するソフトウェアである。そして外部アプリは、例えばＭＦＰ１の工場出荷後に追加でインストールされる。本実施形態に係るＭＦＰ１は、専用のＳＤＫ（Software Development Kit：ソフトウェア開発キット）を使用して開発された外部アプリを、外部向けプラットフォーム２００を介しＭＦＰ上で実行させることができる。外部アプリは、ＳＤＫにより使用できる命令や関数を使用してソフトウェアが開発されており、外部向けプラットフォーム２００の外部公開向け機能は、予め定義された関数により、外部アプリから処理要求を受信可能とするインターフェースである。
【００２９】
さて、インストール処理部２０４は、新たにインストールされる外部アプリのインストール処理を行う。このときアプリ解析部２０５は、複数の本体の内部機能（内部機能Ａ１２１〜Ｄ１２４）の中から、インストールされたアプリケーションが接続を行う内部機能を解析し特定する。例えば、外部アプリ３０１がインストールされると、アプリ解析部２０５は外部アプリ３０１を解析し、外部アプリ３０１がいずれの内部機能（内部機能Ａ１２１〜Ｄ１２４）を利用するアプリケーションであるかの解析を行い、利用する内部機能の特定を行う。外部アプリ３０１はコピー系アプリであるので、この場合、内部機能Ａ１２１、内部機能Ｂ１２２及び内部機能Ｄ１２４を利用するアプリケーションであると解析されるものとする。
【００３０】
アプリ接続機能管理部２０６は、インストールされた外部アプリが利用する内部機能をアプリ接続機能情報として管理する。上述の外部アプリ３０１の場合、内部機能Ａ１２１、内部機能Ｂ１２２及び内部機能Ｄ１２４を利用するアプリケーションであると解析されているので、その解析結果をアプリ接続機能情報に保存、管理する。アプリ接続機能情報の具体例は後述する。
【００３１】
接続制御部２０７は、アプリケーション起動時、上述のアプリ接続機能情報に基づいて、当該アプリケーション（例えば外部アプリ３０１）に対し、当該アプリケーションと対応付けられた内部機能（例えば内部機能Ａ１２１、内部機能Ｂ１２２及び内部機能Ｄ１２４）への接続（リンク）を行う。なおまたアプリケーション終了時、接続された内部機能との切断を行う。つまりアプリケーションと内部機能への接続は、アプリケーションの使用（起動）に伴い行われ、使用終了に伴い切断されることになる。
【００３２】
なお従来例（図１）では、例えばコピーアプリ（スキャン＋プリンタ）である外部アプリ３０１は、外部公開向け機能を介し、内部機能Ａ１２１、内部機能Ｂ１２２、内部機能Ｄ１２４との接続を持っていた。しかし一方、本実施形態（図３）では、アプリケーションが配置（起動）されていない状態では内部機能までへの接続を持たない。つまりアプリケーションのインストール後のアプリケーション起動前において、外部アプリ３０１は、外部公開向け機能を介し接続制御部２０７に対してまでは接続を持ち、アプリ接続機能管理部２０６が、「外部アプリ３０１が動作するには内部機能Ａ１２１、内部機能Ｂ１２２、内部機能Ｄ１２４を利用する必要がある」という情報を持っているだけである。実際、接続制御部２０７から内部機能Ａ１２１、内部機能Ｂ１２２及び内部機能Ｄ１２４への接続は確立されていない。
【００３３】
以上これら各機能部は、実際にはＣＰＵ１３ｃがプログラムを実行することにより実現される。続いて具体的なＭＦＰ１の処理動作について説明していく。
【００３４】
[処理動作]
（インストール処理）
図４は、外部アプリのインストール処理を説明するシーケンス図である。以下、図面を参照しながら説明する。
【００３５】
まずユーザにより外部アプリのインストール操作が行われると、外部アプリ３００（例えば外部アプリ３０１、３０２、３０３等）は、インストール処理部２０４に対しインストール実行要求を行う（Ｓ４０１）。
【００３６】
インストール処理部２０４は、インストール実行要求を受けると、アプリ解析部２０５に対して、この外部アプリについての解析要求を行う（Ｓ４０２）。アプリ解析部２０５は、アプリケーションの解析を実施する(Ｓ４０３)。解析とは、ＭＦＰ１本体の内部機能の中から、インストールされたアプリケーションが接続を行う内部機能を解析し特定する処理という。この場合、外部アプリ３００がインストールされると、アプリ解析部２０５は外部アプリ３００を解析し、外部アプリ３００がいずれの内部機能（内部機能Ａ１２１〜Ｄ１２４）を利用するアプリケーションであるかの解析を行い、利用する内部機能の特定を行う。
【００３７】
アプリ解析部２０５は、解析結果内容をアプリ接続機能情報としてアプリ接続機能管理部２０６に登録する（Ｓ４０４）。アプリ接続機能情報（解析結果内容）は、例えば外部アプリ３００のアプリケーション名、内部機能名等である。
【００３８】
登録が済むとアプリ接続機能管理部２０６は、アプリ解析部２０５に登録完了の旨を返答し（Ｓ４０５）、アプリ解析部２０５は、インストール処理部２０４に解析完了の旨を返答し（Ｓ４０６）、インストール処理部２０４は、外部アプリ３００にインストール完了の旨を返答する（Ｓ４０７）。
【００３９】
以上外部アプリ３００がＭＦＰ１にインストールされるまでの処理である。なお言うまでもなく、インストール処理部２０４は上述アプリ解析のみならず、外部アプリ３００をインストールするに必要な処理全般を含むインストールを行うものとする。また以上のインストール処理により、外部アプリ３０１、３０２、３０３がインストールされたものとして以下説明を進める。
【００４０】
（アプリ接続機能情報）
上述したように、アプリ接続機能管理部２０６は、アプリ解析部２０５による解析結果内容をアプリ接続機能情報として管理している。ここで、アプリ接続機能管理部２０６は、予め既知情報として、それぞれの外部公開向け機能がいずれの内部機能を利用するか（接続するか）の情報を保持している。
【００４１】
図５は、外部公開向け機能と内部機能が対応付けられた既知情報例である。この既知情報には、それぞれの外部公開向け機能がいずれの内部機能を利用するか（接続するか）の情報が保持されている。外部公開向け機能と内部機能とが対応付けて登録されていなければ、接続制御部２０７が外部公開向け機能をいずれの内部機能へ接続して分からないからである。
【００４２】
例えば、図３に示される外部公開向け機能Ａ２０１は、外部アプリにスキャン機能を提供するインターフェースであるため、内部機能Ａ１２１を対応付け登録されている。同様に、外部公開向け機能Ｂ２０２は、外部アプリにプリント機能を提供するインターフェースであるため、内部機能Ｂ１２２及び内部機能Ｄ１２４を対応付け登録されている。同様に、外部公開向け機能Ｃ２０３は、外部アプリにファックス機能を提供するインターフェースであるため、内部機能Ｃ１２３を対応付け登録されている。
【００４３】
さて、図６（ａ）は、アプリ接続機能情報例を示す。インストールされたアプリケーションを解析された結果、そのアプリケーションが、いずれの外部公開向け機能を利用するか（接続するか）の情報である。
【００４４】
例えば、図３に示される外部アプリ３０１がインストールされた場合、外部アプリ（コピーアプリ）３０１は、コピーアプリであるため、外部公開向け機能Ａ２０１、外部公開向け機能Ｂ２０２を利用するアプリケーションであると解析され、アプリ接続機能情報として登録される。また、図３に示される外部アプリ３０２がインストールされた場合、外部アプリ（スキャンアプリ）３０２は、スキャンアプリであるため、外部公開向け機能Ａ２０１を利用するアプリケーションであると解析され登録される。また、図３に示される外部アプリ３０３がインストールされた場合、外部アプリ（スキャンアプリ）３０２は、ファックスアプリであるため、外部公開向け機能Ｃ２０３を利用するアプリケーションであると解析され登録される。
【００４５】
図６（ｂ）は、アプリ接続機能情報例の変形例を示す。つまり図５の既知情報と図６（ａ）の両方を加味すれば、アプリケーションと内部機能を対応付けて、インストールされたアプリケーションが、外部公開向け機能を介しいずれの内部機能を利用するか（接続するか）の情報として登録しておくこともできる。但しこれは結局、接続制御部２０７は、外部アプリと内部機能を接続する際、図５の既知情報と図６（ａ）の両方を参照するか、図６（ｂ）のみを参照するかの違いであり、実質的には同一といえる。
【００４６】
（起動処理）
図７は、外部アプリの起動に伴う情報処理を説明するシーケンス図である。以下、図面を参照しながら説明する。この例では、外部アプリ（コピーアプリ）３０１が起動されるものとして説明する。
【００４７】
まず外部アプリ（コピーアプリ）３０１が起動されると（Ｓ７０１）、接続制御部２０７は、アプリ接続機能管理部２０６に対し、アプリ接続機能情報の要求を行う（Ｓ７０２）。このときアプリケーションを識別するため、アプリケーション名（外部アプリ（コピーアプリ）３０１）をパラメータとして渡す。すると、アプリ接続機能管理部２０６は、外部アプリ（コピーアプリ）３０１についてのアプリ接続機能情報を接続制御部２０７に返答する。この例では、図６（ｂ）を参照し、アプリ接続機能情報として「外部アプリ３０１→内部機能Ａ１２１、内部機能Ｂ１２２、内部機能Ｄ１２４」を返答する。
【００４８】
接続制御部２０７は、アプリ接続機能情報として「外部アプリ３０１→内部機能Ａ１２１、内部機能Ｂ１２２、内部機能Ｄ１２４」を取得しこれを参照する（Ｓ７０３）。この場合、外部アプリ３０１は、内部機能Ａ１２１、内部機能Ｂ１２２、内部機能Ｄ１２４を利用するアプリケーションであることが分かり、従って接続制御部２０７は、内部機能Ａ１２１、内部機能Ｂ１２２、内部機能Ｄ１２４に対して接続（リンク）を行う必要があると判断する。
【００４９】
接続制御部２０７は、内部機能Ａ１２１、内部機能Ｂ１２２、内部機能Ｄ１２４それぞれに対し、接続を行う（Ｓ７０４）。以上の処理がなされたときの接続状況を図８に示す。
【００５０】
図８は、外部アプリ３０１起動後のＭＦＰ１のＭＦＰプラットフォーム１００の構成図である。図３と比較し、外部アプリ３０１起動後の状況として、接続制御部２０７から、内部機能Ａ１２１、内部機能Ｂ１２２、内部機能Ｄ１２４に対して接続（リンク）がなされていることが示されている（太実線）。
【００５１】
なお一方、外部アプリ３０２、３０３についても、ＭＦＰ１上インストールはされているものの、これら起動はされておらず、外部アプリ３０２、３０３用の接続はなされていない。但し外部アプリ（スキャンアプリ）３０２は、外部公開向け機能Ａ２０１を利用するアプリケーションであり、既に起動されている外部アプリ（コピーアプリ）３０１と利用する外部公開向け機能は重複しているので、結果として外部アプリ（スキャンアプリ）３０２は起動していないものの、接続制御部２０７から内部機能（スキャン）Ａ１２１への接続は確立している。しかし、外部アプリ（ファックスアプリ）３０３について、外部アプリ（ファックスアプリ）３０３は起動されておらず、従って接続制御部２０７から内部機能（ファックス）Ｃ１２３への接続はなされていない点は、図を参照しても明確に把握できる。
【００５２】
そして外部アプリ３０１の終了時には、接続制御部２０７は、内部機能Ａ１２１、内部機能Ｂ１２２、内部機能Ｄ１２４それぞれとの接続を切断する。このように外部アプリ３０１が起動している間だけ内部機能への接続が確立されているので、ＭＦＰ本来の標準アプリケーションであるコピーアプリ１１１、プリントアプリ１１２などが内部機能を利用する際に影響が少なくて済み、即ちＭＦＰ１本来の基本機能へのパフォーマンスを維持できる。
【００５３】
（実行処理）
図９は、外部アプリの実行に伴う情報処理を説明するシーケンス図である。これまでの説明において、外部アプリ（コピーアプリ）３０１がインストールされ、そして起動されるまでを説明してきた。そして本シーケンスでは、外部アプリ（コピーアプリ）３０１が既に起動されており、実際に外部アプリ３０１がＭＦＰ１上にて実行される。
【００５４】
外部アプリ３０１は、自身のアプリケーションを実行するに際し、スキャン機能を実行する場合は外部公開向け機能Ａ２０１に対し、スキャン実行を要求する。また同様に、プリント機能を実行する場合は外部公開向け機能Ｂ２０２に対し、プリント実行を要求する。
外部公開向け機能はあくまでインターフェースであり、実際ＭＦＰ１上では内部機能が処理を担うが、外部アプリ３０１からすると、外部公開向け機能がＭＦＰ１上の各種機能を提供する機能部として見えているからである。
【００５５】
そして、スキャンやプリント実行の要求は、機能外部公開向け機能Ａ２０１や外部公開向け機能Ｂ２０２から接続制御部２０７を介し、内部機能Ａ１２１、内部機能Ｂ１２２、内部機能Ｄ１２４に伝達され、スキャンやプリントの実行がなされることとなる。
【００５６】
なお、プリント機能は、一般的にも知られているようにまず印刷データの解析を経てから印刷処理を行う必要があることから、図中の外部公開向け機能Ｂ２０２は、内部機能Ｂ１２２、内部機能Ｄ１２４に対し、機能実行要求を行っている。
【００５７】
（総括）
本実施形態に係るＭＦＰ１は、画像形成機能の実行を行う複数の機能実行手段を有し、１以上の前記機能実行手段への接続により実現されるアプリケーションを追加可能な画像形成装置であって、アプリケーションから機能実行手段への接続を仲介するインターフェース手段を備える。そしてインターフェース手段は、複数の機能実行手段の中から、アプリケーションが接続を行う機能実行手段を解析し、その解析結果を、アプリケーション毎に、アプリケーションが接続を行う前記機能実行手段を対応付けたアプリ接続機能情報として管理し、アプリケーション起動時、アプリ接続機能情報に基づいて、当該アプリケーションに対し、当該アプリケーションと対応付けられた機能実行手段への接続を行う。
【００５８】
これにより、このようにアプリケーションが起動している間だけ機能実行手段への接続が確立されるようになっている。次第に外部アプリが多くＭＦＰ１にインストールされ搭載されていくと、やがてＭＦＰ本来の基本機能のパフォーマンスの低下が生じうるところ、本実施形態に係るＭＦＰ１によれば、ＭＦＰ本来の標準アプリケーションであるコピーアプリ１１１、プリントアプリ１１２などが内部機能を利用する際に影響が少なくて済む。即ちＭＦＰ１本来の基本機能へのパフォーマンスを維持できる。
【００５９】
以上即ち本実施形態によれば、本体の内部機能を利用して動作する外部アプリケーションに対し、内部機能へのリンク先情報を動的に与えることで、処理性能を最適化させる画像形成装置等を提供することが可能となる。
【００６０】
各実施形態に基づき本発明の説明を行ってきたが、上記各実施形態にあげたその他の要素との組み合わせなど、ここで示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。また、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、などに適用したものも本発明の態様として有効である。
【符号の説明】
【００６１】
１        ＭＦＰ
１１        操作部（操作パネル）
１１ａ    入力装置
１１ｂ    表示装置
１２        記憶メディアＩ／Ｆ
１２ａ    ドライブ装置
１２ｂ    記録媒体
１３        コントローラ（部）
１３ａ    ＲＯＭ
１３ｂ    ＲＡＭ
１３ｃ    ＣＰＵ
１４        データ通信Ｉ／Ｆ
１４ａ    インターフェース装置
１５        スキャナ
１５ａ    画像読取装置
１６        プロッタ
１６ａ    印刷装置
１７        ＨＤＤ
１００    ＭＦＰプラットフォーム
１１１    コピーアプリ
１１２    プリンタアプリ
１２１    内部機能Ａ
１２２    内部機能Ｂ
１２３    内部機能Ｃ
１２４    内部機能Ｄ
２００    外部公開向けプラットフォーム
２０１    外部公開向け機能Ａ
２０２    外部公開向け機能Ｂ
２０３    外部公開向け機能Ｃ
２０４    インストール処理部
２０５    アプリ解析部
２０６    アプリ接続機能管理部
２０７    接続制御部
【先行技術文献】
【特許文献】
【００６２】
【特許文献１】特開２００５−２６９６１９号公報
【図１】
0005663983.tif 000002
【図２】
0005663983.tif 000003
【図３】
0005663983.tif 000004
【図４】
0005663983.tif 000005
【図５】
0005663983.tif 000006
【図６】
0005663983.tif 000007
【図７】
0005663983.tif 000008
【図８】
0005663983.tif 000009
【図９】
0005663983.tif 000010