(57)【特許請求の範囲】
【請求項１】
アプリケーションプログラムをインストール可能な電子機器であって、
表示手段において表示対象とするアプリケーションプログラムの切り替えを制御するシステム制御手段と、
前記システム制御手段によって表示対象とされたアプリケーションプログラムに対応する操作画面を前記表示手段へ表示させる表示制御手段と、
前記アプリケーションプログラムより前記表示手段の排他的な使用の開始要求と、前記排他的な使用の終了要求とを受け付ける要求受付手段とを有し、
前記システム制御手段は、前記要求受付手段によって前記排他的な使用の開始要求が受け付けられているアプリケーションプログラムが有る場合は、当該アプリケーションプログラムより前記排他的な使用の終了要求が受け付けられるまで、前記表示対象を当該アプリケーションプログラムから他のアプリケーションプログラムへ切り替えない電子機器。
【請求項２】
前記要求受付手段は、前記アプリケーションプログラムからの表示対象の放棄要求を受け付け、
前記システム制御手段は、前記要求受付手段による前記放棄要求の受け付けに応じ、前記表示対象を切り替える請求項１記載の電子機器。
【請求項３】
前記システム制御手段は、入力手段を介してユーザによって入力される前記表示対象の切り替え指示に応じ、前記要求受付手段に切り替えの了解を要求し、
前記要求受付手段は、前記排他的な使用の開始要求を受け付けている前記アプリケーションプログラムについて前記排他的な使用の終了要求を受け付けていない場合は、前記切り替えの拒否を前記システム制御手段に応答し、
前記システム制御手段は、前記切り替えの拒否の応答を受けた場合は、前記表示対象の切り替えを行わない請求項１又は２記載の電子機器。
【請求項４】
アプリケーションプログラムをインストール可能な電子機器が実行する利用制限方法であって、
システム制御手段が、表示手段において表示対象とするアプリケーションプログラムの切り替えを制御する手順と、
表示制御手段が、前記システム制御手段によって表示対象とされたアプリケーションプログラムに対応する操作画面を前記表示手段へ表示させる手順と、
要求受付手段が、前記アプリケーションプログラムより前記表示手段の排他的な使用の開始要求と、前記排他的な使用の終了要求とを受け付ける手順とを有し、
前記システム制御手段は、前記要求受付手段によって前記排他的な使用の開始要求が受け付けられているアプリケーションプログラムが有る場合は、当該アプリケーションプログラムより前記排他的な使用の終了要求が受け付けられるまで、前記表示対象を当該アプリケーションプログラムから他のアプリケーションプログラムへ切り替えない利用制限方法。
【請求項５】
前記要求受付手段が、前記アプリケーションプログラムからの表示対象の放棄要求を受け付ける手順を有し、
前記システム制御手段は、前記要求受付手段による前記放棄要求の受け付けに応じ、前記表示対象を切り替える請求項４記載の利用制限方法。
【請求項６】
前記システム制御手段が、入力手段を介してユーザによって入力される前記表示対象の切り替え指示に応じ、前記要求受付手段に切り替えの了解を要求する手順と、
前記要求受付手段が、前記排他的な使用の開始要求を受け付けている前記アプリケーションプログラムについて前記排他的な使用の終了要求を受け付けていない場合は、前記切り替えの拒否を前記システム制御手段に応答する手順とを有し、
前記システム制御手段は、前記切り替えの拒否の応答を受けた場合は、前記表示対象の切り替えを行わない請求項４又は５記載の利用制限方法。
【請求項７】
アプリケーションプログラムをインストール可能な電子機器を、
表示手段において表示対象とするアプリケーションプログラムの切り替えを制御するシステム制御手段と、
前記システム制御手段によって表示対象とされたアプリケーションプログラムに対応する操作画面を前記表示手段へ表示させる表示制御手段と、
前記アプリケーションプログラムより前記表示手段の排他的な使用の開始要求と、前記排他的な使用の終了要求とを受け付ける要求受付手段として機能させ、
前記システム制御手段は、前記要求受付手段によって前記排他的な使用の開始要求が受け付けられているアプリケーションプログラムが有る場合は、当該アプリケーションプログラムより前記排他的な使用の終了要求が受け付けられるまで、前記表示対象を当該アプリケーションプログラムから他のアプリケーションプログラムへ切り替えない利用制限プログラム。
【請求項８】
前記要求受付手段は、前記アプリケーションプログラムからの表示対象の放棄要求を受け付け、
前記システム制御手段は、前記要求受付手段による前記放棄要求の受け付けに応じ、前記表示対象を切り替える請求項７記載の利用制限プログラム。
【請求項９】
前記システム制御手段は、入力手段を介してユーザによって入力される前記表示対象の切り替え指示に応じ、前記要求受付手段に切り替えの了解を要求し、
前記要求受付手段は、前記排他的な使用の開始要求を受け付けている前記アプリケーションプログラムについて前記排他的な使用の終了要求を受け付けていない場合は、前記切り替えの拒否を前記システム制御手段に応答し、
前記システム制御手段は、前記切り替えの拒否の応答を受けた場合は、前記表示対象の切り替えを行わない請求項７又は８記載の利用制限プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、利用制限方法、及び利用制限プログラムに関する。
【背景技術】
【０００２】
従来、画像形成装置等の組み込み機器についても、様々な形態によって利用制限機能が実現されている。利用制限機能の代表的な例として認証機能が挙げられる（例えば、特許文献１）。すなわち、認証機能においては、認証されていないユーザについて機能の全部又は一部の利用が制限される。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来、利用制限機能については機器に予め組み込まれている、いわゆる既製の仕組みが利用されるのが一般的である。特に、汎用的なコンピュータに比べてソフトウェアの実装に関する自由度が低い機器については、ユーザに固有の事情等に応じたユーザ独自の利用制限機能を比較的容易に実装するのは困難であった。
【０００４】
本発明は、上記の点に鑑みてなされたものであって、利用制限機能に関する柔軟性を向上させることのできる電子機器、利用制限方法、及び利用制限プログラムの提供を目的とする。
【課題を解決するための手段】
【０００５】
そこで上記課題を解決するため、本発明は、アプリケーションプログラムをインストール可能な電子機器であって、前記表示手段において表示対象とするアプリケーションプログラムの切り替えを制御するシステム制御手段と、前記システム制御手段によって表示対象とされたアプリケーションプログラムに対応する操作画面を前記表示手段へ表示させる表示制御手段と、前記アプリケーションプログラムより前記表示手段の排他的な使用の開始要求と、前記排他的な使用の終了要求とを受け付ける要求受付手段とを有し、前記システム制御手段は、前記要求受付手段によって前記排他的な使用の開始要求が受け付けられているアプリケーションプログラムが有る場合は、当該アプリケーションプログラムより前記排他的な使用の終了要求が受け付けられるまで、前記表示対象を当該アプリケーションプログラムから他のアプリケーションプログラムへ切り替えない。
【０００６】
また、上記課題を解決するため、本発明は、アプリケーションプログラムをインストール可能な電子機器が実行する利用制限方法であって、システム制御手段が、前記表示手段において表示対象とするアプリケーションプログラムの切り替えを制御する手順と、表示制御手段が、前記システム制御手段によって表示対象とされたアプリケーションプログラムに対応する操作画面を前記表示手段へ表示させる手順と、要求受付手段が、前記アプリケーションプログラムより前記表示手段の排他的な使用の開始要求と、前記排他的な使用の終了要求とを受け付ける手順とを有し、前記システム制御手段は、前記要求受付手段によって前記排他的な使用の開始要求が受け付けられているアプリケーションプログラムが有る場合は、当該アプリケーションプログラムより前記排他的な使用の終了要求が受け付けられるまで、前記表示対象を当該アプリケーションプログラムから他のアプリケーションプログラムへ切り替えない。
【０００７】
このような電子機器又は利用制限方法では、利用制限機能に関する柔軟性を向上させることができる。
【発明の効果】
【０００８】
本発明によれば、利用制限機能に関する柔軟性を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。
【図２】本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。
【図３】本体認証部による利用制限処理の処理手順を説明するためのシーケンス図である。
【図４】パネル制御部による画面情報の管理形態の一例を示す図である。
【図５】利用制限アプリがインストールされた場合の利用制限処理の処理手順を説明するためのシーケンス図である。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて本発明の実施の形態を説明する。本実施の形態では、電子機器の一例として複合機やＬＰ等の画像形成装置を用いた例を説明する。但し、本実施の形態は、画像形成装置以外の電子機器、例えば各種家電製品等に対して適用されてもよい。
【００１１】
図１は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図１において、画像形成装置１０は、コントローラ１１、スキャナ１２、プリンタ１３、モデム１４、操作パネル１５、ネットワークインタフェース１６、及びＳＤカードスロット１７等のハードウェアを有する。
【００１２】
コントローラ１１は、ＣＰＵ１１１、ＲＡＭ１１２、ＲＯＭ１１３、及びＨＤＤ１１４等を有する。ＲＯＭ１１３には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。ＲＡＭ１１２は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。ＣＰＵ１１１は、ＲＡＭ１１２にロードされたプログラムを処理することにより、各種の機能を実現する。ＨＤＤ１１４には、プログラムやプログラムが利用する各種のデータ等が記録される。
【００１３】
スキャナ１２は、原稿より画像データを読み取るためのハードウェアである。プリンタは１３、印刷データを印刷用紙に印刷するためのハードウェアである。モデム１４は、電話回線に接続するためのハードウェアであり、ＦＡＸ通信による画像データの送受信を実行するために用いられる。操作パネル１５は、ユーザからの入力の受け付けを行うめのボタン及びタッチパネル等の入力手段や、液晶画面等の表示手段を備えたハードウェアである。ネットワークインタフェース１６は、ＬＡＮ等のネットワーク（有線又は無線の別は問わない。）に接続するためのハードウェアである。ＳＤカードスロット１７は、ＳＤカード８０に記録されたプログラムを読み取るために利用される。すなわち、画像形成装置１０では、ＲＯＭ１１３に記録されたプログラムだけでなく、ＳＤカード８０に記録されたプログラムもＲＡＭ１１２にロードされ、実行されうる。但し、例えば、ＵＳＢメモリ又はＣＤ−ＲＯＭ等、ＳＤカード８０以外の記憶媒体が利用されてもよい。
【００１４】
図２は、本発明の実施の形態の画像形成装置におけるソフトウェア構成例を示す図である。同図において、画像形成装置１０は、標準アプリ２２１、ＳＤＫアプリ２２３、ＳＤＫプラットフォーム２２４、コントロールサービス２２５、及びＯＳ２２６等を有する。
【００１５】
ＯＳ２２６は、いわゆるＯＳ（Operating System）である。画像形成装置１０上の各ソフトウェアは、ＯＳ２２６上においてプロセス又はスレッドとして起動される。
【００１６】
標準アプリ２２１は、画像形成装置１０に標準的に（出荷時に予め）実装されているアプリケーションプログラムの集合である。同図では、スキャンアプリ２２１１、印刷アプリ２２１２、コピーアプリ２２１３、及びＦＡＸアプリ２２１４が例示されている。スキャンアプリ２２１１は、スキャンジョブを実行する。印刷アプリ２２１２は印刷ジョブを実行する。コピーアプリ２２１３は、コピージョブを実行する。ＦＡＸアプリ２２１４は、ＦＡＸの送信ジョブ又は受信ジョブを実行する。
【００１７】
コントロールサービス２２５は、各アプリケーションより共通に利用される機能、各アプリケーションの動作を制御するための機能、又は各種のハードウェアリソース等を制御するための機能等を実現するソフトウェアモジュール群を含む。同図には、コントロールサービス２２５の一部として、システム制御部２２５１、パネル制御部２２５２、及び本体認証部２２５３が示されている。システム制御部２２５１は、本実施の形態において、操作パネル１５において表示対象（操作対象）とするアプリケーションを切り替えるための制御を行う。本実施の形態において、操作パネル１５において二つ以上のアプリケーションは同時には表示対象とはなれない。ここでいうアプリケーションは、標準アプリ２２１及びＳＤＫアプリ２２３の双方を含む。したがって、操作パネル１５において何らかのアプリケーションが表示対象とされている場合、当該アプリケーションは、いずれか一つの標準アプリ２２１又はいずれか一つのＳＤＫアプリ２２３である。
【００１８】
パネル制御部２２５２は、システム制御部２２５１による表示対象の切り替え制御に応じ、操作パネル１５への各アプリケーションの操作画面の表示を制御する。本体認証部２２５３は、画像形成装置１０に予め組み込まれた既製の利用制限機能を実現する。具体的には、本体認証部２２５３は、画像形成装置１０のユーザの認証を実行し、認証されたユーザにのみ所定のアプリケーション等の利用を制限する。なお、詳細については省略するが、本体認証部２２５３についてもカスタマイズは可能である。例えば、認証エンジンとして利用するサーバの切り替え等は可能である。但し、カスタマイズの範囲は、予め定められた範囲（設定項目）に限定される。
【００１９】
ＳＤＫアプリ２２３は、画像形成装置１０の出荷後において、画像形成装置１０の機能拡張を図るためのプラグインとして追加的にインストールされるアプリケーションプログラムである。本実施の形態において、ＳＤＫアプリ２２３は、Ｊａｖａ（登録商標）言語によって実装され、Ｊａｖａ（登録商標）バイトコードとよばれる中間コード（実行コード）の形態で配布される。また、ＳＤＫアプリ２２３は、画像形成装置１０の操作パネル１５に画面等の表示部品（ＧＵＩ（Graphical User Interface））を表示させ、表示部品を介して利用される。同図では、ＳＤＫアプリ２２３として、利用制限アプリ２２３ａ、Ｂアプリ２２３ｂ、及びＣアプリ２２３ｃが例示されている。利用制限アプリ２２３ａは、ユーザ独自の利用制限機能が実装されたＳＤＫアプリ２２３である。ユーザ独自の利用制限機能とは、本体認証部２２５３を利用しない利用制限機能をいう。ＳＤＫアプリ２２３の実装に関する自由度は、画像形成装置１０の既製の機能に対するカスタマイズに関する自由度に比べれば遙かに高い。したがって、利用制限アプリ２２３ａによる利用制限機能の内容は、所定のものに特定されない。本実施の形態において、利用制限アプリ２２３ａは、ユーザ独自の認証機能が実装されたＳＤＫアプリ２２３であるとする。
【００２０】
ＳＤＫプラットフォーム２２４は、ＳＤＫアプリ２２３の実行環境を提供する、ＳＤＫアプリ２２３のアプリケーションプラットフォームである。各ＳＤＫアプリ２２３は、ＳＤＫプラットフォーム２２４が提供するＡＰＩ（Application Program Interface）を利用して開発される。ＳＤＫプラットフォーム２２４のＡＰＩは公開されており、サードベンダ等によってもＳＤＫアプリ２２３は開発されうる。ＡＰＩとは、具体的には、関数又はメソッド等の集合である。また、広義においては、非同期に発生するイベント等をＳＤＫアプリ２２３に通知するための仕組み等もＡＰＩに含まれる。
【００２１】
なお、コントロールサービス２２５から見た場合、ＳＤＫプラットフォーム２２４は、各標準アプリ２２１と同列の一つのアプリケーションとして見える。より詳しくは、各標準アプリ２２１は、それぞれ独立したプロセスとしてＯＳ２２６によって起動される。ＳＤＫプラットフォーム２２４も一つのプロセスとしてＯＳ２２６によって起動される。したがって、コントロールサービス２２５から見た場合、各標準アプリ２２１及びＳＤＫプラットフォーム２２４は、それぞれプロセスとして見える。
【００２２】
一方、各ＳＤＫアプリ２２３は、一つのプロセスであるＳＤＫプラットフォーム２２４内のスレッドとして起動される。すなわち、ＳＤＫアプリ２２３ごとにスレッドが生成される。
【００２３】
斯かる構成から明らかなように、ＳＤＫアプリ２２３は、コントロールサービス２２５からはＳＤＫプラットフォーム２２４によって隠蔽されている、したがって、コントロールサービス２２５は、各ＳＤＫアプリ２２３を直接制御することはできない。各ＳＤＫアプリ２２３を直接制御可能なのはＳＤＫプラットフォーム２２４に限定される。また、コントロールサービス２２５は、各ＳＤＫアプリ２２３からはＳＤＫプラットフォーム２２４によって隠蔽されている。
【００２４】
以下、画像形成装置１０の処理手順について説明する。まず、本体認証部２２５３による利用制限処理について説明する。図３は、本体認証部による利用制限処理の処理手順を説明するためのシーケンス図である。なお、図３の処理は、利用制限アプリ２２３ａがインストールされていない状態において実行されるものである。
【００２５】
画像処理装置１０が起動されると、コントロールサービス２２５の各モジュール（システム制御部２２５１、パネル認証部、本体認証部２２５３等）、標準アプリ２２１、ＳＤＫプラットフォーム２２４の順で、ＯＳ２２６によってそれぞれプロセスとして起動される。また、ＳＤＫプラットフォーム２２４は、インストールされているＳＤＫアプリ２２３のうち、自動起動の設定がされているものをスレッドとして起動させる。なお、ＳＤＫアプリ２２３については、自動起動又は手動起動の設定が可能とされている。自動起動は、画像形成装置１０の起動時に自動的に起動される起動形態をいう。手動起動は、ＳＤＫプラットフォーム２２４が表示させる管理画面を介してユーザによって入力される指示に応じて起動される起動形態をいう。
【００２６】
各標準アプリ２２１及びＳＤＫプラットフォーム２２４は、起動に応じ、自らの固定的な識別情報（以下、「アプリＩＤ」という。）と、プロセス間通信のための識別情報（プロセスＩＤ）とをシステム制御部２２５１に登録する（Ｓ１０１）。
【００２７】
続いて、各標準アプリ２２１及びＳＤＫプラットフォーム２２４は、自らのアプリＩＤと、自らの操作画面の画面情報（画面データ）とをパネル制御部２２５２に登録する（Ｓ１０２）。パネル制御部２２５２は、アプリＩＤと画面情報とを関連付けて管理する。その結果、パネル制御部２２５２によって図４に示されるような情報が管理される。
【００２８】
図４は、パネル制御部による画面情報の管理形態の一例を示す図である。同図に示されるように、パネル制御部２２５２は、標準アプリ２２１ごとに当該標準アプリ２２１の画面情報を管理する。一方、ＳＤＫプラットフォーム２２４については、いずれかのＳＤＫアプリ２２３が表示対象とされた場合に、当該ＳＤＫアプリ２２３の画面情報が登録される。すなわち、ＳＤＫプラットフォーム２２４の画面情報は、表示対象とされるＳＤＫアプリ２２３が切り替わる度に更新される。同図における「アクティブな」とは、表示対象とされた状態をいう。なお、ステップＳ１０２の段階において、ＳＤＫプラットフォーム２２４によって登録される画面情報は、例えば、自動起動されるＳＤＫアプリ２２３のうち、表示に関する優先順位が最も高いＳＤＫアプリ２２３の画面情報である。または、空の画面情報が登録されてもよい。
【００２９】
ステップＳ１１１以降は、画像形成装置１０の起動時（起動直後）だけでなくアクティブなアプリケーションの切り替え時にも実行される。なお、アクティブなアプリケーションは、操作パネル１５に配置されたハードキー（以下、「機能選択キー」という。）によって切り替えることができる。機能選択キーは、標準アプリ２２１及びＳＤＫプラットフォーム２２４ごとに存在する。したがって、本実施の形態では、５つの機能選択キーが存在する。
【００３０】
ステップＳ１１１において、システム制御部２２５１は、表示対象とされた標準アプリ２２１又はＳＤＫプラットフォーム２２４に対して表示対象への遷移要求を行う。起動直後の表示対象は、予めシステム制御部２２５１に対して設定されている表示に関する優先順位に基づいて判定される。また、アクティブなアプリケーションの切り替え時には、押下された機能選択キーが表示対象とされる。なお、機能選択キーの押下は、パネル制御部２２５２によって検知される。パネル制御部２２５２は、機能選択キーのキーコードと、各アプリケーションのアプリＩＤとを予め関連付けて管理している。したがって、パネル制御部２２５２は、押下された機能選択キーのキーコードに基づいて、当該キーコードに対応するアプリＩＤを特定する。パネル制御部２２５２は、特定されたアプリＩＤをシステム制御部２２５１に通知する。システム制御部２２５１は、当該通知によって切り替え先（遷移先）のアプリケーションを識別することができる。
【００３１】
システム制御部２２５１より表示対象への遷移要求を受けた標準アプリ２２１又はＳＤＫプラットフォーム２２４は、表示対象への遷移可能であれば、表示対象への遷移の了解を示す応答を返信する（Ｓ１１２）。なお、表示対象への遷移が可能であるか否かは、例えば、標準アプリ２２１又はＳＤＫプラットフォーム２２４はが使用するハードウェアリソースの状態等に基づいて判断される。
【００３２】
システム制御部２２５１は、表示対象への遷移の了解を示す応答を受信すると、表示対象のアプリＩＤを指定して、パネル制御部２２５２に対して画面の表示要求を行う（Ｓ１１３）。パネル制御部２２５２は、当該表示要求に指定されたアプリＩＤに対応付けられている画面情報に基づいて、操作画面を操作パネル１５に表示させる（Ｓ１１４）。したがって、いずれかの標準アプリ２２１、又はいずれかのＳＤＫアプリ２２３の操作画面が表示される。
【００３３】
なお、ステップＳ１１２において、表示対象への遷移の拒否を示す応答が受信された場合、システム制御部２２５１は、表示対象の切り替えは行わない。但し、起動直後においては、例えば、優先順位が次の標準アプリ２２１等に対してステップＳ１１１以降が繰り返される。
【００３４】
一方、表示対象とされた標準アプリ２２１又はＳＤＫプラットフォーム２２４は、表示対象への遷移の了解の応答後、本体認証部２２５３に対してログイン画面の表示要求を行う（Ｓ１１５）。当該要求に応じ、本体認証部２２５３は、パネル制御部２２５２に対してログイン画面の表示要求を行う（Ｓ１１６）。パネル制御部２２５２は、当該要求に応じ、ステップＳ１１４において表示された操作画面に重畳させてログイン画面を表示させる。（Ｓ１１７）。すなわち、ログイン画面は、特別な画面としてパネル制御部２２５２に認識されている。したがって、パネル制御部２２５２は、他の操作画面が表示中であっても、当該操作画面に重畳させてログイン画面を表示させる。ログイン画面が重畳されることにより、ユーザは、表示対象とされた標準アプリ２２１等を利用できない状態となる。すなわち、利用制限状態が実現される。
【００３５】
続いて、ログイン画面に対してユーザ情報（ユーザ名及びパスワード）がユーザによって入力されると（Ｓ１１８）、パネル制御部２２５２は、入力されたユーザ情報をログイン画面のオーナーである本体認証部２２５３に通知する（Ｓ１１９）。本体認証部２２５３は、当該ユーザ情報に基づいて認証処理を行う（Ｓ１２０）。認証に成功すると、本体認証部２２５３は、ログイン画面の表示要求元の標準アプリ２２１又はＳＤＫプラットフォーム２２４に対して認証に成功したことを通知する（Ｓ１２１）。
【００３６】
認証の成功の通知を受けた標準アプリ２２１又はＳＤＫプラットフォーム２２４は、ログイン画面の消去を本体認証部２２５３に要求する（Ｓ１２２）。本体認証部２２５３は、当該要求に応じ、ログイン画面の消去をパネル制御部２２５２に要求する（Ｓ１２３）。パネル制御部２２５２は、当該要求に応じ、ログイン画面を消去する（非表示とする）。その結果、ユーザは、ステップＳ１１４において表示された操作画面を介して標準アプリ２２１又はＳＤＫアプリ２２３を利用することが可能となる。すなわち、利用制限状態が解除される。
【００３７】
なお、一度認証が実行された後にステップＳ１１１以降が実行される場合（すなわち、機能選択キーが押下された場合）、本体認証部２２５３は、ステップＳ１１５のログイン画面の表示要求に応じ、ログイン画面を表示させることなく認証の成功の通知（Ｓ１２１）を行えばよい。但し、標準アプリ２２１及びＳＤＫプラットフォーム２２４ごとにログインを行わせたい場合は、ステップＳ１１１以降の全てのステップが繰り返されればよい。
【００３８】
続いて、利用制限アプリ２２３ａがインストールされた場合の利用制限処理について説明する。図５は、利用制限アプリがインストールされた場合の利用制限処理の処理手順を説明するためのシーケンス図である。同図では、図３のステップＳ１０１及びＳ１０２は省略されている。すなわち、利用制限アプリがインストールされた場合もステップＳ１０１及びＳ１０２は実行される。
【００３９】
利用制限アプリ２２３ａは、ＳＤＫプラットフォーム２２４によって起動されると、認証代行要求をＳＤＫプラットフォーム２２４に行う（Ｓ２０１）。認証代行とは、本体認証部２２５３に代わって利用制限機能を実現することをいう。なお、利用制限アプリ２２３ａは、自動起動の設定がなされていることとする。したがって、ステップＳ２０１は、画像形成装置１０の起動時において、ＳＤＫプラットフォーム２２４が起動された際に実行される。
【００４０】
続いて、ＳＤＫプラットフォーム２２４は、本体認証部２２５３に対して、認証代行の要求を行う（Ｓ２０２）。当該要求には、ＳＤＫプラットフォーム２２４のアプリＩＤが指定される。本体認証部２２５３は、認証代行の要求を受けた場合、自らによる利用制限機能を無効化する。例えば、仮に、ログイン画面の表示要求を受けたとしても、ログイン画面の表示処理は行わず、当該要求に対して認証に成功したことを応答する。
【００４１】
続いて、ＳＤＫプラットフォーム２２４は、当該アプリＩＤを指定して、認証代行が行われることをシステム制御部２２５１に通知する（Ｓ２０３）。システム制御部２２５１は、指定されたアプリＩＤを認証代行先の識別情報として記憶する。
【００４２】
一方、利用制限アプリ２２３ａは、認証代行の要求後、自らの識別情報（以下、「ＳＤＫアプリＩＤ」という。）を指定して、自らの画面情報の登録をＳＤＫプラットフォーム２２４に要求する（Ｓ２０４）。ＳＤＫプラットフォーム２２４は、自らのアプリＩＤを指定して当該画面情報の登録をパネル制御部２２５２に要求する（Ｓ２０５）。なお、ＳＤＫプラットフォーム２０５は、ＳＤＫアプリＩＤに関連付けて画面情報を管理する。また、ステップＳ２０５は、図３のステップＳ１０２として実行されてもよい。
【００４３】
更に、利用制限アプリ２２３ａは、自らの識別情報（以下、「ＳＤＫアプリＩＤ」という。）を指定して、ＳＤＫプラットフォーム２２４に対して画面のロック要求を行う（Ｓ２０６）。画面のロックの要求とは、操作パネル１５における表示手段の排他的な使用の要求に相当する。また、画面のロックとは、画面の遷移を生じさせない状態とすることをいう。ＳＤＫプラットフォーム２２４は、画面のロック要求に指定されたＳＤＫアプリＩＤを、画面のロック元として記憶する。
【００４４】
続いて、システム制御部２２５１は、表示対象への遷移要求をＳＤＫプラットフォーム２２４に対して行う（Ｓ２０７）。当該ステップは、起動時におけるステップＳ１１１（図３）に相当する。但し、ここでは、表示に関する優先順位に基づいてではなく、認証代行先として登録されているＳＤＫプラットフォーム２２４が表示対象として判定される。すなわち、認証代行先が登録されている場合、システム制御部２２５１は、優先順位よりも認証代行先を表示対象として優先させる。
【００４５】
ＳＤＫプラットフォーム２２４は、表示対象に遷移可能であれば、表示対象への遷移の了解を示す応答を返信する（Ｓ２０８）。システム制御部２２５１は、表示対象への遷移の了解を示す応答を受信すると、表示対象のアプリＩＤ（すなわち、ＳＤＫプラットフォーム２２４のアプリＩＤ）を指定して、パネル制御部２２５２に対して画面の表示要求を行う（Ｓ２０９）。パネル制御部２２５２は、当該表示要求に指定されたアプリＩＤに対応付けられている画面情報に基づいて、操作画面を操作パネル１５に表示させる（Ｓ２１０）。したがって、ここでは、ステップＳ２０５においてＳＤＫプラットフォーム２２４のアプリＩＤに対して登録された画面情報に基づいて、利用制限アプリ２２３ａの操作画面が表示される。
【００４６】
ここで、当該操作画面の内容は、利用制限アプリ２２３ａの実装に依存する。また、利用制限アプリ２２３ａは、一つのＳＤＫアプリ２２３に過ぎない。したがって、利用制限アプリ２２３の操作画面が表示されたことのみによっては利用制限状態は実現されない。例えば、機能選択キーが押下されれば、標準アプリ２１１の操作画面が表示されてしまうからである。しかし、利用制限アプリ２２３は、ステップＳ２０６において画面のロック要求を行っている。当該画面のロックと、システム制御部２２５１による振る舞いとによって、利用制限状態が確保される。
【００４７】
具体的には、この状態において、機能選択キーが押下され、他の標準アプリ２１１への切り替えがユーザによって試みられると、システム制御部２２５１は、表示対象の解放要求をＳＤＫプラットフォーム２２４に対して行う（Ｓ２１１）。表示対象の解放要求とは、表示対象としての地位を他のアプリケーションに譲ることをいう。なお、表示対象としての地位とは、操作パネル１５における表示手段を占有できる地位に相当する。当該解放要求に応じ、ＳＤＫプラットフォーム２２４は、画面のロック要求が行われている場合、当該解放要求を拒否する（Ｓ２１２）。システム制御部２２５１は、当該解放要求が拒否された場合、表示対象の切り替えは行わない。すなわち、図３のステップＳ１１１以降の処理は実行されない。したがって、利用制限アプリ２２３ａが、画面のロックを解除するまで、操作パネル１５には利用制限２２３ａアプリの操作画面が表示された状態が維持される。すなわち、他のアプリケーションについて利用制限状態が実現される。
【００４８】
本実施の形態において、利用制限アプリ２２３ａには、ユーザ独自の認証機能が実装されている。したがって、利用制限アプリ２２３ａによって表示される操作画面は、ユーザ独自の認証機能に対応した操作画面である。当該操作画面は、例えば、定期的に変化するパスワードを入力させるための画面であるとする。
【００４９】
ユーザが、当該操作画面にパスワードを入力すると、パネル制御部２２５２は、当該パスワードを当該操作画面のオーナーであるＳＤＫプラットフォーム２２４に通知する（Ｓ２１３）。なお、厳密には、当該操作画面のオーナーは利用制限アプリ２２３ａであるが、パネル制御部２２５２の管理上においては、ＳＤＫプラットフォーム２２４がオーナーとして見える（図４参照）。
【００５０】
続いて、ＳＤＫプラットフォーム２２４は、現在表示対象とされている利用制限アプリ２２３ａに対して当該パスワードを通知する（Ｓ２１４）。利用制限アプリ２２３ａは、通知されたパスワードに基づいて認証処理を実行する（Ｓ２１５）。認証に成功した場合、利用制限アプリ２２３ａは、ＳＤＫプラットフォーム２２４に対して、自らのＳＤＫアプリＩＤを指定して画面のロックの解除を要求する（Ｓ２１６）。すなわち、操作パネル１５の表示手段の排他的な使用の終了が要求される。ＳＤＫプラットフォーム２２４は、画面のロックの解除要求に指定されたＳＤＫアプリＩＤが、画面のロックの要求元のＳＤＫアプリＩＤと一致する場合は、画面のロックを解除する。したがって、この状態において、仮に機能選択キーが押下されると、ステップＳ１１１以降が実行される。但し、本体認証部２２５３による利用制限機能は無効化されているため、ステップＳ１１６〜Ｓ１２０は実行されない。したがって、ユーザは、他の標準アプリ２２１等を利用することができる。すなわち、利用制限状態が解除される。
【００５１】
なお、ステップＳ２１５における認証に失敗した場合、利用制限アプリ２２３ａは、ロックの解除要求は行わない。したがって、利用制限状態は維持されたままとなる。
【００５２】
続いて、利用制限アプリ２２３ａは、表示対象の放棄要求をＳＤＫプラットフォーム２２４に対して行う（Ｓ２１７）。表示対象の放棄とは、表示対象としての地位の放棄をいう。続いて、ＳＤＫプラットフォーム２２４は、自らのアプリＩＤを指定して、表示対象の放棄要求をシステム制御部２２５１に対して行う（Ｓ２１８）。当該放棄要求に応じ、システム制御部２２５１は、図３のステップＳ１１１以降を実行する。この際、表示に関する優先順位に従って表示対象が選択される。このように、ＳＤＫアプリ２２３による能動的な表示対象の放棄が可能とされていることにより、利用制限状態の解除に応じて自動的に操作画面を遷移させることができる。
【００５３】
なお、その後、操作パネル１５のログアウトキーが押下されると、ログアウトキーの押下イベントは、パネル制御部２２５２によって検知される。パネル制御部２２５２は、当該イベントの検知に応じ、ログアウトを本体認証部２２５３に通知する（Ｓ２５１）。本体認証部２２５３は、認証代行先のＳＤＫプラットフォーム２２４に対してログアウトを通知する（Ｓ２５２）。ＳＤＫプラットフォーム２２４は、認証代行先の利用制限アプリ２２３ａの画面情報をパネル制御部２２５２に登録する（Ｓ２５３）。その後、ステップＳ２０７以降と同じ処理手順が実行され、再び利用制限アプリ２２３ａの操作画面が操作パネル１５に表示される。すなわち、利用制限状態が再現される。
【００５４】
なお、ステップＳ２５２において、ＳＤＫプラットフォーム２２４が利用制限アプリ２２３ａの画面情報を再登録するのは、利用制限が解除された期間において、他のＳＤＫアプリ２２３の画面情報が、パネル制御部２２５２に対して登録されている可能性が有るからである。
【００５５】
上述したように、本実施の形態によれば、ＳＤＫプラットフォーム２２４は、認証代行要求、画面のロック要求、画面のロック解除要求、及び表示対象放棄要求を受け付けることができる。すなわち、各要求を受け付けるためのＡＰＩ（メソッド又は関数）を備える。したがって、当該ＡＰＩを用いてＳＤＫアプリ２２３を実装することにより、例えば、利用制限アプリ２２３ａのようなユーザ独自の利用制限機能を実現することができる。
【００５６】
なお、利用制限の形態は、認証に限られない。認証代行要求、画面のロック要求、画面のロック解除要求、及び表示対象放棄要に対応するＡＰＩを用いて、どのような機能を有するＳＤＫアプリ２２３を実装するかはユーザの自由である。例えば、利用制限アプリ２２３ａが、所定の時刻が到来するまでロックの解除要求を行わないようにすれば、所定の時間帯において、画像形成装置１０の利用を制限することができる。
【００５７】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００５８】
１０          画像形成装置
１１          コントローラ
１２          スキャナ
１３          プリンタ
１４          モデム
１５          操作パネル
１６          ネットワークインタフェース
１７          ＳＤカードスロット
３０          ユーザ端末
３１          Ｗｅｂブラウザ
８０          ＳＤカード
１１１        ＣＰＵ
１１２        ＲＡＭ
１１３        ＲＯＭ
１１４        ＨＤＤ
２２１        標準アプリ
２２２        アプリ管理サービス
２２３        ＳＤＫアプリ
２２４        ＳＤＫプラットフォーム
２２５        コントロールサービス
２２６        ＯＳ
２２５１      システム制御部
２２５２      パネル制御部
２２５３      本体認証部
【先行技術文献】
【特許文献】
【００５９】
【特許文献１】特開２００９−２８９１６４号公報
【図１】
0005471642.tif 000002
【図２】
0005471642.tif 000003
【図３】
0005471642.tif 000004
【図４】
0005471642.tif 000005
【図５】
0005471642.tif 000006