(57)【特許請求の範囲】
【請求項１】
サーバから取得した予約情報が配信アプリケーションの予約情報である場合、インストール済みのアプリケーションの情報を取得する取得手段と、
前記インストール済みのアプリケーションと前記配信アプリケーションが一致する場合、前記配信アプリケーションをダウンロードする第１のダウンロード手段と、
前記第１のダウンロード手段でダウンロードした配信アプリケーションを用いて、前記インストール済みのアプリケーションをアップデートする第１のアップデート手段と、
前記取得した予約情報がファームウェアの予約情報である場合、前記ファームウェアをダウンロードする第２のダウンロード手段と、
前記第２のダウンロード手段でダウンロードした前記ファームウェアを用いてアップデートを実行する第２のアップデート手段と、
を備え、
前記第１のアップデート手段は、
前記配信アプリケーションを用いたアップデートを行う前の前記インストール済みのアプリケーションの状態が開始状態であった場合、前記配信アプリケーションを用いたアップデートを行った後のアプリケーションの状態を開始状態に設定し、
前記配信アプリケーションを用いたアップデートを行う前の前記インストール済みのアプリケーションの状態が停止状態であった場合、前記配信アプリケーションを用いたアップデートを行った後のアプリケーションの状態を停止状態にするために、当該アプリケーションの状態を開始状態に設定しない
ことを特徴とする画像処理装置。
【請求項２】
前記インストール済みのアプリケーションと前記配信アプリケーションに基づいてエラーを通知する通知手段をさらに備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１のダウンロード手段は、前記配信アプリケーションのバージョンが前記インストール済みのアプリケーションよりも新しいバージョンを示す場合、前記配信アプリケーションをダウンロードし、
前記通知手段は、前記配信アプリケーションのバージョンが前記インストール済みのアプリケーションよりも古いバージョンを示す場合、エラーを通知する
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記第１のダウンロード手段は、前記インストール済みのアプリケーションのライセンスの状態が有効状態である場合、前記配信アプリケーションをダウンロードし、
前記通知手段は、前記インストール済みのアプリケーションのライセンスの状態が有効状態でない場合、エラーを通知する
ことを特徴とする請求項２または３に記載の画像処理装置。
【請求項５】
前記インストール済みのアプリケーションのライセンスの状態が未インストール状態であり、かつ前記ライセンスの情報がある場合、前記取得手段がフラグを立てて、前記第１のダウンロード手段が前記配信アプリケーションをダウンロードする
ことを特徴とする請求項１〜４のいずれか１項に記載の画像処理装置。
【請求項６】
前記第１のアップデート手段は、前記フラグが立っている場合、前記アップデートした前記インストール済みのアプリケーションの前記ライセンスの有効期限の消費を停止させる
ことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記インストール済みのアプリケーションのライセンスの状態が未インストール状態でない場合、前記取得手段がフラグを立てることなく、前記第１のダウンロード手段が前記配信アプリケーションをダウンロードすることを特徴とする請求項５に記載の画像処理装置。
【請求項８】
サーバから取得した予約情報が配信アプリケーションの予約情報である場合、インストール済みのアプリケーションの情報を取得する取得工程と、
前記インストール済みのアプリケーションと前記配信アプリケーションが一致する場合、前記配信アプリケーションをダウンロードする第１のダウンロード工程と、
前記第１のダウンロード工程でダウンロードした配信アプリケーションを用いて、前記インストール済みのアプリケーションをアップデートする第１のアップデート工程と、
前記取得した予約情報がファームウェアの予約情報である場合、前記ファームウェアをダウンロードする第２のダウンロード工程と、
前記第２のダウンロード工程でダウンロードした前記ファームウェアを用いてアップデートを実行する第２のアップデート工程と、
を備え、
前記第１のアップデート工程において、
前記配信アプリケーションを用いたアップデートを行う前の前記インストール済みのアプリケーションの状態が開始状態であった場合、前記配信アプリケーションを用いたアップデートを行った後のアプリケーションの状態を開始状態に設定し、
前記配信アプリケーションを用いたアップデートを行う前の前記インストール済みのアプリケーションの状態が停止状態であった場合、前記配信アプリケーションを用いたアップデートを行った後のアプリケーションの状態を停止状態にするために、当該アプリケーションの状態を開始状態に設定しない
ことを特徴とする画像処理装置の制御方法。
【請求項９】
請求項１〜７のいずれか１項に記載の画像処理装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、オフィスに設置される情報処理装置の一例である画像処理装置には、機能拡張用のアプリケーション（以下「アプリ」と呼ぶ）をインストールして、動的に画像処理装置の機能を拡張できるシステムが普及している。この種のシステムとしては、例えば、キヤノン株式会社のＭＥＡＰ（登録商標）などがあげられる。
【０００３】
アプリを市場リリースした後に、脆弱性対応やバグ対応などの修正を行ってバージョンを上げて再リリースすることがある。このうち重要な修正を含んだバージョンは、確実にアップデートを行わせたいケースがある。アプリをネットワーク経由でアップデートさせる方法として、特許文献１が開示されている。特許文献１では、端末装置からアプリ配信サーバに対して取得希望のアプリリストを送信し、その情報を基にアプリ配信サーバ側でアップデートするアプリを特定し、配信する方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２３４５９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、セキュリティポリシーの都合等で端末装置からアプリ配信サーバに対して取得希望のアプリリストを送信しない場合、もしくは送信できない場合ではアプリをアップデートできない。つまり、端末装置側からアップデートに必要な情報を送信できないケースでは、アプリをアップデートすることができない。
【０００６】
本発明は、上記課題を鑑みて、画像処理装置側からサーバに対してアップデートに必要な情報を送信できない場合であっても、アプリ（アプリケーション）のアップデートが可能な画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の情報処理装置は、サーバから取得した予約情報が配信アプリケーションの予約情報である場合、インストール済みのアプリケーションの情報を取得する取得手段と、インストール済みのアプリケーションと配信アプリケーションが一致する場合、配信アプリケーションをダウンロードする第１のダウンロード手段と、第１のダウンロード手段でダウンロードした配信アプリケーションを用いて、インストール済みのアプリケーションをアップデートする第１のアップデート手段と、取得した予約情報がファームウェアの予約情報である場合、ファームウェアをダウンロードする第２のダウンロード手段と、第２のダウンロード手段でダウンロードしたファームウェアを用いてアップデートを実行する第２のアップデート手段と、備え、第１のアップデート手段は、配信アプリケーションを用いたアップデートを行う前のインストール済みのアプリケーションの状態が開始状態であった場合、配信アプリケーションを用いたアップデートを行った後のアプリケーションの状態を開始状態に設定し、配信アプリケーションを用いたアップデートを行う前のインストール済みのアプリケーションの状態が停止状態であった場合、配信アプリケーションを用いたアップデートを行った後のアプリケーションの状態を停止状態にするために、当該アプリケーションの状態を開始状態に設定しないことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、画像処理装置側からサーバに対してアップデートに必要な情報を送信できない場合であっても、アプリ（アプリケーション）のアップデートが可能な画像処理装置を提供することができる。これにより、画像処理装置にインストール済みのアプリ情報をコンテンツ管理のサーバに送信しなくともアプリのアップデートを確実に実行することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】ネットワークシステムの構成を示す図である。
【図２】画像処理装置のハードウェア構成を示す図である。
【図３】コンテンツ管理サーバのハードウェア構成を示す図である。
【図４】コンテンツ配信サーバのハードウェア構成を示す図である。
【図５】監視サーバのハードウェア構成を示す図である。
【図６】画像処理装置のソフトウェア構成を示す図である。
【図７】コンテンツ管理サーバのソフトウェア構成を示す図である。
【図８】コンテンツ配信サーバのソフトウェア構成を示す図である。
【図９】監視サーバのソフトウェア構成を示す図である。
【図１０】予約からアップデートまでの処理を示すフローチャートである。
【図１１】アプリのアップデートを行う処理のフローチャートである。
【図１２】ライセンスの状態とアプリの状態の組み合わせパターンを示す表である。
【図１３】第２実施形態に係るアップデートの処理を示すフローチャートである。
【図１４】第２実施形態に係るアップデートの処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための最良の形態について図面などを参照して説明する。
【００１１】
（第１実施形態）
図１は、本実施形態に係る情報処理装置（画像処理装置）を含むネットワークシステムの構成を示す図である。本システムは、画像処理装置１０１と、コンテンツ管理サーバ１０２および１０３と、監視サーバ１０４と、を含み、それぞれネットワーク１０５を介して通信可能である。画像処理装置１０１は、アップデート装置が動作する情報処理装置の一例である。本実施形態に係る画像処理装置１０１は、一台でプリンタ、スキャナ、コピー、ＦＡＸなどの機能を兼ね備える。また、画像処理装置１０１は、画像処理装置に割り当てられた固有の個体番号を有する。
【００１２】
コンテンツ管理サーバ１０２は、画像処理装置１０１にファームウェアやアプリ（アプリケーション）を配信する。また、画像処理装置１０１の個体番号、機種、バージョンの情報等を保持し、それらの管理を行う。さらに、後述の監視サーバ１０４から画像処理装置１０１に対する配信予約を受け付ける。配信するアプリの実体は、コンテンツ配信サーバ１０３に保存するため、そのＵＲＬも保持する。コンテンツ配信サーバ１０３は、画像処理装置１０１にファームウェアを配信し、画像処理装置１０１に配信するアプリを保持している。監視サーバ１０４は、画像処理装置１０１でエラーが発生した場合やトナー切れになった場合にその情報を収集し蓄積する。また、コンテンツ管理サーバ１０２へ、画像処理装置１０１に対するファームウェアやアプリの配信予約を行う。
【００１３】
図２は、画像処理装置１０１のハードウェア構成を示す図である。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１は、各種プログラムを実行し、様々な機能を実現するユニットである。ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２は、各種プログラムを記憶するユニットである。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３は、ＣＰＵ２０１が動作するためのシステムワークメモリであり、各種データを一時記憶するためのメモリである。ＣＰＵ２０１は、ＲＯＭ２０２に記憶されているプログラムをＲＡＭ２０３にロードしプログラムを実行する。このＲＡＭ２０３は、記憶した内容を電源ｏｆｆ後も保持可能なＦＲＡＭ（登録商標）およびＳＲＡＭ、電源ｏｆｆ後に記憶内容が消去されるＤＲＡＭなどにより構成される。
【００１４】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２０４は、各種プログラムを記憶するユニットである。ＣＰＵ２０１は、ＨＤＤ２０４に記憶されているプログラムをＲＡＭ２０３にロードしプログラムを実行する。また、ＲＡＭ２０３のデータをＨＤＤ２０４に保存することもできる。操作部２０５は、画像処理装置１０１を操作するためのユニットである。表示部２０６は、画像処理装置１０１のＵＩを表示するためのユニットである。
【００１５】
印刷部２０７は、ラスタイメージを始めとする各種イメージデータを記録媒体に印刷、または外部装置へ送信することが可能なユニットである。スキャナ部２０８は、原稿台の上に置かれた原稿を読み取り、イメージデータを生成するユニットである。ネットワーク部２０９は、コンテンツ管理サーバ１０２、コンテンツ配信サーバ１０３、監視サーバ１０４に接続するためのユニットである。上記の画像処理装置１０１の各ユニットは、バス２１０を介してデータの送受信を行うことが可能である。
【００１６】
図３は、コンテンツ管理サーバ１０２のハードウェア構成を示す図である。ＣＰＵ３０１〜表示部３０６、バス３０８は、図２に示すＣＰＵ２０１〜表示部２０６、バス２１０と同様であるため、その説明を省略する。ネットワーク部３０７は、画像処理装置１０１、コンテンツ配信サーバ１０３、監視サーバ１０４に接続するためのユニットである。
【００１７】
図４は、コンテンツ配信サーバ１０３のハードウェア構成を示す図である。ＣＰＵ４０１〜表示部４０６、バス４０８は、図３に示すＣＰＵ３０１〜表示部３０６、バス３０８と同様であるため、その説明を省略する。ネットワーク部４０７は、画像処理装置１０１、コンテンツ管理サーバ１０２、監視サーバ１０４に接続するためのユニットである。
【００１８】
図５は、監視サーバ１０４のハードウェア構成を示す図である。ＣＰＵ５０１〜表示部５０６、バス５０８は、図３に示すＣＰＵ３０１〜表示部３０６、バス３０８と同様であるため、その説明を省略する。ネットワーク部（取得手段）５０７は、画像処理装置１０１、コンテンツ管理サーバ１０２、コンテンツ配信サーバ１０３に接続するためのユニットである。
【００１９】
図６は、画像処理装置１０１のソフトウェア構成を示す図である。本実施形態に係る各構成部を実現するプログラムは、ＨＤＤ２０４に記憶されている。そして、それらのプログラムは、ＲＡＭ２０３にロードされ、ＣＰＵ２０１が実行することで、各構成部が実現される。
【００２０】
画面制御部６０１は、表示部２０６に出すメニュー表示の制御を行う。情報処理部６０２は、一時的な情報の保存や演算等を行う。ＤＢ処理部６０３は、画像処理装置１０１に保持しているＤＢ情報の参照や登録を行う。アプリ管理部６０４は、インストール済みアプリの識別子、バージョン、開始・停止などを管理する。ライセンス管理部６０５は、アプリの有効期限、アプリの復号鍵などのライセンス情報を管理する。予約情報取得部６０６は、コンテンツ管理サーバ１０２で設定される予約情報を取得する。アップデート条件確認部６０７は、アプリのアップデートを行う必要があるか否かの判定を行う。エラー通知部（通知手段）６０８は、コンテンツ管理サーバ１０２にエラー通知を行う。
【００２１】
アプリダウンロード部（第１のダウンロード手段）６０９は、アプリのダウンロードを行う。アプリインストール部（第１のアップデート手段）６１０は、アプリのインストール（アップデート）を行う。ファームダウンロード部（第２のダウンロード手段）６１１は、ファームウェアのダウンロードを行う。ファームアップデート部（第２のアップデート手段）６１２は、ファームウェアのアップデートを行う。なお、本実施形態では、アプリとファームウェアのダウンロード及びアップデートを異なる構成で実行しているが、例えば、１つのダウンロード部及びアップデート部がアプリとファームウェアのダウンロード及びアップデートそれぞれ実行してもよい。
【００２２】
図７は、コンテンツ管理サーバ１０２のソフトウェア構成を示す図である。本実施形態に係る各構成部を実現するプログラムは、ＨＤＤ３０４に記憶されている。そして、それらのプログラムはＲＡＭ３０３にロードされ、ＣＰＵ３０１が実行することで、各構成部が実現される。
【００２３】
画面制御部７０１は、ファームウェアやアプリの配信予約を行うメニュー表示の制御を行う。情報処理部７０２は、一時的な情報の保存や演算等を行う。ＤＢ処理部７０３は、コンテンツ管理サーバ１０２に保持しているＤＢ情報の参照や登録を行う。アプリ管理部７０４は、アプリを登録する機能を持ち、アプリの識別子、バージョンなどのアプリ情報を管理する。また、アプリ本体を保持しているコンテンツ配信サーバ１０３のＵＲＬを管理する。ファーム管理部７０５は、ファームウェアを登録する機能を有し、ファームウェアの識別子、バージョンなどのファームウェア情報を管理し、ファームウェア本体を保存しているコンテンツ配信サーバ１０３のＵＲＬを管理する。
【００２４】
図８は、コンテンツ配信サーバ１０３のソフトウェア構成を示す図である。本実施形態に係る各構成部を実現するプログラムは、ＨＤＤ４０４に記憶されている。そして、それらのプログラムはＲＡＭ４０３にロードされ、ＣＰＵ４０１が実行することで、各構成部が実現される。
【００２５】
画面制御部８０１は、管理画面表示の制御を行う。情報処理部８０２は、一時的な情報の保存や演算等を行う。ＤＢ処理部８０３は、コンテンツ配信サーバ１０３に保持しているＤＢ情報の参照や登録を行う。アプリ登録部８０４は、アプリ本体を登録する。ファーム登録部８０５は、ファームウェア本体を登録する。アプリ配信部８０６は、画像処理装置１０１にアプリを配信する。ファーム配信部８０７は、画像処理装置１０１にファームウェアを配信する。
【００２６】
図９は、監視サーバ１０４のソフトウェア構成を示す図である。本実施形態に係る各構成部を実現するプログラムは、ＨＤＤ５０４に記憶されている。そして、それらのプログラムはＲＡＭ５０３にロードされ、ＣＰＵ５０１が実行することで、各構成部が実現される。
【００２７】
画面制御部９０１は、管理画面表示の制御を行う。情報処理部９０２は、一時的な情報の保存や演算等を行う。ＤＢ処理部９０３は、監視サーバ１０４に保持しているＤＢ情報の参照や登録を行う。画像処理装置監視部９０４は、画像処理装置１０１のエラー発生等を受信し監視する。配信予約部９０５は、コンテンツ管理サーバ１０２にアクセスして配信予約管理部７０６へ予約情報を登録し、予約あり、なしを保持する。
【００２８】
図１０は、監視サーバ１０４経由でコンテンツ管理サーバ１０２に登録された予約情報を画像処理装置１０１が取得してアプリのアップデートを行う一連の処理を示すフローチャートである。まず、ステップＳ１０００で、サービスマンが監視サーバ１０４のＵＩ画面からコンテンツ管理サーバ１０２の画面に遷移し、アプリのアップデート配信予約の登録を行う。次に、ステップＳ１００１で、監視サーバ１０４の配信予約部９０５は、「コンテンツ管理サーバ１０２に予約情報あり」の情報を保持する。ステップＳ１００２で、画像処理装置１０１の予約情報取得部６０６は、「予約情報あり」の情報を監視サーバ１０４が保持しているか否かを一定時間毎のポーリングで確認する。
【００２９】
ここで、「予約情報あり」の情報がある場合、ステップＳ１００３で、予約情報取得部６０６は、「予約情報あり」の情報を取得する。そして、ステップＳ１００４で、予約情報取得部６０６は、予約情報を取得する。なお、本実施形態では、予約情報は、アプリの予約情報と、ファームウェアの予約情報の２種類があり、アプリの予約情報の場合、アプリ名、アプリＩＤ、バージョンの情報などを含む。次に、ステップＳ１００５で、アップデート条件確認部６０７は、画像処理装置１０１にインストール済みアプリのアプリＩＤ、バージョンなどからアップデート可否を判定する。
【００３０】
そして、アップデート不可・不要と判定された場合、ステップＳ１００６で、エラー通知部６０８は、コンテンツ管理サーバ１０２へエラー通知を行う。一方、アップデート可と判定された場合、ステップＳ１００７で、アプリダウンロード部６０９は、コンテンツ管理サーバ１０２へ対してアプリ取得のＵＲＬを要求する。そして、ステップＳ１００８で、アプリダウンロード部６０９は、ステップＳ１００７で取得したＵＲＬを元にコンテンツ配信サーバ１０３からアプリを取得する。次に、ステップＳ１００９で、アプリインストール部６１０は、画像処理装置１０１にインストール済みのアプリ復号鍵とライセンス情報を取得する。そして、ステップＳ１０１０で、アプリインストール部６１０は、ステップＳ１００９で取得した復号鍵とライセンス情報を元にアプリを復号し、ライセンス情報の引継を行う。以上で、配信アプリ（配信アプリケーション）の予約からアップデートまでの処理を終了する。
【００３１】
図１１は、画像処理装置１０１が行う図１０のステップＳ１００４〜ステップＳ１０１０の具体的な処理を示すフローチャートである。まず、ステップＳ１１０１で、予約情報取得部６０６は、コンテンツ管理サーバ１０２から予約情報を取得する。次に、ステップＳ１１０２で、予約情報取得部６０６は、ステップＳ１１０１で取得した予約情報が配信予定の配信アプリの予約情報か否かを判定する。
【００３２】
配信アプリの予約情報と判定された場合（ＹＥＳ）、ステップＳ１１０３に進む。そして、ステップＳ１１０３で、アップデート条件確認部５０７は、アプリ管理部６０４から画像処理装置１０１にインストール済みアプリの情報、すなわちアプリＩＤ、バージョン、起動状態（開始（稼働）ｏｒ停止）を取得する。次に、ステップＳ１１０４で、アップデート条件確認部６０７は、コンテンツ管理サーバ１０２から受信した予約情報に含まれる配信アプリのアプリＩＤと一致するアプリがインストール済みアプリの中にあるか否かを判定する。
【００３３】
一致するアプリがあると判定された場合（ＹＥＳ）、ステップＳ１１０５に進み、アップデート条件確認部６０７は、予約アプリ（配信アプリ）のバージョンがインストール済みアプリのバージョンより大きいか否かを判定する。予約アプリのバージョンがインストール済みアプリのバージョンより大きいと判定された場合（ＹＥＳ）、ステップＳ１１０６に進む。そして、ステップＳ１１０６で、アップデート条件確認部６０７は、ライセンス管理部６０５へインストール済みアプリのライセンスが有効か否かを判定する。ライセンスが有効であると判定された場合（ＹＥＳ）、ステップＳ１１０７に進む。そして、ステップＳ１１０７で、アプリダウンロード部６０９は、アプリをコンテンツ管理サーバ１０２からアプリ取得のＵＲＬを取得し、そのＵＲＬを元にコンテンツ配信サーバ１０３からアプリをダウンロードする。
【００３４】
次に、ステップＳ１１０８で、アプリインストール部６１０は、ライセンス管理部６０５からインストール済みのアプリ復号鍵とライセンス情報を取得する。次に、ステップＳ１１０９で、アプリインストール部６１０は、ステップＳ１１０８で取得したアプリの復号鍵でアプリを復号してダウンロードしたアプリインストールし、ライセンス情報の引き継ぎを行い、インストール済みのアプリのアップデートを行う。次に、ステップＳ１１１０で、アプリインストール部６１０は、ステップＳ１１０２で取得した情報に基づいてアップデート前のインストール済みのアプリの状態が開始状態か否かを判定する。すなわち、アップデート前（ダウンロードしたアプリのインストール前）のインストール済みのアプリが稼働中であるなど、動作が開始しているか否かを判定する。開始状態であると判定された場合（ＹＥＳ）、ステップＳ１１１１で、アプリインストール部６１０は、開始状態にし、処理を終了する。一方、開始状態でないと判定された場合（ＮＯ）、すなわち停止状態である場合、停止状態を維持して、処理を終了する。
【００３５】
ステップＳ１１０４で一致するアプリがない場合（ＮＯ）、ステップＳ１１０５で予約情報アプリのバージョンが小さい場合（ＮＯ）、ステップＳ１１０６でライセンスが有効でない場合（ＮＯ）、ステップＳ１１１３に進む。そして、ステップＳ１１１３で、エラー通知部６０８は、コンテンツ管理サーバ１０２にエラー通知し、処理を終了する。
【００３６】
ステップＳ１１０２でアプリの予約情報でないと判定された場合、つまりファームウェアの予約情報である場合（ＮＯ）、ステップＳ１１１４に進む。そして、ステップＳ１１１４で、ファームダウンロード部６１１は、コンテンツ配信サーバ１０３からファームウェアをダウンロードする。次に、ステップＳ１１１５で、ファームアップデート部６１２は、ファームウェアを復号化する。次に、ステップＳ１１１６で、ファームウェアをアップデートし、処理を終了する。
【００３７】
以上の処理により、画像処理装置１０１にインストール済みのアプリ情報をコンテンツ管理のサーバ１０２に送信しなくとも重要なアップデートを確実に実行することが可能となる。従って、本実施形態によれば、画像処理装置側からサーバに対してアップデートに必要な情報を送信できない場合であっても、アプリのアップデートが可能な画像処理装置を提供することができる。
【００３８】
（第２実施形態）
第１実施形態では、図１１のステップＳ１１０６で、ライセンス管理部６０５へインストール済みアプリのライセンスが有効か否かに応じて、エラーを通知するか、アプリをダウンロードした。しかしながら、画像処理装置１０１にアプリがインストールされている状態で、ライセンスの状態が「有効」以外の場合がある。そこで、本実施形態では、ライセンスの状態が「有効」以外の場合について説明する。
【００３９】
図１２は、ライセンス管理部６０５で保持するライセンスの状態とアプリ管理部６０４で保持するアプリの状態の組み合わせを示す図である。本実施形態におけるライセンスの状態は、「有効」の他に、「失効」、「未インストール（ライセンス情報あり）」、「未インストール（ライセンス情報なし）」の４パターンとするが、これに限定することなく、他のライセンスの状態であってもよい。
【００４０】
ここで、「有効」とは、ライセンスがインストール済み、かつアプリを使用可能（開始可能）な状態を示す。また、「失効」とは、ライセンスの有効期限を超過し、アプリが使用不可（開始不可）な状態を示す。さらに、「未インストール（ライセンス情報あり）」とは、「有効」もしくは「失効」状態のライセンスをファイル化してライセンスを休止状態にし、アプリを使用不可（開始不可）にした状態を示す。そして、「有効」状態のライセンスをファイル化すると、その時点から有効期限を消費しなくすることができるものとする。また、「未インストール（ライセンス情報なし）」とは、「有効」「失効」状態のライセンスをファイル化し、その後削除した状態を示す。なお、ライセンスを削除した場合、ライセンス情報は取り出せないため、ライセンス情報の引き継ぎができなくなる。
【００４１】
図１２において、列１２０１は、ライセンスの状態を示す。列１２０２は、アプリの状態を示す。行１２０３は、ライセンスの状態が有効、かつアプリの状態が開始であることを示している。行１２０４は、ライセンスの状態が有効、かつアプリの状態が停止であることを示している。行１２０５は、ライセンスの状態が失効、かつアプリの状態が停止状態であることを示している。行１２０６は、ライセンスの状態が未インストール（ライセンス情報あり）、かつアプリの状態が停止であることを示している。行１２０７は、ライセンスの状態が未インストール（ライセンス情報なし）、かつアプリの状態が停止であることを示している。
【００４２】
本実施形態において、ライセンスの状態が「有効」以外のケースは、行１２０５、行１２０６、行１２０７である。第１実施形態では、図１１のステップＳ１１０６でライセンスの状態が「有効」のケースである行１２０３、行１２０４のアプリがアップデート対象であった。
【００４３】
しかしながら、ライセンスの状態が「有効」以外のケース、つまり行１２０５、行１２０６、行１２０７のケースにおいて、ライセンスを有効状態に戻したタイミングで、すぐに最新のアプリを使用したいというケースが想定される。ただし、ライセンスの状態が「未インストール（ライセンス情報なし）」である行１２０７のケースは、画像処理装置１０１内部にライセンス情報が残っていないためアプリを復号する鍵が残っておらずアプリの復号ができない。従って、本実施形態では、ライセンスの状態が「有効」である行１２０３、行１２０４に加え、ライセンスの状態が「失効」である行１２０５、「未インストール（ライセンス情報あり）」である行１２０６のケースもアップデート対象とする。
【００４４】
ただし、前述したように「未インストール（ライセンス情報あり）」のケースは、「有効」もしくは「失効」状態のライセンスをファイル化してライセンスを休止状態にし、アプリを使用不可（開始不可）にした状態である。そのため、このライセンス状態のアプリをアップデートする場合は、アップデート後にライセンスの状態を「有効」からファイル化して「未インストール（ライセンス情報あり）」に戻して、有効期限を消費しなくするようにする。
【００４５】
図１３および１４は、図１１と同様、画像処理装置１０１が行う図１０のステップＳ１００４〜ステップＳ１０１０の処理をフローチャートで示したものである。第１実施形態の図１１では、ライセンスの状態が「有効」のアプリのみアップデート対象としているが、本実施形態の図１３では、さらにライセンスの状態が「失効」、または「未インストール（ライセンス情報あり）」についてもアップデート対象としている。
【００４６】
まず、ステップＳ１３０１で、予約情報取得部６０６は、コンテンツ管理サーバ１０２から予約情報を取得する。次に、ステップＳ１３０２で、予約情報取得部６０６は、アプリの予約情報か否かを判定する。アプリの予約情報であると判定された場合（ＹＥＳ）、ステップＳ１３０３に進む。そして、ステップＳ１３０３で、アップデート条件確認部５０７は、アプリ管理部６０４から画像処理装置１０１にインストール済みアプリのアプリＩＤ、バージョン、起動状態（開始ｏｒ停止）を取得する。次に、ステップＳ１３０４で、アップデート条件確認部６０７は、コンテンツ管理サーバ１０２から受信した予約情報に含まれるアプリＩＤと一致するアプリがインストール済みアプリの中にあるか否かを判定する。一致するアプリがあると判定された場合（ＹＥＳ）、ステップＳ１３０５に進み、アップデート条件確認部６０７は、予約アプリのバージョンがインストール済みアプリのバージョンより大きいか否かを判定する。
【００４７】
予約アプリのバージョンがインストール済みアプリのバージョンより大きいと判定された場合（ＹＥＳ）、ステップＳ１３０６に進む。そして、ステップＳ１３０６で、アップデート条件確認部６０７は、ライセンス管理部６０５へインストール済みアプリのライセンスの状態が未インストール状態か、つまり行１２０６または行１２０７の状態であるか否かを判定する。ライセンスの状態が未インストールの状態である場合（ＹＥＳ）、ステップＳ１３０７に進み、ライセンスの状態が未インストールの状態でない場合（ＮＯ）、ステップＳ１３０９に進む。そして、ステップＳ１３０７で、アップデート条件確認部６０７は、ライセンス管理部６０５へインストール済みアプリのライセンス情報が履歴で残っているか否か、つまり行１２０６の状態か否かを判定する。ライセンスが履歴で残っている場合（ＹＥＳ）、ステップＳ１３０８に進み、フラグを立てる。
【００４８】
そして、ステップＳ１３０９で、アプリダウンロード部６０９は、コンテンツ管理サーバ１０２からダウンロード先のＵＲＬを取得し、コンテンツ配信サーバ１０３からアプリをダウンロードする。次に、ステップＳ１３１０で、アプリインストール部６１０は、インストール済みのアプリ復号鍵とライセンス情報を取得する。次に、ステップＳ１３１１で、アプリインストール部６１０は、ステップＳ１３１０において取得した復号鍵でアプリを復号してインストールし、ライセンス情報の引き継ぎを行う。
【００４９】
そして、ステップＳ１３１２で、アプリインストール部６１０は、フラグが立っているか否かを判定する。フラグが立っている場合（ＹＥＳ）、ステップＳ１３１３で、アプリインストール部６１０は、ライセンスをファイル化し、有効期限の消費を停止させる。すなわち、行１２０６のライセンスを未インストール状態（ライセンス情報あり）の状態にする。次に、ステップＳ１３１５で、アプリインストール部６１０は、アップデート前の状態が開始状態か否かを、ステップＳ１３０２で取得した情報を元に判定する。開始状態である場合（ＹＥＳ）、ステップＳ１３１６に進み、アプリインストール部６１０は、開始状態にし、処理を終了する。一方、ステップＳ１３１２でフラグが立っていない場合（ＮＯ）、およびステップＳ１３１５で開始状態でない場合（ＮＯ）、そのまま処理を終了する。
【００５０】
また、ステップＳ１３０４で一致するアプリがないと判定された場合（ＮＯ）、予約アプリのバージョンがインストール済みアプリのバージョンより小さいと判定された場合（ＮＯ）、ライセンスが履歴で残っていない場合（ＮＯ）、ステップＳ１３１４に進む。そして、ステップＳ１３１４で、エラー通知部６０８は、コンテンツ管理サーバ１０２にエラー通知し、処理を終了する。
【００５１】
一方、ステップＳ１３０２でアプリの予約情報でない場合（ＮＯ）、つまりファームウェアの予約情報である場合、ステップＳ１３１７に進み、ファームダウンロード部６１１は、コンテンツ配信サーバ１０３からファームウェアをダウンロードする。次に、ステップＳ１３１８で、ファームアップデート部６１２は、ファームウェアを復号し、ステップＳ１３１９で、ファームウェアをアップデートし、処理を終了する。
【００５２】
以上の処理により、画像処理装置１０１にインストール済みのアプリのうち、ライセンスが失効していたり、無効状態にしているアプリがある場合であっても、重要なアップデートを確実に実行することが可能となる。従って、本実施形態によれば、画像処理装置側からサーバに対してアップデートに必要な情報を送信できない場合であっても、アプリのアップデートが可能な画像処理装置を提供することができる。
【００５３】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００５４】
また、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【図１】
0006541484.tif 000002
【図２】
0006541484.tif 000003
【図３】
0006541484.tif 000004
【図４】
0006541484.tif 000005
【図５】
0006541484.tif 000006
【図６】
0006541484.tif 000007
【図７】
0006541484.tif 000008
【図８】
0006541484.tif 000009
【図９】
0006541484.tif 000010
【図１０】
0006541484.tif 000011
【図１１】
0006541484.tif 000012
【図１２】
0006541484.tif 000013
【図１３】
0006541484.tif 000014
【図１４】
0006541484.tif 000015