説明

情報処理装置、情報処理装置の制御方法、及び、プログラム

【課題】拡張アプリケーションソフトを、当該拡張アプリケーションソフトに対応するアプリケーションソフトに関するライセンスファイルを用いてインストールする。
【解決手段】アプリケーションプログラム、または、当該アプリケーションプログラムの機能を拡張する拡張アプリケーションプログラムをインストールするインストール手段と、インストール手段によってアプリケーションプログラムをインストールする場合に、当該アプリケーションプログラムに用いたライセンスファイルを記憶部に記憶させる記憶制御手段と、インストール手段によって拡張アプリケーションプログラムをインストールする場合に、拡張アプリケーションプログラムに対応するアプリケーションプログラムのインストールに用いられ、記憶部に記憶されたライセンスファイルを用いてインストールするよう制御する制御手段とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アプリケーションをインストールする情報処理装置、情報処理装置の制御方法、及びプログラムに関する。
【背景技術】
【0002】
全てのアプリケーションプログラム(単にアプリケーションともいう。)が予めファームウェアに組み込まれた情報処理装置は、近年、アプリケーションを動的にインストールすることができるプラットフォームを搭載するようになってきた。そのような情報処理装置においては、ユーザの用途等に応じて、デバイスを最適な構成にカスタマイズすることが可能となる。アプリケーションプラットフォームとしては、組み込み機器向けのJava(登録商標)アプリケーションプラットフォームである、OSGi Service Platform(以下、OSGi)がある(非特許文献1)。OSGiでは、ソフトウェアモジュールの管理単位としてバンドルを定義しており、インストール/開始/停止/更新/アンインストールからなるライフサイクルを管理するための仕様を定義している。このようなアプリケーションプラットフォームは、コピー、スキャン、プリント等の組み込み機能をアプリケーションに提供することができる。
【0003】
1つのアプリケーションがアプリケーションプラットフォームの管理機能や組み込み機能を未検証のまま利用すると、そのことが他のアプリケーションやデバイス本体に予期せぬ影響を及ぼしてしまうことは広く知られている。そのため、一般的に、全てのアプリケーションの動作を保障するための動作検証が行われている。また、動作検証済みのアプリケーションは、それぞれアプリケーション固有の暗号鍵で暗号化され、アプリケーションプラットフォームは、その暗号化されたアプリケーションしかインストールできないように構成されている。その結果、アプリケーションをインストールする際には、復号鍵情報を含むライセンスファイルをアプリケーションファイルと共にインストールすることが必要となる。
【0004】
ここで、アプリケーション本体をOSGiの仕様で定義されているホストバンドルとする。また、アプリケーションの修正または拡張部分(拡張アプリケーションプログラム(単に拡張アプリケーションともいう))を、OSGiの仕様で定義されているフラグメントバンドルとする。フラグメントバンドルとは、単独では動作せず、ホストバンドルのクラスローダ空間にフラグメントバンドル自身を追加(アタッチ)するバンドルである。このような場合には、アプリケーションの修正または拡張時に、フラグメントバンドルを用いて修正または拡張するようにすれば、インストールするファイルサイズが小さくなるので効率的となる。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】OSGi Service Platform Specification Release 4,OSGi,2005
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、拡張アプリケーションを新たにインストールする場合には、対応するライセンスファイルを新たにインストールしなくてはならない。さらには、ライセンスファイルをライセンス発行サーバで発行してダウンロードする構成の場合には、インストールにかかる工数が更に増加してしまい、その結果、作業効率を低下させてしまう。
【0007】
そこで、上記の点に鑑み、本発明は、拡張アプリケーションプログラムを、当該拡張アプリケーションプログラムに対応するアプリケーションプログラムに関するライセンスファイルを用いてインストールする仕組みを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するため、本発明に係る情報処理装置は、アプリケーションプログラム、または、当該アプリケーションプログラムの機能を拡張する拡張アプリケーションプログラムをインストールするインストール手段と、インストール手段によってアプリケーションプログラムをインストールする場合に、当該アプリケーションプログラムに用いたライセンスファイルを記憶部に記憶させる記憶制御手段と、インストール手段によって拡張アプリケーションプログラムをインストールする場合に、拡張アプリケーションプログラムに対応するアプリケーションプログラムのインストールに用いられ、記憶部に記憶されたライセンスファイルを用いてインストールするよう制御する制御手段とを備えることを特徴とする。
【発明の効果】
【0009】
本発明によれば、拡張アプリケーションソフトを、当該拡張アプリケーションソフトに対応するアプリケーションソフトに関するライセンスファイルを用いてインストールすることができる。
【図面の簡単な説明】
【0010】
【図1】情報処理装置の内部構成を示すブロック図である。
【図2】アプリケーションプラットフォーム機能のソフトウェア構成を示す図である。
【図3】インストーラのユーザインタフェース画面の一例を示す図である。
【図4】本実施例において用いられるファイルの構成の一例を示す図である。
【図5】アプリケーションリストの一例を示す図である。
【図6】インストール処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下に、本発明を実施するための形態について、図面を参照しながら詳しく説明する。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【0012】
図1は、複合機を例とした情報処理装置の内部構成を示すブロック図である。図1において、コントローラユニット100は、画像入力デバイスであるスキャナ120やプリンタ121と接続されている。コントローラユニット100は、例えば、スキャナ120で読み取られた画像データをプリンタ121により印刷出力するコピー機能を実現する。また、コントローラユニット100は、LAN111や公衆回線112(WAN)に接続されており、画像情報やデバイス情報の入出力を行う。
【0013】
コントローラユニット100は、ROM103に格納されているブートプログラムによりオペレーションシステム(OS)を立ち上げるCPU101を含む。また、CPU101は、OS上でHDD(ハードディスクドライブ)104に格納されているアプリケーションプログラムを実行することにより各種処理を実行する。さらに、CPU101は、RAM102や、HDD104へのデータの記憶や、読出しを制御する記憶制御を行う。ここで、アプリケーションプログラムは、ソフトウェアモジュールで構成され、例えば、コピー機能を実現するためのプログラムの他、送信/ファクス機能、ボックス機能、ウェブブラウザ機能を実現するためのプログラムである。また、外部とのデータの送受信を行うネットワーク機能を実現するためのプログラムや、Java(登録商標)アプリケーションプラットフォーム機能も含まれる。Java(登録商標)アプリケーションプラットフォーム機能は、OSGiの使用に準じてJava(登録商標)アプリケーションを管理し、コピー機能を初めとする組み込み機能をライブラリやシステムサービスとしてアプリケーションに対して提供する。
【0014】
RAM102は、CPU101の作業領域として用いられる。また、RAM102は、作業領域とともに、画像データを一時記憶するための画像メモリ領域を提供する。HDD104は、アプリケーションプログラムとともに画像データを格納する。CPU101には、システムバス107を介して、ROM103およびRAM102とともに、操作部I/F(インタフェース)106、ネットワークI/F109、モデム110、イメージバスI/F105が接続されている。操作部I/F106は、タッチパネルを有する操作部113とのインタフェースであり、操作部113に表示する画像データを操作部113に対して出力する。また、操作部I/F106は、操作部113においてユーザにより入力された情報をCPU101に送信する。
【0015】
ネットワークI/F109は、LAN111に接続され、LAN111を介してLAN111上の各装置との間で情報の入出力を行う。モデム110は、公衆回線112に接続され、公衆回線112を介して情報の入出力を行う。イメージバスI/F105は、システムバス107と画像データを高速で転送する画像バス108とを接続し、データ構造を変換するためのバスブリッジである。画像バス108には、PCIバスまたはIEEE1394等が用いられる。画像バス108には、ラスタイメージプロセッサ(RIP)114、デバイスI/F115、スキャナ画像処理部116、プリンタ画像処理部117、画像回転部118、画像圧縮部119が接続されている。RIP114は、PDLコードをビットマップイメージに展開するプロセッサである。
【0016】
デバイスI/F115には、スキャナ120とプリンタ121が接続され、デバイスI/F115は、画像データの同期系/非同期系の変換を行う。スキャナ画像処理部116は、入力画像データに対して補正、加工、編集を行う。プリンタ画像処理部117は、プリント出力画像データに対してプリンタの補正、解像度変換などを行う。画像回転部118は、画像データの回転を行う。画像圧縮部119は、多値画像データをJPEGデータに圧縮し、2値画像データをJBIG、MMR、MHなどのデータに圧縮するとともに、その伸張処理を行う。
【0017】
図2は、図1に示す情報処理装置に実装されるJava(登録商標)アプリケーションプラットフォーム機能のソフトウェア構成を示す図である。なお、組み込み機能ライブラリ部202以外の各ソフトウェア構成は、情報処理装置のCPU101がRAM102またはHDD104に記憶されたプログラムを実行することによって実現される。組み込み機能ライブラリ部202は、CPU101によるプログラムの実行によって実現されるものではなく、RAM102またはHDD104に記憶されたものである。Java(登録商標)アプリケーションプラットフォーム機能は、アプリケーション管理部200、ライセンス管理部201、組み込み機能ライブラリ部202、インストーラ203、アプレットビューワ204、HTTPサーバ205を含む。アプリケーション管理部200は、OSGiの仕様に準じて実装されており、Java(登録商標)アプリケーション(バンドルともいう)のインストール/開始/停止/アンインストールといったライフサイクルの管理を行う。アプリケーション管理部200は、インストーラ203からの指示に従って、バンドルを構成するアプリケーションファイルをHDD104に格納する。
【0018】
ライセンス管理部201は、アプリケーションファイルに対応するライセンスの管理を行う。ライセンス管理部201は、インストーラ203からの指示に従って、アプリケーションファイルの復号鍵情報を含むライセンスファイルをHDD104に格納する。組み込み機能ライブラリ部202は、コピー機能、スキャン機能、プリント機能、送信/ファクス機能などの組み込み機能をJava(登録商標)アプリケーションから制御するためのJava(登録商標)ライブラリを提供する。インストーラ203、アプレットビューワ204、HTTPサーバ205は、アプリケーション管理部200によって制御されるJava(登録商標)アプリケーションである。
【0019】
インストーラ203は、Java(登録商標)アプリケーションをインストールする。インストーラ203は、ライセンス管理部201及びアプリケーション管理部200に対して、それぞれアプリケーションファイルおよびライセンスファイルの格納を指示する。また、インストーラ203は、HDD104に格納された後述するアプリケーションリストに記述されたアプリケーションファイルを読み出して、RAM102に格納する。また、インストーラ203は、RAM102に格納されたアプリケーションファイル名をHDD104に格納されたアプリケーションリストに書き込む。アプレットビューワ204は、Java(登録商標)アプレットとして実装されたアプリケーションファイルを、操作部I/F106を介して操作部113に表示し、操作部113からの入力に基づいて制御する。HTTPサーバ205は、Java(登録商標)サーブレットとして実装されたアプリケーションファイルが生成するHTMLページを、HTTPを用いて公開する。
【0020】
図3は、Java(登録商標)サーブレットとして実装されてWebブラウザ上に表示されるインストーラ203のユーザインタフェース画面の一例を示す図である。図3に示すユーザインタフェース画面は、アプリケーションファイルのパスの入力を受付けるテキストフォーム(アプリケーション受付)とライセンスファイルのパスの入力を受付けるテキストフォーム(ライセンスファイル受付)を含む。また、ユーザインタフェース画面は、アプリケーションファイルのインストールを指示するインストールボタンを含んでいる。ユーザは、アプリケーションファイルと、ライセンスファイルを入力し、当該ユーザインタフェース画面のインストールボタンを押すことによって、アプリケーションファイルのインストールを指示する。CPU101は、アプリケーションファイルのインストールが指示された場合に、当該アプリケーションファイルファイルのインストール処理を開始する。
【0021】
本実施例において、アプリケーションファイルは、JAR(Java(登録商標)ARchive)形式でアーカイブされている。そのようなアプリケーションファイルには、マニフェストファイル、クラスファイル、リソースファイルが含まれる。また、クラスファイルおよびリソースファイルは、アプリケーション毎に固有の暗号鍵情報で暗号化されている。
【0022】
図4の(a)は、バンドルにおけるマニフェストファイルの一例を示す図である。図4の(a)に示すファイルは、本実施例におけるアプリケーション本体(アプリケーションプログラム)の一例である。マニフェストファイルには、アプリケーションを一意に識別するためのアプリケーションIDが定義されている。また、バンドルの開始および停止時の動作を実装したバンドルアクティベータクラスのクラス名がBundle−Activatorヘッダとして定義されている。ここで、ホストバンドルの場合に、バンドルを一意に識別する情報であるバンドルシンボリック名がBundle−SynbolicNameヘッダとして定義されている。本実施例では、バンドルシンボリック名とアプリケーションIDは同一の値とする。
【0023】
図4の(b)は、フラグメントバンドル(拡張アプリケーションプログラム)におけるマニフェストファイルの一例を示す図である。図4の(b)に示すファイルは、本実施例における本体アプリケーションの機能拡張のための拡張アプリケーションの一例である。フラグメントバンドルの場合には、ホストバンドルのバンドルシンボリック名がFragment−Hostヘッダとして定義されている。本実施例では、バンドルシンボリック名とアプリケーションIDは同一の値とする。フラグメントバンドルは、Fragment−Hostヘッダに定義されたアプリケーションIDによって関連付けられたホストバンドルに追加(アタッチ)する。
【0024】
図4の(c)は、インストールを許可するためのライセンスファイルの一例を示す図である。ライセンスファイルには、ライセンスファイルID、アプリケーションID、復号鍵情報が含まれる。ライセンスファイルIDは、ライセンスを一意に識別するためのIDである。アプリケーションIDはライセンスファイルが対応するアプリケーションファイルを示す。復号鍵情報は、対応するアプリケーションファイルの暗号化部分を復号化するための鍵情報である。
【0025】
図5は、アプリケーションリストの一例を示す図である。アプリケーションリストは、アプリケーションID(アプリケーション識別情報)とライセンスファイルID(ライセンスファイル識別情報)を含んだテーブルとして構成され、HDD104またはRAM102に格納される。図5に示すように、各アプリケーションIDとライセンスファイルIDとが対応している。アプリケーションリストに記述されているアプリケーションIDおよびライセンスファイルIDは、インストーラ203によって更新される。
【0026】
本実施例において、ライセンスファイルおよびアプリケーションファイルは、HDD104において、ディレクトリ構成で格納されている。ライセンスファイルの格納先は、パーティション名以下のサブディレクトリに、ライセンスファイルIDおよびライセンスファイル名を階層的に含んで指定される。また、アプリケーションファイルの格納先は、パーティション名以下のサブディレクトリに、アプリケーションIDおよびアプリケーションファイル名を階層的に含んで指定される。従って、マニフェストファイルに含まれるアプリケーションIDが等しい場合には、そのアプリケーションファイルの格納先も等しい。その場合、既に格納されているアプリケーションファイルは削除され、新しいアプリケーションファイルが格納される(再インストールされる)。
【0027】
図6は、インストーラ203によるインストール処理の手順を示すフローチャートである。図6に示すフローチャートの動作は、例えば、図1に示すCPU101がROM103に記憶されたプログラムを実行することによって行われる。Webブラウザに表示されるインストーラ203のユーザインタフェース画面(図3)のインストールボタンが押下されてアプリケーションのインストール指示を受付けると、インストーラ203は、指定されたアプリケーションのインストール処理を開始する。ここで、インストーラ203は、ユーザインタフェース画面によりライセンスファイルが指定されているか否かを判定する(S601)。ここで、ライセンスファイルが指定されていると判定された場合には、S602に進み、指定されていないと判定された場合には、S606に進む。ライセンスファイルが指定されている場合とは、例えば、図3に示すユーザインタフェース画面において、新たにアプリケーションをライセンスファイルと対応付けてインストールする場合である。
【0028】
ライセンスファイルが指定されている場合には、インストーラ203は、ライセンス管理部201に対して、指定されたライセンスファイルの格納を指示する(S602)。インストーラ203がライセンス管理部201にライセンスファイルのHDD104等の記憶部への格納を指示した後、ライセンスファイルに含まれる復号鍵情報を用いて、指定されたアプリケーションファイルの暗号化部分を復号化する(S603)。S603でアプリケーションファイルを復号化した後、インストーラ203は、アプリケーション管理部200に対して、復号化されたアプリケーションファイルのインストールを指示する(S604)。インストーラ203がアプリケーション管理部200に対してアプリケーションファイルのインストールを指示した後、アプリケーションファイルに含まれるマニフェストファイルに定義されているアプリケーションIDを読み出す。また、ライセンスファイルに定義されているライセンスIDを読み出す。読み出したアプリケーションIDとライセンスIDの対をアプリケーションリストに登録する(S605)。アプリケーションリストへの登録作業が終わるとインストール処理を終了する。
【0029】
S601〜S605において説明したように、新たにアプリケーションファイルをライセンスファイルを指定してインストールする場合に、アプリケーションファイルIDとライセンスファイルIDとを対応付けて図5のアプリケーションリストに保存していく。
【0030】
再び、S601を説明する。S601において、ライセンスファイルが指定されていない場合には、S606に進む。ここで、アプリケーションファイルに含まれるマニフェストファイルにFragment−Hostヘッダが記述されているか否かを判定する(S606)。Fragment−Hostヘッダが記述されていると判定された場合には、S607に進み、記述されていないと判定された場合には、S610に進む。
【0031】
S607において、定義値であるホストバンドルのアプリケーションIDを検出し、読み出したホストバンドルのアプリケーションIDがアプリケーションリストに登録されているか否かを判定する(S607)。ここで、登録されていると判定された場合には、S608に進み、登録されていないと判定された場合には、S611に進む。アプリケーションリストに登録されていると判定された場合には、対象となるアプリケーションファイルのIDに対応するライセンスIDを特定してHDD104等の記憶部から取得する(S608)。その後、インストーラ203は、ライセンス管理部201に対してライセンスIDが示すライセンスファイルの取得を指示し、ライセンスファイルをHDD104等の記憶部から読み出す(S609)。ホストバンドルとフラグメントバンドルは、同一の鍵情報で暗号化されているので、同一のライセンスファイルに含まれている復号鍵情報で復号化することができる。S609の処理の後、S603〜S605の処理を行う。S607において、一方、読み出したホストバンドルのアプリケーションIDがアプリケーションリストに登録されていないと判定された場合には、ホストバンドルのアプリケーションファイルがインストールされていないということを意味する。従って、インストール不可である旨を示す警告画面を操作部113に表示する。
【0032】
再び、S606を説明する。S606において、Fragment−Hostヘッダが記述されていないと判定された場合とは、ホストバンドルのアプリケーションファイルであるが、ライセンスファイルが指定されていないことを意味する。従って、ライセンスファイルが不足しているので、当該ホストバンドルのインストールを制限し、インストール不可である旨を示す警告画面を操作部113に表示する(S610)。また、S606で、CPU101が、Fragment−Hostヘッダが記述されているが、当該フラグメントバンドルに対応するライセンスファイルがHDD104に記憶されていないと判断した場合にも、S608に処理を進めればよい。このような状況は、例えば、HDD104等の記憶部からライセンスファイルが削除された場合や、インストールされていない場合に発生する。このような場合にも、CPU101は、フラグメントバンドルのインストールを制限する。
【0033】
S606〜S609で説明したように、図3に示すユーザインタフェース画面で指定したアプリケーションファイルがフラグメントバンドルである場合に、ホストバンドルのアプリケーションファイルに対応するライセンスファイルを取得し、インストールする。以上のように、本実施例においては、フラグメントバンドルのインストール時に、新たにライセンスファイルをインストールする必要がない。つまり、ホストバンドルのアプリケーションファイルに対応するライセンスファイルが既にインストール済みである場合には、そのライセンスファイルを用いて復号化する。その結果、従来、新たにライセンスファイルをサーバ等からインストールしていた時間が短縮され、また、ライセンスファイルの余分な格納領域が低減されるので、アプリケーションファイルのインストール作業の効率を向上することができる。
【0034】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
アプリケーションプログラム、または、当該アプリケーションプログラムの機能を拡張する拡張アプリケーションプログラムをインストールするインストール手段と、
前記インストール手段によって前記アプリケーションプログラムをインストールする場合に、当該アプリケーションプログラムのインストールに用いたライセンスファイルを記憶部に記憶させる記憶制御手段と、
前記インストール手段によって前記拡張アプリケーションプログラムをインストールする場合に、前記拡張アプリケーションプログラムに対応するアプリケーションプログラムのインストールに用いられ、前記記憶部に記憶されたライセンスファイルを用いてインストールするよう制御する制御手段と
を備えることを特徴とする情報処理装置。
【請求項2】
前記記憶制御手段は、前記インストール手段によって前記アプリケーションプログラムをインストールする場合に、当該アプリケーションプログラムのインストールに用いたライセンスファイルを、前記アプリケーションプログラムを示す識別情報に対応付けて前記記憶部に記憶させることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記インストール手段によってインストールされるアプリケーションプログラムを指定する情報と、前記インストール手段によってインストールされるアプリケーションプログラムのインストールに用いるライセンスファイルを指定する情報を受け付ける受付手段をさらに備え、
前記受付手段によって受付けた情報によって指定されるアプリケーションプログラムが、前記拡張アプリケーションプログラムであり、当該拡張アプリケーションプログラムに対応するアプリケーションプログラムのインストールに用いたライセンスファイルが前記記憶部に記憶されている場合に、前記受付手段によって前記ライセンスファイルを指定する情報を受付けずとも、前記拡張アプリケーションプログラムをインストールすることを許可することを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記制御手段は、前記受付手段によって受付けた情報によって指定されるアプリケーションプログラムが、前記拡張アプリケーションプログラムであり、当該拡張アプリケーションプログラムに対応するアプリケーションプログラムのインストールに用いたライセンスファイルが前記記憶部に記憶されていない場合に、前記受付手段によって前記ライセンスファイルを指定する情報を受付けずに、前記拡張アプリケーションプログラムをインストールすることを制限することを特徴とする請求項3に記載の情報処理装置。
【請求項5】
情報処理装置において実行される前記情報処理装置の制御方法であって、
前記情報処理装置のインストール手段が、アプリケーションプログラム、または、当該アプリケーションプログラムの機能を拡張する拡張アプリケーションプログラムをインストールするインストール工程と、
前記情報処理装置の記憶制御手段が、前記インストール工程において前記アプリケーションプログラムをインストールする場合に、当該アプリケーションプログラムのインストールに用いたライセンスファイルを記憶部に記憶させる記憶制御工程と、
前記情報処理装置の制御手段が、前記インストール工程において前記拡張アプリケーションプログラムをインストールする場合に、前記拡張アプリケーションプログラムに対応するアプリケーションプログラムのインストールに用いられ、前記記憶部に記憶されたライセンスファイルを用いてインストールするよう制御する制御工程と
を備えることを特徴とする情報処理装置の制御方法。
【請求項6】
請求項5に記載の制御方法の各工程を、コンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2011−14106(P2011−14106A)
【公開日】平成23年1月20日(2011.1.20)
【国際特許分類】
【出願番号】特願2009−160260(P2009−160260)
【出願日】平成21年7月6日(2009.7.6)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】