Information processing device, control method thereof, and program

The information processing device enhances program cooperation by sharing information via non-Wi-Fi Direct networks and registering devices for collaboration, improving execution and compatibility between applications.

JP7871476B2Active Publication Date: 2026-06-08CANON KK

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
CANON KK
Filing Date
2025-07-28
Publication Date
2026-06-08

AI Technical Summary

Technical Problem

Existing program cooperation techniques in information processing devices, such as smartphones, require improvements to enhance their execution and coordination.

Method used

The system includes an information processing device that acquires and shares predetermined information between programs using a network different from the Wi-Fi Direct standard, allowing controlled execution of processing based on this information by a second program, and registers communication devices for collaboration.

Benefits of technology

This approach enables more appropriate program coordination and efficient printer registration and communication, reducing processing time and ensuring compatibility between applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007871476000001
    Figure 0007871476000001
  • Figure 0007871476000002
    Figure 0007871476000002
  • Figure 0007871476000003
    Figure 0007871476000003
Patent Text Reader

Abstract

To appropriately execute program cooperation.SOLUTION: There is provided a control method in which: when predetermined information is acquired by a first program with a first method, processing based on the predetermined information is controlled to be executed by a second program on the basis of the start-up of the second program, and when the predetermined information is acquired by the first program with a second method, the processing based on the predetermined information is controlled not to be executed by the second program even if the second program is started up.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing apparatus, a control method thereof, and a program.

Background Art

[0002] Information processing apparatuses such as mobile terminals and smartphones are known. In such information processing apparatuses, a technique called program cooperation is generally used, in which programs such as applications installed in the information processing apparatus operate in cooperation with each other between programs. Specifically, program cooperation is a technique that enables processing based on information acquired in a predetermined program to be executed in a program different from the predetermined program.

[0003] Patent Document 1 describes a technique for sharing information between a first application (hereinafter referred to as an app) and a second application by the first application storing information to be shared between the first app and the second app in an information sharing area and the second application acquiring the shared information from the information sharing area.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] By the way, as program cooperation becomes widespread, it is required to execute program cooperation more appropriately.

[0006] The present invention has been made in view of the above problems, and an object thereof is to execute program cooperation more appropriately.

Means for Solving the Problems

[0007] To solve the above-mentioned problems, the present invention provides a control method for an information processing device, The system includes an acquisition step in which the computer of the information processing device executing the first program acquires predetermined information relating to a communication device, and an execution step in which the computer executing the second program executes processing based on the predetermined information acquired by the computer executing the first program, based on the fact that a second program different from the first program has been started, wherein the processing based on the predetermined information is controlled to be executed by the computer executing the second program based on the fact that the predetermined information is information acquired by the computer executing the first program from the first communication device via a network different from the network formed by the Wi-Fi Direct® standard. Based on the fact that the predetermined information is information obtained from a second communication device via a network formed according to the Wi-Fi Direct® standard by the computer executing the first program, the processing based on the predetermined information is controlled so that it is not executed by the computer executing the second program even if the second program is started, and the processing based on the predetermined information obtained by the computer executing the first program, which is executed by the computer executing the second program, is characterized in that the processing is performed to register the communication device corresponding to the predetermined information with the second program as a device to communicate with by the computer executing the second program. [Effects of the Invention]

[0008] According to the present invention, program coordination can be performed more appropriately. [Brief explanation of the drawing]

[0009] [Figure 1] This is a diagram showing the configuration of the mobile terminal 100. [Figure 2] This diagram shows a use case for launching application B110 in conjunction with other applications. [Figure 3] This is a flowchart showing the process that mobile device 100 executes using application A109. [Figure 4] This is a flowchart showing the processing flow executed by mobile device 100 using application B110. [Figure 5] This is an example of a screen displayed by the Store app 108. [Figure 6] This is an example of a screen displayed by app A109. [Figure 7] This flowchart shows the process that mobile device 100 executes using application B110. [Modes for carrying out the invention]

[0010] The information processing apparatus according to the present invention will be described in detail below with reference to the drawings. Note that the following embodiments do not limit the scope of the present invention as defined in the claims, and not all combinations of features described in these embodiments are necessarily essential to the solution of the present invention.

[0011] (First Embodiment) An information processing apparatus to which the present invention is applied will be described. In the present embodiment, a mobile terminal is exemplified as the information processing apparatus, but it is not limited thereto. For example, various devices capable of installing programs, such as a notebook PC, a tablet terminal, a PDA (Personal Digital Assistant), a digital camera, a music playback device, a television, etc., can be applied as the information processing apparatus. In the present embodiment, a smartphone is exemplified as an example of the mobile terminal. A smartphone is a multi-functional mobile phone equipped with a camera function, an Internet browser function, a mail function, etc. in addition to a mobile phone function.

[0012] FIG. 1 is a diagram showing the configuration of a mobile terminal 100 which is the information processing apparatus of the present embodiment. FIG. 1(a) shows the hardware configuration of the mobile terminal 100, and FIG. 1(b) shows the software configuration of the mobile terminal 100.

[0013] The mobile terminal 100 includes a CPU 101, an operation unit 102, a network interface 103, a memory 104, a display unit 105, and a storage device 106, and each is connected via a system bus.

[0014] The CPU 101 performs overall control of the mobile terminal 100. The operation unit 102 is an operation unit for a user to give instructions to the mobile terminal 100, and has, for example, buttons, a touch panel, etc.

[0015] The memory 104 is a random access memory (RAM) as a work area of the CPU 101, and is used as a temporary storage area for various received data or stores various setting data.

[0016] The storage device 106 is, for example, a flash memory, etc., and stores various control programs such as applications and an operating system (hereinafter referred to as OS).

[0017] The network interface 103 is an interface for connecting to a network. The mobile terminal 100 can connect to a network via the network interface 103 and is configured to connect to external devices such as printers and the internet via the network. In this embodiment, the network interface 103 is capable of performing communication compliant with the IEEE 802.11 series (communication via Wi-Fi®). However, it is not limited to this communication, and communication using other methods such as Bluetooth® may also be performed by the network interface 103. Furthermore, the mobile terminal 100 may have multiple network interfaces. For example, in addition to the network interface 103, the mobile terminal 100 may have a network interface capable of performing communication via Bluetooth® Low Energy (BLE). Also, for example, the mobile terminal 100 may have a network interface capable of performing communication via Near Field Communication (NFC).

[0018] The display unit 105 is a unit that displays various information and consists of a liquid crystal panel or the like. The operation unit 102 is a unit for receiving operations from the user. In this embodiment, the operation unit 102 and the display unit 105 have the same configuration, and are configured to be able to both receive operations from the user and display various information with a single configuration. That is, the operation unit 102 and the display unit 105 are composed of touch displays. The user can give various instructions to the mobile terminal 100 and operate the mobile terminal 100 by tracing or tapping the touch display with their finger or the like. The user can also give various instructions to the mobile terminal 100 by operating the touch display with an operator other than their finger, such as a stylus pen or other electrostatic touch panel pen. The operation unit 102 and the display unit 105 do not have to have the same configuration; for example, the operation unit 102 may be a physical keyboard equipped with physical keys.

[0019] As shown in FIG. 1(b), in the present embodiment, the mobile terminal 100 can use the OS 107, the store application program 108, and three or more application programs. The mobile terminal 100 can use the application program A 109, the application program B 110, and the application program C 111 as three or more application programs. Hereinafter, the application program is referred to as an app. In the following description, the processing executed by the app is actually realized by the CPU 101 reading the app into the memory 104 and executing it.

[0020] The store app 108 is an app for downloading and installing other apps such as the app A 109, the app B 110, and the app C 111 to the mobile terminal 100. The user can select a desired app with the store app 108 and perform a predetermined operation for downloading (such as tapping a download button, password authentication, etc.) to download and install the selected app to the mobile terminal 100. Also, the user can start the app installed in the mobile terminal 100 via the store app 108 by performing a predetermined operation (such as tapping an "open" button, etc.) on the screen displayed by the store app 108. FIG. 5 is a diagram showing an example of the screen displayed by the store app 108. FIG. 5 is a screen for starting the app B 110 in a state where the app B 110 is already installed in the mobile terminal 100. As described above, when the "open" button is tapped, the app B 110 is started. Similarly to the app B 110, the app C 111 can be downloaded, installed, and started from the store app 108.

[0021] Apps A109, B110, and C111 are applications downloaded to the mobile terminal 100 via a network or the like by the store app 108. However, apps A109, B110, and C111 may not be downloaded via the store app 108, but rather from a storage medium containing each application, for example. Alternatively, they may be downloaded via a web browser, for example. The downloaded applications are installed on the mobile terminal 100 and become available for use on the mobile terminal 100. App A109 may also be pre-installed on the mobile terminal 100 upon arrival. In this embodiment, apps A109, B110, and C111 are applications that send print jobs to a printer with printing capabilities and execute printing based on the sent print jobs. Apps A109, B110, and C111 may also have other functions besides the function of executing printing on a printer. For example, it may have a function to send scan jobs to a printer and perform scans based on the sent scan jobs.

[0022] Store app 108, as well as apps A109, B110, and C111, operate via OS 107. These software programs are stored in storage device 106, loaded into memory 104, and executed by CPU 101.

[0023] In this embodiment, applications A109 and B110, and applications A109 and C111 operate in cooperation with each other. Specifically, application B110 operates using information used by application A109. Similarly, application C111 operates using information used by application A109. Hereinafter, the cooperation between programs will be referred to as program cooperation, and the cooperation between applications will be referred to as application cooperation. More specifically, application cooperation is a technique that enables processing based on information used in application A109 (shared information described later) to be executed in other programs (for example, application B110) that can be launched from application A109.

[0024] In this embodiment, there are two methods for launching an application: standalone launch and collaborative launch. Standalone launch means that an application is launched, for example, by tapping an application icon on the home screen displayed by the OS, or by an operation on a screen displayed by the store application 108. In this embodiment, the store application 108 and applications A109, B110, and C111 can all be launched independently. Collaborative launch means that an application is launched by an operation on a screen displayed by another application that is the source of information used by that application (shared information described later). In this embodiment, at least applications B110 and C111 can be launched collaboratively by an operation on a screen displayed by application A109. When applications B110 and C111 are launched collaboratively, information about the application that initiated the collaborative launch (application A109) is notified. Therefore, the CPU 101 can determine whether the launch method of applications B110 and C111 is collaborative launch or standalone launch.

[0025] Figure 6 shows an example of a screen displayed by application A109. Icon 601 indicates a printer registered in application A109. Printer registration will be described later. Note that if a printer is not registered in application A109, icon 601 will not be displayed. In this case, instead of icon 601, an area containing a message or icon prompting the user to register the printer may be displayed. Icons 602 and 603 are buttons that send a print job to a printer registered in application A109 to print photos and documents stored on the mobile terminal 100. Icon 604 is a button that sends a scan job to a printer registered in application A109 to perform a scan. Icon 605 is a button that executes the cloud printing function, which prints image data stored on an external server to the printer. Icon 606 is a button that sends a copy job to a printer registered in application A109 to create a copy of the original, and icon 607 is a button that sends a print job to the printer to perform printing to disk media. For example, to perform printing to disc media, another application (a disc media printing application) other than application A109 may be required. In such cases, if the disc media printing application is installed on the mobile terminal 100 and the CPU 101 receives an operation on icon 607, it will launch the disc media printing application. Icon 608 is a button to launch a web page that shows how to use application A109. Icon 609 is a button to launch application B110. If the CPU 101 receives an operation on icon 609 and the application B110 is installed on the mobile terminal 100, it will launch application B110. For example, if a printer that is not compatible with application B110 is registered in application A109, the CPU 101 may gray out or hide icon 609 to prevent it from receiving operations. Icon 610 is a button to launch application C111.If the CPU 101 receives an operation request for icon 610 while app C111 is installed on the mobile device 100, it will launch app C111 in conjunction with the mobile device. For example, if a printer that is not compatible with app C111 is registered in app A109, the CPU 101 may gray out or hide icon 610 to prevent it from accepting operations.

[0026] App A109 is an application that causes the printer to print based on image data selected by the user from image data captured by the mobile terminal 100 or image data downloaded by the mobile terminal 100. On the other hand, App B110 is an application that causes the printer to print based on image data that App B110 has already stored. App B110 is also an application that causes the printer to print based on image data that App B110 obtains via the network from an external server corresponding to App B110. App B110 may also be an application for printing on disk media or an application for printing New Year's cards. App C111 may also be an application with various functions, similar to the example of App B110.

[0027] As described above, in this embodiment, applications A109, B110, and C111 have a printing function that causes the mobile terminal 100 to print images to a printer with which it can communicate. Applications A109, B110, and C111 can perform the printing function by searching for printers around the mobile terminal 100 and registering the device to be used for printing from among the searched devices. The process of registering a device with an application (registration process) is, in other words, the process of setting and registering the device to be registered as a device that communicates with the application (setting process). In this form, for example, information about the printer registered in application A109 (hereinafter referred to as registration information) can be applied as shared information 202. Specifically, registration information includes, for example, MAC address, Bonjour name, IP address, model information such as the printer model name, capability information such as available settings, and information about the registration date and time. The registration date and time is, for example, the date and time when the registration information was acquired. When a printer is registered in app A109, icon 601 is displayed on the screen shown by app A109, indicating to the user what kind of printer it is. Therefore, icon 601 may contain information such as the name and model number of the printer registered in app A109, the status of the ink held by the printer, and any error status of the printer.

[0028] Then, CPU 101 saves the printer registration information as shared information 202 in the information sharing area 201, for example, when a printer is registered in application A109. This allows application B110 to execute the process of registering the printer registered in application A109 to application B110 as a process based on the shared information 202 when application B110 is started. In this configuration, CPU 101 can register the printer in application B110 without application B110 having to execute the process of searching for the printer. If the information sharing area 201 does not contain all the information necessary to register the printer, at least a portion of the information necessary to register the printer may be applied as shared information 202. Even in this configuration, effects such as reducing the time required for the process of searching for the printer can be achieved. Note that printer registration using shared information 202 as described above can also be performed in application C111.

[0029] Note that there may be multiple methods for registering a printer. In other words, the registration method refers to the method for obtaining the printer's registration information. The first registration method that app A109 can execute will be described below. In the first registration method, app A109 searches for a printer compatible with app A109 on the Wi-Fi network to which the mobile terminal 100 belongs. The Wi-Fi network to which the mobile terminal 100 belongs is, for example, a network composed of wireless LAN routers (external access points) to which the mobile terminal 100 is connected via Wi-Fi. Then, app A109 registers the printer selected by the user in app A109 by obtaining the registration information from the printer selected by the user via the Wi-Fi network. Specifically, the printer found in this search is, for example, a printer connected via Wi-Fi to the wireless LAN router to which the mobile terminal 100 is connected via Wi-Fi. Note that if app A109 finds only one printer in the search, it may automatically register it without contacting the user. Furthermore, if application A109 discovers multiple printers during a search, it may register all of the discovered printers. In this embodiment, based on the fact that the printers have been registered in this manner, application A109 saves the printer registration information as shared information 202 in the information sharing area 201.

[0030] In some cases, the Wi-Fi network to which the mobile terminal 100 belongs may be a network formed between the printer and the mobile terminal 100 using the Wi-Fi Direct standard. That is, the mobile terminal 100 may be wirelessly connected (P2P connection) to the printer using the Wi-Fi Direct standard without going through a wireless LAN router. In that case as well, a search for printers is performed on the Wi-Fi network to which the mobile terminal 100 belongs, but naturally, only one printer will be found. The application A109 registers the printer with the application A109 by obtaining registration information from the printer found through this search via the Wi-Fi Direct standard network. However, in this embodiment, based on the fact that the printer to which the mobile terminal 100 is connected has been registered using the Wi-Fi Direct standard, the application A109 does not save the printer registration information as shared information 202 in the information sharing area 201. This is because some applications cannot perform communication using the Wi-Fi Direct standard. For example, in this embodiment, the application B110 is assumed to be unable to perform communication using the Wi-Fi Direct standard.

[0031] This section describes a second registration method that app A109 can perform. App A109 searches for printers that are present around the mobile terminal 100 and have enabled a designated access point via Wi-Fi. Printers enable the designated access point when they receive a designated operation from the user for Wi-Fi setup or when initial setup is performed after unpacking. App A109 then establishes a wireless connection (P2P connection) between the mobile terminal 100 and the printer selected by the user from the printers found through this search, without using a wireless LAN router. In this case, if app A109 finds only one printer in the search, it may automatically establish a P2P connection with the printer without prompting the user. App A109 then performs Wi-Fi setup for the printer that is wirelessly connected to the mobile terminal 100 via Wi-Fi.

[0032] As part of the Wi-Fi setup, application A109 establishes a Wi-Fi connection between the printer and the wireless LAN router by, for example, sending connection information to the printer via a P2P connection. Subsequently, if the mobile terminal 100 is also part of the Wi-Fi network configured by the wireless LAN router, the mobile terminal 100 can communicate with the printer via the wireless LAN router. Therefore, after establishing a Wi-Fi connection between the printer and the wireless LAN router, application A109 registers the printer with application A109 by obtaining registration information from the printer via the wireless LAN router. At this time, the Wi-Fi connection between the wireless LAN router and the mobile terminal 100 is maintained without being disconnected by application A109. This allows application A109 to send print jobs to the printer via the wireless LAN router. In this embodiment, based on the fact that the printer has been registered in this way, application A109 saves the printer's registration information as shared information 202 in the information sharing area 201.

[0033] As part of the Wi-Fi setup, app A109 receives connection information from the printer to connect to another access point (the printer's internal access point) that is different from a predetermined access point and is enabled within the printer. After the printer sends this connection information to app A109, it enables the other access point. Using the received connection information, app A109 establishes a wireless connection (P2P connection) between the printer, which has enabled the other access point, and the mobile terminal 100 via Wi-Fi, without going through a wireless LAN router. App A109 then registers the printer with app A109 by obtaining registration information from the printer via the P2P connection. This P2P connection is maintained without being disconnected by app A109. As a result, app A109 can send print jobs to the printer via the P2P connection. In this embodiment, based on the fact that the printer has been registered in this way, app A109 saves the printer's registration information as shared information 202 in the information sharing area 201.

[0034] The above description explains a configuration in which Wi-Fi setup is performed by connecting the mobile terminal 100 and the printer via Wi-Fi, but the system is not limited to this configuration. For example, Wi-Fi setup may be performed by connecting the mobile terminal 100 and the printer via BLE. In that case, for example, app A109 searches for printers that are present around the mobile terminal 100 and have BLE communication enabled via Wi-Fi. Specifically, a printer with BLE communication enabled is, for example, a printer that is operating as an advertiser in the BLE standard. App A109 then wirelessly connects the mobile terminal 100 to the printer selected by the user from the printers found through this search (BLE connection). In this case, if app A109 finds only one printer in the search, it may automatically connect to the printer via BLE without contacting the user. App A109 then performs Wi-Fi setup on the printer that is wirelessly connected to the mobile terminal 100 via BLE. App A109 may have both a function to perform Wi-Fi setup via Wi-Fi connection and a function to perform Wi-Fi setup via BLE connection.

[0035] This section describes a third registration method that app A109 can perform. App A109 searches for printers that are present around the mobile terminal 100 and are operating as advertisers under the BLE standard using BLE. Then, it wirelessly connects the mobile terminal 100 to the printer selected by the user from among the printers found through this search using BLE. App A109 then obtains connection information from the printer connected to the mobile terminal 100 via BLE to establish a Wi-Fi P2P connection with the printer. Specifically, this connection information includes the SSID of the access point enabled within the printer and the password for connecting to that access point. Subsequently, app A109 uses the obtained connection information to wirelessly connect the printer with the enabled access point to the mobile terminal 100 via Wi-Fi (P2P connection) without going through a wireless LAN router. Finally, app A109 registers the printer to app A109 by obtaining registration information from the printer wirelessly connected to the mobile terminal 100 via the P2P connection. If app A109 finds only one printer in the search, it may automatically establish a BLE connection with the printer and register it without prompting the user. After registration is complete, app A109 disconnects the P2P connection between the printer and the mobile terminal 100. Subsequently, when the user commands printing, app A109 uses the connection information to re-establish the P2P connection between the printer and the mobile terminal 100 and send the print job. The third registration method may be executed, for example, based on the fact that no printers were found in the printer search in the first registration method. In this embodiment, if a printer is registered by the third registration method, app A109 does not save the printer registration information as shared information 202 in the information sharing area 201. This is because, after the printer is registered by the third registration method, the P2P connection between the printer and the mobile terminal 100 is disconnected, making it impossible for applications other than app A109 to easily use the printer.

[0036] This section describes a fourth registration method that app A109 can execute. App A109 searches for printers that are present around the mobile terminal 100 and are operating as a P2P Device or Group Owner under the Wi-Fi Direct standard. A P2P Device under the Wi-Fi Direct standard is a device that is not performing Group Owner Negotiation and is neither a Group Owner nor a Client. In this case, app A109 searches for printers using a known discovery process under the Wi-Fi Direct standard. Then, it wirelessly connects the mobile terminal 100 to the printer selected by the user from among the printers found in this search using the Wi-Fi Direct standard, without going through a wireless LAN router. In this case, if app A109 finds only one printer in the search, it may automatically establish a wireless connection with the printer using the Wi-Fi Direct standard without prompting the user. Then, app A109 registers the printer with app A109 by obtaining registration information from the printer that is wirelessly connected to the mobile terminal 100 via the Wi-Fi Direct standard. Even after registration, the wireless connection between the printer and the mobile terminal 100 using the Wi-Fi Direct standard is maintained. In this embodiment, based on the fact that the printer has been registered by the fourth registration method, application A109 does not save the printer registration information as shared information 202 in the information sharing area 201. This is because some applications cannot perform communication using the Wi-Fi Direct standard.

[0037] This section describes a fifth registration method that app A109 can execute. App A109 is assumed to be capable of NFC communication. When the mobile terminal 100 approaches the printer with image data selected in app A109, app A109 obtains connection information from the printer via NFC communication to establish a Wi-Fi connection with the printer. Specifically, the connection information includes the SSID of the access point enabled within the printer and the password for connecting to that access point. Then, app A109 uses the obtained connection information to establish a wireless connection (P2P connection) between the printer and the mobile terminal 100 via Wi-Fi without going through a wireless LAN router. Before establishing the wireless connection, app A109 may also execute an instruction via NFC communication to enable the access point within the printer. Then, app A109 registers the printer with app A109 by obtaining registration information from the printer via the P2P connection. Finally, app A109 sends a print job to the printer via the P2P connection to print the selected image data. Once the print job has been sent, application A109 disconnects the P2P connection between the printer and the mobile terminal 100. In this embodiment, based on the fact that the printer has been registered by the fifth registration method, application A109 does not save the printer registration information as shared information 202 in the information sharing area 201. This is because, after the printer is registered by the fifth registration method, the P2P connection between the printer and the mobile terminal 100 is disconnected, making it impossible for applications other than application A109 to easily use the printer. Note that the communication performed by NFC in the fifth registration method may be performed by Classic Bluetooth, BLE, or the like instead of NFC.

[0038] As described above, in this embodiment, when a printer is registered with application A109, the printer registration information may or may not be saved as shared information 202, depending on the registration method. This configuration ensures that only the appropriate printer registration information that should be used in application collaboration is available to other applications as shared information 202.

[0039] Although the above describes patterns in which the printer registration information is not saved as shared information 202 even if the printer is registered with application A109, it is possible that some of these patterns include a pattern in which the printer registration information is saved as shared information 202. In other words, it is sufficient that the printer registration information is not saved as shared information 202 in the information sharing area 201 in at least one of the patterns described above. Therefore, for example, the printer registration information may be saved as shared information 202 in the information sharing area 201 based on the fact that the printer was registered by the third registration method or the fourth registration method.

[0040] In this embodiment, when the shared information 202 is already stored in the information sharing area 201, the shared information 202 is updated each time a new printer is registered in application A109. Of course, if there is a pattern in which the shared information 202 is not saved, the shared information 202 will not be updated. Also, if the same printer that is already registered is newly registered, the shared information 202 does not need to be updated.

[0041] Furthermore, multiple printers may be registered to a single application by performing the registration process for multiple printers. In this case, application A109 will send the print job to the printer selected as the selected device from among the multiple registered printers. The user can select or change the selected device from among the multiple registered printers as appropriate on the screen displayed by application A109. Also, if a new printer is registered while an existing printer is selected as the selected device, the newly registered printer will be selected as the selected device regardless of the registration method. Note that in the screen shown in Figure 6, the icon 601 corresponding to the printer selected as the selected device is displayed, and the icon 601 corresponding to registered printers that are not selected as the selected device is not displayed.

[0042] If multiple printers can be registered for a single application, the registration information for all registered printers may be stored in the information sharing area 201 as shared information 202. Alternatively, only the registration information for one of the registered printers (for example, the printer selected as the selected device) may be stored in the information sharing area 201 as shared information 202. For example, suppose printer A is registered using the second registration method, and the registration information for printer A is stored in the information sharing area 201 as shared information 202. Then, suppose printer B is newly registered using the second registration method. In this case, both printer A and printer B are registered in application A109, but the shared information 202 stored in the information sharing area 201 is updated with the registration information for the newly registered printer B. Furthermore, suppose printer A is then selected by the user as the selected device. In this case, the shared information 202 stored in the information sharing area 201 is updated with the registration information for printer A. For example, suppose printer A is registered using the second registration method, and the registration information for printer A is stored in the information sharing area 201 as shared information 202. Then, suppose printer B is newly registered using a pattern in which shared information 202 is not saved. The pattern in which shared information 202 is not saved is, as mentioned above, for example, the pattern in which printer B is registered using the third or fourth registration method. In that case, both printer A and printer B are registered in application A109, but the shared information 202 stored in the information sharing area 201 is not updated with the registration information for printer B, and remains as the registration information for printer A.

[0043] Furthermore, in this embodiment, app A109 is capable of registration using each of the multiple registration methods, whereas apps B110 and C111 are only capable of registration using the first registration method. In other words, app A109 has a more advanced registration function than apps B110 and C111. Apps B110 and C111 may also be capable of registration using registration methods other than the first registration method.

[0044] The shared information 202 saved as described above is retrieved by an application other than the application A109 that saved the shared information 202 (for example, application B110) when that application is launched. The use of the shared information 202 by that application makes it possible to share information between application A109 and other applications. Furthermore, printers that cannot be registered using the registration methods that applications B110 and C111 can execute can also be registered with applications B110 and C111.

[0045] For example, suppose that after application B110 acquires shared information 202, application B110 deletes the shared information 202 from the information sharing area 201. In that configuration, for example, if application C111 is launched in conjunction from application A109 after application B110 has acquired the shared information 202, application C111 may not be able to acquire the shared information 202. Therefore, in this embodiment, we will describe a configuration in which application C111 can acquire the shared information 202 even if application C111 is launched in conjunction from application A109 after application B110 has acquired the shared information 202.

[0046] Using Figure 2(a), a use case in which application B110 is launched in conjunction with application A109 when applications A109 and B110 are already installed on the mobile terminal 100 will be explained. First, when the CPU 101 determines that a printer has been registered (printer registration information has been generated) through the printer registration process, it saves the generated registration information as shared information 202 in the information sharing area 201. Here, shared information 202 is information that the CPU 101 can use in the operation of application A109. The information sharing area 201 is a storage area where the shared information 202 is stored. The information sharing area 201 may be, for example, a common folder that can be accessed when application A109 is running and when application B110 is running, or it may be something like a clipboard or pasteboard managed by the OS. The common folder may be, for example, an area contained in the memory of the mobile terminal 100, such as the storage device 106, or an area contained in an external storage medium such as an SD card or HDD, or an area on a network server. There are no restrictions on the format, as long as it can store information that is usable in both the operation of application A109 and the operation of application B110.

[0047] Next, when CPU 101 determines that application B110 should be launched in conjunction, such as by receiving an operation on icon 609, CPU 101 launches application B110 in conjunction. After launching application B110, CPU 101 has application B110 refer to the information sharing area 201 and obtain shared information 202. CPU 101 then determines whether the obtained shared information 202 is information that can be used by application B110 (i.e., whether the shared information 202 is information that corresponds to application B110). Hereinafter, this determination will be referred to as the usability determination. If CPU 101 determines that the shared information 202 is information that can be used by application B110, it executes processing based on the shared information 202. If CPU 101 determines that the shared information 202 is not information that can be used by application B110, CPU 101 does not execute processing based on the shared information 202.

[0048] The usability determination is performed using the information contained in the acquired shared information 202. For example, suppose the shared information 202 contains the printer model name. In that case, as a usability determination, the CPU 101 checks whether the model name contained in the shared information 202 is included in the list of printer model names compatible with application B110. If the model name contained in the shared information 202 is included in the model name list, the CPU 101 determines that the acquired shared information 202 is information that can be used by application B110. If the model name contained in the shared information 202 is not included in the model name list, the CPU 101 determines that the acquired shared information 202 is not information that can be used by application B110. Here, the model name list does not necessarily have to be held by application B110; it may be contained in an area on a network server or in an external storage medium such as an SD card or HDD.

[0049] For example, suppose that the shared information 202 includes a list of app names that correspond to the shared information 202. In that case, to determine whether it is usable, the CPU 101 determines whether app B110 is included in the list of app names that correspond to the shared information 202. If app B110 is included in the list of app names, the CPU 101 determines that the retrieved shared information 202 is information that can be used by app B110. If app B110 is not included in the list of app names, the CPU 101 determines that the retrieved shared information 202 is not information that can be used by app B110.

[0050] Next, using Figure 2(b), we will explain the behavior of the CPU 101 when application B110 is launched independently without going through application A109, assuming that applications A109 and B110 are already installed on the mobile terminal 100.

[0051] Similar to Figure 2(a), when the CPU 101 determines that printer registration information has been generated, for example, through printer registration processing, it saves the generated registration information as shared information 202 in the information sharing area 201. In this embodiment, the CPU 101 also refers to the information sharing area 201 when application B110 is launched independently. If shared information 202 is saved in the information sharing area 201, the CPU 101 retrieves the shared information 202. The CPU 101 then performs an availability determination. If the CPU 101 determines that the shared information 202 is information that can be used by application B110, it executes processing based on the shared information 202. If the CPU 101 determines that the shared information 202 is not information that can be used by application B110, the CPU 101 does not execute any processing based on the shared information 202.

[0052] In this embodiment, application A109 saves the shared information 202 to the information sharing area 201 when the printer is registered (when the printer registration information is generated). Application B110 then acquires the shared information 202 regardless of whether it is launched in a coordinated or standalone mode, and determines whether the acquired shared information 202 is available when it is acquired. With this configuration, the CPU 101 can appropriately perform application coordination between application A109 and application B110, whether application B110 is launched independently or in a coordinated mode.

[0053] Next, using Figure 2(c), we will explain the behavior of the CPU 101 when an operation is performed to launch application B110 in conjunction with the screen displayed by application A109, while application B110 is not installed on the mobile terminal 100.

[0054] Similar to Figure 2(a), when the CPU 101 determines that printer registration information has been generated, for example, through printer registration processing, it saves the generated registration information as shared information 202 in the information sharing area 201.

[0055] Even if an operation is performed to launch app B110 in conjunction with the screen displayed by app A109, if app B110 is not installed on the mobile device 100, the CPU 101 will naturally be unable to launch app B110. Furthermore, installing app B110 on the mobile device 100 generally requires the use of the store app 108. Therefore, if app B110 is not installed on the mobile device 100, and an operation is performed to launch app B110 in conjunction with the screen displayed by app A109, the CPU 101 will execute the following process.

[0056] First, the CPU 101 launches the store app 108. The CPU 101 can display a screen for downloading the target app on the display unit 105 by launching the store app 108 using information that identifies the target app (hereinafter referred to as app identification information 203). At this time, the CPU 101 launches the store app 108 using app identification information 203 that identifies the target app as app B110. As a result, a screen for downloading app B110 is displayed on the display unit 105, and the CPU 101 accepts user input and downloads and installs app B110. At this time, the CPU 101 may also download app B110 automatically without accepting user input. After that, the CPU 101 accepts operations on the app icon corresponding to app B110 on the home screen and operations on the screen displayed by the store app 108 (operations on the open button in Figure 5). Then, CPU 101 launches application B110 in response to these operations and executes the same process as shown in Figure 2(b). In other words, CPU 101 executes the process that would occur if application B110 were launched independently.

[0057] Thus, when the CPU 101 receives an operation to launch application B110 via the screen displayed by application A109, while application B110 is not installed on the mobile terminal 100, the CPU 101 downloads application B110 via the store application 108. In this embodiment, as shown in Figure 2(b), even when launched independently, the CPU 101 refers to the information sharing area 201 and determines whether the shared information 202 is available to application B110. Therefore, even if application B110 is launched independently via the store application 108, the printer registration information of application A109 can be appropriately linked with application B110 as shared information 202.

[0058] In the above example, we showed a case where the information sharing area 201 is always referenced whether application B110 is launched in conjunction with other applications or launched independently, but the system is not limited to this configuration. For example, in this embodiment, applications A109 and B110 can each register printers separately. Therefore, a user may intentionally register different printers in applications A109 and B110. In such a case, if applications A109 and B110 are linked and the printer registered in application A109 is registered in application B110, there is a risk that an unintended printer will be overwritten and registered in application B110. Also, the same printer may already be registered in applications A109 and B110. In such a case, if the printer already registered in application A109 is registered again in application B110, application B will have to execute processing based on the shared information 202 every time it is launched, which may increase the processing load at startup.

[0059] Therefore, when the CPU 101 launches application B110, it determines whether a printer is already registered in application B110. If a printer is already registered in application B110, it does not perform application integration. In other words, it does not change the printer already registered in application B110.

[0060] Even if a printer is already registered in app B110, if the currently saved shared information 202 has been updated or changed from the shared information 202 previously used for app integration, app integration may be performed again. For example, suppose shared information 202 contains the update date and time information for that shared information 202. Then, suppose app B110 saves the update date and time information from when shared information 202 was previously used for app integration. App B110 determines whether or not to perform app integration using the newly acquired shared information 202 by comparing the update date and time information contained in the newly acquired shared information 202 with the update date and time information from when shared information 202 was previously used for app integration. In this case, the comparison target for the update date and time information contained in the newly acquired shared information 202 may be other information. For example, it may be the date and time information of the most recent printer registration to app B110.

[0061] Furthermore, if a printer already registered in app B110 is different from the printer to be registered by shared information 202, a dialog box may be displayed to allow the user to choose whether or not to perform app linking. Specifically, for example, if the printer is not already registered in app B110, the CPU 101, after determining through an availability check that shared information 202 is available to app B110, registers the printer registered in app A109 to app B110. As described above, the process of registering the printer registered in app A109 to app B110 is essentially app linking. This is because if the printer is not already registered in app B110, the problem of the printer registered in app B110 being changed to a printer unintended by the user will not occur. On the other hand, if the printer is already registered in app B110, the CPU 101, after determining through an availability check that shared information 202 is available to app B110, displays a dialog box to allow the user to choose whether or not to perform app linking. In other words, this dialog box allows the user to choose whether or not to use shared information 202, and whether or not to register the printer registered in application A109 in application B110. The CPU 101 executes application integration if the user selects an input indicating that application integration should be performed. The CPU 101 also does not execute application integration if the user selects an input indicating that application integration should not be performed. That is, it does not change the printer already registered in application B110. This prevents the printer registered in application B110 from being changed to a printer unintended by the user. Note that the availability check may be performed after the dialog box is displayed and the user has selected an input indicating that application integration should be performed.

[0062] Furthermore, even if the shared information 202 is acquired by app B110, it is not deleted from the information sharing area 201. In other words, even after the shared information 202 is acquired by app B110, it can be used in app collaboration by an app other than app B110 (for example, app C111). With this configuration, even if app C111 is launched after app B110 has acquired the shared information 202 and performed app collaboration, without updating the shared information 202 in app A109, app C111 can also perform app collaboration. This configuration improves the convenience of a configuration where multiple apps can perform app collaboration. The shared information 202 is deleted, for example, when app A109 is deleted (uninstalled) from the mobile terminal 100.

[0063] Figure 3 is a flowchart showing the process executed by the mobile terminal 100 using application A109. The process shown in this flowchart is realized, for example, by the CPU 101 reading the program corresponding to application A109 stored in the storage device 106 or the like into memory 104 and executing it. Furthermore, the process shown in this flowchart is assumed to start with the screen for executing the functions of application A109 displayed on the display unit 105 by application A109.

[0064] First, in S301, CPU101 executes the printer registration process in application A109. As mentioned above, there are five registration methods, from the first to the fifth, that can be used in the registration process executed at this time.

[0065] Next, in S302, the CPU 101 determines whether or not to save the printer registration information acquired in S301 as shared information 202 in the information sharing area 201. Specifically, the CPU 101 first identifies the registration method used in the registration process executed in S301. If any of the third, fourth, or fifth registration methods are identified, it is determined that the printer registration information will not be saved as shared information 202 in the information sharing area 201. Furthermore, even if the first registration method is identified, if the registered printer is a printer to which the mobile terminal 100 is connected via the Wi-Fi Direct standard, it is determined that the printer registration information will not be saved as shared information 202 in the information sharing area 201. On the other hand, if the second registration method is identified, it is determined that the printer registration information will be saved as shared information 202 in the information sharing area 201. Furthermore, if the first registration method is identified and the registered printer is a printer connected to a wireless LAN router via Wi-Fi, it is determined that the printer's registration information should be saved as shared information 202 in the information sharing area 201. If the result of this determination is YES, the CPU 101 proceeds to S303. If the result of this determination is NO, the CPU 101 proceeds to S304 without saving the printer's registration information as shared information 202 in the information sharing area 201.

[0066] In S303, CPU101 saves the printer registration information acquired in S301 as shared information 202 in the information sharing area 201.

[0067] In S304, CPU101 accepts the operation to launch application B110. Specifically, for example, CPU101 accepts the user's operation on icon 609.

[0068] Note that S304 does not necessarily have to be executed consecutively with S303 or S302. For example, after shared information 202 is saved in S302, icon 602 may be manipulated, and a print job may be sent in application A109, before the process in S303 is executed. Alternatively, for example, the process in S303 may be executed after application A109 has been shut down and then restarted.

[0069] In S305, the CPU 101 determines whether or not application B110 is installed on the mobile terminal 100. If it is determined that application B110 is installed on the mobile terminal 100, in S306 the CPU 101 issues an instruction to launch application B110 using a known method with a URL scheme. This causes application B110 to be launched in conjunction. Subsequently, the CPU 101 executes the process shown in Figure 4, which will be described later, using application B110. On the other hand, if it is determined that application B110 is not installed on the mobile terminal 100, in S307 the CPU 101 issues an instruction to launch store application 108, for example, using a known method with a URL scheme. At this time, the CPU 101 adds application identification information 203 to the URL scheme so that the store application 108 can identify application B110, and then issues the instruction. As a result, along with the launch of store application 108, a screen for downloading application B110 is displayed. In this state, by accepting an operation from the user to download application B110, the CPU 101 can perform the download and installation of application B110. After app B110 is installed, an area for launching app B110 is displayed in the store app 108. Then, the user interacts with this area to launch app B110, and app B110 is launched. Once app B110 is launched in this way, the CPU 101 executes the process shown in Figure 4, which will be described later, using app B110.

[0070] By adopting the above configuration, it is possible to appropriately control whether or not printer registration information is saved as shared information, depending on the printer registration method. In other words, it is possible to appropriately control whether or not information acquired by app A109 is acquired and used by other apps (performing app collaboration), depending on how the information held by app A109 is acquired.

[0071] Figure 4 is a flowchart showing the process executed by the mobile terminal 100 using application B110. This flowchart is implemented, for example, by the CPU 101 reading the program corresponding to application B110, which is stored in the storage device 106, into memory 104 and executing it.

[0072] First, in S401, CPU101 launches application B110. The processing in S401 is triggered by, for example, receiving a request to launch application B110 via application A109, receiving a launch command for application B110 via store application 108, or receiving a launch command for application B110 via the home screen.

[0073] In S402, the CPU 101 determines whether shared information 202 exists in the information sharing area 201. If the CPU 101 determines that shared information 202 exists in the information sharing area 201, it proceeds to S403 and retrieves the shared information 202. In this embodiment, even if the CPU 101 retrieves the shared information 202 by application B110, it does not delete the shared information 202 from the information sharing area 201. On the other hand, if the CPU 101 determines that shared information 202 does not exist in the information sharing area 201, it terminates the process without executing the process of registering the printer registered in application A109 to application B110 (without performing application linkage). The situation in which shared information 202 is not stored in the information sharing area 201 is, for example, when the information sharing area 201 is an external server, and the mobile terminal 100 cannot access the external server by application A109 due to a communication error or authentication error, etc. Another example is when the printer registration process has not yet been executed in application A109.

[0074] In S404, CPU101 performs an availability check. If it is determined that the acquired shared information 202 is available for use by application B110, CPU101 proceeds to S405. On the other hand, if it is determined that the acquired shared information 202 is not available for use by application B110, CPU101 terminates the process without performing the process of registering the printer registered in application A109 with application B110 (without performing application linking).

[0075] In S405, CPU101 determines whether the printer is registered with application B110 (whether a device to communicate with application B110 is configured). If it is determined that the printer is not registered with application B110, CPU101 proceeds to S410. On the other hand, if CPU101 determines that the printer is registered with application B110, it proceeds to S406.

[0076] In S406, CPU 101 determines whether the printer corresponding to shared information 202 is the same printer as the printer registered in application B110. In other words, this determination determines whether the shared information 202 and the registration information of the printer registered in application B110 are the same. If CPU 101 determines that they are the same printer, it proceeds to S407; otherwise, it proceeds to S408. Note that application B110 may have multiple printers registered. In that case, if the printer corresponding to shared information 202 is the same as any of the multiple printers, CPU 101 proceeds to S407; if the printer corresponding to shared information 202 is different from all of the multiple printers, it proceeds to S408.

[0077] In S407, CPU101 determines whether or not to perform application integration. In this determination, CPU101 compares the update date and time information contained in the newly acquired shared information 202 with the update date and time information from when the shared information 202 was previously used for application integration. If the former date and time is later than the latter date and time, CPU101 determines to perform application integration; if the former date and time is earlier than the latter date and time, it determines not to perform application integration. In this determination, CPU101 also compares the update date and time information contained in the newly acquired shared information 202 with the date and time information of the most recent printer registration for application B110. If the former date and time is later than the latter date and time, CPU101 determines to perform application integration; if the former date and time is earlier than the latter date and time, it determines not to perform application integration. If CPU101 determines to perform application integration, it proceeds to S410; if it determines not to perform application integration, it terminates the process without performing the process of registering the printer registered in application A109 to application B110 (without performing application integration).

[0078] It is also acceptable for the process to proceed to S410 without executing S407, in the case of S406-YES.

[0079] In S408, CPU101 displays a dialog box to allow the user to choose whether or not to register the printer registered in application A109 with application B110 (i.e., to perform application linking).

[0080] In S409, the system determines whether the user has selected to perform application integration in the dialog box displayed in S408. If the user has selected to perform application integration, CPU101 proceeds to S410. If the user has selected not to perform application integration, CPU101 terminates the process without performing the operation to register the printer registered in application A109 to application B110 (i.e., without performing application integration).

[0081] Furthermore, in the case of S407-NO, it is also acceptable for S408 and S409 to not be executed, and for the process to terminate without the printer registered in application A109 being registered in application B110 (i.e., without application linking being performed).

[0082] In S410, the shared information 202 is used to register the printer registered in application A109 to application B110. In this embodiment, even if the printer registered in application A109 is registered in application B110, the shared information 202 is not deleted from the information sharing area 201.

[0083] Figure 4 illustrates the process performed by application B110, but the same process is performed by application C111.

[0084] By adopting the configuration described above, both app B110 and app C111 can acquire shared information 202 and perform app collaboration with app A109, regardless of when they are launched.

[0085] Furthermore, even when application B110 is launched independently, it is highly likely that the same printer used by application A109 will also be used by application B110, so it is desirable that application coordination be performed. In this embodiment, the CPU 101 executes the process shown in Figure 4 regardless of whether application B110 is launched in coordination or independently, and therefore can appropriately utilize the shared information 202.

[0086] (Second Embodiment) This section describes a configuration in which multiple printers are registered in application A109, and multiple registration records are stored in the information sharing area 201 as shared information 202. Unless otherwise specified, the configuration of each device in this embodiment is the same as in the first embodiment.

[0087] Figure 7 is a flowchart showing the process executed by the mobile terminal 100 using application B110. This flowchart is implemented, for example, by the CPU 101 reading the program corresponding to application B110, which is stored in the storage device 106, into memory 104 and executing it.

[0088] First, in S701, CPU101 launches application B110. This process is the same as in S401.

[0089] In S702, the CPU 101 determines whether shared information 202 exists in the information sharing area 201. This process is the same as in S401. If the CPU 101 determines that shared information 202 exists in the information sharing area 201, it proceeds to S703 and retrieves the shared information 202. On the other hand, if the CPU 101 determines that shared information 202 does not exist in the information sharing area 201, it terminates the process without executing the process of registering the printer registered in application A109 to application B110 (without performing application linkage).

[0090] In S704, CPU101 extracts the registration information of printers available for use with application B110 from the list of registration information contained in shared information202. This extraction is performed by executing an availability determination for each registration information contained in the list, as described in the first embodiment.

[0091] In S705, CPU101 determines whether or not there is any registration information extracted in S704. If CPU101 determines that there is any registration information extracted in S704, it proceeds to S706. On the other hand, if CPU101 determines that there is no registration information extracted in S704, it terminates the process without executing the process of registering the printer registered in application A109 to application B110 (without performing application linkage).

[0092] In S706, CPU101 retrieves the update date and time information for each of the extracted registration entries. Then, in S707, CPU101 identifies the registration entry with the most recent update date and time information. The printer corresponding to the registration entry identified here becomes a candidate printer to be registered in application B110.

[0093] The method for identifying registered information in S706 is not limited to the form described above. For example, the first registered information extracted from the list of registered information included in shared information 202 may be identified. Alternatively, for example, the list of registered information included in shared information 202 may be displayed, and the user may be asked to select one from the list, thereby identifying the registered information selected by the user.

[0094] In S708, CPU101 determines whether the printer is registered with application B110 (whether a device to communicate with application B110 is configured). This process is the same as in S405. If it is determined that the printer is not registered with application B110, CPU101 proceeds to S713. On the other hand, if CPU101 determines that the printer is registered with application B110, it proceeds to S709.

[0095] In S709, CPU101 determines whether the printer corresponding to the registration information identified in S707 is the same printer as the printer registered in application B110. If CPU101 determines that they are the same printer, it proceeds to S710; otherwise, it proceeds to S711. Note that application B110 may have multiple printers registered. In that case, if the printer corresponding to the registration information identified in S707 is the same as any of the multiple printers, CPU101 proceeds to S710; if the printer corresponding to the registration information identified in S707 is different from all of the multiple printers, it proceeds to S711.

[0096] In S710, CPU 101 determines whether or not to perform application integration. In this determination, for example, CPU 101 compares the update date and time information corresponding to the registration information identified in S707 with the update date and time information from when the shared information 202 was previously used for application integration. If the former date and time is later than the latter date and time, CPU 101 determines to perform application integration; if the former date and time is earlier than the latter date and time, it determines not to perform application integration. In this determination, for example, CPU 101 compares the update date and time information corresponding to the registration information identified in S707 with the date and time information of the most recent printer registration for application B110. If the former date and time is later than the latter date and time, CPU 101 determines to perform application integration; if the former date and time is earlier than the latter date and time, it determines not to perform application integration. If CPU101 determines that it will perform application integration, it proceeds to S713. If it determines that it will not perform application integration, it terminates the process without performing the process of registering the printer registered in application A109 to application B110 (without performing application integration).

[0097] It is also acceptable for the process to proceed to S713 without executing S710, in the case of S709-YES.

[0098] In S711, CPU101 displays a dialog box to allow the user to choose whether or not to register the printer registered in application A109 with application B110 (to perform application linking). This process is the same as in S408.

[0099] In S712, it is determined whether the user has selected to perform application integration in the dialog box displayed in S711. This process is the same as in S409. If the user has selected to perform application integration, CPU101 proceeds to S713. If the user has selected not to perform application integration, CPU101 terminates the process without performing the process of registering the printer registered in application A109 to application B110 (without performing application integration).

[0100] In addition, if S711 and S712 are not executed, and in the case of S709-NO, the process of registering the printer registered in application A109 to application B110 is not executed (application linkage is not performed), the process may be terminated.

[0101] In S713, the printer registered in application A109 is registered in application B110 by using shared information 202. This process is the same as in S410.

[0102] Figure 7 illustrates the process performed by application B110, but the same process is performed by application C111.

[0103] By adopting the above configuration, even if the registration information of multiple printers registered in application A109 is stored as shared information 202, the application can be properly integrated.

[0104] (Other embodiments) The above-described embodiment explains a configuration in which the download of application B110 is performed by the store application 108, but the embodiment is not limited to this configuration. For example, the CPU 101 may download application B110 from a web page. In this case, the process of launching the store application 108 in the above-described configuration becomes the process of launching a program for displaying a web page. When launching a program for displaying a web page, the web page for downloading the target application can be directly displayed by using information about the target application. Furthermore, after the CPU 101 downloads application B110 using the store application 108, the installation of application B110 may be performed by an installer. Also, the CPU 101 may download and install application B110 from a personal computer.

[0105] Furthermore, in the embodiment described above, the CPU 101 refers to the information sharing area 201 and obtains the shared information 202 whether the application B110 is launched independently or in a coordinated manner. However, the embodiment is not limited to this. For example, when the application B110 is launched in a coordinated manner, the information added to the URL scheme may be used as the shared information 202 to perform application coordination. In this case, the CPU 101 also adds information to the URL scheme when a coordinated launch operation is performed for the application B110.

[0106] Furthermore, in the embodiments described above, printing applications are given as examples for applications A109, B110, and C111, and registration information is given as an example for shared information 202, but the embodiment is not limited to this form. That is, applications A109 and B110 can be any applications that can share information with each other, and their functions are not limited. For example, the devices registered in each application may be devices other than printers. Also, the content of shared information 202 is not limited. For example, each application may be an application for remotely controlling a camera, and a camera may be registered in each application. Or, for example, each application may be an application for controlling a smart speaker, and a smart speaker may be registered in each application. Or, for example, application A109 may be a camera application and application B110 may be a photo album creation application. In that case, for example, shared information 202 may be image data that can be placed in a photo album. In that case, the specific processing involved in app integration would include tasks such as creating thumbnails of the shared information 202 (image data) and displaying them, and storing the shared information 202 in an area accessible to app B110.

[0107] Furthermore, while the above-described embodiment explained the cooperation between apps A109, B110, and C111, the shared information 202 handled by app A109 can also be used by other apps, not just B110 and C111. In other words, by performing the same processing in other apps as when apps B110 or C111 are launched, the shared information 202 handled by app A109 can be used by multiple apps.

[0108] Furthermore, while the above-described embodiment described a configuration in which registration information is controlled to determine whether or not to save it in the information sharing area 201 depending on the registration method, the embodiment is not limited to this configuration. For example, regardless of the registration method, the registration information may be saved in the information sharing area 201, but the configuration may control whether or not to retrieve the registration information using apps B110 or C111 depending on the registration method. In this configuration, for example, app A109 saves the registration information, along with information about the registration method used to retrieve the registration information, the communication path, and the communication method, in the information sharing area 201. Then, before retrieving the registration information, apps B110 and C111 retrieve the information about the registration method used to retrieve the registration information, the communication path, and the communication method, and determine whether or not to retrieve the registration information based on the matters identified by this information. If it is determined that the registration information was retrieved using the registration method used to save the registration information in the information sharing area 201 in the above-described embodiment (for example, the second registration method), apps B110 and C111 retrieve the registration information and execute app integration. On the other hand, if it is determined that registration information was acquired using a registration method that does not store registration information in the information sharing area 201 (for example, the third registration method) in the above embodiment, then apps B110 and C111 will not acquire the registration information and will not perform app integration. App integration can be properly performed even in this form.

[0109] The embodiments described above can also be realized by performing the following process: sharing software (programs) that realize the functions of the embodiments described above with a system or device via a network or various storage media, and having the computer (CPU, MPU, etc.) of that system or device read and execute the program. The program may be executed on a single computer or by having multiple computers work together. Furthermore, it is not necessary to implement all of the above processes in software; some or all of the processes may be implemented in hardware such as an ASIC. Also, the CPU is not limited to a single CPU that performs all the processing; multiple CPUs may work together as appropriate to perform the processing. [Explanation of symbols]

[0110] 100 mobile devices 101 CPU

Claims

1. A control method for an information processing device, An acquisition step in which the computer of the information processing device that executes the first program acquires predetermined information relating to the communication device, An execution step in which the computer executing the first program performs processing based on predetermined information obtained by the computer executing the first program, based on the fact that a second program different from the first program has been started, the computer executing the second program It has, Based on the fact that the predetermined information is information obtained by the computer executing the first program from the first communication device via a network different from the network formed by the Wi-Fi Direct® standard, the processing based on the predetermined information is controlled to be performed by the computer executing the second program. Based on the fact that the predetermined information is information obtained from a second communication device via a network formed according to the Wi-Fi Direct® standard by the computer executing the first program, processing based on the predetermined information is controlled so that it is not executed by the computer executing the second program, even if the second program is started. A control method characterized in that the processing performed by the computer executing the second program, based on the predetermined information acquired by the computer executing the first program, is the processing of registering the communication device corresponding to the predetermined information with the second program as a communication device by the computer executing the second program.

2. The control method according to claim 1, characterized in that the other network is a network composed of external access points to which the information processing device is connected.

3. The control method according to claim 1 or 2, characterized in that information relating to an external access point is transmitted to the first communication device via a connection between the information processing device and the first communication device, and after a connection between the external access point and the first communication device is established based on the transmitted information relating to the external access point, the predetermined information is obtained from the first communication device via the external access point.

4. The control method according to claim 3, characterized in that the connection between the information processing device and the first communication device is a Wi-Fi® or Bluetooth® Low Energy connection.

5. The control method according to any one of claims 1 to 4, characterized in that the communication device corresponding to the predetermined information is a device registered in the first program as a device to communicate with by the computer executing the first program.

6. When the computer executing the first program obtains the predetermined information, it stores the predetermined information in a predetermined storage area. The control method according to any one of claims 1 to 5, characterized in that when the predetermined information stored in the predetermined storage area is acquired by the computer executing the second program, processing based on the predetermined information is performed.

7. The control method according to claim 6, characterized in that the computer executing the first program stores the predetermined information in the predetermined storage area based on the acquisition of the predetermined information.

8. The control method according to claim 6, characterized in that, when the second program is installed in the information processing device, the second program is launched by an instruction from the computer that executes the first program, based on a predetermined operation being performed on a predetermined screen displayed by the computer that executes the first program.

9. The control method according to claim 8, characterized in that, if the second program is not installed in the information processing device, a program for installing the second program in the information processing device is started by an instruction from the computer executing the first program, based on a predetermined operation being performed on the predetermined screen displayed by the computer executing the first program.

10. The control method according to any one of claims 6 to 9, characterized in that when the computer executing the first program acquires the predetermined information from the first communication device, the predetermined information is controlled to be stored in the predetermined storage area, and when the computer executing the first program acquires the predetermined information from the second communication device, the predetermined information is controlled not to be stored in the predetermined storage area.

11. The control method according to any one of claims 6 to 9, characterized in that when the computer executing the first program acquires the predetermined information from the first communication device, the predetermined information stored in the predetermined storage area is controlled to be acquired by the computer executing the second program, and when the computer executing the first program acquires the predetermined information from the second communication device, the predetermined information stored in the predetermined storage area is controlled not to be acquired by the computer executing the second program.

12. Even if the computer executing the second program acquires the predetermined information, the predetermined information is not deleted from the predetermined storage area. The control method according to any one of claims 6 to 11, characterized in that a third program different from the first program and the second program is started after the second program has acquired the predetermined information, and processing based on the predetermined information acquired by the computer executing the first program is performed by the computer executing the third program.

13. The second program is started while processing based on predetermined information has already been performed by the computer that executes the second program, and the predetermined information corresponding to the processing that has already been performed and processing based on the predetermined information are newly executed by the computer that executes the second program based on the fact that the second program has been started. The control method according to any one of claims 1 to 12, characterized in that, when the second program is started while processing based on predetermined information has already been performed by the computer executing the second program, and the predetermined information corresponding to the already performed processing is the same as the predetermined information obtained from the first communication device by the computer executing the first program, the processing based on the predetermined information is not newly performed by the computer executing the second program even if the second program is started.

14. The control method according to any one of claims 1 to 13, characterized in that the first program and the second program are application programs.

15. The control method according to any one of claims 1 to 14, characterized in that the first program and the second program are programs that transmit a print job to the communication device corresponding to the predetermined information to perform printing.

16. The control method according to any one of claims 1 to 15, characterized in that the predetermined information includes at least one of the following: MAC address, Bonjour name, IP address, model name of the communication device, capability information of the communication device, and information regarding the date and time on which the predetermined information was acquired.

17. The control method according to any one of claims 1 to 16, characterized in that the communication device is a printer.

18. The control method according to any one of claims 1 to 17, characterized in that the second program is launched based on at least one of the following: an application program icon on the home screen is tapped; an operation is performed on a screen displayed by a store application program that can install the second program; or an operation is performed on a screen displayed by the first program.

19. An information processing device, An acquisition means that acquires predetermined information relating to a communication device by the computer of the information processing device that executes the first program, An execution means which, based on the fact that a second program different from the first program has been started, has the computer executing the second program perform processing based on the predetermined information obtained by the computer executing the first program, It has, Based on the fact that the predetermined information is information obtained by the computer executing the first program from the first communication device via a network different from the network formed by the Wi-Fi Direct® standard, the processing based on the predetermined information is controlled to be performed by the computer executing the second program. Based on the fact that the predetermined information is information obtained from a second communication device via a network formed according to the Wi-Fi Direct® standard by the computer executing the first program, processing based on the predetermined information is controlled so that it is not executed by the computer executing the second program, even if the second program is started. An information processing apparatus characterized in that the processing performed by the computer executing the second program, based on the predetermined information acquired by the computer executing the first program, is the processing of registering the communication device corresponding to the predetermined information with the second program as a communication device by the computer executing the second program.

20. A predetermined program, In an information processing device, An acquisition step to acquire predetermined information regarding the communication device, A control step that controls the process based on the predetermined information to be executed by the other program based on the fact that the predetermined information has been acquired from the first communication device by the predetermined program via a network different from the network formed by the Wi-Fi Direct (registered trademark) standard, and that the other program different from the predetermined program has been launched, and controls the process based on the predetermined information to be not executed by the other program even if the other program has been launched, based on the fact that the predetermined information has been acquired from the second communication device by the predetermined program via a network formed by the Wi-Fi Direct (registered trademark) standard, Make it run, A program characterized in that the processing performed by the other program based on the predetermined information obtained by the predetermined program is the process of registering the communication device corresponding to the predetermined information with the other program as a device to communicate with the other program.

21. A predetermined program, In an information processing device, A first control step controls the system so that processing based on the predetermined information is executed by the predetermined program, based on the fact that predetermined information relating to the communication device has been acquired from the first communication device via a network different from the network formed by the Wi-Fi Direct (registered trademark) standard by a program different from the predetermined program, and that the predetermined program has been activated. A second control step, based on the acquisition of predetermined information by the other program from a second communication device via a network formed according to the Wi-Fi Direct® standard, controls the system so that processing based on the predetermined information is not executed by the predetermined program even if the predetermined program is started. Make it run, A program characterized in that the processing performed by the predetermined program based on predetermined information acquired by the other program is the process of registering the communication device corresponding to the predetermined information as a device to communicate with the predetermined program.