WO2018185919A1 - プログラム、プログラムの実行方法、および端末装置 - Google Patents
プログラム、プログラムの実行方法、および端末装置 Download PDFInfo
- Publication number
- WO2018185919A1 WO2018185919A1 PCT/JP2017/014423 JP2017014423W WO2018185919A1 WO 2018185919 A1 WO2018185919 A1 WO 2018185919A1 JP 2017014423 W JP2017014423 W JP 2017014423W WO 2018185919 A1 WO2018185919 A1 WO 2018185919A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- program
- application
- terminal device
- 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.)
- Ceased
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
Definitions
- the present invention relates to a program, a program execution method, and a terminal device.
- the function of an application may be expanded by adding a plug-in to the application that operates on the terminal device.
- the prior art for example, there is one that acquires identification information of an activation source program corresponding to an operation object on which a predetermined operation has been performed, and switches a moving image to be reproduced based on the identification information of the activation source program. Further, for example, when receiving attribute information of a user who uses a serial code, there is a technique of responding with a reward specifying information previously associated with the attribute information of the user. In addition, for example, there is a technology for extracting Web API identification information included in an OS function execution request acquired from a Web application via Web API, and executing a function module stored in association with the extracted Web API identification information. is there.
- an object of the present invention is to provide a program that can be linked between programs, a method for executing the program, and a terminal device.
- activation is performed in accordance with an operation instruction including instruction identification information from another program operating on the terminal device, an operation corresponding to the operation instruction is executed, and data is output to the operation Is included, a program that operates on the terminal device is proposed in which the data is associated with the instruction identification information and stored in a storage area that can be referred to by the other program.
- FIG. 1 is an explanatory diagram of an example of a program execution method according to the embodiment.
- FIG. 2 is a block diagram illustrating a hardware configuration example of the terminal device 100.
- FIG. 3 is an explanatory diagram showing an example of the contents stored in the instruction management DB 300.
- FIG. 4 is an explanatory diagram showing an example of the contents stored in the content DB 400.
- FIG. 5 is an explanatory diagram showing an example of the contents stored in the file DB 500.
- FIG. 6 is a block diagram illustrating a functional configuration example of the terminal device 100.
- FIG. 7 is an explanatory diagram (part 1) illustrating the first embodiment.
- FIG. 8 is an explanatory diagram (part 2) of the first embodiment.
- FIG. 1 is an explanatory diagram of an example of a program execution method according to the embodiment.
- FIG. 2 is a block diagram illustrating a hardware configuration example of the terminal device 100.
- FIG. 3 is an explanatory diagram showing an example of the contents stored in the instruction management
- FIG. 9 is a flowchart (part 1) illustrating an example of a cooperation processing procedure executed by the mobile application 710.
- FIG. 10 is a flowchart (part 2) illustrating an example of the cooperation processing procedure executed by the mobile application 710.
- FIG. 11 is a flowchart illustrating an example of an operation processing procedure executed by the external application 720.
- FIG. 1 is an explanatory diagram of an example of a program execution method according to the embodiment.
- 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.
- the plurality of applications include, for example, a mobile application and an external application.
- mobile applications may be referred to as “mobile apps”.
- an external application may be referred to as “external application”.
- the terminal device 100 is, for example, a smartphone or a tablet terminal.
- adding a plug-in to the mobile application leads to an increase in the data size of the mobile application.
- changing the plug-in may increase the data size of the mobile application. For this reason, when distributing a mobile application, the communication burden concerning a smart phone etc. will increase.
- the plug-in added to the mobile application uses the memory capacity allocated from the OS (Operating System) for the mobile application in common with the main routine of the mobile application. For this reason, the memory capacity used by the mobile application becomes larger than the memory capacity allocated from the OS to the mobile application, and the memory capacity may be insufficient.
- OS Operating System
- the mobile application may start an external application such as a barcode reader via a URL scheme (Uniform Resource Locator Scheme).
- a URL scheme Uniform Resource Locator Scheme
- a user can cause an external application to read a plurality of data one by one, but each time the external application reads the data, the data is transmitted to the mobile application and moved to the background. Become. For this reason, whenever a user makes an external application read data, an external application will be moved to a foreground again, and the convenience, such as a smart phone, will fall.
- the external application sends a plurality of data to the mobile app after the user has read a plurality of data, but when the external app reads some of the plurality of data May be forcibly terminated and the read data may be lost. For this reason, after having the external application read some of the multiple data to the external application, if the external application is forcibly terminated, the user will be able to read multiple data again, reducing the convenience of smartphones, etc. Resulting in.
- the mobile app may receive data via the URL scheme even from an unauthorized app different from the activated external app. For this reason, there is a possibility that the mobile application may cause a decrease in security of a smartphone or the like.
- identification information for identifying the mobile application is passed to the external application, and if the identification information is not attached to the received data, the data is discarded. If you want to. However, even in this case, the mobile application cannot discard the data from the unauthorized application if the identification information passed to the external application in the past is diverted to the unauthorized application.
- cooperation between applications is realized by using instruction identification information that is included in an instruction issued by a mobile application to an external application via a URL scheme and identifies the instruction itself.
- instruction identification information that is included in an instruction issued by a mobile application to an external application via a URL scheme and identifies the instruction itself.
- 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 activated by a mobile application.
- the external application is, for example, a barcode reader.
- the second application 102 is a mobile application.
- the first application 101 is activated in response to an operation instruction including instruction identification information from the second application 102.
- the mobile application activates an external application through the OS by executing a URL scheme including instruction identification information. Thereby, the external application can acquire the instruction identification information.
- the first application 101 executes an operation corresponding to the operation instruction.
- the external application reads data from the barcode based on, for example, a user operation input. Thereby, the external application is an output target and can read data to be acquired by the mobile application.
- 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 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.
- the second application 102 can read out and acquire the data saved by the first application 101 from the storage area, and can use the data.
- an external application can implement
- 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. And even if the creator of a mobile application changes the external application and increases the data size of the external application, the mobile application need not be changed and the data size of the mobile application need not be increased. For this reason, if the producer redistributes the external application, the mobile application does not have to be redistributed, and the communication burden on the terminal device 100 can be reduced. Similarly, the producer does not have to redistribute the external application even when the mobile application is changed.
- the terminal device 100 can allocate a memory capacity to each of the mobile application and the external application by the OS. For this reason, 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, the terminal device 100 can reduce the possibility that the memory capacity used by the external application becomes larger than the memory capacity assigned to the external application from the OS, and the memory capacity is insufficient.
- each time an external application acquires data it can store the data. For this reason, even if the external application is forcibly terminated, the possibility of losing data can be reduced. Further, each time an external application acquires data, the possibility of losing data can be reduced without transmitting the data to the mobile application.
- the external application need not transmit the data to the mobile application and move the mobile application to the foreground. For this reason, the external application moves to the foreground every time data is acquired when the user tries to perform an operation input for acquiring a plurality of data continuously, making it difficult for the user to perform an operation input. It is possible to reduce the possibility of the occurrence.
- FIG. 2 is a block diagram illustrating a hardware configuration example of the terminal device 100.
- 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. Each component is connected by a bus 200.
- 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 a RAM is used as a work area of the CPU 201. The program stored in the memory 202 is loaded on the CPU 201 to cause the CPU 201 to execute the coded process.
- the network I / F 203 is connected to the network 210 via a communication line, and is connected to another computer via the network 210.
- the network I / F 203 controls an internal interface with the network 210 and controls data input / output from other computers.
- a modem or a LAN adapter can be employed as the network I / F 203.
- the recording medium I / F 204 controls reading / writing of data with respect 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.
- the touch panel 206 has a display for displaying data such as a document, an image, and function information as well as a cursor, an icon or a tool box.
- the touch panel 206 is provided on the display or on the outer periphery of the display, and has a detection device that detects the contact position of the user on the touch panel 206.
- the detection device detects the contact position using, for example, a resistance film method, a capacitance method, an ultrasonic method, an optical method, or an electromagnetic induction method.
- the touch panel 206 inputs characters, numbers, various instructions and the like according to the contact position of the user.
- the terminal device 100 may include, for example, a keyboard, a mouse, a display, and the like in addition to the above-described components. Further, the terminal device 100 may not include the recording medium I / F 204 and the recording medium 205.
- the instruction management DB 300 is realized by, for example, the memory 202 or the recording medium 205 of the terminal device 100 illustrated in FIG.
- FIG. 3 is an explanatory diagram showing an example of the contents stored in the instruction management DB 300.
- the instruction management DB 300 includes 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.
- an identification ID for identifying a URL scheme to be an operation instruction is set.
- the content ID field is set with a content ID for identifying content that is provided by the mobile application and uses one or more data stored by the external application activated by the URL scheme.
- a user ID for identifying a user of the mobile application is set.
- the data storage destination field a path of a target file in which the external application activated by the URL scheme stores data is set.
- the issue date field the date and time when the URL scheme is created is set.
- Content DB 400 (Contents stored in content DB 400) Next, contents stored in the content DB 400 stored in a 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 or the recording medium 205 of the terminal device 100 illustrated in FIG.
- FIG. 4 is an explanatory diagram showing an example of the contents stored in the content DB 400.
- the content DB 400 includes fields for content ID, content name, user ID, and data.
- the content DB 400 stores content information as a record by setting information in each field for each content.
- a content ID for identifying content that is provided by the mobile application and uses one or more data saved by an external application activated by the URL scheme is set.
- the content name field the name of the content is set.
- the user ID field a user ID for identifying a user of the mobile application is set.
- the data field parameters related to contents are set, and for example, one or more data stored by an external application is set.
- the file DB 500 is realized by, for example, a server capable of communicating via the memory 202, the recording medium 205, or the network 210 of the terminal device 100 illustrated in FIG.
- FIG. 5 is an explanatory diagram showing an example of the contents stored in the file DB 500.
- the file DB 500 includes fields for an identification ID, data, and input date / time.
- the file DB 500 stores information as a record by setting information in each field for each data.
- the identification ID field is included in a URL scheme that is an operation instruction, and an identification ID for identifying the URL scheme is set. Data obtained by an operation based on the URL scheme is set in the data field. In the input date and time field, the date and time when data is set in the data field is set.
- FIG. 6 is a block diagram illustrating 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.
- the starting unit 601 to the output unit 603 are functions serving as control units. Specifically, the activation unit 601 to the output unit 603, for example, cause the CPU 201 to execute a program stored in a storage area such as the memory 202 and the recording medium 205 illustrated in FIG. By realizing the function.
- the processing result of each functional unit is stored in a storage area such as the memory 202 and the recording medium 205 shown in FIG.
- 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 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 a path of the target file that is a storage destination for storing data obtained by the operation corresponding to the operation instruction.
- the operation instruction is, for example, a URL scheme.
- the activation unit 601 activates the external application by executing the URL scheme including the identification ID created by the mobile application.
- the external application can acquire an identification ID for identifying the URL scheme based on the URL scheme, and a target file that is a storage destination for storing data obtained by performing an operation corresponding to the URL scheme. Can get the path.
- the execution unit 602 executes the first application 101.
- the execution unit 602 executes an 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.
- 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.
- the execution unit 602 reads the data from the barcode based on the URL scheme from the mobile application, for example, by executing an external application, and stores the data in the target file in association with the identification ID. Accordingly, the execution unit 602 can cause the mobile application to identify and acquire data created by the external application corresponding to the URL scheme created by the mobile application.
- the operation may include an operation of interrupting the process performed when the first application 101 is activated or terminating the first application 101 when the instruction identification information does not satisfy a predetermined condition.
- the execution unit 602 may interrupt the process performed when starting the external application and terminate the external application if the identification ID does not match the preset format.
- 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 parity is included in the identification ID. Thereby, the execution part 602 can suppress that an external application is used by an unauthorized application.
- the execution unit 602 interrupts the processing performed when the external application is activated.
- the external application may be terminated.
- the execution part 602 can suppress that an external application is utilized by an unauthorized application even if the unauthorized application diverts an identification ID created in the past by the mobile application.
- the operation instruction may further include information indicating a storage area designated by the second application 102 and storing the instruction identification information.
- the storage area in which the instruction identification information is stored is, for example, a target file.
- the execution unit 602 stores the identification ID in the target file by the external application in response to the activation of the external application. Thereby, the execution part 602 can preserve
- the execution unit 602 may store time information regarding the data in association with the data, for example, when storing the data in the target file. Specifically, the execution unit 602 stores time information indicating the time when data is acquired, the time when data is created, the time when data is stored, and the like. Thereby, the execution part 602 can preserve
- 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 as an operation instruction to the first application 101, and the operation instruction. Instruction identification information can be included. Then, the execution unit 602 can issue an operation instruction to the first application 101.
- the execution unit 602 includes, for example, a URL scheme that is an operation instruction to an external application, including 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. Accordingly, the execution unit 602 can cause the external application to save data in the target file in association with the identification ID. For this reason, the execution unit 602 can specify and acquire data corresponding to the issued URL scheme by the mobile application.
- 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 monitor the target file and acquire data written in the target file by the external application in association with the identification ID.
- 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 greater than the threshold value. For example, when the difference between the issue date / time of the instruction management DB 300 and the input date / time of the file DB 500 is equal to or greater than a threshold, the execution unit 602 deletes the data without acquiring data from the target file. Thereby, the execution part 602 can suppress the fall of security.
- the execution unit 602 may delete the data from the storage area when acquiring the data. For example, when the execution unit 602 acquires data from the target file, the execution unit 602 copies the data to the content DB 400 and deletes the data from the target file. As a result, the execution unit 602 can prevent a decrease in security by preventing data written by an external application from being illegally used later.
- the output unit 603 has a function of outputting 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 the display, display on the touch panel 206, print output to the printer, transmission to an external device via the network I / F 203, or storage in a storage area such as the memory 202 or the recording medium 205. It is.
- Example 1 Next, Example 1 will be described with reference to FIGS.
- FIG. 7 and 8 are explanatory diagrams showing Example 1.
- the terminal device 100 can operate the mobile application 710 and the external application 720 on its own device.
- the mobile application 710 includes a UI processing unit 711 and an application management unit 713.
- 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 through the browser 712.
- the application management unit 713 activates the external application 720.
- the application management unit 713 includes a monitoring unit 714.
- the monitoring unit 714 monitors data stored by the external application 720.
- 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 for any content provided by the browser 712. An operation input is received. The mobile application 710 notifies an operation input for requesting activation of the external application 720 from the UI processing unit 711 to the application management unit 713.
- the mobile application 710 notifies the content ID of the content that has received the operation input from the UI processing unit 711 to the application management unit 713. Thereby, the mobile application 710 can notify the application management unit 713 which external application 720 is to be activated, and which content uses data stored in the external application 720.
- the mobile application 710 uses the application management unit 713 to generate an identification ID for identifying an operation instruction to be issued next.
- the mobile application 710 generates, in the file DB 500, a target file in which data is stored by the external application 720 activated by an operation instruction to be issued next by the application management unit 713, and generates a path of the target file.
- the mobile application 710 generates a content ID of content for which an operation input has been received by the application management unit 713.
- the mobile application 710 causes the application management unit 713 to store the generated identification ID, path, and content ID in the instruction management DB 300 in association with each other.
- the mobile application 710 uses the application management unit 713 to create a URL scheme that serves as an operation instruction including the generated identification ID and path.
- the mobile application 710 starts monitoring the state of data writing to the generated target file by the monitoring unit 714. As a result, the mobile application 710 can reduce the time taken from the time the external application 720 writes data to the target file until the data is acquired.
- the mobile application 710 does not include the content ID in the URL scheme, the possibility that the content ID is diverted to an unauthorized application can be reduced.
- the mobile application 710 executes the created URL scheme by the application management unit 713. Thereby, the mobile application 710 can start the external application 720 through the OS. In addition, 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. Moreover, 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 an unauthorized application can be reduced.
- the external application 720 is activated through the OS.
- the external application 720 acquires an identification ID included in the URL scheme and a path of the target file. Based on the acquired path, the external application 720 associates the acquired identification ID with the input date and time and saves it in the target file of the file DB 500.
- the mobile application 710 acquires data such as the identification ID and the input date / time written in the target file by the monitoring unit 714 and stores the data in the content DB 400.
- the mobile application 710 can detect that the external application 720 has been activated by the monitoring unit 714 even if the external application 720 does not respond to the URL scheme.
- 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 activated by the monitoring unit 714.
- the external application 720 acquires data in response to an operation input from the user 701 using the touch panel 206 or the like.
- the external application 720 implements, for example, a barcode reader function and reads data from the barcode.
- the external application 720 encrypts the read data using the identification ID. Based on the acquired path, the external application 720 associates the acquired identification ID, the encrypted data obtained by encryption, and the input date and time with each other, and stores it in the target file of the file DB 500. Here, the external application 720 may encrypt the identification ID and the input date / time stored in the target file. As a result, the external application 720 can improve security.
- the mobile application 710 uses the monitoring unit 714 to acquire the identification ID, encrypted data, and input date / time written in the target file, 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 generation based on the issue date 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. Thereby, the mobile application 710 can prevent the acquired encrypted data from being used by an unauthorized application, and can improve security.
- the mobile application 710 uses the monitoring unit 714 to set the acquired identification ID to the acquired identification ID based on the instruction management DB 300 if the acquired identification ID is an identification ID for which a predetermined time has not elapsed since generation.
- the corresponding content ID is specified.
- the mobile application 710 causes the monitoring unit 714 to associate the acquired identification ID, the data obtained by decryption, and the specified content ID with each other and store them in the content DB 400. Thereby, the mobile application 710 can specify which content is to use the acquired data.
- 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.
- the external application 720 performs the operation
- the mobile application 710 does not move to a foreground, but can perform the operation input of the user 701 via the external application 720 easily. can do.
- the mobile application 710 calls and executes an API (Application Programming Interface) that acquires data from the content DB 400 by the UI processing unit 711.
- the mobile application 710 acquires data by the UI processing unit 711. Thereby, the mobile application 710 can use the acquired data for the content for which the operation input is accepted.
- API Application Programming Interface
- the mobile application 710 uses the UI processing unit 711 to process the acquired data in the content that has received the operation input. Thereby, the terminal device 100 can implement
- the terminal device 100 can allocate a memory capacity to each of the mobile application 710 and the external application 720 depending on the OS.
- the external application 720 can store the data every time the data is acquired. Further, each time the external application 720 acquires data, the external application 720 does not need to transmit the data to the mobile application 710 and move the mobile application 710 to the foreground.
- the mobile application 710 can confirm that the activated external application 720 and the external application 720 storing the data in the target file are the same by confirming the identification ID. For this reason, the mobile application 710 can suppress erroneous acquisition of data stored by an unauthorized application different from the external application 720 that has issued the operation instruction including the identification ID.
- the mobile application 710 can determine whether the data stored by the same external application 720 is data stored by the operation based on the operation instruction corresponding to the identification ID by confirming the identification ID. it can. For this reason, the mobile application 710 can suppress erroneously acquiring data stored by an operation based on an operation instruction different from the operation instruction corresponding to the identification ID. In addition, the mobile application 710 can acquire the data stored by the external application 720 in the background without moving to the foreground.
- the external application 720 can specify the order in which the mobile application 710 acquires the data based on the input date and time of the file DB 500 without transmitting the data to the mobile application 710 each time the data is acquired. can do.
- the mobile application 710 can specify the order in which the external application 720 acquires data based on the input date and time of the file DB 500.
- the external application 720 can divide the file for storing the data into target files designated by the respective mobile applications 710. For this reason, the external application 720 can prevent the data acquired by each mobile application 710 from being mixed, and can suppress competition among the plurality of mobile applications 710.
- the external application 720 can interrupt the start-up process if the unauthorized application is activated using the identification ID and using the URL scheme if it is a URL scheme based on the identification ID that has been used in the past. Security can be improved. Further, when the target file has not been created, the external application 720 may interrupt the startup process to improve security.
- the producer does not need to change the mobile application 710 when changing the external application 720.
- the producer does not need to change the external application 720 when changing the mobile application 710. This makes it easier for the producer to manage the mobile application 710 and the external application 720.
- FIG. 9 and FIG. 10 are flowcharts showing an example of a cooperation processing procedure executed by the mobile application 710.
- the terminal device 100 receives an operation input for starting the external application 720 from the user 701 (step S901).
- the terminal device 100 When the terminal device 100 receives the operation input, the terminal device 100 creates an identification ID and a file as a data storage destination by the external application 720 (step S902). The terminal device 100 associates the created identification ID with the created file identification information and stores them in the instruction management DB 300 in the mobile application 710 (step S903).
- the terminal device 100 creates a URL scheme that is an operation instruction of 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 proceeds to the process of step S1001 in FIG.
- the terminal device 100 determines whether or not encrypted data has been written to the file by monitoring the created file (step S1001). Here, when encrypted data is not written (step S1001: No), the terminal device 100 returns to the process of step S1001.
- step S1001 when the encrypted data is written (step S1001: Yes), the terminal device 100 decrypts the encrypted data written in the file using the identification ID (step S1002). When the terminal apparatus 100 obtains the data by decryption, the terminal apparatus 100 deletes the encrypted data from the file (step S1003).
- the terminal device 100 determines whether or not the data acquired by decryption matches the identification ID (step S1004). Here, when it does not correspond (step S1004: No), the terminal device 100 determines whether or not the identification ID is valid (step S1005). Here, when it is not effective (step S1005: No), the terminal device 100 complete
- step S1005 if it is valid (step S1005: Yes), the terminal device 100 stores the data acquired by decryption in the content DB 400 in the mobile application 710 (step S1006).
- 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.
- step S1004 determines whether or not the input date / time and the issue date / time are less than the threshold (step S1010).
- step S1010 determines whether or not the input date / time and the issue date / time are less than the threshold.
- step S1010 determines whether or not the input date / time and the issue date / time are less than the threshold.
- step S1010 determines whether it is less than the threshold (step S1010: Yes).
- the terminal device 100 validates the identification ID (step S1012).
- the terminal device 100 returns to the process of step S1001. Thereby, 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 cooperation between the mobile application 710 and the external application 720.
- FIG. 11 is a flowchart illustrating an example of an operation processing procedure executed by the external application 720.
- the terminal device 100 accepts an operation instruction using a URL scheme (step S1101).
- the terminal device 100 stores the identification ID assigned to the operation instruction in a file in association with the date and time (step S1102).
- 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 the operation according to the operation instruction (step S1104).
- the terminal device 100 encrypts the acquired data with the identification ID (step S1105).
- the terminal device 100 stores the encrypted data obtained by the encryption in a file in association with the date and time (step S1106). Accordingly, the terminal device 100 can store data in a state where the mobile application 710 can acquire, and can realize cooperation between the mobile application 710 and the external application 720.
- the first application 101 is activated in response to the operation instruction including the instruction identification information from the second application 102 operating on the terminal device 100. Can do.
- the second application 102 can refer to the data by associating the data with the instruction identification information. It can be saved in a certain storage area.
- the first application 101 can store data so that the second application 102 can acquire it, and can realize cooperation with the second application 102.
- the terminal device 100 can suppress an increase in the data size of the second application 102 by cooperation between the first application 101 and the second application 102. Further, the terminal device 100 can allocate memory capacities to the first application 101 and the second application 102, respectively, depending on the OS. Further, the first application 101 can store the data every time the data is acquired. Further, each time the first application 101 acquires data, the first application 101 does not have to transmit the data to the second application 102 and move the second application 102 to the foreground.
- the first application 101 when the instruction identification information does not satisfy a predetermined condition, an operation for interrupting the processing performed when the first application 101 is activated or terminating the first application 101. Can be executed. Accordingly, the first application 101 can be prevented from operating according to an operation instruction from an unauthorized application.
- the first application 101 can be activated through the OS by the URL scheme from the second application 102. Thereby, the first application 101 does not need to respond to the second application 102.
- the instruction identification information can be stored in the first storage area included in the operation instruction and designated by the second application 102 in response to the activation.
- the first application 101 can enable the second application 102 to grasp the activation success of the first application 101.
- the data and the instruction identification information are 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.
- the first application 101 can be acquired by the second application 102 and can store data in a storage area that is not specified by an unauthorized application other than the second application 102. Improvements can be made.
- the data, the instruction identification information, and the time point information regarding the data can be stored in association with each other. Accordingly, the first application 101 can make it easier for the second application 102 to manage data.
- 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 data stored in association with the instruction identification information by the first application 101 activated in response to the operation instruction can be acquired. Thereby, the second application 102 can cooperate with the first application 101.
- the second application 102 if the difference between the time when the operation instruction is issued and the time when data is written to the storage area is equal to or greater than the threshold value, the data can be deleted from the storage area. it can. As a result, the second application 102 can improve security.
- the second application 102 when data is acquired, the data can be deleted from the storage area. As a result, the second application 102 can improve security.
- the program execution method described in the present embodiment can be realized by executing a 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, a flexible disk, a CD-ROM, an MO, and a DVD, and is executed by being read from the recording medium by the computer.
- the program described in this embodiment may be distributed via a network such as the Internet.
- 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 Start-up unit 602 Execution unit 603 Output unit 701 User 710 Mobile application 711 UI processing unit 712 Browser 713 Application management unit 714 Monitoring unit 720 External application
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)
Abstract
第1のアプリケーション(101)は、第2のアプリケーション(102)からの、指示識別情報を含む動作指示に応じて起動する。動作指示は、例えば、URLスキームである。第1のアプリケーション(101)は、動作指示に対応した動作を実行する。第1のアプリケーション(101)は、動作にデータの出力が含まれる場合は、データと指示識別情報とを関連付けて第2のアプリケーション(102)が参照可能である記憶領域に保存する。これにより、第1のアプリケーション(101)と第2のアプリケーション(102)とは連携する。
Description
本発明は、プログラム、プログラムの実行方法、および端末装置に関する。
従来、端末装置で動作するアプリケーションにプラグインを追加することにより、そのアプリケーションの機能拡張を行うことがある。
先行技術としては、例えば、所定操作がなされた操作オブジェクトに対応する起動元プログラムの識別情報を取得し、その起動元プログラムの識別情報に基づき再生する動画を切り替えるものがある。また、例えば、シリアルコードを使用するユーザの属性情報を受け付けた場合、そのユーザの属性情報に予め対応付けられたリワードの特定情報を応答する技術がある。また、例えば、WebアプリケーションからWebAPIを介して取得されたOS機能の実行要求に含まれるWebAPIの識別情報を抽出し、抽出したWebAPIの識別情報と対応付いて格納された機能モジュールを実行する技術がある。
しかしながら、従来技術では、端末装置で動作するアプリケーションにプラグインを追加すると、そのアプリケーションのデータサイズが増大してしまい、そのアプリケーションの配信にかかる負担の増大化を招く。一方で、アプリケーションに外部アプリケーションからデータを取得させるなど、アプリケーションを外部アプリケーションと連携させることが難しく、外部アプリにより機能拡張を行うこともできない。
1つの側面では、本発明は、プログラム間で連携することができるプログラム、プログラムの実行方法、および端末装置を提供することを目的とする。
1つの実施態様によれば、端末装置上で動作する他のプログラムからの、指示識別情報を含む動作指示に応じて起動し、前記動作指示に対応した動作を実行し、前記動作にデータの出力が含まれる場合は、前記データと前記指示識別情報とを関連付けて前記他のプログラムが参照可能である記憶領域に保存する、前記端末装置上で動作するプログラムが提案される。
本発明の一態様によれば、プログラム間で連携することができるという効果を奏する。
以下に、図面を参照して、本発明にかかるプログラム、プログラムの実行方法、および端末装置の実施の形態を詳細に説明する。
(実施の形態にかかるプログラムの実行方法の一実施例)
図1は、実施の形態にかかるプログラムの実行方法の一実施例を示す説明図である。図1の例では、端末装置100は、自装置上で、複数のプログラムを動作させるコンピュータである。複数のプログラムは、例えば、複数のアプリケーションである。複数のアプリケーションは、例えば、モバイルアプリケーションと外部アプリケーションとを含む。
図1は、実施の形態にかかるプログラムの実行方法の一実施例を示す説明図である。図1の例では、端末装置100は、自装置上で、複数のプログラムを動作させるコンピュータである。複数のプログラムは、例えば、複数のアプリケーションである。複数のアプリケーションは、例えば、モバイルアプリケーションと外部アプリケーションとを含む。
以下の説明では、モバイルアプリケーションを「モバイルアプリ」と表記する場合がある。以下の説明では、外部アプリケーションを「外部アプリ」と表記する場合がある。端末装置100は、例えば、スマートフォンやタブレット端末などである。
ここで、スマートフォンなどに予め導入され、または配信され、スマートフォンなどで動作するモバイルアプリについて機能拡張を行うことが望まれる場合がある。例えば、モバイルアプリにプラグインを追加することにより、そのモバイルアプリの機能拡張を行ったうえで、スマートフォンなどにそのモバイルアプリを配信することが考えられる。
しかしながら、この場合では、モバイルアプリにプラグインを追加することにより、モバイルアプリのデータサイズの増大化を招いてしまう。また、プラグインを変更すると、モバイルアプリのデータサイズの増大化を招いてしまうことがある。このため、モバイルアプリを配信する際に、スマートフォンなどにかかる通信負担の増大化を招いてしまう。
また、この場合では、モバイルアプリに追加されたプラグインは、モバイルアプリにOS(Operating System)から割り当てられたメモリ容量を、モバイルアプリのメインルーチンなどと共通して使用することになる。このため、モバイルアプリが使用するメモリ容量が、モバイルアプリにOSから割り当てられたメモリ容量よりも大きくなり、メモリ容量が不足してしまう可能性がある。
これに対し、モバイルアプリを外部アプリと連携させることにより、モバイルアプリについて機能拡張を行う場合が考えられる。例えば、モバイルアプリが、URLスキーム(Uniform Resource Locator Scheme)を介して、バーコードリーダなどの外部アプリを起動する場合が考えられる。外部アプリが、URLスキームを介して、データをモバイルアプリに送信する場合が考えられる。
しかしながら、この場合では、外部アプリが、URLスキームを用いるため、データをモバイルアプリに送信する都度、そのモバイルアプリをフォアグラウンドに移動してしまう。このため、外部アプリが、複数のデータをモバイルアプリに送信する際には、スマートフォンなどの利便性の低下を招いてしまう可能性がある。
例えば、利用者が外部アプリに複数のデータを1つずつ読み取らせることが考えられるが、外部アプリは、データを読み取る都度、そのデータをモバイルアプリに送信し、バックグラウンドに移動してしまうことになる。このため、利用者は、外部アプリにデータを読み取らせる都度、外部アプリをフォアグラウンドに移動し直すことになり、スマートフォンなどの利便性は低下してしまう。
一方で、利用者が外部アプリに複数のデータを読み取らせた後に外部アプリがモバイルアプリに複数のデータをまとめて送信することが考えられるが、外部アプリは、複数のデータをいくつか読み取った時点で強制終了し、読み取ったデータを喪失することがある。このため、利用者は、外部アプリに複数のデータのいくつかを読み取らせた後、外部アプリが強制終了してしまうと、再び複数のデータを読み取らせることになり、スマートフォンなどの利便性は低下してしまう。
また、この場合では、モバイルアプリは、起動した外部アプリとは異なる不正アプリからでも、URLスキームを介して、データを受け取ってしまう可能性がある。このため、モバイルアプリが、スマートフォンなどのセキュリティの低下を招いてしまう可能性がある。
さらに、モバイルアプリが、外部アプリを起動する際に、モバイルアプリを識別する識別情報を外部アプリに渡しておき、受け取ったデータにその識別情報が付されていなければ、そのデータを破棄するようにする場合が考えられる。しかしながら、この場合であっても、モバイルアプリは、過去に外部アプリに渡した識別情報が不正アプリに流用された場合には、不正アプリからのデータを破棄することができない。
そこで、本実施の形態では、モバイルアプリがURLスキームを介して外部アプリに対して発行する指示に含まれ、その指示自体を識別する指示識別情報を利用することにより、アプリケーション間の連携を実現する外部アプリの実行方法について説明する。
図1の例では、端末装置100は、自装置上で、第1のアプリケーション101と第2のアプリケーション102とを動作可能である。第1のアプリケーション101は、モバイルアプリによって起動される外部アプリである。外部アプリは、例えば、バーコードリーダである。第2のアプリケーション102は、モバイルアプリである。
(1-1)第1のアプリケーション101は、第2のアプリケーション102からの、指示識別情報を含む動作指示に応じて起動する。例えば、モバイルアプリは、指示識別情報を含むURLスキームを実行することにより、OSを通じて外部アプリを起動する。これにより、外部アプリは、指示識別情報を取得することができる。
(1-2)第1のアプリケーション101は、動作指示に対応した動作を実行する。外部アプリは、例えば、利用者の操作入力に基づいて、バーコードからデータを読み取る。これにより、外部アプリは、出力対象であり、モバイルアプリに取得させるデータを読み取ることができる。
(1-3)第1のアプリケーション101は、動作にデータの出力が含まれる場合は、データと指示識別情報とを関連付けて第2のアプリケーション102が参照可能である記憶領域に保存する。外部アプリは、例えば、読み取ったデータを、動作指示に含まれる指示識別情報に関連付けてモバイルアプリが参照可能である記憶領域に保存する。
一方で、第2のアプリケーション102は、第1のアプリケーション101によって保存されたデータを記憶領域から読み出して取得することができ、そのデータを利用することができる。これにより、外部アプリは、モバイルアプリとの連携を実現し、モバイルアプリにプラグインを追加しなくても端末装置100の機能を増やすことができる。
また、端末装置100は、モバイルアプリと外部アプリとの連携によって、モバイルアプリのデータサイズの増大化を抑制することができる。そして、モバイルアプリの製作者は、外部アプリを変更して外部アプリのデータサイズを増大した場合でも、モバイルアプリを変更しなくてもよくモバイルアプリのデータサイズを増大させなくてよくなる。このため、製作者は、外部アプリを配信し直せば、モバイルアプリを配信し直さなくてもよく、端末装置100にかかる通信負担を低減することができる。同様に、製作者は、モバイルアプリを変更した場合でも、外部アプリを配信し直さなくてもよい。
また、端末装置100は、OSによって、モバイルアプリと、外部アプリとに、それぞれ、メモリ容量を割り当てることができる。このため、端末装置100は、モバイルアプリが使用するメモリ容量が、モバイルアプリにOSから割り当てられたメモリ容量よりも大きくなり、メモリ容量が不足してしまう可能性を低減することができる。同様に、端末装置100は、外部アプリが使用するメモリ容量が、外部アプリにOSから割り当てられたメモリ容量よりも大きくなり、メモリ容量が不足してしまう可能性を低減することができる。
また、外部アプリは、データを取得する都度、そのデータを保存することができる。このため、外部アプリは、強制終了された場合であっても、データを喪失する可能性を低減することができる。また、外部アプリは、データを取得する都度、そのデータをモバイルアプリに送信しなくても、データを喪失する可能性を低減することができる。
また、外部アプリは、データを取得する都度、そのデータをモバイルアプリに送信して、モバイルアプリをフォアグラウンドに移動させなくてもよい。このため、外部アプリは、利用者が複数のデータを連続して取得する操作入力を行おうとする場合に、データを取得する都度モバイルアプリをフォアグラウンドに移動してしまい利用者が操作入力を行いづらくしてしまう可能性を低減することができる。
(端末装置100のハードウェア構成例)
次に、図2を用いて、端末装置100のハードウェア構成例について説明する。
次に、図2を用いて、端末装置100のハードウェア構成例について説明する。
図2は、端末装置100のハードウェア構成例を示すブロック図である。図2において、端末装置100は、CPU(Central Processing Unit)201と、メモリ202と、ネットワークI/F(Interface)203と、記録媒体I/F204と、記録媒体205と、タッチパネル206とを有する。また、各構成部は、バス200によってそれぞれ接続される。
ここで、CPU201は、端末装置100の全体の制御を司る。メモリ202は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU201のワークエリアとして使用される。メモリ202に記憶されるプログラムは、CPU201にロードされることで、コーディングされている処理をCPU201に実行させる。
ネットワークI/F203は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F203は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F203には、例えば、モデムやLANアダプタなどを採用することができる。
記録媒体I/F204は、CPU201の制御に従って記録媒体205に対するデータのリード/ライトを制御する。記録媒体I/F204は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体205は、記録媒体I/F204の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体205は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体205は、端末装置100から着脱可能であってもよい。記録媒体205は、実施の形態にかかるアプリケーションを記憶してもよい。
タッチパネル206は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示するディスプレイを有する。タッチパネル206は、ディスプレイ上、または、ディスプレイ外周部に設けられ、タッチパネル206上のユーザの接触位置を検出する検出装置を有する。検出装置は、例えば、抵抗膜方式、静電容量方式、超音波方式、光学方式、または、電磁誘導方式などを用いて、接触位置を検出する。タッチパネル206は、ユーザの接触位置に応じて、文字、数字、各種指示などの入力を行う。
端末装置100は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイなどを有してもよい。また、端末装置100は、記録媒体I/F204や記録媒体205を有していなくてもよい。
(指示管理DB(DataBase)300の記憶内容)
次に、図3を用いて、モバイルアプリが参照可能な記憶領域に記憶される指示管理DB300の記憶内容について説明する。指示管理DB300は、例えば、図2に示した端末装置100のメモリ202や記録媒体205により実現される。
次に、図3を用いて、モバイルアプリが参照可能な記憶領域に記憶される指示管理DB300の記憶内容について説明する。指示管理DB300は、例えば、図2に示した端末装置100のメモリ202や記録媒体205により実現される。
図3は、指示管理DB300の記憶内容の一例を示す説明図である。図3に示すように、指示管理DB300は、識別IDと、コンテンツIDと、ユーザIDと、データ格納先と、発行日時とのフィールドを有する。指示管理DB300は、動作指示ごとに各フィールドに情報を設定することにより、動作指示情報がレコードとして記憶される。
識別IDのフィールドは、動作指示になるURLスキームを識別する識別IDが設定される。コンテンツIDのフィールドは、モバイルアプリが提供するコンテンツであって、そのURLスキームによって起動される外部アプリによって保存された1以上のデータを利用するコンテンツを識別するコンテンツIDが設定される。ユーザIDのフィールドは、モバイルアプリの利用者を識別するユーザIDが設定される。データ格納先のフィールドは、そのURLスキームによって起動される外部アプリがデータを保存する対象ファイルのパスが設定される。発行日時のフィールドは、そのURLスキームを作成した日時が設定される。
(コンテンツDB400の記憶内容)
次に、図4を用いて、モバイルアプリが参照可能な記憶領域に記憶されるコンテンツDB400の記憶内容について説明する。コンテンツDB400は、例えば、図2に示した端末装置100のメモリ202や記録媒体205により実現される。
次に、図4を用いて、モバイルアプリが参照可能な記憶領域に記憶されるコンテンツDB400の記憶内容について説明する。コンテンツDB400は、例えば、図2に示した端末装置100のメモリ202や記録媒体205により実現される。
図4は、コンテンツDB400の記憶内容の一例を示す説明図である。図4に示すように、コンテンツDB400は、コンテンツIDと、コンテンツ名と、ユーザIDと、データとのフィールドを有する。コンテンツDB400は、コンテンツごとに各フィールドに情報を設定することにより、コンテンツ情報がレコードとして記憶される。
コンテンツIDのフィールドは、モバイルアプリが提供するコンテンツであって、URLスキームによって起動される外部アプリによって保存された1以上のデータを利用するコンテンツを識別するコンテンツIDが設定される。コンテンツ名のフィールドは、そのコンテンツの名称が設定される。ユーザIDのフィールドは、モバイルアプリの利用者を識別するユーザIDが設定される。データのフィールドは、コンテンツに関するパラメータが設定され、例えば、外部アプリによって保存された1以上のデータが設定される。
(ファイルDB500の記憶内容)
次に、図5を用いて、モバイルアプリと外部アプリが共通して参照可能な記憶領域に記憶されるファイルDB500の記憶内容について説明する。ファイルDB500は、例えば、図2に示した端末装置100のメモリ202や記録媒体205、あるいは、ネットワーク210を経由して通信可能なサーバにより実現される。
次に、図5を用いて、モバイルアプリと外部アプリが共通して参照可能な記憶領域に記憶されるファイルDB500の記憶内容について説明する。ファイルDB500は、例えば、図2に示した端末装置100のメモリ202や記録媒体205、あるいは、ネットワーク210を経由して通信可能なサーバにより実現される。
図5は、ファイルDB500の記憶内容の一例を示す説明図である。図5に示すように、ファイルDB500は、識別IDと、データと、入力日時とのフィールドを有する。ファイルDB500は、データごとに各フィールドに情報を設定することにより、ファイルがレコードとして記憶される。
識別IDのフィールドは、動作指示になるURLスキームに含まれ、そのURLスキームを識別する識別IDが設定される。データのフィールドは、そのURLスキームに基づく動作によって得られたデータが設定される。入力日時のフィールドは、データのフィールドにデータを設定した日時が設定される。
(端末装置100の機能的構成例)
次に、図6を用いて、端末装置100の機能的構成例について説明する。
次に、図6を用いて、端末装置100の機能的構成例について説明する。
図6は、端末装置100の機能的構成例を示すブロック図である。端末装置100は、起動部601と、実行部602と、出力部603とを含む。
起動部601~出力部603は、制御部となる機能である。起動部601~出力部603は、具体的には、例えば、図2に示したメモリ202や記録媒体205などの記憶領域に記憶されたプログラムをCPU201に実行させることにより、または、ネットワークI/F203により、その機能を実現する。各機能部の処理結果は、例えば、図2に示したメモリ202や記録媒体205などの記憶領域に記憶される。
起動部601は、第1のアプリケーション101を起動する。第1のアプリケーション101は、端末装置100上で動作するアプリケーションである。第1のアプリケーション101は、例えば、外部アプリである。起動部601は、例えば、第2のアプリケーション102からの指示識別情報を含む動作指示に基づき、第1のアプリケーション101を起動する。第2のアプリケーション102は、端末装置100上で動作するアプリケーションである。第2のアプリケーション102は、例えば、モバイルアプリである。指示識別情報は、例えば、識別IDである。動作指示は、例えば、その動作指示を識別する識別IDを含む。動作指示は、さらに、その動作指示に対応する動作によって得られるデータを保存する保存先となる、対象ファイルのパスを含んでもよい。動作指示は、例えば、URLスキームである。
起動部601は、具体的には、モバイルアプリが作成した、識別IDを含むURLスキームを実行することにより、外部アプリを起動する。これにより、外部アプリは、URLスキームに基づいて、そのURLスキームを識別する識別IDを取得することができ、そのURLスキームに対応する動作を行って得られるデータを保存する保存先になる対象ファイルのパスを取得することができる。
実行部602は、第1のアプリケーション101を実行する。実行部602は、第1のアプリケーション101を実行することによって、動作指示に対応した動作を実行する。動作は、例えば、バーコードからのデータの読み取り、および読み取りデータの出力などである。実行部602は、例えば、動作にデータの出力が含まれる場合は、データと指示識別情報とを関連付けて第2のアプリケーション102が参照可能である記憶領域に保存する。
実行部602は、例えば、外部アプリを実行することによって、モバイルアプリからのURLスキームに基づいて、バーコードからデータを読み取り、識別IDと対応付けて対象ファイルに保存する。これにより、実行部602は、モバイルアプリに、モバイルアプリが作成したURLスキームに対応し、外部アプリによって作成されたデータを特定させ、取得させることができる。
また、動作は、指示識別情報が所定の条件を満たさない場合に、第1のアプリケーション101の起動時に行われる処理を中断し、または、第1のアプリケーション101を終了する動作を含んでもよい。実行部602は、例えば、予め設定された形式に合致しない識別IDであれば、外部アプリの起動時に行われる処理を中断し、外部アプリを終了してもよい。形式は、例えば、識別IDの先頭文字の形式である。形式は、例えば、識別IDにパリティを含むという形式であってもよい。これにより、実行部602は、外部アプリが不正アプリによって利用されることを抑制することができる。
実行部602は、例えば、指示識別情報が、過去に取得したことがあり、過去に取得した時点から所定の時間が経過した指示識別情報である場合、外部アプリの起動時に行われる処理を中断し、外部アプリを終了してもよい。これにより、実行部602は、モバイルアプリが過去に作成した識別IDを不正アプリが流用した場合などであっても、外部アプリが不正アプリによって利用されることを抑制することができる。
また、動作指示は、さらに、第2のアプリケーション102に指定され、指示識別情報が保存される記憶領域を示す情報を含んでもよい。指示識別情報が保存される記憶領域は、例えば、対象ファイルである。実行部602は、例えば、外部アプリの起動に応じて、外部アプリによって、識別IDを対象ファイルに保存する。これにより、実行部602は、対象ファイルに、外部アプリが起動したことを示す情報として、識別IDを保存することができる。
実行部602は、例えば、対象ファイルにデータを保存する際、そのデータに対応付けてそのデータに関する時点情報を保存してもよい。実行部602は、具体的には、データを取得した時点、データを作成した時点、またはデータを保存する時点などを示す時点情報を保存する。これにより、実行部602は、モバイルアプリが、外部アプリの動作状態を判定するための情報を保存しておくことができる。
実行部602は、第2のアプリケーション102を実行する。実行部602は、第2のアプリケーション102を実行することによって、第1のアプリケーション101への動作指示に、第1のアプリケーション101が参照可能である記憶領域を示す情報と、その動作指示を識別する指示識別情報とを含めることができる。そして、実行部602は、第1のアプリケーション101への動作指示を発行することができる。
実行部602は、例えば、外部アプリへの動作指示となるURLスキームを、そのURLスキームを識別する識別IDと、その外部アプリによって取得されるデータの保存先になる対象ファイルのパスとを含めて発行することができる。これにより、実行部602は、外部アプリに、識別IDに対応付けて対象ファイルにデータを保存させることができる。このため、実行部602は、モバイルアプリが、発行したURLスキームに対応するデータを特定して、取得することができるようにすることができる。
実行部602は、第2のアプリケーション102を実行することによって、記憶領域を監視し、動作指示に応じて起動した第1のアプリケーション101によって、その記憶領域に指示識別情報に対応付けて保存されたデータを取得する。実行部602は、例えば、対象ファイルを監視し、外部アプリが識別IDに対応付けて対象ファイルに書き込んだデータを取得することができる。
実行部602は、さらに、動作指示を発行した時点と、記憶領域にデータが書き込まれた時点との差分が閾値以上である場合に、記憶領域からデータを削除してもよい。実行部602は、例えば、指示管理DB300の発行日時と、ファイルDB500の入力日時との差分が閾値以上である場合に、対象ファイルからデータを取得せずに削除する。これにより、実行部602は、セキュリティの低下を抑制することができる。
実行部602は、さらに、データを取得した場合、記憶領域からデータを削除してもよい。実行部602は、例えば、対象ファイルからデータを取得した場合、コンテンツDB400にデータを複製して、対象ファイルからはそのデータを削除する。これにより、実行部602は、外部アプリが書き込んだデータが、のちに不正利用されないようにして、セキュリティの低下を抑制することができる。
出力部603は、第1のアプリケーション101や第2のアプリケーション102が取得したデータを出力する機能を有する。また、出力部603は、さらに、第1のアプリケーション101と第2のアプリケーション102との起動状態や連携状態を示す情報を出力する機能を有してもよい。出力形式は、例えば、ディスプレイへの表示、タッチパネル206への表示、プリンタへの印刷出力、ネットワークI/F203による外部装置への送信、または、メモリ202や記録媒体205などの記憶領域への記憶などである。
(実施例1)
次に、図7および図8を用いて、実施例1について説明する。
次に、図7および図8を用いて、実施例1について説明する。
図7および図8は、実施例1を示す説明図である。図7および図8の例では、端末装置100は、自装置上で、モバイルアプリ710と外部アプリ720を動作させることができる。モバイルアプリ710は、UI処理部711と、アプリ管理部713とを有する。
UI処理部711は、ブラウザ712を介して1以上のコンテンツを提供する。UI処理部711は、ブラウザ712を介して、利用者701からの操作入力を受け付ける。アプリ管理部713は、外部アプリ720を起動する。アプリ管理部713は、監視部714を有する。監視部714は、外部アプリ720が保存するデータを監視する。
図7の例では(7-1)モバイルアプリ710は、UI処理部711によって、ブラウザ712の提供するいずれかのコンテンツにおいて、タッチパネル206などを用いた利用者701からの外部アプリ720の起動を要求する操作入力を受け付ける。モバイルアプリ710は、UI処理部711からアプリ管理部713へと、外部アプリ720の起動を要求する操作入力を通知する。
また、モバイルアプリ710は、UI処理部711からアプリ管理部713へと、その操作入力を受け付けたコンテンツのコンテンツIDを通知する。これにより、モバイルアプリ710は、アプリ管理部713に、どの外部アプリ720を起動するかを通知し、どのコンテンツが外部アプリ720が保存するデータを利用するかを通知することができる。
(7-2)モバイルアプリ710は、アプリ管理部713によって、次に発行する動作指示を識別する識別IDを生成する。また、モバイルアプリ710は、アプリ管理部713によって、次に発行する動作指示によって起動される外部アプリ720によってデータが保存される対象ファイルをファイルDB500に生成し、その対象ファイルのパスを生成する。また、モバイルアプリ710は、アプリ管理部713によって、操作入力を受け付けたコンテンツのコンテンツIDを生成する。
モバイルアプリ710は、アプリ管理部713によって、生成した識別IDとパスとコンテンツIDとを対応付けて指示管理DB300に記憶する。モバイルアプリ710は、アプリ管理部713によって、生成した識別IDとパスとを含む動作指示になるURLスキームを作成する。モバイルアプリ710は、監視部714によって、生成した対象ファイルへのデータの書き込み状況を監視し始める。これにより、モバイルアプリ710は、外部アプリ720がデータを対象ファイルに書き込んでから、そのデータを取得するまでにかかる時間の低減化を図ることができる。また、モバイルアプリ710は、コンテンツIDをURLスキームに含めないため、コンテンツIDが不正アプリに流用される可能性を低減することができる。
(7-3)モバイルアプリ710は、アプリ管理部713によって、作成したURLスキームを実行する。これにより、モバイルアプリ710は、OSを通じて、外部アプリ720を起動することができる。また、モバイルアプリ710は、外部アプリ720に、動作指示に対応した所定の動作を行わせ、対象ファイルにデータを保存させることができる。また、モバイルアプリ710は、コンテンツIDを外部アプリ720に渡さないため、コンテンツIDが不正アプリに流用される可能性を低減することができる。
(7-4)外部アプリ720は、OSを通じて、起動される。外部アプリ720は、起動すると、URLスキームに含まれる識別IDと対象ファイルのパスとを取得する。外部アプリ720は、取得したパスに基づいて、取得した識別IDと、入力日時とを対応付けて、ファイルDB500の対象ファイルに保存する。モバイルアプリ710は、監視部714によって、対象ファイルに書き込まれた識別IDや入力日時などのデータを取得し、コンテンツDB400に記憶する。
これにより、モバイルアプリ710は、監視部714によって、外部アプリ720からURLスキームに対して応答されなくても、外部アプリ720が起動したことを検出することができる。また、モバイルアプリ710は、監視部714によって、外部アプリ720が起動した日時を取得することができる。モバイルアプリ710は、監視部714によって、外部アプリ720が起動に成功したか否かを把握することができる。次に、図8の説明に移行する。
図8の例では(8-1)外部アプリ720は、タッチパネル206などを用いた、利用者701からの操作入力に応じて、データを取得する。外部アプリ720は、例えば、バーコードリーダの機能を実現し、バーコードからデータを読み取る。
(8-2)外部アプリ720は、識別IDを用いて、読み取ったデータを暗号化する。外部アプリ720は、取得したパスに基づいて、取得した識別IDと、暗号化により得られた暗号化データと、入力日時とを対応付けて、ファイルDB500の対象ファイルに保存する。ここで、外部アプリ720は、対象ファイルに保存する識別IDや入力日時も暗号化してもよい。これにより、外部アプリ720は、セキュリティの向上を図ることができる。
(8-3)モバイルアプリ710は、監視部714によって、対象ファイルに書き込まれた識別IDと暗号化データと入力日時とを取得し、暗号化データを復号する。モバイルアプリ710は、指示管理DB300の発行日時に基づいて、取得した識別IDが、生成してから所定時間が経過した識別IDであれば、暗号化データを復号せずに削除してもよい。また、モバイルアプリ710は、暗号化データを取得すると、対象ファイルから暗号化データを削除する。これにより、モバイルアプリ710は、取得済みの暗号化データが不正アプリに利用されることを防止し、セキュリティの向上を図ることができる。
(8-4)モバイルアプリ710は、監視部714によって、取得した識別IDが、生成してから所定時間が経過していない識別IDであれば、指示管理DB300に基づいて、取得した識別IDに対応するコンテンツIDを特定する。モバイルアプリ710は、監視部714によって、取得した識別IDと、復号により得られたデータと、特定したコンテンツIDとを対応付けて、コンテンツDB400に記憶する。これにより、モバイルアプリ710は、どのコンテンツに、取得したデータを利用させるかを特定することができる。
(8-5)モバイルアプリ710は、UI処理部711によって、タッチパネル206などを用いた、利用者701からの操作入力に応じて、フォアグラウンドに移動する。これにより、モバイルアプリ710は、外部アプリ720が連続して複数のデータを取得する動作を行う場合などには、フォアグラウンドに移動せず、外部アプリ720を介した利用者701の操作入力を行いやすくすることができる。
(8-6)モバイルアプリ710は、UI処理部711によって、コンテンツDB400からデータを取得するAPI(Application Programming Interface)を呼び出して、実行する。モバイルアプリ710は、UI処理部711によって、データを取得する。これにより、モバイルアプリ710は、操作入力を受け付けたコンテンツに、取得したデータを利用させることができる。
(8-7)モバイルアプリ710は、UI処理部711によって、操作入力を受け付けたコンテンツにおいて、取得したデータを処理する。これにより、端末装置100は、外部アプリ720と、モバイルアプリ710との連携を実現することができる。また、端末装置100は、モバイルアプリ710と外部アプリ720との連携によって、モバイルアプリ710のデータサイズの増大化を抑制することができる。
また、端末装置100は、OSによって、モバイルアプリ710と、外部アプリ720とに、それぞれ、メモリ容量を割り当てることができる。また、外部アプリ720は、データを取得する都度、そのデータを保存することができる。また、外部アプリ720は、データを取得する都度、そのデータをモバイルアプリ710に送信して、モバイルアプリ710をフォアグラウンドに移動させなくてもよい。
このように、モバイルアプリ710は、識別IDを確認することにより、起動した外部アプリ720と、対象ファイルにデータを保存した外部アプリ720とが同一であることを確認することができる。このため、モバイルアプリ710は、識別IDを含む動作指示を発行した外部アプリ720とは異なる不正アプリによって保存されたデータを、誤って取得してしまうことを抑制することができる。
また、モバイルアプリ710は、識別IDを確認することにより、同じ外部アプリ720が保存したデータが、識別IDに対応する動作指示に基づく動作によって保存されたデータであるか否かを判別することができる。このため、モバイルアプリ710は、識別IDに対応する動作指示とは異なる動作指示に基づく動作によって保存されたデータを、誤って取得してしまうことを抑制することができる。また、モバイルアプリ710は、フォアグラウンドに移動しなくても、バックグラウンドのまま、外部アプリ720が保存したデータを取得することができる。
また、外部アプリ720は、データを取得する都度、モバイルアプリ710に送信しておかなくても、モバイルアプリ710が、ファイルDB500の入力日時に基づいて、データを取得した順番を特定可能なようにすることができる。モバイルアプリ710は、ファイルDB500の入力日時に基づいて、外部アプリ720がデータを取得した順番を特定することができる。
また、外部アプリ720は、同時に複数のモバイルアプリ710から動作指示を受け付けても、データを保存するファイルを、それぞれのモバイルアプリ710が指定した対象ファイルに分けることができる。このため、外部アプリ720は、それぞれのモバイルアプリ710が取得するデータが混在してしまうことを防止し、複数のモバイルアプリ710の競合を抑制することができる。
外部アプリ720は、不正アプリが識別IDを流用してURLスキームを用いて起動した場合でも、過去に用いたことがある識別IDによるURLスキームであれば、起動時処理を中断することができ、セキュリティの向上を図ることができる。また、外部アプリ720は、対象ファイルが作成されていない場合に、起動時処理を中断し、セキュリティの向上を図ってもよい。
また、製作者は、外部アプリ720を変更する場合には、モバイルアプリ710を変更しなくてもよい。同様に、製作者は、モバイルアプリ710を変更する場合には、外部アプリ720を変更しなくてもよい。このため、製作者は、モバイルアプリ710や外部アプリ720を管理しやすくなる。
(連携処理手順の一例)
次に、図9および図10を用いて、端末装置100がモバイルアプリ710によって実行する連携処理手順の一例について説明する。
次に、図9および図10を用いて、端末装置100がモバイルアプリ710によって実行する連携処理手順の一例について説明する。
図9および図10は、モバイルアプリ710によって実行する連携処理手順の一例を示すフローチャートである。図9において、端末装置100は、外部アプリ720を起動する操作入力を、利用者701から受け付ける(ステップS901)。
端末装置100は、操作入力を受け付けると、識別IDと、外部アプリ720によるデータの保存先になるファイルとを作成する(ステップS902)。端末装置100は、作成した識別IDと、作成したファイルの識別情報とを対応付けて、モバイルアプリ710内の指示管理DB300に記憶する(ステップS903)。
端末装置100は、外部アプリ720の動作指示になるURLスキームを作成する(ステップS904)。端末装置100は、作成したファイルの監視を開始する(ステップS905)。端末装置100は、作成したURLスキームを実行する(ステップS906)。端末装置100は、図10のステップS1001の処理に移行する。
図10において、端末装置100は、作成したファイルの監視によって、そのファイルに暗号化データが書き込まれたか否かを判定する(ステップS1001)。ここで、暗号化データが書き込まれていない場合(ステップS1001:No)、端末装置100は、ステップS1001の処理に戻る。
一方で、暗号化データが書き込まれている場合(ステップS1001:Yes)、端末装置100は、識別IDを用いて、ファイルに書き込まれた暗号化データを復号する(ステップS1002)。端末装置100は、復号によりデータを取得すると、ファイルから暗号化データを削除する(ステップS1003)。
端末装置100は、復号により取得したデータが識別IDと一致するか否かを判定する(ステップS1004)。ここで、一致しない場合(ステップS1004:No)、端末装置100は、識別IDが有効であるか否かを判定する(ステップS1005)。ここで、有効ではない場合(ステップS1005:No)、端末装置100は、連携処理を終了する。
一方で、有効である場合(ステップS1005:Yes)、端末装置100は、復号により取得したデータを、モバイルアプリ710内のコンテンツDB400に記憶する(ステップS1006)。
端末装置100は、モバイルアプリ710を、フォアグラウンドに移動する(ステップS1007)。端末装置100は、コンテンツDB400からデータを取得するAPIを実行する(ステップS1008)。端末装置100は、データを反映する(ステップS1009)。端末装置100は、ステップS1001の処理に戻る。
一方で、一致する場合(ステップS1004:Yes)、端末装置100は、入力日時-発行日時が、閾値未満であるか否かを判定する(ステップS1010)。ここで、閾値以上である場合(ステップS1010:No)、端末装置100は、識別IDを無効化する(ステップS1011)。端末装置100は、連携処理を終了する。
一方で、閾値未満である場合(ステップS1010:Yes)、端末装置100は、識別IDを有効化する(ステップS1012)。端末装置100は、ステップS1001の処理に戻る。これにより、端末装置100は、外部アプリ720がファイルに書き込んだデータを、モバイルアプリ710で取得することができ、モバイルアプリ710と外部アプリ720との連携を実現することができる。
(動作処理手順の一例)
次に、図11を用いて、端末装置100が外部アプリ720によって実行する動作処理手順の一例について説明する。
次に、図11を用いて、端末装置100が外部アプリ720によって実行する動作処理手順の一例について説明する。
図11は、外部アプリ720によって実行する動作処理手順の一例を示すフローチャートである。図11において、端末装置100は、URLスキームを用いた動作指示を受け付ける(ステップS1101)。端末装置100は、動作指示を受け付けると、その動作指示に割り振られた識別IDを、日時に対応付けてファイルに保存する(ステップS1102)。
端末装置100は、受け付けた動作指示に応じた動作を行う(ステップS1103)。端末装置100は、動作指示に応じた動作を行った結果、データを取得する(ステップS1104)。端末装置100は、取得したデータを識別IDで暗号化する(ステップS1105)。
端末装置100は、暗号化により得られた暗号化データを、日時に対応付けてファイルに保存する(ステップS1106)。これにより、端末装置100は、モバイルアプリ710が取得可能な状態でデータを保存することができ、モバイルアプリ710と外部アプリ720との連携を実現することができる。
以上説明したように、端末装置100上で動作する第1のアプリケーション101によれば、端末装置100上で動作する第2のアプリケーション102からの、指示識別情報を含む動作指示に応じて起動することができる。また、第1のアプリケーション101によれば、動作指示に対応した動作を実行し、動作にデータの出力が含まれる場合は、データと指示識別情報とを関連付けて第2のアプリケーション102が参照可能である記憶領域に保存することができる。これにより、第1のアプリケーション101は、第2のアプリケーション102が取得可能なようにデータを保存することができ、第2のアプリケーション102との連携を実現することができる。
結果として、端末装置100は、第1のアプリケーション101と第2のアプリケーション102との連携によって、第2のアプリケーション102のデータサイズの増大化を抑制することができる。また、端末装置100は、OSによって、第1のアプリケーション101と、第2のアプリケーション102とに、それぞれ、メモリ容量を割り当てることができる。また、第1のアプリケーション101は、データを取得する都度、そのデータを保存することができる。また、第1のアプリケーション101は、データを取得する都度、そのデータを第2のアプリケーション102に送信して、第2のアプリケーション102をフォアグラウンドに移動させなくてもよい。
また、第1のアプリケーション101によれば、指示識別情報が所定の条件を満たさない場合に、第1のアプリケーション101の起動時に行われる処理を中断し、または、第1のアプリケーション101を終了する動作を実行することができる。これにより、第1のアプリケーション101は、不正アプリによる動作指示によって動作することを防止することができる。
また、第1のアプリケーション101によれば、第2のアプリケーション102からのURLスキームによってOSを通じて起動することができる。これにより、第1のアプリケーション101は、第2のアプリケーション102に応答しなくてもよい。
また、第1のアプリケーション101によれば、起動に応じて、指示識別情報を、動作指示に含まれ、第2のアプリケーション102に指定された第1の記憶領域に保存することができる。これにより、第1のアプリケーション101は、第2のアプリケーション102が、第1のアプリケーション101の起動成功を把握可能にすることができる。
また、第1のアプリケーション101によれば、データと指示識別情報とを関連付けて動作指示に含まれ、第2のアプリケーション102に指定された第2の記憶領域に保存することができる。これにより、第1のアプリケーション101は、第2のアプリケーション102が取得可能であり、第2のアプリケーション102以外の不正アプリなどが特定していない記憶領域に、データを保存することができ、セキュリティの向上を図ることができる。
また、第1のアプリケーション101によれば、データと指示識別情報とデータに関する時点情報とを関連付けて保存することができる。これにより、第1のアプリケーション101は、第2のアプリケーション102がデータを管理しやすくすることができる。
また、第2のアプリケーション102によれば、第1のアプリケーション101への動作指示を、第2のアプリケーション102が参照可能である記憶領域を示す情報と、動作指示を識別する指示識別情報とを含めて発行することができる。また、第2のアプリケーション102によれば、その記憶領域を監視し、動作指示に応じて起動した第1のアプリケーション101によって指示識別情報に対応付けて保存されたデータを取得することができる。これにより、第2のアプリケーション102は、第1のアプリケーション101と連携することができる。
また、第2のアプリケーション102によれば、動作指示を発行された時点と、記憶領域にデータが書き込まれた時点との差分が閾値以上である場合には、記憶領域からデータを削除することができる。これにより、第2のアプリケーション102は、セキュリティの向上を図ることができる。
また、第2のアプリケーション102によれば、データを取得した場合、記憶領域からデータを削除することができる。これにより、第2のアプリケーション102は、セキュリティの向上を図ることができる。
なお、本実施の形態で説明したプログラムの実行方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明したプログラムは、ハードディスク、フレキシブルディスク、CD-ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明したプログラムは、インターネット等のネットワークを介して配布してもよい。
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 外部アプリ
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 外部アプリ
Claims (11)
- 端末装置上で動作するプログラムであって、
前記端末装置上で動作する他のプログラムからの、指示識別情報を含む動作指示に応じて起動し、
前記動作指示に対応した動作を実行し、
前記動作にデータの出力が含まれる場合は、前記データと前記指示識別情報とを関連付けて前記他のプログラムが参照可能である記憶領域に保存する、
処理を前記端末装置に実行させることを特徴とするプログラム。 - 前記動作は、前記指示識別情報が所定の条件を満たさない場合に、前記プログラムの起動時に行われる処理を中断し、または、前記プログラムを終了する動作を含む、ことを特徴とする請求項1に記載のプログラム。
- 前記動作指示は、Uniform Resource Locator SchemeによってOperating Systemを通じて行われる、ことを特徴とする請求項1または2に記載のプログラム。
- 前記動作指示は、さらに、前記他のプログラムに指定され、前記指示識別情報が保存される第1の記憶領域を示す情報を含み、
前記保存する処理は、さらに、前記プログラムの起動に応じて、前記動作指示に基づいて、前記指示識別情報を前記第1の記憶領域に保存する、ことを特徴とする請求項1~3のいずれか一つに記載のプログラム。 - 前記動作指示は、さらに、前記他のプログラムに指定され、前記データが保存される第2の記憶領域を示す情報を含み、
前記保存する処理は、前記動作指示に基づいて、前記データと前記指示識別情報とを関連付けて前記第2の記憶領域に保存する、ことを特徴とする請求項1~4のいずれか一つに記載のプログラム。 - 前記保存する処理は、前記データと前記指示識別情報と前記データに関する時点情報とを関連付けて保存する、ことを特徴とする請求項1~5のいずれか一つに記載のプログラム。
- 端末装置上で動作するプログラムであって、
前記端末装置上で動作する他のプログラムへの動作指示を、前記プログラムが参照可能である記憶領域を示す情報と、前記動作指示を識別する指示識別情報とを含めて発行し、
前記記憶領域を監視し、前記動作指示に応じて起動した前記他のプログラムによって前記記憶領域に前記指示識別情報に対応付けて保存されたデータを取得する、
処理を前記端末装置に実行させることを特徴とするプログラム。 - 前記取得する処理は、
前記動作指示を発行された時点と、前記記憶領域に前記データが書き込まれた時点との差分が閾値以上である場合には、前記記憶領域から前記データを削除する、ことを特徴とする請求項7に記載のプログラム。 - 前記取得する処理は、
さらに、前記データを取得した場合、前記記憶領域から前記データを削除する、ことを特徴とする請求項7または8に記載のプログラム。 - 端末装置上で動作するプログラムの実行方法であって、
前記端末装置上で動作する他のプログラムからの、指示識別情報を含む動作指示に応じて起動し、
前記動作指示に対応した動作を実行し、
前記動作にデータの出力が含まれる場合は、前記データと前記指示識別情報とを関連付けて前記他のプログラムが参照可能である記憶領域に保存する、
処理を前記端末装置が実行することを特徴とするプログラムの実行方法。 - プログラムと他のプログラムとを動作させる端末装置であって、
前記プログラムを、前記他のプログラムからの、指示識別情報を含む動作指示に応じて起動し、
前記プログラムによって、前記動作指示に対応した動作を実行し、
前記プログラムによって、前記動作にデータの出力が含まれる場合は、前記データと前記指示識別情報とを関連付けて前記他のプログラムが参照可能である記憶領域に保存する、
制御部を有することを特徴とする端末装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2017/014423 WO2018185919A1 (ja) | 2017-04-06 | 2017-04-06 | プログラム、プログラムの実行方法、および端末装置 |
| JP2019511027A JP7017161B2 (ja) | 2017-04-06 | 2017-04-06 | プログラム、プログラムの実行方法、および端末装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2017/014423 WO2018185919A1 (ja) | 2017-04-06 | 2017-04-06 | プログラム、プログラムの実行方法、および端末装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2018185919A1 true WO2018185919A1 (ja) | 2018-10-11 |
Family
ID=63713269
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2017/014423 Ceased WO2018185919A1 (ja) | 2017-04-06 | 2017-04-06 | プログラム、プログラムの実行方法、および端末装置 |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP7017161B2 (ja) |
| WO (1) | WO2018185919A1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020246205A1 (ja) * | 2019-06-03 | 2020-12-10 | ヤマハ株式会社 | プログラム、端末装置および端末装置の動作方法 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06301618A (ja) * | 1993-04-15 | 1994-10-28 | Matsushita Electric Ind Co Ltd | 遠隔手続き呼び出し方法 |
| JP2010511255A (ja) * | 2006-11-29 | 2010-04-08 | クゥアルコム・インコーポレイテッド | 保護領域境界を越えるオブジェクトの起動のための方法、システム、及び装置 |
| WO2014034060A1 (ja) * | 2012-08-30 | 2014-03-06 | 日本電気株式会社 | イベント処理制御装置、ノード装置、イベント処理システム、及び、イベント処理制御方法 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5219770B2 (ja) * | 2008-12-12 | 2013-06-26 | キヤノンソフトウェア株式会社 | 情報処理装置、セッション管理方法、プログラム、及び、記録媒体 |
| JP5802116B2 (ja) * | 2011-11-18 | 2015-10-28 | Tis株式会社 | データ共有機能を有した通話システム |
-
2017
- 2017-04-06 JP JP2019511027A patent/JP7017161B2/ja active Active
- 2017-04-06 WO PCT/JP2017/014423 patent/WO2018185919A1/ja not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06301618A (ja) * | 1993-04-15 | 1994-10-28 | Matsushita Electric Ind Co Ltd | 遠隔手続き呼び出し方法 |
| JP2010511255A (ja) * | 2006-11-29 | 2010-04-08 | クゥアルコム・インコーポレイテッド | 保護領域境界を越えるオブジェクトの起動のための方法、システム、及び装置 |
| WO2014034060A1 (ja) * | 2012-08-30 | 2014-03-06 | 日本電気株式会社 | イベント処理制御装置、ノード装置、イベント処理システム、及び、イベント処理制御方法 |
Non-Patent Citations (1)
| Title |
|---|
| IKUYA FUKUMOTO: "iOS Application no Secure Coding Nyumon", JSSEC.ORG, 23 March 2016 (2016-03-23), pages 1, 20 - 25, XP055612455, Retrieved from the Internet <URL:https://www.jssec.org/dl/20160323_Ikuya_Fukumoto.pdf> [retrieved on 20170605] * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020246205A1 (ja) * | 2019-06-03 | 2020-12-10 | ヤマハ株式会社 | プログラム、端末装置および端末装置の動作方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP7017161B2 (ja) | 2022-02-08 |
| JPWO2018185919A1 (ja) | 2019-12-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9864736B2 (en) | Information processing apparatus, control method, and recording medium | |
| CN102592069B (zh) | 通过挂钩内核本地api管理数字权限的设备和方法 | |
| US20150082242A1 (en) | Providing Context Menu Based on Predicted Commands | |
| US20120050336A1 (en) | Touch-based remote control | |
| CN110022558A (zh) | 一种升级包的加密、解密方法和电子装置及存储介质 | |
| CN106254551A (zh) | 一种双系统的文件传输方法及移动终端 | |
| JP2016085609A (ja) | 電子著作物のコンテンツの二次利用を支援する方法、並びに、電子著作物のコンテンツの二次利用を支援する為のサーバ・コンピュータ、及びそのサーバ・コンピュータ用プログラム | |
| WO2019144547A1 (zh) | 数据录入方法、装置、计算机设备和存储介质 | |
| US9665723B2 (en) | Watermarking detection and management | |
| KR101757407B1 (ko) | 바이너리 병합 장치, 방법 및 컴퓨터 프로그램 | |
| JP4707748B2 (ja) | 外部記憶デバイス、外部記憶デバイスに記憶されたデータを処理するための方法、プログラムおよび情報処理装置 | |
| JP7017161B2 (ja) | プログラム、プログラムの実行方法、および端末装置 | |
| CN112889055A (zh) | 数据处理方法、装置、系统、服务器以及电子设备 | |
| CN116821968A (zh) | 一种文件权限管控方法及装置 | |
| US9672383B2 (en) | Functionality watermarking and management | |
| JP5062687B2 (ja) | 情報処理装置 | |
| US9552463B2 (en) | Functionality watermarking and management | |
| JP4498012B2 (ja) | 電子機器 | |
| CN111309698A (zh) | 磁盘重定向方法、装置和系统 | |
| JP2009169868A (ja) | 記憶領域アクセス装置及び記憶領域のアクセス方法 | |
| JP2011040044A (ja) | 仮想シンクライアント化装置、仮想シンクライアント化システム、仮想シンクライアント化プログラム、及び仮想シンクライアント化方法 | |
| CN108351888A (zh) | 生成可推迟数据流 | |
| JP4882550B2 (ja) | オブジェクト管理システム及びオブジェクト管理方法、並びにコンピュータ・プログラム | |
| JP5229855B2 (ja) | メモリシステム及びコンピュータシステム | |
| CN110569171A (zh) | 一种文件的监测方法及装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17904943 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2019511027 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 17904943 Country of ref document: EP Kind code of ref document: A1 |