JP2018097898A - Information processing apparatus, information processing method, and program - Google Patents

Information processing apparatus, information processing method, and program Download PDF

Info

Publication number
JP2018097898A
JP2018097898A JP2018021630A JP2018021630A JP2018097898A JP 2018097898 A JP2018097898 A JP 2018097898A JP 2018021630 A JP2018021630 A JP 2018021630A JP 2018021630 A JP2018021630 A JP 2018021630A JP 2018097898 A JP2018097898 A JP 2018097898A
Authority
JP
Japan
Prior art keywords
application
runtime
unit
application program
information processing
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.)
Granted
Application number
JP2018021630A
Other languages
Japanese (ja)
Other versions
JP6547865B2 (en
Inventor
伊藤 栄信
Yoshinobu Ito
栄信 伊藤
和明 二村
Kazuaki Futamura
和明 二村
洋介 中村
Yosuke Nakamura
洋介 中村
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018021630A priority Critical patent/JP6547865B2/en
Publication of JP2018097898A publication Critical patent/JP2018097898A/en
Application granted granted Critical
Publication of JP6547865B2 publication Critical patent/JP6547865B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an information processing apparatus capable of suppressing consumption of a storage area of an application program without urging an operation of a user.SOLUTION: An information processing apparatus includes: a storage part for storing an application resource and runtime of an application program; a memory management part for generating a process space in a memory for every start instruction of the application program; a runtime reading part for reading the runtime in the process space; an application resource reading part for reading the application resource in the process space in which the runtime is read; a process generation part for generating a process of the application program on the basis of the application resource and the runtime read in the process space; and a process execution part for executing the process of the application program.SELECTED DRAWING: Figure 5

Description

開示の技術は、情報処理装置、情報処理方法およびプログラムに関する。   The disclosed technology relates to an information processing apparatus, an information processing method, and a program.

近年、3G/LTE(Long Term Evolution)/ホットスポットの充実に伴い、例えばスマートフォンなどの情報処理装置が、常時ネットワークに接続できる環境が整ってきている。   In recent years, with the enhancement of 3G / LTE (Long Term Evolution) / hotspots, an environment in which an information processing apparatus such as a smartphone can be always connected to a network has been established.

このような環境を活かし、アプリケーションサーバ(アプリストア)から情報処理装置に、必要なタイミングでアプリケーションプログラムを配信して、情報処理装置に実行させる情報処理システムが開発されている。また、アプリケーションサーバに登録されたアプリケーションプログラムを、利用者からの要求に応じて、情報処理装置に提供する情報処理システムも開発されている。当該システムに於いて、情報処理装置は、アプリケーションサーバから配信されるアプリケーションプログラムをダウンロードして、例えばフラッシュメモリなどにインストールすることとなる。   Taking advantage of such an environment, an information processing system has been developed in which an application program is distributed from an application server (application store) to an information processing apparatus at a necessary timing and executed by the information processing apparatus. An information processing system has also been developed that provides an application program registered in an application server to an information processing apparatus in response to a request from a user. In the system, the information processing apparatus downloads an application program distributed from the application server and installs it in, for example, a flash memory.

特開2010−182309号公報JP 2010-182309 A

ところで、アプリケーションプログラムには、OS(Operating System)が直接解釈・実行可能な形式のもの(ネイティブアプリと呼ぶ)の他に、OSが直接解釈・実行可能なランタイムと、ランタイムが解釈可能なリソースとで構成されたもの(ハイブリッドアプリと呼ぶ)がある。ここで言うリソースとは、例えばHTMLやJava(登録商標)scriptで記述されたプログラムである。ハイブリッドアプリとしては、例えばPhoneGapなどがある。ハイブリッドアプリは、リソース部分はOSに依存しないため、OSに依存するランタイムだけを入れ替えることによって、互いに異なるOS上で動作するアプリケーションプログラムを開発者が簡単に作成できるメリットがある。   By the way, the application program includes a format that can be directly interpreted / executed by the OS (Operating System) (called a native application), a runtime that can be directly interpreted / executed by the OS, and a resource that can be interpreted by the runtime. There is something (called a hybrid app) that consists of The resource referred to here is a program described in, for example, HTML or Java (registered trademark) script. An example of a hybrid application is PhoneGap. Since the hybrid application does not depend on the OS for the resource part, there is an advantage that a developer can easily create an application program that operates on different OSs by replacing only the runtime depending on the OS.

このようなハイブリッドアプリを、特定のOSが動作する情報処理装置に配布する場合、通常、対象となるOSに対応したランタイムとリソースとを一体化してコンパイルし、対象OSのネイティブアプリ形式に変換したものを配布する。   When such a hybrid application is distributed to an information processing apparatus that operates a specific OS, the runtime and resources corresponding to the target OS are usually compiled and converted into the native application format of the target OS. Distribute things.

ところが、複数種のハイブリッドアプリを同一の情報処理装置にインストールする場合、同じランタイムがすべてのハイブリッドアプリに含まれているため、保存領域を無駄に多く消費してしまう。また、OSによっては、ネイティブアプリをインストールする際に必ず利用者への同意を促す画面を表示し、利用者の操作が必要となるものがある。例えば、Androidでは、アプリのインストール時に、該アプリが使用するデバイス(GPSや加速度センサなど)の使用を許可するかどうかの画面を表示し、利用者が同意ボタンを押して初めてアプリケーションプログラムをインストールすることができる。これは、悪意のあるアプリケーションプログラムをインストールすることを防ぐために、セキュリティ上有意義な方法であるが、利用者の操作が必要なため、多くのインストール操作を行うようなシステムでは使い勝手が悪くなる問題がある。一般的なハイブリッドアプリは、ネイティブアプリ形式に変換された形で配布されるため、同様の問題を抱えることになる。   However, when a plurality of types of hybrid apps are installed in the same information processing apparatus, the same runtime is included in all hybrid apps, so that a large amount of storage space is consumed. Also, depending on the OS, when installing a native application, a screen that prompts the user for consent is displayed, and a user operation is required. For example, in Android, when an application is installed, a screen asking whether to allow use of a device (GPS, acceleration sensor, etc.) used by the application is displayed, and the application program is installed only after the user presses the consent button. Can do. This is a meaningful method in terms of security in order to prevent malicious application programs from being installed, but it requires user operations, so there is a problem in that it is difficult to use in a system that performs many installation operations. is there. Since a general hybrid application is distributed after being converted into a native application format, it has the same problem.

従って、多くのハイブリッドアプリを自動インストール・実行させるようなシステムを考えたとき、保存領域の非効率な消費と利用者の操作の増加による使い勝手に課題がある。   Therefore, when considering a system that automatically installs and executes many hybrid applications, there are problems in terms of inefficient consumption of storage areas and usability due to an increase in user operations.

開示の技術は、利用者の操作を促すことなく、かつ、アプリケーションプログラムの保存領域の消費を抑制することができる情報処理装置を提供する。   The disclosed technology provides an information processing apparatus capable of suppressing consumption of an application program storage area without prompting a user operation.

開示の技術の一観点によれば、複数の異なるアプリケーションプログラムに対する複数のアプリリソース及び前記複数のアプリリソースの各々に用いられるランタイムを格納する格納部と、前記複数の異なるアプリケーションプログラムに含まれる各アプリケーションプログラムの起動指示ごとに、メモリ内に前記各アプリケーションプログラムの各々に対応した複数のプロセス空間を生成するメモリ管理部と、前記ランタイムを前記複数のプロセス空間のそれぞれに読み込むランタイム読み込み部と、前記各アプリケーションプログラムに対応した各アプリリソースを、前記ランタイムが読み込まれた複数のプロセス空間のうち対応するプロセス空間に読み込むアプリリソース読み込み部と、前記複数のプロセス空間のそれぞれに読み込まれたアプリリソース及びランタイムから、前記各アプリケーションプログラムのプロセスを生成するプロセス生成部と、前記複数のプロセス空間上で生成された前記各アプリケーションプログラムのプロセスを実行するプロセス実行部と、を備え、前記ランタイムは、オペレーティングシステムが解釈及び実行可能なネイティブアプリケーションプログラムであり、前記複数のアプリケーションプログラムの各々は、前記ランタイムと、前記ランタイムが解釈可能なリソースとで構成されたハイブリッドアプリケーションプログラムであり、前記アプリケーションプログラムをダウンロードする際にユーザへの確認表示の生成処理を実行し、前記複数のアプリリソースをダウンロードする際、前記確認表示の前記生成処理を実行しない情報処理装置が提供される。   According to one aspect of the disclosed technology, a storage unit that stores a plurality of application resources for a plurality of different application programs and a runtime used for each of the plurality of application resources, and each application included in the plurality of different application programs For each program start instruction, a memory management unit that generates a plurality of process spaces corresponding to each of the application programs in a memory, a runtime reading unit that reads the runtime into each of the plurality of process spaces, Each application resource corresponding to an application program is read into the corresponding process space among the plurality of process spaces loaded with the runtime, and loaded into each of the plurality of process spaces. A process generation unit that generates the process of each application program from the application resource and the runtime, and a process execution unit that executes the process of each application program generated on the plurality of process spaces, the runtime Is a native application program that can be interpreted and executed by an operating system, and each of the plurality of application programs is a hybrid application program that includes the runtime and resources that the runtime can interpret. An information process that generates a confirmation display to the user when downloading the application, and does not execute the generation process of the confirmation display when downloading the plurality of application resources. Apparatus is provided.

開示の技術によれば、利用者の操作を促すことなく、かつ、アプリケーションプログラムの保存領域の消費を抑制することができる。   According to the disclosed technology, it is possible to suppress consumption of the storage area of the application program without prompting the user to operate.

一実施形態にかかる情報処理システムの概略図である。1 is a schematic diagram of an information processing system according to an embodiment. 一実施形態にかかる携帯端末のハードウェア構成の概略図である。It is the schematic of the hardware constitutions of the portable terminal concerning one Embodiment. 一実施形態にかかるアプリサーバのハードウェア構成の概略図である。It is the schematic of the hardware constitutions of the application server concerning one Embodiment. 一実施形態にかかるアプリケーションプログラムの模式図である。It is a schematic diagram of the application program concerning one Embodiment. 一実施形態にかかる携帯端末の機能ブロックの概略図である。It is the schematic of the functional block of the portable terminal concerning one Embodiment. 一実施形態にかかるアクセス権テーブルの模式図である。It is a schematic diagram of the access right table concerning one Embodiment. 一実施形態にかかるアプリサーバの機能ブロックの概略図である。It is the schematic of the functional block of the application server concerning one Embodiment. 一実施形態にかかる携帯端末のCPUによるアプリリソースのダウンロードのフローチャートである。It is a flowchart of the download of the application resource by CPU of the portable terminal concerning one Embodiment. 一実施形態にかかる携帯端末のCPUによるアプリケーションの実行のフローチャートである。It is a flowchart of execution of the application by CPU of the portable terminal concerning one Embodiment. 一実施形態にかかる格納部に格納されたファイルへのアクセス制限を説明するための模式図である。It is a schematic diagram for demonstrating the access restriction to the file stored in the storage part concerning one Embodiment. 一実施形態にかかる格納部に格納されたファイルへのアクセス制限を説明するための模式図である。It is a schematic diagram for demonstrating the access restriction to the file stored in the storage part concerning one Embodiment. 一実施形態の変形例にかかる情報処理システムの概略図である。It is the schematic of the information processing system concerning the modification of one Embodiment.

以下、図面を参照して、一実施形態を説明する。   Hereinafter, an embodiment will be described with reference to the drawings.

図1は、一実施形態にかかる情報処理システムの概略図である。   FIG. 1 is a schematic diagram of an information processing system according to an embodiment.

図1に示すように、本実施形態にかかる情報処理システムは、携帯端末100とアプリサーバ200を備える。携帯端末100とアプリサーバ200は、ネットワーク300により相互に接続されている。携帯端末100は、ランタイムを実行環境として、アプリリソースを実行することで、アプリケーション(アプリ)を実現する。以下、「アプリケーション(アプリ)」を、CPU101がアプリケーションプログラムを実行することで実現される機能として説明する。   As shown in FIG. 1, the information processing system according to the present embodiment includes a mobile terminal 100 and an application server 200. The mobile terminal 100 and the application server 200 are connected to each other via a network 300. The mobile terminal 100 implements an application (application) by executing an application resource using the runtime as an execution environment. Hereinafter, “application (application)” will be described as a function realized by the CPU 101 executing an application program.

(携帯端末100のハードウェア構成)
図2は、一実施形態にかかる携帯端末100のハードウェア構成の概略図である。
(Hardware configuration of portable terminal 100)
FIG. 2 is a schematic diagram of a hardware configuration of the mobile terminal 100 according to the embodiment.

本実施形態では、携帯端末100として、例えばスマートフォンやタブレットPC(Personal Computer)などを想定している。   In the present embodiment, as the mobile terminal 100, for example, a smartphone or a tablet PC (Personal Computer) is assumed.

図2に示すように、本実施形態にかかる携帯端末100は、CPU(Central Processing Unit)101、メインメモリ102、補助メモリ103、RF(Radio Frequency)回路104、アンテナ105、LCD(Liquid Crystal Display)106、タッチスクリーン107、各種センサ108を備える。   As shown in FIG. 2, a mobile terminal 100 according to the present embodiment includes a CPU (Central Processing Unit) 101, a main memory 102, an auxiliary memory 103, an RF (Radio Frequency) circuit 104, an antenna 105, an LCD (Liquid Crystal Display). 106, a touch screen 107, and various sensors 108.

CPU101、メインメモリ102、補助メモリ103、RF回路104、LCD106、タッチスクリーン107、各種センサ107は、例えばバスB1により相互に接続されている。   The CPU 101, the main memory 102, the auxiliary memory 103, the RF circuit 104, the LCD 106, the touch screen 107, and various sensors 107 are connected to each other by a bus B1, for example.

CPU101は、携帯端末100の各種ハードウェアを制御する。さらに、CPU101は、補助メモリ103に格納された各種プログラムを、メインメモリ102に読み込むとともに、該メインメモリ102に読み込んだ各種プログラムを実行することで、各種機能を実現する。各種機能の詳細は、後述することとする。   The CPU 101 controls various hardware of the mobile terminal 100. Further, the CPU 101 implements various functions by reading various programs stored in the auxiliary memory 103 into the main memory 102 and executing the various programs loaded into the main memory 102. Details of the various functions will be described later.

メインメモリ102は、CPU101により実行される各種プログラムを格納する。さらに、メインメモリ102は、CPU101のワークエリアとして使用され、CPU101による処理に必要な各種データを記憶する。メインメモリ102としては、例えばRAM(Random Access Memory)などを用いても良い。   The main memory 102 stores various programs executed by the CPU 101. Further, the main memory 102 is used as a work area for the CPU 101 and stores various data necessary for processing by the CPU 101. As the main memory 102, for example, a RAM (Random Access Memory) may be used.

補助メモリ103は、携帯端末100を動作させる各種プログラムを格納している。各種プログラムとしては、例えば、CPU101により実行されるアプリケーションプログラム1000、アプリマネージャー1500、鍵マネージャー1600、これらの実行環境であるOS1100、アプリサーバ200からダウンロードするアプリリソース1200a、1200bやランタイム1300などが格納される。さらに、各種プログラムとして、アプリサーバ200からダウンロードするアプリケーションプログラムを格納しても良い。   The auxiliary memory 103 stores various programs for operating the mobile terminal 100. As various programs, for example, an application program 1000 executed by the CPU 101, an application manager 1500, a key manager 1600, an OS 1100 as an execution environment thereof, application resources 1200a and 1200b downloaded from the application server 200, a runtime 1300, and the like are stored. The Furthermore, application programs downloaded from the application server 200 may be stored as various programs.

OS1100の種類は、特に限定されるものではないが、本実施形態では、Android(登録商標)を使用することとする。OS1100は、CPU101により実行されることで、後述するメモリ管理部112、ランタイム読み込み部113、プロセス実行部117、アクセス管理部118を実現する。   The type of the OS 1100 is not particularly limited, but Android (registered trademark) is used in the present embodiment. The OS 1100 is executed by the CPU 101 to realize a memory management unit 112, a runtime reading unit 113, a process execution unit 117, and an access management unit 118, which will be described later.

ランタイム1300は、OS1100が直接解釈・実行可能な所謂ネイティブアプリであって、アプリリソース1200a、1200bと共にコンパイルされることで、所謂ハイブリッドアプリを構成する。ランタイム1300は、CPU101により実行されることで、後述するアプリリソース読み込み部114及びプロセス生成部116を実現する。さらに、ランタイム1300は、I/Oドライバ1300Dを含む。I/Oドライバ1300Dは、CPU101により実行されることで、後述する復号化部115を実現する。なお、本実施形態では、I/Oドライバ1300Dをランタイム1300に含めているが、本発明は、これに限定されるものではない。   The runtime 1300 is a so-called native app that can be directly interpreted and executed by the OS 1100 and is compiled with the app resources 1200a and 1200b to constitute a so-called hybrid app. The runtime 1300 is executed by the CPU 101 to realize an application resource reading unit 114 and a process generation unit 116 described later. Furthermore, the runtime 1300 includes an I / O driver 1300D. The I / O driver 1300D is executed by the CPU 101 to realize a decryption unit 115 described later. In this embodiment, the I / O driver 1300D is included in the runtime 1300, but the present invention is not limited to this.

アプリマネージャー1500は、ランチャー1500a及びダウンローダ1500bを含む(図2では省略)。ランチャー1500aは、CPU101により実行されることで、後述するアプリ起動指示受け付け部110及びランチャー部111を実現する。ダウンローダ1500bは、CPU101により実行されることで、後述するダウンロード部121を実現する。鍵マネージャー1600は、CPU101により実行されることで、鍵管理部120を実現する。   The application manager 1500 includes a launcher 1500a and a downloader 1500b (not shown in FIG. 2). The launcher 1500a is executed by the CPU 101 to realize an application activation instruction receiving unit 110 and a launcher unit 111, which will be described later. The downloader 1500b is executed by the CPU 101 to realize a download unit 121 described later. The key manager 1600 implements the key management unit 120 by being executed by the CPU 101.

補助メモリ203としては、例えば、ハードディスクやフラッシュメモリ等の不揮発メモリを用いても良い。アプリリソース1200a、1200b及びランタイム1300の詳細は、後述することとする。   As the auxiliary memory 203, for example, a nonvolatile memory such as a hard disk or a flash memory may be used. Details of the application resources 1200a and 1200b and the runtime 1300 will be described later.

RF回路104は、CPU101により制御され、アンテナ105から他の無線通信装置に高周波信号を送信する。さらに、RF回路104は、アンテナ105により受信された高周波信号をベースバンド信号に変換して、該ベースバンド信号をCPU101に出力する。   The RF circuit 104 is controlled by the CPU 101 and transmits a high-frequency signal from the antenna 105 to another wireless communication device. Further, the RF circuit 104 converts the high frequency signal received by the antenna 105 into a baseband signal, and outputs the baseband signal to the CPU 101.

LCD106は、CPU101により制御され、利用者に画像情報を表示する。タッチスクリーン107は、LCD106の表示画面に貼り付けられ、例えば利用者の指先などによる接触位置を検出する。タッチスクリーン107は、タッチパネルと呼ばれることもある。   The LCD 106 is controlled by the CPU 101 and displays image information to the user. The touch screen 107 is pasted on the display screen of the LCD 106, and detects a contact position by a user's fingertip, for example. The touch screen 107 is sometimes called a touch panel.

各種センサ108は、それぞれCPU101により制御され、携帯端末100の状態情報を取得する。センサ108としては、例えば、加速度センサ、ジャイロセンサ、照度センサ、地磁気センサ、傾きセンサ、加圧センサ、接近センサ、温度センサ、3G、無線LAN、GPSモジュール、などを用いても良い。   The various sensors 108 are controlled by the CPU 101 and acquire state information of the mobile terminal 100. As the sensor 108, for example, an acceleration sensor, a gyro sensor, an illuminance sensor, a geomagnetic sensor, a tilt sensor, a pressure sensor, a proximity sensor, a temperature sensor, 3G, a wireless LAN, a GPS module, or the like may be used.

(アプリサーバ200のハードウェア構成)
図3は、一実施形態にかかるアプリサーバ200のハードウェア構成の概略図である。
(Hardware configuration of application server 200)
FIG. 3 is a schematic diagram of a hardware configuration of the application server 200 according to the embodiment.

図3に示すように、本実施形態にかかるアプリサーバ200は、CPU201、主記憶装置202、システムコントローラ203、ネットワークコントローラ204、ディスクコントローラ205、補助記憶装置206を備える。   As shown in FIG. 3, the application server 200 according to the present embodiment includes a CPU 201, a main storage device 202, a system controller 203, a network controller 204, a disk controller 205, and an auxiliary storage device 206.

CPU201、主記憶装置202、システムコントローラ203、ネットワークコントローラ204、ディスクコントローラ205は、例えばバスB2により相互に接続されている。   The CPU 201, the main storage device 202, the system controller 203, the network controller 204, and the disk controller 205 are connected to each other by, for example, a bus B2.

CPU201は、アプリサーバ200の各種ハードウェアを制御する。さらに、CPU201は、補助記憶装置206に格納された各種プログラムを、主記憶装置202に読み込むとともに、該主記憶装置202に読み込んだ各種プログラムを実行することで、各種機能を実現する。各種機能の詳細は、後述することとする。   The CPU 201 controls various hardware of the application server 200. Further, the CPU 201 implements various functions by reading various programs stored in the auxiliary storage device 206 into the main storage device 202 and executing the various programs read into the main storage device 202. Details of the various functions will be described later.

主記憶装置202は、CPU201により実行される各種プログラムを格納する。さらに、主記憶装置202は、CPU201のワークエリアとして使用され、CPU201による処理に必要な各種データを格納する。主記憶装置202としては、例えば、RAMを用いても良い。   The main storage device 202 stores various programs executed by the CPU 201. Further, the main storage device 202 is used as a work area for the CPU 201 and stores various data necessary for processing by the CPU 201. For example, a RAM may be used as the main storage device 202.

システムコントローラ203は、CPU201及び主記憶装置202の双方に接続されている。システムコントローラ203は、CPU201及び主記憶装置202間のデータ送信や、CPU201及びバス208間のデータ送信を制御する。さらに、システムコントローラ203は、バス208を介して、ネットワークコントローラ204及びディスクコントローラ205に接続されている。   The system controller 203 is connected to both the CPU 201 and the main storage device 202. The system controller 203 controls data transmission between the CPU 201 and the main storage device 202 and data transmission between the CPU 201 and the bus 208. Further, the system controller 203 is connected to the network controller 204 and the disk controller 205 via the bus 208.

ネットワークコントローラ204は、ネットワーク300を介して、携帯端末100に接続され、携帯端末100との間で各種データの送受信を実行する。   The network controller 204 is connected to the mobile terminal 100 via the network 300 and executes transmission / reception of various data with the mobile terminal 100.

補助記憶装置206は、ディスクコントローラ205に接続されている。補助記憶装置206は、各種プログラムを格納している。各種プログラムとしては、例えば、CPU201により実行されるアプリケーションプログラム2000、アプリケーションプログラム2000の実行環境であるOS2100、携帯端末100にダウンロードされるアプリリソース1200a、1200bやランタイム1300などが格納される。OS2100が直接解釈・実行可能な形式のアプリケーションプログラム(ネイティブアプリ)を携帯端末100にダウンロードする場合、該アプリケーションプログラム(ネイティブアプリ)を格納しても良い。補助記憶装置206としては、例えば、ハードディスクなどを用いても良い。   The auxiliary storage device 206 is connected to the disk controller 205. The auxiliary storage device 206 stores various programs. As the various programs, for example, an application program 2000 executed by the CPU 201, an OS 2100 that is an execution environment of the application program 2000, application resources 1200a and 1200b downloaded to the mobile terminal 100, a runtime 1300, and the like are stored. When an application program (native application) in a format that can be directly interpreted / executed by the OS 2100 is downloaded to the mobile terminal 100, the application program (native application) may be stored. For example, a hard disk may be used as the auxiliary storage device 206.

(アプリケーションプログラム1400a、1400bの構成)
ここでは、所謂ハイブリッドアプリとしてのアプリケーションプログラム1400a、1400bの構成を説明する。
(Configuration of application programs 1400a and 1400b)
Here, the configuration of application programs 1400a and 1400b as so-called hybrid applications will be described.

図4は、一実施形態にかかるアプリケーションプログラム1400a、1400bの模式図であって、(a)(b)は、互いに異なるアプリケーション用のアプリケーションプログラム1400a、1400bを示している。   FIG. 4 is a schematic diagram of the application programs 1400a and 1400b according to the embodiment. (A) and (b) show application programs 1400a and 1400b for different applications.

図4(a)、(b)に示すように、携帯端末100により実行されるアプリケーションプログラム1400a、1400bは、所謂ハイブリッドアプリであって、アプリケーションごとに作成されるアプリリソース1200a、1200bと、アプリケーションに共通のランタイム1300と、を含む。   As shown in FIGS. 4A and 4B, application programs 1400a and 1400b executed by the mobile terminal 100 are so-called hybrid applications, and application resources 1200a and 1200b created for each application, A common runtime 1300.

アプリリソース1200a、1200bは、例えばアプリ開発者により開発されるプログラムファイルである。これらのアプリリソース1200a、1200bは、OS1100が解釈可能な実行形式ではないため、OS1100には単なるデータファイルとして認識される。アプリリソース1200a、1200bは、例えばHTMLやJava(登録商標)scriptなどで記述される。   The application resources 1200a and 1200b are program files developed by an application developer, for example. Since these application resources 1200a and 1200b are not executable formats interpretable by the OS 1100, the OS 1100 recognizes them as simple data files. The application resources 1200a and 1200b are described in, for example, HTML or Java (registered trademark) script.

ランタイム1300は、アプリリソース1200a、1200bを、アプリケーションプログラムとして実行するための実行環境を携帯端末100に提供する。ランタイム1300は、所謂ネイティブアプリであって、OS1100が解釈可能な実行形式であるため、OS1100にはアプリケーションプログラムとして認識される。   The runtime 1300 provides the mobile terminal 100 with an execution environment for executing the application resources 1200a and 1200b as application programs. The runtime 1300 is a so-called native application, and is an execution format that can be interpreted by the OS 1100, so that the OS 1100 recognizes it as an application program.

(携帯端末100の機能ブロック)
図5は、一実施形態にかかる携帯端末100の機能ブロックの概略図である。
(Functional block of mobile terminal 100)
FIG. 5 is a schematic diagram of functional blocks of the mobile terminal 100 according to the embodiment.

図5に示すように、本実施形態にかかる携帯端末100は、アプリ起動指示受け付け部110、ランチャー部111、メモリ管理部112、ランタイム読み込み部113、アプリリソース読み込み部114、復号化部115、プロセス生成部116、プロセス実行部117、アクセス管理部118、鍵管理部120、ダウンロード部121、格納部123、鍵ストア124を備える。   As illustrated in FIG. 5, the mobile terminal 100 according to the present embodiment includes an application activation instruction reception unit 110, a launcher unit 111, a memory management unit 112, a runtime reading unit 113, an application resource reading unit 114, a decryption unit 115, and a process. A generation unit 116, a process execution unit 117, an access management unit 118, a key management unit 120, a download unit 121, a storage unit 123, and a key store 124 are provided.

アプリ起動指示受け付け部110、ランチャー部111、メモリ管理部112、ランタイム読み込み部113、アプリリソース読み込み部114、復号化部115、プロセス生成部116、プロセス実行部117、アクセス管理部118、鍵管理部120、ダウンロード部121、格納部123、鍵ストア124は、何れもCPU101が、メインメモリ102に読み込まれた各種プログラムを実行することで実現される。   Application start instruction reception unit 110, launcher unit 111, memory management unit 112, runtime reading unit 113, application resource reading unit 114, decryption unit 115, process generation unit 116, process execution unit 117, access management unit 118, key management unit The CPU 120, the download unit 121, the storage unit 123, and the key store 124 are all realized by the CPU 101 executing various programs read into the main memory 102.

アプリ起動指示受付部110は、アプリサーバ200からのアプリ起動指示を受け付けて、ランチャー部111に通知する。アプリ起動指示は、アプリリソース1200a、1200bを指定して、該アプリリソース1200a、1200bの起動を指示するものである。   The application activation instruction receiving unit 110 receives an application activation instruction from the application server 200 and notifies the launcher unit 111 of the application activation instruction. The application activation instruction designates application resources 1200a and 1200b and instructs activation of the application resources 1200a and 1200b.

ランチャー部111は、アプリ起動指示受け付け部110からのアプリ起動指示に基づき、指定されたアプリリソース1200aもしくは1200bを引数として、ランタイム1300の起動指示を出力する。さらに、ランチャー部111は、指定されたアプリリソース1200a、1200bを復号化する為の鍵を鍵管理部120に要求する。但し、本実施形態は、これに限定されるものではなく、例えばランチャー部111は、利用者によるアイコンへのタップを契機に、該アイコンに対応するアプリリソース1200a、1200bを引数として、ランタイム1300の起動指示を出力しても良い。   Based on the application activation instruction from the application activation instruction receiving unit 110, the launcher unit 111 outputs the activation instruction of the runtime 1300 using the designated application resource 1200a or 1200b as an argument. Further, the launcher unit 111 requests the key management unit 120 for a key for decrypting the designated application resources 1200a and 1200b. However, the present embodiment is not limited to this. For example, the launcher unit 111 uses the application resources 1200a and 1200b corresponding to the icon as arguments when the user taps the icon. An activation instruction may be output.

メモリ管理部112は、ランタイム1300の起動指示に基づき、指定されたアプリリソース1200aもしくは1200bを実行するためのプロセス空間をメインメモリ102に生成する。プロセス空間とは、CPU101により実行されるプログラムのプロセスごとに隔離されたセキュアなメモリ空間である。   The memory management unit 112 generates a process space in the main memory 102 for executing the designated application resource 1200 a or 1200 b based on the activation instruction of the runtime 1300. The process space is a secure memory space isolated for each process of the program executed by the CPU 101.

ランタイム読み込み部113は、メモリ管理部112により生成されたプロセス空間に、格納部123に格納されたランタイム1300を読み込む。   The runtime reading unit 113 reads the runtime 1300 stored in the storage unit 123 into the process space generated by the memory management unit 112.

アプリリソース読み込み部114は、ランタイム読み込み部113からの指示に基づき、ランタイム1300が読み込まれたプロセス空間に、指定されたアプリリソース1200aもしくは1200bを読み込む。さらに、アプリリソース読み込み部114は、プロセス実行部117から指示に基づき、ランタイム1300が読み込まれたプロセス空間に、リソースを読み込むこともある。   Based on an instruction from the runtime reading unit 113, the application resource reading unit 114 reads the designated application resource 1200a or 1200b into the process space into which the runtime 1300 has been read. Further, the application resource reading unit 114 may read resources into the process space in which the runtime 1300 has been read based on an instruction from the process execution unit 117.

復号化部115は、鍵管理部120から引き渡される鍵を復号化する。さらに、復号化部115は、ランタイム1300の一部として動作して、プロセス空間に読み込まれたアプリリソース1200aもしくは1200bを、復号化された鍵を用いて、プロセス空間の内部で復号化する。   The decryption unit 115 decrypts the key delivered from the key management unit 120. Furthermore, the decryption unit 115 operates as a part of the runtime 1300, and decrypts the application resource 1200a or 1200b read into the process space inside the process space using the decrypted key.

プロセス生成部116は、プロセス空間に読み込まれたアプリリソース1200aもしくは1200b及びランタイム1300を一体化してコンパイルすることで、アプリケーションプログラム1400aもしくは1400bのプロセスを生成する。   The process generation unit 116 generates a process of the application program 1400a or 1400b by integrating and compiling the application resource 1200a or 1200b and the runtime 1300 read into the process space.

プロセス実行部117は、プロセス空間に生成されたアプリケーションプログラム1400aもしくは1400bのプロセスを実行する。さらに、プロセス実行部117は、プロセスの実行時に必要なリソースの読み込みを、プロセス実行中にアプリリソース読み込み部114に指示することもある。   The process execution unit 117 executes the process of the application program 1400a or 1400b generated in the process space. Further, the process execution unit 117 may instruct the application resource reading unit 114 to read resources necessary for executing the process during the process execution.

アクセス管理部118は、アクセス権テーブルTのアクセス権に基づき、プロセス実行部117もしくはアプリリソース読み込み部114によるファイルアクセスを許可もしくは制限する。ファイルアクセスとは、格納部123に格納されたアプリリソース1200a、1200b及び各種アプリケーションプログラムへの読み込み/書き込み/実行の何れかである。   The access management unit 118 permits or restricts file access by the process execution unit 117 or the application resource reading unit 114 based on the access right of the access right table T. The file access is any one of reading / writing / execution to the application resources 1200a and 1200b and various application programs stored in the storage unit 123.

鍵管理部120は、ランチャー部111からの要求に基づき、アプリリソース1200aもしくは1200bを復号化する為の鍵を鍵ストア124から取得する。鍵ストア124から取得された鍵は、鍵管理部120に保管される。さらに、鍵管理部120は、例えば携帯端末100に固有の情報を基に生成した鍵などを用いて、鍵ストア124から取得した鍵を暗号化して復号化部115に引き渡す。なお、鍵の引き渡しには、例えばOS1100により提供されるプロセス間通信の機能を利用しても良い。本実施形態では、OS1100としてAndroidを利用しているので、例えばAndroidのIntent機能を利用しても良い。   Based on the request from the launcher unit 111, the key management unit 120 acquires a key for decrypting the application resource 1200 a or 1200 b from the key store 124. The key acquired from the key store 124 is stored in the key management unit 120. Furthermore, the key management unit 120 encrypts the key acquired from the key store 124 using, for example, a key generated based on information unique to the mobile terminal 100 and passes it to the decryption unit 115. For the key delivery, for example, an inter-process communication function provided by the OS 1100 may be used. In the present embodiment, since Android is used as the OS 1100, for example, the Android Intent function may be used.

ダウンロード部121は、アプリサーバ200から送信されるアプリリソース1200aもしくは1200bを、送受信部122から受け取り、格納部123のデータ領域Rdに配置する。さらに、ダウンロード部121は、アプリリソース1200a、1200bの他に、例えばアプリサーバ200に格納された、ネイティブアプリとしてのランタイムやアプリケーションプログラムなどを、送受信部122から受け取り、格納部123に配置しても良い。但し、ネイティブアプリとしてのランタイムやアプリケーションプログラムなどは、格納部123のデータ領域Rdとは異なるアプリ領域に格納される。   The download unit 121 receives the application resource 1200 a or 1200 b transmitted from the application server 200 from the transmission / reception unit 122 and arranges it in the data area Rd of the storage unit 123. Further, in addition to the application resources 1200 a and 1200 b, the download unit 121 receives, for example, a runtime or application program as a native application stored in the application server 200 from the transmission / reception unit 122 and arranges it in the storage unit 123. good. However, a runtime, an application program, and the like as a native application are stored in an application area different from the data area Rd of the storage unit 123.

なお、アプリサーバ200からアプリリソース1200a、1200bのURL1700が送信された場合、ダウンロード部121は、アプリリソース1200a、1200bの送信依頼の送信を送受信部122に指示しても良い。   Note that when the URL 1700 of the application resources 1200a and 1200b is transmitted from the application server 200, the download unit 121 may instruct the transmission / reception unit 122 to transmit a transmission request for the application resources 1200a and 1200b.

送受信部122は、アプリサーバ200から送信された、暗号化されたアプリリソース1200aを受信する。なお、アプリサーバ200からアプリリソース1200a、1200bのURL1700が送信された場合、送受信部122は、ダウンロード部121からの指示に基づき、URL1700により指定されたアプリリソース1200a、1200bの送信依頼をアプリサーバ200に送信する。トークンがある場合は、送受信部122は、トークンを付加情報として付けて送信しても良い。   The transmission / reception unit 122 receives the encrypted application resource 1200 a transmitted from the application server 200. When the URL 1700 of the application resources 1200a and 1200b is transmitted from the application server 200, the transmission / reception unit 122 sends a transmission request for the application resources 1200a and 1200b specified by the URL 1700 based on an instruction from the download unit 121. Send to. When there is a token, the transmission / reception unit 122 may transmit the token with additional information.

格納部123は、例えば携帯端末100の補助メモリ103に構築される。格納部123は、例えばアプリケーションプログラム1000、OS1100、アプリリソース1200a、1200b、ランタイム1300などを格納する。さらに、格納部123に格納されるファイルには、OS1100が提供するアクセス権が設定される。   The storage unit 123 is constructed in the auxiliary memory 103 of the mobile terminal 100, for example. The storage unit 123 stores, for example, the application program 1000, the OS 1100, the application resources 1200a and 1200b, the runtime 1300, and the like. Furthermore, an access right provided by the OS 1100 is set in the file stored in the storage unit 123.

鍵ストア124は、例えば携帯端末100の補助メモリ103に構築される。鍵ストア124は、アプリリソース1200a、1200bを復号化する為の鍵を格納する。鍵ストア124内に保存される鍵は、ハードウェアの機能などを使って、他のデータに比べて安全に保護されていることが望ましい。例えば、ARMが持つTRUSTZONE機能を用いることにより、悪意のあるソフトウェアが鍵を取り出せないようにすることができる。   The key store 124 is constructed in the auxiliary memory 103 of the mobile terminal 100, for example. The key store 124 stores a key for decrypting the application resources 1200a and 1200b. It is desirable that the key stored in the key store 124 is protected more securely than other data using a hardware function or the like. For example, by using the TRUSTZONE function possessed by ARM, it is possible to prevent malicious software from extracting the key.

なお、本実施形態では、鍵ストア124を補助メモリ103に構築しているが、本発明は、これに限定されるものではない。例えば、アプリリソース1200aもしくは1200bが格納される補助メモリ103とは別個にメモリチップを容易して、該メモリチップに鍵ストア124を構築しても良い。   In the present embodiment, the key store 124 is constructed in the auxiliary memory 103, but the present invention is not limited to this. For example, the key store 124 may be constructed in the memory chip by facilitating the memory chip separately from the auxiliary memory 103 in which the application resources 1200a or 1200b are stored.

(アクセス権テーブルT)
ここでは、OS1100がアプリケーションプログラムに設定するアクセス権を説明する。
(Access right table T)
Here, an access right set in the application program by the OS 1100 will be described.

図6は、一実施形態にかかるアクセス権テーブルTの模式図である。   FIG. 6 is a schematic diagram of the access right table T according to the embodiment.

図6に示すように、本実施形態にかかるアクセス権テーブルTは、アプリケーションプログラムのUserIDと、アプリケーションプログラムへのアクセス権(アクセスコントロール)と、を紐づける。本実施形態では、OS1100としてAndroidを使用しているので、UserIDには、アプリケーションの名前(「Runtime」や「App」など)に紐づけられた一意な名前が割り当てられている。例えば、「Runtime」には「app−12345」が、「App」には「appp−67890」という名前が割り当てられているとする。なお、図中の「r」、「w」、「x」は、それぞれ読み込み可能、書き込み可能、実行可能を示している。   As shown in FIG. 6, the access right table T according to the present embodiment associates the UserID of the application program with the access right (access control) to the application program. In this embodiment, since Android is used as the OS 1100, a unique name associated with the name of the application (such as “Runtime” or “App”) is assigned to UserID. For example, “App-12345” is assigned to “Runtime”, and “app-67890” is assigned to “App”. Note that “r”, “w”, and “x” in the figure indicate readable, writable, and executable, respectively.

例えば、アクセス権テーブルTの枠Wに着目すると、UserIDが「app−12345」であるアプリケーションプログラム、即ちランタイム1300には、User(所有者)のアクセス権として、「r」、「w」、「x」が割り当てられている。従って、ランタイム1300のUserであれば、即ちランタイム1300のプロセスであれば、格納部123に格納されたランタイム1300への読み込み/書き込み/実行の何れのアクセスも許可されることとなる。   For example, paying attention to the frame W of the access right table T, the application program whose User ID is “app-12345”, that is, the runtime 1300 has “r”, “w”, “ x "is assigned. Therefore, if it is a user of the runtime 1300, that is, if it is a process of the runtime 1300, any read / write / execution access to the runtime 1300 stored in the storage unit 123 is permitted.

(アプリサーバ200の機能ブロック)
図7は、一実施形態にかかるアプリサーバ200の機能ブロックの概略図である。
(Function block of application server 200)
FIG. 7 is a schematic diagram of functional blocks of the application server 200 according to an embodiment.

図7に示すように、本実施形態にかかるアプリサーバ200は、アプリ受付部211、アプリ鍵生成部212、アプリ暗号化部213、アプリ配置部214、鍵暗号化部215、プッシュ制御部216、送受信部217、格納部218を備える。   As shown in FIG. 7, the application server 200 according to the present embodiment includes an application reception unit 211, an application key generation unit 212, an application encryption unit 213, an application placement unit 214, a key encryption unit 215, a push control unit 216, A transmission / reception unit 217 and a storage unit 218 are provided.

アプリ受付部211、アプリ鍵生成部212、アプリ暗号化部213、アプリ配置部214、鍵暗号化部215、プッシュ制御部216、送受信部217は、何れもCPU201が、主記憶装置202に読み込まれた各種プログラムを実行することで実現される。   The application reception unit 211, application key generation unit 212, application encryption unit 213, application placement unit 214, key encryption unit 215, push control unit 216, and transmission / reception unit 217 are all read by the CPU 201 into the main storage device 202. This is realized by executing various programs.

アプリ受付部211は、例えばアプリ開発者により開発されたアプリリソース1200a、1200bの登録を受け付ける。アプリ受付部211は、アプリリソースの他に、ネイティブアプリとしてのアプリケーションプログラムの登録を受け付けても良い。   For example, the application reception unit 211 receives registration of application resources 1200a and 1200b developed by an application developer. The application reception unit 211 may receive registration of an application program as a native application in addition to application resources.

アプリ鍵生成部212は、指定されたアプリリソース1200a、1200bを暗号化する為の鍵を生成する。鍵は、アプリリソース1200a、1200b及び送信先の携帯端末100に固有の情報に基づいて生成され、個々のアプリケーションと送信先の携帯端末100ごとに固有の鍵となる。暗号化の方式は、特に限定されるものではない。   The application key generation unit 212 generates a key for encrypting the specified application resources 1200a and 1200b. The key is generated based on information unique to the application resources 1200a and 1200b and the destination mobile terminal 100, and is a key unique to each application and the destination mobile terminal 100. The encryption method is not particularly limited.

アプリ暗号化部213は、アプリ鍵生成部212により生成された鍵を用いて、アプリリソース1200a、1200bを暗号化する。   The application encryption unit 213 encrypts the application resources 1200a and 1200b using the key generated by the application key generation unit 212.

アプリ配置部214は、アプリ暗号化部213により暗号化されたアプリリソース1200a、1200bを格納部218に配置する。   The application placement unit 214 places the application resources 1200 a and 1200 b encrypted by the application encryption unit 213 in the storage unit 218.

鍵暗号化部215は、携帯端末100に固有の情報を基に生成した鍵を用いて、アプリリソース1200a、1200bを暗号化する為の鍵そのものを暗号化する。   The key encryption unit 215 encrypts the key itself for encrypting the application resources 1200a and 1200b using a key generated based on information unique to the mobile terminal 100.

プッシュ制御部216は、例えば携帯端末100のセンサから取得した位置情報やコンテキスト情報などに基づき、アプリリソース1200a、1200bもしくは該アプリリソース1200a、1200bのURL1700と、アプリ鍵生成部212で生成した鍵の送信を送受信部217に指示する。さらに、付加情報として、指定されたアプリケーションを取得するためのトークン情報を付加しても良い。   The push control unit 216 uses the URL 1700 of the application resource 1200a, 1200b or the application resource 1200a, 1200b and the key generated by the application key generation unit 212 based on, for example, position information or context information acquired from the sensor of the mobile terminal 100. The transmission / reception unit 217 is instructed to transmit. Further, token information for acquiring a specified application may be added as additional information.

送受信部217は、例えばプッシュ制御部216からの指示に基づき、格納部218に格納されたURL1700もしくはアプリリソース1200a、1200bと、これらを復号化する為の鍵を携帯端末100に送信する。   For example, based on an instruction from the push control unit 216, the transmission / reception unit 217 transmits the URL 1700 or application resources 1200a and 1200b stored in the storage unit 218 and a key for decrypting them to the mobile terminal 100.

格納部218は、例えばアプリサーバ200の補助記憶装置206に構築される。格納部218は、例えばアプリケーションプログラム2000、OS2100、アプリリソース1200a、1200bなどを格納する。さらに、格納部218は、ランタイム1300を格納しても良い。   The storage unit 218 is constructed in the auxiliary storage device 206 of the application server 200, for example. The storage unit 218 stores, for example, the application program 2000, the OS 2100, the application resources 1200a and 1200b, and the like. Further, the storage unit 218 may store the runtime 1300.

(携帯端末100のCPU101によるアプリリソースのダウンロード)
図8は、一実施形態にかかる携帯端末100のCPU101によるアプリリソース1200a、1200bのダウンロードのフローチャートである。
(Download application resources by CPU 101 of portable terminal 100)
FIG. 8 is a flowchart of downloading application resources 1200a and 1200b by the CPU 101 of the mobile terminal 100 according to the embodiment.

図8に示すように、送受信部122は、アプリサーバ200から送信されたアプリケーションのURL1700を受信したかどうか判断する(ステップS121)。   As illustrated in FIG. 8, the transmission / reception unit 122 determines whether the application URL 1700 transmitted from the application server 200 has been received (step S <b> 121).

ここで、アプリケーションのURL1700を受信したと判断されたら(ステップS121のYes)、ダウンロード部121は、該URL1700により指定されるアプリリソース(ここでは、アプリリソース1200aとする)のダウンロード要求の送信を、送受信部122に指示する(ステップS122)。   If it is determined that the URL 1700 of the application has been received (Yes in step S121), the download unit 121 transmits a download request for the application resource (here, the application resource 1200a) specified by the URL 1700. The transmission / reception unit 122 is instructed (step S122).

一方、アプリケーションのURL1700を受信したと判断されなければ(ステップS121のNo)、送受信部122は、アプリケーションのURL1700を受信したかどうかの判断を継続する(ステップS121)。   On the other hand, if it is not determined that the application URL 1700 has been received (No in step S121), the transmission / reception unit 122 continues to determine whether the application URL 1700 has been received (step S121).

なお、アプリサーバ200は、アプリケーションのURL100の送信と同時に、アプリリソース1200aを複合化する為の鍵も送信する。送受信部122は、アプリサーバ200から送信された鍵を、鍵管理部120に引き渡す。そして、鍵管理部120は、送受信部122から引き渡された鍵を鍵ストア124に格納する(ステップS126)。このとき、鍵管理部120は、携帯端末100に固有の鍵を用いて、アプリサーバ200から引き渡された鍵を復号化してから、鍵ストア124に格納する。   The application server 200 also transmits a key for decrypting the application resource 1200a simultaneously with the transmission of the URL 100 of the application. The transmission / reception unit 122 delivers the key transmitted from the application server 200 to the key management unit 120. Then, the key management unit 120 stores the key delivered from the transmission / reception unit 122 in the key store 124 (step S126). At this time, the key management unit 120 decrypts the key delivered from the application server 200 using a key unique to the mobile terminal 100 and stores the decrypted key in the key store 124.

次に、送受信部122は、ダウンロード部121からのダウンロード要求に基づき、指定されたアプリリソース1200aの送信依頼をアプリサーバ200に送信する(ステップS123)。トークンがある場合、トークンも付加情報として付けて送信しても良い。これにより、アプリサーバ200は、指定されたアプリリソース1200aを、携帯端末100に送信する。   Next, based on the download request from the download unit 121, the transmission / reception unit 122 transmits a transmission request for the specified application resource 1200a to the application server 200 (step S123). When there is a token, the token may be attached as additional information and transmitted. Thereby, the application server 200 transmits the designated application resource 1200a to the mobile terminal 100.

なお、アプリサーバ200から送信されるアプリリソース1200aは、アプリリソース1200a及び携帯端末100に固有の鍵で暗号化されている。このため、携帯端末100の送受信部122は、暗号化されたアプリリソース1200aを受け取ることとなる(ステップS124)。そして、送受信部122は、アプリリソース1200aをダウンロード部121に引き渡す。   Note that the application resource 1200 a transmitted from the application server 200 is encrypted with a key unique to the application resource 1200 a and the mobile terminal 100. For this reason, the transmission / reception unit 122 of the portable terminal 100 receives the encrypted application resource 1200a (step S124). Then, the transmission / reception unit 122 delivers the application resource 1200 a to the download unit 121.

次に、ダウンロード部121は、送受信部122から引き渡されたアプリリソース1200aを格納部123に格納する(ステップS125)。このとき、携帯端末100は、アプリリソース1200aを、単なるデータファイルと認識するため、格納部123のデータ領域Rdに配置することとなる。   Next, the download unit 121 stores the application resource 1200a delivered from the transmission / reception unit 122 in the storage unit 123 (step S125). At this time, since the mobile terminal 100 recognizes the application resource 1200a as a simple data file, it is arranged in the data area Rd of the storage unit 123.

但し、それぞれのデータファイルには、ランタイム1300をUser(所有者)とするアクセス権を設定する。このため、ランタイム1300のプロセスでなければ、格納部123のデータ領域Rdに格納されたデータファイルにアクセスすることができない。逆に言えば、ランタイム1300のプロセスであれば、如何なるプロセスであっても、格納部123のデータ領域Rdに格納されたデータファイルにアクセスすることができる。   However, an access right with the runtime 1300 as the User (owner) is set for each data file. For this reason, a data file stored in the data area Rd of the storage unit 123 cannot be accessed unless it is a process of the runtime 1300. In other words, any process of the runtime 1300 can access the data file stored in the data area Rd of the storage unit 123.

以上でアプリリソース1200aのダウンロードが終了する。   The application resource 1200a is thus downloaded.

アプリリソースのダウンロードは、アプリケーションの実行指示のたびに実施される。このため、例えばアプリリソース1200aのダウンロード後、さらに他のアプリケーション(ここでは、アプリリソース1200bのアプリケーションとする)の実行指示が行われた場合、同様の手順を経て、格納部123にアプリリソース1200bが格納される。このときも、アプリリソース1200bは、単なるデータファイルとして認識されるため、アプリリソース1200aが格納されているデータ領域Rdに格納されることとなる。   Downloading application resources is performed every time an application execution instruction is issued. For this reason, for example, when an instruction to execute another application (here, the application resource 1200b) is issued after the application resource 1200a is downloaded, the application resource 1200b is stored in the storage unit 123 through the same procedure. Stored. Also at this time, since the application resource 1200b is recognized as a simple data file, it is stored in the data area Rd in which the application resource 1200a is stored.

以上のように、本実施形態にかかる携帯端末100では、アプリサーバ200から複数のアプリリソース1200a、1200bをダウンロードする場合、全てのアプリリソース1200a、1200bが、データファイルとして共通のデータ領域Rdに格納され、それぞれのデータファイルにランタイム1300をUser(所有者)とするアクセス権が設定されることとなる。   As described above, in the mobile terminal 100 according to the present embodiment, when a plurality of application resources 1200a and 1200b are downloaded from the application server 200, all the application resources 1200a and 1200b are stored in the common data area Rd as data files. Thus, an access right that sets the runtime 1300 as a User (owner) is set for each data file.

なお、ここでは、アプリサーバ200から送信されたアプリケーションのURL1700に基づき、携帯端末100がアプリサーバ200にダウンロード要求を送信しているが、本発明は、これに限定されるものではない。例えば、携帯端末100のセンサから取得した位置情報やコンテキスト情報などに基づき、アプリサーバ200が必要と判断したアプリリソース1200a、1200bを携帯端末100に送信しても良い。即ち、アプリサーバ200の判断に基づき、必要なアプリリソース1200a、1200bが携帯端末100に送信される場合、前述のステップS121〜ステップ124が省略されることとなる。   Here, based on the URL 1700 of the application transmitted from the application server 200, the mobile terminal 100 transmits a download request to the application server 200, but the present invention is not limited to this. For example, the application resources 1200a and 1200b determined to be necessary by the application server 200 may be transmitted to the mobile terminal 100 based on position information and context information acquired from the sensor of the mobile terminal 100. That is, when necessary application resources 1200a and 1200b are transmitted to the mobile terminal 100 based on the determination of the application server 200, the above-described steps S121 to 124 are omitted.

(携帯端末100のCPU101によるアプリケーションの実行)
図9は、一実施形態にかかる携帯端末100のCPU101によるアプリケーションの実行のフローチャートである。図10は、一実施形態にかかる格納部123に格納されたファイルへのアクセス制限を説明するための模式図である。図11は、一実施形態にかかる格納部123に格納されたファイルへのアクセス制限を説明するための模式図である。
(Execution of application by CPU 101 of portable terminal 100)
FIG. 9 is a flowchart of application execution by the CPU 101 of the mobile terminal 100 according to the embodiment. FIG. 10 is a schematic diagram for explaining access restriction on a file stored in the storage unit 123 according to the embodiment. FIG. 11 is a schematic diagram for explaining access restriction on a file stored in the storage unit 123 according to the embodiment.

以下の説明は、携帯端末100の格納部123にアプリリソース1200a、1200b及びランタイム1300が格納されていることを想定する。   In the following description, it is assumed that the application resources 1200 a and 1200 b and the runtime 1300 are stored in the storage unit 123 of the mobile terminal 100.

図9に示すように、先ず、アプリ起動指示受付部110は、例えばアプリサーバ200から送信されたアプリケーション(ここでは、アプリリソース1200aのアプリケーションとする)の起動指示を受け付けたかどうか判断する(ステップS101)。アプリサーバ200からアプリリソース1200aが送信されるときに、アプリケーションの起動指示を受け付けたと判断しても良い。   As illustrated in FIG. 9, first, the application activation instruction reception unit 110 determines whether an activation instruction for an application (here, the application of the application resource 1200a) transmitted from the application server 200 has been received (step S101). ). When the application resource 1200a is transmitted from the application server 200, it may be determined that an application activation instruction has been received.

ここで、アプリケーションの起動指示を受け付けたと判断されたら(ステップS101のYes)、アプリ起動指示受付部110は、ランチャー部111にアプリ実行指示を出力する(ステップS102)。   If it is determined that an application activation instruction has been received (Yes in step S101), the application activation instruction reception unit 110 outputs an application execution instruction to the launcher unit 111 (step S102).

一方、アプリケーションの起動指示を受け付けたと判断しなければ(ステップS101のNo)、アプリ起動指示受付部110は、アプリケーションの起動指示を受け付けたかどうかの判断を継続する(ステップS101)。   On the other hand, if it is not determined that an application activation instruction has been received (No in step S101), the application activation instruction reception unit 110 continues to determine whether an application activation instruction has been received (step S101).

次に、ランチャー部111は、アプリ起動指示受付部110からのアプリ実行指示に基づき、指定されたアプリリソース1200aのファイル名を引数として、ランタイム1300の起動指示を出力する(ステップS103)。   Next, the launcher unit 111 outputs an activation instruction for the runtime 1300 based on the application execution instruction from the application activation instruction receiving unit 110, with the file name of the designated application resource 1200a as an argument (step S103).

さらに、ランチャー部111は、指定されたアプリリソース1200aを復号化する為の鍵を鍵管理部120に要求する(ステップS107)。   Further, the launcher unit 111 requests the key management unit 120 for a key for decrypting the designated application resource 1200a (step S107).

次に、メモリ管理部112は、ランタイム1300及びアプリリソース1200aを実行するためのプロセス空間M1をメインメモリ102に生成する(ステップS104)。   Next, the memory management unit 112 generates a process space M1 for executing the runtime 1300 and the application resource 1200a in the main memory 102 (step S104).

次に、ランタイム読み込み部113は、メモリ管理部112により生成されたプロセス空間M1に、格納部123に格納されたランタイム1300を読み込む(ステップS105)。これにより、プロセス空間M1にランタイム1300のプロセスが生成される。   Next, the runtime reading unit 113 reads the runtime 1300 stored in the storage unit 123 into the process space M1 generated by the memory management unit 112 (step S105). As a result, a process of the runtime 1300 is generated in the process space M1.

次に、アプリリソース読み込み部114は、ランタイム1300が読み込まれたプロセス空間M1に、さらにアプリリソース1200aを読み込む(ステップS106)。   Next, the application resource reading unit 114 further reads the application resource 1200a into the process space M1 in which the runtime 1300 has been read (step S106).

そして、これらと並行して、鍵管理部120は、ランチャー部111からの要求に基づき、アプリリソース1200aを復号化する為の鍵を鍵ストア124から取得する(ステップS108)。さらに、鍵管理部120は、鍵ストア124から取得した鍵を暗号化する。暗号化された鍵は、例えばOS1100のプロセス間通信の機能を利用して、復号化部115に引き渡される。暗号化の方式は、特に限定されるものではない。   In parallel with these, the key management unit 120 acquires a key for decrypting the application resource 1200a from the key store 124 based on the request from the launcher unit 111 (step S108). Further, the key management unit 120 encrypts the key acquired from the key store 124. The encrypted key is delivered to the decryption unit 115 using the inter-process communication function of the OS 1100, for example. The encryption method is not particularly limited.

次に、復号化部115は、鍵管理部120から引き渡された鍵を復号化するとともに(ステップS109)、復号化された鍵を用いて、プロセス空間M1に読み込まれたアプリリソース1200aを復号化する(ステップS110)。即ち、アプリリソース1200aは、プロセス空間M1に読み込まれた後に復号化(平文化)される。   Next, the decryption unit 115 decrypts the key delivered from the key management unit 120 (step S109), and decrypts the application resource 1200a read into the process space M1 using the decrypted key. (Step S110). That is, the application resource 1200a is decrypted (plain culture) after being read into the process space M1.

次に、プロセス生成部116は、復号化部115により復号化されたアプリリソース1200a及びランタイム1300を一体化してコンパイルすることで、プロセス空間M1に、アプリケーションプログラム1400aのプロセスP1を生成する(ステップS111)。   Next, the process generation unit 116 generates the process P1 of the application program 1400a in the process space M1 by integrating and compiling the application resource 1200a and the runtime 1300 decrypted by the decryption unit 115 (step S111). ).

プロセスP1は、アプリリソース1200a及びランタイム1300により構成されるハイブリッドアプリとしてのアプリケーションプログラム1400aのプロセスである。しかし、OS1100は、アプリリソース1200aを単なるデータとして認識するため、プロセスP1をランタイム1300のプロセスであると認識する。   The process P1 is a process of the application program 1400a as a hybrid application configured by the application resource 1200a and the runtime 1300. However, since the OS 1100 recognizes the application resource 1200a as simple data, the OS 1100 recognizes the process P1 as a process of the runtime 1300.

次に、プロセス実行部117は、アプリケーションプログラム1400aのプロセスP1を実行する(ステップS112)。   Next, the process execution unit 117 executes the process P1 of the application program 1400a (step S112).

次に、アクセス管理部118は、プロセス実行部117により実行されるプロセスP1が、格納部123に格納されたファイルへのアクセスを伴うものか判断する(ステップS113)。   Next, the access management unit 118 determines whether the process P1 executed by the process execution unit 117 accompanies access to the file stored in the storage unit 123 (step S113).

ここで、プロセスP1がアプリリソース(例えばアイコン画像など)へのアクセスを伴うものであると判断されたら(ステップS113のYes)、アクセス管理部118は、アクセス権テーブルTのアクセス権を参照して、ファイルへのアクセスを許可するかどうか判断する(ステップS114)。   Here, if it is determined that the process P1 involves access to an application resource (for example, an icon image) (Yes in step S113), the access management unit 118 refers to the access right in the access right table T. Whether to permit access to the file is determined (step S114).

一方、プロセスP1がアプリリソースへのアクセスを伴うものであると判断されなければ(ステップS113のNo)、プロセス実行部117は、アプリケーションプログラム1400aのプロセスP1の実行を継続する(ステップS112)。   On the other hand, if it is not determined that the process P1 accompanies access to the application resource (No in step S113), the process execution unit 117 continues to execute the process P1 of the application program 1400a (step S112).

プロセスP1がアプリリソースへのアクセスを伴うものであると判断され(ステップS113のYes)、かつ、アプリリソースへのアクセスを許可すると判断された場合(ステップS114のYes)、プロセス実行部117は、アプリリソースへのアクセス、例えば格納部123に格納されたアプリリソースへの読み込み/書き込み/実行の何れかを実行する(ステップS115)。   If it is determined that the process P1 involves access to the application resource (Yes in step S113) and it is determined that access to the application resource is permitted (Yes in step S114), the process execution unit 117 Access to the application resource, for example, reading / writing / execution of the application resource stored in the storage unit 123 is executed (step S115).

本実施形態にかかる携帯端末100は、アプリケーションの実行ごとに、以上の一連の処理を実施する。このため、例えばアプリケーションプログラム1400aのプロセスP1の生成後に、別のアプリケーション(ここでは、アプリリソース1200bのアプリケーションとする)が実行された場合、さらにアプリケーションプログラム1400bのプロセスP2が生成される。しかも、アプリケーションプログラム1400a、1400bのプロセスP1、P2は、何れもランタイム1300のプロセスと認識される。   The mobile terminal 100 according to the present embodiment performs the series of processes described above every time the application is executed. For this reason, for example, when another application (here, an application of the application resource 1200b) is executed after the generation of the process P1 of the application program 1400a, a process P2 of the application program 1400b is further generated. Moreover, the processes P1 and P2 of the application programs 1400a and 1400b are all recognized as processes of the runtime 1300.

従って、プロセスP1及びプロセスP2は、図10に矢印Aで示すように、格納部123のデータ領域Rdに格納されたアプリリソース1200a、1200bの双方へのアクセスが許可される。これを放置すると、例えばプロセスP1が悪意のあるプロセスである場合、該プロセスP1が、格納部123に格納されたアプリリソース1200bに不正アクセスして、該アプリリソース1200bを改竄するようなことも起こり得る。   Therefore, the process P1 and the process P2 are permitted to access both the application resources 1200a and 1200b stored in the data area Rd of the storage unit 123, as indicated by an arrow A in FIG. If this is left as it is, for example, if the process P1 is a malicious process, the process P1 may illegally access the application resource 1200b stored in the storage unit 123 and falsify the application resource 1200b. obtain.

そこで、本実施形態では、格納部123のデータ領域Rdに格納されたアプリリソース1200a、1200bを、互いに異なる鍵で別個に暗号化している。しかも、プロセスP1は、自身のアプリリソース1200aを復号化する為の鍵しか持たず、プロセスP2は、自身のアプリリソース1200bを復号化する為の鍵しか持たない。   Therefore, in the present embodiment, the application resources 1200a and 1200b stored in the data area Rd of the storage unit 123 are separately encrypted with different keys. Moreover, the process P1 has only a key for decrypting its own application resource 1200a, and the process P2 has only a key for decrypting its own application resource 1200b.

このため、プロセスP1は、格納部123のデータ領域Rdに格納されたアプリリソース1200bへの読み込み/書き込み/実行の何れも行うことができない。同様に、プロセス2は、格納部123のデータ領域Rdに格納されたアプリリソース1200aへの読み込み/書き込み/実行の何れも行うことができない。   For this reason, the process P1 cannot perform any of reading / writing / execution to the application resource 1200b stored in the data area Rd of the storage unit 123. Similarly, the process 2 cannot perform any of reading / writing / execution to the application resource 1200a stored in the data area Rd of the storage unit 123.

これにより、携帯端末100にダウンロードしたアプリリソースが、携帯端末100内で悪意ある動作をするものであっても、格納部123のデータ領域Rdに格納されたアプリリソース1200a、1200bを、例えば不正アクセスなどの脅威から保護することができる。   As a result, even if the application resource downloaded to the mobile terminal 100 performs a malicious operation within the mobile terminal 100, the application resources 1200a and 1200b stored in the data area Rd of the storage unit 123 are illegally accessed, for example. Can protect against such threats.

また、アプリリソース読み込み部114は、ランタイム1300のプロセスとして、アプリリソース1200a、1200bの読み込みを実行する。このため、ランタイム1300のプロセスは、図11に矢印Bで示すように、格納部123のデータ領域Rdに格納されたアプリリソース1200a、1200bの双方へのアクセスが許可される。   Further, the application resource reading unit 114 executes reading of the application resources 1200a and 1200b as a process of the runtime 1300. Therefore, the process of the runtime 1300 is permitted to access both of the application resources 1200a and 1200b stored in the data area Rd of the storage unit 123 as indicated by an arrow B in FIG.

ところが、本実施形態では、前述のように、格納部123のデータ領域Rdに格納されたアプリリソース1200a、1200bを、互いに異なる鍵で別個に暗号化している。しかも、ランタイム1300のプロセスは、指定されたアプリリソース1200aもしくは1200bを復号化する為の鍵しか持たない。   However, in the present embodiment, as described above, the application resources 1200a and 1200b stored in the data area Rd of the storage unit 123 are separately encrypted with different keys. Moreover, the process of the runtime 1300 has only a key for decrypting the designated application resource 1200a or 1200b.

このため、アプリリソース1200aを引数として起動されたランタイム1300のプロセスは、格納部123のデータ領域Rdに格納されたアプリリソース1200bへの読み込みを行うことができない。同様に、アプリリソース1200bを引数として起動されたランタイム1300のプロセスは、格納部123のデータ領域Rdに格納されたアプリリソース1200aへの読み込みを行うことができない。   For this reason, the process of the runtime 1300 activated with the application resource 1200 a as an argument cannot read into the application resource 1200 b stored in the data area Rd of the storage unit 123. Similarly, the process of the runtime 1300 activated with the application resource 1200b as an argument cannot read the application resource 1200a stored in the data area Rd of the storage unit 123.

これにより、携帯端末100がアプリケーションプログラム1400aを実行しようとしたときに、ランタイム1300のプロセスが、格納部123のデータ領域Rdに格納されたアプリリソース1200bを読み込むことがない。逆に、携帯端末100がアプリケーションプログラム1400bを実行しようとしたときに、ランタイム1300のプロセスが、格納部123のデータ領域Rdに格納されたアプリリソース1200aを読み込むことがない。即ち、本実施形態にかかる携帯端末100は、指定されたアプリケーションを、確実に実行することができる。   Thereby, when the mobile terminal 100 tries to execute the application program 1400a, the process of the runtime 1300 does not read the application resource 1200b stored in the data area Rd of the storage unit 123. Conversely, when the mobile terminal 100 tries to execute the application program 1400b, the process of the runtime 1300 does not read the application resource 1200a stored in the data area Rd of the storage unit 123. That is, the mobile terminal 100 according to the present embodiment can reliably execute the designated application.

本実施形態によれば、アプリサーバ200からアプリリソース1200a、1200bをダウンロードして、携帯端末100にプレインストールされたランタイム1300上で実行することで、アプリケーションプログラム1400a、1400bのプロセスP1、P2を生成している。   According to the present embodiment, the application resources 1200a and 1200b are downloaded from the application server 200 and executed on the runtime 1300 preinstalled in the mobile terminal 100, thereby generating the processes P1 and P2 of the application programs 1400a and 1400b. doing.

このため、アプリサーバ200からダウンロードするデータ量を、ランタイム1300の分量だけ削減することができる。しかも、携帯端末100は、アプリリソース1200a、1200bをアプリケーションプログラムとして認識しないので、アプリリソース1200a、1200bをダウンロードする際に、携帯端末100の利用者への確認表示(同意ボタンなど)が発生することがない。従って、携帯端末100の利用者への煩わしさ感の低減と、携帯端末100の保存領域の非効率な消費と、を実現することができる。   Therefore, the amount of data downloaded from the application server 200 can be reduced by the amount of the runtime 1300. Moreover, since the mobile terminal 100 does not recognize the application resources 1200a and 1200b as application programs, when the application resources 1200a and 1200b are downloaded, a confirmation display (such as an agreement button) to the user of the mobile terminal 100 occurs. There is no. Therefore, it is possible to realize a reduction in annoyance to the user of the mobile terminal 100 and inefficient consumption of the storage area of the mobile terminal 100.

さらに、本実施形態によれば、アプリリソース1200a、1200bを実行するたびに、互いに隔離されたプロセス空間M1、M2を生成して、それぞれのプロセス空間M1、M2にランタイム1300及びアプリリソース1200a、1200bを1つずつ読み込む。即ち、プロセス空間M1、M2に複数のアプリリソース1200a、1200bが読み込まれることがない。このため、複数のアプリリソース1200a、1200b同士がプロセス空間M1、M2内で干渉することがない。   Furthermore, according to the present embodiment, each time the application resources 1200a and 1200b are executed, the process spaces M1 and M2 that are isolated from each other are generated, and the runtime 1300 and the application resources 1200a and 1200b are generated in the process spaces M1 and M2, respectively. Are read one by one. That is, a plurality of application resources 1200a and 1200b are not read into the process spaces M1 and M2. For this reason, a plurality of application resources 1200a and 1200b do not interfere with each other in the process spaces M1 and M2.

また、本実施形態によれば、格納部123のデータ領域Rdに格納されたアプリリソース1200a、1200bを、互いに異なる鍵で別個に暗号化している。しかも、それぞれのプロセスP1、P2は、自身のアプリリソース1200a、1200bを復号化する為の鍵しか与えられない。このため、プロセスP1、P2は、格納部123のデータ領域Rdに格納されたアプリリソースのうち、自身のアプリリソースしかアクセスすることができない。これにより、携帯端末100の格納部123に格納されたアプリリソース1200a、1200bを、例えば悪意あるアプリリソースに起因する不正アクセスなどの脅威から保護することができる。   Further, according to the present embodiment, the application resources 1200a and 1200b stored in the data area Rd of the storage unit 123 are separately encrypted with different keys. Moreover, each process P1, P2 is only given a key for decrypting its own application resources 1200a, 1200b. For this reason, the processes P1 and P2 can access only their own application resources among the application resources stored in the data area Rd of the storage unit 123. Thereby, the application resources 1200a and 1200b stored in the storage unit 123 of the mobile terminal 100 can be protected from threats such as unauthorized access due to malicious application resources, for example.

しかも、ランタイム1300により実現されるアプリリソース読み込み部114、復号化部115、プロセス生成部116と、アプリマネージャー1500により実現されるランチャー部111及びダウンロード部121と、鍵マネージャー1600により実現される鍵管理部120と、を追加するだけで(即ち、既存のOS1100を利用したまま)、前述の機能を得ることができる。   Moreover, the application resource reading unit 114, the decryption unit 115, the process generation unit 116 realized by the runtime 1300, the launcher unit 111 and the download unit 121 realized by the application manager 1500, and the key management realized by the key manager 1600. The above-described functions can be obtained only by adding the unit 120 (that is, while using the existing OS 1100).

(変形例)
図12は、一実施形態の変形例にかかる情報処理システムの概略図である。
(Modification)
FIG. 12 is a schematic diagram of an information processing system according to a modification of the embodiment.

前述の実施形態では、アプリサーバ200がアプリリソースを格納する機能及びアプリリソースをプッシュする機能を備えていたが、本発明は、これに限定されるものではない。   In the above-described embodiment, the application server 200 has a function of storing application resources and a function of pushing application resources. However, the present invention is not limited to this.

例えば、図12に示すように、アプリサーバ200の代わりに、アプリリソースを格納する機能及びアプリリソースをプッシュする機能を備えていないアプリサーバ200Aを用いても良い。この場合、アプリリソースを格納する格納部218を備えるアプリストア400と、アプリリソースのプッシュを制御するプッシュ制御部216を備えるプッシュサーバ500と、を別途に用意して、それぞれネットワーク300で接続すれば良い。   For example, as shown in FIG. 12, instead of the application server 200, an application server 200A that does not have a function for storing application resources and a function for pushing application resources may be used. In this case, if an application store 400 including a storage unit 218 for storing application resources and a push server 500 including a push control unit 216 for controlling the push of application resources are separately prepared and connected via the network 300, respectively. good.

100: 携帯端末(情報処理装置)
102: メインメモリ(メモリ)
112: メモリ管理部
113: ランタイム読み込み部
114: アプリリソース読み込み部
115: 復号化部
116: プロセス生成部
117: プロセス実行部
120: 鍵管理部
123: 格納部
124: 鍵ストア
200: アプリサーバ
200A: アプリサーバ
300: ネットワーク
400: アプリストア
500: プッシュサーバ
M1: プロセス空間
M2: プロセス空間
P1: プロセス
P2: プロセス
1200a: アプリリソース
1200b: アプリリソース
1300: ランタイム
100: Mobile terminal (information processing device)
102: Main memory (memory)
112: Memory management unit 113: Runtime reading unit 114: Application resource reading unit 115: Decryption unit 116: Process generation unit 117: Process execution unit 120: Key management unit 123: Storage unit 124: Key store 200: Application server 200A: Application server 300: Network 400: App store 500: Push server M1: Process space M2: Process space P1: Process P2: Process 1200a: Application resource 1200b: Application resource 1300: Runtime

Claims (8)

複数の異なるアプリケーションプログラムに対する複数のアプリリソース及び前記複数のアプリリソースの各々に用いられるランタイムを格納する格納部と、
前記複数の異なるアプリケーションプログラムに含まれる各アプリケーションプログラムの起動指示ごとに、メモリ内に前記各アプリケーションプログラムの各々に対応した複数のプロセス空間を生成するメモリ管理部と、
前記ランタイムを前記複数のプロセス空間のそれぞれに読み込むランタイム読み込み部と、
前記各アプリケーションプログラムに対応した各アプリリソースを、前記ランタイムが読み込まれた複数のプロセス空間のうち対応するプロセス空間に読み込むアプリリソース読み込み部と、
前記複数のプロセス空間のそれぞれに読み込まれたアプリリソース及びランタイムから、前記各アプリケーションプログラムのプロセスを生成するプロセス生成部と、
前記複数のプロセス空間上で生成された前記各アプリケーションプログラムのプロセスを実行するプロセス実行部と、
を備え、前記ランタイムは、オペレーティングシステムが解釈及び実行可能なネイティブアプリケーションプログラムであり、前記複数のアプリケーションプログラムの各々は、前記ランタイムと、前記ランタイムが解釈可能なリソースとで構成されたハイブリッドアプリケーションプログラムであり、前記アプリケーションプログラムをダウンロードする際にユーザへの確認表示の生成処理を実行し、前記複数のアプリリソースをダウンロードする際、前記確認表示の前記生成処理を実行しない情報処理装置。
A storage unit for storing a plurality of application resources for a plurality of different application programs and a runtime used for each of the plurality of application resources;
A memory management unit that generates a plurality of process spaces corresponding to each of the application programs in a memory for each start instruction of each application program included in the plurality of different application programs;
A runtime loading unit for loading the runtime into each of the plurality of process spaces;
An application resource reading unit that reads each application resource corresponding to each application program into a corresponding process space among a plurality of process spaces loaded with the runtime;
A process generation unit for generating a process of each application program from an application resource and a runtime read in each of the plurality of process spaces;
A process execution unit for executing processes of the application programs generated on the plurality of process spaces;
The runtime is a native application program that can be interpreted and executed by an operating system, and each of the plurality of application programs is a hybrid application program that includes the runtime and resources that the runtime can interpret. An information processing apparatus that executes a generation process of confirmation display to a user when downloading the application program and does not execute the generation process of the confirmation display when downloading the plurality of application resources.
請求項1に記載の情報処理装置に於いて、
前記格納部は、暗号化されたアプリリソースを格納し、
前記アプリリソース読み込み部は、前記ランタイムが読み込まれたプロセス空間に、前記暗号化されたアプリリソースを読み込み、
前記情報処理装置は、さらに、
前記暗号化されたアプリリソースを復号化するための鍵を管理する鍵管理部と、
前記プロセス空間に読み込まれた前記暗号化されたアプリリソースを、前記鍵を用いて復号化する復号化部と、を備える情報処理装置。
In the information processing apparatus according to claim 1,
The storage unit stores encrypted application resources,
The app resource reading unit reads the encrypted app resource into the process space in which the runtime is read,
The information processing apparatus further includes:
A key management unit for managing a key for decrypting the encrypted application resource;
An information processing apparatus comprising: a decryption unit that decrypts the encrypted application resource read into the process space using the key.
請求項2に記載の情報処理装置に於いて、
前記鍵管理部は、前記鍵を暗号化して、前記復号化部に引き渡し、
前記復号化部は、前記鍵管理部から引き渡された鍵を復号化するとともに、前記復号化された鍵を用いて、前記プロセス空間に読み込まれた前記暗号化されたアプリリソースを復号化する情報処理装置。
In the information processing apparatus according to claim 2,
The key management unit encrypts the key and passes it to the decryption unit,
The decryption unit decrypts the key delivered from the key management unit, and decrypts the encrypted application resource read into the process space using the decrypted key. Processing equipment.
請求項3に記載の情報処理装置に於いて、さらに、
前記各アプリケーションプログラムの起動指示に基づき、前記鍵管理部に前記鍵を要求する鍵要求部を備え、
前記鍵管理部は、前記鍵要求部から前記鍵を要求されたことを契機に、前記鍵を前記復号化部に引き渡す情報処理装置。
The information processing apparatus according to claim 3, further comprising:
A key request unit that requests the key to the key management unit based on an activation instruction of each application program,
The key management unit is an information processing apparatus that delivers the key to the decryption unit when the key request unit requests the key.
請求項2乃至4の何れかに記載の情報処理装置に於いて、
前記格納部は、互いに異なる鍵を用いて暗号化された複数のアプリリソースを格納する情報処理装置。
In the information processing apparatus according to any one of claims 2 to 4,
The storage unit is an information processing apparatus that stores a plurality of application resources encrypted using different keys.
コンピュータが実行する情報処理方法に於いて、
複数の異なるアプリケーションプログラムに含まれる各アプリケーションプログラムの起動指示ごとに、メモリ内に前記各アプリケーションプログラムに対応した複数のプロセス空間を生成する工程と、
前記複数の異なるアプリケーションプログラムに対する複数のアプリリソース及び前記複数のアプリリソースの各々に用いられるランタイムを格納する格納部から、前記複数のプロセス空間のそれぞれに前記ランタイムを読み込む工程と、
前記各アプリケーションプログラムに対応した各アプリリソースを、前記ランタイムが読み込まれた前記複数のプロセス空間のうち対応するプロセス空間に読み込む工程と、
前記複数のプロセス空間のそれぞれに読み込まれたアプリリソース及びランタイムから、前記各アプリケーションプログラムのプロセスを生成する工程と、
前記複数のプロセス空間上で生成された前記各アプリケーションプログラムのプロセスを実行する工程と、
を備え、前記ランタイムは、オペレーティングシステムが解釈及び実行可能なネイティブアプリケーションプログラムであり、前記複数のアプリケーションプログラムの各々は、前記ランタイムと、前記ランタイムが解釈可能なリソースとで構成されたハイブリッドアプリケーションプログラムであり、前記アプリケーションプログラムをダウンロードする際にユーザへの確認表示の生成処理を実行し、前記複数のアプリリソースをダウンロードする際、前記確認表示の前記生成処理を実行しない情報処理方法。
In an information processing method executed by a computer,
Generating a plurality of process spaces corresponding to each application program in a memory for each start instruction of each application program included in a plurality of different application programs;
Loading the runtime into each of the plurality of process spaces from a storage unit storing a plurality of application resources for the plurality of different application programs and a runtime used for each of the plurality of application resources;
Loading each application resource corresponding to each application program into a corresponding process space among the plurality of process spaces loaded with the runtime;
Generating a process for each application program from an application resource and a runtime read into each of the plurality of process spaces;
Executing the process of each application program generated on the plurality of process spaces;
The runtime is a native application program that can be interpreted and executed by an operating system, and each of the plurality of application programs is a hybrid application program that includes the runtime and resources that the runtime can interpret. An information processing method that executes a generation process of confirmation display to a user when downloading the application program and does not execute the generation process of the confirmation display when downloading the plurality of application resources.
請求項6に記載の情報処理方法に於いて、
前記アプリリソースを読み込む工程では、暗号化されたアプリリソースを前記プロセス空間に読み込み、
前記情報処理方法は、さらに、
前記プロセス空間に読み込まれたアプリリソースを復号化する工程を備える情報処理方法。
In the information processing method according to claim 6,
In the step of reading the application resource, the encrypted application resource is read into the process space,
The information processing method further includes:
An information processing method comprising a step of decrypting an application resource read into the process space.
アプリケーションプログラムをダウンロードする際にユーザへの確認表示の生成処理を実行する情報処理装置のプロセッサに実行させるプログラムに於いて、
前記プロセッサに、
複数の異なる前記アプリケーションプログラムに含まれる各アプリケーションプログラムの起動指示ごとに、メモリ内に前記各アプリケーションプログラムに対応した複数のプロセス空間を生成し、
前記複数の異なるアプリケーションプログラムに対する複数のアプリリソース及び前記複数のアプリリソースの各々に用いられるランタイムを格納する格納部から、前記複数のプロセス空間のそれぞれに前記ランタイムを読み込ませ、
前記各アプリケーションプログラムに対応した各アプリリソースを、前記ランタイムが読み込まれた前記複数のプロセス空間のうち対応するプロセス空間に読み込ませ、
前記複数のプロセス空間のそれぞれに読み込ませたアプリリソース及びランタイムから、前記各アプリケーションプログラムのプロセスを生成させ、
前記複数のプロセス空間上で生成された前記各アプリケーションプログラムのプロセスを実行させ、前記ランタイムは、オペレーティングシステムが解釈及び実行可能なネイティブアプリケーションプログラムであり、前記複数のアプリケーションプログラムの各々は、前記ランタイムと、前記ランタイムが解釈可能なリソースとで構成されたハイブリッドアプリケーションプログラムであり、前記アプリケーションプログラムに対するアプリリソースがダウンロードされる際にユーザへの前記確認表示の前記生成処理が実行されない、プログラム。
In a program to be executed by a processor of an information processing apparatus that executes a generation process of confirmation display to a user when an application program is downloaded,
In the processor,
For each start instruction of each application program included in a plurality of different application programs, generate a plurality of process spaces corresponding to each application program in the memory,
A plurality of application resources for the plurality of different application programs and a storage unit storing a runtime used for each of the plurality of application resources, the runtime is read into each of the plurality of process spaces;
Each application resource corresponding to each application program is loaded into a corresponding process space among the plurality of process spaces loaded with the runtime,
From the application resource and runtime loaded in each of the plurality of process spaces, the process of each application program is generated,
A process of each of the application programs generated on the plurality of process spaces is executed, and the runtime is a native application program that can be interpreted and executed by an operating system, and each of the plurality of application programs includes the runtime and A hybrid application program configured with resources that can be interpreted by the runtime, and the generation process of the confirmation display to the user is not executed when an application resource for the application program is downloaded.
JP2018021630A 2018-02-09 2018-02-09 INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND PROGRAM Expired - Fee Related JP6547865B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018021630A JP6547865B2 (en) 2018-02-09 2018-02-09 INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018021630A JP6547865B2 (en) 2018-02-09 2018-02-09 INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND PROGRAM

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012124554A Division JP2013250739A (en) 2012-05-31 2012-05-31 Information processor, information processing method and program

Publications (2)

Publication Number Publication Date
JP2018097898A true JP2018097898A (en) 2018-06-21
JP6547865B2 JP6547865B2 (en) 2019-07-24

Family

ID=62632941

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018021630A Expired - Fee Related JP6547865B2 (en) 2018-02-09 2018-02-09 INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND PROGRAM

Country Status (1)

Country Link
JP (1) JP6547865B2 (en)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
吉岡 梅, FLASH CS5.5ではじめる IPHONE/ANDROIDアプリ開発入門, vol. 第1版, JPN6016003293, 25 June 2011 (2011-06-25), pages 第10−13頁 *
海上 忍: "著作権の基礎知識から最新の音楽・動画の楽しみ方まで デジタル著作権の正体", MAC FAN, vol. 第16巻 第11号, JPN6016003294, 1 November 2008 (2008-11-01), JP, pages 第72−77頁 *

Also Published As

Publication number Publication date
JP6547865B2 (en) 2019-07-24

Similar Documents

Publication Publication Date Title
US9230085B1 (en) Network based temporary trust extension to a remote or mobile device enabled via specialized cloud services
US10521214B2 (en) Methods and systems for upgrade and synchronization of securely installed applications on a computing device
EP2859498B1 (en) Trusted security zone access to peripheral devices
JP5576983B2 (en) Secure boot and configuration of subsystems from non-local storage
US9330253B2 (en) Apparatus and method for processing application package in portable terminal
EP2669838B1 (en) Information processing apparatus and information processing method
JP6858256B2 (en) Payment application separation methods and devices, as well as terminals
JP5920021B2 (en) Control program and terminal
CN103890717A (en) Providing a function of a basic input/output system (BIOS) in a privileged domain
US10592680B2 (en) Data accessibility control
JP2005159905A (en) Data storing device and communication terminal
US11233661B2 (en) Device and method for authenticating application in execution environment in trust zone
EP2533150B1 (en) Methods and devices for controlling access to computing resources
KR101223981B1 (en) Virtualization apparatus and server for securly executing applications and method therefor
CN112416622A (en) Clipboard data protection method and device, computer equipment and storage medium
JP6547865B2 (en) INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND PROGRAM
CN110140124B (en) Packet applications share data using the same key
JP2009169868A (en) Storage area access device and method for accessing storage area
US20240089259A1 (en) Remote authorization control system, resource access apparatus, authentication apparatus, remote authorization control method and program
KR101552556B1 (en) Method for Preventing Mobile Application Decompiled and Program Publishing Server for Storing Launcher therefor

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20180528

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181214

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: 20190528

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190610

R150 Certificate of patent or registration of utility model

Ref document number: 6547865

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees