Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7017161B2 - Programs, program execution methods, and terminal devices - Google Patents
[go: Go Back, main page]

JP7017161B2 - Programs, program execution methods, and terminal devices - Google Patents

Programs, program execution methods, and terminal devices Download PDF

Info

Publication number
JP7017161B2
JP7017161B2 JP2019511027A JP2019511027A JP7017161B2 JP 7017161 B2 JP7017161 B2 JP 7017161B2 JP 2019511027 A JP2019511027 A JP 2019511027A JP 2019511027 A JP2019511027 A JP 2019511027A JP 7017161 B2 JP7017161 B2 JP 7017161B2
Authority
JP
Japan
Prior art keywords
program
data
application
identification information
instruction
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.)
Expired - Fee Related
Application number
JP2019511027A
Other languages
Japanese (ja)
Other versions
JPWO2018185919A1 (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.)
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
Publication of JPWO2018185919A1 publication Critical patent/JPWO2018185919A1/en
Application granted granted Critical
Publication of JP7017161B2 publication Critical patent/JP7017161B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)

Description

本発明は、プログラム、プログラムの実行方法、および端末装置に関する。 The present invention relates to a program, a method of executing a program, and a terminal device.

従来、端末装置で動作するアプリケーションにプラグインを追加することにより、そのアプリケーションの機能拡張を行うことがある。 Conventionally, by adding a plug-in to an application running on a terminal device, the function of the application may be expanded.

先行技術としては、例えば、所定操作がなされた操作オブジェクトに対応する起動元プログラムの識別情報を取得し、その起動元プログラムの識別情報に基づき再生する動画を切り替えるものがある。また、例えば、シリアルコードを使用するユーザの属性情報を受け付けた場合、そのユーザの属性情報に予め対応付けられたリワードの特定情報を応答する技術がある。また、例えば、WebアプリケーションからWebAPIを介して取得されたOS機能の実行要求に含まれるWebAPIの識別情報を抽出し、抽出したWebAPIの識別情報と対応付いて格納された機能モジュールを実行する技術がある。 As the prior art, for example, there is a method in which the identification information of the activation source program corresponding to the operation object for which a predetermined operation is performed is acquired, and the moving image to be played is switched based on the identification information of the activation source program. Further, for example, when the attribute information of a user who uses a serial code is received, there is a technique of responding with specific information of a reward associated with the attribute information of the user in advance. Further, for example, a technology for extracting WebAPI identification information included in an OS function execution request acquired from a Web application via WebAPI and executing a function module stored in association with the extracted WebAPI identification information. be.

特開2016-45639号公報Japanese Unexamined Patent Publication No. 2016-45639 国際公開第2016/038989号International Publication No. 2016/038989 特開2014-215672号公報Japanese Unexamined Patent Publication No. 2014-215672

しかしながら、従来技術では、端末装置で動作するアプリケーションにプラグインを追加すると、そのアプリケーションのデータサイズが増大してしまい、そのアプリケーションの配信にかかる負担の増大化を招く。一方で、アプリケーションに外部アプリケーションからデータを取得させるなど、アプリケーションを外部アプリケーションと連携させることが難しく、外部アプリにより機能拡張を行うこともできない。 However, in the prior art, when a plug-in is added to an application running on a terminal device, the data size of the application increases, which increases the burden on the distribution of the application. On the other hand, it is difficult to link an application with an external application, such as having the application acquire data from an external application, and it is not possible to extend the function by the external application.

1つの側面では、本発明は、プログラム間で連携することができるプログラム、プログラムの実行方法、および端末装置を提供することを目的とする。 In one aspect, it is an object of the present invention to provide a program, a method of executing the program, and a terminal device that can be linked between the programs.

1つの実施態様によれば、端末装置上で動作する他のプログラムからの、指示識別情報を含む動作指示に応じて起動し、前記動作指示に対応した動作を実行し、前記動作にデータの出力が含まれる場合は、前記データと前記指示識別情報とを関連付けて前記他のプログラムが参照可能である記憶領域に保存する、前記端末装置上で動作するプログラムが提案される。 According to one embodiment, it is activated in response to an operation instruction including instruction identification information from another program operating on the terminal device, executes an operation corresponding to the operation instruction, and outputs data to the operation. If is included, a program running on the terminal device is proposed that associates the data with the instruction identification information and stores it in a storage area that can be referred to by the other program.

本発明の一態様によれば、プログラム間で連携することができるという効果を奏する。 According to one aspect of the present invention, there is an effect that the programs can be linked with each other.

図1は、実施の形態にかかるプログラムの実行方法の一実施例を示す説明図である。FIG. 1 is an explanatory diagram showing an embodiment of a method of executing a program according to an embodiment. 図2は、端末装置100のハードウェア構成例を示すブロック図である。FIG. 2 is a block diagram showing a hardware configuration example of the terminal device 100. 図3は、指示管理DB300の記憶内容の一例を示す説明図である。FIG. 3 is an explanatory diagram showing an example of the stored contents of the instruction management DB 300. 図4は、コンテンツDB400の記憶内容の一例を示す説明図である。FIG. 4 is an explanatory diagram showing an example of the stored contents of the content DB 400. 図5は、ファイルDB500の記憶内容の一例を示す説明図である。FIG. 5 is an explanatory diagram showing an example of the stored contents of the file DB 500. 図6は、端末装置100の機能的構成例を示すブロック図である。FIG. 6 is a block diagram showing a functional configuration example of the terminal device 100. 図7は、実施例1を示す説明図(その1)である。FIG. 7 is an explanatory diagram (No. 1) showing the first embodiment. 図8は、実施例1を示す説明図(その2)である。FIG. 8 is an explanatory diagram (No. 2) showing the first embodiment. 図9は、モバイルアプリ710によって実行する連携処理手順の一例を示すフローチャート(その1)である。FIG. 9 is a flowchart (No. 1) showing an example of the cooperation processing procedure executed by the mobile application 710. 図10は、モバイルアプリ710によって実行する連携処理手順の一例を示すフローチャート(その2)である。FIG. 10 is a flowchart (No. 2) showing an example of the cooperation processing procedure executed by the mobile application 710. 図11は、外部アプリ720によって実行する動作処理手順の一例を示すフローチャートである。FIG. 11 is a flowchart showing an example of an operation processing procedure executed by the external application 720.

以下に、図面を参照して、本発明にかかるプログラム、プログラムの実行方法、および端末装置の実施の形態を詳細に説明する。 Hereinafter, the program according to the present invention, the method of executing the program, and the embodiment of the terminal device will be described in detail with reference to the drawings.

(実施の形態にかかるプログラムの実行方法の一実施例)
図1は、実施の形態にかかるプログラムの実行方法の一実施例を示す説明図である。図1の例では、端末装置100は、自装置上で、複数のプログラムを動作させるコンピュータである。複数のプログラムは、例えば、複数のアプリケーションである。複数のアプリケーションは、例えば、モバイルアプリケーションと外部アプリケーションとを含む。
(Example of execution method of the program according to the embodiment)
FIG. 1 is an explanatory diagram showing an embodiment of a method of executing a program according to an embodiment. In the example of FIG. 1, the terminal device 100 is a computer that operates a plurality of programs on its own device. The plurality of programs are, for example, a plurality of applications. Multiple applications include, for example, mobile applications and external applications.

以下の説明では、モバイルアプリケーションを「モバイルアプリ」と表記する場合がある。以下の説明では、外部アプリケーションを「外部アプリ」と表記する場合がある。端末装置100は、例えば、スマートフォンやタブレット端末などである。 In the following description, a mobile application may be referred to as a "mobile application". In the following description, an external application may be referred to as an "external application". The terminal device 100 is, for example, a smartphone or a tablet terminal.

ここで、スマートフォンなどに予め導入され、または配信され、スマートフォンなどで動作するモバイルアプリについて機能拡張を行うことが望まれる場合がある。例えば、モバイルアプリにプラグインを追加することにより、そのモバイルアプリの機能拡張を行ったうえで、スマートフォンなどにそのモバイルアプリを配信することが考えられる。 Here, it may be desired to expand the functions of a mobile application that has been introduced or distributed in advance on a smartphone or the like and operates on the smartphone or the like. For example, it is conceivable to add a plug-in to a mobile application to expand the function of the mobile application and then distribute the mobile application to a smartphone or the like.

しかしながら、この場合では、モバイルアプリにプラグインを追加することにより、モバイルアプリのデータサイズの増大化を招いてしまう。また、プラグインを変更すると、モバイルアプリのデータサイズの増大化を招いてしまうことがある。このため、モバイルアプリを配信する際に、スマートフォンなどにかかる通信負担の増大化を招いてしまう。 However, in this case, adding a plug-in to the mobile application causes an increase in the data size of the mobile application. Also, changing the plugin may lead to an increase in the data size of the mobile app. For this reason, when the mobile application is distributed, the communication load on the smartphone or the like is increased.

また、この場合では、モバイルアプリに追加されたプラグインは、モバイルアプリにOS(Operating System)から割り当てられたメモリ容量を、モバイルアプリのメインルーチンなどと共通して使用することになる。このため、モバイルアプリが使用するメモリ容量が、モバイルアプリにOSから割り当てられたメモリ容量よりも大きくなり、メモリ容量が不足してしまう可能性がある。 Further, in this case, the plug-in added to the mobile application uses the memory capacity allocated to the mobile application from the OS (Operating System) in common with the main routine of the mobile application. Therefore, the memory capacity used by the mobile application may be larger than the memory capacity allocated to the mobile application from the OS, and the memory capacity may be insufficient.

これに対し、モバイルアプリを外部アプリと連携させることにより、モバイルアプリについて機能拡張を行う場合が考えられる。例えば、モバイルアプリが、URLスキーム(Uniform Resource Locator Scheme)を介して、バーコードリーダなどの外部アプリを起動する場合が考えられる。外部アプリが、URLスキームを介して、データをモバイルアプリに送信する場合が考えられる。 On the other hand, it is conceivable that the functions of the mobile application may be expanded by linking the mobile application with the external application. For example, a mobile application may activate an external application such as a barcode reader via a URL scheme (Uniform Resource Locator Scene). It is conceivable that the external application sends the data to the mobile application via the URL scheme.

しかしながら、この場合では、外部アプリが、URLスキームを用いるため、データをモバイルアプリに送信する都度、そのモバイルアプリをフォアグラウンドに移動してしまう。このため、外部アプリが、複数のデータをモバイルアプリに送信する際には、スマートフォンなどの利便性の低下を招いてしまう可能性がある。 However, in this case, since the external application uses the URL scheme, the mobile application is moved to the foreground each time the data is transmitted to the mobile application. Therefore, when the external application transmits a plurality of data to the mobile application, the convenience of the smartphone or the like may be reduced.

例えば、利用者が外部アプリに複数のデータを1つずつ読み取らせることが考えられるが、外部アプリは、データを読み取る都度、そのデータをモバイルアプリに送信し、バックグラウンドに移動してしまうことになる。このため、利用者は、外部アプリにデータを読み取らせる都度、外部アプリをフォアグラウンドに移動し直すことになり、スマートフォンなどの利便性は低下してしまう。 For example, it is conceivable that the user causes the external application to read multiple data one by one, but each time the external application reads the data, the external application sends the data to the mobile application and moves it to the background. Become. For this reason, the user has to move the external application back to the foreground each time the external application reads the data, which reduces the convenience of the smartphone or the like.

一方で、利用者が外部アプリに複数のデータを読み取らせた後に外部アプリがモバイルアプリに複数のデータをまとめて送信することが考えられるが、外部アプリは、複数のデータをいくつか読み取った時点で強制終了し、読み取ったデータを喪失することがある。このため、利用者は、外部アプリに複数のデータのいくつかを読み取らせた後、外部アプリが強制終了してしまうと、再び複数のデータを読み取らせることになり、スマートフォンなどの利便性は低下してしまう。 On the other hand, it is conceivable that the external application sends multiple data to the mobile application at once after the user has the external application read multiple data, but the external application reads some data. It may be forcibly terminated with and the read data may be lost. For this reason, the user will have the external application read some of the multiple data, and then if the external application is forcibly terminated, the user will be forced to read the multiple data again, reducing the convenience of smartphones and the like. Resulting in.

また、この場合では、モバイルアプリは、起動した外部アプリとは異なる不正アプリからでも、URLスキームを介して、データを受け取ってしまう可能性がある。このため、モバイルアプリが、スマートフォンなどのセキュリティの低下を招いてしまう可能性がある。 Further, in this case, the mobile application may receive data via the URL scheme even from a malicious application different from the launched external application. For this reason, mobile apps may reduce the security of smartphones and the like.

さらに、モバイルアプリが、外部アプリを起動する際に、モバイルアプリを識別する識別情報を外部アプリに渡しておき、受け取ったデータにその識別情報が付されていなければ、そのデータを破棄するようにする場合が考えられる。しかしながら、この場合であっても、モバイルアプリは、過去に外部アプリに渡した識別情報が不正アプリに流用された場合には、不正アプリからのデータを破棄することができない。 In addition, when the mobile app launches the external app, it passes the identification information that identifies the mobile app to the external app, and if the received data does not have that identification information, the data is discarded. It is possible that you will. However, even in this case, the mobile application cannot discard the data from the malicious application when the identification information passed to the external application in the past is diverted to the unauthorized application.

そこで、本実施の形態では、モバイルアプリがURLスキームを介して外部アプリに対して発行する指示に含まれ、その指示自体を識別する指示識別情報を利用することにより、アプリケーション間の連携を実現する外部アプリの実行方法について説明する。 Therefore, in the present embodiment, the mobile application is included in the instruction issued to the external application via the URL scheme, and the cooperation between the applications is realized by using the instruction identification information that identifies the instruction itself. Explain how to execute an external application.

図1の例では、端末装置100は、自装置上で、第1のアプリケーション101と第2のアプリケーション102とを動作可能である。第1のアプリケーション101は、モバイルアプリによって起動される外部アプリである。外部アプリは、例えば、バーコードリーダである。第2のアプリケーション102は、モバイルアプリである。 In the example of FIG. 1, the terminal device 100 can operate the first application 101 and the second application 102 on its own device. The first application 101 is an external application launched by the mobile application. The external application is, for example, a barcode reader. The second application 102 is a mobile application.

(1-1)第1のアプリケーション101は、第2のアプリケーション102からの、指示識別情報を含む動作指示に応じて起動する。例えば、モバイルアプリは、指示識別情報を含むURLスキームを実行することにより、OSを通じて外部アプリを起動する。これにより、外部アプリは、指示識別情報を取得することができる。 (1-1) The first application 101 is activated in response to an operation instruction including instruction identification information from the second application 102. For example, the mobile application launches an external application through the OS by executing a URL scheme that includes instruction identification information. As a result, the external application can acquire the instruction identification information.

(1-2)第1のアプリケーション101は、動作指示に対応した動作を実行する。外部アプリは、例えば、利用者の操作入力に基づいて、バーコードからデータを読み取る。これにより、外部アプリは、出力対象であり、モバイルアプリに取得させるデータを読み取ることができる。 (1-2) The first application 101 executes an operation corresponding to an operation instruction. The external application reads data from the barcode, for example, based on the user's operation input. As a result, the external application is the output target and can read the data to be acquired by the mobile application.

(1-3)第1のアプリケーション101は、動作にデータの出力が含まれる場合は、データと指示識別情報とを関連付けて第2のアプリケーション102が参照可能である記憶領域に保存する。外部アプリは、例えば、読み取ったデータを、動作指示に含まれる指示識別情報に関連付けてモバイルアプリが参照可能である記憶領域に保存する。 (1-3) When the operation includes the output of data, the first application 101 associates the data with the instruction identification information and stores the data in a storage area that can be referred to by the second application 102. The external application, for example, stores the read data in a storage area that can be referred to by the mobile application in association with the instruction identification information included in the operation instruction.

一方で、第2のアプリケーション102は、第1のアプリケーション101によって保存されたデータを記憶領域から読み出して取得することができ、そのデータを利用することができる。これにより、外部アプリは、モバイルアプリとの連携を実現し、モバイルアプリにプラグインを追加しなくても端末装置100の機能を増やすことができる。 On the other hand, the second application 102 can read the data stored by the first application 101 from the storage area and acquire the data, and can use the data. As a result, the external application can realize the cooperation with the mobile application and can increase the functions of the terminal device 100 without adding a plug-in to the mobile application.

また、端末装置100は、モバイルアプリと外部アプリとの連携によって、モバイルアプリのデータサイズの増大化を抑制することができる。そして、モバイルアプリの製作者は、外部アプリを変更して外部アプリのデータサイズを増大した場合でも、モバイルアプリを変更しなくてもよくモバイルアプリのデータサイズを増大させなくてよくなる。このため、製作者は、外部アプリを配信し直せば、モバイルアプリを配信し直さなくてもよく、端末装置100にかかる通信負担を低減することができる。同様に、製作者は、モバイルアプリを変更した場合でも、外部アプリを配信し直さなくてもよい。 Further, the terminal device 100 can suppress an increase in the data size of the mobile application by linking the mobile application and the external application. Then, the creator of the mobile application does not have to change the mobile application and does not have to increase the data size of the mobile application even if the external application is changed to increase the data size of the external application. Therefore, if the creator re-distributes the external application, the mobile application does not have to be re-distributed, and the communication load on the terminal device 100 can be reduced. Similarly, the creator does not have to redistribute the external app even if the mobile app is changed.

また、端末装置100は、OSによって、モバイルアプリと、外部アプリとに、それぞれ、メモリ容量を割り当てることができる。このため、端末装置100は、モバイルアプリが使用するメモリ容量が、モバイルアプリにOSから割り当てられたメモリ容量よりも大きくなり、メモリ容量が不足してしまう可能性を低減することができる。同様に、端末装置100は、外部アプリが使用するメモリ容量が、外部アプリにOSから割り当てられたメモリ容量よりも大きくなり、メモリ容量が不足してしまう可能性を低減することができる。 Further, the terminal device 100 can allocate memory capacity to the mobile application and the external application, respectively, depending on the OS. Therefore, the terminal device 100 can reduce the possibility that the memory capacity used by the mobile application becomes larger than the memory capacity allocated to the mobile application from the OS and the memory capacity becomes insufficient. Similarly, in the terminal device 100, the memory capacity used by the external application becomes larger than the memory capacity allocated to the external application from the OS, and the possibility that the memory capacity becomes insufficient can be reduced.

また、外部アプリは、データを取得する都度、そのデータを保存することができる。このため、外部アプリは、強制終了された場合であっても、データを喪失する可能性を低減することができる。また、外部アプリは、データを取得する都度、そのデータをモバイルアプリに送信しなくても、データを喪失する可能性を低減することができる。 In addition, the external application can save the data each time it acquires the data. Therefore, the external application can reduce the possibility of losing data even if it is forcibly terminated. In addition, the external application can reduce the possibility of losing the data without transmitting the data to the mobile application each time the data is acquired.

また、外部アプリは、データを取得する都度、そのデータをモバイルアプリに送信して、モバイルアプリをフォアグラウンドに移動させなくてもよい。このため、外部アプリは、利用者が複数のデータを連続して取得する操作入力を行おうとする場合に、データを取得する都度モバイルアプリをフォアグラウンドに移動してしまい利用者が操作入力を行いづらくしてしまう可能性を低減することができる。 In addition, the external application does not have to send the data to the mobile application each time the data is acquired to move the mobile application to the foreground. For this reason, when the user tries to input the operation to acquire multiple data in succession, the external application moves the mobile application to the foreground each time the data is acquired, which makes it difficult for the user to input the operation. It is possible to reduce the possibility of doing so.

(端末装置100のハードウェア構成例)
次に、図2を用いて、端末装置100のハードウェア構成例について説明する。
(Hardware configuration example of terminal device 100)
Next, a hardware configuration example of the terminal device 100 will be described with reference to FIG.

図2は、端末装置100のハードウェア構成例を示すブロック図である。図2において、端末装置100は、CPU(Central Processing Unit)201と、メモリ202と、ネットワークI/F(Interface)203と、記録媒体I/F204と、記録媒体205と、タッチパネル206とを有する。また、各構成部は、バス200によってそれぞれ接続される。 FIG. 2 is a block diagram showing a hardware configuration example of the terminal device 100. In FIG. 2, the terminal device 100 includes a CPU (Central Processing Unit) 201, a memory 202, a network I / F (Interface) 203, a recording medium I / F 204, a recording medium 205, and a touch panel 206. Further, each component is connected by a bus 200.

ここで、CPU201は、端末装置100の全体の制御を司る。メモリ202は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU201のワークエリアとして使用される。メモリ202に記憶されるプログラムは、CPU201にロードされることで、コーディングされている処理をCPU201に実行させる。 Here, the CPU 201 controls the entire terminal device 100. The memory 202 includes, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), a flash ROM, and the like. Specifically, for example, a flash ROM or ROM stores various programs, and RAM is used as a work area of CPU 201. The program stored in the memory 202 is loaded into the CPU 201 to cause the CPU 201 to execute the coded process.

ネットワークI/F203は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F203は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F203には、例えば、モデムやLANアダプタなどを採用することができる。 The network I / F 203 is connected to the network 210 through a communication line, and is connected to another computer via the network 210. Then, the network I / F 203 controls the internal interface with the network 210 and controls the input / output of data from another computer. For the network I / F 203, for example, a modem, a LAN adapter, or the like can be adopted.

記録媒体I/F204は、CPU201の制御に従って記録媒体205に対するデータのリード/ライトを制御する。記録媒体I/F204は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体205は、記録媒体I/F204の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体205は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体205は、端末装置100から着脱可能であってもよい。記録媒体205は、実施の形態にかかるアプリケーションを記憶してもよい。 The recording medium I / F 204 controls read / write of data to the recording medium 205 according to the control of the CPU 201. The recording medium I / F 204 is, for example, a disk drive, an SSD (Solid State Drive), a USB (Universal Serial Bus) port, or the like. The recording medium 205 is a non-volatile memory that stores data written under the control of the recording medium I / F 204. The recording medium 205 is, for example, a disk, a semiconductor memory, a USB memory, or the like. The recording medium 205 may be detachable from the terminal device 100. The recording medium 205 may store the application according to the embodiment.

タッチパネル206は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示するディスプレイを有する。タッチパネル206は、ディスプレイ上、または、ディスプレイ外周部に設けられ、タッチパネル206上のユーザの接触位置を検出する検出装置を有する。検出装置は、例えば、抵抗膜方式、静電容量方式、超音波方式、光学方式、または、電磁誘導方式などを用いて、接触位置を検出する。タッチパネル206は、ユーザの接触位置に応じて、文字、数字、各種指示などの入力を行う。 The touch panel 206 has a display for displaying data such as documents, images, and functional information, as well as a cursor, an icon, or a toolbox. The touch panel 206 is provided on the display or on the outer peripheral portion of the display, and has a detection device for detecting the contact position of the user on the touch panel 206. The detection device detects the contact position by using, for example, a resistance film method, a capacitance method, an ultrasonic method, an optical method, an electromagnetic induction method, or the like. The touch panel 206 inputs characters, numbers, various instructions, and the like according to the contact position of the user.

端末装置100は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイなどを有してもよい。また、端末装置100は、記録媒体I/F204や記録媒体205を有していなくてもよい。 In addition to the above-mentioned components, the terminal device 100 may include, for example, a keyboard, a mouse, a display, and the like. Further, the terminal device 100 does not have to have the recording medium I / F 204 or the recording medium 205.

(指示管理DB(DataBase)300の記憶内容)
次に、図3を用いて、モバイルアプリが参照可能な記憶領域に記憶される指示管理DB300の記憶内容について説明する。指示管理DB300は、例えば、図2に示した端末装置100のメモリ202や記録媒体205により実現される。
(Stored contents of instruction management DB (DataBase) 300)
Next, the storage contents of the instruction management DB 300 stored in the storage area that can be referred to by the mobile application will be described with reference to FIG. The instruction management DB 300 is realized, for example, by the memory 202 or the recording medium 205 of the terminal device 100 shown in FIG.

図3は、指示管理DB300の記憶内容の一例を示す説明図である。図3に示すように、指示管理DB300は、識別IDと、コンテンツIDと、ユーザIDと、データ格納先と、発行日時とのフィールドを有する。指示管理DB300は、動作指示ごとに各フィールドに情報を設定することにより、動作指示情報がレコードとして記憶される。 FIG. 3 is an explanatory diagram showing an example of the stored contents of the instruction management DB 300. As shown in FIG. 3, the instruction management DB 300 has fields for an identification ID, a content ID, a user ID, a data storage destination, and an issue date / time. The instruction management DB 300 stores the operation instruction information as a record by setting information in each field for each operation instruction.

識別IDのフィールドは、動作指示になるURLスキームを識別する識別IDが設定される。コンテンツIDのフィールドは、モバイルアプリが提供するコンテンツであって、そのURLスキームによって起動される外部アプリによって保存された1以上のデータを利用するコンテンツを識別するコンテンツIDが設定される。ユーザIDのフィールドは、モバイルアプリの利用者を識別するユーザIDが設定される。データ格納先のフィールドは、そのURLスキームによって起動される外部アプリがデータを保存する対象ファイルのパスが設定される。発行日時のフィールドは、そのURLスキームを作成した日時が設定される。 In the identification ID field, an identification ID that identifies the URL scheme that serves as an operation instruction is set. The content ID field is set to a content ID that identifies content that is provided by the mobile application and that uses one or more data stored by an external application activated by the URL scheme. In the user ID field, a user ID that identifies the user of the mobile application is set. In the data storage destination field, the path of the target file in which the external application activated by the URL scheme stores the data is set. The date and time when the URL scheme was created is set in the issue date and time field.

(コンテンツDB400の記憶内容)
次に、図4を用いて、モバイルアプリが参照可能な記憶領域に記憶されるコンテンツDB400の記憶内容について説明する。コンテンツDB400は、例えば、図2に示した端末装置100のメモリ202や記録媒体205により実現される。
(Stored content of content DB 400)
Next, the stored contents of the content DB 400 stored in the storage area that can be referred to by the mobile application will be described with reference to FIG. The content DB 400 is realized, for example, by the memory 202 and the recording medium 205 of the terminal device 100 shown in FIG.

図4は、コンテンツDB400の記憶内容の一例を示す説明図である。図4に示すように、コンテンツDB400は、コンテンツIDと、コンテンツ名と、ユーザIDと、データとのフィールドを有する。コンテンツDB400は、コンテンツごとに各フィールドに情報を設定することにより、コンテンツ情報がレコードとして記憶される。 FIG. 4 is an explanatory diagram showing an example of the stored contents of the content DB 400. As shown in FIG. 4, the content DB 400 has fields for a content ID, a content name, a user ID, and data. The content DB 400 stores the content information as a record by setting information in each field for each content.

コンテンツIDのフィールドは、モバイルアプリが提供するコンテンツであって、URLスキームによって起動される外部アプリによって保存された1以上のデータを利用するコンテンツを識別するコンテンツIDが設定される。コンテンツ名のフィールドは、そのコンテンツの名称が設定される。ユーザIDのフィールドは、モバイルアプリの利用者を識別するユーザIDが設定される。データのフィールドは、コンテンツに関するパラメータが設定され、例えば、外部アプリによって保存された1以上のデータが設定される。 The content ID field is set to a content ID that identifies content that is provided by the mobile application and that uses one or more data stored by an external application activated by the URL scheme. The name of the content is set in the content name field. In the user ID field, a user ID that identifies the user of the mobile application is set. In the data field, parameters related to the content are set, and for example, one or more data saved by an external application is set.

(ファイルDB500の記憶内容)
次に、図5を用いて、モバイルアプリと外部アプリが共通して参照可能な記憶領域に記憶されるファイルDB500の記憶内容について説明する。ファイルDB500は、例えば、図2に示した端末装置100のメモリ202や記録媒体205、あるいは、ネットワーク210を経由して通信可能なサーバにより実現される。
(Stored contents of file DB500)
Next, with reference to FIG. 5, the storage contents of the file DB 500 stored in the storage area that can be commonly referred to by the mobile application and the external application will be described. The file DB 500 is realized, for example, by a server capable of communicating via the memory 202 of the terminal device 100 shown in FIG. 2, the recording medium 205, or the network 210.

図5は、ファイルDB500の記憶内容の一例を示す説明図である。図5に示すように、ファイルDB500は、識別IDと、データと、入力日時とのフィールドを有する。ファイルDB500は、データごとに各フィールドに情報を設定することにより、ファイルがレコードとして記憶される。 FIG. 5 is an explanatory diagram showing an example of the stored contents of the file DB 500. As shown in FIG. 5, the file DB 500 has fields for an identification ID, data, and an input date and time. The file DB 500 stores the file as a record by setting information in each field for each data.

識別IDのフィールドは、動作指示になるURLスキームに含まれ、そのURLスキームを識別する識別IDが設定される。データのフィールドは、そのURLスキームに基づく動作によって得られたデータが設定される。入力日時のフィールドは、データのフィールドにデータを設定した日時が設定される。 The field of the identification ID is included in the URL scheme that serves as an operation instruction, and the identification ID that identifies the URL scheme is set. In the data field, the data obtained by the operation based on the URL scheme is set. In the input date and time field, the date and time when the data is set in the data field is set.

(端末装置100の機能的構成例)
次に、図6を用いて、端末装置100の機能的構成例について説明する。
(Example of functional configuration of terminal device 100)
Next, a functional configuration example of the terminal device 100 will be described with reference to FIG.

図6は、端末装置100の機能的構成例を示すブロック図である。端末装置100は、起動部601と、実行部602と、出力部603とを含む。 FIG. 6 is a block diagram showing a functional configuration example of the terminal device 100. The terminal device 100 includes an activation unit 601, an execution unit 602, and an output unit 603.

起動部601~出力部603は、制御部となる機能である。起動部601~出力部603は、具体的には、例えば、図2に示したメモリ202や記録媒体205などの記憶領域に記憶されたプログラムをCPU201に実行させることにより、または、ネットワークI/F203により、その機能を実現する。各機能部の処理結果は、例えば、図2に示したメモリ202や記録媒体205などの記憶領域に記憶される。 The activation unit 601 to the output unit 603 are functions that serve as control units. Specifically, the activation unit 601 to the output unit 603 may cause the CPU 201 to execute a program stored in a storage area such as the memory 202 or the recording medium 205 shown in FIG. 2, or the network I / F 203. To realize the function. The processing result of each functional unit is stored in a storage area such as the memory 202 or the recording medium 205 shown in FIG. 2, for example.

起動部601は、第1のアプリケーション101を起動する。第1のアプリケーション101は、端末装置100上で動作するアプリケーションである。第1のアプリケーション101は、例えば、外部アプリである。起動部601は、例えば、第2のアプリケーション102からの指示識別情報を含む動作指示に基づき、第1のアプリケーション101を起動する。第2のアプリケーション102は、端末装置100上で動作するアプリケーションである。第2のアプリケーション102は、例えば、モバイルアプリである。指示識別情報は、例えば、識別IDである。動作指示は、例えば、その動作指示を識別する識別IDを含む。動作指示は、さらに、その動作指示に対応する動作によって得られるデータを保存する保存先となる、対象ファイルのパスを含んでもよい。動作指示は、例えば、URLスキームである。 The activation unit 601 activates the first application 101. The first application 101 is an application that operates on the terminal device 100. The first application 101 is, for example, an external application. The activation unit 601 activates the first application 101, for example, based on an operation instruction including instruction identification information from the second application 102. The second application 102 is an application that operates on the terminal device 100. The second application 102 is, for example, a mobile application. The instruction identification information is, for example, an identification ID. The operation instruction includes, for example, an identification ID that identifies the operation instruction. The operation instruction may further include the path of the target file as a storage destination for storing the data obtained by the operation corresponding to the operation instruction. The operation instruction is, for example, a URL scheme.

起動部601は、具体的には、モバイルアプリが作成した、識別IDを含むURLスキームを実行することにより、外部アプリを起動する。これにより、外部アプリは、URLスキームに基づいて、そのURLスキームを識別する識別IDを取得することができ、そのURLスキームに対応する動作を行って得られるデータを保存する保存先になる対象ファイルのパスを取得することができる。 Specifically, the activation unit 601 activates the external application by executing the URL scheme including the identification ID created by the mobile application. As a result, the external application can acquire the identification ID that identifies the URL scheme based on the URL scheme, and the target file that is the save destination for saving the data obtained by performing the operation corresponding to the URL scheme. You can get the path of.

実行部602は、第1のアプリケーション101を実行する。実行部602は、第1のアプリケーション101を実行することによって、動作指示に対応した動作を実行する。動作は、例えば、バーコードからのデータの読み取り、および読み取りデータの出力などである。実行部602は、例えば、動作にデータの出力が含まれる場合は、データと指示識別情報とを関連付けて第2のアプリケーション102が参照可能である記憶領域に保存する。 The execution unit 602 executes the first application 101. The execution unit 602 executes the operation corresponding to the operation instruction by executing the first application 101. The operation is, for example, reading data from a barcode and outputting read data. For example, when the operation includes the output of data, the execution unit 602 associates the data with the instruction identification information and stores the data in a storage area that can be referred to by the second application 102.

実行部602は、例えば、外部アプリを実行することによって、モバイルアプリからのURLスキームに基づいて、バーコードからデータを読み取り、識別IDと対応付けて対象ファイルに保存する。これにより、実行部602は、モバイルアプリに、モバイルアプリが作成したURLスキームに対応し、外部アプリによって作成されたデータを特定させ、取得させることができる。 The execution unit 602 reads data from the barcode based on the URL scheme from the mobile application, for example, by executing the external application, and saves the data in the target file in association with the identification ID. As a result, the execution unit 602 can make the mobile application specify and acquire the data created by the external application corresponding to the URL scheme created by the mobile application.

また、動作は、指示識別情報が所定の条件を満たさない場合に、第1のアプリケーション101の起動時に行われる処理を中断し、または、第1のアプリケーション101を終了する動作を含んでもよい。実行部602は、例えば、予め設定された形式に合致しない識別IDであれば、外部アプリの起動時に行われる処理を中断し、外部アプリを終了してもよい。形式は、例えば、識別IDの先頭文字の形式である。形式は、例えば、識別IDにパリティを含むという形式であってもよい。これにより、実行部602は、外部アプリが不正アプリによって利用されることを抑制することができる。 Further, the operation may include an operation of interrupting the process performed at the start of the first application 101 or terminating the first application 101 when the instruction identification information does not satisfy a predetermined condition. For example, if the identification ID does not match the preset format, the execution unit 602 may interrupt the process performed when the external application is started and terminate the external application. The format is, for example, the format of the first character of the identification ID. The format may be, for example, a format in which the identification ID includes parity. As a result, the execution unit 602 can prevent the external application from being used by the malicious application.

実行部602は、例えば、指示識別情報が、過去に取得したことがあり、過去に取得した時点から所定の時間が経過した指示識別情報である場合、外部アプリの起動時に行われる処理を中断し、外部アプリを終了してもよい。これにより、実行部602は、モバイルアプリが過去に作成した識別IDを不正アプリが流用した場合などであっても、外部アプリが不正アプリによって利用されることを抑制することができる。 For example, when the instruction identification information has been acquired in the past and the predetermined time has elapsed from the time when the instruction identification information was acquired, the execution unit 602 interrupts the process performed when the external application is started. , You may quit the external application. As a result, the execution unit 602 can prevent the external application from being used by the unauthorized application even when the unauthorized application diverts the identification ID created in the past by the mobile application.

また、動作指示は、さらに、第2のアプリケーション102に指定され、指示識別情報が保存される記憶領域を示す情報を含んでもよい。指示識別情報が保存される記憶領域は、例えば、対象ファイルである。実行部602は、例えば、外部アプリの起動に応じて、外部アプリによって、識別IDを対象ファイルに保存する。これにより、実行部602は、対象ファイルに、外部アプリが起動したことを示す情報として、識別IDを保存することができる。 Further, the operation instruction may further include information indicating a storage area designated for the second application 102 and in which the instruction identification information is stored. The storage area in which the instruction identification information is stored is, for example, a target file. The execution unit 602 saves the identification ID in the target file by the external application, for example, in response to the activation of the external application. As a result, the execution unit 602 can store the identification ID in the target file as information indicating that the external application has been started.

実行部602は、例えば、対象ファイルにデータを保存する際、そのデータに対応付けてそのデータに関する時点情報を保存してもよい。実行部602は、具体的には、データを取得した時点、データを作成した時点、またはデータを保存する時点などを示す時点情報を保存する。これにより、実行部602は、モバイルアプリが、外部アプリの動作状態を判定するための情報を保存しておくことができる。 For example, when the execution unit 602 saves the data in the target file, the execution unit 602 may save the point-of-sale information about the data in association with the data. Specifically, the execution unit 602 stores point-of-sale information indicating a time point when data is acquired, a time point when data is created, a time point when data is saved, and the like. As a result, the execution unit 602 can store information for the mobile application to determine the operating state of the external application.

実行部602は、第2のアプリケーション102を実行する。実行部602は、第2のアプリケーション102を実行することによって、第1のアプリケーション101への動作指示に、第1のアプリケーション101が参照可能である記憶領域を示す情報と、その動作指示を識別する指示識別情報とを含めることができる。そして、実行部602は、第1のアプリケーション101への動作指示を発行することができる。 The execution unit 602 executes the second application 102. By executing the second application 102, the execution unit 602 identifies information indicating a storage area that can be referred to by the first application 101 and the operation instruction in the operation instruction to the first application 101. It can include instructional identification information. Then, the execution unit 602 can issue an operation instruction to the first application 101.

実行部602は、例えば、外部アプリへの動作指示となるURLスキームを、そのURLスキームを識別する識別IDと、その外部アプリによって取得されるデータの保存先になる対象ファイルのパスとを含めて発行することができる。これにより、実行部602は、外部アプリに、識別IDに対応付けて対象ファイルにデータを保存させることができる。このため、実行部602は、モバイルアプリが、発行したURLスキームに対応するデータを特定して、取得することができるようにすることができる。 The execution unit 602, for example, includes a URL scheme that is an operation instruction to an external application, an identification ID that identifies the URL scheme, and a path of a target file that is a storage destination of data acquired by the external application. Can be issued. As a result, the execution unit 602 can have the external application save the data in the target file in association with the identification ID. Therefore, the execution unit 602 can enable the mobile application to identify and acquire the data corresponding to the issued URL scheme.

実行部602は、第2のアプリケーション102を実行することによって、記憶領域を監視し、動作指示に応じて起動した第1のアプリケーション101によって、その記憶領域に指示識別情報に対応付けて保存されたデータを取得する。実行部602は、例えば、対象ファイルを監視し、外部アプリが識別IDに対応付けて対象ファイルに書き込んだデータを取得することができる。 The execution unit 602 monitors the storage area by executing the second application 102, and is stored in the storage area in association with the instruction identification information by the first application 101 activated in response to the operation instruction. Get the data. The execution unit 602 can, for example, monitor the target file and acquire the data written in the target file in association with the identification ID by the external application.

実行部602は、さらに、動作指示を発行した時点と、記憶領域にデータが書き込まれた時点との差分が閾値以上である場合に、記憶領域からデータを削除してもよい。実行部602は、例えば、指示管理DB300の発行日時と、ファイルDB500の入力日時との差分が閾値以上である場合に、対象ファイルからデータを取得せずに削除する。これにより、実行部602は、セキュリティの低下を抑制することができる。 Further, the execution unit 602 may delete the data from the storage area when the difference between the time when the operation instruction is issued and the time when the data is written to the storage area is equal to or more than the threshold value. For example, when the difference between the issue date and time of the instruction management DB 300 and the input date and time of the file DB 500 is equal to or greater than the threshold value, the execution unit 602 deletes the data without acquiring data from the target file. As a result, the execution unit 602 can suppress the deterioration of security.

実行部602は、さらに、データを取得した場合、記憶領域からデータを削除してもよい。実行部602は、例えば、対象ファイルからデータを取得した場合、コンテンツDB400にデータを複製して、対象ファイルからはそのデータを削除する。これにより、実行部602は、外部アプリが書き込んだデータが、のちに不正利用されないようにして、セキュリティの低下を抑制することができる。 Further, when the execution unit 602 acquires the data, the execution unit 602 may delete the data from the storage area. For example, when the execution unit 602 acquires data from the target file, the execution unit 602 duplicates the data in the content DB 400 and deletes the data from the target file. As a result, the execution unit 602 can prevent the data written by the external application from being illegally used later and suppress the deterioration of security.

出力部603は、第1のアプリケーション101や第2のアプリケーション102が取得したデータを出力する機能を有する。また、出力部603は、さらに、第1のアプリケーション101と第2のアプリケーション102との起動状態や連携状態を示す情報を出力する機能を有してもよい。出力形式は、例えば、ディスプレイへの表示、タッチパネル206への表示、プリンタへの印刷出力、ネットワークI/F203による外部装置への送信、または、メモリ202や記録媒体205などの記憶領域への記憶などである。 The output unit 603 has a function of outputting the data acquired by the first application 101 and the second application 102. Further, the output unit 603 may further have a function of outputting information indicating the activation state and the cooperation state of the first application 101 and the second application 102. The output format is, for example, display on a display, display on a touch panel 206, print output to a printer, transmission to an external device by network I / F 203, or storage in a storage area such as a memory 202 or a recording medium 205. Is.

(実施例1)
次に、図7および図8を用いて、実施例1について説明する。
(Example 1)
Next, Example 1 will be described with reference to FIGS. 7 and 8.

図7および図8は、実施例1を示す説明図である。図7および図8の例では、端末装置100は、自装置上で、モバイルアプリ710と外部アプリ720を動作させることができる。モバイルアプリ710は、UI処理部711と、アプリ管理部713とを有する。 7 and 8 are explanatory views showing the first embodiment. In the example of FIGS. 7 and 8, the terminal device 100 can operate the mobile application 710 and the external application 720 on the own device. The mobile application 710 has a UI processing unit 711 and an application management unit 713.

UI処理部711は、ブラウザ712を介して1以上のコンテンツを提供する。UI処理部711は、ブラウザ712を介して、利用者701からの操作入力を受け付ける。アプリ管理部713は、外部アプリ720を起動する。アプリ管理部713は、監視部714を有する。監視部714は、外部アプリ720が保存するデータを監視する。 The UI processing unit 711 provides one or more contents via the browser 712. The UI processing unit 711 receives an operation input from the user 701 via the browser 712. The application management unit 713 activates the external application 720. The application management unit 713 has a monitoring unit 714. The monitoring unit 714 monitors the data stored in the external application 720.

図7の例では(7-1)モバイルアプリ710は、UI処理部711によって、ブラウザ712の提供するいずれかのコンテンツにおいて、タッチパネル206などを用いた利用者701からの外部アプリ720の起動を要求する操作入力を受け付ける。モバイルアプリ710は、UI処理部711からアプリ管理部713へと、外部アプリ720の起動を要求する操作入力を通知する。 In the example of FIG. 7, (7-1) the mobile application 710 requests the UI processing unit 711 to start the external application 720 from the user 701 using the touch panel 206 or the like in any of the contents provided by the browser 712. Accepts the operation input to be performed. The mobile application 710 notifies the application management unit 713 from the UI processing unit 711 of the operation input requesting the activation of the external application 720.

また、モバイルアプリ710は、UI処理部711からアプリ管理部713へと、その操作入力を受け付けたコンテンツのコンテンツIDを通知する。これにより、モバイルアプリ710は、アプリ管理部713に、どの外部アプリ720を起動するかを通知し、どのコンテンツが外部アプリ720が保存するデータを利用するかを通知することができる。 Further, the mobile application 710 notifies the application management unit 713 from the UI processing unit 711 of the content ID of the content for which the operation input has been accepted. As a result, the mobile application 710 can notify the application management unit 713 which external application 720 is to be activated and which content uses the data stored in the external application 720.

(7-2)モバイルアプリ710は、アプリ管理部713によって、次に発行する動作指示を識別する識別IDを生成する。また、モバイルアプリ710は、アプリ管理部713によって、次に発行する動作指示によって起動される外部アプリ720によってデータが保存される対象ファイルをファイルDB500に生成し、その対象ファイルのパスを生成する。また、モバイルアプリ710は、アプリ管理部713によって、操作入力を受け付けたコンテンツのコンテンツIDを生成する。 (7-2) The mobile application 710 generates an identification ID for identifying an operation instruction to be issued next by the application management unit 713. Further, the mobile application 710 generates a target file in the file DB 500 in which data is saved by the external application 720 activated by the operation instruction to be issued next by the application management unit 713, and generates a path of the target file. Further, the mobile application 710 generates a content ID of the content for which the operation input is accepted by the application management unit 713.

モバイルアプリ710は、アプリ管理部713によって、生成した識別IDとパスとコンテンツIDとを対応付けて指示管理DB300に記憶する。モバイルアプリ710は、アプリ管理部713によって、生成した識別IDとパスとを含む動作指示になるURLスキームを作成する。モバイルアプリ710は、監視部714によって、生成した対象ファイルへのデータの書き込み状況を監視し始める。これにより、モバイルアプリ710は、外部アプリ720がデータを対象ファイルに書き込んでから、そのデータを取得するまでにかかる時間の低減化を図ることができる。また、モバイルアプリ710は、コンテンツIDをURLスキームに含めないため、コンテンツIDが不正アプリに流用される可能性を低減することができる。 The mobile application 710 is stored in the instruction management DB 300 in association with the generated identification ID, the path, and the content ID by the application management unit 713. The mobile application 710 creates a URL scheme that serves as an operation instruction including the generated identification ID and the path by the application management unit 713. The mobile application 710 starts monitoring the writing status of the data to the generated target file by the monitoring unit 714. As a result, the mobile application 710 can reduce the time required from the external application 720 writing the data to the target file until the data is acquired. Further, since the mobile application 710 does not include the content ID in the URL scheme, the possibility that the content ID is diverted to the unauthorized application can be reduced.

(7-3)モバイルアプリ710は、アプリ管理部713によって、作成したURLスキームを実行する。これにより、モバイルアプリ710は、OSを通じて、外部アプリ720を起動することができる。また、モバイルアプリ710は、外部アプリ720に、動作指示に対応した所定の動作を行わせ、対象ファイルにデータを保存させることができる。また、モバイルアプリ710は、コンテンツIDを外部アプリ720に渡さないため、コンテンツIDが不正アプリに流用される可能性を低減することができる。 (7-3) The mobile application 710 executes the URL scheme created by the application management unit 713. As a result, the mobile application 710 can start the external application 720 through the OS. Further, the mobile application 710 can cause the external application 720 to perform a predetermined operation corresponding to the operation instruction and save the data in the target file. Further, since the mobile application 710 does not pass the content ID to the external application 720, the possibility that the content ID is diverted to the unauthorized application can be reduced.

(7-4)外部アプリ720は、OSを通じて、起動される。外部アプリ720は、起動すると、URLスキームに含まれる識別IDと対象ファイルのパスとを取得する。外部アプリ720は、取得したパスに基づいて、取得した識別IDと、入力日時とを対応付けて、ファイルDB500の対象ファイルに保存する。モバイルアプリ710は、監視部714によって、対象ファイルに書き込まれた識別IDや入力日時などのデータを取得し、コンテンツDB400に記憶する。 (7-4) The external application 720 is started through the OS. When the external application 720 is started, the identification ID included in the URL scheme and the path of the target file are acquired. The external application 720 associates the acquired identification ID with the input date and time based on the acquired path, and saves the acquired identification ID in the target file of the file DB 500. The mobile application 710 acquires data such as an identification ID and an input date and time written in the target file by the monitoring unit 714 and stores the data in the content DB 400.

これにより、モバイルアプリ710は、監視部714によって、外部アプリ720からURLスキームに対して応答されなくても、外部アプリ720が起動したことを検出することができる。また、モバイルアプリ710は、監視部714によって、外部アプリ720が起動した日時を取得することができる。モバイルアプリ710は、監視部714によって、外部アプリ720が起動に成功したか否かを把握することができる。次に、図8の説明に移行する。 As a result, the mobile application 710 can detect that the external application 720 is activated by the monitoring unit 714 even if the external application 720 does not respond to the URL scheme. Further, the mobile application 710 can acquire the date and time when the external application 720 is activated by the monitoring unit 714. The mobile application 710 can grasp whether or not the external application 720 has been successfully started by the monitoring unit 714. Next, the description shifts to FIG.

図8の例では(8-1)外部アプリ720は、タッチパネル206などを用いた、利用者701からの操作入力に応じて、データを取得する。外部アプリ720は、例えば、バーコードリーダの機能を実現し、バーコードからデータを読み取る。 In the example of FIG. 8, (8-1) the external application 720 acquires data in response to an operation input from the user 701 using a touch panel 206 or the like. The external application 720 realizes the function of a barcode reader, for example, and reads data from the barcode.

(8-2)外部アプリ720は、識別IDを用いて、読み取ったデータを暗号化する。外部アプリ720は、取得したパスに基づいて、取得した識別IDと、暗号化により得られた暗号化データと、入力日時とを対応付けて、ファイルDB500の対象ファイルに保存する。ここで、外部アプリ720は、対象ファイルに保存する識別IDや入力日時も暗号化してもよい。これにより、外部アプリ720は、セキュリティの向上を図ることができる。 (8-2) The external application 720 encrypts the read data by using the identification ID. The external application 720 stores the acquired identification ID, the encrypted data obtained by encryption, and the input date and time in association with each other in the target file of the file DB 500 based on the acquired path. Here, the external application 720 may also encrypt the identification ID and the input date and time stored in the target file. As a result, the external application 720 can improve the security.

(8-3)モバイルアプリ710は、監視部714によって、対象ファイルに書き込まれた識別IDと暗号化データと入力日時とを取得し、暗号化データを復号する。モバイルアプリ710は、指示管理DB300の発行日時に基づいて、取得した識別IDが、生成してから所定時間が経過した識別IDであれば、暗号化データを復号せずに削除してもよい。また、モバイルアプリ710は、暗号化データを取得すると、対象ファイルから暗号化データを削除する。これにより、モバイルアプリ710は、取得済みの暗号化データが不正アプリに利用されることを防止し、セキュリティの向上を図ることができる。 (8-3) The mobile application 710 acquires the identification ID written in the target file, the encrypted data, and the input date and time by the monitoring unit 714, and decrypts the encrypted data. The mobile application 710 may delete the encrypted data without decrypting it if the acquired identification ID is an identification ID for which a predetermined time has elapsed since it was generated, based on the issue date and time of the instruction management DB 300. Further, when the mobile application 710 acquires the encrypted data, the mobile application 710 deletes the encrypted data from the target file. As a result, the mobile application 710 can prevent the acquired encrypted data from being used by an unauthorized application and can improve security.

(8-4)モバイルアプリ710は、監視部714によって、取得した識別IDが、生成してから所定時間が経過していない識別IDであれば、指示管理DB300に基づいて、取得した識別IDに対応するコンテンツIDを特定する。モバイルアプリ710は、監視部714によって、取得した識別IDと、復号により得られたデータと、特定したコンテンツIDとを対応付けて、コンテンツDB400に記憶する。これにより、モバイルアプリ710は、どのコンテンツに、取得したデータを利用させるかを特定することができる。 (8-4) If the identification ID acquired by the monitoring unit 714 is an identification ID for which a predetermined time has not elapsed since it was generated, the mobile application 710 can be used as the identification ID acquired based on the instruction management DB 300. Identify the corresponding content ID. The mobile application 710 stores the identification ID acquired by the monitoring unit 714, the data obtained by decoding, and the specified content ID in association with each other in the content DB 400. Thereby, the mobile application 710 can specify which content is to be used for the acquired data.

(8-5)モバイルアプリ710は、UI処理部711によって、タッチパネル206などを用いた、利用者701からの操作入力に応じて、フォアグラウンドに移動する。これにより、モバイルアプリ710は、外部アプリ720が連続して複数のデータを取得する動作を行う場合などには、フォアグラウンドに移動せず、外部アプリ720を介した利用者701の操作入力を行いやすくすることができる。 (8-5) The mobile application 710 is moved to the foreground by the UI processing unit 711 in response to an operation input from the user 701 using the touch panel 206 or the like. As a result, the mobile application 710 does not move to the foreground when the external application 720 continuously acquires a plurality of data, and it is easy to input the operation of the user 701 via the external application 720. can do.

(8-6)モバイルアプリ710は、UI処理部711によって、コンテンツDB400からデータを取得するAPI(Application Programming Interface)を呼び出して、実行する。モバイルアプリ710は、UI処理部711によって、データを取得する。これにより、モバイルアプリ710は、操作入力を受け付けたコンテンツに、取得したデータを利用させることができる。 (8-6) The mobile application 710 calls and executes an API (Application Programming Interface) for acquiring data from the content DB 400 by the UI processing unit 711. The mobile application 710 acquires data by the UI processing unit 711. As a result, the mobile application 710 can use the acquired data for the content that has received the operation input.

(8-7)モバイルアプリ710は、UI処理部711によって、操作入力を受け付けたコンテンツにおいて、取得したデータを処理する。これにより、端末装置100は、外部アプリ720と、モバイルアプリ710との連携を実現することができる。また、端末装置100は、モバイルアプリ710と外部アプリ720との連携によって、モバイルアプリ710のデータサイズの増大化を抑制することができる。 (8-7) The mobile application 710 processes the acquired data in the content for which the operation input is accepted by the UI processing unit 711. As a result, the terminal device 100 can realize the cooperation between the external application 720 and the mobile application 710. Further, the terminal device 100 can suppress an increase in the data size of the mobile application 710 by linking the mobile application 710 and the external application 720.

また、端末装置100は、OSによって、モバイルアプリ710と、外部アプリ720とに、それぞれ、メモリ容量を割り当てることができる。また、外部アプリ720は、データを取得する都度、そのデータを保存することができる。また、外部アプリ720は、データを取得する都度、そのデータをモバイルアプリ710に送信して、モバイルアプリ710をフォアグラウンドに移動させなくてもよい。 Further, the terminal device 100 can allocate memory capacity to the mobile application 710 and the external application 720, respectively, depending on the OS. Further, the external application 720 can save the data each time the data is acquired. Further, the external application 720 may not move the mobile application 710 to the foreground by transmitting the data to the mobile application 710 each time the data is acquired.

このように、モバイルアプリ710は、識別IDを確認することにより、起動した外部アプリ720と、対象ファイルにデータを保存した外部アプリ720とが同一であることを確認することができる。このため、モバイルアプリ710は、識別IDを含む動作指示を発行した外部アプリ720とは異なる不正アプリによって保存されたデータを、誤って取得してしまうことを抑制することができる。 In this way, the mobile application 710 can confirm that the activated external application 720 and the external application 720 that saves the data in the target file are the same by confirming the identification ID. Therefore, the mobile application 710 can prevent the data stored by the unauthorized application different from the external application 720 that issued the operation instruction including the identification ID from being erroneously acquired.

また、モバイルアプリ710は、識別IDを確認することにより、同じ外部アプリ720が保存したデータが、識別IDに対応する動作指示に基づく動作によって保存されたデータであるか否かを判別することができる。このため、モバイルアプリ710は、識別IDに対応する動作指示とは異なる動作指示に基づく動作によって保存されたデータを、誤って取得してしまうことを抑制することができる。また、モバイルアプリ710は、フォアグラウンドに移動しなくても、バックグラウンドのまま、外部アプリ720が保存したデータを取得することができる。 Further, the mobile application 710 can determine whether or not the data saved by the same external application 720 is the data saved by the operation based on the operation instruction corresponding to the identification ID by confirming the identification ID. can. Therefore, the mobile application 710 can prevent the data stored by the operation based on the operation instruction different from the operation instruction corresponding to the identification ID from being erroneously acquired. Further, the mobile application 710 can acquire the data saved by the external application 720 while remaining in the background without moving to the foreground.

また、外部アプリ720は、データを取得する都度、モバイルアプリ710に送信しておかなくても、モバイルアプリ710が、ファイルDB500の入力日時に基づいて、データを取得した順番を特定可能なようにすることができる。モバイルアプリ710は、ファイルDB500の入力日時に基づいて、外部アプリ720がデータを取得した順番を特定することができる。 Further, even if the external application 720 does not send the data to the mobile application 710 each time the data is acquired, the mobile application 710 can specify the order in which the data is acquired based on the input date and time of the file DB 500. can do. The mobile application 710 can specify the order in which the external application 720 acquires the data based on the input date and time of the file DB 500.

また、外部アプリ720は、同時に複数のモバイルアプリ710から動作指示を受け付けても、データを保存するファイルを、それぞれのモバイルアプリ710が指定した対象ファイルに分けることができる。このため、外部アプリ720は、それぞれのモバイルアプリ710が取得するデータが混在してしまうことを防止し、複数のモバイルアプリ710の競合を抑制することができる。 Further, even if the external application 720 receives an operation instruction from a plurality of mobile applications 710 at the same time, the file for storing the data can be divided into the target files designated by the respective mobile applications 710. Therefore, the external application 720 can prevent the data acquired by each mobile application 710 from being mixed, and can suppress the competition of the plurality of mobile applications 710.

外部アプリ720は、不正アプリが識別IDを流用してURLスキームを用いて起動した場合でも、過去に用いたことがある識別IDによるURLスキームであれば、起動時処理を中断することができ、セキュリティの向上を図ることができる。また、外部アプリ720は、対象ファイルが作成されていない場合に、起動時処理を中断し、セキュリティの向上を図ってもよい。 Even if the external application 720 is started by using the URL scheme by diverting the identification ID, the startup process can be interrupted if the URL scheme is based on the identification ID that has been used in the past. It is possible to improve security. Further, the external application 720 may interrupt the startup process when the target file has not been created to improve security.

また、製作者は、外部アプリ720を変更する場合には、モバイルアプリ710を変更しなくてもよい。同様に、製作者は、モバイルアプリ710を変更する場合には、外部アプリ720を変更しなくてもよい。このため、製作者は、モバイルアプリ710や外部アプリ720を管理しやすくなる。 Further, when changing the external application 720, the creator does not have to change the mobile application 710. Similarly, the creator does not have to change the external application 720 when changing the mobile application 710. Therefore, the creator can easily manage the mobile application 710 and the external application 720.

(連携処理手順の一例)
次に、図9および図10を用いて、端末装置100がモバイルアプリ710によって実行する連携処理手順の一例について説明する。
(Example of cooperation processing procedure)
Next, an example of the cooperation processing procedure executed by the terminal device 100 by the mobile application 710 will be described with reference to FIGS. 9 and 10.

図9および図10は、モバイルアプリ710によって実行する連携処理手順の一例を示すフローチャートである。図9において、端末装置100は、外部アプリ720を起動する操作入力を、利用者701から受け付ける(ステップS901)。 9 and 10 are flowcharts showing an example of the cooperation processing procedure executed by the mobile application 710. In FIG. 9, the terminal device 100 receives an operation input for activating the external application 720 from the user 701 (step S901).

端末装置100は、操作入力を受け付けると、識別IDと、外部アプリ720によるデータの保存先になるファイルとを作成する(ステップS902)。端末装置100は、作成した識別IDと、作成したファイルの識別情報とを対応付けて、モバイルアプリ710内の指示管理DB300に記憶する(ステップS903)。 Upon receiving the operation input, the terminal device 100 creates an identification ID and a file for storing data by the external application 720 (step S902). The terminal device 100 associates the created identification ID with the identification information of the created file and stores them in the instruction management DB 300 in the mobile application 710 (step S903).

端末装置100は、外部アプリ720の動作指示になるURLスキームを作成する(ステップS904)。端末装置100は、作成したファイルの監視を開始する(ステップS905)。端末装置100は、作成したURLスキームを実行する(ステップS906)。端末装置100は、図10のステップS1001の処理に移行する。 The terminal device 100 creates a URL scheme that serves as an operation instruction for the external application 720 (step S904). The terminal device 100 starts monitoring the created file (step S905). The terminal device 100 executes the created URL scheme (step S906). The terminal device 100 shifts to the process of step S1001 of FIG.

図10において、端末装置100は、作成したファイルの監視によって、そのファイルに暗号化データが書き込まれたか否かを判定する(ステップS1001)。ここで、暗号化データが書き込まれていない場合(ステップS1001:No)、端末装置100は、ステップS1001の処理に戻る。 In FIG. 10, the terminal device 100 determines whether or not encrypted data has been written to the created file by monitoring the created file (step S1001). Here, when the encrypted data is not written (step S1001: No), the terminal device 100 returns to the process of step S1001.

一方で、暗号化データが書き込まれている場合(ステップS1001:Yes)、端末装置100は、識別IDを用いて、ファイルに書き込まれた暗号化データを復号する(ステップS1002)。端末装置100は、復号によりデータを取得すると、ファイルから暗号化データを削除する(ステップS1003)。 On the other hand, when the encrypted data is written (step S1001: Yes), the terminal device 100 decrypts the encrypted data written in the file by using the identification ID (step S1002). When the terminal device 100 acquires the data by decryption, the terminal device 100 deletes the encrypted data from the file (step S1003).

端末装置100は、復号により取得したデータが識別IDと一致するか否かを判定する(ステップS1004)。ここで、一致しない場合(ステップS1004:No)、端末装置100は、識別IDが有効であるか否かを判定する(ステップS1005)。ここで、有効ではない場合(ステップS1005:No)、端末装置100は、連携処理を終了する。 The terminal device 100 determines whether or not the data acquired by decoding matches the identification ID (step S1004). Here, if they do not match (step S1004: No), the terminal device 100 determines whether or not the identification ID is valid (step S1005). Here, if it is not valid (step S1005: No), the terminal device 100 ends the cooperation process.

一方で、有効である場合(ステップS1005:Yes)、端末装置100は、復号により取得したデータを、モバイルアプリ710内のコンテンツDB400に記憶する(ステップS1006)。 On the other hand, when it is valid (step S1005: Yes), the terminal device 100 stores the data acquired by decoding in the content DB 400 in the mobile application 710 (step S1006).

端末装置100は、モバイルアプリ710を、フォアグラウンドに移動する(ステップS1007)。端末装置100は、コンテンツDB400からデータを取得するAPIを実行する(ステップS1008)。端末装置100は、データを反映する(ステップS1009)。端末装置100は、ステップS1001の処理に戻る。 The terminal device 100 moves the mobile application 710 to the foreground (step S1007). The terminal device 100 executes an API for acquiring data from the content DB 400 (step S1008). The terminal device 100 reflects the data (step S1009). The terminal device 100 returns to the process of step S1001.

一方で、一致する場合(ステップS1004:Yes)、端末装置100は、入力日時-発行日時が、閾値未満であるか否かを判定する(ステップS1010)。ここで、閾値以上である場合(ステップS1010:No)、端末装置100は、識別IDを無効化する(ステップS1011)。端末装置100は、連携処理を終了する。 On the other hand, if they match (step S1004: Yes), the terminal device 100 determines whether or not the input date / time-issue date / time is less than the threshold value (step S1010). Here, when the value is equal to or higher than the threshold value (step S1010: No), the terminal device 100 invalidates the identification ID (step S1011). The terminal device 100 ends the cooperation process.

一方で、閾値未満である場合(ステップS1010:Yes)、端末装置100は、識別IDを有効化する(ステップS1012)。端末装置100は、ステップS1001の処理に戻る。これにより、端末装置100は、外部アプリ720がファイルに書き込んだデータを、モバイルアプリ710で取得することができ、モバイルアプリ710と外部アプリ720との連携を実現することができる。 On the other hand, if it is less than the threshold value (step S1010: Yes), the terminal device 100 activates the identification ID (step S1012). The terminal device 100 returns to the process of step S1001. As a result, the terminal device 100 can acquire the data written in the file by the external application 720 by the mobile application 710, and can realize the cooperation between the mobile application 710 and the external application 720.

(動作処理手順の一例)
次に、図11を用いて、端末装置100が外部アプリ720によって実行する動作処理手順の一例について説明する。
(Example of operation processing procedure)
Next, an example of an operation processing procedure executed by the external application 720 by the terminal device 100 will be described with reference to FIG.

図11は、外部アプリ720によって実行する動作処理手順の一例を示すフローチャートである。図11において、端末装置100は、URLスキームを用いた動作指示を受け付ける(ステップS1101)。端末装置100は、動作指示を受け付けると、その動作指示に割り振られた識別IDを、日時に対応付けてファイルに保存する(ステップS1102)。 FIG. 11 is a flowchart showing an example of an operation processing procedure executed by the external application 720. In FIG. 11, the terminal device 100 receives an operation instruction using the URL scheme (step S1101). When the terminal device 100 receives the operation instruction, the terminal device 100 saves the identification ID assigned to the operation instruction in a file in association with the date and time (step S1102).

端末装置100は、受け付けた動作指示に応じた動作を行う(ステップS1103)。端末装置100は、動作指示に応じた動作を行った結果、データを取得する(ステップS1104)。端末装置100は、取得したデータを識別IDで暗号化する(ステップS1105)。 The terminal device 100 performs an operation according to the received operation instruction (step S1103). The terminal device 100 acquires data as a result of performing an operation according to the operation instruction (step S1104). The terminal device 100 encrypts the acquired data with the identification ID (step S1105).

端末装置100は、暗号化により得られた暗号化データを、日時に対応付けてファイルに保存する(ステップS1106)。これにより、端末装置100は、モバイルアプリ710が取得可能な状態でデータを保存することができ、モバイルアプリ710と外部アプリ720との連携を実現することができる。 The terminal device 100 saves the encrypted data obtained by encryption in a file in association with the date and time (step S1106). As a result, the terminal device 100 can save the data in a state in which the mobile application 710 can be acquired, and can realize the cooperation between the mobile application 710 and the external application 720.

以上説明したように、端末装置100上で動作する第1のアプリケーション101によれば、端末装置100上で動作する第2のアプリケーション102からの、指示識別情報を含む動作指示に応じて起動することができる。また、第1のアプリケーション101によれば、動作指示に対応した動作を実行し、動作にデータの出力が含まれる場合は、データと指示識別情報とを関連付けて第2のアプリケーション102が参照可能である記憶領域に保存することができる。これにより、第1のアプリケーション101は、第2のアプリケーション102が取得可能なようにデータを保存することができ、第2のアプリケーション102との連携を実現することができる。 As described above, according to the first application 101 operating on the terminal device 100, the second application 102 operating on the terminal device 100 is activated in response to an operation instruction including instruction identification information. Can be done. Further, according to the first application 101, when the operation corresponding to the operation instruction is executed and the operation includes the output of data, the second application 102 can refer to the data in association with the instruction identification information. It can be stored in a certain storage area. As a result, the first application 101 can store the data so that the second application 102 can acquire the data, and can realize the cooperation with the second application 102.

結果として、端末装置100は、第1のアプリケーション101と第2のアプリケーション102との連携によって、第2のアプリケーション102のデータサイズの増大化を抑制することができる。また、端末装置100は、OSによって、第1のアプリケーション101と、第2のアプリケーション102とに、それぞれ、メモリ容量を割り当てることができる。また、第1のアプリケーション101は、データを取得する都度、そのデータを保存することができる。また、第1のアプリケーション101は、データを取得する都度、そのデータを第2のアプリケーション102に送信して、第2のアプリケーション102をフォアグラウンドに移動させなくてもよい。 As a result, the terminal device 100 can suppress the increase in the data size of the second application 102 by the cooperation between the first application 101 and the second application 102. Further, the terminal device 100 can allocate memory capacity to the first application 101 and the second application 102, respectively, depending on the OS. Further, the first application 101 can save the data each time the data is acquired. Further, the first application 101 does not have to send the data to the second application 102 each time the data is acquired to move the second application 102 to the foreground.

また、第1のアプリケーション101によれば、指示識別情報が所定の条件を満たさない場合に、第1のアプリケーション101の起動時に行われる処理を中断し、または、第1のアプリケーション101を終了する動作を実行することができる。これにより、第1のアプリケーション101は、不正アプリによる動作指示によって動作することを防止することができる。 Further, according to the first application 101, when the instruction identification information does not satisfy a predetermined condition, the operation performed at the time of starting the first application 101 is interrupted, or the operation of terminating the first application 101 is terminated. Can be executed. As a result, the first application 101 can be prevented from operating due to an operation instruction by an unauthorized application.

また、第1のアプリケーション101によれば、第2のアプリケーション102からのURLスキームによってOSを通じて起動することができる。これにより、第1のアプリケーション101は、第2のアプリケーション102に応答しなくてもよい。 Further, according to the first application 101, it can be started through the OS by the URL scheme from the second application 102. As a result, the first application 101 does not have to respond to the second application 102.

また、第1のアプリケーション101によれば、起動に応じて、指示識別情報を、動作指示に含まれ、第2のアプリケーション102に指定された第1の記憶領域に保存することができる。これにより、第1のアプリケーション101は、第2のアプリケーション102が、第1のアプリケーション101の起動成功を把握可能にすることができる。 Further, according to the first application 101, the instruction identification information is included in the operation instruction and can be stored in the first storage area designated by the second application 102 according to the activation. As a result, the first application 101 can enable the second application 102 to grasp the successful start of the first application 101.

また、第1のアプリケーション101によれば、データと指示識別情報とを関連付けて動作指示に含まれ、第2のアプリケーション102に指定された第2の記憶領域に保存することができる。これにより、第1のアプリケーション101は、第2のアプリケーション102が取得可能であり、第2のアプリケーション102以外の不正アプリなどが特定していない記憶領域に、データを保存することができ、セキュリティの向上を図ることができる。 Further, according to the first application 101, the data and the instruction identification information can be associated with each other and included in the operation instruction, and can be stored in the second storage area designated by the second application 102. As a result, the first application 101 can acquire the second application 102, and can store the data in a storage area not specified by an unauthorized application other than the second application 102, which is a security measure. It can be improved.

また、第1のアプリケーション101によれば、データと指示識別情報とデータに関する時点情報とを関連付けて保存することができる。これにより、第1のアプリケーション101は、第2のアプリケーション102がデータを管理しやすくすることができる。 Further, according to the first application 101, the data, the instruction identification information, and the point-of-sale information about the data can be associated and stored. As a result, the first application 101 can facilitate the management of data by the second application 102.

また、第2のアプリケーション102によれば、第1のアプリケーション101への動作指示を、第2のアプリケーション102が参照可能である記憶領域を示す情報と、動作指示を識別する指示識別情報とを含めて発行することができる。また、第2のアプリケーション102によれば、その記憶領域を監視し、動作指示に応じて起動した第1のアプリケーション101によって指示識別情報に対応付けて保存されたデータを取得することができる。これにより、第2のアプリケーション102は、第1のアプリケーション101と連携することができる。 Further, according to the second application 102, the operation instruction to the first application 101 includes information indicating a storage area that can be referred to by the second application 102 and instruction identification information for identifying the operation instruction. Can be issued. Further, according to the second application 102, the storage area can be monitored, and the data stored in association with the instruction identification information can be acquired by the first application 101 activated in response to the operation instruction. As a result, the second application 102 can cooperate with the first application 101.

また、第2のアプリケーション102によれば、動作指示を発行された時点と、記憶領域にデータが書き込まれた時点との差分が閾値以上である場合には、記憶領域からデータを削除することができる。これにより、第2のアプリケーション102は、セキュリティの向上を図ることができる。 Further, according to the second application 102, when the difference between the time when the operation instruction is issued and the time when the data is written in the storage area is equal to or more than the threshold value, the data may be deleted from the storage area. can. As a result, the second application 102 can improve the security.

また、第2のアプリケーション102によれば、データを取得した場合、記憶領域からデータを削除することができる。これにより、第2のアプリケーション102は、セキュリティの向上を図ることができる。 Further, according to the second application 102, when the data is acquired, the data can be deleted from the storage area. As a result, the second application 102 can improve the security.

なお、本実施の形態で説明したプログラムの実行方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明したプログラムは、ハードディスク、フレキシブルディスク、CD-ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明したプログラムは、インターネット等のネットワークを介して配布してもよい。 The method of executing the program described in the present embodiment can be realized by executing the program prepared in advance on a computer such as a personal computer or a workstation. The program described in this embodiment is recorded on a computer-readable recording medium such as a hard disk, flexible disk, CD-ROM, MO, or DVD, and is executed by being read from the recording medium by the computer. Further, the program described in this embodiment may be distributed via a network such as the Internet.

上述した実施の形態に関し、さらに以下の付記を開示する。 The following additional notes are further disclosed with respect to the above-described embodiment.

(付記1)端末装置上で動作するプログラムであって、
前記端末装置上で動作する他のプログラムからの、指示識別情報を含む動作指示に応じて起動し、
前記動作指示に対応した動作を実行し、
前記動作にデータの出力が含まれる場合は、前記データと前記指示識別情報とを関連付けて前記他のプログラムが参照可能である記憶領域に保存する、
処理を前記端末装置に実行させることを特徴とするプログラム。
(Appendix 1) A program that runs on a terminal device.
It is started in response to an operation instruction including instruction identification information from another program operating on the terminal device.
Execute the operation corresponding to the above operation instruction,
If the operation involves the output of data, the data is associated with the instructional identification information and stored in a storage area accessible to the other program.
A program characterized by causing the terminal device to execute processing.

(付記2)前記動作は、前記指示識別情報が所定の条件を満たさない場合に、前記プログラムの起動時に行われる処理を中断し、または、前記プログラムを終了する動作を含む、ことを特徴とする付記1に記載のプログラム。 (Appendix 2) The operation is characterized by including an operation of interrupting a process performed at the start of the program or terminating the program when the instruction identification information does not satisfy a predetermined condition. The program described in Appendix 1.

(付記3)前記動作指示は、Uniform Resource Locator SchemeによってOperating Systemを通じて行われる、ことを特徴とする付記1または2に記載のプログラム。 (Supplementary Note 3) The program according to Supplementary note 1 or 2, wherein the operation instruction is performed by the Uniform Resource Locator Scheme through the Operating System.

(付記4)前記動作指示は、さらに、前記他のプログラムに指定され、前記指示識別情報が保存される第1の記憶領域を示す情報を含み、
前記保存する処理は、さらに、前記プログラムの起動に応じて、前記動作指示に基づいて、前記指示識別情報を前記第1の記憶領域に保存する、ことを特徴とする付記1~3のいずれか一つに記載のプログラム。
(Appendix 4) The operation instruction further includes information indicating a first storage area designated by the other program and storing the instruction identification information.
The saving process further saves the instruction identification information in the first storage area based on the operation instruction in response to the activation of the program. The program described in one.

(付記5)前記動作指示は、さらに、前記他のプログラムに指定され、前記データが保存される第2の記憶領域を示す情報を含み、
前記保存する処理は、前記動作指示に基づいて、前記データと前記指示識別情報とを関連付けて前記第2の記憶領域に保存する、ことを特徴とする付記1~4のいずれか一つに記載のプログラム。
(Appendix 5) The operation instruction further includes information indicating a second storage area designated by the other program and storing the data.
The process of saving is described in any one of Supplementary Provisions 1 to 4, wherein the data is stored in the second storage area in association with the instruction identification information based on the operation instruction. Program.

(付記6)前記保存する処理は、前記データと前記指示識別情報と前記データに関する時点情報とを関連付けて保存する、ことを特徴とする付記1~5のいずれか一つに記載のプログラム。 (Supplementary Note 6) The program according to any one of Supplementary note 1 to 5, wherein the saving process associates the data with the instruction identification information and the time point information related to the data, and saves the data.

(付記7)端末装置上で動作するプログラムであって、
前記端末装置上で動作する他のプログラムへの動作指示を、前記プログラムが参照可能である記憶領域を示す情報と、前記動作指示を識別する指示識別情報とを含めて発行し、
前記記憶領域を監視し、前記動作指示に応じて起動した前記他のプログラムによって前記記憶領域に前記指示識別情報に対応付けて保存されたデータを取得する、
処理を前記端末装置に実行させることを特徴とするプログラム。
(Appendix 7) A program that runs on a terminal device.
An operation instruction to another program operating on the terminal device is issued including information indicating a storage area to which the program can be referred and instruction identification information for identifying the operation instruction.
The storage area is monitored, and data stored in the storage area in association with the instruction identification information is acquired by the other program activated in response to the operation instruction.
A program characterized by causing the terminal device to execute processing.

(付記8)前記取得する処理は、
前記動作指示を発行された時点と、前記記憶領域に前記データが書き込まれた時点との差分が閾値以上である場合には、前記記憶領域から前記データを削除する、ことを特徴とする付記7に記載のプログラム。
(Appendix 8) The process to be acquired is
Addendum 7 characterized in that, when the difference between the time when the operation instruction is issued and the time when the data is written in the storage area is equal to or larger than the threshold value, the data is deleted from the storage area. The program described in.

(付記9)前記取得する処理は、
さらに、前記データを取得した場合、前記記憶領域から前記データを削除する、ことを特徴とする付記7または8に記載のプログラム。
(Appendix 9) The process to be acquired is
Further, the program according to Appendix 7 or 8, wherein when the data is acquired, the data is deleted from the storage area.

(付記10)端末装置上で動作するプログラムの実行方法であって、
前記端末装置上で動作する他のプログラムからの、指示識別情報を含む動作指示に応じて起動し、
前記動作指示に対応した動作を実行し、
前記動作にデータの出力が含まれる場合は、前記データと前記指示識別情報とを関連付けて前記他のプログラムが参照可能である記憶領域に保存する、
処理を前記端末装置が実行することを特徴とするプログラムの実行方法。
(Appendix 10) A method of executing a program that operates on a terminal device.
It is started in response to an operation instruction including instruction identification information from another program operating on the terminal device.
Execute the operation corresponding to the above operation instruction,
If the operation involves the output of data, the data is associated with the instructional identification information and stored in a storage area accessible to the other program.
A method of executing a program, characterized in that the terminal device executes the process.

(付記11)プログラムと他のプログラムとを動作させる端末装置であって、
前記プログラムを、前記他のプログラムからの、指示識別情報を含む動作指示に応じて起動し、
前記プログラムによって、前記動作指示に対応した動作を実行し、
前記プログラムによって、前記動作にデータの出力が含まれる場合は、前記データと前記指示識別情報とを関連付けて前記他のプログラムが参照可能である記憶領域に保存する、
制御部を有することを特徴とする端末装置。
(Appendix 11) A terminal device that operates a program and another program.
The program is started in response to an operation instruction including instruction identification information from the other program.
The program executes the operation corresponding to the operation instruction,
When the operation includes the output of data by the program, the data is associated with the instruction identification information and stored in a storage area that can be referred to by the other program.
A terminal device having a control unit.

100 端末装置
101,102 アプリケーション
200 バス
201 CPU
202 メモリ
203 ネットワークI/F
204 記録媒体I/F
205 記録媒体
206 タッチパネル
210 ネットワーク
300 指示管理DB
400 コンテンツDB
500 ファイルDB
601 起動部
602 実行部
603 出力部
701 利用者
710 モバイルアプリ
711 UI処理部
712 ブラウザ
713 アプリ管理部
714 監視部
720 外部アプリ
100 Terminal device 101, 102 Application 200 Bus 201 CPU
202 Memory 203 Network I / F
204 Recording medium I / F
205 Recording medium 206 Touch panel 210 Network 300 Instruction management DB
400 Content DB
500 file DB
601 Startup unit 602 Execution unit 603 Output unit 701 User 710 Mobile application 711 UI processing unit 712 Browser 713 App management unit 714 Monitoring unit 720 External application

Claims (8)

端末装置上で動作するプログラムであって、
前記端末装置上で動作する他のプログラムから取得した、第1の指示識別情報を含む動作指示に応じて起動し、
前記動作指示に対応した動作を実行し、
前記動作の実行により得たデータを、前記他のプログラムへデータ出力する場合は、前記データと前記第1の指示識別情報とを関連付けて前記他のプログラムが参照可能である記憶領域に保存する、
処理を前記端末装置に実行させ、
前記実行する処理は、前記第1の指示識別情報が、過去に取得した第2の指示識別情報と一致し、過去に前記第2の指示識別情報を取得した時点から所定の時間が経過している場合、前記プログラムの起動時に行われる処理を中断し、または、前記プログラムを終了する動作を実行する、ことを特徴とするプログラム。
A program that runs on a terminal device
It is activated in response to an operation instruction including the first instruction identification information acquired from another program operating on the terminal device.
Execute the operation corresponding to the above operation instruction,
When the data obtained by executing the operation is output to the other program, the data is associated with the first instruction identification information and stored in a storage area that can be referred to by the other program.
Let the terminal device execute the process
In the process to be executed, a predetermined time has elapsed from the time when the first instruction identification information matches the second instruction identification information acquired in the past and the second instruction identification information is acquired in the past. If so, the program is characterized in that the processing performed at the time of starting the program is interrupted or the operation of terminating the program is executed.
前記動作指示は、Uniform Resource Locator SchemeによってOperating Systemを通じて行われる、ことを特徴とする請求項1に記載のプログラム。 The program according to claim 1, wherein the operation instruction is performed by the Uniform Resource Locator Scheme through the Operating System. 前記動作指示は、さらに、前記他のプログラムに指定され、前記第1の指示識別情報が保存される前記記憶領域の第1の記憶領域を示す情報を含み、
前記保存する処理は、さらに、前記プログラムの起動に応じて、前記動作指示に基づいて、前記第1の指示識別情報を前記第1の記憶領域に保存する、ことを特徴とする請求項1または2に記載のプログラム。
The operation instruction further includes information indicating a first storage area of the storage area designated by the other program and in which the first instruction identification information is stored.
The saving process is further characterized in that, in response to the activation of the program, the first instruction identification information is saved in the first storage area based on the operation instruction. The program described in 2.
前記動作指示は、さらに、前記他のプログラムに指定され、前記データが保存される前記記憶領域の第2の記憶領域を示す情報を含み、
前記保存する処理は、前記動作指示に基づいて、前記データと前記第1の指示識別情報とを関連付けて前記第2の記憶領域に保存する、ことを特徴とする請求項1~3のいずれか一つに記載のプログラム。
The operation instruction further includes information indicating a second storage area of the storage area designated by the other program and in which the data is stored.
One of claims 1 to 3, wherein the saving process associates the data with the first instruction identification information and saves the data in the second storage area based on the operation instruction. The program described in one.
前記保存する処理は、前記データと前記第1の指示識別情報と前記データに関する時点情報とを関連付けて保存する、ことを特徴とする請求項1~4のいずれか一つに記載のプログラム。 The program according to any one of claims 1 to 4 , wherein the saving process associates and saves the data, the first instruction identification information, and the time point information related to the data. 前記他のプログラムが、前記動作指示を発行された時点と、前記記憶領域にデータが書き込まれた時点との差分が閾値以上である場合には、前記記憶領域からデータを削除する、処理を含むことを特徴とする請求項1~5のいずれか一つに記載のプログラム。When the other program has a difference between the time when the operation instruction is issued and the time when the data is written in the storage area is equal to or larger than the threshold value, the process includes deleting the data from the storage area. The program according to any one of claims 1 to 5, characterized in that. 端末装置上で動作するプログラムの実行方法であって、It is a method of executing a program that runs on a terminal device.
前記端末装置上で動作する他のプログラムから取得した、第1の指示識別情報を含む動作指示に応じて起動し、It is activated in response to an operation instruction including the first instruction identification information acquired from another program operating on the terminal device.
前記動作指示に対応した動作を実行し、Execute the operation corresponding to the above operation instruction,
前記動作の実行により得たデータを、前記他のプログラムへデータ出力する場合は、前記データと前記第1の指示識別情報とを関連付けて前記他のプログラムが参照可能である記憶領域に保存する、When the data obtained by executing the operation is output to the other program, the data is associated with the first instruction identification information and stored in a storage area that can be referred to by the other program.
処理を前記端末装置が実行し、The terminal device executes the process,
前記実行する処理は、前記第1の指示識別情報が、過去に取得した第2の指示識別情報と一致し、過去に前記第2の指示識別情報を取得した時点から所定の時間が経過している場合、前記プログラムの起動時に行われる処理を中断し、または、前記プログラムを終了する動作を実行する、ことを特徴とするプログラムの実行方法。In the process to be executed, a predetermined time has elapsed from the time when the first instruction identification information matches the second instruction identification information acquired in the past and the second instruction identification information is acquired in the past. If so, a method of executing a program, characterized in that the process performed at the time of starting the program is interrupted or the operation of terminating the program is executed.
プログラムと他のプログラムとを動作させる端末装置であって、A terminal device that operates a program and other programs.
前記プログラムを、前記他のプログラムから取得した、第1の指示識別情報を含む動作指示に応じて起動し、The program is started in response to an operation instruction including the first instruction identification information acquired from the other program.
前記プログラムによって、前記動作指示に対応した動作を実行し、The program executes the operation corresponding to the operation instruction,
前記プログラムによって、前記動作の実行により得たデータを、前記他のプログラムへデータ出力する場合は、前記データと前記第1の指示識別情報とを関連付けて前記他のプログラムが参照可能である記憶領域に保存する、制御部を有し、When the data obtained by executing the operation is output to the other program by the program, the storage area can be referred to by the other program by associating the data with the first instruction identification information. Has a control unit to store in
前記制御部は、前記第1の指示識別情報が、過去に取得した第2の指示識別情報と一致し、過去に前記第2の指示識別情報を取得した時点から所定の時間が経過している場合、前記プログラムの起動時に行われる処理を中断し、または、前記プログラムを終了する動作を実行する、ことを特徴とする端末装置。In the control unit, a predetermined time has elapsed from the time when the first instruction identification information matches the second instruction identification information acquired in the past and the second instruction identification information is acquired in the past. In this case, the terminal device is characterized in that the process performed at the time of starting the program is interrupted or the operation of terminating the program is executed.
JP2019511027A 2017-04-06 2017-04-06 Programs, program execution methods, and terminal devices Expired - Fee Related JP7017161B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/014423 WO2018185919A1 (en) 2017-04-06 2017-04-06 Program, program execution method, and terminal device

Publications (2)

Publication Number Publication Date
JPWO2018185919A1 JPWO2018185919A1 (en) 2019-12-12
JP7017161B2 true JP7017161B2 (en) 2022-02-08

Family

ID=63713269

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019511027A Expired - Fee Related JP7017161B2 (en) 2017-04-06 2017-04-06 Programs, program execution methods, and terminal devices

Country Status (2)

Country Link
JP (1) JP7017161B2 (en)
WO (1) WO2018185919A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020198550A (en) * 2019-06-03 2020-12-10 ヤマハ株式会社 program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010511255A (en) 2006-11-29 2010-04-08 クゥアルコム・インコーポレイテッド Method, system, and apparatus for activation of objects across protected area boundaries
JP2010140351A (en) 2008-12-12 2010-06-24 Canon Software Inc Information processor, session management method, program and recording medium
JP2013110481A (en) 2011-11-18 2013-06-06 Tis Kk Call system having data sharing function
WO2014034060A1 (en) 2012-08-30 2014-03-06 日本電気株式会社 Event processing control device, node device, event processing system, and event processing control method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06301618A (en) * 1993-04-15 1994-10-28 Matsushita Electric Ind Co Ltd Remote procedure accessing method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010511255A (en) 2006-11-29 2010-04-08 クゥアルコム・インコーポレイテッド Method, system, and apparatus for activation of objects across protected area boundaries
JP2010140351A (en) 2008-12-12 2010-06-24 Canon Software Inc Information processor, session management method, program and recording medium
JP2013110481A (en) 2011-11-18 2013-06-06 Tis Kk Call system having data sharing function
WO2014034060A1 (en) 2012-08-30 2014-03-06 日本電気株式会社 Event processing control device, node device, event processing system, and event processing control method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
福本郁哉,iOS アプリのセキュアコーディング入門, [オンライン],2016年03月23日,p.1,20-25,[令和2年9月29日検索], インターネット:<URL:https://www.jssec.org/dl/20160323_Ikuya_Fukumoto.pdf>
荒井 大輔 他,ブラウザのキャッシュと利用者操作ログを用いたWebアプリケーション高可用化手法の実装と評価,FIT2010 第9回情報科学技術フォーラム 講演論文集 第4分冊,社団法人電子情報通信学会,2010年08月20日,第413頁-第414頁

Also Published As

Publication number Publication date
JPWO2018185919A1 (en) 2019-12-12
WO2018185919A1 (en) 2018-10-11

Similar Documents

Publication Publication Date Title
US9519401B2 (en) Providing context menu based on predicted commands
US9864736B2 (en) Information processing apparatus, control method, and recording medium
JP5517162B2 (en) Method, computer program, apparatus, and system for determining confidential label of document information
CN106843978B (en) SDK access method and system
CN110516428B (en) Data reading and writing method and device of mobile storage equipment and storage medium
CN108229190B (en) Transparent encryption and decryption control method, device, program, storage medium and electronic equipment
JP2016085609A (en) Method for supporting secondary use of content of electronic copyrighted work, server computer for supporting secondary use of content of electronic copyrighted work, and program for server computer
US9665723B2 (en) Watermarking detection and management
JP2004171110A (en) Content playback device, content playback control program, and recording medium recording content playback control program
CN112889055A (en) Data processing method, device, system, server and electronic equipment
JP4707748B2 (en) External storage device, method for processing data stored in external storage device, program, and information processing apparatus
JP7017161B2 (en) Programs, program execution methods, and terminal devices
US8806217B2 (en) Functionality watermarking and management
CN110543348A (en) instruction processing method, system, electronic equipment and storage medium
CN108140074A (en) Manage app-specific feature permissions
US10917390B2 (en) Browser drag and drop file upload encryption enforcement
US20180314837A1 (en) Secure file wrapper for tiff images
JP5062687B2 (en) Information processing device
JP2008234539A (en) Information processing apparatus, file processing method, and program
JP4897782B2 (en) Document management system, document management method, and program thereof
WO2011021340A1 (en) Virtual thin client making device, virtual thin client making system, virtual thin client making program, and virtual thin client making method
JP2011040044A (en) Device, system, program and method for integrating virtual thin client
CN110489386A (en) Information processing method, device, storage medium and electronic equipment
JP4607023B2 (en) Log collection system and log collection method
JP6053182B2 (en) Trace system and trace method

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190719

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210721

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220110

R150 Certificate of patent or registration of utility model

Ref document number: 7017161

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees