(57)【特許請求の範囲】
【請求項１】
画像処理のアプリケーション及び前記アプリケーションのライセンス情報をインストールするインストール手段と、
前記インストール手段においてインストールされた前記ライセンス情報に含まれる前記アプリケーションの動作制限情報を、閾値情報に設定する情報設定手段と、
前記アプリケーションの動作情報をカウントするカウント手段と、
前記情報設定手段において設定された閾値情報及び前記カウント手段においてカウントされた動作情報に応じて、前記アプリケーションの動作を制限するアプリケーション動作制限手段と、
アプリケーションの起動に関する動作不良を検知する検知手段と、
前記検知手段において前記アプリケーションの起動に関する動作不良が検知された場合、アプリケーションをアンインストールするアンインストール手段と、
前記アンインストール手段においてアンインストールされたアプリケーションを再インストールする再インストール手段と、
前記再インストール手段において再インストールされた前記アプリケーションの前記ライセンス情報に含まれる前記アプリケーションの動作制限情報を、前記閾値情報に設定しないよう制御する情報設定制御手段と、
を有することを特徴とする画像処理装置。
【請求項２】
アプリケーションのライセンス情報に含まれる前記動作制限情報は、前記アプリケーションの有効期限であり、
前記情報設定手段は、前記インストール手段においてインストールされた前記ライセンス情報に含まれる前記アプリケーションの有効期限を動作制限情報として閾値情報に設定し、
前記カウント手段は、前記動作情報として前記アプリケーションの利用日数をカウントし、
前記アプリケーション動作制限手段は、前記アプリケーションの有効期限及び前記アプリケーションの利用日数に応じて、前記アプリケーションの動作を制限することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
アプリケーションのライセンス情報に含まれる前記動作制限情報は、前記アプリケーションの機能の上限動作回数であり、
前記情報設定手段は、前記インストール手段においてインストールされた前記ライセンス情報に含まれる前記アプリケーションの機能の上限動作回数を動作制限情報として閾値
情報に設定し、
前記カウント手段は、前記動作情報として前記アプリケーションの機能の動作回数をカウントし、
前記アプリケーション動作制限手段は、前記アプリケーションの機能の上限動作回数及び前記アプリケーションの機能の動作回数に応じて、前記アプリケーションの動作を制限することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
画像処理装置が実行する再インストール方法であって、
画像処理のアプリケーション及び前記アプリケーションのライセンス情報をインストールするインストールステップと、
前記インストールステップにおいてインストールされた前記ライセンス情報に含まれる前記アプリケーションの動作制限情報を、閾値情報に設定する情報設定ステップと、
前記アプリケーションの動作情報をカウントするカウントステップと、
前記情報設定ステップにおいて設定された閾値情報及び前記カウントステップにおいてカウントされた動作情報に応じて、前記アプリケーションの動作を制限するアプリケーション動作制限ステップと、
アプリケーションの起動に関する動作不良を検知する検知ステップと、
前記検知ステップにおいて前記アプリケーションの起動に関する動作不良が検知された場合、アプリケーションをアンインストールするアンインストールステップと、
前記アンインストールステップにおいてアンインストールされたアプリケーションを再インストールする再インストールステップと、
前記再インストールステップにおいて再インストールされた前記アプリケーションの前記ライセンス情報に含まれる前記アプリケーションの動作制限情報を、前記閾値情報に設定しないよう制御する情報設定制御ステップと、
を含むことを特徴とする再インストール方法。
【請求項５】
アプリケーションのライセンス情報に含まれる前記動作制限情報は、前記アプリケーションの有効期限であり、
前記情報設定ステップでは、前記インストールステップにおいてインストールされた前記ライセンス情報に含まれる前記アプリケーションの有効期限を動作制限情報として閾値情報に設定し、
前記カウントステップでは、前記動作情報として前記アプリケーションの利用日数をカウントし、
前記アプリケーション動作制限ステップでは、前記アプリケーションの有効期限及び前記アプリケーションの利用日数に応じて、前記アプリケーションの動作を制限することを特徴とする請求項４に記載の再インストール方法。
【請求項６】
アプリケーションのライセンス情報に含まれる前記動作制限情報は、前記アプリケーションの機能の上限動作回数であり、
前記情報設定ステップでは、前記インストールステップにおいてインストールされた前記ライセンス情報に含まれる前記アプリケーションの機能の上限動作回数を動作制限情報として閾値情報に設定し、
前記カウントステップでは、前記動作情報として前記アプリケーションの機能の動作回数をカウントし、
前記アプリケーション動作制限ステップでは、前記アプリケーションの機能の上限動作回数及び前記アプリケーションの機能の動作回数に応じて、前記アプリケーションの動作
を制限することを特徴とする請求項４に記載の再インストール方法。
【請求項７】
請求項４乃至６の何れか１項に記載の再インストール方法の各ステップをコンピュータに実行させることを特徴とするプログラム。
【請求項８】
請求項７に記載のプログラムを記憶したコンピュータにより読み取り可能な記憶媒体。
【請求項９】
画像処理のアプリケーションであって、ライセンス情報を基に動作が制限される前記アプリケーションをインストールするインストール手段と、
前記アプリケーションの前記ライセンス情報に含まれる動作上限値を格納する格納手段と、
前記アプリケーションの動作回数をカウントするカウント手段と、
前記格納手段により格納された動作上限値と、前記カウント手段によりカウントされた動作回数とを基に、前記アプリケーションの動作を制限する動作制限手段と、
アプリケーションの起動に関する動作不良を検知する検知手段と、
前記検知手段において前記アプリケーションの起動に関する動作不良が検知された場合、アプリケーションをアンインストールするアンインストール手段と、
前記アンインストール手段においてアンインストールされたアプリケーションを再インストールする再インストール手段と、
を有し、
前記動作制限手段は、前記アプリケーションの再インストールが行われた場合、前記再インストールされたアプリケーションの識別情報と一致する前記格納手段に格納されている動作上限値を利用し、前記再インストールされたアプリケーションの動作を制限することを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び再インストール方法に関する。
【背景技術】
【０００２】
近年、複合機を始めとする画像処理装置において、ＪＡＶＡ（登録商標）等の技術を使用することにより、画像処理装置上において、所定のアプリケーション実行環境が整備されてきている。
【０００３】
このようなアプリケーション実行環境を備えた画像処理装置では、エンドユーザは、必要とするアプリケーションを選択して購入し、インストールすることが可能であり、不要になった場合にはアンインストールすることができる。このため、アプリケーション実行環境とアプリケーションとのバージョンの組み合わせは膨大なものとなり、予め定められた機能のみが動作するアプリ実行環境と比較して、運用中に障害を発生する確立が高くなる可能性がある。このような障害発生時の復旧手段としては、従来から様々な取り組みが行われており、例えばアプリケーション更新時の障害復旧に関しては、旧バージョンに復旧する方法が提案されている（例えば、特許文献１参照）。
【０００４】
一方、アプリケーションのライセンス情報として有効期限や所定機能（例えば、原稿の読み取り機能、ファクスやメール送信機能、文書のプリント機能）の上限動作回数を設定することができる画像処理装置がある。更に、ライセンス情報に、インストールする画像処理装置を一意に識別する情報等が格納され、他の画像処理装置では使用できないような仕組みが設けられている場合もある（例えば、特許文献２参照）。
【０００５】
【特許文献１】特開平１０−１７１６３５号公報
【特許文献２】特開２００６−４０２１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
アプリケーションのライセンス情報として有効期限や所定機能の上限動作回数が設定されている場合、有効期限や上限動作回数はインストール時にライセンス情報から不揮発性の記憶媒体に記録され、アプリケーション実行環境で管理される。
【０００７】
ここで、障害復旧のために、バックアップとして保存していたライセンス情報を再利用して単純にアプリケーションの再インストールを行うと、再インストール時に再びライセンス情報から不揮発性の記憶媒体に有効期限等が記録（又は追加）される。その結果、有効期限、又は上限動作回数が延長されてしまう（又は加算されてしまう）問題が発生する。例えば、２０日有効なアプリケーションをインストールした１０日後に、アプリケーションの再インストールを行う。すると、再インストール時に２０日間の情報が不揮発性の記録媒体に追加して記録され、有効期限が再び２０日（又は追加された場合は３０日間）となってしまう問題があった。
【０００８】
これらの問題に関する解決策は、上述した特許文献１、特許文献２では開示されていない。
【０００９】
本発明はこのような問題点に鑑みなされたもので、アプリケーションを再インストールした場合でも、アプリケーションに関するライセンス情報に含まれる動作制限情報を延長、又は加算しないようにすることを目的とする。
【課題を解決するための手段】
【００１０】
そこで、本発明の画像処理装置は、画像処理のアプリケーション及び前記アプリケーションのライセンス情報をインストールするインストール手段と、前記インストール手段においてインストールされた前記ライセンス情報に含まれる前記アプリケーションの動作制限情報を、閾値情報に設定する情報設定手段と、前記アプリケーションの動作情報をカウントするカウント手段と、前記情報設定手段において設定された閾値情報及び前記カウント手段においてカウントされた動作情報に応じて、前記アプリケーションの動作を制限するアプリケーション動作制限手段と、アプリケーションの起動に関する動作不良を検知する検知手段と、前記検知手段において前記アプリケーションの起動に関する動作不良が検知された場合、アプリケーションをアンインストールするアンインストール手段と、前記アンインストール手段においてアンインストールされたアプリケーションを再インストールする再インストール手段と、前記再インストール手段において再インストールされた前記アプリケーションの前記ライセンス情報に含まれる前記アプリケーションの動作制限情報を、前記閾値情報に設定しないよう制御する情報設定制御手段と、を有することを特徴とする。
【００１１】
また、本発明は、画像処理装置が実行する再インストール方法であって、画像処理のアプリケーション及び前記アプリケーションのライセンス情報をインストールするインストールステップと、前記インストールステップにおいてインストールされた前記ライセンス情報に含まれる前記アプリケーションの動作制限情報を、閾値情報に設定する情報設定ステップと、前記アプリケーションの動作情報をカウントするカウントステップと、前記情報設定ステップにおいて設定された閾値情報及び前記カウントステップにおいてカウントされた動作情報に応じて、前記アプリケーションの動作を制限するアプリケーション動作制限ステップと、アプリケーションの起動に関する動作不良を検知する検知ステップと、前記検知ステップにおいて前記アプリケーションの起動に関する動作不良が検知された場合、アプリケーションをアンインストールするアンインストールステップと、前記アンインストールステップにおいてアンインストールされたアプリケーションを再インストールする再インストールステップと、前記再インストールステップにおいて再インストールされた前記アプリケーションの前記ライセンス情報に含まれる前記アプリケーションの動作制限情報を、前記閾値情報に設定しないよう制御する情報設定制御ステップと、を含むことを特徴とする。
【００１２】
また、本発明は、プログラム及び記憶媒体としてもよい。
【発明の効果】
【００１３】
本発明によれば、アプリケーションを再インストールした場合でも、アプリケーションに関するライセンス情報に含まれる動作制限情報を延長、又は加算しないようにすることができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態について図面に基づいて説明する。
【００１５】
＜実施形態１＞
図１は、システム構成の一例を示す図である。
画像処理装置１００１は、原稿を読み取り、様々な装置に送信する装置（コンピュータ）である。ファクシミリ１００２は、画像処理装置１００１が読み取ったデータを、公衆回線１００９を介して受信しプリントする。ファイルサーバ／メールサーバ１００３は、画像処理装置１００１が読み取ったデータや、画像処理装置１００１内部のデータを格納するサーバソフトウェアが動作しているコンピュータである。クライアントコンピュータ１００４は、ファイルサーバ／メールサーバ１００３に接続し、格納されているデータをダウンロードして表示するコンピュータである。プリンタ１００５は、画像処理装置１００１が読み取ったイメージデータやクライアントコンピュータ１００４が生成するＰＤＬデータを印刷する印刷装置である。ソフトウェア配信サーバ１００６は、画像処理装置１００１のＲＯＭプログラムやプログラム実行環境、更にはインストール可能なアプリケーションを保持し、配信する役割を担うコンピュータである。ライセンス管理サーバ１００７は、ソフトウェア配信サーバ１００６が保持するアプリケーションのライセンス、及び、画像処理装置１００１の追加機能のライセンスを発行する役割を担うコンピュータである。
【００１６】
ネットワーク１００８は、画像処理装置１００１、ファイルサーバ／メールサーバ１００３、クライアントコンピュータ１００４、プリンタ１００５が接続されるネットワークである。一例としてはイーサネット（登録商標）であり企業や教育機関内に構築される。インターネット１０１０は、ソフトウェア配信サーバ１００６、ライセンス管理サーバ１００７が接続されるネットワークである。ネットワーク１００８とインターネット１０１０とは不図示のゲートウェイを介して接続され、相互に情報の授受を行うことが可能である。
【００１７】
図２は、画像処理装置１００１に実装されたシステム（又はハードウェア）構成の一例を示す図である。
コントローラユニット２０００は、画像入力デバイスであるスキャナ２０７０や画像出力デバイスであるプリンタ２０９５と接続し、一方ではネットワーク１００８や公衆回線１００９と接続することで、画像情報やデバイス情報の入出力を行う。ＣＰＵ２００１は、システム全体を制御するコントローラである。ＲＡＭ２００２は、システムのワークメモリであり、画像データを一時記憶するための画像メモリでもある。ＲＯＭ２００３は、ブートＲＯＭであり、システムのブートプログラムが格納されている。
【００１８】
ＨＤＤ２００４は、ハードディスクドライブで、システムソフトウェア、アプリケーション、画像データを格納する。操作部Ｉ／Ｆ２００６は、タッチパネルを有した操作部２０１２とのインターフェース部で、操作部２０１２に表示する画像データを操作部２０１２に対して出力する。また、操作部Ｉ／Ｆ２００６は、操作部２０１２から本システム使用者が入力した情報を、ＣＰＵ２００１に伝える役割をする。Ｎｅｔｗｏｒｋ  Ｉ／Ｆ２０１０は、ネットワーク１００８に接続し、情報の入出力を行う。ＭＯＤＥＭ２０５０は、公衆回線１００９に接続し、情報の入出力を行う。ＳＲＡＭ２１００は、高速動作可能な不揮発性の記録媒体である。ＲＴＣ２１１０は、リアルタイムクロックであり、コントローラユニット２０００に電源が入っていない状態でも現在の時刻をカウントし続ける処理を行う。
以上のデバイスがシステムバス２００７上に配置される。
【００１９】
Ｉｍａｇｅ  Ｂｕｓ  Ｉ／Ｆ２００５は、システムバス２００７と画像データを高速で転送する画像バス２００８とを接続し、データ構造を変換するバスブリッジである。画像バス２００８は、ＰＣＩバス又はＩＥＥＥ１３９４で構成される。
画像バス２００８上には以下のデバイスが配置される。
【００２０】
ＲＩＰ２０６０は、ラスターイメージプロセッサでありＰＤＬコードをビットマップイメージに展開する。デバイスＩ／Ｆ部２０２０は、画像入出力デバイスであるスキャナ２０７０やプリンタ２０９５とコントローラユニット２０００とを接続し、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部２０８０は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部２０９０は、プリント出力画像データに対して、プリンタの補正、解像度変換等を行う。画像回転部２０３０は、画像データの回転を行う。画像圧縮部２０４０は、多値画像データはＪＰＥＧ、２値画像データはＪＢＩＧ、ＭＭＲ、ＭＨの圧縮伸張処理を行う。
【００２１】
図３は、画像処理装置１００１のソフトウェア構成の一例を示す図である。なお、図３に示されるソフトウェアは、画像処理装置１００１のコントローラユニット２０００に実装されるものである。
【００２２】
画像処理装置１００１に内蔵されコントローラユニット２０００によって処理されるソフトウェアは、所謂ファームウェアとして実装されており、ＣＰＵ２００１によって実行される。
【００２３】
リアルタイムＯＳ３００１は、リアルタイムオペレーティングシステムであり、組み込みシステムの制御に最適化された各種資源管理のサービスと枠組みをその上で動作するソフトウェアに提供する。リアルタイムＯＳが提供する各種資源管理のサービスと枠組みとには、ＣＰＵ２００１による処理の実行コンテクストを複数管理することで複数の処理を実質的に並行動作させるマルチタスク（スレッド）管理がある。また、更に、タスク間の同期やデータ交換を実現するタスク間通信、メモリ管理、割り込み管理、各種のデバイスドライバ、ローカルインタフェースやネットワーク通信等の各種プロトコルの処理を実装したプロトコルスタック、等もある。
【００２４】
コントローラプラットフォーム３００２は、ファイルシステム３００３やジョブ・デバイス制御３００４、カウンタ（閾値情報）３００５から構成される。
【００２５】
ファイルシステム３００３は、ＨＤＤ２００４やＲＡＭ２００２等の記憶装置上に構築されたデータを格納するための機構である。ファイルシステム３００３は、コントローラユニット２０００が扱うジョブをスプールしたり各種データを保存したりするために用いられる。ジョブ・デバイス制御３００４は、画像処理装置１００１のハードウェアを制御し、また、画像処理装置１００１の主にハードウェアが提供する基本機能（プリント、スキャン、通信、画像変換等）を利用するジョブを制御する。カウンタ３００５は、ＳＲＡＭ２１００に格納され、アプリケーション毎の有効期限や、プリント、スキャンの上限動作回数、カウンタ値を記憶する。
【００２６】
システムサービス３００６は、画像処理装置１００１の稼働状況をモニタリングするモジュールである。また、システムサービス３００６は、ネットワーク１００８を介してソフトウェア配信サーバ１００６から、ソフトウェア（アプリケーション）やライセンス（ライセンスファイル）をダウンロードする。
【００２７】
アプリケーションプラットフォーム３００７は、リアルタイムＯＳ３００１、コントローラプラットフォーム３００２の機構を、後述するシステムアプリケーション３００８や、追加可能なアプリケーション３０１１から利用可能とするためのミドルウェアである。
【００２８】
システムアプリケーション３００８は、アプリケーション管理３００９、ウィンドウ管理３０１０から構成される。
アプリケーション管理３００９は、アプリケーション３０１１をインストール、アンインストール、起動、停止するための管理モジュールである。ウィンドウ管理３０１０は、アプリケーション毎のウィンドウを管理し、選択されたアプリケーションのウィンドウを操作部２０１２へ表示する処理を行うためのモジュールである。
【００２９】
アプリケーション３０１１は、アプリケーションプラットフォーム３００７によって提供される機能を利用して、様々なビジネスモデルを実現する応用ソフトウェアである。
【００３０】
図４は、ＨＤＤ２００４のディスクパーテション構成の一例を示す図である。
基本プログラムパーテション４００１は、リアルタイムＯＳ３００１、コントローラプラットフォーム３００２、システムサービス３００６、アプリケーションプラットフォーム３００７、システムアプリケーション３００８を格納するためのパーテションである。
なお、このパーテションに格納されているサービスやアプリケーション等はシステムソフトウェアであって画像処理装置１００１に予め搭載されているものである。
【００３１】
一時利用パーテション４００２は、ソフトウェア配信サーバよりダウンロードしたソフトウェアや、アプリケーションが生成するデータ等を一時格納するためのパーテションである。
【００３２】
アプリケーション用パーテション４００３は、アプリケーションプラットフォーム３００７やシステムアプリケーション３００８がその機能を利用可能とするために、基本プログラムパーテション４００１より再配置されるパーテションである。更に、アプリケーション用パーテション４００３は、アプリケーション管理３００９によって追加インストールされたアプリケーション３０１１が格納されるパーテションでもある。
ライセンスバックアップ用パーテション４００４は、アプリケーション３０１１をインストールする際に必要となるライセンスファイルをバックアップするためにパーテションである。
【００３３】
図５は、アプリケーション３０１１のライセンスファイルの一例を示す図である。アプリケーションプラットフォーム３００７上で動作するアプリケーションは全て同様の情報をもっているものとする。
アプリケーション名５００１は、ライセンスファイルの対象となるアプリケーションの名称であり、図５では「かんたんコピー」であることを表している。アプリケーション識別子５００２は、ライセンスファイルの対象となるアプリケーションの識別子であり、図５では「ｆ７ｂ８ａｃ１ｃ−８９５ａ−４９０５−８６ｃ７−４０２７３ｆｅ０ａ５３１」であることを表している。この識別子はアプリケーションで重複することはなく、独自性を保証されているものである。動作制限情報の一例である有効期限５００３は、ライセンスファイルの対象となるアプリケーションの有効期限であり、図５では３０日間有効であることを表している。また、動作制限情報の一例であるプリント上限５００４、スキャン上限５００５は、ライセンスファイルの対象となるアプリケーションがプリント及びスキャン可能な上限値であり、図５ではそれぞれ１０００枚であること表している。ライセンス情報５００６は、ライセンスファイルの対象となるアプリケーションをインストールする際に必要な各種秘匿情報である。ライセンス情報５００６が改竄等されていた場合、アプリケーション管理３００９は、アプリケーション３０１１のインストールを許可せず、エラー終了させるように構成されている。
【００３４】
図６は、アプリケーションをインストールする場合の処理の一例を示すフローチャートである。本フローチャートの処理は、画像処理装置１００１のＣＰＵ２００１において実行される。なお、本実施形態においては、アプリケーションはアプリケーション識別子を除き暗号化されており、復号するためのデータはライセンスファイルにより提供されるものとする。更にライセンスファイルは予め所定の暗号化が施され、画像処理装置１００１内の所定の復号情報により復号されるものとする。更にライセンス取得用ＩＤは、アプリケーション購入者が電子媒体や紙媒体等で予め取得しているものとする。
【００３５】
Ｓ６００１において、アプリケーション購入者がライセンス取得用ＩＤを操作部２０１２において入力すると、画像処理装置１００１は、前記ライセンス取得用ＩＤをソフトウェア配信サーバ１００６に送信する。ソフトウェア配信サーバ１００６は、ライセンス取得用ＩＤを基にアプリケーションファイルを特定し、ライセンス管理サーバ１００７よりライセンスファイルを取得する。
【００３６】
画像処理装置１００１は、Ｓ６００２においてアプリケーションファイルを受信し、Ｓ６００３においてライセンスファイルを受信する。
次に、Ｓ６００４おいて、画像処理装置１００１は、Ｓ６００２で受信したアプリケーションファイルからアプリケーション情報を抽出する。
【００３７】
次に、Ｓ６００５において、画像処理装置１００１は、受信したライセンスファイルを画像処理装置１００１内の所定の復号情報により復号化する。次に、Ｓ６００６において、画像処理装置１００１は、復号化したライセンスファイルからアプリケーション情報（図５の５００１〜５００５）を抽出する。
【００３８】
Ｓ６００７において、画像処理装置１００１は、Ｓ６００４とＳ６００６とで抽出したアプリケーション情報の内、アプリケーション識別子が一致するか否かを判定する。一致しない場合、画像処理装置１００１は、Ｓ６０１３に進み、エラーを表示し、図６に示す処理を終了する。一方、一致した場合、画像処理装置１００１は、Ｓ６００８へ進み、Ｓ６００５で復号化したライセンスファイルよりアプリケーションファイルの復号情報（不図示）を取得し、Ｓ６００２で受信したアプリケーションファイルを復号化する。
【００３９】
次に、Ｓ６００９において、画像処理装置１００１は、アプリケーションファイルの復号化に成功したか否かを判定する。復号化に失敗した場合、画像処理装置１００１は、Ｓ６０１３に進みエラーを表示し、図６に示す処理を終了する。一方、復号化に成功した場合、画像処理装置１００１は、Ｓ６０１０に進み、アプリケーション管理３００９を介してアプリケーションをＨＤＤ２００４のアプリケーション用パーテション４００３へ格納する。これにより、アプリケーションは実行可能な状態になる。
【００４０】
次に、Ｓ６０１１において、画像処理装置１００１は、Ｓ６００６で抽出したアプリケーション情報に含まれる、アプリケーション識別子５００２、有効期限５００３、プリント上限５００４、スキャン上限５００５をカウンタ３００５へ格納する（情報設定）。つまり、画像処理装置１００１は、Ｓ６００６で抽出したアプリケーション情報に含まれるアプリケーション識別子５００２を、カウンタ３００５のアプリケーション識別子へ格納（設定）する。また、画像処理装置１００１は、Ｓ６００６で抽出したアプリケーション情報に含まれる有効期限５００３を、閾値情報の一例であるカウンタ３００５の有効期限へ格納（設定）する。また、画像処理装置１００１は、Ｓ６００６で抽出したアプリケーション情報に含まれるプリント上限５００４を、閾値情報の一例であるカウンタ３００５のプリント上限へ格納（設定）する。また、画像処理装置１００１は、Ｓ６００６で抽出したアプリケーション情報に含まれるスキャン上限５００５を、閾値情報の一例であるカウンタ３００５のスキャン上限に格納（設定）する。
次に、Ｓ６０１２において、画像処理装置１００１は、Ｓ６００３で受信したライセンスファイル（又はＳ６００５で復号化したライセンスファイル）をライセンスバックアップ用パーテション４００４に格納して、図６に示す処理を終了する。
【００４１】
図７は、図６のフローチャートの処理を実行する前のカウンタ３００５の状態の一例を示す図である。図７の状態は、アプリケーションが一つも画像処理装置１００１にインストールされてない初期状態のカウンタ３００５を表している。
【００４２】
図８は、図５に示したアプリケーション識別子をもつアプリケーションを、図６のフローチャートの処理に基づき、画像処理装置１００１にインストールした直後のカウンタ３００５の状態の一例を示す図である。アプリケーション識別子８００１には「ｆ７ｂ８ａｃ１ｃ−８９５ａ−４９０５−８６ｃ７−４０２７３ｆｅ０ａ５３１」が、有効期限８００２には「３０」が、プリント上限８００３には「１０００」が、スキャン上限８００４には「１０００」が登録されている。
【００４３】
なお、画像処理装置１００１は、アプリケーション識別子８００１で識別されるアプリケーションがプリンタ２０９５を動作させた場合、プリントの回数（又はプリントの枚数）に応じてプリンタカウントのカウンタ値（動作情報）をカウントアップする。そして、画像処理装置１００１は、カウントアップしたカウンタ値を、カウンタ３００５のプリンタカウントに登録する。同様に、画像処理装置１００１は、アプリケーション識別子８００１で識別されるアプリケーションがスキャナ２０７０を動作させた場合、スキャンの回数（又はスキャンの枚数）に応じてスキャンカウントのカウンタ値（動作情報）をカウントアップする。そして、画像処理装置１００１は、カウントアップしたカウンタ値を、カウンタ３００５のスキャンカウントに登録する。また、画像処理装置１００１は、アプリケーション識別子８００１で識別されるアプリケーションがインストールされてからの日数（利用日数）をカウントし、カウンタ３００５の期限カウントに登録する。
【００４４】
画像処理装置１００１は、例えば操作者からプリントの実行を要求された場合、プリント上限の値とプリンタカウントの値とを比較し、両者の値が等しくなった場合、プリントの実行（又はプリンタの利用）を制限、又は禁止する（アプリケーション動作制限）。同様に画像処理装置１００１は例えば操作者からスキャンの実行を要求された場合、スキャン上限の値とスキャンカウントの値とを比較し、両者の値が等しくなった場合、スキャンの実行（又はスキャナの利用）を制限、又は禁止する（アプリケーション動作制限）。また、画像処理装置１００１は、有効期限の値と期限カウントの値とを比較し、両者の値が等しくなった場合、アプリケーションの利用を制限、又は禁止する（アプリケーション動作制限）。
【００４５】
図９は、ＣＰＵ２００１によって実行されるソフトウェアの正常時の起動シーケンスの一例を示した図である。
画像処理装置１００１に電源を投入すると、ＣＰＵ２００１によってソフトウェアが実行され、コントローラプラットフォーム３００２とアプリケーションプラットフォーム３００７とシステムサービス３００６とが起動される。コントローラプラットフォーム３００２は、関連するサブタスクを起動し、システムサービス３００６へ起動完了通知を行う。アプリケーションプラットフォーム３００７は、関連するサブタスクとアプリケーション管理３００９によって登録されたアプリケーションとを起動し、システムサービス３００６へ起動完了通知を行う。システムサービス３００６は、９００１及び９００２において起動完了通知を受信したことにより、画像処理装置１００１の正常起動を確認する。
【００４６】
図１０は、ＣＰＵ２００１によって実行されるソフトウェアの異常時の起動シーケンスの一例を示した図である。なお、図１０は、プログラム実行環境の動作不良を検知する一形態である。
図９と比較して、あるアプリの起動で異常停止したため、システムサービス３００６は、アプリケーションプラットフォーム３００７より通知されるべき１０００２の起動完了通知を受信することができない状態になっている。
【００４７】
図１１は、アプリケーション実行環境の異常を検知し、アプリケーション３０１１を再インストールする場合の処理の一例を示すフローチャートである。本フローチャートの処理は、画像処理装置１００１のＣＰＵ２００１において実行される。
【００４８】
Ｓ１１００１において、画像処理装置１００１に電源が投入されると、Ｓ１１００２においてシステムサービス３００６が起動される。画像処理装置１００１のシステムサービス３００６は、Ｓ１１００３において、コントローラプラットフォーム３００２及びアプリケーションプラットフォーム３００７双方の起動完了通知があったか否かを判定する。何れかの起動完了通知が無い場合、画像処理装置１００１のシステムサービス３００６は、Ｓ１１００４へ進み、所定時間経過したか否かを判定し、経過していなければＳ１１００３へ処理を戻し、前記手順を繰り返す。一方、経過していていれば、システムサービス３００６は、Ｓ１１００５へ処理を進める。Ｓ１１００５において、画像処理装置１００１は、一時利用パーテション４００２へアプリケーションデータをバックアップする。
【００４９】
次に、Ｓ１１００６において、画像処理装置１００１は、アプリケーションをアンインストールする。次に、Ｓ１１００７において、画像処理装置１００１は、ＳＲＡＭ２１００に格納されているアプリケーション再インストールフラグをＯＮに設定する。次に、Ｓ１１００８において、画像処理装置１００１は、再起動した後、Ｓ１１００２へ処理を戻し、前記手順を繰り返す。
【００５０】
一方、Ｓ１１００３においてコントローラプラットフォーム３００２及びアプリケーションプラットフォーム３００７双方からの起動完了通知を受信した場合、システムサービス３００６は、Ｓ１１００９へ進む。ここで、上述したように、Ｓ１１００５、Ｓ１１００６、Ｓ１１００７、Ｓ１１００８、Ｓ１１００２、Ｓ１１００３と進んできた場合、システムサービス３００６は、Ｓ１１００３の判定において起動完了したと判定し、Ｓ１１００９に進む。
【００５１】
Ｓ１１００９において、画像処理装置１００１は、アプリケーション再インストールフラグがＯＮであるか否かを判定する。ＯＦＦの場合、画像処理装置１００１は、起動を完了し、起動処理を終了する。一方、ＯＮの場合は、画像処理装置１００１は、Ｓ１１０１０へ進み、アプリケーションの再インストールを行う。なお、本処理に関しては後述の図１２を用いてより詳細に説明を行う。アプリケーションの再インストール後、Ｓ１１０１２において、画像処理装置１００１は、アプリケーションを起動する。そして、Ｓ１１０１３において、画像処理装置１００１は、アプリケーション再インストールフラグをＯＦＦにして、図１１に示す処理を終了する。
【００５２】
図１２は、アプリケーションの再インストールする場合の処理の一例を示すフローチャートである。本フローチャートの処理は、画像処理装置１００１のＣＰＵ２００１において実行される。
Ｓ１２００１において、画像処理装置１００１は、ライセンスバックアップ用パーテション４００４に格納されているライセンスファイルに記述されているアプリケーション識別子５００２をソフトウェア配信サーバ１００６に送信する。
【００５３】
次に、Ｓ１２００２において、画像処理装置１００１は、前記送信したアプリケーション識別子５００２に対応するアプリケーションファイルを受信する。次に、Ｓ１２００３において、画像処理装置１００１は、ライセンスバックアップ用パーテション４００４よりライセンスファイルを取得する。次に、Ｓ１２００４おいて、画像処理装置１００１は、Ｓ１２００２で受信したアプリケーションファイルからアプリケーション情報を抽出する。次に、Ｓ１２００５において、画像処理装置１００１は、取得したライセンスファイルを画像処理装置１００１内の所定の復号情報（不図示）により復号化する。
【００５４】
次に、Ｓ１２００６において、画像処理装置１００１は、復号化したライセンスファイルからアプリケーション情報を抽出する。次に、Ｓ１２００７において、画像処理装置１００１は、Ｓ１２００４とＳ１２００６とで抽出したアプリケーション情報の内、アプリケーション識別子が一致するかを判定する。一致しない場合、画像処理装置１００１は、Ｓ１２０１３に進みエラーを表示し、図１２に示す処理を終了する。一方、一致した場合、画像処理装置１００１は、Ｓ１２００８へ進み、Ｓ１２００５で復号化したライセンスファイルよりアプリケーションファイルの復号情報（不図示）を取得し、Ｓ１２００２で受信したアプリケーションファイルを復号化する。
【００５５】
次に、Ｓ１２００９において、画像処理装置１００１は、アプリケーションファイルの復号化に成功したか否かを判定する。復号化に失敗した場合、画像処理装置１００１は、Ｓ１２０１３に進みエラーを表示し、図１２に示す処理を終了する。一方、復号化に成功した場合、画像処理装置１００１は、Ｓ１２０１０に進み、アプリケーション管理３００９を介してアプリケーションがＨＤＤ２００４のアプリケーション用パーテション４００３へ格納し、図１２に示す処理を終了する。これにより、アプリケーションは実行可能な状態になる。
【００５６】
本フローチャートでは画像処理装置１００１は、Ｓ１２００６で抽出したアプリケーション情報に含まれる、アプリケーション識別子５００２、有効期限５００３、プリント上限５００４、スキャン上限５００５をカウンタ３００５へ格納しない（情報設定制御）。
【００５７】
図１３は、図１１及び図１２のフローチャートにおいてアプリケーションをアンインストールする直前とアプリケーションを再インストールした直後とのカウンタ３００５の状態の一例を示す図である。
有効期限１３００１、プリント上限１３００３、スキャン上限１３００５の値は図８でアプリケーションをインストールした直後の値と同等である。期限カウント１３００２、プリンタカウント１３００４、スキャンカウント１３００６は、アプリケーションをアンインストールする直前のカウンタ値を保持している（情報設定制御）。
【００５８】
＜実施形態２＞
実施形態２の基本的な図は、実施形態１の図１から図１０までと、図１２、図１３は同様であるので説明の詳細は省略する。
図１４は、アプリケーション実行環境の異常を検知し、アプリケーションプラットフォーム３００７とアプリケーション３０１１とを再インストールする場合の処理の一例を示すフローチャートである。本フローチャートの処理は、画像処理装置１００１のＣＰＵ２００１において実行される。
【００５９】
Ｓ１４００１からＳ１４００５までの処理は、図１１のＳ１１００１からＳ１１００５までの処理と同様であるため説明は省略する。
Ｓ１４００６において、画像処理装置１００１は、アプリケーション用パーテション４００３を初期化し、アプリケーションをアンインストールする。また、画像処理装置１００１は、基本プログラムパーテション４００１より、アプリケーションプラットフォーム３００７をアンインストールする。
【００６０】
次に、Ｓ１４００７において、画像処理装置１００１は、アプリケーションプラットフォーム３００７の取得要求をソフトウェア配信サーバ１００６へ送信する。次に、Ｓ１４００８において、画像処理装置１００１は、アプリケーションプラットフォーム３００７を受信する。
【００６１】
次に、Ｓ１４０１０において、画像処理装置１００１は、受信したアプリケーションプラットフォーム３００７を基本プログラムパーテション４００１に展開し、インストールする。次に、Ｓ１４０１１において、画像処理装置１００１は、ＳＲＡＭ２１００に格納されているアプリケーション再インストールフラグをＯＮに設定する。次に、Ｓ１４０１２において、画像処理装置１００１は、再起動した後、Ｓ１４００２へ処理を戻し、前記手順を繰り返す。
【００６２】
これ以降のＳ１４０１３からＳ１４０１６までの処理は図１１のＳ１１００９からＳ１１０１３までの処理と同様であるため説明を省略する。
本フローチャートの処理により、アプリケーションプラットフォーム３００７とアプリケーション３０１１との双方が再インストールされるが、この場合も実施形態１の図１３と同様にカウンタ３００５の状態は保持される。
【００６３】
＜実施形態３＞
実施形態１及び実施形態２では、画像処理装置１００１は、ライセンスファイルのライセンスバックアップ用パーテション４００４への格納をアプリケーションのインストール直後に行う様説明を行った（例えば図６のＳ６０１２等参照）。しかし、画像処理装置１００１は、インストール時はアプリケーション用パーテション４００３へライセンスファイルを格納しておき、異常を検知した後のリカバリ処理実行前にライセンスバックアップ用パーテション４００４へ格納するようにしてもよい。
より具体的に説明すると、画像処理装置１００１は、実施形態１では図１１のＳ１１００６の直前、また実施形態２では図１４のＳ１４００６の直前に、ライセンスファイルをライセンスバックアップ用パーテション４００４へ格納するようにしてもよい。
【００６４】
＜その他の実施形態＞
また、本発明の目的は、以下のようにすることによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（又は記録媒体）を、システム或いは装置に供給する。そして、そのシステム或いは装置の中央演算処理手段（ＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコードを記録した記憶媒体は本発明を構成することになる。
【００６５】
また、システム或いは装置の前記中央演算処理手段が読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、システム或いは装置上で稼働しているオペレーティングシステム（ＯＳ）等が実際の処理の一部又は全部を行う。その処理によって上述した実施形態の機能が実現される場合も含まれる。
【００６６】
更に、記憶媒体から読み出されたプログラムコードが、前記システム或いは装置に挿入された機能拡張カードや、接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれる。
【００６７】
本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【００６８】
以上、上述した実施形態によれば、アプリケーション実行環境の動作不良が発生した場合、アプリケーション実行環境又はアプリケーションを自動で再インストールすることができる。更に、アプリケーション実行環境又はアプリケーションを自動で再インストールした場合もライセンス管理されたアプリケーションの有効期限や所定機能の上限動作回数を維持することができる。
【００６９】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００７０】
【図１】システム構成の一例を示す図である。
【図２】画像処理装置１００１に実装されたシステム（又はハードウェア）構成の一例を示す図である。
【図３】画像処理装置１００１のソフトウェア構成の一例を示す図である。
【図４】ＨＤＤ２００４のディスクパーテション構成の一例を示す図である。
【図５】アプリケーション３０１１のライセンスファイルの一例を示す図である。
【図６】アプリケーションをインストールする場合の処理の一例を示すフローチャートである。
【図７】図６のフローチャートの処理を実行する前のカウンタ３００５の状態の一例を示す図である。
【図８】図５に示したアプリケーション識別子をもつアプリケーションを、図６のフローチャートの処理に基づき、画像処理装置１００１にインストールした直後のカウンタ３００５の状態の一例を示す図である。
【図９】ＣＰＵ２００１によって実行されるソフトウェアの正常時の起動シーケンスの一例を示した図である。
【図１０】ＣＰＵ２００１によって実行されるソフトウェアの異常時の起動シーケンスの一例を示した図である。
【図１１】アプリケーション実行環境の異常を検知し、アプリケーション３０１１を再インストールする場合の処理の一例を示すフローチャートである。
【図１２】アプリケーションの再インストールする場合の処理の一例を示すフローチャートである。
【図１３】図１１及び図１２のフローチャートにおいてアプリケーションをアンインストールする直前とアプリケーションを再インストールした直後とのカウンタ３００５の状態の一例を示す図である。
【図１４】アプリケーション実行環境の異常を検知し、アプリケーションプラットフォーム３００７とアプリケーション３０１１とを再インストールする場合の処理の一例を示すフローチャートである。
【符号の説明】
【００７１】
１００１  画像処理装置
２００１  ＣＰＵ
３００５  カウンタ
３００７  アプリケーションプラットフォーム
３０１１  アプリケーション
【図１】
0004954031.tif 000002
【図２】
0004954031.tif 000003
【図３】
0004954031.tif 000004
【図４】
0004954031.tif 000005
【図５】
0004954031.tif 000006
【図６】
0004954031.tif 000007
【図７】
0004954031.tif 000008
【図８】
0004954031.tif 000009
【図９】
0004954031.tif 000010
【図１０】
0004954031.tif 000011
【図１１】
0004954031.tif 000012
【図１２】
0004954031.tif 000013
【図１３】
0004954031.tif 000014
【図１４】
0004954031.tif 000015