(57)【要約】【課題】複雑な競合制御なしに、要求されたジョブの実行を可能とすることを目的とする。【解決手段】インストールアプリケーションが起動中はインストールアプリケーションから投入されたジョブ以外のジョブの受け付けを制限する制限モードに移行し、インストールアプリケーションが終了した場合は制限モードを解除する制御手段と、インストールアプリケーションの終了が選択された場合、インストールアプリケーションの終了を問い合わせる画面を表示する表示手段と、を有することによって課題を解決する。【選択図】図２
2017193129.tif 000002
【特許請求の範囲】
【請求項１】
インストールアプリケーションが起動中は前記インストールアプリケーションから投入されたジョブ以外のジョブの受け付けを制限する制限モードに移行し、前記インストールアプリケーションが終了した場合は前記制限モードを解除する制御手段と、
前記インストールアプリケーションの終了が選択された場合、前記インストールアプリケーションの終了を問い合わせる画面を表示する表示手段と、
を有する情報処理装置。
【請求項２】
前記表示手段は、ホーム画面への遷移を指示するオブジェクトが選択された場合、前記インストールアプリケーションの終了が選択されたとして、前記インストールアプリケーションの終了を問い合わせる画面を表示する請求項１記載の情報処理装置。
【請求項３】
前記インストールアプリケーションの終了を問い合わせる画面を介してインストールアプリケーションの終了が指示された場合、前記インストールアプリケーションが投入したジョブをキャンセルするキャンセル手段を更に有する請求項１又は２記載の情報処理装置。
【請求項４】
前記ホーム画面への遷移を指示するオブジェクトが選択された場合、実行中のインストールアプリケーションのジョブがインタラクティブなジョブか否かを判定する判定手段を更に有し、
前記表示手段は、前記判定手段により実行中のインストールアプリケーションのジョブがインタラクティブなジョブであると判定された場合、前記インストールアプリケーションの終了を問い合わせる画面を表示する請求項２記載の情報処理装置。
【請求項５】
前記制御手段は、前記判定手段により実行中のインストールアプリケーションのジョブがインタラクティブなジョブでないと判定された場合、前記インストールアプリケーションを終了させる請求項４記載の情報処理装置。
【請求項６】
前記情報処理装置は、画像処理装置である請求項１乃至５何れか１項記載の情報処理装置。
【請求項７】
情報処理装置が実行する情報処理方法であって、
インストールアプリケーションが起動中は前記インストールアプリケーションから投入されたジョブ以外のジョブの受け付けを制限する制限モードに移行し、前記インストールアプリケーションが終了した場合は前記制限モードを解除する制御ステップと、
前記インストールアプリケーションの終了が選択された場合、前記インストールアプリケーションの終了を問い合わせる画面を表示する表示ステップと、
を含む情報処理方法。
【請求項８】
コンピュータを請求項１乃至６何れか１項記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
動作する組み込みアプリケーションとは別に、ローダブルな別アプリケーションをインストールし、様々なサービスを動作させることができる情報処理装置がある。以下、組み込みアプリケーションの一例としてファームウェアを例に説明を行う。
このような情報処理装置では、インストールされたアプリケーション（以下、インストールアプリケーションという）から、ファームウェアに対して、印刷や送信等のジョブを投入することができる。インストールアプリケーションからファームウェアに対して、様々な組み合わせのジョブを投入することで、インストールアプリケーションとして新たなサービスを提供できるようになる。
例えば、特許文献１には、インストールアプリケーションからジョブを投入し、そのジョブのエラーリカバリを適切に行う方法が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１５３２１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
情報処理装置のより具体的な例としては、パーソナルコンピュータやスマートフォン等の機器がある。しかし、最近ではもっと記憶領域が小さく、ハードウェア構成も限定的な装置、例えば、コピー機等にもアプリケーションをインストールしてサービスを提供する装置も出てきている。
コピー機では、本体に組み込みアプリケーションが動作しており、ファームウェア以外にもＥｍａｉｌ受信や、プリントデータ印刷等のジョブが発生し、ジョブに応じた動作を実行している。そのうえに、インストールアプリケーションからファームウェアに対してジョブが投入されることになる。ファームウェアでは、ジョブを同時に動作させようとした場合に、ハードウェア構成的に同時に動作できるかどうかを判断し、同時に動かせない場合は、一方を止める等の競合制御をする必要がある。しかしながら、インストールアプリケーションは様々な開発者が様々な工夫を凝らして多種多様なものが作られる。そのため、様々な種別のジョブがインストールアプリケーションから発生する可能性がある。インストールアプリケーションから発生するジョブが使用するメモリ容量はインストールアプリケーションの機能、処理に依存する。そのため、複数のジョブで共通のメモリを使用した場合にメモリが枯渇して本来動作可能なはずのジョブまで実行できなくなる可能性がある。
本発明は、複雑な競合制御なしに、要求されたジョブの実行を可能とすることを目的とする。
【課題を解決するための手段】
【０００５】
本発明の情報処理装置は、インストールアプリケーションが起動中は前記インストールアプリケーションから投入されたジョブ以外のジョブの受け付けを制限する制限モードに移行し、前記インストールアプリケーションが終了した場合は前記制限モードを解除する制御手段と、前記インストールアプリケーションの終了が選択された場合、前記インストールアプリケーションの終了を問い合わせる画面を表示する表示手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、複雑な競合制御なしに、要求されたジョブの実行を可能とすることができる。
【図面の簡単な説明】
【０００７】
【図１】複合機のハードウェア構成の一例を示す図である。
【図２】複合機のソフトウェア構成の一例を示す図である。
【図３】アプリケーション情報データの一例を示す図である。
【図４】操作パネルの一例を示す図である。
【図５】操作パネルに表示されるポップアップ画面を示す図である。
【図６】アプリケーションの起動に係る処理の一例を示すフローチャートである。
【図７】アプリケーションの終了に係る処理の一例を示すフローチャートである。
【図８】アプリケーションの終了に係る処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づいて説明する。
【０００９】
＜第１の実施形態＞
情報処理装置の一例として複合機を用いて以下説明を行う。図１は、複合機１００のハードウェア構成の一例を示す図である。また、複合機１００は、画像処理装置の一例でもある。
ＣＰＵ１０１は、システムの制御部であり、複合機１００の全体を制御する。ＲＯＭ１０２は、ｅＭＭＣ等のフラッシュメモリで構成されており、ＣＰＵ１０１の制御プログラム等を格納するためのものである。ＲＯＭ１０２は、その他にも電源ＯＦＦ時に消えてはいけない設定値や画像データ等の格納も行う。また、ＲＯＭ１０２にはインストールアプリケーションも格納される。このＲＯＭ１０２は、一般的なパーソナルコンピュータ等の機器のメモリ容量よりも少ない容量となっている。ＤＲＡＭ１０３は、プログラムの制御変数等を格納するためのものである。ＤＲＡＭ１０３は、処理する画像データ等を一時的に保存できる揮発性メモリである。操作部１０４は、機器内の情報を表示するユーザとのインターフェイス部である。読み取り部１０５は、画像データを読み取り、バイナリデータに変換する装置でありこれを用いて画像送信機能の原稿読み取りを行なうものである。印刷部１０６は、画像データを記録紙に印刷する装置である。画像処理部１０７は、画像送信機能で扱う画像データの符号化復号化処理を行う。通信部１０８は、機器と外部通信網とのインターフェイス部である。通信部１０８は、ネットワークへのインターフェイスであるネットワーク通信部を含む。各部はデータバス１１０を介して繋がっている。
このような複合機において、本体で動作するファームウェアとは別にローダブルな別アプリケーションをインストールして実行するという例を基に説明する。ファームウェアとは、例えば、上述した組み込みアプリケーションの一例である。
ＲＯＭ１０２等に記憶された制御プログラムは複合機の電源ＯＮ時にＤＲＡＭ１０３にコピーされる。ＣＰＵ１０１がＤＲＡＭ１０３にコピーされた制御プログラムに基づき処理を実行することによってファームウェアが実現される。また、ＲＯＭ１０２等に記憶された（又はインストールされた）インストールアプリケーションプログラムは複合機の電源ＯＮ時にＤＲＡＭ１０３にコピーされる。ＣＰＵ１０１がＤＲＡＭ１０３にコピーされたインストールアプリケーションプログラムに基づき処理を実行することによってインストールアプリケーション（以下、単にアプリケーションという）が実現される。
【００１０】
図２は、複合機１００で動作するファームウェア、アプリケーション等のソフトウェア構成の一例を示す図である。
アプリケーション２０１、２０２、２０３は、それぞれ別のアプリケーションを示している。各アプリケーションは、それぞれ、スクリプト言語によるアプリケーションである。
ファームウェア２２０は、複合機１００を動作させるためのファームウェアである。各種のジョブはこのファームウェア２２０によって動作している。各種のジョブが同時に動作できるか、また、動作できない場合、どちらかのジョブを待たせるか等の競合制御を行う競合制御部２２１も、このファームウェア２２０に含まれる。
フレームワーク部２１０は、スクリプト言語によるアプリケーション２０１、２０２、２０３を解釈し、動作させる。また、フレームワーク部２１０は、ファームウェア２２０にジョブを投入する等のアプリケーション２０１、２０２、２０３とファームウェアとの中間に位置して互いの動作を制御する。
このようなソフトウェア構成でアプリケーション２０１、２０２、２０３はファームウェア２２０上で動作することになる。
アプリケーション２０１、２０２、２０３は、複合機１００内のファームウェア２２０に対してジョブを投入することが可能である。しかし、複合機１００はアプリケーション２０１、２０２、２０３以外からもジョブが投入される。例えば、ユーザの指示によるＣＯＰＹジョブの動作や、ＦＡＸ着信によるＦＡＸ受信ジョブ等である。アプリケーション２０１、２０２、２０３は様々な種別があるため、様々なジョブがアプリケーション２０１、２０２、２０３から投入されることになる。
【００１１】
図３のアプリケーション情報データ３００はアプリケーション２０１、２０２、２０３に付属するアプリケーション情報データを示したものである。このアプリケーション情報データ３００は各アプリケーション２０１、２０２、２０３のそれぞれに１つ持つものである。
アプリケーション情報データ３００はそのアプリケーション２０１、２０２、２０３の特性を示した情報である。例えば、アプリ種別３０１を示すデータ、ネットワーク通信３０２をするものかどうかのデータ等のアプリケーション２０１、２０２、２０３の特性が示されている。
フレームワーク部２１０は、アプリケーションを起動したときに、起動したアプリケーションのアプリケーション情報データ３００を確認する。フレームワーク部２１０は、アプリ種別３０１を参照し、アプリ種別を確認し、この種別から判断して競合制御部２２１にアプリジョブを設定するかどうかを決める。
より具体的には、フレームワーク部２１０は、アプリ種別３０１で常駐型が宣言されていた場合は、常駐型のアプリとして扱う。フレームワーク部２１０は、アプリ種別３０１で一時型として宣言されていて、ジョブ投入無しも同時に宣言されている場合は一時型（ジョブ投入なし）のアプリとして扱う。フレームワーク部２１０は、アプリ種別３０１で一時型として宣言されていて、ジョブ投入無しの宣言がされていない場合は、一時型（ジョブ投入あり）のアプリとして扱う。
図３の競合制御表３１０は、競合制御部２２１におけるジョブが重なった場合の動作を決定するための表である。縦軸に実行中の機能を示している。横軸に次に動作させる機能を示している。つまり、ＳＣＡＮ機能実行中はＰＣ印刷、ＦＡＸ受信、ファイル印刷機能は同時に実行可能だが、ＣＯＰＹ、ＦＡＸ送信は同時には実行不可能なことを示している。アプリケーションからは様々な種別のジョブを投入することが可能なため、基本的にアプリケーション動作中は他のジョブ動作を全て禁止にしている。但し、データ符号の符号化復号化を行うようなハードウェア資源を使用しないジョブ（ここではＦＡＸ受信動作）に関しては同時に動作するような競合制御表であってもよい。また、アプリケーション終了時にこの排他設定は解除される。このように、アプリケーションから投入されるジョブの種別は多岐にわたるため、アプリケーション動作時は基本的に他のジョブを動作させないことで単純な競合制御となるようにしている。
このような競合制御表３１０を基にファームウェア２２０の競合制御部２２１はジョブの競合を制御することになる。
【００１２】
図４は、操作パネルの一例を示す図である。操作パネルは、複合機１００の操作部１０４にボタンとして配置される。常駐型アプリはデバイスの電源起動時に起動するため、メインメニュー４００のなかにボタンとしては配置されない。一時型（ジョブ投入なし）、一時型（ジョブ投入あり）のアプリケーションはメインメニュー４００のなかにボタン４０１、４０２のように配置して表示される。ユーザがこのボタンを選択することで、ボタンに対応するアプリケーションが起動することになる。本実施形態の処理は、一時型（ジョブ投入あり）のアプリケーションが起動された場合に適用される。ホームボタン４０３は、ホーム画面への遷移を指示するオブジェクトの一例である。
図５は、操作パネルに表示されるポップアップ画面を示す図である。一時型（ジョブ投入あり）のアプリケーションの起動中に、例えば、ホーム画面を表示しようとするとアプリケーション終了問い合わせ画面５００のポップアップ画面が表示される。画面５０１はアプリケーション終了中の画面である。画面５０２はアプリケーション完了の画面である。ホーム画面とは、例えば、全ての操作の基本となる画面のことである。
【００１３】
図６は、アプリケーション２０１、２０２、２０３起動後のジョブ投入に係る制御の一例を示すフローチャートである。
Ｓ６０１において、ファームウェア２２０は、制限モードに移行する。制限モードとは、アプリケーションから投入されたジョブ以外のジョブの受け付けを制限するモードである。より具体的には、ファームウェア２２０は、後述するようにアプリケーションから投入されたジョブ以外のジョブの場合は、実行中のアプリケーションと共に動作可能なジョブか否かを判定する。ファームウェア２２０は、実行中のアプリケーションと共に動作可能なジョブである場合、ジョブ投入を受け付け、共に動作可能なジョブでない場合、ジョブ投入をキャンセルする。Ｓ６０２において、ファームウェア２２０は、ジョブ投入を検知したか否かを判定する。ファームウェア２２０は、ジョブ投入を検知したと判定した場合、Ｓ６０３の処理に進み、ジョブ投入を検知したと判定しない場合、Ｓ６０２の処理を繰り返す。Ｓ６０３において、ファームウェア２２０は、アプリケーション２０１、又は２０２、又は２０３からフレームワーク部２１０を通して投入されたジョブか否かの判定を行う。ファームウェア２２０は、アプリケーション２０１、又は２０２、又は２０３からフレームワーク部２１０を通して投入されたジョブである場合は、Ｓ６０４の処理に進む。ファームウェア２２０は、アプリケーション２０１、又は２０２、又は２０３からフレームワーク部２１０を通して投入されたジョブでない場合は、Ｓ６０６の処理に進む。Ｓ６０４において、ファームウェア２２０は、ジョブ投入を受け付ける。そして、Ｓ６０５において、ファームウェア２２０は、受け付けたジョブを実行する。一方、Ｓ６０６において、ファームウェア２２０は、ジョブ投入（アプリケーションからフレームワークを通して投入されたジョブ以外のジョブ）をキャンセルする。
以上のように、アプリケーション２０１、又は２０２、又は２０３起動時に、ファームウェア２２０が制御モードに移行することでジョブの競合制御を行うことが可能となる。この構成により、現在起動中のアプリケーション２０１、又は２０２、又は２０３から投入されるジョブの実行を妨げることのない競合制御を実現することができる。
但しＳ６０６においてファームウェア２２０は、アプリケーションからフレームワークを通して投入されたジョブ以外のジョブを一律でキャンセルするのではなく、例えば、設定された特定のジョブ（例えば、ＦＡＸ受信ジョブ）か否かを判定するようにしてもよい。そして、ファームウェア２２０は、フレームワークを通して投入されたジョブ以外のジョブであっても、設定された特定のジョブ（例えば、ＦＡＸ受信ジョブ）であれば、ジョブの投入を受け付け、ジョブを実行するようにしてもよい。
【００１４】
図７は、アプリケーション２０１、２０２、２０３の終了に係る制御の一例を示すフローチャートである。
Ｓ７０１において、ファームウェア２２０は、制限モードで動作している。Ｓ７０２において、ファームウェア２２０は、ホームボタン４０３の選択を検知したか否かを判定する。ファームウェア２２０は、ホームボタン４０３の選択を検知したと判定した場合、Ｓ７０３の処理に進み、ホームボタン４０３の選択を検知していないと判定した場合、Ｓ７０２の処理を繰り返す。Ｓ７０３において、ファームウェア２２０は、アプリケーション終了問い合わせ画面５００を表示する。Ｓ７０４において、ファームウェア２２０は、ユーザ指示によりアプリ終了指示を検知したか否かを判定する。ファームウェア２２０は、例えば、アプリケーション終了問い合わせ画面５００で「はい」が選択された場合、アプリ終了指示を検知したと判定し、Ｓ７０５の処理に進む。ファームウェア２２０は、例えば、アプリケーション終了問い合わせ画面５００で「いいえ」が選択された場合、アプリ終了指示を検知していないと判定し、Ｓ７０１の処理に戻る。Ｓ７０５において、ファームウェア２２０は、フレームワーク部２１０に終了するアプリケーションのアプリＩＤを指定する。更にファームウェア２２０は、フレームワーク部２１０に対してアプリＩＤに紐づいた全てのジョブＩＤを特定して、特定したジョブＩＤで識別されるジョブのキャンセル指示を送信する。Ｓ７０６において、キャンセル指示を受け取ったフレームワーク部２１０は、アプリＩＤで識別されるアプリケーションに対してアプリジョブ終了を送信する。Ｓ７０７において、ファームウェア２２０は、制限モードを解除する。
以上のように、アプリケーションの終了の操作がなされると、ファームウェア２２０が制御モードを解除することでアプリケーションを介さないジョブの実行が可能となる。
【００１５】
＜第２の実施形態＞
次に、第２の実施形態について説明する。図８を用いて第２の実施形態の特徴を説明する。
第１の実施形態同様、Ｓ８０１において、ファームウェア２２０は、制限モードで動作している。Ｓ８０２において、ファームウェア２２０は、ホームボタン４０３の選択を検知したか否かを判定する。ファームウェア２２０は、ホームボタン４０３の選択を検知したと判定した場合、Ｓ８０３の処理に進み、ホームボタン４０３の選択を検知していないと判定した場合、Ｓ８０２の処理を繰り返す。Ｓ８０３において、ファームウェア２２０は、実行中のアプリケーションのジョブがインタラクティブなジョブか否かを判定する。ファームウェア２２０は、実行中のアプリケーションのジョブがインタラクティブなジョブであると判定すると、Ｓ８０４の処理に進み、実行中のアプリケーションのジョブがインタラクティブなジョブでないと判定すると、Ｓ８０７の処理に進む。ここで、インタラクティブなジョブとは、ジョブ完了のために、ユーザが操作・指示を途中で行う必要があるジョブのことである。例えば、インタラクティブなジョブの一例としては、ユーザとのインタラクションを通して連続スキャンを実現する圧板連続コピージョブ等がある。本実施形態では、インタラクティブなジョブとして圧板連続コピージョブを例に説明する。アプリケーションから圧板連続コピージョブの指示がなされると、ファームウェア２２０内のジョブは生存し続けることはもちろんのこと、アプリケーション側の画面表示も行う必要がある。そのため、Ｓ８０４において、ファームウェア２２０は、アプリケーション終了問い合わせ画面５００を表示する。Ｓ８０５において、ファームウェア２２０は、ユーザ指示によりアプリ終了指示を検知したか否かを判定する。ファームウェア２２０は、例えば、アプリケーション終了問い合わせ画面５００で「はい」が選択された場合、アプリ終了指示を検知したと判定し、Ｓ８０６の処理に進む。ファームウェア２２０は、例えば、アプリケーション終了問い合わせ画面５００で「いいえ」が選択された場合、アプリ終了指示を検知していないと判定し、Ｓ８０１の処理に戻る。Ｓ８０６において、ファームウェア２２０は、フレームワーク部２１０に終了するアプリケーションのアプリＩＤを指定する。更にファームウェア２２０は、フレームワーク部２１０に対してアプリＩＤに紐づいた全てのジョブＩＤを特定して、特定したジョブＩＤで識別されるジョブのキャンセル指示を送信する。逆に、インタラクティブでないジョブとは、例えば、ＦＡＸ送信画像プレビュー後のＳｅｎｄジョブ等である。ＦＡＸ送信画像をファームウェア２２０側に蓄積した後は、ファームウェア２２０側の処理にゆだねることが可能である。したがって、アプリケーションは関与する必要がない。また、ファームウェア２２０は、アプリケーション側の画面表示も行う必要はない。このような場合、ファームウェア２２０は、アプリケーション終了問い合わせ画面を表示することなくジョブキャンセルする必要もない。Ｓ８０７において、フレームワーク部２１０は、アプリＩＤで識別されるアプリケーションに対してアプリジョブ終了を送信する。Ｓ８０８において、ファームウェア２２０は、制限モードを解除する。
以上のように、第２の実施形態によれば、アプリケーションから実行されるジョブの特性に応じて、アプリケーション終了問い合わせ画面の表示をスキップさせることが可能になる。そのため、ユーザ操作性を向上させた競合制御が可能となる。
【００１６】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００１７】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
上述した各実施形態の処理によれば、複雑な競合制御なしに、要求されたジョブの実行を可能とすることができる。
【符号の説明】
【００１８】
１０１  ＣＰＵ
１０４  操作部
２２０  ファームウェア
【図１】
2017193129.tif 000003
【図２】
2017193129.tif 000004
【図３】
2017193129.tif 000005
【図４】
2017193129.tif 000006
【図５】
2017193129.tif 000007
【図６】
2017193129.tif 000008
【図７】
2017193129.tif 000009
【図８】
2017193129.tif 000010