(57)【特許請求の範囲】
【請求項１】
ライセンスファイルを用いて第１アプリケーションプログラムをインストールするインストール手段と、
前記第１アプリケーションプログラムのインストールに用いた前記ライセンスファイルを第１記憶部に記憶させる第１記憶制御手段と、
前記第１アプリケーションプログラムを識別するアプリケーション識別情報と、前記第１アプリケーションプログラムのインストールに用いた前記ライセンスファイルを識別するライセンス識別情報と、を対応付けて第２記憶部に記憶させる第２記憶制御手段と、を有し、
前記インストール手段は、第２アプリケーションプログラムに添付された前記アプリケーション識別情報を検出し、該検出した前記アプリケーション識別情報に対応付けられた前記ライセンス識別情報を前記第２記憶部から取得し、該取得した前記ライセンス識別情報によって識別される前記ライセンスファイルを前記第１記憶部から取得し、該取得した前記ライセンスファイルを用いて前記第２アプリケーションプログラムをインストールする、ことを特徴とする情報処理装置。
【請求項２】
前記ライセンスファイルは復号鍵情報を含み、
前記インストール手段は、前記復号鍵情報を用いて前記第１アプリケーションプログラム及び前記第２アプリケーションプログラムを復号化し、該復号化された前記第１アプリケーションプログラム及び前記第２アプリケーションプログラムをインストールする、ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２記憶制御手段は、前記第２アプリケーションプログラムを識別する前記アプリケーション識別情報と、取得した前記ライセンス識別情報と、を対応付けて前記第２記憶部に記憶させることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
検出した前記アプリケーション識別情報が前記第２記憶部に記憶されていない場合に、前記第２アプリケーションのインストールができないことを表示する第１表示手段、をさらに有することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記インストール手段によってインストールされるアプリケーションプログラムを指定する情報と、前記インストール手段によるアプリケーションプログラムのインストールに用いるライセンスファイルを指定する情報と、を受け付ける受付手段、をさらに有し、
前記受付手段が前記第１アプリケーションプログラムを指定する情報を受け付けた場合、前記インストール手段は、前記受付手段で受け付けた情報によって指定される前記ライセンスファイルを用いて前記第１アプリケーションプログラムをインストールする、ことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記受付手段が前記第２アプリケーションプログラムを指定する情報を受け付けて、前記ライセンスファイルを指定する情報を受け付けなかった場合、前記インストール手段は、前記第２アプリケーションプログラムに添付された前記アプリケーション識別情報を検出し、該検出した前記アプリケーション識別情報に対応付けられた前記ライセンス識別情報を前記第２記憶部から取得し、該取得した前記ライセンス識別情報によって識別される前記ライセンスファイルを前記第１記憶部から取得し、該取得した前記ライセンスファイルを用いて前記第２アプリケーションプログラムをインストールする、ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記受付手段が前記第１アプリケーションプログラムを指定する情報を受け付けて、前記ライセンスファイルを指定する情報を受け付けなかった場合、前記第１アプリケーションプログラムのインストールができないことを表示する第２表示手段、をさらに有することを特徴とする請求項５又は６に記載の情報処理装置。
【請求項８】
前記第２アプリケーションプログラムは、前記第１アプリケーションプログラムの機能を拡張することを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
画像データを読み取るスキャナと、画像データを印刷するプリンタと、をさらに有することを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
第１アプリケーションプログラム、または、前記第１アプリケーションプログラムの機能を拡張する第２アプリケーションプログラムをインストールするインストール手段と、
前記第１アプリケーションプログラムのインストールに用いたライセンスファイルを記憶部に記憶させる記憶制御手段と、
前記インストール手段によってインストールされるアプリケーションプログラムを指定する情報と、前記インストール手段によるアプリケーションプログラムのインストールに用いるライセンスファイルを指定する情報と、を受け付ける受付手段と、を有し、
前記インストール手段は、前記第２アプリケーションプログラムに対応する前記第１アプリケーションプログラムのインストールに用いられ、前記記憶部に記憶された前記ライセンスファイルを用いて、前記第２アプリケーションプログラムをインストールし、
前記インストール手段は、前記受付手段によって受け付けた情報によって指定されるアプリケーションプログラムが前記第２アプリケーションプログラムであり、前記第２アプリケーションプログラムに対応する前記第１アプリケーションプログラムのインストールに用いた前記ライセンスファイルが前記記憶部に記憶されている場合に、前記受付手段によって前記ライセンスファイルを指定する情報を受け付けずとも、前記第２アプリケーションプログラムをインストールすることを許可する、ことを特徴とする情報処理装置。
【請求項１１】
前記インストール手段は、前記受付手段によって受け付けた情報によって指定されるアプリケーションプログラムが前記第２アプリケーションプログラムであり、前記第２アプリケーションプログラムに対応する前記第１アプリケーションプログラムのインストールに用いた前記ライセンスファイルが前記記憶部に記憶されていない場合に、前記受付手段によって前記ライセンスファイルを指定する情報を受け付けずに前記第２アプリケーションプログラムをインストールすることを制限する、ことを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記受付手段によって受け付けた情報によって指定されるアプリケーションプログラムが前記第１アプリケーションプログラムであり、前記受付手段によって前記ライセンスファイルを指定する情報を受け付けなかった場合、前記第１アプリケーションプログラムのインストールができないことを表示する第１表示手段、をさらに有することを特徴とする請求項１０又は１１に記載の情報処理装置。
【請求項１３】
前記第１アプリケーションプログラムを識別するアプリケーション識別情報と、前記第１アプリケーションプログラムのインストールに用いた前記ライセンスファイルを識別するライセンス識別情報と、を対応付けて第２記憶部に記憶させる第２記憶制御手段、をさらに有し、
前記インストール手段は、前記第２アプリケーションプログラムに添付された前記アプリケーション識別情報を検出し、該検出した前記アプリケーション識別情報に対応付けられた前記ライセンス識別情報を前記第２記憶部から取得し、該取得した前記ライセンス識別情報によって識別される前記ライセンスファイルを前記記憶部から取得し、該取得した前記ライセンスファイルを用いて前記第２アプリケーションプログラムをインストールする、ことを特徴とする請求項１０乃至１２のいずれか１項に記載の情報処理装置。
【請求項１４】
検出した前記アプリケーション識別情報が前記記憶部に記憶されていない場合に、前記第２アプリケーションのインストールができないことを表示する第２表示手段、をさらに有することを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
前記ライセンスファイルは復号鍵情報を含み、
前記インストール手段は、前記復号鍵情報を用いて前記第１アプリケーションプログラム及び前記第２アプリケーションプログラムを復号化し、該復号化された前記第１アプリケーションプログラム及び前記第２アプリケーションプログラムをインストールする、ことを特徴とする請求項１０乃至１４のいずれか１項に記載の情報処理装置。
【請求項１６】
画像データを読み取るスキャナと、画像データを印刷するプリンタと、をさらに有することを特徴とする請求項１０乃至１５のいずれか１項に記載の情報処理装置。
【請求項１７】
情報処理装置において実行される前記情報処理装置の制御方法であって、
前記情報処理装置のインストール手段が、ライセンスファイルを用いて第１アプリケーションプログラムをインストールする第１インストール工程と、
前記情報処理装置の第１記憶制御手段が、前記第１アプリケーションプログラムのインストールに用いた前記ライセンスファイルを第１記憶部に記憶させる第１記憶工程と、
前記情報処理装置の第２記憶制御手段が、前記第１アプリケーションプログラムを識別するアプリケーション識別情報と、前記第１アプリケーションプログラムのインストールに用いた前記ライセンスファイルを識別するライセンス識別情報と、を対応付けて第２記憶部に記憶させる第２記憶工程と、
前記情報処理装置のインストール手段が、第２アプリケーションプログラムに添付された前記アプリケーション識別情報を検出し、該検出した前記アプリケーション識別情報に対応付けられた前記ライセンス識別情報を前記第２記憶部から取得し、該取得した前記ライセンス識別情報によって識別される前記ライセンスファイルを前記第１記憶部から取得し、該取得した前記ライセンスファイルを用いて前記第２アプリケーションプログラムをインストールする第２インストール工程と、
を有することを特徴とする情報処理装置の制御方法。
【請求項１８】
情報処理装置において実行される前記情報処理装置の制御方法であって、
前記情報処理装置のインストール手段が、第１アプリケーションプログラム、または、前記第１アプリケーションプログラムの機能を拡張する第２アプリケーションプログラムをインストールするインストール工程と、
前記情報処理装置の記憶制御手段が、前記第１アプリケーションプログラムのインストールに用いたライセンスファイルを記憶部に記憶させる記憶制御工程と、
前記情報処理装置の受付手段が、前記インストール工程でインストールされるアプリケーションプログラムを指定する情報と、前記インストール手段によるアプリケーションプログラムのインストールに用いるライセンスファイルを指定する情報と、を受け付ける受付工程と、を有し、
前記インストール工程では、前記第２アプリケーションプログラムに対応する前記第１アプリケーションプログラムのインストールに用いられ、前記記憶部に記憶された前記ライセンスファイルを用いて、前記第２アプリケーションプログラムをインストールし、
前記インストール工程では、前記受付工程で受け付けた情報によって指定されるアプリケーションプログラムが前記第２アプリケーションプログラムであり、前記第２アプリケーションプログラムに対応する前記第１アプリケーションプログラムのインストールに用いた前記ライセンスファイルが前記記憶部に記憶されている場合に、前記受付工程で前記ライセンスファイルを指定する情報を受け付けずとも、前記第２アプリケーションプログラムをインストールすることを許可する、ことを特徴とする情報処理装置の制御方法。
【請求項１９】
請求項１７又は１８に記載の制御方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションをインストールする情報処理装置、情報処理装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
全てのアプリケーションプログラム（単にアプリケーションともいう。）が予めファームウェアに組み込まれた情報処理装置は、近年、アプリケーションを動的にインストールすることができるプラットフォームを搭載するようになってきた。そのような情報処理装置においては、ユーザの用途等に応じて、デバイスを最適な構成にカスタマイズすることが可能となる。アプリケーションプラットフォームとしては、組み込み機器向けのＪａｖａ（登録商標）アプリケーションプラットフォームである、ＯＳＧｉ Ｓｅｒｖｉｃｅ Ｐｌａｔｆｏｒｍ（以下、ＯＳＧｉ）がある（非特許文献１）。ＯＳＧｉでは、ソフトウェアモジュールの管理単位としてバンドルを定義しており、インストール／開始／停止／更新／アンインストールからなるライフサイクルを管理するための仕様を定義している。このようなアプリケーションプラットフォームは、コピー、スキャン、プリント等の組み込み機能をアプリケーションに提供することができる。
【０００３】
１つのアプリケーションがアプリケーションプラットフォームの管理機能や組み込み機能を未検証のまま利用すると、そのことが他のアプリケーションやデバイス本体に予期せぬ影響を及ぼしてしまうことは広く知られている。そのため、一般的に、全てのアプリケーションの動作を保障するための動作検証が行われている。また、動作検証済みのアプリケーションは、それぞれアプリケーション固有の暗号鍵で暗号化され、アプリケーションプラットフォームは、その暗号化されたアプリケーションしかインストールできないように構成されている。その結果、アプリケーションをインストールする際には、復号鍵情報を含むライセンスファイルをアプリケーションファイルと共にインストールすることが必要となる。
【０００４】
ここで、アプリケーション本体をＯＳＧｉの仕様で定義されているホストバンドルとする。また、アプリケーションの修正または拡張部分（拡張アプリケーションプログラム（単に拡張アプリケーションともいう））を、ＯＳＧｉの仕様で定義されているフラグメントバンドルとする。フラグメントバンドルとは、単独では動作せず、ホストバンドルのクラスローダ空間にフラグメントバンドル自身を追加（アタッチ）するバンドルである。このような場合には、アプリケーションの修正または拡張時に、フラグメントバンドルを用いて修正または拡張するようにすれば、インストールするファイルサイズが小さくなるので効率的となる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】ＯＳＧｉ Ｓｅｒｖｉｃｅ Ｐｌａｔｆｏｒｍ Ｓｐｅｃｉｆｉｃａｔｉｏｎ Ｒｅｌｅａｓｅ ４，ＯＳＧｉ，２００５
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、拡張アプリケーションを新たにインストールする場合には、対応するライセンスファイルを新たにインストールしなくてはならない。さらには、ライセンスファイルをライセンス発行サーバで発行してダウンロードする構成の場合には、インストールにかかる工数が更に増加してしまい、その結果、作業効率を低下させてしまう。
【０００７】
そこで、上記の点に鑑み、本発明は、拡張アプリケーションプログラムを、当該拡張アプリケーションプログラムに対応するアプリケーションプログラムに関するライセンスファイルを用いてインストールする仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明に係る情報処理装置は、ライセンスファイルを用いて第１アプリケーションプログラムをインストールするインストール手段と、前記第１アプリケーションプログラムのインストールに用いた前記ライセンスファイルを第１記憶部に記憶させる第１記憶制御手段と、前記第１アプリケーションプログラムを識別するアプリケーション識別情報と、前記第１アプリケーションプログラムのインストールに用いた前記ライセンスファイルを識別するライセンス識別情報と、を対応付けて第２記憶部に記憶させる第２記憶制御手段と、を有し、前記インストール手段は、第２アプリケーションプログラムに添付された前記アプリケーション識別情報を検出し、該検出した前記アプリケーション識別情報に対応付けられた前記ライセンス識別情報を前記第２記憶部から取得し、該取得した前記ライセンス識別情報によって識別される前記ライセンスファイルを前記第１記憶部から取得し、該取得した前記ライセンスファイルを用いて前記第２アプリケーションプログラムをインストールする、ことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、拡張アプリケーションソフトを、当該拡張アプリケーションソフトに対応するアプリケーションソフトに関するライセンスファイルを用いてインストールすることができる。
【図面の簡単な説明】
【００１０】
【図１】情報処理装置の内部構成を示すブロック図である。
【図２】アプリケーションプラットフォーム機能のソフトウェア構成を示す図である。
【図３】インストーラのユーザインタフェース画面の一例を示す図である。
【図４】本実施例において用いられるファイルの構成の一例を示す図である。
【図５】アプリケーションリストの一例を示す図である。
【図６】インストール処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に、本発明を実施するための形態について、図面を参照しながら詳しく説明する。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【００１２】
図１は、複合機を例とした情報処理装置の内部構成を示すブロック図である。図１において、コントローラユニット１００は、画像入力デバイスであるスキャナ１２０やプリンタ１２１と接続されている。コントローラユニット１００は、例えば、スキャナ１２０で読み取られた画像データをプリンタ１２１により印刷出力するコピー機能を実現する。また、コントローラユニット１００は、ＬＡＮ１１１や公衆回線１１２（ＷＡＮ）に接続されており、画像情報やデバイス情報の入出力を行う。
【００１３】
コントローラユニット１００は、ＲＯＭ１０３に格納されているブートプログラムによりオペレーションシステム（ＯＳ）を立ち上げるＣＰＵ１０１を含む。また、ＣＰＵ１０１は、ＯＳ上でＨＤＤ（ハードディスクドライブ）１０４に格納されているアプリケーションプログラムを実行することにより各種処理を実行する。さらに、ＣＰＵ１０１は、ＲＡＭ１０２や、ＨＤＤ１０４へのデータの記憶や、読出しを制御する記憶制御を行う。ここで、アプリケーションプログラムは、ソフトウェアモジュールで構成され、例えば、コピー機能を実現するためのプログラムの他、送信／ファクス機能、ボックス機能、ウェブブラウザ機能を実現するためのプログラムである。また、外部とのデータの送受信を行うネットワーク機能を実現するためのプログラムや、Ｊａｖａ（登録商標）アプリケーションプラットフォーム機能も含まれる。Ｊａｖａ（登録商標）アプリケーションプラットフォーム機能は、ＯＳＧｉの使用に準じてＪａｖａ（登録商標）アプリケーションを管理し、コピー機能を初めとする組み込み機能をライブラリやシステムサービスとしてアプリケーションに対して提供する。
【００１４】
ＲＡＭ１０２は、ＣＰＵ１０１の作業領域として用いられる。また、ＲＡＭ１０２は、作業領域とともに、画像データを一時記憶するための画像メモリ領域を提供する。ＨＤＤ１０４は、アプリケーションプログラムとともに画像データを格納する。ＣＰＵ１０１には、システムバス１０７を介して、ＲＯＭ１０３およびＲＡＭ１０２とともに、操作部Ｉ／Ｆ（インタフェース）１０６、ネットワークＩ／Ｆ１０９、モデム１１０、イメージバスＩ／Ｆ１０５が接続されている。操作部Ｉ／Ｆ１０６は、タッチパネルを有する操作部１１３とのインタフェースであり、操作部１１３に表示する画像データを操作部１１３に対して出力する。また、操作部Ｉ／Ｆ１０６は、操作部１１３においてユーザにより入力された情報をＣＰＵ１０１に送信する。
【００１５】
ネットワークＩ／Ｆ１０９は、ＬＡＮ１１１に接続され、ＬＡＮ１１１を介してＬＡＮ１１１上の各装置との間で情報の入出力を行う。モデム１１０は、公衆回線１１２に接続され、公衆回線１１２を介して情報の入出力を行う。イメージバスＩ／Ｆ１０５は、システムバス１０７と画像データを高速で転送する画像バス１０８とを接続し、データ構造を変換するためのバスブリッジである。画像バス１０８には、ＰＣＩバスまたはＩＥＥＥ１３９４等が用いられる。画像バス１０８には、ラスタイメージプロセッサ（ＲＩＰ）１１４、デバイスＩ／Ｆ１１５、スキャナ画像処理部１１６、プリンタ画像処理部１１７、画像回転部１１８、画像圧縮部１１９が接続されている。ＲＩＰ１１４は、ＰＤＬコードをビットマップイメージに展開するプロセッサである。
【００１６】
デバイスＩ／Ｆ１１５には、スキャナ１２０とプリンタ１２１が接続され、デバイスＩ／Ｆ１１５は、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部１１６は、入力画像データに対して補正、加工、編集を行う。プリンタ画像処理部１１７は、プリント出力画像データに対してプリンタの補正、解像度変換などを行う。画像回転部１１８は、画像データの回転を行う。画像圧縮部１１９は、多値画像データをＪＰＥＧデータに圧縮し、２値画像データをＪＢＩＧ、ＭＭＲ、ＭＨなどのデータに圧縮するとともに、その伸張処理を行う。
【００１７】
図２は、図１に示す情報処理装置に実装されるＪａｖａ（登録商標）アプリケーションプラットフォーム機能のソフトウェア構成を示す図である。なお、組み込み機能ライブラリ部２０２以外の各ソフトウェア構成は、情報処理装置のＣＰＵ１０１がＲＡＭ１０２またはＨＤＤ１０４に記憶されたプログラムを実行することによって実現される。組み込み機能ライブラリ部２０２は、ＣＰＵ１０１によるプログラムの実行によって実現されるものではなく、ＲＡＭ１０２またはＨＤＤ１０４に記憶されたものである。Ｊａｖａ（登録商標）アプリケーションプラットフォーム機能は、アプリケーション管理部２００、ライセンス管理部２０１、組み込み機能ライブラリ部２０２、インストーラ２０３、アプレットビューワ２０４、ＨＴＴＰサーバ２０５を含む。アプリケーション管理部２００は、ＯＳＧｉの仕様に準じて実装されており、Ｊａｖａ（登録商標）アプリケーション（バンドルともいう）のインストール／開始／停止／アンインストールといったライフサイクルの管理を行う。アプリケーション管理部２００は、インストーラ２０３からの指示に従って、バンドルを構成するアプリケーションファイルをＨＤＤ１０４に格納する。
【００１８】
ライセンス管理部２０１は、アプリケーションファイルに対応するライセンスの管理を行う。ライセンス管理部２０１は、インストーラ２０３からの指示に従って、アプリケーションファイルの復号鍵情報を含むライセンスファイルをＨＤＤ１０４に格納する。組み込み機能ライブラリ部２０２は、コピー機能、スキャン機能、プリント機能、送信／ファクス機能などの組み込み機能をＪａｖａ（登録商標）アプリケーションから制御するためのＪａｖａ（登録商標）ライブラリを提供する。インストーラ２０３、アプレットビューワ２０４、ＨＴＴＰサーバ２０５は、アプリケーション管理部２００によって制御されるＪａｖａ（登録商標）アプリケーションである。
【００１９】
インストーラ２０３は、Ｊａｖａ（登録商標）アプリケーションをインストールする。インストーラ２０３は、ライセンス管理部２０１及びアプリケーション管理部２００に対して、それぞれアプリケーションファイルおよびライセンスファイルの格納を指示する。また、インストーラ２０３は、ＨＤＤ１０４に格納された後述するアプリケーションリストに記述されたアプリケーションファイルを読み出して、ＲＡＭ１０２に格納する。また、インストーラ２０３は、ＲＡＭ１０２に格納されたアプリケーションファイル名をＨＤＤ１０４に格納されたアプリケーションリストに書き込む。アプレットビューワ２０４は、Ｊａｖａ（登録商標）アプレットとして実装されたアプリケーションファイルを、操作部Ｉ／Ｆ１０６を介して操作部１１３に表示し、操作部１１３からの入力に基づいて制御する。ＨＴＴＰサーバ２０５は、Ｊａｖａ（登録商標）サーブレットとして実装されたアプリケーションファイルが生成するＨＴＭＬページを、ＨＴＴＰを用いて公開する。
【００２０】
図３は、Ｊａｖａ（登録商標）サーブレットとして実装されてＷｅｂブラウザ上に表示されるインストーラ２０３のユーザインタフェース画面の一例を示す図である。図３に示すユーザインタフェース画面は、アプリケーションファイルのパスの入力を受付けるテキストフォーム（アプリケーション受付）とライセンスファイルのパスの入力を受付けるテキストフォーム（ライセンスファイル受付）を含む。また、ユーザインタフェース画面は、アプリケーションファイルのインストールを指示するインストールボタンを含んでいる。ユーザは、アプリケーションファイルと、ライセンスファイルを入力し、当該ユーザインタフェース画面のインストールボタンを押すことによって、アプリケーションファイルのインストールを指示する。ＣＰＵ１０１は、アプリケーションファイルのインストールが指示された場合に、当該アプリケーションファイルファイルのインストール処理を開始する。
【００２１】
本実施例において、アプリケーションファイルは、ＪＡＲ（Ｊａｖａ（登録商標）ＡＲｃｈｉｖｅ）形式でアーカイブされている。そのようなアプリケーションファイルには、マニフェストファイル、クラスファイル、リソースファイルが含まれる。また、クラスファイルおよびリソースファイルは、アプリケーション毎に固有の暗号鍵情報で暗号化されている。
【００２２】
図４の（ａ）は、バンドルにおけるマニフェストファイルの一例を示す図である。図４の（ａ）に示すファイルは、本実施例におけるアプリケーション本体（アプリケーションプログラム）の一例である。マニフェストファイルには、アプリケーションを一意に識別するためのアプリケーションＩＤが定義されている。また、バンドルの開始および停止時の動作を実装したバンドルアクティベータクラスのクラス名がＢｕｎｄｌｅ−Ａｃｔｉｖａｔｏｒヘッダとして定義されている。ここで、ホストバンドルの場合に、バンドルを一意に識別する情報であるバンドルシンボリック名がＢｕｎｄｌｅ−ＳｙｎｂｏｌｉｃＮａｍｅヘッダとして定義されている。本実施例では、バンドルシンボリック名とアプリケーションＩＤは同一の値とする。
【００２３】
図４の（ｂ）は、フラグメントバンドル（拡張アプリケーションプログラム）におけるマニフェストファイルの一例を示す図である。図４の（ｂ）に示すファイルは、本実施例における本体アプリケーションの機能拡張のための拡張アプリケーションの一例である。フラグメントバンドルの場合には、ホストバンドルのバンドルシンボリック名がＦｒａｇｍｅｎｔ−Ｈｏｓｔヘッダとして定義されている。本実施例では、バンドルシンボリック名とアプリケーションＩＤは同一の値とする。フラグメントバンドルは、Ｆｒａｇｍｅｎｔ−Ｈｏｓｔヘッダに定義されたアプリケーションＩＤによって関連付けられたホストバンドルに追加（アタッチ）する。
【００２４】
図４の（ｃ）は、インストールを許可するためのライセンスファイルの一例を示す図である。ライセンスファイルには、ライセンスファイルＩＤ、アプリケーションＩＤ、復号鍵情報が含まれる。ライセンスファイルＩＤは、ライセンスを一意に識別するためのＩＤである。アプリケーションＩＤはライセンスファイルが対応するアプリケーションファイルを示す。復号鍵情報は、対応するアプリケーションファイルの暗号化部分を復号化するための鍵情報である。
【００２５】
図５は、アプリケーションリストの一例を示す図である。アプリケーションリストは、アプリケーションＩＤ（アプリケーション識別情報）とライセンスファイルＩＤ（ライセンスファイル識別情報）を含んだテーブルとして構成され、ＨＤＤ１０４またはＲＡＭ１０２に格納される。図５に示すように、各アプリケーションＩＤとライセンスファイルＩＤとが対応している。アプリケーションリストに記述されているアプリケーションＩＤおよびライセンスファイルＩＤは、インストーラ２０３によって更新される。
【００２６】
本実施例において、ライセンスファイルおよびアプリケーションファイルは、ＨＤＤ１０４において、ディレクトリ構成で格納されている。ライセンスファイルの格納先は、パーティション名以下のサブディレクトリに、ライセンスファイルＩＤおよびライセンスファイル名を階層的に含んで指定される。また、アプリケーションファイルの格納先は、パーティション名以下のサブディレクトリに、アプリケーションＩＤおよびアプリケーションファイル名を階層的に含んで指定される。従って、マニフェストファイルに含まれるアプリケーションＩＤが等しい場合には、そのアプリケーションファイルの格納先も等しい。その場合、既に格納されているアプリケーションファイルは削除され、新しいアプリケーションファイルが格納される（再インストールされる）。
【００２７】
図６は、インストーラ２０３によるインストール処理の手順を示すフローチャートである。図６に示すフローチャートの動作は、例えば、図１に示すＣＰＵ１０１がＲＯＭ１０３に記憶されたプログラムを実行することによって行われる。Ｗｅｂブラウザに表示されるインストーラ２０３のユーザインタフェース画面（図３）のインストールボタンが押下されてアプリケーションのインストール指示を受付けると、インストーラ２０３は、指定されたアプリケーションのインストール処理を開始する。ここで、インストーラ２０３は、ユーザインタフェース画面によりライセンスファイルが指定されているか否かを判定する（Ｓ６０１）。ここで、ライセンスファイルが指定されていると判定された場合には、Ｓ６０２に進み、指定されていないと判定された場合には、Ｓ６０６に進む。ライセンスファイルが指定されている場合とは、例えば、図３に示すユーザインタフェース画面において、新たにアプリケーションをライセンスファイルと対応付けてインストールする場合である。
【００２８】
ライセンスファイルが指定されている場合には、インストーラ２０３は、ライセンス管理部２０１に対して、指定されたライセンスファイルの格納を指示する（Ｓ６０２）。インストーラ２０３がライセンス管理部２０１にライセンスファイルのＨＤＤ１０４等の記憶部への格納を指示した後、ライセンスファイルに含まれる復号鍵情報を用いて、指定されたアプリケーションファイルの暗号化部分を復号化する（Ｓ６０３）。Ｓ６０３でアプリケーションファイルを復号化した後、インストーラ２０３は、アプリケーション管理部２００に対して、復号化されたアプリケーションファイルのインストールを指示する（Ｓ６０４）。インストーラ２０３がアプリケーション管理部２００に対してアプリケーションファイルのインストールを指示した後、アプリケーションファイルに含まれるマニフェストファイルに定義されているアプリケーションＩＤを読み出す。また、ライセンスファイルに定義されているライセンスＩＤを読み出す。読み出したアプリケーションＩＤとライセンスＩＤの対をアプリケーションリストに登録する（Ｓ６０５）。アプリケーションリストへの登録作業が終わるとインストール処理を終了する。
【００２９】
Ｓ６０１〜Ｓ６０５において説明したように、新たにアプリケーションファイルをライセンスファイルを指定してインストールする場合に、アプリケーションファイルＩＤとライセンスファイルＩＤとを対応付けて図５のアプリケーションリストに保存していく。
【００３０】
再び、Ｓ６０１を説明する。Ｓ６０１において、ライセンスファイルが指定されていない場合には、Ｓ６０６に進む。ここで、アプリケーションファイルに含まれるマニフェストファイルにＦｒａｇｍｅｎｔ−Ｈｏｓｔヘッダが記述されているか否かを判定する（Ｓ６０６）。Ｆｒａｇｍｅｎｔ−Ｈｏｓｔヘッダが記述されていると判定された場合には、Ｓ６０７に進み、記述されていないと判定された場合には、Ｓ６１０に進む。
【００３１】
Ｓ６０７において、定義値であるホストバンドルのアプリケーションＩＤを検出し、読み出したホストバンドルのアプリケーションＩＤがアプリケーションリストに登録されているか否かを判定する（Ｓ６０７）。ここで、登録されていると判定された場合には、Ｓ６０８に進み、登録されていないと判定された場合には、Ｓ６１１に進む。アプリケーションリストに登録されていると判定された場合には、対象となるアプリケーションファイルのＩＤに対応するライセンスＩＤを特定してＨＤＤ１０４等の記憶部から取得する（Ｓ６０８）。その後、インストーラ２０３は、ライセンス管理部２０１に対してライセンスＩＤが示すライセンスファイルの取得を指示し、ライセンスファイルをＨＤＤ１０４等の記憶部から読み出す（Ｓ６０９）。ホストバンドルとフラグメントバンドルは、同一の鍵情報で暗号化されているので、同一のライセンスファイルに含まれている復号鍵情報で復号化することができる。Ｓ６０９の処理の後、Ｓ６０３〜Ｓ６０５の処理を行う。Ｓ６０７において、一方、読み出したホストバンドルのアプリケーションＩＤがアプリケーションリストに登録されていないと判定された場合には、ホストバンドルのアプリケーションファイルがインストールされていないということを意味する。従って、インストール不可である旨を示す警告画面を操作部１１３に表示する。
【００３２】
再び、Ｓ６０６を説明する。Ｓ６０６において、Ｆｒａｇｍｅｎｔ−Ｈｏｓｔヘッダが記述されていないと判定された場合とは、ホストバンドルのアプリケーションファイルであるが、ライセンスファイルが指定されていないことを意味する。従って、ライセンスファイルが不足しているので、当該ホストバンドルのインストールを制限し、インストール不可である旨を示す警告画面を操作部１１３に表示する（Ｓ６１０）。また、Ｓ６０６で、ＣＰＵ１０１が、Ｆｒａｇｍｅｎｔ−Ｈｏｓｔヘッダが記述されているが、当該フラグメントバンドルに対応するライセンスファイルがＨＤＤ１０４に記憶されていないと判断した場合にも、Ｓ６０８に処理を進めればよい。このような状況は、例えば、ＨＤＤ１０４等の記憶部からライセンスファイルが削除された場合や、インストールされていない場合に発生する。このような場合にも、ＣＰＵ１０１は、フラグメントバンドルのインストールを制限する。
【００３３】
Ｓ６０６〜Ｓ６０９で説明したように、図３に示すユーザインタフェース画面で指定したアプリケーションファイルがフラグメントバンドルである場合に、ホストバンドルのアプリケーションファイルに対応するライセンスファイルを取得し、インストールする。以上のように、本実施例においては、フラグメントバンドルのインストール時に、新たにライセンスファイルをインストールする必要がない。つまり、ホストバンドルのアプリケーションファイルに対応するライセンスファイルが既にインストール済みである場合には、そのライセンスファイルを用いて復号化する。その結果、従来、新たにライセンスファイルをサーバ等からインストールしていた時間が短縮され、また、ライセンスファイルの余分な格納領域が低減されるので、アプリケーションファイルのインストール作業の効率を向上することができる。
【００３４】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005460150.tif 000002
【図２】
0005460150.tif 000003
【図３】
0005460150.tif 000004
【図４】
0005460150.tif 000005
【図５】
0005460150.tif 000006
【図６】
0005460150.tif 000007