JP6143476B2 - Application processing apparatus, method, and program thereof - Google Patents

Application processing apparatus, method, and program thereof Download PDF

Info

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
Application number
JP2013015874A
Other languages
Japanese (ja)
Other versions
JP2014146277A (en
Inventor
高橋 健太郎
健太郎 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2013015874A priority Critical patent/JP6143476B2/en
Publication of JP2014146277A publication Critical patent/JP2014146277A/en
Application granted granted Critical
Publication of JP6143476B2 publication Critical patent/JP6143476B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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). .

特開2010−66872JP2010-66872A 特開2012−123619JP2012-123619A WO02/075525WO02 / 075525

特許文献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.

情報管理装置のハードウェア構成の一例を示す図The figure which shows an example of the hardware constitutions of an information management apparatus 情報管理装置上に構築するシステム構成の一例を示す図The figure which shows an example of the system configuration constructed | assembled on an information management apparatus アプリケーションのパッケージのファイル構成を示す図Diagram showing file structure of application package 実施形態1にかかるアプリケーション管理フレームワーク203の構成および情報管理装置が備える記憶装置の領域を示す図2 is a diagram illustrating a configuration of an application management framework 203 according to the first embodiment and an area of a storage device included in the information management apparatus. FIG. 実施形態1にかかるインストール処理のフローチャートFlowchart of installation processing according to the first embodiment 実施形態2にかかるアップデート処理のフローチャートFlowchart of update processing according to the second embodiment (a)実施形態2にかかる汎用領域とインストール用領域に書き込まれたファイルを示す図(b)実施形態2にかかる汎用領域とインストール用領域に書き込まれたファイルを示す図(c)実施形態2にかかる汎用領域とインストール用領域に書き込まれたファイルを示す図(d)実施形態2にかかる汎用領域とインストール用領域に書き込まれたファイルを示す図(A) The figure which shows the file written in the general purpose area and installation area concerning Embodiment 2 (b) The figure which shows the file written in the general purpose area and installation area concerning Embodiment 2 (c) Embodiment 2 The figure which shows the file written in the general purpose area | region concerning installation and the area | region for installation (d) The figure which shows the file written in the general purpose area | region and installation area concerning Embodiment 2 実施形態3にかかるアプリケーション管理フレームワーク203の構成を示す図The figure which shows the structure of the application management framework 203 concerning Embodiment 3. FIG. 実施形態3にかかるインストールしたアプリケーションのインストール済みパッケージのファイル構成を示す図The figure which shows the file structure of the installed package of the installed application concerning Embodiment 3. 実施形態3にかかるインストール処理のフローチャートFlowchart of installation processing according to the third embodiment 実施形態4にかかるアップデート処理のフローチャートFlow chart of update processing according to embodiment 4 実施形態3にかかるインストールするアプリケーションの一覧を記載したテキストファイルA text file describing a list of applications to be installed according to the third embodiment 実施形態5にかかるインストール処理のフローチャートFlow chart of installation processing according to embodiment 5 実施形態6にかかるインストール済みアプリケーションの縮小処理のフローチャートFlow chart of installed application reduction processing according to the sixth embodiment 実施形態6にかかるアプリケーション管理フレームワーク203の構成を示す図The figure which shows the structure of the application management framework 203 concerning Embodiment 6. FIG.

以下、添付の図面を参照して、本発明の好適な実施形態を詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。   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 information management apparatus 101. As shown in FIG. 1, the information management apparatus 101 includes a CPU 11 as a hardware configuration.

CPU11が、記憶装置13に記憶されている後述するアプリケーションやプログラム実行環境等の各々に対応するプログラムに基づき処理を行うことによって、後述する各機能、又はフローチャートを実現する。   The CPU 11 realizes each function or flowchart described later by performing processing based on a program corresponding to each of the application and program execution environment described later stored in the storage device 13.

また、CPU11には、バス10を介して、入力装置12、記憶装置13、表示装置14及び外部接続IF15が接続されている。入力装置12は、情報を入力するキーボード及び/又はマウスである。記憶装置13は、例えば、ROM、RAM、ハードディスク装置等からなり、上述した各プログラム以外に、プログラムに基づく処理で用いられるデータ等を記憶する。表示装置14は、画面等を表示するディスプレイである。外部接続IF15は、ネットワークインタフェース、外部機器との各種接続インタフェースである。   Further, an input device 12, a storage device 13, a display device 14, and an external connection IF 15 are connected to the CPU 11 via the bus 10. The input device 12 is a keyboard and / or a mouse for inputting information. The storage device 13 includes, for example, a ROM, a RAM, a hard disk device, and the like, and stores data used in processing based on the program in addition to the above-described programs. The display device 14 is a display that displays a screen or the like. The external connection IF 15 is a network interface and various connection interfaces with external devices.

尚、CPU11はプログラムを実行することで各種の手段として機能することが可能である。なお、CPU11と協調して動作するASICなどの制御回路がこれらの手段として機能してもよい。また、CPU11と情報管理装置の動作を制御する制御回路との協調によってこれらの手段が実現されてもよい。また、CPU11は単一のものである必要はなく、複数であってもよい。この場合、複数のCPU11は分散して処理を実行することが可能である。また、複数のCPU11は単一のコンピュータに配置されていてもよいし、物理的に異なる複数のコンピュータに配置されていてもよい。なお、CPU11がプログラムを実行することで実現する手段が専用の回路によって実現されてもよい。   The CPU 11 can function as various means by executing a program. Note that a control circuit such as an ASIC that operates in cooperation with the CPU 11 may function as these means. These means may be realized by cooperation between the CPU 11 and a control circuit that controls the operation of the information management apparatus. Further, the CPU 11 does not have to be a single one and may be a plurality. In this case, the plurality of CPUs 11 can perform processing in a distributed manner. Further, the plurality of CPUs 11 may be disposed on a single computer, or may be disposed on a plurality of physically different computers. Note that the means realized by the CPU 11 executing the program may be realized by a dedicated circuit.

次に、情報管理装置101上に構築するシステム構成について、図2を用いて説明する。図2は、情報管理装置101のシステム構成の一例を示す図である。   Next, a system configuration built on the information management apparatus 101 will be described with reference to FIG. FIG. 2 is a diagram illustrating an example of a system configuration of the information management apparatus 101.

オペレーティングシステム201は、システム全体の基盤となるソフトウェアである。アプリケーション実行環境202は、例えば仮想マシンのように、オペレーティングシステム201上のプロセスでありながら、自身の上でアプリケーションが動作する環境を提供するソフトウェアである。アプリケーション管理フレームワーク203は、各アプリケーション204の動作状態を管理する機能をもつ。また、アプリケーション管理フレームワーク203への指示を行うシステムアプリケーション205が動作することもある。例えば、アプリケーションのインストール・アップデートを指示するユーザインタフェースを備えるシステムアプリケーション205が挙げられる。   The operating system 201 is software that is the basis of the entire system. The application execution environment 202 is software that provides an environment in which an application operates on itself while being a process on the operating system 201 such as a virtual machine. The application management framework 203 has a function of managing the operation state of each application 204. In addition, a system application 205 that instructs the application management framework 203 may operate. For example, a system application 205 having a user interface for instructing application installation / update is given.

本実施形態で用いる情報管理装置101のハードウェア構成では、記憶装置13は高速なインストール用領域と、低速な汎用領域を備える。インストール用領域の容量は比較的少ないため、アプリケーションの実行に不要なファイルの保存を抑制することが課題となる。   In the hardware configuration of the information management apparatus 101 used in the present embodiment, the storage device 13 includes a high-speed installation area and a low-speed general-purpose area. Since the capacity of the installation area is relatively small, it becomes a problem to suppress the storage of files unnecessary for executing the application.

本実施形態は、これらの課題を解決するために、アプリケーション管理フレームワーク203が汎用ディスク領域とインストール用ディスク領域を使い分けつつ、インストール済みアプリケーションが記憶装置を占めるサイズを縮小できる仕組みを実現する。   In order to solve these problems, the present embodiment realizes a mechanism that allows the application management framework 203 to reduce the size of the installed application to occupy the storage device while properly using the general-purpose disk area and the installation disk area.

初めに、インストール・アップデートの対象となるアプリケーションのパッケージ構成を、図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 application 301 shown in FIG. 3A is a JAR file. The JAR file includes a bin 302 that is an executable program. It also includes a manifest 303 describing the application name, id, vendor, etc. (hereinafter, synonymous with the manifest file). Further, the application 301 can include a plurality of bins 302 that implement specific functions in a JAR file. The included JAR file group is lib304 (library). The application 301 necessarily includes the bin 302 and the manifest 303, but does not necessarily include the lib 304. When the lib 304 is included, the path of each JAR file that is an element of the lib 304 is described in the item of the manifest 303 describing the JAR file group to be expanded.

図3(b)に示すアプリケーション301は、インストール用領域402にインストール済みのファイル構成である。lib304はJARファイル301の外部に展開され、JARファイル301内には無い。また、クラスローダがlib304を見つけるための情報が、クラスパス情報305として保存されている。   An application 301 illustrated in FIG. 3B has a file configuration already installed in the installation area 402. The lib 304 is expanded outside the JAR file 301 and is not in the JAR file 301. Information for the class loader to find the lib 304 is stored as class path information 305.

次に、アプリケーション管理フレームワーク203の動作について、図4、図5を用いて説明する。図4は、アプリケーション管理フレームワーク203の構成と情報管理装置101が備える記憶装置の領域を示す図である。図5はアプリケーション管理フレームワーク203がアプリケーション301をインストールする処理の手順を示すフローチャートである。   Next, the operation of the application management framework 203 will be described with reference to FIGS. FIG. 4 is a diagram illustrating a configuration of the application management framework 203 and a storage device area included in the information management apparatus 101. FIG. 5 is a flowchart showing a procedure of processing in which the application management framework 203 installs the application 301.

汎用領域401とインストール用領域402は、記憶装置13が備える記憶用領域である。領域書き込み部404は、書き込み先のパスを指定してデータを書き込むことで、汎用領域401とインストール用領域402のいずれにも書き込みを行える。   The general-purpose area 401 and the installation area 402 are storage areas included in the storage device 13. The area writing unit 404 can write to both the general-purpose area 401 and the installation area 402 by specifying the write destination path and writing the data.

アプリケーション管理フレームワーク203は、インストール・アップデート対象となるアプリケーション301のデータを、パッケージ受信部403によって受信する(ステップS501)。受け取るデータは、データストリームとして与えられ、アプリケーション管理フレームワーク203は対象となるアプリケーションのmanifest303を読み込むために、データストリームをファイル形式に変換する必要がある。そのため、アプリケーション管理フレームワーク203は、領域書き込み部404によって、汎用領域401にパッケージのストリームを一時的なファイルとして書き込む(ステップS502)。汎用領域401に書き込むのは、インストール用領域402に一時的なファイルを配置しないためである。もしインストール用領域402に一時的なファイルを配置すると、後述のステップS504にインストール用領域402に書き込む際に、インストール用領域402の空き領域が少なくなってしまい、書き込みが失敗することがあるからである。具体例として、インストール用領域402が容量10MBであり、6MBのアプリケーション301をインストールするとする。ここで、一時的なファイルをインストール用領域402に配置すると、インストール処理中に12MBの容量が必要となるため、書き込みが失敗する。   The application management framework 203 receives the data of the application 301 to be installed / updated by the package receiving unit 403 (step S501). The received data is given as a data stream, and the application management framework 203 needs to convert the data stream into a file format in order to read the manifest 303 of the target application. Therefore, the application management framework 203 uses the area writing unit 404 to write the package stream as a temporary file in the general-purpose area 401 (step S502). The reason why the general-purpose area 401 is written is that a temporary file is not arranged in the installation area 402. If a temporary file is arranged in the installation area 402, when writing to the installation area 402 in step S 504, which will be described later, the free area of the installation area 402 becomes small and writing may fail. is there. As a specific example, the installation area 402 has a capacity of 10 MB, and a 6 MB application 301 is installed. Here, if a temporary file is arranged in the installation area 402, a capacity of 12 MB is required during the installation process, and thus writing fails.

汎用領域401にアプリケーション301を書き込むと、アプリケーション管理フレームワーク203は設定情報取得部405によって、マニフェスト(manifest303)を読み込む(ステップS503)。   When the application 301 is written in the general-purpose area 401, the application management framework 203 reads the manifest (manifest 303) by the setting information acquisition unit 405 (step S503).

そして、アプリケーション管理フレームワーク203は、マニフェストに展開対象のファイル(lib304)が記載されているかを確認する(ステップS504)。記載されている場合、パッケージ展開部406は領域書き込み部404を用いて、インストール用領域402にlib304を書き込むことで展開する(S506)。   Then, the application management framework 203 confirms whether the file to be expanded (lib 304) is described in the manifest (step S504). If it is described, the package development unit 406 uses the region writing unit 404 to perform development by writing the lib 304 in the installation region 402 (S506).

ステップ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 application management framework 203 writes a file other than the deployment target JAR file (lib 304) described in the manifest in the installation area 402 (step S505). In writing, the JAR file 301 in the general-purpose area 401 is opened, and necessary files (bin 302 and manifold 303) are written into the data stream opened for the file in the installation area 402. By doing so, the JAR file of the application 301 without the lib 304 is written in the installation area 402 without writing the temporary file in the installation area 402.

次に、アプリケーション管理フレームワーク203はクラスパス情報305をインストール用領域402に保存する(ステップS507)。クラスパス情報305は、インストール用領域402に書き込んだアプリケーション301のパスと、lib304のパスである。   Next, the application management framework 203 saves the class path information 305 in the installation area 402 (step S507). The class path information 305 is the path of the application 301 written in the installation area 402 and the path of the lib 304.

クラスパス情報305を保存すると、汎用領域401に書き込んだパッケージを削除して(ステップS508)、インストール処理は終了する。以上、アプリケーション管理フレームワーク203がインストール処理を行う場合の実施形態を説明した。インストール対象のパッケージを一度汎用領域に配置し、必要なファイルのみを含むパッケージをインストール用領域に書き込むことで、インストール済みアプリケーションのパッケージサイズを縮小することができる。インストール用領域402にlib304ファイルを重複して書きこまないので、パッケージサイズが縮小している。   When the class path information 305 is saved, the package written in the general-purpose area 401 is deleted (step S508), and the installation process ends. The embodiment in the case where the application management framework 203 performs the installation process has been described above. The package size of the installed application can be reduced by placing the package to be installed once in the general-purpose area and writing the package including only necessary files in the installation area. Since the lib 304 file is not written redundantly in the installation area 402, the package size is reduced.

<実施形態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 application management framework 203 will be described with reference to FIGS. 6, 7A, 7B, 7C, and 7D. FIG. 6 is a flowchart illustrating a processing procedure performed by the application management framework 203. FIG. 7A, FIG. 7B, FIG. 7C, and FIG. 7D show the files written in the general-purpose area 401 and the installation area 402 in each update process of the application management framework 203. FIG.

インストール済みアプリケーション301を、アプリケーション701でアップデートする例で説明する。アプリケーション701はアプリケーション301のバージョンアップ版であり、manifest303とmanifest703において、アプリケーションの名前とidは同一である。   An example in which the installed application 301 is updated by the application 701 will be described. The application 701 is an upgraded version of the application 301. In the manifest 303 and the manifest 703, the name and id of the application are the same.

ステップ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-purpose area 401 and the installation area 402 are in the state shown in FIG.

次に、アプリケーション管理フレームワーク203はインストール済みのパッケージ(インストール用領域402内のアプリケーション301のJARファイル)とアプリケーション301のlib304を、汎用領域401に退避する(S603)。退避処理は、汎用領域401にアプリケーション301のパッケージとlib304とをコピー後に、インストール用領域402からアプリケーション301のパッケージとlib304とを削除することで行う。このとき、汎用領域401とインストール用領域402の状態は図7(b)となる。   Next, the application management framework 203 saves the installed package (the JAR file of the application 301 in the installation area 402) and the lib 304 of the application 301 in the general-purpose area 401 (S603). The saving process is performed by deleting the package of the application 301 and the lib 304 from the installation area 402 after copying the package of the application 301 and the lib 304 to the general-purpose area 401. At this time, the states of the general-purpose area 401 and the installation area 402 are as shown in FIG.

次に、アプリケーション管理フレームワーク203はステップS503と同様にマニフェストを読み込み(ステップS604)、ステップS504、S506と同様の処理を行う(S605,S607)。そして、ステップS505と同様にアプリケーション701のパッケージとlib704とをlib704が重複しないようにインストール用領域402に書き込む(S606)。   Next, the application management framework 203 reads the manifest in the same manner as in step S503 (step S604), and performs the same processing as in steps S504 and S506 (S605 and S607). Similarly to step S505, the package of the application 701 and the lib 704 are written in the installation area 402 so that the lib 704 does not overlap (S606).

ステップ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 installation area 402. For example, when the package size increases before and after the update, an exception of insufficient free space may occur. In addition, if a new package is written in step S605 without saving in step S603, a shortage of free space in the installation area 402 is likely to occur. Also, if data is overwritten without being saved, when the update fails, the state before the update cannot be restored as in step S610.

例外が発生していなければ新しいクラスパスの情報をクラスパス情報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-purpose area 401 and the installation area 402 are as shown in FIG. If an exception has occurred, the files (applications 701 and lib 704) written in the installation area 402 are deleted. Then, the saved package (application 301, lib 304) is returned to the installation area 402 and restored to the original state (step S610).

次に、アプリケーション管理フレームワーク203は汎用領域に書き込んだパッケージ301と701とlib304とを削除し(S611)、処理は終了する。ステップS608でエラーが起きていなければ、このときの汎用領域401とインストール用領域402の状態は図7(d)となる。   Next, the application management framework 203 deletes the packages 301, 701, and lib 304 written in the general-purpose area (S611), and the process ends. If no error has occurred in step S608, the state of the general-purpose area 401 and the installation area 402 at this time is as shown in FIG.

なお、ステップ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 application management framework 203 performs application update processing has been described above.

<実施形態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 lib 304 into the installation area 402 is performed. If a temporary file is arranged in the installation area in this reduction process, the installation area may not be fully utilized. In order to place a temporary file in the installation area, the free space in the installation area is twice as large as the installation target application. Therefore, in the first embodiment, the stream received in the installation process is written as a file in the general-purpose area 401 and then the file is written in the installation area 402.

一方、アプリケーション301がlib304を含まない場合、ストリームを直接インストール用領域402に書き込むことで、インストール処理をより高速に行うことができる。また、lib304のサイズが小さい場合、サイズの縮小よりもインストール処理の高速化を優先したい場合もある。このようなケースに対応するには、パッケージの縮小処理を行うかどうかを予め指示・設定しておき、その指示を参照して縮小処理をするかしないか判定する機能をアプリケーション管理フレームワーク203が備える必要がある。   On the other hand, when the application 301 does not include the lib 304, the installation process can be performed at higher speed by directly writing the stream into the installation area 402. In addition, when the size of the lib 304 is small, it may be desired to prioritize speeding up the installation process over reducing the size. In order to deal with such a case, the application management framework 203 has a function to instruct / set in advance whether or not to perform package reduction processing, and to determine whether or not to perform reduction processing with reference to the instruction. It is necessary to prepare.

そこで、パッケージの縮小処理を判定する機能を備える実施形態を、図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 application management framework 203 including a package reduction process determination unit.

縮小処理判定部801は、アプリケーション管理フレームワーク203が縮小処理を行うかどうかを判定する。判定方法としては、縮小処理をするインストール用APIと縮小処理をしないAPIの2種類をアプリケーション管理フレームワーク203に備え、システムアプリケーション205がいずれのAPIを実行したかに応じて縮小処理をするかしないか判定することが考えられる。   The reduction processing determination unit 801 determines whether the application management framework 203 performs reduction processing. As a determination method, the application management framework 203 includes two types of APIs, ie, an installation API that performs reduction processing and an API that does not perform reduction processing, and does not perform reduction processing depending on which API the system application 205 executes. It is conceivable to determine whether or not.

この場合、システムアプリケーション205として、ユーザによるインストール指示を受け付けるUIを備えるシステムアプリケーションが存在する。ユーザは縮小処理をする、しないを選択して、システムアプリケーション205のUIからアプリケーション204のインストールを指示する。システムアプリケーション205はユーザの選択に応じて、上記2つのAPIを使い分ける。   In this case, as the system application 205, there is a system application that includes a UI that receives an installation instruction from the user. The user selects whether or not to perform reduction processing, and instructs the installation of the application 204 from the UI of the system application 205. The system application 205 uses the two APIs according to the user's selection.

また、インストール用の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 system application 205 includes a check box for instructing reduction processing, and the application management framework 203 is set according to the selection state of the check box by the user. By setting in advance, the user omits the selection of the reduction process when instructing the installation, and the reduction process determination unit 801 performs the determination with reference to the setting. When installing a plurality of applications, confirmation with the user each time can be omitted.

また、ファームアップデートで複数のアプリケーション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 applications 204 by firmware update, it is inefficient if a user performs an installation operation for each application 204. Therefore, there is a method in which a list of applications to be installed is described in a text file, and the application management framework 203 reads the text file immediately after the firmware update and automatically installs it. The text file describes whether or not reduction processing is performed for each application. Text files are created manually by the farm creator and included in the farm. FIG. 12 is an example of the description of the text file. FIG. 12 is a text file showing a list of applications 204 to be automatically installed. At this time, the time required for automatic installation can be shortened by reducing only the application (appB.jar) that is expected to have a reduction effect. Therefore, the text file also describes whether or not to perform reduction processing (Reduction item) for each application to be installed. When the application management framework 203 reads the text file of FIG. jar is read from the firmware and given to the package receiving unit 403. Then, the reduction process determination unit 801 refers to the description “Reduction = false” and determines that the reduction process is not performed. appA. When the installation of jar is finished, the appB. jar, appC. The jar is also installed and the automatic update is complete.

以上、想定される縮小処理判定部801の具体例について説明した。ここから、インストールの処理の流れについて図9,図10を用いて説明する。   The specific example of the assumed reduction processing determination unit 801 has been described above. From here, the flow of the installation process will be described with reference to FIGS.

図9はパッケージの縮小処理をしてインストールしたアプリケーション701と、縮小処理をせずにインストールしたアプリケーション901のそれぞれのインストール済みパッケージの構成を示す図である。図10は、アプリケーション管理フレームワーク203のインストールの処理の手順を示すフローチャートである。   FIG. 9 is a diagram illustrating configurations of installed packages of an application 701 installed by performing package reduction processing and an application 901 installed without performing reduction processing. FIG. 10 is a flowchart showing a procedure of installation processing of the application management framework 203.

ステップS1001は、ステップS501と同様である。インストールの指示を受けると、アプリケーション管理フレームワーク203は縮小処理判定部801によって縮小処理が必要かを判定する(ステップS1002)。   Step S1001 is the same as step S501. Upon receiving an installation instruction, the application management framework 203 determines whether the reduction process is necessary by the reduction process determination unit 801 (step S1002).

縮小処理が必要でなければ、インストール用領域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 general area 401 is written (step S1007) and the manifest is read (step S1008). Then, it is confirmed whether or not the lib to be expanded is described in the manifest (step S1009), and if it is described, the lib is expanded as in step S506 (S1011). When lib is not described in the manifest, or when step S1011 is completed, the package is written in the installation area 402 as in step S505 (step S1010).

次に、ステップ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 installation area 402 at this time becomes an application 701 in FIG. 9 when it is determined that the reduction process is necessary. When it is determined that the reduction process is not necessary, the application 901 in FIG. 9 is obtained.

最後に、ステップS508と同様に汎用領域401のパッケージを削除して(ステップS1013)、処理は終了する。ただし、縮小処理が必要と判定されなかった場合は、汎用領域401には何も書き込まれていないため、ステップS1013では何も削除しない。   Finally, the package in the general-purpose area 401 is deleted as in step S508 (step S1013), and the process ends. However, if it is determined that the reduction process is not necessary, nothing is written in the general-purpose area 401, so nothing is deleted in step S1013.

以上、縮小処理判定部801を備えるアプリケーション管理フレームワーク203のインストール処理について説明した。   The installation process of the application management framework 203 including the reduction process determination unit 801 has been described above.

<実施形態4>
次に、縮小処理判定部801を備えるアプリケーション管理フレームワーク203が行うアプリケーションのアップデート処理について、図11を用いて説明する。
<Embodiment 4>
Next, an application update process performed by the application management framework 203 including the reduction process determination unit 801 will be described with reference to FIG.

アップデート処理が始まるとステップ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 general area 401 is written (step S1108) and the manifest is read (step S1109) as in step S602. Then, it is confirmed whether or not the lib to be expanded is described in the manifest (step S1110). If it is described, the lib is expanded in the same manner as in step S607 (step S1112). If lib is not described or the expansion is completed in step S1112, the package is written in the installation area as in step S606 (step S1111).

次に、ステップ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 installation area 402 as in step S610 (step S1115).

最後に、ステップ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 application management framework 203 including the reduction process determination unit 801 has been described above.

<実施形態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 installation area 402, a temporary file may be written in the installation area 402 without using the general-purpose area 401. The present invention can be implemented even when the storage device 13 includes only an installation area. The operation of the application management framework 203 when the storage device 13 has only one area will be described with reference to FIG. FIG. 13 is a diagram showing a flow of installation processing of the application management framework 203.

はじめに、ステップ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 storage device 13 is deleted (step S1308), and the process ends.

以上、記憶装置13がひとつの領域のみを備える場合のインストール処理について説明した。   The installation process in the case where the storage device 13 has only one area has been described above.

<実施形態6>
実施形態1では、lib304を重複して保持しないようにしサイズを縮小したパッケージをインストール用領域402に書き込む処理を行った。この処理を、縮小処理と称した。
<Embodiment 6>
In the first embodiment, a process of writing a package whose size is reduced so that the lib 304 is not held redundantly into the installation area 402 is performed. This process was called a reduction process.

ところで、情報管理装置101上に構築するシステム構成は、ファームの更新によって変化する。例えば、縮小処理に未対応の古いアプリケーション管理フレームワーク203が搭載された情報管理装置101において、アプリケーションAがインストールされたとする。その後、ファームの更新によって縮小処理に対応した新しいアプリケーション管理フレームワーク203が情報管理装置101に導入された場合に、インストール済みのアプリケーションAのサイズは、アップデート・再インストールしないと縮小されない。   By the way, the system configuration built on the information management apparatus 101 changes due to firmware update. For example, it is assumed that the application A is installed in the information management apparatus 101 in which the old application management framework 203 that does not support reduction processing is installed. Thereafter, when a new application management framework 203 corresponding to the reduction process is introduced into the information management apparatus 101 by updating the firmware, the size of the installed application A is not reduced unless it is updated and reinstalled.

このように、縮小処理が未実施のアプリケーションがインストール済みの環境において、縮小処理のみを実施する機能をアプリケーション管理フレームワーク203が備えるとする。すると、アプリケーションAのアップデート・再インストールを行わずにインストール済みアプリケーションのサイズを縮小できる。   As described above, it is assumed that the application management framework 203 has a function of performing only the reduction process in an environment in which an application that has not been subjected to the reduction process has been installed. Then, the size of the installed application can be reduced without updating and reinstalling the application A.

アプリケーション管理フレームワーク203がインストール済みアプリケーションのサイズを縮小する機能について、図14、図15を用いて説明する。図14はアプリケーション管理フレームワーク203が行う縮小処理の手順を示すフローチャートである。図15は、パッケージの縮小処理指示受信部を備えるアプリケーション管理フレームワーク203の構成を示す図である。   The function that the application management framework 203 reduces the size of the installed application will be described with reference to FIGS. FIG. 14 is a flowchart showing the procedure of the reduction process performed by the application management framework 203. FIG. 15 is a diagram illustrating a configuration of the application management framework 203 including a package reduction processing instruction receiving unit.

システムアプリケーション205がアプリケーション管理フレームワーク203に縮小対象のアプリケーションを指示し、アプリケーション管理フレームワーク203が備える縮小処理指示受信部1501が指示を受け取る事で、縮小処理は開始される。libファイルの有無を確認する、libファイルのサイズが一定値を超えているかを確認することで縮小対象のアプリケーションを確認する。縮小処理を指示するAPIをアプリケーション管理フレームワーク203が備え、システムアプリケーション205が実行する例があげられる。また、縮小処理対象のアプリケーション204のリストをシステムアプリケーション205が縮小指示ファイルとして作成し、アプリケーション管理フレームワーク203が起動時に縮小指示ファイルを読み込む例もありえる。   The reduction process is started when the system application 205 instructs the application management framework 203 to specify the application to be reduced, and the reduction process instruction receiving unit 1501 included in the application management framework 203 receives the instruction. The presence or absence of the lib file is confirmed, and the size of the lib file exceeds a certain value to confirm the application to be reduced. An example in which the application management framework 203 includes an API for instructing reduction processing and is executed by the system application 205 is given. Further, there may be an example in which the system application 205 creates a list of reduction processing target applications 204 as a reduction instruction file, and the application management framework 203 reads the reduction instruction file at the time of activation.

縮小処理を未実施の場合、インストール済みのアプリケーション901は、図9に示したようにインストール済みパッケージ901、および展開済みのlib904として保持されている。   When the reduction process has not been performed, the installed application 901 is held as an installed package 901 and an expanded lib 904 as illustrated in FIG.

初めに、アプリケーション管理フレームワーク203は、縮小対象のインストール済みパッケージ901のマニフェスト903を読み込む(ステップS1401)。そしてマニフェスト903に展開するlib904が記載されているかを確認する(ステップS1402)。記載されていなければ、処理は終了する。   First, the application management framework 203 reads the manifest 903 of the installed package 901 to be reduced (step S1401). Then, it is confirmed whether or not the lib 904 to be developed is described in the manifest 903 (step S1402). If not, the process ends.

マニフェストに展開するlib904が記載されていれば、lib904がインストール済みパッケージ901に含まれているかを確認する(ステップS1403)。含まれていなければ、処理は終了する。   If the lib 904 to be expanded is described in the manifest, it is confirmed whether the lib 904 is included in the installed package 901 (step S1403). If not, the process ends.

lib904がインストール済みパッケージ901に含まれていれば、汎用領域401にインストール済みパッケージ901を移動(S1404)する。そして、移動したパッケージを参照して、lib904が除かれたパッケージとしてインストール用領域402に書き込み(S1405)、処理は終了する。   If the lib 904 is included in the installed package 901, the installed package 901 is moved to the general-purpose area 401 (S1404). Then, referring to the moved package, the package is written in the installation area 402 as a package from which lib 904 has been removed (S1405), and the process ends.

以上、縮小処理に未対応のアプリケーション管理フレームワーク203が搭載されていた情報管理装置101がファームのアップデートによって縮小処理に対応するようになった場合のための、縮小処理実行手順について説明した。   The reduction process execution procedure for the case where the information management apparatus 101 in which the application management framework 203 that does not support the reduction process is supported by the firmware update has been described above.

<その他の実施形態>
以上、実施形態例を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記録媒体(記憶媒体)等としての実施態様をとることが可能である。具体的には、複数の機器(例えば、ホストコンピュータ、インタフェース機器、撮像装置、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.
前記記憶装置は第1の記憶領域と第2の記憶領域とを備え、
前記書き込み手段はインストール処理の際に前記受信手段で受信したパッケージを前記
第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.
前記設定情報はマニフェストファイルであることを特徴とする請求項1記載のアプリケ
ーション処理装置。
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.
前記第1の記憶領域はインストール用領域、前記第2の記憶領域は汎用領域であること
を特徴とする請求項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.
JP2013015874A 2013-01-30 2013-01-30 Application processing apparatus, method, and program thereof Active JP6143476B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010066872A (en) * 2008-09-09 2010-03-25 Panasonic Corp Application execution device

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