(57)【要約】【課題】インストール対象のアプリケーションのアップデート元のアプリケーションの設定データとライセンス情報とがインストール対象のアプリケーションに引き継がれるようにインストール処理を行う画像形成装置を提供する。【解決手段】画像形成装置１０１が、アプリプログラムのインストール要求を受け付け、アプリプログラムの属性情報が記述された記述ファイルを参照して、アプリプログラムのアップデート元のアプリプログラムがインストール済みであるかを判断する。画像形成装置１０１が、アップデート元のアプリプログラムがインストール済みである場合に、アップデート元のアプリプログラムの設定データとライセンス情報とがインストール要求されたアプリプログラムに引き継がれるようにアプリプログラムをインストールする。【選択図】図１
2014178798.tif 000002
【特許請求の範囲】
【請求項１】
アプリプログラムのインストール要求を受け付ける受け付け手段と、
前記インストール要求されたアプリプログラムの属性情報が記述された記述ファイルを参照して、前記アプリプログラムのアップデート元のアプリプログラムがインストール済みであるかを判断する判断手段と、
前記アップデート元のアプリプログラムがインストール済みである場合に、前記アップデート元のアプリプログラムの設定データとライセンス情報とが前記インストール要求されたアプリプログラムに引き継がれるように前記インストール要求されたアプリプログラムをインストールする制御手段とを備える
ことを特徴とする画像形成装置。
【請求項２】
前記記述ファイルに記述された属性情報は、少なくとも前記インストール要求されたアプリプログラムのアップデート元のアプリプログラムの識別情報を含み、
前記判断手段は、前記記述ファイルに記述された属性情報に含まれるアップデート元のアプリプログラムの識別情報に基づいて、前記アップデート元のアプリプログラムがインストール済みであるかを判断する
ことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記制御手段は、前記アップデート元のアプリプログラムの設定データを記憶手段から読み出して、前記インストール要求されたアプリプログラムの設定データとして前記記憶手段にリストアする
ことを特徴とする請求項１または請求項２に記載の画像形成装置。
【請求項４】
前記制御手段は、前記アップデート元のアプリプログラムが複数である場合に、夫々のアップデート元のアプリプログラムのライセンス情報のうち、残数が最も多いライセンス情報を前記インストール要求されたアプリプログラムに引き継がせる
ことを特徴とする請求項１乃至３のいずれか１項に記載の画像形成装置。
【請求項５】
前記ライセンス情報は、少なくとも、アプリプログラムの有効期限、印刷枚数制限値、スキャン枚数制限値のいずれかを含む
ことを特徴とする請求項１乃至４のいずれか１項に記載の画像形成装置。
【請求項６】
前記制御手段は、インストールされているアプリプログラムの個数が規定値に達している場合に、前記アップデート元のアプリプログラムを削除してから前記インストール要求されたアプリプログラムをインストールする
ことを特徴とする請求項１乃至５のいずれか１項に記載の画像形成装置。
【請求項７】
前記インストール要求されたアプリプログラムに引き継がれる設定データの変更を指示するための操作画面を表示する表示手段をさらに備える
ことを特徴とする請求項１乃至６のいずれか１項に記載の画像形成装置。
【請求項８】
前記表示手段は、前記インストール要求されたアプリプログラムの設定データと前記インストール要求されたアプリプログラムに引き継がれる設定データとで、重複する設定項目がある場合に、前記重複する設定項目のいずれかの選択を促す情報を前記操作画面上に表示する
ことを特徴とする請求項７に記載の画像形成装置。
【請求項９】
前記表示手段は、前記インストール要求されたアプリプログラムの設定データに、前記引き継がれる設定データにない新たな設定項目がある場合に、前記新たな設定項目の設定値の入力を促す情報を前記操作画面上に表示する
ことを特徴とする請求項７または請求項８に記載の画像形成装置。
【請求項１０】
前記記述ファイルは、ＯＳＧｉフレームワークにおいて規定されるマニフェストファイルである
ことを特徴とする請求項１乃至９のいずれか１項に記載の画像形成装置。
【請求項１１】
アプリプログラムのインストール要求を受け付ける受け付け工程と、
前記インストール要求されたアプリプログラムの属性情報が記述された記述ファイルを参照して、前記アプリプログラムのアップデート元のアプリプログラムがインストール済みであるかを判断する判断工程と、
前記アップデート元のアプリプログラムがインストール済みである場合に、前記アップデート元のアプリプログラムの設定データとライセンス情報とが前記インストール要求されたアプリプログラムに引き継がれるように前記インストール要求されたアプリプログラムをインストールする制御工程とを有する
ことを特徴とする画像形成装置の制御方法。
【請求項１２】
請求項１１に記載の制御方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、その制御方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
アプリケーションの開始、停止など、アプリケーションのライフサイクルを管理するフレームワークとして、ＯＳＧｉ（Open Services Gateway initiative）ＡｌｌｉａｎｃｅからＯＳＧｉフレームワークが提唱されている。ＯＳＧｉフレームワークでは、アプリケーションの形式をＪａｖａ（登録商標）の圧縮フォーマットであるｊａｒファイルとして規定している。ｊａｒファイルは、複数のクラスファイルをアーカイブとして１つにまとめたものである。ｊａｒファイルは、内部にMANIFEST.MFというマニフェストファイルを１つ持っており、ｊａｒファイルの説明が記載される。マニフェストファイルにＯＳＧｉ仕様の属性を記載することで、ＯＳＧｉフレームワークは、上記記載された属性に従って、アプリケーションのライフサイクルを管理する。
【０００３】
一方、画像形成装置において、アプリケーションを外部からインストールして搭載することが試みられており、ＯＳＧｉフレームワークに準拠した仕組みを搭載した画像形成装置が提案されている。マニフェストファイルにＯＳＧｉ仕様の属性だけでなく、独自の属性を定義し、拡張したものもある。
【０００４】
特許文献１は、インストール済みのアプリケーションに対して、アプリケーションとライセンスのアップデートを行うシステムを開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１１３２０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
インストール済みのアプリケーションに対するライセンスをアップデートする技術は提案されている。しかし、インストール対象のアプリケーションのアップデート元のアプリの設定データ、ライセンスがインストール対象のアプリケーションに引き継がれるようにインストール処理を行う画像形成装置は提案されていない。
【０００７】
また、メジャーバージョンアップで、異なるアプリを１つのアプリに統合するケースを想定する。ＯＳＧｉフレームワークでは、パーミッション制御により、異なるアプリの設定データを直接参照できないようになっているので、単純に設定データの引き継ぎができない。３ｒｄパーティー製アプリが共存する環境において、他のアプリの設定データを誤って書き換えてしまうようなことを防ぐためにこのような制御を設けている。
【０００８】
本発明は、上記の課題の少なくとも一つを解決するためになされたものである。本発明は、インストール対象のアプリケーションのアップデート元のアプリケーションの設定データとライセンス情報とがインストール対象のアプリケーションに引き継がれるようにインストール処理を行う画像形成装置の提供を目的とする。
【課題を解決するための手段】
【０００９】
本発明の一実施形態の画像形成装置は、アプリプログラムのインストール要求を受け付ける受付手段と、前記インストール要求されたアプリプログラムの属性情報が記述された記述ファイルを参照して、前記アプリプログラムのアップデート元のアプリプログラムがインストール済みであるかを判断する判断手段と、前記アップデート元のアプリプログラムがインストール済みである場合に、前記アップデート元のアプリプログラムの設定データとライセンス情報とが前記インストール要求されたアプリプログラムに引き継がれるように前記インストール要求されたアプリプログラムをインストールする制御手段とを備える。
【発明の効果】
【００１０】
本発明により、異なるアプリケーションを１つのアプリケーションに統合した場合においてＯＳＧｉの制約の中でＨＤＤ等のリソースを考慮しながら、アプリケーションの設定データとライセンス情報を引き継いだアップデートが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態のシステム構成例を示す図である。
【図２】画像形成装置のハードウェア構成例を示す図である。
【図３】画像形成装置の機能ブロック図の一例である。
【図４】マニフェストファイルの一例を示す図である。
【図５】統合アプリのインストール処理の例を説明するフローチャートである。
【図６】統合アプリのマニフェストファイルの一例を示す図である。
【図７】統合アプリに対応するライセンス情報の一例を示す図である。
【図８】統合アプリへの設定データとライセンス情報との引き継ぎを説明する図である。
【図９】ライセンス情報の一例を示す図である。
【図１０】統合アプリの初期設定画面の例である。
【図１１】設定完了画面の一例を示す図である。
【図１２】統合アプリの初期設定画面の一例を示す図である。
【図１３】統合アプリの初期設定画面の一例を示す図である。
【図１４】統合アプリが設定値を引き継ぐ処理の例を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
以下に、図面を参照して、本実施形態について説明する。本実施形態の構成はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
【００１３】
図１は、本実施形態のシステム構成例を示す図である。画像形成装置１０１は、画像データを生成して出力する。この例では、画像形成装置１０１は、一台でプリンタ、スキャナ、コピー、ＦＡＸなどの機能を兼ね備えるＭＦＰ（Multifunction Peripheral）である。画像形成装置１０１には、複数のアプリケーションがインストール可能である。また、画像形成装置１０１は、画像形成装置に割り当てられた固有の機器ＩＤを有する。
【００１４】
情報処理装置１０２は、画像形成装置１０１の操作をリモートで行うために使用される。情報処理装置１０２と画像形成装置１０１とは、ネットワーク１０３を介して通信可能である。ネットワーク１０３は、有線でも無線でもよい。この例では、ネットワーク１０３は、インターネットである。
【００１５】
図２は、画像形成装置のハードウェア構成例を示す図である。画像形成装置１０１は、ＣＰＵ２０１乃至バス２０９を備える。ＣＰＵ（Central Processing Unit）２０１は、各種のコンピュータプログラムを実行して、画像形成装置１０１全体を制御する。
【００１６】
ＲＯＭ（Read Only Memory）２０２は、各種のコンピュータプログラムを記憶する。ＲＡＭ（Random Access Memory）２０３は、ＣＰＵ２０１が動作するためのシステムワークメモリであって、各種データを一時記憶する。ＣＰＵ２０１は、ＲＯＭ２０２に記憶されているプログラムをＲＡＭ２０３にロードし、プログラムを実行する。ＲＡＭ２０３は、記憶した内容を電源ｏｆｆ後も保持可能なＦＲＡＭ（登録商標）およびＳＲＡＭ、電源ｏｆｆ後に記憶内容が消去されるＤＲＡＭなどにより構成される。ＳＲＡＭは、Ｓｔａｔｉｃ  Ｒｏｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略称である。ＤＲＡＭは、Ｄｙｎａｍｉｃ  Ｒｏｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略称である。
【００１７】
ＨＤＤ（Hard Disk Drive）２０４は、各種プログラムを記憶する。ＣＰＵ２０１は、ＨＤＤ２０４に記憶されているプログラムをＲＡＭ２０３にロードしプログラムを実行する。また、ＲＡＭ２０３のデータをＨＤＤ２０４に保存することもできる。
【００１８】
入出力部２０４は、画像形成装置１０１にデータを入力したり、画像形成装置１０１からデータを出力したりするためのユニットである。ネットワーク部２０６は、画像形成装置１０１を情報処理装置１０２に接続する。印刷部２０７は、バス２０９を介して、各ユニットとデータを送受信することが可能である。印刷部２０７は、ラスタイメージ等の各種イメージデータを記録媒体に印刷、または外部装置へ送信することが可能である。
【００１９】
スキャナ部２０８は、原稿台の上に置かれた原稿を読み取り、イメージデータを生成する。図２中に示す処理部は、バス２０９を介してデータの送受信を行うことが可能である。
【００２０】
図３は、画像形成装置の機能ブロック図の一例である。図３中に示されている各構成部を実現するプログラムはＨＤＤ２０４に記憶されている。そして、ＣＰＵ２０１が、上記プログラムをＲＡＭ２０３にロードして実行することで、各構成部が実現される。
【００２１】
画像形成装置１０１は、アプリケーション管理アプリ３０２、インストーラ３０３、ＯＳＧｉフレームワーク３０４、仮想マシン３０５、ＯＳ３０６を備える。アプリケーション管理アプリ３０２は、アプリケーション（アプリプログラム）のインストール指示を行うための画面（ユーザインタフェース）を表示する。このユーザインタフェースを用いたユーザ操作にしたがって、アプリケーション管理アプリ３０２は、インストーラ３０３にインストール指示を行う。なお、情報処理装置１０２は、ネットワーク部２０６を介して、アプリケーション管理アプリ３０２にアクセスすることが可能である。
【００２２】
インストーラ３０３は、アプリケーション管理アプリ３０２からインストール指示を受け取り、ＯＳＧｉフレームワーク３０４にインストール処理を依頼する。ＯＳＧｉフレームワーク５０４は、インストーラ３０３からのインストール依頼において指定されたアプリケーションをインストールする他、アプリケーションの起動、および停止を行う。なお、ＯＳＧｉフレームワーク３０４は、ＯＳＧｉ  Ａｌｌｉａｎｃｅで定められた標準フレームワークの仕様に準拠し、拡張を行っている。拡張を行うことで、ＯＳＧｉで規定されていないマニフェスト項目を新たに定義し、アプリケーションのインストールに必要なＨＤＤ容量やメモリ量等の属性情報が記載可能である。
【００２３】
仮想マシン３０５は、アプリケーションを実行する。仮想マシン３０５は、例えば、Ｊａｖａ（登録商標）の仮想マシンなどにより実現される。すなわち、仮想マシン３０５は、第１の実行環境であるＯＳ３０６上で実現される実行環境であり、Ｊａｖａベースで記述されたアプリケーションを実行するための第２の実行環境である。このような実行環境を画像形成装置１０１に具備させることで、画像形成装置１０１が生産された後でも、画像形成装置１０１の印刷ユニット、またはスキャナユニットを制御するためのアプリケーションをインストール、および実行させることが可能になる。
【００２４】
ＯＳ３０６は、画像形成装置全体を制御する。ＯＳ３０６は、画像形成装置１０１の各種機能をリアルタイムに制御可能なリアルタイムＯＳの各モジュール、あるいは、クリティカルに画像形成装置のオプション装置、および拡張カードを含む各機能を制御することが可能なライブラリ群である。ＯＳ３０６は、その上位で動作するアプリケーションに対して、インタフェースコマンドを提供するモジュール群により実現される。
【００２５】
図３（Ｂ）は、インストーラ３０３の構成の一例を示す図である。インストーラ３０３は、マニフェストファイル判別部３０７、設定情報処理部３０８、ライセンス情報管理部３０９、ライセンス情報処理部３１０、インストール指示部３１１、フラグファイル処理部３１２を備える。マニフェストファイル判別部３０７は、アプリケーション管理アプリ３０２からインストール指示されたアプリケーションのマニフェストファイルを判別する。マニフェストファイルは、アプリケーションの属性情報が記述された記述ファイルである。設定情報処理部３０８は、設定情報管理部３１３からインストール済みのアプリケーションの設定データを読み込んで処理を行う。
【００２６】
画像形成装置１０１のログ情報を収集するアプリにおいては、設定データは、例えば、収集の間隔を設定する「集計時間」、集計サーバの「ＩＰアドレス」、「ユーザ名」、「パスワード」である。また、画像形成装置１０１のエラー情報を監視するアプリにおいては、設定データは、例えば、どのエラー項目を監視するかを設定する「デバイス監視対象情報」である。
【００２７】
ライセンス情報管理部３０９は、ライセンス情報を管理する。ライセンス情報は、少なくとも、アプリケーションの有効期限、印刷枚数制限値、スキャン枚数制限値、残期限、残プリント値、残スキャン値のいずれかを含む。ライセンス情報は、ＲＡＭ２０３のＦＲＡＭ領域に記憶される。ライセンス情報処理部３１０は、ライセンス情報管理部３０９からライセンス情報を読み出して処理を行う。
【００２８】
インストール指示部３１１は、ＯＳＧｉフレームワーク３０４に対し、アプリケーションのインストール指示またはアンインストール指示を行う。フラグファイル処理部３１２は、フラグファイルの作成、管理を行う。フラグファイルには、インストール指示されたアプリケーションのアップデート元のアプリケーションがインストール済みであることを示すインストール済みフラグがセットされる。
【００２９】
アプリケーションが誤って他のアプリケーションの設定データを削除することを防ぐために、アプリケーションは自領域の設定データのみしかアクセスできない。権限が与えられているインストーラ３０３は、アプリケーションのインストールに必要な情報を、アプリＩｄ４０５を引数にしてＯＳＧｉフレームワーク３０４に問い合わせることで参照できる。
【００３０】
図３（Ｃ）は、ＯＳＧｉフレームワークの構成の一例を示す図である。図３（Ｃ）に示す構成部以外のＯＳＧｉフレームワーク３０４の構成部に関しては標準の仕様に準拠しており、説明を省略する。
【００３１】
ＯＳＧｉフレームワークは、設定情報管理部３１３、インストール部３１４を備える。設定情報管理部３１３は、アプリケーションの設定データを管理する。インストール部３１４は、インストーラ３０３からインストール指示されたアプリケーションをインストールする。
【００３２】
図４は、インストール要求されるアプリケーションを指定するマニフェストファイルの一例を示す図である。この例では、インストール要求されるアプリケーションは、複数のアップデート元のアプリケーションが統合されたアプリケーション（以下、「統合アプリ」と記述する）である。
【００３３】
属性「Ｂｕｎｄｌｅ−Ｎａｍｅ」４０２は、アプリケーションの名称である。属性「Ｂｕｎｄｌｅ−Ｖｅｎｄｏｒ」４０３は、統合アプリの提供者である。属性「Ｂｕｎｄｌｅ−Ｖｅｒｓｉｏｎ」４０４は、統合アプリのバージョンである。属性「Ａｐｐｌｉｃａｔｉｏｎ−Ｉｄ」４０５は、アプリケーションの識別情報（以下、「アプリＩｄ」と記述）である。ライセンス情報管理部３０９は、アプリＩｄ４０５に基づいて、ライセンス情報を管理する。また、設定情報管理部３１３は、アプリＩｄ４０５に基づいて、設定情報を管理する。
【００３４】
また、設定情報処理部３０８は、アプリＩｄ４０５に基づいて、設定情報管理部３１３から設定情報を読み出す。また、ライセンス情報処理部３１０は、アプリＩｄ４０５に基づいて、ライセンス情報管理部３０９からライセンス情報を読み出す。
【００３５】
属性「Ｏｒｉｇｉｎ−Ａｐｐｌｉｃａｔｉｏｎ−Ｉｄｓ」４０６には、アップデート元のアプリケーションのアプリＩｄが記載される。
【００３６】
図５は、本実施形態における統合アプリのインストール処理の例を説明するフローチャートである。
【００３７】
アプリケーション管理アプリ３０２から統合アプリのインストール指示を受け取ったタイミングで、インストーラ３０３が処理を開始する（ステップＳ５０１）。マニフェストファイル判別部３０７が、インストール指示された統合アプリのマニフェストファイルの情報を読み込む（ステップＳ５０２）。
【００３８】
図６は、統合アプリのマニフェストファイルの一例を示す図である。マニフェストファイル６０１は、属性６０２乃至６０６を有する。属性「Ｂｕｎｄｌｅ−Ｎａｍｅ」６０２は、統合アプリの名称である。属性「Ｂｕｎｄｌｅ−Ｖｅｎｄｏｒ」６０３は、統合アプリの提供者である。属性「Ｂｕｎｄｌｅ−Ｖｅｒｓｉｏｎ」６０４は、統合アプリのバージョンである。属性「Ａｐｐｌｉｃａｔｉｏｎ−Ｉｄ」６０５は、統合アプリのＩｄである。属性「Ｏｒｉｇｉｎ−Ａｐｐｌｉｃａｔｉｏｎ−Ｉｄｓ」６０６は、統合アプリのアップデート元アプリケーションのアプリＩｄである。
【００３９】
次に、マニフェストファイル判別部３０７が、マニフェストファイルに記述された、統合アプリのアプリＩｄと一致するアプリケーションがインストール済みかを判断する（ステップＳ５０３）。
【００４０】
マニフェストファイルに記述されたアプリＩｄと一致するアプリケーションがインストール済みである場合は、処理がステップＳ５１１に進む。そして、インストール指示部３１１が、統合アプリを上書きアップデートする。
【００４１】
マニフェストファイルに記述されたアプリＩｄと一致するアプリケーションがインストール済みでない場合は、マニフェストファイル判別部３０７が、以下の処理を実行する。マニフェストファイル判別部３０７は、マニフェストファイルの「Ｏｒｉｇｉｎ−Ａｐｐｌｉｃａｔｉｏｎ−Ｉｄｓ」と一致するアプリケーションがインストール済みかを判断する（ステップＳ５０４）。
【００４２】
マニフェストファイルの「Ｏｒｉｇｉｎ−Ａｐｐｌｉｃａｔｉｏｎ−Ｉｄｓ」と一致するアプリケーションがインストール済みである場合は、フラグファイル処理部３１２が、インストール済みフラグを立てる（ステップＳ５０５）。マニフェストファイルの「Ｏｒｉｇｉｎ−Ａｐｐｌｉｃａｔｉｏｎ−Ｉｄｓ」と一致するアプリケーションがインストール済みでない場合は、処理がステップＳ５０６に進む。
【００４３】
次に、フラグファイル処理部３１２が、インストール済フラグが立っているかを判断する（ステップＳ５０６）。インストール済フラグが立っていない場合は、処理がステップＳ５１０に進み、インストール指示部３１１がアプリケーションを新規インストールする。
【００４４】
インストール済フラグが立っている場合は、処理がステップＳ５０７に進む。そして、設定情報処理部３０８が、アップデート元アプリケーションの設定データを、アップデート元アプリケーションのアプリＩｄを引数として設定情報管理部３１３から取得する（ステップＳ５０７）。具体的には、設定情報処理部３０８は、マニフェストファイルの「Ｏｒｉｇｉｎ−Ａｐｐｌｉｃａｔｉｏｎ−Ｉｄｓ」に含まれるアプリＩｄを引数とする。設定情報処理部３０８は、取得した設定データをメモリ（ＲＡＭ）２０４上に展開する。
【００４５】
次に、ライセンス情報処理部３１０が、アップデート元アプリケーションのライセンス情報をアップデート元アプリケーションのアプリＩｄを引数としてライセンス情報管理部３０９から読み込み、ＲＡＭ２０３上に展開する（ステップＳ５０８）。続いて、インストール指示部３１１が、アップデート元アプリケーションをそれぞれアンインストールし、アップデート元アプリケーションが確保していたＨＤＤ２０４領域とＲＡＭ２０３のＦＲＡＭ領域を解放する（ステップＳ５０９）。そして、インストール指示部３１１が、統合アプリの新規インストールを行う（ステップＳ５１０）。
【００４６】
次に、ライセンス情報処理部３１０が、インストールした統合アプリに対応するライセンス情報を読み込む（ステップＳ５１２）。
【００４７】
図７は、統合アプリに対応するライセンス情報の一例を示す図である。属性「Ａｐｐｌｉｃａｔｉｏｎ−Ｉｄ」７０２は、ライセンスを付与する対象のアプリケーション（統合アプリ）のＩｄである。属性「Ｖａｌｉｄａｔｅｄ−Ｐｅｒｉｏｄ」７０３は、ライセンスの有効期限である。属性「ＭａｘｉｍｕｍＰｒｉｎｔｅｄＩｍｐｒｅｓｓｉｏｎｓ」７０４は、プリント枚数の制限値である。属性「ＭａｘｉｍｕｍＳｃａｎｎｅｄＩｍｐｒｅｓｓｉｏｎｓ」７０５は、スキャン枚数の制限値を表す。属性「Ｓｅｒｉａｌ−Ｎｏ」７０６は、ライセンス対象の画像形成装置の固有機器ＩＤである。
【００４８】
図５に戻って、フラグファイル処理部３１２が、インストール済フラグが立っているかを判断する（ステップＳ５１３）。インストール済フラグが立っていない場合は、処理がステップＳ５１６に進む。そして、ライセンス情報処理部３１０が、ライセンス情報を保存する。
【００４９】
インストール済フラグが立っている場合、設定情報処理部３０８が、上記ステップＳ５０７において保存していたＲＡＭ上の設定データを、インストールされた統合アプリの設定データとしてリストアする（ステップＳ５１４）。そして、ライセンス情報処理部３１０が、上記ステップＳ５０８で保存していたＲＡＭ上のライセンス情報のうち、それぞれ残数の多い値と、上記ステップＳ５１２で読み込んだライセンス情報とを加算する（ステップＳ５１５）。そして、ライセンス情報処理部３１０が、上記加算されたライセンス情報を保存し（ステップＳ５１６）、処理を終了する（ステップＳ５１７）。
【００５０】
図８は、統合アプリへの設定データとライセンス情報との引き継ぎを説明する図である。この例では、アプリＡ（アプリＩｄ：１００）、アプリＢ（アプリＩｄ：２００）が画像形成装置１０１にインストール済みの状態で、統合アプリであるアプリＣ（アプリＩｄ：３００）をインストーラ３０３がインストールする場合の処理について説明する。
【００５１】
図８（Ａ）は、インストール済みのアプリＡ，アプリＢの設定データ、ライセンス情報をＲＡＭ２０３上に展開した状態を示す。８０１は、アプリＡ本体、８０２はアプリＡの設定データである。８０３はアプリＢ本体、８０４はアプリＢの設定データである。８０５はアプリＡのライセンス情報、８０６はアプリＢのライセンス情報である。
【００５２】
インストーラ３０３は、図６のマニフェストファイル６０１を持つアプリＣ（アプリＩｄ：３００）をインストールする際、以下の処理を実行する。インストーラ３０３は、属性「Ｏｒｉｇｉｎ−Ａｐｐｌｉｃａｔｉｏｎ−Ｉｄｓ」６０６の属性値が、アプリＩＤ１００とアプリＩＤ２００であることを確認する。これにより、アプリＡとアプリＢとが、アプリＣのアップデート元アプリケーションであることがわかる。インストーラ３０３は、アプリＩｄ１００とアプリＩｄ２００の設定データをＲＡＭ２０３上にアプリ情報８０７として読み込む。また、インストーラ３０３は、ライセンス情報を、ライセンス情報８０８としてＲＡＭ２０３上に読み込む。
【００５３】
図８（Ｂ）は、アップデート元アプリケーションが削除された状態を示す。画像形成装置１０１は、ＨＤＤ資源の制約上、アプリケーションのインストール領域、個数について制限を設けている。インストール領域については、例えば１ＧＢまでの容量、個数については、例えば２０個までといった制限を設けている。
【００５４】
アップデート元アプリケーションがインストール済み状態で、すでにインストール領域、個数が規定値に達していた場合、新たにアプリケーションをインストールできない。したがって、この場合には、インストーラ３０３が、アップデート元アプリケーションを、統合アプリをインストールする前に削除（アンインストール）する。これにより、インストール領域とインストール個数が解放されるため、統合アプリ本体のインストールが可能になる。
【００５５】
図８（Ｃ）は、アプリＣをインストールした後、ＲＡＭ２０３に保存しておいたアプリＡ，アプリＢの設定値、ライセンス情報をアプリＣにリストアする状態を示す。８０９はアプリＣ本体、８１０はインストーラ３０３によってリストアされた設定値である。８１１はアプリＣのライセンス情報であって、ＲＡＭに保存したアプリＡ、アプリＢのライセンス情報のうち残数の多い方と、図７で示すアプリＣのライセンスを加算したものである。
【００５６】
図９は、ＦＲＡＭに保存しているライセンス情報の一例を示す図である。９０２は対象のアプリ名を示す。９０３はアプリＩＤを示す。９０４は有効期限を示す。９０５はプリント枚数制限値を示す。９０６はスキャン枚数制限値を示す。９０７は残期限を示す。残期限９０７は、有効期限９０４から使用日数を減算した値となる。９０８は残プリント枚数を示す。残プリント枚数９０８は、プリント枚数制限値９０５から使用したプリント枚数を減算した値となる。９０９は残スキャン枚数を示す。残スキャン枚数９０９は、スキャン枚数制限値９０６から使用スキャン枚数を減算した値となる。９１０はアプリＡのライセンス情報を示す。また、９１１はアプリＢのライセンス情報を示す。
【００５７】
アプリＡのライセンス情報とアプリＢのライセンス情報とを比較すると、残数の多いのは、残期限２０日、残プリント数１０枚、残スキャン数１０枚である。ライセンス情報処理部３１０は、上記残数の多いほうのライセンス情報の値と、図７で示されるアプリＣのライセンス情報（有効期限１００日、プリント制限値２０枚、スキャン制限値１０枚）とを加算する。そして、ライセンス情報処理部３１０は、加算した値を持つライセンス情報をアプリＣのライセンス情報として保存する。具体的には、ライセンス情報処理部３１０は、図９（Ｂ）のレコード９１２に示すように、有効期限１２０日、プリント枚数制限値３０枚、スキャン枚数制限値２０枚を、アプリＣのライセンス情報として保存する。
【００５８】
図１０は、統合アプリへの設定データの引き継ぎを行った後の、統合アプリの初期設定画面の例である。初期設定画面１００１は、設定を確定するための操作画面である。この例では、統合アプリが初期設定画面１００１を表示する。前提として、アップデート元アプリケーションであるアプリＡは、ログ収集の間隔を設定する「集計時間：毎週日曜日」、集計サーバの「ＩＰアドレス：ＸＸＸ．ＸＸＸ．ＸＸ．ＸＸＸ」、「ユーザ名：ａｄｍｉｎ」、「パスワード：ｐａｓｓ」の設定データを持つ。同様に、アップデート元アプリケーションであるアプリＢは、どのエラー項目を監視するかを設定する「デバイス監視対象情報：紙なし、トナー切れ、紙詰まり」という設定データを持つ。また、統合アプリであるアプリＣは、「集計時間」、集計サーバの「ＩＰアドレス」、「ユーザ名」、「パスワード」、「デバイス監視対象情報」という項目を設定できる。
【００５９】
集計情報の設定欄１００２は、アプリＡの「集計時間：毎週日曜日」、「集計サーバのＩＰアドレス：ＸＸＸ．ＸＸＸ．ＸＸ．ＸＸＸ」、「ユーザ名：ａｄｍｉｎ」、「パスワード：ｐａｓｓ」の設定値の引き継ぎが行われたことを示す。また、デバイス監視対象情報の設定欄１００３は、アプリＢの設定値「デバイス監視対象情報：紙なし、トナー切れ、紙詰まり」の引き継ぎが行われていることを示す。ユーザは、初期設定画面１００１上（操作画面上）での操作により、設定を変更することができる。ユーザが設定ボタン１００４を押下すると、統合アプリが、図１１に示す設定完了画面１１０１を表示する。メニューに戻るボタン１１０２が押し下げられると、メインメニューに戻る。
【００６０】
図１２は、設定データの引き継ぎ項目で重複する項目がある場合の、統合アプリの初期設定画面の一例を示す図である。
【００６１】
前提として、アップデート元アプリケーションであるアプリＡは、ログ収集の間隔を設定する「集計時間：毎週土曜日」、集計サーバの「ＩＰアドレス：ＸＸＸ．ＸＸＸ．ＸＸ．ＸＸＸ」、「ユーザ名：ａｄｍｉｎ」、「パスワード：ｐａｓｓ」の設定データを持つ。同様にアップデート元アプリケーションであるアプリＢは、ログ収集の間隔を設定する「集計時間：毎週日曜日」、集計サーバの「ＩＰアドレス：ＸＸＸ．ＸＸＸ．ＸＸ．ＸＸＸ」、「ユーザ名：ｇｕｅｓｔ」、「パスワード：ｈｏｇｅ」の設定データを持つ。また、アプリＢは、どのエラー項目を監視するかを設定する「デバイス監視対象情報：紙なし、トナー切れ、紙詰まり」の設定データを持つ。統合アプリであるアプリＣは、「集計時間」、集計サーバの「ＩＰアドレス」、「ユーザ名」、「パスワード」、「デバイス監視対象情報」の項目を設定できる。
【００６２】
統合アプリは、初期設定画面１２０１上の集計情報欄１２０２の集計時間において、設定データの引き継ぎでアプリＡの「土曜日」とアプリＢの「日曜日」の設定値が重複することを示す情報を表示する。また、統合アプリは、集計サーバのユーザ名において、アプリＡの「ａｄｍｉｎ」とアプリＢの「ｇｕｅｓｔ」が重複していることを示す情報を表示する。また、統合アプリは、パスワードにおいてアプリＡの「ｐａｓｓ」アプリＢの「ｈｏｇｅ」が重複することを示す情報を表示する。ユーザは、重複する項目について、いずれの設定値を選択するかを入力することができる。なお、デバイス監視対象情報の設定欄１２０３は、図１０中のデバイス監視対象情報の設定欄１００３と同様である。
【００６３】
図１３は、設定データを引き継ぐ統合アプリに新規の設定項目がある場合の統合アプリの初期設定画面の一例を示す図である。
【００６４】
前提として、アップデート元アプリケーションであるアプリＡは、ログ収集の間隔を設定する「集計時間：毎週日曜日」、集計サーバの「ＩＰアドレス：ＸＸＸ．ＸＸＸ．ＸＸ．ＸＸＸ」、「ユーザ名：ｇｕｅｓｔ」、「パスワード：ｈｏｇｅ」の設定データを持つ。同様にアップデート元アプリケーションであるアプリＢは、どのエラー項目を監視するかを設定する「デバイス監視対象情報：紙なし、トナー切れ、紙詰まり」の設定データを持つ。また、統合アプリであるアプリＣは、「集計時間」、集計サーバの「ＩＰアドレス」、「ユーザ名」、「パスワード」、「デバイス監視対象情報」を持つ。また、この例では、アプリＣは、「シャットダウン設定」の項目を追加で設定できる。
【００６５】
初期設定画面１３０１上の集計情報の設定欄１３０２には、統合アプリに引き継がれた設定値が表示される。デバイス監視対象情報の設定欄１３０３は、図１０中のデバイス監視対象情報の設定欄１００３と同様である。
【００６６】
シャットダウン設定欄１３０４は、アプリＣの新規の設定項目であり、引き継ぐ設定値が存在しない。したがって、シャットダウン設定欄１３０４には、アプリＣが持つデフォルト値が入力される。ユーザが設定ボタン１３０５を押下すると設定が有効になる。
【００６７】
図１４は、統合アプリが設定値を引き継ぐ処理の例を説明するフローチャートである。統合アプリの処理が開始する（ステップＳ１４０１）。続いて、統合アプリが、新規の設定項目があるかを判断する（ステップＳ１４０２）。新規の設定項目がある場合は、統合アプリが、新規の設定項目についてデフォルト値を表示する。そして、統合アプリが、リストアされた設定値を読み込む（ステップＳ１４０４）。
【００６８】
次に、統合アプリが、リストアした設定値のうち、競合する設定値があるかを判断する（ステップＳ１４０５）。競合する設定値がある場合は、統合アプリが、競合する設定値を表示し、ユーザに選択を促す（ステップＳ１４０８）。競合する設定値がない場合は、統合アプリが、リストアされた設定値を表示し（ステップＳ１４０６）、処理を終了する。
【００６９】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【００７０】
１０１  画像形成装置
１０２  情報処理装置
【図１】
2014178798.tif 000003
【図２】
2014178798.tif 000004
【図３】
2014178798.tif 000005
【図４】
2014178798.tif 000006
【図５】
2014178798.tif 000007
【図６】
2014178798.tif 000008
【図７】
2014178798.tif 000009
【図８】
2014178798.tif 000010
【図９】
2014178798.tif 000011
【図１０】
2014178798.tif 000012
【図１１】
2014178798.tif 000013
【図１２】
2014178798.tif 000014
【図１３】
2014178798.tif 000015
【図１４】
2014178798.tif 000016