(57)【要約】      （修正有）【課題】プログラムが意図しない動作が発生する可能性を低下させる情報処理装置、制限解除方法及び制限解除プログラムを提供する。【解決手段】情報処理装置は、所定の動作に対して制限をかけたまま停止しているプログラムの実行の有無を複数のタイミングで確認する確認部と、所定時間において継続して実行されないことが確認されると、制限を強制的に解除する解除部と、を有する。【選択図】図６
2019008422.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
当該情報処理装置の所定の動作に対して制限をかけたまま停止しているプログラムの実行の有無を複数のタイミングで確認する確認部と、
所定時間において継続して実行されないことが前記プログラムについて確認されると、前記制限を解除する解除部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記解除部は、前記複数のタイミングにおいて所定回数連続して実行されないことが前記プログラムについて検知されると、前記制限を解除する、
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記解除部は、前記所定時間において継続して実行されないことが前記プログラムについて検知される前に前記プログラムの実行が検知された場合には、前記制限を解除しない、
ことを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記確認部は、前記所定の動作に対して制限をかけたまま停止している複数のプログラムの実行の有無を、プログラムごとに設定されたタイミングで確認する、
ことを特徴とする請求項１乃至３いずれか一項記載の情報処理装置。
【請求項５】
前記所定の動作は、省電力状態への移行を含む、
ことを特徴とする請求項１乃至４いずれか一項記載の情報処理装置。
【請求項６】
情報処理装置が、
当該情報処理装置の所定の動作に対して制限をかけたまま停止しているプログラムの実行の有無を複数のタイミングで確認する確認手順と、
所定時間において継続して実行されないことが前記プログラムについて確認されると、前記制限を解除する解除手順と、
を実行することを特徴とする制限解除方法。
【請求項７】
前記解除手順は、前記複数のタイミングにおいて所定回数連続して実行されないことが前記プログラムについて検知されると、前記制限を解除する、
ことを特徴とする請求項６記載の制限解除方法。
【請求項８】
前記解除手順は、前記所定時間において継続して実行されないことが前記プログラムについて検知される前に前記プログラムの実行が検知された場合には、前記制限を解除しない、
ことを特徴とする請求項６又は７記載の制限解除方法。
【請求項９】
前記確認手順は、前記所定の動作に対して制限をかけたまま停止している複数のプログラムの実行の有無を、プログラムごとに設定されたタイミングで確認する、
ことを特徴とする請求項６乃至８いずれか一項記載の制限解除方法。
【請求項１０】
前記所定の動作は、省電力状態への移行を含む、
ことを特徴とする請求項６乃至９いずれか一項記載の制限解除方法。
【請求項１１】
情報処理装置に、
当該情報処理装置の所定の動作に対して制限をかけたまま停止しているプログラムの実行の有無を複数のタイミングで確認する確認手順と、
所定時間において継続して実行されないことが前記プログラムについて確認されると、前記制限を解除する解除手順と、
を実行させることを特徴とする制限解除プログラム。
【請求項１２】
前記解除手順は、前記複数のタイミングにおいて所定回数連続して実行されないことが前記プログラムについて検知されると、前記制限を解除する、
ことを特徴とする請求項１１記載の制限解除プログラム。
【請求項１３】
前記解除手順は、前記所定時間において継続して実行されないことが前記プログラムについて検知される前に前記プログラムの実行が検知された場合には、前記制限を解除しない、
ことを特徴とする請求項１１又は１２記載の制限解除プログラム。
【請求項１４】
前記確認手順は、前記所定の動作に対して制限をかけたまま停止している複数のプログラムの実行の有無を、プログラムごとに設定されたタイミングで確認する、
ことを特徴とする請求項１１乃至１３いずれか一項記載の制限解除プログラム。
【請求項１５】
前記所定の動作は、省電力状態への移行を含む、
ことを特徴とする請求項１１乃至１４いずれか一項記載の制限解除プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、制限解除方法及び制限解除プログラムに関する。
【背景技術】
【０００２】
画像形成装置をはじめとする各種の機器の中には、複数の動作状態を有するものが有る。動作状態の一例として、省電力に関する状態が有る。例えば、省電力状態と非省電力状態とを有する機器が有る。省電力状態とは、省電力を目的として、一部又は全部のハードウェアへの電力の供給が停止される状態をいう。
【０００３】
一方、近年の機器には、プログラムによる制御によってその機能を実現するものが有る。このような機器において、プログラムの意図しないタイミングで省電力状態への移行が実行されてしまうと、プログラムによる制御について異常が発生する可能性が有る。斯かる異常の発生を回避するために、省電力状態への移行について、各プログラムからのロックを可能とし、いずれのプログラムによってもロックがかけられていない状況において、省電力状態への移行が行われるような機構を備える機器が有る。
【０００４】
しかし、ロックをかけたプログラムが、異常終了、システムの都合による強制終了、又は実装上のバグ等により、ロックを解除しないまま終了してしまうことが有る。このようなロックが放置されると、省電力状態への移行が必要以上に抑制され、省電力効果が低下してしまう。
【０００５】
そこで、ロックをかけたプログラムの起動の有無を定期的に確認し（以下、「定期チェック」という。）、ロックを解除せずに終了しているプログラムが存在した場合、当該ロック（以下、「放置ロック」という。）を強制的に解除するといった機構を備える機器が有る。
【０００６】
図１は、放置ロックの定期的な解除を説明するための図である。図１において、縦軸は、時間であり、上から下方向へ時間が進む。横軸は、ロックをかけた各アプリケーションプログラム（以下「アプリ」という。）である。定期チェックのタイミングが、ｔ１及びｔ２であるとすると、定期チェックｔ１の後に各アプリが終了した場合、定期チェックｔ２において、各アプリによる放置ロックが解除（アンロック）される。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
システムの都合により強制終了されたプログラムの中には、強制終了前に実行中であった処理を継続するために、自動的に復旧処理を実行して、起動状態に復帰可能なプログラムが有る。画像形成装置であれば、このようなプログラムとして、ＦＡＸ受信を画像形成装置に実行させるプログラムが有る。当該プログラムは、ＦＡＸ受信処理中に強制終了された場合、ＦＡＸ受信処理を継続するために、自動的に起動状態に復帰して、ＦＡＸ受信処理を継続する。
【０００８】
しかしながら、このようなプログラムの復旧処理と、定期チェックとのタイミングが重なってしまうと、定期チェックにおいて当該プログラムは起動状態ではないと判定され、当該プログラムがかけていたロックが強制的に解除されてしまう。
【０００９】
図２は、復旧処理中にロックが解除されてしまう例を示す図である。図２では、定期チェックｔ２の直前にアプリが強制終了し、その後の復旧処理により、定期チェックｔ２の直後に当該アプリが再起動した例が示されている。この場合、当該アプリによってかけられていたロックは、定期チェックｔ２において解除されてしまう。
【００１０】
そうすると、当該復旧処理中や、当該復旧処理の終了後において、当該アプリが意図しないタイミングで機器が省電力状態へ移行し、当該アプリによる処理の継続が困難になってしまう。
【００１１】
なお、上記では、説明の便宜上、省電力状態への移行を例としたが、機器における各種の動作に関して上記のような問題が発生しうる。
【００１２】
本発明は、上記の点に鑑みてなされたものであって、プログラムが意図しない動作が情報処理装置において発生する可能性を低下させることを目的とする。
【課題を解決するための手段】
【００１３】
そこで上記課題を解決するため、情報処理装置は、当該情報処理装置の所定の動作に対して制限をかけたまま停止しているプログラムの実行の有無を複数のタイミングで確認する確認部と、所定時間において継続して実行されないことが前記プログラムについて確認されると、前記制限を解除する解除部と、を有する。
【発明の効果】
【００１４】
プログラムが意図しない動作が情報処理装置において発生する可能性を低下させることができる。
【図面の簡単な説明】
【００１５】
【図１】放置ロックの定期的な解除を説明するための図である。
【図２】復旧処理中にロックが解除されてしまう例を示す図である。
【図３】本発明の実施の形態における画像形成装置１０のハードウェア構成例を示す図である。
【図４】本発明の実施の形態における情報処理端末２０のハードウェア構成例を示す図である。
【図５】本発明の実施の形態における画像形成装置１０の機能構成例を示す図である。
【図６】画像形成装置１０が実行する処理手順の一例を説明するためのフローチャートである。
【図７】アプリ１２０の設定情報の一例を示す図である。
【図８】ロック状態情報の構成例を示す図である。
【図９】アプリ一覧の構成例を示す図である。
【図１０】アプリ管理情報の構成例を示す図である。
【図１１】アンロック候補リストの構成例を示す図である。
【図１２】本実施の形態における強制的なロックの解除の例を示す図である。
【発明を実施するための形態】
【００１６】
以下、図面に基づいて本発明の実施の形態を説明する。図３は、本発明の実施の形態における画像形成装置１０のハードウェア構成例を示す図である。図３において、画像形成装置１０は、コントローラ１１、スキャナ１２、プリンタ１３、モデム１４、ネットワークインタフェース１６、及びＳＤカードスロット１７等のハードウェアを有する。
【００１７】
コントローラ１１は、画像形成装置１０の本体におけるコンピュータである。図３において、コントローラ１１は、ＣＰＵ１１１、ＲＡＭ１１２、ＲＯＭ１１３、ＨＤＤ１１４、及びＮＶＲＡＭ１１５等を有する。ＲＯＭ１１３には、各種のプログラムやプログラムによって利用されるデータ等が記憶されている。ＲＡＭ１１２は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。ＣＰＵ１１１は、ＲＡＭ１１２にロードされたプログラムを処理することにより、各種の機能を実現する。ＨＤＤ１１４には、プログラムやプログラムが利用する各種のデータ等が記憶される。ＮＶＲＡＭ１１５には、各種の設定情報等が記憶される。
【００１８】
スキャナ１２は、原稿より画像データを読み取るためのハードウェア（画像読取手段）である。プリンタ１３は、印刷データを印刷用紙に印刷するためのハードウェア（印刷手段）である。モデム１４は、電話回線に接続するためのハードウェアであり、ＦＡＸ通信による画像データの送受信を実行するために用いられる。ネットワークインタフェース１６は、ＬＡＮ等のネットワーク（有線又は無線の別は問わない。）に接続するためのハードウェアである。ＳＤカードスロット１７は、ＳＤカード８０に記憶されたプログラムを読み取るために利用される。すなわち、画像形成装置１０では、ＲＯＭ１１３に記憶されたプログラムだけでなく、ＳＤカード８０に記憶されたプログラムもＲＡＭ１１２にロードされ、実行されうる。なお、他の記録媒体（例えば、ＣＤ−ＲＯＭ又はＵＳＢ（Universal Serial Bus）メモリ等）によってＳＤカード８０が代替されてもよい。すなわち、ＳＤカード８０の位置付けに相当する記録媒体の種類は、所定のものに限定されない。この場合、ＳＤカードスロット１７は、記録媒体の種類に応じたハードウェアによって代替されればよい。
【００１９】
コントローラ１１には、また、情報処理端末２０が接続される。情報処理端末２０は、例えば、スマートフォンやタブレット端末等のデバイスである。スマートフォンの一例としては、携帯電話としての通話機能のほかカメラによる撮像機能、ＰＣのようなＷｅｂ情報表示機能など多機能を備える端末が挙げられる。タブレット端末の一例としては、スマートフォンと同様に多機能端末として機能するタブレット型の端末が挙げられる。
【００２０】
本実施の形態において、情報処理端末２０は、画像形成装置１０の操作部として機能する。より詳しくは、情報処理端末２０は、従来、画像形成装置１０の専用の操作部として設置されていた操作パネルの代わりに、コントローラ１１に接続される。なお、コントローラ１１と情報処理端末２０とは、例えば、ＵＳＢケーブル、近距離無線通信、又はＬＡＮ等の通信回線を介して接続される。
【００２１】
図４は、本発明の実施の形態における情報処理端末２０のハードウェア構成例を示す図である。図４において、情報処理端末２０は、ＣＰＵ２０１、メモリ２０２、補助記憶装置２０３、タッチパネル２０４、無線通信装置２０５、及びＩＣカードリーダ等を有する。
【００２２】
補助記憶装置２０３は、情報処理端末２０にインストールされたプログラム等を記憶する。メモリ２０２は、プログラムの起動指示があった場合に、補助記憶装置２０３からプログラムを読み出して記憶する。ＣＰＵ２０１は、メモリ２０２に記憶されたプログラムに従って情報処理端末２０に係る機能を実現する。
【００２３】
タッチパネル２０４は、入力機能と表示機能との双方を備えた電子部品であり、情報の表示や、ユーザからの入力の受け付け等を行う。タッチパネル２０４は、表示装置２１１及び入力装置２１２等を含む。
【００２４】
表示装置２１１は、液晶ディスプレイ等であり、タッチパネル２０４の表示機能を担う。入力装置２１２は、表示装置２１１に対する接触物の接触を検出するセンサを含む電子部品である。接触物の接触の検出方式は、静電方式、抵抗膜方式、又は光学方式等、公知の方式のいずれであってもよい。なお、接触物とは、タッチパネル２０４の接触面（表面）に接触する物体をいう。斯かる物体の一例として、ユーザの指や専用又は一般のペン等が挙げられる。
【００２５】
無線通信装置２０５は、無線ＬＡＮ（Local Area Network）又は移動体通信網等における通信を行うために必要とされるアンテナ等の電子部品である。但し、本実施の形態において、情報処理端末２０は、無線通信装置２０５を有していなくてもよい。
【００２６】
ＩＣカードリーダ２０６は、ＩＣカードに記憶されているカードＩＤ（カードを識別する識別情報の一例）を読み出す。例えば、各ユーザには異なるカードＩＤが記憶されたＩＣカードが配布され、当該カードＩＤに基づいて、ユーザの認証が行われてもよい。
【００２７】
図５は、本発明の実施の形態における画像形成装置１０の機能構成例を示す図である。図５において、画像形成装置１０は、アプリ１２０ａ、アプリ１２０ｂ及びアプリ１２０ｃ等の１以上のアプリ１２０と、システム部１３０とを有する。これら各部は、情報処理端末２０又はコントローラ１１にインストールされた１以上のプログラムが、ＣＰＵ２０１又はＣＰＵ１１１に実行させる処理により実現される。
【００２８】
アプリ１２０は、画像形成装置１０を利用したサービスをユーザに提供するアプリケーションプログラムである。本実施の形態において、画像形成装置１０の各種の動作に対するロック及びロックの解除の要求元となる。
【００２９】
システム部１３０は、複数のアプリ１２０から利用される共通の機能を各アプリ１２０に提供する。図５において、システム部１３０は、アプリ管理部１３１、ロック管理部１３２、状態移行部１３３、アンロック対象特定部１３４及びロック解除部１３５等を含む。
【００３０】
アプリ管理部１３１は、アプリ１２０のライフサイクルの管理を行う。例えば、アプリ管理部１３１は、アプリ１２０のインストール、アンインストール、起動及び終了（停止）等を行う。
【００３１】
ロック管理部１３２は、アプリ１２０からの要求に応じ、画像形成装置１０の動作（状態の移行）に対するロックの適用及びロックの解除を行う。例えば、電力モード移行、オフライン移行、操作部電源ＯＦＦ、操作部表示ＯＦＦ、システムリセット、操作部表示状態移行及びログアウト等がロックの対象とされてもよい。
【００３２】
電力モード移行とは、省電力状態への移行をいう。例えば、画像形成装置１０は、操作されない状態が一定時間経過したとき等、予め定められた時期に省電力状態へ移行する。アプリ１２０は、電力モード移行のロックをロック管理部１３２に要求することで、画像形成装置１０が省電力状態へ移行するのを制限（禁止）することができる。また、アプリ１２０は、電力モード移行のロックの解除をロック管理部１３２に要求することで、画像形成装置１０による省電力状態への移行に対する制限を解除することができる。
【００３３】
オフライン移行とは、オフライン状態への移行をいう。オフライン状態とは、画像形成装置１０の設定項目の値が変更される状態（すなわち、画像形成装置１０に対して設定作業が行われる状態）をいう。オフライン状態においては、各種のタイマーが停止し、省電力状態への移行、自動の又はユーザの操作に応じたアプリ１２０の切り替え等が禁止される。アプリ１２０は、オフライン移行のロックをロック管理部１３２に要求することで、画像形成装置１０がオフライン状態へ移行するのを制限（禁止）することができる。また、アプリ１２０は、オフライン移行のロックの解除をロック管理部１３２に要求することで、画像形成装置１０によるオフライン状態への移行に対する制限を解除することができる。
【００３４】
操作部電源ＯＦＦとは、操作部（情報処理端末２０）への電力の供給が停止されることをいう。アプリ１２０は、操作部電源ＯＦＦのロックをロック管理部１３２に要求することで、情報処理端末２０の電源ＯＦＦを制限（禁止）することができる。また、アプリ１２０は、操作部電源ＯＦＦのロックの解除をロック管理部１３２に要求することで、情報処理端末２０の電源ＯＦＦに対する制限を解除することができる。
【００３５】
操作部表示ＯＦＦとは、操作部（情報処理端末２０）の表示装置２１１の表示の停止をいう。アプリ１２０は、操作部表示ＯＦＦのロックをロック管理部１３２に要求することで、表示装置２１１の表示の停止を制限（禁止）することができる。また、アプリ１２０は、操作部表示ＯＦＦのロックの解除をロック管理部１３２に要求することで、表示装置２１１の表示の停止に対する制限を解除することができる。
【００３６】
システムリセットとは、ユーザによる操作が一定時間にわたって行われなかった場合に、情報処理端末２０における表示画面が初期画面に自動的に切り替わり、それまで表示されていた画面を介して入力された設定値が初期値にリセットされることをいう。アプリ１２０は、システムリセットのロックをロック管理部１３２に要求することで、システムリセットを制限（禁止）することができる。また、アプリ１２０は、システムリセットのロックの解除をロック管理部１３２に要求することで、システムリセットに対する制限を解除することができる。
【００３７】
操作部表示状態移行とは、操作部（情報処理端末２０）の表示状態が変わることをいう。当該表示状態には、例えば、表示停止、表示、スリープ等の３つの状態が有る。アプリ１２０は、操作部表示状態移行のロックをロック管理部１３２に要求することで、操作部表示状態移行を制限（禁止）することができる。また、アプリ１２０は、操作部表示状態移行のロックの解除をロック管理部１３２に要求することで、操作部表示状態移行に対する制限を解除することができる。
【００３８】
ログアウトは、ログインユーザのログアウトをいう。アプリ１２０は、ジョブ実行中など、ログアウトされては困る状況において、ログアウトのロックをロック管理部１３２に要求することで、ログアウトを制限（禁止）することができる。また、アプリ１２０は、ログアウトのロックの解除をロック管理部１３２に要求することで、ログアウトに対する制限を解除することができる。
【００３９】
なお、各動作に対するロックは、アプリ１２０ごとに要求することができる。いずれか１つのアプリ１２０によってロックされている動作は制限される。すなわち、複数のアプリ１２０によってロックされた動作は、当該複数のアプリ１２０の全てによってロックの解除が行われるまで制限される。
【００４０】
状態移行部１３３は、ロックの適用対象となりうる上記の動作のうち、ロックが適用されていない動作（状態の移行）の制御を行う。
【００４１】
アンロック対象特定部１３４は、各アプリ１２０の実行の有無を複数のタイミングで確認することで、ロックをかけたまま終了し、復帰の見込みがないアプリ１２０を特定する。
【００４２】
ロック解除部１３５は、アンロック対象特定部１３４によって特定されたアプリ１２０によってかけられたロックを強制的に解除する。
【００４３】
以下、画像形成装置１０が実行処理手順について説明する。図６は、画像形成装置１０が実行する処理手順の一例を説明するためのフローチャートである。
【００４４】
ステップＳ１０１において、アンロック対象特定部１３４は、チェック時期を特定する。チェック時期とは、ステップＳ１０２以降を繰り返し実行するタイミングである。チェック時期は、予め設定されるチェック間隔に基づいて特定される。例えば、チェック間隔が３０秒に設定されていれば、現在から３０秒間隔の時期がチェック時期として特定される。チェック間隔は、全てのアプリ１２０に対して共通でもよいし、アプリ１２０ごとに設定可能であってもよい。アプリ１２０ごとに設定可能とする場合、例えば、アプリ１２０のインストール時において、アプリ１２０のインストールパッケージ（書庫ファイル）に含まれている設定情報から、当該アプリ１２０のチェック間隔が取得されてもよい。又は、アプリ１２０の初回起動時に、当該アプリ１２０の設定情報からチェック間隔が取得されてもよい。
【００４５】
図７は、アプリ１２０の設定情報の一例を示す図である。図７では、アプリ１２０の設定情報がＸＭＬ（eXtensible Markup Language）形式で定義されている例が示されているが、設定情報の形式は所定のものに限定されない。図７において、記述ｄ１は、アプリ１２０の識別情報（以下、「アプリ識別子」という。）を示す。また、記述ｄ２は、当該アプリ１２０のチェック間隔が、３０秒であることを示す。
【００４６】
なお、設定情報が取得できないアプリ１２０のチェック間隔については、予め設定されている既定値（デフォルト値）が採用されてもよい。当該既定値は、ユーザによる操作又はネットワークを介した遠隔操作によって変更可能とされてもよい。また、ＩＣカード等を利用して、当該既定値が変更されてもよい。
【００４７】
アプリ１２０ごとにチェック間隔が異なる場合、アンロック対象特定部１３４は、各アプリ１２０のチェック間隔に基づくチェック時期の論理和を、今後のチェック時期としてもよい。例えば、アプリ１２０ａのチェック間隔が２分であり、アプリ１２０ｂのチェック間隔が５分である場合、現時点を起点として、２分後、４分後、５分後、６分後、８分後、１０分後、・・・等がチェック時期として特定される。この場合、２分後、４分後、６分後、８分後は、アプリ１２０ａのみのチェック時期である。５分後は、アプリ１２０ｂのみのチェック時期である。１０分後は、アプリ１２０ａ及びアプリ１２０ｂの双方のチェック時期である。
【００４８】
続いて、アンロック対象特定部１３４は、次のチェック時期まで待機する（Ｓ１０２）。なお、ステップＳ１０２が最初に実行される際における次のチェック時期は、最初のチェック時期である。次のチェック時期が到来すると、アンロック対象特定部１３４は、システム全体の現在のロック状態を示す情報（以下、「ロック状態情報」という。）を、ロック管理部１３２から取得する（Ｓ１０３）。
【００４９】
図８は、ロック状態情報の構成例を示す図である。図８において、（１）は、ロック状態情報の第１の例を示し、（２）は、ロック状態情報の第２の例を示す。
【００５０】
ロック状態情報には、本実施の形態の画像形成装置１０に対してロック（制限）を適用可能な動作ごとに、現在の状態（ロックされているか否か、すなわち、制限の有無）を示す値が含まれている。現在の状態を示す値は、ＬＯＣＫＥＤ又はＵＮＬＯＣＫＥＤである。ＬＯＣＫＥＤは、ロックされている状態（制限がかけられている状態）を意味する。ＵＮＬＯＣＫＥＤは、ロックが解除されている状態（制限が解除されている状態）を意味する。図８では、電力モード遷移及びログアウトが、ロックされている例が示されている。すなわち、電力状態の遷移（例えば、待機状態から省エネ状態への遷移など）が禁止されており、かつ、現在ログインしているユーザのログイン状態を、手動又は自動でログアウト状態に変更することが禁止されている例が示されている。
【００５１】
図８の（２）では、ロック状態がＬＯＣＫＥＤであるロックについて、ロックの要求元のアプリ１２０のアプリ識別子（図中の「ｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘ２」など）が関連付けられている例が示されている。
【００５２】
なお、各動作のロック状態は、少なくとも一つのアプリ１２０からロックが要求された場合に、ＬＯＣＫＥＤとなり、いずれのアプリ１２０によってもロックされていない場合に、ＵＮＬＯＣＫＥＤとなる。
【００５３】
続いて、アンロック対象特定部１３４は、ロック状態情報において、ロックされている（ロック状態がＬＯＣＫＥＤである）動作が１以上有るか否かを判定する。（Ｓ１０４）。ロックされている動作が１つも無い場合（Ｓ１０４でＮｏ）、アンロック対象特定部１３４は、次のチェック時期まで待機した後（Ｓ１０２）、ステップＳ１０３以降を実行する。
【００５４】
ロックされている動作が１以上有る場合（Ｓ１０４でＹｅｓ）、アンロック対象特定部１３４は、インストールされているアプリ１２０の一覧情報（以下、「アプリ一覧」という。）を、アプリ管理部１３１から取得する（Ｓ１０５）。
【００５５】
図９は、アプリ一覧の構成例を示す図である。図９に示されるように、アプリ一覧には、画像形成装置１０にインストールされているアプリ１２０ごとに、アプリ識別子及び起動状態が含まれている。
【００５６】
アプリ識別子は、上述したように各アプリ１２０の識別情報である。アプリ識別子の値は、各アプリ１２０を識別できるものであれば、データ型、長さ、データ形式等について特定のものに限定されない。例えば、「ｊｐ．ｃｏ．ｒｒｒ．ｘｘｘ．ａｐｐ１」のようなＪａｖａ（登録商標）パッケージ名、「３５０ｅ６４０２−ａ７３ｂ−４１ｄ２−ａ７１６−１４６６２５３４００００」のようなＵＵＩＤ（Universally Unique Identifier）がアプリ識別子として用いられてもよい。
【００５７】
起動状態は、アプリ１２０が起動されているのか（実行中であるのか）、起動されていないのか（停止中なのか）を示す情報である。なお、実行中又は停止中以外に、例えば、インストール中、起動準備中、一時停止中、ＵＰＤＡＴＥ中等が、起動状態に含まれてもよい。
【００５８】
続いて、アンロック対象特定部１３４は、アプリ一覧にアプリ識別子が含まれている各アプリ１２０のアプリ管理情報をロック管理部１３２から取得する（Ｓ１０６）。
【００５９】
図１０は、アプリ管理情報の構成例を示す図である。図１０に示されるように、アプリ管理情報には、アプリ識別子、及びロックを適用可能な各動作に対するロックの有無等が含まれている。
【００６０】
アプリ識別子は、当該アプリ管理情報に対応するアプリ１２０のアプリ識別子である。各動作に対するロックの有無は、当該アプリ１２０が各動作についてロック中か否かを示す情報であり、その値の候補は、ロック状態情報（図８）における値の候補と同じである。
【００６１】
続いて、アンロック対象特定部１３４は、起動状態が停止中であり、かつ、いずれかの動作についてロック中であるアプリ１２０の有無を判定する（Ｓ１０７）。当該判定は、アプリ一覧（図９）及びアプリ管理情報（図１０）に基づいて可能である。具体的には、アプリ一覧（図９）において、起動状態が停止中であって、かつ、アプリ管理情報（図１０）において、いずれかの動作がＬＯＣＫＥＤであるアプリ１２０の有無が判定される。例えば、図９には、３つのアプリ１２０がインストールされていることが示されているが、アプリ識別子が「ｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘ２」であるアプリ１２０が停止中である。また、アプリ識別子が「ｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘ３」であるアプリ１２０も停止中である。また、図１０のアプリ管理情報によれば、アプリ識別子が「ｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘ２」であるアプリ１２０は、電力モード移行についてロック中である。したがって、少なくとも、アプリ識別子が「ｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘ２」であるアプリ１２０は、ステップＳ１０７における条件に合致する。
【００６２】
該当するアプリ１２０が無い場合（Ｓ１０７でＮｏ）、ステップＳ１１０へ進む。該当するアプリ１２０が有る場合（Ｓ１０７でＹｅｓ）、アンロック対象特定部１３４は、当該アプリ１２０がアンロック候補として既にアンロック候補リストに含まれているか否かを判定する（Ｓ１０８）。アンロック候補リストとは、ロックをかけたまま停止しているアプリ１２０のアプリ識別子及び停止検知回数を記憶するためのリスト構造のデータであり、図６の処理手順が最初に実行される際には、空である。
【００６３】
当該アプリ１２０のアプリ識別子が既にアンロック候補リストに含まれている場合（Ｓ１０８でＹｅｓ）、ステップＳ１１０へ進む。一方、当該アプリ１２０のアプリ識別子がアンロック候補リストに含まれていない場合（Ｓ１０８でＮｏ）、アンロック対象特定部１３４は、当該アプリ１２０のアプリ識別子と停止検知回数とを、アンロック候補リストに追加した後（Ｓ１０９）、ステップＳ１１０へ進む。この際、停止検知回数は、０（回）に初期化される。
【００６４】
図１１は、アンロック候補リストの構成例を示す図である。図１１に示されるように、アンロック候補リストには、アンロック候補のアプリ１２０ごとに、アプリ識別子及び停止検知回数が含まれる。停止検知回数は、当該アプリ１２０が、いずれかの動作に対してロックをかけたままの状態で、当該アプリ１２０のチェック時期において、連続して停止中であることが検知された回数である。なお、停止検知回数の値は、回数をカウント可能なものであれば、データ型、長さ、データ形式などは特定のものに限定されない。なお、図１１では、アプリ識別子が「ｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘ２」であるアプリ１２０に加え、アプリ識別子が「ｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘ３」であるアプリ１２０も、アンロック候補とされた例が示されている。すなわち、当該アプリ１２０も、いずれかの動作をロックしたまま停止中である例が示されている。
【００６５】
ステップＳ１１０において、アンロック対象特定部１３４は、アプリ一覧（図９）に基づいて、実行中のアプリ１２０の有無を判定する。実行中のアプリ１２０が無い場合（Ｓ１１０でＮｏ）、ステップＳ１１３へ進む。実行中のアプリ１２０が有る場合（Ｓ１１０でＹｅｓ）、アンロック対象特定部１３４は、当該アプリ１２０のアプリ識別子がアンロック候補リスト（図１１）に含まれているか否かを判定する（Ｓ１１１）。当該アプリ１２０のアプリ識別子がアンロック候補リストに含まれていない場合（Ｓ１１１でＮｏ）、ステップＳ１１３へ進む。当該アプリ１２０のアプリ識別子がアンロック候補リストに含まれている場合（Ｓ１１１でＹｅｓ）、アンロック対象特定部１３４は、当該アプリ１２０のアプリ識別子及び停止検知回数を、アプリ１２０候補リストから削除して（Ｓ１１２）、ステップＳ１１３へ進む。当該アプリ１２０は、過去において、ロックしたまま停止中であることが検知されたが、停止検知回数が後述の閾値に到達する前に再起動されたアプリ１２０である。本実施の形態では、このようなアプリ１２０は、アンロック候補から除外される。
【００６６】
ステップＳ１１３において、アンロック対象特定部１３４は、アンロック候補リスト（図１１）に含まれている各アプリ１２０のうち、今回のチェック時期においてチェック対象となるアプリ１２０の停止検知回数に１を加算する。今回のチェック時期においてチェック対象となるアプリ１２０とは、当該アプリ１２０のチェック間隔に基づくチェック時期が今回のチェック時期に重なるアプリ１２０をいう。
【００６７】
続いて、アンロック対象特定部１３４は、アンロック候補リスト（図１１）を参照して、停止検知回数が閾値以上であるアプリ１２０の有無を判定する（Ｓ１１４）。すなわち、いずれかの動作についてロックをかけたまま連続して停止が検知された回数が閾値以上であるアプリ１２０の有無が判定される。なお、閾値は、全アプリ１２０に対して共通の値であってもよいし、アプリ１２０ごとに別々に設定可能であってもよいし、運用に応じて適宜変更されてもよい。
【００６８】
該当するアプリ１２０が無い場合（Ｓ１１４でＮｏ）、一定時間待機後（Ｓ１０２）、ステップＳ１０３以降が繰り返される。該当するアプリ１２０が有る場合（Ｓ１１４でＹｅｓ）、ロック解除部１３５は、当該アプリ１２０（以下、「対象アプリ１２０」という。）がかけている全てのロックを解除する（Ｓ１１５）。すなわち、対象アプリ１２０のアプリ管理情報（図１０）における各動作に対するロック状態が全てＵＮＬＯＣＫＥＤにされる。また、ロック管理部１３２は、当該ロックの解除に応じて、ロック状態情報（図８）も必要に応じて更新する。すなわち、当該ロックの解除に応じて、ロックを行っているアプリ１２０が一つも無い動作が発生した場合、ロック状態情報（図８）において、当該動作のロック状態を「ＵＮＬＯＣＫＥＤ」に更新する。
【００６９】
続いて、ロック解除部１３５は、対象アプリ１２０のアプリ識別子及び停止検知回数を、アンロック候補リストから削除する（Ｓ１１６）。続いて、アンロック対象特定部１３４は、次のチェック時期まで待機後（Ｓ１０２）、ステップＳ１０３以降を繰り返す。
【００７０】
図６の処理手順によれば、図１２に示されるような場合に、強制的なロックの解除が行われる。図１２は、本実施の形態における強制的なロックの解除の例を示す図である。
【００７１】
図１２では、チェック時期ｔ１において、アプリ１２０の終了が検知されている。ステップＳ１１４における閾値が６であるとすると、当該アプリ１２０によってかけられたロックは、チェック時期ｔ６において強制的に解除（アンロック）される。すなわち、当該アプリ１２０のチェック間隔が３０秒であるとすれば、２分３０秒の期間において実行中でないことが判定された場合に、当該アプリ１２０によるロックは解除される。
【００７２】
上述したように、本実施の形態によれば、或るチェック時期において停止が検知されたアプリ１２０によるロックではなく、複数のタイミングで連続して停止が検知された（換言すれば、当該複数のタイミングにわたる所定時間において継続して停止が検知された）アプリ１２０によるロックが、強制的な解除の対象とされる。したがって、或るチェック時期において停止が検知され、その後の復旧処理によって再起動したアプリ１２０によるロックを解除対象から除外することができる。その結果、プログラム（アプリ１２０）が意図しない動作が情報処理装置（画像形成装置１０）において発生する可能性を低下させることができる。
【００７３】
また、本実施の形態では、アプリ１２０ごとに異なるチェック間隔を設定可能である。したがって、各アプリ１２０の復旧処理の所要時間等を考慮して、アプリ１２０ごとに復帰の見込みの有無を適切に判定することができる。例えば、図１２の例は、アプリ１２０の復旧処理が約２分である場合に好適である。終了が検知されてから２分経過後に起動されていないとすれば、当該アプリ１２０は復旧処理に失敗した可能性が高く、当該アプリ１２０によってかけられたロックは放置状態となっている可能性が高いからである。
【００７４】
なお、本実施の形態は、画像形成装置１０として、コピー機能、ファクシミリ機能、及びプリンタ機能を有する複合機を一例として説明してきたが、それぞれの機能単体の装置、例えばコピー機、ＦＡＸ、プリンタ装置、スキャナ装置にも同様に適用し得る。また、画像形成装置１０以外の機器又は情報処理装置に関して適用されてもよい。例えば、プロジェクタ、電子黒板、テレビ会議システム、又は汎用的なコンピュータ等に関して本実施の形態が適用されてもよい。その場合、図３のハードウェア構成において、プロジェクタであれば、スキャナ１２、プリンタ１３は不要で、代わりに投影装置が備わるように構成するなど各機器または情報処理装置の特性に応じた機能に置き換えて適用可能である。
【００７５】
なお、本実施の形態において、画像形成装置１０は、情報処理装置の一例である。アンロック対象特定部１３４は、確認部の一例である。ロック解除部１３５は、解除部の一例である。停止検知回数に対する閾値は、所定回数の一例である。
【００７６】
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００７７】
１０          画像形成装置
１１          コントローラ
１２          スキャナ
１３          プリンタ
１４          モデム
１６          ネットワークインタフェース
１７          ＳＤカードスロット
２０          情報処理端末
８０          ＳＤカード
１１１        ＣＰＵ
１１２        ＲＡＭ
１１３        ＲＯＭ
１１４        ＨＤＤ
１１５        ＮＶＲＡＭ
１２０        アプリ
１３０        システム部
１３１        アプリ管理部
１３２        ロック管理部
１３３        状態移行部
１３４        アンロック対象特定部
１３５        ロック解除部
２０１        ＣＰＵ
２０２        メモリ
２０３        補助記憶装置
２０４        タッチパネル
２０５        無線通信装置
２０６        ＩＣカードリーダ
２１１        表示装置
２１２        入力装置
【先行技術文献】
【特許文献】
【００７８】
【特許文献１】特開２００７−１５２８２４号公報
【図１】
2019008422.tif 000003
【図２】
2019008422.tif 000004
【図３】
2019008422.tif 000005
【図４】
2019008422.tif 000006
【図５】
2019008422.tif 000007
【図６】
2019008422.tif 000008
【図７】
2019008422.tif 000009
【図８】
2019008422.tif 000010
【図９】
2019008422.tif 000011
【図１０】
2019008422.tif 000012
【図１１】
2019008422.tif 000013
【図１２】
2019008422.tif 000014