JP7017161B2 - Programs, program execution methods, and terminal devices - Google Patents
Programs, program execution methods, and terminal devices Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram 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.
しかしながら、従来技術では、端末装置で動作するアプリケーションにプラグインを追加すると、そのアプリケーションのデータサイズが増大してしまい、そのアプリケーションの配信にかかる負担の増大化を招く。一方で、アプリケーションに外部アプリケーションからデータを取得させるなど、アプリケーションを外部アプリケーションと連携させることが難しく、外部アプリにより機能拡張を行うこともできない。 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.
以下に、図面を参照して、本発明にかかるプログラム、プログラムの実行方法、および端末装置の実施の形態を詳細に説明する。 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
以下の説明では、モバイルアプリケーションを「モバイルアプリ」と表記する場合がある。以下の説明では、外部アプリケーションを「外部アプリ」と表記する場合がある。端末装置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
ここで、スマートフォンなどに予め導入され、または配信され、スマートフォンなどで動作するモバイルアプリについて機能拡張を行うことが望まれる場合がある。例えば、モバイルアプリにプラグインを追加することにより、そのモバイルアプリの機能拡張を行ったうえで、スマートフォンなどにそのモバイルアプリを配信することが考えられる。 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
(1-1)第1のアプリケーション101は、第2のアプリケーション102からの、指示識別情報を含む動作指示に応じて起動する。例えば、モバイルアプリは、指示識別情報を含むURLスキームを実行することにより、OSを通じて外部アプリを起動する。これにより、外部アプリは、指示識別情報を取得することができる。
(1-1) The
(1-2)第1のアプリケーション101は、動作指示に対応した動作を実行する。外部アプリは、例えば、利用者の操作入力に基づいて、バーコードからデータを読み取る。これにより、外部アプリは、出力対象であり、モバイルアプリに取得させるデータを読み取ることができる。
(1-2) The
(1-3)第1のアプリケーション101は、動作にデータの出力が含まれる場合は、データと指示識別情報とを関連付けて第2のアプリケーション102が参照可能である記憶領域に保存する。外部アプリは、例えば、読み取ったデータを、動作指示に含まれる指示識別情報に関連付けてモバイルアプリが参照可能である記憶領域に保存する。
(1-3) When the operation includes the output of data, the
一方で、第2のアプリケーション102は、第1のアプリケーション101によって保存されたデータを記憶領域から読み出して取得することができ、そのデータを利用することができる。これにより、外部アプリは、モバイルアプリとの連携を実現し、モバイルアプリにプラグインを追加しなくても端末装置100の機能を増やすことができる。
On the other hand, the
また、端末装置100は、モバイルアプリと外部アプリとの連携によって、モバイルアプリのデータサイズの増大化を抑制することができる。そして、モバイルアプリの製作者は、外部アプリを変更して外部アプリのデータサイズを増大した場合でも、モバイルアプリを変更しなくてもよくモバイルアプリのデータサイズを増大させなくてよくなる。このため、製作者は、外部アプリを配信し直せば、モバイルアプリを配信し直さなくてもよく、端末装置100にかかる通信負担を低減することができる。同様に、製作者は、モバイルアプリを変更した場合でも、外部アプリを配信し直さなくてもよい。
Further, the
また、端末装置100は、OSによって、モバイルアプリと、外部アプリとに、それぞれ、メモリ容量を割り当てることができる。このため、端末装置100は、モバイルアプリが使用するメモリ容量が、モバイルアプリにOSから割り当てられたメモリ容量よりも大きくなり、メモリ容量が不足してしまう可能性を低減することができる。同様に、端末装置100は、外部アプリが使用するメモリ容量が、外部アプリにOSから割り当てられたメモリ容量よりも大きくなり、メモリ容量が不足してしまう可能性を低減することができる。
Further, the
また、外部アプリは、データを取得する都度、そのデータを保存することができる。このため、外部アプリは、強制終了された場合であっても、データを喪失する可能性を低減することができる。また、外部アプリは、データを取得する都度、そのデータをモバイルアプリに送信しなくても、データを喪失する可能性を低減することができる。 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
図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
ここで、CPU201は、端末装置100の全体の制御を司る。メモリ202は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU201のワークエリアとして使用される。メモリ202に記憶されるプログラムは、CPU201にロードされることで、コーディングされている処理をCPU201に実行させる。
Here, the
ネットワークI/F203は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F203は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F203には、例えば、モデムやLANアダプタなどを採用することができる。
The network I /
記録媒体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 /
タッチパネル206は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示するディスプレイを有する。タッチパネル206は、ディスプレイ上、または、ディスプレイ外周部に設けられ、タッチパネル206上のユーザの接触位置を検出する検出装置を有する。検出装置は、例えば、抵抗膜方式、静電容量方式、超音波方式、光学方式、または、電磁誘導方式などを用いて、接触位置を検出する。タッチパネル206は、ユーザの接触位置に応じて、文字、数字、各種指示などの入力を行う。
The
端末装置100は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイなどを有してもよい。また、端末装置100は、記録媒体I/F204や記録媒体205を有していなくてもよい。
In addition to the above-mentioned components, the
(指示管理DB(DataBase)300の記憶内容)
次に、図3を用いて、モバイルアプリが参照可能な記憶領域に記憶される指示管理DB300の記憶内容について説明する。指示管理DB300は、例えば、図2に示した端末装置100のメモリ202や記録媒体205により実現される。
(Stored contents of instruction management DB (DataBase) 300)
Next, the storage contents of the
図3は、指示管理DB300の記憶内容の一例を示す説明図である。図3に示すように、指示管理DB300は、識別IDと、コンテンツIDと、ユーザIDと、データ格納先と、発行日時とのフィールドを有する。指示管理DB300は、動作指示ごとに各フィールドに情報を設定することにより、動作指示情報がレコードとして記憶される。
FIG. 3 is an explanatory diagram showing an example of the stored contents of the
識別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
図4は、コンテンツDB400の記憶内容の一例を示す説明図である。図4に示すように、コンテンツDB400は、コンテンツIDと、コンテンツ名と、ユーザIDと、データとのフィールドを有する。コンテンツDB400は、コンテンツごとに各フィールドに情報を設定することにより、コンテンツ情報がレコードとして記憶される。
FIG. 4 is an explanatory diagram showing an example of the stored contents of the
コンテンツ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
図5は、ファイルDB500の記憶内容の一例を示す説明図である。図5に示すように、ファイルDB500は、識別IDと、データと、入力日時とのフィールドを有する。ファイルDB500は、データごとに各フィールドに情報を設定することにより、ファイルがレコードとして記憶される。
FIG. 5 is an explanatory diagram showing an example of the stored contents of the
識別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
図6は、端末装置100の機能的構成例を示すブロック図である。端末装置100は、起動部601と、実行部602と、出力部603とを含む。
FIG. 6 is a block diagram showing a functional configuration example of the
起動部601~出力部603は、制御部となる機能である。起動部601~出力部603は、具体的には、例えば、図2に示したメモリ202や記録媒体205などの記憶領域に記憶されたプログラムをCPU201に実行させることにより、または、ネットワークI/F203により、その機能を実現する。各機能部の処理結果は、例えば、図2に示したメモリ202や記録媒体205などの記憶領域に記憶される。
The
起動部601は、第1のアプリケーション101を起動する。第1のアプリケーション101は、端末装置100上で動作するアプリケーションである。第1のアプリケーション101は、例えば、外部アプリである。起動部601は、例えば、第2のアプリケーション102からの指示識別情報を含む動作指示に基づき、第1のアプリケーション101を起動する。第2のアプリケーション102は、端末装置100上で動作するアプリケーションである。第2のアプリケーション102は、例えば、モバイルアプリである。指示識別情報は、例えば、識別IDである。動作指示は、例えば、その動作指示を識別する識別IDを含む。動作指示は、さらに、その動作指示に対応する動作によって得られるデータを保存する保存先となる、対象ファイルのパスを含んでもよい。動作指示は、例えば、URLスキームである。
The
起動部601は、具体的には、モバイルアプリが作成した、識別IDを含むURLスキームを実行することにより、外部アプリを起動する。これにより、外部アプリは、URLスキームに基づいて、そのURLスキームを識別する識別IDを取得することができ、そのURLスキームに対応する動作を行って得られるデータを保存する保存先になる対象ファイルのパスを取得することができる。
Specifically, the
実行部602は、第1のアプリケーション101を実行する。実行部602は、第1のアプリケーション101を実行することによって、動作指示に対応した動作を実行する。動作は、例えば、バーコードからのデータの読み取り、および読み取りデータの出力などである。実行部602は、例えば、動作にデータの出力が含まれる場合は、データと指示識別情報とを関連付けて第2のアプリケーション102が参照可能である記憶領域に保存する。
The
実行部602は、例えば、外部アプリを実行することによって、モバイルアプリからのURLスキームに基づいて、バーコードからデータを読み取り、識別IDと対応付けて対象ファイルに保存する。これにより、実行部602は、モバイルアプリに、モバイルアプリが作成したURLスキームに対応し、外部アプリによって作成されたデータを特定させ、取得させることができる。
The
また、動作は、指示識別情報が所定の条件を満たさない場合に、第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
実行部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
また、動作指示は、さらに、第2のアプリケーション102に指定され、指示識別情報が保存される記憶領域を示す情報を含んでもよい。指示識別情報が保存される記憶領域は、例えば、対象ファイルである。実行部602は、例えば、外部アプリの起動に応じて、外部アプリによって、識別IDを対象ファイルに保存する。これにより、実行部602は、対象ファイルに、外部アプリが起動したことを示す情報として、識別IDを保存することができる。
Further, the operation instruction may further include information indicating a storage area designated for the
実行部602は、例えば、対象ファイルにデータを保存する際、そのデータに対応付けてそのデータに関する時点情報を保存してもよい。実行部602は、具体的には、データを取得した時点、データを作成した時点、またはデータを保存する時点などを示す時点情報を保存する。これにより、実行部602は、モバイルアプリが、外部アプリの動作状態を判定するための情報を保存しておくことができる。
For example, when the
実行部602は、第2のアプリケーション102を実行する。実行部602は、第2のアプリケーション102を実行することによって、第1のアプリケーション101への動作指示に、第1のアプリケーション101が参照可能である記憶領域を示す情報と、その動作指示を識別する指示識別情報とを含めることができる。そして、実行部602は、第1のアプリケーション101への動作指示を発行することができる。
The
実行部602は、例えば、外部アプリへの動作指示となるURLスキームを、そのURLスキームを識別する識別IDと、その外部アプリによって取得されるデータの保存先になる対象ファイルのパスとを含めて発行することができる。これにより、実行部602は、外部アプリに、識別IDに対応付けて対象ファイルにデータを保存させることができる。このため、実行部602は、モバイルアプリが、発行したURLスキームに対応するデータを特定して、取得することができるようにすることができる。
The
実行部602は、第2のアプリケーション102を実行することによって、記憶領域を監視し、動作指示に応じて起動した第1のアプリケーション101によって、その記憶領域に指示識別情報に対応付けて保存されたデータを取得する。実行部602は、例えば、対象ファイルを監視し、外部アプリが識別IDに対応付けて対象ファイルに書き込んだデータを取得することができる。
The
実行部602は、さらに、動作指示を発行した時点と、記憶領域にデータが書き込まれた時点との差分が閾値以上である場合に、記憶領域からデータを削除してもよい。実行部602は、例えば、指示管理DB300の発行日時と、ファイルDB500の入力日時との差分が閾値以上である場合に、対象ファイルからデータを取得せずに削除する。これにより、実行部602は、セキュリティの低下を抑制することができる。
Further, the
実行部602は、さらに、データを取得した場合、記憶領域からデータを削除してもよい。実行部602は、例えば、対象ファイルからデータを取得した場合、コンテンツDB400にデータを複製して、対象ファイルからはそのデータを削除する。これにより、実行部602は、外部アプリが書き込んだデータが、のちに不正利用されないようにして、セキュリティの低下を抑制することができる。
Further, when the
出力部603は、第1のアプリケーション101や第2のアプリケーション102が取得したデータを出力する機能を有する。また、出力部603は、さらに、第1のアプリケーション101と第2のアプリケーション102との起動状態や連携状態を示す情報を出力する機能を有してもよい。出力形式は、例えば、ディスプレイへの表示、タッチパネル206への表示、プリンタへの印刷出力、ネットワークI/F203による外部装置への送信、または、メモリ202や記録媒体205などの記憶領域への記憶などである。
The
(実施例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
UI処理部711は、ブラウザ712を介して1以上のコンテンツを提供する。UI処理部711は、ブラウザ712を介して、利用者701からの操作入力を受け付ける。アプリ管理部713は、外部アプリ720を起動する。アプリ管理部713は、監視部714を有する。監視部714は、外部アプリ720が保存するデータを監視する。
The
図7の例では(7-1)モバイルアプリ710は、UI処理部711によって、ブラウザ712の提供するいずれかのコンテンツにおいて、タッチパネル206などを用いた利用者701からの外部アプリ720の起動を要求する操作入力を受け付ける。モバイルアプリ710は、UI処理部711からアプリ管理部713へと、外部アプリ720の起動を要求する操作入力を通知する。
In the example of FIG. 7, (7-1) the
また、モバイルアプリ710は、UI処理部711からアプリ管理部713へと、その操作入力を受け付けたコンテンツのコンテンツIDを通知する。これにより、モバイルアプリ710は、アプリ管理部713に、どの外部アプリ720を起動するかを通知し、どのコンテンツが外部アプリ720が保存するデータを利用するかを通知することができる。
Further, the
(7-2)モバイルアプリ710は、アプリ管理部713によって、次に発行する動作指示を識別する識別IDを生成する。また、モバイルアプリ710は、アプリ管理部713によって、次に発行する動作指示によって起動される外部アプリ720によってデータが保存される対象ファイルをファイルDB500に生成し、その対象ファイルのパスを生成する。また、モバイルアプリ710は、アプリ管理部713によって、操作入力を受け付けたコンテンツのコンテンツIDを生成する。
(7-2) The
モバイルアプリ710は、アプリ管理部713によって、生成した識別IDとパスとコンテンツIDとを対応付けて指示管理DB300に記憶する。モバイルアプリ710は、アプリ管理部713によって、生成した識別IDとパスとを含む動作指示になるURLスキームを作成する。モバイルアプリ710は、監視部714によって、生成した対象ファイルへのデータの書き込み状況を監視し始める。これにより、モバイルアプリ710は、外部アプリ720がデータを対象ファイルに書き込んでから、そのデータを取得するまでにかかる時間の低減化を図ることができる。また、モバイルアプリ710は、コンテンツIDをURLスキームに含めないため、コンテンツIDが不正アプリに流用される可能性を低減することができる。
The
(7-3)モバイルアプリ710は、アプリ管理部713によって、作成したURLスキームを実行する。これにより、モバイルアプリ710は、OSを通じて、外部アプリ720を起動することができる。また、モバイルアプリ710は、外部アプリ720に、動作指示に対応した所定の動作を行わせ、対象ファイルにデータを保存させることができる。また、モバイルアプリ710は、コンテンツIDを外部アプリ720に渡さないため、コンテンツIDが不正アプリに流用される可能性を低減することができる。
(7-3) The
(7-4)外部アプリ720は、OSを通じて、起動される。外部アプリ720は、起動すると、URLスキームに含まれる識別IDと対象ファイルのパスとを取得する。外部アプリ720は、取得したパスに基づいて、取得した識別IDと、入力日時とを対応付けて、ファイルDB500の対象ファイルに保存する。モバイルアプリ710は、監視部714によって、対象ファイルに書き込まれた識別IDや入力日時などのデータを取得し、コンテンツDB400に記憶する。
(7-4) The
これにより、モバイルアプリ710は、監視部714によって、外部アプリ720からURLスキームに対して応答されなくても、外部アプリ720が起動したことを検出することができる。また、モバイルアプリ710は、監視部714によって、外部アプリ720が起動した日時を取得することができる。モバイルアプリ710は、監視部714によって、外部アプリ720が起動に成功したか否かを把握することができる。次に、図8の説明に移行する。
As a result, the
図8の例では(8-1)外部アプリ720は、タッチパネル206などを用いた、利用者701からの操作入力に応じて、データを取得する。外部アプリ720は、例えば、バーコードリーダの機能を実現し、バーコードからデータを読み取る。
In the example of FIG. 8, (8-1) the
(8-2)外部アプリ720は、識別IDを用いて、読み取ったデータを暗号化する。外部アプリ720は、取得したパスに基づいて、取得した識別IDと、暗号化により得られた暗号化データと、入力日時とを対応付けて、ファイルDB500の対象ファイルに保存する。ここで、外部アプリ720は、対象ファイルに保存する識別IDや入力日時も暗号化してもよい。これにより、外部アプリ720は、セキュリティの向上を図ることができる。
(8-2) The
(8-3)モバイルアプリ710は、監視部714によって、対象ファイルに書き込まれた識別IDと暗号化データと入力日時とを取得し、暗号化データを復号する。モバイルアプリ710は、指示管理DB300の発行日時に基づいて、取得した識別IDが、生成してから所定時間が経過した識別IDであれば、暗号化データを復号せずに削除してもよい。また、モバイルアプリ710は、暗号化データを取得すると、対象ファイルから暗号化データを削除する。これにより、モバイルアプリ710は、取得済みの暗号化データが不正アプリに利用されることを防止し、セキュリティの向上を図ることができる。
(8-3) The
(8-4)モバイルアプリ710は、監視部714によって、取得した識別IDが、生成してから所定時間が経過していない識別IDであれば、指示管理DB300に基づいて、取得した識別IDに対応するコンテンツIDを特定する。モバイルアプリ710は、監視部714によって、取得した識別IDと、復号により得られたデータと、特定したコンテンツIDとを対応付けて、コンテンツDB400に記憶する。これにより、モバイルアプリ710は、どのコンテンツに、取得したデータを利用させるかを特定することができる。
(8-4) If the identification ID acquired by the
(8-5)モバイルアプリ710は、UI処理部711によって、タッチパネル206などを用いた、利用者701からの操作入力に応じて、フォアグラウンドに移動する。これにより、モバイルアプリ710は、外部アプリ720が連続して複数のデータを取得する動作を行う場合などには、フォアグラウンドに移動せず、外部アプリ720を介した利用者701の操作入力を行いやすくすることができる。
(8-5) The
(8-6)モバイルアプリ710は、UI処理部711によって、コンテンツDB400からデータを取得するAPI(Application Programming Interface)を呼び出して、実行する。モバイルアプリ710は、UI処理部711によって、データを取得する。これにより、モバイルアプリ710は、操作入力を受け付けたコンテンツに、取得したデータを利用させることができる。
(8-6) The
(8-7)モバイルアプリ710は、UI処理部711によって、操作入力を受け付けたコンテンツにおいて、取得したデータを処理する。これにより、端末装置100は、外部アプリ720と、モバイルアプリ710との連携を実現することができる。また、端末装置100は、モバイルアプリ710と外部アプリ720との連携によって、モバイルアプリ710のデータサイズの増大化を抑制することができる。
(8-7) The
また、端末装置100は、OSによって、モバイルアプリ710と、外部アプリ720とに、それぞれ、メモリ容量を割り当てることができる。また、外部アプリ720は、データを取得する都度、そのデータを保存することができる。また、外部アプリ720は、データを取得する都度、そのデータをモバイルアプリ710に送信して、モバイルアプリ710をフォアグラウンドに移動させなくてもよい。
Further, the
このように、モバイルアプリ710は、識別IDを確認することにより、起動した外部アプリ720と、対象ファイルにデータを保存した外部アプリ720とが同一であることを確認することができる。このため、モバイルアプリ710は、識別IDを含む動作指示を発行した外部アプリ720とは異なる不正アプリによって保存されたデータを、誤って取得してしまうことを抑制することができる。
In this way, the
また、モバイルアプリ710は、識別IDを確認することにより、同じ外部アプリ720が保存したデータが、識別IDに対応する動作指示に基づく動作によって保存されたデータであるか否かを判別することができる。このため、モバイルアプリ710は、識別IDに対応する動作指示とは異なる動作指示に基づく動作によって保存されたデータを、誤って取得してしまうことを抑制することができる。また、モバイルアプリ710は、フォアグラウンドに移動しなくても、バックグラウンドのまま、外部アプリ720が保存したデータを取得することができる。
Further, the
また、外部アプリ720は、データを取得する都度、モバイルアプリ710に送信しておかなくても、モバイルアプリ710が、ファイルDB500の入力日時に基づいて、データを取得した順番を特定可能なようにすることができる。モバイルアプリ710は、ファイルDB500の入力日時に基づいて、外部アプリ720がデータを取得した順番を特定することができる。
Further, even if the
また、外部アプリ720は、同時に複数のモバイルアプリ710から動作指示を受け付けても、データを保存するファイルを、それぞれのモバイルアプリ710が指定した対象ファイルに分けることができる。このため、外部アプリ720は、それぞれのモバイルアプリ710が取得するデータが混在してしまうことを防止し、複数のモバイルアプリ710の競合を抑制することができる。
Further, even if the
外部アプリ720は、不正アプリが識別IDを流用してURLスキームを用いて起動した場合でも、過去に用いたことがある識別IDによるURLスキームであれば、起動時処理を中断することができ、セキュリティの向上を図ることができる。また、外部アプリ720は、対象ファイルが作成されていない場合に、起動時処理を中断し、セキュリティの向上を図ってもよい。
Even if the
また、製作者は、外部アプリ720を変更する場合には、モバイルアプリ710を変更しなくてもよい。同様に、製作者は、モバイルアプリ710を変更する場合には、外部アプリ720を変更しなくてもよい。このため、製作者は、モバイルアプリ710や外部アプリ720を管理しやすくなる。
Further, when changing the
(連携処理手順の一例)
次に、図9および図10を用いて、端末装置100がモバイルアプリ710によって実行する連携処理手順の一例について説明する。
(Example of cooperation processing procedure)
Next, an example of the cooperation processing procedure executed by the
図9および図10は、モバイルアプリ710によって実行する連携処理手順の一例を示すフローチャートである。図9において、端末装置100は、外部アプリ720を起動する操作入力を、利用者701から受け付ける(ステップS901)。
9 and 10 are flowcharts showing an example of the cooperation processing procedure executed by the
端末装置100は、操作入力を受け付けると、識別IDと、外部アプリ720によるデータの保存先になるファイルとを作成する(ステップS902)。端末装置100は、作成した識別IDと、作成したファイルの識別情報とを対応付けて、モバイルアプリ710内の指示管理DB300に記憶する(ステップS903)。
Upon receiving the operation input, the
端末装置100は、外部アプリ720の動作指示になるURLスキームを作成する(ステップS904)。端末装置100は、作成したファイルの監視を開始する(ステップS905)。端末装置100は、作成したURLスキームを実行する(ステップS906)。端末装置100は、図10のステップS1001の処理に移行する。
The
図10において、端末装置100は、作成したファイルの監視によって、そのファイルに暗号化データが書き込まれたか否かを判定する(ステップS1001)。ここで、暗号化データが書き込まれていない場合(ステップS1001:No)、端末装置100は、ステップS1001の処理に戻る。
In FIG. 10, the
一方で、暗号化データが書き込まれている場合(ステップS1001:Yes)、端末装置100は、識別IDを用いて、ファイルに書き込まれた暗号化データを復号する(ステップS1002)。端末装置100は、復号によりデータを取得すると、ファイルから暗号化データを削除する(ステップS1003)。
On the other hand, when the encrypted data is written (step S1001: Yes), the
端末装置100は、復号により取得したデータが識別IDと一致するか否かを判定する(ステップS1004)。ここで、一致しない場合(ステップS1004:No)、端末装置100は、識別IDが有効であるか否かを判定する(ステップS1005)。ここで、有効ではない場合(ステップS1005:No)、端末装置100は、連携処理を終了する。
The
一方で、有効である場合(ステップS1005:Yes)、端末装置100は、復号により取得したデータを、モバイルアプリ710内のコンテンツDB400に記憶する(ステップS1006)。
On the other hand, when it is valid (step S1005: Yes), the
端末装置100は、モバイルアプリ710を、フォアグラウンドに移動する(ステップS1007)。端末装置100は、コンテンツDB400からデータを取得するAPIを実行する(ステップS1008)。端末装置100は、データを反映する(ステップS1009)。端末装置100は、ステップS1001の処理に戻る。
The
一方で、一致する場合(ステップS1004:Yes)、端末装置100は、入力日時-発行日時が、閾値未満であるか否かを判定する(ステップS1010)。ここで、閾値以上である場合(ステップS1010:No)、端末装置100は、識別IDを無効化する(ステップS1011)。端末装置100は、連携処理を終了する。
On the other hand, if they match (step S1004: Yes), the
一方で、閾値未満である場合(ステップ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
(動作処理手順の一例)
次に、図11を用いて、端末装置100が外部アプリ720によって実行する動作処理手順の一例について説明する。
(Example of operation processing procedure)
Next, an example of an operation processing procedure executed by the
図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
端末装置100は、受け付けた動作指示に応じた動作を行う(ステップS1103)。端末装置100は、動作指示に応じた動作を行った結果、データを取得する(ステップS1104)。端末装置100は、取得したデータを識別IDで暗号化する(ステップS1105)。
The
端末装置100は、暗号化により得られた暗号化データを、日時に対応付けてファイルに保存する(ステップS1106)。これにより、端末装置100は、モバイルアプリ710が取得可能な状態でデータを保存することができ、モバイルアプリ710と外部アプリ720との連携を実現することができる。
The
以上説明したように、端末装置100上で動作する第1のアプリケーション101によれば、端末装置100上で動作する第2のアプリケーション102からの、指示識別情報を含む動作指示に応じて起動することができる。また、第1のアプリケーション101によれば、動作指示に対応した動作を実行し、動作にデータの出力が含まれる場合は、データと指示識別情報とを関連付けて第2のアプリケーション102が参照可能である記憶領域に保存することができる。これにより、第1のアプリケーション101は、第2のアプリケーション102が取得可能なようにデータを保存することができ、第2のアプリケーション102との連携を実現することができる。
As described above, according to the
結果として、端末装置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
また、第1のアプリケーション101によれば、指示識別情報が所定の条件を満たさない場合に、第1のアプリケーション101の起動時に行われる処理を中断し、または、第1のアプリケーション101を終了する動作を実行することができる。これにより、第1のアプリケーション101は、不正アプリによる動作指示によって動作することを防止することができる。
Further, according to the
また、第1のアプリケーション101によれば、第2のアプリケーション102からのURLスキームによってOSを通じて起動することができる。これにより、第1のアプリケーション101は、第2のアプリケーション102に応答しなくてもよい。
Further, according to the
また、第1のアプリケーション101によれば、起動に応じて、指示識別情報を、動作指示に含まれ、第2のアプリケーション102に指定された第1の記憶領域に保存することができる。これにより、第1のアプリケーション101は、第2のアプリケーション102が、第1のアプリケーション101の起動成功を把握可能にすることができる。
Further, according to the
また、第1のアプリケーション101によれば、データと指示識別情報とを関連付けて動作指示に含まれ、第2のアプリケーション102に指定された第2の記憶領域に保存することができる。これにより、第1のアプリケーション101は、第2のアプリケーション102が取得可能であり、第2のアプリケーション102以外の不正アプリなどが特定していない記憶領域に、データを保存することができ、セキュリティの向上を図ることができる。
Further, according to the
また、第1のアプリケーション101によれば、データと指示識別情報とデータに関する時点情報とを関連付けて保存することができる。これにより、第1のアプリケーション101は、第2のアプリケーション102がデータを管理しやすくすることができる。
Further, according to the
また、第2のアプリケーション102によれば、第1のアプリケーション101への動作指示を、第2のアプリケーション102が参照可能である記憶領域を示す情報と、動作指示を識別する指示識別情報とを含めて発行することができる。また、第2のアプリケーション102によれば、その記憶領域を監視し、動作指示に応じて起動した第1のアプリケーション101によって指示識別情報に対応付けて保存されたデータを取得することができる。これにより、第2のアプリケーション102は、第1のアプリケーション101と連携することができる。
Further, according to the
また、第2のアプリケーション102によれば、動作指示を発行された時点と、記憶領域にデータが書き込まれた時点との差分が閾値以上である場合には、記憶領域からデータを削除することができる。これにより、第2のアプリケーション102は、セキュリティの向上を図ることができる。
Further, according to the
また、第2のアプリケーション102によれば、データを取得した場合、記憶領域からデータを削除することができる。これにより、第2のアプリケーション102は、セキュリティの向上を図ることができる。
Further, according to the
なお、本実施の形態で説明したプログラムの実行方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明したプログラムは、ハードディスク、フレキシブルディスク、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
(付記3)前記動作指示は、Uniform Resource Locator SchemeによってOperating Systemを通じて行われる、ことを特徴とする付記1または2に記載のプログラム。
(Supplementary Note 3) The program according to
(付記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
(付記6)前記保存する処理は、前記データと前記指示識別情報と前記データに関する時点情報とを関連付けて保存する、ことを特徴とする付記1~5のいずれか一つに記載のプログラム。
(Supplementary Note 6) The program according to any one of
(付記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
202
204 Recording medium I / F
205 Recording medium 206
400 Content DB
500 file DB
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.
前記保存する処理は、さらに、前記プログラムの起動に応じて、前記動作指示に基づいて、前記第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.
前記保存する処理は、前記動作指示に基づいて、前記データと前記第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の指示識別情報を含む動作指示に応じて起動し、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.
前記プログラムを、前記他のプログラムから取得した、第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.
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)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020198550A (en) * | 2019-06-03 | 2020-12-10 | ヤマハ株式会社 | program |
Citations (4)
| 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)
| 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 |
-
2017
- 2017-04-06 JP JP2019511027A patent/JP7017161B2/en not_active Expired - Fee Related
- 2017-04-06 WO PCT/JP2017/014423 patent/WO2018185919A1/en not_active Ceased
Patent Citations (4)
| 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)
| 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 |