(57)【特許請求の範囲】
【請求項１】
基本コンポーネントであるネイティブ関数を有するソフトウェア構造を有する画像形成装置によるアプリケーション実行時間短縮方法であって、
アプリケーションは、前記画像形成装置が提供する機能以外の機能を実現するＪａｖａ（登録商標）で作成されたアプリケーションであり、
前記ソフトウェア構造は、アプリケーション、アプリケーションフレームワーク、及びネイティブ関数提供機能から構成され、
前記アプリケーションフレームワークは、インターフェイス、ミドルウェア、及びアプリケーションライブラリーから構成され、
前記アプリケーション及び前記インターフェイスは、前記Ｊａｖａ（登録商標）に適用しており、前記ミドルウェア、前記アプリケーションライブラリー、及び前記ネイティブ関数提供機能は、ネイティブ関数に適用しており、
前記アプリケーション実行時間短縮方法は、（１）前記アプリケーションが前記ミドルウェアを経由して前記ネイティブ関数を実行する方法と、（２）前記アプリケーションが前記ミドルウェアを経由しないで前記ネイティブ関数を実行する方法を含み、
（１）前記アプリケーションが前記ミドルウェアを経由して前記ネイティブ関数を実行する方法は、
前記アプリケーションにより、前記インターフェイスを呼び出すステップと、
前記インターフェイスにより、前記ミドルウェアを呼び出すステップと、
前記ミドルウェアにより、前記ネイティブ関数提供機能を呼び出すステップと、
前記ミドルウェアにより、前記ネイティブ関数提供機能からネイティブ関数の情報を取り出すと、前記ネイティブ関数の情報により前記ミドルウェアが前記ネイティブ関数を実行するステップと、
前記ミドルウェアにより、前記インターフェイスに終了を通知するステップと、
前記インターフェイスにより、前記アプリケーションに終了を通知するステップと、を備え、
前記ミドルウェアは、前記アプリケーションから実行されるときに、前記アプリケーションの認証を行い、
（２）前記アプリケーションが前記ミドルウェアを経由しないで前記ネイティブ関数を実行する方法は、アプリケーションに前記ミドルウェアを経由せずに前記ネイティブ関数を実行する設定が行われている場合に実施され、
（Ａ）前記アプリケーションの処理を開始するときに、前記ネイティブ関数の情報を前記ネイティブ関数が実行できるプラットホームに登録するネイティブ関数登録工程と、
（Ｂ）前記ネイティブ関数の情報により前記ネイティブ関数を前記プラットホームで実行するネイティブ関数工程と、
（Ｃ）前記アプリケーションの処理を終了するときに、前記ネイティブ関数の情報を前記プラットホームから削除するネイティブ関数削除工程と
を備え、
（Ａ）前記ネイティブ関数登録工程は、
前記アプリケーションにより、前記アプリケーションが予め保持するデジタル署名、及び実行するネイティブ関数の情報に対する登録要求を、前記アプリケーションフレームワークに出力するステップと、
前記アプリケーションフレームワークにより、前記デジタル署名、及び前記ネイティブ関数の情報の登録要求が入力されると、前記画像形成装置が有する補助記憶部に保存された認証データを取り出し、前記認証データにより前記デジタル署名が認証されたか否かを判定するステップと、
前記デジタル署名が認証されたとき、前記アプリケーションフレームワークにより、前記ネイティブ関数の情報を前記アプリケーションライブラリーのプラットホームに登録するステップと、
前記アプリケーションフレームワークにより、前記アプリケーションに前記ネイティブ関数の登録処理の終了通知を出力するステップと、
前記デジタル署名が認証されないとき、前記アプリケーションフレームワークにより、前記アプリケーションに実行不可の通知を出力し、前記ネイティブ関数の登録処理を終了するステップと、
前記アプリケーションにより、前記実行不可の通知が入力されると実行を停止するステップと、を備え、
（Ｂ）前記ネイティブ関数工程は、
前記アプリケーションにより、前記ネイティブ関数の登録処理の終了通知が入力されると、前記アプリケーションからハードウェアのインターフェイスに関連するコントローラ機能の呼出要求を前記アプリケーションフレームワークに出力するステップと、
前記アプリケーションフレームワークにより、前記インターフェイスに関連するコントローラ機能を呼び出すステップと、
前記アプリケーションにより、ネイティブ関数を呼び出すステップと、
前記アプリケーションフレームワークにより、前記アプリケーションが呼び出している前記ネイティブ関数を前記アプリケーションライブラリーの前記プラットホームで実行するステップと、
前記アプリケーションフレームワークにより、前記アプリケーションにネイティブ関数処理の終了通知を出力し、前記ネイティブ関数処理を終了するステップと、を備え、
（Ｃ）前記ネイティブ関数削除工程は、
前記アプリケーションフレームワークにより、前記デジタル署名、及び前記ネイティブ関数の情報の削除要求が入力されると、前記補助記憶部から前記認証データを取り出し、前記認証データによりデジタル署名が認証されたかを判定するステップと、
前記デジタル署名が認証されたとき、前記アプリケーションフレームワークにより、前記アプリケーションライブラリーの前記プラットホームに登録されている前記ネイティブ関数の情報を削除するステップと、
前記アプリケーションフレームワークにより、前記アプリケーションに前記ネイティブ関数の削除処理の終了通知を出力し、前記ネイティブ関数の削除処理を終了するステップと、
前記デジタル署名が認証されないとき、前記アプリケーションフレームワークにより、前記アプリケーションの実行を停止するステップと、
前記アプリケーションフレームワークにより、前記アプリケーションライブラリーの前記プラットホームに登録されている前記ネイティブ関数の情報を削除するステップと、を備え
ることを特徴とするアプリケーション実行時間短縮方法。
【請求項２】
前記ミドルウェアを経由せずに前記ネイティブ関数を実行する設定が行われているアプリケーションは、データのアクセスが頻繁に行われる処理のアプリケーション、または繰り返し計算が行われる処理のアプリケーションを含むことを特徴とする請求項１に記載のアプリケーション実行時間短縮方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイスに搭載されるアプリケーションの実行時間を短縮するための方法に関する。
【背景技術】
【０００２】
最近の技術によれば、プリンタ、多機能プリンタ、多機能周辺装置、又は複合機などのＭＦＰ（Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）である画像形成装置は、Java（登録商標）の実行環境を備え、Java言語によって作成されたアプリケーション（以下、「Javaアプリケーション」という）を実行できる仕組みが構築されている。Javaアプリケーションは、画像形成装置から提供される機能のインターフェイスを使用することで、画像形成装置の機能を利用して様々な処理を実行することができる。これにより画像形成装置では、ユーザーが機能のインターフェイスを使用して、画像形成装置が提供していない機能を実現できるJavaアプリケーションを作成し、画像形成装置に搭載することができる。このようなJavaアプリケーションの搭載が可能な画像形成装置などのデバイスでは、アプリケーションの実行が容易となるような対策も行われている。例えば、特許文献１のアプリケーションが実行可能な情報処理装置では、ユーザーがアプリケーション毎に異なる入力操作を行うことなく、アプリケーションの機能を容易に呼び出すことを可能にしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２９３４０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１の情報処理装置では、アプリケーションの機能を容易に呼び出すことはできるが、アプリケーションの処理時間を速くすることができない。また、画像形成装置などのデバイスが提供する機能のインターフェイスを使用してアプリケーションを作成することは容易になったが、デバイスが提供する機能のインターフェイスを使用して作成されたアプリケーションを実行すると、処理に時間がかかるという問題があった。
【０００５】
本発明はこのような状況に鑑みてなされたものであり、上記課題を解決できるアプリケーション処理時間短縮方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明のアプリケーション実行時間短縮方法は、基本コンポーネントであるネイティブ関数を有するソフトウェア構造を有する画像形成装置によるアプリケーション実行時間短縮方法であって、アプリケーションは、前記画像形成装置が提供する機能以外の機能を実現するＪａｖａ（登録商標）で作成されたアプリケーションであり、前記ソフトウェア構造は、アプリケーション、アプリケーションフレームワーク、及びネイティブ関数提供機能から構成され、前記アプリケーションフレームワークは、インターフェイス、ミドルウェア、及びアプリケーションライブラリーから構成され、前記アプリケーション及び前記インターフェイスは、前記Ｊａｖａ（登録商標）に適用しており、前記ミドルウェア、前記アプリケーションライブラリー、及び前記ネイティブ関数提供機能は、ネイティブ関数に適用しており、前記アプリケーション実行時間短縮方法は、（１）前記アプリケーションが前記ミドルウェアを経由して前記ネイティブ関数を実行する方法と、（２）前記アプリケーションが前記ミドルウェアを経由しないで前記ネイティブ関数を実行する方法を含み、（１）前記アプリケーションが前記ミドルウェアを経由して前記ネイティブ関数を実行する方法は、前記アプリケーションにより、前記インターフェイスを呼び出すステップと、前記インターフェイスにより、前記ミドルウェアを呼び出すステップと、前記ミドルウェアにより、前記ネイティブ関数提供機能を呼び出すステップと、前記ミドルウェアにより、前記ネイティブ関数提供機能からネイティブ関数の情報を取り出すと、前記ネイティブ関数の情報により前記ミドルウェアが前記ネイティブ関数を実行するステップと、前記ミドルウェアにより、前記インターフェイスに終了を通知するステップと、前記インターフェイスにより、前記アプリケーションに終了を通知するステップと、を備え、前記ミドルウェアは、前記アプリケーションから実行されるときに、前記アプリケーションの認証を行い、（２）前記アプリケーションが前記ミドルウェアを経由しないで前記ネイティブ関数を実行する方法は、アプリケーションに前記ミドルウェアを経由せずに前記ネイティブ関数を実行する設定が行われている場合に実施され、（Ａ）前記アプリケーションの処理を開始するときに、前記ネイティブ関数の情報を前記ネイティブ関数が実行できるプラットホームに登録するネイティブ関数登録工程と、（Ｂ）前記ネイティブ関数の情報により前記ネイティブ関数を前記プラットホームで実行するネイティブ関数工程と、（Ｃ）前記アプリケーションの処理を終了するときに、前記ネイティブ関数の情報を前記プラットホームから削除するネイティブ関数削除工程とを備え、（Ａ）前記ネイティブ関数登録工程は、前記アプリケーションにより、前記アプリケーションが予め保持するデジタル署名、及び実行するネイティブ関数の情報に対する登録要求を、前記アプリケーションフレームワークに出力するステップと、前記アプリケーションフレームワークにより、前記デジタル署名、及び前記ネイティブ関数の情報の登録要求が入力されると、前記画像形成装置が有する補助記憶部に保存された認証データを取り出し、前記認証データにより前記デジタル署名が認証されたか否かを判定するステップと、前記デジタル署名が認証されたとき、前記アプリケーションフレームワークにより、前記ネイティブ関数の情報を前記アプリケーションライブラリーのプラットホームに登録するステップと、前記アプリケーションフレームワークにより、前記アプリケーションに前記ネイティブ関数の登録処理の終了通知を出力するステップと、前記デジタル署名が認証されないとき、前記アプリケーションフレームワークにより、前記アプリケーションに実行不可の通知を出力し、前記ネイティブ関数の登録処理を終了するステップと、前記アプリケーションにより、前記実行不可の通知が入力されると実行を停止するステップと、を備え、（Ｂ）前記ネイティブ関数工程は、前記アプリケーションにより、前記ネイティブ関数の登録処理の終了通知が入力されると、前記アプリケーションからハードウェアのインターフェイスに関連するコントローラ機能の呼出要求を前記アプリケーションフレームワークに出力するステップと、前記アプリケーションフレームワークにより、前記インターフェイスに関連するコントローラ機能を呼び出すステップと、前記アプリケーションにより、ネイティブ関数を呼び出すステップと、前記アプリケーションフレームワークにより、前記アプリケーションが呼び出している前記ネイティブ関数を前記アプリケーションライブラリーの前記プラットホームで実行するステップと、前記アプリケーションフレームワークにより、前記アプリケーションにネイティブ関数処理の終了通知を出力し、前記ネイティブ関数処理を終了するステップと、を備え、（Ｃ）前記ネイティブ関数削除工程は、前記アプリケーションフレームワークにより、前記デジタル署名、及び前記ネイティブ関数の情報の削除要求が入力されると、前記補助記憶部から前記認証データを取り出し、前記認証データによりデジタル署名が認証されたかを判定するステップと、前記デジタル署名が認証されたとき、前記アプリケーションフレームワークにより、前記アプリケーションライブラリーの前記プラットホームに登録されている前記ネイティブ関数の情報を削除するステップと、前記アプリケーションフレームワークにより、前記アプリケーションに前記ネイティブ関数の削除処理の終了通知を出力し、前記ネイティブ関数の削除処理を終了するステップと、前記デジタル署名が認証されないとき、前記アプリケーションフレームワークにより、前記アプリケーションの実行を停止するステップと、前記アプリケーションフレームワークにより、前記アプリケーションライブラリーの前記プラットホームに登録されている前記ネイティブ関数の情報を削除するステップと、を備えることを特徴としている。
また、本発明のアプリケーション実行時間短縮方法における前記ミドルウェアを経由せずに前記ネイティブ関数を実行する設定が行われているアプリケーションは、データのアクセスが頻繁に行われる処理のアプリケーション、または繰り返し計算が行われる処理のアプリケーションを含むことを特徴としている。
【発明の効果】
【０００７】
本発明は、デバイスが提供する機能を使用して作成されるアプリケーションにおいて、アプリケーションの実行時間を短縮するアプリケーション実行時間短縮方法を提供する。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態に係る画像形成装置の機能構成を示す図である。
【図２】本発明の実施形態に係る画像形成装置おけるアプリケーションを実行するためのソフトウェア構造を示す図である。
【図３】本発明の実施形態に係る画像形成装置におけるネイティブ関数登録処理のフローチャートである。
【図４】本発明の実施形態に係る画像形成装置におけるネイティブ関数処理のフローチャートである。
【図５】本発明の実施形態に係る画像形成装置におけるネイティブ関数削除処理のフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態（以下、「実施形態」という）を、図面を参照して説明する。本発明は、画像形成装置から提供される機能であるＯＳ（Operating System）とアプリケーションの中間に位置するソフトウェア（以下、「ミドルウェア」という）を毎回使用せずに、画像形成装置におけるソフトウェアの基本コンポーネント（以下、「ネイティブ関数」という）を直接使用することで、Javaアプリケーション（以降からは単に「アプリケーション」という）の実行時間を短縮するものである。
【００１０】
実施形態における画像形成装置１００の機能構成について、図１を用いて説明する。図１に示す画像形成装置１００は、制御部１１０、補助記憶部１２０、記憶部１３０、操作パネル１４０、操作パネル処理部１５０、原稿読取部１６０、画像形成部１７０、ネットワーク通信部１８０、及び画像印刷部１９０を備えている。これらの各部は、バスなどにより接続される構成となっている。制御部１１０には、アプリケーション実行処理部１１０ａが設けられている。補助記憶部１２０には、アプリケーション保存エリア１２０ａ、及び認証データ保存エリア１２０ｂが設けられている。
【００１１】
制御部１１０は、ＲＡＭやＲＯＭ等の主記憶手段、及びＭＰＵ(Micro Processing Unit)やＣＰＵ(Central Processing Unit)等の制御手段を備えている。また、制御部１１０は、各種Ｉ／Ｏ、ＵＳＢ（ユニバーサル・シリアル・バス）、バス、その他バードウェア等のインターフェイスに関連するコントローラ機能を備え、画像形成装置１００全体を制御する。
アプリケーション実行処理部１１０ａは、ユーザーが操作パネル１４０またはＰＣ（パーソナルコンピュータ）２００から画像形成装置１００に搭載されているアプリケーション５１０を指定すると、指定されたアプリケーションを実行する。
【００１２】
補助記憶部１２０は、フラッシュメモリー等からなる補助記憶装置で、制御部１１０が実行する処理のプログラムやデータを記憶する。
アプリケーション保存エリア１２０ａは、画像形成装置１００が提供するプログラム以外のユーザーが作成するアプリケーションのプログラム及びデータを保存する。
認証データ保存エリア１２０ｂは、ユーザーが作成するアプリケーションを認証するためのデータを保存する。
【００１３】
記憶部１３０は、ハードディスクドライブからなる記憶装置で、制御部１１０が実行する処理のプログラムやデータが記憶される。
原稿画像データ保存エリア１３０ａは、原稿読取部１６０から読み取った原稿画像データと、ネットワーク通信部１８０が受信した原稿画像データなどを一時的に保存する。
【００１４】
操作パネル１４０は、操作画面の表示とユーザーによる操作を受け付ける。操作パネル処理部１５０は、ユーザーにより選択される操作項目を操作パネル１４０に表示する処理、操作パネル１４０からユーザーの操作を入力する処理を行う。
【００１５】
原稿読取部１６０は、画像形成装置１００の原稿台にセットされた原稿の読み取りを行うもので、ユーザーが操作パネル１４０から読み取り要求を行うことにより、原稿台にセットされた原稿の読み取りを行うことができる。
【００１６】
画像形成部１７０は、原稿読取部１６０で読み取られた原稿画像データを印刷可能なイメージやＦＡＸやメールで送信可能なイメージの画像データに変換する。
【００１７】
ネットワーク通信部１８０は、ネットワーク３００に接続するための着脱可能なＬＡＮインターフェイスを備えている。また、画像形成装置１００は、ネットワーク３００に接続されているＰＣ２００などの装置とネットワーク通信部１８０により通信を行うことができる。
【００１８】
画像印刷部１９０は、ユーザーから印刷要求のあった画像データを用紙に印刷する機能を備えている。
【００１９】
次に、本発明の実施形態におけるアプリケーションを実行するためのソフトウェア構造について、図２を用いて説明する。図２に示すように、アプリケーションを実行するためのソフトウェア構造は、アプリケーション５１０、アプリケーションフレームワーク５２０、及びネイティブ関数提供機能５３０から構成されている。アプリケーションフレームワーク５２０は、インターフェイス５２０ａ、ミドルウェア５２０ｂ、及びアプリケーションライブラリー５２０ｃから構成されている。このようなソフトウェア構造において、アプリケーション５１０及びインターフェイス５２０ａは、Java（登録商標）に適用しているのでJava層に含まれる部分となる。また、ミドルウェア５２０ｂ、アプリケーションライブラリー５２０ｃ、及びネイティブ関数提供機能５３０は、ネイティブ関数に適用しているのでネイティブ層に含まれる部分となる。
【００２０】
アプリケーション５１０は、画像形成装置１００が提供する機能以外で、ユーザーが作成するプログラムである。
アプリケーションフレームワーク５２０は、アプリケーション５１０が制御部１１０により実行されるときにアプリケーション５１０が使用するソフトウェア、プログラム、及びライブラリーである。
インターフェイス５２０ａは、アプリケーション５１０とミドルウェア５２０ｂとを接続するプログラムである。アプリケーション５１０は、インターフェイス５２０ａを経由してミドルウェア５２０ｂを実行する。
ミドルウェア５２０ｂは、ＯＳを直接動作させ、アプリケーションを実行するための機能を提供する。ミドルウェア５２０ｂは、アプリケーション５１０から実行されるときに、アプリケーション５１０の認証を行う。
アプリケーションライブラリー５２０ｃは、アプリケーションがミドルウェア５２０ｂを経由せずに、ネイティブ関数を実行するときに、アプリケーションが使用するライブラリーである。アプリケーションライブラリー５２０ｃには、ネイティブ関数を実行できる環境（以下、「プラットホーム」という）が設けられ、プラットホームにネイティブ関数を実行するためのネイティブ関数の情報が登録され、このネイティブ関数の情報によりネイティブ関数を実行することができる。
ネイティブ関数提供機能５３０は、ミドルウェア５２０ｂが実行するネイティブ関数の情報を提供する。ミドルウェア５２０ｂは、ネイティブ関数の情報によりネイティブ関数を実行することができる。
【００２１】
このようなアプリケーションを実行するための図２に示すソフトウェア構造において、まず、矢印（１）に示すようにアプリケーション５１０からインターフェイス５２０ａを呼び出す。次に、矢印（２）に示すようにインターフェイス５２０ａからミドルウェア５２０ｂを呼び出す。次に、矢印（３）に示すようにミドルウェア５２０ｂからネイティブ関数提供機能５３０を呼び出し、矢印（４）に示すようにミドルウェア５２０ｂがネイティブ関数提供機能５３０からネイティブ関数の情報を取り出すと、ネイティブ関数の情報によりミドルウェア５２０ｂがネイティブ関数を実行する。次に、矢印（５）に示すようにミドルウェア５２０ｂからインターフェイス５２０ａに終了を通知する。次に、矢印（６）に示すようにインターフェイス５２０ａからアプリケーション５１０に終了を通知する。以上のように、通常は矢印（１）から矢印（６）を繰り返すことで、アプリケーションが実行されるが、アプリケーション５１０がアプリケーションライブラリー５２０ｃにネイティブ関数の実行を指示するときには、矢印（７）に示すようにアプリケーションライブラリー５２０ｃに登録されているネイティブ関数の情報により、アプリケーションライブラリー５２０ｃがネイティブ関数を実行する。アプリケーション５１０がミドルウェア５２０ｂを経由せずにネイティブ関数を実行する処理の詳細については、後述する。
【００２２】
次に、本発明の実施形態に係るアプリケーション実行処理について、図２及び図３を用いて説明する。ユーザーが操作パネル１４０またはＰＣ２００から画像形成装置１００に搭載されているアプリケーション５１０を指定して起動する操作を行うと、制御部１１０に通知され、制御部１１０がアプリケーション実行処理部１１０ａを起動する。起動されたアプリケーション実行処理部１１０ａはアプリケーション保存エリア１２０ａから指定されたアプリケーション５１０のプログラムを取り出し、アプリケーション５１０を開始する。
また、アプリケーション５１０にミドルウェア５２０ｂを経由せずにネイティブ関数を実行する設定が行われていると、アプリケーション５１０は、処理を開始するときにネイティブ関数登録処理を実行し、次にネイティブ関数処理を実行し、処理を終了するときにネイティブ関数削除処理を実行する。
【００２３】
まず、ネイティブ関数登録処理について、図３に示すネイティブ関数登録処理のステップ順に説明する。
【００２４】
（ステップＳ１１０）
まず、アプリケーション５１０は、デジタル署名、実行するネイティブ関数の情報に対する登録要求をアプリケーションフレームワーク５２０に出力する。デジタル署名は、ミドルウェア５２０ｂを経由せずにネイティブ関数を実行する設定が行われているアプリケーション５１０が予め保持している。
【００２５】
（ステップＳ１２０）
次いで、アプリケーションフレームワーク５２０は、デジタル署名、ネイティブ関数の情報の登録要求を入力すると、認証データ保存エリア１２０ｂから認証データを取り出し、認証データによりデジタル署名の確認を行う。
【００２６】
（ステップＳ１３０）
次いで、アプリケーションフレームワーク５２０は、デジタル署名が認証されたかを判定する。デジタル署名が認証されたとき(ステップＳ１３０のＹｅｓ)は、ステップＳ１４０に進む。デジタル署名が認証されないとき（ステップＳ１３０のＮｏ）は、ステップＳ１５０に進む。
【００２７】
（ステップＳ１４０）
ステップＳ１３０のＹｅｓにおいて、アプリケーションフレームワーク５２０は、ネイティブ関数の情報をアプリケーションライブラリー５２０ｃのプラットホームに登録し、アプリケーション５１０にネイティブ関数登録処理の終了通知を出力すると、ネイティブ関数登録処理を終了する。
【００２８】
（ステップＳ１５０）
ステップＳ１３０のＮｏにおいて、アプリケーションフレームワーク５２０は、アプリケーション５１０に実行不可の通知を出力し、ネイティブ関数登録処理を終了する。アプリケーション５１０は、実行不可の通知を入力すると実行を停止する。
【００２９】
次に、ネイティブ関数処理について、図４に示すネイティブ関数処理のステップ順に説明する。
【００３０】
（ステップＳ２１０）
まず、アプリケーション５１０は、ネイティブ関数登録処理の終了通知を入力すると、アプリケーション５１０からハードウェアのインターフェイスに関連するコントローラ機能の呼出要求をアプリケーションフレームワーク５２０に出力する。
【００３１】
（ステップＳ２２０）
次いで、アプリケーションフレームワーク５２０は、インターフェイスに関連するコントローラ機能を呼び出す。
【００３２】
（ステップＳ２３０）
次いで、アプリケーション５１０は、ネイティブ関数を呼び出す。
【００３３】
（ステップＳ２４０）
次いで、アプリケーションフレームワーク５２０は、アプリケーション５１０が呼び出しているネイティブ関数をアプリケーションライブラリー５２０ｃのプラットホームで実行し、アプリケーション５１０にネイティブ関数処理の終了通知を出力すると、ネイティブ関数処理を終了する。
【００３４】
次に、ネイティブ関数削除処理について、図５に示すネイティブ関数削除処理のステップ順に説明する。
【００３５】
（ステップＳ３１０）
まず、アプリケーション５１０は、ネイティブ関数処理の終了通知を入力すると、デジタル署名、呼び出すネイティブ関数の情報に対する削除要求をアプリケーションフレームワーク５２０に出力する。
【００３６】
（ステップＳ３２０）
次いで、アプリケーションフレームワーク５２０は、デジタル署名、ネイティブ関数の情報の削除要求を入力すると、認証データ保存エリア１２０ｂから認証データを取り出し、認証データによりデジタル署名の確認を行う。
【００３７】
（ステップＳ３３０）
次いで、アプリケーションフレームワーク５２０は、デジタル署名が認証されたかを判定する。デジタル署名が認証されたとき(ステップＳ３３０のＹｅｓ)は、ステップＳ３４０に進む。デジタル署名が認証されないとき（ステップＳ３３０のＮｏ）は、ステップＳ３５０に進む。
【００３８】
（ステップＳ３４０）
ステップＳ３３０のＹｅｓにおいて、アプリケーションフレームワーク５２０は、アプリケーションライブラリー５２０ｃのプラットホームに登録されているネイティブ関数の情報を削除し、アプリケーション５１０にネイティブ関数削除処理の終了通知を出力すると、ネイティブ関数削除処理を終了する。
【００３９】
（ステップＳ３５０）
ステップＳ３３０のＮｏにおいて、アプリケーションフレームワーク５２０は、アプリケーション５１０の実行を停止し、アプリケーションライブラリー５２０ｃのプラットホームに登録されているネイティブ関数の情報を削除する。
【００４０】
以上により、画像形成装置１００に搭載されているアプリケーション５１０において、ミドルウェア５２０ｂを経由せずにネイティブ関数を実行することで、ミドルウェア５２０ｂによる処理の実行時間が削除される。これにより、アプリケーション５１０の実行時間を短縮することができる。また、アプリケーション５１０によりネイティブ関数が実行されるときには、アプリケーションフレームワーク５２０は、アプリケーション５１０が保持しているデジタル署名の確認を行い、認証が行われたときにアプリケーション５１０に対してネイティブ関数の実行を許可する。これにより、許可されていないアプリケーション５１０がミドルウェア５２０ｂを経由せずにネイティブ関数を実行することで、不適切な処理が行われることによるセキュリティの脅威を、ミドルウェア５２０ｂと同様に防止することができる。従って、データのアクセスが頻繁に行われる処理、または繰り返し計算が行われる処理などのアプリケーション５１０では、処理時間が従来に比べてとても短くなるので、ユーザーの待ち時間に対するストレスを軽減できる。また、本発明のアプリケーション５１０はセキュリティが確保され、このような複数のアプリケーション５１０を画像形成装置１００に搭載することで、ユーザーの要求に対処する付加価値の高い画像形成装置１００を提供できる。
【００４１】
なお、実施形態においては、画像形成装置１００に搭載するアプリケーション５１０の例で説明したが、ソフトウェアを備え、ソフトウェアにより機能が実行されるデバイス一般に適用可能である。
また、実施形態では、Javaアプリケーションの例で説明したが、Javaアプリケーションに限定されず、デバイスにおいて実行環境が整えられている言語によって作成されたアプリケーションであれば、同様に適用することができる。
【００４２】
このような本発明のアプリケーション実行時間短縮方法は、デバイスが提供する機能を使用して作成されるアプリケーションにおいて、アプリケーションの実行時間を短縮できる。
【００４３】
以上、具体的な実施の形態により本発明を説明したが、上記実施の形態は本発明の例示であり、この実施の形態に限定されないことは言うまでもない。
【産業上の利用可能性】
【００４４】
本発明は、アプリケーションの搭載が可能な画像形成装置などのデバイスに好適であるが、デバイスに限られるものではなく、ネイティブ関数を有しているソフトウェアが搭載されるシステムにも適用できる。
【符号の説明】
【００４５】
１００・・・・・画像形成装置
１１０・・・・・制御部
１１０ａ・・・・アプリケーション実行処理部
１２０・・・・・補助記憶部
１２０ａ・・・・アプリケーション保存エリア
１２０ｂ・・・・認証データ保存エリア
１３０・・・・・記憶部
１３０ａ・・・・原稿画像データ保存エリア
１４０・・・・・操作パネル
１５０・・・・・操作パネル処理部
１６０・・・・・原稿読取部
１７０・・・・・画像形成部
１８０・・・・・ネットワーク通信部
１９０・・・・・画像印刷部
２００・・・・・ＰＣ
３００・・・・・ネットワーク
５１０・・・・・アプリケーション
５２０・・・・・アプリケーションフレームワーク
５２０ａ・・・・インターフェイス
５２０ｂ・・・・ミドルウェア
５２０ｃ・・・・アプリケーションライブラリー
５３０・・・・・ネイティブ関数提供機能
【図１】
0005866316.tif 000002
【図２】
0005866316.tif 000003
【図３】
0005866316.tif 000004
【図４】
0005866316.tif 000005
【図５】
0005866316.tif 000006