JP6143476B2 - Application processing apparatus, method, and program thereof - Google Patents
Application processing apparatus, method, and program thereof Download PDFInfo
- Publication number
- JP6143476B2 JP6143476B2 JP2013015874A JP2013015874A JP6143476B2 JP 6143476 B2 JP6143476 B2 JP 6143476B2 JP 2013015874 A JP2013015874 A JP 2013015874A JP 2013015874 A JP2013015874 A JP 2013015874A JP 6143476 B2 JP6143476 B2 JP 6143476B2
- Authority
- JP
- Japan
- Prior art keywords
- application
- package
- file
- library
- writing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、アプリケーションのパッケージを処理するアプリケーション処理装置、方法及びプログラムに関する。 The present invention relates to an application processing apparatus, method, and program for processing an application package.
アプリケーションの実行環境として、Java(登録商標)が広く採用されている。Java(登録商標)採用の理由としては、プラットフォーム非依存性、豊富なクラスライブラリ、セキュアな実行環境等が挙げられる。また、その他の大きな特徴として、統一されたアプリケーションの配布形態も挙げられる。 As an application execution environment, Java (registered trademark) is widely adopted. Reasons for adopting Java (registered trademark) include platform independence, abundant class libraries, a secure execution environment, and the like. Another major feature is a unified application distribution form.
Java(登録商標)の実行環境であるJRE(Java(登録商標) Runtime Environment)は、クラスライブラリ、Java(登録商標)VM(Java(登録商標)言語にて記述されたアプリケーションを実行するためのソフトウェア)、及びJREを搭載する端末固有のポーティングレイヤより構成される。実行環境はJAR(Java(登録商標) Archive)ファイルを入力として受け取ると、JARファイルより実行に必要なクラスファイル(Java(登録商標)言語で記述されたソースコードをJava(登録商標)コンパイラでコンパイルすることで生成されるプログラムモジュール)を読み込んで、実行する。JARファイルとは、クラスファイル及びJava(登録商標)アプリ実行過程で使用する様々なリソースファイル(イメージファイル、テキストファイル等)を、JAR形式でパッケージ化したファイルである。クラスの読み込みは、クラスローダによって行われる。クラスローダは、クラスパス(クラスが存在するパスを示す情報)を参照して、JAR形式でパッケージ化されたクラスファイルのクラスを探索する。 Java (registered trademark) Runtime Environment (JRE), which is an execution environment of Java (registered trademark), is a software for executing a class library and an application described in Java (registered trademark) VM (Java (registered trademark) language). ), And a porting layer specific to the terminal on which the JRE is mounted. When the execution environment receives a JAR (Java (registered trademark) Archive) file as an input, the class file (source code written in the Java (registered trademark) language necessary for execution is compiled from the JAR file by the Java (registered trademark) compiler. The program module generated by doing this is read and executed. A JAR file is a file in which various resource files (image file, text file, etc.) used in the course of executing a class file and a Java (registered trademark) application are packaged in a JAR format. Class loading is performed by the class loader. The class loader searches a class of a class file packaged in the JAR format with reference to a class path (information indicating a path where the class exists).
JARファイルAには他のJAR形式のファイルであるJARファイルBを含めることもできるが、通常のクラスローダではJARファイルA内部のJARファイルBを読み込めない。そこで、JARファイルA内部のJARファイルBを、JARファイルAの外部に展開するとともに、JARファイルA実行時に実行環境に設定するクラスパスあるいはJARファイルAを読み込むクラスローダに設定するクラスパスに、展開した場所を加えることで、JARファイルBを通常のクラスローダで読み込ませる方法がある。 The JAR file A can include a JAR file B, which is another JAR file, but the normal class loader cannot read the JAR file B inside the JAR file A. Therefore, the JAR file B inside the JAR file A is expanded outside the JAR file A, and expanded to the class path set in the execution environment when the JAR file A is executed or the class path set in the class loader that reads the JAR file A. There is a method in which the JAR file B is read by a normal class loader by adding the above location.
通常JARファイル内部に存在するJARファイルを、クラスローダは読み込めない。つまり、上記の例ではJARファイルA内部のJARファイルBは、クラスローダから読み込み対象として認識されず読み込まれない。このように、JARファイルを展開と合わせて削除を行わないと、同一ファイルが複数存在した状態になる。この状態では展開元のJARファイルにはプログラムの実行時に読み込まれないファイルが含まれるため、ストレージ領域が少ないデバイスでは問題となる。 The class loader cannot read a JAR file that normally exists inside the JAR file. That is, in the above example, the JAR file B inside the JAR file A is not recognized as a read target from the class loader and is not read. As described above, if the JAR file is not deleted together with the development, a plurality of identical files exist. In this state, the development-source JAR file includes a file that is not read when the program is executed, which causes a problem in a device having a small storage area.
このような問題を解決する技術として、例えばJARファイルのプログラムを一度実行して、実行時に不要となるファイルを特定してJARファイルから削除する技術(例えば特許文献1、2、3参照)がある。 As a technique for solving such a problem, for example, there is a technique for executing a JAR file program once, specifying a file that is unnecessary at the time of execution, and deleting it from the JAR file (see, for example, Patent Documents 1, 2, and 3). .
特許文献1では、JARファイルに含まれるアイコンイメージファイルを削除し、JARファイルのサイズを縮小する。しかしながら、削除するファイルを特定するためには、最低一回はJARファイルのプログラムを実行しなくてはならない。 In Patent Document 1, an icon image file included in a JAR file is deleted, and the size of the JAR file is reduced. However, in order to specify the file to be deleted, the JAR file program must be executed at least once.
特許文献2では、アプリケーションに含まれる不要機能を削除することで、リソース消費量を削減する。しかしながら、各機能の実行履歴にもとづいて不要機能を判定するため、最低一回はプログラムを実行しなくてはならない。不要機能に関するファイルは、不要機能と判定されて削除されるまで、ストレージを専有し続ける。 In Patent Document 2, resource consumption is reduced by deleting unnecessary functions included in an application. However, since an unnecessary function is determined based on the execution history of each function, the program must be executed at least once. Files relating to unnecessary functions continue to occupy storage until they are determined to be unnecessary functions and are deleted.
特許文献3では、アプリケーションをアップデートする際に、アップデート後に不要となるファイルを削除する。しかし、削除の対象はアップデートで発生する差分ファイルのみである。 In Patent Document 3, when an application is updated, a file that becomes unnecessary after the update is deleted. However, only the difference files generated by the update are to be deleted.
デバイスのストレージ容量に余裕がない環境では、インストール・アップデートの処理において、JARファイルのサイズを速やかに縮小する必要がある。 In an environment where the storage capacity of the device is not sufficient, it is necessary to quickly reduce the size of the JAR file in the installation / update process.
本発明は上記の課題に鑑みてなされたものであり、JARパッケージファイルのサイズを速やかに縮小し、デバイスのストレージ容量を省くアプリケーション処理装置を提供することを目的とする。また、その方法、及びプログラムを提供することを目的とする。 The present invention has been made in view of the above problems, and an object of the present invention is to provide an application processing apparatus that quickly reduces the size of a JAR package file and saves the storage capacity of the device. Moreover, it aims at providing the method and program.
本発明のアプリケーション処理装置は、以下の構成を備える。即ち、ライブラリと設定情報とを含むアプリケーションのパッケージを処理するアプリケーション処理装置であって、前記アプリケーションのパッケージを受信する受信手段と、前記設定情報が展開対象に指定する展開対象ライブラリを記憶装置に展開して書き込み、前記展開対象ライブラリを含まないパッケージを前記記憶装置に書き込む書き込み手段。 The application processing apparatus of the present invention has the following configuration. That is, an application processing apparatus that processes an application package including a library and setting information, the receiving means for receiving the application package, and a development target library that the setting information designates as a development target is expanded in a storage device. And writing means for writing the package not including the library to be expanded into the storage device.
本発明によれば、アプリケーションのパッケージ外部に展開されたライブラリファイルをアプリケーションのパッケージ内部に含まないので、アプリケーションのサイズを縮小することが出来る。 According to the present invention, since the library file expanded outside the application package is not included in the application package, the size of the application can be reduced.
以下、添付の図面を参照して、本発明の好適な実施形態を詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。 Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. The configurations shown in the following embodiments are merely examples, and the present invention is not limited to the illustrated configurations.
<実施形態1>
図1は、一般的な情報管理装置101のハードウェア構成の一例を示す図である。図1に示されるように情報管理装置101は、ハードウェア構成として、CPU11を含む。
<Embodiment 1>
FIG. 1 is a diagram illustrating an example of a hardware configuration of a general
CPU11が、記憶装置13に記憶されている後述するアプリケーションやプログラム実行環境等の各々に対応するプログラムに基づき処理を行うことによって、後述する各機能、又はフローチャートを実現する。
The
また、CPU11には、バス10を介して、入力装置12、記憶装置13、表示装置14及び外部接続IF15が接続されている。入力装置12は、情報を入力するキーボード及び/又はマウスである。記憶装置13は、例えば、ROM、RAM、ハードディスク装置等からなり、上述した各プログラム以外に、プログラムに基づく処理で用いられるデータ等を記憶する。表示装置14は、画面等を表示するディスプレイである。外部接続IF15は、ネットワークインタフェース、外部機器との各種接続インタフェースである。
Further, an
尚、CPU11はプログラムを実行することで各種の手段として機能することが可能である。なお、CPU11と協調して動作するASICなどの制御回路がこれらの手段として機能してもよい。また、CPU11と情報管理装置の動作を制御する制御回路との協調によってこれらの手段が実現されてもよい。また、CPU11は単一のものである必要はなく、複数であってもよい。この場合、複数のCPU11は分散して処理を実行することが可能である。また、複数のCPU11は単一のコンピュータに配置されていてもよいし、物理的に異なる複数のコンピュータに配置されていてもよい。なお、CPU11がプログラムを実行することで実現する手段が専用の回路によって実現されてもよい。
The
次に、情報管理装置101上に構築するシステム構成について、図2を用いて説明する。図2は、情報管理装置101のシステム構成の一例を示す図である。
Next, a system configuration built on the
オペレーティングシステム201は、システム全体の基盤となるソフトウェアである。アプリケーション実行環境202は、例えば仮想マシンのように、オペレーティングシステム201上のプロセスでありながら、自身の上でアプリケーションが動作する環境を提供するソフトウェアである。アプリケーション管理フレームワーク203は、各アプリケーション204の動作状態を管理する機能をもつ。また、アプリケーション管理フレームワーク203への指示を行うシステムアプリケーション205が動作することもある。例えば、アプリケーションのインストール・アップデートを指示するユーザインタフェースを備えるシステムアプリケーション205が挙げられる。
The
本実施形態で用いる情報管理装置101のハードウェア構成では、記憶装置13は高速なインストール用領域と、低速な汎用領域を備える。インストール用領域の容量は比較的少ないため、アプリケーションの実行に不要なファイルの保存を抑制することが課題となる。
In the hardware configuration of the
本実施形態は、これらの課題を解決するために、アプリケーション管理フレームワーク203が汎用ディスク領域とインストール用ディスク領域を使い分けつつ、インストール済みアプリケーションが記憶装置を占めるサイズを縮小できる仕組みを実現する。
In order to solve these problems, the present embodiment realizes a mechanism that allows the
初めに、インストール・アップデートの対象となるアプリケーションのパッケージ構成を、図3(a)、図3(b)を用いて説明する。図3(a)は、パッケージのファイル構成を示す図である。図3(b)はインストール済みパッケージのファイル構成を示す図である。 First, the package configuration of an application to be installed / updated will be described with reference to FIGS. 3 (a) and 3 (b). FIG. 3A shows the file structure of the package. FIG. 3B shows the file structure of the installed package.
図3(a)に示すアプリケーション301は、JARファイルである。このJARファイルは、実行形式のプログラムであるbin302を含む。また、アプリケーションの名前、id、ベンダー、などを記述するmanifest303(以降、マニフェストファイルと同義である)を含む。さらに、アプリケーション301には、特定機能を実現するbin302をまとめてJARファイルにしたものを複数含めることもできる。含まれるJARファイル群は、lib304(ライブラリ)である。アプリケーション301はbin302とmanifest303を必ず含むが、lib304を含むとは限らない。lib304を含む場合には、展開対象のJARファイル群を記述するmanifest303の項目に、lib304の要素である各JARファイルのパスを記載する。
An
図3(b)に示すアプリケーション301は、インストール用領域402にインストール済みのファイル構成である。lib304はJARファイル301の外部に展開され、JARファイル301内には無い。また、クラスローダがlib304を見つけるための情報が、クラスパス情報305として保存されている。
An
次に、アプリケーション管理フレームワーク203の動作について、図4、図5を用いて説明する。図4は、アプリケーション管理フレームワーク203の構成と情報管理装置101が備える記憶装置の領域を示す図である。図5はアプリケーション管理フレームワーク203がアプリケーション301をインストールする処理の手順を示すフローチャートである。
Next, the operation of the
汎用領域401とインストール用領域402は、記憶装置13が備える記憶用領域である。領域書き込み部404は、書き込み先のパスを指定してデータを書き込むことで、汎用領域401とインストール用領域402のいずれにも書き込みを行える。
The general-
アプリケーション管理フレームワーク203は、インストール・アップデート対象となるアプリケーション301のデータを、パッケージ受信部403によって受信する(ステップS501)。受け取るデータは、データストリームとして与えられ、アプリケーション管理フレームワーク203は対象となるアプリケーションのmanifest303を読み込むために、データストリームをファイル形式に変換する必要がある。そのため、アプリケーション管理フレームワーク203は、領域書き込み部404によって、汎用領域401にパッケージのストリームを一時的なファイルとして書き込む(ステップS502)。汎用領域401に書き込むのは、インストール用領域402に一時的なファイルを配置しないためである。もしインストール用領域402に一時的なファイルを配置すると、後述のステップS504にインストール用領域402に書き込む際に、インストール用領域402の空き領域が少なくなってしまい、書き込みが失敗することがあるからである。具体例として、インストール用領域402が容量10MBであり、6MBのアプリケーション301をインストールするとする。ここで、一時的なファイルをインストール用領域402に配置すると、インストール処理中に12MBの容量が必要となるため、書き込みが失敗する。
The
汎用領域401にアプリケーション301を書き込むと、アプリケーション管理フレームワーク203は設定情報取得部405によって、マニフェスト(manifest303)を読み込む(ステップS503)。
When the
そして、アプリケーション管理フレームワーク203は、マニフェストに展開対象のファイル(lib304)が記載されているかを確認する(ステップS504)。記載されている場合、パッケージ展開部406は領域書き込み部404を用いて、インストール用領域402にlib304を書き込むことで展開する(S506)。
Then, the
ステップS504、またはステップS506が完了すると、アプリケーション管理フレームワーク203はマニフェストに記載されている展開対象のJARファイル(lib304)以外のファイルを、インストール用領域402に書き込む(ステップS505)。書き込みにおいては、汎用領域401のJARファイル301を開き、必要なファイル(bin302とmanifest303)をインストール用領域402のファイルに対して開いたデータストリームに書き込んでいく。こうすることで、インストール用領域402に一時ファイルを書き込むことなく、インストール用領域402に、lib304が無い状態のアプリケーション301のJARファイルが書き込まれる。
When step S504 or step S506 is completed, the
次に、アプリケーション管理フレームワーク203はクラスパス情報305をインストール用領域402に保存する(ステップS507)。クラスパス情報305は、インストール用領域402に書き込んだアプリケーション301のパスと、lib304のパスである。
Next, the
クラスパス情報305を保存すると、汎用領域401に書き込んだパッケージを削除して(ステップS508)、インストール処理は終了する。以上、アプリケーション管理フレームワーク203がインストール処理を行う場合の実施形態を説明した。インストール対象のパッケージを一度汎用領域に配置し、必要なファイルのみを含むパッケージをインストール用領域に書き込むことで、インストール済みアプリケーションのパッケージサイズを縮小することができる。インストール用領域402にlib304ファイルを重複して書きこまないので、パッケージサイズが縮小している。
When the
<実施形態2>
次に、アプリケーション管理フレームワーク203が行うアプリケーションのアップデートの処理手順について、図6,図7(a)、図7(b)、図7(c)、図7(d)を用いて説明する。図6は、アプリケーション管理フレームワーク203が行う処理の手順を示すフローチャートである。図7(a)、図7(b)、図7(c)、図7(d)は、アプリケーション管理フレームワーク203のアップデートの各処理において、汎用領域401とインストール用領域402に書き込まれたファイルを示した図である。
<Embodiment 2>
Next, an application update processing procedure performed by the
インストール済みアプリケーション301を、アプリケーション701でアップデートする例で説明する。アプリケーション701はアプリケーション301のバージョンアップ版であり、manifest303とmanifest703において、アプリケーションの名前とidは同一である。
An example in which the installed
ステップS601、S602は、それぞれステップS501,S502と同様である。ステップS602終了後、汎用領域401とインストール用領域402は、図7(a)の状態となる。
Steps S601 and S602 are the same as steps S501 and S502, respectively. After step S602, the general-
次に、アプリケーション管理フレームワーク203はインストール済みのパッケージ(インストール用領域402内のアプリケーション301のJARファイル)とアプリケーション301のlib304を、汎用領域401に退避する(S603)。退避処理は、汎用領域401にアプリケーション301のパッケージとlib304とをコピー後に、インストール用領域402からアプリケーション301のパッケージとlib304とを削除することで行う。このとき、汎用領域401とインストール用領域402の状態は図7(b)となる。
Next, the
次に、アプリケーション管理フレームワーク203はステップS503と同様にマニフェストを読み込み(ステップS604)、ステップS504、S506と同様の処理を行う(S605,S607)。そして、ステップS505と同様にアプリケーション701のパッケージとlib704とをlib704が重複しないようにインストール用領域402に書き込む(S606)。
Next, the
ステップS606が完了すると、ここまでの処理で例外が発生したかを確認する(ステップS608)。想定される例外として、インストール用領域402の空き領域不足による書き込み例外がある。例えば、アップデート前とアップデート後でパッケージのサイズが増加する場合に、空き領域不足の例外が起き得る。また、ステップS603の退避を行わずに新しいパッケージをステップS605で書き込んでしまうと、インストール用領域402の空き領域不足が起きやすくなる。また、退避を行わずに上書きで書き込んでしまうと、アップデートが失敗した時にステップS610のようにアップデート前の状態に戻せない。
When step S606 is completed, it is confirmed whether an exception has occurred in the processing so far (step S608). As an assumed exception, there is a write exception due to insufficient free space in the
例外が発生していなければ新しいクラスパスの情報をクラスパス情報705として保存する(ステップS609)。このとき、汎用領域401とインストール用領域402の状態は図7(c)となる。例外が発生していれば、インストール用領域402に書き込んだファイル(アプリケーション701、lib704)を削除する。そして、退避したパッケージ(アプリケーション301,lib304)をインストール用領域402に戻して、元の状態に復旧する(ステップS610)。
If no exception has occurred, the new class path information is saved as class path information 705 (step S609). At this time, the states of the general-
次に、アプリケーション管理フレームワーク203は汎用領域に書き込んだパッケージ301と701とlib304とを削除し(S611)、処理は終了する。ステップS608でエラーが起きていなければ、このときの汎用領域401とインストール用領域402の状態は図7(d)となる。
Next, the
なお、ステップS603の処理はステップS606、S607より前ならば、いずれのタイミングで行なってもよい。 Note that the process of step S603 may be performed at any timing as long as it is prior to steps S606 and S607.
以上、アプリケーション管理フレームワーク203がアプリケーションのアップデート処理を行う場合の実施形態を説明した。
The embodiment in the case where the
<実施形態3>
実施形態1では、lib304が無い状態のサイズを縮小したパッケージをインストール用領域402に書き込む処理を行った。この縮小処理で、インストール用領域に一時的なファイルを配置すると、インストール用領域を十分に活用することができないことが起こりえる。一時的なファイルをインストール用領域に置くには、インストール用領域の空き領域がインストール対象アプリケーションの2倍必要になってしまう。そこで、実施形態1では、インストール処理で受信したストリームを汎用領域401にファイルとして書き込んでから、インストール用領域402にファイルを書き込んだ。
<Embodiment 3>
In the first embodiment, a process of writing a package with a reduced size in a state where there is no
一方、アプリケーション301がlib304を含まない場合、ストリームを直接インストール用領域402に書き込むことで、インストール処理をより高速に行うことができる。また、lib304のサイズが小さい場合、サイズの縮小よりもインストール処理の高速化を優先したい場合もある。このようなケースに対応するには、パッケージの縮小処理を行うかどうかを予め指示・設定しておき、その指示を参照して縮小処理をするかしないか判定する機能をアプリケーション管理フレームワーク203が備える必要がある。
On the other hand, when the
そこで、パッケージの縮小処理を判定する機能を備える実施形態を、図8を用いて、実施形態3として説明する。図8はパッケージの縮小処理判定部を備えるアプリケーション管理フレームワーク203の構成を示す図である。
Therefore, an embodiment having a function of determining a package reduction process will be described as a third embodiment with reference to FIG. FIG. 8 is a diagram illustrating a configuration of the
縮小処理判定部801は、アプリケーション管理フレームワーク203が縮小処理を行うかどうかを判定する。判定方法としては、縮小処理をするインストール用APIと縮小処理をしないAPIの2種類をアプリケーション管理フレームワーク203に備え、システムアプリケーション205がいずれのAPIを実行したかに応じて縮小処理をするかしないか判定することが考えられる。
The reduction
この場合、システムアプリケーション205として、ユーザによるインストール指示を受け付けるUIを備えるシステムアプリケーションが存在する。ユーザは縮小処理をする、しないを選択して、システムアプリケーション205のUIからアプリケーション204のインストールを指示する。システムアプリケーション205はユーザの選択に応じて、上記2つのAPIを使い分ける。
In this case, as the
また、インストール用のAPIは一つとし、別途縮小処理をする、しないを設定するAPIを備えることも考えられる。この場合、システムアプリケーション205のUIは縮小処理を指示するチェックボックスを備え、ユーザによるチェックボックスの選択状態に応じて、アプリケーション管理フレームワーク203を設定する。事前に設定することで、ユーザはインストールの指示時に縮小処理の選択を省略し、縮小処理判定部801は設定を参照して判定を行う。複数のアプリケーションインストール時に、毎回ユーザに確認するのを省略することができる。
Further, it is conceivable to provide an API for installation, and an API for setting whether or not to perform a separate reduction process. In this case, the UI of the
また、ファームアップデートで複数のアプリケーション204をインストールする場合に、ユーザが各アプリケーション204のインストール操作を行うと効率が悪い。そこで、インストールするアプリケーションの一覧をテキストファイルに記載し、アプリケーション管理フレームワーク203がファームアップデート直後にテキストファイルを読み込んで自動でインストールを行う方法がある。テキストファイルにはアプリケーションごとに、縮小処理を実施する、しないが記載される。テキストファイルは、ファーム作成者が手動で作成し、ファームに含める。テキストファイルの記述例としては、図12が挙げられる。図12は、自動でインストールするアプリケーション204の一覧を記したテキストファイルである。このとき、縮小効果が見込まれるアプリケーション(appB.jar)だけを縮小処理してインストールすることで、自動インストールに要する時間を最も短くすることができる。そこで、テキストファイルにはインストールするアプリケーションごとに、縮小処理を行うかどうかの記載(Reduction項目)も記載する。アプリケーション管理フレームワーク203は、図12のテキストファイルを読み込むと、appA.jarをファームから読み込んでパッケージ受信部403に与える。そして、縮小処理判定部801は“Reduction=false”の記載を参照し、縮小処理を行わないと判定する。appA.jarのインストールが終わると、同様に順次appB.jar、appC.jarのインストールも行い、自動アップデートは完了する。
In addition, when installing a plurality of
以上、想定される縮小処理判定部801の具体例について説明した。ここから、インストールの処理の流れについて図9,図10を用いて説明する。
The specific example of the assumed reduction
図9はパッケージの縮小処理をしてインストールしたアプリケーション701と、縮小処理をせずにインストールしたアプリケーション901のそれぞれのインストール済みパッケージの構成を示す図である。図10は、アプリケーション管理フレームワーク203のインストールの処理の手順を示すフローチャートである。
FIG. 9 is a diagram illustrating configurations of installed packages of an
ステップS1001は、ステップS501と同様である。インストールの指示を受けると、アプリケーション管理フレームワーク203は縮小処理判定部801によって縮小処理が必要かを判定する(ステップS1002)。
Step S1001 is the same as step S501. Upon receiving an installation instruction, the
縮小処理が必要でなければ、インストール用領域402にパッケージのストリームをファイルとして書き込み(ステップS1003)、マニフェストを読み込む(ステップ1004)。そして、マニフェストに展開するlibが記載されているかを確認し(ステップS1005)、記載されていれば、ステップS506と同様にlibを展開する(ステップS1006)。 If the reduction process is not necessary, the package stream is written as a file in the installation area 402 (step S1003), and the manifest is read (step 1004). Then, it is confirmed whether or not the lib to be expanded is described in the manifest (step S1005). If it is described, the lib is expanded in the same manner as in step S506 (step S1006).
一方、縮小処理が必要であれば、ステップS502と同様に、汎用領域401に書き込み(ステップS1007)、マニフェストを読み込む(ステップS1008)。そして、マニフェストに展開するlibが記載されているかを確認し(ステップS1009)、記載されていればステップS506と同様にlibを展開する(S1011)。マニフェストにlibが記載されていない、あるいはステップS1011が完了すると、ステップS505と同様にインストール用領域402にパッケージを書き込む(ステップS1010)。
On the other hand, if the reduction process is necessary, as in step S502, the
次に、ステップS507と同様にクラスパス情報を保存する(ステップS1012)。このときのインストール用領域402に書き込まれたファイルは、縮小処理が必要と判定された場合には図9のアプリケーション701のようになる。縮小処理が必要と判定されなかった場合には、図9のアプリケーション901のようになる。
Next, the class path information is stored as in step S507 (step S1012). The file written in the
最後に、ステップS508と同様に汎用領域401のパッケージを削除して(ステップS1013)、処理は終了する。ただし、縮小処理が必要と判定されなかった場合は、汎用領域401には何も書き込まれていないため、ステップS1013では何も削除しない。
Finally, the package in the general-
以上、縮小処理判定部801を備えるアプリケーション管理フレームワーク203のインストール処理について説明した。
The installation process of the
<実施形態4>
次に、縮小処理判定部801を備えるアプリケーション管理フレームワーク203が行うアプリケーションのアップデート処理について、図11を用いて説明する。
<Embodiment 4>
Next, an application update process performed by the
アップデート処理が始まるとステップS601と同様にアップデートするパッケージを受信し(ステップS1101)する。そして、ステップS603と同様にインストール済みのパッケージとlibを汎用領域に退避する(ステップS1102)。そして、パッケージ縮小処理が必要かを判定する(ステップS1103)。 When the update process starts, a package to be updated is received as in step S601 (step S1101). Then, similarly to step S603, the installed package and lib are saved in the general-purpose area (step S1102). Then, it is determined whether package reduction processing is necessary (step S1103).
縮小処理の必要がないと判定した場合、インストール用領域402にパッケージのストリームをファイルとして書き込み(ステップS1104)、マニフェストを読み込む(ステップ1105)。そして、マニフェストに展開するlibが記載されているかを確認し(ステップS1106)、記載されていれば、ステップS607と同様にlibを展開する(ステップS1107)。 If it is determined that the reduction process is not necessary, the package stream is written as a file in the installation area 402 (step S1104), and the manifest is read (step 1105). Then, it is confirmed whether or not the lib to be expanded is described in the manifest (step S1106). If it is described, the lib is expanded in the same manner as in step S607 (step S1107).
一方、縮小処理の必要があると判定した場合、ステップS602と同様に、汎用領域401に書き込み(ステップS1108)、マニフェストを読み込む(ステップS1109)。そして、マニフェストに展開するlibが記載されているかを確認し(ステップS1110)、記載されていれば、ステップS607と同様にlibを展開する(ステップS1112)。libが記載されていない、あるいはステップS1112で展開が完了すると、ステップS606と同様に、インストール用領域にパッケージを書き込む(ステップS1111)。
On the other hand, if it is determined that the reduction process is necessary, the
次に、ステップS608と同様に、ここまでの処理で例外が発生したかを確認する(ステップS1113)。そして、例外が発生していなければステップS609と同様にクラスパス情報を保存する(ステップS1114)。例外が発生していればステップS610と同様に退避したパッケージをインストール用領域402に戻す(ステップS1115)。
Next, as in step S608, it is confirmed whether an exception has occurred in the processing so far (step S1113). If no exception has occurred, the class path information is saved as in step S609 (step S1114). If an exception has occurred, the saved package is returned to the
最後に、ステップS611と同様に汎用領域のパッケージを削除して(ステップS1116)、処理は終了する。 Finally, the package in the general-purpose area is deleted as in step S611 (step S1116), and the process ends.
以上、縮小処理判定部801を備えるアプリケーション管理フレームワーク203のアップデート処理について説明した。
The update process of the
<実施形態5>
実施形態1において、インストール用領域402の空き容量が十分にある場合には、汎用領域401を使わずに、インストール用領域402に一時ファイルを書き込んでもよい。記憶装置13がインストール用領域のみを備える場合でも、本発明は実施可能である。記憶装置13がひとつの領域のみを備える場合のアプリケーション管理フレームワーク203の動作について、図13を用いて説明する。図13はアプリケーション管理フレームワーク203のインストール処理のフローを示す図である。
<Embodiment 5>
In the first embodiment, when there is sufficient free space in the
はじめに、ステップS501と同様にインストールするパッケージのデータを受信する(ステップS1301)。そして、ステップS502と同様に、記憶装置13にパッケージを書き込む(ステップS1302)。 First, the package data to be installed is received as in step S501 (step S1301). Then, as in step S502, the package is written in the storage device 13 (step S1302).
ステップS1303、S1304、S1305、S1306、S1307は、それぞれステップS503,S504,S505,S506、S507と同様である。 Steps S1303, S1304, S1305, S1306, and S1307 are the same as steps S503, S504, S505, S506, and S507, respectively.
最後に、記憶装置13に一時ファイルとして書き込んだパッケージを削除し(ステップS1308)、処理は終了する。
Finally, the package written as a temporary file in the
以上、記憶装置13がひとつの領域のみを備える場合のインストール処理について説明した。
The installation process in the case where the
<実施形態6>
実施形態1では、lib304を重複して保持しないようにしサイズを縮小したパッケージをインストール用領域402に書き込む処理を行った。この処理を、縮小処理と称した。
<Embodiment 6>
In the first embodiment, a process of writing a package whose size is reduced so that the
ところで、情報管理装置101上に構築するシステム構成は、ファームの更新によって変化する。例えば、縮小処理に未対応の古いアプリケーション管理フレームワーク203が搭載された情報管理装置101において、アプリケーションAがインストールされたとする。その後、ファームの更新によって縮小処理に対応した新しいアプリケーション管理フレームワーク203が情報管理装置101に導入された場合に、インストール済みのアプリケーションAのサイズは、アップデート・再インストールしないと縮小されない。
By the way, the system configuration built on the
このように、縮小処理が未実施のアプリケーションがインストール済みの環境において、縮小処理のみを実施する機能をアプリケーション管理フレームワーク203が備えるとする。すると、アプリケーションAのアップデート・再インストールを行わずにインストール済みアプリケーションのサイズを縮小できる。
As described above, it is assumed that the
アプリケーション管理フレームワーク203がインストール済みアプリケーションのサイズを縮小する機能について、図14、図15を用いて説明する。図14はアプリケーション管理フレームワーク203が行う縮小処理の手順を示すフローチャートである。図15は、パッケージの縮小処理指示受信部を備えるアプリケーション管理フレームワーク203の構成を示す図である。
The function that the
システムアプリケーション205がアプリケーション管理フレームワーク203に縮小対象のアプリケーションを指示し、アプリケーション管理フレームワーク203が備える縮小処理指示受信部1501が指示を受け取る事で、縮小処理は開始される。libファイルの有無を確認する、libファイルのサイズが一定値を超えているかを確認することで縮小対象のアプリケーションを確認する。縮小処理を指示するAPIをアプリケーション管理フレームワーク203が備え、システムアプリケーション205が実行する例があげられる。また、縮小処理対象のアプリケーション204のリストをシステムアプリケーション205が縮小指示ファイルとして作成し、アプリケーション管理フレームワーク203が起動時に縮小指示ファイルを読み込む例もありえる。
The reduction process is started when the
縮小処理を未実施の場合、インストール済みのアプリケーション901は、図9に示したようにインストール済みパッケージ901、および展開済みのlib904として保持されている。
When the reduction process has not been performed, the installed
初めに、アプリケーション管理フレームワーク203は、縮小対象のインストール済みパッケージ901のマニフェスト903を読み込む(ステップS1401)。そしてマニフェスト903に展開するlib904が記載されているかを確認する(ステップS1402)。記載されていなければ、処理は終了する。
First, the
マニフェストに展開するlib904が記載されていれば、lib904がインストール済みパッケージ901に含まれているかを確認する(ステップS1403)。含まれていなければ、処理は終了する。
If the
lib904がインストール済みパッケージ901に含まれていれば、汎用領域401にインストール済みパッケージ901を移動(S1404)する。そして、移動したパッケージを参照して、lib904が除かれたパッケージとしてインストール用領域402に書き込み(S1405)、処理は終了する。
If the
以上、縮小処理に未対応のアプリケーション管理フレームワーク203が搭載されていた情報管理装置101がファームのアップデートによって縮小処理に対応するようになった場合のための、縮小処理実行手順について説明した。
The reduction process execution procedure for the case where the
<その他の実施形態>
以上、実施形態例を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記録媒体(記憶媒体)等としての実施態様をとることが可能である。具体的には、複数の機器(例えば、ホストコンピュータ、インタフェース機器、撮像装置、webアプリケーション等)から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
<Other embodiments>
Although the embodiment has been described in detail above, the present invention can take an embodiment as a system, apparatus, method, program, recording medium (storage medium), or the like. Specifically, the present invention may be applied to a system composed of a plurality of devices (for example, a host computer, an interface device, an imaging device, a web application, etc.), or may be applied to a device composed of a single device. good.
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコード(コンピュータプログラム)を記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。 Needless to say, the object of the present invention can be achieved as follows. That is, a recording medium (or storage medium) that records a program code (computer program) of software that implements the functions of the above-described embodiments is supplied to the system or apparatus. Needless to say, such a storage medium is a computer-readable storage medium. Then, the computer (or CPU or MPU) of the system or apparatus reads and executes the program code stored in the recording medium. In this case, the program code itself read from the recording medium realizes the functions of the above-described embodiment, and the recording medium on which the program code is recorded constitutes the present invention.
Claims (12)
ョン処理装置であって、
前記アプリケーションのパッケージを受信する受信手段と、
前記設定情報が展開対象に指定する展開対象ライブラリを記憶装置に展開して書き込み
、前記展開対象ライブラリを含まないパッケージを前記記憶装置に書き込む書き込み手段
と、を備えることを特徴とするアプリケーション処理装置。 An application processing device that processes an application package including a library and setting information,
Receiving means for receiving a package of the application;
An application processing apparatus comprising: writing means for expanding and writing a development target library specified by the setting information as a development target in a storage device, and writing a package not including the development target library to the storage device.
前記書き込み手段はインストール処理の際に前記受信手段で受信したパッケージを前記
第2の記憶領域に書き込み、前記設定情報が展開対象に指定する展開対象ライブラリを前
記第1の記憶領域に展開して書き込み、前記展開対象ライブラリを含まないパッケージを
前記第1の記憶領域に書き込むことを特徴とする請求項1に記載のアプリケーション処理
装置。 The storage device includes a first storage area and a second storage area,
The writing means writes the package received by the receiving means during the installation process into the second storage area, and writes the development target library specified by the setting information as the development target into the first storage area. 2. The application processing apparatus according to claim 1, wherein a package not including the development target library is written in the first storage area.
前記書き込み手段は、インストール済みのアプリケーションのパッケージと展開済みラ
イブラリと前記受信手段で受信された新たなアプリケーションのパッケージとを第2の記
憶領域に書き込み、前記新たなパッケージの設定情報が展開対象に指定する展開対象ライ
ブラリを第1の記憶領域に展開して書き込み、前記展開対象ライブラリを含まない新たな
パッケージを前記第1の記憶領域に書き込み、
更に、第2の記憶領域に書き込まれたインストール済みのアプリケーションのパッケー
ジと展開済みライブラリと新たなアプリケーションのパッケージとを削除する削除手段を
備えることを特徴とする請求項2に記載のアプリケーション処理装置。 The receiving means receives a package of a new application,
The writing unit writes the installed application package, the deployed library, and the new application package received by the receiving unit to the second storage area, and the setting information of the new package is designated as a deployment target. A development target library to be developed and written to the first storage area , a new package not including the development target library is written to the first storage area,
The application processing apparatus according to claim 2, further comprising a deletion unit that deletes the installed application package, the deployed library, and the new application package written in the second storage area.
ライブラリを含むパッケージのいずれを前記記憶装置に書き込むかの指示を判定する縮小
処理判定手段を更に備え、
前記書き込み手段は、前記縮小処理判定手段の結果に基づいてパッケージを書き込むこ
とを特徴とする請求項1乃至3に記載のアプリケーション処理装置。 A reduction process determination unit that determines an instruction to write either a package that does not include the expansion target library or a package that includes the expansion target library to the storage device during the installation process;
The application processing apparatus according to claim 1, wherein the writing unit writes a package based on a result of the reduction processing determination unit.
形式のパッケージをファイルとして書き込み、前記ファイルを読み込むことで前記設定情
報を取得することを特徴とする請求項1記載のアプリケーション処理装置。 2. The application processing according to claim 1, wherein the receiving unit receives a package in a stream format, writes the package in the stream format as a file in the storage device, and acquires the setting information by reading the file. apparatus.
ーション処理装置。 The application processing apparatus according to claim 1, wherein the setting information is a manifest file.
ることを特徴とする請求項1記載のアプリケーション処理装置。 The application processing apparatus according to claim 1, wherein the application processing apparatus has an application management framework function.
を特徴とする請求項1記載のアプリケーション処理装置。 The application processing apparatus according to claim 1, wherein the receiving unit receives a package of an application to be installed.
を特徴とする請求項2記載のアプリケーション処理装置。 The application processing apparatus according to claim 2, wherein the first storage area is an installation area, and the second storage area is a general-purpose area.
トすることを特徴とする請求項3記載のアプリケーション処理装置。 The application processing apparatus according to claim 3, wherein an installed application is updated by the new application.
ョン処理方法であって、
前記アプリケーションのパッケージを受信する受信工程と、
前記設定情報が展開対象に指定する展開対象ライブラリを記憶装置に展開して書き込み
、
前記展開対象ライブラリを含まないパッケージを前記記憶装置に書き込む書き込み工程
を備えることを特徴とするアプリケーション管理方法。 An application processing method for processing an application package including a library and setting information,
Receiving a package of the application;
The development target library designated as the deployment target by the setting information is expanded and written in a storage device,
An application management method comprising a writing step of writing a package that does not include the development target library into the storage device.
ライブラリと設定情報とを含むアプリケーションのパッケージを受信する受信手段と、
前記設定情報が展開対象に指定する展開対象ライブラリを記憶装置に展開して書き込み
、前記展開対象ライブラリを含まないパッケージを前記記憶装置に書き込む書き込み手段
と、として機能させるためのプログラム。 Receiving means for receiving a package of an application including a library and configuration information;
A program for causing a development target library specified by the setting information as a development target to be developed and written in a storage device, and to function as writing means for writing a package that does not include the development target library into the storage device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013015874A JP6143476B2 (en) | 2013-01-30 | 2013-01-30 | Application processing apparatus, method, and program thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013015874A JP6143476B2 (en) | 2013-01-30 | 2013-01-30 | Application processing apparatus, method, and program thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014146277A JP2014146277A (en) | 2014-08-14 |
JP6143476B2 true JP6143476B2 (en) | 2017-06-07 |
Family
ID=51426463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013015874A Active JP6143476B2 (en) | 2013-01-30 | 2013-01-30 | Application processing apparatus, method, and program thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6143476B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6581155B2 (en) * | 2017-07-28 | 2019-09-25 | 日本電信電話株式会社 | Unnecessary file detection device, unnecessary file detection method and unnecessary file detection program |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010066872A (en) * | 2008-09-09 | 2010-03-25 | Panasonic Corp | Application execution device |
-
2013
- 2013-01-30 JP JP2013015874A patent/JP6143476B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014146277A (en) | 2014-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007272763A (en) | Module installation method and device | |
WO2007105577A1 (en) | Printing controller, gui display method, printer driver, and recording medium | |
JP2008084029A (en) | Virtual machine management system | |
US9086938B2 (en) | Information processing apparatus, control method thereof, and storage medium | |
US9459883B2 (en) | Modifying disk images | |
JP2015205499A (en) | Image processing device, control method and program of image processing device | |
JP2012155478A (en) | Image forming apparatus, device, control method of image forming apparatus, and program | |
JP6143476B2 (en) | Application processing apparatus, method, and program thereof | |
JP2015210769A (en) | Information processing device, information processing method, and program | |
CN106250068B (en) | Image forming apparatus and application deletion method | |
JP5178319B2 (en) | Application platform | |
JP2013161451A (en) | Information processor, information processing method, and program | |
JP6103978B2 (en) | Distribution apparatus, device apparatus, distribution apparatus control method, and computer program | |
JP2017126293A (en) | Information processing apparatus and resource management method | |
JP5828701B2 (en) | Information processing apparatus, information processing method, program, and storage medium | |
EP3789867A1 (en) | Application and information processing apparatus | |
JP2015197845A (en) | Information processing apparatus and control method of the same, and program | |
JP6613268B2 (en) | Information processing apparatus and resource management method | |
JP6929160B2 (en) | Image forming device and its control method and program | |
JP6057740B2 (en) | Image forming apparatus, information processing method, and program | |
JP2015041179A (en) | Device apparatus, control method, and computer program | |
JP5673730B2 (en) | Information processing device | |
JP2016081164A (en) | Information processing device, management device, method for controlling information processing device, method for controlling management device and program | |
JP2006011950A (en) | Installer creating apparatus, its method, and program therefor | |
JP2018112817A (en) | Printer Driver Uninstaller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160126 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161115 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161116 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170131 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170329 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170411 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170509 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6143476 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |