(57)【要約】【課題】  アプリケーションをアプリケーション実行環境上で動作させるフレームワークを有し、ブラウザと前記アプリケーションとの間の通信を行う電子機器において、ユーザアプリケーションとほぼ同列にある管理アプリケーションによってユーザアプリケーションのライフサイクルなどが管理されるため、ユーザからの見かけ上必要の無い機能のためにメモリやスレッドなどのシステムリソースが消費されてしまう問題や、管理アプリケーションがユーザアプリケーションと同レベルのためセキュリティホールの発生などがある点である。【解決手段】  前記フレームワークは、ネイティブコードで書かれたコントローラ要素部を有し、操作パネル部のブラウザからコントローラ要素部に直接の通信を行うことにより、アプリケーションの管理を行う方法をとることにより、問題を解決するとともに、実行の高速化、システムの安全性を高めた。【選択図】図３
2008191901.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションをアプリケーション実行環境上で動作させるフレームワークを有し、ブラウザと前記アプリケーションとの間の通信を行う電子機器において、
前記アプリケーション実行環境と前記アプリケーションとが共用するコントローラ要素部を有し、
前記ブラウザが前記コントローラ要素部との間で直接の通信をする経路を経て前記アプリケーションの管理を行う
ことを特徴とする電子機器。
【請求項２】
請求項１の電子機器であって、
前記ブラウザと前記アプリケーションとの間の通信を前記アプリケーション実行環境上で動作するサーブレットを通して行う
ことを特徴とする電子機器。
【請求項３】
請求項１または２の電子機器であって、
前記コントローラ要素部は、ネイティブコードで作成されたプログラムにより機能する
ことを特徴とする電子機器。
【請求項４】
請求項１から３のいずれかの電子機器であって、
前記ブラウザは、前記アプリケーションの管理を行うコントロールページを有する
ことを特徴とする電子機器。
【請求項５】
請求項１から４のいずれかの電子機器であって、
前記アプリケーション実行環境がＪＶＭ（Java（登録商標） Virtual Machine）である、
ことを特徴とする電子機器。
【請求項６】
請求項１から５のいずれかの電子機器であって、
前記アプリケーションがアプレットまたは、Xletにより機能する
ことを特徴とする電子機器。
【請求項７】
請求項１から６のいずれかの電子機器であって、
前記ブラウザは、前記アプリケーション実行環境を動作させるＣＰＵ（Central Processing Unit）上で動作するか、または、前記電子機器中に搭載される前記アプリケーション実行環境を動作させるＣＰＵとは別の独立したＣＰＵ上で動作するか、または、前記電子機器とは別の外部端末に搭載されるＣＰＵ上で動作する
ことを特徴とする電子機器。
【請求項８】
フレームワークによってアプリケーション実行環境上で動作するアプリケーションと、ブラウザとの間の通信を介して、前記アプリケーションの管理機能をコンピュータによって実現させる制御プログラムにおいて、
前記アプリケーション実行環境から独立したコントローラ要素部が、前記ブラウザとの間で直接の通信を行って、アプリケーション管理の指示を伝送する伝送機能と、
前記コントローラ要素部が前記伝送された指示に基づいて前記アプリケーションの管理を行う管理機能とをコンピュータによって実現させる
ことを特徴とする制御プログラム。
【請求項９】
アプリケーションをアプリケーション実行環境上で動作させるフレームワークを有し、ブラウザと前記アプリケーションとの間の通信を行う電子機器の制御方法において、
前記ブラウザが、前記アプリケーション実行環境と前記アプリケーションとが共用する前記コントローラ要素部との間で直接の通信をする経路を経て前記アプリケーションの管理を行う
ことを特徴とする電子機器の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
電子機器などに搭載されるアプリケーションを管理するフレームワーク及び該アプリケーションの制御技術に関する電子機器、制御プログラム及び電子機器の制御方法。
【背景技術】
【０００２】
画像形成装置などの複数の機能（複写、ＦＡＸ送受信、スキャナ）を持つ電子機器では、それらの個別の機能を実行させる複数のプログラムが必要であるが、それらのプログラムをそれぞれ独立に開発していたのでは、開発行程に時間と労力がかかる問題があった。それら個別の複写機能、ＦＡＸ送受信機能及びスキャナ機能を実行するプログラム間でも重複するプログラム機能部が多く、それらを共通のコントローラ要素として開発し、各プログラムで共用することにより開発の高効率化や、プログラムサイズの小型化や、プログラムの高速化や、メモリの省資源化が実現可能となる。
【０００３】
また、近年さらにＪＶＭ（Java（登録商標） Virtual Machine）やＯＳＧＩ（Open Services Gateway Initiative）の実行環境などのようにハードウェアのコントロール要素に関するライブラリを充実させた環境が入手可能となってきた。その中でも、Xletなどのように、家庭用のテレビジョン装置のコントロールを想定したライブラリがＪＶＭに加えられるなどして、アプリケーションプログラムの開発効率や実装効率などがより高まってきている。
【０００４】
例えば、特許文献１に示すように、画像形成装置において、複数のアプリケーションプログラムを管理する管理機構が提案されている。この方法では、アプリケーションを管理するプラットフォーム（同特許文献中ではプラットフォームという用語が用いられているが、一般的にはフレームワークの意）を備える画像形成装置であって、前記プラットフォームによって管理される他のアプリケーションとして、前記プラットフォームによって管理される他のアプリケーションを操作対象とする操作画面を表示する操作画面表示アプリケーションを備えることを特徴とする。
【０００５】
しかし、同方法では、アプリケーションのライフサイクルや画面専有の切り替えなどを行うアプリケーションも、他のアプリケーションと同じ方式で作成されたアプリケーションであるために問題が起きる。
【０００６】
その問題について、図１を用いてアプリケーションプログラムがXletでの場合を例にとって説明を行う。ユーザアプリケーションのXlet１３は、フレームワークであるMulti Xlet Manager１７上のXlet Manager１９により情報の集約と管理を行うが、具体的な操作については管理アプリケーションXletEx１１に負うところが多い。よって、XletEx１１には通常のXlet１３には無い特権が与えられている。それは、例えばフレームワークへのアクセスである。この場合Xlet１３には出来ないフレームワークへの直接的なアクセスがXletEx１１には許されている。ゆえに、開発者によってはXletEx型のアプリケーションを作成し、その結果フレームワークへの重篤なダメージを与える結果も想定され、一種のセキュリティホールと見なされる。
【０００７】
また、同特許文献１によれば、複数のアプリケーション（管理アプリも含む）の表示部をパネル上で切り替えるため、特権的な管理アプリケーション(特許文献１ではタスクバー表示アプリケーション)を必要としている。このアプリケーションだけが他のアプリケーションと異なり常時表示されることとなる。その結果ユーザアプリケーションの表示部の作り方次第ではタスクバー表示を上書きされてしまい、全く切り替え操作ができなくなる問題が発生する可能性がある（図２参照）。
【０００８】
また、管理・エラー通知・切り替えなどのために、用途とは直接関係のない複数のアプリケーション（Xlet Manager１９）が少なくとも稼働状態になっていなければならないこともシステムリソースの無用な消費となる。
【０００９】
【特許文献１】特開２００５−２６９６１９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
解決しようとする問題点は、アプリケーションプログラムをアプリケーション実行環境上で動作させるフレームワークを有し、ブラウザプログラムと前記アプリケーションプログラムとの間の通信を行う電子機器、その制御プログラム、制御方法において、ユーザアプリケーション（アプリケーションプログラムと同意）とほぼ同列にある管理アプリケーションによってユーザアプリケーションのライフサイクルなどが管理されるため、ユーザからの見かけ上必要の無い機能のためにメモリやスレッドなどのシステムリソースが消費されてしまう。また、管理アプリケーションがユーザアプリケーションと同レベルのアプリケーションなので、ユーザアプリケーションの挙動によるセキュリティホールの発生などがある点である。
【課題を解決するための手段】
【００１１】
本発明の電子機器は、アプリケーションをアプリケーション実行環境上で動作させるフレームワークを有し、ブラウザと前記アプリケーションとの間の通信を行う電子機器において、前記アプリケーション実行環境と前記アプリケーションとが共用するコントローラ要素部を有し、前記ブラウザが前記コントローラ要素部との間で直接の通信をする経路を経て前記アプリケーションの管理を行うことを最も主要な特徴とする。
【００１２】
本発明の制御プログラムは、フレームワークによってアプリケーション実行環境上で動作するアプリケーションと、ブラウザとの間の通信を介して、前記アプリケーションの管理機能をコンピュータによって実現させる制御プログラムにおいて、前記アプリケーション実行環境から独立したコントローラ要素部が、前記ブラウザとの間で直接の通信を行って、アプリケーション管理の指示を伝送する伝送機能と前記コントローラ要素部が前記伝送された指示に基づいて前記アプリケーションの管理を行う管理機能とをコンピュータによって実現させることを最も主要な特徴とする。
【００１３】
本発明の電子機器の制御方法は、アプリケーションをアプリケーション実行環境上で動作させるフレームワークを有し、ブラウザと前記アプリケーションとの間の通信を行う電子機器の制御方法において、前記ブラウザが、前記アプリケーション実行環境と前記アプリケーションとが共用する前記コントローラ要素部との間で直接の通信をする経路を経て前記アプリケーションの管理を行うことを最も主要な特徴とする。
【発明の効果】
【００１４】
本発明の電子機器は、アプリケーションをアプリケーション実行環境上で動作させるフレームワークを有し、ブラウザと前記アプリケーションとの間の通信を行う電子機器において、前記アプリケーション実行環境と前記アプリケーションとが共用するコントローラ要素部を有し、前記ブラウザが前記コントローラ要素部との間で直接の通信をする経路を経て前記アプリケーションの管理を行うことを最も主要な特徴とするため、ユーザからの見かけ上必要の無い機能のためにメモリやスレッドなどのシステムリソースが消費されてしまうことが無くなった。また、ユーザアプリケーションの挙動によるメモリ領域の侵食やセキュリティホールの発生などが無くなった。
【００１５】
本発明の制御プログラムは、フレームワークによってアプリケーション実行環境上で動作するアプリケーションと、ブラウザとの間の通信を介して、前記アプリケーションの管理機能をコンピュータによって実現させる制御プログラムにおいて、前記アプリケーション実行環境から独立したコントローラ要素部が、前記ブラウザとの間で直接の通信を行って、アプリケーション管理の指示を伝送する伝送機能と前記コントローラ要素部が前記伝送された指示に基づいて前記アプリケーションの管理を行う管理機能とをコンピュータによって実現させることを最も主要な特徴とするため、ユーザからの見かけ上必要の無い機能のためにメモリやスレッドなどのシステムリソースが消費されてしまうことが無くなった。また、ユーザアプリケーションの挙動によるメモリ領域の侵食やセキュリティホールの発生などが無くなった。
【００１６】
本発明の電子機器の制御方法は、アプリケーションをアプリケーション実行環境上で動作させるフレームワークを有し、ブラウザと前記アプリケーションとの間の通信を行う電子機器の制御方法において、前記ブラウザが、前記アプリケーション実行環境と前記アプリケーションとが共用する前記コントローラ要素部との間で直接の通信をする経路を経て前記アプリケーションの管理を行うことを最も主要な特徴とするため、ユーザからの見かけ上必要の無い機能のためにメモリやスレッドなどのシステムリソースが消費されてしまうことが無くなった。また、ユーザアプリケーションの挙動によるメモリ領域の侵食やセキュリティホールの発生などが無くなった。
【発明を実施するための最良の形態】
【００１７】
本発明の電子機器、制御プログラム、電子機器の制御方法は、フレームワークが有するネイティブコードで書かれたコントローラ要素部が操作パネルブラウザと直接の通信を行うことにより、アプリケーションプログラムの管理を行う方法により実現した。
【実施例１】
【００１８】
画像形成装置では、複写機能や、ＦＡＸ機能、スキャナ機能などを実現するが、これらの機能を実行するための手段のうち、ソフトウェアにより実現する部分をアプリケーションと呼ぶ。一般的に画像形成装置は、前記記載の機能毎（複写機能や、ＦＡＸ機能、スキャナ機能）に個別のアプリケーション手段を保持している。
【００１９】
また、これらアプリケーション手段を画像形成装置のコンピュータに実行させて、アプリケーション手段を機能させるためのプログラムをアプリケーションプログラムと呼ぶ。このアプリケーションプログラムが画像形成装置上のコンピュータで実行されて、画像形成装置のハードウェアと協働して動作することにより、上記の機能（複写機能や、ＦＡＸ機能、スキャナ機能）が実現される。
【００２０】
［構成］
図３は、本発明の実施例に係わる電子機器である画像形成装置のブロック構成図である。本発明に関連のあるソフトウェア機能部及びパネル操作部の部分のみを図示してあり、他の印刷部や読取部など本発明の本質に関係の無い部分は省略した。
【００２１】
画像形成装置には、前記アプリケーションプログラム１５１Ａｐｐ１、１５１Ａｐｐ２、１５１Ａｐｐ３が備わっている。これらのアプリケーションプログラムは、アプリケーション実行環境１１１（例えばＪＶＭ（Java（登録商標） Virtual Machine）環境）上でＡＰＩ（Application Program Interface）１１３を通して実行されている。
【００２２】
また、アプリケーション実行環境１１１上では、Ｗｅｂコンテナ１１５が提供されており、Ｗｅｂコンテナ１１５中には、ブラウザ３０１との間での通信を行うためのＷｅｂサーバ機能及び各アプリケーションプログラム１５１（Ａｐｐ１、Ａｐｐ２、Ａｐｐ３）との通信を受け持つサーブレット１１７Ｓ１、１１７Ｓ２、１１７Ｓ３が搭載されている。
【００２３】
上記のＷｅｂコンテナ１１５とアプリケーション実行環境１１１が共用で使用するライブラリはコントローラ要素部１２０（図３のＬ字型部）として備わっている。コントローラ要素としては、例えば、アプリケーションプログラムの起動、終了、実行中のメモリ管理などを担当するアプリ管理部１２１、イベント発生の通知を各部に行うイベント通知部１２３、ログの記録を行うログ管理部１２５、操作パネルブラウザ３０１との間で通信を行うネイティブＩ／Ｆ（インターフェース）部１２７等が備わっている。
【００２４】
このコントローラ要素部１２０は、上記のアプリケーション実行環境１１１とは独立している。独立しているとは、すなわち上記コントローラ要素部の実行に関しては、アプリケーション実行環境を必要とせずに単独で機能可能ということである。すなわちコントローラ要素部は、ネイティブコードで書かれており、ＪＶＭ実行環境上で動作する中間コードによるプログラムに起因する速度の問題や、実行環境に動作が依存する問題などが無い。
【００２５】
上記のアプリケーション実行環境１１１、上記のＡＰＩ（Application Protocol Interface）１１３、Ｗｅｂコンテナ１１５、コントローラ要素部１２０を含めてフレームワーク１００（図３の点線部で囲んである凸型部）と呼ぶ。
【００２６】
画像形成装置内の操作パネル部では、操作パネルブラウザプログラム３０１が稼動している。同プログラムが稼動するＣＰＵは、上記のフレームワーク１１１、及びアプリケーションプログラム１５１が稼動するＣＰＵとは別の独立したものであり、操作パネル部自体がひとつの独立したユニットとして構成されている。
【００２７】
操作パネルブラウザ３０１は、Ｗｅｂコンテナ１１５中の各アプリケーションプログラム１５１に呼応したサーブレット１１７（例えばＡｐｐ１に対しＳ１）を通して、各アプリケーションプログラムと通信を行う。
【００２８】
操作パネルブラウザ３０１は、マルチタブタイプのブラウザプログラムであり、各アプリケーションプログラムを操作する操作ページＶ１（３１１Ｖ１、Ａｐｐ１に対応）、操作ページＶ２（３１１Ｖ２、Ａｐｐ２に対応）、操作ページＶ３（３１１Ｖ３、Ａｐｐ３に対応）がそれぞれ呼応するサーブレットＳ１、Ｓ２、Ｓ３によって表示される。また、アプリケーションプログラムの管理を行う、コントロールページＶｃ（３１１Ｖｃ）を有する。
【００２９】
上記コントロールページ３１１Ｖｃは、コントローラ要素部１２０のネイティブＩ／Ｆ１２７との間で通信を行い、アプリ管理部１２１を通して、アプリケーションプログラムの起動、終了、実行中のメモリ管理などをすることが可能となっている。
【００３０】
［操作の経路］
図３では、アプリケーションプログラム（図１でのユーザアプリに相当）が３つ（Ａｐｐ１、Ａｐｐ２、Ａｐｐ３）稼働状態にあるが、それぞれの表示はＪＡＶＡ（登録商標）のサーブレット技術に基づき、ＨＴＭＬ（Hyper Text Markup Language）で構成されている。それぞれのサーブレット１１７Ｓ１〜Ｓ３によって生じた操作ページ３１１Ｖ１〜Ｖ３は操作パネルブラウザ３０１にて表示される。このブラウザはマルチタブ対応であり、セッション数の制限に達しない限りそれらの表示部を並列的に扱うことができる。
【００３１】
本実施例では、このように、表示部の切り替えにはブラウザの機能を使うこととなり、特別なアプリケーションの存在は必要無くなる。また、ＨＴＭＬページはブラウザの中で表示されるものであり、ゆえに表示によって図２に示したようなブラウザの操作部が隠されるような問題は発生し得ない。
【００３２】
アプリケーション管理の指示は、操作パネルブラウザ３０１のコントロールページ３１１Ｖｃとコントローラ要素部１２０のネイティブＩ／Ｆ１２７間の経路２０１において情報の授受がなされ、それがコントローラ要素部１２０とアプリケーション実行環境１１１との間の経路２０３を通してアプリケーション実行環境１１１に伝送される。そして、そのアプリケーション管理の指示は、アプリケーション実行環境１１１のＡＰＩ１１３を通してアプリケーションプログラム１５１Ａｐｐ１〜Ａｐｐ３に伝送されて操作管理がなされる。
【００３３】
［実施例の効果］
本実施例の画像形成装置により、アプリケーションプログラムは、ネイティブコードで書かれたコントローラ要素部と操作パネルブラウザが直接通信を行って、該アプリケーションプログラムの起動、終了、メモリ管理などのライフサイクルを管理するため、図１のXletで示したように、ユーザからの見かけ上必要の無い機能のためにメモリやスレッドなどのシステムリソースが消費されてしまうことが無くなった。また、アプリケーションの挙動によるメモリ領域の侵食やセキュリティホールの発生などが無くなった。
【００３４】
操作パネルブラウザのコントロールページＶｃと通信を行うコントローラ要素部（例えばネイティブＩ／Ｆやアプリ管理部）がいわゆるネイティブ実装のため高速の動作が可能となった。また、より深い割込みレベルでの制御が可能となり、アプリ管理のレベルが高まりセキュリティ上の安全性も高まった。
【００３５】
また、コントロールページＶｃが通信を行うのに、これまで、Ｗｅｂコンテナを通して通信を行ってきた場合とは違って直接ネイティブＩ／Ｆと通信を行うため、使用プロトコルをＷｅｂプロトコルに制限を受けない方法での通信も可能となった。
【００３６】
操作パネル部を独立したＣＰＵがブラウザプログラムを実行する画像形成装置内の中での独立したユニットとして作成することが可能となり、操作パネル部を独立した開発行程として、汎用性のあるユニット製品として作成することが可能となった。
【００３７】
また、この結果、通常のメニュー構造（コントローラとパネルとの相互関係によるパネルメニューの表示と操作）とアプリケーションの表示との関係に境目を無くすことが可能となり、既存メニューにあらたな機能を追加することが容易にできる。
【００３８】
［その他］
上記実施例では、アプリケーション実行環境として、ＪＶＭ、ＯＳＧＩの例について説明したが、これらの実行環境にとどまらず他の実行環境であっても良い。
【００３９】
操作パネル部のブラウザプログラムが独立したＣＰＵで動作するとしたが、アプリケーション実行環境が動作するＣＰＵと同じＣＰＵで動作しても良いし、画像形成装置とは独立した外部端末のＣＰＵで動作する方法であっても良い。
【００４０】
操作パネルブラウザとアプリケーションプログラムの間をサーブレットを用いて通信を行う方法としたが、直接ＣＧＩ（Common Gate Interface）を利用する方法や、その他のミドルウェアを利用する等の様な別の方法を用いても良い。
【図面の簡単な説明】
【００４１】
【図１】従来技術でのアプリケーションプログラムの管理方法の説明図である。
【図２】従来技術で起こりうる画面切り替え時の画面専有発生時の図である。
【図３】本発明実施例の画像形成装置の機能ブロック図である（実施例１）。
【符号の説明】
【００４２】
１００  フレームワーク
１１１  アプリケーション実行環境
１１３  ＡＰＩ（Application Program Interface）
１１５  Ｗｅｂコンテナ
１１７  サーブレット
１２０  コントローラ要素部
１２１  アプリ管理部
１２３  イベント通知部
１２５  ログ管理部
１２７  ネイティブＩ／Ｆ（インターフェース）
１５１Ａｐｐ１  アプリケーションプログラム（Ａｐｐ１）
３０１  操作パネルブラウザ
３１１Ｖ１  Ａｐｐ１アプリケーション操作ページ
３１１Ｖｃ  コントロール操作ページ
【図１】
2008191901.tif 000003
【図２】
2008191901.tif 000004
【図３】
2008191901.tif 000005