(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】2021068190
(43)【公開日】20210430
(54)【発明の名称】情報処理装置およびアプリケーションの管理方法
(51)【国際特許分類】
   G06F 13/00 20060101AFI20210402BHJP
   G06F 8/61 20180101ALI20210402BHJP
   B41J 29/38 20060101ALI20210402BHJP
   G06F 3/12 20060101ALI20210402BHJP
   H04N 1/00 20060101ALI20210402BHJP
【FI】
   !G06F13/00 530B
   !G06F8/61
   !B41J29/38 501
   !G06F3/12 303
   !G06F3/12 330
   !H04N1/00 C
   !H04N1/00 002A
【審査請求】未請求
【請求項の数】7
【出願形態】OL
【全頁数】14
(21)【出願番号】2019193070
(22)【出願日】20191023
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
【住所又は居所】東京都大田区下丸子3丁目30番2号
(74)【代理人】
【識別番号】100114775
【弁理士】
【氏名又は名称】高岡 亮一
(74)【代理人】
【識別番号】100121511
【弁理士】
【氏名又は名称】小田 直
(74)【代理人】
【識別番号】100208580
【弁理士】
【氏名又は名称】三好 玲奈
(72)【発明者】
【氏名】坪井 正徳
【住所又は居所】東京都大田区下丸子3丁目30番2号 キヤノン株式会社内
【テーマコード(参考)】
2C061
5B084
5B376
5C062
【Fターム(参考)】
2C061AP01
2C061AP07
2C061AQ05
2C061AQ06
2C061HJ08
2C061HK11
2C061HN15
5B084AA06
5B084AA12
5B084AB16
5B084AB37
5B084BA09
5B084BB01
5B084CC07
5B084CC14
5B084CD10
5B084CD26
5B084DB02
5B084DC02
5B376AB06
5B376AB13
5B376AB47
5B376AC13
5B376AD19
5B376GA01
5C062AA05
5C062AA25
5C062AA35
5C062AB20
5C062AB25
5C062AB41
5C062AB42
5C062AB43
5C062AB44
5C062AC02
5C062AC22
5C062AC51
5C062AE15
5C062AF06
(57)【要約】
【課題】 アプリケーションの所定のバージョンから追加され、別のアプリケーションを使用する追加機能をユーザが利用可能とする情報処理装置を提供する。
【解決手段】 情報処理装置は、自装置にインストールされている第1のアプリケーションが所定のバージョン以上であるときに、第1のアプリケーションの所定のバージョンからの追加機能で使用される第2のアプリケーションが自装置にインストールされているかを判断する判断手段と、第2のアプリケーションが自装置にインストールされていないときに、第2のアプリケーションを配信サーバから取得する取得手段と、取得手段が取得した第2のアプリケーションを自装置にインストールするインストール手段と、を備える。
【選択図】 図7
【特許請求の範囲】
【請求項1】
自装置にインストールされている第1のアプリケーションが所定のバージョン以上であるときに、前記第1のアプリケーションの所定のバージョンからの追加機能で使用される第2のアプリケーションが前記自装置にインストールされているかを判断する判断手段と、
前記第2のアプリケーションが前記自装置にインストールされていないときに、前記第2のアプリケーションを配信サーバから取得する取得手段と、
前記取得手段が取得した前記第2のアプリケーションを前記自装置にインストールするインストール手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記判断手段は、前記自装置の起動時、前記第1のアプリケーションのインストールまたはアップデートのときのいずれかで、前記第2のアプリケーションが前記自装置にインストールされているかを判断する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記判断手段による判断の要否を示すフラグ情報を記憶する記憶手段をさらに備え、
前記判断手段は、前記自装置の起動時に前記フラグ情報の設定が判断の不要を示す第1状態であれば、前記第2のアプリケーションが前記自装置にインストールされているかを判断しない
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記フラグ情報は、
前記第2のアプリケーションが前記自装置にインストールされたときに前記第1状態に設定され、
前記第2のアプリケーションのインストールが失敗したときに、前記判断手段による判断を要求する第2状態に設定される
ことを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記インストール手段は、前記第2のアプリケーションが前記自装置にインストールされていないと判断されたときに、前記フラグ情報を前記第2状態に設定した後に、前記第2のアプリケーションを前記自装置にインストールする処理を行う
ことを特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記インストール手段は、前記配信サーバから前記第2のアプリケーションの取得に失敗し、当該失敗のときに通信エラーが発生していなければ、前記フラグ情報を前記第1状態に設定する
ことを特徴とする請求項3乃至5のいずれか一項に記載の情報処理装置。
【請求項7】
情報処理装置のアプリケーションの管理方法であって、
前記情報処理装置にインストールされている第1のアプリケーションが所定のバージョン以上であるときに、前記第1のアプリケーションの所定のバージョンからの追加機能で使用される第2のアプリケーションが前記情報処理装置にインストールされているかを判断する判断工程と、
前記第2のアプリケーションが前記情報処理装置にインストールされていないときに、前記第2のアプリケーションを配信サーバから取得する取得工程と、
前記取得工程で取得された前記第2のアプリケーションを前記情報処理装置にインストールするインストール工程と、
を有することを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置およびアプリケーションの管理方法に関する。
【背景技術】
【0002】
OSGi(Open Services Gateway initiative) Allianceから、アプリケーションのライフサイクルを管理するフレームワークとしてOSGiフレームワークが提唱されている。
【0003】
OSGiフレームワークでは、アプリケーションの形式をJava(登録商標)の圧縮フォーマットであるjarファイルとして規定している。jarファイルは、複数のクラスファイルをアーカイブとして1つにまとめたものである。jarファイルは、内部にMANIFEST.MFというjarファイルの説明が記載されたマニフェストファイルを1つ持っている。OSGiフレームワークではこのマニフェストファイルにOSGi仕様の属性を記載することで、記載された属性に従って、アプリケーションの開始、停止などのアプリケーションのライフサイクルが管理される。
【0004】
また、例えば画像形成装置などの情報処理装置において、アプリケーションを後からインストールして搭載することが試みられており、上記のOSGiフレームワークに準拠した仕組みを搭載した画像形成装置も普及している。この種の画像形成装置においては、マニフェストファイルにOSGi仕様の属性だけでなく、例えば、アプリケーションのIDやHDDの最大使用量など独自の属性を定義し、OSGiの仕様を拡張したものも知られている。
【0005】
画像形成装置にインストール済みのアプリケーションをアップデートする技術に関しては、例えば特許文献1に開示がある。特許文献1の開示では、画像形成装置にインストール済みのアプリケーションよりも新しいバージョンのアプリケーションがコンテンツ配信サーバに存在すれば、そのバージョンのアプリケーションを自動で取得してアップデートを行う。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005−297237号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、アプリケーションが新しいバージョンで追加機能を別のアプリケーションを使用して提供する場合、インストール済みのアプリケーションのみをアップデートしただけでは新しいバージョンで提供される追加機能をユーザが利用できない。
【0008】
本発明は、上記の状況に鑑みてなされたものであって、アプリケーションの所定のバージョンから追加され、別のアプリケーションを使用する追加機能をユーザが利用可能とする情報処理装置を提供する。
【課題を解決するための手段】
【0009】
本発明の一例である情報処理装置は、自装置にインストールされている第1のアプリケーションが所定のバージョン以上であるときに、第1のアプリケーションの所定のバージョンからの追加機能で使用される第2のアプリケーションが自装置にインストールされているかを判断する判断手段と、第2のアプリケーションが自装置にインストールされていないときに、第2のアプリケーションを配信サーバから取得する取得手段と、取得手段が取得した第2のアプリケーションを自装置にインストールするインストール手段と、を備える。
【発明の効果】
【0010】
本発明の一例である情報処理装置によれば、アプリケーションの所定のバージョンから追加され、別のアプリケーションを使用する追加機能をユーザが利用できる。
【図面の簡単な説明】
【0011】
【図1】第1実施形態のネットワークシステムの構成例を示す図である。
【図2】画像形成装置のハードウェア構成の例を示す図である。
【図3】コンテンツ配信サーバのハードウェア構成の例を示す図である。
【図4】画像形成装置のソフトウェア構成の例を示す図である。
【図5】コンテンツ配信サーバのソフトウェア構成の例を示す図である。
【図6】アプリケーションのデータ構造の例を示す図である。
【図7】第1実施形態におけるアプリケーションの管理処理の例を示すフローチャートである。
【図8】第2実施形態におけるアプリケーションの管理処理の例を示すフローチャートである。
【図9】第3実施形態におけるアプリケーションの管理処理の例を示すフローチャートである。
【図10】第4実施形態におけるアプリケーションの管理処理の例を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態を図面などに基づいて詳細に説明する。各図において、同一の要素については同一の参照番号を付し、重複する説明はいずれも省略する。
【0013】
<第1実施形態>
図1は、第1実施形態に係る情報処理装置を含むネットワークシステムの構成例を示す図である。
図1に示すネットワークシステムでは、画像形成装置101とコンテンツ配信サーバ102が、インターネットなどのネットワーク103を介して通信可能に接続されている。なお、ネットワークシステムに含まれる画像形成装置101は、複数であってもよい。
【0014】
画像形成装置101は、情報処理装置の一例であって、用紙に対してトナーやインク等の記録剤を用いて画像形成を行う印刷機能を備える装置である。画像形成装置101は、印刷機能に加えてFAX、コピー等の複合機能を備える複合機であってもよい。なお、画像形成装置101は、装置固有の個体番号を有している。
【0015】
コンテンツ配信サーバ102は、画像形成装置101で動作する後述のアプリケーション601を配信する機能を備えたサーバ装置である。コンテンツ配信サーバ102は、複数台のサーバ装置から構築されていてもよい。
【0016】
図2は、画像形成装置101のハードウェア構成の例を示す図である。
画像形成装置101は、CPU201、ROM202、RAM203、HDD204、操作部205、表示部206、印刷部207、スキャナ部208、ネットワーク部209を備える。これらの要素は、バス210を介してそれぞれ接続され、バス210を介してデータの送受信が可能である。
なお、CPUは、Central Processing Unitの略であり、ROMは、Read Only Memoryの略である。RAMは、Random Access Memoryの略であり、HDDは、Hard Disk Driveの略である。
【0017】
CPU201は、画像形成装置101の各要素を統括的に制御する。CPU201は、HDD204に格納されているアプリケーションプログラムや、ROM202等に記憶された制御プログラム等を実行する。更に、CPU201は、プログラムの実行に必要な情報やファイル等をRAM203に一時的に格納する制御を行う。CPU201は、ROM202又はHDD204などに記憶されたプログラムを読み出して処理を実行し、これにより画像形成装置101の機能が実現される。
【0018】
ROM202は、不揮発性の記憶媒体であって、組込済みプログラムおよび各種のデータを記憶する。
RAM203は、CPU201の主メモリ、ワークエリア等の一時領域として機能する一時記憶部である。CPU201は、ROM202に記憶されているプログラムをRAM203にロードしプログラムを実行する。RAM203は、記憶した内容を電源オフ後も保持可能なFRAM(登録商標)およびSRAM、電源オフ後に記憶内容が消去されるDRAMなどにより構成される。
【0019】
HDD204は、各種のアプリケーションプログラムやテータを記憶する大容量の記憶媒体である。CPU201は、HDD204に記憶されているプログラムをRAM203にロードしプログラムを実行する。また、RAM203のデータをHDD204に保存することもできる。
【0020】
操作部205は、ユーザからの入力を受け付けるデバイスである。操作部205は、例えばタッチパネルモジュールや、ハードキーなどを含む。
表示部206は、液晶モニタなどのディスプレイ装置であって、画像形成装置101のユーザインタフェース画面を表示する。なお、表示部206は、上記のタッチパネルモジュールの表示部として実装されていてもよい。
【0021】
印刷部207は、入力された画像データに基づいて、既知の電子写真方式により不図示の給紙カセットから給紙されたシート上に画像形成を行うデバイスである。
スキャナ部208は、原稿台に載置された原稿を読み取り、画像データを生成するデバイスである。スキャナ部208が生成した画像データは、印刷部207での印刷、HDD204への記憶、あるいはネットワーク部209を介した外部装置への送信に提供される。
【0022】
ネットワーク部209は、外部装置とのデータの送受を行う通信インターフェースである。ネットワーク部209は、例えば、コンテンツ配信サーバ102と通信し、コンテンツ配信サーバ102からアプリケーションプログラム等を受信する。
【0023】
図3は、コンテンツ配信サーバ102のハードウェア構成の例を示す図である。
コンテンツ配信サーバ102は、CPU301、ROM302、RAM303、HDD304、操作部305、表示部306、ネットワーク部307を備える。これらの要素は、バス310を介してそれぞれ接続され、バス310を介してデータの送受信が可能である。
【0024】
図3において、CPU301、ROM302、RAM303、HDD304、操作部305、表示部306、ネットワーク部307の機能は、図2に示した同名称の要素と同様であるため重複説明はいずれも省略する。なお、図3において、操作部305はキーボードやポインティングデバイスであってもよい。
【0025】
図4は、画像形成装置101のソフトウェア構成の例を示す図である。
画像形成装置101は、ソフトウェアモジュールとして、記憶部401、ダウンロード部402、インストール部403、UI制御部404、アプリケーション管理部405を備える。
【0026】
ここで、図4に示されている各要素のプログラムはHDD204に記憶されている。そして、それらのプログラムがRAM203にロードされ、CPU201によって実行されることで、画像形成装置101において各要素の機能が実現される。
【0027】
記憶部401は、画像形成装置101で動作するアプリケーション601本体と後述するマニフェストファイル602の情報をHDD204に記憶させる。さらに、記憶部401は、アプリケーション601が利用可能なHDD容量の情報を記憶する。なお、第1実施形態では、アプリケーション601が利用可能な容量をHDD容量として説明しているが、別の資源であってもよい。例えば、記憶部401は、アプリケーション601が利用可能な容量として、メモリやそれ以外のソフトウェア資源の情報を記憶してもよい。
【0028】
ダウンロード部402は、ダウンロード手段の一例であって、画像形成装置101で動作するアプリケーション601をコンテンツ配信サーバ102から取得するための処理を行う。
インストール部403は、HDD204に記憶されているアプリケーション601をアップデートするための処理を行う。アプリケーション601がインストール済みでない場合は、インストール部403は、HDD204にアプリケーション601を新規にインストールする。インストール部403は、判断手段およびインストール手段の一例である。
【0029】
UI制御部404は、表示部206に表示する画面を制御する。
アプリケーション管理部405は、アプリケーション601に関するマニフェストファイル602の情報を管理する。
【0030】
図5は、コンテンツ配信サーバ102のソフトウェア構成の例を示す図である。
コンテンツ配信サーバ102は、ソフトウェアモジュールとして、記憶部501、検索部502、配信部503を備える。
【0031】
ここで、図5に示されている各要素のプログラムはHDD304に記憶されている。そして、それらのプログラムがRAM303にロードされ、CPU301によって実行されることで、コンテンツ配信サーバ102において各要素の機能が実現される。
【0032】
記憶部501は、アプリケーション601と、マニフェストファイル602の情報をHDD304に記憶させる。
検索部502は、マニフェストファイル602に記載されたApplication−Idによりアプリケーションを特定する。そして、検索部502は、マニフェストファイル602に記載されたBundle−Versionの数値比較により、バージョンアップさせるアプリケーションを特定する。
配信部503は、アプリケーション601を画像形成装置101に配信する。
【0033】
図6は、画像形成装置101で動作するアプリケーション601のデータ構造の例を示す図である。
アプリケーション601はjarファイル形式であり、マニフェストファイル602を含む。アプリケーション601の本体はクラスファイル603である。マニフェストファイル602には、アプリケーション601の属性情報が記載される。
【0034】
マニフェストファイル602の属性情報のうち、例えば、Bundle−Nameはアプリケーション601の名前を示し、Bundle−Versionはアプリケーション601のバージョンを示す。また、Application−Idはアプリケーションの識別子を示す。また、MaximumFilespaceUsageはアプリケーションの最大HDD使用量を示す。
【0035】
図7は、第1実施形態の画像形成装置101によるアプリケーションの管理処理の例を示すフローチャートである。図7の処理は、画像形成装置101の起動時、もしくはインストール部403がアプリケーションAをインストールもしくはアップデート完了した直後に行われる。
【0036】
例えば、アプリケーションAのV1.0では提供していない追加機能Cを、アプリケーションAのV2.0以上では別のアプリケーションBを使用することで実現する場合を考える。
【0037】
このとき、アプリケーションAのV2.0が画像形成装置101にすでにインストール済みであっても、アプリケーションBが未インストールである場合には、上記の追加機能Cをユーザが利用することはできない。
【0038】
同様に、アプリケーションAのV2.0をこれからインストールしようとする場合、あるいは、アプリケーションAのV1.0からV2.0へアップデートする場合においても、アプリケーションBもインストールしないと新しい追加機能Cは利用できない。
【0039】
図7の処理は、以上の事象に対処するためになされる。なお、アプリケーションAは第1のアプリケーションの一例であり、アプリケーションBは第2のアプリケーションの一例である。V2.0以上は、所定のバージョン以上の一例である。
【0040】
図7に戻って、ステップS701にて、インストール部403は、インストールされているアプリケーションAのバージョンをアプリケーション管理部405に照会する。そして、インストール部403は、追加機能Cに対応するV2.0以上のアプリケーションAが画像形成装置101にインストール済みかを判断する。
V2.0以上のアプリケーションAがインストール済みである場合、処理はステップS702に移行する。一方、V2.0以上のアプリケーションAがインストール済みでない場合、図7の処理は終了する。
【0041】
ステップS702にて、インストール部403は、追加機能Cで使用されるアプリケーションBがインストール済みかをアプリケーション管理部405に照会し、画像形成装置101にアプリケーションBがインストール済みかを判断する。
アプリケーションBがインストール済みである場合、図7の処理は終了する。一方、アプリケーションBがインストール済みでない場合、処理はステップS703に移行する。
【0042】
ステップS703にて、ダウンロード部402は、アプリケーションAの追加機能Cで使用されるアプリケーションBをコンテンツ配信サーバ102からダウンロードする。
ステップS704にて、インストール部403は、ダウンロードしたアプリケーションBを画像形成装置101にインストールする。その後、アプリケーション管理部405は、マニフェストファイル602の情報を登録し、図7の処理を終了する。
【0043】
第1実施形態の画像形成装置101は、自装置にインストールされているアプリケーションAがV2.0以上であるときに、アプリケーションAの追加機能Cで使用されるアプリケーションBが自装置にインストールされているかを判断する(S702)。そして、画像形成装置101は、アプリケーションBがインストールされていないときに、アプリケーションBをコンテンツ配信サーバ102から取得し(S703)、アプリケーションBを自装置にインストールする(S704)。
【0044】
これにより、第1実施形態においては、アプリケーションAの所定のバージョンから追加され、別のアプリケーションBを使用する追加機能Cを、画像形成装置101のユーザが利用できる。
なお、以下の各実施形態の説明において、ネットワークシステムの装置構成はいずれも第1実施形態と同様であるので、重複説明はいずれも省略する。
【0045】
<第2実施形態>
第2実施形態は、上記の第1実施形態の変形例である。
第1実施形態において、画像形成装置101にインストール済みであるアプリケーションのマニフェストファイル602の情報はHDD204に記憶され、画像形成装置101のアプリケーション管理部405によって管理される。そのため、画像形成装置101の起動時に上記のアプリケーションの管理処理を毎回行うと、画像形成装置101の起動の所要時間が必要以上に延びてしまう。第2実施形態はかかる事象に対処するための構成例である。
【0046】
図8は、第2実施形態の画像形成装置101によるアプリケーションの管理処理の例を示すフローチャートである。図8の処理は、画像形成装置101の起動時、もしくはインストール部403がアプリケーションAをインストールもしくはアップデート完了した直後に行われる。
【0047】
ステップS801にて、インストール部403は、画像形成装置101の起動時であるかを判断する。画像形成装置101の起動時である場合、処理はステップS802に移行する。一方、画像形成装置101の起動時ではない場合、処理はステップS701に移行する。
【0048】
ステップS802にて、インストール部403は、チェック済フラグがオンであるかを判断する。チェック済フラグがオンである場合、図8の処理は終了する。一方、チェック済フラグがオフである場合、処理はステップS701に移行する。
【0049】
ここで、チェック済フラグは、アプリケーションBのインストールに関する判断の要否を示すフラグ情報であり、インストール部403によって管理される。チェック済フラグの情報は、例えば、画像形成装置101のRAM203またはHDD204に記憶されて保持される。
【0050】
チェック済フラグがオン(第1状態)のときは、アプリケーションBのインストールに関する判断が不要であることを示す。チェック済フラグがオフ(第2状態)のときは、アプリケーションBのインストールに関する判断を要求することを示す。なお、初期状態のとき、チェック済フラグはオフに設定される。
【0051】
図8のステップS701、S702、S703の処理は、それぞれ図7に示す第1実施形態の処理と同様である。
ただし、ステップS701にて、V2.0以上のアプリケーションAがインストール済みでない場合、処理はステップS805に移行する。
また、ステップS702にて、アプリケーションBがインストール済みである場合、処理はステップS805に移行する。
また、ステップS703の処理が終了すると、処理はステップS803に移行する。
【0052】
ステップS803にて、ダウンロード部402は、ダウンロード時にエラーが発生したかを判断する。ダウンロード時にエラーが発生した場合、処理はステップS806に移行する。一方、ダウンロード時にエラーが発生していない場合、処理はステップS704に移行する。
【0053】
図8のステップS704の処理は、図7に示す第1実施形態の処理と同様である。ステップS704の処理が終了すると、処理はステップS804に移行する。
【0054】
ステップS804にて、インストール部403は、インストール時にエラーが発生したかを判断する。インストール時にエラーが発生した場合、処理はステップS806に移行する。一方、インストール時にエラーが発生していない場合、処理はステップS805に移行する。
【0055】
ステップS805は、アプリケーションBのインストールが成功している場合である。このとき、インストール部403は、チェック済フラグをオンに設定する。その後、図8の処理は終了する。
【0056】
ステップS806は、ダウンロード時またはインストール時のエラーによりアプリケーションBのインストールが失敗した場合である。このとき、インストール部403は、チェック済フラグをオフに設定する。その後、図8の処理は終了する。
【0057】
第2実施形態の画像形成装置101は、アプリケーションBのインストールに関する判断の要否を示すチェック済フラグを記憶する。そして、画像形成装置101は、自装置の起動時にチェック済フラグがオンであれば(S802のYES)、アプリケーションBが自装置にインストールされているかを判断せずに処理を終了する。
これにより、第2実施形態においては、画像形成装置101の起動時の処理が軽減され、画像形成装置101の起動の所要時間が必要以上に延びることを抑制できる。
【0058】
<第3実施形態>
第3実施形態は、上記の第2実施形態の変形例である。
第2実施形態において、チェック済フラグがオンの状態で、アプリケーションBのダウンロード時(S703)またはインストール時(S704)に画像形成装置101の電源断などが生じた場合を考える。この場合には、画像形成装置101にアプリケーションBのインストールが完了していない。しかし、チェック済フラグがオンの状態であるので、以後の画像形成装置101の起動時にアプリケーションBはインストールされない。第3実施形態はかかる事象に対処するための構成例である。
【0059】
図9は、第3実施形態の画像形成装置101によるアプリケーションの管理処理の例を示すフローチャートである。図9の処理は、画像形成装置101の起動時、もしくはインストール部403がアプリケーションAをインストールもしくはアップデート完了した直後に行われる。
【0060】
図9の処理は、図8のステップS702とS703の処理の間にステップS901の処理が行われる点で、第2実施形態と相違する。
図9のステップS702でアプリケーションBがインストール済みでない場合、処理はステップS901に移行する。ステップS901にて、インストール部403は、チェック済フラグをオフに設定する。その後、ステップS703に処理が移行する。
【0061】
第3実施形態の画像形成装置101は、アプリケーションBが自装置にインストールされていないと判断されたときに、チェック済フラグをオフに設定した後(S901)に、アプリケーションBを自装置にインストールする処理を行う。
これにより、第3実施形態においては、アプリケーションBのダウンロード中またはインストール中に画像形成装置101に電源断が生じると、チェック済フラグはオフの状態になっている。そのため、上記の場合には、画像形成装置101の起動時に、再度アプリケーションBをインストールする工程が実行される。
【0062】
<第4実施形態>
第4実施形態は、上記の第2実施形態や第3実施形態の変形例である。
上記の第2実施形態や第3実施形態において、例えば、HDD容量不足やライセンス数の不足などの理由によりアプリケーションBのインストールに失敗した場合を考える。この場合には、次回の画像形成装置101の起動時にインストールのリトライをしても毎回エラーになってしまう。第4実施形態はかかる事象に対処するための構成例である。
【0063】
図10は、第4実施形態の画像形成装置101によるアプリケーションの管理処理の例を示すフローチャートである。図10の処理は、画像形成装置101の起動時、もしくはインストール部403がアプリケーションAをインストールもしくはアップデート完了した直後に行われる。
【0064】
図10の処理は、図9のステップS704の処理の後にステップS804の判断がない点と、ステップS803のYesの場合にステップS1001の判断が行われる点で、第3実施形態と相違する。
【0065】
図10のステップS803にて、ダウンロード部402は、ダウンロード時にエラーが発生したかを判断する。ダウンロード時にエラーが発生した場合、処理はステップS1001に移行する。一方、ダウンロード時にエラーが発生していない場合、処理はステップS704に移行する。
図10のステップS704の処理は、図7に示す第1実施形態の処理と同様である。ステップS704の処理が終了すると、処理はステップS805に移行する。
【0066】
ステップS1001にて、インストール部403は、ダウンロード時のエラーは通信エラーかを判断する。ダウンロード時のエラーが通信エラーでない場合、処理はステップS805に移行する。一方、ダウンロード時のエラーが通信エラーである場合、処理はステップS806に移行する。
【0067】
図10のステップS805は、アプリケーションBのインストールが行われた場合(S704)、またはダウンロード時に通信エラー以外のエラーが発生した場合(S1001のYES)である。このとき、インストール部403は、チェック済フラグをオンに設定する。その後、図10の処理は終了する。
【0068】
図10のステップS806は、ダウンロード時に通信エラーによりアプリケーションBのインストールが失敗した場合である。このとき、インストール部403は、チェック済フラグをオフに設定する。その後、図10の処理は終了する。
【0069】
第4実施形態の画像形成装置101は、ダウンロード時にエラーによりコンテンツ配信サーバ102からアプリケーションBの取得に失敗したときに、このエラーが通信エラーでなければチェック済フラグをオンに設定する(S1001、S805)。
これにより、第4実施形態においては、リトライしてもインストール失敗の可能性の高いケースでは、画像形成装置101の起動時にアプリケーションBのインストールに関する処理がスキップされるので、起動時における無駄な処理を抑制できる。
【0070】
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0071】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【0072】
例えば、上記の各実施形態では、情報処理装置の一例として画像形成装置の場合を説明した。しかし、本発明の情報処理装置は、ネットワーク接続のプロジェクタ、ネットワークカメラなど、ネットワーク接続可能である各種の周辺機器や、パーソナルコンピュータや各種のモバイル端末等であってもよい。
【符号の説明】
【0073】
101…画像形成装置、102…コンテンツ配信サーバ、103…ネットワーク、401…記憶部、402…ダウンロード部、403…インストール部、405…アプリケーション管理部

【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】