(57)【要約】【課題】アプリケーションの画面の表示に先立って、他のアプリケーションが任意の判断基準により任意の画面を表示できるアプリケーションプラットフォームの提供を目的とする。【解決手段】第１のアプリケーションの画面を表示する際に、第１のアプリケーションが持つ画像形成装置の機能を監視する第２のアプリケーションが存在すれば、第１のアプリケーションの画面を表示する前に第２のアプリケーションに機能情報を通知する。そして上記を実現するために、第１のアプリケーションごとに使用する画像形成装置の機能を登録し、第２のアプリケーションごとに監視する機能を登録する。【選択図】図４
2009276915.tif 000002
【特許請求の範囲】
【請求項１】
第１のアプリケーションを含む複数のアプリケーションがその上で動作するアプリケーションプラットフォームであって、
前記第１のアプリケーションに対する表示指示を受信する受信手段と、
前記受信手段で受信した表示指示に基づく表示画面を第１のアプリケーションに表示させる前に、前記アプリケーションプラットフォームから通知を受けることを要求している他のアプリケーションに、前記第１のアプリケーションに関連付けられている機能情報を通知する通知手段と、
を備えることを特徴とするアプリケーションプラットフォーム。
【請求項２】
請求項１記載のアプリケーションプラットフォームにおける前記通知手段から機能情報の通知を受けた前記他のアプリケーションであって、
前記受信手段で受信した表示指示に基づく表示画面が表示される前に前記表示手段に表示させるための画面を前記アプリケーションプラットフォームに応答する応答手段を有することを特徴とするアプリケーション。
【請求項３】
前記通知手段で機能情報を通知した相手の前記他のアプリケーションからの応答を待つ応答待ち手段と、
前記応答待ち手段が一定時間以内、前記他のアプリケーションからの応答を受けない場合に、前記受信手段で受信した表示指示に基づく表示画面を前記表示手段に表示させる表示制御手段と
を更に備えることを特徴とする請求項１に記載のアプリケーションプラットフォーム。
【請求項４】
前記通知手段は、前記他のアプリケーションを含む複数のアプリケーションに機能情報を通知し、
前記応答待手段が複数のアプリケーションから応答を受けた場合に、当該複数のアプリケーションの夫々に関連付けられたレベルに基づく順序で、前記複数のアプリケーションからの応答の夫々に含まれる命令を実行する実行手段を更に備えることを特徴とする請求項１に記載のアプリケーションプラットフォーム。
【請求項５】
前記機能情報は、前記受信手段で受信した表示指示に基づく表示画面を第１のアプリケーションに表示させた場合に、ユーザによってその実行の指示が可能となる機能を識別する情報であることを特徴とする請求項１、３又は４の何れか１項に記載のアプリケーションプラットフォーム。
【請求項６】
前記機能情報は、前記受信手段で受信した表示指示に基づく表示画面を第１のアプリケーションに表示させた場合に、その表示画面の中に現れる、又は、その表示画面の中のボタンを押し進めていくことにより現れる表示画面の中に現れる、ボタンの押下によって実行の指示が行われる機能を識別する情報であることを特徴とする請求項５に記載のアプリケーションプラットフォーム。
【請求項７】
前記第１のアプリケーションに関連付けられた機能情報があるか判定する関連判定手段と、
前記関連判定手段で関連付けられている機能情報があると判定した場合に、当該機能情報を監視している他のアプリケーションがあるか判定する監視判定手段とを更に備え、
前記監視判定手段で、前記機能情報を監視している他のアプリケーションが存在する場合に、前記通知手段は、当該他のアプリケーションを前記第１のアプリケーションに画面を表示させる前に通知を受けることを要求している他のアプリケーションであるとして、前記他のアプリケーションに前記機能情報を通知することを特徴とする請求項１、３〜６の何れか１項に記載のアプリケーションプラットフォーム。
【請求項８】
第１のアプリケーションによる表示画面の表示後にユーザによってその実行の指示が可能となる機能を特定する特定手段と、
前記特定手段で特定された機能を識別する機能情報と、当該ある画像とを関連付ける関連付手段と
を更に備えることを特徴とする請求項１、３〜７の何れか１項に記載のアプリケーションプラットフォーム。
【請求項９】
請求項１、３〜８の何れか１項に記載のアプリケーションプラットフォームの上で動作するアプリケーションの開発用ソフトウェアであって、
第１のアプリケーションによる表示画面が表示されることでユーザによってその実行の指示が可能となる機能を特定する特定手段と、
前記特定手段で特定された機能を識別する機能情報と、当該ある画像とを関連付ける関連付手段と
を備えることを特徴とする開発用ソフトウェア。
【請求項１０】
第１のアプリケーションを含む複数のアプリケーションがその上で動作するアプリケーションプラットフォームによる表示制御方法であって、
前記第１のアプリケーションに対する表示指示を受信する受信ステップと、
前記受信ステップで受信した表示指示に基づく表示画面を第１のアプリケーションに表示させる前に、前記アプリケーションプラットフォームから通知を受けることを要求している他のアプリケーションに、前記第１のアプリケーションに関連付けられている機能情報を通知する通知ステップと、
を含むことを特徴とする方法。
【請求項１１】
前記通知ステップで機能情報を通知した相手の前記他のアプリケーションからの応答を待つ応答待ちステップと、
前記応答待ちステップが一定時間以内、前記他のアプリケーションからの応答を受けない場合に、前記受信ステップで受信した表示指示に基づく表示画面を表示させる表示制御ステップと
を更に含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記通知ステップは、前記他のアプリケーションを含む複数のアプリケーションに機能情報を通知し、
前記応答待ステップが複数のアプリケーションから応答を受けた場合に、当該複数のアプリケーションの夫々に関連付けられたレベルに基づく順序で、前記複数のアプリケーションからの応答の夫々に含まれる命令を実行する実行ステップを更に含むことを特徴とする請求項１０に記載の方法。
【請求項１３】
前記機能情報は、前記受信ステップで受信した表示指示に基づく表示画面を第１のアプリケーションに表示させた場合に、ユーザによってその実行の指示が可能となる機能を識別する情報であることを特徴とする請求項１０〜１２の何れか１項に記載の方法。
【請求項１４】
前記機能情報は、前記受信ステップで受信した表示指示に基づく表示画面を第１のアプリケーションに表示させた場合に、その表示画面の中に現れる、又は、その表示画面の中のボタンを押し進めていくことにより現れる表示画面の中に現れる、ボタンの押下によって実行の指示が行われる機能を識別する情報であることを特徴とする請求項１３に記載の方法。
【請求項１５】
前記第１のアプリケーションに関連付けられた機能情報があるか判定する関連判定ステップと、
前記関連判定ステップで関連付けられている機能情報があると判定した場合に、当該機能情報を監視している他のアプリケーションがあるか判定する監視判定ステップとを更に含み、
前記監視判定ステップで、前記機能情報を監視している他のアプリケーションが存在する場合に、前記通知ステップは、当該他のアプリケーションを前記第１のアプリケーションに画面を表示させる前に通知を受けることを要求している他のアプリケーションであるとして、前記他のアプリケーションに前記機能情報を通知することを特徴とする請求項１０〜１４の何れか１項に記載の方法。
【請求項１６】
第１のアプリケーションによる表示画面の表示後にユーザによってその実行の指示が可能となる機能を特定する特定ステップと、
前記特定ステップで特定された機能を識別する機能情報と、当該ある画像とを関連付ける関連付ステップと
を更に含むことを特徴とする請求項１０〜１５の何れか１項に記載の方法。
【請求項１７】
コンピュータに、請求項１０〜１６のいずれか１項に記載の方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１８】
コンピュータに、請求項１０〜１６のいずれか１項に記載の方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置にアプリケーションの画面を表示する際に、別のアプリケーションの画面を割り込み表示させるための、アプリケーションプラットフォームに関するものである。
【背景技術】
【０００２】
複合機に代表される画像形成装置で、ユーザに指示されたアプリケーションの画面を表示する際に、その画面の表示に先立って別のアプリケーションの画面を表示する場合がある。例えば、ユーザに指示されたアプリケーションがコピー画面を表示しようとした時に、別のアプリケーションがユーザの印刷上限枚数と印刷累積枚数を計算して、コピー画面の表示に先立って印刷実績を表示する場合がある。
【０００３】
これに対し、アプリケーションの機能ごとに定義されたセキュリティレベルとユーザのアクセス権を比較して、該ユーザに機能を使用する権限がない場合は、アプリケーションの画面ではなく、認証画面を表示するという技術がある。（例えば、特許文献１参照）
【０００４】
【特許文献１】特開２００６−１７２３９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した特許文献１に記載の技術では認証画面を表示するか否かの判断は、画像形成装置のプラットフォーム部で行っている。そのため、任意のアプリケーションがアクセス権以外の基準で画面を表示したい場合は、画像形成装置のプラットフォーム部を変更する必要があり、現実的に不可能であった。また、特許文献１に記載の技術では予め定められた認証画面しか表示できない仕組みであった。
【０００６】
本発明は、上記の課題を解決するためになされたもので、アプリケーションの画面の表示に先立って、他のアプリケーションが任意の判断基準により任意の画面を表示できるアプリケーションプラットフォームの提供を目的とする。
【課題を解決するための手段】
【０００７】
本発明のアプリケーションプラットフォームは、第１のアプリケーションを含む複数のアプリケーションがその上で動作するアプリケーションプラットフォームであって、第１のアプリケーションに対する表示指示を受信する受信手段と、受信手段で受信した表示指示に基づく表示画面を第１のアプリケーションに表示させる前に、アプリケーションプラットフォームから通知を受けることを要求している他のアプリケーションに、第１のアプリケーションに関連付けられている機能情報を通知する通知手段とを備えることを特徴とする。
【０００８】
本発明のアプリケーションは、上記のアプリケーションプラットフォームにおける通知手段から機能情報の通知を受けた他のアプリケーションであって、受信手段で受信した表示指示に基づく表示画面が表示される前に表示手段に表示させるための画面をアプリケーションプラットフォームに応答する応答手段を有することを特徴とする。
【０００９】
本発明の開発用ソフトウェアは、上記のアプリケーションプラットフォーム上で動作するアプリケーションの開発用ソフトウェアであって、第１のアプリケーションによる表示画面が表示されることでユーザによってその実行の指示が可能となる機能を特定する特定手段と、特定手段で特定された機能を識別する機能情報と、当該ある画像とを関連付ける関連付手段とを備えることを特徴とする。
【００１０】
本発明の方法は、第１のアプリケーションを含む複数のアプリケーションがその上で動作するアプリケーションプラットフォームによる表示制御方法であって、第１のアプリケーションに対する表示指示を受信する受信ステップと、受信ステップで受信した表示指示に基づく表示画面を第１のアプリケーションに表示させる前に、アプリケーションプラットフォームから通知を受けることを要求している他のアプリケーションに、第１のアプリケーションに関連付けられている機能情報を通知する通知ステップとを含むことを特徴とする。
【００１１】
本発明のコンピュータ読み取り可能な記録媒体は、コンピュータに、上記の方法を実行させるためのプログラムを記録したことを特徴とする。
【００１２】
本発明のプログラムは、コンピュータに、上記の方法を実行させることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、第１のアプリケーションの画面の表示に先立って、プラットフォーム部が、第１のアプリケーションで使用される機能の通知を受けることを要求している第２のアプリケーションに当該機能を通知する。これによって、第２のアプリケーションは、任意の判断基準により任意の画面を表示することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１５】
図１は、本発明の実施形態における画像形成装置のブロック図である。
【００１６】
画像形成装置１は、印刷装置１１及び画像処理装置１２を備える。
【００１７】
画像処理装置は、ＣＰＵ１２１と、第１の記憶部１２２（例、ＲＡＭ）と、第２の記憶部１２３（例、ＲＯＭやＨＤＤ）と、ユーザインターフェース１２４と、外部インターフェース１２５を備える。
【００１８】
第１の記憶部１２２は、ＣＰＵ１２１との間でデータを直接やり取りする記憶部であり、第２の記憶部１２３は、第１の記憶部１２２を介してＣＰＵ１２１との間でデータをやり取りする記憶部である。第１の記憶部１２２には、種々のアプリケーションプログラム及びプラットフォームプログラムが記憶されている。
【００１９】
ユーザインターフェース１２４は、キーボード、マウス、ディスプレイ等であり、ユーザからの指示を受付け、又は、データ（画面データ）を表示する。
【００２０】
外部インターフェース１２５は、外部装置からのデータの受信や外部装置へのデータの送信を行う。例えば、外部装置には、外付けＨＤＤや外付けＵＳＢメモリ等の外付け記憶装置や、ネットワークを介して接続された他のホストコンピュータや他の画像形成装置が含まれる。
【００２１】
ＣＰＵ１２１は、第２の記憶部１２３に記憶されたプラットフォームプログラムを第１の記憶部１２２にコピーすることができる。コピーが完了すると、ＣＰＵ１２１は、プラットフォームプログラムを実行することができる状態になる。本実施形態では、ＣＰＵ１２１がプラットフォームプログラムを実行することができる状態になることは、プラットフォーム部２０が起動することを意味する。
【００２２】
なお、本実施形態では、以下の構成の組み合わせがプラットフォーム部２０である。 
・ＣＰＵ１２１
・プラットフォームプログラムが記憶されている第１の記憶部１２２内の記憶領域
・ＣＰＵ１２１が上記プラットフォームプログラムを処理した際に得られる計算結果等の情報、又は、処理する上で必要な情報が記憶されている第１の記憶部１２２内又は第２の記憶部１２３内の記憶領域
【００２３】
プラットフォーム部２０は、外部インターフェース部１２５を介して第１のアプリケーションプログラムを受信し、第２の記憶部１２３に記憶することができる。このときプラットフォーム部２０は、第１のアプリケーションプログラムを示すＩＤを決定して記憶する。本実施形態では、アプリケーションプログラムを第２の記憶部１２３に記憶すること、そして、その際に、アプリケーションプログラムを示すＩＤを決定して記憶することは、「アプリケーションプログラムをインストールすることを意味する。
【００２４】
さらに、第１のアプリケーションプログラムのインストールに際して、プラットフォーム部２０は、第１のアプリケーションプログラムに含まれる使用機能情報ファイルから使用機能情報を特定する。次いで、プラットフォーム部２０は、当該使用機能情報を、第１のアプリケーションプログラムを示すＩＤに関連付けて使用機能情報管理テーブルに登録する。
【００２５】
また、第２のアプリケーションのインストールに際して、プラットフォーム部２０は、第２のアプリケーションプログラムに含まれる監視機能情報ファイルから監視機能情報を特定する。次いで、プラットフォーム部２０は、当該監視機能情報を、第２のアプリケーションプログラムを示すＩＤに関連付けて監視機能情報管理テーブル登録する。
【００２６】
ＣＰＵ１２１は、第２の記憶部１２３に記憶されている第１のアプリケーションプログラムを第１の記憶部１２２にコピーすることができる。コピーが完了すると、ＣＰＵ１２１は、第１のアプリケーションプログラムを実行することができる。なお、ＣＰＵ１２１が第１のアプリケーションプログラムを実行する際には、第１の記憶部１２２や第２の記憶部１２３のうちの一部の領域（第１のアプリケーションプログラムを記憶した領域とは異なる領域）を、計算結果を記憶する記憶領域として用いる。本実施形態では、第１のアプリケーションプログラムを実行することができる状態にすることは、ＣＰＵ１２１が第１のアプリケーションプログラムを起動することを意味する。また、本実施形態では、第１のアプリケーションプログラムの起動が行われた後のＣＰＵ１２１、上記一部の領域、第１の記憶部１２２のうちのアプリケーションプログラムを記憶している領域は、第１のアプリケーション部２１である。
【００２７】
以上の定義より、ＣＰＵ１２１が第２の記憶部１２３に記憶された第１のアプリケーションプログラムを第１の記憶部１２２にコピーすることにより、第１のアプリケーション部２１が生成される。逆に、ＣＰＵ１２１が第１の記憶部１２２に記憶された第１のアプリケーションプログラムを第１の記憶部１２２から削除することにより、第１のアプリケーション部２１が消去される。
【００２８】
次に、画像形成装置１のユーザインターフェース部１２４に、第１のアプリケーションを表示する際の処理を説明する。
【００２９】
プラットフォーム部２０は、ユーザからインターフェース部１２４を介して第１のアプリケーション部２１に対する実行指示を受けると、第１のアプリケーション部２１に実行指示を送る。実行指示を受けた第１のアプリケーション部２１は、表示画面を生成し、プラットフォーム部２０に対して、生成した表示画面をユーザインターフェース部１２４に表示させるための指示を送る。指示を受けたプラットフォーム部２０は、当該表示画面をユーザインターフェース部１２４に表示する。
【００３０】
図２は、プラットフォーム部２０に記憶された使用機能情報管理テーブルを示す図である。
【００３１】
アプリケーションＩＤは、プラットフォーム部２０がアプリケーションを一意に識別するための識別子である。使用機能情報とは、そのアプリケーションが使用する画像形成装置１の機能を識別するための情報である。例えば図２では、アプリケーションＩＤが１のアプリケーションは、画像形成装置１のＣｏｐｙ機能を使用することを示す。また、アプリケーションＩＤが２のアプリケーションは、画像形成装置１のＥ−ｍａｉｌ機能とＦＡＸ機能を使用することを示す。すなわち、１つのアプリケーションが画像形成装置１の複数の機能を使用する場合は、使用機能情報管理テーブルは、複数の機能を使用することを記憶することができる。なお、使用機能情報管理テーブルに含まれるレコードは、この例に限定されない。
【００３２】
図３は、プラットフォーム部２０に記憶された監視機能情報管理テーブルを示す図である。
【００３３】
アプリケーションＩＤは、プラットフォーム部２０がアプリケーションを一意に識別するための識別子である。監視機能情報とは、画像形成装置１の機能の中で監視する機能を識別するための情報である。例えば図３では、アプリケーションＩＤが１１のアプリケーションは、画像形成装置１のＥ−ｍａｉｌ機能を監視することを示す。また、アプリケーションＩＤが１２のアプリケーションは、画像形成装置１のＣｏｐｙ機能とＢＯＸ機能を監視することを示す。すなわち、１つのアプリケーションが画像形成装置１の複数の機能を監視する場合は、監視機能情報管理テーブルは、複数の機能を監視することを記憶することができる。なお、監視機能情報管理テーブルに含まれるレコードは、この例に限定されない。
【００３４】
次に、図４に示すフローチャートを用いて、本実施形態の処理フローを説明する。
【００３５】
プラットフォーム部２０は、Ｓ１０１でユーザからユーザインターフェース部１２４を介して第１のアプリケーションに対する実行指示を受信する。ここでの実行指示とは、第１のアプリケーションを実行するために、第１のアプリケーションをユーザインターフェース部１２４に表示するための表示指示に相当する。表示画面の表示後に、Ｓ１０２で、プラットフォーム部２０は、図２の使用機能情報管理テーブルから、画像処理装置１に、第１のアプリケーションに関連付けられた機能情報があるか判定する関連判定を行う。次に、プラットフォーム部２０は、Ｓ１０３で図３の監視機能情報管理テーブルから、第１のアプリケーションが使用する機能を監視機能情報として登録している第２のアプリケーションが存在するかを監視判定する。
【００３６】
第２のアプリケーションが存在しない場合は、プラットフォーム部２０は前述したようにＳ１１０で第１のアプリケーションに実行指示を送る。実行指示を受けた第１のアプリケーションは、Ｓ１１１で表示画面の生成を行った上で、Ｓ１１２でプラットフォーム部２０に対してその表示画面をユーザインターフェース部１２４に表示させるように指示する。プラットフォーム部２０は、指示された画面の表示指示をユーザインターフェース部１２４に送る。
【００３７】
一方、Ｓ１０３で該当する第２のアプリケーションが存在する場合は、プラットフォーム部２０は第１のアプリケーションに実行指示をする前に、Ｓ１０４で第２のアプリケーションに使用機能情報を通知する。使用機能情報の通知方法としては、プラットフォーム部２０が予め機能ごとに定められたインターフェース関数を呼び出す方法がある。また、図５の監視機能情報管理テーブルのように、予め第２のアプリケーションが監視機能ごとに呼び出して欲しい関数を登録する方法であってもよい。
【００３８】
通知を受けた第２のアプリケーションは、Ｓ１０５で第１のアプリケーションの前に第２のアプリケーションを表示するかどうかを判断する。Ｓ１０６で、第２のアプリケーションが表示すると判断した場合は、Ｓ１０７で表示画面の生成を行った上で、Ｓ１０８でプラットフォーム部２０に対してその表示画面の表示指示をユーザインターフェース部１２４に送る。ここで重要な点は、表示の判断や表示画面の生成を行うのが、プラットフォーム部２０ではなく、第２のアプリケーションという点である。これにより、どのような第２のアプリケーションが誕生しても、画像形成装置１のプラットフォーム部２０を変更することなく、第２のアプリケーションの任意の判断方法により、任意の画面を表示することができる。
【００３９】
プラットフォーム部２０は、Ｓ１０９で指示された画面をユーザインターフェース部１２４に表示させる。Ｓ１０９で第２のアプリケーションから表示指示がなかった場合、プラットフォーム部２０は前述したとおりに第１のアプリケーションに実行指示を送る。
【００４０】
次に、第１のアプリケーションが使用する機能を監視機能情報として登録している第２のアプリケーションが複数存在する場合の処理について説明する。以下では、上記の複数の第２のアプリケーションのことを、第２のアプリケーション群と称す。
【００４１】
図６は、プラットフォーム部２０に記憶された、監視機能情報管理テーブルを示す図である。
【００４２】
アプリケーションＩＤと監視機能情報は、図３で前述したとおりである。図６では、アプリケーションＩＤが１３のアプリケーションと、アプリケーションＩＤが１５のアプリケーションが、同じＥ−ｍａｉｌ機能を監視していることを表している。レベルとは、同じ監視機能情報を登録した第２のアプリケーション群の処理の優先度を表す指標である。図６では、レベルの高い順からＥｒｒｏｒ／Ｗａｒｎｉｎｇ／Ｉｎｆｏｒｍａｔｉｏｎがあり、プラットフォーム部２０は第２のアプリケーション群の中で、レベルの高い順に使用機能情報の通知や、ユーザインターフェース部１２４への表示指示を出す。また、本実施形態ではレベルをＥｒｒｏｒ／Ｗａｒｎｉｎｇ／Ｉｎｆｏｒｍａｔｉｏｎと定義しているが、これに限定するものではない。
【００４３】
図７は、第１のアプリケーションが使用する機能を監視機能情報として登録している第２のアプリケーションが複数存在する場合の、プラットフォーム部２０に関する処理フローチャートである。全体の処理フローは図４と同様であり、図４と違いのあるＳ１０４、Ｓ１０９、Ｓ１１３について記載している。
【００４４】
プラットフォーム部２０は、図４のＳ１０３で図６の監視機能情報管理テーブルから、第１のアプリケーションが使用する機能を監視機能情報として登録している第２のアプリケーションが存在するかを判定する。そして、Ｓ１０３で該当する第２のアプリケーションが複数存在する場合、プラットフォーム部２０はＳ１０４−ａで、図６の監視機能情報管理テーブルのレベルの高い順に、第２のアプリケーション群に使用機能情報を通知する。
【００４５】
通知を受けた第２のアプリケーション群は、図４のフローチャートと同様に、必要に応じてプラットフォーム部２０に対して表示画面をユーザインターフェース部１２４に表示させるように指示する。
【００４６】
プラットフォーム部２０は、Ｓ１０４−ｂで、一定時間以内の応答待ち時間まで、通知の相手である第２のアプリケーション群からの表示指示を待つ。応答待ち時間を設けることにより、第２のアプリケーション群が何らかの理由で応答を返してこない場合も、プラットフォーム部２０の動作を停止させないという効果がある。すなわち、第２のアプリケーション群が応答を返してこない場合、プラットフォーム部２０は、第１のアプリケーションから受信した表示指示に基づく表示画面を表示させる表示制御を行う。また、この応答待ち時間を設ける方法は、第２のアプリケーションが複数存在する場合のみではなく、図４の処理フローにおいても同様に応答待ち時間を設けてもよい。
【００４７】
次にプラットフォーム部２０は、Ｓ１０９−ａで第２のアプリケーション群から表示指示があったかを判定する。第２のアプリケーション群からの表示指示がなかった場合、または１つも表示指示がないまま応答待ち時間に達した場合、プラットフォーム部２０はＳ１１０で第１のアプリケーションに実行指示を送る。
【００４８】
一方、第２のアプリケーション群から表示指示があった場合、プラットフォーム部２０はＳ１１３−ａで指示された画面を、図６の監視機能情報管理テーブルのレベルの高い順序で表示するように、ユーザインターフェース部１２４に指示する。具体的には、画像形成装置１のユーザインターフェース部１２４は、複数の画面を層構造に保持することができ、層構造の最上位の画面からユーザに表示することができる。そこでプラットフォーム部２０は、表示指示のあった画面をレベルの高い順から層構造の上になるようにユーザインターフェース部１２４に命令を出す。
【００４９】
次に、第１のユースケースに基づいて、本実施形態を説明する。
【００５０】
図８は、画像形成装置１のユーザインターフェース部１２４に表示される、トップ画面の例である。
【００５１】
ユーザからトップ画面に表示したアプリケーションを押下されると、ユーザインターフェース部１２４は、プラットフォーム部２０にアプリケーションの実行指示を行う。図８の例では、Ｃｏｐｙを行うＣｏｐｙアプリケーション、スキャン画像をＥ−ｍａｉｌ送信するＥ−ｍａｉｌアプリケーションの各ボタンが表示されている。さらに、スキャン画像をＦＡＸ送信するＦＡＸアプリケーション、スキャン画像をＣｏｐｙして同時にＥ−ｍａｉｌ送信するＣｏｐｙ＆Ｅ−ｍａｉｌアプリケーションの各ボタンもまた表示されている。
【００５２】
通常では、トップ画面でユーザからＣｏｐｙアプリケーションのボタンを押下されると、ユーザインターフェース部１２４は、プラットフォーム部２０にＣｏｐｙアプリケーションの実行指示を行う。これによって図９のＣｏｐｙアプリケーションの画面が表示される。
【００５３】
図１０は、第１のユースケースにおいてプラットフォーム部２０に記憶された、使用機能情報管理テーブルの図である。
【００５４】
前述したＣｏｐｙアプリケーションが、図１０のアプリケーションＩＤ＝１に相当し、使用機能情報としてＣｏｐｙが記憶されている。同様に、Ｅ−ｍａｉｌアプリケーションはＩＤ＝２、ＦＡＸアプリケーションはＩＤ＝３、Ｃｏｐｙ＆Ｅ−ｍａｉｌアプリケーションはＩＤ＝４に相当する。Ｃｏｐｙ＆Ｅ−ｍａｉｌアプリケーションは、画像形成装置１の２つの機能を使用するため、使用機能情報としてＣｏｐｙとＥ−ｍａｉｌの２つが登録されている。
【００５５】
図１１は、第１のユースケースにおいてプラットフォーム部２０に記憶された、監視機能情報管理テーブルの図であり、第２のアプリケーションとして１つだけ登録されている。第１のユースケースでは、第２のアプリケーションとして印刷枚数管理アプリケーションを例に挙げる。印刷枚数管理アプリケーションとは、ユーザの印刷上限枚数と印刷累積枚数を計算して、ユーザの印刷実績を図１２に示すように、ユーザインターフェース部１２４に表示するアプリケーションである。また、印刷累積枚数が印刷上限枚数を超過した際に、ユーザの印刷を禁止する機能などを持つ。
【００５６】
図１３は、第１のユースケースにおける処理フローチャートである。
【００５７】
ユーザより図８のトップ画面からＣｏｐｙアプリケーションを押下されると、プラットフォーム部２０は、Ｓ２０１でユーザインターフェース部１２４を介してＣｏｐｙアプリケーションに対する実行指示を受信する。ここでの実行指示も、実質的にはＣｏｐｙアプリケーションを実行するために、Ｃｏｐｙアプリケーションをユーザインターフェース部１２４に表示する、表示指示に相当する。次に、プラットフォーム部２０はＳ２０２で図１０の使用機能情報管理テーブルから、Ｃｏｐｙアプリケーション（ＩＤ＝１）が使用する画像形成装置１の機能がＣｏｐｙ機能であることを特定する。そしてプラットフォーム部２０は、Ｓ２０３で図１１の監視機能情報管理テーブルから、Ｃｏｐｙアプリケーションが使用するＣｏｐｙ機能を監視機能情報として登録している第２のアプリケーションが存在するかを判定する。次いで、プラットフォーム部２０は、図１１から印刷枚数管理アプリケーション（ＩＤ＝１６）が存在することを特定する。そこで、Ｓ２０４でプラットフォーム部２０は、印刷枚数管理アプリケーションに対してＣｏｐｙ機能が実行されようとしていることを通知する。
【００５８】
通知を受けた印刷枚数管理アプリケーションは、Ｓ２０５でＣｏｐｙアプリケーションの前に印刷枚数管理アプリケーションの画面を表示するかどうかを判断し、表示する場合はＳ２０７で表示画面（図１２）の生成を行う。次いで、印刷枚数管理アプリケーションは、Ｓ２０８でプラットフォーム部２０に対してその表示画面をユーザインターフェース部１２４に表示させるように指示する。印刷枚数管理アプリケーションの判断方法については、詳細は説明を省くが、ネットワーク上に構築されたサーバからユーザの情報を取得するなどして、独自の判断を行う。
【００５９】
プラットフォーム部２０は、Ｓ２０９で指示された画面（図１２）をユーザインターフェース部１２４に表示させる。Ｓ２０９で印刷枚数管理アプリケーションから表示指示がなかった場合、プラットフォーム部２０はＣｏｐｙアプリケーションに実行指示を出す。
【００６０】
第１のユースケースでは、ユーザによりＣｏｐｙやＰｒｉｎｔが行われる前に印刷枚数管理アプリケーションに通知が来ることで、印刷枚数管理アプリケーションがユーザの印刷実績を先に表示することができる。これにより、ユーザはＣｏｐｙアプリケーションで印刷体裁を変更することで印刷枚数を節約したり、印刷枚数管理アプリケーションの機能を使用して事前に印刷上限枚数を増やすことなどが可能となる。一方、ＦＡＸやＥ−ｍａｉｌなど、印刷に関係のないアプリケーションを使用するときは、印刷実績を表示しないことが可能となる。さらに特定のＣｏｐｙアプリケーションだけではなく、３ｒｄＰａｒｔｙ製のＣｏｐｙ機能を使用するアプリケーションであっても、印刷枚数管理アプリケーションを先に表示することができる。
【００６１】
次に、第２のユースケースについて説明する。
【００６２】
第２のユースケースにおいて、第１のアプリケーションは第１のユースケースと同じであり、ゆえにトップ画面（図８）と使用機能情報管理テーブル（図１０）も同じである。
【００６３】
図１４は、プラットフォーム部２０に記憶された監視機能情報管理テーブルの図であり、第２のユースケースでは、第２のアプリケーションとして認証アプリケーションを例に挙げる。認証アプリケーションとは、ユーザインターフェース部１２４に認証画面を表示させてユーザ認証を行うアプリケーションであり、第２のユースケースでは、監視機能情報としてＥ−ｍａｉｌとＦＡＸを登録している。
【００６４】
図１５は、第２のユースケースにおける処理フローチャートである。
【００６５】
プラットフォーム部２０は第１のアプリケーションに対する実行指示を受信すると（Ｓ３０１）、第１のアプリケーションの使用機能情報を確認する（Ｓ３０２）。第１のアプリケーションの使用機能情報がＥ−ｍａｉｌもしくはＦＡＸであった場合は、プラットフォーム部２０は、Ｓ３０４で認証アプリケーションに使用機能情報を通知する。そして、プラットフォーム部２０はＳ３０９で認証アプリケーションからの表示指示を受信すると、Ｓ３１３でユーザインターフェース部１２４にＳ３０７で生成された認証画面を表示させる。
【００６６】
第２のユースケースでは、画像形成装置の機能に応じた認証を可能とする。例えば、社外に情報を送る機能であるＥ−ｍａｉｌやＦＡＸを使用する場合にはセキュリティを重視してユーザ認証を行い、ＣｏｐｙやＰｒｉｎｔを使用する場合は操作性を重視してユーザ認証をしないといったことを行う。また、第２のユースケースでは、機能ごとにセキュリティ強度が異なる認証画面を表示させることも可能となる。例えば、Ｓ３０７の認証画面の生成において、使用機能情報がＦＡＸの場合はＩＣカード認証画面を生成し、Ｅ−ｍａｉｌの時はＩＣカード認証と更にはパスワードを入力させる画面を生成するなどする。
【００６７】
本実施形態では、第１のアプリケーションプログラムに含まれる使用機能情報ファイルから使用機能情報を特定したが、アプリケーション開発者が使用機能情報ファイルを作成することは、時として開発者の負担となることが考えられる。
【００６８】
そこで、アプリケーションを開発する開発用ソフトウェアが、アプリケーションプログラムに記載されたソースコードを解析して、アプリケーションプログラムの使用機能情報ファイルを自動で生成する、という構成も他の実施形態として考えられる。この構成では、上記開発用ソフトウェアを使用することで、アプリケーション開発者の負担を軽減することができる。
【００６９】
また、第１のアプリケーションをインストールする際に、プラットフォーム部２０が第１のアプリケーションプログラムを解析して、アプリケーションプログラムの使用機能情報を特定する、という構成も他の実施形態として考えられる。この構成では、上記開発用ソフトウェアを使用しない場合でも、アプリケーション開発者の負担を軽減することができる。
【００７０】
監視機能情報についても同様に、本実施形態では、第２のアプリケーションプログラムに含まれる監視機能情報ファイルから監視機能情報を特定した。しかし、アプリケーション開発者が監視機能情報ファイルを作成することは、時として開発者の負担となることが考えられる。そこで、アプリケーションを開発する開発用ソフトウェアが、アプリケーションプログラムに記載されたソースコードを解析して、アプリケーションプログラムの監視機能情報ファイルを自動で生成する、という構成も他の実施形態として考えられる。
【００７１】
また、第２のアプリケーションをインストールする際に、プラットフォーム部２０が第２のアプリケーションプログラムを解析して、アプリケーションプログラムの監視機能情報を特定する、という構成も他の実施形態として考えられる。
【００７２】
本実施形態における使用機能情報は、以上のように、そのアプリケーションがユーザインターフェース部１２４に表示画面を表示させた際に、その表示画面を介してユーザから実行を指示されうる機能を識別する情報として働く。
【００７３】
本実施形態における監視機能情報は、以上のように、第２のアプリケーションに通知が来る前にユーザから実行の指示が行われて欲しくない機能を、プラットフォーム部２０が識別する情報として働く。
【００７４】
＜その他の実施形態＞
本発明は、前述の実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体をシステムあるいは装置に装着し、システム等のコンピュータが記録媒体からプログラムコードを読み取り実行することによっても達成される。記録媒体はコンピュータ読み取り可能な記録媒体である。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成する。また、プログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現されてもよい。また、記録媒体から読み出されたプログラムコードが、コンピュータの機能拡張カードや機能拡張ユニットに書込まれた後、機能拡張カード等がプログラムコードの指示に基づき処理の一部または全部を行うことで、前述の実施例を実現してもよい。
【図面の簡単な説明】
【００７５】
【図１】画像形成装置の構成例を示すブロック図である。
【図２】使用機能情報管理テーブルの一例を示す図である。
【図３】監視機能情報管理テーブルの一例を示す図である。
【図４】本実施形態の処理の流れの一例を示すフローチャートである。
【図５】機能情報連絡用の関数を登録した監視機能情報管理テーブルの一例を示す図である。
【図６】レベルを登録した監視機能情報管理テーブルの一例を示す図である。
【図７】複数の第２のアプリケーションがある際の処理の流れの一例を示すフローチャートである。
【図８】ユーザインターフェース部のトップ画面の一例を示す図である。
【図９】Ｃｏｐｙアプリケーションの表示画面の一例を示す図である。
【図１０】第１のユースケースにおける使用機能情報管理テーブルの一例を示す図である。
【図１１】第１のユースケースにおける監視機能情報管理テーブルの一例を示す図である。
【図１２】印刷枚数管理アプリケーションの表示画面の一例を示す図である。
【図１３】第１のユースケースにおける処理の流れの一例を示すフローチャートである。
【図１４】第２のユースケースにおける監視機能情報管理テーブルの一例を示す図である。
【図１５】第２のユースケースにおける処理の流れの一例を示すフローチャートである。
【符号の説明】
【００７６】
１  画像形成装置
１１  印刷装置
１２  画像処理装置
１２１  ＣＰＵ
１２２  第１の記憶部
１２３  第２の記憶部
１２４  ユーザインターフェース
１２５  外部インターフェース
【図１】
2009276915.tif 000003
【図２】
2009276915.tif 000004
【図３】
2009276915.tif 000005
【図４】
2009276915.tif 000006
【図５】
2009276915.tif 000007
【図６】
2009276915.tif 000008
【図７】
2009276915.tif 000009
【図８】
2009276915.tif 000010
【図９】
2009276915.tif 000011
【図１０】
2009276915.tif 000012
【図１１】
2009276915.tif 000013
【図１２】
2009276915.tif 000014
【図１３】
2009276915.tif 000015
【図１４】
2009276915.tif 000016
【図１５】
2009276915.tif 000017